diff --git a/g3w-admin/client/static/client/js/app.min.js.map b/g3w-admin/client/static/client/js/app.min.js.map index 63dca4ccf..62710b0de 100644 --- a/g3w-admin/client/static/client/js/app.min.js.map +++ b/g3w-admin/client/static/client/js/app.min.js.map @@ -1 +1 @@ -{"version":3,"file":"app.min.js","sources":["build.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],2:[function(require,module,exports){\nvar inserted = exports.cache = {}\n\nfunction noop () {}\n\nexports.insert = function (css) {\n if (inserted[css]) return noop\n inserted[css] = true\n\n var elem = document.createElement('style')\n elem.setAttribute('type', 'text/css')\n\n if ('textContent' in elem) {\n elem.textContent = css\n } else {\n elem.styleSheet.cssText = css\n }\n\n document.getElementsByTagName('head')[0].appendChild(elem)\n return function () {\n document.getElementsByTagName('head')[0].removeChild(elem)\n inserted[css] = false\n }\n}\n\n},{}],3:[function(require,module,exports){\nvar _FieldText = require('components/FieldText.vue');\n\nvar _FieldText2 = _interopRequireDefault(_FieldText);\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldImage = require('components/FieldImage.vue');\n\nvar _FieldImage2 = _interopRequireDefault(_FieldImage);\n\nvar _FieldGeo = require('components/FieldGeo.vue');\n\nvar _FieldGeo2 = _interopRequireDefault(_FieldGeo);\n\nvar _FieldMedia = require('components/FieldMedia.vue');\n\nvar _FieldMedia2 = _interopRequireDefault(_FieldMedia);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n simple_field: _FieldText2.default,\n text_field: _FieldText2.default,\n link_field: _FieldLink2.default,\n image_field: _FieldImage2.default,\n geo_field: _FieldGeo2.default,\n photo_field: _FieldImage2.default,\n media_field: _FieldMedia2.default,\n vue_field: _FieldVue2.default\n};\n\n},{\"components/FieldGeo.vue\":45,\"components/FieldImage.vue\":46,\"components/FieldLink.vue\":47,\"components/FieldMedia.vue\":48,\"components/FieldText.vue\":49,\"components/FieldVue.vue\":50}],4:[function(require,module,exports){\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\nvar _toRawType = require('utils/toRawType');\n\nvar Fields = require('./fields');\n\nmodule.exports = {\n /**\n * Get Type field from field value\n * field: Object contains the value of the field\n * @param field\n * @returns {string}\n */\n getType: function getType(field) {\n var type = field.type;\n if ('vue' !== type) {\n var fieldValue = field.value;\n var value = fieldValue && 'Object' === (0, _toRawType.toRawType)(fieldValue) && !fieldValue.coordinates && !fieldValue.vue ? fieldValue.value : fieldValue;\n if (!value) {\n type = 'simple';\n } else if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n if (value.coordinates) {\n type = 'geo';\n } else if (value.vue) {\n type = 'vue';\n }\n } else if (value && Array.isArray(value)) {\n if (value.length && value[0].photo) {\n type = 'photo';\n } else {\n type = 'simple';\n }\n } else if (value.toString().toLowerCase().match(/[^\\s]+.(png|jpg|jpeg|gif)$/g)) {\n type = 'photo';\n } else if (value.toString().match(/^(https?:\\/\\/[^\\s]+)/g)) {\n type = 'link';\n } else {\n type = 'simple';\n }\n }\n return type + '_field';\n },\n isSimple: function isSimple(field) {\n return 'simple_field' === this.getType(field);\n },\n isLink: function isLink(field) {\n return 'link_field' === this.getType(field);\n },\n isImage: function isImage(field) {\n return 'image_field' === this.getType(field);\n },\n isPhoto: function isPhoto(field) {\n return 'photo_field' === this.getType(field);\n },\n isVue: function isVue(field) {\n return 'vue_field' === this.getType(field);\n },\n\n /**\n * Method to add a new field type to Fields\n * @param type\n * @param field\n */\n add: function add(_ref) {\n var type = _ref.type,\n field = _ref.field;\n\n Fields[type] = field;\n },\n\n /**\n * Remove field from a Fields list\n * @param type\n */\n remove: function remove(type) {\n delete Fields[type];\n }\n};\n\n},{\"./fields\":3,\"utils/toRawType\":244}],5:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(CheckBoxService, _Service);\n\n function CheckBoxService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, CheckBoxService);\n\n opts.validatorOptions = {\n values: opts.state.input.options.values.map(function (v) {\n return v;\n })\n };\n return _possibleConstructorReturn(this, (CheckBoxService.__proto__ || Object.getPrototypeOf(CheckBoxService)).call(this, opts));\n }\n\n _createClass(CheckBoxService, [{\n key: 'convertCheckedToValue',\n value: function convertCheckedToValue(checked) {\n checked = [null, undefined].includes(checked) ? false : checked;\n this.state.value = [true, false].includes(this.state.value) //check if is a boolean value\n ? (this.state.input.options.values.find(function (v) {\n return checked === v.checked;\n }) || {}).value //get boolean value\n : '' + (this.state.input.options.values.find(function (v) {\n return checked === v.checked;\n }) || {}).value; // Need to convert it to string because server return always string value\n return this.state.value;\n }\n }, {\n key: 'convertValueToChecked',\n value: function convertValueToChecked() {\n var _this2 = this;\n\n if ([null, undefined].includes(this.state.value)) {\n return false;\n }\n var option = this.state.input.options.values.find(function (v) {\n return _this2.state.value == v.value;\n });\n if (undefined === option) {\n option = this.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.state.value = option.value;\n }\n return option.checked;\n }\n }]);\n\n return CheckBoxService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],6:[function(require,module,exports){\nvar _InputCheckbox = require('components/InputCheckbox.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputCheckbox);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar CheckBoxInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = CheckBoxInput;\n\n},{\"components/InputCheckbox.vue\":66}],7:[function(require,module,exports){\nvar _InputColor = require('components/InputColor.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputColor.vue\":67}],8:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _convertQGISDateTimeFormatToMoment2 = require('utils/convertQGISDateTimeFormatToMoment');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(DateTimePickerService, _Service);\n\n function DateTimePickerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, DateTimePickerService);\n\n var _this = _possibleConstructorReturn(this, (DateTimePickerService.__proto__ || Object.getPrototypeOf(DateTimePickerService)).call(this, opts));\n\n _this.validatorOptions = {};\n return _this;\n }\n\n _createClass(DateTimePickerService, [{\n key: 'getLocale',\n value: function getLocale() {\n return window.initConfig.user.i18n ? window.initConfig.user.i18n : 'en';\n }\n }, {\n key: 'convertQGISDateTimeFormatToMoment',\n value: function convertQGISDateTimeFormatToMoment(datetimeformat) {\n return (0, _convertQGISDateTimeFormatToMoment2.convertQGISDateTimeFormatToMoment)(datetimeformat);\n }\n }, {\n key: 'setValidatorOptions',\n value: function setValidatorOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.validatorOptions = opts;\n }\n }]);\n\n return DateTimePickerService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/convertQGISDateTimeFormatToMoment\":189}],9:[function(require,module,exports){\nvar _InputDateTimePicker = require('components/InputDateTimePicker.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputDateTimePicker);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar DateTimePickerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = DateTimePickerInput;\n\n},{\"components/InputDateTimePicker.vue\":68}],10:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(FloatService, _Service);\n\n function FloatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FloatService);\n\n return _possibleConstructorReturn(this, (FloatService.__proto__ || Object.getPrototypeOf(FloatService)).call(this, opts));\n }\n\n return FloatService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],11:[function(require,module,exports){\nvar _InputFloat = require('components/InputFloat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputFloat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar FloatInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = FloatInput;\n\n},{\"components/InputFloat.vue\":69}],12:[function(require,module,exports){\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _InputBase = require('components/InputBase.vue');\n\nvar _InputBase2 = _interopRequireDefault(_InputBase);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputServices = require('./services');\n\nvar Input = {\n props: ['state'],\n mixins: [_mixins.baseInputMixin],\n components: {\n 'baseinput': _InputBase2.default\n },\n watch: {\n 'notvalid': function notvalid(_notvalid) {\n if (_notvalid) {\n this.service.setErrorMessage();\n }\n },\n 'state.value': function stateValue() {\n var _this = this;\n\n if (undefined !== this.state.input.options.default_expression) {\n // need to postpone state.value watch parent that use mixin\n setTimeout(function () {\n return _this.change();\n });\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.service = new InputServices[this.state.input.type]({ state: this.state });\n\n this.$watch(function () {\n return _application2.default.language;\n }, _asyncToGenerator(function* () {\n if (_this2.state.visible) {\n _this2.state.visible = false;\n _this2.service.setErrorMessage();\n yield _this2.$nextTick();\n _this2.state.visible = true;\n }\n }));\n\n if (this.state.editable && this.state.validate.required) {\n this.service.validate();\n }\n\n this.$emit('addinput', this.state);\n /**\n * in case of input value is fill with default value option we need to emit changeinput event\n * without check validation. Example:\n * {\n \"name\": \"id\",\n \"type\": \"integer\",\n \"label\": \"id\",\n \"editable\": false,\n \"validate\": {\n \"required\": true,\n \"unique\": true\n },\n \"pk\": true,\n \"default\": \"nextval('g3wsuite.zone_id_seq'::regclass)\",\n \"input\": {\n \"type\": \"text\",\n \"options\": {}\n }\n }\n in this case if we start a validation, it fail because default value is a string while input is interger\n */\n if (this.state.value_from_default_value) {\n this.$emit('changeinput', this.state);\n }\n },\n destroyed: function destroyed() {\n // emit remove input to form (in case for example tab visibility condition)\n this.$emit('removeinput', this.state);\n }\n};\n\nmodule.exports = Input;\n\n},{\"./services\":28,\"components/InputBase.vue\":65,\"mixins\":167,\"store/application\":180}],13:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(IntegerService, _Service);\n\n function IntegerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, IntegerService);\n\n return _possibleConstructorReturn(this, (IntegerService.__proto__ || Object.getPrototypeOf(IntegerService)).call(this, opts));\n }\n\n return IntegerService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],14:[function(require,module,exports){\nvar _InputInteger = require('components/InputInteger.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputInteger);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar IntegerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = IntegerInput;\n\n},{\"components/InputInteger.vue\":72}],15:[function(require,module,exports){\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(LonLatService, _Service);\n\n function LonLatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LonLatService);\n\n var _this = _possibleConstructorReturn(this, (LonLatService.__proto__ || Object.getPrototypeOf(LonLatService)).call(this, opts));\n\n _this.coordinatebutton;\n _this.mapService = _gui2.default.getService('map');\n _this.mapEpsg = _this.mapService.getCrs();\n\n _this.mapControlToggleEventHandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n _this.coordinatebutton.active && _this.toggleGetCoordinate();\n }\n };\n _this.map = _this.mapService.getMap();\n _this.outputEpsg = _this.state.epsg || _this.mapEpsg;\n //Store event map key\n _this.eventMapKey;\n return _this;\n }\n\n _createClass(LonLatService, [{\n key: 'setCoordinateButtonReactiveObject',\n value: function setCoordinateButtonReactiveObject(coordinatebutton) {\n this.coordinatebutton = coordinatebutton;\n }\n }, {\n key: 'validate',\n value: function validate() {\n if (this.state.values.lon < -180) {\n this.state.values.lon = -180;\n } else if (this.state.values.lon > 180) {\n this.state.values.lon = 180;\n }\n if (this.state.values.lat < -90) {\n this.state.values.lon = -90;\n } else if (this.state.values.lat > 90) {\n this.state.values.lon = 90;\n }\n\n this.state.validate.valid = !Number.isNaN(1 * this.state.values.lon);\n }\n }, {\n key: 'toggleGetCoordinate',\n value: function toggleGetCoordinate() {\n this.coordinatebutton.active = !this.coordinatebutton.active;\n this.coordinatebutton.active ? this.startToGetCoordinates() : this.stopToGetCoordinates();\n }\n }, {\n key: 'startToGetCoordinates',\n value: function startToGetCoordinates() {\n var _this2 = this;\n\n this.mapService.deactiveMapControls();\n this.mapService.on('mapcontrol:toggled', this.mapControlToggleEventHandler);\n this.eventMapKey = this.map.on('click', function (evt) {\n evt.originalEvent.stopPropagation();\n evt.preventDefault();\n var coordinate = _this2.mapEpsg !== _this2.outputEpsg ? ol.proj.transform(evt.coordinate, _this2.mapEpsg, _this2.outputEpsg) : evt.coordinate;\n _this2.state.value = [coordinate];\n\n var _coordinate = _slicedToArray(coordinate, 2),\n lon = _coordinate[0],\n lat = _coordinate[1];\n\n _this2.state.values.lon = lon;\n _this2.state.values.lat = lat;\n });\n }\n }, {\n key: 'stopToGetCoordinates',\n value: function stopToGetCoordinates() {\n ol.Observable.unByKey(this.eventMapKey);\n this.mapService.off('mapcontrol:toggled', this.mapControlToggleEventHandler);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stopToGetCoordinates();\n }\n }]);\n\n return LonLatService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"services/gui\":175}],16:[function(require,module,exports){\nvar _InputLonLat = require('components/InputLonLat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputLonLat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar LatLontInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = LatLontInput;\n\n},{\"components/InputLonLat.vue\":73}],17:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(MediaService, _Service);\n\n function MediaService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediaService);\n\n return _possibleConstructorReturn(this, (MediaService.__proto__ || Object.getPrototypeOf(MediaService)).call(this, opts));\n }\n\n return MediaService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],18:[function(require,module,exports){\nvar _InputMedia = require('components/InputMedia.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputMedia);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar MediaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = MediaInput;\n\n},{\"components/InputMedia.vue\":74}],19:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _pickfeatureinteraction = require('map/interactions/pickfeatureinteraction');\n\nvar _pickfeatureinteraction2 = _interopRequireDefault(_pickfeatureinteraction);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n function PickLayerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickLayerService);\n\n this.pick_type = opts.pick_type || 'wms';\n this.ispicked = false;\n this.fields = opts.fields || [opts.value];\n this.layerId = opts.layer_id;\n this.mapService = _gui2.default.getService('map');\n this.interaction = 'map' === this.pick_type ? new _pickfeatureinteraction2.default({\n layers: [this.mapService.getLayerById(this.layerId)]\n }) : new _pickcoordinatesinteraction2.default();\n }\n\n /**\n *\n * @return {boolean|*}\n */\n\n\n _createClass(PickLayerService, [{\n key: 'isPicked',\n value: function isPicked() {\n return this.ispicked;\n }\n }, {\n key: 'escKeyUpHandler',\n\n\n /**\n * bind interrupt event\n */\n value: function escKeyUpHandler(_ref) {\n var keyCode = _ref.keyCode,\n owner = _ref.data.owner;\n\n if (27 === keyCode) {\n owner.unpick();\n }\n }\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n $(document).on('keyup', { owner: this }, this.escKeyUpHandler);\n }\n }, {\n key: 'pick',\n\n\n /**\n *\n * @return {Promise}\n */\n value: function pick() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this.bindEscKeyUp();\n var values = {};\n _this.ispicked = true;\n var afterPick = function afterPick(feature) {\n if (feature) {\n var attributes = feature.getProperties();\n //filter eventually null or undefined field\n _this.fields.filter(function (f) {\n return f;\n }).forEach(function (field) {\n return values[field] = attributes[field];\n });\n resolve(values);\n } else {\n reject();\n }\n _this.ispicked = false;\n _this.unpick();\n };\n _gui2.default.setModal(false);\n _this.mapService.addInteraction(_this.interaction);\n\n _this.interaction.once('picked', function (e) {\n if ('map' === _this.pick_type) {\n var feature = e.feature;\n afterPick(feature);\n } else if ('wms' === _this.pick_type) {\n var layer = _gui2.default.getService('map').getProjectLayer(_this.layerId);\n if (layer) {\n _data2.default.getQueryLayersPromisesByCoordinates([layer], {\n map: _this.mapService.getMap(),\n feature_count: 1,\n coordinates: e.coordinate\n }).then(function (response) {\n var _response$0$data = response[0].data,\n data = _response$0$data === undefined ? [] : _response$0$data;\n\n var feature = data.length && data[0].features[0] || null;\n afterPick(feature);\n }).fail(function (e) {\n return console.warn(e);\n });\n }\n }\n });\n });\n }\n }, {\n key: 'unpick',\n\n\n /**\n *\n */\n value: function unpick() {\n this.mapService.removeInteraction(this.interaction);\n _gui2.default.setModal(true);\n this.unbindEscKeyUp();\n this.ispicked = false;\n }\n }, {\n key: 'clear',\n\n\n /**\n *\n */\n value: function clear() {\n if (this.isPicked()) {\n this.unpick();\n }\n this.mapService = this.interaction = this.field = null;\n }\n }]);\n\n return PickLayerService;\n}();\n\n},{\"map/interactions/pickcoordinatesinteraction\":151,\"map/interactions/pickfeatureinteraction\":152,\"services/data\":174,\"services/gui\":175}],20:[function(require,module,exports){\nvar _InputPickLayer = require('components/InputPickLayer.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputPickLayer);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PickLayerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = PickLayerInput;\n\n},{\"components/InputPickLayer.vue\":75}],21:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RadioService, _Service);\n\n function RadioService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RadioService);\n\n return _possibleConstructorReturn(this, (RadioService.__proto__ || Object.getPrototypeOf(RadioService)).call(this, opts));\n }\n\n return RadioService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],22:[function(require,module,exports){\nvar _InputRadio = require('components/InputRadio.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRadio);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RadioInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RadioInput;\n\n},{\"components/InputRadio.vue\":76}],23:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RangeService, _Service);\n\n function RangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RangeService);\n\n var _opts$state$input$opt = opts.state.input.options.values[0],\n min = _opts$state$input$opt.min,\n max = _opts$state$input$opt.max;\n\n opts.state.info = '[MIN: ' + min + ' - MAX: ' + max + ']';\n\n var _this = _possibleConstructorReturn(this, (RangeService.__proto__ || Object.getPrototypeOf(RangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * min && value <= 1 * max;\n }\n });\n return _this;\n }\n\n _createClass(RangeService, [{\n key: 'isValueInRange',\n value: function isValueInRange(value, min, max) {\n return value <= max && value >= min;\n }\n }]);\n\n return RangeService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],24:[function(require,module,exports){\nvar _InputRange = require('components/InputRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputRange.vue\":77}],25:[function(require,module,exports){\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(SelectService, _Service);\n\n function SelectService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SelectService);\n\n var _this = _possibleConstructorReturn(this, (SelectService.__proto__ || Object.getPrototypeOf(SelectService)).call(this, opts));\n\n _this.layer = null;\n return _this;\n }\n\n _createClass(SelectService, [{\n key: '_getLayerById',\n value: function _getLayerById(layer_id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer_id);\n }\n }, {\n key: 'addValue',\n value: function addValue(value) {\n this.state.input.options.values.push(value);\n }\n }, {\n key: 'getKeyByValue',\n value: function getKeyByValue() {\n var _this2 = this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n search = _ref.search;\n\n var _state$input$options = this.state.input.options,\n value = _state$input$options.value,\n key = _state$input$options.key;\n\n return new Promise(function (resolve, reject) {\n _this2.getData({\n key: value,\n value: key,\n search: search\n }).then(function (arrayValues) {\n var _arrayValues = _slicedToArray(arrayValues, 1),\n _value = _arrayValues[0];\n\n var key = _value.$value,\n value = _value.text;\n\n _this2.addValue({\n key: key,\n value: value\n });\n resolve(_this2.state.input.options.values);\n }).catch(function (e) {\n console.warn(e);\n reject(e);\n });\n });\n }\n }, {\n key: 'getData',\n\n\n /**\n *\n * @param layer_id\n * @param key\n * @param value\n * @param search\n * @return {Promise}\n */\n value: function getData() {\n var _this3 = this;\n\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref2$layer_id = _ref2.layer_id,\n layer_id = _ref2$layer_id === undefined ? this.state.input.options.layer_id : _ref2$layer_id,\n _ref2$key = _ref2.key,\n key = _ref2$key === undefined ? this.state.input.options.key : _ref2$key,\n _ref2$value = _ref2.value,\n value = _ref2$value === undefined ? this.state.input.options.value : _ref2$value,\n search = _ref2.search;\n\n var search_value = (key + '|' + search).trim();\n return new Promise(function (resolve, reject) {\n if (!_this3._layer) {\n _this3._layer = _this3._getLayerById(layer_id);\n }\n\n _this3._layer.getDataTable({\n suggest: search_value,\n ordering: key\n }).then(function (response) {\n var values = response.features.map(function (f) {\n return {\n text: f.properties[key],\n id: f.properties[value],\n $value: f.properties[value]\n };\n });\n resolve(values);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }]);\n\n return SelectService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/getCatalogLayerById\":205}],26:[function(require,module,exports){\nvar _InputSelect = require('components/InputSelect.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSelect);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar SelectInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = SelectInput;\n\n},{\"components/InputSelect.vue\":78}],27:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toRawType = require('utils/toRawType');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar Validators = {\n\n validators: {\n float: function float() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return !Number.isNaN(Number(1 * value));\n };\n },\n\n\n /**\n * @since v3.10.0\n * @param options\n */\n bigint: function bigint() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n value = 1 * value;\n return !Number.isNaN(value) ? value <= Number.MAX_SAFE_INTEGER : false;\n };\n },\n integer: function integer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n var integer = 1 * value;\n return !Number.isNaN(integer) ? Number.isSafeInteger(integer) && integer <= 2147483647 : false;\n };\n },\n checkbox: function checkbox() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return (this.options.values || []).includes(value);\n };\n },\n datetimepicker: function datetimepicker() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value, options) {\n return moment(value, options.fielddatetimeformat, true).isValid();\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n char: function char(options) {\n this.options = options;\n this.validate = function (value) {\n return value && 1 === ('' + value).length;\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n varchar: function varchar() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n text: function text() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n string: function string() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n radio: function radio() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n default: function _default() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n range: function range() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var min = options.min,\n max = options.max;\n\n this.validate = function (value) {\n value = 1 * value;\n return value >= min && value <= max;\n };\n }\n },\n\n get: function get(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return new (this.validators[type] || this.validators.default)(options);\n }\n};\n\nmodule.exports = function () {\n function Service() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Service);\n\n // set state of input\n this.state = options.state || {};\n // type of input\n //this.state.validate.required && this.setValue(this.state.value);\n /*\n * set starting value of input based on value or default value on options\n */\n this.setValue(this.state.value);\n this.setEmpty(this.state.value);\n var type = this.state.type;\n var validatorOptions = options.validatorOptions || this.state.input.options || {};\n // useful for the validator to validate input\n this._validator = Validators.get(type, validatorOptions);\n this.setErrorMessage();\n }\n\n _createClass(Service, [{\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: 'getValue',\n value: function getValue() {\n return this.state.value;\n }\n }, {\n key: 'setValue',\n\n\n /**\n * @param value\n *\n * @returns {void}\n */\n value: function setValue(value) {\n if (![null, undefined].includes(value)) {\n return;\n }\n\n var options = this.state.input.options;\n\n var default_value = options.default;\n\n /** @TODO (maybe need to removed in v3.9.0) double check G3W-ADMIN server configuration. */\n if (Array.isArray(options)) {\n if (options[0].default) {\n default_value = options[0].default;\n } else if (Array.isArray(options.values) && options.values.length > 0) {\n default_value = options.values[0] && (options.values[0].value || options.values[0]);\n }\n }\n\n // check if the default value is set\n var get_default_value = this.state.get_default_value && // ref: core/layers/tablelayer.js::getFieldsWithValues()\n undefined !== default_value && null !== default_value;\n\n // check if we can state.check get_default_value from input.options.default is set\n if (get_default_value && undefined === options.default_expression) {\n this.state.value = default_value;\n }\n\n this.state.value_from_default_value = get_default_value;\n }\n }, {\n key: 'addValueToValues',\n value: function addValueToValues(value) {\n this.state.input.options.values.unshift(value);\n }\n }, {\n key: '_getValidatorType',\n value: function _getValidatorType() {\n return this.state.type;\n }\n }, {\n key: 'setState',\n value: function setState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state = 'Object' === (0, _toRawType.toRawType)(state) ? state : {};\n }\n }, {\n key: 'getValidator',\n\n\n // return validator\n value: function getValidator() {\n return this._validator;\n }\n }, {\n key: 'setValidator',\n value: function setValidator(validator) {\n this._validator = validator;\n }\n }, {\n key: 'setEmpty',\n\n\n /**\n * set input empty '', null, undefined or []\n */\n value: function setEmpty() {\n this.state.validate.empty = null === this.state.value //value is null\n || !(Array.isArray(this.state.value) && this.state.value.length > 0 || //or empty array\n !_.isEmpty(('' + this.state.value).trim())) // or empty string\n ;\n }\n }, {\n key: 'validate',\n\n\n // the general method to check the value of the state is valid or not\n value: function validate() {\n if (this.state.validate.empty) {\n this.state.value = null; //force to null\n // check if you require or check validation\n this.state.validate.valid = !this.state.validate.required;\n } else {\n if (['integer', 'float', 'bigint'].includes(this.state.input.type)) {\n if (+this.state.value < 0) {\n this.state.value = null;\n this.state.validate.empty = true;\n this.state.validate.valid = !this.state.validate.required;\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n //check exclude_values state.validate.unique (QGIS field property [x] Enforce unique constraint)\n if (this.state.validate.unique && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n //need to convert this.state.value to string because editing store exclude_values items as string\n this.state.validate.valid = !this.state.validate.exclude_values.has('' + this.state.value);\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n\n return this.state.validate.valid;\n }\n }, {\n key: 'setErrorMessage',\n value: function setErrorMessage() {\n //in vase of\n if (this.state.validate.error) {\n this.state.validate.message = t(this.state.validate.error);\n return;\n }\n var message = void 0;\n if (this.state.validate.mutually && !this.state.validate.mutually_valid) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_mutually_exclusive\") + ' ( ' + this.state.validate.mutually.join(',') + ' )';\n } else if (this.state.validate.max_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_max_field\") + ' (' + this.state.validate.max_field + ')';\n } else if (this.state.validate.min_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_min_field\") + ' (' + this.state.validate.min_field + ')';\n } else if (('unique' === this.state.input.type || this.state.validate.unique) && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n this.state.validate.message = '' + t(\"sdk.form.inputs.input_validation_exclude_values\");\n } else if (this.state.validate.required) {\n message = t(\"sdk.form.inputs.input_validation_error\") + ' ( ' + t(\"sdk.form.inputs.\" + this.state.type) + ' )';\n if (this.state.info) {\n message = message + '\\n
\\n ' + this.state.info + '\\n
\\n ';\n }\n this.state.validate.message = this.state.info || message;\n } else {\n this.state.validate.message = this.state.info;\n }\n }\n }, {\n key: 'setUpdate',\n\n /**\n * Method to set update\n */\n value: function setUpdate() {\n var _state = this.state,\n value = _state.value,\n _value = _state._value;\n\n if ('media' === this.state.input.type && 'Object' !== (0, _toRawType.toRawType)(value) && 'Object' !== (0, _toRawType.toRawType)(_value)) {\n this.state.update = value.value != _value.value;\n } else if (\"datetimepicker\" === this.state.input.type) {\n //check\n this.state.update = (null !== value ? value.toUpperCase() : value) != (_value ? _value.toUpperCase() : _value);\n } else {\n this.state.update = value != _value;\n }\n }\n }]);\n\n return Service;\n}();\n\n},{\"g3w-i18n\":130,\"utils/toRawType\":244}],28:[function(require,module,exports){\nvar InputsServices = {\n 'text': require('./service'),\n 'textarea': require('./service'),\n 'texthtml': require('./service'),\n 'integer': require('./integer/service'),\n 'string': require('./service'),\n 'float': require('./float/service'),\n 'radio': require('./radio/service'),\n 'check': require('./checkbox/service'),\n 'range': require('./range/service'),\n 'datetimepicker': require('./datetimepicker/service'),\n 'unique': require('./unique/service'),\n 'select': require('./select/service'),\n 'media': require('./media/service'),\n 'select_autocomplete': require('./select/service'),\n 'picklayer': require('./service'),\n 'color': require('./service'),\n 'slider': require('./sliderrange/service'),\n 'lonlat': require('./lonlat/service')\n};\n\nmodule.exports = InputsServices;\n\n},{\"./checkbox/service\":5,\"./datetimepicker/service\":8,\"./float/service\":10,\"./integer/service\":13,\"./lonlat/service\":15,\"./media/service\":17,\"./radio/service\":21,\"./range/service\":23,\"./select/service\":25,\"./service\":27,\"./sliderrange/service\":29,\"./unique/service\":34}],29:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nvar SliderRangeService = function (_Service) {\n _inherits(SliderRangeService, _Service);\n\n function SliderRangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SliderRangeService);\n\n var state = opts.state;\n\n opts.state.info = '[MIN: ' + state.input.options.min + ' - MAX: ' + state.input.options.max + ']';\n\n var _this = _possibleConstructorReturn(this, (SliderRangeService.__proto__ || Object.getPrototypeOf(SliderRangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * opts.state.input.options.min && value <= 1 * opts.state.input.options.max;\n }\n });\n return _this;\n }\n\n _createClass(SliderRangeService, [{\n key: 'validate',\n value: function validate() {\n this.state.value = 1 * this.state.value;\n this.state.validate.valid = this.state.value >= this.state.input.options.min || this.state.value <= this.state.input.options.max;\n }\n }, {\n key: 'changeInfoMessage',\n value: function changeInfoMessage() {\n this.state.info = '[MIN: ' + this.state.input.options.min + ' - MAX: ' + this.state.input.options.max + ']';\n }\n }]);\n\n return SliderRangeService;\n}(Service);\n\nmodule.exports = SliderRangeService;\n\n},{\"gui/inputs/service\":27}],30:[function(require,module,exports){\nvar _InputSliderRange = require('components/InputSliderRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSliderRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputSliderRange.vue\":79}],31:[function(require,module,exports){\nvar _InputText = require('components/InputText.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputText);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputText.vue\":80}],32:[function(require,module,exports){\nvar _InputTextArea = require('components/InputTextArea.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextArea);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextAreaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextAreaInput;\n\n},{\"components/InputTextArea.vue\":81}],33:[function(require,module,exports){\nvar _InputTextHtml = require('components/InputTextHtml.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextHtml);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextHtmlInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextHtmlInput;\n\n},{\"components/InputTextHtml.vue\":82}],34:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(UniqueService, _Service);\n\n function UniqueService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, UniqueService);\n\n return _possibleConstructorReturn(this, (UniqueService.__proto__ || Object.getPrototypeOf(UniqueService)).call(this, opts));\n }\n\n return UniqueService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],35:[function(require,module,exports){\nvar _InputUnique = require('components/InputUnique.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputUnique);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar UniqueInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = UniqueInput;\n\n},{\"components/InputUnique.vue\":83}],36:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid rgba(0,0,0,.5);border-radius:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-nav[data-v-6659a6eb]{flex-direction:column}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn.skin-color[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueCookieLaw = require('vue-cookie-law');\n\nvar _vueCookieLaw2 = _interopRequireDefault(_vueCookieLaw);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _UserMessage = require('components/UserMessage.vue');\n\nvar _UserMessage2 = _interopRequireDefault(_UserMessage);\n\nvar _CatalogContextMenu = require('components/CatalogContextMenu.vue');\n\nvar _CatalogContextMenu2 = _interopRequireDefault(_CatalogContextMenu);\n\nvar _MapAddLayer = require('components/MapAddLayer.vue');\n\nvar _MapAddLayer2 = _interopRequireDefault(_MapAddLayer);\n\nvar _ChangeMap = require('components/ChangeMap.vue');\n\nvar _ChangeMap2 = _interopRequireDefault(_ChangeMap);\n\nvar _MetadataProject = require('components/MetadataProject.vue');\n\nvar _MetadataProject2 = _interopRequireDefault(_MetadataProject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'app',\n\n data: function data() {\n var custom_links = (window.initConfig.header_custom_links || []).concat(_application2.default.navbaritems).filter(Boolean);\n\n custom_links.unshift({\n id: 'credits',\n type: 'metadata',\n target: '#metadata_credits',\n icon: 'far fa-question-circle',\n title: 'Credits'\n });\n\n custom_links.forEach(function (item) {\n return !item.id && (item.id = (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return {\n language: null,\n cookie_law_buttonText: t('cookie_law.buttonText'),\n app: _application2.default,\n state: _application2.default.viewport,\n updatePreviousTitle: false,\n header: t('main navigation'),\n custom_links: custom_links\n };\n },\n\n\n components: {\n CookieLaw: _vueCookieLaw2.default,\n userMessage: _UserMessage2.default,\n CatalogContextMenu: _CatalogContextMenu2.default,\n MapAddLayer: _MapAddLayer2.default,\n ChangeMap: _ChangeMap2.default,\n MetadataProject: _MetadataProject2.default\n },\n\n computed: {\n languages: function languages() {\n var languages = Array.isArray(this.appconfig.i18n) && this.appconfig.i18n || [];\n return languages.length > 1 && languages;\n },\n dropdownParent: function dropdownParent() {\n return window.innerWidth >= 768;\n },\n appconfig: function appconfig() {\n return window.initConfig;\n },\n isIframe: function isIframe() {\n return window.top !== window.self;\n },\n urls: function urls() {\n return this.appconfig.urls;\n },\n logo_url: function logo_url() {\n return _application2.default.project.state.thumbnail || '' + this.appconfig.mediaurl + window.initConfig.header_logo_img;\n },\n project_title: function project_title() {\n return _application2.default.project.getState().name;\n },\n user: function user() {\n return this.appconfig.user && this.appconfig.user.username ? this.appconfig.user : null;\n },\n login_url: function login_url() {\n return this.appconfig.user.login_url;\n },\n has_iframe_login: function has_iframe_login() {\n return this.login_url && ('/' === this.login_url[0] || (0, _sameOrigin.sameOrigin)(this.login_url, window.location.href));\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return this.appconfig.macrogroups.length + this.appconfig.groups.length + this.appconfig.projects.length > 1;\n },\n main_title: function main_title() {\n var main_title = this.appconfig.main_map_title;\n var group_name = this.appconfig.title || this.appconfig.slug;\n return main_title ? main_title + ' - ' + group_name : group_name;\n },\n breadcrumb: function breadcrumb() {\n return this.state.content.contentsdata.filter(function (c) {\n return c.options.crumb;\n }).map(function (c) {\n return c.options.crumb;\n });\n },\n showresize: function showresize() {\n var layout = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n var currentPerc = layout[this.state.split === 'h' ? 'width' : 'height'];\n return this.state.secondaryPerc > 0 && this.state.secondaryPerc < 100 && currentPerc < 100 && currentPerc > 0;\n },\n showresizeicon: function showresizeicon() {\n return 100 !== this.state.secondaryPerc;\n },\n usermessage: function usermessage() {\n return this.state.usermessage;\n },\n showtitle: function showtitle() {\n if (this.state.content.contentsdata.length > 0) {\n var options = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options;\n if (true === options.showtitle || false === options.showtitle) {\n return options.showtitle;\n }\n }\n return true;\n },\n styles: function styles() {\n return {\n map: {\n width: this.state.map.sizes.width + 'px',\n height: this.state.map.sizes.height + 'px'\n },\n content: {\n width: this.state.content.sizes.width + 'px',\n height: this.state.content.sizes.height + 'px',\n zIndex: 1,\n minHeight: 'v' === this.state.split ? _g3wConstants.VIEWPORT.resize.content.min + 'px' : null,\n paddingTop: '8px',\n paddingBottom: '8px'\n }\n };\n },\n contentTitle: function contentTitle() {\n if (this.state.content.contentsdata.length) {\n var _state$content$conten = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options,\n title = _state$content$conten.title,\n post_title = _state$content$conten.post_title,\n _state$content$conten2 = _state$content$conten.text,\n text = _state$content$conten2 === undefined ? false : _state$content$conten2;\n\n return { title: title, post_title: post_title, text: text };\n }\n },\n backOrBackTo: function backOrBackTo() {\n return this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? !this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title ? 'back' : 'backto' : false;\n },\n previousTitle: function previousTitle() {\n var _this = this;\n\n var title = this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title : null;\n this.updatePreviousTitle = true;\n this.$nextTick(function () {\n return _this.updatePreviousTitle = false;\n });\n return title;\n },\n title: function title() {\n return _application2.default.sidebar.title;\n },\n disabled: function disabled() {\n return _application2.default.gui.sidebar.disabled;\n },\n panels: function panels() {\n return _application2.default.sidebar.contentsdata;\n },\n showmainpanel: function showmainpanel() {\n return _application2.default.sidebar.components.length > 0 && !this.panels.length;\n },\n componentname: function componentname() {\n return _application2.default.sidebar.components.length ? _application2.default.sidebar.components.slice(-1)[0].getTitle() : '';\n },\n panelname: function panelname() {\n return this.panels.length ? this.panels.slice(-1)[0].content.getTitle() : '';\n }\n },\n\n methods: {\n onIframeLoaded: function onIframeLoaded(e) {\n var iframe = this.$refs.login_iframe.contentWindow.g3wsdk && this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;\n if (iframe && iframe.user && iframe.user.logout_url) {\n window.location.reload();\n }\n },\n templateResultLanguages: function templateResultLanguages(state) {\n if (!state.id) {\n return state.text;\n }\n return $('\\n
\\n \\n ' + state.text + ' \\n ');\n },\n oncCustomItemClick: function oncCustomItemClick(e, item) {\n if (!['modal', 'metadata'].includes(item.type)) {\n return;\n }\n e.preventDefault();\n if (item.target && 'modal' === item.type && document.querySelector(item.target)) {\n return $(item.target).modal('show');\n }\n if (item.target && 'metadata' === item.type && document.querySelector('#modal-metadata')) {\n $('#modal-metadata').modal('show');\n document.querySelector('#modal-metadata a[href=\"' + item.target + '\"]').click();\n return;\n }\n $('body').append('\\n
\\n
\\n
' + item.content + '
\\n
\\n
\\n ');\n $('#custom_modal').modal('show');\n $('#custom_modal').on('hidden.bs.modal', function () {\n return $('#custom_modal').remove();\n });\n },\n showEmbedModal: function showEmbedModal() {\n var url = new URL(location.href);\n url.searchParams.set('map_extent', _gui2.default.getService('map').getMapExtent().toString());\n\n $('body').append('\\n
\\n
\\n
\\n
\\n

' + this.$t('sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint') + '

\\n
\\n
\\n \\n \\n
\\n
\\n
\\n ');\n $('#share_modal').modal('show');\n $('#share_modal').on('hidden.bs.modal', function () {\n return $('#share_modal').remove();\n });\n },\n initDialogMessages: function () {\n var _ref = _asyncToGenerator(function* () {\n var messages = _application2.default.project.state.messages;\n\n if (!messages) {\n return;\n }\n\n var pid = _application2.default.project.getId();\n\n var _loop = function* _loop(i) {\n var message = messages.items[i];\n var item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id);\n var data = (item ? JSON.parse(item) : undefined) || _g3wConstants.LOCAL_ITEM_IDS.MESSAGES.value;\n data[pid] = data[pid] || [];\n\n if (undefined !== data[pid].find(function (id) {\n return id === message.id;\n })) {\n return 'continue';\n }\n\n var doNotShowAgainVueComponent = new (Vue.extend({\n data: function data() {\n return { id: (0, _getUniqueDomId.getUniqueDomId)(), checked: false };\n },\n template: '\\n
\\n \\n
'\n }))();\n\n var content = document.createElement('div');\n\n content.append.apply(content, _toConsumableArray(new DOMParser().parseFromString(message.body, 'text/html').body.childNodes));\n\n content.append(doNotShowAgainVueComponent.$mount().$el);\n\n yield new Promise(function (resolve) {\n _gui2.default.showModalDialog({\n title: message.title,\n message: content,\n size: 'large',\n closeButton: false,\n className: 'g3w-modal-project-message ' + Object.entries(messages.levels).find(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return value === message.level;\n })[0],\n buttons: {\n close: {\n label: t('close'),\n className: 'btn-secondary',\n callback: function callback() {\n try {\n if (doNotShowAgainVueComponent.checked) {\n data[pid].push(message.id);\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id, JSON.stringify(data));\n }\n } catch (e) {\n console.warn(e);\n }\n resolve();\n }\n }\n }\n });\n });\n };\n\n for (var i = 0; i < messages.items.length; i++) {\n var _ret = yield* _loop(i);\n\n if (_ret === 'continue') continue;\n }\n });\n\n function initDialogMessages() {\n return _ref.apply(this, arguments);\n }\n\n return initDialogMessages;\n }(),\n showaddLayerModal: function showaddLayerModal() {\n $('#main-navbar').collapse('hide');\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#main-navbar').collapse('hide');\n $('#modal-changemap').modal('show');\n },\n isNotLastCrumb: function isNotLastCrumb(index) {\n return index < this.breadcrumb.length - 1;\n },\n closeContent: function closeContent() {\n _gui2.default.closeContent();\n },\n gotoPreviousContent: function gotoPreviousContent() {\n _gui2.default.popContent();\n },\n closeUserMessage: function closeUserMessage() {\n _gui2.default.closeUserMessage();\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.addEventListener('mousemove', this.wrapMoveFnc);\n document.addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref4 = _asyncToGenerator(function* () {\n document.removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref4.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n resizeFull: function resizeFull() {\n _gui2.default.toggleFullViewContent();\n _gui2.default.emit('resize');\n },\n resizeDefault: function resizeDefault() {\n _gui2.default.resetToDefaultContentPercentage();\n _gui2.default.emit('resize');\n },\n moveFnc: function moveFnc(e) {\n e.preventDefault();\n var size = 'h' === this.state.split ? 'width' : 'height';\n var sidebarSize = size === 'width' ? $('.sidebar-collapse').length ? 0 : _application2.default.viewport.SIDEBARWIDTH : $('#main-navbar').height();\n var viewPortSize = $(this.$el)[size]();\n var mapSize = ('width' === size ? e.pageX + 2 : e.pageY + 2) - sidebarSize;\n var _VIEWPORT$resize = _g3wConstants.VIEWPORT.resize,\n content = _VIEWPORT$resize.content,\n map = _VIEWPORT$resize.map;\n\n if (mapSize > viewPortSize - content.min) {\n mapSize = viewPortSize - content.min;\n } else if (mapSize < map.min) {\n mapSize = map.min;\n }\n _application2.default.viewport.resized[this.state.split] = true;\n _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === this.state.split ? 'width' : 'height'] = 100 - Math.round(mapSize / viewPortSize * 100);\n _gui2.default._layout('resize');\n },\n closePanel: function closePanel() {\n _gui2.default.closePanel();\n },\n closeAllPanels: function () {\n var _ref5 = _asyncToGenerator(function* () {\n _application2.default.sidebar.title = null;\n var data = _application2.default.sidebar.contentsdata;\n if (data.length) {\n yield Promise.allSettled(data.map(function () {\n var _ref6 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n });\n\n return function (_x) {\n return _ref6.apply(this, arguments);\n };\n }()));\n data.splice(0, data.length);\n }\n });\n\n function closeAllPanels() {\n return _ref5.apply(this, arguments);\n }\n\n return closeAllPanels;\n }(),\n toggleSidebar: function toggleSidebar() {\n $('#main-navbar').collapse('hide');\n _gui2.default.toggleSidebar();\n },\n toggleSidebarItem: function toggleSidebarItem(e) {\n var mini = document.body.classList.contains('sidebar-mini');\n var collapsed = document.body.classList.contains('sidebar-collapse');\n\n if (mini && collapsed) {\n _gui2.default.showSidebar();\n }\n\n var li = e.target.closest('.sidebaritem');\n var component = _application2.default.sidebar.components.find(function (comp) {\n return comp.id === li.id;\n });\n var open = component && component.getOpen();\n var menu = li.querySelector('.treeview-menu');\n\n if (!component || open && collapsed || menu && menu.contains(e.target)) {\n return;\n }\n\n if (!component.collapsible && window.innerWidth <= 767) {\n _gui2.default.toggleSidebar();\n }\n\n component.click({ open: !open });\n }\n },\n\n watch: {\n 'language': function language(_language, cl) {\n if (cl) {\n i18next.changeLanguage(_language);\n\n _application2.default.lng = _language;\n _application2.default.language = _language;\n var pathArray = window.location.pathname.split('/');\n pathArray[1] = _language;\n history.replaceState(null, null, pathArray.join('/'));\n this.cookie_law_buttonText = t('cookie_law.buttonText');\n }\n }\n },\n\n created: function created() {\n this.language = this.appconfig.user.i18n;\n },\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.initDialogMessages();\n\n yield this.$nextTick();\n\n this.language = this.appconfig.user.i18n;\n\n yield this.$nextTick();\n\n $('#startingspinner').remove();\n\n var resize = function resize() {\n $(\".main-sidebar\").css('height', $(window).height() - $(\".navbar-header\").height());\n $('.g3w-sidebarpanel').css('height', $(window).height() - $(\"#main-navbar\").height());\n };\n\n resize();\n $(window, \".wrapper\").resize(resize);\n\n this.iframe = _application2.default.iframe;\n\n if (!this.iframe) {\n document.body.classList.add('sidebar-mini');\n }\n\n document.body.classList.toggle('is-mobile', this.isMobile());\n document.body.classList.toggle('is-iframe', this.iframe);\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.app.gui.app.disabled),expression:\"app.gui.app.disabled\"}],staticClass:\"wrapper\",attrs:{\"id\":\"app\"}},[_c('cookie-law',{attrs:{\"theme\":\"dark-lime\",\"buttonText\":_vm.cookie_law_buttonText}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('cookie_law.message'),expression:\"'cookie_law.message'\"}],attrs:{\"slot\":\"message\"},slot:\"message\"})]),_vm._v(\" \"),(!_vm.isIframe)?_c('header',{staticClass:\"main-header\"},[_c('nav',{ref:\"navbar\",staticClass:\"navbar\",attrs:{\"role\":\"navigation\"}},[_c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"navbar-header\"},[(_vm.logo_url)?_c('a',{staticStyle:{\"padding\":\"4px\",\"display\":\"inline-block\",\"height\":\"50px\"},attrs:{\"href\":_vm.appconfig.header_logo_link || _vm.urls.frontendurl || '#',\"target\":_vm.appconfig.header_logo_link ? '_blank' : ''}},[_c('img',{staticStyle:{\"height\":\"100%\"},attrs:{\"alt\":\"\",\"src\":_vm.logo_url}})]):_vm._e(),_vm._v(\" \"),_c('button',{ref:\"navbar_toggle\",staticClass:\"navbar-toggle\",staticStyle:{\"font-size\":\"1.3em\"},attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#main-navbar\"}},[_c('i',{class:_vm.$fa('bars')}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"MENU\")])])]),_vm._v(\" \"),_c('div',{ref:\"mainnavbar\",staticClass:\"collapse navbar-collapse\",staticStyle:{\"overflow\":\"hidden\",\"margin\":\"0\"},attrs:{\"id\":\"main-navbar\"}},[_c('hgroup',{staticClass:\"project_title\"},[_c('p',{staticClass:\"h2\"},[_vm._v(_vm._s(_vm.main_title))]),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.project_title))])]),_vm._v(\" \"),_c('ul',{staticClass:\"nav navbar-nav navbar-right\",staticStyle:{\"display\":\"flex\",\"padding-right\":\"10px\",\"text-align\":\"center\"}},[_vm._l((_vm.custom_links),function(item){return _c('li',{key:item.id,class:(\"nav-\" + (item.id)),style:({ order: item.position })},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:(item.i18n ? item.title : (' ' + item.title + ' ')),expression:\"item.i18n ? item.title : (' ' + item.title + ' ')\",modifiers:{\"create\":true}}],attrs:{\"href\":item.url || '#',\"target\":item.target,\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){return _vm.oncCustomItemClick($event, item)}}},[(item.icon)?_c('i',{class:item.icon}):_vm._e(),_vm._v(\" \"),(item.img)?_c('img',{staticStyle:{\"max-height\":\"20px\"},attrs:{\"src\":item.img,\"title\":item.img_title,\"alt\":item.img_title}}):_vm._e()])])}),_vm._v(\" \"),_c('li',{staticClass:\"nav-user dropdown\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"#\",\"data-toggle\":\"dropdown\"}},[_c('i',{class:_vm.$fa('user')}),_vm._v(\" \"),(_vm.user)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_vm._v(\" \"),_c('i',{staticClass:\"triangle\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.user)?_c('li',{staticClass:\"user-header\"},[_vm._v(\"\\n 👋\\n \"),(!_vm.user.first_name && !_vm.user.last_name)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',[_vm._v(_vm._s(_vm.user.first_name)+\" \"+_vm._s(_vm.user.last_name))])]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"user-footer\"},[(!_vm.user)?_c('a',{staticClass:\"nav-login btn btn-default btn-flat skin-color\",attrs:{\"src\":_vm.login_url,\"data-toggle\":_vm.has_iframe_login ? 'modal' : undefined,\"data-target\":_vm.has_iframe_login ? '#modal-login' : undefined}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_c('i',{class:_vm.$fa('sign-in')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.admin_url)?_c('a',{staticClass:\"nav-admin btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.admin_url}},[_c('b',[_vm._v(\"Admin\")]),_c('i',{class:_vm.$fa('tool')})]):_vm._e(),_vm._v(\" \"),(_vm.urls.frontendurl)?_c('a',{staticClass:\"nav-home btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.urls.frontendurl}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('homepage'),expression:\"'homepage'\"}]}),_c('i',{class:_vm.$fa('home')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.logout_url)?_c('a',{staticClass:\"nav-logout btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.logout_url}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('logout'),expression:\"'logout'\"}]}),_c('i',{class:_vm.$fa('sign-out')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-embedmap btn btn-default btn-flat skin-color\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showEmbedModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('embed_map'),expression:\"'embed_map'\"}]}),_c('i',{class:_vm.$fa('link')})]),_vm._v(\" \"),(_vm.hasRelatedMaps)?_c('a',{staticClass:\"nav-changemap btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]}),_c('i',{class:_vm.$fa('refresh')})]):_vm._e(),_vm._v(\" \"),('legend' !== _vm.activeTab)?_c('a',{staticClass:\"nav-addlayer btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]}),_c('i',{class:_vm.$fa('layers')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-sidebar btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSidebar}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar_menu'),expression:\"'sidebar_menu'\"}]}),_c('i',{staticClass:\"fa fa-toggle-on\"})])])])]),_vm._v(\" \"),(_vm.languages)?_c('li',{staticClass:\"nav-lang\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('language'),expression:\"'language'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],staticClass:\"form-control\",staticStyle:{\"cursor\":\"pointer\",\"width\":\"130px\"},attrs:{\"templateSelection\":_vm.templateResultLanguages,\"templateResult\":_vm.templateResultLanguages,\"dropdownAutoWidth\":true,\"dropdownParent\":_vm.dropdownParent},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang[0],domProps:{\"value\":lang[0],\"selected\":lang[0] === _vm.language && 'selected'}},[_vm._v(\"\\n \"+_vm._s(lang[1])+\"\\n \")])}),0)]):_vm._e()],2)])])])]):_vm._e(),_vm._v(\" \"),_c('aside',[_c('div',{staticClass:\"main-sidebar\",class:{ iframe: _vm.iframe, 'g3w-disabled': _vm.disabled }},[_c('div',{attrs:{\"id\":\"disable-sidebar\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panels.length > 0),expression:\"panels.length > 0\"}],staticClass:\"g3w-sidebarpanel\"},[_c('div',{attrs:{\"id\":\"g3w-sidebarpanel-header-placeholder\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},style:({ justifyContent: _vm.app.sidebar.title ? 'space-between' : 'flex-end' })},[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticStyle:{\"display\":\"inline-block\",\"font-weight\":\"bold\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.panels.length > 1)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('back'),expression:\"'back'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closePanel}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('close'),expression:\"'close'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closeAllPanels}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('close')})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-sidebarpanel-placeholder\",attrs:{\"id\":\"g3w-sidebarpanel-placeholder\"}})]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showmainpanel),expression:\"showmainpanel\"}],staticClass:\"sidebar-menu\",class:{ 'g3w-disabled': _vm.disabled },attrs:{\"id\":\"g3w-sidebarcomponents\"},on:{\"click\":_vm.toggleSidebarItem}},[_c('li',{staticClass:\"treeview sidebaritem\",attrs:{\"id\":\"metadata\"}},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"skin-tooltip-right\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"data-placement\":\"right\",\"data-container\":\"body\",\"data-toggle\":\"modal\",\"data-target\":\"#modal-metadata\"}},[_c('div',[_c('i',{class:_vm.$fa('file'),staticStyle:{\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"treeview-label\"})])])])])]),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sidebar_menu'),expression:\"'sidebar_menu'\",modifiers:{\"create\":true}}],staticClass:\"sidebar-aside-toggle\",class:{ 'g3w-disabled': _vm.disabled, 'iframe': _vm.iframe},staticStyle:{\"z-index\":\"2\"},attrs:{\"href\":\"#\",\"role\":\"button\",\"data-placement\":\"right\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleSidebar($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",style:({paddingTop: _vm.isIframe ? 0 : null})},[_c('transition',{attrs:{\"name\":\"fade\",\"duration\":{ enter: 500, leave: 500 }}},[(_vm.usermessage.show)?_c('user-message',{attrs:{\"title\":_vm.usermessage.title,\"subtitle\":_vm.usermessage.subtitle,\"id\":_vm.usermessage.id,\"message\":_vm.usermessage.message,\"draggable\":_vm.usermessage.draggable,\"closable\":_vm.usermessage.closable,\"duration\":_vm.usermessage.duration,\"position\":_vm.usermessage.position,\"autoclose\":_vm.usermessage.autoclose,\"textMessage\":_vm.usermessage.textMessage,\"size\":_vm.usermessage.size,\"type\":_vm.usermessage.type,\"icon-class\":_vm.usermessage.iconClass},on:{\"close-usermessage\":_vm.closeUserMessage}},[(_vm.usermessage.hooks.header)?_c('template',{slot:\"header\"},[_c(_vm.usermessage.hooks.header,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.body)?_c('template',{slot:\"body\"},[_c(_vm.usermessage.hooks.body,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.footer)?_c('template',{slot:\"footer\"},[_c(_vm.usermessage.hooks.footer,{tag:\"component\"})],1):_vm._e()],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g3w-view map\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.map),attrs:{\"id\":\"g3w-view-map\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showresize),expression:\"showresize\"}],class:(\"split-\" + (_vm.state.split)),style:({ cursor: 'v' === _vm.state.split ? 'ns-resize' : 'col-resize' }),attrs:{\"id\":\"resize-map-and-content\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"application-notifications\"}},[_c('div',{class:{ 'g3w-hide': _vm.app.online },staticStyle:{\"color\":\"#999\"},attrs:{\"id\":\"offline_notification\"}},[_c('i',{class:_vm.$fa('wifi')}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"0.4em\"}},[_vm._v(\"offline\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"download\",rawName:\"v-download.show\",modifiers:{\"show\":true}}],staticClass:\"skin-color\",attrs:{\"id\":\"download_notification\",\"title\":\"DOWNLOAD\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('download'),staticStyle:{\"padding\":\"3px\"}})],1),_vm._v(\" \"),_c('div',{class:{ 'g3w-hide': 0 === _vm.app.plugins.length },staticStyle:{\"color\":\"#994b10\"},attrs:{\"id\":\"plugins_notification\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('plugin')})],1)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.content.disabled),expression:\"state.content.disabled\"}],staticClass:\"g3w-view content\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.content),attrs:{\"id\":\"g3w-view-content\"}},[(_vm.breadcrumb.length > 1)?_c('section',{ref:_vm.breadcrumb,staticClass:\"content_breadcrumb\"},_vm._l((_vm.breadcrumb),function(crumb,index){return _c('span',{key:crumb.title},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(crumb.text ? null : crumb.title),expression:\"crumb.text ? null : crumb.title\"}],staticClass:\"skin-color-dark\",style:({fontWeight: _vm.isNotLastCrumb(index) ? 'bold' : 'normal'})},[(crumb.text)?_c('span',[_vm._v(\" \"+_vm._s(crumb.title)+\" \")]):_vm._e()]),_vm._v(\" \"),(_vm.isNotLastCrumb(index))?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin\":\"3px 0\"}},[_vm._v(\"/\")]):_vm._e()])}),0):_vm._e(),_vm._v(\" \"),((_vm.showtitle && _vm.contentTitle) || _vm.previousTitle || (_vm.state.content.closable && _vm.state.content.aside))?_c('div',{staticClass:\"close-panel-block\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[(_vm.previousTitle)?_c('div',{staticClass:\"g3w_contents_back g3w-long-text\"},[('back' === _vm.backOrBackTo )?_c('div',{class:_vm.backOrBackTo},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}]})]):_c('div',{class:_vm.backOrBackTo,on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoPreviousContent()}}},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('backto'),expression:\"'backto'\"}]}),_vm._v(\" \"),(!_vm.updatePreviousTitle)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.previousTitle),expression:\"previousTitle\"}]}):_vm._e()])]):_vm._e(),_vm._v(\" \"),(!_vm.previousTitle && _vm.showtitle && _vm.contentTitle)?_c('div',{staticClass:\"panel-title\",class:{'mobile': _vm.isMobile()},style:([_vm.state.content.style.title])},[_c('b',{attrs:{\"id\":\"contenttitle\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.text ? null : _vm.contentTitle.title),expression:\"contentTitle.text ? null : contentTitle.title\"}]},[(_vm.contentTitle.text )?_c('span',[_vm._v(_vm._s(_vm.contentTitle.title))]):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.post_title),expression:\"contentTitle.post_title\"}]})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g3-content-header-action-tools\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_vm._l((_vm.state.content.headertools),function(tool){return _c(tool,{tag:\"component\"})}),_vm._v(\" \"),(_vm.showresizeicon)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-size\":\"1em\",\"padding\":\"0\",\"align-self\":\"center\",\"margin-left\":\"auto\",\"cursor\":\"pointer\"},style:({ marginRight: _vm.state.content.closable ? '5px': '0px' })},[(undefined !== _vm.state.split)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('enlange_reduce'),expression:\"'enlange_reduce'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa((\"resize-\" + (_vm.state.split))),staticStyle:{\"margin-right\":\"3px\"},on:{\"click\":_vm.resizeFull}}):_vm._e(),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('reset_default'),expression:\"'reset_default'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa('resize-default'),on:{\"click\":_vm.resizeDefault}})]):_vm._e(),_vm._v(\" \"),(_vm.state.content.closable && _vm.state.content.aside)?_c('span',{staticClass:\"action-button\",class:{'mobile': _vm.isMobile()},staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"},on:{\"click\":_vm.closeContent}},[_c('i',{staticClass:\"skin-color-dark\",class:_vm.$fa('close')})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.state.content.loading}})],1)],1),_vm._v(\" \"),_c('catalog-context-menu'),_vm._v(\" \"),_c('div',{staticClass:\"modal fade modal-fullscreen force-fullscreen\",attrs:{\"id\":\"modal-full-screen\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"data-backdrop\":\"static\",\"data-keyboard\":\"false\",\"aria-labelledby\":\"modal-full-screen\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(!_vm.user && _vm.has_iframe_login)?_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-login\",\"tabindex\":\"-1\",\"role\":\"document\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"height\":\"60%\",\"width\":\"60%\"}},[_c('div',{staticClass:\"modal-content\",staticStyle:{\"height\":\"100%\",\"background\":\"#d2d6de\",\"display\":\"grid\",\"grid-template-areas\":\"'iframe'\",\"place-items\":\"center\"}},[_c('button',{staticClass:\"close\",staticStyle:{\"position\":\"absolute\",\"inset\":\"0 0 auto auto\",\"padding\":\"10px 15px\"},attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"grid-area\":\"iframe\"}},[_vm._v(\"Loading..\")]),_vm._v(\" \"),_c('iframe',{ref:\"login_iframe\",staticStyle:{\"border\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"grid-area\":\"iframe\"},attrs:{\"loading\":\"lazy\",\"src\":_vm.login_url},on:{\"load\":_vm.onIframeLoaded}})])])]):_vm._e(),_vm._v(\" \"),_c('map-add-layer'),_vm._v(\" \"),_c('change-map'),_vm._v(\" \"),_c('metadata-project')],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ChangeMap.vue\":42,\"components/MapAddLayer.vue\":85,\"components/MetadataProject.vue\":88,\"components/UserMessage.vue\":112,\"g3w-component\":126,\"g3w-constants\":127,\"g3w-i18n\":130,\"g3w-panel\":132,\"services/gui\":175,\"store/application\":180,\"utils/getUniqueDomId\":219,\"utils/promisify\":234,\"utils/sameOrigin\":239,\"vue-cookie-law\":\"vue-cookie-law\",\"vueify/lib/insert-css\":2}],37:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tabbable-line>.nav-tabs>li.active{border-bottom:4px solid var(--skin-color)}.catalog #legend div.selected,.catalog .tree-item.selected{background-color:var(--skin-color)}.catalog-context-menu li.title{border-bottom-color:var(--skin-color)!important}.skin-blue .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-green .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-purple .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-red .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ff5542}.skin-red .tabbable-line.tabs-below>.nav-tabs>li.active,.skin-red .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ff5542}.skin-yellow .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #ffdf12}.tabbable-panel{padding:10px}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line .nav-tabs ul li{color:#fff}.tabbable-line>.nav-tabs>li{margin-right:2px;border-bottom:4px solid #21292d}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#fff}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a{border:0;background:none!important}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover) .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{position:relative;font-weight:700}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#fff;background-color:#2c3b41}.tabbable-line>.nav-tabs>li.active>a>i{color:#fff}.tabbable-line>.tab-content.catalog-tab-content{margin-top:-3px;border:0;color:#fff;padding:5px 0 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;color:#fff}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.nav-tabs>li.active>a,.nav-tabs>li.active>a:is(:focus,:hover){color:#fff}.catalog>.title{padding:10px;font-weight:700}.catalog ul{line-height:1.75em;list-style-type:none}.catalog .list-group-item{color:#fff;background-color:#2c3b41}.catalog #legend div.selected ul.layer-categories,.catalog .tree-item.selected ul.layer-categories{background-color:#222d32}.catalog #legend div div.tree-node-title,.catalog .tree-item div.tree-node-title{padding-left:3px;cursor:pointer;width:80%;display:inline-flex;justify-content:space-between;user-select:none}.catalog #legend div div.tree-node-title.disabled,.catalog .tree-item div.tree-node-title.disabled{color:#999}.catalog #legend div div.tree-node-title .selection-filter-icon,.catalog .tree-item div.tree-node-title .selection-filter-icon{box-shadow:0 2px 5px rgba(0,0,0,.3);padding:5px;border-radius:3px;margin:0 3px;font-weight:700;color:#fff!important}.catalog #legend div div.tree-node-title .selection-filter-icon.active,.catalog .tree-item div.tree-node-title .selection-filter-icon.active{box-shadow:none;background-color:#384247}.catalog .tree-item{cursor:pointer;margin-bottom:3px}.catalog .tree-item.disabled>span{color:#999}.catalog .root{padding:2px 1px 1px 5px}.catalog .root .tree-item.group{padding-left:1px}.catalog .root.fa-chevron-right{padding-right:5px;padding-left:0}.catalog .root-categories.fa-chevron-right{padding-right:7px}.catalog .root-categories.fa-chevron-down{padding-right:3px}.bold{font-weight:700;color:#fff}.highlightlayer{border-bottom:2px dashed;border-color:#ffb516}.catalog{padding:3px}.catalog .tree-root{padding-left:0}.catalog .tree-root li>.root{padding-left:5px}.catalog .tree-root li.tree-item ul.tree-content-items.root{padding-left:18px}.catalog .tree-root li.tree-item ul.tree-content-items.root>.tree-item.group{padding-left:1px!important}.catalog .tree-root li.tree-item ul.tree-content-items{padding-left:17px;padding-top:2px}.g3w-lendplace-toc{padding-left:23px}.g3w-lendplace-toc.group{padding-left:17px}.g3w-lendplace-toc.root{padding-left:18px}.g3w-lendplace-toc.root>li.itemmarginbottom{margin-left:-13px}.g3w-lendplace-toc.root>li.itemmarginbottom div.layer-legend{padding-left:56px}.g3w-lendplace-toc.root>li.itemmarginbottom>span.child{padding-left:18px!important}.catalog .tree-root span.root.collapse-expande-collapse-icon{width:19px}.catalog .tree-root span.root.collapse-expande-collapse-icon.project-root{width:17px}.catalog .tree-root span.collapse-expande-collapse-icon{width:10px}.catalog span.legend-collapse-expande-collapse-icon{font-size:1.2em}.catalog .child-categories{padding:5px 3px 1px 12px}.catalog .layer-legend{padding:3px 0 0 35px;background-color:#222d32}.catalog .catalalog-nav-tabs{display:flex;flex:1 1 0}.catalog .catalalog-nav-tabs>li{font-size:1em;white-space:normal;display:flex;flex:1 1 0;align-items:stretch}.catalog .catalalog-nav-tabs>li a{padding:10px 0;text-align:center;height:100%;width:100%}.catalog .tree{color:#fff}.catalog .tree.disabled{color:#999;cursor:not-allowed}.catalog .g3w-external_wms_layers-group{padding:5px}.catalog .baselayers .radio{margin:0}#baselayers-content{display:grid;justify-content:center;grid-gap:5px;padding:0;margin:5px}#baselayers-content.mobile{grid-template-columns:repeat(auto-fill,minmax(80px,110px))}#baselayers-content .baseselayer-text{white-space:pre-line;font-weight:700}#baselayers-content .baselayer{cursor:pointer}#baselayers-content .baselayer .baselayer-name{font-weight:700;white-space:pre-line;text-align:center}#catalog #layers ul.g3w-external_layers-group{padding-left:0!important}#catalog #layers ul.g3w-external_layers-group li{padding-left:2px!important}#catalog #layers .sidebar-menu>li>a{border:0}#catalog>a{display:none!important}#catalog .tree-item>.toggle-context-menu{opacity:0;position:absolute;inset:0 4px auto auto;color:#fff;padding:4px 8px;border:1px solid;border-radius:3px}#catalog .tree-item:not(.group):hover>.toggle-context-menu{opacity:1}\\n#legend .divider[data-v-f931b03a]{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}.legend-item[data-v-f931b03a]{width:100%;position:relative}.g3w-catalog-layers-group>div[data-v-f931b03a]{border:1px solid #ffffff33;margin:5px}.g3w-catalog-layers-group>div>h4[data-v-f931b03a]{margin:5px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _CatalogChangeMapThemes = require('components/CatalogChangeMapThemes.vue');\n\nvar _CatalogChangeMapThemes2 = _interopRequireDefault(_CatalogChangeMapThemes);\n\nvar _CatalogTristateTree = require('components/CatalogTristateTree.vue');\n\nvar _CatalogTristateTree2 = _interopRequireDefault(_CatalogTristateTree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\nexports.default = {\n name: 'catalog',\n\n data: function data() {\n return {\n state: this.$options.service.state || {},\n legend_position: _application2.default.project.state.legend_position || 'tab',\n iframe: _application2.default.iframe,\n showlegend: false,\n currentBaseLayer: null,\n activeTab: 'layers',\n loading: false\n };\n },\n\n\n components: {\n CatalogChangeMapThemes: _CatalogChangeMapThemes2.default,\n CatalogTristateTree: _CatalogTristateTree2.default\n },\n\n computed: {\n project: function project() {\n return _application2.default.project;\n },\n title: function title() {\n return this.project.state.name;\n },\n baselayers: function baselayers() {\n return this.project.state.baselayers;\n },\n hasBaseLayers: function hasBaseLayers() {\n return this.project.state.baselayers.length > 0;\n },\n hasLayers: function hasLayers() {\n return this.state.external.vector.length > 0 || this.state.layerstrees.reduce(function (a, l) {\n return l.tree.length + a;\n }, 0) > 0 || this.state.layersgroups.length > 0;\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return window.initConfig.macrogroups.length + window.initConfig.groups.length + window.initConfig.projects.length > 1;\n }\n },\n\n methods: {\n onLegendError: function onLegendError(legendurl) {\n legendurl.error = true;\n legendurl.loading = false;\n },\n onLegendLoad: function onLegendLoad(legendurl) {\n legendurl.loading = false;\n },\n getLegendSrc: function getLegendSrc() {\n var _this = this;\n\n var change = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if ('tab' !== this.legend_position) {\n return;\n }\n\n this.state.layerstrees.forEach(function (t) {\n var layers = _this._traverseVisibleLayers(t.tree);\n _this.showlegend = _this.showlegend || layers.length > 0;\n t.tree.forEach(function () {\n var _ref = _asyncToGenerator(function* (tree) {\n try {\n if (change && (tree.legendurls && 0 === tree.legendurls.length || layers.some(function (l) {\n return l.legend.change;\n }) || _application2.default.project.state.context_base_legend)) {\n layers.filter(function (l) {\n return l.legend.change;\n }).forEach(function (l) {\n return l.legend.change = false;\n });\n }\n tree.legendurls = yield _this._getLegendSrc(layers);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n },\n _traverseVisibleLayers: function _traverseVisibleLayers(obj) {\n var _layers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = obj[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layer = _step.value;\n\n if (null !== layer.id && undefined !== layer.id && layer.visible && layer.geolayer && !layer.exclude_from_legend) {\n _layers.push(layer);\n }\n if (null !== layer.nodes && undefined !== layer.nodes) {\n _layers = _layers.concat(this._traverseVisibleLayers(layer.nodes, _layers));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return _layers;\n },\n _getLegendSrc: function () {\n var _ref2 = _asyncToGenerator(function* (visiblelayers) {\n var legendurls = [];\n\n var layers = visiblelayers.filter(function (l) {\n return l.geolayer;\n });\n\n var http = { GET: {}, POST: {} };\n\n layers.forEach(function (layer) {\n var name = http[layer.source && layer.source.url || layer.external ? 'GET' : layer.ows_method];\n var catalogLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n\n var url = catalogLayer ? catalogLayer.getLegendUrl((window.initConfig.layout || {}).legend, {\n all: !_application2.default.project.state.context_base_legend,\n format: 'image/png',\n categories: layer.categories\n }) : undefined;\n\n if (undefined === catalogLayer) {\n return;\n }\n\n if (layer.source && layer.source.url) {\n name[url] = [];\n return;\n }\n\n var prefix = url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[0];\n\n if (!name[prefix]) {\n name[prefix] = [];\n }\n\n name[prefix].unshift({\n layerName: url.split('LAYER=')[1],\n style: (Array.isArray(layer.styles) && layer.styles.find(function (style) {\n return style.current;\n }) || { name: false }).name,\n legend_on: (url.split('LAYER=')[0].split('LEGEND_ON=')[1] || '').replace('&', ''),\n legend_off: (url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[1] || '').replace('&', '') });\n });\n\n for (var method in http) {\n var _loop = function* _loop(url) {\n var obj = {\n loading: true,\n url: null,\n error: false\n };\n\n legendurls.push(obj);\n\n var params = {\n LAYERS: [],\n STYLES: [],\n LEGEND_ON: [],\n LEGEND_OFF: []\n };\n\n (http[method][url] || []).reduce(function (_, layer) {\n params.LAYERS.push(layer.layerName);\n params.STYLES.push(layer.style);\n if (layer.legend_on) {\n params.LEGEND_ON.push(layer.legend_on);\n }\n if (layer.legend_off) {\n params.LEGEND_OFF.push(layer.legend_off);\n }\n return params;\n }, params);\n\n var url_params = [__('LAYERS=', params.LAYERS.join(',')), __('STYLES=', params.STYLES.join(',')), __('LEGEND_ON=', params.LEGEND_ON.join(',')), __('LEGEND_OFF=', params.LEGEND_OFF.join(',')), __('filtertoken=', _application2.default.tokens.filtertoken)].filter(function (p) {\n return p;\n }).join('&');\n\n try {\n obj.url = 'GET' === method ? url + (http[method][url].length ? url_params : '') : URL.createObjectURL((yield (yield fetch(url.split('?')[0], {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n\n body: url.split('?')[1].split('&').filter(function (p) {\n return p.split('=')[0];\n }).map(function (p) {\n return p.split('=')[0] + '=' + encodeURIComponent(p.split('=')[1]);\n }).join('&') + '&' + url_params\n })).blob()));\n } catch (e) {\n console.warn(e);\n }\n\n obj.loading = false;\n };\n\n for (var url in http[method]) {\n yield* _loop(url);\n }\n }\n\n return legendurls;\n });\n\n function _getLegendSrc(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return _getLegendSrc;\n }(),\n getMapThemeFromThemeName: function () {\n var _ref3 = _asyncToGenerator(function* (theme) {\n var project = _application2.default.project;\n\n var config = Object.values(project.state.map_themes).flat().find(function (c) {\n return theme === c.theme;\n });\n if (config && undefined === config.layerstree) {\n try {\n var response = yield _XHR.XHR.get({ url: '' + project.urls.map_themes + theme + '/' });\n if (response.result) {\n config.layerstree = response.data;\n }\n } catch (e) {\n console.warn('Error while retreiving map theme configuration', e);\n }\n }\n return config;\n });\n\n function getMapThemeFromThemeName(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return getMapThemeFromThemeName;\n }(),\n setLayersTreePropertiesFromMapTheme: function () {\n var _ref5 = _asyncToGenerator(function* (_ref4) {\n var map_theme = _ref4.map_theme,\n layerstree = _ref4.layerstree;\n\n var project = _application2.default.project;\n layerstree = undefined !== layerstree ? layerstree : project.state.layerstree;\n\n var theme = yield this.getMapThemeFromThemeName(map_theme);\n\n var changes = { layers: {} };\n var promises = [];\n\n var groups = [];\n var traverse = function traverse(mapThemeLayersTree, layerstree, checked) {\n mapThemeLayersTree.forEach(function (node, index) {\n if (node.nodes) {\n groups.push({\n node: node,\n group: layerstree[index]\n });\n traverse(node.nodes, layerstree[index].nodes, checked && node.checked);\n } else {\n node.style = theme.styles[node.id];\n if (layerstree[index].checked !== node.visible) {\n changes.layers[node.id] = {\n visibility: true,\n style: false\n };\n }\n layerstree[index].checked = node.visible;\n\n if (node.style) {\n var promise = new Promise(function (resolve) {\n var setCurrentStyleAndResolvePromise = function setCurrentStyleAndResolvePromise(node) {\n if (changes.layers[node.id] === undefined) changes.layers[node.id] = {\n visibility: false,\n style: false\n };\n changes.layers[node.id].style = project.getLayerById(node.id).setCurrentStyle(node.style);\n resolve();\n };\n if (project.getLayersStore()) {\n setCurrentStyleAndResolvePromise(node);\n } else {\n (function (node) {\n return setTimeout(function () {\n return setCurrentStyleAndResolvePromise(node);\n });\n })(node);\n }\n });\n promises.push(promise);\n }\n }\n });\n };\n traverse(theme.layerstree, layerstree);\n\n yield Promise.allSettled(promises);\n\n groups.forEach(function (_ref6) {\n var group = _ref6.group,\n _ref6$node = _ref6.node,\n checked = _ref6$node.checked,\n expanded = _ref6$node.expanded;\n\n group.checked = checked;\n group.expanded = expanded;\n });\n\n return changes;\n });\n\n function setLayersTreePropertiesFromMapTheme(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayersTreePropertiesFromMapTheme;\n }(),\n changeMapTheme: function () {\n var _ref7 = _asyncToGenerator(function* (map_theme) {\n _gui2.default.closeContent();\n\n this.state.layerstrees[0].checked = true;\n\n var changes = (yield this.setLayersTreePropertiesFromMapTheme({\n map_theme: map_theme,\n rootNode: this.state.layerstrees[0],\n layerstree: this.state.layerstrees[0].tree[0].nodes\n })).layers;\n\n var layers = Object.keys(changes).filter(function (id) {\n return changes[id].style;\n });\n var styles = (yield this.getMapThemeFromThemeName(map_theme)).styles;\n\n layers.forEach(function (id) {\n if (!changes[id].visible) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(id);\n layer.clearCategories();\n layer.change();\n }\n });\n\n layers.forEach(function (id) {\n return _g3wEventbus.VM.$emit('layer-change-style', { layerId: id, style: styles[id] });\n });\n });\n\n function changeMapTheme(_x7) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapTheme;\n }(),\n onTabClick: function onTabClick(e) {\n if (e.target.attributes['aria-controls']) {\n this.activeTab = e.target.attributes['aria-controls'].value;\n }\n },\n setBaseLayer: function setBaseLayer(id) {\n this.currentBaseLayer = id;\n this.project.setBaseLayer(id);\n _application2.default.baseLayerId = id;\n },\n getSrcBaseLayerImage: function getSrcBaseLayerImage(baseLayer) {\n var image = 'nobaselayer.png';\n switch (baseLayer && baseLayer.servertype || baseLayer) {\n case 'OSM':\n image = 'osm.png';break;\n case 'Bing':\n image = 'bing' + baseLayer.source.subtype + '.png';break;\n case 'TMS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n case 'WMTS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n }\n return (baseLayer || {}).icon ? image : _gui2.default.getResourcesUrl() + 'images/' + image;\n },\n onUnSelectionLayer: function onUnSelectionLayer(storeid, layer) {\n if (!layer) {\n return console.warn('undefined layer');;\n }\n\n var service = _gui2.default.getService('queryresults');\n var action = layer.external && service.getActionLayerById({ layer: layer, id: 'selection' });\n\n if (!layer.external && storeid) {\n _application2.default.catalog[storeid].getLayerById(layer.id).clearSelectionFids();\n }\n\n if (layer.external) {\n layer.selection.active = false;\n layer.selection.features.forEach(function (feature, i) {\n if (!feature.selection.selected) {\n return;\n }\n feature.selection.selected = false;\n if (action) {\n action.state.toggled[i] = false;\n }\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feature });\n });\n }\n },\n onActiveFilterTokenLayer: function () {\n var _ref8 = _asyncToGenerator(function* (storeid, layerstree) {\n layerstree.filter.active = yield _application2.default.catalog[storeid].getLayerById(layerstree.id).toggleFilterToken();\n });\n\n function onActiveFilterTokenLayer(_x8, _x9) {\n return _ref8.apply(this, arguments);\n }\n\n return onActiveFilterTokenLayer;\n }(),\n onTreeNodeVisible: function onTreeNodeVisible(layer) {\n _gui2.default.getService('map').emit('cataloglayervisible', layer);\n },\n onTreeNodeSelected: function onTreeNodeSelected(node) {\n _gui2.default.getService('map').selectLayer(node.id);\n },\n showaddLayerModal: function showaddLayerModal() {\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#modal-changemap').modal('show');\n }\n },\n\n watch: {\n 'state.external.wms': function stateExternalWms(newlayers, oldlayers) {\n if (oldlayers && 0 === newlayers.length) {\n this.activeTab = this.project.state.catalog_tab || 'layers';\n }\n },\n\n\n project: {\n handler: function () {\n var _ref9 = _asyncToGenerator(function* (project) {\n var _this2 = this;\n\n var activeTab = project.state.catalog_tab || 'layers';\n this.loading = 'baselayers' === activeTab;\n yield this.$nextTick();\n setTimeout(function () {\n _this2.loading = false;\n _this2.activeTab = activeTab;\n }, 'baselayers' === activeTab ? 500 : 0);\n });\n\n function handler(_x10) {\n return _ref9.apply(this, arguments);\n }\n\n return handler;\n }(),\n\n immediate: false\n },\n\n activeTab: function activeTab(_activeTab, oldTab) {\n if ('legend' === _activeTab) {\n this.getLegendSrc(true);\n }\n if (this.$el) {\n this.$el.parentElement.classList.remove('tab-' + oldTab);\n this.$el.parentElement.classList.add('tab-' + _activeTab);\n }\n }\n },\n\n created: function created() {\n _g3wEventbus.VM.$on('unselectionlayer', this.onUnSelectionLayer);\n _g3wEventbus.VM.$on('activefiltertokenlayer', this.onActiveFilterTokenLayer);\n _g3wEventbus.VM.$on('treenodevisible', this.onTreeNodeVisible);\n _g3wEventbus.VM.$on('treenodeselected', this.onTreeNodeSelected);\n _g3wEventbus.VM.$on('layer-change-style', this.getLegendSrc);\n },\n beforeMount: function beforeMount() {\n this.currentBaseLayer = this.project.state.initbaselayer;\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n yield this.$nextTick();\n\n if (_application2.default.project.state.context_base_legend) {\n _gui2.default.getService('map').on('change-map-legend-params', function () {\n _this3.getLegendSrc();\n });\n } else {\n this.getLegendSrc();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabbable-panel catalog\"},[_c('div',{staticClass:\"tabbable-line\"},[_c('ul',{staticClass:\"nav nav-tabs catalalog-nav-tabs\",attrs:{\"role\":\"tablist\"},on:{\"!click\":function($event){return _vm.onTabClick($event)}}},[(_vm.hasLayers)?_c('li',{class:{ active: ('layers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('data'),expression:\"'data'\"}],attrs:{\"href\":\"#layers\",\"aria-controls\":\"layers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"tree\"}})]):_vm._e(),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('li',{class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('externalwms'),expression:\"'externalwms'\"}],attrs:{\"href\":\"#externalwms\",\"aria-controls\":\"externalwms\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"externalwms\"}})]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('li',{class:{ active: ('baselayers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('baselayers'),expression:\"'baselayers'\"}],attrs:{\"href\":\"#baselayers\",\"aria-controls\":\"baselayers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"baselayers\"}})]):_vm._e(),_vm._v(\" \"),('tab' === _vm.legend_position && _vm.showlegend)?_c('li',{class:{ active: ('legend' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('legend'),expression:\"'legend'\"}],attrs:{\"href\":\"#legend\",\"aria-controls\":\"legend\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"legend\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content catalog-tab-content\"},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",class:{ active: ('layers' === _vm.activeTab) },attrs:{\"id\":\"layers\",\"role\":\"tabpanel\"}},[_c('div',{staticStyle:{\"margin\":\"2px\"},attrs:{\"id\":\"g3w-catalog-toc-layers-toolbar\"}},[_c('catalog-change-map-themes',{key:_vm.project.state.gid,attrs:{\"map_themes\":_vm.project.state.map_themes,\"layerstrees\":_vm.state.layerstrees},on:{\"change-map-theme\":_vm.changeMapTheme}})],1),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(root){return _c('ul',{key:root.storeid,staticClass:\"tree-root root project-root\"},_vm._l((root.tree),function(tree){return _c('catalog-tristate-tree',{key:tree.id,staticClass:\"item\",attrs:{\"layerstree\":tree,\"parentFolder\":false,\"root\":true,\"legendplace\":_vm.legend_position,\"parent_mutually_exclusive\":false,\"storeid\":root.storeid}})}),1)}),_vm._v(\" \"),(_vm.state.external.vector.length)?_c('ul',{staticClass:\"g3w-external_layers-group\"},_vm._l((_vm.state.external.vector),function(vector){return _c('catalog-tristate-tree',{key:vector.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.vector,\"layerstree\":vector}})}),1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layersgroups),function(group){return _c('ul',{staticClass:\"g3w-catalog-layers-group\"},[_c('div',[_c('h4',[_vm._v(_vm._s(group.title))]),_vm._v(\" \"),_vm._l((group.nodes),function(node){return _c('catalog-tristate-tree',{staticClass:\"item\",attrs:{\"layerstree\":node}})})],2)])})],2),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('div',{staticClass:\"tab-pane\",class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"id\":\"externalwms\",\"role\":\"tabpanel\"}},[_c('ul',{staticClass:\"g3w-external_wms_layers-group\"},_vm._l((_vm.state.external.wms),function(wms){return _c('catalog-tristate-tree',{key:wms.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.wms,\"layerstree\":wms}})}),1)]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('div',{staticClass:\"tab-pane baselayers\",class:{ active: ('baselayers' === _vm.activeTab || !_vm.hasLayers) },attrs:{\"id\":\"baselayers\",\"role\":\"tabpanel\"}},[_c('ul',{class:{'mobile': _vm.isMobile()},style:({ gridTemplateColumns: (\"repeat(auto-fill, minmax(\" + (_vm.baselayers.length > 4 ? 80 : 120) + \"px, 1fr))\") }),attrs:{\"id\":\"baselayers-content\"}},[_vm._l((_vm.baselayers),function(base){return (!base.fixed)?_c('li',{key:base.title},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === base.id ? 1 : 0.5, height: _vm.baselayers.length > 4 ? '108px' : null }),attrs:{\"src\":_vm.getSrcBaseLayerImage(base)},on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(base.id)}}}),_vm._v(\" \"),_c('div',{staticClass:\"baseselayer-text text-center g3w-long-text\"},[_vm._v(_vm._s(base.title))])]):_vm._e()}),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(null)}}},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === null ? 1 : 0.5 }),attrs:{\"src\":_vm.getSrcBaseLayerImage(null)}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('nobaselayer'),expression:\"'nobaselayer'\"}],staticClass:\"baseselayer-text text-center g3w-long-text\"})])],2)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(tree){return ('tab' === _vm.legend_position)?_c('div',{key:tree.id,staticClass:\"tab-pane\",class:{ active: 'legend' === _vm.activeTab },attrs:{\"role\":\"tabpanel\",\"id\":\"legend\"}},_vm._l((tree.tree),function(t){return _c('div',{staticClass:\"legend-item\"},_vm._l((t.legendurls),function(url){return _c('figure',[_c('bar-loader',{attrs:{\"loading\":url.loading}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!url.loading && !url.error),expression:\"!url.loading && !url.error\"}],attrs:{\"src\":url.url,\"alt\":\"\"},on:{\"error\":function($event){return _vm.onLegendError(url)},\"load\":function($event){return _vm.onLegendLoad(url)}}}),_vm._v(\" \"),_c('divider')],1)}),0)}),0):_vm._e()})],2)]),_vm._v(\" \"),(_vm.hasRelatedMaps || 'legend' !== _vm.activeTab)?_c('div',{staticStyle:{\"position\":\"sticky\",\"bottom\":\"0\",\"background-color\":\"#222d32\",\"display\":\"flex\",\"text-align\":\"center\",\"line-height\":\"48px\",\"color\":\"#fff\",\"border-top\":\"2px solid var(--skin-color)\",\"margin-top\":\"12px\",\"justify-content\":\"space-around\"}},[('legend' !== _vm.activeTab)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('i',{class:_vm.$fa('layers')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.hasRelatedMaps && 'legend' !== _vm.activeTab && !_vm.iframe)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('i',{class:_vm.$fa('refresh')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]})]):_vm._e()]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-f931b03a\"\n\n},{\"components/CatalogChangeMapThemes.vue\":38,\"components/CatalogTristateTree.vue\":41,\"g3w-eventbus\":128,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183,\"utils/getCatalogLayerById\":205,\"vueify/lib/insert-css\":2}],38:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-catalog-toc-views[data-v-06d0cd43]{margin-bottom:5px;border-bottom:2px solid}.g3w-map-theme-anchor[data-v-06d0cd43]{padding:0;margin-bottom:5px}.g3w-map-theme-anchor>section[data-v-06d0cd43]{display:flex;flex-wrap:wrap;align-items:center;padding:5px}.add-map-theme[data-v-06d0cd43]{border-top:2px solid;margin:5px 0}.add-map-theme-input[data-v-06d0cd43]{width:100%}#g3w-catalog-views[data-v-06d0cd43]{display:none;padding:0}#g3w-catalog-views.menu-open[data-v-06d0cd43]{display:block}.current_map_theme[data-v-06d0cd43]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.choose_map_theme[data-v-06d0cd43]{color:#ccc!important;font-weight:700}.project_map_theme[data-v-06d0cd43]{font-weight:700;padding:3px;border-bottom:1px solid #fff}.user_map_theme[data-v-06d0cd43]{font-weight:700;padding:5px 3px;display:flex;justify-content:space-between;align-self:baseline;border-bottom:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputText = require(\"./InputText.vue\");\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _gui = require(\"services/gui\");\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require(\"utils/XHR\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar LAYERSTREES_ATTRIBUTES = {\n node: ['id', 'name', 'visible', 'expanded'],\n group: ['name', 'checked', 'expanded', 'mutually-exclusive']\n};\n\nexports.default = {\n\n name: \"changemapthemes\",\n\n components: {\n InputText: _InputText2.default\n },\n\n props: {\n\n map_themes: {\n type: Object,\n default: { project: [], custom: [] }\n },\n\n layerstrees: {\n type: Array\n }\n\n },\n\n data: function data() {\n var theme = Object.values(this.map_themes).flat().find(function (mt) {\n return mt.default;\n });\n return {\n active_theme: theme && theme.theme || null,\n collapsed: 'collapsed' === _application2.default.project.state.toc_themes_init_status,\n\n custom_theme: {\n name: 'add-user-theme',\n label: 'sdk.catalog.choose_map_theme_input_label',\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n\n validate: {\n valid: false,\n required: true,\n error: 'sdk.catalog.invalid_map_theme_name'\n }\n },\n\n show_form: false\n };\n },\n\n\n methods: {\n toggle: function toggle() {\n if (!this.show_form) {\n document.getElementById('g3w-catalog-views').classList.toggle('menu-open');\n this.collapsed = !this.collapsed;\n }\n },\n _getMapThemeParams: function _getMapThemeParams() {\n var params = { layerstree: [], styles: {} };\n var treeItem = function treeItem(type, node) {\n return LAYERSTREES_ATTRIBUTES[type].reduce(function (acc, attr) {\n acc[attr] = node[attr];return acc;\n }, {});\n };\n var traverse = function traverse(nodes, tree) {\n nodes.forEach(function (node) {\n if (undefined !== node.id) {\n params.styles[node.id] = node.styles.find(function (s) {\n return s.current;\n }).name;\n tree.push(treeItem('node', node));\n }\n\n if (Array.isArray(node.nodes)) {\n var group = treeItem('group', node);\n group.nodes = [];\n tree.push(group);\n traverse(node.nodes, group.nodes);\n }\n });\n };\n\n traverse(this.layerstrees[0].tree[0].nodes, params.layerstree);\n\n return params;\n },\n saveTheme: function () {\n var _ref = _asyncToGenerator(function* () {\n var theme = this.custom_theme.value;\n\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n var saved = yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n if (saved.result) {\n this.map_themes.custom.push({ theme: this.custom_theme.value, styles: params.styles });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.saved_map_theme', autoclose: true });\n\n this.show_form = false;\n\n this.active_theme = this.custom_theme.value;\n\n yield this.$nextTick();\n\n this.custom_theme.value = null;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function saveTheme() {\n return _ref.apply(this, arguments);\n }\n\n return saveTheme;\n }(),\n updateTheme: function () {\n var _ref2 = _asyncToGenerator(function* (theme) {\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n var c_theme = this.map_themes.custom.find(function (mt) {\n return theme === mt.theme;\n });\n c_theme.styles = params.styles;\n c_theme.layerstree = params.layerstree;\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.updated_map_theme', autoclose: true });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function updateTheme(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return updateTheme;\n }(),\n deleteTheme: function deleteTheme(theme) {\n var _this = this;\n\n _gui2.default.dialog.confirm(t('sdk.catalog.question_delete_map_theme'), function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (!bool || !theme) {\n return;\n }\n try {\n var deleted = yield _XHR.XHR.delete({ url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\" });\n if (deleted.result) {\n _this.map_themes.custom = _this.map_themes.custom.filter(function (_ref4) {\n var t = _ref4.theme;\n return t !== theme;\n });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.delete_map_theme', autoclose: true });\n\n if (theme === _this.active_theme) {\n _this.active_theme = null;\n }\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n }\n },\n\n watch: {\n\n 'active_theme': {\n immediate: false,\n handler: function handler(map_theme) {\n if (null === map_theme || map_theme === this.custom_theme.value) {\n return;\n }\n this.$emit('change-map-theme', map_theme);\n }\n },\n\n 'custom_theme.value': function custom_themeValue(name) {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.custom_theme.validate.valid = name ? !_this2.map_themes.custom.find(function (_ref5) {\n var theme = _ref5.theme;\n return theme === name.trim();\n }) : false;\n }, 200);\n },\n show_form: function () {\n var _ref6 = _asyncToGenerator(function* (bool) {\n this.custom_theme.value = null;\n\n if (bool) {\n yield this.$nextTick();\n Array.from(this.$refs.add_map_theme_input.$el.children).forEach(function (child) {\n return child.classList.remove('col-sm-12');\n });\n }\n });\n\n function show_form(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return show_form;\n }()\n },\n\n created: function created() {\n this.logged = undefined !== _application2.default.user.id;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sidebar-menu\"},[_c('li',{staticClass:\"treeview sidebaritem skin-border-color\",attrs:{\"id\":\"g3w-catalog-toc-views\"}},[_c('a',{staticClass:\"g3w-map-theme-anchor\",attrs:{\"href\":\"#\"}},[_c('section',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_c('i',{class:_vm.$fa(_vm.collapsed ? 'caret-down' : 'caret-up'),staticStyle:{\"padding\":\"3px\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.collapsed ? 'eye-close' : 'eye'),staticStyle:{\"padding\":\"0 0 0 4px\"}}),_vm._v(\" \"),(_vm.active_theme)?_c('span',{staticClass:\"current_map_theme treeview-label g3w-long-text\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.catalog.current_map_theme_prefix'),expression:\"'sdk.catalog.current_map_theme_prefix'\",arg:\"pre\"}],staticStyle:{\"color\":\"#ccc !important\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\",staticStyle:{\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.active_theme))])]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.choose_map_theme'),expression:\"'sdk.catalog.choose_map_theme'\"}],staticClass:\"choose_map_theme treeview-label\"})])]),_vm._v(\" \"),(_vm.show_form)?_c('div',{staticClass:\"add-map-theme skin-border-color\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\",\"padding-top\":\"5px\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"2px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = false}}})]),_vm._v(\" \"),_c('div',{staticClass:\"container add-map-theme-input\"},[_c('input-text',{ref:\"add_map_theme_input\",attrs:{\"state\":_vm.custom_theme}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.custom_theme.validate.valid),expression:\"!custom_theme.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveTheme($event)}}})])]):_c('ul',{class:{'menu-open': !_vm.collapsed},attrs:{\"id\":\"g3w-catalog-views\"}},[((_vm.map_themes.project || []).length > 0)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-project\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.project_map_theme'),expression:\"'sdk.catalog.project_map_theme'\"}],staticClass:\"project_map_theme\"})]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.project),function(map_theme,i){return _c('div',{key:map_theme.theme},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i)},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"for\":(\"g3w-map_theme-\" + i)}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])])}),0)])]):_vm._e(),_vm._v(\" \"),(_vm.logged)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-user\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{staticClass:\"user_map_theme\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.user_map_theme'),expression:\"'sdk.catalog.user_map_theme'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"margin-left\":\"auto\",\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = !_vm.show_form}}})])]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.custom),function(map_theme,i){return _c('div',{key:map_theme.theme,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i + \"-user\")},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"g3w-map_theme-\" + i + \"-user\")}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])]),_vm._v(\" \"),_c('span',{staticClass:\"g3w-custom-map-theme-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('update'),expression:\"'update'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.active_theme !== map_theme.theme),expression:\"active_theme !== map_theme.theme\"}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateTheme(map_theme.theme)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('save')})]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('cancel'),expression:\"'cancel'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteTheme(map_theme.theme)}}},[_c('i',{class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\"}})])])])}),0)])]):_vm._e()])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06d0cd43\"\n\n},{\"./InputText.vue\":80,\"g3w-i18n\":130,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183,\"vueify/lib/insert-css\":2}],39:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".catalog-context-menu{background:#fafafa;border:1px solid #bdbdbd;border-radius:3px;display:block;list-style:none;margin:0;padding:0;position:fixed;min-width:150px;z-index:2;color:#000;outline:none;display:flex;flex-direction:column}.catalog-context-menu li ul{position:absolute;width:max-content;order:1;padding-left:0;background-color:#fff;color:#000}.catalog-context-menu li:not(:hover) ul{display:none}.catalog-context-menu li{border-bottom:1px solid #e0e0e0;margin:0;padding:8px 25px 8px 15px;display:flex;flex-direction:row}.catalog-context-menu li i{padding-right:3px;margin-right:6px;color:var(--skin-d20)!important}.catalog-context-menu li .click-to-copy{color:#000;opacity:1;margin-left:1ch;margin-right:-15px;margin-top:8px}.catalog-context-menu li .click-to-copy:hover{color:#fff!important;transform:scale(1.1)}.catalog-context-menu .click-to-copy .tooltip-inner{min-width:200px}.catalog-context-menu li.title{background:transparent!important;font-size:1.1em;font-weight:700;border-bottom-width:3px!important;flex-direction:column;max-width:250px;cursor:move!important;color:#000!important}.catalog-context-menu li:last-child{border-bottom:none}.catalog-context-menu li:hover{color:#fafafa;cursor:pointer}.catalog-context-menu li .layer-menu-metadata-info{background-color:#fff;color:#000;padding:5px;max-width:200px;white-space:normal;overflow-y:auto;max-height:150px}.catalog-context-menu .tooltip-inner{word-break:break-all;font-weight:700}.catalog-context-menu .item-text{margin-left:3px}.catalog-context-menu :is(ul,li){list-style-type:none}.catalog-context-menu li.inline-submenu{display:list-item;padding:0;text-indent:100%;line-height:0;overflow:hidden}.catalog-context-menu li.inline-submenu>*{display:none}.catalog-context-menu li.inline-submenu>ul{display:block;position:relative;left:0!important;width:100%;text-indent:0;line-height:normal}.catalog-context-menu li,.catalog-context-menu li.inline-submenu>ul>li{font-weight:700}.catalog-context-menu li li{font-weight:400}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vueColor = require('vue-color');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar shpwrite = require('shp-write');\n\nfunction dragElement(menu) {\n var el = menu.querySelector('li.title');\n if (!el || menu._drag) {\n return;\n } else {\n menu._drag = true;\n }\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (menu.style.marginLeft) {\n x2 -= parseInt(menu.style.marginLeft);menu.style.marginLeft = null;\n }\n if (menu.style.marginTop) {\n y2 -= parseInt(menu.style.marginTop);menu.style.marginTop = null;\n }\n menu.style.top = menu.offsetTop - y2 + \"px\";\n menu.style.left = menu.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: 'catalog-context-menu',\n\n props: {\n external: {\n type: Object\n }\n },\n\n data: function data() {\n return {\n ApplicationState: _application2.default,\n layer: null,\n layer_style: null,\n top: 0,\n left: 0,\n project_menu: false,\n layer_menu: false\n };\n },\n\n\n computed: {\n edit_url: function edit_url() {\n return _application2.default.project.getState().edit_url;\n },\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n }\n },\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n directives: {\n 'click-outside': {\n bind: function bind(el, binding, vnode) {\n this.event = function (e) {\n if (el === e.target || el.contains(e.target)) {\n return;\n }\n e.stopPropagation();\n vnode.context[binding.expression](e);\n };\n document.body.addEventListener('click', this.event, true);\n },\n unbind: function unbind() {\n document.body.removeEventListener('click', this.event, true);\n }\n }\n },\n\n methods: {\n onShowContextMenu: function () {\n var _ref = _asyncToGenerator(function* (e, layerstree) {\n this.closeMenu();\n yield this.$nextTick();\n this.left = e.x;\n var layer = !(layerstree || {}).nodes && layerstree;\n this.layer = layer || null;\n this.layer_menu = !!layer;\n this.project_menu = !layer;\n yield this.$nextTick();\n this.top = e.target.getBoundingClientRect().top - this.$refs['menu'].clientHeight + e.target.clientHeight / 2;\n $('.click-to-copy[data-toggle=\"tooltip\"]').tooltip();\n\n [this.$refs.download_menu, this.$refs.ogc_menu].forEach(function (li) {\n return li && li.classList.toggle('inline-submenu', 1 === li.querySelector('ul').children.length);\n });\n dragElement(this.$refs.menu);\n });\n\n function onShowContextMenu(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return onShowContextMenu;\n }(),\n closeMenu: function closeMenu() {\n this.layer_menu = false;\n this.project_menu = false;\n },\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n this.$refs.layer_color.style.backgroundColor = val.hex;\n var layer = _gui2.default.getService('map').getLayerByName(this.layer.name || '');\n var style = layer.getStyle();\n style._g3w_options.color = val;\n layer.setStyle(style);\n },\n canShowWmsUrl: function canShowWmsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && !!layer.getFullWmsUrl();\n },\n canShowWfsUrl: function canShowWfsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && layer.isWfsActive();\n },\n canDownload: function canDownload(format, layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && layer['is' + format + 'Downloadable']();\n },\n getWmsUrl: function getWmsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWmsUrl();\n },\n getWfsUrl: function getWfsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfsUrl();\n },\n getWfs3Url: function getWfs3Url(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfs3Url();\n },\n copyUrl: function copyUrl(format, el) {\n var _this = this;\n\n var url = this['get' + format + 'Url'](this.layer.id);\n var a = document.createElement('a');\n var input = document.createElement('input');\n a.href = url;\n input.value = a.href;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"copy\");\n $(el).attr('data-original-title', t('sdk.catalog.menu.wms.copied')).tooltip('show');\n $(el).attr('title', this.copywmsurltooltip).tooltip('fixTitle');\n input.remove();\n a.remove();\n setTimeout(function () {\n $('[data-toggle=\"tooltip\"]').tooltip(\"destroy\");\n _this.closeMenu();\n }, 600);\n },\n download: function () {\n var _ref2 = _asyncToGenerator(function* (format, layerId) {\n var map_extent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _application2.default.download = true;\n try {\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId)['get' + format]({\n data: map_extent ? { map_extent: _gui2.default.getService('map').getMapExtent().toString() } : undefined\n });\n } catch (e) {\n _gui2.default.notify.error(t(\"info.server_error\"));\n }\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function download(_x4, _x5) {\n return _ref2.apply(this, arguments);\n }\n\n return download;\n }(),\n downloadExternal: function downloadExternal(url) {\n _application2.default.download = true;\n (0, _downloadFile.downloadFile)({ url: url });\n _application2.default.download = false;\n },\n setLayerPosition: function setLayerPosition(position) {\n if (position !== this.layer.position) {\n this.layer.position = position;\n var map = _gui2.default.getService('map');\n map.getLayerById(this.layer.id).setZIndex({ top: map.layersCount, bottom: 0 }[position]);\n map.emit('change-layer-position-map', { id: this.layer.id, position: position });\n this.closeMenu();\n }\n },\n zoomToLayer: function zoomToLayer(layer) {\n try {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: '' + e.message,\n textMessage: true\n });\n }\n this.closeMenu();\n },\n canEdit: function canEdit(layer) {\n return layer ? !layer.external && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).isEditable() : g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n },\n startEditing: function startEditing(layer) {\n this.closeMenu();\n var editing = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n editing.showPanel(layer ? { toolboxes: [layer.id] } : undefined);\n if (layer) {\n editing.startEditing(layer.id);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coord) {\n return coord > 0;\n });\n },\n getGeometryType: function getGeometryType(layerId) {\n var external = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = external ? _gui2.default.getService('catalog').state.external.vector.find(function (l) {\n return l.id === layerId;\n }) : (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n if (layer) {\n var type = external ? layer.geometryType : layer.config.geometrytype;\n return layer && 'NoGeometry' !== type && type || '';\n }\n return '';\n },\n downloadExternalShapefile: function () {\n var _ref3 = _asyncToGenerator(function* (layer) {\n _application2.default.download = true;\n var features = _gui2.default.getService('map').getLayerByName(layer.name).getSource().getFeatures();\n if ('EPSG:4326' !== layer.crs) {\n features = features.map(function (f) {\n var feat = f.clone();\n feat.getGeometry().transform(layer.crs, 'EPSG:4326');\n return feat;\n });\n }\n var name = layer.name.split('.' + layer.type)[0];\n shpwrite.download(new ol.format.GeoJSON().writeFeaturesObject(features, { featureProjection: 'EPSG:4326' }), {\n folder: name,\n types: {\n point: name,\n mulipoint: name,\n polygon: name,\n multipolygon: name,\n line: name,\n polyline: name,\n multiline: name\n }\n });\n yield this.$nextTick();\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function downloadExternalShapefile(_x7) {\n return _ref3.apply(this, arguments);\n }\n\n return downloadExternalShapefile;\n }(),\n showAttributeTable: function showAttributeTable(layerId) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerId).openAttributeTable();\n this.closeMenu();\n },\n showMetadata: function () {\n var _ref4 = _asyncToGenerator(function* (layerId) {\n this.closeMenu();\n $('#modal-metadata').modal('show');\n if (layerId) {\n setTimeout(function () {\n document.querySelector('#project-catalog [href=\"#metadata_layers\"]').click();\n document.querySelector('#metadata_layers [data-target=\"#' + layerId + '\"]').click();\n });\n }\n });\n\n function showMetadata(_x8) {\n return _ref4.apply(this, arguments);\n }\n\n return showMetadata;\n }(),\n setLayerStyle: function setLayerStyle(index) {\n var _this2 = this;\n\n var changed = false;\n this.layer.styles.forEach(function (style, i) {\n if (i === index) {\n _this2.layer_style = style.name;\n changed = !style.current;\n style.current = true;\n } else {\n style.current = false;\n }\n });\n var layer = changed && (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (layer) {\n _g3wEventbus.VM.$emit('layer-change-style', { layerId: this.layer.id, style: this.layer_style });\n layer.change();\n }\n this.closeMenu();\n },\n setLayerFilter: function () {\n var _ref5 = _asyncToGenerator(function* (filter) {\n var changed = null === this.layer.filter.current || this.layer.filter.current.fid !== filter.fid;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (changed) {\n yield layer.applyFilter(filter);\n } else {\n yield layer.deleteFilterToken();\n }\n layer.change();\n this.closeMenu();\n });\n\n function setLayerFilter(_x9) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayerFilter;\n }(),\n deleteFilter: function () {\n var _ref6 = _asyncToGenerator(function* (fid) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n var change = fid === this.layer.fid;\n\n if (!layer) {\n return;\n }\n yield layer.deleteFilterToken(fid);\n if (change) {\n layer.change();\n }\n\n this.closeMenu();\n });\n\n function deleteFilter(_x10) {\n return _ref6.apply(this, arguments);\n }\n\n return deleteFilter;\n }(),\n showMenu: function () {\n var _ref7 = _asyncToGenerator(function* (e) {\n var li = e.target.closest('li');\n var ul = li && li.querySelector('ul');\n if (ul) {\n var overflowY = ul.offsetHeight + ul.getBoundingClientRect().top >= this.$refs['menu'].offsetHeight + this.$refs['menu'].getBoundingClientRect().top;\n ul.style.top = ul.offsetHeight > this.$refs['menu'].offsetHeight ? 0 : undefined;\n ul.style.left = this.$refs['menu'].offsetWidth - 2 + 'px';\n ul.style.maxHeight = this.$refs['menu'].offsetHeight + 'px';\n ul.style.bottom = overflowY ? 0 : undefined;\n ul.style.marginTop = overflowY ? undefined : '-5px';\n ul.style.overflowY = 'auto';\n }\n });\n\n function showMenu(_x11) {\n return _ref7.apply(this, arguments);\n }\n\n return showMenu;\n }(),\n canOpenAttributeTable: function canOpenAttributeTable(layer) {\n return layer.openattributetable;\n },\n isExternalLayer: function isExternalLayer(layer) {\n return !layer.projectLayer;\n },\n isExternalWMSLayer: function isExternalWMSLayer(layer) {\n return !layer.projectLayer && 'wms' === layer._type;\n },\n isExternalVectorLayer: function isExternalVectorLayer(layer) {\n return !layer.projectLayer && 'wms' !== layer._type;\n },\n canShowStylesMenu: function canShowStylesMenu(layer) {\n return layer.geolayer && layer.styles && layer.styles.length > 1;\n },\n canShowFiltersMenu: function canShowFiltersMenu(layer) {\n return layer.filters && layer.filters.length > 0;\n },\n hasMetadata: function hasMetadata(layer) {\n return layer.metadata;\n },\n canShowOpacityPicker: function canShowOpacityPicker(layer) {\n return layer.geolayer && layer.visible;\n },\n onLayerOpacity: function onLayerOpacity() {\n if (this.isExternalWMSLayer(this.layer)) {\n var layer = _gui2.default.getService('map').getLayerById(this.layer.id);\n if (layer) {\n layer.setOpacity(this.layer.opacity);\n _gui2.default.getService('map').emit('change-layer-opacity', { id: this.layer.id, opacity: this.layer.opacity });\n }\n } else {\n var _layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (_layer) {\n _g3wEventbus.VM.$emit('layer-change-opacity', { layerId: this.layer.id });\n _layer.change();\n }\n }\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n _g3wEventbus.VM.$on('context-menu', this.onShowContextMenu);\n document.addEventListener('keyup', function (e) {\n return 'Escape' === e.key && _this3.closeMenu();\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.layer_menu || _vm.project_menu)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"catalog-context-menu\",style:({\n top: _vm.top + 'px',\n left: _vm.left + 'px',\n }),attrs:{\"id\":\"layer-context-menu\",\"tabindex\":\"-1\"},on:{\"mouseover\":_vm.showMenu}},[_c('li',{staticClass:\"title\"},[(_vm.project_menu)?_c('div',[_vm._v(\"G3W-ADMIN \"+_vm._s(_vm.ApplicationState.project.getName()))]):_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.layer.title)+\"\\n \"),_c('div',{staticStyle:{\"font-weight\":\"normal\",\"font-size\":\"0.8em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getGeometryType(_vm.layer.id, _vm.layer.external))+\"\\n \")])])]),_vm._v(\" \"),(_vm.project_menu || _vm.hasMetadata(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showMetadata(_vm.layer && _vm.layer.id)}}},[_c('i',{class:_vm.$fa('info')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.metadata.title'))+\"\\n \"),(_vm.layer && _vm.layer.metadata && _vm.layer.metadata.abstract)?_c('ul',{staticStyle:{\"border-radius\":\"0 3px 3px 0\"}},[_c('li',{staticClass:\"layer-menu-metadata-info\",domProps:{\"innerHTML\":_vm._s(_vm.layer.metadata.abstract)}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.canEdit(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.startEditing(_vm.layer)}}},[_c('i',{class:_vm.$fa('pencil')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.layer_menu)?[(_vm.canZoom(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.zoomToLayer(_vm.layer)}}},[_c('i',{class:_vm.$fa('search')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.zoomtolayer'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canOpenAttributeTable(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showAttributeTable(_vm.layer.id)}}},[_c('i',{class:_vm.$fa('list')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.open_attribute_table'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('sort')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('layer_position.message'))+\" (\"+_vm._s(_vm.$t('layer_position.' + _vm.layer.position))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((['top', 'bottom']),function(position){return _c('li',{staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){return _vm.setLayerPosition(position)}}},[(position === _vm.layer.position)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.' + position),expression:\"'layer_position.' + position\"}]})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowStylesMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('palette')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.styles'))+\" (\"+_vm._s(_vm.layer.styles.find(function (s) { return s.current; }).name.toLowerCase())+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.styles),function(style,i){return _c('li',{key:style.name,staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerStyle(i)}}},[(style.current)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.8em\"}}):_vm._e(),_vm._v(\"\\n \"+_vm._s(style.name + (_vm.layer.styles.length > 1 && style.name === _vm.layer.defaultstyle ? (\" (\" + (_vm.$t('default')) + \")\") : ''))+\"\\n \")])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowOpacityPicker(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s((_vm.layer.opacity / 100))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(0)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalWMSLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s(_vm.layer.opacity)+\")\\n \"),_c('span',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(1)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('tint')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.vector_color_menu'))+\"\\n \"),_c('i',{ref:\"layer_color\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"border-radius\":\"10px\",\"position\":\"absolute\",\"right\":\"20px\",\"margin-top\":\"4px\"},style:({ backgroundColor: _vm.layer.color })}),_vm._v(\" \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"padding\":\"14px\",\"background-color\":\"#E0E0E0\"}},[_c('chrome-picker',{ref:\"color_picker\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();},\"hook:beforeDestroy\":function () { return _vm.$refs.color_picker.$off(); },\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}})],1)])]):_vm._e(),_vm._v(\" \"),(_vm.canShowFiltersMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('filter')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.filters'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.filters),function(filter){return _c('li',{key:filter.fid,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerFilter(filter)}}},[(_vm.layer.filter.current && _vm.layer.filter.current.fid === filter.fid)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\",\"justify-self\":\"flex-start\"}}):_vm._e(),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_vm._v(_vm._s(filter.name))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-border-color\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"right\":\"0\",\"padding-left\":\"10px\",\"border-left\":\"2px solid\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFilter(filter.fid)}}})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('', _vm.layer.id) || _vm.isExternalVectorLayer(_vm.layer))?_c('li',{ref:\"download_menu\",attrs:{\"disabled\":_vm.ApplicationState.download}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.download'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.ApplicationState.download}}),_vm._v(\" \"),_c('ul',[(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('geotiff')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoTiff'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id, true)}}},[_c('i',{class:_vm.$fa('geotiff'),staticStyle:{\"color\":\"#777\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('crop'),staticStyle:{\"position\":\"absolute\",\"left\":\"-7px\",\"bottom\":\"8px\",\"font-size\":\"1.2em\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('sdk.catalog.menu.download.geotiff_map_extent'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Shp', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Shp', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpx', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpx', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpx')}),_vm._v(\" \"+_vm._s(_vm.$t('GPX'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpkg', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpkg', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpkg')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoPackage'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Csv', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Csv', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('csv')}),_vm._v(\" \"+_vm._s(_vm.$t('CSV'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Xls', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Xls', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('xls')}),_vm._v(\" \"+_vm._s(_vm.$t('Excel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && _vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternal(_vm.layer.downloadUrl)}}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.catalog.menu.download.unknow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && !_vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternalShapefile(_vm.layer)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),([\n this.canShowWmsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id)\n ].filter(Boolean).length)?_c('li',{ref:\"ogc_menu\"},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.ogc_services'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[(_vm.canShowWmsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wms', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWmsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WMS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWmsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs3', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfs3Url(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS 3\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfs3Url(_vm.layer.id)}})]):_vm._e()])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.layers_url && _vm.layer_menu && !_vm.isExternalLayer(_vm.layer))?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Layers settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.edit_url && _vm.project_menu)?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.edit_url,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeMenu($event)}}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Project settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"75\"}},[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"1\")])])},function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',[_vm._v(\"1\")])])}]\n\n},{\"g3w-eventbus\":128,\"g3w-i18n\":130,\"services/gui\":175,\"shp-write\":\"shp-write\",\"store/application\":180,\"utils/downloadFile\":202,\"utils/getCatalogLayerById\":205,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],40:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".layer-legend[data-v-fc3d03ea]{padding-left:36px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"catalog-layer-legend\",\n props: {\n legendplace: {\n type: String\n },\n layer: {\n type: Object\n }\n },\n data: function data() {\n return {\n loading: false,\n\n categories: [],\n\n currentstyle: this.layer.styles.find(function (style) {\n return true === style.current;\n }).name\n\n };\n },\n\n mixins: [_click2.default],\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layer.featurecount;\n },\n externallegend: function externallegend() {\n return 'wms' === this.layer.source.type;\n },\n legend: function legend() {\n return this.layer.legend;\n },\n show: function show() {\n return this.layer.expanded && this.layer.visible && ('toc' === this.legendplace || 'tab' === this.legendplace && this.layer.categories);\n }\n },\n\n methods: {\n onCategoryClick: function onCategoryClick() {\n this.handleClick({\n '1': function _() {\n console.info('TODO: select category (single click)');\n },\n '2': function _() {\n console.info('TODO: zoom to category (double click)');\n }\n }, this);\n },\n showCategoryMenu: function showCategoryMenu() {\n this.$emit('showmenucategory');\n },\n getWmsSourceLayerLegendUrl: function getWmsSourceLayerLegendUrl() {\n return this.getProjectLayer().getLegendUrl({\n width: 16,\n height: 16\n });\n },\n getProjectLayer: function getProjectLayer() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n isDisabled: function isDisabled(index) {\n return this.categories[index].disabled;\n },\n showHideLayerCategory: function showHideLayerCategory(index) {\n this.categories[index].checked = !this.categories[index].checked;\n this.getProjectLayer().change();\n if ('tab' === this.legendplace) {\n this.layer.legend.change = true;\n } else if (this.categories[index].checked && this.mapReady) {\n this.setLayerCategories(false);\n }\n },\n setError: function setError() {\n this.legend.error = true;\n this.legend.loading = false;\n },\n urlLoaded: function () {\n var _ref = _asyncToGenerator(function* () {\n this.legend.loading = false;\n });\n\n function urlLoaded() {\n return _ref.apply(this, arguments);\n }\n\n return urlLoaded;\n }(),\n onChangeLayerLegendStyle: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.loading = true;\n\n if (this.externallegend) {\n return;\n }\n\n try {\n if (undefined !== options.style && options.layerId === this.layer.id) {\n yield this.setLayerCategories(true);\n yield this.getProjectLayer().getStyleFeatureCount(options.style);\n this.currentstyle = options.style;\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n }\n }\n } catch (e) {\n console.warn('Error while changing layer style', e);\n }\n\n this.loading = false;\n });\n\n function onChangeLayerLegendStyle() {\n return _ref2.apply(this, arguments);\n }\n\n return onChangeLayerLegendStyle;\n }(),\n setLayerCategories: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var all = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n var projectLayer = this.getProjectLayer();\n var categories = projectLayer.getCategories();\n\n if (all && categories) {\n this.categories = categories;\n } else {\n var _ref4 = yield projectLayer.getLegendGraphic({ all: all }),\n _ref4$nodes = _ref4.nodes,\n nodes = _ref4$nodes === undefined ? [] : _ref4$nodes;\n\n if (all) {\n this._setAllLayerCategories(nodes);\n } else {\n this._updateLayerCategories(nodes, categories);\n }\n }\n } catch (err) {\n this.setError();\n }\n });\n\n function setLayerCategories() {\n return _ref3.apply(this, arguments);\n }\n\n return setLayerCategories;\n }(),\n _setAllLayerCategories: function _setAllLayerCategories(nodes) {\n var projectLayer = this.getProjectLayer();\n\n var categories = [];\n nodes.forEach(function (_ref5) {\n var icon = _ref5.icon,\n title = _ref5.title,\n ruleKey = _ref5.ruleKey,\n checked = _ref5.checked,\n _ref5$symbols = _ref5.symbols,\n symbols = _ref5$symbols === undefined ? [] : _ref5$symbols;\n\n if (icon) {\n categories.push({ icon: icon, title: title, ruleKey: ruleKey, checked: checked, disabled: false });\n } else {\n symbols.forEach(function (symbol) {\n symbol._checked = symbol.checked;\n symbol.disabled = false;\n categories.push(symbol);\n });\n }\n });\n projectLayer.setCategories(categories);\n this.categories = categories;\n },\n _updateLayerCategories: function _updateLayerCategories(nodes, categories) {\n var projectLayer = this.getProjectLayer();\n\n projectLayer.setCategories(categories);\n this.categories = categories;\n\n if (nodes.length) {\n nodes.forEach(function (_ref6) {\n var icon = _ref6.icon,\n title = _ref6.title,\n _ref6$symbols = _ref6.symbols,\n symbols = _ref6$symbols === undefined ? [] : _ref6$symbols;\n\n if (icon) {\n symbols = [{ icon: icon, title: title }];\n }\n categories.forEach(function (category) {\n var findSymbol = symbols.find(function (symbol) {\n return symbol.icon === category.icon && symbol.title === category.title;\n });\n var disabled = undefined !== category.checked ? category.checked : true;\n category.disabled = disabled && undefined === findSymbol;\n });\n });\n } else {\n categories.forEach(function (category) {\n return category.disabled = undefined !== category.checked ? category.checked : true;\n });\n }\n },\n onChangeMapLegendParams: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.mapReady = true;\n if (this.layer.visible && false === this.externallegend && ('toc' === this.legendplace || this.layer.categories)) {\n this.setLayerCategories(false);\n }\n });\n\n function onChangeMapLegendParams() {\n return _ref7.apply(this, arguments);\n }\n\n return onChangeMapLegendParams;\n }(),\n runInitLayerVisibleAction: function () {\n var _ref8 = _asyncToGenerator(function* () {\n yield this.setLayerCategories(true);\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n _gui2.default.getService('map').on('change-map-legend-params', this.onChangeMapLegendParams);\n }\n this.initialize = true;\n });\n\n function runInitLayerVisibleAction() {\n return _ref8.apply(this, arguments);\n }\n\n return runInitLayerVisibleAction;\n }()\n },\n\n watch: {\n 'layer.visible': function () {\n var _ref9 = _asyncToGenerator(function* (visible) {\n var enabled = visible && false === this.externallegend;\n\n if (enabled && false === this.initialize) {\n yield this.runInitLayerVisibleAction();\n }\n\n if (enabled && false !== this.initialize) {\n yield this.setLayerCategories(!this.dynamic);\n }\n });\n\n function layerVisible(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return layerVisible;\n }()\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n this.initialize = false;\n\n this.dynamic = _application2.default.project.state.context_base_legend;\n\n this.mapReady = false;\n\n _g3wEventbus.VM.$on('layer-change-style', this.onChangeLayerLegendStyle);\n\n if (false === this.externallegend && true === this.layer.visible) {\n yield this.runInitLayerVisibleAction();\n }\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n _g3wEventbus.VM.$off('layer-change-style', this.onChangeLayerLegendStyle);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"layer-legend\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.legend)?_c('bar-loader',{attrs:{\"loading\":_vm.legend.loading}}):_vm._e(),_vm._v(\" \"),(_vm.externallegend)?_c('figure',[_c('img',{attrs:{\"src\":_vm.getWmsSourceLayerLegendUrl()}})]):_c('figure',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(category.disabled),expression:\"category.disabled\"}],staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"},on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showCategoryMenu($event)}}},[(category.ruleKey)?_c('span',{class:_vm.$fa(category.checked ? 'check': 'uncheck'),staticStyle:{\"padding-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showHideLayerCategory(index)}}}):_vm._e(),_vm._v(\" \"),(('toc' === _vm.legendplace))?_c('img',{attrs:{\"src\":category.icon && (\"data:image/png;base64,\" + (category.icon))},on:{\"error\":function($event){return _vm.setError()},\"load\":function($event){return _vm.urlLoaded()}}}):_vm._e(),_vm._v(\" \"),(('tab' === _vm.legendplace && category.ruleKey) || ('toc' === _vm.legendplace))?_c('span',{staticClass:\"g3w-long-text\",staticStyle:{\"padding-left\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCategoryClick($event)}}},[_c('span',[_vm._v(_vm._s(category.title))]),_vm._v(\" \"),(_vm.showfeaturecount && 'undefined' !== typeof category.ruleKey)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.layer.stylesfeaturecount[_vm.currentstyle][category.ruleKey])+\"]\\n \")]):_vm._e()]):_vm._e()])})],2)],1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-fc3d03ea\"\n\n},{\"g3w-eventbus\":128,\"mixins/click\":163,\"services/gui\":175,\"store/application\":180,\"utils/getCatalogLayerById\":205,\"vueify/lib/insert-css\":2}],41:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _CatalogLayerLegend = require('components/CatalogLayerLegend.vue');\n\nvar _CatalogLayerLegend2 = _interopRequireDefault(_CatalogLayerLegend);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _setAllLayersVisible(layers) {\n layers.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: layers.visible && n.checked });\n } else if (n.parentGroup.checked && n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(layers.visible);\n }\n });\n};\n\nexports.default = {\n name: 'catalog-tristate-tree',\n\n props: ['layerstree', 'storeid', 'legend', 'legendplace', 'parent_mutually_exclusive', 'parentFolder', 'externallayers', 'root', 'parent'],\n\n components: {\n CatalogLayerLegend: _CatalogLayerLegend2.default\n },\n\n mixins: [_click2.default],\n\n data: function data() {\n return {\n expanded: this.layerstree.expanded,\n isGroupChecked: true,\n controltoggled: false,\n n_childs: null,\n filtered: false,\n logged: undefined !== _application2.default.user.id };\n },\n\n\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layerstree.featurecount;\n },\n showLegendLayer: function showLegendLayer() {\n return !this.layerstree.exclude_from_legend;\n },\n showLayerTocLegend: function showLayerTocLegend() {\n return !this.isGroup && this.showLegendLayer && this.layerstree.geolayer;\n },\n isGroup: function isGroup() {\n return !!this.layerstree.nodes;\n },\n legendlayerposition: function legendlayerposition() {\n return this.showLegendLayer && this.layerstree.legend ? this.legendplace : 'tab';\n },\n showscalevisibilityclass: function showscalevisibilityclass() {\n return !this.isGroup && this.layerstree.scalebasedvisibility;\n },\n showScaleVisibilityToolip: function showScaleVisibilityToolip() {\n return this.showscalevisibilityclass && this.layerstree.disabled && this.layerstree.checked;\n },\n isTable: function isTable() {\n return !this.isGroup && !this.layerstree.geolayer && !this.layerstree.external;\n },\n isHidden: function isHidden() {\n return this.layerstree.hidden && true === this.layerstree.hidden;\n },\n selected: function selected() {\n this.layerstree.selected = this.layerstree.disabled && this.layerstree.selected ? false : this.layerstree.selected;\n },\n isHighLight: function isHighLight() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id) || this.layerstree;\n return layer && _application2.default.highlightlayers && layer.isVisible() && layer.getTocHighlightable();\n },\n isInGrey: function isInGrey() {\n return !this.isGroup && !this.isTable && !this.layerstree.external && (!this.layerstree.visible || this.layerstree.disabled);\n },\n getFeatureCount: function getFeatureCount() {\n return Object.values(this.layerstree.featurecount).reduce(function (total, categoryFeatureCount) {\n return total + 1 * categoryFeatureCount;\n }, 0);\n }\n },\n\n watch: {\n 'layerstree.checked': function layerstreeChecked() {\n if (this.isGroup) {\n this.handleGroupChecked(this.layerstree);\n } else {\n this.handleLayerChecked(this.layerstree);\n }\n }\n },\n\n methods: {\n removeCurrentFilter: function removeCurrentFilter() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id).deleteFilterToken();\n },\n handleGroupChecked: function handleGroupChecked(group) {\n\n if (!group.checked) {\n group.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: false });\n } else if (n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(false);\n }\n });\n return;\n }\n\n var visible = group.parentGroup ? group.parentGroup.checked : true;\n var mutually_exclusive = group.parentGroup && group.parentGroup.mutually_exclusive;\n\n if (!mutually_exclusive) {\n _setAllLayersVisible({ nodes: group.nodes, visible: visible });\n }\n\n if (mutually_exclusive) {\n group.parentGroup.nodes.forEach(function (n) {\n n.checked = n.groupId === group.groupId;\n if (n.checked) {\n _setAllLayersVisible({ nodes: n.nodes, visible: visible });\n }\n });\n }\n\n var g = group.parentGroup;\n while (g) {\n g.checked = g.root || g.checked;\n g = g.parentGroup;\n }\n },\n handleLayerChecked: function handleLayerChecked(layer) {\n\n var map = _gui2.default.getService('map');\n\n if (!layer.projectLayer) {\n layer.visible = layer.checked;\n layer.setVisible(layer.checked);\n map.emit('change-layer-visibility', { id: layer.id, visible: layer.checked });\n return;\n }\n\n var qlayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var checked = layer.checked;\n\n qlayer.setVisible(checked ? !layer.disabled : false);\n\n if (checked && layer.parentGroup.mutually_exclusive) {\n layer.parentGroup.nodes.forEach(function (n) {\n return n.checked = n.id === layer.id;\n });\n }\n\n var g = layer.parentGroup;\n while (checked && g) {\n g.checked = true;\n g = g.parentGroup;\n }\n\n _g3wEventbus.VM.$emit('treenodevisible', qlayer);\n },\n saveFilter: function saveFilter(layerstree) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerstree.id).saveFilter();\n },\n toggleFilterLayer: function toggleFilterLayer() {\n _g3wEventbus.VM.$emit('activefiltertokenlayer', this.storeid, this.layerstree);\n },\n clearSelection: function clearSelection() {\n _g3wEventbus.VM.$emit('unselectionlayer', this.storeid, this.layerstree);\n },\n toggle: function toggle() {\n this.layerstree.checked = !this.layerstree.checked;\n },\n expandCollapse: function expandCollapse() {\n this.layerstree.expanded = !this.layerstree.expanded;\n },\n select: function select() {\n if (undefined !== this.layerstree.selected && (!this.isGroup && !this.isTable || this.layerstree.external && false === this.layerstree.projectLayer)) {\n _g3wEventbus.VM.$emit('treenodeselected', this.layerstree);\n }\n },\n maybeZoomToLayer: function maybeZoomToLayer(layer) {\n if (this.canZoom(this.layerstree)) {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coordinate) {\n return coordinate > 0;\n });\n },\n onTreeItemClick: function onTreeItemClick() {\n var _this = this;\n\n this.handleClick({\n '1': function _() {\n return !_this.isTable && !_this.isGroup && _this.select();\n },\n '2': function _() {\n return !_this.isTable && _this.maybeZoomToLayer(_this.layerstree);\n }\n }, this);\n },\n triClass: function triClass() {\n return this.g3wtemplate.getFontClass(this.layerstree.checked ? 'check' : 'uncheck');\n },\n downloadExternalLayer: function downloadExternalLayer(download) {\n if (download.file) {\n (0, _downloadFile.downloadFile)(download.file);\n } else if (download.url) {}\n },\n removeExternalLayer: function removeExternalLayer(name) {\n _gui2.default.getService('map').removeExternalLayer(name);\n },\n showContextMenu: function showContextMenu(evt) {\n _g3wEventbus.VM.$emit('context-menu', evt, this.layerstree);\n }\n },\n\n created: function created() {\n if (this.isGroup && !this.layerstree.checked) {\n this.handleGroupChecked(this.layerstree);\n }\n if (this.isGroup && !this.root && this.parent_mutually_exclusive && !this.layerstree.mutually_exclusive) {\n this.layerstree.nodes.forEach(function (node) {\n node.id && (node.uncheckable = true);\n });\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('span.scalevisibility, a.toggle-context-menu').tooltip();\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGroup || !_vm.layerstree.projectLayer || _vm.layerstree.toc)?_c('li',{staticClass:\"tree-item\",class:{\n selected: !_vm.isGroup || !_vm.isTable ? _vm.layerstree.selected : false,\n itemmarginbottom: !_vm.isGroup,\n disabled: _vm.isInGrey,\n group: _vm.isGroup\n },style:({\n marginLeft: !_vm.isGroup ? '5px' : '0',\n position: 'relative',\n }),on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)},\"click\":function($event){$event.stopPropagation();return _vm.onTreeItemClick($event)}}},[(_vm.isGroup)?_c('span',{staticClass:\"root collapse-expande-collapse-icon\",class:[\n { bold : _vm.isGroup },\n _vm.g3wtemplate.getFontClass(_vm.layerstree.expanded ? 'caret-down' : 'caret-right')\n ],staticStyle:{\"padding-right\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{class:[_vm.triClass()],staticStyle:{\"color\":\"#ffffff\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}}):(_vm.isTable)?_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],class:[\n _vm.parentFolder ? 'child' : 'root',\n _vm.g3wtemplate.getFontClass('table')\n ],staticStyle:{\"padding-left\":\"18px\"}}):[(_vm.layerstree.external && _vm.layerstree.removable)?_c('span',{class:_vm.g3wtemplate.getFontClass('trash'),staticStyle:{\"color\":\"red\",\"padding-left\":\"1px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeExternalLayer(_vm.layerstree.name, _vm.layerstree._type)}}}):_vm._e(),_vm._v(\" \"),(_vm.layerstree.external && _vm.layerstree.download)?_c('span',{class:_vm.g3wtemplate.getFontClass('download'),staticStyle:{\"color\":\"#ffffff\",\"margin-left\":\"5px\"},on:{\"click\":function($event){return _vm.downloadExternalLayer(_vm.layerstree.download)}}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],staticClass:\"checkbox-layer\",class:_vm.parentFolder ? 'child' : 'root'},[('toc' === _vm.legendlayerposition || !_vm.isGroup && _vm.layerstree.categories)?_c('span',{staticClass:\"collapse-expande-collapse-icon\",class:_vm.g3wtemplate.getFontClass(_vm.layerstree.visible && _vm.layerstree.expanded ? 'caret-down' : 'caret-right'),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{class:[\n _vm.g3wtemplate.getFontClass(_vm.layerstree.checked ? 'check': 'uncheck'),\n { 'toc-added-external-layer': (!_vm.layerstree.legend && _vm.layerstree.external) }\n ],style:({\n paddingLeft: ('toc' === _vm.legendlayerposition)\n ? '5px'\n : !_vm.isGroup && _vm.layerstree.categories\n ? '5px'\n : (!_vm.layerstree.legend && _vm.layerstree.external)\n ? '1px'\n : '18px'\n }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}})])],_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden || _vm.isGroup),expression:\"!layerstree.hidden || isGroup\"}],staticClass:\"tree-node-title\",class:{\n disabled: !_vm.layerstree.external && (_vm.layerstree.disabled || (_vm.layerstree.id && !_vm.layerstree.visible)),\n bold: _vm.isGroup\n }},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.text\",value:(_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale:\" + (_vm.layerstree.maxscale)) : ''),expression:\"showScaleVisibilityToolip ? `minscale:${layerstree.minscale} - maxscale:${layerstree.maxscale}` : ''\",modifiers:{\"text\":true}}],staticClass:\"skin-tooltip-top g3w-long-text\",class:{\n highlightlayer: _vm.isHighLight,\n scalevisibility: _vm.showscalevisibilityclass\n },attrs:{\"data-placement\":\"top\",\"current-tooltip\":_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale: \" + (_vm.layerstree.maxscale)) : ''}},[(!_vm.isGroup && !_vm.layerstree.external && null !== _vm.layerstree.filter.current)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create.text\",value:(_vm.layerstree.filter.current.name),expression:\"layerstree.filter.current.name\",arg:\"top\",modifiers:{\"create\":true,\"text\":true}}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"current-tooltip\":_vm.layerstree.filter.current.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeCurrentFilter($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('filter'),staticStyle:{\"color\":\"red\"}})]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.layerstree.title))]),_vm._v(\" \"),(!_vm.isGroup && _vm.showfeaturecount)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.getFeatureCount)+\"]\\n \")]):_vm._e()]),_vm._v(\" \"),((!_vm.isGroup && _vm.layerstree.selection))?_c('div',[(_vm.layerstree.selection.active)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('clear'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.clearSelection($event)}}}):_vm._e(),_vm._v(\" \"),(!_vm.layerstree.external && (_vm.layerstree.selection.active || _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:[\n _vm.g3wtemplate.getFontClass('filter'),\n _vm.layerstree.filter.active ? 'active' : '' ],attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterLayer($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.logged && !_vm.layerstree.external && (_vm.layerstree.selection.active && _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('save'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.saveFilter(_vm.layerstree)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.showLayerTocLegend)?_c('catalog-layer-legend',{attrs:{\"legendplace\":_vm.legendplace,\"layer\":_vm.layerstree}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerstree.expanded),expression:\"layerstree.expanded\"}],staticClass:\"tree-content-items group\",class:[(\"g3w-lendplace-\" + _vm.legendplace)]},_vm._l((_vm.layerstree.nodes),function(_layerstree){return _c('span',{key:_layerstree.id || _layerstree.groupId},[_c('catalog-tristate-tree',{attrs:{\"root\":false,\"legendConfig\":_vm.legend,\"legendplace\":_vm.legendplace,\"parentFolder\":_vm.isGroup,\"layerstree\":_layerstree,\"storeid\":_vm.storeid,\"parent\":_vm.layerstree,\"parent_mutually_exclusive\":!!_vm.layerstree.mutually_exclusive}})],1)}),0):_vm._e(),_vm._v(\" \"),(!_vm.isGroup)?_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.helptext'),expression:\"'catalog_items.helptext'\",arg:\"left\",modifiers:{\"create\":true}}],class:'toggle-context-menu ' + _vm.$fa('ellips-v'),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)}}}):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"components/CatalogLayerLegend.vue\":40,\"g3w-eventbus\":128,\"mixins/click\":163,\"services/gui\":175,\"store/application\":180,\"utils/downloadFile\":202,\"utils/getCatalogLayerById\":205}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-4c2f2554]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-4c2f2554]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-4c2f2554]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-4c2f2554]:hover{opacity:1}.menu-item-image img[data-v-4c2f2554]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-4c2f2554]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-4c2f2554]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-4c2f2554]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar get_macro = function () {\n var _ref = _asyncToGenerator(function* (id) {\n get_macro[id] = get_macro[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/') }));\n return get_macro[id];\n });\n\n return function get_macro(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar get_group = function () {\n var _ref2 = _asyncToGenerator(function* (id) {\n get_group[id] = get_group[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/projects/') }));\n return get_group[id];\n });\n\n return function get_group(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _XHR = require('utils/XHR');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar LOGO_GIS3W = 'images/logo_gis3w_156_85.png';\n\nexports.default = {\n name: 'change-map',\n\n data: function data() {\n return {\n state: null,\n\n loading: false,\n\n current: 'projects',\n\n items: [],\n\n parent: null,\n\n steps: [],\n\n curr_group: null\n\n };\n },\n\n\n methods: {\n back: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var last_step = this.steps.pop();\n var has_steps = this.steps.length > 0;\n var item = has_steps && this.steps[this.steps.length - 1];\n if (has_steps && undefined !== item.macrogroup_id || !has_steps && undefined === last_step && Array.isArray(this.parent.macrogroup_id) && this.parent.macrogroup_id.length > 0) {\n var macrogroup_id = has_steps ? item.macrogroup_id : this.parent.macrogroup_id;\n var add = !has_steps;\n return this.showMacroGroups(macrogroup_id, add);\n }\n\n if (has_steps && undefined === item.macrogroup_id) {\n return this.showGroups(item, false);\n }\n\n if (!has_steps) {\n return this.showRoot();\n }\n });\n\n function back() {\n return _ref3.apply(this, arguments);\n }\n\n return back;\n }(),\n showMacroGroups: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var macrogroup_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (1 === macrogroup_id.length) {\n this.parent = this.macrogroups.find(function (mg) {\n return mg.id === macrogroup_id[0];\n });\n return yield this.showGroups(this.parent);\n }\n\n this.items = this.macrogroups.filter(function (m) {\n return macrogroup_id.includes(m.id);\n });\n this.current = 'macrogroups';\n this.parent = {\n macrogroup_id: macrogroup_id,\n title: null,\n name: null };\n\n if (addStep) {\n this.steps.push(this.parent);\n }\n });\n\n function showMacroGroups() {\n return _ref4.apply(this, arguments);\n }\n\n return showMacroGroups;\n }(),\n showGroups: function () {\n var _ref5 = _asyncToGenerator(function* (item) {\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = yield get_macro(item.id);\n this.current = 'groups';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n if (addStep) {\n this.steps.push(this.parent);\n }\n this.loading = false;\n }\n });\n\n function showGroups(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return showGroups;\n }(),\n showProjects: function () {\n var _ref6 = _asyncToGenerator(function* (item) {\n var _this = this;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = this.parent.id === this.curr_group ? (0, _getListableProjects.getListableProjects)() : yield get_group(item.id, function (item) {\n return _this.setItemImageSrc({ item: item, type: 'project' });\n });\n this.current = 'projects';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n this.steps.push(this.parent);\n this.loading = false;\n }\n });\n\n function showProjects(_x7) {\n return _ref6.apply(this, arguments);\n }\n\n return showProjects;\n }(),\n showRoot: function showRoot() {\n this.current = 'root';\n this.items = [].concat(_toConsumableArray(this.macrogroups), _toConsumableArray(this.groups));\n this.steps = [];\n },\n changeMapProject: function () {\n var _ref7 = _asyncToGenerator(function* (item) {\n var url = void 0;\n var base_url = window.initConfig.urls.baseurl;\n var epsg = this.parent.srid ? 'EPSG:' + this.parent.srid : this.parent.crs.epsg;\n yield _projections2.default.registerProjection(epsg);\n try {\n new URL(base_url);\n url = '' + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n } catch (e) {\n url = '' + location.origin + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n }\n url = yield _gui2.default.getService('map').addMapExtentUrlParameterToUrl(url, epsg);\n history.replaceState(null, null, url);\n location.replace(url);\n });\n\n function changeMapProject(_x8) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapProject;\n }(),\n trigger: function () {\n var _ref8 = _asyncToGenerator(function* (item) {\n switch (this.current) {\n case 'root':\n return undefined === item.srid ? this.showGroups(item) : this.showProjects(item);\n case 'macrogroups':\n return this.showGroups(item);\n case 'groups':\n return yield this.showProjects(item);\n case 'projects':\n return yield this.changeMapProject(item);\n }\n });\n\n function trigger(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return trigger;\n }(),\n setItemImageSrc: function setItemImageSrc() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n item = _ref9.item,\n type = _ref9.type;\n\n switch (type) {\n case 'project':\n item.thumbnail = this._setSrc(item.thumbnail);break;\n case 'group':\n item.header_logo_img = this._setSrc(item.header_logo_img);break;\n case 'macrogroup':\n item.logo_img = this._setSrc(item.logo_img);break;\n\n case 'net_error':\n if (item.thumbnail || item.logo_img) {\n item.thumbnail = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n } else if (item.header_logo_img) {\n item.header_logo_img = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n }\n break;\n }\n },\n _setSrc: function _setSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var mediaurl = window.initConfig.mediaurl;\n var clienturl = window.initConfig.urls.clienturl;\n var has_media = src && src.includes(mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + mediaurl + src;\n } else {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n }\n\n return '' + host + imageSrc;\n }\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var config = window.initConfig;\n\n this.items = (0, _getListableProjects.getListableProjects)();\n this.parent = window.initConfig;\n this.curr_group = this.parent.id;\n this.macrogroups = config.macrogroups;\n this.groups = config.groups;\n\n Object.entries({ 'project': this.items, 'magrocroup': this.macrogroups, 'group': this.groups }).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n type = _ref12[0],\n d = _ref12[1];\n\n return d.forEach(function (item) {\n return _this2.setItemImageSrc({ item: item, type: type });\n });\n });\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-changemap\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"height\":\"80vh\"},attrs:{\"id\":\"g3w-change-map-menu\"}},[('root' !== this.current)?_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"color\":\"#fff\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('change_session'),expression:\"'change_session'\",arg:\"bottom\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"font-size\":\"2em\",\"margin\":\"5px\",\"cursor\":\"pointer\",\"padding\":\"3px\",\"border\":\"2px solid #fff\",\"border-radius\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('i',{class:_vm.$fa('reply'),staticStyle:{\"color\":\"#FFF\"}})]),_vm._v(\" \"),(_vm.parent)?_c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('h3',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parent.title || _vm.parent.name))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.items.length)?_c('div',{staticClass:\"g3w-change-map-menu-container\"},_vm._l((_vm.items),function(item){return _c('div',{key:item.name,staticClass:\"menu-item\"},[_c('div',{staticClass:\"menu-item-image\",on:{\"click\":function($event){$event.stopPropagation();return _vm.trigger(item)}}},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":item.thumbnail || item.header_logo_img || item.logo_img,\"alt\":\"logo\"},on:{\"error\":function($event){return _vm.setItemImageSrc({ item: item, type: 'net_error' })}}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu-item-content\"},[_c('div',{staticClass:\"menu-item-text\"},[_c('h4',{staticClass:\"menu-item-title\"},[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(item.description)}})])])])}),0):_c('h3',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"no_other_\" + _vm.current)),expression:\"`no_other_${current}`\"}],staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c2f2554\"\n\n},{\"services/gui\":175,\"store/application\":180,\"store/projections\":182,\"utils/XHR\":183,\"utils/getListableProjects\":211,\"vueify/lib/insert-css\":2}],43:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field[data-v-6783d4c4]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6783d4c4]{position:relative}.field div[data-v-6783d4c4]{padding-left:3px;padding-right:3px}.field_value[data-v-6783d4c4]{padding-left:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"field\",\n props: ['state']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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\",[_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\",[_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6783d4c4\"\n\n},{\"vueify/lib/insert-css\":2}],44:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar fieldsService = require('gui/fields/fieldsservice');\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"g3w-field\",\n props: {\n state: {\n required: true\n },\n feature: {\n type: Object\n }\n },\n components: _extends({}, Fields),\n created: function created() {\n this.type = fieldsService.getType(this.state);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/fields/fields\":3,\"gui/fields/fieldsservice\":4}],45:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".show-hide-geo[data-v-3362679d]{color:#3c8dbc;cursor:pointer;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require(\"mixins\");\n\nexports.default = {\n name: \"g3w-geospatial\",\n props: {\n data: {}\n },\n mixins: [_mixins.geoMixin],\n data: function data() {\n return {\n layerId: \"table_layer_\" + Date.now(),\n visible: false,\n id: \"geo_table_\" + Date.now()\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"geo-content\"},[_c('span',{staticClass:\"show-hide-geo\",class:[_vm.visible ? _vm.g3wtemplate.font['eye-close'] : _vm.g3wtemplate.font['eye']],on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayer()}}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3362679d\"\n\n},{\"mixins\":167,\"vueify/lib/insert-css\":2}],46:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-70d2a0b2]{cursor:pointer}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nvar _toRawType = require('utils/toRawType');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-image\",\n\n props: ['state'],\n data: function data() {\n return {\n galleryId: 'gallery_' + Date.now(),\n active: null,\n value: this.state.value.mime_type !== undefined ? this.state.value.value : this.state.value\n };\n },\n\n components: {\n Field: _Field2.default\n },\n computed: {\n values: function values() {\n return Array.isArray(this.value) ? this.value : [this.value];\n }\n },\n methods: {\n getSrc: function getSrc(value) {\n return (0, _toRawType.toRawType)(value) === 'Object' ? value.photo : value;\n },\n showGallery: function showGallery(index) {\n this.active = index;\n if ((0, _toRawType.toRawType)(this.value) === 'Object') this.value.active = true;\n $('#' + this.galleryId).modal('show');\n },\n getGalleryImages: function getGalleryImages() {\n var _this = this;\n\n return this.values.map(function (image) {\n return { src: _this.getSrc(image) };\n });\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{staticStyle:{\"text-align\":\"left\"},attrs:{\"slot\":\"field\"},slot:\"field\"},[_vm._l((_vm.values),function(value,index){return _c('img',{staticClass:\"img-responsive\",staticStyle:{\"max-height\":\"50px\"},attrs:{\"alt\":\"\",\"src\":_vm.getSrc(value)},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(index)}}})}),_vm._v(\" \"),_c('g3w-images-gallery',{attrs:{\"id\":_vm.galleryId,\"active\":_vm.active,\"images\":_vm.getGalleryImages()}})],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-70d2a0b2\"\n\n},{\"components/Field.vue\":43,\"utils/toRawType\":244,\"vueify/lib/insert-css\":2}],47:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_link[data-v-156f65de]{max-width:100%}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-link\",\n\n props: ['state'],\n data: function data() {\n return {\n value: null\n };\n },\n\n components: {\n Field: _Field2.default\n },\n methods: {\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created: function created() {\n this.value = this.state.value && _typeof(this.state.value) === 'object' ? this.state.value.value : this.state.value;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-156f65de\"\n\n},{\"components/Field.vue\":43,\"vueify/lib/insert-css\":2}],48:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nexports.default = {\n name: \"g3w-media\",\n mixins: [_mixins.mediaMixin],\n props: ['state'],\n computed: {\n type: function type() {\n return this.getMediaType(this.state.mime_type).type;\n },\n value: function value() {\n return this.state.value;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.value)?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.value,\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.filename))]),_vm._v(\" \"),_vm._t(\"default\")],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7b8309b0\"\n\n},{\"mixins\":167}],49:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_text_table[data-v-db21acde]{background-color:transparent!important}.field_text_table .field_label[data-v-db21acde]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field: _Field2.default\n },\n\n created: function created() {}\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-db21acde\"\n\n},{\"components/Field.vue\":43,\"vueify/lib/insert-css\":2}],50:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require(\"components/Field.vue\");\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"vuefield\",\n props: {\n feature: {\n type: Object\n },\n state: {\n type: Object,\n default: {\n value: null,\n vueoptions: {\n component: {}\n }\n }\n }\n },\n components: {\n Field: _Field2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"field\"},slot:\"field\"},[_c(_vm.state.vueoptions.component,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"value\":_vm.state.value}})],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Field.vue\":43}],51:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormHeader = require('components/FormHeader.vue');\n\nvar _FormHeader2 = _interopRequireDefault(_FormHeader);\n\nvar _FormFooter = require('components/FormFooter.vue');\n\nvar _FormFooter2 = _interopRequireDefault(_FormFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-form',\n\n data: function data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n };\n },\n\n components: {\n g3wformheader: _FormHeader2.default,\n G3wFormFooter: _FormFooter2.default\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent: function isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot: function backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation: function handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent: function disableComponent(_ref) {\n var id = _ref.id,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === undefined ? false : _ref$disabled;\n\n this.$options.service.disableComponent({\n id: id,\n disabled: disabled\n });\n },\n resizeForm: function resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc);\n },\n switchComponent: function switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput: function changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate: function addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n reloadLayout: function reloadLayout() {\n var height = $(this.$el).height();\n if (!height) {\n return;\n };\n var footerDOM = $(this.$refs.g3w_form_footer.$el);\n var bodyFromDOM = $(this.$refs.g3wform_body);\n var footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n var bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n }\n },\n updated: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n if (this.switchcomponent) {\n setTimeout(function () {\n return _this.switchcomponent = false;\n }, 0);\n }\n });\n\n function updated() {\n return _ref2.apply(this, arguments);\n }\n\n return updated;\n }(),\n created: function created() {\n var _this2 = this;\n\n this.$options.service.getEventBus().$on('set-main-component', function () {\n _this2.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', function (_ref3) {\n var id = _ref3.id,\n valid = _ref3.valid;\n\n _this2.$options.service.setValidComponent({ id: id, valid: valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted: function mounted() {\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/FormFooter.vue\":53,\"components/FormHeader.vue\":54}],52:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3WFormInputs = require('components/InputG3WFormInputs.vue');\n\nvar _InputG3WFormInputs2 = _interopRequireDefault(_InputG3WFormInputs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Vue.extend({\n name: 'form-body',\n\n props: ['state', 'handleRelation'],\n data: function data() {\n return {\n show: true\n };\n },\n\n components: {\n G3wFormInputs: _InputG3WFormInputs2.default\n },\n methods: {\n addToValidate: function addToValidate(input) {\n this.$emit('addtovalidate', input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$emit('removetovalidate', input);\n },\n changeInput: function changeInput(input) {\n this.$emit('changeinput', input);\n }\n },\n computed: {\n hasFormStructure: function hasFormStructure() {\n return !!this.state.formstructure;\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[(_vm.hasFormStructure)?[_c('tabs',{attrs:{\"layerid\":_vm.state.layerid,\"feature\":_vm.state.feature,\"handleRelation\":_vm.handleRelation,\"contenttype\":'editing',\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput,\"removeToValidate\":_vm.removeToValidate,\"tabs\":_vm.state.formstructure,\"fields\":_vm.state.fields}})]:[_c('g3w-form-inputs',{attrs:{\"state\":_vm.state,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})]],2)])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputG3WFormInputs.vue\":71}],53:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = Vue.extend({\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: function _default() {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data: function data() {\n this.originalbuttons = this.state.buttons.map(function (button) {\n return _extends({}, button);\n });\n return {\n id: \"footer\",\n active: true,\n show: true\n };\n },\n\n computed: {\n enableSave: function enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec: function exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields) : function () {\n return this.state.fields;\n }();\n },\n btnEnabled: function btnEnabled(button) {\n var _button$enabled = button.enabled,\n enabled = _button$enabled === undefined ? true : _button$enabled,\n type = button.type;\n\n return enabled && (type !== 'save' || type === 'save' && this.enableSave);\n },\n isValid: function isValid() {\n return this.state.valid;\n }\n },\n watch: {\n 'state.component': function stateComponent(component) {\n this.show = this.isRootComponent(component);\n },\n\n 'state.update': {\n immediate: true,\n handler: function handler(value) {\n var _this = this;\n\n this.state.buttons.find(function (button, index) {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n _this.state.buttons.splice(index, 1, _extends({}, button, button.eventButtons.update[value]));\n } else {\n _this.state.buttons.splice(index, 1, _this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated: function activated() {\n this.active = true;\n },\n deactivated: function deactivated() {\n this.active = false;\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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\",[_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($event)}}})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{}],54:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Vue.extend({\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: function click(id) {\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm: function resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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)])}\n__vue__options__.staticRenderFns = []\n\n},{}],55:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"bar-loader\",\n props: {\n loading: {\n type: Boolean | String,\n default: false\n },\n color: {\n type: String,\n default: '#FFFFFF'\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('div',{staticClass:\"bar-loader\",staticStyle:{\"border\":\"0\"},style:({ backgroundColor: _vm.color })}):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],56:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"datetime\",\n props: {\n type: {\n type: String,\n default: 'date' },\n format: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n minDate: {\n default: false\n },\n maxDate: {\n default: false\n },\n enabledDates: {\n default: false\n },\n value: {},\n label: {\n default: 'Date'\n }\n },\n data: function data() {\n return {\n datetimevalue: this.value\n };\n },\n\n methods: {\n changeInput: function changeInput(e) {},\n change: function change(value) {\n var date = moment(value).format(this.format);\n this.$emit('change', date);\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.datetimeinputelement = $(this.$refs.iddatetimepicker);\n this.datetimeinputelement.datetimepicker({\n minDate: this.minDate,\n maxDate: this.maxDate,\n defaultDate: this.datetimevalue,\n useCurrent: false,\n allowInputToggle: true,\n enabledDates: this.enabledDates,\n showClose: true,\n format: this.format,\n locale: _application2.default.language,\n toolbarPlacement: 'top',\n widgetPositioning: { horizontal: 'right' }\n });\n this.datetimeinputelement.on(\"dp.change\", function (_ref2) {\n var date = _ref2.date;\n\n _this.change(date);\n });\n this.datetimeinputelement.on(\"dp.hide\", function (evt) {});\n if (_application2.default.ismobile) {\n setTimeout(function () {\n return datetimeinputelement.blur();\n });\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n value: function value(datetime) {\n this.datetimevalue = datetime;\n this.datetimeinputelement.data(\"DateTimePicker\").date(datetime);\n },\n minDate: function () {\n var _ref3 = _asyncToGenerator(function* (mindatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").minDate(mindatetime);\n });\n\n function minDate(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return minDate;\n }(),\n maxDate: function () {\n var _ref4 = _asyncToGenerator(function* (maxdatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").maxDate(maxdatetime);\n });\n\n function maxDate(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return maxDate;\n }(),\n enabledDates: function enabledDates(dates) {\n this.datetimeinputelement.data(\"DateTimePicker\").enabledDates(dates);\n }\n },\n created: function created() {\n this.id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datimecontainer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{ref:\"iddatetimepicker\",staticClass:\"input-group date\"},[_c('input',{ref:\"idinputdatetimepiker\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"type\":\"text\"},on:{\"change\":_vm.changeInput}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{staticClass:\"datetimeinput\",class:_vm.g3wtemplate.getFontClass('time' === _vm.type ? 'time': 'calendar')})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-e7683bf8\"\n\n},{\"store/application\":180,\"utils/getUniqueDomId\":219}],57:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".divider[data-v-6409ddc0]{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}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"divider\"\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"divider\"})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6409ddc0\"\n\n},{\"vueify/lib/insert-css\":2}],58:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".modal-content[data-v-38db7d79]{background:hsla(0,0%,100%,.6);border-radius:3px}.modal-dialog[data-v-38db7d79]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-38db7d79]{text-align:center;padding:0!important}.modal[data-v-38db7d79]:before{content:\\\"\\\";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-38db7d79]{color:#3c8dbc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"g3w-images-gallery\",\n props: {\n images: {\n type: Array,\n default: []\n },\n id: {\n type: String,\n default: 'gallery'\n },\n active: {\n type: Number\n }\n },\n data: function data() {\n return {\n carouselId: 'carousel_' + Date.now()\n };\n },\n\n methods: {\n isActive: function isActive(src) {\n return src === this.active;\n },\n isRelativePath: function isRelativePath(url) {\n if (!url.startsWith('/') && !url.startsWith('http')) {\n return '' + window.initConfig.mediaurl + url;\n }\n return url;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade modal-fullscreen force-fullscreen\",attrs:{\"id\":_vm.id,\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"carousel slide\",attrs:{\"id\":_vm.carouselId,\"data-interval\":\"false\"}},[_c('div',{staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image,index){return _c('div',{staticClass:\"item\",class:_vm.active == index ? 'active' : ''},[_c('img',{staticStyle:{\"margin\":\"auto\"},attrs:{\"src\":_vm.isRelativePath(image.src)}})])}),0),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"left carousel-control\",attrs:{\"href\":(\"#\" + _vm.carouselId),\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('arrow-left')})]):_vm._e(),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"right carousel-control\",attrs:{\"href\":(\"#\" + _vm.carouselId),\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('arrow-left')})]):_vm._e()])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-38db7d79\"\n\n},{\"vueify/lib/insert-css\":2}],59:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".help_div_container[data-v-5d3720b7]{color:#fff;text-align:justify;position:relative;border-radius:3px;margin:5px 2px;white-space:pre-line;background-color:#384246!important}.help_icon[data-v-5d3720b7]{text-align:center;font-size:.7em;margin-top:-4px;margin-left:-4px;background-color:#222d32;font-weight:700;color:#fff;position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid #fff;border-radius:50%}.g3w-help-message-content[data-v-5d3720b7]{max-height:200px;padding:10px;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"helpdiv\",\n props: {\n message: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'info' }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help_div_container\"},[_c('span',{staticClass:\"help_icon\"},[_vm._v(\"i\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"g3w-help-message-content\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5d3720b7\"\n\n},{\"vueify/lib/insert-css\":2}],60:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-b7d14a7c]{cursor:pointer}.g3w-image[data-v-b7d14a7c]{padding-left:0!important;min-width:100px;max-width:100%;cursor:pointer}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nvar _GlobalGallery = require('components/GlobalGallery.vue');\n\nvar _GlobalGallery2 = _interopRequireDefault(_GlobalGallery);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-image\",\n props: {\n value: {}\n },\n data: function data() {\n return {\n galleryId: 'gallery_' + Date.now(),\n active: null\n };\n },\n\n components: {\n 'g3w-images-gallery': _GlobalGallery2.default\n },\n computed: {\n values: function values() {\n return Array.isArray(this.value) ? this.value : [this.value];\n }\n },\n methods: {\n getSrc: function getSrc(value) {\n if ((typeof value === 'undefined' ? 'undefined' : _typeof(value)) === 'object') {\n return value.photo;\n }\n return value;\n },\n showGallery: function showGallery(index) {\n this.active = index;\n if (_typeof(this.value) === 'object') {\n this.value.active = true;\n }\n $('#' + this.galleryId).modal('show');\n },\n getGalleryImages: function getGalleryImages() {\n var _this = this;\n\n return this.values.map(function (image) {\n return { src: _this.getSrc(image) };\n });\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container-fluid\"},[_c('div',{staticClass:\"row\"},_vm._l((_vm.values),function(value,index){return _c('div',{staticClass:\"g3w-image col-md-6 col-sm-12\"},[_c('img',{staticClass:\"img-thumbnail\",attrs:{\"src\":_vm.getSrc(value)},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(index)}}})])}),0),_vm._v(\" \"),_c('g3w-images-gallery',{attrs:{\"id\":_vm.galleryId,\"active\":_vm.active,\"images\":_vm.getGalleryImages()}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b7d14a7c\"\n\n},{\"components/GlobalGallery.vue\":58,\"vueify/lib/insert-css\":2}],61:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"progressbar\",\n props: ['progress']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((null !== _vm.progress && undefined !== _vm.progress))?_c('div',{staticStyle:{\"margin\":\"5px 0 5px 0\",\"width\":\"100%\",\"backgroundColor\":\"#FFFFFF\",\"border\":\"0\",\"borderRadius\":\"3px\"}},[_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"justifyContent\":\"center\",\"fontWeight\":\"bold\"},style:({ width: (_vm.progress < 10 ? 10 : _vm.progress) })},[_c('span',[_vm._v(_vm._s(_vm.progress))])])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],62:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".min-max-label[data-v-a8bbacb8]{align-self:end;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debounce = require('utils/debounce');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"range\",\n props: {\n id: {\n default: undefined\n },\n\n label: {\n type: String,\n default: ''\n },\n\n min: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: 10\n },\n\n step: {\n type: Number,\n default: 1\n },\n\n labelValue: {},\n\n value: {\n default: 0\n },\n\n sync: {\n type: Boolean,\n default: false\n },\n\n showValue: {\n type: Boolean,\n default: false\n },\n\n unit: {\n type: String,\n default: ''\n }\n\n },\n data: function data() {\n return {\n state: { value: this.value }\n };\n },\n\n methods: {\n changeBackGround: function changeBackGround(value) {\n this.$refs['range-input'].style.backgroundSize = (value ? (value - this.min) * 100 / (this.max - this.min) : 0) + '% 100%';\n },\n setValue: function setValue(value) {\n this.changedValue(value);\n },\n change: function change(e) {\n this.changedValue(1 * e.target.value);\n },\n emitChangeValue: function emitChangeValue(value) {\n this.state.value = value;\n this.$emit('change-range', {\n id: this.id,\n value: value\n });\n }\n },\n watch: {\n 'value': function value(_value) {\n this.state.value = _value;\n },\n 'state.value': function stateValue(value) {\n this.changeBackGround(value);\n if (this.sync) {\n this.emitChangeValue(value);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.changedValue = this.sync ? function () {\n return _this.$emit('changed');\n } : (0, _debounce.debounce)(function (value) {\n _this.emitChangeValue(value);\n });\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.changeBackGround(this.value);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-weight\":\"bold\"}},[_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.min))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"margin\":\"0 3px\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticClass:\"skin-color\",staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],ref:\"range-input\",attrs:{\"type\":\"range\",\"id\":_vm.id,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.max))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])])]),_vm._v(\" \"),(_vm.showValue)?[_c('span',[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]:_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-a8bbacb8\"\n\n},{\"utils/debounce\":200,\"vueify/lib/insert-css\":2}],63:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".formquerytabs[data-v-2cbd8ce7]{overflow:hidden!important;display:flex;flex-wrap:wrap}.formquerytabs>li[data-v-2cbd8ce7]{flex:1;display:flex}.formquerytabs>li>a[data-v-2cbd8ce7]{font-weight:700;flex:1}.nav-tabs>li>a.mobile[data-v-2cbd8ce7]{padding:5px 10px}.tab_a[data-v-2cbd8ce7]{padding:5px;margin-right:0!important;border-bottom:0;margin-bottom:3px;border-radius:3px 3px 0 0}.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]{color:inherit!important;font-weight:500;font-size:1em!important;padding:.25em;cursor:pointer}.tabs-wrapper>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▾\\\"}.tabs-wrapper.collapsed>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▸\\\"}.tabs-wrapper.collapsed>.formquerytabs+.tab-content[data-v-2cbd8ce7]{display:none}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _GlobalTabsNode = require('components/GlobalTabsNode.vue');\n\nvar _GlobalTabsNode2 = _interopRequireDefault(_GlobalTabsNode);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getFormDataExpressionRequestFromFeature = require('utils/getFormDataExpressionRequestFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _noop = require('utils/noop');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"tabs\",\n props: {\n group: {\n type: Boolean,\n default: false\n },\n contenttype: {\n default: 'query' },\n layerid: {\n required: true\n },\n tabs: {\n required: true\n },\n feature: {\n required: true\n },\n fields: {\n required: true\n },\n addToValidate: {\n type: Function,\n default: _noop.noop\n },\n removeToValidate: {\n type: Function,\n default: _noop.noop\n },\n changeInput: {\n type: Function,\n default: _noop.noop\n },\n showRelationByField: {\n type: Boolean,\n default: true\n },\n handleRelation: {\n type: Function,\n default: function _default() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref.relation,\n layerId = _ref.layerId,\n feature = _ref.feature;\n\n return _gui2.default.getService('queryresults').showRelation({ relation: relation, layerId: layerId, feature: feature });\n }\n }\n },\n data: function data() {\n return {\n ids: []\n };\n },\n\n computed: {\n required_fields: function required_fields() {\n return 'editing' === this.contenttype && this.fields.filter(function (f) {\n return f.validate.required;\n }).map(function (f) {\n return f.name;\n });\n },\n show: function show() {\n return this.tabs.reduce(function (a, t) {\n return a || t.visible === undefined || !!t.visible;\n }, false);\n }\n },\n methods: {\n setVisibility: function () {\n var _ref2 = _asyncToGenerator(function* (tab) {\n tab.visible = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n qgs_layer_id: this.layerid,\n form_data: ('editing' === this.contenttype ? _convertFeatureToGEOJSON.convertFeatureToGEOJSON : _getFormDataExpressionRequestFromFeature.getFormDataExpressionRequestFromFeature)(this.feature || {}),\n expression: tab.visibility_expression.expression,\n formatter: 'query' === this.contenttype ? 1 : 0\n },\n outputs: false\n });\n });\n\n function setVisibility(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setVisibility;\n }(),\n setEditingRequireTab: function setEditingRequireTab(obj) {\n var _this = this;\n\n if (undefined === obj.nodes) {\n return this.required_fields.includes(obj.field_name);\n } else {\n return !!obj.nodes.find(function (n) {\n return _this.setEditingRequireTab(n);\n });\n }\n },\n getField: function getField(fieldName) {\n return this.fields.find(function (f) {\n return fieldName === f.name;\n });\n },\n toggleGroup: function toggleGroup(e) {\n var wrapper = e.target.closest('.tabs-wrapper');\n wrapper.classList.toggle('collapsed');\n }\n },\n components: {\n Node: _GlobalTabsNode2.default\n },\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.unwatch = [];\n this.tabs.forEach(function () {\n var _ref4 = _asyncToGenerator(function* (tab, i) {\n if (tab.visibility_expression) {\n if (undefined === tab.visible) {\n _this2.$set(tab, 'visible', 0);\n }\n yield _this2.setVisibility(tab);\n }\n if ('editing' === _this2.contenttype) {\n if (undefined === tab.required) {\n tab.required = _this2.setEditingRequireTab(tab);\n }\n if (tab.visibility_expression) {\n tab.visibility_expression.referenced_columns.forEach(function (c) {\n var field = _this2.fields.find(function (f) {\n return c === f.name;\n });\n _this2.unwatch.push(_this2.$watch(function () {\n return field.value;\n }, _asyncToGenerator(function* () {\n yield _this2.setVisibility(tab);\n })));\n });\n }\n }\n _this2.ids.push('tab_' + (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return function (_x3, _x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this.root_tabs = [];\n if (!this.group) {\n var nodes = [];\n this.tabs.forEach(function (tab_node) {\n if (tab_node.nodes) {\n nodes.push(tab_node);\n } else {\n if (nodes.length) {\n _this2.root_tabs.push([].concat(nodes));\n nodes.splice(0);\n }\n _this2.root_tabs.push({ nodes: [tab_node] });\n }\n });\n if (nodes.length) {\n this.root_tabs.push(nodes);\n }\n } else {\n this.root_tabs = [this.tabs];\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unwatch.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"tabs-wrapper\"},[_vm._l((_vm.root_tabs),function(root_tab){return [(Array.isArray(root_tab))?[_c('ul',{staticClass:\"formquerytabs nav nav-tabs\"},[_vm._l((root_tab),function(tab,index){return [(tab.visible === undefined || tab.visible)?_c('li',{class:{active: index === 0}},[_c('a',{staticClass:\"tab_a\",class:{'mobile': _vm.isMobile(), 'group-title': _vm.group},style:({fontSize: _vm.isMobile() ? '1.0em': ((_vm.group ? '1.1': '1.2') + \"em\")}),attrs:{\"data-toggle\":\"tab\",\"href\":(\"#\" + (_vm.ids[index]))},on:{\"click\":function($event){_vm.group && _vm.toggleGroup($event)}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\" \"),(_vm.contenttype === 'editing' && tab.required)?_c('span',{staticStyle:{\"padding-left\":\"3px\",\"font-size\":\"1.1em\"}},[_vm._v(\"*\")]):_vm._e()])]):_vm._e()]})],2),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\",class:{editing: 'editing' === _vm.contenttype }},[_vm._l((root_tab),function(tab,index){return [(undefined === tab.visible || tab.visible)?_c('div',{staticClass:\"tab-pane fade\",class:{'in active': index === 0},attrs:{\"id\":_vm.ids[index]}},[_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":tab}})],1):_vm._e()]})],2)]:_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":root_tab}})]})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2cbd8ce7\"\n\n},{\"components/GlobalTabsNode.vue\":64,\"services/data\":174,\"services/gui\":175,\"utils/convertFeatureToGEOJSON\":188,\"utils/getFormDataExpressionRequestFromFeature\":210,\"utils/getUniqueDomId\":219,\"utils/noop\":229,\"vueify/lib/insert-css\":2}],64:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tab-node[data-v-9685e2ee]{min-width:0;overflow:hidden}.title[data-v-9685e2ee]{font-weight:700;width:100%;color:#fff;padding:3px;margin-top:5px;margin-bottom:5px;border-radius:2px}.node-row[data-v-9685e2ee]{margin-bottom:0;column-gap:2px;margin-top:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.row.mobile[data-v-9685e2ee]{margin-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _InputG3W = require('components/InputG3W.vue');\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"node\",\n props: ['contenttype', 'node', 'fields', 'showTitle', 'addToValidate', 'removeToValidate', 'changeInput', 'layerid', 'feature', 'showRelationByField', 'handleRelation'],\n components: _extends({\n G3wInput: _InputG3W2.default\n }, Fields),\n data: function data() {\n return {\n context: this.contenttype,\n editing_required: false\n };\n },\n\n computed: {\n filterNodes: function filterNodes() {\n var _this = this;\n\n var filterNodes = this.node.nodes && this.node.nodes.filter(function (node) {\n if ('group' === _this.getNodeType(node)) {\n return true;\n } else if (!node.nodes && node.name && 'group' != _this.getNodeType(node)) {\n node.relation = true;\n return true;\n } else {\n return !!_this.fields.find(function (field) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === field.name || node.relation;\n });\n }\n });\n return filterNodes || [];\n },\n nodesLength: function nodesLength() {\n return this.filterNodes.length;\n },\n rows: function rows() {\n var rowCount = 1;\n if (0 === this.nodesLength) {\n rowCount = 0;\n } else if (this.columnNumber <= this.nodesLength) {\n rowCount = Math.floor(this.nodesLength / this.columnNumber) + this.nodesLength % this.columnNumber;\n }\n return rowCount;\n },\n columnNumber: function columnNumber() {\n var columnCount = parseInt(this.node.columncount) ? parseInt(this.node.columncount) : 1;\n return columnCount > this.nodesLength ? this.nodesLength : columnCount;\n },\n showGroupTile: function showGroupTile() {\n return this.showTitle && this.node.showlabel && this.node.groupbox;\n }\n },\n methods: {\n loadingRelation: function loadingRelation(relation) {\n var layer = _application2.default.project.getLayerById(this.layerid);\n\n return (layer.getRelationById(relation.name) || { state: { loading: false } }).state;\n },\n isRelationDisabled: function isRelationDisabled(relation) {\n return undefined === this.getRelationName(relation.name) || 'editing' === this.contenttype && this.isRelationChildLayerNotEditable(relation);\n },\n getRelationName: function getRelationName(relationId) {\n return (_application2.default.project.getRelationById(relationId) || {}).name;\n },\n isRelationChildLayerNotEditable: function isRelationChildLayerNotEditable(relation) {\n var projectRelation = _application2.default.project.getRelationById(relation.name);\n var relationLayerId = projectRelation.referencingLayer;\n var relationLayer = _application2.default.project.getLayerById(relationLayerId);\n\n return !relationLayer.isEditable();\n },\n getNodes: function getNodes(row) {\n var startIndex = (row - 1) * this.columnNumber;\n return this.filterNodes.slice(startIndex, this.columnNumber + startIndex);\n },\n getNode: function getNode(row, column) {\n return this.getNodes(row)[column - 1];\n },\n getField: function getField(node) {\n if (node.relation) {\n return node;\n }\n return this.fields.find(function (f) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === f.name;\n });\n },\n getNodeType: function getNodeType(node) {\n var type = node.groupbox || node.nodes ? 'group' : node.relation ? 'relation' : 'field';\n if ('field' === type && [undefined, ''].includes(node.alias)) {\n node.alias = node.field_name;\n }\n return type;\n },\n getComponent: function getComponent(field) {\n if (field.relation) {\n return;\n } else if (field.query) {\n return field.input.type;\n } else {\n return 'g3w-input';\n }\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-node group\"},[(_vm.showGroupTile)?_c('h5',{staticClass:\"title group-title\",class:{'mobile': _vm.isMobile()},style:({fontSize: _vm.isMobile() ? '1em' : '1.1em'})},[_vm._v(_vm._s(_vm.node.name)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.rows),function(row){return _c('div',{staticClass:\"node-row\",class:{'mobile': _vm.isMobile()}},[_vm._l((_vm.columnNumber),function(column){return [(_vm.getNode(row, column))?[('field' === _vm.getNodeType(_vm.getNode(row, column)))?_c(_vm.getComponent(_vm.getField(_vm.getNode(row, column))),{tag:\"component\",staticStyle:{\"padding\":\"5px 3px 5px 3px\"},attrs:{\"state\":_vm.getField(_vm.getNode(row, column)),\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"feature\":_vm.feature},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}):[('group' === _vm.getNodeType(_vm.getNode(row, column)))?_c('tabs',_vm._b({staticClass:\"sub-group\",staticStyle:{\"width\":\"100% !important\"},attrs:{\"group\":true,\"tabs\":[_vm.getNode(row, column)]}},'tabs',_vm.$props,false)):[(_vm.showRelationByField)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.isRelationDisabled(_vm.getNode(row, column)) || _vm.loadingRelation(_vm.getNode(row, column)).loading),expression:\"isRelationDisabled(getNode(row, column)) || loadingRelation(getNode(row, column)).loading\"}],style:({cursor: _vm.showRelationByField && 'pointer'}),on:{\"click\":function($event){$event.stopPropagation();_vm.handleRelation({relation: _vm.getNode(row, column), feature:_vm.feature, layerId: _vm.layerid})}}},[_c('bar-loader',{attrs:{\"loading\":_vm.loadingRelation(_vm.getNode(row, column)).loading}}),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"query_relation_field\"},[_c('i',{class:_vm.g3wtemplate.font[(\"\" + (_vm.context === 'query' ? 'relation' : 'pencil'))]})]),_vm._v(\" \"),_c('span',{staticClass:\"query_relation_field_message g3w-long-text\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.getRelationName(_vm.getNode(row, column).name)))])])])],1):_vm._e()]]]:_vm._e()]})],2)})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9685e2ee\"\n\n},{\"components/InputG3W.vue\":70,\"gui/fields/fields\":3,\"store/application\":180,\"vueify/lib/insert-css\":2}],65:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".control-label[data-v-cb533ff6]{text-align:left!important;padding-top:0!important;margin-bottom:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nexports.default = _extends({\n name: \"InputBase\",\n props: ['state']\n}, _mixins.baseInputMixin);\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",[_c('label',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"col-sm-12 control-label\",attrs:{\"for\":_vm.state.name}},[(_vm.state.i18nLabel)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.state.label),expression:\"state.label\"}]}):_c('span',[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showhelpicon)?_c('i',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['info'],staticStyle:{\"margin-left\":\"3px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showHideHelp($event)}}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label-action\")],2)]),_vm._v(\" \"),(_vm.state.relationField)?_c('div',{staticStyle:{\"color\":\"var(--skin-warning)\",\"padding\":\"3px 0 3px 15px\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('warning')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.field'),expression:\"'sdk.relations.field'\"}]})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"loading\",[(_vm.loadingState === 'loading')?_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\"},attrs:{\"slot\":\"loading\"},slot:\"loading\"},[_c('bar-loader',{attrs:{\"loading\":true}})],1):_vm._e()]),_vm._v(\" \"),_vm._t(\"body\"),_vm._v(\" \"),_vm._t(\"message\",[(_vm.notvalid)?_c('p',{staticClass:\"g3w-long-text error-input-message\",staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.validate.message)}}):(_vm.state.info)?_c('p',{staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.info)}}):_vm._e()]),_vm._v(\" \"),(_vm.state.help && this.state.help.visible)?_c('div',{staticClass:\"g3w_input_help skin-background-color extralighten\",domProps:{\"innerHTML\":_vm._s(_vm.state.help.message)}}):_vm._e()],2)],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb533ff6\"\n\n},{\"mixins\":167,\"vueify/lib/insert-css\":2}],66:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input, _mixins.widgetMixins],\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)() };\n },\n\n methods: {\n setLabel: function setLabel() {\n this.label = this.service.convertCheckedToValue(this.value);\n },\n setValue: function setValue() {\n this.value = this.service.convertValueToChecked();\n },\n changeCheckBox: function changeCheckBox() {\n this.setLabel();\n this.widgetChanged();\n },\n stateValueChanged: function stateValueChanged() {\n this.setValue();\n this.setLabel();\n }\n },\n mounted: function mounted() {\n this.stateValueChanged();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticStyle:{\"height\":\"20px\",\"margin-top\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"magic-checkbox\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"tabIndex\":_vm.tabIndex,\"type\":\"checkbox\",\"id\":_vm.id},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":[function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}},_vm.changeCheckBox]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":167,\"utils/getUniqueDomId\":219}],67:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-color',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"type\":\"color\",\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],68:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-datetime-picker',\n\n mixins: [Input, _mixins.resizeMixin],\n\n data: function data() {\n var uniqueValue = (0, _getUniqueDomId.getUniqueDomId)();\n return {\n widget_container: {\n top: 0,\n left: 0\n },\n iddatetimepicker: 'datetimepicker_' + uniqueValue,\n idinputdatetimepiker: 'inputdatetimepicker_' + uniqueValue\n };\n },\n\n\n methods: {\n resize: function resize() {\n var domeDataPicker = $('#' + this.iddatetimepicker);\n if (domeDataPicker && domeDataPicker.data(\"DateTimePicker\")) {\n domeDataPicker.data(\"DateTimePicker\").hide();\n }\n },\n timeOnly: function timeOnly() {\n return !this.state.input.options.formats[0].date;\n },\n onDatePickerChange: function onDatePickerChange() {\n var newDate = $('#' + this.idinputdatetimepiker).val();\n this.state.value = _.isEmpty(newDate.trim()) ? null : moment(newDate, this.datetimedisplayformat).format(this.datetimefieldformat);\n this.change();\n },\n onDatePickerShow: function onDatePickerShow(evt) {\n var _this = this;\n\n this.widget_container.top = 0;\n this.widget_container.left = 0;\n\n setTimeout(function () {\n var container = _this.$refs.datetimepicker_body.getBoundingClientRect();\n var modal = _this.$refs.datimewidget_container.querySelector('.bootstrap-datetimepicker-widget').getBoundingClientRect();\n _this.widget_container.top = container.top + (container.top < modal.height ? container.height + Math.abs(container.top - modal.height) + 20 : 0);\n _this.widget_container.left = container.left - Math.max(container.width, modal.width);\n _this.$emit('datetimepickershow');\n });\n },\n onDatePickerHide: function onDatePickerHide(evt) {\n this.$emit('datetimepickershow');\n }\n },\n watch: {\n 'state.value': function () {\n var _ref = _asyncToGenerator(function* (value) {\n if (value !== $('#' + this.idinputdatetimepiker).val()) {\n var date = null !== value ? moment(value, this.datetimefieldformat).format(this.datetimedisplayformat) : value;\n yield this.$nextTick();\n $('#' + this.idinputdatetimepiker).val(date);\n }\n });\n\n function stateValue(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateValue;\n }()\n },\n\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _state$input$options = this.state.input.options,\n _state$input$options$ = _state$input$options.formats,\n formats = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.layout,\n layout = _state$input$options$2 === undefined ? {\n vertical: \"top\",\n horizontal: \"left\"\n } : _state$input$options$2;\n var _formats$ = formats[0],\n minDate = _formats$.minDate,\n maxDate = _formats$.maxDate,\n fieldformat = _formats$.fieldformat,\n enabledDates = _formats$.enabledDates,\n disabledDates = _formats$.disabledDates,\n displayformat = _formats$.displayformat,\n useCurrent = _formats$.useCurrent;\n\n\n yield this.$nextTick();\n\n this.datetimedisplayformat = this.service.convertQGISDateTimeFormatToMoment(displayformat);\n this.datetimefieldformat = this.service.convertQGISDateTimeFormatToMoment(fieldformat);\n\n this.service.setValidatorOptions({ fielddatetimeformat: this.datetimefieldformat });\n\n var date = moment(this.state.value, this.datetimefieldformat, true).isValid() ? moment(this.state.value, this.datetimefieldformat).toDate() : null;\n\n $('#' + this.iddatetimepicker).datetimepicker({\n defaultDate: date,\n format: this.datetimedisplayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n enabledDates: enabledDates,\n disabledDates: disabledDates,\n useCurrent: useCurrent,\n toolbarPlacement: 'top',\n minDate: minDate,\n maxDate: maxDate,\n widgetParent: $(this.$refs.datimewidget_container),\n widgetPositioning: {\n vertical: layout.vertical || 'top',\n horizontal: layout.horizontal || 'left'\n },\n showClose: true,\n locale: this.service.getLocale()\n });\n\n $('#' + this.iddatetimepicker).on(\"dp.change\", this.onDatePickerChange);\n $('#' + this.iddatetimepicker).on(\"dp.show\", this.onDatePickerShow);\n $('#' + this.iddatetimepicker).on(\"dp.hide\", this.onDatePickerHide);\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + _this2.idinputdatetimepiker).blur();\n });\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{ref:\"datetimepicker_body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{ref:\"datimewidget_container\",style:({\n top: _vm.widget_container.top + 'px',\n left: _vm.widget_container.left + 'px',\n position: 'fixed',\n zIndex: 10000,\n })}),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"input-group date\",attrs:{\"id\":_vm.iddatetimepicker}},[_c('input',{staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"type\":\"text\",\"id\":_vm.idinputdatetimepiker,\"tabIndex\":_vm.tabIndex,\"readonly\":!_vm.editable || _vm.isMobile() ? 'readonly' : null}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{class:[ _vm.g3wtemplate.getFontClass(_vm.timeOnly() ? 'time' : 'calendar') ]})])])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":167,\"store/application\":180,\"utils/getUniqueDomId\":219}],69:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-float',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.state.step || 1,\"placeholder\":_vm.state.default},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],70:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar Inputs = {\n 'text_input': require('gui/inputs/text/vue/text'),\n 'texthtml_input': require('gui/inputs/texthtml/vue/texthtml'),\n 'textarea_input': require('gui/inputs/textarea/vue/textarea'),\n 'integer_input': require('gui/inputs/integer/vue/integer'),\n 'string_input': require('gui/inputs/text/vue/text'),\n 'float_input': require('gui/inputs/float/vue/float'),\n 'radio_input': require('gui/inputs/radio/vue/radio'),\n 'check_input': require('gui/inputs/checkbox/vue/checkbox'),\n 'range_input': require('gui/inputs/range/vue/range'),\n 'datetimepicker_input': require('gui/inputs/datetimepicker/vue/datetimepicker'),\n 'unique_input': require('gui/inputs/unique/vue/unique'),\n 'select_input': require('gui/inputs/select/vue/select'),\n 'media_input': require('gui/inputs/media/vue/media'),\n 'select_autocomplete_input': require('gui/inputs/select/vue/select'),\n 'picklayer_input': require('gui/inputs/picklayer/vue/picklayer'),\n 'color_input': require('gui/inputs/color/vue/color'),\n 'slider_input': require('gui/inputs/sliderrange/vue/sliderrange'),\n 'lonlat_input': require('gui/inputs/lonlat/vue/lonlat')\n};\n\nexports.default = {\n name: \"g3w-input\",\n props: {\n state: {\n required: true\n },\n addToValidate: {\n type: Function,\n required: true\n },\n removeToValidate: {\n type: Function,\n required: true\n },\n changeInput: {\n type: Function,\n required: true\n }\n },\n components: _extends({}, Inputs),\n computed: {\n type: function type() {\n if (this.state.type !== 'child') return this.state.input.type ? this.state.input.type + '_input' : this.state.type + '_input';\n }\n },\n created: function created() {\n if (this.state.type !== 'child' && !this.state.input.options) this.state.input.options = {};\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',[(_vm.state.type !== 'child')?_c('div',[_c(_vm.type,{tag:\"component\",attrs:{\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"state\":_vm.state},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}),_vm._v(\" \"),_c('divider')],1):_c('div',{staticClass:\"skin-border-color field-child\",staticStyle:{\"border-top\":\"2px solid\"}},[_c('h4',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),_c('div',[_vm._v(\" \"+_vm._s(_vm.state.description)+\" \")]),_vm._v(\" \"),_vm._l((_vm.state.fields),function(field){return _c('g3w-input',{key:field.name,attrs:{\"state\":field,\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})})],2)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/checkbox/vue/checkbox\":6,\"gui/inputs/color/vue/color\":7,\"gui/inputs/datetimepicker/vue/datetimepicker\":9,\"gui/inputs/float/vue/float\":11,\"gui/inputs/integer/vue/integer\":14,\"gui/inputs/lonlat/vue/lonlat\":16,\"gui/inputs/media/vue/media\":18,\"gui/inputs/picklayer/vue/picklayer\":20,\"gui/inputs/radio/vue/radio\":22,\"gui/inputs/range/vue/range\":24,\"gui/inputs/select/vue/select\":26,\"gui/inputs/sliderrange/vue/sliderrange\":30,\"gui/inputs/text/vue/text\":31,\"gui/inputs/textarea/vue/textarea\":32,\"gui/inputs/texthtml/vue/texthtml\":33,\"gui/inputs/unique/vue/unique\":35}],71:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-for-inputs-required-inputs-message[data-v-06573254]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-06573254]{padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3W = require(\"components/InputG3W.vue\");\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-form-inputs\",\n props: {\n state: {\n type: Object,\n default: {\n fields: []\n }\n },\n addToValidate: {\n type: Function\n },\n changeInput: {\n type: Function\n },\n show_required_field_message: {\n type: Boolean,\n default: false\n },\n removeToValidate: {\n type: Function\n }\n\n },\n components: {\n G3wInput: _InputG3W2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[_vm._l((_vm.state.fields),function(field){return [_c('g3w-input',{attrs:{\"state\":field,\"removeToValidate\":_vm.removeToValidate,\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput},on:{\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput}})]})],2),_vm._v(\" \"),(_vm.show_required_field_message)?_c('div',{attrs:{\"id\":\"g3w-for-inputs-required-inputs-message\"}},[_c('span',{staticClass:\"hide-cursor-caret-color\"},[_vm._v(\"*\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}],staticClass:\"hide-cursor-caret-color\"})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06573254\"\n\n},{\"components/InputG3W.vue\":70,\"vueify/lib/insert-css\":2}],72:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-integer',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"type\":\"number\"},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],73:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-lonlat',\n\n mixins: [Input],\n data: function data() {\n return {\n lonId: (0, _getUniqueDomId.getUniqueDomId)(),\n latId: (0, _getUniqueDomId.getUniqueDomId)(),\n coordinatebutton: {\n active: false\n }\n };\n },\n\n computed: {\n getCoordinateActive: function getCoordinateActive() {\n return this.service.state.getCoordinateActive;\n }\n },\n methods: {\n toggleGetCoordinate: function toggleGetCoordinate() {\n this.service.toggleGetCoordinate();\n },\n changeLonLat: function changeLonLat() {\n this.change();\n this.setValue();\n },\n setValue: function setValue() {\n this.state.value = [[1 * this.state.values.lon, 1 * this.state.values.lat]];\n }\n },\n created: function created() {\n this.state.values = this.state.values || { lon: 0, lat: 0 };\n this.setValue();\n this.service.setCoordinateButtonReactiveObject(this.coordinatebutton);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $(this.$refs['g3w-input-lat-lon']).tooltip({ trigger: 'hover' });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\",\"height\":\"35px\",\"margin-right\":\"12px\",\"margin-bottom\":\"5px\"}},[_c('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:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"border-radius\":\"5px\",\"font-weight\":\"bold\",\"font-size\":\"20px\",\"cursor\":\"pointer\"},style:({border: _vm.coordinatebutton.active ? '2px solid' : 0}),attrs:{\"data-placement\":\"left\",\"data-container\":\"body\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleGetCoordinate($event)}}})]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.lonId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lon)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lon),expression:\"state.values.lon\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.lonId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-180\",\"max\":\"180\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lon)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lon\", $event.target.value)}}})])]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.latId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lat)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lat),expression:\"state.values.lat\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.latId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-90\",\"max\":\"90\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lat)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lat\", $event.target.value)}}})])])],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":219}],74:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputMixins = require('gui/inputs/input');\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar _require2 = require('gui/fields/fields'),\n MediaField = _require2.media_field;\n\nexports.default = {\n name: 'input-media',\n\n mixins: [InputMixins],\n components: {\n 'g3w-media': MediaField\n },\n data: function data() {\n return {\n data: {\n value: null,\n mime_type: null\n },\n mediaid: 'media_' + (0, _getUniqueDomId.getUniqueDomId)(),\n loading: false\n };\n },\n\n methods: {\n onClick: function onClick() {\n document.getElementById(this.mediaid).click();\n },\n clearMedia: function clearMedia() {\n this.data.value = this.data.mime_type = this.state.value = null;\n this.change();\n }\n },\n created: function created() {\n if (this.state.value) {\n this.data.value = this.state.value.value;\n this.data.mime_type = this.state.value.mime_type;\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var fieldName = this.state.name;\n var formData = {\n name: fieldName,\n csrfmiddlewaretoken: this.$cookie.get('csrftoken')\n };\n\n yield this.$nextTick();\n\n $('#' + this.mediaid).fileupload({\n dataType: 'json',\n formData: formData,\n start: function start() {\n return _this.loading = true;\n },\n done: function done(e, data) {\n var response = data.result[fieldName];\n if (response) {\n _this.data.value = response.value;\n _this.data.mime_type = response.mime_type;\n _this.state.value = _this.data;\n _this.change();\n }\n },\n fail: function fail(e) {\n console.warn(e);_gui2.default.notify.error(t(\"info.server_error\"));\n },\n always: function always() {\n return _this.loading = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n $('#' + this.mediaid).fileupload('destroy');\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"g3w_input_button skin-border-color\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"2px\",\"width\":\"100%\",\"cursor\":\"pointer\",\"text-align\":\"center\"},on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"fa-2x skin-color\",class:_vm.g3wtemplate.getFontClass('file-upload'),staticStyle:{\"padding\":\"5px\"}},[_c('input',{class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"display\":\"none\"},attrs:{\"id\":_vm.mediaid,\"name\":_vm.state.name,\"tabIndex\":_vm.tabIndex,\"data-url\":_vm.state.input.options.uploadurl,\"type\":\"file\"}})])]),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('g3w-media',{attrs:{\"state\":_vm.data}},[_c('div',{staticClass:\"clearmedia\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMedia()}}},[_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o']})])])],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":130,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":175,\"utils/getUniqueDomId\":219}],75:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\nvar Service = require('gui/inputs/picklayer/service');\n\nexports.default = {\n name: 'input-picklayer',\n\n mixins: [Input],\n methods: {\n pickLayer: function pickLayer() {\n var _this = this;\n\n this.pickservice.pick().then(function (value) {\n return _this.state.value = value;\n }).catch(function () {});\n },\n unpick: function unpick() {\n var _this2 = this;\n\n setTimeout(function () {\n return !_this2.pickservice.isPicked() && _this2.pickservice.unpick();\n }, 200);\n }\n },\n created: function created() {\n this.pickservice = new Service(this.state.input.options);\n },\n beforeDestroy: function beforeDestroy() {\n this.pickservice.clear();\n this.pickservice = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"left\":\"0\",\"top\":\"7px\",\"position\":\"absolute\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},style:({cursor: _vm.editable ? 'pointer': null}),attrs:{\"readonly\":\"readonly\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"click\":_vm.pickLayer,\"blur\":_vm.unpick}})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19}],76:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-radio',\n\n mixins: [Input],\n data: function data() {\n return {\n ids: [(0, _getUniqueDomId.getUniqueDomId)(), (0, _getUniqueDomId.getUniqueDomId)()],\n name: 'name_' + (0, _getUniqueDomId.getUniqueDomId)(),\n radio_value: this.state.value\n };\n },\n\n watch: {\n 'radio_value': function radio_value() {\n this.state.value = this.radio_value;\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},_vm._l((_vm.state.input.options.values),function(value,index){return _c('span',{key:value.key},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.radio_value),expression:\"radio_value\"}],staticClass:\"magic-radio\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"id\":_vm.ids[index],\"name\":_vm.name,\"tabIndex\":_vm.tabIndex,\"type\":\"radio\"},domProps:{\"value\":value.value,\"checked\":_vm._q(_vm.radio_value,value.value)},on:{\"change\":function($event){_vm.radio_value=value.value}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.ids[index]}},[_vm._v(_vm._s(value.key))])])}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":219}],77:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-range',\n\n mixins: [Input],\n data: function data() {\n var _state$input$options$ = this.state.input.options.values[0],\n min = _state$input$options$.min,\n max = _state$input$options$.max,\n step = _state$input$options$.Step;\n\n return {\n min: min,\n max: max,\n step: step\n };\n },\n\n methods: {\n checkValue: function checkValue() {\n var isEmpty = null === this.state.value || _.isEmpty(('' + this.state.value).trim());\n\n if (isEmpty && !this.state.validate.required) {\n this.state.value = this.state.input.options.values[0].default;\n }\n\n this.state.validate.valid = !this.state.validate.required;\n\n if (!isEmpty) {\n this.state.validate.valid = this.service.getValidator().validate(this.state.value);\n }\n\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }$event.stopPropagation();}],\"change\":_vm.checkValue,\"blur\":_vm.checkValue,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],78:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-input-pick-layer[data-v-6b3d29b0]{cursor:pointer;position:relative;top:2px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PickLayerInputService = require('gui/inputs/picklayer/service');\n\nvar _require = require('map/layers/layer'),\n Layer = _require.Layer;\n\nvar InputMixin = require('gui/inputs/input');\n\nvar G3W_SELECT2_NULL_VALUE = null;exports.default = {\n name: 'input-select',\n\n mixins: [InputMixin, _mixins.selectMixin, _mixins.select2Mixin],\n data: function data() {\n return {\n showPickLayer: false,\n picked: false,\n filterFields: [],\n isFilterFieldsReady: false };\n },\n\n computed: {\n showNullOption: function showNullOption() {\n return false === this.multiple && [undefined, true].includes(this.state.nullOption);\n },\n select2NullValue: function select2NullValue() {\n return this.showNullOption && G3W_SELECT2_NULL_VALUE;\n }\n },\n methods: {\n pickLayerValue: function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n if (this.picked) {\n this.pickLayerInputService.unpick();\n this.picked = false;\n } else {\n this.picked = true;\n var values = yield this.pickLayerInputService.pick();\n\n if (this.autocomplete) {\n this.state.input.options.values.splice(0, this.state.input.options.values.length, {\n key: values[this.state.input.options.value],\n value: values[this.state.input.options.key]\n });\n yield this.$nextTick();\n }\n\n var field = this.state.input.options.key;\n\n var value = values[field];\n\n if (this.multiple) {\n value = undefined === this.getMultiValues().find(function (v) {\n return value == v;\n }) ? '{' + [].concat(_toConsumableArray(this.getMultiValues()), [value]).join() + '}' : this.state.value;\n }\n\n if (value != this.state.value) {\n yield this.changeSelect(value);\n\n this.select2.val(this.multiple ? this.getMultiValues() : value).trigger('change');\n }\n\n _gui2.default.showUserMessage({ type: 'success', autoclose: true });\n\n this.picked = false;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: \"warning\",\n message: 'sdk.form.inputs.messages.errors.picklayer',\n autoclose: true\n });\n this.picked = false;\n }\n });\n\n function pickLayerValue() {\n return _ref.apply(this, arguments);\n }\n\n return pickLayerValue;\n }(),\n getMultiValues: function getMultiValues() {\n var _this = this;\n\n return [undefined, null, ''].includes(this.state.value) ? [] : Array.from(new Set(('' + this.state.value).replace(/^{|}$/g, '').replace(/\"/g, \"\").split(','))).filter(function (v) {\n return _this.state.input.options.values.map(function (_ref2) {\n var value = _ref2.value;\n return '' + value;\n }).includes('' + v);\n });\n },\n setAndListenSelect2Change: function setAndListenSelect2Change() {\n var _this2 = this;\n\n this.select2.on('select2:unselect', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n if (_this2.multiple) {\n var values = _this2.getMultiValues().filter(function (v) {\n return v != value;\n });\n _this2.changeSelect(0 === values.length ? null : '{' + values.join() + '}');\n }\n\n if (_this2.showNullOption && !_this2.multiple) {\n _this2.changeSelect(null);\n }\n });\n\n this.select2.on('select2:select', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n\n value = _this2.showNullOption ? value === G3W_SELECT2_NULL_VALUE ? null : value.toString() : value.toString();\n\n if (_this2.multiple) {\n value = _this2.getMultiValues().length > 0 ? '{' + [].concat(_toConsumableArray(_this2.getMultiValues()), [value]).join() + '}' : '{' + value + '}';\n }\n\n _this2.changeSelect(value);\n });\n }\n },\n\n watch: {\n 'state.input.options.values': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n yield this.$nextTick();\n if (this.autocomplete) {\n return;\n }\n var value = void 0;\n\n var is_empty = 0 === values.length;\n\n if (is_empty || this.multiple && 0 === this.getMultiValues().length) {\n value = G3W_SELECT2_NULL_VALUE;\n }\n\n if (!is_empty && this.multiple && this.getMultiValues().length > 0) {\n value = '{' + this.getMultiValues().join() + '}';\n }\n\n if (!is_empty && !this.multiple) {\n value = (values.find(function (_ref4) {\n var value = _ref4.value;\n return value == _this3.state.value;\n }) || { value: G3W_SELECT2_NULL_VALUE }).value;\n }\n\n var changed = value != this.state.value;\n\n this.state.value = value;\n\n this.select2.val(this.multiple ? this.getMultiValues() : this.state.value).trigger('change');\n\n if (changed) {\n this.change();\n }\n });\n\n function stateInputOptionsValues() {\n return _ref3.apply(this, arguments);\n }\n\n return stateInputOptionsValues;\n }()\n },\n\n created: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.unwatch;\n this.filterFieldsUnwatches;\n\n var _state$input$options = this.state.input.options,\n relation_id = _state$input$options.relation_id,\n _state$input$options$ = _state$input$options.filter_fields,\n filter_fields = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.relation_reference,\n relation_reference = _state$input$options$2 === undefined ? false : _state$input$options$2,\n _state$input$options$3 = _state$input$options.chain_filters,\n chain_filters = _state$input$options$3 === undefined ? false : _state$input$options$3,\n _state$input$options$4 = _state$input$options.allowmulti,\n allowmulti = _state$input$options$4 === undefined ? false : _state$input$options$4;\n\n this.multiple = allowmulti;\n\n if (relation_reference && Array.isArray(filter_fields) && filter_fields.length > 0) {\n this.setLoading(true);\n\n this.isFilterFieldsReady = false;\n\n var _ApplicationState$pro = _application2.default.project.getRelationById(relation_id),\n referencedLayer = _ApplicationState$pro.referencedLayer,\n referencingLayer = _ApplicationState$pro.referencingLayer,\n _ApplicationState$pro2 = _ApplicationState$pro.fieldRef,\n referencingField = _ApplicationState$pro2.referencingField,\n referencedField = _ApplicationState$pro2.referencedField;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(referencingLayer);\n\n var relationLayer = (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer);\n\n var relationLayerFields = relationLayer.getFields();\n\n if (null !== this.state.value) {\n try {\n var _ref6 = yield relationLayer.getFilterData({\n formatter: 0,\n field: (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: referencedField[0],\n value: this.state.value })\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n this.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n order: referencingField[0],\n ffield: filter_fields.map(function (f, i) {\n var value = undefined === data[0].features[0].get(f) ? '' + G3W_SELECT2_NULL_VALUE : data[0].features[0].get(f);\n\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: value,\n disabled: chain_filters && i > 0 && '' + G3W_SELECT2_NULL_VALUE === _this4.filterFields[filter_fields[i - 1]]\n });\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f,\n value: value\n });\n }).join('|AND,')\n })).data || []).map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n value = _ref8[0],\n key = _ref8[1];\n\n return { key: key, value: value };\n });\n\n if (chain_filters) {\n (yield relationLayer.getFilterData({\n unique: filter_fields[0],\n ordering: filter_fields[0],\n formatter: 0\n })).forEach(function (v) {\n return _this4.filterFields[0].values.push({ key: v, value: v });\n });\n\n (yield Promise.allSettled(filter_fields.slice(1).map(function (f, i) {\n return relationLayer.getFilterData({\n unique: filter_fields[i + 1],\n ordering: filter_fields[i + 1],\n formatter: 0,\n field: _this4.filterFields.slice(0, i + 1).filter(function (f) {\n return 'null' !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,')\n });\n }))).forEach(function (_ref9, i) {\n var status = _ref9.status,\n data = _ref9.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i + 1].values.push({ key: v, value: v });\n });\n }\n });\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f) {\n return relationLayer.getFilterData({ unique: f, ordering: f, formatter: 0 });\n }))).forEach(function (_ref10, index) {\n var status = _ref10.status,\n data = _ref10.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[index].values.push({ key: v, value: v });\n });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f, i) {\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: '' + G3W_SELECT2_NULL_VALUE,\n disabled: chain_filters && i > 0\n });\n return relationLayer.getFilterData({\n unique: f,\n formatter: 0,\n ordering: f\n });\n }))).forEach(function (_ref11, i) {\n var status = _ref11.status,\n data = _ref11.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i].values.push({ key: v, value: v });\n });\n }\n });\n }\n\n this.filterFieldsUnwatches = this.filterFields.map(function (f, index) {\n return _this4.$watch(function () {\n return f.value;\n }, function () {\n var _ref12 = _asyncToGenerator(function* (value) {\n _this4.setLoading(true);\n\n if (chain_filters) {\n for (var i = index + 1; i < _this4.filterFields.length; i++) {\n _this4.filterFields[i].value = '' + G3W_SELECT2_NULL_VALUE;\n _this4.filterFields[i].values = [_this4.filterFields[i].values[0]];\n _this4.filterFields[i].disabled = '' + G3W_SELECT2_NULL_VALUE === value;\n }\n try {\n var filter = _this4.filterFields.slice(0, index + 1).filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,');\n\n var _ref13 = yield relationLayer.getFilterData({ field: filter }),\n _ref13$data = _ref13.data,\n rdata = _ref13$data === undefined ? [] : _ref13$data;\n\n if (rdata[0] && rdata[0].features) {\n var filterReferencedFieldValues = [];\n rdata[0].features.forEach(function (f) {\n filterReferencedFieldValues.push(f.get(referencedField));\n if (index < _this4.filterFields.length - 1) {\n var _value = f.get(_this4.filterFields[index + 1].id);\n _this4.filterFields[index + 1].values.push({ key: _value, value: _value });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n _this4.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n ordering: referencingField[0],\n ffield: _this4.filterFields.filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: f.id, value: f.value });\n }).join('|AND,')\n })).data || []).map(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n value = _ref15[0],\n key = _ref15[1];\n\n return { key: key, value: value };\n });\n\n if (_this4.state.input.options.values.length > 0) {\n _this4.state.value = _this4.state.input.options.values[0].value;\n _this4.select2.val(_this4.state.value).trigger('change');\n yield _this4.changeSelect(_this4.state.value);\n }\n\n _this4.setLoading(false);\n });\n\n return function (_x2) {\n return _ref12.apply(this, arguments);\n };\n }());\n });\n\n this.setLoading(false);\n\n this.isFilterFieldsReady = true;\n }\n\n if ('select_autocomplete' === this.state.input.type) {\n var dependencyLayerId = this.state.input.options.layer_id;\n try {\n var dependencyLayer = _gui2.default.getService('map').getProjectLayer(dependencyLayerId).getEditingLayer() || (0, _getCatalogLayerById.getCatalogLayerById)(dependencyLayerId);\n\n this.showPickLayer = dependencyLayer && Layer.LayerTypes.TABLE !== dependencyLayer.getType();\n if (this.showPickLayer) {\n var _state$input$options2 = this.state.input.options,\n key = _state$input$options2.key,\n value = _state$input$options2.value,\n layer_id = _state$input$options2.layer_id;\n\n this.pickLayerInputService = new PickLayerInputService({\n layer_id: layer_id,\n fields: [value, key],\n pick_type: dependencyLayer.isStarted && dependencyLayer.isStarted() ? 'map' : null\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref5.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n var selectElement = $(this.$refs.select);\n var language = this.getLanguage();\n var dropdownParent = undefined === this.state.dropdownParent && $('#g3w-view-content');\n if (this.autocomplete) {\n this.select2 = selectElement.select2({\n minimumInputLength: 1,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n allowClear: this.showNullOption,\n placeholder: '',\n language: language,\n ajax: {\n delay: 250,\n transport: function transport(params, success, failure) {\n var search = params.data.term;\n\n $('.select2-results__option.loading-results').siblings().hide();\n _this5.resetValues();\n _this5.service.getData({ search: search }).then(function (values) {\n return success(values);\n }).catch(function (e) {\n console.warn(e);failure(e);\n });\n },\n processResults: function processResults(data, params) {\n params.page = params.page || 1;\n return {\n results: data,\n pagination: {\n more: false\n }\n };\n } }\n });\n\n if (this.state.value) {\n this.state.input.options.values.splice(0);\n\n yield this.service.getKeyByValue({\n search: this.state.value\n });\n }\n } else {\n this.select2 = selectElement.select2({\n language: language,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n minimumResultsForSearch: this.isMobile() ? -1 : null\n });\n }\n this.setAndListenSelect2Change();\n\n if (this.multiple && this.getMultiValues().length > 0) {\n this.select2.val(this.getMultiValues()).trigger('change');\n } else {\n this.setValue();\n }\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.pickLayerInputService) {\n this.pickLayerInputService.clear();\n this.pickLayerInputService = null;\n }\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n }\n\n if (this.filterFieldsUnwatches) {\n this.filterFieldsUnwatches.forEach(function (uw) {\n return uw();\n });\n this.filterFieldsUnwatches = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[(_vm.showPickLayer)?_c('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\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],staticClass:\"g3w-input-pick-layer skin-color\",attrs:{\"slot\":\"label-action\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.pickLayerValue($event)}},slot:\"label-action\"},[_c('i',{class:_vm.g3wtemplate.font['crosshairs']})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex},slot:\"body\"},[(_vm.filterFields.length > 0 && _vm.isFilterFieldsReady)?_c('div',{staticClass:\"g3w-relation-reference-fields-content\"},[_vm._l((_vm.filterFields),function(rf,index){return [_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('filterFields'),expression:\"'filterFields'\"}],ref:(\"filterField_\" + (rf.id)),refInFor:true,staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"select2_value\":rf.value,\"indexItem\":index,\"id\":rf.id,\"disabled\":rf.disabled}},_vm._l((rf.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])}),0)]}),_vm._v(\" \"),_c('divider')],2):_vm._e(),_vm._v(\" \"),_c('select',{ref:\"select\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"}},[(_vm.showNullOption)?_c('option',{domProps:{\"value\":_vm.select2NullValue}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{key:_vm.getValue(value),domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])})],2)]),_vm._v(\" \"),('error' === _vm.loadingState )?_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('server_error'),expression:\"'server_error'\"}],staticClass:\"error-input-message\",attrs:{\"slot\":\"message\"},slot:\"message\"}):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6b3d29b0\"\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19,\"map/layers/layer\":157,\"mixins\":167,\"services/gui\":175,\"store/application\":180,\"utils/createSingleFieldParameter\":198,\"utils/getCatalogLayerById\":205,\"vueify/lib/insert-css\":2}],79:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-slider-range',\n\n mixins: [Input],\n watch: {\n 'state.input.options.min': function stateInputOptionsMin() {\n this.service.changeInfoMessage();\n },\n 'state.input.options.max': function stateInputOptionsMax() {\n this.service.changeInfoMessage();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"min\":_vm.state.input.options.min,\"max\":_vm.state.input.options.max,\"type\":\"range\",\"step\":_vm.state.input.options.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],80:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-text\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"keyup\":function($event){_vm.isMobile() ? _vm.mobileChange($event) : _vm.change()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],81:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"textarea[data-v-3ac5abe4]{resize:none;border:1px solid #ccc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-textarea\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('textarea',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"max-width\":\"100%\",\"min-width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"rows\":\"3\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":function($event){$event.stopPropagation();},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"change\":_vm.change},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3ac5abe4\"\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],82:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"button.ql-html{width:40px!important}button.ql-html:after{content:\\\"html\\\"}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-html\",\n\n mixins: [Input],\n methods: {\n setupTableCustomTools: function setupTableCustomTools() {\n var buttonColumnLeft = this.$el.querySelector('.ql-column-left');\n buttonColumnLeft.innerHTML = '';\n buttonColumnLeft.title = \"Add column left\";\n\n var buttonColumnRight = this.$el.querySelector('.ql-column-right');\n buttonColumnRight.innerHTML = '';\n buttonColumnRight.title = \"Add column right\";\n\n var buttonColumnRemove = this.$el.querySelector('.ql-column-remove');\n buttonColumnRemove.innerHTML = '';\n buttonColumnRemove.title = \"Remove column\";\n\n var buttonRowAbove = this.$el.querySelector('.ql-row-above');\n buttonRowAbove.innerHTML = '';\n buttonRowAbove.title = \"Add row above\";\n\n\n var buttonRowBelow = this.$el.querySelector('.ql-row-below');\n buttonRowBelow.innerHTML = '';\n buttonRowBelow.title = \"Add row below\";\n\n var buttonRowRemove = this.$el.querySelector('.ql-row-remove');\n buttonRowRemove.innerHTML = '';\n buttonRowRemove.title = \"Remove row\";\n }\n },\n created: function created() {\n this.edit_state = {\n edit: false,\n show_html: false\n };\n\n if (!this.state.edit_states) {\n this.state.edit_states = [];\n }\n this.state.edit_states.push(this.edit_state);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var toolbarOptions = [[{ header: [1, 2, 3, 4, 5, 6, false] }], [{ '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']];\n yield this.$nextTick();\n this.quill = new Quill(this.$refs.quill_editor, {\n modules: {\n table: true,\n toolbar: {\n container: toolbarOptions,\n handlers: {\n html: function html() {\n _this.edit_state.show_html = !_this.edit_state.show_html;\n if (_this.edit_state.show_html) {\n _this.quill.container.firstChild.innerText = _this.quill.container.firstChild.innerHTML;\n } else {\n _this.quill.container.firstChild.innerHTML = _this.quill.container.firstChild.innerText;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.$el.querySelectorAll('.ql-formats')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var qlformat = _step.value;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = qlformat.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var child = _step2.value;\n\n if (!child.classList.contains('ql-html')) {\n child.classList.toggle('g3w-disabled');\n } else {\n child.classList.toggle('skin-color');\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n },\n 'column-left': function columnLeft() {\n return _this.table.insertColumnLeft();\n },\n 'column-right': function columnRight() {\n return _this.table.insertColumnRight();\n },\n 'column-remove': function columnRemove() {\n return _this.table.deleteColumn();\n },\n 'row-above': function rowAbove() {\n return _this.table.insertRowAbove();\n },\n 'row-below': function rowBelow() {\n return _this.table.insertRowBelow();\n },\n 'row-remove': function rowRemove() {\n return _this.table.deleteRow();\n }\n }\n\n }\n },\n theme: 'snow'\n });\n this.quill.container.firstChild.innerHTML = this.state.value;\n\n this.table = this.quill.getModule('table');\n this.setupTableCustomTools();\n\n this.handler = function () {\n _this.state.value = _this.edit_state.show_html ? _this.quill.container.firstChild.innerText : _this.quill.container.firstChild.innerHTML;\n _this.edit_state.edit = true;\n _this.change();\n setTimeout(function () {\n return _this.edit_state.edit = false;\n });\n };\n\n this.quill.on('text-change', this.handler);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n 'state.value': function stateValue(value) {\n if (!this.edit_state.edit) {\n if (this.edit_state.show_html) {\n this.quill.container.firstChild.innerText = value;\n } else {\n this.quill.container.firstChild.innerHTML = value;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.quill.off('text-change', this.handler);\n this.handler = null;\n this.quill = null;\n this.edit_state.edit = false;\n this.edit_state.show_html = false;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('div',{ref:\"quill_editor\",staticClass:\"form-control\",style:({border: _vm.novalid ? '1px solid reed' : '1px solid #ccc'}),attrs:{\"slot\":\"body\"},on:{\"keydown\":function($event){$event.stopPropagation();}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-unique\",\n\n mixins: [Input, _mixins.selectMixin],\n data: function data() {\n return { id: 'unique_' + (0, _getUniqueDomId.getUniqueDomId)() };\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.select2 = $('#' + this.id).select2({\n dropdownParent: $('#g3w-view-content'),\n tags: this.state.input.options.editable,\n language: this.getLanguage()\n });\n if (null !== this.state.value) {\n this.select2.val(this.state.value).trigger('change');\n }\n this.select2.on('select2:select', function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n _this.state.value = 'null' === value ? null : ['integer', 'float', 'bigint'].includes(_this.state.type) ? Number(value) : value;\n\n _this.changeSelect(_this.state.value);\n yield _this.$nextTick();\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('select',{staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"id\":_vm.id,\"tabIndex\":_vm.tabIndex},slot:\"body\"},[_c('option',{attrs:{\"value\":\"null\"}}),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(value){return _c('option',{key:value,domProps:{\"value\":_vm.getValue(value)}},[_vm._v(_vm._s(_vm.getValue(value)))])})],2)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":167,\"utils/getUniqueDomId\":219}],84:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#marker[data-v-70e886b4]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-70e886b4]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-70e886b4]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:hsla(0,0%,100%,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-70e886b4]{position:relative;width:100%;height:100%}.g3w-map[data-v-70e886b4]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-70e886b4]{display:block}.g3w-map.hide[data-v-70e886b4]{display:none}#map_footer[data-v-70e886b4]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:hsla(0,0%,100%,.7)}#permalink[data-v-70e886b4]{font-weight:700;font-size:1.2em;padding:5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-70e886b4]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-70e886b4]{padding:3px}#map_footer_right[data-v-70e886b4]{flex-shrink:0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _copyUrl = require('utils/copyUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-map',\n\n data: function data() {\n var service = this.$options.service;\n\n return {\n target: this.$options.service.target,\n hidemaps: service.state.hidemaps,\n map_info: service.state.map_info,\n service: service,\n mouse: {\n visible: true,\n switch_icon: false,\n epsg_4326: false,\n tooltip: null\n },\n urlCopied: false,\n mapunit: _application2.default.map.unit\n };\n },\n\n\n computed: {\n version: function version() {\n return 'Powered by G3W-SUITE ' + initConfig.version;\n },\n showmapunits: function showmapunits() {\n return this.service.state.mapunits.length > 1;\n }\n },\n\n methods: {\n showHideControls: function showHideControls() {\n this.service.getMapControls().forEach(function (c) {\n return \"scaleline\" !== c.type && c.control.showHide();\n });\n },\n createCopyMapExtentUrl: function createCopyMapExtentUrl() {\n var _this = this;\n\n var url = new URL(location.href);\n url.searchParams.set('map_extent', this.service.getMapExtent().toString());\n (0, _copyUrl.copyUrl)(url.toString());\n this.urlCopied = !this.urlCopied;\n setTimeout(function () {\n return _this.urlCopied = false;\n }, 5000);\n },\n switchMapsCoordinateTo4326: function switchMapsCoordinateTo4326() {\n this.mouse.epsg_4326 = !this.mouse.epsg_4326;\n this.service.getMapControlByType({ type: 'mouseposition' }).dispatchEvent({\n type: 'change:epsg',\n epsg: this.mouse.epsg_4326 ? 'EPSG:4326' : this.service.getEpsg()\n });\n }\n },\n\n watch: {\n 'mapunit': function mapunit(unit) {\n _application2.default.map.unit = unit;\n this.service.changeScaleLineUnit(unit);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.crs = this.service.getCrs();\n\n yield this.$nextTick();\n\n this.service.onafter('addHideMap', _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref3.ratio,\n _ref3$layers = _ref3.layers,\n layers = _ref3$layers === undefined ? [] : _ref3$layers,\n _ref3$mainview = _ref3.mainview,\n mainview = _ref3$mainview === undefined ? false : _ref3$mainview,\n _ref3$switchable = _ref3.switchable,\n switchable = _ref3$switchable === undefined ? false : _ref3$switchable;\n\n yield _this2.$nextTick();\n _this2.service._addHideMap({ ratio: ratio, layers: layers, mainview: mainview, switchable: switchable });\n }));\n\n this.service.once('ready', function () {\n if (_this2.service.getMapControlByType({ type: 'mouseposition' })) {\n _this2.mouse.switch_icon = _this2.service.getMapControlByType({ type: 'mouseposition' }) && 'EPSG:4326' !== _this2.service.getEpsg();\n _this2.mouse.tooltip = 'ESPG ' + _this2.service.getCrs().split(':')[1] + ' \\u2194 WGS84';\n } else {\n _this2.mouse.visible = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g3w-maps\"}},[_vm._l((_vm.hidemaps),function(hidemap){return _c('div',{key:hidemap.id,staticClass:\"g3w-map hidemap\",attrs:{\"id\":hidemap.id}})}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map\",attrs:{\"id\":_vm.target}},[_c('div',{ref:\"g3w-map-controls\",staticClass:\"g3w-map-controls rv\",staticStyle:{\"display\":\"flex\"}}),_vm._v(\" \"),(_vm.map_info.info)?_c('div',{ref:\"g3w-map-info\",style:(_vm.map_info.style),attrs:{\"id\":\"g3w-map-info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.map_info.info)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map-controls-left-bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"skin-border-color\",attrs:{\"id\":\"map_footer\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_left\"}},[_c('a',{staticStyle:{\"margin-left\":\"5px\",\"align-self\":\"center\"},attrs:{\"href\":\"https://g3wsuite.it/\",\"target\":\"_blank\",\"title\":_vm.version}},[_c('img',{attrs:{\"height\":\"15\",\"src\":\"/static/client/images/g3wsuite_logo.png\",\"alt\":\"\"}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_right\"}},[(_vm.mouse.visible && _vm.mouse.switch_icon && !_vm.isMobile())?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.mouse.tooltip),expression:\"mouse.tooltip\",arg:\"top\",modifiers:{\"create\":true}}],attrs:{\"id\":\"switch-mouse-coordinate\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.switchMapsCoordinateTo4326($event)}}},[_c('span',{staticClass:\"skin-color-dark hide-cursor-caret-color\",class:_vm.$fa('mouse')})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mouse.visible),expression:\"mouse.visible\"}],attrs:{\"id\":\"mouse-position-control\"}}),_vm._v(\" \"),_c('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\":true}}],staticClass:\"skin-color-dark\",class:( _obj = {}, _obj[_vm.$fa('link')] = !_vm.urlCopied, _obj[_vm.$fa('success')] = _vm.urlCopied, _obj ),attrs:{\"id\":\"permalink\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.createCopyMapExtentUrl($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"scale-control\"}}),_vm._v(\" \"),(_vm.showmapunits)?_c('div',{attrs:{\"id\":\"scale-line-units\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mapunit),expression:\"mapunit\"}],staticClass:\"skin-color-dark\",staticStyle:{\"padding\":\"5px 2px\",\"font-weight\":\"bold\",\"border\":\"0\",\"cursor\":\"pointer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mapunit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.service.state.mapunits),function(unit){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.mapcontrols.scaleline.units.\" + unit)),expression:\"`sdk.mapcontrols.scaleline.units.${unit}`\"}],staticStyle:{\"font-weight\":\"bold\"},domProps:{\"value\":unit,\"selected\":_vm.mapunit === unit}})}),0)]):_vm._e()])])],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{attrs:{\"id\":\"marker\"}})])}]\n__vue__options__._scopeId = \"data-v-70e886b4\"\n\n},{\"store/application\":180,\"utils/copyUrl\":192,\"vueify/lib/insert-css\":2}],85:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-2e549814]{margin:10px 0;position:relative;border:2px dashed #97a1a8}#addcustomlayer h4[data-v-2e549814],#addcustomlayer p[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8;font-family:Arial}#addcustomlayer div[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8}#addcustomlayer input[data-v-2e549814]{position:absolute;margin:0;padding:0;width:100%;height:100%;outline:none;opacity:0;cursor:pointer}.g3w-add-wms-url-message[data-v-2e549814]{font-weight:700;color:#000}.g3w-wmsurl-error[data-v-2e549814]{background-color:red}.g3w-wmsurl-already-added[data-v-2e549814]{color:inherit;font-weight:400;display:inline-block}#add_custom_url_wms_input[data-v-2e549814]::placeholder{font-size:85%;opacity:.5}.wms-icon-action[data-v-2e549814]{font-weight:700;font-size:1.3em;cursor:pointer}.g3w-wms-panel-title[data-v-2e549814]{font-size:1.2em;font-weight:700;margin-bottom:10px}button.wms-add-layer-button[data-v-2e549814]{width:100%;margin-top:10px}.g3w-wms-external-panel-layer-added-message[data-v-2e549814]{font-weight:700;color:red;margin:5px 0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _vueColor = require('vue-color');\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SUPPORTED_FORMAT = ['zip', 'geojson', 'GEOJSON', 'kml', 'kmz', 'KMZ', 'KML', 'json', 'gpx', 'gml', 'csv'];\n\nexports.default = {\n name: 'map-add-layer',\n\n data: function data() {\n\n var crs = _application2.default.project.getProjection().getCode();\n\n if (!_g3wConstants.EPSG.includes(crs)) {\n _g3wConstants.EPSG.unshift(crs);\n }\n\n return {\n layer_type: undefined,\n wms_panel: false,\n adminwmsurls: this.$options.wmsurls || _application2.default.project.wmsurls || [],\n localwmsurls: [],\n url: null,\n id: null,\n status: { error: false, added: false },\n vectorLayer: null,\n options: _g3wConstants.EPSG,\n error_message: '',\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n accepted_extension: SUPPORTED_FORMAT.map(function (f) {\n return '.' + f;\n }).join(','),\n csv: {\n valid: false,\n loading: false,\n headers: [],\n x: null,\n y: null,\n separators: [',', ';'],\n separator: ','\n },\n layer: {\n name: null,\n type: null,\n crs: null,\n mapCrs: null,\n color: {\n hex: '#194d33',\n rgba: {\n r: 25,\n g: 77,\n b: 51,\n a: 1\n },\n a: 1\n },\n data: null,\n visible: true,\n title: null,\n id: null,\n external: true\n },\n name: undefined,\n title: null,\n abstract: null,\n map_formats: [],\n info_formats: [],\n methods: [],\n layers: [],\n selectedlayers: [],\n projections: [],\n epsg: null,\n added: false };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n csv_extension: function csv_extension() {\n return 'csv' === this.layer.type;\n },\n add: function add() {\n return this.layer.data || this.csv.valid;\n },\n inputswmsurlvalid: function inputswmsurlvalid() {\n return this.url !== null && this.url.trim() && this.url && this.url.match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g) && this.id !== null && this.id.trim();\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n },\n onChangeFile: function () {\n var _ref = _asyncToGenerator(function* (evt) {\n var _this = this;\n\n var reader = new FileReader();\n var name = evt.target.files[0].name;\n var type = name.split('.').at(-1).toLowerCase();\n var input_file = $(this.$refs.input_file);\n\n if (!SUPPORTED_FORMAT.includes(type)) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n this.error_message = '';\n\n this.layer.mapCrs = _gui2.default.getService('map').getEpsg();\n this.layer.name = name;\n this.layer.title = name;\n this.layer.id = name;\n this.layer.type = type;\n this.layer.data = yield new Promise(function (resolve) {\n if (['zip', 'kmz'].includes(_this.layer.type)) {\n _this.layer.crs = 'EPSG:4326';\n var data = evt.target.files[0];\n input_file.val(null);\n return resolve(data);\n }\n\n reader.onload = function (evt) {\n if ('csv' === _this.layer.type) {\n input_file.val(null);\n\n var _evt$target$result$sp = evt.target.result.split(/\\r\\n|\\n/).filter(function (row) {\n return row;\n }),\n _evt$target$result$sp2 = _toArray(_evt$target$result$sp),\n headers = _evt$target$result$sp2[0],\n values = _evt$target$result$sp2.slice(1);\n\n var handle_csv_headers = function handle_csv_headers(separator) {\n _this.csv.loading = true;\n var csv_headers = headers.split(separator);\n var len = csv_headers.length;\n _this.csv.headers = len > 1 ? csv_headers : [];\n _this.csv.fields = len > 1 ? csv_headers : [];\n _this.csv.x = len > 1 ? csv_headers[0] : _this.csv.x;\n _this.csv.y = len > 1 ? csv_headers[1] : _this.csv.y;\n _this.vectorLayer = len > 1 ? _this.vectorLayer : null;\n _this.csv.valid = len > 1;\n if (len <= 1) {\n _this.fields.splice(0);\n }\n _this.csv.loading = false;\n return len > 1 ? {\n headers: csv_headers,\n separator: separator,\n x: _this.csv.x,\n y: _this.csv.y,\n values: values\n } : null;\n };\n _this.$watch('csv.separator', function (s) {\n return _this.layer.data = handle_csv_headers(s);\n });\n return resolve(handle_csv_headers(_this.csv.separator));\n }\n\n var data = evt.target.result;\n input_file.val(null);\n resolve(data);\n };\n reader.readAsText(evt.target.files[0]);\n });\n\n if ('csv' === this.layer.type) {\n return;\n }\n\n (this.fields || []).splice(0);\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield this.$nextTick();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n if (this.vectorLayer) {\n this.fields = this.vectorLayer.get('_fields');\n }\n });\n\n function onChangeFile(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onChangeFile;\n }(),\n addLayer: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (!(this.layer.data || this.csv.valid)) {\n return;\n }\n\n try {\n yield _projections2.default.registerProjection(this.layer.crs);\n } catch (e) {\n this.error_message = 'sdk.errors.' + e;\n console.warn(e);\n return;\n }\n\n this.loading = true;\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield _gui2.default.getService('map').addExternalLayer(this.vectorLayer, {\n crs: this.layer.crs,\n type: this.layer.type,\n position: this.position,\n color: this.layer.color,\n field: this.field,\n persistent: !!this.persistent\n });\n $(this.$refs.modal_addlayer).modal('hide');\n this.clearFile();\n } catch (e) {\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n this.loading = false;\n });\n\n function addLayer() {\n return _ref2.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n clearFile: function clearFile() {\n this.error_message = '';\n this.loading = false;\n this.layer.name = null;\n this.layer.title = null;\n this.layer.id = null;\n this.layer.type = null;\n this.layer.crs = _gui2.default.getService('map').getCrs();\n this.layer.color = { hex: '#194d33', rgba: { r: 25, g: 77, b: 51, a: 1 }, a: 1 };\n this.layer.data = null;\n this.vectorLayer = null;\n this.fields = [];\n this.field = null;\n this.csv.valid = false;\n },\n clearPanel: function clearPanel() {\n this.wms_panel = false;\n this.selectedlayers = [];\n this.name = null;\n this.loading = false;\n },\n addNewUrl: function () {\n var _ref3 = _asyncToGenerator(function* (wms) {\n var found = this.localwmsurls.find(function (l) {\n return l.url == wms.url || l.id == wms.id;\n });\n var status = { error: false, added: !!found };\n\n if (!found) {\n try {\n var response = yield this.getWMSLayers(wms.url);\n\n if (!response.result) {\n throw 'invalid response';\n }\n var data = this.getLocalWMSData();\n this.localwmsurls.push(wms);\n data.urls = this.localwmsurls;\n this.updateLocalWMSData(data);\n response.wmsurl = wms.url;\n this._showWmsLayersPanel(response);\n } catch (e) {\n console.warn(e);\n status.error = true;\n }\n }\n return status;\n });\n\n function addNewUrl(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return addNewUrl;\n }(),\n addwmsurl: function () {\n var _ref4 = _asyncToGenerator(function* () {\n this.loading = true;\n\n var _ref5 = yield this.addNewUrl({ url: this.url, id: this.id }),\n error = _ref5.error,\n added = _ref5.added;\n\n this.status.error = error;\n this.status.added = added;\n this.loading = false;\n });\n\n function addwmsurl() {\n return _ref4.apply(this, arguments);\n }\n\n return addwmsurl;\n }(),\n deleteWmsUrl: function deleteWmsUrl(id) {\n this.localwmsurls = this.localwmsurls.filter(function (l) {\n return id !== l.id;\n });\n var data = this.getLocalWMSData();\n data.urls = this.localwmsurls;\n this.updateLocalWMSData(data);\n },\n _addExternalWMSLayer: function _addExternalWMSLayer() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref6.url,\n layers = _ref6.layers,\n name = _ref6.name,\n _ref6$epsg = _ref6.epsg,\n epsg = _ref6$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref6$epsg,\n _ref6$position = _ref6.position,\n position = _ref6$position === undefined ? 'top' : _ref6$position,\n opacity = _ref6.opacity,\n _ref6$visible = _ref6.visible,\n visible = _ref6$visible === undefined ? true : _ref6$visible;\n\n var map = _gui2.default.getService('map');\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var projection = ol.proj.get(epsg);\n\n var promise = new Promise(function (res, rej) {\n var wmslayer = new RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: projection, url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n map.addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n\n return promise;\n },\n addWMSlayer: function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref8.url,\n _ref8$name = _ref8.name,\n name = _ref8$name === undefined ? 'wms_' + (0, _getUniqueDomId.getUniqueDomId)() : _ref8$name,\n _ref8$layers = _ref8.layers,\n layers = _ref8$layers === undefined ? [] : _ref8$layers,\n epsg = _ref8.epsg,\n position = _ref8.position,\n _ref8$visible = _ref8.visible,\n visible = _ref8$visible === undefined ? true : _ref8$visible,\n _ref8$opacity = _ref8.opacity,\n opacity = _ref8$opacity === undefined ? 1 : _ref8$opacity;\n\n try {\n var data = this.getLocalWMSData();\n\n if (this.wms_panel) {\n var wms = data.wms[this.url];\n this.added = wms && wms.some(function (w) {\n return w.layers.length === _this2.selectedlayers.length ? _this2.selectedlayers.every(function (l) {\n return w.layers.includes(l);\n }) : undefined;\n });\n if (this.added) {\n console.warn('WMS Layer already added');\n return;\n }\n this.loading = true;\n }\n\n var config = { url: url, name: name, layers: layers, epsg: epsg, position: position, visible: visible, opacity: opacity };\n\n if (undefined === data.wms[url]) {\n data.wms[url] = [config];\n } else {\n data.wms[url].push(config);\n }\n\n this.updateLocalWMSData(data);\n\n try {\n yield this._addExternalWMSLayer(config);\n } catch (e) {\n console.warn(e);\n _gui2.default.getService('map').removeExternalLayer(name);\n this.deleteWms(name);\n setTimeout(function () {\n _gui2.default.showUserMessage({ type: 'warning', message: 'sidebar.wms.layer_add_error' });\n });\n }\n } catch (e) {\n console.warn(e);\n }\n if (this.wms_panel) {\n this.clearPanel();\n $('#modal-addlayer').modal('hide');\n }\n });\n\n function addWMSlayer() {\n return _ref7.apply(this, arguments);\n }\n\n return addWMSlayer;\n }(),\n getWMSLayers: function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n try {\n return yield _data2.default.getData('ows:wmsCapabilities', { inputs: { url: url }, outputs: false });\n } catch (e) {\n console.warn(e);\n }\n return {\n result: false,\n layers: [],\n info_formats: [],\n abstract: null,\n methods: [],\n map_formats: [],\n title: null\n };\n });\n\n function getWMSLayers(_x5) {\n return _ref9.apply(this, arguments);\n }\n\n return getWMSLayers;\n }(),\n _showWmsLayersPanel: function _showWmsLayersPanel() {\n var _this3 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.wms_panel = true;\n this.wms_config = config;\n var _wms_config = this.wms_config,\n layers = _wms_config.layers,\n title = _wms_config.title,\n abstract = _wms_config.abstract,\n methods = _wms_config.methods,\n wmsurl = _wms_config.wmsurl;\n\n try {\n this.url = methods.GetMap.urls.find(function (u) {\n return 'Get' === u.type;\n }).url;\n } catch (e) {\n console.warn(e);\n this.url = wmsurl;\n }\n\n this.title = title;\n\n this.abstract = abstract;\n\n this.layerProjections = {};\n\n layers.forEach(function (_ref10) {\n var name = _ref10.name,\n crss = _ref10.crss,\n title = _ref10.title;\n\n _this3.layerProjections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n });\n\n this.layers = layers;\n },\n showWmsLayersPanel: function () {\n var _ref11 = _asyncToGenerator(function* (url) {\n var error = false;\n var added = false;\n try {\n this.loading = true;\n var d = yield this.getWMSLayers(url);\n error = !d.result;\n if (!error) {\n d.wmsurl = url;\n this._showWmsLayersPanel(d);\n }\n } catch (e) {\n console.warn(e);\n } finally {\n this.status.error = error;\n this.status.added = added;\n this.loading = false;\n }\n });\n\n function showWmsLayersPanel(_x7) {\n return _ref11.apply(this, arguments);\n }\n\n return showWmsLayersPanel;\n }(),\n deleteWms: function deleteWms(name) {\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (w) {\n return w.name == name;\n });\n\n if (-1 !== i) {\n data.wms[url].splice(i, 1);\n }\n\n if (-1 !== i && 0 == data.wms[url].length) {\n delete data.wms[url];\n }\n return true;\n });\n this.updateLocalWMSData(data);\n },\n changeLayerData: function changeLayerData(name) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (l) {\n return l.name == name;\n });\n if (-1 !== i) {\n data.wms[url][i][attr.key] = attr.value;\n return true;\n }\n });\n this.updateLocalWMSData(data);\n },\n getLocalWMSData: function getLocalWMSData() {\n var item = window.localStorage.getItem('externalwms');\n return ((item ? JSON.parse(item) : undefined) || {})[_application2.default.project.getId()];\n },\n updateLocalWMSData: function updateLocalWMSData(data) {\n var item = window.localStorage.getItem('externalwms');\n var alldata = (item ? JSON.parse(item) : undefined) || {};\n alldata[_application2.default.project.getId()] = data;\n try {\n window.localStorage.setItem('externalwms', JSON.stringify(alldata));\n } catch (e) {\n console.warn(e);\n }\n }\n },\n\n watch: {\n 'csv.x': function csvX(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.x = value;\n }\n },\n 'csv.y': function csvY(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.y = value;\n }\n },\n selectedlayers: function selectedlayers() {\n var _this4 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (0 === layers.length) {\n this.epsg = null;\n this.projections = [];\n } else if (1 === layers.length) {\n this.epsg = this.layerProjections[layers[0]].crss[0];\n this.projections = this.layerProjections[layers[0]].crss;\n } else {\n var name = layers[layers.length - 1];\n this.projections = this.projections.filter(function (p) {\n return _this4.layerProjections[name].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref13) {\n var name = _ref13.name;\n return _this5.layerProjections[name].crss.includes(_this5.epsg);\n });\n });\n\n function epsg() {\n return _ref12.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function layer_type(type) {\n if ('file' == type) {\n this.clearPanel();\n }\n }\n },\n\n created: function created() {\n this.layer.crs = _application2.default.project.getProjection().getCode();\n },\n mounted: function () {\n var _ref14 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n yield this.$nextTick();\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this6.layer_type = undefined;\n _this6.clearFile();\n _this6.clearPanel();\n });\n\n yield _gui2.default.isReady();\n\n var map = _gui2.default.getService('map');\n\n yield map.isReady();\n\n this.deleteWms = this.deleteWms.bind(this);\n\n map.on('remove-external-layer', this.deleteWms);\n\n var data = this.getLocalWMSData();\n\n if (undefined === data) {\n data = {\n urls: [],\n wms: {} };\n this.updateLocalWMSData(data);\n }\n\n setTimeout(function () {\n map.on('change-layer-position-map', function () {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref15.id,\n position = _ref15.position;\n\n return _this6.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref16.id,\n opacity = _ref16.opacity;\n\n return _this6.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref17.id,\n visible = _ref17.visible;\n\n return _this6.changeLayerData(name, { key: 'visible', value: visible });\n });\n\n Object.keys(data.wms).forEach(function (url) {\n data.wms[url].forEach(function (d) {\n return _this6._addExternalWMSLayer(_extends({ url: url }, d));\n });\n });\n });\n\n this.localwmsurls = data.urls;\n });\n\n function mounted() {\n return _ref14.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.clearFile();\n this.clearPanel();\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').remove();\n\n _gui2.default.getService('map').off('remove-external-layer', this.deleteWms);\n this.$data = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal_addlayer\",staticClass:\"modal fade\",attrs:{\"id\":\"modal-addlayer\",\"role\":\"dialog\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}],staticClass:\"modal-title\",staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_type'),expression:\"'layer_type'\"}]}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_type),expression:\"layer_type\"}],staticClass:\"form-control\",attrs:{\"id\":\"add-layer-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_type=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('choose_type'),expression:\"'choose_type'\"}],attrs:{\"disabled\":\"\"},domProps:{\"value\":undefined}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('remote_wms_url'),expression:\"'remote_wms_url'\"}],attrs:{\"value\":\"wms\"}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('local_file'),expression:\"'local_file'\"}],attrs:{\"value\":\"file\"}})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),('wms' === _vm.layer_type)?[(!_vm.wms_panel)?_c('div',[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#wms\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.url),expression:\"url\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"100%\",\"color\":\"#000000\"},attrs:{\"id\":\"add_custom_url_wms_input\",\"placeholder\":\"http://example.org/?&service=WMS&request=GetCapabilities\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"add_custom_name_url_wms_input\",\"title\":\"required\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}]}),_vm._v(\" \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.id),expression:\"id\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"100%\",\"color\":\"#000000\"},attrs:{\"id\":\"add_custom_name_url_wms_input\"},domProps:{\"value\":(_vm.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.id=$event.target.value}}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.inputswmsurlvalid),expression:\"!inputswmsurlvalid\"}],staticClass:\"btn btn-block skin-background-color\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.addwmsurl($event)}}},[_c('b',{class:_vm.$fa('plus-square')})]),_vm._v(\" \"),_vm._l((_vm.adminwmsurls),function(ref){\nvar id = ref.id;\nreturn _c('div',{key:_vm.wmsurl,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('span',{staticStyle:{\"flex-grow\":\"1\"}},[_vm._v(_vm._s(id))]),_vm._v(\" \"),_c('b',{class:_vm.$fa('plus-square'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"5px\",\"font-size\":\"1.3em\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showWmsLayersPanel(id)}}})])}),_vm._v(\" \"),_vm._l((_vm.localwmsurls),function(ref){\nvar id = ref.id;\nvar url = ref.url;\nreturn _c('div',{key:id,staticStyle:{\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"padding-top\":\"3px\"}},[_c('b',{staticStyle:{\"flex-grow\":\"1\"}},[_vm._v(_vm._s(id))]),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.add_wms_layer'),expression:\"'sidebar.wms.add_wms_layer'\",arg:\"top\",modifiers:{\"create\":true}}],class:'wms-icon-action ' + _vm.$fa('plus-square'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"3px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showWmsLayersPanel(url)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"top\",modifiers:{\"create\":true}}],class:'wms-icon-action ' + _vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"padding\":\"3px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteWmsUrl(id)}}})]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(url))])])})],2):(_vm.wms_panel)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.abstract)?_c('fieldset',{staticClass:\"form-group\",staticStyle:{\"border\":\"1px solid #c0c0c0\",\"padding\":\"4.9px 8.75px 8.75px 10.5px\",\"border-radius\":\"3px\"}},[_c('legend',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border\":\"1px solid\",\"border-radius\":\"50%\",\"background-color\":\"#222d32\",\"font-weight\":\"bold\",\"color\":\"#fff\",\"font-size\":\"0.7em\",\"text-align\":\"center\",\"margin\":\"0 -14px\",\"user-select\":\"none\"}},[_vm._v(\"i\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.abstract),expression:\"abstract\"}]})]):_vm._e(),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.layers'),expression:\"'sidebar.wms.panel.label.layers'\"}],attrs:{\"for\":\"g3w-wms-layers\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('selectedlayers'),expression:\"'selectedlayers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(layer){return _c('option',{key:layer.name,domProps:{\"value\":layer.name}},[_vm._v(_vm._s(layer.title))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.projections'),expression:\"'sidebar.wms.panel.label.projections'\"}],attrs:{\"for\":\"g3w-wms-projections\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('epsg'),expression:\"'epsg'\"}],attrs:{\"id\":\"g3w-wms-projections\"}},_vm._l((_vm.projections),function(proj){return _c('option',{key:proj,domProps:{\"value\":proj}},[_vm._v(_vm._s(proj))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}],attrs:{\"for\":\"g3w-wms-layer-name\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-wms-layer-name\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}}),_vm._v(\" \"),(_vm.added)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}],staticClass:\"g3w-wms-external-panel-layer-added-message\"}):_vm._e()]):_vm._e()]:('file' === _vm.layer_type)?[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(['kmz', 'zip'].includes(_vm.layer.type)),expression:\"['kmz', 'zip'].includes(layer.type)\"}],staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_projection'),expression:\"'mapcontrols.add_layer_control.select_projection'\"}],attrs:{\"for\":\"projection-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.crs),expression:\"layer.crs\"}],staticClass:\"form-control\",attrs:{\"id\":\"projection-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.layer, \"crs\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.options),function(option){return _c('option',{domProps:{\"value\":option}},[_vm._v(_vm._s(option))])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_data'),expression:\"'mapcontrols.add_layer_control.persistent_data'\"}],attrs:{\"for\":\"persistent-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.persistent),expression:\"persistent\"}],staticClass:\"form-control\",attrs:{\"id\":\"persistent-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.persistent=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('no'),expression:\"'no'\"}],domProps:{\"value\":false}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('yes'),expression:\"'yes'\"}],domProps:{\"value\":true}})]),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_help'),expression:\"'mapcontrols.add_layer_control.persistent_help'\"}]})]),_vm._v(\" \"),_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_color'),expression:\"'mapcontrols.add_layer_control.select_color'\"}],staticStyle:{\"font-weight\":\"700\"}}),_vm._v(\" \"),_c('chrome-picker',{staticStyle:{\"width\":\"100%\",\"margin\":\"auto\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}}),_vm._v(\" \"),_c('form',{attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"title\":\" \",\"accept\":_vm.accepted_extension},on:{\"change\":function($event){return _vm.onChangeFile($event)}}}),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}),_vm._v(\" \"),(_vm.layer.name)?_c('h4',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.layer.name))]):_vm._e(),_vm._v(\" \"),_c('div',[_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('p',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"[.gml, .geojson, .kml, .kmz ,.gpx, .csv, .zip(shapefile)]\")])]),_vm._v(\" \"),(_vm.csv_extension)?_c('div',{staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"select_field\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_separator'),expression:\"'mapcontrols.add_layer_control.select_csv_separator'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv.separator),expression:\"csv.separator\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-separator\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.csv, \"separator\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.separators),function(separator){return _c('option',{key:separator,domProps:{\"value\":separator}},[_vm._v(_vm._s(separator))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_x_field'),expression:\"'mapcontrols.add_layer_control.select_csv_x_field'\"}],attrs:{\"for\":\"g3w-select-x-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv.x),expression:\"csv.x\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-x-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.csv, \"x\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_y_field'),expression:\"'mapcontrols.add_layer_control.select_csv_y_field'\"}],attrs:{\"for\":\"g3w-select-y-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv.y),expression:\"csv.y\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.csv, \"y\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.fields || 0 === _vm.fields.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.field),expression:\"field\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-field-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.field=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---\")]),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field,domProps:{\"value\":field}},[_vm._v(_vm._s(field))])})],2)])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.error_message)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.error_message),expression:\"error_message\"}],staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"1.2em\",\"background-color\":\"orange\",\"padding\":\"10px\",\"text-align\":\"center\"}}):_vm._e(),_vm._v(\" \"),(_vm.status.error)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-error\"},[_vm._v(_vm._s(_vm.$t('server_error')))]):(_vm.status.added)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-already-added\"},[_vm._v(\"⚠️ \"+_vm._s(_vm.$t('sidebar.wms.url_already_added')))]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}}),_vm._v(\" \"),('wms' === _vm.layer_type && _vm.wms_panel)?_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.selectedlayers.length),expression:\"0 === selectedlayers.length\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();_vm.addWMSlayer({ url: _vm.url, position: _vm.position, epsg: _vm.epsg, layers: _vm.selectedlayers, name: _vm.name && _vm.name.trim() || undefined })}}}):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":!_vm.add},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}}):_vm._e()])])])])}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"add_custom_url_wms_input\",\"title\":\"required\"}},[_vm._v(\"\\n URL \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])])}]\n__vue__options__._scopeId = \"data-v-2e549814\"\n\n},{\"g3w-constants\":127,\"map/layers/imagelayer\":156,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"store/projections\":182,\"utils/createVectorLayerFromFile\":199,\"utils/getUniqueDomId\":219,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li[data-v-547bdae4]:not(.skin-background-color){display:flex;align-items:center;gap:10px}li.gcd-icon-poi .gcd-city[data-v-547bdae4],li.gcd-icon-poi .gcd-country[data-v-547bdae4],li.gcd-icon-poi .gcd-road[data-v-547bdae4],li.gcd-icon-road .gcd-icon[data-v-547bdae4],li.gcd-icon-road .gcd-name[data-v-547bdae4],li.gcd-icon-road .gcd-type[data-v-547bdae4]{display:none}#gcd-search[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;border-radius:0;background-color:var(--skin-color,#fff)}#gcd-trash[data-v-547bdae4],#markers-visibility-layer[data-v-547bdae4],#show-markers-results[data-v-547bdae4]{z-index:1;border-radius:0!important;color:#fff;border-left:1px solid #fff}#gcd-trash[data-v-547bdae4]{color:red}#gcd-input-query[data-v-547bdae4]{font-weight:700}.gcd-txt-reset[data-v-547bdae4]:after{content:\\\"\\\\d7\\\";display:inline-block;font-weight:700;font-size:2em;cursor:pointer;color:var(--skin-color)}.gcd-txt-reset[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;line-height:100%;border:none;background-color:transparent;display:inline-block;vertical-align:middle;outline:0;cursor:pointer}.gcd-txt-input[data-v-547bdae4]:focus{outline:none}.gcd-txt-input[data-v-547bdae4]{z-index:1;border:0;width:100%;height:100%;padding:5px;text-indent:6px;background-color:transparent;font-family:inherit;font-size:1em}.gcd-txt-control[data-v-547bdae4]{position:relative;display:flex;justify-content:flex-end;height:41px;background-color:#fff;overflow:hidden;border-radius:2px;width:100%;border:2px solid var(--skin-color)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gcd-road[data-v-547bdae4]{font-size:.875em;font-weight:500}.gcd-city[data-v-547bdae4]{font-size:1em;font-weight:700}.gcd-country[data-v-547bdae4]{font-size:.75em}.gcd-spin[data-v-547bdae4]:after{animation:spin .7s linear infinite}.gcd-hidden[data-v-547bdae4]{display:none!important}li.skin-background-color[data-v-547bdae4]{position:sticky;top:0}li.selected[data-v-547bdae4]{background-color:#f7fabf!important}li.gcd-noresult[data-v-547bdae4]:hover{background-color:transparent!important}li.gcd-noresult[data-v-547bdae4]{font-weight:700;color:#384247;margin:10px;border-bottom:0!important}\\n.ol-geocoder{box-sizing:border-box;position:absolute;max-width:300px;top:3px;left:45px;width:50%;height:6px;font-size:1.1em}@media (max-width:767px){.ol-geocoder{left:10px}}.ol-geocoder>ul>li:hover{background-color:#eee}.ol-geocoder>ul>li{width:100%;overflow:hidden;padding:0;min-height:30px;padding-left:3px;border-bottom:2px solid var(--skin-color);min-height:20px;padding:10px}.ol-geocoder>ul{border-radius:3px!important;width:100%;max-height:200px;padding:0;margin-top:3px;background-color:#fff;border-top:none;overflow-x:hidden;overflow-y:auto;transition:max-height .3s ease-in;margin-bottom:0}.ol-geocoder>ul>li>a{display:block;text-decoration:none;padding:3px 5px;color:#000}.ol-geocoder>ul>li:last-child{border-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _QueryResultsActionChooseLayer = require('components/QueryResultsActionChooseLayer.vue');\n\nvar _QueryResultsActionChooseLayer2 = _interopRequireDefault(_QueryResultsActionChooseLayer);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _flattenObject = require('utils/flattenObject');\n\nvar _addZValueToOLFeatureGeometry = require('utils/addZValueToOLFeatureGeometry');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _convertSingleMultiGeometry = require('utils/convertSingleMultiGeometry');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar PROVIDERS = window.initConfig.mapcontrols.geocoding ? window.initConfig.mapcontrols.geocoding.providers : {};\nObject.keys(PROVIDERS).forEach(function (p) {\n var script = document.createElement('script');\n script.src = window.initConfig.staticurl + 'client/geocoding-providers/' + p + '.js';\n script.async = true;\n document.head.appendChild(script);\n});\n\nvar LAYER = new ol.layer.Vector({\n id: '__g3w_marker',\n name: 'Geocoding',\n source: new ol.source.Vector(),\n style: function style(feature) {\n if ('__g3w_marker_coordinates' === feature.getId()) {\n return new ol.style.Style({\n text: new ol.style.Text({\n offsetY: -15,\n text: '\\uF3C5',\n font: '900 3em \"Font Awesome 5 Free\"',\n stroke: new ol.style.Stroke({\n color: 'red',\n width: 3\n }),\n fill: new ol.style.Fill({\n color: 'rgba(255, 0,0, 0.7)'\n })\n })\n });\n } else {\n return [new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/pushpin.svg',\n scale: 0.8\n })\n }), new ol.style.Style({\n image: new ol.style.RegularShape({\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 0] }),\n points: 4,\n radius: 50,\n angle: Math.PI / 4\n })\n })];\n }\n }\n});\n\nvar is_clearing = false;\n\nexports.default = {\n data: function data() {\n return {\n results: [],\n\n disabled: false,\n results_panel_open: false };\n },\n\n\n props: {\n providers: {\n type: Object,\n default: {}\n }\n\n },\n\n computed: {\n is_layer_visible: function is_layer_visible() {\n return LAYER.getVisible();\n },\n features: function features() {\n return LAYER.getSource().getFeatures();\n },\n has_providers: function has_providers() {\n return Object.keys(this.providers).length > 0;\n },\n extent: function extent() {\n var map = _gui2.default.getService('map');\n var project = map.getProject().state;\n return ol.proj.transformExtent(Object.keys(this.providers).filter(function (p) {\n return 'nominatim' != p;\n }).length > 0 ? map.getMapExtent() : project.initextent || project.extent, project.crs.epsg, 'EPSG:4326');\n },\n placeholder: function placeholder() {\n return _application2.default.language && t('mapcontrols.geocoding.placeholder');\n }\n },\n\n methods: {\n _hideMarker: function _hideMarker() {\n LAYER.getSource().clear();\n\n if (false === this.is_layer_visible) {\n this.toggleLayerVisibility();\n }\n },\n toggleLayerVisibility: function toggleLayerVisibility() {\n LAYER.setVisible(!this.is_layer_visible);\n },\n clearResults: function clearResults() {\n this.results.splice(0);\n\n if (LAYER.getSource().getFeatureById('__g3w_marker_coordinates')) {\n LAYER.getSource().removeFeature(LAYER.getSource().getFeatureById('__g3w_marker_coordinates'));\n }\n },\n clearMarkers: function clearMarkers() {\n is_clearing = true;\n this._hideMarker();\n\n this.results.forEach(function (i) {\n return i.__selected = false;\n });\n var layer = _gui2.default.getService('queryresults').getState().layers.find(function (l) {\n return l.id === LAYER.get('id');\n });\n\n if (layer) {\n layer.features.forEach(function (f) {\n return _gui2.default.getService('queryresults').removeFeatureLayerFromResult(layer, f);\n });\n }\n is_clearing = false;\n },\n clear: function clear() {\n this.clearResults();\n this.clearMarkers();\n },\n query: function () {\n var _ref = _asyncToGenerator(function* (q) {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n var isNumber = function isNumber(value) {\n return 'number' === typeof value && !Number.isNaN(value);\n };\n var coordinates = null;\n var transform = false;\n\n var _split = (q || '').split(','),\n _split2 = _slicedToArray(_split, 3),\n x = _split2[0],\n y = _split2[1],\n epsg = _split2[2];\n\n var projection = epsg && (yield _projections2.default.registerProjection('EPSG:' + epsg.trim()));\n\n if (isNumber(1 * x) && isNumber(1 * y)) {\n coordinates = [1 * x, 1 * y];\n }\n\n try {\n if (projection) {\n coordinates = ol.proj.transform(coordinates, projection.getCode(), 'EPSG:4326');\n transform = true;\n }\n } catch (e) {\n console.warn(e);\n }\n\n if (coordinates) {\n var source = LAYER.getSource();\n\n if (source.getFeatureById('__g3w_marker_coordinates')) {\n source.removeFeature(source.getFeatureById('__g3w_marker_coordinates'));\n }\n\n var feature = new ol.Feature({\n geometry: new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates),\n\n lon: coordinates[0],\n lat: coordinates[1]\n });\n\n feature.setId('__g3w_marker_coordinates');\n\n LAYER.getSource().addFeature(feature);\n\n map.zoomToGeometry(new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates));\n return coordinates;\n }\n\n if (!coordinates) {\n this.clearResults();\n this.$refs.reset.classList.add(\"gcd-spin\");\n\n (yield Promise.allSettled(Object.entries(this.providers).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n p = _ref3[0],\n _ref3$ = _ref3[1],\n config = _ref3$ === undefined ? {} : _ref3$;\n\n return PROVIDERS[p].fetch({\n url: config.url,\n icon: config.icon,\n query: q,\n lang: _application2.default.language || 'it-IT',\n\n limit: 5,\n extent: _this.extent\n });\n }))).filter(function (p) {\n return 'fulfilled' === p.status;\n }).forEach(function (p) {\n _this.results.push({\n __heading: true,\n provider: p.value.provider,\n label: _this.providers[p.value.provider].label || p.value.label\n });\n\n if (!(p.value.results && p.value.results.length)) {\n _this.results.push({\n __no_results: !(p.value.results && p.value.results.length)\n });\n return;\n }\n\n p.value.results.forEach(function (item) {\n _this.results.push((0, _flattenObject.flattenObject)(_extends({}, item, {\n provider: p.value.provider,\n __uid: (0, _getUniqueDomId.getUniqueDomId)(),\n __icon: _this.providers[p.value.provider].icon || p.value.icon,\n __selected: false\n })));\n });\n });\n\n this.$refs.reset.classList.remove(\"gcd-spin\");\n }\n });\n\n function query(_x) {\n return _ref.apply(this, arguments);\n }\n\n return query;\n }(),\n onQuery: function onQuery(evt) {\n if ('Enter' === evt.key || 13 === evt.which || 13 === evt.keyCode) {\n evt.preventDefault();\n this.query(evt.target.value.trim());\n }\n },\n onValue: function onValue(e) {\n this.$refs.reset.classList.toggle(\"gcd-hidden\", 0 === e.target.value.trim().length);\n },\n onReset: function onReset() {\n this.$refs.input.focus();\n this.$refs.input.value = '';\n this.$refs.reset.classList.add(\"gcd-hidden\");\n this.clearResults();\n },\n _removeItem: function _removeItem(uid) {\n var item = (this.results || []).find(function (r) {\n return uid === r.__uid;\n });\n\n if (this.features.length) {\n var source = LAYER.getSource();\n source.removeFeature(source.getFeatureById(uid));\n }\n\n if (item) {\n item.__selected = false;\n }\n\n if (0 === this.features.length) {\n this._hideMarker();\n }\n\n if (!is_clearing) {\n this.showMarkerResults(undefined, 0 === this.features.length);\n }\n },\n onItemClick: function onItemClick(evt, item) {\n if (!item.lat || !item.lon) {\n return;\n }\n evt.preventDefault();\n try {\n var source = LAYER.getSource();\n\n if (source.getFeatureById(item.__uid)) {\n this._removeItem(item.__uid);\n } else {\n var __uid = item.__uid,\n __icon = item.__icon,\n __selected = item.__selected,\n _item = _objectWithoutProperties(item, ['__uid', '__icon', '__selected']);\n\n var feature = new ol.Feature(_extends({\n geometry: new ol.geom.Point(ol.proj.transform([parseFloat(item.lon), parseFloat(item.lat)], 'EPSG:4326', _gui2.default.getService('map').getEpsg()))\n }, _item));\n\n feature.setId(__uid);\n source.addFeature(feature);\n _gui2.default.getService('map').zoomToFeatures([feature]);\n item.__selected = true;\n this.showMarkerResults([feature]);\n }\n } catch (e) {\n console.warn(e);\n }\n },\n showMarkerResults: function () {\n var _ref4 = _asyncToGenerator(function* (features) {\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.results_panel_open && toggle) {\n _gui2.default.closeContent();\n return;\n }\n\n if (_gui2.default.getCurrentContent()) {\n yield _gui2.default.closeContent();\n }\n _gui2.default.showQueryResults('Geocoding', { data: [{ layer: LAYER, features: features || LAYER.getSource().getFeatures() }] });\n this.results_panel_open = true;\n });\n\n function showMarkerResults(_x3) {\n return _ref4.apply(this, arguments);\n }\n\n return showMarkerResults;\n }(),\n _editItem: function () {\n var _ref5 = _asyncToGenerator(function* (layerId, feature) {\n var editing = _plugins2.default.getPlugin('editing');\n\n if (!editing) {\n return;\n }\n\n this.disabled = true;\n try {\n var type = (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getGeometryType();\n\n var _feature = (0, _addZValueToOLFeatureGeometry.addZValueToOLFeatureGeometry)({\n geometryType: type,\n feature: new ol.Feature(_extends({}, Object.entries(feature.attributes).reduce(function (acc, attr) {\n return _extends({}, acc, _defineProperty({}, attr[0].replace(feature.attributes.provider + '_', '').toLowerCase(), attr[1]));\n }, {}), feature.attributes, {\n geometry: (0, _convertSingleMultiGeometry.convertSingleMultiGeometry)(feature.geometry, type)\n }))\n });\n\n yield editing.getApi().addLayerFeature({ layerId: layerId, feature: _feature });\n } catch (e) {\n console.warn(e);\n }\n this.disabled = false;\n });\n\n function _editItem(_x4, _x5) {\n return _ref5.apply(this, arguments);\n }\n\n return _editItem;\n }()\n },\n\n created: function created() {\n var _this2 = this;\n\n var queryresults = _gui2.default.getService('queryresults');\n var mapService = _gui2.default.getService('map');\n var map = mapService.getMap();\n\n map.addLayer(LAYER);\n\n mapService.on('set-layer-zindex', function (_ref6) {\n var layer = _ref6.layer,\n zindex = _ref6.zindex;\n\n if (layer.get('id') !== LAYER.get('id')) {\n LAYER.setZIndex(zindex + 1);\n }\n });\n\n queryresults.registerVectorLayer(LAYER);\n\n _gui2.default.on('closecontent', function () {\n _this2.results_panel_open = false;\n });\n _gui2.default.onafter('setContent', function () {\n if (_this2.results_panel_open) _this2.results_panel_open = false;\n });\n\n queryresults.onafter('removeFeatureLayerFromResult', function (layer, feature) {\n if (LAYER.get('id') === layer.id) {\n _this2._removeItem(feature.id);\n }\n });\n\n queryresults.onafter('addActionsForLayers', function (actions, layers) {\n\n var layer = layers.find(function (l) {\n return LAYER.get('id') === l.id;\n });\n\n if (!layer) {\n return;\n }\n\n var editablePointLayers = (0, _getCatalogLayers.getCatalogLayers)({ EDITABLE: true, GEOLAYER: true }).filter(function (l) {\n return (0, _isPointGeometryType.isPointGeometryType)(l.getGeometryType());\n }).map(function (l) {\n return { id: l.getId(), name: l.getName(), inediting: l.isInEditing() };\n });\n\n if (editablePointLayers.find(function (l) {\n return l.inediting;\n })) {\n return;\n }\n\n queryresults.addCurrentActionToolsLayer({\n id: _QueryResultsActionChooseLayer2.default.name,\n layer: layer,\n action: {\n id: 'choose_layer',\n class: _gui2.default.getFontClass('pencil'),\n state: Vue.observable({ toggled: Array(layer.features.length).fill(null) }),\n toggleable: true,\n hint: 'Choose a layer',\n cbk: function cbk(layer, feature, action, index) {\n if (1 === editablePointLayers.length) {\n _this2._editItem(editablePointLayers[0].id, feature);\n return;\n }\n\n action.state.toggled[index] = !action.state.toggled[index];\n queryresults.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: action.state.toggled[index] ? _QueryResultsActionChooseLayer2.default : null\n });\n }\n },\n config: {\n layers: editablePointLayers,\n icon: 'pencil',\n label: 'mapcontrols.geocoding.choose_layer',\n nolayers: 'mapcontrols.geocoding.nolayers',\n cbk: _this2._editItem\n }\n });\n });\n },\n destroyed: function destroyed() {\n _gui2.default.getService('queryresults').unregisterVectorLayer(LAYER);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has_providers)?_c('div',{class:[ 'ol-geocoder', { 'g3w-disabled': _vm.disabled }]},[_c('div',{staticClass:\"gcd-txt-control\"},[_c('input',{ref:\"input\",staticClass:\"gcd-txt-input\",attrs:{\"type\":\"text\",\"id\":\"gcd-input-query\",\"autocomplete\":\"off\",\"placeholder\":_vm.placeholder},on:{\"keyup\":_vm.onQuery,\"input\":_vm.onValue}}),_vm._v(\" \"),_c('button',{ref:\"reset\",staticClass:\"gcd-txt-reset gcd-hidden\",attrs:{\"type\":\"button\",\"id\":\"gcd-input-reset\",\"title\":\"Reset search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onReset($event)}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"gcd-search\",\"title\":\"Submit search\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.query(_vm.$refs.input.value); })($event)}}},[_c('i',{class:_vm.$fa('search'),staticStyle:{\"color\":\"#fff\"},attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"gcd-trash\",\"title\":\"Clear markers selection\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMarkers($event)}}},[_c('i',{class:_vm.$fa('trash'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"markers-visibility-layer\",\"title\":\"Toggle markers visibility\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLayerVisibility($event)}}},[_c('i',{class:_vm.$fa(_vm.is_layer_visible ? 'eye-close': 'eye'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"show-markers-results\",\"title\":\"Toggle sidebar panel\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.showMarkerResults(undefined, true); })($event)}}},[_c('code',{style:({ opacity: _vm.results_panel_open ? 0.5 : undefined })},[_vm._v(\"\\n \"+_vm._s(_vm.features.length > 99 ? '99+' : _vm.features.length)+\"\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('ul',{ref:\"result\",staticClass:\"gcd-txt-result\"},_vm._l((_vm.results),function(item,i){return _c('li',{key:item.__uid,class:[\n item.provider,\n item.__icon ? 'gcd-icon-' + item.__icon : '',\n item.__heading ? 'skin-background-color' : '',\n item.__no_results ? 'gcd-noresult' : '',\n item.__selected ? 'selected' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.onItemClick($event, item)}}},[(item.__heading)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"5px\"}},[_c('span',{staticStyle:{\"color\":\"#FFF\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.label))])]):(item.__no_results)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.geocoding.noresults'),expression:\"'mapcontrols.geocoding.noresults'\"}]}):[_c('span',{class:_vm.$fa(item.__selected ? 'check' : 'uncheck'),staticStyle:{\"color\":\"#000\",\"padding\":\"5px\"}}),_vm._v(\" \"),('road' === item.__icon)?_c('i',{staticClass:\"fa fa-road\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}):('poi' === item.__icon)?_c('img',{staticClass:\"gcd-icon\",attrs:{\"src\":\"/static/client/images/pushpin.svg\",\"width\":\"24\",\"height\":\"24\"}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"\",\"draggable\":\"false\"}},[(item.type)?_c('div',{staticClass:\"gcd-type\"},[_vm._v(_vm._s(item.type))]):_vm._e(),_vm._v(\" \"),(item.name)?_c('div',{staticClass:\"gcd-name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_vm._v(\" \"),(item.address_name)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_name))]):_vm._e(),_vm._v(\" \"),(item.address_road || item.address_building || item.address_house_number)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_building)+\" \"+_vm._s(item.address_road)+\" \"+_vm._s(item.address_house_number))]):_vm._e(),_vm._v(\" \"),(item.address_city || item.address_town || item.address_village)?_c('div',{staticClass:\"gcd-city\"},[_vm._v(_vm._s(item.address_postcode)+\" \"+_vm._s(item.address_city)+\" \"+_vm._s(item.address_town)+\" \"+_vm._s(item.address_village))]):_vm._e(),_vm._v(\" \"),(item.address_state || item.address_country)?_c('div',{staticClass:\"gcd-country\"},[_vm._v(_vm._s(item.address_state)+\" \"+_vm._s(item.address_country))]):_vm._e()])]],2)}),0)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-547bdae4\"\n\n},{\"components/QueryResultsActionChooseLayer.vue\":95,\"g3w-i18n\":130,\"services/gui\":175,\"store/application\":180,\"store/plugins\":181,\"store/projections\":182,\"utils/addZValueToOLFeatureGeometry\":184,\"utils/convertSingleMultiGeometry\":190,\"utils/flattenObject\":203,\"utils/getCatalogLayerById\":205,\"utils/getCatalogLayers\":206,\"utils/getUniqueDomId\":219,\"utils/isPointGeometryType\":227,\"vueify/lib/insert-css\":2}],87:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".ol-zoom-history[data-v-5ba4faea]{display:flex!important;gap:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"MapControlZoomHistory\",\n data: function data() {\n return {\n history: {\n index: 0,\n items: []\n }\n };\n },\n\n methods: {\n last: function last() {\n this.history.index--;\n this.setMapExtent();\n },\n next: function next() {\n this.history.index++;\n this.setMapExtent();\n },\n setMapExtent: function setMapExtent() {\n _gui2.default.getService('map').getMap().getView().fit(this.history.items[this.history.index]);\n }\n },\n computed: {\n hasEmptyHistory: function hasEmptyHistory() {\n return 0 === this.history.index && 1 === this.history.items.length || this.history.items.length - 1 === this.history.index;\n }\n },\n\n created: function created() {\n var _this = this;\n\n var map = _gui2.default.getService('map').getMap();\n var view = map.getView();\n\n this.history.items.push(view.calculateExtent(map.getSize()));\n\n this.changeKeyEvent = view.on('change', (0, _debounce.debounce)(function (evt) {\n if (_this.history.index !== _this.history.items.length - 1) {\n _this.history.items.splice(_this.history.index - _this.history.items.length + 1);\n }\n _this.history.items.push(evt.target.calculateExtent(map.getSize()));\n _this.history.index++;\n }, 600));\n },\n beforeDestroy: function beforeDestroy() {\n ol.Observable.unByKey(this.changeKeyEvent);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ol-zoom-history ol-unselectable ol-control\"},[_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_last'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_last'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.history.index),expression:\"0 === history.index\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.last($event)}}},[_c('i',{class:_vm.$fa('reply')})])]),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_next'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_next'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.hasEmptyHistory),expression:\"hasEmptyHistory\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.next($event)}}},[_c('i',{class:_vm.$fa('share')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5ba4faea\"\n\n},{\"services/gui\":175,\"utils/debounce\":200,\"vueify/lib/insert-css\":2}],88:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-0e556a34]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-0e556a34]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-0e556a34]{color:var(--skin-success)}#project-catalog[data-v-0e556a34]{background:transparent}.metadata-nav-bar[data-v-0e556a34]{display:flex;justify-content:space-between}.metadata-nav-bar li[data-v-0e556a34]{background-color:#e4e4e4;border-radius:3px;padding:0;width:100%;margin:1px}.metadata-nav-bar li.active[data-v-0e556a34]{background-color:#fff}.metadata-nav-bar li.active a.metadata-item-tab[data-v-0e556a34]{border-bottom-color:#222d32!important;border-bottom-width:4px;background-color:transparent!important;color:#2c3b41!important}.metadata-nav-bar li a.metadata-item-tab[data-v-0e556a34]{height:100%;margin:0;font-size:1.1em;border-top:0;border-right:0;border-left:0;border-bottom:4px solid #e2e2e2}.metadata-nav-bar li a[data-v-0e556a34]{text-align:center}.metadata-nav-bar li a i[data-v-0e556a34]{margin-right:5px}.metadata-item-tab[data-v-0e556a34]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-0e556a34]{position:absolute;bottom:10px;right:auto}.row-info[data-v-0e556a34]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-0e556a34]{font-weight:700}.h_100[data-v-0e556a34]{height:100%}#project-catalog[data-v-0e556a34]{position:relative;overflow:auto}.nav-tabs[data-v-0e556a34]{border-bottom:0 none}.metadata-label[data-v-0e556a34]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-0e556a34],.metadata-contact-label[data-v-0e556a34]{font-weight:700}.contact-icon[data-v-0e556a34]{margin-right:3px}.metadata-contact-row[data-v-0e556a34]{margin-bottom:5px}.layer_header[data-v-0e556a34]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-0e556a34]{font-weight:700}.layer-header-icon[data-v-0e556a34]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-0e556a34]{position:absolute;right:5px;color:#999}.layer-row[data-v-0e556a34]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-0e556a34]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li.active>a[data-v-0e556a34]:focus,.layer-nav-tabs>li.active>a[data-v-0e556a34]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-0e556a34]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li>a[data-v-0e556a34]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-0e556a34]:after{content:\\\"\\\";height:2px;position:absolute;width:100%;left:0;bottom:-1px;transition:all .25s ease 0s;transform:scale(0)}.layer-nav-tabs>li.active>a[data-v-0e556a34]:after,.layer-nav-tabs>li:hover>a[data-v-0e556a34]:after{transform:scale(1)}.layer-tab-content[data-v-0e556a34]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-0e556a34]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-0e556a34],.metadata-nav-tabs>li>a[data-v-0e556a34]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-0e556a34]:after{background:var(--skin-color)}.metadata-nav-bar .action-button[data-v-0e556a34]:hover{background-color:transparent}.credit-title-logo[data-v-0e556a34]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-0e556a34]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-0e556a34]{width:50%!important}.customcredits[data-v-0e556a34]{margin-bottom:10px;margin-top:5px;text-align:center}#address-credits span[data-v-0e556a34]{padding-left:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n\n name: \"metadata-project\",\n\n data: function data() {\n var project = _application2.default.project.getState();\n var version = window.initConfig.version.split('-')[0].split('.');\n\n return {\n customcredits: false,\n powered_by: window.initConfig.powered_by,\n urls: window.initConfig.urls,\n docs_url: 'https://g3w-suite.readthedocs.io/en/v' + version[0].replace('v', '') + '.' + version[1] + '.x/',\n groups: Object.entries({\n general: ['title', 'name', 'description', 'abstract', 'keywords', 'fees', 'accessconstraints', 'contactinformation', 'wms_url'],\n spatial: ['crs', 'extent'],\n layers: ['layers']\n }).reduce(function (g, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n fields = _ref2[1];\n\n g[name] = fields.reduce(function (f, field) {\n var value = project.metadata && project.metadata[field] ? project.metadata[field] : project[field];\n if (value) {\n f[field] = { value: value, label: 'sdk.metadata.groups.' + name + '.fields.' + field };\n }\n return f;\n }, {});\n return g;\n }, {})\n };\n },\n\n\n methods: {\n showHideInfo: function showHideInfo(e) {\n var box = e.target.closest(\".layer_header\");\n box.querySelector(\".open-close\").classList.toggle('fa-plus');\n box.querySelector(\".open-close\").classList.toggle('fa-minus');\n },\n sanitizeValue: function sanitizeValue(value) {\n if (Array.isArray(value) || 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && null !== value) {\n value = Object.values(value).length ? value : '';\n }\n return value;\n }\n },\n\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if (!!window.initConfig.credits) {\n try {\n var credits = yield _XHR.XHR.get({ url: window.initConfig.credits });\n this.customcredits = 'None' !== credits && credits;\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-metadata\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"65vh\",\"max-height\":\"80vh\"},attrs:{\"id\":\"project-catalog\"}},[_c('ul',{staticClass:\"nav nav-tabs metadata-nav-bar\",attrs:{\"role\":\"tablist\"}},_vm._l((['general', 'spatial', 'layers', 'credits']),function(tab){return _c('li',{class:{ active: 'general' === tab }},[_c('a',{class:'metadata-item-tab '+ tab,attrs:{\"data-toggle\":\"tab\",\"href\":'#metadata_' + tab}},[_c('i',{staticClass:\"action-button\",class:_vm.$fa(({ general: 'info', spatial: 'globe', layers: 'bars', credits: 'copyright' })[tab]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.'+ tab +'.title'),expression:\"'sdk.metadata.groups.'+ tab +'.title'\"}]})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\"},[_vm._l((['general', 'spatial']),function(item){return _c('div',{staticClass:\"tab-pane fade\",class:{ in: 'general' === item, active: 'general' === item },attrs:{\"id\":'metadata_' + item}},_vm._l((_vm.groups[item]),function(data,field){return _c('div',{staticClass:\"row row-info\"},[_c('div',{staticClass:\"wrap-content-tab\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(data.label),expression:\"data.label\"}],staticClass:\"col-sm-2 metadata-label\"}),_vm._v(\" \"),('keywords' === field || 'wms_url'=== field)?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',[_vm._v(_vm._s([].concat(data.value).join(', ')))])]):('abstract' === field || (!Array.isArray(data.value) && typeof data.value !== 'object'))?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]):('contactinformation' !== field)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,index){return _c('div',[('extent' === field)?_c('span',{staticClass:\"bbox-labels\"},[_vm._v(_vm._s((['MINX', 'MINY', 'MAXX', 'MAXY'])[index]))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,info){return _c('div',[_c('div',{staticClass:\"row metadata-contact-row\"},[_c('div',{staticClass:\"col-sm-2 metadata-contact-label\"},[_c('i',{staticClass:\"contact-icon\",class:_vm.$fa(({ contactelectronicmailaddress: 'mail', personprimary: 'user', contactvoicetelephone: 'mobile' })[info]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + info)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${info}`\"}]})]),_vm._v(\" \"),('personprimary' === info)?_c('div',{staticClass:\"col-sm-10\"},_vm._l((value),function(subvalue,key){return _c('div',[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + key)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${key}`\"}],staticClass:\"metadata-contact-label\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(subvalue))])])}),0):('contactelectronicmailaddress' === info )?_c('div',{staticClass:\"col-sm-10\"},[_c('a',{attrs:{\"href\":(\"mailto: \" + (_vm.sanitizeValue(value)))}},[_c('b',[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])]):_c('div',{staticClass:\"col-sm-10\"},[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])])}),0)])])}),0)}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_layers\"}},_vm._l((_vm.groups.layers.layers.value),function(layer){return _c('div',{staticClass:\"row-info\"},[_c('h4',{staticClass:\"layer_header\",attrs:{\"data-toggle\":\"collapse\",\"data-target\":(\"#\" + (layer.id))},on:{\"click\":_vm.showHideInfo}},[_c('i',{class:'layer-header-icon action-button ' + _vm.g3wtemplate.font['NoGeometry' === layer.geometrytype ? 'table' : 'map'],attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"layer-name\"},[_vm._v(_vm._s(layer.name))]),_vm._v(\" \"),_c('span',{staticClass:\"action-button open-close\",class:_vm.$fa('plus')})]),_vm._v(\" \"),_c('div',{staticClass:\"collapse\",attrs:{\"id\":layer.id}},[_c('ul',{staticClass:\"metadata-nav-tabs nav nav-tabs layer-nav-tabs\",attrs:{\"role\":\"tablist\"}},[_c('li',{staticClass:\"active spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.general'),expression:\"'sdk.metadata.groups.layers.groups.general'\"}],attrs:{\"href\":(\"#layer_general_\" + (layer.id)),\"aria-controls\":\"general\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]),_vm._v(\" \"),('NoGeometry' !== layer.geometrytype)?_c('li',{staticClass:\"spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.spatial'),expression:\"'sdk.metadata.groups.layers.groups.spatial'\"}],attrs:{\"href\":(\"#layer_spatial_\" + (layer.id)),\"aria-controls\":\"profile\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content layer-tab-content\"},[_c('div',{staticClass:\"tab-pane active\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_general_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['metadata.title', 'name', 'source', 'metadata.abstract', 'metadata.keywords', 'metadata.metadataurl.onlineresource', 'metadata.dataurl.onlineresources', 'metadata.attributes']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('metadata.title' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.title))]):_vm._e(),_vm._v(\" \"),('name' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.name))]):_vm._e(),_vm._v(\" \"),('source' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.source.type))]):_vm._e(),_vm._v(\" \"),('metadata.abstract' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",domProps:{\"innerHTML\":_vm._s(layer.metadata.abstract)}}):('metadata.keywords' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.keywords.join(', ')))]):('metadata.metadataurl.onlineresource' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.metadataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.metadataurl.onlineresources))])]):('metadata.dataurl.onlineresources' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.dataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.dataurl.onlineresources))])]):('metadata.attributes' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",staticStyle:{\"overflow\":\"auto\"}},[_c('table',{staticClass:\"table table-striped\",staticStyle:{\"background-color\":\"#eee !important\"}},[_c('thead',[_c('tr',_vm._l((layer.metadata.attributes[0]),function(value,header){return _c('th',[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('tbody',_vm._l((layer.metadata.attributes),function(a){return _c('tr',_vm._l((a),function(value,header){return _c('td',[_vm._v(_vm._s(value))])}),0)}),0)])]):_vm._e()]):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_spatial_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['crs', 'geometrytype', 'bbox', 'metadata.crs']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[('metadata.crs' === attr)?_c('div',{staticClass:\"col-md-2 col-sm-12 metadata-label\"},[_vm._v(\"CRS\")]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.crs.epsg))]):('geometrytype' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.geometrytype))]):('bbox' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.bbox),function(value,key){return _c('p',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(key))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):('metadata.crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.metadata.crs),function(crs){return _c('div',[_c('span',[_vm._v(_vm._s(crs))])])}),0):_vm._e()]):_vm._e()]})],2)])])])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_credits\"}},[(!!_vm.customcredits)?_c('div',{staticClass:\"customcredits\",domProps:{\"innerHTML\":_vm._s(_vm.customcredits)}}):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticClass:\"g3w-credits-block\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteFramework'),expression:\"'credits.g3wSuiteFramework'\"}],staticClass:\"credit-title-logo\",staticStyle:{\"padding\":\"5px\"}}),_vm._v(\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://g3wsuite.it/\"}},[_c('img',{staticClass:\"g3w-suite-logo\",attrs:{\"src\":((_vm.urls.clienturl) + \"images/g3wsuite_logo.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteDescription'),expression:\"'credits.g3wSuiteDescription'\"}],staticStyle:{\"margin-top\":\"10px\"}})]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('credits.productOf'),expression:\"'credits.productOf'\",arg:\"pre\"}],staticClass:\"credit-title-logo g3w-credits-block\",staticStyle:{\"font-size\":\"1em\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('a',{staticStyle:{\"text-align\":\"center!important\"},attrs:{\"href\":\"http://www.gis3w.it\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"img-responsive center-block\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"width\":\"60\",\"src\":((_vm.urls.clienturl) + \"images/logo_gis3w_156_85.png\"),\"alt\":\"\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('address',{staticStyle:{\"line-height\":\"1.3\",\"text-align\":\"center\",\"margin-top\":\"5px\",\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"2px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_c('b',{class:_vm.$fa('marker'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mobile'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"+39 393 8534336\")])]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mail'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"mailto:info@gis3w.it\"}},[_vm._v(\"info@gis3w.it\")])])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"20px\"}},[_c('a',{attrs:{\"href\":_vm.docs_url,\"rel\":\"nofollow\"}},[_vm._v(\"📖 Docs\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"mailto:info@gis3w.it?subject=Sponsoring%20G3W-SUITE%20development&body=Hi%20there,%20I'd%20like%20to%20fund%20some%20code%20changes:\"}},[_vm._v(\"❤️ Sponsor\")])]):_vm._e()])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0e556a34\"\n\n},{\"store/application\":180,\"utils/XHR\":183,\"vueify/lib/insert-css\":2}],89:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print .select2-container--open{width:100%}#print .select2-container--open input.select2-search__field{color:#555;width:100%}#print.treeview-menu .select2.select2-container{display:block}\\n.print-labels-content[data-v-9e025612]{margin-top:5px;color:#fff}.print-labels-content>span.skin-color[data-v-9e025612]{font-weight:700;font-size:1.1em;display:block;border-bottom:2px solid #fff;margin-bottom:5px}.print-labels-content>.labels-input-content[data-v-9e025612]{max-height:120px;overflow-y:auto}label[data-v-9e025612]{color:#fff}.box-footer[data-v-9e025612]{background-color:transparent}#printbutton[data-v-9e025612]{width:100%;font-weight:700;background-color:var(--skin-color)}#fid-print-atals-instruction[data-v-9e025612]{margin-top:5px;color:#fff}#fids_intruction[data-v-9e025612]{white-space:pre-line}#fids_examples_values[data-v-9e025612]{margin-top:3px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _PrintPage = require('components/PrintPage.vue');\n\nvar vueComp = _interopRequireWildcard(_PrintPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'print',\n\n mixins: [_resize2.default],\n\n data: function data() {\n this.init();\n return {\n state: this.state || {},\n disabled: false,\n\n atlas_values: []\n };\n },\n\n\n computed: {\n has_maps: function has_maps() {\n return (this.state.maps || []).length > 0;\n },\n has_autocomplete: function has_autocomplete() {\n return !!(this.state.atlas && this.state.atlas.field_name);\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n init: function init() {\n this._init = undefined !== this._init ? this._init : false;\n this._moveKey = this._moveKey || null;\n this._page = this._page || null;\n this._resolutions = this._resolutions || {};\n\n var print = _application2.default.project.getPrint() || [];\n var visible = print.length > 0;\n\n var PRINT_FORMATS = [{ value: 'png', label: 'PNG' }, { value: 'jpg', label: 'JPG' }, { value: 'svg', label: 'SVG' }, { value: 'pdf', label: 'PDF' }, { value: 'geopdf', label: 'GEOPDF' }];\n\n this.state = Object.assign(this.state || {}, {\n visible: visible,\n print: print,\n loading: false,\n downloading: false,\n url: null,\n layers: true,\n maps: visible ? print[0].maps : undefined,\n labels: visible ? print[0].labels : undefined,\n template: visible ? print[0].name : undefined,\n atlas: visible ? print[0].atlas : undefined,\n rotation: visible ? 0 : undefined,\n inner: [0, 0, 0, 0],\n scales: [],\n scale: visible ? null : undefined,\n dpis: [150, 300],\n dpi: 150,\n formats: PRINT_FORMATS,\n format: PRINT_FORMATS[0].value\n });\n\n this.print_extent = null;\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n },\n changeTemplate: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n if (!this.state.template) {\n return;\n }\n\n yield this.$nextTick();\n\n if (this.select2) {\n this.select2.select2('destroy');\n this.select2.off();\n this.select2 = null;\n }\n\n this.disabled = false;\n\n var has_previous = this.state.atlas || 0 === this.state.maps.length;\n var print = this.state.print.find(function (p) {\n return p.name === _this.state.template;\n });\n\n Object.assign(this.state, {\n maps: print.maps,\n atlas: print.atlas,\n labels: print.labels\n });\n\n this.atlas_values = [];\n\n if (this.state.atlas) {\n this._clearPrint();\n this.initSelect2Field();\n } else if (has_previous) {\n this.showPrintArea(true);\n } else {\n this._setPrintArea();\n }\n\n yield this.$nextTick();\n });\n\n function changeTemplate() {\n return _ref.apply(this, arguments);\n }\n\n return changeTemplate;\n }(),\n changeScale: function changeScale() {\n\n try {\n if (this.state.scale.includes(':')) {\n var scale = Number(this.state.scale.split(':')[1].trim());\n\n this.$refs.scales.children[this.$refs.scales.children.length - 1].value = scale;\n\n this.state.scale = scale;\n }\n } catch (e) {\n console.warn(e);\n this.state.scale = this.state.scales[0].value;\n }\n\n if (Number.isNaN(Number(this.state.scale)) || this.state.scale > this.state.scales[0].value) {\n this.state.scale = this.state.scales[0].value;\n }\n\n if (this.state.scale < 0) {\n this.state.scale = this.state.scales[this.state.scales.length - 1].value;\n }\n\n $(this.$refs.scales).val(this.state.scale).trigger('change');\n\n if (this.state.scale) {\n this._setPrintArea();\n }\n },\n changeDpi: function changeDpi() {\n if (Number.isNaN(Number(this.state.dpi))) {\n this.state.dpi = this.state.dpis[0];\n\n $(this.$refs.dpi).val(this.state.dpi).trigger('change');\n }\n },\n changeRotation: function changeRotation() {\n this.state.rotation = this.state.rotation >= 0 ? Math.min(this.state.rotation || 0, 360) : Math.max(this.state.rotation || 0, -360);\n _gui2.default.getService('map').setInnerGreyCoverBBox({ rotation: this.state.rotation });\n },\n isAxisOrientationInverted: function isAxisOrientationInverted() {\n return 'neu' === _gui2.default.getService('map').getProjection().getAxisOrientation();\n },\n getOverviewExtent: function getOverviewExtent() {\n var extent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var xmin = extent.xmin,\n xmax = extent.xmax,\n ymin = extent.ymin,\n ymax = extent.ymax;\n\n return (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n },\n getPrintExtent: function getPrintExtent() {\n var map = _gui2.default.getService('map').viewer.map;\n\n try {\n var _map$getCoordinateFro = map.getCoordinateFromPixel([this.state.inner[0], this.state.inner[1]]),\n _map$getCoordinateFro2 = _slicedToArray(_map$getCoordinateFro, 2),\n xmin = _map$getCoordinateFro2[0],\n ymin = _map$getCoordinateFro2[1];\n\n var _map$getCoordinateFro3 = map.getCoordinateFromPixel([this.state.inner[2], this.state.inner[3]]),\n _map$getCoordinateFro4 = _slicedToArray(_map$getCoordinateFro3, 2),\n xmax = _map$getCoordinateFro4[0],\n ymax = _map$getCoordinateFro4[1];\n\n this.print_extent = (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n } catch (e) {\n console.warn(e);\n }\n\n return this.print_extent;\n },\n print: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var has_atlas = !!this.state.atlas;\n var err = void 0;\n var response = void 0;\n\n this.state.loading = true;\n\n try {\n _gui2.default.disableSideBar(true);\n\n if (this._page) {\n yield (0, _promisify.promisify)(_gui2.default.closeContent());\n }\n\n if (has_atlas) {\n _application2.default.download = true;\n yield (0, _downloadFile.downloadFile)({\n url: (yield (0, _printAtlas.printAtlas)({\n template: this.state.template,\n field: this.state.atlas.field_name || '$id',\n values: this.atlas_values,\n download: true\n })).url,\n filename: this.state.template,\n mime_type: 'application/pdf'\n });\n }\n\n if (!has_atlas) {\n this.state.url = null;\n this.state.layers = true;\n\n this._page = new _g3wComponent2.default({ service: { state: this.state }, vueComponentObject: vueComp });\n\n _gui2.default.setContent({\n content: this._page,\n title: 'print',\n perc: 100\n });\n\n var has_theme = this.state.maps.some(function (m) {\n return undefined !== m.preset_theme;\n });\n var store = _application2.default.project.getLayersStore();\n var layers = store.getLayers({ PRINTABLE: { scale: this.state.scale }, SERVERTYPE: 'QGIS' }).reverse();\n var LAYERS = (layers || []).map(function (l) {\n return l.getPrintLayerName();\n }).join();\n var url = store.getWmsUrl();\n var mime_type = { pdf: 'application/pdf', jpg: 'image/jpeg', svg: 'image/svg' }[this.state.format] || this.state.format;\n var params = layers.length && new URLSearchParams(_extends({\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrint',\n TEMPLATE: this.state.template,\n DPI: this.state.dpi,\n STYLES: layers.map(function (l) {\n return l.getStyle();\n }).join(',')\n }, has_theme ? {} : { LAYERS: LAYERS }, {\n FORMAT: { png: 'png', pdf: 'application/pdf', geopdf: 'application/pdf' }[this.state.format] || this.state.format\n }, 'geopdf' === this.state.format ? { FORMAT_OPTIONS: 'WRITE_GEO_PDF:TRUE' } : {}, {\n CRS: store.getProjection().getCode(),\n filtertoken: _application2.default.tokens.filtertoken\n }, this.state.maps.map(function (m) {\n return {\n name: m.name,\n preset_theme: m.preset_theme,\n scale: m.overview ? m.scale : _this2.state.scale,\n extent: m.overview ? _this2.getOverviewExtent(m.extent) : _this2.getPrintExtent()\n };\n }).reduce(function (params, map) {\n var _extends2;\n\n return Object.assign(params, _extends((_extends2 = {}, _defineProperty(_extends2, map.name + ':SCALE', map.scale), _defineProperty(_extends2, map.name + ':EXTENT', map.extent), _defineProperty(_extends2, map.name + ':ROTATION', _this2.state.rotation), _extends2), has_theme && undefined === map.preset_theme ? _defineProperty({}, map.name + ':LAYERS', LAYERS) : {}));\n }, {}), (this.state.labels || []).reduce(function (params, label) {\n return Object.assign(params, _defineProperty({}, label.id, label.text));\n }, {}))).toString();\n\n var method = layers.length && ('geopdf' === this.state.format ? 'GET' : _application2.default.project.state.ows_method);\n\n response = yield 'GET' === method ? Promise.resolve({ ok: true }) : fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: params\n });\n\n this.state.url = 'GET' === method ? url + '?' + params : URL.createObjectURL((yield response.blob()));\n this.state.layers = !!response.ok;\n\n this._page.getInternalComponent().$on('hook:mounted', function () {\n return _this2.state.loading = false;\n });\n\n this._page.unmount = function () {\n _gui2.default.getService('map').viewer.map.once('postrender', _this2._setPrintArea.bind(_this2));\n var promise = _g3wComponent2.default.prototype.unmount.call(_this2._page);\n _this2._page = null;\n return promise;\n };\n }\n } catch (e) {\n if (response && !response.ok && 500 === response.status) {\n err = 500 === response.status ? 'Internal Server Error' : 'Request Failed';\n } else {\n err = e;\n }\n this.state.loading = false;\n\n _gui2.default.disableSideBar(false);\n console.warn(e);\n }\n\n this.state.loading = false;\n\n _application2.default.download = false;\n\n if (has_atlas || !this.state.layers) {\n _gui2.default.disableSideBar(false);\n }\n\n if (err) {\n console.warn(err);\n _gui2.default.notify.error(err || t(\"info.server_error\"));\n _gui2.default.closeContent();\n }\n });\n\n function print() {\n return _ref2.apply(this, arguments);\n }\n\n return print;\n }(),\n showPrintArea: function showPrintArea(show) {\n var _this3 = this;\n\n var reset = !show;\n if (reset && this.select2) {\n this.select2.val(null).trigger('change');\n }\n if (reset) {\n this.atlas_values = [];this.print_extent = null;\n }\n\n if (0 === this.state.print.length) {\n return;\n }\n _gui2.default.closeContent().then(function (component) {\n setTimeout(function () {\n var map = component.getService();\n map.getMap().once('postrender', function () {\n if (!show) {\n return _this3._clearPrint();\n }\n _this3._moveKey = map.viewer.map.on('moveend', _this3._setPrintArea.bind(_this3));\n _this3._initPrintConfig();\n\n if (undefined === _this3.state.atlas && _this3._setPrintArea()) {\n map.startDrawGreyCover();\n }\n });\n map.getMap().renderSync();\n });\n });\n },\n _setPrintArea: function _setPrintArea() {\n if (!this.has_maps) {\n this._clearPrint();\n return false;\n }\n var map = _gui2.default.getService('map').viewer.map;\n var size = map.getSize();\n var resolution = map.getView().getResolution();\n\n var _state$maps$find = this.state.maps.find(function (m) {\n return !m.overview;\n }),\n h = _state$maps$find.h,\n w = _state$maps$find.w;\n\n var res = resolution * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n var w2 = w / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var h2 = h / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var x = size[0] / 2,\n y = size[1] / 2;\n\n this.state.inner = [x - w2, y + h2, x + w2, y - h2];\n _gui2.default.getService('map').setInnerGreyCoverBBox({\n type: 'pixel',\n inner: this.state.inner,\n rotation: this.state.rotation\n });\n return true;\n },\n _clearPrint: function _clearPrint() {\n ol.Observable.unByKey(this._moveKey);\n this._moveKey = null;\n _gui2.default.getService('map').stopDrawGreyCover();\n },\n _setScales: function _setScales(maxRes) {\n var _this4 = this;\n\n var units = _gui2.default.getService('map').getMapUnits();\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(maxRes, units);\n var scales = _g3wConstants.PRINT_SCALES.sort(function (a, b) {\n return b.value - a.value;\n });\n var below = scales.filter(function (s) {\n return s.value < mapScale;\n });\n var above = scales.findLast(function (s) {\n return s.value >= mapScale;\n });\n this.state.scales = (above ? [above] : []).concat(below);\n this.state.scales.forEach(function (s) {\n return _this4._resolutions[s.value] = (0, _getResolutionFromScale.getResolutionFromScale)(s.value, units);\n });\n },\n _initPrintConfig: function _initPrintConfig() {\n var _this5 = this;\n\n var view = _gui2.default.getService('map').viewer.map.getView();\n if (!this._initialized) {\n this._setScales(view.getMaxResolution());\n this._initialized = true;\n }\n var resolution = view.getResolution();\n\n Object.entries(this._resolutions).find(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n scala = _ref5[0],\n res = _ref5[1];\n\n if (resolution <= res) {\n _this5.state.scale = scala;\n return true;\n }\n });\n },\n reload: function reload() {\n var _this6 = this;\n\n this.state.print = _application2.default.project.state.print || [];\n var visible = this.state.print.length > 0;\n var init = this._initialized;\n this.state.template = visible ? this.state.print[0].name : this.state.template;\n if (visible && !init) {\n this.init();\n }\n if (visible) {\n this._initPrintConfig();\n var map = _gui2.default.getService('map');\n map.on('changeviewaftercurrentproject', function () {\n _this6.state.scales = _g3wConstants.PRINT_SCALES;\n _this6._setScales(map.viewer.map.getView().getMaxResolution());\n });\n } else {\n this._clearPrint();\n }\n },\n initSelect2Field: function initSelect2Field() {\n var _this7 = this;\n\n this.select2 = $('#print_atlas_autocomplete').select2({\n width: '100%',\n multiple: true,\n dropdownParent: $(this.$refs.print_atlas),\n minimumInputLength: 1,\n ajax: {\n delay: 500,\n transport: function () {\n var _ref6 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getCatalogLayerById.getCatalogLayerById)(_this7.state.atlas.qgs_layer_id).getFilterData({\n suggest: _this7.state.atlas.field_name + '|' + d.data.q,\n unique: _this7.state.atlas.field_name\n })).map(function (v) {\n return { id: v, text: v };\n })\n });\n } catch (e) {\n console.warn(e);\n ko(e);\n }\n });\n\n function transport(_x2, _x3, _x4) {\n return _ref6.apply(this, arguments);\n }\n\n return transport;\n }()\n },\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n this.select2.on('select2:select', function (e) {\n _this7.atlas_values.push(e.params.data.id);\n });\n this.select2.on('select2:unselect', function (e) {\n _this7.atlas_values = _this7.atlas_values.filter(function (v) {\n return v != e.params.data.id;\n });\n });\n }\n },\n\n watch: {\n has_autocomplete: function () {\n var _ref7 = _asyncToGenerator(function* (b) {\n if (!b) {\n return;\n }\n yield this.$nextTick();\n this.initSelect2Field();\n });\n\n function has_autocomplete(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return has_autocomplete;\n }(),\n\n\n atlas_values: {\n immediate: true,\n handler: function () {\n var _ref8 = _asyncToGenerator(function* (vals) {\n var _this8 = this;\n\n if (this._skip_atlas_check || !this.state.atlas) {\n return;\n }\n if (this.has_autocomplete) {\n this.disabled = 0 === vals.length;\n return;\n }\n var validate = function validate(n) {\n return n && Number.isInteger(1 * n) && 1 * n >= 0 && 1 * n < _this8.state.atlas.feature_count || null;\n };\n var values = new Set();\n var value = (vals ? vals[0] : '') || '';\n value.split(',').filter(function (v) {\n return v;\n }).forEach(function (value) {\n if (!value.includes('-') && null !== validate(value)) {\n values.add(value);\n return;\n }\n var _values = value.split('-');\n var range = _values.filter(function (v) {\n return validate(v) !== null;\n });\n if (range.length === _values.length && range.reduce(function (bool, value, i) {\n return bool && (0 === i || range[i - 1] <= value);\n }, true)) {\n for (var i = 1; i < range.length; i++) {\n for (var j = range[i - 1]; j < range[i]; j++) {\n values.add(j + '');\n }\n }\n values.add(range[range.length - 1]);\n }\n });\n this._skip_atlas_check = true;\n this.atlas_values = Array.from(values);\n yield this.$nextTick();\n this._skip_atlas_check = false;\n this.disabled = '' === value.trim();\n });\n\n function handler(_x6) {\n return _ref8.apply(this, arguments);\n }\n\n return handler;\n }()\n },\n\n 'state.url': function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n var _this9 = this;\n\n if (!url) {\n return;\n }\n var timeout = void 0;\n\n try {\n\n yield this.$nextTick();\n\n timeout = setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this9.state.downloading = false;\n _gui2.default.showUserMessage({ type: 'alert', message: 'timeout' });\n }, _g3wConstants.TIMEOUT);\n\n var response = yield fetch(url);\n\n if (!response.ok) {\n throw response.statusText;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(e || t(\"info.server_error\"));\n _gui2.default.closeContent();\n } finally {\n clearTimeout(timeout);\n _gui2.default.disableSideBar(false);\n this.state.downloading = false;\n }\n });\n\n function stateUrl(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return stateUrl;\n }()\n\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n\n if (this.state.atlas) {\n this.initSelect2Field();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu\",attrs:{\"id\":\"print\"}},[_c('li',[(_vm.state.print.length)?_c('form',{staticClass:\"g3w-search-form form-horizonal\"},[_c('div',{staticClass:\"box-body\"},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}})],1),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.print.help\"}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.template'),expression:\"'sdk.print.template'\"}],attrs:{\"for\":\"templates\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.template'),expression:\"'state.template'\"}],staticClass:\"form-control\",style:({ marginBottom: this.state.atlas && '10px' }),attrs:{\"id\":\"templates\",\"select2_value\":_vm.state.template},on:{\"change\":_vm.changeTemplate}},_vm._l((_vm.state.print),function(print){return _c('option',{domProps:{\"value\":print.name}},[_vm._v(_vm._s(print.name))])}),0),_vm._v(\" \"),(!_vm.state.atlas)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.scale'),expression:\"'sdk.print.scale'\"}],attrs:{\"for\":\"scale\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"select2\",rawName:\"v-select2\",value:('state.scale'),expression:\"'state.scale'\"}],ref:\"scales\",staticClass:\"form-control\",attrs:{\"id\":\"scale\",\"select2_value\":_vm.state.scale,\"createTag\":true},on:{\"change\":_vm.changeScale}},_vm._l((_vm.state.scales),function(scale){return _c('option',{domProps:{\"value\":scale.value}},[_vm._v(_vm._s(scale.label))])}),0),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"dpi\"}},[_vm._v(\"dpi\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.dpi'),expression:\"'state.dpi'\"}],ref:\"dpi\",staticClass:\"form-control\",attrs:{\"id\":\"dpi\",\"select2_value\":_vm.state.dpi,\"createTag\":true},on:{\"change\":_vm.changeDpi}},_vm._l((_vm.state.dpis),function(dpi){return _c('option',[_vm._v(_vm._s(dpi))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.rotation'),expression:\"'sdk.print.rotation'\"}],attrs:{\"for\":\"rotation\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.rotation),expression:\"state.rotation\"}],staticClass:\"form-control\",attrs:{\"id\":\"rotation\",\"min\":\"-360\",\"max\":\"360\",\"type\":\"number\"},domProps:{\"value\":(_vm.state.rotation)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"rotation\", $event.target.value)},_vm.changeRotation]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.format'),expression:\"'sdk.print.format'\"}],attrs:{\"for\":\"format\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.format'),expression:\"'state.format'\"}],staticClass:\"form-control\",attrs:{\"id\":\"format\",\"select2_value\":_vm.state.format}},_vm._l((_vm.state.formats),function(format){return _c('option',{domProps:{\"value\":format.value}},[_vm._v(_vm._s(format.label))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.state.atlas)?_c('div',{ref:\"print_atlas\",staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[(_vm.has_autocomplete)?[_c('label',{attrs:{\"for\":\"print_atlas_autocomplete\"}},[_c('span',[_vm._v(_vm._s(_vm.state.atlas.field_name))])]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"print_atlas_autocomplete\",\"name\":_vm.state.atlas.field_name}})]:[_c('label',[_c('span',[_vm._v(\"fids [max: \"+_vm._s(_vm.state.atlas.feature_count - 1)+\"]\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.atlas_values),expression:\"atlas_values\"}],staticClass:\"form-control\",domProps:{\"value\":(_vm.atlas_values)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();},\"input\":function($event){if($event.target.composing){ return; }_vm.atlas_values=$event.target.value}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"fid-print-atals-instruction\"}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_instruction'),expression:\"'sdk.print.fids_instruction'\"}],attrs:{\"id\":\"fids_intruction\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_example'),expression:\"'sdk.print.fids_example'\"}],attrs:{\"id\":\"fids_examples_values\"}})])]],2):_vm._e(),_vm._v(\" \"),(_vm.state.labels && _vm.state.labels.length > 0)?_c('div',{staticClass:\"print-labels-content\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.labels'),expression:\"'sdk.print.labels'\"}],staticClass:\"skin-color\"}),_vm._v(\" \"),_c('div',{staticClass:\"labels-input-content\"},_vm._l((_vm.state.labels),function(label){return _c('span',{key:label.id},[_c('label',{attrs:{\"for\":(\"g3w_label_id_input_\" + (label.id))}},[_vm._v(\" \"+_vm._s(label.id))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(label.text),expression:\"label.text\"}],staticClass:\"form-control\",attrs:{\"id\":(\"g3w_label_id_input_\" + (label.id))},domProps:{\"value\":(label.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(label, \"text\", $event.target.value)}}})])}),0)]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"box-footer\"},[_c('span',[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"},{name:\"download\",rawName:\"v-download\"},{name:\"t\",rawName:\"v-t\",value:('create_print'),expression:\"'create_print'\"}],staticClass:\"sidebar-button-run btn\",attrs:{\"id\":\"printbutton\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.print($event)}}})])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"padding\":\"1em\",\"text-align\":\"center\"}},[_c('b',[_c('a',{attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/training_manual/map_composer/map_composer.html\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')}),_vm._v(\" Edit in QGIS\\n \")])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9e025612\"\n\n},{\"components/PrintPage.vue\":90,\"g3w-component\":126,\"g3w-constants\":127,\"g3w-i18n\":130,\"mixins/resize\":169,\"services/gui\":175,\"store/application\":180,\"utils/downloadFile\":202,\"utils/getCatalogLayerById\":205,\"utils/getResolutionFromScale\":217,\"utils/getScaleFromResolution\":218,\"utils/printAtlas\":233,\"utils/promisify\":234,\"vueify/lib/insert-css\":2}],90:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print-output[data-v-184574a6]{height:100%;position:relative}#print-output>iframe[data-v-184574a6]{border:0;width:100%;height:100%}.g3w-print-image-output[data-v-184574a6]{display:flex;flex-direction:column;position:relative;height:100%}#g3w-print-header[data-v-184574a6]{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:5px;margin-bottom:5px}#g3w-print-header button[data-v-184574a6]{font-weight:700}.g3w-print-url[data-v-184574a6]{height:100%;width:100%;position:relative;overflow-y:auto}.g3w-print-url>img[data-v-184574a6]{height:auto;max-width:100%}#print-output>h4[data-v-184574a6]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'print-page',\n\n data: function data() {\n var state = this.$options.service.state || {};\n return {\n state: state,\n\n format: state.format,\n ready: false\n };\n },\n\n\n methods: {\n downloadImage: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n _gui2.default.disableSideBar(true);\n this.state.downloading = true;\n if (['jpg', 'png', 'svg'].includes(this.format)) {\n yield this.imageToDataURL({ src: this.state.url, type: 'image/' + this.format });\n setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this.state.downloading = false;\n });\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function downloadImage() {\n return _ref.apply(this, arguments);\n }\n\n return downloadImage;\n }(),\n imageToDataURL: function imageToDataURL(_ref2) {\n var src = _ref2.src,\n _ref2$type = _ref2.type,\n type = _ref2$type === undefined ? 'image/jpeg' : _ref2$type,\n _ref2$callback = _ref2.callback,\n callback = _ref2$callback === undefined ? function () {} : _ref2$callback;\n\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.height = this.naturalHeight;\n canvas.width = this.naturalWidth;\n context.drawImage(this, 0, 0);\n var dataURL = canvas.toDataURL(type);\n callback(dataURL);\n resolve(dataURL);\n };\n image.onerror = reject;\n image.src = src;\n });\n }\n },\n\n watch: {\n ready: {\n handler: function handler(bool) {\n _gui2.default.setLoadingContent(!bool);\n },\n\n immediate: true\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this.state.url && 'POST' === _application2.default.project.state.ows_method) {\n window.URL.revokeObjectURL(this.state.url);\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"print-output\"}},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading && _vm.state.layers}})],1),_vm._v(\" \"),(_vm.state.layers)?[(['pdf', 'geopdf'].includes(_vm.format))?_c('iframe',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}}):_c('div',{staticClass:\"g3w-print-image-output\"},[_c('div',{attrs:{\"id\":\"g3w-print-header\"}},[_c('div',{class:{ 'g3w-disabled': !!(_vm.state.downloading && _vm.state.layers) }},[_c('a',{attrs:{\"href\":_vm.state.url,\"download\":(\"download.\" + _vm.format)}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sdk.print.download_image'),expression:\"'sdk.print.download_image'\",modifiers:{\"create\":true}}],staticClass:\"btn skin-button skin-tooltip-left\",class:_vm.$fa('download'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadImage($event)}}})])])]),_vm._v(\" \"),(_vm.state.url)?_c('div',{staticClass:\"g3w-print-url\"},[_c('img',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}})]):_vm._e()])]:_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.no_layers'),expression:\"'sdk.print.no_layers'\"}]})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-184574a6\"\n\n},{\"services/gui\":175,\"store/application\":180,\"vueify/lib/insert-css\":2}],91:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".project-menu[data-v-4c9dd89f]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-4c9dd89f]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-4c9dd89f]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-4c9dd89f]{padding:15px;background:hsla(0,0%,100%,.3)}.project-menu-item-text[data-v-4c9dd89f]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-4c9dd89f]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}#menu-projects[data-v-4c9dd89f]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-4c9dd89f]{display:flex;flex-wrap:wrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'projects-menu',\n\n data: function data() {\n return {\n state: null,\n loading: false\n };\n },\n\n\n methods: {\n trigger: function trigger(item) {\n if (item.cbk) this._initCallback(item);else if (item.href) window.open(item.href, '_blank');else if (item.route) _gui2.default.goto(item.route);else console.log(\"No action for \" + item.title);\n },\n _initCallback: function _initCallback(item) {\n var _this = this;\n\n this._toggleModal(true);\n item.cbk.call(item, { gid: item.gid }).then(function (promise) {\n promise.then(function (project) {\n if (project) document.title = project.state.html_page_title;\n }).fail(function () {\n _gui2.default.notify.error(\"

\" + t(\"error_map_loading\") + \"

\" + \"
\" + t(\"check_internet_connection_or_server_admin\") + \"
\");\n }).always(function () {\n _this._toggleModal(false);\n });\n });\n },\n _toggleModal: function _toggleModal(state) {\n _gui2.default.showFullModal({ show: state });\n _gui2.default.setLoadingContent(state);\n },\n logoSrc: function logoSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var has_media = src && src.includes(window.initConfig.mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + window.initConfig.mediaurl + src;\n } else {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n }\n\n return '' + host + imageSrc;\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"menu-projects\"}},[_c('div',{staticClass:\"row row-equal\"},[_vm._l((_vm.state.menuitems),function(menuitem){return _c('div',{key:menuitem.title,staticClass:\"col-xs-12 col-sm-4 project-menu\",on:{\"click\":function($event){return _vm.trigger(menuitem)}}},[_c('div',{staticClass:\"project-menu-item-image\"},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":_vm.logoSrc(menuitem.thumbnail)}})]),_vm._v(\" \"),_c('div',{staticClass:\"project-menu-item-content\"},[_c('div',{staticClass:\"project-menu-item-text\"},[_c('h4',{staticClass:\"project-menu-item-title\"},[_vm._v(_vm._s(menuitem.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(menuitem.description)}})])])])}),_vm._v(\" \"),(!_vm.state.menuitems.length)?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},[_c('h2',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_other_projects'),expression:\"'no_other_projects'\"}]})]):_vm._e()],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c9dd89f\"\n\n},{\"g3w-i18n\":130,\"services/gui\":175,\"vueify/lib/insert-css\":2}],92:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#query_builder[data-v-81e8d74e]{font-family:monospace;margin-bottom:0;height:100%;display:flex;flex-wrap:nowrap;flex-direction:column}#query_builder .select2.select2-container[data-v-81e8d74e]{font-weight:700}.querybuilder-title[data-v-81e8d74e]{color:#fff;font-weight:700}select[data-v-81e8d74e]{background-color:#fff;color:#000;border:none}option[data-v-81e8d74e]{padding:8px;cursor:pointer}option[data-v-81e8d74e]:checked{background:var(--skin-color) linear-gradient(0deg,var(--skin-color),var(--skin-color));color:#fff}option[data-v-81e8d74e]:nth-of-type(odd){background-color:#f9f9f9}.query_builder_button[data-v-81e8d74e]{margin:1px;flex-basis:78px;flex-grow:1;color:#000}.content-wrap[data-v-81e8d74e]{display:flex;flex-wrap:wrap}.content-end[data-v-81e8d74e]{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.margin-between-element[data-v-81e8d74e]{margin-bottom:5px}#query_builder_expression_content[data-v-81e8d74e]{width:100%;resize:none;height:100px;color:#000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'query-builder',\n\n data: function data() {\n return {\n edit: undefined !== this.$options.options,\n currentlayer: null,\n message: '',\n filter: undefined !== this.$options.options ? this.$options.options.filter : '',\n loading: {\n test: false,\n values: false\n },\n values: [],\n manual: true,\n manualvalue: null,\n select: {\n field: null,\n value: null\n }\n };\n },\n\n\n computed: {\n fields: function fields() {\n return this.currentlayer ? this.currentlayer.fields : [];\n },\n disabled: function disabled() {\n return !this.filter;\n }\n },\n\n watch: {\n 'select.field': function selectField() {\n this.values = [];\n this.manual = true;\n }\n },\n\n methods: {\n addToExpression: function addToExpression() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref.value,\n type = _ref.type;\n\n switch (type) {\n case 'operator':\n value = ' ' + value + ' ';break;\n case 'field':\n value = '\"' + value + '\"';break;\n case 'value':\n value = '\\'' + value + '\\'';break;\n }\n if (value) this.filter = '' + this.filter + value;\n },\n all: function () {\n var _ref2 = _asyncToGenerator(function* () {\n this.loading.values = true;\n try {\n var layerId = this.currentlayer.id;\n var field = this.select.field;\n var CACHE = _application2.default.querybuilder.cache;\n CACHE[layerId] = CACHE[layerId] || {};\n if (undefined !== CACHE[layerId][field]) {\n this.values = CACHE[layerId][field];\n } else {\n var response = yield _XHR.XHR.get({\n url: (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getUrl('data'),\n params: { ordering: field, formatter: 1, fformatter: field }\n });\n if (response.result) {\n CACHE[layerId][field] = CACHE[layerId][field] || response.data;\n }\n this.values = CACHE[layerId][field] || [];\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading.values = false;\n yield this.$nextTick();\n this.manualvalue = null;\n this.manual = false;\n });\n\n function all() {\n return _ref2.apply(this, arguments);\n }\n\n return all;\n }(),\n reset: function reset() {\n this.filter = '';\n this.message = '';\n this.filterElement.previous = null;\n this.filterElement.current = null;\n this.filterElement.operator = null;\n this.select.field = null;\n if (this.$refs.search_fields) {\n this.$refs.search_fields.selectedIndex = -1;\n }\n if (this.$refs.search_values) {\n this.$refs.search_values.selectedIndex = -1;\n }\n },\n run: function () {\n var _ref3 = _asyncToGenerator(function* () {\n try {\n this.loading.test = true;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id);\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: this.filter }),\n feature_count: 100\n },\n outputs: true\n }),\n data = _ref4.data;\n\n var n = data.length && data[0].features.length;\n this.message = undefined !== n ? ' ' + n : '';\n return data;\n } catch (e) {\n console.warn(e);\n } finally {\n this.loading.test = false;\n }\n });\n\n function run() {\n return _ref3.apply(this, arguments);\n }\n\n return run;\n }(),\n save: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var id = this.projectId || _application2.default.project.getId();\n var edit_id = this.edit && this.$options.options.id;\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var searches = item ? JSON.parse(item) : undefined;\n\n var query = void 0;\n\n try {\n query = {\n layerId: this.currentlayer.id,\n filter: this.filter,\n layerName: (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id).getName(),\n name: edit_id ? this.edit && this.$options.options.name : yield new Promise(function (res, rej) {\n _gui2.default.dialog.prompt(t('sdk.querybuilder.additem'), function (d) {\n return d ? res(d) : rej();\n });\n }),\n id: edit_id || (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n if (edit_id) {\n var i = searches[id].findIndex(function (s) {\n return s.id === query.id;\n });\n if (-1 !== i) {\n searches[id][i] = query;\n }\n } else {\n _gui2.default.getService('search').state.querybuildersearches.push(query);\n if (undefined === searches) {\n searches = _defineProperty({}, id, [query]);\n } else {\n searches[id] = [].concat(_toConsumableArray(searches[id] || []), [query]);\n }\n }\n } catch (e) {\n console.warn(e);\n return;\n }\n\n var ITEMS = _application2.default.querybuilder.searches;\n\n try {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(searches));\n } catch (e) {\n console.warn(e);\n }\n\n setTimeout(function () {\n searches[id].forEach(function (q) {\n return ITEMS[id].push(q);\n });\n }, 0);\n ITEMS[id].splice(0);\n _gui2.default.showUserMessage({ type: 'success', message: t(\"sdk.querybuilder.messages.changed\"), autoclose: true });\n });\n\n function save() {\n return _ref5.apply(this, arguments);\n }\n\n return save;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.filterElement = {\n current: null,\n previous: null,\n operator: null\n };\n\n var project = _application2.default.project;\n\n this.layers = project.getLayers().filter(function (l) {\n return !l.baselayer && Array.isArray(l.fields);\n }).map(function (layer) {\n var exclude = [];\n project.state.relations.filter(function (r) {\n return layer.id === r.referencedLayer && 'ONE' === r.type;\n }).forEach(function (r) {\n var l = project.getLayerById(r.referencingLayer);\n r.customPrefix = r.customPrefix === undefined ? l.getName() + '_' : r.customPrefix;\n exclude = [].concat(_toConsumableArray(exclude), _toConsumableArray(l.getFields().map(function (field) {\n return '' + r.customPrefix + field.name;\n })));\n });\n return {\n id: layer.id,\n label: layer.title,\n fields: layer.fields.filter(function (f) {\n return f.show;\n }).map(function (f) {\n return { label: f.label, name: f.name };\n }).filter(function (f) {\n return !exclude.includes(f);\n })\n };\n });\n\n this.operators = Object.values(_g3wConstants.FILTER_OPERATORS);\n\n this.currentlayer = this.edit ? this.layers.find(function (l) {\n return l.id === _this.$options.options.layerId;\n }) : this.layers[0];\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.select2 = $('#query_builder_layers_select').select2({ width: '100%' });\n\n if (this.edit) {\n this.select2.val(this.layers.indexOf(this.currentlayer));\n this.select2.trigger('change');\n }\n\n this.select2.on('select2:select', function (e) {\n _this2.currentlayer = _this2.layers[e.params.data.id];\n _this2.select.field = null;\n _this2.select.value = null;\n _this2.reset();\n });\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.select2.select2('destroy');\n this.select2 = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"query_builder\"}},[_c('div',{staticClass:\"margin-between-element\",attrs:{\"id\":\"query_builder_layers\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.expression'),expression:\"'sdk.querybuilder.panel.expression'\"}],staticClass:\"querybuilder-title\"}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#search-and-query-builder\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"query_builder_layers_select\"}},_vm._l((_vm.layers),function(layer,i){return _c('option',{key:layer.label,staticClass:\"bold\",domProps:{\"value\":i}},[_vm._v(_vm._s(layer.label))])}),0)]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],attrs:{\"id\":\"query_builder_expression_content\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filter=$event.target.value}}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.test}}),_vm._v(\" \"),_c('b',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],staticClass:\"skin-color\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"content-end\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.run'),expression:\"'sdk.querybuilder.panel.button.run'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.run}},[_c('i',{class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.clear'),expression:\"'sdk.querybuilder.panel.button.clear'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":_vm.reset}},[_c('i',{class:_vm.$fa('clear')})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.save'),expression:\"'sdk.querybuilder.panel.button.save'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.save}},[_c('i',{class:_vm.$fa('save')})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.fields'),expression:\"'sdk.querybuilder.panel.fields'\"}]}),_vm._v(\" \"),_c('select',{ref:\"search_fields\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field.name,on:{\"click\":function($event){_vm.select.field = field.name; _vm.addToExpression({ value: field.name, type: 'field' })}}},[_vm._v(_vm._s(field.label))])})],2),_vm._v(\" \"),_c('div',{staticClass:\"content-wrap margin-between-element\"},_vm._l((_vm.operators),function(operator){return _c('button',{key:operator,staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":function($event){return _vm.addToExpression({ value: operator, type: 'operator' })}}},[_vm._v(_vm._s(operator))])}),0),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.values}}),_vm._v(\" \"),(!_vm.manual)?_c('select',{ref:\"search_values\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.values),function(ref){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('option',{key:key,on:{\"click\":function($event){_vm.select.value = key; _vm.addToExpression({ value: key, type: 'value' })}}},[_vm._v(_vm._s(value))])})],2):_vm._e(),_vm._v(\" \"),(_vm.select.field !== null && !_vm.values.length)?_c('button',{staticClass:\"btn btn-secondary bold\",class:{'skin-border-color' : !_vm.manual },staticStyle:{\"color\":\"#000\"},on:{\"click\":_vm.all}},[_c('i',{class:_vm.g3wtemplate.getFontClass('search')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.all'),expression:\"'sdk.querybuilder.panel.button.all'\"}]})]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81e8d74e\"\n\n},{\"g3w-constants\":127,\"g3w-i18n\":130,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183,\"utils/createFilterFromString\":194,\"utils/getCatalogLayerById\":205,\"utils/getUniqueDomId\":219,\"vueify/lib/insert-css\":2}],93:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".feature_attributes tr[data-v-09a18998]{line-height:1.8em}.featurebox-body+tr[data-v-09a18998]{border-top:2px groove #000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nvar _QueryResultsTableAttributeFieldValue = require('components/QueryResultsTableAttributeFieldValue.vue');\n\nvar _QueryResultsTableAttributeFieldValue2 = _interopRequireDefault(_QueryResultsTableAttributeFieldValue);\n\nvar _QueryResultsActionInfoFormats = require('components/QueryResultsActionInfoFormats.vue');\n\nvar _QueryResultsActionInfoFormats2 = _interopRequireDefault(_QueryResultsActionInfoFormats);\n\nvar _QueryResultsHeaderFeatureBody = require('components/QueryResultsHeaderFeatureBody.vue');\n\nvar _QueryResultsHeaderFeatureBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureBody);\n\nvar _QueryResultsHeaderFeatureActionsBody = require('components/QueryResultsHeaderFeatureActionsBody.vue');\n\nvar _QueryResultsHeaderFeatureActionsBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureActionsBody);\n\nvar _toRawType = require('utils/toRawType');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar MAX_SUBSET_LENGTH = 3;\nvar headerExpandActionCellWidth = 10;\nvar headerActionsCellWidth = 10;\nvar HEADERTYPESFIELD = ['varchar', 'integer', 'float', 'bigint', 'date'];\n\nexports.default = {\n name: 'queryresults',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n headerExpandActionCellWidth: headerExpandActionCellWidth,\n headerActionsCellWidth: headerActionsCellWidth\n };\n },\n\n mixins: [_mixins.fieldsMixin],\n components: {\n TableAttributeFieldValue: _QueryResultsTableAttributeFieldValue2.default,\n 'infoformats': _QueryResultsActionInfoFormats2.default,\n 'header-feature-body': _QueryResultsHeaderFeatureBody2.default,\n HeaderFeatureActionsBody: _QueryResultsHeaderFeatureActionsBody2.default\n },\n computed: {\n onelayerresult: function onelayerresult() {\n return 1 === this.state.layers.length;\n },\n hasLayers: function hasLayers() {\n return this.hasResults || !!this.state.components.length;\n },\n hasResults: function hasResults() {\n return this.state.layers.length > 0;\n },\n info: function info() {\n if (this.state.query) {\n var query = this.state.query;\n\n var decimalNumber = 'degrees' === _gui2.default.getService('map').getMapUnits() ? 4 : 2;\n switch (query.type) {\n case 'coordinates':\n return {\n icon: 'marker',\n message: ' ' + query.coordinates[0].toFixed(decimalNumber) + ', ' + query.coordinates[1].toFixed(decimalNumber)\n };\n case 'bbox':\n return {\n icon: 'square',\n message: ' [' + query.bbox.map(function (c) {\n return c.toFixed(decimalNumber);\n }).join(' , ') + ']'\n };\n case 'polygon':\n case 'drawpolygon':\n return {\n icon: 'draw',\n message: query.layerName ? query.layerName + ' ' + (undefined !== query.fid ? ' - Feature Id: ' + query.fid : '') : ' ' };\n case 'circle':\n return {\n icon: 'empty-circle',\n message: ' ' };\n default:\n console.warn('Unsupported query type: ' + query.type);\n break;\n }\n } else if (this.state.search) {}\n\n return { icon: null, message: null };\n },\n queryableLayers: function queryableLayers() {\n return (0, _getMapLayersByFilter.getMapLayersByFilter)({ QUERYABLE: true });\n },\n selectedLayer: function selectedLayer() {\n return _gui2.default.getService('map').getSelectedLayer();\n }\n },\n methods: {\n getLayerDownloads: function getLayerDownloads() {\n var downloads = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return downloads.filter(function (d) {\n return 'pdf' !== d;\n });\n },\n showLayer: function showLayer(layer) {\n return layer.show && (this.layerHasFeatures(layer) || layer.rawdata || Array.isArray(layer.infoformats) && layer.infoformats.length > 0);\n },\n getLayerCustomComponents: function getLayerCustomComponents(layerId) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'feature';\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'after';\n\n return this.state.layerscustomcomponents[layerId] && this.state.layerscustomcomponents[layerId][type] && this.state.layerscustomcomponents[layerId][type][position] || [];\n },\n getLayerField: function getLayerField(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature,\n fieldName = _ref.fieldName;\n\n var layerField = layer.attributes.find(function (a) {\n return fieldName === a.name;\n });\n return _extends({}, layerField, {\n label: null,\n value: feature.attributes[fieldName]\n });\n },\n getQueryFields: function getQueryFields(layer, feature) {\n var fields = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = layer.formStructure.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n var _field = _extends({}, field);\n _field.query = true;\n _field.value = feature.attributes[field.name];\n _field.input = {\n type: '' + this.getFieldType(_field)\n };\n fields.push(_field);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return fields;\n },\n getColSpan: function getColSpan(layer) {\n return this.attributesSubsetLength(layer) + !this.hasLayerOneFeature(layer) * 1;\n },\n addLayerFeaturesToResults: function addLayerFeaturesToResults(layer) {\n this.$options.service.addLayerFeaturesToResultsAction(layer);\n },\n printAtlas: function printAtlas(layer) {\n this.$options.service.printAtlas(layer);\n },\n showLayerDownloadFormats: function showLayerDownloadFormats(layer) {\n this.$options.service.showLayerDownloadFormats(layer);\n },\n saveLayerResult: function saveLayerResult(layer) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"csv\";\n\n this.$options.service.downloadFeatures(type, layer, layer.features);\n },\n hasLayerOneFeature: function hasLayerOneFeature(layer) {\n return layer.features.length === 1;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function addRemoveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n },\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n index = _ref2.index;\n\n return $('#' + layer.id + '_' + index + ' > td');\n },\n hasOneLayerAndOneFeature: function hasOneLayerAndOneFeature(layer) {\n return this.hasLayerOneFeature(layer);\n },\n hasFormStructure: function hasFormStructure(layer) {\n return !!layer.formStructure;\n },\n layerHasFeatures: function layerHasFeatures(layer) {\n return Array.isArray(layer.features) && layer.features.length > 0;\n },\n addToSelection: function addToSelection(layer) {\n this.$options.service.addToSelection(layer);\n },\n extractAttributesFromFirstTabOfFormStructureLayers: function extractAttributesFromFirstTabOfFormStructureLayers(layer) {\n var _this = this;\n\n var attributes = new Set();\n var traverseStructure = function traverseStructure(item) {\n if (item.nodes) {\n item.nodes.forEach(function (node) {\n return traverseStructure(node);\n });\n } else {\n var field = layer.formStructure.fields.find(function (f) {\n return item.field_name === f.name;\n });\n if (field) {\n if (_this.state.type === 'ows') {\n field = _extends({}, field);\n field.name = field.name.replace(/ /g, '_');\n }\n attributes.add(field);\n }\n }\n };\n if (layer.formStructure.structure.length) {\n layer.formStructure.structure.forEach(function (structure) {\n return traverseStructure(structure);\n });\n }\n return Array.from(attributes);\n },\n attributesSubset: function attributesSubset(layer) {\n var attributes = this.hasFormStructure(layer) ? this.extractAttributesFromFirstTabOfFormStructureLayers(layer) : layer.attributes;\n var _attributes = attributes.filter(function (attribute) {\n return attribute.show && HEADERTYPESFIELD.includes(attribute.type);\n });\n\n var end = Math.min(MAX_SUBSET_LENGTH, attributes.length);\n return _attributes.slice(0, end);\n },\n attributesSubsetLength: function attributesSubsetLength(layer) {\n return this.attributesSubset(layer).length;\n },\n getLayerFormStructure: function getLayerFormStructure(layer) {\n return layer.formStructure.structure.map(function (n) {\n return Vue.observable(structuredClone(n));\n });\n },\n getLayerFeatureBox: function getLayerFeatureBox(layer, feature, relation_index) {\n var _this2 = this;\n\n var boxid = this.getBoxId(layer, feature, relation_index);\n if (undefined === this.state.layersFeaturesBoxes[boxid]) {\n this.state.layersFeaturesBoxes[boxid] = Vue.observable({\n collapsed: true\n });\n this.$watch(function () {\n return _this2.state.layersFeaturesBoxes[boxid].collapsed;\n }, function (collapsed) {\n var index = layer.features.findIndex(function (_feature) {\n return feature.id === _feature.id;\n });\n var container = _this2.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this2.$options.service.openCloseFeatureResult({ open: !collapsed, layer: layer, feature: feature, container: container });\n });\n this.state.layersFeaturesBoxes[boxid].collapsed = layer.features.length > 1;\n }\n return this.state.layersFeaturesBoxes[boxid];\n },\n collapsedFeatureBox: function collapsedFeatureBox(layer, feature, relation_index) {\n var box = this.state.layersFeaturesBoxes[this.getBoxId(layer, feature, relation_index)];\n return box ? box.collapsed : true;\n },\n showFeatureInfo: function showFeatureInfo(layer, boxid) {\n var box = this.state.layersFeaturesBoxes[boxid];\n this.$options.service.emit('show-query-feature-info', {\n layer: layer,\n tabs: this.hasFormStructure(layer),\n show: box ? !box.collapsed : false\n });\n },\n getBoxId: function getBoxId(layer, feature, relation_index) {\n return this.$options.service.getBoxId(layer, feature, relation_index);\n },\n toggleFeatureBox: function () {\n var _ref3 = _asyncToGenerator(function* (layer, feature, relation_index) {\n var boxid = this.getBoxId(layer, feature, relation_index);\n this.state.layersFeaturesBoxes[boxid].collapsed = !this.state.layersFeaturesBoxes[boxid].collapsed;\n yield this.$nextTick();\n this.showFeatureInfo(layer, boxid);\n });\n\n function toggleFeatureBox(_x6, _x7, _x8) {\n return _ref3.apply(this, arguments);\n }\n\n return toggleFeatureBox;\n }(),\n toggleFeatureBoxAndZoom: function toggleFeatureBoxAndZoom(layer, feature, relation_index) {\n if (!this.hasLayerOneFeature(layer)) {\n this.toggleFeatureBox(layer, feature, relation_index);\n }\n },\n trigger: function () {\n var _ref4 = _asyncToGenerator(function* (action, layer, feature, index) {\n if (action.opened && 'none' === $('#' + layer.id + '_' + index).css('display')) {\n this.toggleFeatureBox(layer, feature);\n yield this.$nextTick();\n }\n yield this.$options.service.trigger(action.id, layer, feature, index, this.getContainerFromFeatureLayer({ layer: layer, index: index }));\n });\n\n function trigger(_x9, _x10, _x11, _x12) {\n return _ref4.apply(this, arguments);\n }\n\n return trigger;\n }(),\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n },\n isJSON: function isJSON(field) {\n return !this.isVue(field) && this.isSimple(field) && 'Object' === (0, _toRawType.toRawType)(field.value);\n },\n openAttributeTable: function openAttributeTable(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).openAttributeTable({ perc: 100 });\n },\n highLightLayerFeatures: function highLightLayerFeatures(layer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: true };\n\n if (layer.hasgeometry) {\n this.$options.service.highLightLayerFeatures(layer, opts);\n }\n },\n collapseSidebar: function collapseSidebar(e) {\n var box = e.target.closest(\".box\");\n var collapsed = box.classList.contains('collapsed-box');\n box.classList.toggle('collapsed-box');\n box.querySelector(\".btn-collapser\").classList.toggle('fa-plus', !collapsed);\n box.querySelector(\".btn-collapser\").classList.add('fa-minus', collapsed);\n }\n },\n\n watch: {\n 'state.layers': function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (layer) {\n if (layer.attributes.length <= MAX_SUBSET_LENGTH && !layer.hasImageField) {\n layer.expandable = false;\n }\n layer.features.forEach(function (feature) {\n _this3.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this3.state.layersFeaturesBoxes[layer.id + '_' + feature.id + '_' + relation.name + index] = { collapsed: true };\n });\n });\n }\n });\n });\n\n if (this.onelayerresult && this.hasLayerOneFeature(layers[0])) {\n var layer = layers[0];\n var feature = layer.features[0];\n var boxid = this.getBoxId(layer, feature);\n this.$options.service.onceafter('postRender', function () {\n _this3.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this3.$options.service.postRender(_this3.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref5.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this4 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this4.$options.service.zoomToLayerFeaturesExtent(layer);\n });\n },\n destroyed: function destroyed() {\n this.$options.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"queryresults-wrapper\",attrs:{\"id\":\"search-results\"}},[(_vm.info.message)?_c('div',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"margin-bottom\":\"3px\",\"font-size\":\"1.1em\"}},[(_vm.info.icon)?_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.info.icon)}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.info.message)+\" \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"queryresults-container\"},[(_vm.state.layers.length)?[(_vm.hasLayers)?_c('ul',{staticClass:\"queryresults\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"queryresults\"}},[_vm._l((_vm.state.layers),function(layer){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLayer(layer)),expression:\"showLayer(layer)\"}]},[_c('bar-loader',{attrs:{\"loading\":layer.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"box box-primary\"},[_c('div',{staticClass:\"box-header with-border\",class:{'mobile': _vm.isMobile()},on:{\"mouseover\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":_vm.collapseSidebar}},[_c('div',{staticClass:\"box-title query-layer-title\",style:({fontSize: _vm.isMobile() && '1em !important'})},[(!layer.external)?_c('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\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAttributeTable(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('list')})]):_vm._e(),_vm._v(\"\\n \"+_vm._s(layer.title)+\"\\n \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!layer.rawdata),expression:\"!layer.rawdata\"}],staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\")])]),_vm._v(\" \"),_c('div',{staticClass:\"box-features-action\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('infoformats',{attrs:{\"layer\":layer}}),_vm._v(\" \"),(layer.features.length > 1)?[(layer.hasgeometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'),expression:\"'sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToLayerFeaturesExtent(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('marker')})]):_vm._e(),_vm._v(\" \"),(layer.atlas.length)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.atlas.hint'),expression:\"'sdk.mapcontrols.query.actions.atlas.hint'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.printAtlas(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('print')})]):_vm._e(),_vm._v(\" \"),(1 === _vm.getLayerDownloads(layer.downloads).length )?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:((\"sdk.mapcontrols.query.actions.download_features_\" + (layer.downloads[0]) + \".hint\")),expression:\"`sdk.mapcontrols.query.actions.download_features_${layer.downloads[0]}.hint`\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();_vm.saveLayerResult(layer, _vm.getLayerDownloads(layer.downloads)[0])}}})])]:(_vm.getLayerDownloads(layer.downloads).length > 1)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('Downloads'),expression:\"'Downloads'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayerDownloadFormats(layer)}}})])]:_vm._e()]:_vm._e(),_vm._v(\" \"),(layer.external || (layer.source && 'wms' !== layer.source.type ))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_features_to_results.hint'),expression:\"'sdk.mapcontrols.query.actions.add_features_to_results.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': layer.addfeaturesresults.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayerFeaturesToResults(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('plus-square')})]):_vm._e(),_vm._v(\" \"),(\n layer.toc &&\n layer.id !== '__g3w_marker' &&\n layer.features.length > 1 &&\n (layer.external || (layer.source && layer.source.type !== 'wms'))\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_selection.hint'),expression:\"'sdk.mapcontrols.query.actions.add_selection.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.selection.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addToSelection(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('success')})]):_vm._e(),_vm._v(\" \"),(!layer.external && layer.selection.active)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.filter.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addRemoveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('filter')})]),_vm._v(\" \"),(\n _vm.state.logged\n && layer.filter.active\n && (null === layer.filter.current || layer.selection.active)\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('save')})]):_vm._e()]:_vm._e()],2),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-box-tool\",staticStyle:{\"pointer-events\":\"none\"}},[_c('i',{staticClass:\"btn-collapser skin-color\",class:_vm.g3wtemplate.font['minus']})])]),_vm._v(\" \"),(_vm.state.layeractiontool[layer.id].component)?[_c('div',{staticClass:\"g3w-layer-action-tools with-border\",class:{'mobile': _vm.isMobile()},staticStyle:{\"padding\":\"5px\"}},[_c(_vm.state.layeractiontool[layer.id].component,{tag:\"component\",attrs:{\"layer\":layer,\"config\":_vm.state.layeractiontool[layer.id].config}})],1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'before')),function(ref){\n var component = ref.component;\nreturn _c(component,{tag:\"component\",attrs:{\"layer\":layer}})}),_vm._v(\" \"),_c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[(layer.rawdata)?[_c('div',{staticClass:\"queryresults-text-html\",class:{text: layer.infoformat === 'text/plain'},domProps:{\"innerHTML\":_vm._s(layer.rawdata)}})]:(_vm.hasFormStructure(layer))?[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},[_c('tbody',[_vm._l((layer.features),function(feature,index){return (feature.show)?[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{noAttributes: _vm.attributesSubset(layer).length === 0},staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('tabs',{attrs:{\"fields\":_vm.getQueryFields(layer, feature),\"layerid\":layer.id,\"feature\":feature,\"tabs\":_vm.getLayerFormStructure(layer)}})],1)]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})]:_vm._e()})],2)])]:[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},_vm._l((layer.features),function(feature,index){return (feature.show)?_c('tbody',{key:feature.id},[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{ noAttributes: 0 === _vm.attributesSubset(layer).length },staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('table',{staticClass:\"feature_attributes\"},[_vm._l((layer.attributes.filter(function (attribute) { return attribute.show; })),function(attribute){return [(_vm.isJSON(_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})))?[_vm._l((_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name}).value),function(v,k){\n var _obj;\nreturn _vm._l((('object' === typeof v ? v : ( _obj = {}, _obj[k] = v, _obj ))),function(v2,k2){return _c('tr',{staticStyle:{\"padding-top\":\"10px\",\"padding-bottom\":\"10px\"}},[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label)+\".\"),(('object' === typeof v))?[_vm._v(_vm._s(k)+\".\")]:_vm._e(),_vm._v(_vm._s(k2))],2),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\"},[_vm._v(_vm._s(v2))])])})})]:_c('tr',[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label))]),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\",attrs:{\"attribute\":attribute.name}},[_c('table-attribute-field-value',{attrs:{\"feature\":feature,\"field\":_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})}})],1)])]})],2)])]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":\"getColSpan(layer)\"}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})],2):_c('tbody')}),0)]],2),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'after')),function(ref){\n var component = ref.component;\nreturn _c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer}})],1)})],2)],1)}),_vm._v(\" \"),_vm._l((_vm.state.components),function(component){return _c('li',[_c(component,{tag:\"component\",on:{\"showresults\":function($event){return _vm.showResults()}}})],1)})],2):_vm._e()]:[(_vm.state.changed)?_c('div',{staticClass:\"query-results-not-found\"},[_c('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\"}})]):_vm._e()]],2),_vm._v(\" \"),(_vm.state.query)?_c('div',{staticStyle:{\"visibility\":\"hidden\",\"position\":\"sticky\",\"bottom\":\"-8px\",\"background\":\"#eee\",\"padding\":\"8px 0\",\"display\":\"flex\",\"gap\":\"1em\"}},[_c('label',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.$t('query_filter')))]),_vm._v(\" \"),_c('select',{staticStyle:{\"flex\":\"1\"}},[_vm._l((_vm.queryableLayers),function(layer){return _c('option',{domProps:{\"selected\":layer === _vm.selectedLayer}},[_vm._v(_vm._s(layer.getName()))])}),_vm._v(\" \"),_c('option',{domProps:{\"selected\":!_vm.selectedLayer}},[_vm._v(_vm._s(_vm.$t('sdk.mapcontrols.queryby.all')))])],2)]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-09a18998\"\n\n},{\"components/QueryResultsActionInfoFormats.vue\":97,\"components/QueryResultsHeaderFeatureActionsBody.vue\":100,\"components/QueryResultsHeaderFeatureBody.vue\":101,\"components/QueryResultsTableAttributeFieldValue.vue\":102,\"mixins\":167,\"services/gui\":175,\"utils/getCatalogLayerById\":205,\"utils/getMapLayersByFilter\":212,\"utils/throttle\":243,\"utils/toRawType\":244,\"vueify/lib/insert-css\":2}],94:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"action\",\n data: function data() {\n return {\n show: true\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n action: {\n type: Object,\n required: true\n }\n },\n methods: {\n clickAction: function () {\n var _ref = _asyncToGenerator(function* (action, layer, feature, featureIndex, event) {\n yield this.trigger(action, layer, feature, featureIndex);\n if (action.hint_change) {\n var element = $(event.target).parent();\n var originalDataTitle = element.attr('data-original-title');\n element.attr('data-original-title', t(action.hint_change.hint));\n element.tooltip('show');\n setTimeout(function () {\n element.attr('data-original-title', originalDataTitle);\n element.tooltip('show');\n }, action.hint_change.duration || 600);\n }\n this.$emit('action-clicked', action);\n });\n\n function clickAction(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n }\n\n return clickAction;\n }()\n },\n created: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (this.action.init) {\n this.action.init({ layer: this.layer, feature: this.feature, index: this.featureIndex, action: this.action });\n }\n if (typeof this.action.condition === 'function') {\n var show = this.action.condition({ layer: this.layer, feature: this.feature });\n this.show = show instanceof Promise ? yield show : show;\n }\n });\n\n function created() {\n return _ref2.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.action.hint),expression:\"action.hint\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': _vm.action.state && _vm.action.state.toggled[_vm.featureIndex] },on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();},\"click\":function($event){$event.stopPropagation();return _vm.clickAction(_vm.action, _vm.layer, _vm.feature, _vm.featureIndex, $event)}}},[_c('span',{class:(\"action-button-icon \" + (_vm.action.class)),staticStyle:{\"padding\":\"2px\"},style:(_vm.action.style)})]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":130}],95:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'choose_layer',\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: {\n icon: 'pencil',\n label: 'Choose a Layer',\n nolayers: 'No layers found',\n layers: [],\n cbk: function cbk() {}\n }\n }\n },\n\n data: function data() {\n return {\n layerId: null\n };\n },\n\n\n computed: {\n has_layers: function has_layers() {\n return this.config.layers && this.config.layers.length > 0;\n }\n },\n\n created: function created() {\n if (this.has_layers) {\n this.layerId = this.config.layers[0].id;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"action-choose-layer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.label),expression:\"config.label\"}]}),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('layerId'),expression:\"'layerId'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false,\"disabled\":!_vm.has_layers}},[_vm._l((_vm.config.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_c('b',[_vm._v(_vm._s(layer.name))])])}),_vm._v(\" \"),(!_vm.has_layers)?_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.nolayers),expression:\"config.nolayers\"}]}):_vm._e()],2),_vm._v(\" \"),(_vm.has_layers)?_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.config.cbk(_vm.layerId, _vm.feature); })($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.config.icon)})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n\n},{}],96:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"downloadformats\",\n\n data: function data() {\n return {\n download_format: this.config.downloads[0].format\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n var _download = this.config.downloads.find(function (action) {\n return action.format === _this.download_format;\n });\n yield _download.cbk(this.layer, this.feature ? this.feature : this.layer.features, _download, this.featureIndex, 'pdf' === _download.format ? document.querySelector(\"[feature-html-content=\\\"\" + this.layer.id + \"_\" + this.featureIndex + \"\\\"]\").innerHTML : null);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function download() {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3w-download-formats-content\",staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('download_format'),expression:\"'download_format'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false}},_vm._l((_vm.config.downloads),function(download){return _c('option',{directives:[{name:\"download\",rawName:\"v-download\"}],key:download.id,domProps:{\"value\":download.format}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(download.format))])])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"download\",rawName:\"v-download\"}],staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.download($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])}\n__vue__options__.staticRenderFns = []\n\n},{}],97:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _parsers = require('utils/parsers');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'Infoformats',\n\n props: {\n layer: {\n type: Object,\n required: true\n }\n },\n\n data: function data() {\n return {\n infoformat: this.layer.infoformat\n };\n },\n\n\n computed: {\n infoformats: function infoformats() {\n return this.layer.infoformats || [];\n },\n hasInfo: function hasInfo() {\n return this.infoformats.length;\n }\n },\n\n methods: {\n reloadLayerDataWithChangedContentType: function () {\n var _ref = _asyncToGenerator(function* (contenttype) {\n this.layer.loading = true;\n\n this.$el.disabled = true;\n try {\n var response = yield this.projectLayer.changeProxyDataAndReloadFromServer('wms', {\n headers: { 'Content-Type': contenttype },\n params: { INFO_FORMAT: contenttype }\n });\n this.layer.infoformat = contenttype;\n this.projectLayer.setInfoFormat(this.layer.infoformat);\n\n var _ResponseParser$get = _parsers.ResponseParser.get(contenttype)({ layers: [this.projectLayer], response: response }),\n _ResponseParser$get2 = _slicedToArray(_ResponseParser$get, 1),\n data = _ResponseParser$get2[0];\n\n if (data.features) {\n this.__parsedata(data);\n } else {\n this.__parserawdata(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.layer.loading = false;\n\n this.$el.disabled = false;\n });\n\n function reloadLayerDataWithChangedContentType(_x) {\n return _ref.apply(this, arguments);\n }\n\n return reloadLayerDataWithChangedContentType;\n }(),\n __parsedata: function __parsedata(data) {\n var _this = this;\n\n var queryService = _gui2.default.getService('queryresults');\n this.layer.rawdata = null;\n\n data.features.forEach(function (feature) {\n var _properties$geometry$ = {\n properties: feature instanceof ol.Feature ? feature.getProperties() : feature.properties,\n geometry: feature instanceof ol.Feature ? feature.getGeometry() : feature.geometry,\n id: feature instanceof ol.Feature ? feature.getId() : feature.id\n },\n fid = _properties$geometry$.id,\n geometry = _properties$geometry$.geometry,\n attributes = _properties$geometry$.properties;\n\n if (0 === _this.layer.attributes.length) {\n _this.layer.hasgeometry = !!geometry;\n\n queryService.setActionsForLayers([_this.layer]);\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(attributes).forEach(function (name) {\n _this.layer.attributes.push({\n name: name,\n label: name,\n show: true\n });\n });\n }\n\n _this.layer.features.push({ id: fid, attributes: attributes, geometry: geometry, show: true });\n });\n },\n __parserawdata: function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n this.layer.features.splice(0);\n yield this.$nextTick();\n this.layer.rawdata = data.rawdata;\n });\n\n function __parserawdata(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return __parserawdata;\n }()\n },\n\n watch: {\n 'infoformat': function infoformat(value) {\n this.reloadLayerDataWithChangedContentType(value);\n }\n },\n\n created: function created() {\n this.projectLayer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.projectLayer) {\n this.projectLayer.clearProxyData('wms');\n }\n this.projectLayer = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasInfo)?_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('infoformat'),expression:\"'infoformat'\"}],staticClass:\"skin-color\",attrs:{\"select2_value\":_vm.infoformat,\"search\":false}},_vm._l((_vm.infoformats),function(infoformat){return _c('option',{key:infoformat,domProps:{\"value\":infoformat}},[_vm._v(\"\\n \"+_vm._s(infoformat)+\"\\n \")])}),0):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"services/gui\":175,\"utils/getAlphanumericPropertiesFromFeature\":204,\"utils/getCatalogLayerById\":205,\"utils/parsers\":232}],98:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-polygonattributes-types-title[data-v-7fd19c11]{font-weight:700;padding:3px;color:#fff;margin:0 0 5px}.g3w-polygonattributes-types-content[data-v-7fd19c11]{display:flex;justify-content:space-between;padding:3px;border-radius:3px;border:1px solid #f4f4f4}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"queryresults-querypolygonaddattributes\",\n\n props: {\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n data: function data() {\n return {\n type: this.config.choices[0].type\n };\n },\n created: function created() {\n var _this = this;\n\n this.unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n _this.config.choices.forEach(function (c) {\n return $(_this.$refs[c.type]).text(t(c.label));\n });\n $(_this.$refs.g3w_select_feature_featurepolygon).select2().trigger('change');\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unwatch && this.unwatch();\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.mapcontrols.querybypolygon.download.title'),expression:\"'sdk.mapcontrols.querybypolygon.download.title'\"}],staticClass:\"skin-background-color g3w-polygonattributes-types-title\"}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-polygonattributes-types-content\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('type'),expression:\"'type'\"}],ref:\"g3w_select_feature_featurepolygon\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"search\":false}},_vm._l((_vm.config.choices),function(choice){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(choice.label),expression:\"choice.label\"}],key:choice.type,ref:choice.type,refInFor:true,domProps:{\"value\":choice.type}})}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.config.download(_vm.type)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7fd19c11\"\n\n},{\"g3w-i18n\":130,\"store/application\":180,\"vueify/lib/insert-css\":2}],99:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-feature-actions[data-v-ec80a64e]{padding:3px;background-color:rgba(34,45,50,.1)!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsAction = require(\"components/QueryResultsAction.vue\");\n\nvar _QueryResultsAction2 = _interopRequireDefault(_QueryResultsAction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"actions\",\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n actions: {\n type: Array,\n default: []\n },\n colspan: {\n type: Number\n }\n },\n components: {\n action: _QueryResultsAction2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.actions.length)?_c('td',{staticClass:\"g3w-feature-actions\",staticStyle:{\"padding\":\"3px\"},attrs:{\"colspan\":_vm.colspan}},_vm._l((_vm.actions),function(action){return _c('action',_vm._b({key:action.id,attrs:{\"action\":action}},'action',_vm.$props,false))}),1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-ec80a64e\"\n\n},{\"components/QueryResultsAction.vue\":94,\"vueify/lib/insert-css\":2}],100:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-164045ac]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n },\n index: {\n type: Number\n },\n actions: {\n type: Array\n },\n colspan: {\n type: Number\n }\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"featurebox-header\",on:{\"mouseover\":function($event){return _vm.trigger({id:'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){return _vm.trigger({id:'clearHighlightGeometry'}, _vm.layer, _vm.feature, _vm.index)}}},[_c('actions',{attrs:{\"colspan\":_vm.colspan,\"layer\":_vm.layer,\"featureIndex\":_vm.index,\"trigger\":_vm.trigger,\"feature\":_vm.feature,\"actions\":_vm.actions}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-164045ac\"\n\n},{\"components/QueryResultsActions.vue\":99,\"mixins\":167,\"vueify/lib/insert-css\":2}],101:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-137530c7]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n }\n\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_vm._l((_vm.attributesSubset(_vm.layer)),function(attribute){return _c('td',{staticClass:\"attribute\"},[(_vm.isLink(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('link')}):(_vm.isPhoto(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):(_vm.isImage(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):_c('span',[_vm._v(_vm._s(_vm.feature.attributes[attribute.name]))])])}),_vm._v(\" \"),(!_vm.hasLayerOneFeature(_vm.layer))?_c('td'):_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-137530c7\"\n\n},{\"components/QueryResultsActions.vue\":99,\"mixins\":167,\"vueify/lib/insert-css\":2}],102:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"tableattributefieldvalue\",\n props: {\n field: {\n type: Object\n },\n feature: {\n type: Object\n }\n },\n mixins: [_mixins.fieldsMixin],\n components: {\n 'g3w-link': _FieldLink2.default,\n 'g3w-vue': _FieldVue2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVue(_vm.field))?_c('g3w-vue',{attrs:{\"feature\":_vm.feature,\"state\":_vm.field}}):(_vm.isSimple(_vm.field))?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.field.value)}}):(_vm.isPhoto(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isImage(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isLink(_vm.field))?_c('g3w-link',{attrs:{\"state\":{value: _vm.field.value}}}):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0a32e30e\"\n\n},{\"components/FieldLink.vue\":47,\"components/FieldVue.vue\":50,\"mixins\":167}],103:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".query-relation[data-v-20ddbb22]{margin-top:3px}.query-relation>.header[data-v-20ddbb22]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-20ddbb22]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-20ddbb22]{font-size:1em}.relations-table-tools[data-v-20ddbb22]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-20ddbb22]{padding:5px}.relation-wrapper[data-v-20ddbb22]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-20ddbb22]{font-size:.8em}.header-component[data-v-20ddbb22]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.table-tools[data-v-20ddbb22]{display:flex;justify-content:space-between}.relationtable .table-tools .action-button[data-v-20ddbb22]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-20ddbb22]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-20ddbb22]{background-color:#fff!important}#chart_content[data-v-20ddbb22]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-20ddbb22]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}\\n.relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:transparent!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _mixins = require('mixins');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SIDEBARWIDTH = void 0;\n\nexports.default = {\n name: 'relation',\n\n props: {\n table: {},\n feature: { default: null },\n relation: {},\n previousview: {},\n showChartButton: {},\n cardinality: {}\n },\n\n inject: ['relationnoback'],\n\n mixins: [_mixins.fieldsMixin, _mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n return {\n fields: null,\n chart: false,\n headercomponent: null,\n downloadButton: null,\n downloadLayer: {\n state: null,\n config: {\n downloads: []\n }\n }\n };\n },\n\n\n computed: {\n showTools: function showTools() {\n return [!!this.isEditable, !!this.table.formStructure, !!this.isGeoLayer].filter(Boolean).length;\n },\n showrelationslist: function showrelationslist() {\n return 'relations' === this.previousview && !this.relationnoback;\n },\n one: function one() {\n return 'ONE' === this.relation.type;\n }\n },\n\n methods: {\n zoomToGeometry: function zoomToGeometry(geometry) {\n if (geometry) {\n _gui2.default.getService('map').zoomToGeometry(new ol.geom[geometry.type](geometry.coordinates), { highlight: true });\n }\n },\n createTable: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.table.layerId);\n\n this.isEditable = layer.isEditable() && !layer.isInEditing();\n\n this.isGeoLayer = undefined !== this.table.features.find(function (f) {\n return f.geometry;\n });\n\n var downloadformats = layer.getDownloadableFormats();\n\n if (downloadformats.length > 0) {\n this.downloadButton = {\n toggled: false,\n tooltip: downloadformats.length > 1 ? 'Downloads' : 'sdk.tooltips.download_' + downloadformats[0],\n handler: downloadformats.length > 1 ? _asyncToGenerator(function* () {\n _this.downloadButton.toggled = !_this.downloadButton.toggled;\n _this.downloadLayer.state = _this.downloadLayer.state || layer.state;\n _this.downloadLayer.config.downloads = _this.downloadLayer.config.downloads.length ? _this.downloadLayer.config.downloads : downloadformats.map(function (format) {\n return {\n id: format,\n format: format,\n cbk: function cbk() {\n _this.saveRelation(layer.getDownloadUrl(format));\n _this.headercomponent = null;\n },\n download: true\n };\n });\n _this.headercomponent = _this.downloadButton.toggled ? _QueryResultsActionDownloadFormats2.default : null;\n }) : function () {\n return _this.saveRelation(layer.getDownloadUrl(downloadformats[0]));\n }\n };\n }\n\n _g3wEventbus.VM.$on('reload-relations', function () {\n _this.reloadLayout();\n });\n\n this.showChart = (0, _throttle.throttle)(_asyncToGenerator(function* () {\n _this.chart = !_this.chart;\n yield _this.$nextTick();\n _this.chartContainer = _this.chartContainer || $('#chart_content');\n _this.$emit(_this.chart ? 'show-chart' : 'hide-chart', _this.chartContainer, { relations: [_this.relation], fid: _this.feature.attributes[_g3wConstants.G3W_FID] });\n }));\n\n yield this.$nextTick();\n\n SIDEBARWIDTH = _gui2.default.getSize({ element: 'sidebar', what: 'width' });\n\n this.relation.title = this.relation.name;\n\n if (!this.one) {\n this.relationDataTable = $(this.$refs.relationtable).DataTable({\n autoWidth: false,\n bLengthChange: true,\n dom: 'ltip',\n columnDefs: [this.showTools ? { orderable: false, targets: 0, width: '1%' } : { orderable: true, targets: 0 }],\n order: [this.showTools ? 1 : 0, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollResize: true,\n scrollCollapse: true,\n scrollX: true\n });\n this.tableHeaderHeight = $('.query-relation div.dataTables_scrollHeadInner').height();\n }\n\n _gui2.default.on('pop-content', function () {\n return setTimeout(function () {\n return _this.resize();\n });\n });\n\n this.resize();\n });\n\n function createTable() {\n return _ref.apply(this, arguments);\n }\n\n return createTable;\n }(),\n resize: function () {\n var _ref4 = _asyncToGenerator(function* () {\n if (!this.$refs.query_relation || 'none' === this.$refs.query_relation.parentNode.style.display) {\n return;\n }\n\n var table = $(this.$refs.query_relation).find('div.dataTables_scrollBody');\n table.height($(\".content\").height() - this.tableHeaderHeight - $('.content_breadcrumb').outerHeight() - $('.navbar-header').outerHeight() - $('.close-panel-block').outerHeight() - $(this.$refs['relation-header']).outerHeight() - $('.dataTables_filter').last().outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_scrollHead').last().outerHeight());\n\n this.reloadLayout();\n });\n\n function resize() {\n return _ref4.apply(this, arguments);\n }\n\n return resize;\n }(),\n saveRelation: function saveRelation(type) {\n this.$emit('save-relation', type);\n this.downloadButton.toggled = false;\n },\n showFormStructureRow: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerid = _ref6.layerid,\n feature = _ref6.feature,\n fields = _ref6.fields,\n tabs = _ref6.tabs;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend({\n data: function data() {\n return {\n layerid: layerid,\n feature: feature,\n fields: fields,\n formStructure: tabs\n };\n },\n\n template: '\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n ',\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.$refs.table.click();\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n }))()\n }),\n push: true,\n showgoback: true,\n closable: false\n });\n });\n\n function showFormStructureRow() {\n return _ref5.apply(this, arguments);\n }\n\n return showFormStructureRow;\n }(),\n editFeature: function editFeature(index) {\n _gui2.default.getService('queryresults').editFeature({\n layer: {\n id: this.table.layerId,\n attributes: this.table.fields\n },\n feature: this.table.features[index]\n });\n },\n getRowFields: function getRowFields(row) {\n var _this2 = this;\n\n return this.table.fields.map(function (field, index) {\n field.value = row[index];\n field.query = true;\n field.input = { type: '' + _this2.getFieldType(field) };\n return field;\n });\n },\n reloadLayout: function reloadLayout() {\n if (this.relationDataTable) {\n this.relationDataTable.columns.adjust();\n }\n },\n back: function back() {\n this.$parent.setRelationsList();\n },\n fieldIs: function fieldIs(type, value) {\n return this.getFieldType(value) === type;\n },\n is: function is(type, value) {\n return this.fieldIs(type, value);\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.getElementById('g3w-view-content').addEventListener('mousemove', this.wrapMoveFnc);\n document.getElementById('g3w-view-content').addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref8 = _asyncToGenerator(function* () {\n document.getElementById('g3w-view-content').removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref8.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n moveFnc: function moveFnc(evt) {\n var sidebarHeaderSize = $('.sidebar-collapse').length ? 0 : SIDEBARWIDTH;\n var size = evt.pageX + 2 - sidebarHeaderSize;\n this.$refs.tablecontent.style.width = size + 'px';\n this.$refs.chartcontent.style.width = $(this.$refs.relationwrapper).width() - size - 10 + 'px';\n }\n },\n\n watch: {\n table: {\n immediate: true,\n handler: function handler(table) {\n if (table && table.rows.length) {\n this.createTable();\n }\n }\n },\n\n chart: function () {\n var _ref9 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function chart() {\n return _ref9.apply(this, arguments);\n }\n\n return chart;\n }(),\n headercomponent: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function headercomponent() {\n return _ref10.apply(this, arguments);\n }\n\n return headercomponent;\n }()\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n beforeDestroy: function () {\n var _ref11 = _asyncToGenerator(function* () {\n if (!this.relationDataTable) {\n return;\n }\n this.relationDataTable.destroy();\n this.relationDataTable = null;\n if (this.chartContainer) {\n this.$emit('hide-chart', this.chartContainer);\n }\n this.chartContainer = null;\n this.tableHeaderHeight = null;\n _gui2.default.off('pop-content', this.resize);\n });\n\n function beforeDestroy() {\n return _ref11.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.table)?_c('div',{ref:\"query_relation\",staticClass:\"query-relation\",class:_vm.isMobile() ? 'mobile' : null},[_c('div',{ref:\"relation-header\",staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"g3w-long-text\"},[(_vm.showrelationslist)?_c('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\":true}}],staticClass:\"action-button-icon action-button back-button\",class:_vm.$fa('exit'),on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}}):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"relation-tile skin-color\"},[_vm._v(\" \"+_vm._s(_vm.relation.name)+\" \")])]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{staticClass:\"relations-table-tools\"},[(_vm.downloadButton)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(_vm.downloadButton.tooltip),expression:\"downloadButton.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('download'),\n { 'toggled-white': _vm.downloadButton.toggled } ],on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadButton.handler($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showChartButton)?_c('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\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('chart'),\n _vm.chart ? 'toggled-white' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.showChart($event)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{ref:\"relationwrapper\",staticClass:\"relation-wrapper\"},[_c('div',{ref:\"tablecontent\",style:({\n width: _vm.chart ? '70%' : '100%',\n marginRight: _vm.chart ? '8px' : '3px',\n position: 'relative',\n }),attrs:{\"id\":\"table_content\"}},[(_vm.headercomponent)?_c('div',{staticClass:\"header-component\"},[_c(_vm.headercomponent,{tag:\"component\",attrs:{\"layer\":_vm.downloadLayer.state,\"config\":_vm.downloadLayer.config}})],1):_vm._e(),_vm._v(\" \"),_c('table',{ref:\"relationtable\",staticClass:\"hover relationtable table table-striped row-border\"},[_c('thead',[_c('tr',{staticStyle:{\"height\":\"0! important\"}},[(_vm.showTools)?_c('th',{style:({\n minWidth: this.showTools * 30 + 'px',\n padding: '0 !important',\n })}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.table.columns),function(column){return _c('th',[_vm._v(_vm._s(column))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.table.rows),function(row,index){return _c('tr',{key:_vm.table.rows_fid[index],class:{\n 'selected': _vm.table.rowFormStructure === row,\n }},[(_vm.showTools)?_c('td',{staticClass:\"table-tools\"},[(_vm.table.features[index].geometry)?_c('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\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('marker'),on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToGeometry(_vm.table.features[index].geometry)}}}):_vm._e(),_vm._v(\" \"),(_vm.table.formStructure)?_c('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\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();_vm.showFormStructureRow({ layerid: _vm.table.layerId, feature: _vm.table.features[index], fields: _vm.getRowFields(row), tabs: _vm.table.formStructure })}}}):_vm._e(),_vm._v(\" \"),(_vm.isEditable)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('Edit'),expression:\"'Edit'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(index)}}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((row),function(value){return _c('td',[_c('field',{attrs:{\"state\":{value:value}}})],1)})],2)}),0)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],staticClass:\"skin-border-color lighten\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"0 1px 0 1px\"},style:({\n minWidth: '5px',\n backgroundColor: '#dddddd',\n cursor: 'col-resize',\n }),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],ref:\"chartcontent\",style:({ width: _vm.chart ? '30%' : '0' }),attrs:{\"id\":\"chart_content\"}})]):_c('div',{staticClass:\"dataTables_scrollBody\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.no_relations_found'),expression:\"'sdk.relations.no_relations_found'\"}]})])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-20ddbb22\"\n\n},{\"components/FieldG3W.vue\":44,\"components/QueryResultsActionDownloadFormats.vue\":96,\"g3w-component\":126,\"g3w-constants\":127,\"g3w-eventbus\":128,\"mixins\":167,\"services/gui\":175,\"utils/getCatalogLayerById\":205,\"utils/throttle\":243,\"vueify/lib/insert-css\":2}],104:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'relations',\n\n props: ['relations', 'feature', 'loading'],\n\n methods: {\n showRelation: function () {\n var _ref = _asyncToGenerator(function* (relation) {\n yield this.$parent.showRelation(relation);\n });\n\n function showRelation(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n featureInfo: function featureInfo() {\n return Object.entries(this.feature.attributes).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n value = _ref3[1];\n\n return value && 'string' === typeof value && !value.includes('/');\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n return { key: key, value: value };\n }).slice(0, 3);\n }\n },\n\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (1 === this.relations.length) {\n this.relations[0].noback = true;\n yield this.showRelation(this.relations[0]);\n }\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (1 === this.relations.length) {\n delete this.relations[0].noback;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations\"},[_c('div',{staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"skin-color-dark\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.relations.list_of_relations_feature'),expression:\"'sdk.relations.list_of_relations_feature'\",arg:\"pre\"}],staticStyle:{\"font-size\":\"1.1em\"}}),_vm._v(\" \"),_vm._l((_vm.featureInfo()),function(info){return _c('div',[_vm._v(\" - \"),_c('b',[_vm._v(_vm._s(info.key))]),_vm._v(\": \"+_vm._s(info.value))])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"query-relations-content\"},_vm._l((_vm.relations),function(relation){return _c('div',{staticClass:\"skin-border-color relation-grid-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showRelation(relation)}}},[_c('span',{staticClass:\"skin-color g3w-long-text\"},[_vm._v(_vm._s(relation.name))])])}),0)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-02f56b7e\"\n\n},{\"vueify/lib/insert-css\":2}],105:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Relations = require('components/Relations.vue');\n\nvar _Relations2 = _interopRequireDefault(_Relations);\n\nvar _Relation = require('components/Relation.vue');\n\nvar _Relation2 = _interopRequireDefault(_Relation);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _XHR = require('utils/XHR');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _options = void 0;\n\nfunction _buildRelationTable() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var id = arguments[1];\n\n relations = relations || [];\n var layer = _application2.default.project.getLayerById(id);\n var attrs = Object.keys(relations[0] ? relations[0].attributes : {});\n var cols = layer.getTableHeaders().filter(function (h) {\n return attrs.includes(h.name);\n });\n return {\n columns: cols.map(function (c) {\n return c.label;\n }),\n rows: relations.map(function (r) {\n return cols.map(function (c) {\n return r.attributes[c.name];\n });\n }),\n rows_fid: relations.map(function (r) {\n return r.attributes[_g3wConstants.G3W_FID];\n }),\n features: relations,\n fields: cols.length ? cols : null,\n formStructure: layer.getLayerEditingFormStructure(),\n rowFormStructure: null,\n layerId: layer.getId()\n };\n}\n\nexports.default = {\n name: 'relation-page',\n\n data: function data() {\n var _$options = this.$options,\n _$options$table = _$options.table,\n table = _$options$table === undefined ? null : _$options$table,\n _$options$relation = _$options.relation,\n relation = _$options$relation === undefined ? null : _$options$relation,\n _$options$relations = _$options.relations,\n relations = _$options$relations === undefined ? [] : _$options$relations,\n nmRelation = _$options.nmRelation,\n _$options$feature = _$options.feature,\n feature = _$options$feature === undefined ? null : _$options$feature,\n _$options$currentview = _$options.currentview,\n currentview = _$options$currentview === undefined ? 'relations' : _$options$currentview,\n _$options$chartRelati = _$options.chartRelationIds,\n chartRelationIds = _$options$chartRelati === undefined ? [] : _$options$chartRelati,\n layer = _$options.layer;\n\n return {\n loading: false,\n state: null,\n error: false,\n table: table ? _buildRelationTable(table) : null,\n previousview: currentview,\n showChartButton: false,\n feature: feature,\n currentview: currentview,\n relation: relation,\n relations: relations,\n nmRelation: nmRelation,\n chartRelationIds: chartRelationIds,\n layer: layer\n };\n },\n provide: function provide() {\n return {\n relationnoback: 1 === this.$options.relations.length\n };\n },\n\n components: {\n 'relations': _Relations2.default,\n 'relation': _Relation2.default\n },\n methods: {\n saveRelations: function () {\n var _ref = _asyncToGenerator(function* (type) {\n _application2.default.download = true;\n try {\n yield _XHR.XHR.fileDownload({\n url: (0, _createRelationsUrl.createRelationsUrl)(Object.assign(_options, { type: type })),\n httpMethod: \"GET\"\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: e || 'info.server_error',\n closable: true\n });\n }\n _application2.default.download = false;\n });\n\n function saveRelations(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return saveRelations;\n }(),\n reloadLayout: function reloadLayout() {\n _g3wEventbus.VM.$emit('reload-relations');\n },\n showChart: function showChart(container, relationData) {\n _gui2.default.getService('queryresults').showChart([this.relation.referencingLayer], container, relationData);\n },\n hideChart: function hideChart(container) {\n _gui2.default.getService('queryresults').hideChart(container);\n },\n getRelationsNM: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n nmRelation = _ref3.nmRelation,\n _ref3$features = _ref3.features,\n features = _ref3$features === undefined ? [] : _ref3$features;\n\n var referencedLayer = nmRelation.referencedLayer,\n _nmRelation$fieldRef = nmRelation.fieldRef,\n referencingField = _nmRelation$fieldRef.referencingField,\n referencedField = _nmRelation$fieldRef.referencedField;\n\n var relationsNM = [];\n if (features.length) {\n var values = features.map(function (f) {\n return f.attributes[referencingField];\n });\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer),\n filter: '' + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: referencedField, value: values, logicop: 'OR' }),\n formatter: 1 },\n outputs: null\n }),\n data = _ref4.data;\n\n if (data && data[0] && Array.isArray(data[0].features)) {\n relationsNM = data[0].features.map(function (f) {\n return {\n id: f.getId(),\n geometry: f.getGeometry(),\n attributes: (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(f.getProperties()).reduce(function (accumulator, property) {\n accumulator[property] = f.get(property);\n return accumulator;\n }, {})\n };\n });\n }\n }\n return relationsNM;\n });\n\n function getRelationsNM() {\n return _ref2.apply(this, arguments);\n }\n\n return getRelationsNM;\n }(),\n showRelation: function () {\n var _ref5 = _asyncToGenerator(function* (relation) {\n _gui2.default.setLoadingContent(true);\n this.loading = true;\n this.relation = relation;\n var relationLayerId = relation.referencingLayer;\n try {\n _options = {\n layer: this.$options.layer,\n fid: this.feature.attributes[_g3wConstants.G3W_FID],\n relation: relation\n };\n var response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(_options) });\n var relations = response.result ? (response.vector.data.features || []).map(function (f) {\n f.properties[_g3wConstants.G3W_FID] = f.id;\n return {\n geometry: f.geometry,\n attributes: f.properties,\n id: f.id\n };\n }) : null;\n\n if (this.nmRelation) {\n relationLayerId = this.nmRelation.referencedLayer;\n relations = yield this.getRelationsNM({\n nmRelation: this.nmRelation,\n features: relations\n });\n }\n this.showChartButton = !!this.chartRelationIds.find(function (id) {\n return relationLayerId === id;\n });\n this.table = _buildRelationTable(relations, relationLayerId);\n\n _gui2.default.setCurrentContentOptions({\n title: relation.name,\n crumb: { title: relation.name }\n });\n\n yield this.$nextTick();\n this.previousview = this.currentview;\n this.currentview = 'relation';\n } catch (e) {\n console.warn(e);\n }\n _gui2.default.setLoadingContent(false);\n this.loading = true;\n });\n\n function showRelation(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n setRelationsList: function setRelationsList() {\n this.previousview = 'relation';\n this.currentview = 'relations';\n _gui2.default.setCurrentContentOptions({ crumb: { title: 'info.list_of_relations' } });\n this.loading = false;\n }\n },\n beforeMount: function beforeMount() {\n if ('relation' === this.currentview || 1 === this.relations.length && 'ONE' === this.relations[0].type) {\n this.showRelation(this.relations[0]);\n }\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n this.relations.sort(function (_ref7, _ref8) {\n var relationName1 = _ref7.name;\n var relationName2 = _ref8.name;\n\n if (relationName1 < relationName2) return -1;\n if (relationName1 > relationName2) return 1;\n return 0;\n });\n yield this.$nextTick();\n if (this.error) {\n requestAnimationFrame(function () {\n return _gui2.default.popContent();\n });\n }\n this.error = false;\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n created: function created() {\n this.$on('resize-component', this.reloadLayout);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations-page\"},[_c(_vm.currentview,{ref:_vm.currentview,tag:\"component\",attrs:{\"loading\":_vm.loading,\"previousview\":_vm.previousview,\"showChartButton\":_vm.showChartButton,\"relations\":_vm.relations,\"relation\":_vm.relation,\"nmRelation\":_vm.nmRelation,\"feature\":_vm.feature,\"table\":_vm.table},on:{\"save-relation\":_vm.saveRelations,\"show-chart\":_vm.showChart,\"hide-chart\":_vm.hideChart}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Relation.vue\":103,\"components/Relations.vue\":104,\"g3w-constants\":127,\"g3w-eventbus\":128,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183,\"utils/createRelationsUrl\":196,\"utils/createSingleFieldParameter\":198,\"utils/getAlphanumericPropertiesFromFeature\":204,\"utils/getCatalogLayerById\":205}],106:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li.menu-item[data-v-3edc3c4e]{padding-right:20px!important}li.menu-item span[data-v-3edc3c4e]{display:inline-flex;white-space:pre-wrap}.search-action[data-v-3edc3c4e]{text-shadow:0 2px 5px rgba(0,0,0,.3);padding:0 4px}#g3w-search li i[data-v-3edc3c4e]{width:20px}.search-tools[data-v-3edc3c4e]{display:flex;align-items:baseline}.search-tools>span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _Tool = require('components/Tool.vue');\n\nvar _Tool2 = _interopRequireDefault(_Tool);\n\nvar _QueryBuilder = require('components/QueryBuilder.vue');\n\nvar vueComp = _interopRequireWildcard(_QueryBuilder);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'search',\n\n data: function data() {\n return {\n state: this.state || {}\n };\n },\n\n\n components: {\n 'g3w-tool': _Tool2.default\n },\n\n computed: {\n show: function show() {\n return this.state.searches.length + this.state.tools.length + this.state.querybuildersearches.length > 0;\n }\n },\n\n methods: {\n showPanel: function showPanel() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.$options.service.showPanel(config);\n },\n remove: function () {\n var _ref = _asyncToGenerator(function* (search, index) {\n try {\n yield new Promise(function (res, rej) {\n _gui2.default.dialog.confirm(t('sdk.querybuilder.delete'), function (d) {\n return d ? res() : rej();\n });\n });\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var items = item ? JSON.parse(item) : undefined;\n var projectId = _application2.default.project.getId();\n var searches = (items ? items[projectId] || [] : []).filter(function (item) {\n return item.id !== search.id;\n });\n\n if (searches.length) {\n items[projectId] = searches;\n } else {\n delete items[projectId];\n }\n\n try {\n if (Object.keys(items).length) {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(items));\n } else {\n window.localStorage.removeItem('QUERYBUILDERSEARCHES');\n }\n } catch (e) {\n console.warn(e);\n }\n\n this.state.querybuildersearches.splice(index, 1);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function remove(_x2, _x3) {\n return _ref.apply(this, arguments);\n }\n\n return remove;\n }(),\n edit: function edit(search) {\n var opts = {\n id: search.id,\n name: search.name,\n layerId: search.layerId,\n filter: search.filter,\n title: t('sdk.querybuilder.title'),\n show: true\n };\n opts.internalPanel = new (Vue.extend(vueComp))({ options: opts });\n new _g3wPanel2.default(opts);\n },\n run: function () {\n var _ref2 = _asyncToGenerator(function* (search) {\n search.qbloading = true;\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(search.layerId);\n yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: search.filter }),\n feature_count: 100\n },\n outputs: true\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({ type: 'alert', message: 'sdk.querybuilder.error_run', autoclose: true });\n }\n search.qbloading = false;\n });\n\n function run(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return run;\n }()\n },\n\n mounted: function () {\n var _ref3 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('.search-action').tooltip();\n });\n\n function mounted() {\n return _ref3.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('ul',{staticClass:\"treeview-menu g3w-search g3w-tools menu-items\",attrs:{\"id\":\"g3w-search\"}},[_vm._l((_vm.state.searches),function(search){return _c('li',{staticClass:\"menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showPanel(search)}}},[_c('i',{class:_vm.$fa('empty-circle')}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))])])}),_vm._v(\" \"),_vm._l((_vm.state.tools),function(searchtool){return _c('li',[_c('g3w-tool',{attrs:{\"tool\":searchtool}})],1)}),_vm._v(\" \"),_vm._l((_vm.state.querybuildersearches),function(search,i){return _c('li',{key:search.id},[_c('div',{staticStyle:{\"position\":\"relative\"},on:{\"click\":function($event){return _vm.edit(search)}}},[_c('bar-loader',{attrs:{\"loading\":search.qbloading}}),_vm._v(\" \"),_c('div',{staticClass:\"search-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.delete'),expression:\"'sdk.querybuilder.search.delete'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"margin-right\":\"5px\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(search, i)}}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))]),_vm._v(\" \"),_c('div',[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.run'),expression:\"'sdk.querybuilder.search.run'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.run(search)}}})])])],1)])})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3edc3c4e\"\n\n},{\"components/QueryBuilder.vue\":92,\"components/Tool.vue\":111,\"g3w-i18n\":130,\"g3w-panel\":132,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/createFilterFromString\":194,\"utils/getCatalogLayerById\":205,\"vueify/lib/insert-css\":2}],107:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-search-form label[data-v-51de5286]{color:#fff}.g3w-search-form .search-logicop[data-v-51de5286]{width:100%;position:relative;display:flex;justify-content:center;margin-bottom:15px;margin-top:30px;border-bottom:1px solid}.g3w-search-form .search-logicop h4[data-v-51de5286]{font-weight:700;position:absolute;padding:5px;top:-24px;background:#222d32}#dosearch[data-v-51de5286]{color:#fff;font-weight:700;margin-top:15px;background-color:var(--skin-color)}#dosearch[data-v-51de5286]:hover{color:#fff}.search-label[data-v-51de5286]{width:100%;display:flex;justify-content:space-between}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _convertQGISDateTimeFormatToMoment = require('utils/convertQGISDateTimeFormatToMoment');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar SELECTS = [];\n\nexports.default = {\n\n mixins: [_resize2.default],\n\n data: function data() {\n return {\n state: this.$options.service.state,\n allvalue: _g3wConstants.SEARCH_ALLVALUE\n };\n },\n\n\n computed: {\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n },\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n }\n },\n\n methods: {\n resize: function resize() {\n SELECTS.forEach(function (select2) {\n return !_application2.default.ismobile && select2.select2('close');\n });\n },\n getLabelOperator: function getLabelOperator(operator) {\n return '[ ' + _g3wConstants.FILTER_EXPRESSION_OPERATORS[operator] + ' ]';\n },\n onFocus: function () {\n var _ref = _asyncToGenerator(function* (e) {\n if (this.isMobile()) {\n var top = $(e.target).position().top - 10;\n yield this.$nextTick();\n setTimeout(function () {\n return $('.main-sidebar').scrollTop(top);\n }, 500);\n }\n });\n\n function onFocus(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onFocus;\n }(),\n changeInput: function () {\n var _ref2 = _asyncToGenerator(function* (input) {\n var _this = this;\n\n var field = input.attribute;\n var deps = this.state.forminputs.filter(function (i) {\n return field === i.dependance;\n });\n var state = this.state;\n var value = input.value;\n\n var is_empty = function is_empty(v) {\n return [_g3wConstants.SEARCH_ALLVALUE, null, undefined].includes(v) || '' === v.toString().trim();\n };\n var has_autocomplete = function has_autocomplete(i) {\n return 'autocompletefield' === i.type;\n };\n\n try {\n this.state.searching = true;\n\n if ('numberfield' === input.type) {\n value = value || 0 === value ? value : null;\n }\n\n if (undefined === value) {\n value = _g3wConstants.SEARCH_ALLVALUE;\n }\n\n if (!['textfield', 'textField'].includes(input.type)) {\n value = value.trim();\n }\n\n input.value = value;\n\n yield Promise.allSettled(deps.map(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n var filter = _getDataForSearchInput.getDataForSearchInput.field({\n state: state,\n field: field,\n fields: [_g3wConstants.SEARCH_ALLVALUE, undefined].includes(value) ? [] : [(0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: input.operator })]\n });\n\n var cached = d.dvalues[filter];\n\n d.value = 'selectfield' === d.type ? _g3wConstants.SEARCH_ALLVALUE : null;\n d.values = Array.from(new Set([].concat(_toConsumableArray(!has_autocomplete(d) && !is_empty(value) ? [d.values[0]] : []), _toConsumableArray(!has_autocomplete(d) && is_empty(value) ? d._values : []), _toConsumableArray(cached || []))));\n\n d.disabled = is_empty(value) ? d.dependance_strict : false;\n\n if (_this.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this.changeInput(d);\n }\n\n if (has_autocomplete(d) || is_empty(value) || cached) {\n return;\n }\n\n state.loading[d.attribute] = true;\n\n try {\n var data = yield state.search_layers[0].getFilterData({\n fformatter: d.attribute,\n ordering: d.attribute,\n field: filter\n });\n\n data.data = (data.data || []).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n value = _ref5[0],\n key = _ref5[1];\n\n return { key: key, value: value };\n });\n\n if (!d.dependance_strict && 'selectfield' === d.type) {\n var _d$_values;\n\n (_d$_values = d._values).push.apply(_d$_values, _toConsumableArray(d.values));\n }\n\n if (1 === d.values.length) {\n var _d$values;\n\n (_d$values = d.values).push.apply(_d$values, _toConsumableArray(data.data));\n }\n\n d.dvalues[filter] = d.values.slice(1);\n } catch (e) {\n console.warn(e);\n } finally {\n d.disabled = false;\n _this.state.loading[d.attribute] = false;\n }\n });\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.searching = false;\n }\n });\n\n function changeInput(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return changeInput;\n }(),\n doSearch: function doSearch(e) {\n e.preventDefault();\n this.$options.service.run();\n },\n initDateTimeField: function () {\n var _ref6 = _asyncToGenerator(function* (input) {\n var _this2 = this;\n\n if ('datetimefield' !== input.type) {\n return;\n }\n\n yield this.$nextTick();\n\n input.options.format.fieldformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.fieldformat);\n input.options.format.displayformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.displayformat);\n\n $(this.$refs['date_' + input.id]).datetimepicker({\n defaultDate: null,\n format: input.options.format.displayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n toolbarPlacement: 'top',\n widgetPositioning: { vertical: 'bottom', horizontal: 'left' },\n showClose: true,\n locale: _application2.default.language || 'en'\n });\n\n $(this.$refs['date_' + input.id]).on(\"dp.change\", function () {\n var newDate = $('#' + input.id).val();\n input.value = newDate.trim() ? moment(newDate, input.options.format.displayformat).format(input.options.format.fieldformat) : null;\n _this2.changeInput(input);\n });\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + input.id).blur();\n });\n }\n });\n\n function initDateTimeField(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return initDateTimeField;\n }(),\n initSelect2Field: function () {\n var _ref7 = _asyncToGenerator(function* (input) {\n var _this3 = this;\n\n if (!['selectfield', 'autocompletefield'].includes(input.type)) {\n return;\n }\n\n yield this.$nextTick();\n\n var numdigaut = input.options.numdigaut;\n var has_autocomplete = 'autocompletefield' === input.type;\n var ajax = has_autocomplete ? {\n delay: 500,\n transport: function () {\n var _ref8 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getDataForSearchInput.getDataForSearchInput)({\n state: _this3.state,\n field: input.attribute,\n suggest: input.attribute + '|' + d.data.q\n })).map(function (d) {\n return { id: d.value, text: d.key };\n })\n });\n } catch (e) {\n ko(e);\n }\n });\n\n function transport(_x6, _x7, _x8) {\n return _ref8.apply(this, arguments);\n }\n\n return transport;\n }()\n } : null;\n\n var select2 = $('#' + input.id).select2({\n ajax: ajax,\n width: '100%',\n dropdownParent: $('.g3w-search-form:visible'),\n minimumInputLength: has_autocomplete && (numdigaut && !Number.isNaN(1 * numdigaut) && 1 * numdigaut > 0 && 1 * numdigaut || 2) || 0,\n allowClear: has_autocomplete,\n placeholder: has_autocomplete ? '' : null,\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n\n SELECTS.push(select2);\n\n select2.on('select2:select select2:unselecting', function (e) {\n if ('select2:select' === e.type || has_autocomplete) {\n input.value = e.params.data ? '' + e.params.data.id : _g3wConstants.SEARCH_ALLVALUE;\n _this3.changeInput(input);\n }\n });\n\n this.$watch(function () {\n return input.value;\n }, function () {\n var _ref9 = _asyncToGenerator(function* (value, oldVal) {\n if (value !== oldVal && _g3wConstants.SEARCH_ALLVALUE === value) {\n select2.val(value).trigger('change');\n }\n });\n\n return function (_x9, _x10) {\n return _ref9.apply(this, arguments);\n };\n }());\n\n var unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n unwatch();\n _this3.clearSelect2();\n _this3.initSelect2Field(input);\n });\n\n select2.val(input.value).trigger('change');\n });\n\n function initSelect2Field(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return initSelect2Field;\n }(),\n clearSelect2: function clearSelect2() {\n SELECTS.forEach(function (select2) {\n select2.select2('destroy');\n select2.off();\n select2 = null;\n });\n\n SELECTS.splice(0);\n }\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield Promise.allSettled([this.$nextTick(), this.state.mounted]);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.state.forminputs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var input = _step.value;\n\n yield this.initSelect2Field(input);\n yield this.initDateTimeField(input);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.clearSelect2();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.searching),expression:\"state.searching\"}],staticClass:\"g3w-search-panel form-group\"},[_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),_vm._t(\"tools\"),_vm._v(\" \"),_vm._t(\"form\",[_c('form',{staticClass:\" g3w-search-form\"},[_vm._l((_vm.state.forminputs),function(input){return _c('div',{key:input.id,staticClass:\"form-group\"},[('numberfield' === input.type || ('textfield' === input.type && 'Range' === input.widget_type))?_c('div',{staticClass:\"numeric\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\",\"min\":\"0\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"change\":function($event){return _vm.changeInput(input)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)},function($event){return _vm.changeInput(input)}]}})]):(['textfield', 'textField'].includes(input.type))?_c('div',{staticClass:\"form-item-search text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"focus\":_vm.onFocus,\"change\":function($event){return _vm.changeInput(input)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)}}})]):(['selectfield', 'autocompletefield'].includes(input.type))?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || input.loading || input.disabled),expression:\"state.loading[input.dependance] || input.loading || input.disabled\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),(input.dependance)?_c('bar-loader',{attrs:{\"loading\":_vm.state.loading[input.dependance] || input.loading}}):_vm._e(),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(input.disabled || input.loading),expression:\"input.disabled || input.loading\"}],staticClass:\"form-control\",attrs:{\"name\":input.attribute,\"id\":input.id}},_vm._l((input.values),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[(_vm.allvalue === opt.value)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.all'),expression:\"'sdk.search.all'\"}]}):_c('span',[_vm._v(_vm._s(opt.key))])])}),0)],1):('datetimefield' === input.type)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || false),expression:\"state.loading[input.dependance] || false\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('div',{ref:'date_' + input.id,refInFor:true,staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"id\":input.id,\"type\":\"text\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon skin-color\"},[_c('span',{class:_vm.$fa(input.options.format.time ? 'time': 'calendar')})])])]):_vm._e(),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(input.options.description))]),_vm._v(\" \"),(_vm.is_staff)?_c('details',{staticStyle:{\"cursor\":\"pointer\",\"user-select\":\"none\",\"margin-top\":\".5em\"}},[_vm._m(0,true),_vm._v(\" \"),_c('sub',[(input.options.description)?_c('br'):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.type))]),_vm._v(\" | \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.widget_type))]),_vm._v(\" \"),(input.options.value)?[_vm._v(\": { key: \\\"\"+_vm._s(input.options.key)+\"\\\", value: \\\"\"+_vm._s(input.options.value)+\" }\\\"\")]:_vm._e(),_vm._v(\" \"),(input.options.layer_id)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"layer_id:\")]),_vm._v(\" \\\"\"+_vm._s(input.options.layer_id)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"depends_on:\")]),_vm._v(\" \\\"\"+_vm._s(input.dependance)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"strict:\")]),_vm._v(\" \"+_vm._s(input.dependance_strict))]:_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(input.logicop)?_c('div',{staticClass:\"search-logicop skin-border-color\"},[_c('h4',[_vm._v(_vm._s(input.logicop))])]):_vm._e()])}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('dosearch'),expression:\"'dosearch'\"}],staticClass:\"sidebar-button-run btn btn-block pull-right\",attrs:{\"id\":\"dosearch\",\"data-i18n\":\"dosearch\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.doSearch($event)}}})])],2)]),_vm._v(\" \"),_vm._t(\"footer\"),_vm._v(\" \"),(_vm.layers_url)?_c('div',{staticStyle:{\"padding-top\":\"5em\"}},[_c('b',[_c('a',{attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_vm._v(\"Edit in admin\")])])]):_vm._e()],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('summary',{staticStyle:{\"text-align\":\"center\"}},[_c('code',{staticStyle:{\"border\":\"1px solid currentColor\",\"color\":\"var(--skin-color)\",\"background-color\":\"transparent\"}},[_vm._v(\"🐞 \"),_c('b',[_vm._v(\"DEBUG\")])])])}]\n__vue__options__._scopeId = \"data-v-51de5286\"\n\n},{\"g3w-constants\":127,\"g3w-i18n\":130,\"mixins/resize\":169,\"store/application\":180,\"utils/convertQGISDateTimeFormatToMoment\":189,\"utils/createSingleFieldParameter\":198,\"utils/getDataForSearchInput\":207,\"vueify/lib/insert-css\":2}],108:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"SidebarItem\",\n data: function data() {\n var component = this.$options.component;\n\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component: 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: _application2.default.gui.sidebar\n };\n },\n\n methods: {\n triggerAction: function triggerAction(action, component) {\n action.fnc(component);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var opts = this.$options.opts || {};\n var sidebar = document.getElementById('g3w-sidebarcomponents');\n\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n } else {\n Array.from(sidebar.children).forEach(function (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 this.component.click = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$open = _ref.open,\n open = _ref$open === undefined ? false : _ref$open;\n\n if (open) {\n _application2.default.sidebar.components.forEach(function (comp) {\n if (comp !== _this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n var node = _this.component.getInternalComponent().$el;\n\n node.classList.toggle('menu-open', open);\n\n node.parentNode.classList.toggle('active', open);\n\n _this.component.setOpen(open);\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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)}\n__vue__options__.staticRenderFns = []\n\n},{\"store/application\":180}],109:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".content-bookmarks{font-weight:700;color:#fff;padding:5px;border-bottom:1px solid #fff;margin-bottom:2px}.spatial-bookmark{display:flex;align-items:baseline;justify-content:space-between;padding:5px!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _InputText = require('components/InputText.vue');\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id);\nvar SPATIAL_BOOKMARKS_LOCALITEMS = item ? JSON.parse(item) : undefined;\n\nexports.default = {\n name: 'spatial-bookmarks',\n\n components: {\n InputText: _InputText2.default\n },\n\n data: function data() {\n var project = _application2.default.project;\n\n if (undefined === SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]) {\n SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()] = [];\n }\n\n return {\n showaddform: false,\n\n project: {\n bookmarks: project.state.bookmarks || []\n },\n\n user: {\n bookmarks: SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]\n },\n\n addbookmarkinput: {\n name: 'add-bookmark',\n label: t('sdk.spatialbookmarks.input.name'),\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n validate: { valid: false, required: true }\n }\n };\n },\n\n\n computed: {\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n addBookMark: function addBookMark() {\n this.user.bookmarks.push({\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n name: this.addbookmarkinput.value,\n extent: _gui2.default.getService('map').getMapExtent(),\n removable: true,\n crs: { epsg: 1 * _gui2.default.getService('map').getCrs().split('EPSG:')[1] }\n });\n\n this.saveUserBookMarks();\n this.showaddform = false;\n },\n removeBookMark: function removeBookMark(id) {\n this.user.bookmarks = this.user.bookmarks.filter(function (b) {\n return id !== b.id;\n });\n this.saveUserBookMarks();\n },\n saveUserBookMarks: function saveUserBookMarks() {\n SPATIAL_BOOKMARKS_LOCALITEMS[_application2.default.project.getId()] = this.user.bookmarks;\n try {\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id, JSON.stringify(SPATIAL_BOOKMARKS_LOCALITEMS));\n } catch (e) {\n console.warn(e);\n }\n },\n showAddForm: function showAddForm() {\n this.addbookmarkinput.value = null;\n this.showaddform = true;\n },\n gotoSpatialBookmark: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var extent = _ref.extent,\n crs = _ref.crs;\n\n if (crs.epsg !== _gui2.default.getService('map').getEpsg().split('EPSG:')[1]) {\n var projection = yield _projections2.default.registerProjection('EPSG:' + crs.epsg);\n extent = ol.proj.transformExtent(extent, projection, _gui2.default.getService('map').getProjection());\n }\n\n _gui2.default.getService('map').zoomToExtent(extent, { force: true });\n });\n\n function gotoSpatialBookmark(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return gotoSpatialBookmark;\n }()\n },\n\n watch: {\n showaddform: function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (bool) {\n yield this.$nextTick();\n\n for (var i = 0; i < this.$refs.add_bookmark_input.$el.children.length; i++) {\n this.$refs.add_bookmark_input.$el.children[i].classList.remove('col-sm-12');\n }\n }\n });\n\n function showaddform(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return showaddform;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.$on('close', function () {\n return _this.showaddform = false;\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu g3w-spatial-bookmarks menu-items\",class:{'g3w-tools': !_vm.showaddform},attrs:{\"id\":\"g3w-spatial-bookmarks\"}},[(_vm.showaddform)?_c('li',[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"5px\",\"margin\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showaddform = false}}})]),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.spatialbookmarks.helptext\"}}),_vm._v(\" \"),_c('div',{staticClass:\"container add-bookmark-input\",staticStyle:{\"padding\":\"5px\",\"width\":\"100%\"}},[_c('input-text',{ref:\"add_bookmark_input\",attrs:{\"state\":_vm.addbookmarkinput}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.addbookmarkinput.validate.valid),expression:\"!addbookmarkinput.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.addBookMark($event)}}})])],1):[(_vm.is_staff)?_c('div',{staticClass:\"content-bookmarks\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.project.title'),expression:\"'sdk.spatialbookmarks.sections.project.title'\"}]}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/user_manual/map_views/map_view.html#bookmarking-extents-on-the-map\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')})])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.project.bookmarks),function(bookmark){return [(bookmark.nodes)?_c('li',[_c('div',{staticStyle:{\"font-weight\":\"bold\",\"width\":\"100%\"},style:({ borderBottom: bookmark.expanded ? '2px solid #2c3b41' : 'none' }),on:{\"click\":function($event){$event.stopPropagation();bookmark.expanded = !bookmark.expanded}}},[_c('span',{class:_vm.$fa(bookmark.expanded ? 'caret-down' : 'caret-right'),staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(bookmark.expanded),expression:\"bookmark.expanded\"}],staticStyle:{\"margin-left\":\"10px\"}},_vm._l((bookmark.nodes),function(node){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(node)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(node.name))])])])}),0)]):_c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])])])]}),_vm._v(\" \"),_c('div',{staticClass:\"content-bookmarks\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.user.title'),expression:\"'sdk.spatialbookmarks.sections.user.title'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"padding\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showAddForm($event)}}})]),_vm._v(\" \"),_vm._l((_vm.user.bookmarks),function(bookmark){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('span',{staticClass:\"sidebar-button sidebar-button-icon\",staticStyle:{\"color\":\"red\",\"margin\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeBookMark(bookmark.id)}}},[_c('i',{class:_vm.$fa('trash')})])])})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputText.vue\":80,\"g3w-constants\":127,\"g3w-i18n\":130,\"services/gui\":175,\"store/application\":180,\"store/projections\":182,\"utils/getUniqueDomId\":219,\"vueify/lib/insert-css\":2}],110:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#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}\\n.geometry[data-v-b4d834d0]{cursor:pointer}#noheaders[data-v-b4d834d0]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-b4d834d0]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-b4d834d0]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-b4d834d0]{padding:5px}#g3w-table-toolbar .action-button[data-v-b4d834d0]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-b4d834d0]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-b4d834d0]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\\n#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:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _mixins = require('mixins');\n\nvar _debounce = require('utils/debounce');\n\nvar _coordinatesToGeometry = require('utils/coordinatesToGeometry');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar PAGELENGTHS = [10, 25, 50, 100];\n\nfunction _createFeatureForSelection(f) {\n return {\n id: f.id,\n feature: {\n attributes: f.attributes || f.properties,\n geometry: f.geometry ? (0, _coordinatesToGeometry.coordinatesToGeometry)(f.geometry.type, f.geometry.coordinates) : f.geometry\n }\n };\n}\n\nexports.default = {\n\n name: \"G3WTable\",\n\n mixins: [_mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.$options.layerId);\n\n return {\n layer: layer,\n state: {\n features: [],\n headers: [null].concat(_toConsumableArray(layer.getTableHeaders())),\n geometry: true,\n allfeatures: 0,\n selectAll: false,\n nofilteredrow: false,\n show_tools: false,\n geolayer: {\n active: false,\n in_bbox: undefined\n }\n },\n\n relations: (layer.isGeoLayer() ? [] : layer.getRelations().getArray()).map(function (relation) {\n return [relation, (0, _getCatalogLayerById.getCatalogLayerById)(relation.getFather())];\n }).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n relation = _ref2[0],\n father = _ref2[1];\n\n return layer.getId() !== relation.getFather() && father.isGeoLayer();\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n relation = _ref4[0],\n father = _ref4[1];\n\n return {\n layer: father,\n father_fields: relation.getFatherField(),\n fields: relation.getChildField(),\n features: {}\n };\n }),\n filter: [],\n has_map: true,\n async_highlight: function async_highlight() {},\n getAll: false,\n search: {},\n firstCall: true,\n map_bbox: { key: null, cb: null },\n disableSelectAll: false\n };\n },\n\n\n computed: {\n has_features: function has_features() {\n return !!this.state.features.length;\n },\n current_layout: function current_layout() {\n return _application2.default.gui.layout[_application2.default.gui.layout.__current];\n }\n },\n\n methods: {\n editFeature: function editFeature(feature) {\n $('.tooltip').remove();\n _gui2.default.getService('queryresults').editFeature({ layer: { id: this.layer.getId() }, feature: feature });\n },\n openForm: function () {\n var _ref5 = _asyncToGenerator(function* (feature) {\n $('.tooltip').remove();\n try {\n yield (0, _promisify.promisify)(_data2.default.getData('search:fids', {\n inputs: {\n layer: this.layer,\n fids: [feature.id],\n formatter: 1\n }\n }));\n\n if (feature.geometry) {\n _gui2.default.getService('map').zoomToGeometry((0, _coordinatesToGeometry.coordinatesToGeometry)(feature.geometry.type, feature.geometry.coordinates));\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function openForm(_x) {\n return _ref5.apply(this, arguments);\n }\n\n return openForm;\n }(),\n get_check_id: function get_check_id(cache) {\n if (cache) {\n this.get_check_id.cached_id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n return this.get_check_id.cached_id;\n },\n getDataFromBBOX: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n this.state.geolayer.active = !this.state.geolayer.active;\n\n var is_active = this.state.geolayer.active;\n\n if (is_active) {\n this.map_bbox.cb = function () {\n _this.state.geolayer.in_bbox = _this.state.geolayer.active ? map.getMapBBOX().join(',') : undefined;\n $(_this.$refs.attribute_table).DataTable().ajax.reload();\n };\n }\n\n if (is_active) {\n this.map_bbox.key = map.getMap().on('moveend', this.map_bbox.cb);\n }\n\n if (this.map_bbox.cb) {\n this.map_bbox.cb();\n }\n\n if (!is_active) {\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n }\n });\n\n function getDataFromBBOX() {\n return _ref6.apply(this, arguments);\n }\n\n return getDataFromBBOX;\n }(),\n checkSelectAll: function checkSelectAll() {\n this.state.selectAll = this.layer.getSelectionFids().has(_g3wConstants.SELECTION.ALL) || this.state.features.every(function (f) {\n return f.selected;\n });\n },\n inverseSelection: function () {\n var _ref7 = _asyncToGenerator(function* () {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = !f.selected;\n });\n this.layer.invertSelectionFids();\n\n this.checkSelectAll();\n });\n\n function inverseSelection() {\n return _ref7.apply(this, arguments);\n }\n\n return inverseSelection;\n }(),\n selectAllRows: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.state.selectAll = !this.state.selectAll;\n\n var filter = this.filter.length > 0;\n\n if (!filter) {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = _this2.state.selectAll;\n });\n yield this.layer[this.state.selectAll ? 'setSelectionFidsAll' : 'clearSelectionFids']();\n }\n\n if (filter) {\n if (this.state.selectAll) {\n this.state.features.filter(function (f) {\n return _this2.filter.includes(f.id);\n }).forEach(function (f) {\n f.selected = true;\n _this2.layer.includeSelectionFid(f.id);\n });\n } else {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.layer.clearSelectionFids();\n }\n }\n\n this.state.show_tools = this.state.features.some(function (f) {\n return f.selected;\n });\n });\n\n function selectAllRows() {\n return _ref8.apply(this, arguments);\n }\n\n return selectAllRows;\n }(),\n highlight: function () {\n var _ref9 = _asyncToGenerator(function* (feature) {\n var _this3 = this;\n\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var map = _gui2.default.getService('map');\n\n if (!feature || !feature.geometry) {\n return map.clearHighlightGeometry();\n }\n\n this.async_highlight = function () {\n map.clearHighlightGeometry();\n map.highlightGeometry(feature.geometry, { zoom: zoom, duration: Infinity });\n };\n\n if (feature.geometry && this.has_map) {\n return this.async_highlight();\n }\n\n if (feature.geometry || !feature.geometry && !this.relations.length > 0) {\n return;\n }\n\n var features = [];\n var field_values = [];\n\n (yield Promise.allSettled(this.relations.flatMap(function (_ref10) {\n var layer = _ref10.layer,\n father_fields = _ref10.father_fields,\n fields = _ref10.fields;\n\n var values = fields.map(function (f) {\n return feature.attributes[f];\n });\n field_values.push(values);\n return zoom ? _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n formatter: 1,\n filter: father_fields.map(function (field, i) {\n return field + '|eq|' + encodeURIComponent(values[i]);\n }).join('|AND,')\n },\n outputs: false }) : [];\n }))).forEach(function (response, index) {\n if ('fulfilled' === response.status) {\n var relation = _this3.relations[index];\n var k = field_values[index].join('__');\n var data = response.value && response.value.data[0];\n if (undefined === relation.features[k]) {\n relation.features[k] = data && data.features || [];\n }\n features.push.apply(features, _toConsumableArray(relation.features[k]));\n }\n if (zoom) {\n map.zoomToFeatures(features, { highlight: true });\n } else {\n map.highlightFeatures(features);\n }\n });\n });\n\n function highlight(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return highlight;\n }(),\n select: function select(feature) {\n feature.selected = !feature.selected;\n\n this.state.selectAll = this.state.features.every(function (f) {\n return f.selected;\n });\n\n this.layer[feature.selected ? 'includeSelectionFid' : 'excludeSelectionFid'](feature.id);\n\n this.state.show_tools = this.layer.getSelectionFids().size > 0;\n },\n resize: function () {\n var _ref11 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n var table = this.$el.querySelector('div.dataTables_scrollBody');\n if (table) {\n table.style.height = _gui2.default.isMobile() ? '100%' : ((document.querySelector('.content') || {}).clientHeight || 0) - ((this.$el.querySelector('div.dataTables_scrollHeadInner') || {}).clientHeight || 0) - 100 + 'px';\n }\n\n $(this.$refs.attribute_table).DataTable().columns.adjust();\n });\n\n function resize() {\n return _ref11.apply(this, arguments);\n }\n\n return resize;\n }(),\n getFeatures: function () {\n var _ref12 = _asyncToGenerator(function* (params) {\n var _this4 = this;\n\n try {\n _gui2.default.setLoadingContent(true);\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(params || {}));\n var is_valid = this.layer.isGeoLayer() && data.features;\n\n if (is_valid && !params) {\n var loaded_features = this.state.features.map(function (f) {\n return f.id;\n });\n data.features.filter(function (f) {\n return f.geometry && !loaded_features.includes(f.id);\n }).forEach(function (f) {\n return _this4.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n });\n this.getAll = true;\n }\n\n if (is_valid) {\n return data.features;\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject();\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getFeatures(_x4) {\n return _ref12.apply(this, arguments);\n }\n\n return getFeatures;\n }(),\n getData: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$start = _ref14.start,\n start = _ref14$start === undefined ? 0 : _ref14$start,\n _ref14$order = _ref14.order,\n order = _ref14$order === undefined ? [] : _ref14$order,\n _ref14$length = _ref14.length,\n length = _ref14$length === undefined ? this.layer.getAttributeTablePageLength() || PAGELENGTHS[1] : _ref14$length,\n _ref14$columns = _ref14.columns,\n columns = _ref14$columns === undefined ? [] : _ref14$columns,\n _ref14$search = _ref14.search,\n search = _ref14$search === undefined ? { value: null } : _ref14$search;\n\n _gui2.default.setLoadingContent(true);\n\n this.layer.setAttributeTablePageLength(length);\n\n if (0 === this.state.headers.length) {\n return {\n data: [],\n recordsTotal: 0,\n recordsFiltered: 0\n };\n }\n\n this.state.features.splice(0);\n\n if (0 === order.length) {\n order.push({ column: 1, dir: 'asc' });\n }\n\n this.search = {\n field: columns.filter(function (c) {\n return c.search && c.search.value;\n }).map(function (c) {\n return c.name + '|ilike|' + c.search.value + '|and';\n }).join(',') || undefined,\n page: start === 0 || this.layer.state.filter.active ? 1 : start / length + 1,\n page_size: length,\n search: search.value && search.value.length > 0 ? search.value : null,\n in_bbox: this.state.geolayer.in_bbox,\n ordering: ('asc' === order[0].dir ? '' : '-') + this.state.headers[order[0].column].name,\n formatter: 1\n };\n\n try {\n var _state$features;\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(this.search));\n\n this.state.allfeatures = data.count;\n this.state.featurescount = (data.features || []).length;\n\n (_state$features = this.state.features).push.apply(_state$features, _toConsumableArray((data.features || []).map(function (f) {\n if (_this5.layer.isGeoLayer() && f.geometry && !_this5.layer.getOlSelectionFeature(f.id)) {\n _this5.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n }\n return {\n id: f.id,\n selected: _this5.layer.hasSelectionFid(f.id),\n attributes: f.attributes || f.properties,\n geometry: _this5.layer.isGeoLayer() && f.geometry || undefined\n };\n })));\n\n this.state.show_tools = this.layer.state.filter.active || this.layer.getSelectionFids().size > 0;\n this.state.selectAll = this.layer.state.filter.active || this.state.features.every(function (f) {\n return f.selected;\n });\n return {\n data: this.state.features.map(function (f) {\n return [null].concat(_this5.state.headers.filter(function (h) {\n return h;\n }).map(function (h) {\n h.value = (f.attributes || f.properties)[h.name];return h.value;\n }));\n }),\n recordsFiltered: data.count,\n recordsTotal: data.count,\n filter: this.state.features.map(function (f) {\n return f.id;\n })\n\n };\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(t(\"info.server_error\"));\n return Promise.reject(e);\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getData() {\n return _ref13.apply(this, arguments);\n }\n\n return getData;\n }(),\n unSelectAll: function unSelectAll() {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.state.show_tools = false;\n this.state.selectAll = false;\n },\n onGUIContent: function onGUIContent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.has_map = 100 !== opts.perc;\n },\n filterChangeHandler: function filterChangeHandler() {\n $(this.$refs.attribute_table).DataTable().ajax.reload();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.unSelectAll = this.unSelectAll.bind(this);\n\n this.onGUIContent = this.onGUIContent.bind(this);\n\n _gui2.default.onbefore('setContent', this.onGUIContent);\n this.layer.on('unselectionall', this.unSelectAll);\n this.layer.on('filtertokenchange', this.filterChangeHandler);\n\n _gui2.default.closeSideBar();\n this.current_layout.rightpanel.height = 55;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n id: 'openattributetable',\n service: { state: this.state },\n internalComponent: this\n }),\n\n split: _gui2.default.isMobile() ? 'h' : 'v',\n push: false,\n title: this.layer.getTitle(),\n text: true });\n\n if (this.isMobile()) {\n _gui2.default.hideSidebar();\n }\n });\n\n function created() {\n return _ref15.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.last_map_control = _gui2.default.getService('map').getMapControls().find(function (c) {\n return c.control.isToggled && c.control.isToggled();\n });\n if (this.last_map_control) {\n this.last_map_control.control.toggle();\n }\n this.setContentKey = _gui2.default.onafter('setContent', this.resize);\n\n yield this.$nextTick();\n\n var pResolve = void 0;\n\n var filterColumns = {};\n\n var table = $(this.$refs.attribute_table).DataTable({\n ajax: (0, _debounce.debounce)(function () {\n var _ref17 = _asyncToGenerator(function* (opts, cb) {\n try {\n _gui2.default.disableContent(true);\n var data = yield _this6.getData(opts);\n cb(data);\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n if (pResolve) {\n pResolve(data.filter);\n }\n yield _this6.$nextTick();\n table.columns.adjust();\n } catch (e) {\n console.warn(e);\n }\n\n _gui2.default.disableContent(false);\n });\n\n return function (_x7, _x8) {\n return _ref17.apply(this, arguments);\n };\n }(), 800),\n bSortCellsTop: true,\n columns: this.state.headers,\n columnDefs: [{ orderable: false, searchable: false, targets: 0, width: '1%' }],\n deferLoading: this.state.allfeatures,\n dom: 'frt<\"#g3w-table-toolbar\">lip',\n lengthMenu: PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || PAGELENGTHS[1],\n processing: false,\n responsive: true,\n scrollCollapse: true,\n scrollX: true,\n serverSide: true,\n sSearch: false\n });\n\n this.changeColumn = (0, _debounce.debounce)(function () {\n var _ref18 = _asyncToGenerator(function* (e, i) {\n var value = e.target.value.trim();\n table.one('draw', _asyncToGenerator(function* () {\n filterColumns[i] = value;\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n _this6.filter = Object.values(filterColumns).find(function (f) {\n return f;\n }) ? yield new Promise(function (resolve) {\n return pResolve = resolve;\n }) : [];\n }));\n table.columns(i).search(value).draw();\n });\n\n return function (_x9, _x10) {\n return _ref18.apply(this, arguments);\n };\n }());\n\n var fragment = document.createDocumentFragment();\n fragment.appendChild(this.$refs.table_toolbar);\n document.getElementById('g3w-table-toolbar').appendChild(fragment);\n\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_info'));\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_filter'));\n\n document.getElementById('table_body_attributes').remove();\n\n table.ajax.reload();\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n if (this.last_map_control && !this.last_map_control.control.isToggled()) {\n this.last_map_control.control.toggle();\n }\n\n this.last_map_control = null;\n\n this.layer.off('unselectionall', this.unSelectAll);\n this.layer.off('filtertokenchange', this.filterChangeHandler);\n\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n\n this.highlight();\n\n if (!this.has_map) {\n setTimeout(function () {\n _this7.async_highlight();\n _this7.has_map = true;\n _this7.async_highlight = function () {};\n });\n }\n\n _gui2.default.un('setContent', this.setContentKey);\n\n document.querySelector('#g3w-view-content .dataTables_info').remove();\n document.querySelector('#g3w-view-content .dataTables_filter').remove();\n $(this.$refs.attribute_table).DataTable().destroy(true);\n });\n\n function beforeDestroy() {\n return _ref20.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"open_attribute_table\"}},[_c('div',{ref:\"table_toolbar\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"1px\"}},[(_vm.layer.isGeoLayer())?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.geolayer.active && _vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('map'), _vm.state.geolayer.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.getDataFromBBOX($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:_vm.$fa('clear'),attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.clearSelectionFids()}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('invert'), _vm.layer.state.filter.active ? 'g3w-disabled': '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.inverseSelection($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('filter'), _vm.layer.state.filter.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.toggleFilterToken()}}})]),_vm._v(\" \"),(_vm.state.headers.length)?_c('table',{ref:\"attribute_table\",staticClass:\"table table-striped row-border compact nowrap\",attrs:{\"id\":\"layer_attribute_table\"}},[_c('thead',[_c('tr',[_c('th'),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_vm._v(_vm._s(header.label))]):_vm._e()})],2),_vm._v(\" \"),_c('tr',[_c('th',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disableSelectAll),expression:\"disableSelectAll\"}]},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"attribute_table_select_all_rows\"},domProps:{\"checked\":_vm.state.selectAll}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"attribute_table_select_all_rows\"},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.selectAllRows($event)}}},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_c('input',{staticClass:\"form-control column-search\",attrs:{\"type\":\"text\",\"placeholder\":header.name,\"title\":'search by ' + header.name},on:{\"keyup\":function($event){return _vm.changeColumn($event, i)}}})]):_vm._e()})],2)]),_vm._v(\" \"),_c('tbody',{attrs:{\"id\":\"table_body_attributes\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('tbody',{ref:\"table_body\",on:{\"mouseleave\":function($event){return _vm.highlight()}}},_vm._l((_vm.state.features),function(feature,i){return _c('tr',{key:feature.id,class:[\n i % 2 == 1 ? 'odd' : 'pair',\n 'feature_attribute',\n { geometry: !!feature.geometry },\n { 'selected': feature.selected }\n ],attrs:{\"role\":\"row\"},on:{\"mouseover\":function($event){return _vm.highlight(feature, false)},\"click\":function($event){$event.stopPropagation();return _vm.highlight(feature, true)}}},[_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.get_check_id(true)},domProps:{\"checked\":feature.selected}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.get_check_id(false)},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.select(feature)}}}),_vm._v(\" \"),_c('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\":true}}],class:'action-button skin-color ' + _vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();return _vm.openForm(feature)}}}),_vm._v(\" \"),(_vm.layer.state.geolayer && !feature.geometry)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('no_geometry'),expression:\"'no_geometry'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button ' + _vm.$fa('alert'),staticStyle:{\"color\":\"currentColor !important\"}}):_vm._e(),_vm._v(\" \"),(_vm.layer.isEditable())?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.editing'),expression:\"'sdk.tooltips.editing'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature)}}}):_vm._e()])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,j){return (j > 0)?_c('td',[_c('field',{attrs:{\"feature\":feature,\"state\":({ label: undefined, value: feature.attributes[header.name] })}})],1):_vm._e()})],2)}),0)]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('dataTable.no_data'),expression:\"'dataTable.no_data'\"}],attrs:{\"id\":\"noheaders\"}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b4d834d0\"\n\n},{\"components/FieldG3W.vue\":44,\"g3w-component\":126,\"g3w-constants\":127,\"g3w-i18n\":130,\"mixins\":167,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/coordinatesToGeometry\":191,\"utils/debounce\":200,\"utils/getCatalogLayerById\":205,\"utils/getUniqueDomId\":219,\"utils/promisify\":234,\"vueify/lib/insert-css\":2}],111:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tool_disabled[data-v-31811884]{cursor:not-allowed}.tool_disabled>span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-tool\",\n props: ['tool'],\n methods: {\n showToolStateMessage: function showToolStateMessage() {\n _gui2.default.showModalDialog({ title: this.tool.state.type.toUpperCase(), message: this.tool.state.message });\n }\n },\n computed: {\n disabled: function disabled() {\n return !this.tool.offline && !_application2.default.online || this.tool.loading || this.tool.disabled;\n },\n sidebarOpen: function sidebarOpen() {\n return _application2.default.gui.sidebar.open;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[('checkbox' === _vm.tool.type)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tool.isCheck),expression:\"tool.isCheck\"}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":_vm.tool.layerName,\"type\":\"checkbox\"},domProps:{\"value\":_vm.tool.layerName,\"checked\":Array.isArray(_vm.tool.isCheck)?_vm._i(_vm.tool.isCheck,_vm.tool.layerName)>-1:(_vm.tool.isCheck)},on:{\"click\":function($event){return _vm.tool.action(_vm.tool)},\"change\":function($event){var $$a=_vm.tool.isCheck,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.tool.layerName,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tool, \"isCheck\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tool, \"isCheck\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tool, \"isCheck\", $$c)}}}}),_vm._v(\"\\n \"+_vm._s(_vm.tool.name)+\"\\n \")])]):_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name),expression:\"sidebarOpen ? null : tool.html ? tool.html.text || tool.name : tool.name\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"tool\",class:{ tool_disabled: _vm.disabled },staticStyle:{\"position\":\"relative\"},attrs:{\"current-tooltip\":_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name},on:{\"click\":function($event){!_vm.disabled ? _vm.tool.action(_vm.tool) : null}}},[_c('bar-loader',{attrs:{\"loading\":_vm.tool.loading}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.tool.icon || 'caret-right')}),_vm._v(\" \"),(_vm.tool.html)?_c('span',{staticClass:\"tool-label\"},[_c('i',{class:_vm.tool.html.icon}),_vm._v(\"\\n \"+_vm._s(_vm.tool.html.text || _vm.tool.name)+\"\\n \")]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.tool.name),expression:\"tool.name\"}],staticClass:\"tool-label\"}),_vm._v(\" \"),(_vm.tool.state.type)?_c('span',{staticClass:\"tool_type\",style:({ color: ({ alert: 'red', info: 'blue', warning: 'orange'})[_vm.tool.state.type] }),on:{\"click\":function($event){$event.stopPropagation();return _vm.showToolStateMessage($event)}}},[_c('i',{class:_vm.$fa(_vm.tool.state.type)})]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-31811884\"\n\n},{\"services/gui\":175,\"store/application\":180,\"vueify/lib/insert-css\":2}],112:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".usermessage-content[data-v-57c4f706]{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-57c4f706]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-57c4f706]{padding:0;min-width:100%}.usermessage-header-content[data-v-57c4f706]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-57c4f706]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-57c4f706]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-57c4f706],.usermessage-header-title h4[data-v-57c4f706]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-57c4f706]{margin:0}.usermessage-header-subtitle[data-v-57c4f706]{font-weight:700;margin:5px}.usermessage-header-right[data-v-57c4f706]{padding:5px}.usermessage-header-right-item[data-v-57c4f706]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-57c4f706]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction dragElement(el) {\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (el.style.marginLeft) {\n x2 -= parseInt(el.style.marginLeft);el.style.marginLeft = null;\n }\n if (el.style.marginTop) {\n y2 -= parseInt(el.style.marginTop);el.style.marginTop = null;\n }\n el.style.top = el.offsetTop - y2 + \"px\";\n el.style.left = el.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: \"usermessage\",\n props: {\n id: {},\n type: {\n type: String,\n default: \"info\" },\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n position: {\n type: String,\n default: \"top\"\n },\n size: {\n type: String,\n default: \"fullpage\"\n },\n message: {\n type: String,\n default: ''\n },\n textMessage: {\n type: Boolean,\n default: false\n },\n autoclose: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n duration: {\n type: Number,\n default: 2000\n },\n closable: {\n type: Boolean,\n default: true\n },\n\n iconClass: {\n type: String,\n default: null\n }\n },\n data: function data() {\n var _position$split = this.position.split('-'),\n _position$split2 = _slicedToArray(_position$split, 2),\n where = _position$split2[0],\n alignement = _position$split2[1];\n\n return {\n style: _extends({}, 'center' === where ? { top: 0, bottom: 0, maxHeight: '20%' } : _defineProperty({}, where, 50), {\n 'center': { left: 0, right: 0, margin: 'auto' },\n 'right': { right: 0 }\n }[alignement] || {}, {\n width: {\n 'small': '325px',\n 'medium': '50%',\n 'fullpage': '100%'\n }[alignement ? 'small' : this.size] || '100%'\n }, {\n success: { backgroundColor: \"#62ac62\", color: \"#FFF\" },\n info: { backgroundColor: \"#44a0bb\", color: \"#FFF\" },\n warning: { backgroundColor: \"#f29e1d\", color: \"#FFF\" },\n alert: { backgroundColor: \"#c34943\", color: \"#FFF\" },\n tool: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n \"z-index\": 100,\n marginLeft: document.body.classList.contains('sidebar-collapse') ? '5px' : '40px'\n },\n loading: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n fontWeight: \"bold\"\n }\n }[this.type])\n };\n },\n\n computed: {\n showheader: function showheader() {\n return 'loading' !== this.type;\n }\n },\n methods: {\n addClassMobile: function addClassMobile() {\n return this.isMobile() && !_gui2.default.isSidebarVisible();\n },\n closeUserMessage: function closeUserMessage() {\n this.$emit('close-usermessage');\n },\n hideShow: function hideShow() {}\n },\n created: function created() {\n this.observe = null;\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n if ('tool' === this.type) {\n dragElement(this.$refs.user_message);\n this.observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n _this.style.marginLeft = mutation.target.classList.contains('sidebar-collapse') ? '5px' : '40px';\n }\n });\n });\n this.observer.observe(document.body, { attributes: true });\n }\n if (this.autoclose) {\n yield this.$nextTick();\n var timeout = setTimeout(function () {\n _this.closeUserMessage();\n clearTimeout(timeout);\n }, this.duration);\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"user_message\",staticClass:\"usermessage-content\",class:( _obj = {'mobile': _vm.addClassMobile()}, _obj['usermessage-' + _vm.type] = true, _obj ),style:(_vm.style),attrs:{\"id\":_vm.id}},[(_vm.showheader)?_c('div',{staticClass:\"usermessage-header-content\"},[_c('i',{staticClass:\"usermessage-header-icontype\",class:_vm.$fa(_vm.iconClass || _vm.type)}),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-title\"},[_vm._t(\"header\",[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}]}):_c('h4',[_vm._v(\" \"+_vm._s(_vm.type.toUpperCase()))]),_vm._v(\" \"),(_vm.subtitle)?_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.subtitle),expression:\"subtitle\"}],staticClass:\"usermessage-header-subtitle\"}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-right\"},[(!_vm.autoclose && _vm.closable)?_c('div',{on:{\"click\":_vm.closeUserMessage}},[_c('i',{staticClass:\"usermessage-header-right-item\",class:_vm.$fa('close')})]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"body\",[(_vm.textMessage)?_c('div',{staticClass:\"usermessage-message\"},[_vm._v(_vm._s(_vm.message))]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"usermessage-message\"})]),_vm._v(\" \"),_vm._t(\"footer\")],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-57c4f706\"\n\n},{\"services/gui\":175,\"vueify/lib/insert-css\":2}],113:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormService = exports.FormComponent = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Form = require('components/Form.vue');\n\nvar vueComp = _interopRequireWildcard(_Form);\n\nvar _FormBody = require('components/FormBody.vue');\n\nvar _FormBody2 = _interopRequireDefault(_FormBody);\n\nvar _getDefaultExpression = require('utils/getDefaultExpression');\n\nvar _getFilterExpression = require('utils/getFilterExpression');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/form/vue/form.js@v3.9.3 \n * \n * Used by the following plugins: \"editing\", \"cadastre\", \"geonotes\", \"iternet\" \n */\nvar FormComponent = exports.FormComponent = function (_Component) {\n _inherits(FormComponent, _Component);\n\n function FormComponent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormComponent);\n\n // set element of the form\n var _this = _possibleConstructorReturn(this, (FormComponent.__proto__ || Object.getPrototypeOf(FormComponent)).call(this, _extends({}, opts, {\n id: opts.id || 'form',\n perc: null !== opts.layer.getFormPercentage() ? opts.layer.getFormPercentage() : opts.perc,\n service: new (opts.service || FormService)(),\n vueComponentObject: opts.vueComponentObject || vueComp\n })));\n\n var components = opts.components || [{\n id: opts.id,\n title: opts.title,\n name: opts.name,\n root: true,\n component: _FormBody2.default,\n headerComponent: opts.headerComponent\n }];\n\n _this.getService().addComponents(components);\n _this.getService().setComponent(components[0].component);\n\n _this.onafter('mount', function () {\n return _gui2.default.setModal(true);\n });\n return _this;\n }\n\n _createClass(FormComponent, [{\n key: 'addFormComponents',\n value: function addFormComponents() {\n var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.getService().addComponents(c);\n }\n }, {\n key: 'addFormComponent',\n value: function addFormComponent(c) {\n c && this.getService().addComponent(c);\n }\n }, {\n key: 'layout',\n value: function layout() {\n this.getInternalComponent().reloadLayout();\n }\n\n /** @TODO check if superflous */\n\n }, {\n key: 'mount',\n value: function mount(parent, append) {\n return _get(FormComponent.prototype.__proto__ || Object.getPrototypeOf(FormComponent.prototype), 'mount', this).call(this, parent, append).then(function () {\n _gui2.default.setModal(true);\n });\n }\n }]);\n\n return FormComponent;\n}(_g3wComponent2.default);\n\n/**\n * @file ORIGINAL SOURCE: src/app/gui/form/formservice.js@v3.10.2\n * @since 3.11.0\n */\n\n\nvar FormService = exports.FormService = function (_G3WObject) {\n _inherits(FormService, _G3WObject);\n\n function FormService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormService);\n\n var _this2 = _possibleConstructorReturn(this, (FormService.__proto__ || Object.getPrototypeOf(FormService)).call(this, opts));\n\n _this2.state = null;\n\n _this2.eventBus = new Vue();\n\n _this2.eventBus.$on('set-loading-form', function () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return _this2.state.loading = bool;\n });\n\n /**\n * Whether to force some state property to have a certain value.\n * (e.g., set on a child to parent form service relation)\n *\n * @type {{ valid: boolean, update: boolean }}\n */\n _this2.force = {\n update: false,\n valid: false // NOT USED FOR THE MOMENT\n };\n\n _this2.layer;\n\n _this2.setters = {\n setInitForm: function setInitForm() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n },\n setFormStructure: function setFormStructure(formStructure) {\n this.state.formstructure = formStructure;\n },\n setFormFields: function setFormFields() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.fields = fields;\n this.handleFieldsWithExpression(fields);\n },\n setupFields: function setupFields() {},\n setFormData: function setFormData() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setFormFields(fields);\n },\n setField: function setField(field) {},\n setState: function setState(state) {\n this._setState(state);\n },\n addActionsForForm: function addActionsForForm(actions) {},\n postRender: function postRender(element) {\n // hook for listener to chenge DOM\n }\n };\n\n return _this2;\n }\n\n _createClass(FormService, [{\n key: 'init',\n value: function init() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n }\n\n /**\n * Init form options passed, for example, by editor\n */\n\n }, {\n key: '_setInitForm',\n value: function _setInitForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fields = options.fields,\n feature = options.feature,\n parentData = options.parentData,\n layer = options.layer,\n _options$title = options.title,\n title = _options$title === undefined ? 'Form' : _options$title,\n formId = options.formId,\n name = options.name,\n _options$buttons = options.buttons,\n buttons = _options$buttons === undefined ? {} : _options$buttons,\n context_inputs = options.context_inputs,\n isnew = options.isnew,\n _options$footer = options.footer,\n footer = _options$footer === undefined ? {} : _options$footer,\n headerComponent = options.headerComponent;\n\n\n this.layer = layer;\n\n /**\n * Cloned feature\n */\n this.feature = feature.clone();\n\n this.title = title;\n\n this.formId = formId;\n\n this.name = name;\n\n this.buttons = buttons;\n\n this.context_inputs = context_inputs;\n\n this.parentData = parentData;\n\n this.headerComponent = headerComponent;\n\n /**\n * Force update state of the service\n * (e.g., setted on a child to parent form service relation)\n */\n this.state = {\n layerid: layer.getId(),\n loading: false,\n components: [],\n disabledcomponents: [],\n component: null,\n headers: [],\n currentheaderid: null,\n fields: null,\n buttons: this.buttons,\n disabled: false,\n isnew: isnew,\n valid: true, // global form validation state. True at beginning\n update: feature.isNew(), // set update in case or not is a new feature\n // when input change will be updated\n tovalidate: {},\n feature: this.feature, //need to get feature cloned\n componentstovalidate: {},\n footer: footer,\n ready: false\n };\n\n this.force.update = feature.isNew();\n\n /**\n * Expression fields dependencies from filter_expression\n */\n this.filter_expression_fields_dependencies = {}; //\n\n /**\n * Expression fields dependencies from default_expression\n */\n this.default_expression_fields_dependencies = {};\n\n /**\n * @since 3.8.0\n */\n this.default_expression_fields_on_update = [];\n\n /**\n * Wheter to listen for changes when `saveDefaultExpressionFieldsNotDependencies` is called\n *\n * @since 3.8.0\n */\n this.listenChangeInput = true;\n\n this.setFormFields(fields);\n\n if (this.layer && options.formStructure) {\n this.setFormStructure(this.layer.getLayerEditingFormStructure());\n }\n }\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.ready = bool;\n }\n }, {\n key: 'changeInput',\n\n\n /**\n * Called when an input change value\n *\n * @param input\n */\n value: function changeInput(input) {\n //need to set property\n this.feature.set(input.name, input.value);\n if (true === this.listenChangeInput) {\n this.evaluateFilterExpressionFields(input);\n this.evaluateDefaultExpressionFields(input);\n this.isValid(input);\n this.isUpdated(input);\n }\n }\n }, {\n key: 'isUpdated',\n\n\n /**\n * Check if the form is updated base on change on input\n *\n * @param input\n */\n value: function isUpdated(input) {\n this.state.update = this.force.update || (!this.state.update ? input.update : !!this.state.fields.find(function (f) {\n return f.update;\n }));\n }\n }, {\n key: 'setUpdate',\n\n\n /**\n *\n */\n value: function setUpdate() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$force = options.force,\n force = _options$force === undefined ? false : _options$force;\n\n this.force.update = force;\n this.state.update = this.force.update || bool;\n if (false === this.state.update) {\n // set original `field._value` equal to current value to get changes\n this.state.fields.forEach(function (f) {\n return f._value = f.value;\n });\n }\n }\n }, {\n key: 'evaluateDefaultExpressionFields',\n\n\n /**\n * Evaluate filter expression\n *\n * @param input\n */\n value: function evaluateDefaultExpressionFields() {\n var _this3 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.default_expression_fields_dependencies[input.name];\n if (filter) {\n filter.forEach(function (dependency_field) {\n (0, _getDefaultExpression.getDefaultExpression)({\n parentData: _this3.parentData,\n qgs_layer_id: _this3.layer.getId(),\n field: _this3._getField(dependency_field),\n feature: _this3.feature\n });\n });\n }\n }\n }, {\n key: 'evaluateFilterExpressionFields',\n\n\n /**\n * Evaluate filter expression fields\n *\n * @param input\n */\n value: function evaluateFilterExpressionFields() {\n var _this4 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.filter_expression_fields_dependencies[input.name];\n if (filter) {\n // on form service inititalization `filter_expression` option has\n // `referencing_fields` or `referenced_columns` from another layer\n filter.forEach(function (dependency_field) {\n (0, _getFilterExpression.getFilterExpression)({\n parentData: _this4.parentData,\n qgs_layer_id: _this4.layer.getId(),\n field: _this4._getField(dependency_field),\n feature: _this4.feature\n });\n });\n }\n }\n }, {\n key: '_handleFieldWithFilterExpression',\n\n\n /**\n * Handle a field that has a `filter_expression` value object\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithFilterExpression(field, filter_expression) {\n var _this5 = this;\n\n if (!filter_expression) {\n return;\n }\n\n var _filter_expression$re = filter_expression.referencing_fields,\n referencing_fields = _filter_expression$re === undefined ? [] : _filter_expression$re,\n _filter_expression$re2 = filter_expression.referenced_columns,\n referenced_columns = _filter_expression$re2 === undefined ? [] : _filter_expression$re2;\n\n\n var dependency_fields = new Set();\n\n // TODO: add description\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this5.filter_expression_fields_dependencies[f]) {\n _this5.filter_expression_fields_dependencies[f] = [];\n }\n _this5.filter_expression_fields_dependencies[f].push(field.name);\n });\n\n // Call input service if a field has a `filter_expression` every time we open a form\n (0, _getFilterExpression.getFilterExpression)({\n parentData: this.parentData,\n qgs_layer_id: this.layer.getId(),\n feature: this.feature,\n field: field\n });\n }\n }, {\n key: '_handleFieldWithDefaultExpression',\n\n\n /**\n * Handle a field that has a `default_value` object and check if `apply_on_update` only\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithDefaultExpression(field, default_expression) {\n var _this6 = this;\n\n if (default_expression) {\n var _default_expression$r = default_expression.referencing_fields,\n referencing_fields = _default_expression$r === undefined ? [] : _default_expression$r,\n _default_expression$r2 = default_expression.referenced_columns,\n referenced_columns = _default_expression$r2 === undefined ? [] : _default_expression$r2,\n _default_expression$a = default_expression.apply_on_update,\n apply_on_update = _default_expression$a === undefined ? false : _default_expression$a;\n\n // Skip if not apply_on_update (listen dependency change only for new Feature)\n\n if (!apply_on_update && !this.state.isnew) {\n return;\n }\n\n var dependency_fields = new Set();\n\n // Get array of dependency fields on default expression if exist\n // add each of it in a Set (unique array items)\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n // Only in apply update listen changeInput\n if (apply_on_update) {\n\n this.default_expression_fields_on_update.push(field);\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this6.default_expression_fields_dependencies[f]) {\n _this6.default_expression_fields_dependencies[f] = [];\n }\n _this6.default_expression_fields_dependencies[f].push(field.name);\n });\n }\n\n // Call input service if a field has a default_expression and is a new feature\n if (this.state.isnew) {\n (0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: this.feature,\n qgs_layer_id: this.layer.getId(),\n parentData: this.parentData\n });\n }\n }\n }\n }, {\n key: 'handleFieldsWithExpression',\n\n\n /**\n * Handle fields with associated expression\n *\n * @param {Array} [fields = []]\n */\n value: function handleFieldsWithExpression() {\n var _this7 = this;\n\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // TODO: add description\n fields.forEach(function (field) {\n var _field$input$options = field.input.options,\n options = _field$input$options === undefined ? {} : _field$input$options;\n\n _this7._handleFieldWithFilterExpression(field, options.filter_expression);\n _this7._handleFieldWithDefaultExpression(field, options.default_expression);\n });\n // start to evaluate filter expression field\n Object.keys(this.filter_expression_fields_dependencies).forEach(function (name) {\n return _this7.evaluateFilterExpressionFields({ name: name });\n });\n }\n }, {\n key: 'setCurrentFormPercentage',\n value: function setCurrentFormPercentage(perc) {\n this.layer.setFormPercentage(perc);\n }\n }, {\n key: 'setLoading',\n value: function setLoading() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.loading = bool;\n }\n }, {\n key: 'setValidComponent',\n value: function setValidComponent(_ref) {\n var id = _ref.id,\n valid = _ref.valid;\n\n this.state.componentstovalidate[id] = valid;\n this.isValid();\n }\n }, {\n key: 'getValidComponent',\n value: function getValidComponent(id) {\n return this.state.componentstovalidate[id];\n }\n }, {\n key: 'isValid',\n\n\n /**\n * Every input sends to form its valid value that will change the general state of form\n */\n value: function isValid(input) {\n var _this8 = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually && !input.validate.required && !input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this8.state.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n }\n if (input.validate.mutually && !input.validate.required && input.validate.empty) {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n // count not empty input_name\n var filled = [];\n for (var i = input.validate.mutually.length; i--;) {\n var input_name = input.validate.mutually[i];\n\n if (!this.state.tovalidate[input_name].validate.empty) {\n filled.push(input_name);\n }\n }\n if (filled.length < 2) {\n filled.forEach(function (input_name) {\n _this8.state.tovalidate[input_name].validate.mutually_valid = true;\n _this8.state.tovalidate[input_name].validate.valid = true;\n setTimeout(function () {\n _this8.state.tovalidate[input_name].validate.valid = _this8.state.tovalidate[input_name].validate._valid;\n _this8.state.valid = _this8.state.valid && _this8.state.tovalidate[input_name].validate.valid;\n });\n });\n }\n }\n // check if min_field or max_field is set\n if (!input.validate.mutually && !input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var _input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.state.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.state.tovalidate[input.validate.min_field].value : this.state.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.state.tovalidate[input.validate.max_field].value;\n\n if (input.validate.valid) {\n this.state.tovalidate[_input_name].validate.valid = true;\n }\n }\n }\n this.state.valid = Object.values(this.state.tovalidate).reduce(function (previous, input) {\n return previous && input.validate.valid;\n }, true) && Object.values(this.state.componentstovalidate).reduce(function (previous, valid) {\n return previous && valid;\n }, true);\n }\n }, {\n key: 'addComponents',\n value: function addComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n\n this.addComponent(component);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addComponent',\n value: function addComponent(component) {\n if (!component) {\n return;\n }\n var id = component.id,\n title = component.title,\n name = component.name,\n icon = component.icon,\n valid = component.valid,\n headerComponent = component.headerComponent,\n _component$header = component.header,\n header = _component$header === undefined ? true : _component$header;\n\n if (undefined !== valid) {\n this.state.componentstovalidate[id] = valid;\n this.state.valid = this.state.valid && valid;\n this.eventBus.$emit('add-component-validate', {\n id: id,\n valid: valid\n });\n }\n // Set a component that can be part of headers (tabs or not)\n if (header) {\n this.state.headers.push({ title: title, name: name, id: id, icon: icon, component: headerComponent });\n this.state.currentheaderid = this.state.currentheaderid || id;\n }\n\n this.state.components.push(component);\n }\n }, {\n key: 'replaceComponent',\n value: function replaceComponent() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n component = _ref2.component;\n\n this.state.components.splice(this.state.components.findIndex(function (c) {\n return id === c.id;\n }), 1, component);\n }\n }, {\n key: 'disableComponent',\n value: function disableComponent() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n disabled = _ref3.disabled;\n\n if (disabled) {\n this.state.disabledcomponents.push(id);\n } else {\n this.state.disabledcomponents = this.state.disabledcomponents.filter(function (disableId) {\n return id !== disableId;\n });\n }\n }\n }, {\n key: 'setCurrentComponentById',\n value: function setCurrentComponentById(id) {\n if (!this.state.disabledcomponents.includes(id)) {\n this.setIdHeader(id);\n this.state.component = this.state.components.find(function (c) {\n return id === c.id;\n }).component;\n return this.state.component;\n }\n }\n }, {\n key: 'setRootComponent',\n\n\n /**\n * setRootComponent (is form)\n */\n value: function setRootComponent() {\n this.state.component = this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'getRootComponent',\n value: function getRootComponent() {\n return this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'isRootComponent',\n value: function isRootComponent(component) {\n return component === this.getRootComponent();\n }\n }, {\n key: 'getComponentById',\n value: function getComponentById(id) {\n return this.state.components.find(function (c) {\n return id === c.id;\n });\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n this.state.component = component;\n }\n }, {\n key: 'addedComponentTo',\n value: function addedComponentTo() {\n var formcomponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';\n\n this.state.addedcomponentto[formcomponent] = true;\n }\n }, {\n key: 'addToValidate',\n value: function addToValidate(input) {\n this.state.tovalidate[input.name] = input;\n // check if is mounted on form gui an otherwise leave form component to run is Valid when form is mounted on dom\n if (this.state.ready) {\n this.isValid(input);\n }\n }\n }, {\n key: 'removeToValidate',\n value: function removeToValidate(input) {\n delete this.state.tovalidate[input.name];\n this.isValid();\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: '_setState',\n value: function _setState(state) {\n this.state = state;\n }\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.state.fields;\n }\n }, {\n key: '_getField',\n value: function _getField(name) {\n return this.state.fields.find(function (f) {\n return name === f.name;\n });\n }\n }, {\n key: 'getEventBus',\n value: function getEventBus() {\n return this.eventBus;\n }\n }, {\n key: 'setIdHeader',\n value: function setIdHeader(id) {\n this.state.currentheaderid = id;\n }\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context_inputs.context;\n }\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this.context_inputs.inputs;\n }\n }, {\n key: 'handleRelation',\n\n\n /**\n * handleRelation\n */\n\n value: function handleRelation(_ref4) {\n //OVERWRITE BY PLUGIN EDITING PLUGIN\n\n var relationId = _ref4.relationId,\n feature = _ref4.feature;\n }\n }, {\n key: 'clearAll',\n\n\n /**\n * Clear all the open things opened by service\n */\n value: function clearAll() {\n this.eventBus.$off('addtovalidate');\n this.eventBus.$off('set-main-component');\n this.eventBus.$off('set-loading-form');\n this.eventBus.$off('component-validation');\n this.eventBus.$off('disable-component');\n }\n }, {\n key: 'saveDefaultExpressionFieldsNotDependencies',\n\n\n /**\n * @returns {Promise}\n *\n * @since 3.8.0\n */\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n if (0 === this.default_expression_fields_on_update.length) {\n return;\n }\n\n // disable listen changeInput\n this.listenChangeInput = false;\n // Array contains field name already resolved with server default_expression request\n var requested_expressions = [];\n // array of defaultExpressionPromises request\n var pending_expressions = [];\n\n // loop through default_expression_fields\n\n var _loop = function* _loop(i) {\n\n // extract all dependency fields of current field\n var dFs = Object.keys(_this9.default_expression_fields_dependencies).filter(function (field) {\n return (\n // check if dependency field is field on update\n _this9.default_expression_fields_on_update.find(function (_ref6) {\n var name = _ref6.name;\n return name === field;\n }) &&\n // if it has bind current field\n _this9.default_expression_fields_dependencies[field].find(function (name) {\n return name === _this9.default_expression_fields_on_update[i].name;\n })\n );\n });\n\n // id current field has an Array (at least one) dependency fields\n // need to evaluate its value and after evaluate field value expression\n\n var _loop2 = function* _loop2(_i) {\n // in case already done a default_expression request evaluation from server\n if (undefined !== requested_expressions.find(function (name) {\n return dFs[_i] === name;\n })) {\n return 'continue';\n }\n // get value. Need to wait response\n try {\n var value = yield (0, _getDefaultExpression.getDefaultExpression)({\n field: _this9._getField(dFs[_i]),\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n });\n // update field with evaluated value to feature\n _this9.feature.set(dFs[_i], value);\n // add to array\n requested_expressions.push(dFs[_i]);\n } catch (e) {\n console.warn(e);\n }\n };\n\n for (var _i = 0; _i < dFs.length; _i++) {\n var _ret2 = yield* _loop2(_i);\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n for (var i = 0; i < this.default_expression_fields_on_update.length; i++) {\n yield* _loop(i);\n }\n\n this.default_expression_fields_on_update.forEach(function (field) {\n if (undefined === requested_expressions.find(function (name) {\n return field.name === name;\n })) {\n pending_expressions.push((0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n }));\n }\n });\n\n try {\n yield Promise.allSettled(pending_expressions);\n } catch (e) {\n console.warn(e);\n }\n\n // enable listen changeInput\n this.listenChangeInput = true;\n });\n\n function saveDefaultExpressionFieldsNotDependencies() {\n return _ref5.apply(this, arguments);\n }\n\n return saveDefaultExpressionFieldsNotDependencies;\n }()\n }]);\n\n return FormService;\n}(_g3wObject2.default);\n\n},{\"components/Form.vue\":51,\"components/FormBody.vue\":52,\"g3w-component\":126,\"g3w-object\":131,\"services/gui\":175,\"utils/getDefaultExpression\":208,\"utils/getFilterExpression\":209}],114:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * Perform search\n * \n * @param { Object } opts\n * @param opts.filter\n * @param opts.queryUrl\n * @param opts.feature_count\n * @param opts.show - false = internal request (No output data)\n * \n * @returns { Promise }\n */\nvar doSearch = function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref3.filter,\n queryUrl = _ref3.queryUrl,\n show = _ref3.show,\n _ref3$feature_count = _ref3.feature_count,\n feature_count = _ref3$feature_count === undefined ? 10000 : _ref3$feature_count,\n state = _ref3.state;\n\n queryUrl = undefined === queryUrl ? state.queryurl : queryUrl;\n show = undefined === show ? 'search' === state.type : show;\n\n state.searching = true;\n\n var data = void 0,\n parsed = void 0;\n\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: {\n layer: state.search_layers,\n filter: filter || (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (input) {\n return -1 === [null, undefined, _g3wConstants.SEARCH_ALLVALUE].indexOf(input.value) && '' !== input.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n }),\n queryUrl: queryUrl,\n formatter: 1,\n feature_count: feature_count,\n raw: false // in order to get a raw response\n },\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query\n if (show && _application2.default.project.state.autozoom_query && data && data.data && 1 === data.data.length) {\n _gui2.default.getService('map').zoomToFeatures(data.data[0].features);\n }\n\n var search_1n = !show && 'search_1n' === state.type;\n var features = search_1n && (data.data[0] || {}).features || [];\n var relation = features.length && _application2.default.project.getRelationById(state.search_1n_relationid); // child and father relation fields (search father layer id based on result of child layer)\n var layer = relation && _application2.default.project.getLayerById(relation.referencedLayer); // father layer id\n\n // no features on result → show an empty message\n if (search_1n && !features.length) {\n _gui2.default.outputDataPlace(Promise.resolve({ data: [] }));\n parsed = [];\n }\n\n // parse search_1n\n if (relation) {\n var _relation$fieldRef = relation.fieldRef,\n referencedField = _relation$fieldRef.referencedField,\n referencingField = _relation$fieldRef.referencingField;\n\n parsed = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: layer,\n inputs: features.map(function (f) {\n return {\n attribute: 1 === referencedField.length ? referencedField[0] : referencedField,\n logicop: 'OR',\n operator: 'eq',\n value: [].concat(_toConsumableArray(new Set(1 === referencingField.length // get unique values\n ? features.map(function (f) {\n return f.get(referencingField[0]);\n }) // → single field relation\n : referencingField.map(function (rf) {\n return f.get(rf);\n }) // → multi field relation\n )))\n };\n })\n }),\n formatter: 1,\n feature_count: feature_count\n },\n outputs: {\n title: state.title\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n\n state.searching = false;\n\n return parsed ? parsed : data;\n });\n\n return function doSearch() {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports.SearchPanel = SearchPanel;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFormInputs = require('utils/createFilterFormInputs');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _debounce = require('utils/debounce');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _SearchPanel = require('components/SearchPanel.vue');\n\nvar vueSearchComp = _interopRequireWildcard(_SearchPanel);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchpanel.js@v3.9.3\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchservice.js@v3.9.3\n */\nfunction SearchPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var state = {\n loading: {}, // store loading state of each input and each dependency\n searching: false, //Boolean. If true, search request from server is starts. False no search\n title: opts.name,\n /** @type { 'search' | 'search_1n' } */\n type: opts.type || 'search',\n /** @TODO check if deprecated */\n queryurl: (opts.options || {}).queryurl,\n /** @deprecated will be removed in v4.x */\n search_endpoint: 'api',\n search_1n_relationid: opts.options.search_1n_relationid, //relations\n /** Layers that will be searchable for that search form. The First one is a layer owner of the search set on admin. */\n search_layers: [(opts.options || {}).querylayerid || (opts.options || {}).layerid || null].concat(_toConsumableArray((opts.options || {}).otherquerylayerids || [])).map(function (id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(id);\n }),\n /** Array of inputs that belongs to search form */\n forminputs: ((opts.options || {}).filter || []).map(function (d, i) {\n return {\n id: d.id || (0, _getUniqueDomId.getUniqueDomId)(),\n type: d.input.type || 'textfield',\n widget_type: d.input.widget_type,\n label: d.label,\n attribute: d.attribute,\n values: d.input.options.values || [],\n /** group values by parent value */\n dvalues: {},\n /**\n * true → initially it is disabled (values = [], ALL value)\n * as in the case in which the dependent field will\n * return to having ALL value. When a value is set to\n * the dependent field, the select will be enabled and\n * will contain the filtered values consistent with the\n * value of the dependent parent field\n */\n dependance_strict: d.input.options.dependance_strict || false,\n /**\n * true → the select is not disabled and will contain all possible values\n * (since at the beginning the parent will have the value ALL).\n * When the value of the dependent field changes, the values in the\n * select list will be filtered in a manner consistent with the value\n * of the parent\n */\n dependance: d.input.options.dependance || false,\n value: 'selectfield' === d.input.type ? _g3wConstants.SEARCH_ALLVALUE : null,\n operator: d.op,\n logicop: i === opts.options.filter.length - 1 ? null : d.logicop,\n loading: true,\n disabled: d.input.options.disabled || false,\n /** keep a reference to initial search options (you shouldn't mutate them..) */\n options: d.input.options\n };\n })\n };\n\n // create search form structure \n state.mounted = function () {\n var _ref = _asyncToGenerator(function* (state) {\n\n for (var i = 0; i <= state.forminputs.length - 1; i++) {\n\n var input = state.forminputs[i];\n var has_autocomplete = 'autocompletefield' === input.type;\n\n // set key-values for select\n input.values = [].concat(_toConsumableArray('selectfield' === input.type ? [_g3wConstants.SEARCH_ALLVALUE] : []), _toConsumableArray(input.dependance_strict || has_autocomplete ? input.values : yield (0, _getDataForSearchInput.getDataForSearchInput)({ state: state, field: input.attribute }) // retrieve input values from server\n )).map(function (value) {\n return 'Object' === (0, _toRawType.toRawType)(value) ? value : { key: value, value: value };\n });\n\n // there is a dependence\n if (input.dependance) {\n state.loading[input.dependance] = false;\n input.disabled = input.dependance_strict; // disabled for BACKCOMP\n }\n\n // save a copy of original values\n input._values = [].concat(_toConsumableArray(input.values));\n\n input.loading = false;\n }\n });\n\n return function (_x3) {\n return _ref.apply(this, arguments);\n };\n }()(state);\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\n run: (0, _debounce.debounce)(function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _GUI$getService$getMa = _gui2.default.getService('map').getMap().getSize(),\n _GUI$getService$getMa2 = _slicedToArray(_GUI$getService$getMa, 2),\n w = _GUI$getService$getMa2[0],\n h = _GUI$getService$getMa2[1];\n\n var hide = _gui2.default.isMobile() && (0 === w || 0 === h);\n setTimeout(function () {\n if (hide) {\n _gui2.default.hideSidebar();\n }\n panel.getService().doSearch(_extends({}, args, { state: state }));\n }, hide ? 0 : 600);\n }),\n clear: function clear() {\n panel.getService().state = null;\n },\n\n createFilter: function createFilter() {\n return (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (i) {\n return ![null, undefined, _g3wConstants.SEARCH_ALLVALUE].includes(i.value) && '' !== i.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n });\n }\n });\n\n var panel = new _g3wPanel2.default(_extends({}, opts, {\n show: show,\n id: opts.id || (0, _getUniqueDomId.getUniqueDomId)(),\n title: opts.title || 'search',\n vueComponentObject: opts.component || vueSearchComp,\n service: service\n }));\n\n return panel;\n}\n\n},{\"components/SearchPanel.vue\":107,\"g3w-constants\":127,\"g3w-object\":131,\"g3w-panel\":132,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/createFilterFormInputs\":193,\"utils/debounce\":200,\"utils/getCatalogLayerById\":205,\"utils/getDataForSearchInput\":207,\"utils/getUniqueDomId\":219,\"utils/toRawType\":244}],115:[function(require,module,exports){\nvar _vueColor = require(\"vue-color\");\n\nvar VueColor = _interopRequireWildcard(_vueColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar initConfig = window.initConfig;\n\n// convert relative base URLs to absolute (eg. '/' → 'http://localhost:8080/')\n/**\n * @file shims legacy variables to ensure backward compatibily with old G3W-CLIENT plugins (eg. window variables)\n * @since v3.8\n */\n\nif (initConfig.baseurl) {\n try {\n new URL(initConfig.baseurl);\n } catch (error) {\n initConfig.baseurl = new URL(initConfig.baseurl, window.location).toString();\n }\n}\n\n// BACKCOMP v3.x (initConfig → initConfig.group)\ninitConfig.group = Object.assign(initConfig.group || {}, new Proxy(Object.fromEntries(Object.keys(initConfig).filter(function (key) {\n return ![\"i18n\", \"staticurl\", \"client\", \"mediaurl\", \"user\", \"baseurl\", \"vectorurl\", \"proxyurl\", \"rasterurl\", \"interfaceowsurl\", \"main_map_title\", 'main_map_title', \"g3wsuite_logo_img\", \"credits\", \"version\", \"group\", \"frontendurl\"].includes(key);\n}).map(function (key) {\n return [key, initConfig[key]];\n})), {\n get: function get(target, prop, receiver) {\n console.warn(\"[G3W-CLIENT] initConfig.group.\" + prop.toString() + \" is deprecated\");return Reflect.get.apply(Reflect, arguments);\n }\n}));\n\n// gid of panoramic map project\ninitConfig.overviewproject = initConfig.overviewproject ? initConfig.overviewproject.gid : null;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use ESM imports from 'vue-color' instead\n */\nwindow.VueColor = VueColor;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use require('vue-cookie') instead of window.VueCookie\n */\nwindow.VueCookie = require('vue-cookie');\n\n},{\"vue-color\":\"vue-color\",\"vue-cookie\":\"vue-cookie\"}],116:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.trigger = exports.unwatch = exports.watch = undefined;\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\n/**\n * Internal state\n */\nvar vm = new Vue(); /**\n * @TODO refactor stateful directives (eg. \"v-t\") in order to delete this file: \"src/directives/utils.js\"\n */\n\nvar directives = {};\n\nvar watch = exports.watch = function watch() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref.el,\n attr = _ref.attr,\n watcher = _ref.watcher,\n _ref$immediate = _ref.immediate,\n immediate = _ref$immediate === undefined ? true : _ref$immediate;\n\n var unique_attr_id = (0, _getUniqueDomId.getUniqueDomId)();\n el.setAttribute(attr, unique_attr_id);\n var dir = directives[unique_attr_id] = {};\n if (watcher) {\n dir.unwatch = vm.$watch(watcher[0], watcher[1], watcher[2] || { immediate: immediate });\n dir.handler = watcher[1];\n }\n return unique_attr_id;\n};\n\nvar unwatch = exports.unwatch = function unwatch() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref2.el,\n attr = _ref2.attr;\n\n var unique_attr_id = el.getAttribute(attr);\n if (unique_attr_id) {\n directives[unique_attr_id].unwatch();\n delete directives[unique_attr_id];\n }\n};\n\nvar trigger = exports.trigger = function trigger(_ref3) {\n var el = _ref3.el,\n attr = _ref3.attr,\n data = _ref3.data;\n return directives[el.getAttribute(attr)].handler(data);\n};\n\n},{\"utils/getUniqueDomId\":219}],117:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n binding.value ? el.setAttribute('checked', 'checked') : el.removeAttribute('checked');\n};\n\n},{}],118:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],119:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-download-id';\n\nexports.default = {\n bind: function bind(el, binding) {\n if ('boolean' === typeof binding.value ? binding.value : true) {\n (0, _utils.watch)({\n el: el,\n attr: attr,\n watcher: [function () {\n return _application2.default.download;\n }, function (bool) {\n var className = binding.modifiers && binding.modifiers.show && 'hide' || 'disabled';\n el.classList.toggle('g3w-' + className, className === 'hide' ? !bool : bool);\n }]\n });\n }\n },\n\n unbind: function unbind(el) {\n return (0, _utils.unwatch)({ el: el, attr: attr });\n }\n};\n\n},{\"directives/utils\":116,\"store/application\":180}],120:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-select2-id';\n\nexports.default = {\n inserted: function inserted(el, binding, vnode) {\n var _ref = vnode.data.attrs || {},\n templateResult = _ref.templateResult,\n templateSelection = _ref.templateSelection,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === undefined ? false : _ref$multiple,\n _ref$search = _ref.search,\n search = _ref$search === undefined ? true : _ref$search,\n select2_value = _ref.select2_value,\n indexItem = _ref.indexItem,\n _ref$createTag = _ref.createTag,\n createTag = _ref$createTag === undefined ? false : _ref$createTag,\n _ref$dropdownAutoWidt = _ref.dropdownAutoWidth,\n dropdownAutoWidth = _ref$dropdownAutoWidt === undefined ? false : _ref$dropdownAutoWidt,\n _ref$dropdownParent = _ref.dropdownParent,\n dropdownParent = _ref$dropdownParent === undefined ? false : _ref$dropdownParent;\n\n var isArray = binding.value && Array.isArray(vnode.context[binding.value]) // check if is an array\n && undefined !== indexItem; // check if indexItem is defined\n //Need in case of change\n var createSelect2 = function createSelect2() {\n $(el).select2({\n tags: createTag,\n width: '100%',\n dropdownCssClass: 'skin-color',\n dropdownAutoWidth: dropdownAutoWidth,\n dropdownParent: true === dropdownParent ? $(el.parentNode) : undefined,\n templateResult: templateResult,\n templateSelection: templateSelection,\n minimumResultsForSearch: search ? undefined : -1,\n createTag: function createTag(params) {\n var value = params.term.trim();\n return value ? {\n id: value,\n text: value,\n newTag: true // add additional value\n } : null;\n }\n }).on('select2:select select2:unselect', function (e) {\n if (!binding.value) {\n return;\n }\n\n var value = binding.value;\n var selected = 'select2:select' === e.type;\n var id = e.params.data.id;\n var ctx = vnode.context;\n\n // selected\n /** @TODO reduce nesting level */\n if (selected) {\n var arr = isArray ? ctx[value][indexItem].value : ctx[value];\n // check is can have multiple value\n if (multiple && arr.every(function (d) {\n return id !== d;\n })) {\n arr.push(id);\n } else if (isArray) {\n ctx[value][indexItem].value = id;\n } else {\n // take in an account text binding value single world or object (eg. state.name)\n var attrs = ('' + value).split('.');\n var last = attrs.pop();\n attrs.reduce(function (acc, a) {\n acc = acc[a];return acc;\n }, vnode.context)[last] = id;\n }\n }\n\n // unselected\n /** @TODO reduce nesting level */\n if (!selected && multiple) {\n if (isArray) {\n ctx[value][indexItem].value = ctx[value][indexItem].value.filter(function (d) {\n return id !== d;\n });\n } else {\n ctx[value] = ctx[value].filter(function (d) {\n return id !== d;\n });\n }\n }\n\n // dispatch \"change\" event to native \\n \\n \\n
',\n data: function data() {\n return { methods: _g3wConstants.SPATIAL_METHODS, method: _this4.getSpatialMethod() };\n },\n watch: { method: function method(m) {\n return _this4.setSpatialMethod(m);\n } },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n break;\n\n case 'custom':\n this.toggledTool = toggledTool.component;\n break;\n\n }\n\n /**\n * @TODO check if it is deprecated. It used to show help message for map control\n */\n if ('how' === toggledTool.how && this._onhover) {\n this._toolButton = $('');\n $(this.element).prepend(this._toolButton);\n this._toolButton.on('click', function (e) {\n e.stopPropagation();\n _this4.showToggledTool(true);\n });\n $(this.element).hover(function () {\n return _this4._toggled && _this4._toolButton.show();\n });\n $(this.element).mouseleave(function () {\n return _this4._toolButton.hide();\n });\n }\n }\n }, {\n key: 'showToggledTool',\n value: function showToggledTool() {\n var show = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (show) {\n _gui2.default.showUserMessage({\n title: this.toggledTool.__title,\n type: 'tool',\n size: 'small',\n iconClass: this.toggledTool.__iconClass,\n closable: this._toolButton ? true : false,\n hooks: { body: this.toggledTool }\n });\n } else {\n _gui2.default.closeUserMessage();\n }\n }\n\n /**\n * Set button status (pressed / not pressed)\n * \n * @param { Boolean } toggled\n * @param { Object } opts\n */\n\n }, {\n key: 'toggle',\n value: function toggle() {\n var _this5 = this;\n\n var toggled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this._toggled;\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n opts.parent = undefined === opts.parent ? false : opts.parent;\n\n // skip if button is already toggled or un-toggled\n if (toggled === this._toggled) {\n return;\n }\n\n this._toggled = toggled;\n\n if (this.cursorClass) {\n this.setMouseCursor(toggled);\n }\n\n // toggle other toggleable control\n if (toggled) {\n this.getMap().getControls().forEach(function (c) {\n if (c.id && c.toggle && c.id !== _this5.id && c.id !== opts.parent) {\n c.toggle(false);\n }\n });\n }\n\n if (this._interaction) {\n this._interaction.setActive(toggled);\n }\n\n /** Add or remove g3w-ol-toggled class to control button */\n $(this.element).find('button').first()[toggled ? 'addClass' : 'removeClass']('g3w-ol-toggled');\n\n /** @TODO Deprecated */\n if (toggled && this._toolButton) {\n this._toolButton.show();\n } else if (!toggled && this._toolButton) {\n this._toolButton.hide();\n }\n\n //** if not toggled and has a toggle tool (e.g., measure map control) close user message tool */\n if (this.toggledTool) {\n this.showToggledTool(this._toggled);\n }\n\n this.dispatchEvent({ type: 'toggled', toggled: toggled });\n\n if (this._options.onToggled) {\n this._options.onToggled.call(this, toggled);\n }\n }\n }, {\n key: 'getGeometryTypes',\n value: function getGeometryTypes() {\n return this._geometryTypes;\n }\n }, {\n key: 'setGeometryTypes',\n value: function setGeometryTypes(types) {\n this._geometryTypes = types;\n }\n }, {\n key: 'getInteraction',\n value: function getInteraction() {\n return this._interaction;\n }\n\n /**\n * Method to set filter operation intersect or Contains\n */\n\n }, {\n key: 'setSpatialMethod',\n value: function setSpatialMethod() {\n var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'intersects';\n\n this.spatialMethod = method;\n this.dispatchEvent({\n type: 'change-spatial-method',\n spatialMethod: this.spatialMethod\n });\n }\n }, {\n key: 'getSpatialMethod',\n value: function getSpatialMethod() {\n return this.spatialMethod;\n }\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n\n /**\n * @returns { ol.control }\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOlControl',\n value: function getOlControl() {\n return this._control;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'showHide',\n value: function showHide() {\n if (this.element) {\n $(this.element).toggle();\n }\n }\n }]);\n\n return InteractionControl;\n}(ol.control.Control);\n\nexports.default = InteractionControl;\n\n},{\"g3w-constants\":127,\"services/gui\":175}],146:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MeasureControl = exports.MeasureInteraction = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _createMeasureTooltip = require('utils/createMeasureTooltip');\n\nvar _removeMeasureTooltip = require('utils/removeMeasureTooltip');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/measuercontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar MeasureInteraction = exports.MeasureInteraction = function (_ol$interaction$Draw) {\n _inherits(MeasureInteraction, _ol$interaction$Draw);\n\n function MeasureInteraction(opts) {\n _classCallCheck(this, MeasureInteraction);\n\n var measureStyle = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' }),\n stroke: new ol.style.Stroke({ color: opts.drawColor || 'rgba(0, 0, 0, 0.5)', lineDash: [10, 10], width: 3 }),\n image: new ol.style.Circle({\n radius: 5,\n stroke: new ol.style.Stroke({ color: 'rgba(0, 0, 0, 0.7)' }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })\n });\n var source = new ol.source.Vector();\n\n var _this = _possibleConstructorReturn(this, (MeasureInteraction.__proto__ || Object.getPrototypeOf(MeasureInteraction)).call(this, {\n source: source,\n type: opts.geometryType || 'LineString',\n style: measureStyle\n }));\n\n _this._helpTooltip;\n _this._measureTooltipElement;\n _this._measureTooltip;\n _this._featureGeometryChangelistener;\n _this._poinOnMapMoveListener;\n _this._helpTooltipElement;\n\n _this._helpMsg = opts.help;\n _this._projection = opts.projection;\n _this.feature = opts.feature;\n _this._map = null;\n _this._feature = null;\n _this._layer = new ol.layer.Vector({\n source: source,\n style: function style() {\n return [new ol.style.Style({\n stroke: new ol.style.Stroke({ lineDash: [10, 10], width: 3 }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })];\n }\n });\n\n _this.set('beforeRemove', _this.clear);\n _this.set('layer', _this._layer);\n // register event on two action\n _this.on('drawstart', _this._drawStart);\n _this.on('drawend', _this._drawEnd);\n return _this;\n }\n\n _createClass(MeasureInteraction, [{\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._clearMessagesAndListeners();\n if (this._map) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({\n map: this._map\n }, this.measureTooltip));\n this.measureTooltip = null;\n this._map.removeLayer(this._layer);\n }\n }\n }, {\n key: '_clearMessagesAndListeners',\n value: function _clearMessagesAndListeners() {\n this._feature = null;\n // unset tooltip so that a new one can be created\n if (this._map) {\n this._measureTooltipElement = null;\n this._helpTooltipElement.innerHTML = '';\n\n this._helpTooltipElement.classList.add('hidden');\n\n ol.Observable.unByKey(this._featureGeometryChangelistener);\n ol.Observable.unByKey(this._poinOnMapMoveListener);\n\n $(document).off('keydown', this._keyDownEventHandler);\n }\n }\n\n //drawStart function\n\n }, {\n key: '_drawStart',\n value: function _drawStart(e) {\n var _this2 = this;\n\n this._map = this.getMap();\n this._map.removeLayer(this._layer);\n this._feature = e.feature;\n if (this.feature) {\n this._feature.setGeometry(this.feature.getGeometry());\n }\n // removed last point\n this._keyDownEventHandler = function (e) {\n var geom = _this2._feature.getGeometry();\n if (46 === e.keyCode) {\n if (geom instanceof ol.geom.Polygon && geom.getCoordinates()[0].length > 2) {\n _this2.removeLastPoint();\n } else if (geom instanceof ol.geom.LineString && geom.getCoordinates().length > 1) {\n _this2.removeLastPoint();\n }\n }\n };\n $(document).on('keydown', this._keyDownEventHandler);\n this._layer.getSource().clear();\n this._poinOnMapMoveListener = this._map.on('pointermove', function (e) {\n if (e.dragging) {\n return;\n }\n if (_this2._feature && _this2._helpMsg) {\n _this2._helpTooltipElement.innerHTML = t(_this2._helpMsg);\n _this2._helpTooltip.setPosition(e.coordinate);\n _this2._helpTooltipElement.classList.remove('hidden');\n }\n });\n // create help tooltip\n if (this._helpTooltipElement) {\n this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement);\n }\n if (this._helpTooltip) {\n this._map.removeOverlay(this._helpTooltip);\n }\n this._helpTooltipElement = document.createElement('div');\n this._helpTooltipElement.className = 'mtooltip hidden';\n this._helpTooltip = new ol.Overlay({\n element: this._helpTooltipElement,\n offset: [15, 0],\n positioning: 'center-left'\n });\n\n this._map.addOverlay(this._helpTooltip);\n\n // create measure tooltip\n if (this.measureTooltip) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({}, this.measureTooltip, { map: this._map }));\n }\n\n this.measureTooltip = (0, _createMeasureTooltip.createMeasureTooltip)({ map: this._map, feature: this._feature });\n }\n }, {\n key: '_drawEnd',\n value: function _drawEnd() {\n this.measureTooltip.tooltip.getElement().className = 'mtooltip mtooltip-static';\n this.measureTooltip.tooltip.setOffset([0, -7]);\n this._clearMessagesAndListeners();\n this._map.addLayer(this._layer);\n }\n }]);\n\n return MeasureInteraction;\n}(ol.interaction.Draw);\n\nvar MeasureControl = exports.MeasureControl = function (_InteractionControl) {\n _inherits(MeasureControl, _InteractionControl);\n\n function MeasureControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MeasureControl);\n\n var _this3 = _possibleConstructorReturn(this, (MeasureControl.__proto__ || Object.getPrototypeOf(MeasureControl)).call(this, _extends({}, opts, {\n clickmap: true,\n enabled: true,\n onToggled: function onToggled(toggled) {\n // toggle current interaction\n this._interaction.setActive(this.isToggled());\n // when not toggled\n if (!toggled) {\n this._interaction.clear();\n }\n // check if first interaction is current interaction\n if (!toggled && this.interactions[this.types[0]] !== this._interaction) {\n //remove current interaction from the map\n this.getMap().removeInteraction(this._interaction);\n this._interaction = this.interactions[this.types[0]];\n //add first interaction\n this.getMap().addInteraction(this._interaction);\n }\n }\n })));\n\n _this3.types = [];\n\n _this3.interactions = {};\n\n (opts.types || []).forEach(function (t) {\n return _this3.addType(t);\n });\n\n // no type set, hide control\n if (0 === _this3.types.length) {\n _this3.setVisible(false);\n }\n\n _this3.on('setMap', function (e) {\n return e.map.addInteraction(_this3._interaction);\n });\n return _this3;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(MeasureControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this4 = this;\n\n this.types.push(type);\n\n this._interactionClassOptions.geometryType = { area: 'Polygon', length: 'LineString' }[type];\n\n this.interactions[type] = new MeasureInteraction(this._interactionClassOptions);\n\n this.interactions[type].setActive(false);\n\n if (!this._interaction) {\n this._interaction = this.interactions[type];\n }\n\n if (this.types.length > 1) {\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.measures.title',\n __iconClass: 'measure', //@since v3.11.0\n data: function data() {\n return { types: _this4.types, type: _this4.types[0] };\n },\n template: /* html */'\\n
\\n \\n
',\n watch: {\n // change measure interaction\n type: function type(ntype, otype) {\n // deactivate previous interaction\n _this4.interactions[otype].setActive(false);\n _this4.interactions[otype].clear();\n _this4.getMap().removeInteraction(_this4.interactions[otype]);\n // activate new interacion\n _this4.getMap().addInteraction(_this4.interactions[ntype]);\n _this4.interactions[ntype].setActive(true);\n _this4._interaction = _this4.interactions[ntype];\n }\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n }\n }]);\n\n return MeasureControl;\n}(_interactioncontrol2.default);\n\n},{\"g3w-i18n\":130,\"map/controls/interactioncontrol\":145,\"services/gui\":175,\"utils/createMeasureTooltip\":195,\"utils/removeMeasureTooltip\":236}],147:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QueryBy = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar POLYGON_TYPES = [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D];\n\n/**\n * Child interaction controls\n */\nvar CONTROLS = {};\n\n/**\n * Spatial query options\n */\nvar QUERY = Vue.observable({\n /** @type {ol.coordinate} bbox coordinates */\n bbox: null,\n /** @type { ol.Feature } drawed feature */\n dfeature: null,\n layer: null,\n feature: null,\n coordinates: null,\n radius: 0\n});\n\n/**\n * Return current layer id selected or __ALL__ (no layer selected)\n * @return {string}\n */\nfunction getSelectedLayerId() {\n return (_gui2.default.getService('map').getSelectedLayer() || {\n getId: function getId() {\n return '__ALL__';\n }\n }).getId();\n}\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybybboxcontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybypolygoncontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybydrawpolygoncontrol.js@v3.9.10\n */\n\nvar QueryBy = exports.QueryBy = function (_InteractionControl) {\n _inherits(QueryBy, _InteractionControl);\n\n function QueryBy() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, QueryBy);\n\n var _this = _possibleConstructorReturn(this, (QueryBy.__proto__ || Object.getPrototypeOf(QueryBy)).call(this, _extends({}, opts, {\n name: 'queryby',\n label: '\\uE903',\n tipLabel: \"sdk.mapcontrols.queryby.title\",\n enabled: true,\n cursorClass: null //store cursorClass of a current sub control enabled (querybbox, etc..)\n })));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n // no type set, hide control\n if (0 === _this.types.length) {\n _this.setVisible(false);\n } else {\n _this.element.classList.add('ol-' + _this.types[0]);\n }\n\n CONTROLS['queryby'] = _this;\n\n _this.selectedLayer = '__ALL__';\n\n // toolbox (options)\n _this.on('toggled', function (_ref) {\n var toggled = _ref.toggled;\n\n if (!toggled) {\n return _gui2.default.closeUserMessage();\n }\n _gui2.default.showUserMessage({\n title: 'sdk.mapcontrols.queryby.title',\n type: 'tool',\n size: 'small',\n iconClass: 'info',\n closable: false,\n hooks: {\n body: {\n data: function data() {\n return {\n types: _this.types,\n type: _this.types[0],\n methods: _g3wConstants.SPATIAL_METHODS,\n method: _this.getSpatialMethod(),\n layers: [],\n selectedLayer: getSelectedLayerId()\n };\n },\n template: /* html */'\\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 computed: {\n control: function control() {\n return CONTROLS[this.type];\n },\n queryable: function queryable() {\n var _this2 = this;\n\n return (this.control.layers || []).filter(function (l) {\n return 'querybypolygon' === _this2.type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n });\n },\n no_layers: function no_layers() {\n return !this.queryable || !_hasVisible(this.control);\n },\n help: function help() {\n return 'sdk.mapcontrols.' + this.type + '.help.message';\n },\n all: function all() {\n return this.no_layers ? 'sdk.mapcontrols.queryby.none' : 'sdk.mapcontrols.queryby.all';\n },\n\n radius: {\n get: function get() {\n return QUERY.radius;\n },\n set: function set(v) {\n if (Number.isNaN(v) || v < 0) {\n this.radius = QUERY.radius;\n return;\n }\n //need to convert degree in meter\n QUERY.radius = Math.floor(v * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees));\n //already circle drawed but not clear (0) value\n if (QUERY.dfeature && QUERY.radius > 0) {\n QUERY.dfeature.getGeometry().setRadius(QUERY.radius);\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n }\n }\n },\n watch: {\n method: function method() {\n this.reset();\n },\n type: function type() {\n var _this3 = this;\n\n //after a change type needs to check, is all being updated to change select2 option text\n this.reset().then(function () {\n return _this3.update__ALL__Text();\n });\n },\n control: function control() {\n var _this4 = this;\n\n this.types.forEach(function (t) {\n return CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this4.type);\n });\n },\n layers: function layers() {\n this.selectedLayerNotQuerable();\n },\n\n // see: https://forums.select2.org/t/cannot-rename-selected-option/154/2\n all: function all() {\n this.update__ALL__Text();\n },\n\n selectedLayer: {\n immediate: true,\n handler: function handler(value, oldValue) {\n var _this5 = this;\n\n this.selectedLayerNotQuerable();\n //It means that it is mounted. No value before\n if (undefined === oldValue) {\n return;\n }\n var map = _gui2.default.getService('map');\n // auto selects added layer\n if ('__NEW__' === value) {\n var listener = map.onafter('loadExternalLayer', function (l) {\n map.selectLayer(l.get('id'));\n _this5.reset();\n });\n var select = document.querySelector('#add-layer-type');\n select.value = 'file';\n select.dispatchEvent(new Event('change'));\n $('#modal-addlayer').one('hidden.bs.modal', function () {\n return map.un('loadExternalLayer', listener);\n });\n map.showAddLayerModal();\n }\n\n if (!['__ALL__', '__NEW__'].includes(value) && value !== getSelectedLayerId()) {\n map.selectLayer(value);\n }\n //reset selection if a selection is done by TOC catalog\n if (['__ALL__', '__NEW__'].includes(value) && '__ALL__' !== getSelectedLayerId()) {\n map.selectLayer();\n }\n }\n }\n },\n methods: {\n /**\n * Update selects2 the __ALL__ option text as to select all change text\n */\n update__ALL__Text: function update__ALL__Text() {\n $(this.$refs.layer).select2('close');\n $(this.$refs.layer).find('option[value=\"__ALL__\"]').text(t(this.all));\n $(this.$refs.layer).select2('data')[0].text = t(this.all);\n $(this.$refs.layer).trigger('change');\n },\n selectedLayerNotQuerable: function selectedLayerNotQuerable() {\n //In the case of selection of layer (by TOC) that not belong to a layer list,\n // set the value of selectedLayer __ALL__\n if (!['__ALL__', '__NEW__'].includes(this.selectedLayer) && this.layers.length && !this.layers.map(function (l) {\n return l.getId();\n }).includes(this.selectedLayer)) {\n this.selectedLayer = '__ALL__';\n }\n },\n reset: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this6 = this,\n _layers;\n\n this.layers.splice(0);\n // reset autorun options\n this.types.filter(function (t) {\n return t !== _this6.type;\n }).forEach(function (t) {\n if ('querybycircle' === t) {\n QUERY.radius = 0;\n }\n if ('querybbox' === t) {\n QUERY.bbox = null;\n }\n if ('querybypolygon' === t) {\n QUERY.layer = null;QUERY.feature = null;QUERY.coordinates = null;\n }\n if (!['querybydrawpolygon', 'querybycircle'].includes(_this6.type)) {\n QUERY.dfeature = null;\n }\n CONTROLS[t].autorun = false;\n });\n //set spatial method\n this.control.spatialMethod = this.method;\n this.control.toggle(true, { parent: CONTROLS['queryby'].id });\n // show highlight class only if 'querybbox' or 'querybydrawpolygon' type control\n this.control.layers.forEach(function (l) {\n return l.setTocHighlightable(['querybbox', 'querybydrawpolygon'].includes(_this6.type));\n });\n yield this.$nextTick();\n // set queryable layers (select2)\n (_layers = this.layers).push.apply(_layers, _toConsumableArray(this.queryable));\n\n if ('querybypolygon' === this.type) {\n this.control.setEnable(false);\n }\n // re-run query when changing spatial method\n if (this.control.autorun) {\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n });\n\n function reset() {\n return _ref2.apply(this, arguments);\n }\n\n return reset;\n }(),\n templateType: function templateType(state) {\n if (!state.id) {\n return state.text;\n }\n return $( /*html*/'  ' + state.text + '');\n },\n templateLayer: function templateLayer(state) {\n if (!state.id || '__NEW__' === state.id) {\n return state.text;\n }\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(state.id) || externalLayers.find(function (l) {\n return l.get('id') === state.id;\n });\n /** @FIXME layer is undefined when removing an external layer */\n var icon = '__ALL__' === state.id || !layer ? '' : /*html */'  ';\n return $( /*html*/'' + icon + state.text + '');\n }\n },\n mounted: function mounted() {\n CONTROLS['queryby'].usermessage = this;\n _gui2.default.toggleUserMessage(false);\n this.reset();\n },\n\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n _this.types.forEach(function (t) {\n CONTROLS[t].toggle(false);\n CONTROLS[t].autorun = false;\n CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this.types[0]);\n CONTROLS[t].layers.forEach(function (l) {\n return l.setTocHighlightable(false);\n });\n });\n }\n }\n }\n });\n });\n return _this;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(QueryBy, [{\n key: 'addType',\n value: function addType(type) {\n var _this8 = this,\n _unwatches;\n\n // skip when already added\n if (this.types.includes(type)) {\n return;\n }\n\n // keep \"querybypolygon\" at last position\n this.types.splice(this.types.includes('querybypolygon') ? this.types.indexOf('querybypoyling') : this.types.length, 0, type);\n\n /**\n * @TODO remove `InteractionControl` and use a standard `ol.interaction`\n */\n var control = CONTROLS[type] = new _interactioncontrol2.default({\n name: type,\n offline: false,\n visible: false,\n geometryTypes: ['querybypolygon', 'querybydrawpolygon'].includes(type) ? POLYGON_TYPES : [],\n cursorClass: 'querybypolygon' !== type ? 'ol-crosshair' : 'ol-pointer',\n interactionClass: {\n 'querybbox': ol.interaction.DragBox,\n 'querybycircle': ol.interaction.Draw,\n 'querybydrawpolygon': ol.interaction.Draw,\n 'querybypolygon': _pickcoordinatesinteraction2.default\n }[type],\n interactionClassOptions: ['querybydrawpolygon', 'querybycircle'].includes(type) ? { type: 'querybydrawpolygon' === type ? 'Polygon' : 'Circle' } : {},\n layers: _getAvailableLayers(type),\n onSetMap: function onSetMap(_ref3) {\n var _this7 = this;\n\n var setter = _ref3.setter,\n map = _ref3.map;\n\n if ('after' !== setter) {\n return;\n }\n\n if ('querybbox' === type) {\n var startCoord = null;\n this._interaction.on('boxstart', function (e) {\n return startCoord = e.coordinate;\n });\n this._interaction.on('boxend', (0, _throttle.throttle)(function (e) {\n QUERY.bbox = ol.extent.boundingExtent([startCoord, e.coordinate]);\n _this7.dispatchEvent({ type: 'bboxend', extent: QUERY.bbox });\n startCoord = null;\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n this.setEventKey({\n eventType: 'bboxend',\n eventKey: this.on('bboxend', function () {\n return CONTROLS['queryby'].runSpatialQuery('querybbox');\n })\n });\n }\n\n if ('querybycircle' === type) {\n this._interaction.on('drawstart', function (e) {\n var geometry = e.feature.getGeometry();\n geometry.setRadius(QUERY.radius);\n geometry.on('change', function () {\n return QUERY.radius = geometry.getRadius();\n });\n if (QUERY.radius > 0) {\n _this7._interaction.finishDrawing();\n }\n });\n }\n\n if (['querybydrawpolygon', 'querybycircle'].includes(type)) {\n this._interaction.on('drawend', (0, _throttle.throttle)(function (e) {\n //convert circle geometry to polygon\n if ('querybycircle' === type) {\n var radius = e.feature.getGeometry().getRadius();\n //in the case of map unit degrees, convert it to meter\n QUERY.radius = radius * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n }\n QUERY.dfeature = e.feature;\n _this7.dispatchEvent({ type: 'drawend', feature: QUERY.dfeature });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n\n this.setEventKey({\n eventType: 'drawend',\n eventKey: this.on('drawend', function () {\n return CONTROLS['queryby'].runSpatialQuery(type);\n })\n });\n }\n\n if ('querybypolygon' === type) {\n\n this._interaction.on('picked', (0, _throttle.throttle)(function () {\n var _ref4 = _asyncToGenerator(function* (e) {\n QUERY.coordinates = e.coordinate;\n _this7.dispatchEvent({ type: 'picked', coordinates: QUERY.coordinates });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n });\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }()));\n\n // get polygon feature from coordinates\n this.setEventKey({\n eventType: 'picked',\n eventKey: this.on('picked', _asyncToGenerator(function* () {\n\n _gui2.default.closeSideBar();\n\n // ask for coordinates\n try {\n var _ref6 = yield _data2.default.getData('query:coordinates', {\n inputs: {\n feature_count: _application2.default.project.state.feature_count || 5,\n coordinates: QUERY.coordinates\n },\n outputs: {\n // whether to show picked coordinates on map\n show: function show(_ref7) {\n var _ref7$data = _ref7.data,\n data = _ref7$data === undefined ? [] : _ref7$data,\n query = _ref7.query;\n\n var show = data.length === 0;\n // set query coordinates to null in case to avoid `externalvector` added to query response\n query.coordinates = show ? query.coordinates : null;\n return show;\n }\n }\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n if (data.length && data[0].features.length) {\n QUERY.feature = data[0].features[0];\n QUERY.layer = data[0].layer;\n CONTROLS['queryby'].runSpatialQuery('querybypolygon');\n }\n } catch (e) {\n console.warn('Error running spatial query:', e);\n }\n }))\n });\n\n this.setEnable(false);\n }\n },\n\n clickmap: true\n });\n\n _gui2.default.getService('map').addControl(type, type, control, false, false);\n\n control._interaction.on('change:active', function (e) {\n //set current cursor class on map\n _this8.setMouseCursor(e.target.get(e.key), control.cursorClass); // set mouse cursor\n //set same cursor class to parent queryby control\n _this8.cursorClass = control.cursorClass;\n\n if (['querybbox', 'querybydrawpolygon'].includes(type)) {\n _application2.default.highlightlayers = e.target.get(e.key); // highlight layers in legend\n }\n });\n\n // listen for layers visibility change\n this.unwatches = this.unwatches || [];\n this.unwatches.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatches.splice(0);\n (_unwatches = this.unwatches).push.apply(_unwatches, _toConsumableArray(this.types.flatMap(function (t) {\n var control = CONTROLS[t];\n return (control.layers || []).map(function (layer) {\n return _g3wEventbus.VM.$watch(function () {\n return layer.state.visible;\n }, function () {\n // toggle \"eye\" / \"eye-close\" icon\n if (_this8.usermessage) {\n $(_this8.usermessage.$refs.layer).trigger('change');\n }\n // toggle control interaction\n control.setEnable(control.isToggled() && _hasVisible(control));\n control._interaction.setActive(control.getEnable());\n });\n });\n })));\n }\n\n /**\n * @param layer \n */\n\n }, {\n key: 'onSelectLayer',\n value: function onSelectLayer(layer) {\n\n var btn = document.querySelector('.usermessage-content .clear-selected-layer');\n if (btn) {\n btn.classList.toggle('hidden', !layer);\n }\n\n if (this.usermessage) {\n this.usermessage.selectedLayer = layer ? layer.getId() : '__ALL__';\n }\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n var selected = layer && control.layers.find(function (l) {\n return l === layer;\n });\n var queryable = layer && layer.isQueryable() && (control.getGeometryTypes() || []).includes(layer.getGeometryType());\n\n if (['querybbox', 'querybydrawpolygon', 'querybycircle'].includes(t)) {\n control.setEnable(control.isToggled() && (layer ? selected && selected.isVisible() : _hasVisible(control)));\n }\n\n if ('querybypolygon' === t) {\n control.setEnable(control.isToggled() && queryable && _hasVisible(control));\n }\n\n control._interaction.setActive(control.getEnable());\n });\n }\n\n /**\n * @param {{ layer, unWatches }}\n */\n\n }, {\n key: 'onAddExternalLayer',\n value: function onAddExternalLayer(_ref8) {\n var layer = _ref8.layer,\n unWatches = _ref8.unWatches;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n control.layers = _getAvailableLayers(t);\n\n // set layer property\n if ('querybbox' === t) {\n layer.setTocHighlightable(control.isToggled() && control.getEnable());\n }\n\n // watch `layer.selected` and `layer.visible` properties\n unWatches.push(_g3wEventbus.VM.$watch(function () {\n return [layer.selected, layer.visible];\n }, function () {\n control.setEnable(control.isToggled() && (layer.selected ? layer.visible : _hasVisible(control)));\n control._interaction.setActive(control.getEnable());\n }, { immediate: true }));\n });\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'onRemoveExternalLayer',\n value: function onRemoveExternalLayer(layer) {\n var _this9 = this;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n control.layers = _getAvailableLayers(t).filter(function (l) {\n return l.getId() !== layer.getId();\n });\n control.setEnable(control.isToggled() && _hasVisible(CONTROLS[t]));\n control._interaction.setActive(control.getEnable());\n });\n /** @TODO find a better way to update \"layers\" list (select2) within vue component */\n setTimeout(function () {\n if (_this9.usermessage) {\n _this9.usermessage.reset();\n }\n });\n }\n }, {\n key: 'runSpatialQuery',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (type) {\n try {\n\n var control = CONTROLS[type];\n\n _gui2.default.closeSideBar();\n\n if (\n // skip if bbox is not set\n 'querybbox' === type && null === QUERY.bbox ||\n // skip when .. ?\n 'querybypolygon' === type && [QUERY.coordinates, QUERY.feature, QUERY.layer].includes(null)) {\n return;\n }\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var project = _application2.default.project;\n\n if ('querybbox' === type) {\n yield _data2.default.getData('query:bbox', {\n inputs: {\n bbox: QUERY.bbox,\n feature_count: project.state.feature_count || 5,\n addExternal: !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n // Catalog layers (TOC) properties that need to be satisfied\n layersFilterObject: {\n SELECTED_OR_ALL: true, // selected or all\n FILTERABLE: true, // see: src/app/core/layers/layer.js#L925\n VISIBLE: true // need to be visible\n },\n condition: { filtrable: { ows: 'WFS' } },\n multilayers: [].concat(project.state.querymultilayers).includes(control.name),\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n }\n });\n }\n\n if (['querybypolygon', 'querybydrawpolygon', 'querybycircle'].includes(type)) {\n yield _data2.default.getData('query:polygon', {\n inputs: {\n layerName: 'querybypolygon' === type ? QUERY.layer.getName ? QUERY.layer.getName() : QUERY.layer.get('name') : '',\n excludeSelected: 'querybypolygon' === type || !selected,\n feature: function () {\n switch (type) {\n case 'querybypolygon':\n return QUERY.feature;\n case 'querybydrawpolygon':\n return QUERY.dfeature;\n case 'querybycircle':\n var feat = QUERY.dfeature.clone();\n feat.setGeometry(ol.geom.Polygon.fromCircle(QUERY.dfeature.getGeometry(), 64));\n return feat;\n }\n }(),\n external: {\n add: 'querybypolygon' === type || !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n filter: {\n SELECTED: ['querybydrawpolygon', 'querybycircle'].includes(type) && (!selected || externalLayers.some(function (l) {\n return l === selected;\n }))\n }\n },\n type: (type || '').replace('queryby', '') || undefined,\n multilayers: [].concat(project.state.querymultilayers).includes('querybypolygon'), //hardcoded using querymultilayers server config\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n },\n outputs: {\n show: function show(_ref10) {\n var _ref10$error = _ref10.error,\n error = _ref10$error === undefined ? false : _ref10$error;\n return !error;\n }\n }\n });\n }\n\n control.autorun = true;\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n function runSpatialQuery(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return runSpatialQuery;\n }()\n }]);\n\n return QueryBy;\n}(_interactioncontrol2.default);\n\n/**\n * @returns {boolean} whether control has a visible layer \n */\n\n\nfunction _hasVisible(control) {\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n\n // whether one layer is visible (and not selected)\n if ('querybypolygon' === control.name) {\n return !!(\n // check if the current selected layer is visible\n selected && selected.isVisible() && (\n // check if at least one layer is visible (project or external layer)\n control.layers.some(function (l) {\n return l !== selected && l.isVisible() && l.isFilterable({ ows: 'WFS' });\n }) || _gui2.default.getService('map').getLegacyExternalLayers().find(function (l) {\n return l !== selected && true === l.visible;\n })));\n }\n\n // whether one layer is visible\n return !!((control.layers || []).some(function (l) {\n return l.isVisible();\n }) || _gui2.default.getService('map').getLegacyExternalLayers().some(function (l) {\n return l.visible;\n }));\n}\n\n/**\n * @TODO get rid of `s.getLayers` call\n */\nfunction _getAvailableLayers(type) {\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n var queryable = MapLayersStoresRegistry.getQuerableLayersStores();\n return [].concat(_toConsumableArray(new Set([].concat(_toConsumableArray(queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, FILTERABLE: true, SELECTED_OR_ALL: true }, { filtrable: { ows: 'WFS' } });\n }).filter(function (l) {\n return 'wfs' === l.getProvider('filter').getName();\n })), _toConsumableArray((_gui2.default.getService('map').getLegacyExternalLayers() || []).filter(function (l) {\n return 'querybypolygon' === type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n })), _toConsumableArray('querybypolygon' === type ? queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, QUERYABLE: true, SELECTED_OR_ALL: true }, {});\n }) : [])))));\n}\n\n},{\"g3w-constants\":127,\"g3w-eventbus\":128,\"g3w-i18n\":130,\"map/controls/interactioncontrol\":145,\"map/interactions/pickcoordinatesinteraction\":151,\"services/data\":174,\"services/gui\":175,\"services/map\":177,\"store/application\":180,\"utils/getCatalogLayerById\":205,\"utils/throttle\":243}],148:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScaleControl = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/scalecontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar ScaleControl = exports.ScaleControl = function (_ol$control$Control) {\n _inherits(ScaleControl, _ol$control$Control);\n\n function ScaleControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScaleControl);\n\n opts.target = 'scale-control';\n opts.offline = true;\n\n var _this = _possibleConstructorReturn(this, (ScaleControl.__proto__ || Object.getPrototypeOf(ScaleControl)).call(this, opts));\n\n _this.isMobile = opts.isMobile || false;\n return _this;\n }\n\n _createClass(ScaleControl, [{\n key: 'layout',\n value: function layout(map) {\n var self = this;\n var isMapResolutionChanged = false;\n var selectedOnClick = false;\n var select2 = $(this.element).children('select').select2({\n tags: true,\n dropdownParent: $(map.getTargetElement()),\n width: '120px',\n height: '20px',\n language: { noResults: function noResults() {\n return t(\"sdk.mapcontrols.scale.no_valid_scale\");\n } },\n minimumResultsForSearch: this.isMobile ? -1 : 0,\n createTag: function createTag() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var newTag = null;\n var scale = void 0;\n // Don't offset to create a tag if there is no @ symbol\n if (params.term.includes('1:')) {\n // Return null to disable tag creation\n scale = params.term.split('1:')[1];\n } else if (Number.isInteger(Number(params.term)) && Number(params.term) > 0) {\n scale = Number(params.term);\n if (scale <= self.scales[0]) {\n newTag = {\n id: scale,\n text: '1:' + params.term,\n new: true\n };\n deleteLastCustomScale();\n }\n }\n return newTag;\n }\n });\n //get change mapsize to close\n map.on('change:size', function () {\n return select2.select2('close');\n });\n\n function deleteLastCustomScale() {\n select2.find('option').each(function (index, option) {\n return !self.scales.includes(1 * option.value) && $(option).remove();\n });\n }\n\n function addCustomTag(data) {\n if (select2.find(\"option[value='\" + data.id + \"']\").length) {\n select2.val(data.id).trigger('change');\n } else {\n deleteLastCustomScale();\n select2.append(new Option(data.text, data.id, true, true)).trigger('change');\n }\n }\n\n map.on('moveend', function () {\n if (isMapResolutionChanged) {\n var scale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(this.getView().getResolution(), this.getView().getProjection().getUnits()));\n addCustomTag({\n id: scale,\n text: '1:' + scale,\n new: true\n });\n isMapResolutionChanged = false;\n } else {\n selectedOnClick = false;\n }\n });\n\n var setChangeResolutionHandler = function setChangeResolutionHandler() {\n map.getView().on('change:resolution', function () {\n return isMapResolutionChanged = !selectedOnClick;\n });\n };\n\n setChangeResolutionHandler();\n\n map.on('change:view', function () {\n return setChangeResolutionHandler();\n });\n\n select2.on('select2:select', function (e) {\n selectedOnClick = true;\n var data = e.params.data;\n if (data.new) {\n deleteLastCustomScale();\n addCustomTag(data);\n }\n map.getView().setResolution((0, _getResolutionFromScale.getResolutionFromScale)(1 * data.id, map.getView().getProjection().getUnits()));\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n return;\n }\n\n // set scales\n var currentScale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(map.getView().getResolution(), map.getView().getProjection().getUnits()));\n this.scales = _g3wConstants.PRINT_SCALES.map(function (s) {\n return s.value;\n }).filter(function (s) {\n return s < currentScale;\n });\n this.scales.unshift(currentScale);\n\n // create control\n var div = document.createElement('div');\n var select = document.createElement('select');\n var optgroup = Object.assign(document.createElement('optgroup'), { label: '' });\n\n this.scales.forEach(function (scale, index) {\n optgroup.appendChild(Object.assign(document.createElement('option'), {\n value: scale,\n text: '1:' + scale,\n selected: 0 === index\n }));\n });\n\n select.appendChild(optgroup);\n\n if (!this.isMobile) {\n var _optgroup = document.createElement('optgroup');\n _optgroup.label = 'Custom';\n select.appendChild(_optgroup);\n }\n\n div.appendChild(select);\n\n // set element of control (it is necessary to visualize it)\n this.element = div;\n $(this.element).css('height', '20px');\n\n this.layout(map);\n _get(ScaleControl.prototype.__proto__ || Object.getPrototypeOf(ScaleControl.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return ScaleControl;\n}(ol.control.Control);\n\n},{\"g3w-constants\":127,\"g3w-i18n\":130,\"utils/getResolutionFromScale\":217,\"utils/getScaleFromResolution\":218}],149:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScreenshotControl = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/screenshotcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @FIXME prevent tainted canvas error\n * \n * Because the pixels in a canvas's bitmap can come from a variety of sources,\n * including images or videos retrieved from other hosts, it's inevitable that\n * security problems may arise. As soon as you draw into a canvas any data that\n * was loaded from another origin without CORS approval, the canvas becomes\n * tainted.\n * \n * A tainted canvas is one which is no longer considered secure, and any attempts\n * to retrieve image data back from the canvas will cause an exception to be thrown.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\nvar ScreenshotControl = exports.ScreenshotControl = function (_InteractionControl) {\n _inherits(ScreenshotControl, _InteractionControl);\n\n function ScreenshotControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScreenshotControl);\n\n opts.layers = undefined === opts.layers ? [] : opts.layers;\n\n var _this = _possibleConstructorReturn(this, (ScreenshotControl.__proto__ || Object.getPrototypeOf(ScreenshotControl)).call(this, _extends({\n name: \"maptoimage\",\n tipLabel: \"Screenshot\",\n label: '\\uE90F',\n clickmap: true,\n enabled: true,\n layers: []\n }, opts)));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n _this.layers = opts.layers;\n\n //set visibility based on layers\n _this.setVisible(_this.checkVisible(_this.layers));\n\n //only if is visible (no CORS issue) need to listen to add/remove layer\n if (_this.isVisible()) {\n //listen to add/remove External Layer event to check visibility of the control\n _gui2.default.getService('map').onafter('loadExternalLayer', _this._addLayer.bind(_this));\n _gui2.default.getService('map').onafter('unloadExternalLayer', _this._removeLayer.bind(_this));\n }\n return _this;\n }\n\n /**\n * @param { 'screenshot' | 'geoscreenshot' } type\n *\n * @since 3.11.0\n */\n\n\n _createClass(ScreenshotControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this2 = this;\n\n this.types.push(type);\n\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.screenshot.title',\n __iconClass: 'camera',\n data: function data() {\n return { types: _this2.types, type: _this2.types[0] };\n },\n template: /* html */'\\n
\\n \\n \\n
',\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* (e) {\n var map = _gui2.default.getService('map');\n // Start download\n _application2.default.download = true;\n e.target.disabled = true;\n try {\n var blobImage = yield map.createMapImage();\n\n if ('screenshot' === this.type) {\n // PNG\n window.saveAs(blobImage, 'map_' + Date.now() + '.png');\n } else {\n // GeoTIFF\n var body = new FormData();\n body.append('image', blobImage);\n body.append('csrfmiddlewaretoken', map.getCookie('csrftoken'));\n body.append('bbox', map.getMapBBOX().toString());\n window.saveAs((yield (yield fetch('/' + map.project.getType() + '/api/asgeotiff/' + map.project.getId() + '/', { method: 'POST', body: body })).blob()), 'map_' + Date.now() + '.tif');\n }\n } catch (e) {\n _gui2.default.showUserMessage({\n type: 'SecurityError' === err.name ? 'warning' : 'alert',\n message: 'SecurityError' === err.name ? 'mapcontrols.screenshot.securityError' : 'mapcontrols.screenshot.error',\n autoclose: false\n });\n console.warn(e);\n }\n // End download\n _application2.default.download = false;\n e.target.disabled = false;\n return true;\n });\n\n function download(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n\n /**\n * Called when a new layer is added to Project (eg. wms or vector layer)\n * \n * @since 3.8.3\n *\n */\n\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n var _this3 = this;\n\n this.layers.push(layer);\n this.change(this.layers);\n layer.on('change:visible', function () {\n return _this3.change(_this3.layers);\n });\n }\n\n /**\n * Called when a layer is removed from Project\n * \n * @since 3.8.3 \n */\n\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return l !== layer;\n });\n this.change(this.layers);\n }\n\n /**\n * Called when a layer is added or removed\n * \n * @param layers\n */\n\n }, {\n key: 'change',\n value: function change() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setVisible(this.checkVisible(layers));\n }\n\n /**\n * Check visibility for map control based on layers URLs.\n * \n * Allow printing external WMS layers only when they have\n * the same origin URL of the current application in order to avoid\n * CORS issue while getting map image.\n * \n * Layers that don't have a source URL are excluded (eg. base layers)\n * \n * @param {array} layers\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'checkVisible',\n value: function checkVisible() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // Need to be visible.\n // If it was not visible, the CORS issue was raised.\n // Need to reload and remove layer\n return this.isVisible() && !layers.some(isCrossOrigin);\n }\n }]);\n\n return ScreenshotControl;\n}(_interactioncontrol2.default);\n\n/**\n * Check if a layer has a Cross Origin source URI\n * \n * @param layer\n * \n * @returns {boolean} `true` whether the given layer could cause CORS issues (eg. while printing raster layers). \n */\n\n\nfunction isCrossOrigin(layer) {\n var source_url = void 0;\n\n // vector or hidden layers can't cause CORS issues\n if (layer.getVisible && !layer.getVisible() || layer instanceof ol.layer.Vector) {\n return false;\n }\n\n // image layer (OpenLayers)\n if (layer instanceof ol.layer.Tile || layer instanceof ol.layer.Image) {\n source_url = layer.getSource().getUrl();\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n // external image layer (eg: \"core/layers/imagelayer.js\")\n if ((layer.getConfig().source || {}).external) {\n source_url = layer.getConfig().source.url;\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n return false;\n}\n\n},{\"map/controls/interactioncontrol\":145,\"services/gui\":175,\"store/application\":180,\"utils/sameOrigin\":239}],150:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StreetViewControl = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/streetviewcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar GoogleStreetViewApiUrl = 'https://maps.googleapis.com/maps/api/';\n\nvar StreetViewControl = function (_InteractionControl) {\n _inherits(StreetViewControl, _InteractionControl);\n\n function StreetViewControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, StreetViewControl);\n\n /**\n * Check Google Key\n */\n var _this = _possibleConstructorReturn(this, (StreetViewControl.__proto__ || Object.getPrototypeOf(StreetViewControl)).call(this, _extends({}, opts, {\n offline: false,\n visible: true, // always visible. Only change behavior if exist or not\n name: \"streetview\",\n tipLabel: \"StreetView\",\n clickmap: true,\n label: '\\uE905',\n interactionClass: _pickcoordinatesinteraction2.default,\n interactionClassOptions: { cursor: 'ol-streetview' },\n cursorClass: 'ol-streetview'\n })));\n\n _this.key = _application2.default.keys.vendorkeys.google;\n\n if (_this.key) {\n _XHR.XHR.get({\n url: GoogleStreetViewApiUrl + 'streetview',\n params: {\n location: 0,\n size: '456x456',\n key: _this.key\n }\n }).catch(function (e) {\n console.warn(e);_this.keyError = e.responseText;\n });\n }\n\n // get script\n $script(GoogleStreetViewApiUrl + 'js?' + (_this.key ? 'key=' + _this.key : ''));\n\n /***/\n\n _this._sv = null;\n _this._panorama = null;\n _this._map = null;\n _this._projection = null;\n _this._lastposition = null;\n _this._streetViewFeature = new ol.Feature();\n _this.active = false;\n\n _this._layer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [] }),\n style: function style(feature) {\n var coordinates = feature.getGeometry().getCoordinates();\n this._lastposition = this._lastposition ? this._lastposition : coordinates;\n var dx = coordinates[0] - this._lastposition[0];\n var dy = coordinates[1] - this._lastposition[1];\n var rotation = -Math.atan2(dy, dx);\n var styles = [new ol.style.Style({\n text: new ol.style.Text({\n text: '\\uE905',\n font: 'bold 18px icomoon',\n fill: new ol.style.Fill({\n color: '#ffffff'\n })\n })\n }), new ol.style.Style({\n image: new ol.style.Icon({\n src: '/static/client/images/streetviewarrow.png',\n rotation: rotation\n })\n })];\n this._lastposition = coordinates;\n return styles;\n }\n });\n\n //@since 3.11.0.\n // In the case of key provided and open content with streetview images,\n // on close content need to remove point (icon street view on a map)\n if (_this.key) {\n _gui2.default.on('closecontent', function () {\n if (_this.isToggled()) {\n _this._layer.getSource().clear();\n }\n });\n }\n\n return _this;\n }\n\n _createClass(StreetViewControl, [{\n key: 'setProjection',\n value: function setProjection(projection) {\n this._projection = projection;\n }\n }, {\n key: 'setPosition',\n value: function setPosition(position) {\n var _this2 = this;\n\n var pixel = void 0;\n var self = this;\n this.active = true;\n if (!this._sv) {\n this._sv = new google.maps.StreetViewService();\n }\n this._sv.getPanorama({ location: position }, function (data) {\n self._panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview'), { imageDateControl: true });\n /**\n * Listen on position change\n */\n self._panorama.addListener('position_changed', function () {\n if (self.isToggled()) {\n var lnglat = ol.proj.transform([this.getPosition().lng(), this.getPosition().lat()], 'EPSG:4326', self._projection.getCode());\n self._streetViewFeature.setGeometry(new ol.geom.Point(lnglat));\n pixel = self._map.getPixelFromCoordinate(lnglat);\n if (pixel[0] + 15 > self._map.getSize()[0] || pixel[1] + 15 > self._map.getSize()[1] || pixel[0] < 15 || pixel[1] < 15) {\n self._map.getView().setCenter(lnglat);\n }\n }\n });\n if (data && data.location) {\n self._panorama.setPov({\n pitch: 0,\n heading: 0\n });\n\n self._panorama.setPosition(data.location.latLng);\n }\n }).then(function (response) {\n if (undefined === response) {\n _gui2.default.closeContent();\n }\n }).catch(function (e) {\n console.warn(e);_this2.toggle();\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n var _this3 = this;\n\n this._map = map;\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'setMap', this).call(this, map);\n\n this.setProjection(this._map.getView().getProjection());\n this._map.addLayer(this._layer);\n\n this._interaction.on('picked', function (_ref) {\n var coordinate = _ref.coordinate;\n\n _this3.showStreetView(coordinate);\n if (_this3._autountoggle) {\n _this3.toggle();\n }\n });\n }\n\n /**\n * Method to show StreetView depending on a key and keyError\n * @param coordinate\n */\n\n }, {\n key: 'showStreetView',\n value: function showStreetView(coordinate) {\n var _ol$proj$transform = ol.proj.transform(coordinate, this._map.getView().getProjection().getCode(), 'EPSG:4326'),\n _ol$proj$transform2 = _slicedToArray(_ol$proj$transform, 2),\n lng = _ol$proj$transform2[0],\n lat = _ol$proj$transform2[1];\n\n if (this.key) {\n _gui2.default.setContent({\n title: 'StreetView',\n content: '
' + (this.keyError ? '' + this.keyError + '
' : '') + '
'\n });\n if (!this.keyError) {\n this.setPosition({ lng: lng, lat: lat });\n }\n } else {\n this._streetViewFeature.setGeometry(new ol.geom.Point(coordinate));\n window.open('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + lat + ',' + lng);\n }\n }\n }, {\n key: 'clearMarker',\n value: function clearMarker() {\n this._streetViewFeature.setGeometry(null);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._streetViewFeature.setGeometry(null);\n this.clearMarker();\n this._panorama = null;\n if (this.active) {\n _gui2.default.closeContent();\n }\n this.active = false;\n }\n }, {\n key: 'toggle',\n value: function toggle(_toggle) {\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'toggle', this).call(this, _toggle);\n if (this.isToggled()) {\n this._layer.getSource().addFeatures([this._streetViewFeature]);\n } else {\n this.clear();\n }\n }\n }]);\n\n return StreetViewControl;\n}(_interactioncontrol2.default);\n\nexports.StreetViewControl = StreetViewControl;\n\n},{\"map/controls/interactioncontrol\":145,\"map/interactions/pickcoordinatesinteraction\":151,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183}],151:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickcoordinatesinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickCoordinatesInteraction = function (_ol$interaction$Point) {\n _inherits(PickCoordinatesInteraction, _ol$interaction$Point);\n\n function PickCoordinatesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickCoordinatesInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickCoordinatesInteraction.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n var _this2 = this;\n\n this._centerMap = e.map.getView().getCenter();\n // set timeout to avoid blocking pan\n setTimeout(function () {\n if (_this2._centerMap === e.map.getView().getCenter()) {\n _this2.handleUpEvent(e);\n }\n }, 300);\n // return false to avoid start of drag event\n return false;\n },\n handleUpEvent: function handleUpEvent(e) {\n this.dispatchEvent({\n type: 'picked',\n coordinate: e.coordinate\n });\n // it used to stop drag event\n return false;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getViewport().classList.add(this._cursor);\n return true;\n }\n }, opts)));\n\n _this._cursor = opts.cursor || 'ol-pointer';\n // this.previousCursor_ = null;\n _this._centerMap = null;\n return _this;\n }\n\n _createClass(PickCoordinatesInteraction, [{\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setActive',\n value: function setActive(bool) {\n var map = this.getMap();\n if (map) {\n map.getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setActive', this).call(this, bool);\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickCoordinatesInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickCoordinatesInteraction;\n\n},{}],152:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickfeatureinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickFeatureInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeatureInteraction, _ol$interaction$Point);\n\n function PickFeatureInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickFeatureInteraction.__proto__ || Object.getPrototypeOf(PickFeatureInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n this.pickedFeature_ = this.featuresAtPixel_(e.pixel, e.map);\n return this.pickedFeature_;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (this.pickedFeature_) {\n this.dispatchEvent({\n type: 'picked',\n feature: this.pickedFeature_,\n coordinate: e.coordinate,\n layer: this.pickedLayer_\n });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = this.featuresAtPixel_(e.pixel, e.map) ? 'pointer' : '';\n }\n }, opts)));\n\n var features = opts.features;\n\n _this.features_ = Array.isArray(features) && features.length > 0 ? features : null;\n _this.layers_ = opts.layers || null;\n _this.pickedFeature_ = null;\n _this.pickedLayer_ = null;\n return _this;\n }\n\n _createClass(PickFeatureInteraction, [{\n key: 'layerFilter_',\n value: function layerFilter_(layer) {\n var include = (this.layers_ || []).includes(layer);\n this.pickedLayer_ = include && layer;\n return include;\n }\n }, {\n key: 'featuresAtPixel_',\n value: function featuresAtPixel_(pixel, map) {\n var _this2 = this;\n\n var featureFound = null;\n var intersectingFeature = map.forEachFeatureAtPixel(pixel, function (feature) {\n if (_this2.features_) {\n if (_this2.features_.includes(feature)) {\n return feature;\n } else {\n return null;\n }\n }\n return feature;\n }, {\n layerFilter: this.layerFilter_.bind(this),\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n if (intersectingFeature) {\n featureFound = intersectingFeature;\n }\n return featureFound;\n }\n }, {\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getTargetElement().style.cursor = '';\n }\n _get(PickFeatureInteraction.prototype.__proto__ || Object.getPrototypeOf(PickFeatureInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickFeatureInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickFeatureInteraction;\n;\n\n},{}],153:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Feature = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wConstants2 = _interopRequireDefault(_g3wConstants);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/feature.js@v3.10.2\n * @since 3.11.0\n */\n\nvar Feature = exports.Feature = function (_ol$Feature) {\n _inherits(Feature, _ol$Feature);\n\n function Feature() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Feature);\n\n var _this = _possibleConstructorReturn(this, (Feature.__proto__ || Object.getPrototypeOf(Feature)).call(this));\n\n _this.state = {\n new: false,\n state: null,\n visible: true\n };\n\n //store unique id for the feature\n _this._uid = (0, _getUniqueDomId.getUniqueDomId)();\n\n //{ Boolean }: true if feature has geometry\n _this._geometry = false;\n\n // check if it has to set only some properties or all feature properties\n if (opts.feature && opts.properties && Array.isArray(opts.properties)) {\n opts.properties.forEach(function (p) {\n return _this.set(p, opts.feature.get(p));\n });\n } else if (opts.feature) {\n _this.setProperties(opts.feature.getProperties());\n }\n\n if (opts.feature) {\n _this.setId(opts.feature.getId());\n _this.setGeometryName(opts.feature.getGeometryName());\n }\n\n var geometry = opts.feature && opts.feature.getGeometry();\n\n //check if feature has geometry\n if (geometry) {\n _this._geometry = true;\n _this.setGeometry(geometry);\n }\n\n //check if it has style associated\n var style = _this.getStyle();\n if (style) {\n _this.setStyle(style);\n }\n return _this;\n }\n\n /**\n * Return unique id\n * @returns {*}\n */\n\n\n _createClass(Feature, [{\n key: 'getUid',\n value: function getUid() {\n return this._uid;\n }\n\n /**\n *\n * @return {boolean}\n */\n\n }, {\n key: 'isGeometry',\n value: function isGeometry() {\n return this._geometry;\n }\n\n /**\n * Clone a feature with id and pk new\n * @param pk field send pk field\n * @returns {Feature}\n */\n\n }, {\n key: 'cloneNew',\n value: function cloneNew(pk) {\n var clone = this.clone();\n //set new unique id\n clone._uid = (0, _getUniqueDomId.getUniqueDomId)();\n clone.setTemporaryId();\n //in the case of send pk field object set temporary new value\n //to avoid duplicate pk when save clone feature on server\n if (pk && false === pk.editable) {\n //need to be set null\n clone.set(pk.name, null);\n }\n return clone;\n }\n\n /**\n * clone existing feature\n * @returns {Feature}\n */\n\n }, {\n key: 'clone',\n value: function clone() {\n var feature = _get(Feature.prototype.__proto__ || Object.getPrototypeOf(Feature.prototype), 'clone', this).call(this);\n feature.setId(this.getId());\n //if it has geometry, need to clone geometry\n if (this.isGeometry()) {\n feature.setGeometry(feature.getGeometry().clone());\n }\n var clone = new Feature({ feature: feature });\n clone._uid = this.getUid();\n clone.setState(this.getState());\n if (this.isNew()) {\n clone.setNew();\n }\n return clone;\n }\n }, {\n key: 'setTemporaryId',\n value: function setTemporaryId() {\n this.setId('_new_' + (0, _getUniqueDomId.getUniqueDomId)());\n this.setNew();\n }\n }, {\n key: 'setNew',\n value: function setNew() {\n this.state.new = true;\n }\n }, {\n key: 'delete',\n value: function _delete() {\n this.state.state = 'delete';\n return this;\n }\n }, {\n key: 'update',\n value: function update() {\n this.state.state = 'update';\n return this;\n }\n }, {\n key: 'add',\n value: function add() {\n this.state.state = 'add';\n return this;\n }\n }, {\n key: 'isNew',\n value: function isNew() {\n return this.state.new;\n }\n }, {\n key: 'isAdded',\n value: function isAdded() {\n return 'add' === this.state.state;\n }\n }, {\n key: 'isUpdated',\n value: function isUpdated() {\n return 'update' === this.state.state;\n }\n }, {\n key: 'isDeleted',\n value: function isDeleted() {\n return 'delete' === this.state.state;\n }\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state.state = state;\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state.state;\n }\n\n /**\n * Get only alphanumerical properties. No geometry property is returned\n * @return {{ Object }}\n */\n\n }, {\n key: 'getAlphanumericProperties',\n value: function getAlphanumericProperties() {\n return Object.entries(this.getProperties()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n _ = _ref2[1];\n\n return !_g3wConstants2.default.GEOMETRY_FIELDS.includes(name);\n }).reduce(function (attrs, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n n = _ref4[0],\n v = _ref4[1];\n\n attrs[n] = v;return attrs;\n }, {});\n }\n\n /**\n * clean state of the features\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.state = null;\n this.state.new = false;\n }\n\n /**\n * need to filter features visiblity on table\n * @returns {boolean}\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility of feature\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.visible = bool;\n }\n }]);\n\n return Feature;\n}(ol.Feature);\n\n},{\"g3w-constants\":127,\"utils/getUniqueDomId\":219}],154:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FeaturesStore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/featurestore.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\nvar FeaturesStore = exports.FeaturesStore = function (_G3WObject) {\n _inherits(FeaturesStore, _G3WObject);\n\n function FeaturesStore() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FeaturesStore);\n\n var _this = _possibleConstructorReturn(this, (FeaturesStore.__proto__ || Object.getPrototypeOf(FeaturesStore)).call(this));\n\n _this._features = opts.features || [];\n _this._provider = opts.provider || null;\n _this._loadedIds = []; // store features id load by current user\n _this._lockIds = []; // store locked features\n\n //setters\n _this.setters = {\n /**\n * Add an array of features\n * @param { Array } features\n */\n addFeatures: function addFeatures() {\n var _this2 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this2._addFeature(f);\n });\n },\n\n /**\n * Add single feature\n * @param feature\n */\n addFeature: function addFeature(feature) {\n this._addFeature(feature);\n },\n\n /**\n * Remove a feature\n * @param feature\n */\n removeFeature: function removeFeature(feature) {\n this._removeFeature(feature);\n },\n\n /**\n * Update (substitute) a feature\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._updateFeature(feature);\n },\n\n /**\n * Remove all feature\n */\n clear: function clear() {\n this._clearFeatures();\n },\n\n /**\n * Get features from server\n * @param opts\n * @return { Promise }\n */\n getFeatures: function getFeatures() {\n var _this3 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (_this3._provider) {\n //call provider getFeatures to get features from server\n //get the feature base on response from server features, featurelockis etc ...\n var features = _this3._filterFeaturesResponse((yield _this3._provider.getFeatures(opts)));\n _this3.addFeatures(features);\n return features;\n }\n return _this3._features; // Get features stored. No call to server is done\n }));\n },\n\n /**\n * Commit changes (add, update, delete) to server\n * @param commitItems\n * @param featurestore Its is used????\n * @return {*}\n */\n commit: function commit(commitItems, featurestore) {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (commitItems && _this4._provider) {\n commitItems.lockids = _this4._lockIds;\n return yield _XHR.XHR.post({\n url: _this4._provider._layer.getUrl('commit'),\n data: JSON.stringify(commitItems),\n contentType: 'application/json'\n });\n }\n return Promise.reject();\n }));\n },\n\n /**\n * setter to know when some features are locked\n */\n featuresLockedByOtherUser: function featuresLockedByOtherUser() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n }\n };\n\n return _this;\n }\n\n _createClass(FeaturesStore, [{\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'setProvider',\n value: function setProvider(provider) {\n this._provider = provider;\n }\n }, {\n key: 'getProvider',\n value: function getProvider() {\n return this._provider;\n }\n\n /**\n * Unlock features. Other users can edit these features\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.post({ url: _this5._provider._layer.getUrl('unlock') });\n }));\n }\n\n /**\n * Filter features to add\n * @param options\n * @private\n * @return Array of features to add\n */\n\n }, {\n key: '_filterFeaturesResponse',\n value: function _filterFeaturesResponse() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /**\n * features uis array of feature returned from server and feature that are currently locked.\n * featurelocks is array of the feature that can be locker by current client request (not locked by another user)\n * featurelocks array item\n * {\n * featureid: Is current id of feature locked\n * lockid: Is a server unique lock id number\n * }\n * ex.\n * {featureid: \"1\", lockid: \"6bbab1c1c03332fb39b8ffae35e557ba\"}\n *\n * If featurelocks are less than features, it means that another user is editing these features\n *\n *\n * @type {*[]}\n */\n var _options$features = options.features,\n features = _options$features === undefined ? [] : _options$features,\n _options$featurelocks = options.featurelocks,\n featurelocks = _options$featurelocks === undefined ? [] : _options$featurelocks;\n\n //if no features locks mean another user locks all feature requests\n\n if (0 === featurelocks.length) {\n //if there are features on response\n if (features.length > 0) {\n //It means that another user locks these features\n this.featuresLockedByOtherUser(features);\n }\n return [];\n }\n\n //get already loaded feature id locked by current user\n var fids = this._lockIds.map(function (_ref4) {\n var featureid = _ref4.featureid;\n return featureid;\n });\n featurelocks.filter(function (_ref5) {\n var featureid = _ref5.featureid;\n return !fids.includes(featureid);\n }) //exclude features already locked by current user\n .forEach(function (fl) {\n return _this6._lockIds.push(fl);\n }); //update lockIds based on a featurelocks array from response\n\n //store features locked by another user\n var lockFeatures = [];\n\n //Store features to add to layers source\n var featuresToAdd = features.filter(function (f) {\n //get feature id\n var featureId = f.getId();\n //check if feature id is locked features\n //it means that is not locked by another user.\n if (featurelocks.find(function (_ref6) {\n var featureid = _ref6.featureid;\n return featureId == featureid;\n })) {\n //check if feature is not yet added for the current user\n if (_this6._loadedIds.indexOf(featureId) === -1) {\n _this6._loadedIds.push(featureId);\n return true;\n } else {\n return false; //feature locked by the current user\n }\n } else {\n lockFeatures.push(f);\n return false; //feature locked by another user\n }\n });\n\n //if features locks are less than features get from server,\n // it means that another user locks some features\n if (featurelocks.length < features.length) {\n this.featuresLockedByOtherUser(lockFeatures);\n }\n\n return featuresToAdd;\n }\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._lockIds;\n }\n\n /**\n * Add new lockid\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n var _this7 = this;\n\n this._lockIds = _.union(this._lockIds, lockIds);\n this._lockIds.forEach(function (_ref7) {\n var featureid = _ref7.featureid;\n return _this7._loadedIds.push(featureid);\n });\n }\n\n /**\n * Get feature\n * @param id\n * @return { Feature }\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.find(function (f) {\n return uid === f.getUid();\n });\n }\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n }\n\n /**\n * Substitute (update) feature after update\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var _this8 = this;\n\n this._features.find(function (feat, idx) {\n if (feature.getUid() === feat.getUid()) {\n _this8._features[idx] = feature;\n return true;\n }\n });\n }\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._features = features;\n }\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n this._features = this._features.filter(function (f) {\n return feature.getUid() !== f.getUid();\n });\n }\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n this._features = null;\n this._features = [];\n this._lockIds = [];\n this._loadedIds = [];\n }\n }, {\n key: 'getDataProvider',\n value: function getDataProvider() {\n return this._provider;\n }\n\n // only read downloaded features\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._features;\n }\n }]);\n\n return FeaturesStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":131,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":183,\"utils/promisify\":234}],155:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/mixins/geo.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @TODO convert it to ES6 class (or external utils)\n *\n * @file\n * @since 3.9.0\n */\n\n/**\n * ES6 mixin\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends#mix-ins\n * \n * @example class ImageLayer extends GeoLayerMixin(Layer) {}\n */\nexports.default = function (BaseClass) {\n return function (_BaseClass) {\n _inherits(_class, _BaseClass);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setup',\n value: function setup() {\n var _this2 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n console.log(\"GeoLayerMixin must be used from a valid (geo) Layer instance\");\n return;\n }\n\n Object.assign(this.config, {\n map_crs: options.project.getProjection().getCode(),\n multilayerid: config.multilayer,\n projection: config.projection ? config.projection.getCode() === config.crs.epsg ? config.projection : _projections2.default.get(config.crs) : undefined,\n attributions: config.attributions ? config.attributions : undefined\n });\n\n this.legendCategories = {};\n\n // Features that contain\n this.olSelectionFeatures = {}; // key id / fid of feature and values is an object with feature and added\n\n // state extend of layer setting geolayer property to true\n // and adding information of bbox\n Object.assign(this.state, {\n geolayer: \"NoGeometry\" !== config.geometrytype,\n legend: {\n url: null,\n loading: false,\n error: false,\n /** @deprecated since 3.8. Will be removed in 4.x. Use `expanded` attribute instead */\n show: true,\n /** used when categories changed (checkbox on TOC) and legend is on TAB */\n change: false\n },\n external: config.source && config.source.external || false,\n bbox: config.bbox || null,\n visible: config.visible || false,\n checked: config.visible || false,\n epsg: config.crs.epsg,\n hidden: config.hidden || false,\n scalebasedvisibility: config.scalebasedvisibility || false,\n minscale: config.minscale,\n maxscale: config.maxscale,\n ows_method: config.ows_method,\n\n /**\n * @type {boolean}\n */\n exclude_from_legend: 'boolean' === typeof config.exclude_from_legend ? config.exclude_from_legend : true,\n\n /**\n * Has more than one category's legend\n * \n * @type {boolean}\n */\n categories: false,\n\n /**\n * Toggle legend item state (expandend or collapsed) in catalog layers (TOC)\n * \n * @type {number}\n *\n * @since v3.8\n */\n expanded: config.expanded,\n\n /**\n * Layer opacity\n * \n * @type {number} opacity range = [0, 100]\n * \n * @since v3.8\n */\n opacity: config.opacity || 100\n });\n\n // sanitize source url\n if (config.source && config.source.url) {\n var checkUrl = new URL(this.config.source.url);\n // reserved WMS params\n ['VERSION', 'REQUEST', 'BBOX', 'LAYERS', 'WIDTH', 'HEIGHT', 'DPI', 'FORMAT', 'CRS'].forEach(function (p) {\n var params = [p.toUpperCase(), p.toLowerCase()];\n for (var i = 0; i < 2; i++) {\n var param = params[i];\n var value = checkUrl.searchParams.get(param);\n if (value) {\n _this2.config.source.url = _this2.config.source.url.replace(param + '=' + value, '');\n break;\n }\n }\n });\n }\n }\n\n /**\n * Legend Graphic section\n */\n\n }, {\n key: 'getLegendGraphic',\n value: function getLegendGraphic() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$all = _ref.all,\n all = _ref$all === undefined ? true : _ref$all;\n\n return _XHR.XHR.get({\n url: this.getLegendUrl((window.initConfig.layout || { legend: {} }).legend, {\n categories: true,\n format: 'application/json', // is the format to request categories (icon and label of each category)\n all: all // true meaning no bbox no filter just all referred to\n })\n });\n }\n\n /**\n * Set layer categories legend\n * @param { Array }categories\n */\n\n }, {\n key: 'setCategories',\n value: function setCategories() {\n var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.legendCategories[this.getCurrentStyle().name] = categories;\n //set categories state attribute to true only if exist at least a rule key\n this.state.categories = (categories || []).filter(function (category) {\n return category.ruleKey;\n }).length > 0;\n }\n\n /**\n * Return eventually categories of layers legend\n * @returns {string[] | string | [] | *[] | boolean | {default: {level: *, appenders: string[]}}}\n */\n\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.legendCategories[this.getCurrentStyle().name];\n }\n\n /**\n * Clear all categories\n */\n\n }, {\n key: 'clearCategories',\n value: function clearCategories() {\n this.legendCategories = {};\n this.state.categories = false;\n }\n\n /**\n * End Legend Graphic section\n */\n\n /**\n * [LAYER SELECTION]\n * \n * Clear all selection Openlayers features\n */\n\n }, {\n key: 'clearOlSelectionFeatures',\n value: function clearOlSelectionFeatures() {\n this.olSelectionFeatures = {};\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get OpenLayer selection feature by feature id\n * \n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getOlSelectionFeature',\n value: function getOlSelectionFeature(id) {\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Update selected feature (Case change geometry)\n * \n * @param id\n * @param feature\n */\n\n }, {\n key: 'updateOlSelectionFeature',\n value: function updateOlSelectionFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n feature = _ref2.feature;\n\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n selected.feature = feature;\n _gui2.default.getService('map').setSelectionFeatures('update', { feature: feature });\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Delete OpenLayer feature selection by feature id\n * \n * @param id\n */\n\n }, {\n key: 'deleteOlSelectionFeature',\n value: function deleteOlSelectionFeature(id) {\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n /** @FIXME undefined variable */\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: selected.feature });\n delete this.olSelectionFeatures[id];\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get all OpenLayers feature selections\n * \n * @returns { {} | null }\n */\n\n }, {\n key: 'getOlSelectionFeatures',\n value: function getOlSelectionFeatures() {\n return this.olSelectionFeatures;\n }\n\n /**\n * [LAYER SELECTION]\n \n * @param id\n * @param feature\n *\n * @returns {*}\n */\n\n }, {\n key: 'addOlSelectionFeature',\n value: function addOlSelectionFeature() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n feat = _ref3.feature;\n\n //create a new ol feature\n var feature = new ol.Feature(feat.geometry);\n feature.setId(id);\n Object.entries(feat.attributes).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n a = _ref5[0],\n v = _ref5[1];\n\n return feature.set(a, v);\n });\n this.olSelectionFeatures[id] = this.olSelectionFeatures[id] || {\n feature: feature,\n added: false,\n selected: false /** @since 3.9.9 */\n };\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n *\n * Set selection layer on a map not visible\n */\n\n }, {\n key: 'hideOlSelectionFeatures',\n value: function hideOlSelectionFeatures() {\n _gui2.default.getService('map').toggleSelection(false);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Show all selection features\n */\n\n }, {\n key: 'updateMapOlSelectionFeatures',\n value: function updateMapOlSelectionFeatures() {\n // Loop `added` features (selected)\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n });\n // Ensures visibility of selection layer on a map\n _gui2.default.getService('map').toggleSelection(Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }));\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Toggle `added` property on all features\n */\n\n }, {\n key: 'setInversionOlSelectionFeatures',\n value: function setInversionOlSelectionFeatures() {\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n //invert select state\n f.selected = !f.selected;\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n });\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param fid\n * @param action\n * \n * @returns {*}\n */\n\n }, {\n key: 'setOlSelectionFeatureByFid',\n value: function setOlSelectionFeatureByFid(fid, action) {\n var selected = this.getOlSelectionFeature(fid);\n if (selected && selected.feature) {\n //set selected\n selected.selected = 'add' === action;\n return this.setOlSelectionFeatures({\n id: fid,\n feature: selected.feature\n }, action);\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param feature\n * @param action\n * \n * @returns { boolean }\n */\n\n }, {\n key: 'setOlSelectionFeatures',\n value: function setOlSelectionFeatures(feature) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n\n // select a single feature\n if (feature) {\n var feat = this.getOlSelectionFeature(feature.id);\n feat.feature.__layerId = 'add' === action && !feat.added ? this.getId() : undefined; // <-- used when working with selected Layer features\n this.updateMapOlSelectionFeatures();\n }\n\n // select all features\n if (!feature) {\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n //remove selection feature\n if (feat.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feat.feature });\n }\n feat.added = false;\n feat.selected = false;\n });\n }\n\n return undefined === Object.values(this.olSelectionFeatures).find(function (feat) {\n return feat.added;\n });\n }\n }, {\n key: 'isLayerCheckedAndAllParents',\n value: function isLayerCheckedAndAllParents() {\n var checked = this.isChecked();\n if (checked) {\n var parentGroup = this.state.parentGroup;\n //loop from bottom to top\n while (checked && parentGroup) {\n checked = checked && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n }\n return checked;\n }\n\n /**\n * Set layer legend item `checked` state (TOC)\n * \n * @param { boolean } bool\n */\n\n }, {\n key: 'setChecked',\n value: function setChecked(bool) {\n this.state.checked = bool;\n }\n\n /**\n * @returns { boolean } whether layer legend item is checked (TOC)\n */\n\n }, {\n key: 'isChecked',\n value: function isChecked() {\n return this.state.checked;\n }\n\n /**\n * Is a method that check for visiblitity dissabled (based on scalevisibility) and checked on toc\n * @param { Boolean } bool\n * @returns {*}\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n //get current visibility\n var visible = this.state.visible;\n // set visibility bool and is checked\n this.state.visible = bool && this.isChecked();\n //Check if change the visibility\n if (visible !== this.state.visible) {\n this.change();\n }\n return this.state.visible;\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n *\n * @param scale\n * @return {boolean}\n */\n\n }, {\n key: 'isPrintable',\n value: function isPrintable() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref6.scale;\n\n return this.isLayerCheckedAndAllParents() && (!this.state.scalebasedvisibility || scale >= this.state.maxscale && scale <= this.state.minscale);\n }\n\n //get style form layer\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n return this.config.source.external ? this.config.source.styles : this.config.styles;\n }\n }, {\n key: 'getStyle',\n value: function getStyle() {\n return this.config.source.external ? this.config.source.styles : this.config.styles ? this.config.styles.find(function (s) {\n return s.current;\n }).name : '';\n }\n\n /**\n * Get transparency property\n * \n * @returns {number}\n * \n * @since v3.8\n */\n\n }, {\n key: 'getOpacity',\n value: function getOpacity() {\n return this.state.opacity;\n }\n\n /**\n * Method to change the current style of layer\n * @param name\n * @returns { Boolean }\n */\n\n }, {\n key: 'setCurrentStyle',\n value: function setCurrentStyle(name) {\n var changed = !this.config.styles.find(function (s) {\n return name === s.name;\n }).current;\n this.config.styles.forEach(function (s) {\n return s.current = name === s.name;\n });\n return changed;\n }\n }, {\n key: 'getCurrentStyle',\n value: function getCurrentStyle() {\n return this.config.styles.find(function (s) {\n return s.current;\n });\n }\n\n /**\n * Disable layer by check scalevisibility configuration value\n * @param resolution\n * @param mapUnits\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(resolution) {\n var mapUnits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n if (this.state.scalebasedvisibility) {\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(resolution, mapUnits);\n this.state.disabled = !(mapScale >= this.state.maxscale && mapScale <= this.state.minscale);\n this.state.disabled = this.state.minscale === 0 ? !(mapScale >= this.state.maxscale) : this.state.disabled;\n // needed to check if call setVisible is change disable property\n // looping through parentfolter checked\n var setVisible = true;\n var parentGroup = this.state.parentGroup;\n while (parentGroup) {\n setVisible = setVisible && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n if (setVisible) {\n this.setVisible(!this.state.disabled);\n }\n // change toc highlight property based on disabled otr not\n if (this.isFilterable()) {\n this.setTocHighlightable(!this.state.disabled);\n }\n } else {\n this.state.disabled = false;\n }\n }\n }, {\n key: 'getMultiLayerId',\n value: function getMultiLayerId() {\n return this.config.multilayerid;\n }\n }, {\n key: 'getGeometryType',\n value: function getGeometryType() {\n return this.config.geometrytype;\n }\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.config.ows_method;\n }\n }, {\n key: 'setProjection',\n value: function setProjection() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config.projection = _projections2.default.get(crs);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.projection ? this.config.projection.getCode() : null;\n }\n }, {\n key: 'getMapCrs',\n value: function getMapCrs() {\n return this.config.map_crs;\n }\n }, {\n key: 'isCached',\n value: function isCached() {\n return this.config.cache_url && '' !== this.config.cache_url;\n }\n }, {\n key: 'getCacheUrl',\n value: function getCacheUrl() {\n // mapproxy provider → cache_url already contains \"{z}/{x}/{-y}.png\"\n if (this.isCached() && this.config.cache_provider && 'mapproxy' === this.config.cache_provider) {\n return this.config.cache_url;\n }\n if (this.isCached()) {\n return this.config.cache_url + '/{z}/{x}/{y}.png';\n }\n }\n\n // return if layer has inverted axis\n\n }, {\n key: 'hasAxisInverted',\n value: function hasAxisInverted() {\n var projection = this.getProjection();\n var axisOrientation = projection.getAxisOrientation ? projection.getAxisOrientation() : \"enu\";\n return axisOrientation.substr(0, 2) === 'ne';\n }\n\n /**\n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n console.log('overwrite by single layer');\n }\n\n /**\n *\n * @param projection\n */\n\n }, {\n key: 'setMapProjection',\n value: function setMapProjection(projection) {\n this._mapProjection = projection;\n }\n }, {\n key: 'getMapProjection',\n value: function getMapProjection() {\n return this._mapProjection;\n }\n }]);\n\n return _class;\n }(BaseClass);\n};\n\n},{\"services/gui\":175,\"store/projections\":182,\"utils/XHR\":183,\"utils/getScaleFromResolution\":218}],156:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RasterLayer = exports.ImageLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _layer = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _get_legend_params2 = require('utils/get_legend_params');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/imagelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * Stringify a query URL param (eg. `&WIDTH=700`)\n * \n * @param name\n * @param value\n * \n * @returns { string | null } a string if value is set or null\n */\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\n/**\n * @TODO merge \"RasterLayer\" class into \"ImageLayer\"\n * \n * ORIGINAL SOURCE: src/app/core/layers/map/maplayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmslayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmstlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/xyzlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/arcgismapserverlayer.js@v3.10.1\n */\n\nvar RasterLayer = function (_G3WObject) {\n _inherits(RasterLayer, _G3WObject);\n\n function RasterLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'GET';\n\n _classCallCheck(this, RasterLayer);\n\n var _this = _possibleConstructorReturn(this, (RasterLayer.__proto__ || Object.getPrototypeOf(RasterLayer)).call(this));\n\n _this.config = config;\n _this.id = config.id;\n _this.iframe_internal = config.iframe_internal || false;\n _this.extent = config.extent;\n _this.projection = config.projection;\n _this.layer = null;\n _this.layers = config.layers || []; // store all enabled layers\n _this.allLayers = []; // store all layers\n _this.showSpinnerWhenLoading = true;\n\n if ('XYZ' !== _this.config.type) {\n _this.LAYERTYPE = {\n LAYER: 'layer',\n MULTILAYER: 'multilayer'\n };\n _this.getInfoFormat = function () {\n return 'application/vnd.ogc.gml';\n };\n _this.getGetFeatureInfoUrl = function (coordinate, resolution, epsg, params) {\n return _this.getOLLayer().getSource().getGetFeatureInfoUrl(coordinate, resolution, epsg, params);\n };\n _this.getQueryUrl = function () {\n if (_this.layers[0].infourl && '' !== _this.layers[0].infourl) {\n return _this.layers[0].infourl;\n }\n return _this.config.url;\n };\n }\n\n _this.extraParams = extraParams;\n\n _this._method = method;\n return _this;\n }\n\n _createClass(RasterLayer, [{\n key: 'getId',\n value: function getId() {\n return this.id;\n }\n }, {\n key: 'getOLLayer',\n value: function getOLLayer(withLayers) {\n if (!this._olLayer) {\n this._olLayer = this._makeOlLayer(withLayers);\n }\n return this._olLayer;\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.getOLLayer().getSource();\n }\n }, {\n key: 'getLayerConfigs',\n value: function getLayerConfigs() {\n return this.layers;\n }\n }, {\n key: 'addLayer',\n value: function addLayer(layer) {\n if (!this.allLayers.find(function (l) {\n return layer === l;\n })) {\n this.allLayers.push(layer);\n }\n if (!this.layers.find(function (l) {\n return layer === l;\n })) {\n this.layers.push(layer);\n }\n if ('XYZ' === this.config.type) {\n this.layer = layer;\n }\n }\n }, {\n key: 'removeLayer',\n value: function removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return layer !== l;\n });\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.layers.filter(function (l) {\n return l.isVisible();\n }).length > 0;\n }\n\n /**\n * @param {boolean} withLayers\n * \n * @returns { RasterLayer._makeOlLayer }\n * \n * @listens ol.source.ImageWMS~imageloadstart\n * @listens ol.source.ImageWMS~imageloadend\n * @listens ol.source.ImageWMS~imageloaderror\n */\n\n }, {\n key: '_makeOlLayer',\n value: function _makeOlLayer(withLayers) {\n var _this2 = this;\n\n var olLayer = void 0;\n\n /** @type { 'image' | 'tile' } */\n var image = 'image';\n\n // ARCGIS LAYER\n if ('ARCGISMAPSERVER' === this.config.type) {\n olLayer = new ol.layer.Tile({\n visible: true,\n source: new ol.source.TileArcGISRest({\n url: this.config.url,\n projection: this.config.projection\n })\n });\n }\n\n // WMTS LAYER\n else if ('WMTS' === this.config.type) {\n image = 'tile';\n var layerObj = {\n url: 'mapproxy' === this.config.cache_provider || !(this.layers[0] && this.layers[0].getWmsUrl) ? this.config.url : this.layers[0].getWmsUrl(),\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n cache_provider: this.config.cache_provider, /** @since 3.10.0 **/\n cache_type: this.config.cache_type, /** @since 3.10.0 tms, wms**/\n cache_layer: this.config.cache_layer,\n cache_extent: this.config.cache_extent,\n cache_grid: this.config.cache_grid,\n cache_grid_extent: this.config.cache_grid_extent\n };\n\n /** @since 3.10.0 - MapProxy WMTS layer **/\n var resolutions = 'mapproxy' === layerObj.cache_provider && ol.tilegrid.createXYZ({ extent: layerObj.cache_grid_extent }).getResolutions();\n\n olLayer = resolutions ? new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: layerObj.url,\n layer: layerObj.cache_layer,\n matrixSet: layerObj.cache_grid,\n format: layerObj.cache_format || 'png',\n projection: layerObj.layers[0].getProjection(),\n tileGrid: new ol.tilegrid.WMTS({\n resolutions: resolutions,\n origin: ol.extent.getTopLeft(layerObj.cache_grid_extent),\n matrixIds: resolutions.map(function (_, i) {\n return i;\n })\n }),\n style: layerObj.style || '',\n transparent: false\n })\n }) : RasterLayer._makeOlLayer({\n layerObj: layerObj,\n extraParams: this.extraParams || {},\n tiled: true\n });\n }\n\n // XYZ LAYER\n else if ('XYZ' === this.config.type) {\n var projection = this.config.url && this.projection ? this.projection : this.layer.getProjection();\n\n olLayer = new ol.layer.Tile({\n visible: true,\n projection: projection,\n source: new ol.source.XYZ({\n url: this.config.url,\n maxZoom: 20,\n minZoom: undefined,\n projection: projection,\n crossOrigin: undefined,\n tileLoadFunction: this.iframe_internal ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() || 'mapproxy' === this.config.cache_provider ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: 20 }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n }\n\n // WMS LAYER\n else {\n olLayer = RasterLayer._makeOlLayer({\n layerObj: {\n url: this.layers[0] && this.layers[0].getWmsUrl ? this.layers[0].getWmsUrl() : this.config.url,\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n /** @since 3.9.1 */\n format: this.config.format\n },\n extraParams: this.extraParams\n }, this._method);\n }\n\n olLayer.getSource().on(image + 'loadstart', function () {\n return _this2.emit('loadstart');\n });\n olLayer.getSource().on(image + 'loadend', function () {\n return _this2.emit('loadend');\n });\n olLayer.getSource().on(image + 'loaderror', function () {\n return _this2.emit('loaderror');\n });\n\n return olLayer;\n }\n\n //update Layers\n\n }, {\n key: 'update',\n value: function update() {\n var mapState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var force = extraParams.force,\n params = _objectWithoutProperties(extraParams, ['force']);\n\n // check which layers have to be disabled\n\n\n if (!force) {\n var resolution = mapState.resolution,\n mapUnits = mapState.mapUnits;\n\n this.allLayers.forEach(function (l) {\n l.setDisabled(resolution, mapUnits);return l.isDisabled();\n });\n }\n\n if ('XYZ' === this.config.type) {\n this._olLayer.setVisible(this.layer.isVisible());\n return;\n }\n\n var layers = this.layers.filter(function (l) {\n return l.isVisible();\n }) || [];\n\n // skip when ..\n if (layers.length <= 0) {\n this._olLayer.setVisible(false);\n return;\n }\n\n var STYLES = [];\n var OPACITIES = [];\n var LEGEND_ON = undefined;\n var LEGEND_OFF = undefined;\n\n layers.forEach(function (l) {\n var _get_legend_params = (0, _get_legend_params2.get_legend_params)(l),\n on = _get_legend_params.LEGEND_ON,\n off = _get_legend_params.LEGEND_OFF;\n\n STYLES.push(l.getStyle());\n OPACITIES.push(parseInt(l.getOpacity() / 100 * 255));\n if (on) {\n LEGEND_ON = undefined === LEGEND_ON ? on : LEGEND_ON + ';' + on;\n }\n if (off) {\n LEGEND_OFF = undefined === LEGEND_OFF ? off : LEGEND_OFF + ';' + off;\n }\n });\n\n this._olLayer.setVisible(true);\n //check if a layer source has with updateParams method\n /** @TODO Check a better way to do this */\n if (this._olLayer.getSource().updateParams) {\n this._olLayer.getSource().updateParams(_extends({}, params, {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF,\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: '' + (layers[0].isArcgisMapserver() ? 'show:' : '') + layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(','),\n STYLES: STYLES.join(','),\n /** @since 3.8 */\n OPACITIES: OPACITIES.join(',')\n }));\n }\n }\n }, {\n key: 'setupCustomMapParamsToLegendUrl',\n value: function setupCustomMapParamsToLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if ('XYZ' !== this.config.type) {\n [].concat(this.layer || this.layers).forEach(function (l) {\n return l.setMapParamstoLegendUrl(params);\n });\n }\n }\n }]);\n\n return RasterLayer;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/layers/rasters.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n\nRasterLayer._makeOlLayer = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n return new (opts.tiled ? ol.layer.Tile : ol.layer.Image)({\n id: opts.layerObj.id,\n name: opts.layerObj.name,\n opacity: undefined !== opts.layerObj.opacity ? opts.layerObj.opacity : 1.0,\n visible: opts.layerObj.visible,\n extent: opts.layerObj.extent,\n maxResolution: opts.layerObj.maxResolution,\n source: new (opts.tiled ? ol.source.TileWMS : ol.source.ImageWMS)({\n ratio: 1,\n url: opts.layerObj.url,\n projection: opts.layerObj.projection ? opts.layerObj.projection.getCode() : null,\n params: _extends({}, Object.fromEntries(Object.entries({\n DPI: _g3wConstants.DOTS_PER_INCH,\n TRANSPARENT: true,\n FORMAT: opts.layerObj.format,\n LAYERS: undefined !== opts.layerObj.layers ? opts.layerObj.layers : '',\n VERSION: undefined !== opts.layerObj.version ? opts.layerObj.version : '1.3.0',\n SLD_VERSION: undefined !== opts.layerObj.sld_version ? opts.layerObj.sld_version : '1.1.0'\n })\n // prevents sending \"FORMAT\" parameter when undefined\n .filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n\n return 'FORMAT' !== key ? true : undefined !== val;\n })), opts.extraParams || {}),\n imageLoadFunction: opts.layerObj.iframe_internal || 'POST' === method ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref4 = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x10) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined\n })\n });\n};\n\n/**\n * @param config.id\n * @param config.title\n * @param config.name\n * @param config.origname\n * @param config.multilayerid\n * @param config.servertype\n * @param config.source\n * @param config.crs\n * @param config.projection\n * @param config.bbox\n * @param config.capabilities\n * @param config.cache_url\n * @param { string } config.cache_provider since 3.10.0 (eg. \"mapproxy\")\n * @param config.baselayer\n * @param config.geometrytype\n * @param config.editops\n * @param config.expanded\n * @param config.fields\n * @param config.wmsUrl\n * @param config.infoformat\n * @param config.infourl\n * @param config.maxscale\n * @param config.minscale\n * @param config.visible\n * @param config.scalebasedvisibility\n * @param config.wfscapabilities\n * @param config.ows_method\n * @param config.wms_use_layer_ids\n * @param config.styles\n */\n\nvar ImageLayer = function (_GeoLayerMixin) {\n _inherits(ImageLayer, _GeoLayerMixin);\n\n function ImageLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ImageLayer);\n\n var _this3 = _possibleConstructorReturn(this, (ImageLayer.__proto__ || Object.getPrototypeOf(ImageLayer)).call(this, config, options));\n\n _this3._BASE_LAYER = options._BASE_LAYER;\n\n _this3.setters = {\n change: function change() {}\n };\n\n _this3.config.baselayer = config.baselayer || false;\n _this3.type = _layer.Layer.LayerTypes.IMAGE;\n _this3.legendUrl = null;\n _this3.customParams = {};\n\n _this3.setup(config, options);\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('OSM' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n source: new ol.source.OSM({ url: _this3.config.url }),\n id: _this3.config.name || 'osm',\n title: _this3.config.title || 'OSM',\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('Bing' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var name = {\n streets: 'Road',\n aerial: 'Aerial',\n aerialwithlabels: 'AerialWithLabels'\n }[_this3.config.source && _this3.config.source.subtype] || 'Aerial';\n return new ol.layer.Tile({\n name: name,\n visible: false,\n preload: Infinity,\n source: new ol.source.BingMaps({ imagerySet: name, key: _application2.default.keys.vendorkeys.bing }),\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var url = undefined !== _this3.config.url ? _this3.config.url : null;\n var projection = url && _this3.getProjectionFromCrs(_this3.config.crs);\n if (!url) {\n return;\n }\n return new ol.layer.Tile({\n visible: false,\n projection: projection,\n source: new ol.source.XYZ({\n url: url,\n maxZoom: _this3.config.maxZoom,\n minZoom: _this3.config.minZoom,\n projection: projection,\n crossOrigin: 'anonymous',\n // tileLoadFunction: undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: _this3.config.maxZoom }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n // extent: opts.extent,\n visible: false,\n source: new ol.source.TileArcGISRest({\n url: undefined === _this3.config.url ? null : _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions\n // crossOrigin: opts.crossOrigin,\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMTS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n // use this config to get params\n var _this3$config = _this3.config,\n url = _this3$config.url,\n layer = _this3$config.layer,\n attributions = _this3$config.attributions,\n matrixSet = _this3$config.matrixSet,\n _this3$config$format = _this3$config.format,\n format = _this3$config$format === undefined ? 'image/png' : _this3$config$format,\n _this3$config$style = _this3$config.style,\n style = _this3$config$style === undefined ? 'default' : _this3$config$style,\n requestEncoding = _this3$config.requestEncoding,\n grid = _this3$config.grid,\n grid_extent = _this3$config.grid_extent;\n\n /** @since 3.10.0 */\n\n var projection = _this3.config.projection || _this3.getProjectionFromCrs(_this3.config.crs);\n\n if (matrixSet) {\n var size = ol.extent.getWidth(projection.getExtent()) / 256;\n return new ol.layer.Tile({\n opacity: .7,\n source: new ol.source.WMTS({\n url: url,\n projection: projection,\n layer: layer,\n matrixSet: matrixSet,\n requestEncoding: requestEncoding,\n format: format,\n attributions: attributions,\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(projection.getExtent()),\n resolutions: Array.from({ length: 14 }, function (_, z) {\n return size / Math.pow(2, z);\n }),\n matrixIds: Array.from({ length: 14 }, function (_, z) {\n return z;\n })\n }),\n style: style\n })\n });\n }\n\n /** @since 3.10.0 WMTS based on mapproxy*/\n if (grid && grid_extent) {\n var resolutions = ol.tilegrid.createXYZ({ extent: grid_extent }).getResolutions();\n return new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: url,\n layer: layer,\n projection: projection,\n matrixSet: grid,\n format: format || 'png',\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(grid_extent),\n resolutions: resolutions,\n matrixIds: resolutions.map(function (_, z) {\n return z;\n })\n }),\n style: style,\n transparent: false\n })\n });\n }\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return RasterLayer._makeOlLayer({\n layerObj: {\n url: _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions,\n layers: _this3.config.layers,\n tiled: undefined === _this3.config.singleTile ? false : _this3.config.singleTile,\n opacity: undefined === _this3.config.opacity ? 1 : _this3.config.opacity\n }\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('ARCGISMAPSERVER' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var _this3$config2 = _this3.config,\n url = _this3$config2.url,\n _this3$config2$visibl = _this3$config2.visible,\n visible = _this3$config2$visibl === undefined ? true : _this3$config2$visibl,\n extent = _this3$config2.extent,\n projection = _this3$config2.projection,\n attributions = _this3$config2.attributions,\n crossOrigin = _this3$config2.crossOrigin;\n\n\n return new ol.layer.Tile({\n extent: extent,\n visible: visible,\n source: new ol.source.TileArcGISRest({\n url: url,\n projection: projection,\n attributions: attributions,\n crossOrigin: crossOrigin\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (_this3._makeOlLayer && _this3.isWMS()) {\n _this3._mapLayer = new RasterLayer({\n url: _this3.getWmsUrl(),\n id: _this3.state.id,\n tiled: _this3.state.tiled\n });\n _this3._mapLayer.addLayer(_this3);\n } else if (_this3._makeOlLayer) {\n _this3._mapLayer = _this3;\n }\n return _this3;\n }\n\n /**\n *\n * Used by the following plugins: \"plugin\"\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n *\n *\n * @param force\n * @param vectorurl\n * @param project_type\n * @param project\n * @return {Promise}\n */\n\n\n _createClass(ImageLayer, [{\n key: 'getLayerForEditing',\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$force = _ref6.force,\n force = _ref6$force === undefined ? false : _ref6$force,\n vectorurl = _ref6.vectorurl,\n project_type = _ref6.project_type,\n project = _ref6.project;\n\n if (!force && !this.isEditable()) {\n return null;\n }\n\n // set editing layer\n try {\n var layerForEditing = yield new _vectorlayer.VectorLayer(this.config, {\n vectorurl: vectorurl,\n project_type: project_type,\n project: project || _application2.default.project\n }).layerForEditing;\n this.setEditingLayer(layerForEditing);\n return layerForEditing;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function getLayerForEditing() {\n return _ref5.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n }, {\n key: 'isWMS',\n value: function isWMS() {\n return [\"QGIS\", \"Mapserver\", \"Geoserver\", \"OGC\"].includes(this.config.servertype);\n }\n }, {\n key: 'isLayerProjectionASMapProjection',\n value: function isLayerProjectionASMapProjection() {\n return this.config.crs.epsg === this.config.map_crs;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'isExternalWMS',\n value: function isExternalWMS() {\n return !!(this.config.source && this.config.source.external && this.config.source.url);\n }\n }, {\n key: 'isArcgisMapserver',\n value: function isArcgisMapserver() {\n return this.isExternalWMS() && \"arcgismapserver\" === this.config.source.type;\n }\n }, {\n key: '_getBaseLayerName',\n value: function _getBaseLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: '_hasExternalWMSOrLegend',\n value: function _hasExternalWMSOrLegend() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'map';\n var source = this.config.source;\n\n\n return source && ('map' !== type || this.isExternalWMS() && this.isLayerProjectionASMapProjection()) && ('legend' === type || source.external);\n }\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$type = _ref7.type,\n type = _ref7$type === undefined ? 'map' : _ref7$type;\n\n var _ref8 = this.config || { source: {} },\n source = _ref8.source;\n\n var source_layer = source.layers || source.layer;\n\n /** @FIXME add description */\n if (source_layer && this._hasExternalWMSOrLegend(type)) {\n return source_layer;\n }\n\n return this._getBaseLayerName();\n }\n\n /**\n * @param opts\n * @param { 'map' | 'legend' } opts.type \n */\n\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$type = _ref9.type,\n type = _ref9$type === undefined ? 'map' : _ref9$type;\n\n var _ref10 = this.config || { source: {} },\n source = _ref10.source;\n\n /** @FIXME add description */\n\n\n if (source.url && this._hasExternalWMSOrLegend(type) && ['wms', 'wmst'].includes(source.type)) {\n return source.url;\n }\n\n return this.config.wmsUrl;\n }\n }, {\n key: 'getWFSLayerName',\n value: function getWFSLayerName() {\n return (this.config.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.getName()).replace(/\\s/g, '_').replaceAll(':', '-');\n }\n }, {\n key: 'useProxy',\n value: function useProxy() {\n return this.isExternalWMS() && this.isLayerProjectionASMapProjection() && this.getInfoFormats();\n }\n }, {\n key: 'getWMSInfoLayerName',\n value: function getWMSInfoLayerName() {\n return this.useProxy() ? this.getSource().layers : this._getBaseLayerName();\n }\n }, {\n key: 'getPrintLayerName',\n value: function getPrintLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n }, {\n key: 'getStringBBox',\n value: function getStringBBox() {\n var _config$bbox = this.config.bbox,\n minx = _config$bbox.minx,\n miny = _config$bbox.miny,\n maxx = _config$bbox.maxx,\n maxy = _config$bbox.maxy;\n\n return minx + ',' + miny + ',' + maxx + ',' + maxy;\n }\n }, {\n key: 'isWfsActive',\n value: function isWfsActive() {\n return Array.isArray(this.config.ows) && this.config.ows.some(function (t) {\n return 'WFS' === t;\n });\n }\n\n /**\n * Get wms url of the layer\n */\n\n }, {\n key: 'getFullWmsUrl',\n value: function getFullWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl();\n }\n\n /**\n * Get WMS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWmsUrl',\n value: function getCatalogWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl() + '?service=WMS&version=1.3.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWfsUrl',\n value: function getCatalogWfsUrl() {\n return this.getWfsUrl() + '?service=WFS&version=1.1.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS 3 url (used by Catalog Layer Menu)\n * @since 3.10.0\n * @return { String } url\n */\n\n }, {\n key: 'getCatalogWfs3Url',\n value: function getCatalogWfs3Url() {\n return this.getWfsUrl() + 'wfs3/';\n }\n }, {\n key: 'getWfsUrl',\n value: function getWfsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url) {\n return wms_url;\n }\n\n return this.config.wmsUrl;\n }\n\n /**\n * Get query url based on type, external or same projection of map\n * \n * @returns {string}\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n var url = _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getQueryUrl', this).call(this);\n var is_qgis = \"QGIS\" === this.getServerType() && this.isExternalWMS() && this.isLayerProjectionASMapProjection();\n\n /** @FIXME add description */\n if (is_qgis && this.getInfoFormats()) {\n return this.getSource().url;\n }\n\n /** @FIXME add description */\n if (is_qgis) {\n return url + 'SOURCE=' + this.config.source.type;\n }\n\n return url;\n }\n }, {\n key: 'getIconUrlFromLegend',\n value: function getIconUrlFromLegend() {\n return this.getLegendUrl({ layertitle: false });\n }\n\n /**\n * Retrieve legend url (ARCGISMAPSERVER or WMS)\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/legendservice.js@3.8.5\n * \n * @param { boolean } opts.categories whether layer has categories\n * @param { boolean } opts.all whether to show all categories (disables filter by map's BBOX).\n * @param { 'application/json' | 'image/png' | string } opts.format MIME Type used to set format of legend:\n * - `application/json`: if request from layers categories (icon and label),\n * - `image/png`: if request from legend tab\n * \n * @see https://docs.qgis.org/3.28/en/docs/server_manual/services/wms.html#getlegendgraphics\n */\n\n }, {\n key: 'getLegendUrl',\n value: function getLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { categories: false, all: false, format: 'image/png' };\n\n\n var base_url = void 0,\n url_params = void 0;\n\n var _params$customParams = _extends({}, params, this.customParams),\n width = _params$customParams.width,\n height = _params$customParams.height,\n _params$customParams$ = _params$customParams.color,\n color = _params$customParams$ === undefined ? \"white\" : _params$customParams$,\n _params$customParams$2 = _params$customParams.fontsize,\n fontsize = _params$customParams$2 === undefined ? 10 : _params$customParams$2,\n _params$customParams$3 = _params$customParams.transparent,\n transparent = _params$customParams$3 === undefined ? true : _params$customParams$3,\n boxspace = _params$customParams.boxspace,\n layerspace = _params$customParams.layerspace,\n _params$customParams$4 = _params$customParams.layertitle,\n layertitle = _params$customParams$4 === undefined ? true : _params$customParams$4,\n layertitlespace = _params$customParams.layertitlespace,\n symbolspace = _params$customParams.symbolspace,\n iconlabelspace = _params$customParams.iconlabelspace,\n symbolwidth = _params$customParams.symbolwidth,\n symbolheight = _params$customParams.symbolheight,\n itemfontfamily = _params$customParams.itemfontfamily,\n layerfontfamily = _params$customParams.layerfontfamily,\n layerfontbold = _params$customParams.layerfontbold,\n itemfontbold = _params$customParams.itemfontbold,\n layerfontitalic = _params$customParams.layerfontitalic,\n itemfontitalic = _params$customParams.itemfontitalic,\n rulelabel = _params$customParams.rulelabel,\n crs = _params$customParams.crs,\n bbox = _params$customParams.bbox,\n _params$customParams$5 = _params$customParams.sld_version,\n sld_version = _params$customParams$5 === undefined ? '1.1.0' : _params$customParams$5;\n\n /**\n * ARCGIS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/arcgismapserverlegend.js@3.8.5\n */\n\n\n if (this.isArcgisMapserver()) {\n base_url = this.getConfig().source.url.replace('/rest/', '/') + '/WMSServer';\n url_params = ['request=GetLegendGraphic', 'version=1.3.0', 'format=image/png', 'LAYER=' + this.getConfig().source.layer];\n }\n\n /**\n * WMS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/wmslegend.js@3.8.5\n */\n else {\n var ctx_legend = opts.categories && (['image/png', undefined].includes(opts.format) || _application2.default.project.state.context_base_legend) ? (0, _get_legend_params2.get_legend_params)(this) : undefined // disabled when `FORMAT=application/json` (otherwise it creates some strange behaviour on WMS `getMap` when switching between layer styles)\n ;\n base_url = this.getWmsUrl({ type: 'legend' });\n url_params = ['SERVICE=WMS', 'VERSION=1.3.0', 'REQUEST=GetLegendGraphic', __('SLD_VERSION=', sld_version), __('WIDTH=', width), __('HEIGHT=', height), __('FORMAT=', undefined === opts.format ? 'image/png' : opts.format), __('TRANSPARENT=', transparent), __('ITEMFONTCOLOR=', color), __('LAYERFONTCOLOR=', color), __('LAYERTITLE=', layertitle), __('ITEMFONTSIZE=', fontsize), __('CRS=', crs), __('BBOX=', [false, undefined].includes(opts.all) && bbox && bbox.join(',')), __('BOXSPACE=', boxspace), __('LAYERSPACE=', layerspace), __('LAYERTITLESPACE=', layertitlespace), __('SYMBOLSPACE=', symbolspace), __('ICONLABELSPACE=', iconlabelspace), __('SYMBOLWIDTH=', opts.categories && 'application/json' === opts.format ? 16 : symbolwidth), __('SYMBOLHEIGHT=', opts.categories && 'application/json' === opts.format ? 16 : symbolheight), __('LAYERFONTFAMILY=', layerfontfamily), __('ITEMFONTFAMILY=', itemfontfamily), __('LAYERFONTBOLD=', layerfontbold), __('ITEMFONTBOLD=', itemfontbold), __('LAYERFONTITALIC=', layerfontitalic), __('ITEMFONTITALIC=', itemfontitalic), __('RULELABEL=', rulelabel), __('LEGEND_ON=', ctx_legend && ctx_legend.LEGEND_ON), __('LEGEND_OFF=', ctx_legend && ctx_legend.LEGEND_OFF), __('STYLES=', opts.categories && 'application/json' === opts.format ? encodeURIComponent(this.getCurrentStyle().name) : undefined), __('LAYER=', this.getWMSLayerName({ type: 'legend' }))];\n }\n\n // discard nullish parameters (without a value)\n url_params = url_params.filter(function (p) {\n return p;\n });\n\n this.legendUrl = '' + base_url + (base_url.indexOf('?') > -1 ? '&' : '?') + url_params.join('&');\n\n return this.legendUrl;\n }\n }, {\n key: 'setMapParamstoLegendUrl',\n value: function setMapParamstoLegendUrl(_ref11) {\n var bbox = _ref11.bbox,\n crs = _ref11.crs;\n\n this.customParams = _extends({}, this.customParams, { bbox: bbox, crs: crs });\n }\n }, {\n key: 'getWfsCapabilities',\n value: function getWfsCapabilities() {\n return this.config.wfscapabilities || 1 === this.config.capabilities;\n }\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments[1];\n\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n options.iframe_internal = _application2.default.iframe && !this.isExternalWMS();\n var method = this.isExternalWMS() ? 'GET' : this.getOwsMethod();\n var extent = this.config.bbox ? [this.config.bbox.minx, this.config.bbox.miny, this.config.bbox.maxx, this.config.bbox.maxy] : null;\n var source = this.config.source;\n /** @since 3.10.0 Cache info **/\n var cache_provider = this.config.cache_provider;\n var cache_service_type = this.config.cache_service_type || 'tms'; //default tile\n var cache_layer = this.config.cache_layer;\n var cache_extent = this.config.cache_extent;\n var cache_grid = this.config.cache_grid;\n var cache_grid_extent = this.config.cache_grid_extent;\n //get layer url\n var url = this.isCached() ? this.getCacheUrl() : options.url || this.getWmsUrl();\n\n if (this.isCached() && 'tms' === cache_service_type) {\n return new RasterLayer(_extends({}, options, { extent: extent, url: url, cache_provider: cache_provider, type: 'XYZ' }), {}, method);\n }\n\n if (this.isExternalWMS() && source && \"arcgismapserver\" === source.type) {\n return new RasterLayer(_extends({}, options, source), extraParams);\n }\n\n if (this.isCached() && 'wmts' === cache_service_type) {\n return new RasterLayer(_extends({}, options, {\n url: url,\n cache_provider: cache_provider,\n cache_layer: cache_layer,\n cache_extent: cache_extent,\n cache_grid: cache_grid,\n cache_grid_extent: cache_grid_extent,\n type: 'WMTS'\n }), extraParams, method);\n }\n\n if (this.isExternalWMS() && source && \"wmst\" === source.type) {\n return new RasterLayer(_extends({}, options, { url: url, cache_provider: cache_provider, type: 'WMTS' }), extraParams, method);\n }\n\n return new RasterLayer(_extends({}, options, { url: url }), extraParams, method);\n }\n\n /**\n * @override Layer~getFormat\n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n if (this.isExternalWMS() && this.getSource()) {\n return this.getSource().format;\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getFormat', this).call(this);\n }\n\n /**\n * @override ImageLayer~getOwsMethod\n * \n * @see https://github.com/g3w-suite/g3w-client/issues/616\n * \n * forces to `GET` when wms layer is external or query url isn't a qgis server endpoint (ie. doesn't start with `/ows/`).\n * \n * @since 3.10.0\n */\n\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.isExternalWMS() || !/^\\/ows/.test(new URL(this.getQueryUrl(), window.initConfig.baseurl).pathname) ? 'GET' : this.config.ows_method;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'update',\n value: function update(mapState, extraParams) {\n if (this.isWMS()) {\n this._mapLayer.update(mapState, extraParams);\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n if (this._mapLayer) {\n this.getOLLayer().setVisible(bool);\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'setVisible', this).call(this, bool);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n if (this._mapLayer) {\n return this.getOLLayer().getSource();\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getSource', this).call(this);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getProjectionFromCrs',\n value: function getProjectionFromCrs() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n crs.epsg = crs.epsg ? crs.epsg : 'EPSG:3857';\n return _projections2.default.get(crs);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOLLayer',\n value: function getOLLayer() {\n var _this4 = this;\n\n if (!this._olLayer && this._makeOlLayer) {\n this._olLayer = this._makeOlLayer();\n // register loading event\n this._olLayer.getSource().on('imageloadstart', function () {\n return _this4.emit(\"loadstart\");\n });\n this._olLayer.getSource().on('imageloadend', function () {\n return _this4.emit(\"loadend\");\n });\n if (this._mapLayer.config.attributions) {\n this._olLayer.getSource().setAttributions(this._mapLayer.config.attributions);\n }\n this._olLayer.setVisible(this._mapLayer.state.visible);\n }\n return this._olLayer;\n }\n }]);\n\n return ImageLayer;\n}((0, _geoMixin2.default)(_layer.Layer));\n\nexports.ImageLayer = ImageLayer;\nexports.RasterLayer = RasterLayer;\n\n},{\"g3w-constants\":127,\"g3w-object\":131,\"map/layers/geo-mixin\":155,\"map/layers/layer\":157,\"map/layers/vectorlayer\":160,\"store/application\":180,\"store/projections\":182,\"utils/get_legend_params\":220}],157:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Layer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _parseAttributes = require('utils/parseAttributes');\n\nvar _promisify = require('utils/promisify');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _XHR = require('utils/XHR');\n\nvar _prompt = require('utils/prompt');\n\nvar _Table = require('components/Table.vue');\n\nvar _Table2 = _interopRequireDefault(_Table);\n\nvar _parsers = require('utils/parsers');\n\nvar _get_legend_params = require('utils/get_legend_params');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar is_defined = function is_defined(d) {\n return undefined !== d;\n};\nvar çç = function çç(a, b) {\n return undefined !== a ? a : b;\n}; // like a ?? (coalesce operator)\n\n// BACKCOMP v3.x\nfunction createProvider(name, layer) {\n var provider = new Providers[name]();\n return Object.assign(provider, {\n _name: name,\n _layer: layer,\n getLayer: function getLayer() {\n return provider._layer;\n },\n setLayer: function setLayer(l) {\n return provider._layer = l;\n },\n getFeatures: provider.getFeatures || function () {\n return console.log('overwriteby single provider');\n },\n query: provider.query || function () {\n return console.log('overwriteby single provider');\n },\n getName: function getName() {\n return provider._name;\n }\n });\n}\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/providersfactory.js@v3.10.2\n * ORIGINAL SOURCE: src/app/core/layers/providers/geojsonprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/qgisprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n */\nvar Providers = {\n\n geojson: function () {\n function geojson() {\n _classCallCheck(this, geojson);\n }\n\n _createClass(geojson, [{\n key: 'query',\n value: function query() {\n return (0, _promisify.$promisify)(Promise.resolve([]));\n }\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return new ol.format.GeoJSON().readFeatures(opts.data || (yield _XHR.XHR.get({ url: opts.url || _this._layer.get('source').url })).results, {\n featureProjection: opts.mapProjection,\n dataProjection: opts.projection || 'EPSG:4326'\n });\n }));\n }\n }]);\n\n return geojson;\n }(),\n\n qgis: function () {\n function qgis() {\n _classCallCheck(this, qgis);\n }\n\n _createClass(qgis, [{\n key: 'query',\n\n\n /**\n * Query by filter\n * \n * @param { boolean } opts.raw whether to get raw response\n * @param { number } opts.feature_count maximum feature for request\n * @param { string } opts.queryUrl url for request data\n * @param { Array } opts.layers Array or request layers\n * @param opts.I wms request parameter \n * @param opts.J wms request parameter \n */\n value: function query() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._projections = this._projections || { map: null, layer: null };\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var is_table = 'table' === _this2._layer.getType();\n\n // in case not alphanumeric layer set projection\n if (!is_table) {\n _this2._projections.map = _this2._layer.getMapProjection() || _this2._projections.layer;\n }\n\n var layers = opts.layers ? opts.layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(',') : _this2._layer.getWMSLayerName();\n\n // skip when ..\n if (!opts.filter) {\n return Promise.reject();\n }\n\n var filter = [].concat(opts.filter)\n // BACKOMP v3.x\n .map(function (f) {\n return {\n type: f._type || f.type,\n value: f._filter || f.value\n };\n });\n\n // check if geometry filter. If not i have to remove projection layer\n if ('geometry' !== filter[0].type) {\n _this2._projections.layer = null;\n }\n\n filter = filter.filter(function (f) {\n return f.value;\n });\n\n var response = yield _XHR.XHR.get({\n url: opts.queryUrl || _this2._layer.getUrl('query'),\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: layers,\n QUERY_LAYERS: layers,\n INFO_FORMAT: _this2._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: opts.feature_count || 10,\n CRS: is_table ? _application2.default.map.epsg : _this2._projections.map.getCode(),\n I: opts.I,\n J: opts.J,\n FILTER: filter.length ? filter.map(function (f) {\n return f.value;\n }).join(';') : undefined,\n WITH_GEOMETRY: !is_table\n }\n });\n\n var _layers = undefined === opts.layers ? [_this2._layer] : opts.layers;\n\n return opts.raw ? response : _parsers.ResponseParser.get(_layers[0].getInfoFormat())({\n response: response,\n projections: _this2._projections,\n layers: _layers,\n wms: true\n });\n }));\n }\n\n /**\n * get layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return (0, _promisify.$promisify)(_XHR.XHR.get({ url: this._layer.getUrl('config') }));\n }\n\n /**\n * Load editing features (Read / Write)\n */\n\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // filter null values\n Object.entries(params).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n if ([null, undefined].includes(value)) {\n delete params[key];\n }\n });\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n params = new URLSearchParams(params || {}).toString();\n params = (params ? '?' : '') + params;\n\n // read mode\n if (!options.editing) {\n var _ref6 = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('data') + params\n }),\n vector = _ref6.vector;\n\n return {\n data: vector.data,\n count: vector.count\n };\n }\n\n // editing mode\n try {\n\n var response = void 0;\n\n if (!options.filter) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.bbox)) {\n // bbox filter\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n in_bbox: options.filter.bbox.join(','),\n filtertoken: _application2.default.tokens.filtertoken\n }),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fid)) {\n // fid filter\n response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(options.filter.fid) });\n } else if (options.filter.field) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify(options.filter),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fids)) {\n response = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('editing') + params,\n params: options.filter\n });\n } else if (is_defined(options.filter.nofeatures)) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n field: (options.filter.nofeatures_field || 'id') + '|eq|__G3W__NO_FEATURES__'\n }),\n contentType: 'application/json'\n });\n }\n\n // invalid response\n if (!response.result) {\n return;\n }\n\n var lockIds = response.featurelocks.map(function (lk) {\n return lk.featureid;\n });\n\n // resolves with features locked and requested\n return {\n count: response.vector.count, // real number of features that request will return\n featurelocks: response.featurelocks,\n features: _parsers.ResponseParser.get('g3w-' + _this3._layer.getType() + '/json')(response.vector.data, 'NoGeometry' === response.vector.geometrytype ? {} : { crs: _this3._layer.getCrs() }).filter(function (f) {\n return lockIds.includes('' + f.getId());\n }).map(function (feature) {\n return new _feature.Feature({ feature: feature });\n })\n };\n } catch (e) {\n console.warn(e);\n }\n return Promise.reject({ message: t(\"info.server_error\") });\n }));\n }\n }]);\n\n return qgis;\n }(),\n\n wms: function () {\n function wms() {\n _classCallCheck(this, wms);\n }\n\n _createClass(wms, [{\n key: 'query',\n value: function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$layers = opts.layers,\n layers = _opts$layers === undefined ? [this._layer] : _opts$layers,\n _opts$size = opts.size,\n size = _opts$size === undefined ? [101, 101] : _opts$size,\n _opts$coordinates = opts.coordinates,\n coordinates = _opts$coordinates === undefined ? [] : _opts$coordinates,\n resolution = opts.resolution;\n\n // get extent for view size\n\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var bbox = [coordinates[0] - dx, coordinates[1] - dy, coordinates[0] + dx, coordinates[1] + dy];\n\n var projection = this._layer.getMapProjection() || this._layer.getProjection();\n var tolerance = çç(opts.query_point_tolerance, _g3wConstants.QUERY_POINT_TOLERANCE);\n\n var url = layers[0].getQueryUrl();\n var method = layers[0].getOwsMethod();\n var proxy = layers[0].useProxy();\n var source = (url || '').split('SOURCE');\n\n // base request\n var params = {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n CRS: projection.getCode(),\n LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n QUERY_LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n filtertoken: _application2.default.tokens.filtertoken,\n INFO_FORMAT: this._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: çç(opts.feature_count, 10),\n WITH_GEOMETRY: true,\n DPI: _g3wConstants.DOTS_PER_INCH,\n FILTER_GEOM: 'map' === tolerance.unit ? new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(coordinates, tolerance.value))) : undefined,\n FI_POINT_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_LINE_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_POLYGON_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n G3W_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value * resolution,\n I: 'map' === tolerance.unit ? undefined : Math.floor((coordinates[0] - bbox[0]) / resolution), // x\n J: 'map' === tolerance.unit ? undefined : Math.floor((bbox[3] - coordinates[1]) / resolution), // y\n WIDTH: size[0],\n HEIGHT: size[1],\n STYLES: '',\n BBOX: ('ne' === projection.getAxisOrientation().substr(0, 2) ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox).join(','),\n // HOTFIX for GetFeatureInfo requests and feature layer categories that are not visible (unchecked) at QGIS project setting\n LEGEND_ON: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_ON;\n }).filter(Boolean).join(';') || undefined,\n LEGEND_OFF: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_OFF;\n }).filter(Boolean).join(';') || undefined,\n SOURCE: !proxy && 'GET' === method && source.length > 1 ? source[1] : undefined\n };\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: { coordinates: coordinates, resolution: resolution }\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if (proxy) {\n response = yield layers[0].getDataProxyFromServer('wms', { url: url, params: params, method: method, headers: { 'Content-Type': params.INFO_FORMAT } });\n } else if ('GET' === method) {\n var uri = (source.length ? source[0] : url).replace(/[?&]$/, ''); // remove any trailing ? or &\n response = yield _XHR.XHR.get({\n url: uri + (uri.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).filter(function (k) {\n return ![undefined, null].includes(params[k]);\n }) // skip null and undefined params\n .map(function (k) {\n return k + '=' + encodeURIComponent(params[k]);\n }).join('&')\n });\n } else if ('POST' === method) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n } else {\n console.warn('unsupported method: ', method);\n }\n return {\n data: _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n layers: layers,\n wms: true,\n projections: { map: projection, layer: null }\n }),\n query: { coordinates: coordinates, resolution: resolution }\n };\n } finally {\n if (!proxy) {\n clearTimeout(timer);\n }\n }\n })()]));\n }\n }]);\n\n return wms;\n }(),\n\n wfs: function () {\n function wfs() {\n _classCallCheck(this, wfs);\n }\n\n _createClass(wfs, [{\n key: 'query',\n\n\n // query method\n value: function query() {\n var _this4 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = opts.filter || {};\n var layers = opts.layers || [this._layer];\n var url = (layers[0].getQueryUrl() + '/').replace(/\\/+$/, '/');\n var method = layers[0].getOwsMethod();\n\n // BACKCOMP v3.x\n Object.assign(filter, {\n config: filter.config || {},\n type: filter._type || filter.type,\n value: filter._filter || filter.value\n });\n\n params = Object.assign(params, {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n MAXFEATURES: çç(opts.feature_count, 10),\n TYPENAME: layers.map(function (l) {\n return l.getWFSLayerName();\n }).join(','),\n OUTPUTFORMAT: layers[0].getInfoFormat(),\n SRSNAME: (opts.reproject ? layers[0].getProjection() : this._layer.getMapProjection()).getCode(),\n FILTER: 'all' !== filter.type ? ('(' + new ol.format.WFS().writeGetFeature({\n featureTypes: [layers[0]],\n filter: {\n 'bbox': ol.format.filter.bbox('the_geom', filter.value),\n 'geometry': ol.format.filter[filter.config.spatialMethod || 'intersects']('the_geom', filter.value),\n 'expression': null\n }[filter.type]\n }).children[0].innerHTML + ')').repeat(layers.length || 1) : undefined\n });\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: {}\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if ('GET' === method && !['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.get({ url: url + '?' + new URLSearchParams(params || {}).toString() });\n }\n\n if ('POST' === method || ['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n }\n\n var data = _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n projections: {\n map: _this4._layer.getMapProjection(),\n layer: opts.reproject ? _this4._layer.getProjection() : null\n },\n layers: layers,\n wms: false\n });\n\n // sanitize in case of nil:true\n data.flatMap(function (l) {\n return l.features || [];\n }).forEach(function (f) {\n return Object.entries(f.getProperties()).forEach(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n attribute = _ref10[0],\n value = _ref10[1];\n\n return value && value['xsi:nil'] && feature.set(attribute, 'NULL');\n });\n });\n return { data: data };\n } finally {\n clearTimeout(timer);\n }\n })()]));\n }\n }]);\n\n return wfs;\n }()\n\n};\n\nvar DOWNLOAD_FORMATS = {\n download: { format: 'shapefile', url: 'shp' },\n download_gpkg: { format: 'gpkg', url: 'gpkg' },\n download_gpx: { format: 'gpx', url: 'gpx' },\n download_csv: { format: 'csv', url: 'csv' },\n download_xls: { format: 'xls', url: 'xls' },\n download_raster: { format: 'geotiff', url: 'geotiff' },\n download_pdf: { format: 'pdf', url: 'pdf' }\n};\n\n/**\n * Base class for all layers\n */\n\nvar Layer = function (_G3WObject) {\n _inherits(Layer, _G3WObject);\n\n function Layer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Layer);\n\n //get current project object\n var _this5 = _possibleConstructorReturn(this, (Layer.__proto__ || Object.getPrototypeOf(Layer)).call(this));\n\n var project = options.project || _application2.default.project;\n var suffixUrl = config.baselayer ? '' : project.getType() + '/' + project.getId() + '/' + config.id + '/';\n var vectorUrl = config.baselayer ? '' : project.state.vectorurl;\n var rasterUrl = config.baselayer ? '' : project.state.rasterurl;\n\n // assign some attributes\n\n _this5.config = Object.assign(config, _extends({\n id: config.id || 'Layer',\n title: config.title || config.name,\n download: !!config.download,\n geolayer: false,\n baselayer: !!config.baselayer,\n fields: config.fields || {},\n // URLs to get various type of data\n urls: _extends({\n query: config.infourl || config.wmsUrl\n }, config.urls || {}, config.baselayer ? {} : {\n filtertoken: vectorUrl + 'filtertoken/' + suffixUrl,\n data: vectorUrl + 'data/' + suffixUrl,\n shp: vectorUrl + 'shp/' + suffixUrl,\n csv: vectorUrl + 'csv/' + suffixUrl,\n xls: vectorUrl + 'xls/' + suffixUrl,\n gpx: vectorUrl + 'gpx/' + suffixUrl,\n gpkg: vectorUrl + 'gpkg/' + suffixUrl,\n geotiff: rasterUrl + 'geotiff/' + suffixUrl,\n editing: vectorUrl + 'editing/' + suffixUrl,\n commit: vectorUrl + 'commit/' + suffixUrl,\n config: vectorUrl + 'config/' + suffixUrl,\n unlock: vectorUrl + 'unlock/' + suffixUrl,\n widget: {\n unique: vectorUrl + 'widget/unique/data/' + suffixUrl\n },\n /** @since 3.8.0 */\n featurecount: project.getUrl('featurecount'),\n /** @since 3.10.0 */\n pdf: '/html2pdf/'\n })\n }, config.baselayer ? {} : { searchParams: { I: 0, J: 0 } }, {\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n search_endpoint: 'api'\n }));\n\n var relations = project.getRelations().filter(function (r) {\n return [r.referencedLayer, r.referencingLayer].includes(_this5.getId());\n });\n\n /**\n * Layer relations\n */\n _this5._relations = {\n\n /**\n * ORIGINAL SOURCE: src/app/core/relations/relation.js@v3.10.1\n * \n * Relations store\n * \n * @type { Relation[] }\n */\n _relations: (relations || []).reduce(function (relations) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var suffix = Date.now();\n /** relation state */\n var state = {\n /** @type { boolean } loading state (for editing purpose) */\n loading: false,\n /** @type { string } relation id */\n id: config.id || 'id_' + suffix,\n /** @type { string } relation name */\n name: config.name || 'name_' + suffix,\n origname: config.origname || 'origname_' + suffix,\n /** @type { string[] } layerId of father relation */\n father: config.referencedLayer,\n /** @type { string[] } layerId of child relation */\n child: config.referencingLayer,\n /** @type { 'MANY' | ONE' | string } relation type */\n type: config.type,\n /** @since 3.9.0 */\n editable: config.editable || false,\n /** @type { string } relation prefix (for Relation 1:1) @since 3.9.0 */\n prefix: config.prefix,\n /** BACKCOMP (g3w-admin < v.3.7.0) - father relation field name */\n fatherField: [].concat(config.fieldRef.referencedField),\n /** BACKCOMP (g3w-admin < v.3.7.0) - child relation layer field name */\n childField: [].concat(config.fieldRef.referencingField)\n };\n relations[state.id] = Object.assign(new _g3wObject2.default(config), {\n state: state,\n getId: function getId() {\n return state.id;\n },\n setId: function setId(id) {\n return state.id = id;\n },\n getName: function getName() {\n return state.name;\n },\n setName: function setName(n) {\n return state.name = n;\n },\n getChild: function getChild() {\n return state.child;\n },\n getFather: function getFather() {\n return state.father;\n },\n getState: function getState() {\n return state;\n },\n getType: function getType() {\n return state.type;\n },\n getFatherField: function getFatherField() {\n return state.fatherField;\n },\n getChildField: function getChildField() {\n return state.childField;\n },\n setLoading: function setLoading(b) {\n return state.loading = !!b;\n },\n isLoading: function isLoading() {\n return state.loading;\n },\n isEditable: function isEditable() {\n return state.editable;\n },\n getPrefix: function getPrefix() {\n return state.prefix;\n },\n /** @returns {{ father, child }} relation fields */\n getFields: function getFields() {\n return { father: state.fatherField, child: state.childField };\n },\n /** @FIXME `state.title` is not defined */\n getTitle: function getTitle() {\n return state.title;\n },\n /** @FIXME `state.title` is not defined */\n setTitle: function setTitle(t) {\n return state.title = t;\n }\n });\n return relations;\n }, {}),\n\n /**\n * Number of relations\n * \n * @type { number }\n */\n _length: relations ? relations.length : 0,\n\n /**\n * Build relations between layers.\n *\n * @private\n */\n _reloadRelationsInfo: function _reloadRelationsInfo() {\n\n this._relationsInfo = {\n children: {}, // hashmap: >\n fathers: {}, // hashmap: >\n father_child: {} // hashmap: \n };\n\n var f = void 0,\n c = void 0;\n var _relationsInfo = this._relationsInfo,\n father_child = _relationsInfo.father_child,\n fathers = _relationsInfo.fathers,\n children = _relationsInfo.children;\n\n\n Object.entries(this._relations).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n relationKey = _ref12[0],\n relation = _ref12[1];\n\n f = relation.getFather();\n c = relation.getChild();\n\n father_child[f + c] = relationKey; // relationKey = [father_layerId + child_layerId]\n fathers[f] = fathers[f] || [];\n children[c] = children[c] || [];\n\n fathers[f].push(c);\n children[c].push(f);\n });\n },\n\n\n /**\n * @returns { number } number of relations\n */\n getLength: function getLength() {\n return this._length;\n },\n\n\n /**\n * @param relation.type\n *\n * @returns { {} | Relation[] } relations filtered by type\n */\n getRelations: function getRelations() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$type = _ref13.type,\n type = _ref13$type === undefined ? null : _ref13$type;\n\n // type = null\n if (!type) {\n return this._relations;\n }\n\n // type = { 'ONE' | 'MANY' }\n if (-1 !== ['ONE', 'MANY'].indexOf(type)) {\n var _relations = {};\n for (var name in this._relations) {\n if (type === this._relations[name].getType()) {\n _relations[name] = this._relations[name];\n }\n }\n return _relations;\n }\n\n return {};\n },\n setRelations: function setRelations() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._relations = Array.isArray(relations) ? relations : [];\n },\n getRelationById: function getRelationById(id) {\n return this._relations[id];\n },\n getArray: function getArray() {\n return Object.entries(this._relations).map(function (r) {\n return r[1];\n });\n },\n getRelationByFatherChildren: function getRelationByFatherChildren(father, child) {\n return this.getRelationById(this._relationsInfo.father_child[father + child]);\n },\n isChild: function isChild(id) {\n return !!this._relationsInfo.children[id];\n },\n isFather: function isFather(id) {\n return !!this._relationsInfo.fathers[id];\n },\n hasChildren: function hasChildren(layer_id) {\n return (this.getChildren(layer_id) || []).length > 0;\n },\n hasFathers: function hasFathers(layer_id) {\n return (this.getFathers(layer_id) || []).length > 0;\n },\n\n /** @returns { Array | null } child layers (IDs) within same relation */\n getChildren: function getChildren(layer_id) {\n return this.isFather(layer_id) ? this._relationsInfo.fathers[layer_id] : null;\n },\n\n /** @returns { Array | null } father layers (IDs) within same relation */\n getFathers: function getFathers(layer_id) {\n return this.isChild(layer_id) ? this._relationsInfo.children[layer_id] : null;\n }\n };\n\n _this5._relations._reloadRelationsInfo();\n\n // dinamic layer values useful for layerstree\n var defaultstyle = config.styles && config.styles.find(function (s) {\n return s.current;\n }).name;\n\n /**\n * @TODO make it simpler, `this.config` and `this.state` are essentially duplicated data\n */\n _this5.state = {\n id: config.id,\n title: config.title,\n selected: config.selected || false,\n disabled: config.disabled || false,\n metadata: config.metadata,\n openattributetable: _this5.canShowTable(),\n removable: config.removable || false,\n downloadable: _this5.isDownloadable(),\n source: config.source,\n styles: config.styles,\n defaultstyle: defaultstyle,\n infoformat: _this5.getInfoFormat(),\n infoformats: _this5.config.infoformats || [],\n projectLayer: true,\n geolayer: false,\n attributetable: { pageLength: null },\n visible: config.visible || false,\n tochighlightable: false,\n /** state of if is in editing (setted by editing plugin) */\n inediting: false,\n /** Reactive selection attribute */\n selection: { active: false },\n /** Reactive filter attribute */\n filter: {\n active: false,\n /** @since 3.9.0 whether filter is set from a previously saved filter */\n current: null\n },\n /** @type { Array<{{ id: string, name: string }}> } since 3.9.0 - array of saved filters */\n filters: config.filters || [],\n /** @type {number} since 3.8.0 */\n featurecount: config.featurecount,\n /** @type { boolean | Object } since 3.8.0 */\n stylesfeaturecount: config.featurecount && defaultstyle && _defineProperty({}, defaultstyle, config.featurecount),\n /** @type { string } since 3.10.0 */\n name: config.name,\n /** @type { boolean } since 3.10.0 */\n expanded: config.expanded,\n /** @type { boolean } since 3.10.0 - whether to show layer on TOC (default: true) */\n toc: 'boolean' === typeof config.toc ? config.toc : true\n };\n\n /**\n * Store all selections feature `fids`\n */\n _this5.selectionFids = new Set();\n\n // referred to (layersstore);\n _this5._layersstore = config.layersstore || null;\n\n var layerType = _this5.config.servertype + ' ' + (_this5.config.source && _this5.config.source.type);\n\n /**\n * Layer providers used to retrieve layer data from server\n * \n * 1 - data: raw layer data (editing)\n * 2 - filter\n * 3 - filtertoken\n * 4 - query\n * 5 - search\n */\n _this5.providers = {\n\n data: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType)) {\n return createProvider('qgis', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n filter: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms'].includes(layerType) && createProvider('wfs', _this5),\n\n filtertoken: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext'].includes(layerType) && createProvider('qgis', _this5),\n\n query: function () {\n 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',\n /** @since 3.9.0 */\n 'QGIS postgresraster', 'QGIS vector-tile', 'QGIS vectortile', 'QGIS arcgismapserver', 'QGIS mdal', 'OGC wms'].includes(layerType)) {\n return createProvider('wms', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n search: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType) && createProvider('qgis', _this5)\n\n };\n\n /**\n * Store last proxy params (useful for repeat request info formats for wms external layer)\n */\n _this5.proxyData = {\n wms: null // at the moment only wms data from server\n };\n\n return _this5;\n }\n\n /******************************************************************************************\n * LAYER DOWNLOAD\n *****************************************************************************************/\n\n /** \n * @returns { Promise }\n */\n\n\n _createClass(Layer, [{\n key: 'getDownloadFilefromDownloadDataType',\n value: function getDownloadFilefromDownloadDataType(type, _ref15) {\n var _ref15$data = _ref15.data,\n data = _ref15$data === undefined ? {} : _ref15$data;\n\n data.filtertoken = this.getFilterToken();\n\n if ('pdf' === type) {\n return (0, _downloadFile.downloadFile)({\n url: this.getUrl('pdf'),\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n data: JSON.stringify(data),\n mime_type: 'application/pdf',\n method: 'POST'\n });\n }\n\n return _XHR.XHR.fileDownload({\n url: this.getUrl('shapefile' === type ? 'shp' : type),\n data: data,\n httpMethod: \"POST\"\n });\n }\n }, {\n key: 'getGeoTIFF',\n value: function getGeoTIFF() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$data = _ref16.data,\n data = _ref16$data === undefined ? {} : _ref16$data;\n\n return this.getDownloadFilefromDownloadDataType('geotiff', { data: data });\n }\n }, {\n key: 'getXls',\n value: function getXls() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$data = _ref17.data,\n data = _ref17$data === undefined ? {} : _ref17$data;\n\n return this.getDownloadFilefromDownloadDataType('xls', { data: data });\n }\n }, {\n key: 'getShp',\n value: function getShp() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? {} : _ref18$data;\n\n return this.getDownloadFilefromDownloadDataType('shapefile', { data: data });\n }\n }, {\n key: 'getGpx',\n value: function getGpx() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$data = _ref19.data,\n data = _ref19$data === undefined ? {} : _ref19$data;\n\n return this.getDownloadFilefromDownloadDataType('gpx', { data: data });\n }\n }, {\n key: 'getGpkg',\n value: function getGpkg() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$data = _ref20.data,\n data = _ref20$data === undefined ? {} : _ref20$data;\n\n return this.getDownloadFilefromDownloadDataType('gpkg', { data: data });\n }\n }, {\n key: 'getCsv',\n value: function getCsv() {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? {} : _ref21$data;\n\n return this.getDownloadFilefromDownloadDataType('csv', { data: data });\n }\n\n /**\n * @returns { string[] } download formats\n */\n\n }, {\n key: 'getDownloadableFormats',\n value: function getDownloadableFormats() {\n var _this6 = this;\n\n return Object.keys(DOWNLOAD_FORMATS).filter(function (d) {\n return _this6.config[d];\n }).map(function (d) {\n return DOWNLOAD_FORMATS[d].format;\n });\n }\n\n /**\n * @param download url\n * \n * @returns { string }\n */\n\n }, {\n key: 'getDownloadUrl',\n value: function getDownloadUrl(format) {\n return (Object.values(DOWNLOAD_FORMATS).find(function (d) {\n return d.format === format;\n }) || {}).url;\n }\n\n /**\n * @returns { boolean } whether it has a format to download\n */\n\n }, {\n key: 'isDownloadable',\n value: function isDownloadable() {\n return !!this.getDownloadableFormats().length;\n }\n }, {\n key: 'isGeoTIFFDownloadable',\n value: function isGeoTIFFDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' === this.config.source.type;\n }\n }, {\n key: 'isShpDownloadable',\n value: function isShpDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' !== this.config.source.type;\n }\n }, {\n key: 'isXlsDownloadable',\n value: function isXlsDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_xls;\n }\n }, {\n key: 'isGpxDownloadable',\n value: function isGpxDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpx;\n }\n }, {\n key: 'isGpkgDownloadable',\n value: function isGpkgDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpkg;\n }\n }, {\n key: 'isCsvDownloadable',\n value: function isCsvDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_csv;\n }\n\n /******************************************************************************************\n * LAYER RELATIONS\n *****************************************************************************************/\n\n /**\n * @returns {*} relations\n */\n\n }, {\n key: 'getRelations',\n value: function getRelations() {\n return this._relations;\n }\n\n /**\n * @param id\n * \n * @returns {*} relation by id\n */\n\n }, {\n key: 'getRelationById',\n value: function getRelationById(id) {\n return this._relations.getArray().find(function (r) {\n return id === r.getId();\n });\n }\n\n /**\n * @param relationName\n * \n * @returns { * | Array } relation fields\n */\n\n }, {\n key: 'getRelationAttributes',\n value: function getRelationAttributes(relationName) {\n var relation = this._relations.find(function (r) {\n return relationName === r.name;\n });\n return relation ? relation.fields : [];\n }\n\n /**\n * [LAYER RELATIONS]\n * \n * @TODO Add description\n * \n * @returns { Object } fields\n */\n\n }, {\n key: 'getRelationsAttributes',\n value: function getRelationsAttributes() {\n return (this.state.relations || []).reduce(function (fields, r) {\n fields[r.name] = r.fields;\n return fields;\n }, {});\n }\n\n /**\n * @returns { * | boolean } whether layer is a Child of a relation\n */\n\n }, {\n key: 'isChild',\n value: function isChild() {\n return this.getRelations() ? this._relations.isChild(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether layer is a Father of a relation\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.getRelations() ? this._relations.isFather(this.getId()) : false;\n }\n\n /**\n * @returns { * |Array } children relations\n */\n\n }, {\n key: 'getChildren',\n value: function getChildren() {\n return this.isFather() ? this._relations.getChildren(this.getId()) : [];\n }\n\n /**\n * @returns { * | Array } parents relations\n */\n\n }, {\n key: 'getFathers',\n value: function getFathers() {\n return this.isChild() ? this._relations.getFathers(this.getId()) : [];\n }\n\n /**\n * @returns { * | boolean } whether it has children\n */\n\n }, {\n key: 'hasChildren',\n value: function hasChildren() {\n return this.hasRelations() ? this._relations.hasChildren(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether it has fathers\n */\n\n }, {\n key: 'hasFathers',\n value: function hasFathers() {\n return this.hasRelations() ? this._relations.hasFathers(this.getId()) : false;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'hasRelations',\n value: function hasRelations() {\n return !!this._relations;\n }\n\n /******************************************************************************************\n * LAYER SELECTION\n *****************************************************************************************/\n\n /**\n * @returns { boolean } whether is selected\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param { boolean } selected\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected(selected) {\n this.state.selected = selected;\n }\n\n /**\n * Set Selection\n * \n * @param bool\n * \n * @returns {Promise}\n * \n * @fires unselectionall\n */\n\n }, {\n key: 'setSelection',\n value: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selection.active = bool;\n\n // skip when selection is active\n if (bool) {\n return;\n }\n\n //check if filter is active\n var is_active = this.state.filter.active;\n var has_current = null !== this.state.filter.current;\n\n /** @TODO add description */\n if (has_current && is_active) {\n yield this._applyFilterToken(this.state.filter.current);\n }\n\n /** @TODO add description */\n if (!has_current && is_active) {\n yield this.deleteFilterToken();\n }\n\n this.emit('unselectionall', this.getId());\n });\n\n function setSelection() {\n return _ref22.apply(this, arguments);\n }\n\n return setSelection;\n }()\n\n /**\n * @returns { boolean } whether selection si active\n */\n\n }, {\n key: 'isSelectionActive',\n value: function isSelectionActive() {\n return this.state.selection.active;\n }\n\n /**\n * @returns {{ active: boolean }} selection\n */\n\n }, {\n key: 'getSelection',\n value: function getSelection() {\n return this.state.selection;\n }\n\n /**\n * @returns filter\n */\n\n }, {\n key: 'getFilter',\n value: function getFilter() {\n return this.state.filter;\n }\n\n /**\n * Set filter Active to layer\n * \n * @param {boolean} bool\n */\n\n }, {\n key: 'setFilter',\n value: function setFilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.filter.active = bool;\n if (this.isGeoLayer() && this.state.filter.active) {\n this.hideOlSelectionFeatures();\n }\n if (this.isGeoLayer() && !this.state.filter.active) {\n this.updateMapOlSelectionFeatures();\n }\n }\n\n /**\n * Apply layer filter by fid\n * \n * @param filter\n */\n\n }, {\n key: 'applyFilter',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (filter) {\n if (!this.providers['filtertoken']) {\n return;\n }\n\n // the current filter is set and is different from current\n if (null === this.state.filter.current || filter.fid !== this.state.filter.current.fid) {\n yield this.clearSelectionFids();\n _gui2.default.closeContent();\n }\n\n yield this._applyFilterToken(filter);\n });\n\n function applyFilter(_x21) {\n return _ref23.apply(this, arguments);\n }\n\n return applyFilter;\n }()\n\n /**\n * @returns {Promise}\n * \n * @private\n */\n\n }, {\n key: '_applyFilterToken',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (filter) {\n try {\n /** @example /vector/api/filtertoken////mode=apply&fid=|name= */\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'apply', fid: filter.fid }\n });\n if (!response || !response.result || !response.data) {\n return;\n }\n this.setFilter(false);\n this.state.filter.current = filter;\n this.setFilterToken(response.data);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function _applyFilterToken(_x22) {\n return _ref24.apply(this, arguments);\n }\n\n return _applyFilterToken;\n }()\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'saveFilter',\n value: function saveFilter() {\n\n // skip when ..\n if (!this.providers['filtertoken'] || !this.selectionFids.size > 0) {\n return;\n }\n\n var layer = this;\n\n (0, _prompt.prompt)({\n label: t('layer_selection_filter.tools.savefilter'),\n value: layer.state.filter.current ? layer.state.filter.current.name : '',\n callback: function () {\n var _ref25 = _asyncToGenerator(function* (name) {\n\n /** @example /vector/api/filtertoken////mode=save&name= */\n var response = yield _XHR.XHR.get({\n url: layer.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'save', name: name } });\n\n // skip when no data return from provider\n if (!response || !response.result || !response.data) {\n return;\n }\n\n var filter = layer.state.filters.find(function (f) {\n return response.data.fid === f.fid;\n });\n\n // add saved filter to filters array\n if (undefined === filter) {\n filter = {\n fid: response.data.fid, //get fid\n name: response.data.name //get name\n };\n layer.state.filters.push(filter);\n }\n\n layer.state.filter.current = filter; // set current filter\n layer.setFilter(false); // set to false\n layer.getSelection().active = false; // reset selection to false\n layer.selectionFids.clear(); // clear current fids\n\n //in the case of geolayer\n if (layer.isGeoLayer()) {\n //remove selection feature from map\n layer.setOlSelectionFeatures();\n }\n\n //emit unselectionall\n layer.emit('unselectionall', layer.getId());\n });\n\n function callback(_x23) {\n return _ref25.apply(this, arguments);\n }\n\n return callback;\n }()\n });\n }\n\n /**\n * Toggle filter token on layer\n */\n\n }, {\n key: 'toggleFilterToken',\n value: function () {\n var _ref26 = _asyncToGenerator(function* () {\n\n //set to handle select or hide ol\n this.setFilter(!this.state.filter.active);\n\n var has_current = this.state.filter.current;\n var is_active = this.state.filter.active;\n\n // there is an active filter --> create a new filter\n if (is_active) {\n yield this.createFilterToken();\n }\n\n // there is a current saved filter --> apply filter\n if (has_current && !is_active) {\n yield this.applyFilter(this.state.filter.current);\n }\n\n // there is no current saved filter --> delete it\n if (!has_current && !is_active) {\n yield this.deleteFilterToken();\n }\n\n return this.state.filter.active;\n });\n\n function toggleFilterToken() {\n return _ref26.apply(this, arguments);\n }\n\n return toggleFilterToken;\n }()\n\n /**\n * Delete filtertoken from server\n * \n * @param fid unique id of filter saved to delete\n */\n\n }, {\n key: 'deleteFilterToken',\n value: function () {\n var _ref27 = _asyncToGenerator(function* (fid) {\n try {\n // skip when no filtertoken provider is set\n if (!this.providers['filtertoken']) {\n return;\n }\n\n var filtertoken = void 0;\n try {\n // Delete saved filter from server --> `/vector/api/filtertoken////mode=delete_saved&fid=|name=`\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: fid, mode: undefined === fid ? 'delete' : 'delete_saved' }\n });\n // filter token if another layer is filtered otherwise filtertoken is undefined\n if (response && response.result && response.data) {\n filtertoken = response.data.filtertoken;\n }\n } catch (e) {\n console.warn(e);\n }\n\n // remove it from filters list when deleting a saved filter (since v3.9.0)\n if (undefined !== fid) {\n this.state.filters = this.state.filters.filter(function (f) {\n return fid !== f.fid;\n });\n }\n\n this.state.filter.current = null; // set current filter set to null\n // set active filter to false\n if (this.state.filter.active) {\n this.setFilter(false);\n }\n this.setFilterToken(filtertoken); // pass `filtertoken` to application\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFilterToken(_x24) {\n return _ref27.apply(this, arguments);\n }\n\n return deleteFilterToken;\n }()\n\n /**\n * Set applicaton filter token\n * \n * @param {string} filtertoken a string passed by server and used as parameter in XHR request\n *\n * @fires filtertokenchange when filtertoken is changed\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'setFilterToken',\n value: function setFilterToken() {\n var filtertoken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n _application2.default.tokens.filtertoken = filtertoken;\n this.emit('filtertokenchange', { layerId: this.getId() });\n }\n\n /**\n * Create filter token\n */\n\n }, {\n key: 'createFilterToken',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n try {\n\n var provider = this.providers['filtertoken'];\n var selection = this.selectionFids;\n\n // skip when no filter token provider is set or selectionFids is empty\n if (!provider || !selection.size > 0) {\n return;\n }\n\n // select all features\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n try {\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: undefined, mode: 'delete' }\n });\n } catch (e) {\n console.warn(e);\n }\n this.setFilterToken(null);\n\n return;\n }\n\n var fids = Array.from(selection);\n\n var _ref29 = yield _XHR.XHR.get({\n url: provider._layer.getUrl('filtertoken'),\n params: selection.has(_g3wConstants.SELECTION.EXCLUDE) ? { fidsout: fids.filter(function (id) {\n return id !== _g3wConstants.SELECTION.EXCLUDE;\n }).join(',') // exclude features from selection\n } : { fidsin: fids.join(',') // include features in selection\n } }),\n _ref29$data = _ref29.data,\n data = _ref29$data === undefined ? {} : _ref29$data;\n\n this.setFilterToken(data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function createFilterToken() {\n return _ref28.apply(this, arguments);\n }\n\n return createFilterToken;\n }()\n\n /**\n * Get Application filter token\n * \n * @returns {*}\n */\n\n }, {\n key: 'getFilterToken',\n value: function getFilterToken() {\n return _application2.default.tokens.filtertoken;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'setSelectionFidsAll',\n value: function setSelectionFidsAll() {\n this.selectionFids.clear();\n this.selectionFids.add(_g3wConstants.SELECTION.ALL);\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n //set all features selected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = true;\n });\n this.updateMapOlSelectionFeatures();\n }\n\n /** @TODO add description */\n this.setSelection(true);\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n }\n\n /**\n * @returns {Set} stored selection `fids` \n */\n\n }, {\n key: 'getSelectionFids',\n value: function getSelectionFids() {\n return this.selectionFids;\n }\n\n /**\n * Invert current selection fids\n */\n\n }, {\n key: 'invertSelectionFids',\n value: function invertSelectionFids() {\n var selection = this.selectionFids;\n\n /** @TODO add description */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n selection.delete(_g3wConstants.SELECTION.EXCLUDE);\n } else if (selection.has(_g3wConstants.SELECTION.ALL)) {\n selection.delete(_g3wConstants.SELECTION.ALL);\n } else if (selection.size > 0) {\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setInversionOlSelectionFeatures();\n }\n\n /** In the case of tocken filter active create */\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n\n this.setSelection(selection.size > 0);\n }\n\n /**\n * Check if feature id is present\n * \n * @param fid feature id\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'hasSelectionFid',\n value: function hasSelectionFid(fid) {\n var selection = this.selectionFids;\n\n /** In case contain selection ALL, mean all features selected */\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n return true;\n }\n\n /**In case selection contains exclude value, check if id is not in excluded feature id */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n return !selection.has(fid);\n }\n\n /** Check if id is on selection set */\n return selection.has(fid);\n }\n\n /**\n * Include fid feature id to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'includeSelectionFid',\n value: function () {\n var _ref30 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) && selection.has(fid);\n\n // remove fid from exclude\n if (is_excluded) {\n selection.delete(fid);\n }\n\n // add to selection fid\n if (!is_excluded) {\n selection.add(fid);\n }\n\n // if the only one exclude Set all selected\n if (is_excluded && 1 === selection.size) {\n this.setSelectionFidsAll();\n }\n\n /** @TODO add description */\n if (!is_excluded && !this.isSelectionActive()) {\n this.setSelection(true);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFid(_x27) {\n return _ref30.apply(this, arguments);\n }\n\n return includeSelectionFid;\n }()\n\n /**\n * Exclude fid to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'excludeSelectionFid',\n value: function () {\n var _ref31 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n /**In case all features are selected or no features are selected */\n if (selection.has(_g3wConstants.SELECTION.ALL) || 0 === selection.size) {\n //set an empty selection set\n selection.clear();\n //add exclude item\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** If has exclude item, mean add fid to exclude */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //add to exclude\n selection.add(fid);\n } else {\n //remote to exclude\n selection.delete(fid);\n }\n\n /** If no selection */\n if (0 === selection.size) {\n this.clearSelectionFids();\n }\n\n /** If contain only exclude fid */\n if (1 === selection.size && selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //celar selection set\n selection.clear();\n this.setselectionFidsAll();\n }\n\n if (this.isGeoLayer()) {\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid);\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** If there is a filterActive */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFid(_x29) {\n return _ref31.apply(this, arguments);\n }\n\n return excludeSelectionFid;\n }()\n\n /**\n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'includeSelectionFids',\n value: function () {\n var _ref32 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this7.includeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFids() {\n return _ref32.apply(this, arguments);\n }\n\n return includeSelectionFids;\n }()\n\n /**\n * Exclude fids from selection\n * \n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'excludeSelectionFids',\n value: function () {\n var _ref33 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n //pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this8.excludeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFids() {\n return _ref33.apply(this, arguments);\n }\n\n return excludeSelectionFids;\n }()\n\n /**\n * Clear selection\n */\n\n }, {\n key: 'clearSelectionFids',\n value: function () {\n var _ref34 = _asyncToGenerator(function* () {\n this.selectionFids.clear();\n // remove selected feature on a map\n if (this.isGeoLayer()) {\n //set all features unselected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = false;\n });\n this.updateMapOlSelectionFeatures();\n }\n // set selection false\n yield this.setSelection(false);\n });\n\n function clearSelectionFids() {\n return _ref34.apply(this, arguments);\n }\n\n return clearSelectionFids;\n }()\n\n /******************************************************************************************\n * LAYER BASE\n *****************************************************************************************/\n\n /**\n * Proxy params data\n */\n\n }, {\n key: 'getProxyData',\n value: function getProxyData(type) {\n return type ? this.proxyData[type] : this.proxyData;\n }\n\n /**\n * Set proxy data\n *\n * @param type\n * @param data\n */\n\n }, {\n key: 'setProxyData',\n value: function setProxyData(type) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.proxyData[type] = data;\n }\n\n /**\n * Clear proxy data\n *\n * @param type\n */\n\n }, {\n key: 'clearProxyData',\n value: function clearProxyData(type) {\n this.proxyData[type] = null;\n }\n\n /**\n * Get a proxy request\n *\n * @param type\n * @param proxyParams\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'getDataProxyFromServer',\n value: function () {\n var _ref35 = _asyncToGenerator(function* () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var proxyParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n var _ref36 = yield _data2.default.getData('proxy:' + type, {\n inputs: proxyParams,\n outputs: false\n }),\n response = _ref36.response,\n data = _ref36.data;\n\n this.setProxyData(type, JSON.parse(data));\n return response;\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getDataProxyFromServer() {\n return _ref35.apply(this, arguments);\n }\n\n return getDataProxyFromServer;\n }()\n\n /**\n * @TODO Add description\n *\n * @param type\n * @param changes\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'changeProxyDataAndReloadFromServer',\n value: function changeProxyDataAndReloadFromServer() {\n var _this9 = this;\n\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(changes).forEach(function (c) {\n Object.keys(changes[c]).forEach(function (p) {\n _this9.proxyData[type][c][p] = changes[c][p];\n });\n });\n return this.getDataProxyFromServer(type, this.proxyData[type]);\n }\n\n /**\n * [EDITING PLUGIN] Check if layer is in editing\n *\n * @returns { boolean }\n */\n\n }, {\n key: 'isInEditing',\n value: function isInEditing() {\n return this.state.inediting;\n }\n\n /**\n * [EDITING PLUGIN] Set editing state\n *\n * @param {boolean} bool\n */\n\n }, {\n key: 'setInEditing',\n value: function setInEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.inediting = bool;\n }\n\n /**\n * @TODO Add description here\n *\n * @returns {*}\n */\n\n }, {\n key: 'getSearchParams',\n value: function getSearchParams() {\n return this.config.searchParams;\n }\n\n /**\n * @deprecated since 3.10.0. Will be removed in v.4.x.\n */\n\n }, {\n key: 'getSearchEndPoint',\n value: function getSearchEndPoint() {\n console.warn('getSearchEndPoint is deprecated');\n return 'api';\n }\n\n /**\n * @TODO Add description\n *\n * @param pageLength\n */\n\n }, {\n key: 'setAttributeTablePageLength',\n value: function setAttributeTablePageLength(pageLength) {\n this.state.attributetable.pageLength = pageLength;\n }\n\n /**\n * @TODO add description\n *\n * @returns {null}\n */\n\n }, {\n key: 'getAttributeTablePageLength',\n value: function getAttributeTablePageLength() {\n return this.state.attributetable.pageLength;\n }\n\n /**\n * @returns { string } wms layer name for wms request\n */\n\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @returns { boolean | *} whether request need to use `layer.id` or `layer.name`\n */\n\n }, {\n key: 'isWmsUseLayerIds',\n value: function isWmsUseLayerIds() {\n return this.config.wms_use_layer_ids;\n }\n\n /**\n * @returns {*|null} source type of layer\n */\n\n }, {\n key: 'getSourceType',\n value: function getSourceType() {\n return this.config.source ? this.config.source.type : null;\n }\n\n /**\n * @returns {boolean} whether it is a layer with geometry\n */\n\n }, {\n key: 'isGeoLayer',\n value: function isGeoLayer() {\n return this.state.geolayer;\n }\n\n /**\n * @TODO Add description\n *\n * @param { Object } opts\n * @param opts.page\n * @param opts.page_size\n * @param opts.ordering\n * @param opts.search\n * @param opts.suggest\n * @param opts.formatter\n * @param opts.custom_params\n * @param opts.field\n * @param opts.in_bbox\n *\n * @returns {*}\n */\n\n }, {\n key: 'getDataTable',\n value: function getDataTable() {\n var _this10 = this;\n\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$page = _ref37.page,\n page = _ref37$page === undefined ? null : _ref37$page,\n _ref37$page_size = _ref37.page_size,\n page_size = _ref37$page_size === undefined ? null : _ref37$page_size,\n _ref37$ordering = _ref37.ordering,\n ordering = _ref37$ordering === undefined ? null : _ref37$ordering,\n _ref37$search = _ref37.search,\n search = _ref37$search === undefined ? null : _ref37$search,\n _ref37$suggest = _ref37.suggest,\n suggest = _ref37$suggest === undefined ? null : _ref37$suggest,\n _ref37$formatter = _ref37.formatter,\n formatter = _ref37$formatter === undefined ? 0 : _ref37$formatter,\n _ref37$custom_params = _ref37.custom_params,\n custom_params = _ref37$custom_params === undefined ? {} : _ref37$custom_params,\n field = _ref37.field,\n in_bbox = _ref37.in_bbox;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when..\n if (!_this10.getProvider('filter') && !_this10.getProvider('data')) {\n return Promise.reject();\n }\n\n var response = yield (0, _promisify.promisify)(_this10.getProvider('data').getFeatures({ editing: false }, _extends({}, custom_params, {\n field: field,\n page: page,\n page_size: page_size,\n ordering: ordering,\n search: search,\n formatter: formatter,\n suggest: suggest,\n in_bbox: in_bbox,\n filtertoken: _application2.default.tokens.filtertoken\n })));\n var features = response.data.features && response.data.features || [];\n return {\n headers: (0, _parseAttributes.parseAttributes)(_this10.getAttributes(), features.length ? features[0].properties : []),\n features: features,\n title: _this10.getTitle(),\n count: response.count\n };\n }));\n }\n\n /**\n * Search layer feature by fids\n *\n * @param fids\n * @param formatter\n */\n\n }, {\n key: 'getFeatureByFids',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref40$fids = _ref40.fids,\n fids = _ref40$fids === undefined ? [] : _ref40$fids,\n _ref40$formatter = _ref40.formatter,\n formatter = _ref40$formatter === undefined ? 0 : _ref40$formatter;\n\n var url = this.getUrl('data');\n try {\n var response = yield _XHR.XHR.get({\n url: url,\n params: {\n fids: fids.toString(),\n formatter: formatter\n }\n });\n if (response && response.result && response.vector && response.vector.data) {\n return response.vector.data.features;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getFeatureByFids() {\n return _ref39.apply(this, arguments);\n }\n\n return getFeatureByFids;\n }()\n\n /**\n * @TODO deprecate `search_endpoint = 'ows'`\n *\n * Search Features\n * \n * @param { Object } options\n * @param { 'ows' | 'api' } options.search_endpoint\n * @param { boolean } options.raw\n * @param { 0 | 1 } options.formatter\n * @param options.filter\n * @param options.suggest\n * @param options.unique\n * @param options.queryUrl\n * @param options.ordering\n * @param { Object } params - OWS search params\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'searchFeatures',\n value: function searchFeatures() {\n var _this11 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$search_endpo = options.search_endpoint,\n search_endpoint = _options$search_endpo === undefined ? this.config.search_endpoint : _options$search_endpo;\n\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve, reject) {\n switch (search_endpoint) {\n\n case 'ows':\n _this11.search(options, params).then(function (results) {\n resolve({ data: results });\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n break;\n\n case 'api':\n try {\n resolve((yield _this11.getFilterData({\n queryUrl: options.queryUrl,\n field: options.filter,\n ordering: options.ordering,\n unique: options.unique,\n raw: undefined !== options.raw ? options.raw : false,\n suggest: options.suggest,\n /** @since 3.9.0 */\n formatter: undefined !== options.formatter ? options.formatter : 1\n })));\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n break;\n }\n });\n\n return function (_x44, _x45) {\n return _ref41.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Get feature data based on `field` and `suggests`\n * \n * @param { Object } opts\n * @param { boolean } opts.raw\n * @param { Object } opts.suggest - (mandatory): object with key is a field of layer and value is value of the field to filter\n * @param { 0 | 1 } opts.formatter\n * @param { Array } opts.field - Array of object with type of suggest (see above)\n * @param opts.unique\n * @param opts.fformatter since 3.9.0\n * @param opts.ffield since 3.9.1\n * @param opts.queryUrl\n * @param opts.ordering\n */\n\n }, {\n key: 'getFilterData',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var _ref43 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref43$raw = _ref43.raw,\n raw = _ref43$raw === undefined ? false : _ref43$raw,\n suggest = _ref43.suggest,\n field = _ref43.field,\n unique = _ref43.unique,\n fformatter = _ref43.fformatter,\n ffield = _ref43.ffield,\n _ref43$formatter = _ref43.formatter,\n formatter = _ref43$formatter === undefined ? 1 : _ref43$formatter,\n queryUrl = _ref43.queryUrl,\n ordering = _ref43.ordering;\n\n var provider = this.getProvider('data');\n provider._projections = provider._projections || { map: null, layer: null };\n var params = {\n field: field,\n suggest: suggest,\n ordering: ordering,\n formatter: formatter,\n unique: unique,\n fformatter: fformatter,\n ffield: ffield,\n filtertoken: _application2.default.tokens.filtertoken\n };\n try {\n var url = queryUrl ? queryUrl : provider._layer.getUrl('data');\n var response = field // check `field` parameter\n ? yield _XHR.XHR.post({ url: url, contentType: 'application/json', data: JSON.stringify(params) }) // since g3w-admin@v3.7\n : yield _XHR.XHR.get({ url: url, params: params }); // BACKCOMP (`unique` and `ordering` were only GET parameters)\n\n // vector layer\n if ('table' !== provider._layer.getType()) {\n provider._projections.map = provider._layer.getMapProjection() || provider._projections.layer;\n }\n\n if (raw) {\n return response;\n }\n if (unique && response.result) {\n return response.data;\n }\n if (fformatter && response.result) {\n return response;\n }\n\n if (response.result) {\n return {\n data: _parsers.ResponseParser.get('application/json')({\n layers: [provider._layer],\n response: response.vector.data,\n projections: provider._projections\n })\n };\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n return Promise.reject();\n });\n\n function getFilterData() {\n return _ref42.apply(this, arguments);\n }\n\n return getFilterData;\n }()\n\n /**\n * search method \n */\n\n }, {\n key: 'search',\n value: function search() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, options, {\n feature_count: options.feature_count || 10\n }, this.config.searchParams, params);\n var provider = this.getProvider('search');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_searchable'));\n }));\n }\n\n /**\n * Info from layer (only for querable layers) \n */\n\n }, {\n key: 'query',\n value: function query() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var provider = this.getProvider(options.filter ? 'filter' : 'query');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_querable'));\n }));\n }\n\n /**\n * General way to get an attribute \n */\n\n }, {\n key: 'get',\n value: function get(property) {\n return this.config[property] ? this.config[property] : this.state[property];\n }\n\n /**\n * @returns { * | {} } layer fields\n */\n\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.config.fields;\n }\n\n /**\n * @returns { Array } editing fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n return this.config.editing.fields;\n }\n\n /**\n * @returns { Array } only show fields\n */\n\n }, {\n key: 'getTableFields',\n value: function getTableFields() {\n return (this.config.fields || []).filter(function (f) {\n return f.show;\n });\n }\n\n /**\n * @returns { Array } table fields exclude geometry field\n */\n\n }, {\n key: 'getTableHeaders',\n value: function getTableHeaders() {\n return this.getTableFields().filter(function (f) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(f.name);\n });\n }\n\n /**\n * @returns {*} current project\n */\n\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.config.project;\n }\n\n /**\n * @returns { Object } layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n\n /**\n *\n * @returns { Array } form structure to show on form editing\n */\n\n }, {\n key: 'getLayerEditingFormStructure',\n value: function getLayerEditingFormStructure() {\n return this.config.editor_form_structure;\n }\n\n /**\n * @returns { boolean } whether it has form structure\n */\n\n }, {\n key: 'hasFormStructure',\n value: function hasFormStructure() {\n return !!this.config.editor_form_structure;\n }\n\n /**\n * @returns custom style (for future implementation)\n */\n\n }, {\n key: 'getCustomStyle',\n value: function getCustomStyle() {\n return this.config.customstyle;\n }\n\n /**\n * Get state layer\n *\n * @returns {*|{metadata, downloadable: *, attributetable: {pageLength: null}, defaultstyle: *, source, title: *, infoformats: ((function(): *)|*|*[]), tochighlightable: boolean, featurecount: number, stylesfeaturecount: (number|string|*|{[p: number]: *}), projectLayer: boolean, infoformat: (string|default.watch.infoformat|*), geolayer: boolean, inediting: boolean, disabled: boolean, id: (*|string), selected: boolean, openattributetable: (boolean|boolean), visible: boolean, filters: *[], filter: {current: null, active: boolean}, selection: {active: boolean}, removable: (boolean|*), styles}}\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @returns {*} layer source (ex. ogr, spatialite, etc..)\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.state.source;\n }\n\n /**\n * @returns {*} editing version of layer\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this._editingLayer;\n }\n\n /**\n * Set editing layer\n *\n * @param editingLayer\n */\n\n }, {\n key: 'setEditingLayer',\n value: function setEditingLayer(editingLayer) {\n this._editingLayer = editingLayer;\n }\n\n /**\n * @returns {string|string[]|boolean|string|*} whether is hidden\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.state.hidden;\n }\n\n /**\n * Set hidden\n *\n * @param bool\n */\n\n }, {\n key: 'setHidden',\n value: function setHidden() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.hidden = bool;\n }\n\n /**\n * @returns {*|string} id\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n\n /**\n * @returns {*} metadata\n */\n\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this.state.metadata;\n }\n\n /**\n * @returns {*} title\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.config.title;\n }\n\n /**\n * @returns {*} name\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.config.name;\n }\n\n /**\n * @returns {*} origin name\n */\n\n }, {\n key: 'getOrigName',\n value: function getOrigName() {\n return this.config.origname;\n }\n\n /**\n * @returns { string } Server type\n */\n\n }, {\n key: 'getServerType',\n value: function getServerType() {\n return this.config.servertype || \"QGIS\";\n }\n\n /**\n * @returns {*} type\n */\n\n }, {\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n\n /**\n * Check if layer is a type passed\n *\n * @param type\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n return type === this.getType();\n }\n\n /**\n * Set disabled\n *\n * @param bool\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(bool) {\n this.state.disabled = bool;\n }\n\n /**\n * @returns {boolean} whether it is disabled\n */\n\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n * @returns {boolean} whether is visible\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility\n *\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n this.state.visible = bool;\n }\n\n /**\n * @param { Object } param\n * @param param.map check if request from map point of view or just a capabilities info layer\n */\n\n }, {\n key: 'isQueryable',\n value: function isQueryable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.QUERYABLE);\n }\n\n /**\n * @TODO Description\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'getTocHighlightable',\n value: function getTocHighlightable() {\n return this.state.tochighlightable;\n }\n\n /**\n * @TODO Description\n *\n * @param bool\n */\n\n }, {\n key: 'setTocHighlightable',\n value: function setTocHighlightable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.tochighlightable = bool;\n }\n\n /**\n * @param conditions plain object with configuration layer attribute and value\n */\n\n }, {\n key: 'isFilterable',\n value: function isFilterable() {\n var _this12 = this;\n\n var conditions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var isFiltrable = !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.FILTERABLE);\n if (isFiltrable && conditions) {\n var conditionalFiltrable = Object.keys(conditions).reduce(function (bool, attribute) {\n var layer_config_value = _this12.get(attribute);\n var condition_attribute_values = conditions[attribute];\n return bool && Array.isArray(layer_config_value) ? layer_config_value.includes(condition_attribute_values) : condition_attribute_values === layer_config_value;\n }, true);\n isFiltrable = isFiltrable && conditionalFiltrable;\n }\n return isFiltrable;\n }\n\n /**\n * @returns { boolean } whether layer is set up as time series\n */\n\n }, {\n key: 'isQtimeseries',\n value: function isQtimeseries() {\n return this.config.qtimeseries;\n }\n\n /**\n * @returns { boolean } whether is editable\n */\n\n }, {\n key: 'isEditable',\n value: function isEditable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.EDITABLE);\n }\n\n /**\n * @returns {*|boolean} whether is a base layer\n */\n\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n\n /**\n * @param type get url by type (data, shp, csv, xls, editing, ...)\n */\n\n }, {\n key: 'getUrl',\n value: function getUrl(type) {\n return this.config.urls[type];\n }\n\n /**\n * Set config url\n * \n * @param { Object } url\n * @param url.type\n * @param url.url\n */\n\n }, {\n key: 'setUrl',\n value: function setUrl() {\n var _ref46 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref46.type,\n url = _ref46.url;\n\n this.config.urls[type] = url;\n }\n\n /**\n * @returns {*} query url\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n return this.config.urls.query;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getQueryLayerOrigName',\n value: function getQueryLayerOrigName() {\n return this.state.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.config.origname;\n }\n\n /**\n * @TODO Description\n *\n * @param ogcService\n *\n * @returns { default.watch.infoformat | * | string }\n */\n\n }, {\n key: 'getInfoFormat',\n value: function getInfoFormat(ogcService) {\n // In the case of NETCDF (qtime series)\n if (true === this.config.qtimeseries || 'gdal' === this.getSourceType()) {\n return 'application/json';\n }\n if (this.config.infoformat && '' !== this.config.infoformat && 'wfs' !== ogcService) {\n return this.config.infoformat;\n }\n return 'application/vnd.ogc.gml';\n }\n\n /**\n * @TODO Description\n *\n * @returns {(function(): *)|*|*[]}\n */\n\n }, {\n key: 'getInfoFormats',\n value: function getInfoFormats() {\n return this.state.infoformats;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.config.infourl;\n }\n\n /**\n * @TODO Description\n *\n * @param infoFormat\n */\n\n }, {\n key: 'setInfoFormat',\n value: function setInfoFormat(infoFormat) {\n this.config.infoformat = infoFormat;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*|{}}\n */\n\n }, {\n key: 'getAttributes',\n value: function getAttributes() {\n return this.config.fields;\n }\n\n /**\n * @TODO Description\n *\n * @param attribute\n * @param type\n * @param options\n */\n\n }, {\n key: 'changeAttribute',\n value: function changeAttribute(attribute, type, options) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.config.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n if (field.name === attribute) {\n field.type = type;\n field.options = options;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n /**\n * @TODO Description\n *\n * @param name\n *\n * @returns {*}\n */\n\n }, {\n key: 'getAttributeLabel',\n value: function getAttributeLabel(name) {\n return (this.getAttributes().find(function (a) {\n return name === a.name;\n }) || {}).label;\n }\n\n /**\n * Return provider by type\n *\n * @param type\n *\n * @returns {*}\n */\n\n }, {\n key: 'getProvider',\n value: function getProvider(type) {\n return this.providers[type];\n }\n\n /**\n * Return all providers\n *\n * @returns {*|{filter: null, search: null, data: null, query: null, filtertoken: null}}\n */\n\n }, {\n key: 'getProviders',\n value: function getProviders() {\n return this.providers;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getLayersStore',\n value: function getLayersStore() {\n return this._layersstore;\n }\n\n /**\n * @TODO Description\n *\n * @param layerstore\n */\n\n }, {\n key: 'setLayersStore',\n value: function setLayersStore(layerstore) {\n this._layersstore = layerstore;\n }\n\n /**\n * Return if it is possible to show table of attribute\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'canShowTable',\n value: function canShowTable() {\n if (this.config.not_show_attributes_table || this.isBaseLayer()) {\n return false;\n }\n\n if (\"QGIS\" === this.getServerType() && [\"postgres\", \"oracle\", \"wfs\", \"ogr\", \"mssql\", \"spatialite\"].includes(this.config.source.type) && this.isQueryable()) {\n return this.getTableFields().length > 0;\n }\n\n if (\"G3WSUITE\" === this.getServerType() && \"geojson\" === this.get('source').type) {\n return true;\n }\n\n if (\"G3WSUITE\" !== this.getServerType() && this.isFilterable()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } field\n * @param field.name\n * @param field.type\n * @param field.options\n * @param field.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeFieldType',\n value: function changeFieldType() {\n var _ref47 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref47.name,\n type = _ref47.type,\n _ref47$options = _ref47.options,\n options = _ref47$options === undefined ? {} : _ref47$options,\n _ref47$reset = _ref47.reset,\n reset = _ref47$reset === undefined ? false : _ref47$reset;\n\n var field = this.getFields().find(function (f) {\n return name === f.name;\n });\n\n if (field && reset) {\n field.type = field._type;\n delete field._type;\n delete field[type + 'options'];\n return field.type;\n }\n\n if (field && !reset) {\n field._type = field.type;\n field.type = type;\n field[type + 'options'] = options;\n return field._type;\n }\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } config\n * @param config.name\n * @param config.type\n * @param config.options\n * @param config.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeConfigFieldType',\n value: function changeConfigFieldType(_ref48) {\n var name = _ref48.name,\n type = _ref48.type,\n _ref48$options = _ref48.options,\n options = _ref48$options === undefined ? {} : _ref48$options,\n _ref48$reset = _ref48.reset,\n reset = _ref48$reset === undefined ? false : _ref48$reset;\n\n return this.changeFieldType({ name: name, type: type, options: options, reset: reset });\n }\n\n /**\n * Function called in case of change project to remove all stored information \n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n\n /**\n * @returns {boolean} whether is a vector layer\n */\n\n }, {\n key: 'isVector',\n value: function isVector() {\n return Layer.LayerTypes.VECTOR === this.getType();\n }\n\n /**\n * @returns {boolean} whether is a table layer\n */\n\n }, {\n key: 'isTable',\n value: function isTable() {\n return Layer.LayerTypes.TABLE === this.getType();\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'getFeatureCount',\n value: function getFeatureCount() {\n return this.state.featurecount;\n }\n\n /**\n * @param style\n * \n * @returns { Promise}\n * \n * @since 3.8.0\n */\n\n }, {\n key: 'getStyleFeatureCount',\n value: function () {\n var _ref49 = _asyncToGenerator(function* (style) {\n // skip when layer hasn't feature count option set on QGIS project\n if (undefined === this.state.stylesfeaturecount) {\n return;\n }\n if (undefined === this.state.stylesfeaturecount[style]) {\n try {\n var _ref50 = yield _XHR.XHR.post({\n url: '' + this.config.urls.featurecount + this.getId() + '/',\n data: JSON.stringify({ style: style }),\n contentType: 'application/json'\n }),\n result = _ref50.result,\n data = _ref50.data;\n\n this.state.stylesfeaturecount[style] = true === result ? data : {};\n } catch (e) {\n cansole.warn(e);\n this.state.stylesfeaturecount[style] = {};\n }\n }\n return this.state.stylesfeaturecount[style];\n });\n\n function getStyleFeatureCount(_x55) {\n return _ref49.apply(this, arguments);\n }\n\n return getStyleFeatureCount;\n }()\n\n /**\n * @returns { string } layer format (eg. 'image/png') \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n return this.config.format || _application2.default.project.state.wms_getmap_format || 'image/png';\n }\n\n /**\n * @since 3.10.0\n */\n\n }, {\n key: 'openAttributeTable',\n value: function openAttributeTable() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n new (Vue.extend(_Table2.default))(_extends({}, opts, { layerId: this.state.id }));\n }\n }]);\n\n return Layer;\n}(_g3wObject2.default);\n\n/******************************************************************************************\n * LAYER PROPERTIES\n *****************************************************************************************/\n\n/**\n * Layer Types\n */\n\n\nLayer.LayerTypes = {\n TABLE: \"table\",\n IMAGE: \"image\",\n VECTOR: \"vector\"\n};\n\n/**\n * Layer Capabilities\n */\nLayer.CAPABILITIES = {\n QUERYABLE: 1,\n FILTERABLE: 2,\n EDITABLE: 4\n};\n\nexports.Layer = Layer;\n\n},{\"components/Table.vue\":110,\"g3w-constants\":127,\"g3w-i18n\":130,\"g3w-object\":131,\"map/layers/feature\":153,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183,\"utils/createRelationsUrl\":196,\"utils/downloadFile\":202,\"utils/get_legend_params\":220,\"utils/parseAttributes\":231,\"utils/parsers\":232,\"utils/promisify\":234,\"utils/prompt\":235}],158:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayersStore = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layersstore.js@v3.10.2\n * @since 3.11.0\n */\n\nvar LayersStore = exports.LayersStore = function (_G3WObject) {\n _inherits(LayersStore, _G3WObject);\n\n function LayersStore() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LayersStore);\n\n var _this = _possibleConstructorReturn(this, (LayersStore.__proto__ || Object.getPrototypeOf(LayersStore)).call(this));\n\n _this.config = {\n id: config.id || Date.now(),\n projection: config.projection,\n extent: config.extent,\n initextent: config.initextent,\n wmsUrl: config.wmsUrl,\n //set catalogable property\n catalog: true === config.catalog || false === config.catalog ? config.catalog : true\n };\n _this.state = {\n //useful to build layerstree\n layerstree: [],\n relations: null // useful to build a tree of relations\n };\n _this._isQueryable = true === config.queryable || false === config.queryable ? config.queryable : true;\n _this._layers = _this.config.layers || {};\n\n _this.setters = {\n setLayerSelected: function setLayerSelected(id, selected) {\n this.getLayers().forEach(function (l) {\n return l.state.selected = id === l.getId() ? selected : false;\n });\n },\n addLayers: function addLayers() {\n var _this2 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (l) {\n return _this2.addLayer(l);\n });\n },\n addLayer: function addLayer(layer) {\n this._addLayer(layer);\n },\n removeLayer: function removeLayer(id) {\n this._removeLayer(id);\n }\n };\n return _this;\n }\n\n _createClass(LayersStore, [{\n key: 'isQueryable',\n value: function isQueryable() {\n return this._isQueryable;\n }\n }, {\n key: 'setQueryable',\n\n\n /**\n *\n * @param { Boolean } bool\n */\n value: function setQueryable(bool) {\n this._isQueryable = !!bool;\n }\n }, {\n key: 'showOnCatalog',\n value: function showOnCatalog() {\n return this.config.catalog;\n }\n }, {\n key: 'setOptions',\n value: function setOptions() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config = config;\n }\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n this._layers[layer.getId()] = layer;\n }\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n delete this._layers[layer.getId()];\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this3 = this;\n\n Object.entries(this._layers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n layer = _ref2[1];\n\n return _this3.removeLayer(layer);\n });\n }\n }, {\n key: 'getLayersDict',\n value: function getLayersDict() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // skip when no filter is provided (eg. `filter = null`)\n if (!filter || [filter.PRINTABLE, filter.QUERYABLE, filter.FILTERABLE, filter.EDITABLE, filter.VISIBLE, filter.SELECTED, filter.CACHED, filter.SELECTED_OR_ALL, filter.SERVERTYPE, filter.BASELAYER, filter.GEOLAYER, filter.VECTORLAYER, filter.HIDDEN, filter.DISABLED, filter.IDS].every(function (f) {\n return undefined === f;\n })) {\n return this._layers;\n }\n\n var layers = Object.values(this._layers);\n\n if (filter.IDS) {\n var ids = [].concat(filter.IDS);\n layers = layers.filter(function (l) {\n return ids.includes(l.getId());\n });\n }\n\n // check if there are `selected` layers otherwise get all `layers`\n if (filter.SELECTED_OR_ALL) {\n var selected = layers.filter(function (l) {\n return l.isSelected();\n });\n layers = selected.length > 0 ? selected : layers;\n }\n\n // checks if a boolean filter is setted\n var has = function has(f) {\n return 'boolean' === typeof f;\n };\n\n if (has(filter.SELECTED) && !filter.SELECTED_OR_ALL) layers = layers.filter(function (l) {\n return filter.SELECTED === l.isSelected();\n });\n if (has(filter.QUERYABLE)) layers = layers.filter(function (l) {\n return filter.QUERYABLE === l.isQueryable();\n });\n if (has(filter.FILTERABLE)) layers = layers.filter(function (l) {\n return filter.FILTERABLE === l.isFilterable(options.filtrable || null);\n });\n if (has(filter.EDITABLE)) layers = layers.filter(function (l) {\n return filter.EDITABLE === l.isEditable();\n });\n if (has(filter.VISIBLE)) layers = layers.filter(function (l) {\n return filter.VISIBLE === l.isVisible();\n });\n if (has(filter.CACHED)) layers = layers.filter(function (l) {\n return filter.CACHED === l.isCached();\n });\n if (has(filter.BASELAYER)) layers = layers.filter(function (l) {\n return filter.BASELAYER === l.isBaseLayer();\n });\n if (has(filter.GEOLAYER)) layers = layers.filter(function (l) {\n return filter.GEOLAYER === l.state.geolayer;\n });\n if (has(filter.VECTORLAYER)) layers = layers.filter(function (l) {\n return filter.VECTORLAYER === l.isType('vector');\n });\n if (has(filter.HIDDEN)) layers = layers.filter(function (l) {\n return filter.HIDDEN === l.isHidden();\n });\n if (has(filter.DISABLED)) layers = layers.filter(function (l) {\n return filter.DISABLED === l.isDisabled();\n });\n if ('string' === typeof filter.SERVERTYPE && filter.SERVERTYPE.length) layers = layers.filter(function (l) {\n return filter.SERVERTYPE === l.getServerType();\n });\n if (filter.PRINTABLE) layers = layers.filter(function (l) {\n return l.state.geolayer && l.isPrintable({ scale: filter.PRINTABLE.scale });\n });\n\n /**@since v3.10.3 order TOC */\n if (options.TOC_ORDER && this.state.layerstree) {\n return this._getAllSiblingsChildrenLayersId(this.state.layerstree[0]).filter(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n }).map(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n });\n }\n\n return layers;\n }\n }, {\n key: 'getLayers',\n\n\n // return layers array\n value: function getLayers() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(this.getLayersDict(filter, options));\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this.getLayersDict({ BASELAYER: true });\n }\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getLayersDict()[id];\n }\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this._layers.find(function (l) {\n return name === l.getName();\n });\n }\n }, {\n key: 'getLayerAttributes',\n value: function getLayerAttributes(id) {\n return this.getLayerById(id).getAttributes();\n }\n }, {\n key: 'getLayerAttributeLabel',\n value: function getLayerAttributeLabel(id, name) {\n return this.getLayerById(id).getAttributeLabel(name);\n }\n }, {\n key: 'getGeoLayers',\n value: function getGeoLayers() {\n return this.getLayers({ GEOLAYER: true });\n }\n }, {\n key: '_getAllSiblingsChildrenLayersId',\n value: function _getAllSiblingsChildrenLayersId(layerstree) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n traverse(layerstree);\n return nodeIds;\n }\n }, {\n key: '_getAllParentLayersId',\n value: function _getAllParentLayersId(layerstree, node) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n }\n });\n };\n\n traverse({ nodes: layerstree.nodes.filter(function (n) {\n return node !== n;\n }) });\n\n return nodeIds;\n }\n }, {\n key: 'selectLayer',\n value: function selectLayer(id, selected) {\n this.setLayerSelected(id, selected);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getExtent',\n value: function getExtent() {\n return this.config.extent;\n }\n }, {\n key: 'getInitExtent',\n value: function getInitExtent() {\n return this.config.initextent;\n }\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n return this.config.wmsUrl;\n }\n }, {\n key: 'removeLayersTree',\n value: function removeLayersTree() {\n this.state.layerstree.splice(0, this.state.layerstree.length);\n }\n }, {\n key: 'getLayersTree',\n value: function getLayersTree() {\n return this.state.layerstree;\n }\n }, {\n key: 'setLayersTree',\n\n\n /**\n * Set layersstree of layers inside the layersstore\n *\n * @param {unknown[]} layerstree nodes\n * @param {string} name\n * @param {boolean} [expanded = true]\n */\n value: function setLayersTree() {\n var layerstree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var name = arguments[1];\n var expanded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _getInitExtent = this.getInitExtent(),\n _getInitExtent2 = _slicedToArray(_getInitExtent, 4),\n minx = _getInitExtent2[0],\n miny = _getInitExtent2[1],\n maxx = _getInitExtent2[2],\n maxy = _getInitExtent2[3];\n\n // Root group project that contains all layerstree of qgis project\n\n\n var rootGroup = {\n title: name || this.config.id,\n root: true,\n parentGroup: null,\n expanded: expanded,\n disabled: false,\n checked: true,\n /**\n * @since 3.8.0\n */\n bbox: { minx: minx, miny: miny, maxx: maxx, maxy: maxy },\n nodes: layerstree\n };\n\n if (layerstree.length > 0) {\n this._traverseLayersTree(layerstree, rootGroup);\n this.state.layerstree.splice(0, 0, rootGroup); // at the end\n }\n }\n }, {\n key: 'createLayersTree',\n\n\n /**\n * Used by external plugins to build layerstree\n *\n * @param {string} groupName is a ProjectName\n * @param options\n * @param {Object} [options.layerstree = null ]\n * @param {boolean} [options.expanded = false]\n * @param {boolean} [options.full = false]\n */\n value: function createLayersTree(groupName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n layerstree: null,\n expanded: false,\n full: false\n };\n\n\n var layerstree = [];\n\n // return layerstree from server project config (when setted)\n if (options.layerstree && true === options.full) {\n return this.state.layerstree;\n }\n\n // compare all layer ids from server config with all layer nodes on layerstree server property\n if (options.layerstree && true !== options.full) {\n var tocLayersId = this.getLayers({ BASELAYER: false }).map(function (l) {\n return l.getId();\n });\n this._traverseLightLayersTree(options.layerstree, layerstree, tocLayersId);\n }\n\n // retrieve all project layers that have geometry\n if (!options.layerstree) {\n layerstree = this.getGeoLayers().map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n title: l.getTitle(),\n visible: l.isVisible() || false\n };\n });\n }\n\n // setLayerstree\n this.setLayersTree(layerstree, groupName, options.expanded);\n }\n }, {\n key: '_traverseLightLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLightLayersTree(nodes, layerstree, tocLayersId) {\n var _this4 = this;\n\n nodes.forEach(function (n) {\n var lightlayer = null;\n\n // case TOC has layer ID\n if (null !== n.id && undefined !== n.id && tocLayersId.find(function (id) {\n return n.id === id;\n })) {\n lightlayer = _extends({}, lightlayer, n);\n }\n\n // case group\n if (null !== n.nodes && undefined !== n.nodes) {\n lightlayer = _extends({}, lightlayer, {\n name: n.name, /** @since 3.10.0 **/\n title: n.name,\n groupId: (0, _getUniqueDomId.getUniqueDomId)(),\n root: false,\n nodes: [],\n checked: n.checked,\n mutually_exclusive: n[\"mutually-exclusive\"],\n 'mutually-exclusive': n[\"mutually-exclusive\"] /** @since 3.10.0 */\n });\n _this4._traverseLightLayersTree(n.nodes, lightlayer.nodes, tocLayersId); // recursion step\n }\n\n // check if lightlayer is not null\n if (null !== lightlayer) {\n lightlayer.expanded = n.expanded; // expand legend item (TOC)\n layerstree.push(lightlayer);\n }\n });\n }\n }, {\n key: '_traverseLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLayersTree(nodes, parentGroup) {\n var _this5 = this;\n\n nodes.forEach(function (node, index) {\n // substitute node layer with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n }\n // case of layer substitute node with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n // pass bbox and epsg of layer\n if (undefined !== nodes[index].bbox) {\n _this5._setLayersTreeGroupBBox(parentGroup, { bbox: nodes[index].bbox, epsg: nodes[index].epsg });\n }\n }\n if (Array.isArray(node.nodes)) {\n node.nodes.forEach(function (n) {\n return n.parentGroup = parentGroup;\n });\n _this5._traverseLayersTree(node.nodes, node);\n }\n //SET PARENT GROUP\n nodes[index].parentGroup = parentGroup;\n });\n }\n }, {\n key: '_setLayersTreeGroupBBox',\n\n\n /**\n * @since 3.8.0\n */\n value: function _setLayersTreeGroupBBox(group) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bbox = _ref3.bbox,\n epsg = _ref3.epsg;\n\n var project_epsg = this.getProjection().getCode();\n\n // translate bbox epsg to project epsg code (when they differ)\n if (epsg !== project_epsg) {\n var _ol$proj$transformExt = ol.proj.transformExtent([bbox.minx, bbox.miny, bbox.maxx, bbox.maxy], epsg, project_epsg),\n _ol$proj$transformExt2 = _slicedToArray(_ol$proj$transformExt, 4),\n minx = _ol$proj$transformExt2[0],\n miny = _ol$proj$transformExt2[1],\n maxx = _ol$proj$transformExt2[2],\n maxy = _ol$proj$transformExt2[3];\n\n bbox = { minx: minx, miny: miny, maxx: maxx, maxy: maxy };\n }\n\n // get current bbox or compute bbox from an ol extent\n if (undefined === group.bbox) {\n group.bbox = bbox;\n } else {\n group.bbox = ol.extent.extend([group.bbox.minx, group.bbox.miny, group.bbox.maxx, group.bbox.maxy], [bbox.minx, bbox.miny, bbox.maxx, bbox.maxy]).reduce(function (bbox, extentCoordinate, index) {\n switch (index) {\n case 0:\n bbox.minx = extentCoordinate;break;\n case 1:\n bbox.miny = extentCoordinate;break;\n case 2:\n bbox.maxx = extentCoordinate;break;\n case 3:\n bbox.maxy = extentCoordinate;break;\n }\n return bbox;\n }, { minxx: null, miny: null, maxx: null, maxy: null });\n }\n\n // Recursion\n if (group.parentGroup && false === group.parentGroup.root) {\n this._setLayersTreeGroupBBox(group.parentGroup, { bbox: group.bbox, epsg: project_epsg });\n }\n }\n }]);\n\n return LayersStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":131,\"utils/getUniqueDomId\":219}],159:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableLayer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer = require('map/layers/layer');\n\nvar _featuresstore = require('map/layers/featuresstore');\n\nvar _feature = require('map/layers/feature');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/tablelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\n/**\n * Base Layer that support editing\n */\n\nvar TableLayer = exports.TableLayer = function (_Layer) {\n _inherits(TableLayer, _Layer);\n\n function TableLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, TableLayer);\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Hook setters methods\n */\n var _this = _possibleConstructorReturn(this, (TableLayer.__proto__ || Object.getPrototypeOf(TableLayer)).call(this, config, opts));\n\n _this.setters = {\n /**\n * Clear all features of the layer\n */\n clearFeatures: function clearFeatures() {\n this._featuresstore.clearFeatures();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n\n /**\n * @TODO it used ????\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n setFeatures: function setFeatures(features) {\n this._featuresstore.setFeatures(features);\n },\n setColor: function setColor(color) {\n this._color = color;\n },\n\n\n /**\n * get data from every sources (server, wms, etc..)\n * through provider related to featuresstore\n *\n * @param {*} opts\n */\n getFeatures: function getFeatures() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this2._featuresstore.getFeatures(opts));\n _this2.emit('getFeatures', features);\n return features;\n }));\n },\n commit: function commit(commitItems) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this3._featuresstore.commit(commitItems));\n // sync selection filter features\n if (response && response.result) {\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(_this3.getId());\n //if layer has geometry\n if (layer.isGeoLayer()) {\n commitItems.update.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n geometry = _ref3.geometry;\n\n if (layer.getOlSelectionFeature(id)) {\n layer.updateOlSelectionFeature({ id: id, geometry: geometry });\n }\n });\n }\n commitItems.delete.forEach(function (id) {\n if (layer.hasSelectionFid(id)) {\n layer.excludeSelectionFid(id);\n }\n });\n } catch (e) {\n console.warn(e);\n }\n }\n return response;\n }));\n }\n };\n\n /**\n * EDITING API URL: /api/vector////\n *\n * @example /api/vector/config/qdjango/10/points273849503023\n */\n _this.type = _layer.Layer.LayerTypes.TABLE;\n\n /**\n * color\n */\n _this._color = null;\n\n /**\n * @FIXME add description\n */\n _this.layerId = config.id;\n\n // @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n // editable layer -- > update layer config info\n if (_this.isEditable()) {\n _this.layerForEditing = _asyncToGenerator(function* () {\n // get layer editing config (from server)\n try {\n var _ref5 = yield (0, _promisify.promisify)(_this.getProvider('data').getConfig(opts)),\n vector = _ref5.vector,\n _ref5$constraints = _ref5.constraints,\n constraints = _ref5$constraints === undefined ? {} : _ref5$constraints,\n capabilities = _ref5.capabilities;\n\n yield (0, _waitFor.waitFor)(function () {\n return window.g3wsdk.core.hasOwnProperty('editing');\n }, _g3wConstants.TIMEOUT); // wait until \"editing\" plugin is loaded\n // add editing configurations\n _this.config.editing = {\n fields: vector.fields || [],\n format: vector.format,\n constraints: constraints,\n capabilities: capabilities || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES, // default editing capabilities\n form: { perc: null }, // set editing form `perc` to null at beginning\n style: vector.style, // get vector layer style\n geometrytype: vector.geometrytype // whether is a vector layer\n };\n\n if (vector.style) {\n // set vector layer color \n _this.setColor(vector.style.color);\n }\n\n _this._editor = new window.g3wsdk.core.editing.Editor({ layer: _this }); // create an instance of editor\n _this.setReady(true); // set ready\n return _this;\n } catch (e) {\n console.warn(e);\n _this.setReady(false);\n return Promise.reject(_this);\n }\n })();\n\n _this.state = _extends({}, _this.state, {\n editing: {\n started: false,\n modified: false,\n ready: false\n }\n });\n }\n\n /**\n * Feature wrapper (to store feature)\n */\n _this._featuresstore = new _featuresstore.FeaturesStore({ provider: _this.providers.data });\n\n return _this;\n }\n\n /**\n *\n * @param perc\n */\n\n\n _createClass(TableLayer, [{\n key: 'setFormPercentage',\n value: function setFormPercentage(perc) {\n this.config.editing.form.perc = perc;\n }\n }, {\n key: 'getFormPercentage',\n value: function getFormPercentage() {\n return this.config.editing.form.perc;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'getColor',\n value: function getColor() {\n return this._color;\n }\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._featuresstore.readFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Get editing layer\n *\n * @param vectorurl\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'getLayerForEditing',\n value: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n vectorurl = _ref7.vectorurl;\n\n if (vectorurl) {\n //@TODO Check if it used otherwise delete it\n this.vectorUrl = vectorurl;\n }\n\n try {\n return yield this.clone().layerForEditing; // cloned editable layer\n } catch (e) {\n console.warn(e);\n return e;\n }\n });\n\n function getLayerForEditing() {\n return _ref6.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns return ol source of features\n */\n\n }, {\n key: 'getEditingSource',\n value: function getEditingSource() {\n return this._editor.getEditingSource();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns Array of features\n */\n\n }, {\n key: 'readEditingFeatures',\n value: function readEditingFeatures() {\n return this._editor.readEditingFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {TableLayer}\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {{}}\n */\n\n }, {\n key: 'getEditingConstrains',\n value: function getEditingConstrains() {\n return this.config.editing.constraints;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*|string[]}\n */\n\n }, {\n key: 'getEditingCapabilities',\n value: function getEditingCapabilities() {\n return this.config.editing.capabilities;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param fieldName\n * @return {boolean}\n */\n\n }, {\n key: 'isFieldRequired',\n value: function isFieldRequired(fieldName) {\n return (this.getEditingFields().find(function (f) {\n return fieldName === f.name;\n }) || { validate: { required: false } }).validate.required;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Unlock editing features\n *\n * @returns jQuery Promise\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n yield (0, _promisify.promisify)(_this4._featuresstore.unlock());\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param { Boolean } editable In case we want only editable fields\n * @returns layer fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n var editable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return editable ? (this.config.editing.fields || []).filter(function (f) {\n return f.editable;\n }) : this.config.editing.fields || [];\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n *\n * @returns {boolean} whether field is a Primary Key\n */\n\n }, {\n key: 'isPkField',\n value: function isPkField(field) {\n return (this.getEditingFields().find(function (f) {\n return field === f.name;\n }) || {}).pk;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n * @return {boolean}\n */\n\n }, {\n key: 'isEditingFieldEditable',\n value: function isEditingFieldEditable(field) {\n return (this.getEditingFields().find(function (f) {\n return f.name === field;\n }) || { editable: false }).editable;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditingNotEditableFields',\n value: function getEditingNotEditableFields() {\n return this.config.editing.fields.filter(function (f) {\n return !f.editable;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getEditingMediaFields',\n value: function getEditingMediaFields() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n return this.config.editing.fields.filter(function (f) {\n return 'media' === f.input.type;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {boolean}\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this.state.editing.ready;\n }\n }, {\n key: 'setReady',\n\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param bool\n */\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.editing.ready = bool;\n }\n }, {\n key: 'getWidgetData',\n value: function getWidgetData() {\n var _this5 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.get({\n url: _this5.getProvider('data')._layer.getUrl('widget')[opts.type],\n params: { fields: opts.fields }\n });\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this._editor;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this._editor.isStarted();\n }\n }, {\n key: 'getFeaturesStore',\n value: function getFeaturesStore() {\n return this._featuresstore;\n }\n }, {\n key: 'setFeaturesStore',\n value: function setFeaturesStore(featuresstore) {\n this._featuresstore = featuresstore;\n }\n }, {\n key: 'setSource',\n value: function setSource(source) {\n this.setFeaturesStore(source);\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this._featuresstore;\n }\n }, {\n key: 'addFeatures',\n value: function addFeatures() {\n var _this6 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this6.addFeature(f);\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param lockIds\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n this._featuresstore.addLockIds(lockIds);\n }\n\n /**\n * create attributes from fields\n */\n\n }, {\n key: 'setFieldsWithValues',\n value: function setFieldsWithValues(feature, fields) {\n var createAttrs = function createAttrs() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return fields.reduce(function (acc, f) {\n if ('child' === f.type) {\n acc[f.name] = createAttrs(f.fields);\n } else if ('null' === f.value) {\n f.value = null;\n }\n acc[f.name] = f.value;\n return acc;\n }, {});\n };\n var attributes = createAttrs(fields);\n feature.setProperties(attributes);\n return attributes;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param obj\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getFieldsWithValues',\n value: function getFieldsWithValues(obj) {\n var _this7 = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _opts$exclude = opts.exclude,\n exclude = _opts$exclude === undefined ? [] : _opts$exclude,\n _opts$get_default_val = opts.get_default_value,\n get_default_value = _opts$get_default_val === undefined ? true : _opts$get_default_val;\n\n\n var fields = _cloneDeep(this.getEditingFields());\n var feature = void 0;\n\n if (obj instanceof _feature.Feature) {\n feature = obj;\n } else if (obj instanceof ol.Feature) {\n feature = new _feature.Feature({ feature: obj });\n } else if (obj) {\n feature = this.getFeatureById(obj);\n } else {\n return fields;\n }\n\n var attributes = feature.getProperties();\n\n fields.forEach(function (field) {\n\n field.value = attributes[field.name];\n field._value = attributes[field.name]; // store original value\n field.update = false; // at beginning set update false. Used to form\n\n field.visible = exclude.indexOf(field.name) === -1; // exclude contain field to set visible false\n\n // for editing purpose\n if (undefined === field.validate) {\n field.validate = {};\n }\n\n field.nullOption = undefined === field.nullOption || field.nullOption; //@since 3.11.0 used in InputSelect.vue component.\n field.forceNull = false;\n field.validate.valid = true;\n field.validate._valid = true; // useful to get previous value in certain case\n field.value_from_default_value = false; // need to be checked if the default value is set by server configuration field\n field.get_default_value = get_default_value; // specify if you need to get value from form field.input.options.default value in case of missing value of field.value\n field.validate.exclude_values = new Set(); // for validate.unique purpose to check is new value inserted or change needs to be di\n field.validate.unique = field.validate.unique || false;\n field.validate.required = field.validate.required || false;\n field.validate.mutually_valid = true;\n field.validate.empty = false; // Mean no value (field.value) set start value to false. It will be set once the input field is show\n field.validate.message = null;\n\n if (field.input) {\n var options = _this7.getEditingFields().find(function (f) {\n return f.name === field.name;\n }).input.options;\n field.input.options.loading = options.loading || { state: null };\n //check if value is defined otherwise set empty array (e.g., required for field.validate unique)\n field.input.options.values = options.values || [];\n }\n });\n\n return fields;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {Feature}\n */\n\n }, {\n key: 'createNewFeature',\n value: function createNewFeature() {\n var feature = new _feature.Feature({\n feature: new ol.Feature(this.getEditingFields().reduce(function (props, f) {\n props[f.name] = null;return props;\n }, {}))\n });\n feature.setNew();\n return feature;\n }\n }]);\n\n return TableLayer;\n}(_layer.Layer);\n\n},{\"g3w-constants\":127,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":153,\"map/layers/featuresstore\":154,\"map/layers/layer\":157,\"utils/XHR\":183,\"utils/getCatalogLayerById\":205,\"utils/promisify\":234,\"utils/waitFor\":245}],160:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.VectorLayer = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _promisify = require('utils/promisify');\n\nvar _layer = require('map/layers/layer');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/vectorlayer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar VectorLayer = exports.VectorLayer = function (_GeoLayerMixin) {\n _inherits(VectorLayer, _GeoLayerMixin);\n\n function VectorLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VectorLayer);\n\n var _this = _possibleConstructorReturn(this, (VectorLayer.__proto__ || Object.getPrototypeOf(VectorLayer)).call(this, config, opts));\n\n _this._mapLayer = null; // later tah will be added to the map\n _this.type = _layer.Layer.LayerTypes.VECTOR;\n\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // need an ol layer for adding to the map\n _this.setup(config, opts);\n\n if ('G3WSUITE geojson' === layerType) {\n _this._g3w_geojson = true;\n _this.config.style = config.style;\n _this.setup(config);\n }\n\n return _this;\n }\n\n _createClass(VectorLayer, [{\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this.getMapLayer().getOLLayer();\n }\n }, {\n key: 'resetEditingSource',\n value: function resetEditingSource() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.getMapLayer().resetSource(features);\n }\n }, {\n key: 'getEditingGeometryType',\n value: function getEditingGeometryType() {\n return this.config.editing.geometrytype;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/map/vectorlayer.js@v3.10.1\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var _this2 = this;\n\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n this._mapLayer = new _g3wObject2.default();\n\n var style = this._g3w_geojson ? this.get('style') : this.config.editing ? this.config.editing.style : this.getCustomStyle();\n\n var olStyle = style ? new ol.style.Style(Object.entries(style || {}).reduce(function (styles, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n type = _ref2[0],\n config = _ref2[1];\n\n if ('point' === type && config.icon) {\n styles.image = new ol.style.Icon({ src: config.icon.url, imageSize: config.icon.width });\n }\n if ('line' === type) {\n styles.stroke = new ol.style.Stroke({ color: config.color, width: config.width });\n }\n if ('polygon' === type) {\n styles.fill = new ol.style.Fill({ color: config.color });\n }\n return styles;\n }, {})) : null;\n\n // create ol layer to add to map\n this._mapLayer._olLayer = new ol.layer.Vector({\n id: this.getId(),\n source: new ol.source.Vector({ features: this._editor && this._editor.getEditingSource().getFeaturesCollection() || [] || new ol.Collection() })\n });\n\n if (!olStyle && (0, _isPointGeometryType.isPointGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: this.getColor() }),\n radius: 5\n })\n });\n }\n\n if (!olStyle && (0, _isLineGeometryType.isLineGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: this.getColor(), width: 3 })\n });\n }\n\n if (!olStyle && (0, _isPolygonGeometryType.isPolygonGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: '#000000', width: 1 }),\n fill: new ol.style.Fill({ color: this.getColor() })\n });\n this._mapLayer._olLayer.setOpacity(0.6);\n }\n\n this._mapLayer._olLayer.setStyle(olStyle);\n\n Object.assign(this._mapLayer, {\n _olLayer: this._mapLayer._olLayer,\n mapService: _gui2.default.getService('map'),\n geometryType: this.getGeometryType(),\n geometrytype: null,\n type: null,\n crs: null,\n id: this.getId(),\n name: this._g3w_geojson && this.getName() || '',\n style: style,\n color: this.getColor(),\n projection: this._g3w_geojson ? this.getProjection().getCode() : _gui2.default.getService('map').getProjection().getCode(),\n url: this._g3w_geojson ? this.get('source').url : undefined,\n provider: this.getProvider('data'),\n getProvider: function getProvider() {\n return _this2._mapLayer.provider;\n },\n resetSource: function resetSource() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.setSource(new ol.source.Vector({ features: feats }));\n },\n getFeatures: function getFeatures() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return _this2._mapLayer.addFeatures((yield (0, _promisify.promisify)(_this2._mapLayer.provider.getFeatures(opts))));\n }));\n },\n addFeatures: function addFeatures() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.getSource().addFeatures(feats);\n },\n addFeature: function addFeature(feat) {\n return feat && _this2.getSource().addFeature(feat);\n },\n getOLLayer: function getOLLayer() {\n return _this2._mapLayer._olLayer;\n },\n getSource: function getSource() {\n return _this2._mapLayer._olLayer.getSource();\n },\n setSource: function setSource(source) {\n return _this2._mapLayer._olLayer.setSource(source);\n },\n setStyle: function setStyle(style) {\n return _this2._mapLayer._olLayer.setStyle(style);\n },\n getFeatureById: function getFeatureById(id) {\n return id ? _this2._mapLayer._olLayer.getSource().getFeatureById(id) : null;\n },\n isVisible: function isVisible() {\n return _this2._mapLayer._olLayer.getVisible();\n },\n setVisible: function setVisible(bool) {\n return _this2._mapLayer._olLayer.setVisible(bool);\n },\n clear: function clear() {\n return _this2._mapLayer.getSource().clear();\n },\n addToMap: function addToMap(map) {\n return map.addLayer(_this2._mapLayer._olLayer);\n }\n\n });\n\n if (this._g3w_geojson) {\n this._mapLayer.getFeatures({\n url: this.get('source').url,\n mapProjection: _gui2.default.getService('map').getProjection().getCode()\n });\n }\n\n return this._mapLayer;\n }\n }]);\n\n return VectorLayer;\n}((0, _geoMixin2.default)(_tablelayer.TableLayer));\n\n},{\"g3w-object\":131,\"map/layers/geo-mixin\":155,\"map/layers/layer\":157,\"map/layers/tablelayer\":159,\"services/gui\":175,\"utils/isLineGeometryType\":225,\"utils/isPointGeometryType\":227,\"utils/isPolygonGeometryType\":228,\"utils/promisify\":234}],161:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n autocompleteRequest: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n field = _ref2.field,\n value = _ref2.value;\n\n var data = [];\n try {\n data = yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getFilterData({\n suggest: field + '|' + value,\n unique: field\n });\n } catch (e) {\n console.warn(e);\n }\n return data.map(function (value) {\n return { id: value, text: value };\n });\n });\n\n function autocompleteRequest() {\n return _ref.apply(this, arguments);\n }\n\n return autocompleteRequest;\n }()\n }\n};\n\n},{\"utils/getCatalogLayerById\":205}],162:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n tabIndex: function tabIndex() {\n return this.editable ? 0 : -1;\n },\n notvalid: function notvalid() {\n return false === this.state.validate.valid;\n },\n editable: function editable() {\n return this.state.editable;\n },\n showhelpicon: function showhelpicon() {\n return this.state.help && this.state.help.message.trim();\n },\n disabled: function disabled() {\n return !this.editable || ['loading', 'error'].includes(this.loadingState);\n },\n loadingState: function loadingState() {\n return this.state.input.options.loading ? this.state.input.options.loading.state : null;\n }\n },\n methods: {\n /**\n * @since v3.9.1\n * @param bool\n */\n setLoading: function setLoading(bool) {\n this.state.input.options.loading.state = bool ? 'loading' : 'ready';\n },\n showHideHelp: function showHideHelp() {\n this.state.help.visible = !this.state.help.visible;\n },\n\n // used to text input to listen to mobile changes\n mobileChange: function mobileChange(event) {\n this.state.value = event.target.value;\n this.change();\n },\n\n // called when input value change\n change: function change() {\n this.service.setEmpty();\n // validate input every time on change\n // because can be inserted a text where state.input.type (widget) is text but state.type is integer\n this.service.validate();\n //after check if is valid need to set update\n this.service.setUpdate();\n // emit change input\n this.$emit('changeinput', this.state);\n },\n isVisible: function isVisible() {}\n }\n};\n\n},{}],163:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.8\n */\n\nexports.default = {\n created: function created() {\n /**\n * Store `click` and `doubleclick` events on a single vue element.\n *\n * @see https://stackoverflow.com/q/41303982\n */\n this.__CLICK_EVENT = {\n count: 0, // count click events\n timeoutID: null // timeoutID return by setTimeout Function\n };\n },\n\n\n methods: {\n\n /**\n * @param {{ '1': () => {}, '2': () => {}}} callbacks hashmap of click event handlers ('1' = click, '2' = double click)\n * @param context\n */\n handleClick: function handleClick() {\n var _this = this;\n\n var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments[1];\n\n if (!this.__CLICK_EVENT) {\n console.warn('click mixin not initialized on context:', context);\n return;\n }\n this.__CLICK_EVENT.count += 1; // increment click count\n if (!this.__CLICK_EVENT.timeoutID) {\n // skip and wait for timeout in order to detect double click\n this.__CLICK_EVENT.timeoutID = setTimeout(function () {\n if (undefined !== callbacks[_this.__CLICK_EVENT.count]) {\n callbacks[_this.__CLICK_EVENT.count].call(context);\n }\n _this.__resetClickMixin();\n }, 300);\n }\n },\n __resetClickMixin: function __resetClickMixin() {\n this.__CLICK_EVENT.count = 0;\n this.__CLICK_EVENT.timeoutID = null;\n },\n __clearClickMixin: function __clearClickMixin() {\n this.__resetClickMixin();\n this.__CLICK_EVENT = null;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.__clearClickMixin();\n }\n};\n\n},{}],164:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getFieldService: function getFieldService() {\n if (undefined === this._fieldsService) {\n this._fieldsService = require('gui/fields/fieldsservice');\n }\n return this._fieldsService;\n },\n getFieldType: function getFieldType(field) {\n return this.getFieldService().getType(field);\n },\n isSimple: function isSimple(field) {\n return this.getFieldService().isSimple(field);\n },\n isLink: function isLink(field) {\n return this.getFieldService().isLink(field);\n },\n isImage: function isImage(field) {\n return this.getFieldService().isImage(field);\n },\n isPhoto: function isPhoto(field) {\n return this.getFieldService().isPhoto(field);\n },\n isVue: function isVue(field) {\n return this.getFieldService().isVue(field);\n },\n sanitizeFieldValue: function sanitizeFieldValue(value) {\n return Array.isArray(value) && !value.length ? '' : value;\n }\n }\n};\n\n},{\"gui/fields/fieldsservice\":4}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n valid: false\n };\n },\n\n methods: {\n addToValidate: function addToValidate(input) {\n this.tovalidate.push(input);\n },\n changeInput: function changeInput(input) {\n this.isValid(input);\n },\n\n // Every input sends to form it valid value that will change the genaral state of form\n isValid: function isValid(input) {\n var _this = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually) {\n if (!input.validate.required) {\n if (!input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n } else {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n var countNoTEmptyInputName = [];\n for (var i = input.validate.mutually.length; i--;) {\n var name = input.validate.mutually[i];\n if (!this.tovalidate[name].validate.empty) {\n countNoTEmptyInputName.push(name);\n }\n }\n if (countNoTEmptyInputName.length < 2) {\n countNoTEmptyInputName.forEach(function (name) {\n _this.tovalidate[name].validate.mutually_valid = true;\n _this.tovalidate[name].validate.valid = true;\n setTimeout(function () {\n _this.tovalidate[name].validate.valid = _this.tovalidate[name].validate._valid;\n _this.state.valid = _this.state.valid && _this.tovalidate[name].validate.valid;\n });\n });\n }\n }\n }\n //check if min_field or max_field is set\n } else if (!input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.tovalidate[input.validate.min_field].value : this.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.tovalidate[input.validate.max_field].value;\n if (input.validate.valid) {\n this.tovalidate[input_name].validate.valid = true;\n }\n }\n }\n this.valid = Object.values(this.tovalidate).reduce(function (bool, input) {\n return bool && input.validate.valid;\n }, true);\n }\n },\n created: function created() {\n this.tovalidate = [];\n },\n destroyed: function destroyed() {\n this.tovalidate = null;\n }\n};\n\n},{}],166:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n showLayer: function showLayer() {\n this.visible = !this.visible;\n this.layer.setVisible(this.visible);\n }\n },\n created: function created() {\n var data = this.data;\n var mapProjection = _gui2.default.getService('map').getProjection().getCode();\n var style = void 0;\n switch (data.type) {\n case 'Point':\n case 'MultiPoint':\n style = [new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n }), new ol.style.Style({\n image: new ol.style.Circle({\n radius: 2,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n })];\n break;\n case 'Line':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.3)' }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n });\n break;\n }\n this.layer = new ol.layer.Vector({\n source: new ol.source.Vector({\n features: new ol.format.GeoJSON().readFeatures(data, { featureProjection: mapProjection })\n }),\n visible: !!this.visible,\n style: style\n });\n _gui2.default.getService('map').getMap().addLayer(this.layer);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.getService('map').getMap().removeLayer(this.layer);\n }\n}; /**\n * @file\n * @since v3.7\n */\n\n},{\"services/gui\":175}],167:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.widgetMixins = exports.formInputsMixins = exports.select2Mixin = exports.selectMixin = exports.resizeMixin = exports.geoMixin = exports.mediaMixin = exports.fieldsMixin = undefined;\n\nvar _autocomplete = require('mixins/autocomplete');\n\nvar _autocomplete2 = _interopRequireDefault(_autocomplete);\n\nvar _fields = require('mixins/fields');\n\nvar _fields2 = _interopRequireDefault(_fields);\n\nvar _media = require('mixins/media');\n\nvar _media2 = _interopRequireDefault(_media);\n\nvar _geo = require('mixins/geo');\n\nvar _geo2 = _interopRequireDefault(_geo);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _select = require('mixins/select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = require('mixins/select2');\n\nvar _select4 = _interopRequireDefault(_select3);\n\nvar _formInputs = require('mixins/form-inputs');\n\nvar _formInputs2 = _interopRequireDefault(_formInputs);\n\nvar _widget = require('mixins/widget');\n\nvar _widget2 = _interopRequireDefault(_widget);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\nvar mixins = {\n autocompleteMixin: _autocomplete2.default,\n fieldsMixin: _fields2.default,\n mediaMixin: _media2.default,\n geoMixin: _geo2.default,\n resizeMixin: _resize2.default,\n selectMixin: _select2.default,\n select2Mixin: _select4.default,\n formInputsMixins: _formInputs2.default,\n widgetMixins: _widget2.default,\n baseInputMixin: _baseInput2.default\n};\nexports.fieldsMixin = _fields2.default;\nexports.mediaMixin = _media2.default;\nexports.geoMixin = _geo2.default;\nexports.resizeMixin = _resize2.default;\nexports.selectMixin = _select2.default;\nexports.select2Mixin = _select4.default;\nexports.formInputsMixins = _formInputs2.default;\nexports.widgetMixins = _widget2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":161,\"mixins/base-input\":162,\"mixins/fields\":164,\"mixins/form-inputs\":165,\"mixins/geo\":166,\"mixins/media\":168,\"mixins/resize\":169,\"mixins/select\":170,\"mixins/select2\":171,\"mixins/widget\":172}],168:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n filename: function filename() {\n return this.value ? this.value.split('/').pop() : this.value;\n }\n },\n methods: {\n isMedia: function isMedia(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n return !!value.mime_type;\n }\n return false;\n },\n getMediaType: function getMediaType(mime_type) {\n var media = {\n type: null,\n options: {}\n };\n\n switch (mime_type) {\n case 'image/gif':\n case 'image/png':\n case 'image/jpeg':\n case 'image/bmp':\n media.type = 'image';\n break;\n case 'application/pdf':\n media.type = 'pdf';\n break;\n case 'video/mp4':\n case 'video/ogg':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n case 'video/quicktime':\n media.type = 'video';\n media.options.format = mime_type;\n break;\n case 'application/gzip':\n case 'application/zip':\n media.type = 'zip';\n break;\n case 'application/msword':\n case 'application/vnd.oasis.opendocument.text':\n media.type = 'text';\n break;\n case 'application/vnd.ms-office':\n case 'application/vnd.oasis.opendocument.spreadsheet':\n media.type = 'excel';\n break;\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n case 'application/vnd.ms-powerpoint':\n case 'application/vnd.oasis.opendocument.presentation':\n media.type = 'ppt';\n break;\n default:\n media.type = 'unknow';\n }\n return media;\n }\n }\n};\n\n},{}],169:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _throttle = require('utils/throttle');\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nvar DELAY_TYPE = {\n throttle: _throttle.throttle,\n debounce: _debounce.debounce\n};\n\nexports.default = {\n created: function created() {\n var delayWrapper = this.delayType && DELAY_TYPE[this.delayType] || DELAY_TYPE.throttle;\n this.delayResize = this.resize ? delayWrapper(this.resize.bind(this), this.delayTime) : null;\n _gui2.default.on('resize', this.delayResize);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n if (this.resize) {\n this.resize();\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n _gui2.default.off('resize', this.delayResize);\n this.delayResize = null;\n this.delayTime = null;\n }\n};\n\n},{\"services/gui\":175,\"utils/debounce\":200,\"utils/throttle\":243}],170:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getLanguage: function getLanguage() {\n return window.initConfig.user.i18n || \"en\";\n },\n changeSelect: function () {\n var _ref = _asyncToGenerator(function* (value) {\n this.state.value = 'null' === value ? null : value;\n //need to be waited in case of autocomplete\n yield this.$nextTick();\n this.change();\n });\n\n function changeSelect(_x) {\n return _ref.apply(this, arguments);\n }\n\n return changeSelect;\n }(),\n getValue: function getValue(value) {\n return null === value ? 'null' : value;\n },\n resetValues: function resetValues() {\n this.state.input.options.values.splice(0);\n }\n },\n computed: {\n autocomplete: function autocomplete() {\n return 'select_autocomplete' === this.state.input.type && this.state.input.options.usecompleter;\n }\n },\n watch: {\n notvalid: function () {\n var _ref2 = _asyncToGenerator(function* (value) {\n yield this.$nextTick();\n if (this.select2) {\n this.select2.data('select2').$container[value ? \"addClass\" : \"removeClass\"](\"input-error-validation\");\n }\n });\n\n function notvalid(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return notvalid;\n }()\n }\n};\n\n},{}],171:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n mixins: [_resize2.default],\n methods: {\n setValue: function setValue() {\n this.select2.val(this.state.value).trigger('change');\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n //destroy a select2 dom element\n if (this.select2) {\n this.select2.select2('destroy');\n // remove all events\n this.select2.off();\n this.select2 = null;\n }\n }\n};\n\n},{\"mixins/resize\":169,\"store/application\":180}],172:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n changed: false\n };\n },\n\n methods: {\n widgetChanged: function widgetChanged() {\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged(value) {\n console.log('need to be implemented by widget'); // method to overwrite\n }\n },\n watch: {\n 'state.value': function stateValue(value) {\n if (this.changed) {\n this.changed = false;\n } else {\n this.stateValueChanged(value);\n }\n }\n }\n};\n\n},{}],173:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.6\n */\nvar ApplicationService = new _g3wObject2.default({ setters: {\n online: function online() {},\n offline: function offline() {}\n } });\nApplicationService.version = _g3wConstants.APP_VERSION;\n\nexports.default = ApplicationService;\n\n},{\"g3w-constants\":127,\"g3w-object\":131}],174:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _XHR = require('utils/XHR');\n\nvar _promisify = require('utils/promisify');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar handleQueryPromises = function () {\n var _ref = _asyncToGenerator(function* () {\n var promises = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var responses = yield Promise.allSettled(promises);\n // at least one response\n if (responses.some(function (r) {\n return 'fulfilled' === r.status;\n })) {\n return responses.filter(function (r) {\n return 'fulfilled' === r.status;\n }).map(function (r) {\n return r.value;\n });\n }\n // show all errors\n return Promise.reject(responses.filter(function (r) {\n return 'rejected' === r.status;\n }).map(function (r) {\n return r.reason;\n }));\n });\n\n return function handleQueryPromises() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexports.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 getData: function () {\n var _ref2 = _asyncToGenerator(function* (contextAndMethod) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$inputs = options.inputs,\n inputs = _options$inputs === undefined ? {} : _options$inputs,\n _options$outputs = options.outputs,\n outputs = _options$outputs === undefined ? {} : _options$outputs;\n\n var promise = this[contextAndMethod](inputs);\n if (outputs) {\n _gui2.default.outputDataPlace(promise, outputs);\n }\n return yield yield promise;\n });\n\n function getData(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return getData;\n }(),\n\n\n /**\n * @param {{ coordinates: unknown, layerIds: unknown[], multilayers: boolean, query_point_tolerance: number, feature_count: number }}\n */\n 'query:coordinates': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n coordinates = _ref4.coordinates,\n _ref4$layerIds = _ref4.layerIds,\n layerIds = _ref4$layerIds === undefined ? [] : _ref4$layerIds,\n _ref4$multilayers = _ref4.multilayers,\n multilayers = _ref4$multilayers === undefined ? false : _ref4$multilayers,\n _ref4$query_point_tol = _ref4.query_point_tolerance,\n query_point_tolerance = _ref4$query_point_tol === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref4$query_point_tol,\n _ref4$addExternal = _ref4.addExternal,\n addExternal = _ref4$addExternal === undefined ? true : _ref4$addExternal,\n feature_count = _ref4.feature_count;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({\n QUERYABLE: true,\n SELECTED_OR_ALL: 0 === layerIds.length,\n VISIBLE: true,\n IDS: layerIds.length ? layerIds.map(function (id) {\n return id;\n }) : undefined\n });\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n coordinates: coordinates,\n type: 'coordinates',\n external: {\n add: !external || layerIds.length > 0 ? 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) && (yield (0, _promisify.promisify)(this.getQueryLayersPromisesByCoordinates(layers, {\n multilayers: multilayers,\n feature_count: feature_count,\n query_point_tolerance: query_point_tolerance,\n coordinates: coordinates\n }))) || []).flatMap(function (_ref5) {\n var _ref5$data = _ref5.data,\n data = _ref5$data === undefined ? [] : _ref5$data;\n return data;\n })\n\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryCoordinates() {\n return _ref3.apply(this, arguments);\n }\n\n return queryCoordinates;\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 'query:bbox': function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n bbox = _ref7.bbox,\n _ref7$feature_count = _ref7.feature_count,\n feature_count = _ref7$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref7$feature_count,\n _ref7$filterConfig = _ref7.filterConfig,\n filterConfig = _ref7$filterConfig === undefined ? {} : _ref7$filterConfig,\n _ref7$multilayers = _ref7.multilayers,\n multilayers = _ref7$multilayers === undefined ? false : _ref7$multilayers,\n _ref7$condition = _ref7.condition,\n condition = _ref7$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref7$condition,\n _ref7$excludeSelected = _ref7.excludeSelected,\n excludeSelected = _ref7$excludeSelected === undefined ? null : _ref7$excludeSelected,\n _ref7$addExternal = _ref7.addExternal,\n addExternal = _ref7$addExternal === undefined ? true : _ref7$addExternal,\n _ref7$layersFilterObj = _ref7.layersFilterObject,\n layersFilterObject = _ref7$layersFilterObj === undefined ? { SELECTED_OR_ALL: true, FILTERABLE: true, VISIBLE: true } : _ref7$layersFilterObj;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var selected = external || ('boolean' == typeof excludeSelected ? excludeSelected : false);\n\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n bbox: bbox,\n type: 'bbox',\n filterConfig: filterConfig,\n external: {\n add: addExternal,\n filter: {\n SELECTED: selected\n }\n }\n },\n data: (!external && (yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(layersFilterObject, condition),\n // options\n {\n geometry: ol.geom.Polygon.fromExtent(bbox),\n feature_count: feature_count,\n filterConfig: filterConfig,\n multilayers: multilayers,\n projection: _gui2.default.getService('map').getMap().getView().getProjection()\n })) || []).flatMap(function (_ref8) {\n var _ref8$data = _ref8.data,\n data = _ref8$data === undefined ? [] : _ref8$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryBbox() {\n return _ref6.apply(this, arguments);\n }\n\n return queryBbox;\n }(),\n\n\n /**\n * @param {{ feature: unknown, feature_count: unknown, filterConfig: unknown, multilayers: boolean, condition: boolean, excludeLayers: unknown[] }}\n */\n 'query:polygon': function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref10.feature,\n _ref10$feature_count = _ref10.feature_count,\n feature_count = _ref10$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref10$feature_count,\n _ref10$filterConfig = _ref10.filterConfig,\n filterConfig = _ref10$filterConfig === undefined ? {} : _ref10$filterConfig,\n _ref10$multilayers = _ref10.multilayers,\n multilayers = _ref10$multilayers === undefined ? false : _ref10$multilayers,\n _ref10$condition = _ref10.condition,\n condition = _ref10$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref10$condition,\n _ref10$layerName = _ref10.layerName,\n layerName = _ref10$layerName === undefined ? '' : _ref10$layerName,\n _ref10$excludeSelecte = _ref10.excludeSelected,\n excludeSelected = _ref10$excludeSelecte === undefined ? null : _ref10$excludeSelecte,\n _ref10$external = _ref10.external,\n external = _ref10$external === undefined ? {\n add: true,\n filter: {\n SELECTED: false\n }\n } : _ref10$external,\n _ref10$type = _ref10.type,\n type = _ref10$type === undefined ? 'polygon' : _ref10$type;\n\n var geometry = feature.getGeometry();\n\n try {\n return {\n result: true,\n type: 'ows',\n error: !geometry,\n query: {\n fid: _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n }) ? feature.getId() : feature.get(_g3wConstants.G3W_FID),\n geometry: geometry,\n layerName: layerName,\n type: type,\n filterConfig: filterConfig,\n external: 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: ((yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(_extends({}, \"boolean\" === typeof excludeSelected ? { SELECTED: !excludeSelected } : { SELECTED_OR_ALL: true }, {\n FILTERABLE: true,\n VISIBLE: true\n }), condition),\n // options\n {\n geometry: geometry,\n multilayers: multilayers,\n feature_count: feature_count,\n filterConfig: filterConfig,\n projection: _application2.default.project.getProjection()\n })) || []).flatMap(function (_ref11) {\n var _ref11$data = _ref11.data,\n data = _ref11$data === undefined ? [] : _ref11$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryPolygon() {\n return _ref9.apply(this, arguments);\n }\n\n return queryPolygon;\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 * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n 'search:features': function () {\n var _ref12 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n layer: layer,\n filter: filter,\n raw: false,\n queryUrl: queryUrl,\n feature_count: feature_count,\n formatter: 1,\n ordering: ordering\n };\n return _asyncToGenerator(function* () {\n var layer = options.layer,\n params = _objectWithoutProperties(options, ['layer']);\n\n params.filter = [].concat(params.filter); // check if filter is array\n\n return {\n data: (yield Promise.allSettled([].concat(layer).map(function (l, i) {\n return l.searchFeatures(_extends({}, params, { filter: params.filter[i] }));\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).map(function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref14.value;\n\n if (options.raw) {\n return { data: value };\n }\n if (Array.isArray(value.data) && value.data.length > 0) {\n return value.data[0];\n }\n }),\n query: {\n type: 'search',\n search: options.filter\n },\n type: 'api'\n };\n })();\n });\n\n function searchFeatures() {\n return _ref12.apply(this, arguments);\n }\n\n return searchFeatures;\n }(),\n\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n 'search:fids': function () {\n var _ref15 = _asyncToGenerator(function* () {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref16.layer,\n _ref16$formatter = _ref16.formatter,\n formatter = _ref16$formatter === undefined ? 0 : _ref16$formatter,\n _ref16$fids = _ref16.fids,\n fids = _ref16$fids === undefined ? [] : _ref16$fids;\n\n var features = [];\n try {\n // convert API response to Open Layer Features\n features = (layer && (yield layer.getFeatureByFids({ fids: fids, formatter: formatter })) || []).map(function (f) {\n var properties = undefined !== f.properties ? f.properties : {};\n properties[_g3wConstants.G3W_FID] = f.id;\n var 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: layer,\n features: features\n }],\n query: { type: 'search' }\n };\n });\n\n function searchFids() {\n return _ref15.apply(this, arguments);\n }\n\n return searchFids;\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 'search:layersfids': function () {\n var _ref17 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$layers = _ref18.layers,\n layers = _ref18$layers === undefined ? [] : _ref18$layers,\n _ref18$fids = _ref18.fids,\n fids = _ref18$fids === undefined ? [] : _ref18$fids,\n _ref18$formatter = _ref18.formatter,\n formatter = _ref18$formatter === undefined ? 0 : _ref18$formatter;\n\n var data = [];\n try {\n data = (yield Promise.all(layers.map(function (layer, i) {\n return _this['search:fids']({ layer: layer, fids: fids[i], formatter: formatter });\n }))).map(function (response) {\n return response.data;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: data,\n query: { type: 'search' }\n };\n });\n\n function searchLayersfids() {\n return _ref17.apply(this, arguments);\n }\n\n return searchLayersfids;\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 'expression:expression': function () {\n var _ref19 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var response = yield _XHR.XHR.post({\n url: '' + _application2.default.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 || [] : null;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function expressionExpression() {\n return _ref19.apply(this, arguments);\n }\n\n return expressionExpression;\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 'expression:expression_eval': function expressionExpression_eval() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _XHR.XHR.post({\n url: '/api/expression_eval/' + _application2.default.project.getId() + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n },\n\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n 'proxy:wms': function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref21.url,\n _ref21$method = _ref21.method,\n method = _ref21$method === undefined ? 'GET' : _ref21$method,\n _ref21$params = _ref21.params,\n params = _ref21$params === undefined ? {} : _ref21$params,\n _ref21$headers = _ref21.headers,\n headers = _ref21$headers === undefined ? {} : _ref21$headers;\n\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(function (p) {\n return url.searchParams.set(p, params[p]);\n });\n url = url.toString();\n }\n try {\n return {\n response: yield _XHR.XHR.post({\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method }),\n contentType: 'application/json',\n url: '' + window.initConfig.proxyurl\n }),\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method })\n };\n } catch (e) {\n console.warn(e);\n }\n });\n\n function proxyWms() {\n return _ref20.apply(this, arguments);\n }\n\n return proxyWms;\n }(),\n\n\n /**\n * Generic proxy data function\n */\n 'proxy:data': function proxyData() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n },\n\n\n /**\n * @param params\n * \n * @returns {Promise<{data: string, response: *}>}\n */\n 'ows:wmsCapabilities': function () {\n var _ref22 = _asyncToGenerator(function* () {\n var _ref23 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref23.url;\n\n try {\n return yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url, service: \"wms\" })\n });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function owsWmsCapabilities() {\n return _ref22.apply(this, arguments);\n }\n\n return owsWmsCapabilities;\n }(),\n\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: function getQueryLayersPromisesByCoordinates(layers) {\n var _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref24.coordinates,\n _ref24$feature_count = _ref24.feature_count,\n feature_count = _ref24$feature_count === undefined ? 10 : _ref24$feature_count,\n _ref24$query_point_to = _ref24.query_point_tolerance,\n query_point_tolerance = _ref24$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref24$query_point_to,\n _ref24$multilayers = _ref24.multilayers,\n multilayers = _ref24$multilayers === undefined ? false : _ref24$multilayers,\n _ref24$reproject = _ref24.reproject,\n reproject = _ref24$reproject === undefined ? true : _ref24$reproject;\n\n // skip when no features\n if (0 === layers.length) {\n return (0, _promisify.$promisify)(Promise.resolve(layers));\n }\n\n var map = _gui2.default.getService('map').getMap();\n var size = map.getSize();\n var mapProjection = map.getView().getProjection();\n var resolution = map.getView().getResolution();\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getInfoFormat() + ':' + l.getInfoUrl() + ':' + l.getMultiLayerId();\n }) : layers).map(function (layers) {\n return (0, _promisify.promisify)([].concat(layers)[0].query(multilayers ? { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution, reproject: reproject, layers: layers } : { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution }));\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 getQueryLayersPromisesByGeometry: function () {\n var _ref26 = _asyncToGenerator(function* (layers) {\n var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref27.geometry,\n projection = _ref27.projection,\n _ref27$filterConfig = _ref27.filterConfig,\n filterConfig = _ref27$filterConfig === undefined ? {} : _ref27$filterConfig,\n _ref27$multilayers = _ref27.multilayers,\n multilayers = _ref27$multilayers === undefined ? false : _ref27$multilayers,\n _ref27$feature_count = _ref27.feature_count,\n feature_count = _ref27$feature_count === undefined ? 10 : _ref27$feature_count;\n\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n var mapCrs = projection.getCode();\n\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getMultiLayerId() + '_' + l.getProjection().getCode();\n }) : layers).map(function (layers) {\n var layer = [].concat(layers)[0];\n var crs = layer.getProjection().getCode();\n var 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 (0, _promisify.promisify)(layer.query(multilayers ? { filter: filter, feature_count: feature_count, layers: layers } : { filter: filter, feature_count: feature_count, filterConfig: filterConfig }));\n }));\n });\n\n function getQueryLayersPromisesByGeometry(_x18) {\n return _ref26.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":127,\"g3w-i18n\":130,\"services/gui\":175,\"store/application\":180,\"utils/XHR\":183,\"utils/getMapLayersByFilter\":212,\"utils/groupBy\":221,\"utils/promisify\":234}],175:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/** clear all stacks */\nvar _clearContents = function () {\n var _ref = _asyncToGenerator(function* () {\n yield Promise.allSettled((_application2.default.contentsdata || []).map(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(GUI.getComponent('contents').parent).empty();\n }\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()));\n _application2.default.contentsdata.splice(0, _application2.default.contentsdata.length);\n });\n\n return function _clearContents() {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * Convert error to user message showed\n * @param error\n * @returns {string}\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _iframe = require('services/iframe');\n\nvar _iframe2 = _interopRequireDefault(_iframe);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _promisify = require('utils/promisify');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _getProjectUrl = require('utils/getProjectUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/** store legacy frontend components */\nvar COMPONENTS = {};\n\n/* service know by the applications (standard) */\nvar SERVICES = {\n navbar: null,\n sidebar: null,\n viewport: null\n};\n\nfunction setViewSizes() {\n var state = _application2.default.viewport;\n\n var primaryView = state.primaryView;\n var secondaryView = 'map' === state.primaryView ? 'content' : 'map';\n var main_sidebar = $(\".main-sidebar\");\n var offset = main_sidebar.length && main_sidebar.offset().left;\n var width = main_sidebar.length && main_sidebar[0].getBoundingClientRect().width;\n var sideBarSpace = width + offset;\n var viewportWidth = $('#app')[0].getBoundingClientRect().width - sideBarSpace;\n var viewportHeight = $(document).innerHeight() - $('.navbar-header').innerHeight();\n // assign all width and height of the view to primary view (map)\n var primaryWidth = void 0;\n var primaryHeight = void 0;\n var secondaryWidth = void 0;\n var secondaryHeight = void 0;\n // percentage of secondary view (content)\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === state.split ? 'width' : 'height'];\n var scale = (state.secondaryPerc !== 100 && !is_fullview ? content_perc : 100) / 100;\n if ('h' === state.split) {\n secondaryWidth = state.secondaryVisible ? Math.max(viewportWidth * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n secondaryHeight = viewportHeight;\n primaryWidth = viewportWidth - secondaryWidth;\n primaryHeight = viewportHeight;\n } else {\n secondaryWidth = viewportWidth;\n secondaryHeight = state.secondaryVisible ? Math.max(viewportHeight * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n primaryWidth = state.secondaryVisible && scale === 1 ? 0 : viewportWidth;\n primaryHeight = viewportHeight - secondaryHeight;\n }\n state[primaryView].sizes.width = primaryWidth;\n state[primaryView].sizes.height = primaryHeight;\n state[secondaryView].sizes.width = secondaryWidth;\n state[secondaryView].sizes.height = secondaryHeight;\n}\n\n/**\n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\nfunction getReducedSizes() {\n var contentEl = $('.content');\n var reducedWidth = 0;\n var reducedHeight = 0;\n var sideBarToggleEl = $('.sidebar-aside-toggle');\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(_application2.default.viewport.split === 'h' ? 'width' : 'height') + '_100'];\n if (contentEl && _application2.default.viewport.secondaryVisible && is_fullview) {\n if (sideBarToggleEl && sideBarToggleEl.is(':visible')) {\n var toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', toggleWidth + 5);\n reducedWidth = toggleWidth - 5;\n }\n } else {\n var _toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', _application2.default.viewport.secondaryPerc === 100 ? _toggleWidth + 5 : 15);\n }\n return {\n reducedWidth: reducedWidth,\n reducedHeight: reducedHeight\n };\n}function errorToMessage(error) {\n var type = (0, _toRawType.toRawType)(error);\n\n if ('Error' === type) {\n return 'CLIENT - ' + error.message;\n }\n\n if ('Object' === type && error.responseJSON && false === error.responseJSON.result) {\n var e = error.responseJSON.error;\n return (e.code || '').toUpperCase() + ' ' + (e.data || '') + ' ' + (e.message || '');\n }\n\n if ('Object' === type && error.responseText) {\n return error.responseText;\n }\n\n if ('Array' === type) {\n return error.map(function (e) {\n return errorToMessage(e);\n }).join(' ');\n }\n\n return error || 'server_error';\n}\n\n// API della GUI.\n// methods have been defined by application\n// app should call GUI.ready() when GUI is ready\nexports.default = new (function (_G3WObject) {\n _inherits(GUI, _G3WObject);\n\n function GUI(opts) {\n _classCallCheck(this, GUI);\n\n var _this = _possibleConstructorReturn(this, (GUI.__proto__ || Object.getPrototypeOf(GUI)).call(this, opts));\n\n _this.setters = {\n setContent: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.emit('opencontent', true);\n\n // close user message before set content\n if (this._closeUserMessage) {\n this.closeUserMessage();\n }\n\n options.content = options.content || null;\n options.title = options.title || \"\";\n options.push = true === options.push || false === options.push ? options.push : false;\n options.perc = isMobile.any ? 100 : options.perc;\n options.split = options.split || 'h';\n options.backonclose = true === options.backonclose || false === options.backonclose ? options.backonclose : false;\n options.showtitle = true === options.showtitle || false === options.showtitle ? options.showtitle : true;\n\n var opts = options;\n\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n opts.perc = opts.perc !== undefined ? opts.perc : content_perc;\n\n // check if push is set\n opts.push = opts.push || false;\n var event = opts.perc === 100 ? 'show-content-full' : 'show-content';\n\n // set all content parameters\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n // call show view (in this case content (other is map)\n this._showView('content', opts);\n\n var contents = this.getComponent('contents');\n\n // whether to clean the stack every time, sure to have just one component.\n if (!opts.push) {\n yield _clearContents();\n }\n\n var content = opts.content;\n var _options = Object.assign(opts, { parent: contents.internalComponent.$el, append: true });\n contents.parent = _options.parent;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(contents.parent).append(el);\n _application2.default.contentsdata.push({ content: el, options: _options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', _application2.default.contentsdata.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = _application2.default.contentsdata.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(_application2.default.contentsdata[id].content.unmount());\n _application2.default.contentsdata.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(contents.parent, _options.append || false));\n $(contents.parent).localize();\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n // DOM element\n else {\n contents.parent.appendChild(content);\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n Array.from(contents.internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n contents.setOpen(true);\n\n this._layoutComponents(event);\n });\n\n function setContent() {\n return _ref3.apply(this, arguments);\n }\n\n return setContent;\n }()\n };\n\n _this.isready = false;\n\n //property to how a result has to be adding or close all and show new\n // false mean create new and close all open\n _this.push_content = false;\n\n _this._closeUserMessage = true;\n\n _this.dialog = bootbox;\n\n _this.notify = {\n warning: function warning(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'warning', message: message, autoclose: autoclose });\n },\n error: function error(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'alert', message: message, autoclose: autoclose });\n },\n info: function info(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'info', message: message, autoclose: autoclose });\n },\n success: function success(message) {\n _this.showUserMessage({ type: 'success', message: message, autoclose: true });\n }\n };\n\n /** @since 3.11.0 */\n _this.currentoutputplace = 'gui';\n\n return _this;\n }\n\n _createClass(GUI, [{\n key: 'addComponent',\n value: function addComponent(component, placeholder) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var register = true;\n if (placeholder && Object.keys(SERVICES).indexOf(placeholder) > -1) {\n // add component to the sidebar and set position inside the sidebar\n if ('sidebar' === placeholder) {\n if (!isMobile.any || false !== component.mobile) {\n _application2.default.sidebar.components.push(component);\n new (Vue.extend(require('components/SidebarItem.vue')))({ component: component, opts: options }).$mount();\n }\n register = true;\n } else if (SERVICES[placeholder]) {\n register = SERVICES[placeholder].addComponents([component], options);\n }\n }\n if (register) {\n this.setComponent(component);\n }\n return true;\n }\n\n /**\n * used by the following plugins: \"billboards\"\n */\n\n }, {\n key: 'setPushContent',\n value: function setPushContent() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.push_content = bool;\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n var id = component.getId();\n if (undefined === COMPONENTS[id]) {\n COMPONENTS[id] = component;\n }\n }\n }, {\n key: 'getComponent',\n value: function getComponent(id) {\n return COMPONENTS[id];\n }\n }, {\n key: 'getComponents',\n value: function getComponents() {\n return COMPONENTS;\n }\n }, {\n key: 'ready',\n value: function ready() {\n var _this2 = this;\n\n var drawing = false;\n var resizeFired = false;\n function triggerResize() {\n resizeFired = true;\n drawResize();\n }\n /**\n * function called from resize of browser windows (also open dev tool)\n */\n var drawResize = function drawResize() {\n if (true === resizeFired) {\n resizeFired = false;\n drawing = true;\n _this2._layout('resize');\n requestAnimationFrame(drawResize);\n } else {\n drawing = false;\n }\n };\n\n // SetSidebar width (used by components/Viewport.vue single file component)\n _application2.default.viewport.SIDEBARWIDTH = this.getSize({ element: 'sidebar', what: 'width' });\n\n this._layout();\n\n // resize della window\n $(window).resize(function () {\n // set resizedFired to true and execute drawResize if it's not already running\n if (false === drawing) {\n triggerResize();\n }\n });\n\n // resize on main siedemar open close sidebar\n $('.main-sidebar').on('transitionend', function (event) {\n //be sure that is the main sidebar that is transitioned non his child\n if (event.target === this) {\n $(this).trigger('trans-end');\n triggerResize();\n }\n });\n\n this.emit('ready');\n this.isready = true;\n }\n }, {\n key: 'isReady',\n value: function isReady() {\n var _this3 = this;\n\n return new Promise(function (resolve) {\n return _this3.isready ? resolve() : _this3.once('ready', resolve);\n });\n }\n }, {\n key: 'getService',\n\n\n /**\n * Passing a component application ui id return service that belongs to component\n * @param componentId\n * @returns {*}\n */\n value: function getService(componentId) {\n var component = this.getComponent(componentId);\n return component && component.getService();\n }\n\n /* end spinner */\n\n /**\n * Wrapper for download\n *\n * @param { Function } downloadFnc function to call\n * @param { Object } options Object parameters\n *\n * @since 3.9.0\n */\n\n }, {\n key: 'downloadWrapper',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (downloadFnc) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.setLoadingContent(true);\n\n try {\n yield downloadFnc(options);\n } catch (e) {\n this.showUserMessage({ type: 'alert', message: e || 'server_error', textMessage: !!e });\n }\n _application2.default.download = true;\n _application2.default.download = false;\n\n this.setLoadingContent(false);\n });\n\n function downloadWrapper(_x9) {\n return _ref4.apply(this, arguments);\n }\n\n return downloadWrapper;\n }()\n\n /** @since 3.10.0 remove _setUpTemplateDependencies method**/\n\n }, {\n key: 'isMobile',\n value: function (_isMobile) {\n function isMobile() {\n return _isMobile.apply(this, arguments);\n }\n\n isMobile.toString = function () {\n return _isMobile.toString();\n };\n\n return isMobile;\n }(function () {\n return isMobile.any;\n })\n }, {\n key: 'getFontClass',\n value: function getFontClass(type) {\n return Vue.prototype.g3wtemplate.getFontClass(type);\n }\n\n /* Metodos to define */\n\n }, {\n key: 'getResourcesUrl',\n value: function getResourcesUrl() {\n return window.initConfig.staticurl + window.initConfig.client;\n }\n\n /**\n * Function called from DataRouterservice for gui output\n * \n * @param promise // is request data promise\n * @param { Object } output\n * @param { boolean | Function | Object } output.show set output condition (whether to show result or not)\n * @param { boolean } output.add\n * @param { String } output.title\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (promise) {\n var output = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n //set current unique request id of request\n var rid = (0, _getUniqueDomId.getUniqueDomId)();\n\n /** In the case of a current output result is iframe, send to IFrameRouterService.outputDataPlace*/\n if ('iframe' === this.currentoutputplace) {\n return _iframe2.default.outputDataPlace(promise, output);\n }\n\n //set loading state\n this.setLoadingContent(true);\n\n //check show attribute if is a valid type\n var condition = ['function', 'boolean'].includes(_typeof(output.show));\n\n Object.assign(output, _extends({\n condition: condition ? output.show : true,\n add: false\n }, condition ? {} : output.show));\n\n // abort any previous request\n if (this.pending_output) {\n yield this.pending_output();\n }\n\n // if request doesn't need to add to a current query result\n if (!output.add) {\n this.showQueryResults(output.title || '');\n }\n\n // Store data promise\n var data = {};\n // stop\n var stop = false;\n\n //set current pending out\n this.pending_output = _asyncToGenerator(function* () {\n return stop = true;\n });\n\n //set current request id\n this.crid = rid;\n\n try {\n\n if (!stop) {\n data = yield promise;\n }\n\n //if set before call method and wait\n if (!stop && output.before) {\n yield output.before(data);\n }\n\n // in case of usermessage show user message\n if (!stop && data.usermessage) {\n this.showUserMessage({\n type: data.usermessage.type,\n message: data.usermessage.message,\n autoclose: data.usermessage.autoclose\n });\n }\n\n var show = !stop && 'function' === typeof output.condition ? output.condition(data) : false !== output.condition;\n\n // check if data can be shown on query result content\n if (!stop && show) {\n (this.getService('queryresults') || this.showQueryResults(output.title || '')).setQueryResponse(data, { add: output.add });\n }\n\n if (!stop && !show) {\n this.pending_output = this.closeContent.bind(this);\n }\n\n // call after is set with data\n if (!stop && output.after) {\n output.after(data);\n }\n } catch (e) {\n console.warn(e);\n this.showUserMessage({\n type: 'alert',\n message: errorToMessage(e),\n textMessage: true\n });\n yield this.closeContent();\n }\n\n this.pending_output = null;\n //set loading to false when done current request id\n this.setLoadingContent(rid !== this.crid);\n });\n\n function outputDataPlace(_x11) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n }, {\n key: 'showForm',\n value: function showForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _require = require('components/g3w-form'),\n FormComponent = _require.FormComponent;\n // new instance every time\n\n\n var formComponent = options.formComponent ? new options.formComponent(options) : new FormComponent(options);\n this.setContent({\n perc: options.perc,\n content: formComponent,\n split: undefined !== options.split ? options.split : 'h',\n crumb: options.crumb,\n push: !!options.push, //only one (if other deletes previous component)\n showgoback: !!options.showgoback,\n closable: false\n });\n // return service\n return formComponent.getService();\n }\n\n /**\n *\n * @param pop remove or not content or pop\n */\n\n }, {\n key: 'closeForm',\n value: function closeForm() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$pop = _ref7.pop,\n pop = _ref7$pop === undefined ? false : _ref7$pop;\n\n this.emit('closeform', false);\n\n var backonclose = !pop && _application2.default.viewport.content.backonclose && _application2.default.viewport.content.contentsdata.length > 1;\n\n // remove just last component\n if (pop || backonclose) {\n this.popContent();\n }\n\n // remove all content stacks\n if (!pop && !backonclose) {\n this.closeContent();\n }\n\n this.setModal(false);\n }\n }, {\n key: 'disableElement',\n value: function disableElement(_ref8) {\n var element = _ref8.element,\n disable = _ref8.disable;\n\n $(element)[disable ? 'addClass' : 'removeClass']('g3w-disabled');\n }\n }, {\n key: 'disableContent',\n value: function disableContent(disable) {\n _application2.default.viewport.content.disabled = disable;\n }\n }, {\n key: 'disablePanel',\n value: function disablePanel() {\n var disable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.disableElement({\n element: \"#g3w-sidebarpanel-placeholder\",\n disable: disable\n });\n }\n\n /**\n * collapse any expanded sidebar component \n */\n\n }, {\n key: 'closeSideBar',\n value: function closeSideBar() {\n _application2.default.sidebar.components.forEach(function (c) {\n return c.getOpen() && c.state.closewhenshowviewportcontent && c.collapsible && c.click({ open: false });\n });\n }\n }, {\n key: 'showQueryResults',\n\n\n // show results info/search\n value: function showQueryResults(title, results) {\n var queryresults = this.getComponent('queryresults').getService();\n\n queryresults.clearState();\n\n if (results) {\n queryresults.setQueryResponse(results);\n }\n\n // show contextual content\n this.setContent({\n content: this.getComponent('queryresults'),\n title: \"info.title\",\n crumb: { title: \"info.title\", trigger: null },\n push: this.push_content,\n post_title: title,\n perc: isMobile.any ? 100 : undefined\n });\n\n return queryresults;\n }\n\n /**\n * used by the following plugins: \"stress\" \n */\n\n }, {\n key: 'addNavbarItem',\n value: function addNavbarItem(item) {\n _application2.default.navbaritems.push(item);\n }\n }, {\n key: 'showPanel',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (content) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _application2.default.sidebar.title = content.title;\n _application2.default.sidebar.parent = '#g3w-sidebarpanel-placeholder';\n\n var current = _application2.default.sidebar.contentsdata.at(-1);\n\n if (current) {\n $(current.content.internalPanel.$el).hide();\n }\n\n var options = _extends({ parent: '#g3w-sidebarpanel-placeholder' }, opts);\n var parent = _application2.default.sidebar.parent;\n var data = _application2.default.sidebar.contentsdata;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(parent).append(el);\n data.push({ content: el, options: options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', data.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = data.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(data[id].content.unmount());\n data.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(parent, options.append || false));\n $(parent).localize();\n data.push({ content: content, options: options });\n }\n\n // DOM element\n else {\n parent.appendChild(content);\n data.push({ content: content, options: options });\n }\n });\n\n function showPanel(_x16) {\n return _ref9.apply(this, arguments);\n }\n\n return showPanel;\n }()\n }, {\n key: 'closePanel',\n value: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var data = _application2.default.sidebar.contentsdata;\n if (data.length <= 0) {\n return;\n }\n var panel = data.slice(-1)[0].content;\n if (panel instanceof _g3wComponent2.default || panel instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(panel.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n var content = data.pop();\n content = null;\n var current = _application2.default.sidebar.contentsdata.at(-1);\n if (current) {\n $(current.content.internalPanel.$el).show();\n _application2.default.sidebar.title = current.content.title;\n }\n });\n\n function closePanel() {\n return _ref10.apply(this, arguments);\n }\n\n return closePanel;\n }()\n\n //showusermessage\n\n }, {\n key: 'showUserMessage',\n value: function showUserMessage() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n title = _ref11.title,\n subtitle = _ref11.subtitle,\n message = _ref11.message,\n type = _ref11.type,\n position = _ref11.position,\n size = _ref11.size,\n draggable = _ref11.draggable,\n duration = _ref11.duration,\n _ref11$textMessage = _ref11.textMessage,\n textMessage = _ref11$textMessage === undefined ? false : _ref11$textMessage,\n closable = _ref11.closable,\n autoclose = _ref11.autoclose,\n _ref11$hooks = _ref11.hooks,\n hooks = _ref11$hooks === undefined ? {} : _ref11$hooks,\n _ref11$iconClass = _ref11.iconClass,\n iconClass = _ref11$iconClass === undefined ? null : _ref11$iconClass;\n\n this.closeUserMessage();\n\n setTimeout(function () {\n Object.assign(_application2.default.viewport.usermessage, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n show: true,\n message: message,\n textMessage: textMessage,\n title: title,\n subtitle: subtitle,\n position: position,\n duration: duration,\n type: type,\n size: size,\n autoclose: autoclose,\n closable: closable,\n draggable: draggable,\n hooks: hooks,\n iconClass: iconClass\n });\n });\n\n return _application2.default.viewport.usermessage;\n }\n }, {\n key: 'closeUserMessage',\n value: function closeUserMessage() {\n Object.assign(_application2.default.viewport.usermessage, {\n id: null,\n show: false,\n textMessage: false,\n message: ''\n });\n }\n\n //modal dialog//\n\n }, {\n key: 'showModalDialog',\n value: function showModalDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.dialog.dialog(options);\n }\n }, {\n key: 'showSpinner',\n value: function showSpinner() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var container = options.container || 'body';\n var id = options.id || 'loadspinner';\n var where = options.where || 'prepend'; // append | prepend\n var style = options.style || '';\n var transparent = options.transparent && 'background-color: transparent' || '';\n var center = options.center && 'margin: auto' || '';\n if (!$('#' + id).length) {\n $(container)[where].call($(container), '
');\n }\n }\n }, {\n key: 'hideSpinner',\n value: function hideSpinner() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'loadspinner';\n\n $('#' + id).remove();\n }\n\n /** @since 3.11.0*/\n\n }, {\n key: 'toggleSidebar',\n value: function toggleSidebar() {\n if (document.body.classList.contains('sidebar-open')) {\n this.hideSidebar();\n } else if (document.body.classList.contains('sidebar-collapse') || window.innerWidth <= 767) {\n this.showSidebar();\n } else {\n this.hideSidebar();\n }\n }\n\n /**\n * Toggle set full screen modal\n */\n\n }, {\n key: 'showFullModal',\n value: function showFullModal() {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$element = _ref12.element,\n element = _ref12$element === undefined ? \"#modal-full-screen\" : _ref12$element,\n _ref12$show = _ref12.show,\n show = _ref12$show === undefined ? true : _ref12$show;\n\n $(element).modal(show ? 'show' : 'hide');\n }\n }, {\n key: 'disableSideBar',\n value: function disableSideBar() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _application2.default.gui.sidebar.disabled = bool;\n }\n\n // (100%) content\n\n }, {\n key: 'showContent',\n value: function showContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.setLoadingContent(false);\n options.perc = isMobile.any ? 100 : options.perc;\n this.setContent(options);\n return true;\n }\n\n // add component to stack (append)\n // Differences between pushContent and setContent are:\n // - push every component is added, set is refreshed\n // - pushContent has a new parameter (backonclose) when is clicked x\n // - the contentComponent is close all stacks are closed\n\n }, {\n key: 'pushContent',\n value: function pushContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n options.perc = isMobile.any ? 100 : options.perc;\n options.push = true;\n this.setContent(options);\n }\n\n //return number of a component of stack\n\n }, {\n key: 'getContentLength',\n value: function getContentLength() {\n return _application2.default.viewport.content.contentsdata.length;\n }\n\n /**\n * change current content options\n * @param opts: { title, crumb, text }\n */\n\n }, {\n key: 'setCurrentContentOptions',\n value: function setCurrentContentOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var content = _application2.default.viewport.content.contentsdata.at(-1) || null;\n if (content && opts.title) {\n content.options.title = opts.title;\n }\n if (content && opts.crumb) {\n content.options.crumb = opts.crumb;\n }\n }\n }, {\n key: 'getCurrentContent',\n value: function getCurrentContent() {\n return _application2.default.viewport.content.contentsdata.at(-1) || null;\n }\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * ORIGINAL SOURCE: src/components/g3w-projectsmenu.js@v3.10.2\n */\n\n }, {\n key: 'getProjectMenuDOM',\n value: function getProjectMenuDOM() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$projects = _ref13.projects,\n projects = _ref13$projects === undefined ? [] : _ref13$projects,\n host = _ref13.host,\n cbk = _ref13.cbk;\n\n var opts = {\n projects: projects && Array.isArray(projects) && projects,\n cbk: cbk,\n host: host\n };\n return new _g3wComponent2.default(_extends({}, opts, {\n id: 'projectsmenu',\n title: opts.title || 'menu',\n internalComponent: new (Vue.extend(require('components/ProjectsMenu.vue')))({\n host: opts.host,\n state: {\n menuitems: (opts.projects || (0, _getListableProjects.getListableProjects)()).map(function (p) {\n return {\n title: p.title,\n description: p.description,\n thumbnail: p.thumbnail,\n gid: p.gid,\n cbk: opts.cbk || function () {\n var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var url = yield GUI.getService('map').addMapExtentUrlParameterToUrl((0, _getProjectUrl.getProjectUrl)(o.gid));\n try {\n history.replaceState(null, null, url);\n } catch (e) {\n console.warn(e);\n }location.replace(url);\n }));\n }\n };\n })\n }\n })\n })).getInternalComponent().$mount().$el;\n }\n }, {\n key: 'toggleUserMessage',\n value: function toggleUserMessage() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._closeUserMessage = bool;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideClientMenu',\n value: function hideClientMenu() {\n window.initConfig.user = null;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideChangeMaps',\n value: function hideChangeMaps() {\n window.initConfig.projects = [];\n }\n }, {\n key: 'setLoadingContent',\n value: function setLoadingContent() {\n var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _application2.default.viewport.content.loading = loading;\n return loading && new Promise(function (resolve) {\n return setTimeout(resolve, 200);\n });\n }\n }, {\n key: 'toggleFullViewContent',\n value: function toggleFullViewContent() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = !rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n this._layoutComponents();\n }\n }, {\n key: 'resetToDefaultContentPercentage',\n value: function resetToDefaultContentPercentage() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel['' + (state.split === 'h' ? 'width' : 'height')] = rightpanel[(state.split === 'h' ? 'width' : 'height') + '_default'];\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = false;\n this._layoutComponents();\n }\n\n // hide content\n\n }, {\n key: 'hideContent',\n value: function hideContent(bool) {\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n _application2.default.viewport.secondaryVisible = !bool;\n this._layout('hide-content');\n // return previous percentage\n return content_perc;\n }\n }, {\n key: 'closeContent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.emit('closecontent', false);\n\n var state = _application2.default.viewport;\n var open = state.content.contentsdata.length > 0;\n\n // content is open → remove content\n if (open) {\n var contents = this.getComponent('contents');\n contents.setOpen(false);\n _clearContents();\n }\n\n // close secondary view\n if (open && 'map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n if (open) {\n state.secondaryVisible = false;\n this._layout('close-content');\n yield Vue.nextTick();\n }\n\n return this.getComponent('map');\n });\n\n function closeContent() {\n return _ref15.apply(this, arguments);\n }\n\n return closeContent;\n }()\n\n // remove last content from stack\n\n }, {\n key: 'popContent',\n value: function () {\n var _ref16 = _asyncToGenerator(function* () {\n // skip when ..\n if (!_application2.default.viewport.content.contentsdata.length) {\n return Promise.reject();\n }\n\n var data = this.getComponent('contents').contentsdata.at(-2);\n var opts = data.options;\n\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n this._showView('content', data.options);\n\n if (_application2.default.contentsdata.length <= 0) {\n return;\n }\n\n // component exists on stack → remove the last from stack\n var content = _application2.default.contentsdata.slice(-1)[0].content;\n\n if (content instanceof _g3wComponent2.default || content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(content.unmount());\n } else {\n $(this.getComponent('contents').parent).empty();\n }\n\n _application2.default.contentsdata.pop();\n\n Array.from(this.getComponent('contents').internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n _application2.default.viewport.secondaryPerc = data.options.perc;\n\n this._layout('pop-content');\n\n return this.getComponent('contents').contentsdata.at(-1);\n });\n\n function popContent() {\n return _ref16.apply(this, arguments);\n }\n\n return popContent;\n }()\n }, {\n key: 'isSidebarVisible',\n value: function isSidebarVisible() {\n return !document.body.classList.contains('sidebar-collapse');\n }\n }, {\n key: 'setModal',\n value: function setModal() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var message = arguments[1];\n\n var mapService = this.getService('map');\n if (bool) {\n mapService.startDrawGreyCover(message);\n } else {\n mapService.stopDrawGreyCover();\n }\n }\n }, {\n key: 'showSidebar',\n value: function showSidebar() {\n document.body.classList.add('sidebar-open');\n document.body.classList.remove('sidebar-collapse');\n _application2.default.gui.sidebar.open = true;\n }\n }, {\n key: 'hideSidebar',\n value: function hideSidebar() {\n document.body.classList.remove('sidebar-open');\n document.body.classList.add('sidebar-collapse');\n _application2.default.gui.sidebar.open = false;\n }\n }, {\n key: 'getSize',\n value: function getSize(_ref17) {\n var element = _ref17.element,\n what = _ref17.what;\n\n if (element && what) {\n return _application2.default.sizes[element][what];\n }\n }\n\n // manage all layout logic\n // viewName: map or content\n //options. percentage , splitting title etc ..\n\n }, {\n key: '_showView',\n value: function () {\n var _ref18 = _asyncToGenerator(function* (viewName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = _application2.default.viewport;\n\n var _options$perc = options.perc,\n perc = _options$perc === undefined ? viewName == state.primaryView ? 100 : 50 : _options$perc,\n _options$split = options.split,\n split = _options$split === undefined ? 'h' : _options$split;\n\n\n state[viewName].aside = viewName == state.primaryView ? undefined === options.aside ? false : options.aside : true;\n\n //calculate the content\n var secondaryPerc = viewName == state.primaryView ? 100 - perc : perc;\n\n //show Secondary View content only if more than 0\n if (secondaryPerc > 0) {\n state.secondaryVisible = true;\n state.split = undefined !== split ? split : state.split;\n state.secondaryPerc = undefined !== perc ? perc : state.perc;\n this._layout();\n return;\n }\n\n // close secondary view\n if ('map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n state.secondaryVisible = false;\n\n this._layout();\n\n yield Vue.nextTick();\n });\n\n function _showView(_x32) {\n return _ref18.apply(this, arguments);\n }\n\n return _showView;\n }()\n\n /**\n * load components of viewport after right size setting\n * \n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\n\n }, {\n key: '_layoutComponents',\n value: function _layoutComponents() {\n var _this4 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n requestAnimationFrame(function () {\n var reducesdSizes = getReducedSizes();\n var reducedWidth = reducesdSizes.reducedWidth || 0;\n var reducedHeight = reducesdSizes.reducedHeight || 0;\n\n // for each component\n setViewSizes();\n _this4.getService('map').layout({\n width: _application2.default.viewport.map.sizes.width - reducedWidth,\n height: _application2.default.viewport.map.sizes.height - reducedHeight\n });\n\n var parentWidth = _application2.default.viewport.content.sizes.width - reducedWidth;\n\n // Set layout of the content each time\n Vue.nextTick(function () {\n // run only after that vue state is updated\n var el = _this4.getComponent('contents').internalComponent.$el;\n var height = el.parentElement.clientHeight // parent element is \"g3w-view-content\"\n - ((el.parentElement.querySelector('.close-panel-block') || {}).offsetHeight || 0) - ((el.parentElement.querySelector('.content_breadcrumb') || {}).offsetHeight || 0) - 10; // margin 10 from bottom\n el.style.height = height + 'px';\n if (el.firstChild) {\n el.firstChild.style.height = height + 'px';\n }\n _application2.default.contentsdata.forEach(function (d) {\n // re-layout each component stored into the stack\n if ('function' == typeof d.content.layout) {\n d.content.layout(parentWidth + 0.5, height);\n }\n });\n });\n\n if (event) {\n setTimeout(function () {\n _this4.emit(event);\n });\n }\n });\n }\n\n /**\n * main layout function\n */\n\n }, {\n key: '_layout',\n value: function _layout() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var reducesdSizes = getReducedSizes();\n setViewSizes(reducesdSizes.reducedWidth, reducesdSizes.reducedHeight);\n this._layoutComponents(event);\n }\n }]);\n\n return GUI;\n}(_g3wObject2.default))();\n\n},{\"components/ProjectsMenu.vue\":91,\"components/SidebarItem.vue\":108,\"components/g3w-form\":113,\"g3w-component\":126,\"g3w-constants\":127,\"g3w-object\":131,\"g3w-panel\":132,\"services/iframe\":176,\"store/application\":180,\"utils/getListableProjects\":211,\"utils/getProjectUrl\":216,\"utils/getUniqueDomId\":219,\"utils/promisify\":234,\"utils/toRawType\":244}],176:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\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 */\nvar _getEpsgFromParam = function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n epsg = (0, _normalizeEpsg.normalizeEpsg)(epsg);\n yield _projections2.default.registerProjection(epsg);\n return epsg;\n });\n\n return function _getEpsgFromParam(_x) {\n return _ref.apply(this, arguments);\n };\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 */\n\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\nvar IframePluginService = function () {\n function IframePluginService() {\n _classCallCheck(this, IframePluginService);\n\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\n\n _createClass(IframePluginService, [{\n key: 'init',\n value: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref3.project;\n\n yield _gui2.default.isReady();\n\n this.services = {\n app: new AppService(),\n editing: new EditingService()\n };\n\n // get layer attributes from project layers state\n var layers = project.state.layers.map(function (l) {\n return { id: l.id, name: l.name };\n });\n\n // initialize all services\n var serviceNames = Object.keys(this.services);\n\n for (var i = 0; i < serviceNames.length; i++) {\n var 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 yield 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: layers } }\n });\n\n window.addEventListener('message', this.getMessage, false);\n });\n\n function init() {\n return _ref2.apply(this, arguments);\n }\n\n return init;\n }()\n\n // set eventResponse handler to alla services\n\n }, {\n key: 'eventResponseServiceHandler',\n value: function eventResponseServiceHandler(_ref4) {\n var action = _ref4.action,\n response = _ref4.response;\n\n this.postMessage({ id: null, action: action, response: response });\n }\n\n /**\n * Outputplace iframe get by DataRouteService\n * \n * @param dataPromise\n * @param options\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (dataPromise) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var outputData = void 0;\n var _options$action = options.action,\n action = _options$action === undefined ? 'app:results' : _options$action;\n\n var _ref6 = yield dataPromise,\n result = _ref6.result,\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n var parser = new ol.format.GeoJSON();\n try {\n outputData = data.map(function (_ref7) {\n var layer = _ref7.layer,\n features = _ref7.features;\n return _defineProperty({}, layer.getId(), { features: parser.writeFeatures(features) });\n });\n } catch (e) {\n console.warn(e);\n result = false;\n outputData = e;\n }\n\n this.postMessage({\n id: null,\n action: action,\n response: { result: result, data: outputData }\n });\n });\n\n function outputDataPlace(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n\n /**\n * post a message to parent\n */\n\n }, {\n key: 'postMessage',\n value: function postMessage() {\n var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (window.parent) {\n window.parent.postMessage(message, '*');\n }\n }\n }, {\n key: 'stopPendingActions',\n value: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this = this;\n\n var promises = [];\n Object.keys(this.pendingactions).forEach(function (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 function stopPendingActions() {\n return _ref9.apply(this, arguments);\n }\n\n return stopPendingActions;\n }()\n }, {\n key: 'getMessage',\n\n\n /**\n * handle all messages from the window\n */\n value: function () {\n var _ref10 = _asyncToGenerator(function* (evt) {\n if (evt && evt.data) {\n var _evt$data = evt.data,\n _evt$data$id = _evt$data.id,\n id = _evt$data$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _evt$data$id,\n _evt$data$single = _evt$data.single,\n single = _evt$data$single === undefined ? true : _evt$data$single,\n action = _evt$data.action,\n params = _evt$data.data;\n\n var _split = (action || '').split(':'),\n _split2 = _slicedToArray(_split, 2),\n context = _split2[0],\n method = _split2[1];\n\n var result = false;\n var data = void 0;\n try {\n var is_ready = this.services[context].getReady();\n if (is_ready && single) {\n yield this.stopPendingActions();\n }\n if (is_ready) {\n this.pendingactions[id] = { context: context };\n data = yield 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: id,\n action: action,\n response: { result: result, data: data }\n });\n delete this.pendingactions[id];\n }\n });\n\n function getMessage(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return getMessage;\n }()\n\n /**\n * Called when change map or clear\n */\n\n }, {\n key: 'clear',\n value: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var serviceNames = Object.keys(this.services);\n for (var i = 0; i < serviceNames.length; i++) {\n this.services[serviceNames[i]].off('response', this.eventResponseServiceHandler);\n }\n yield this.stopPendingActions();\n window.removeEventListener('message', this.getMessage, false);\n });\n\n function clear() {\n return _ref11.apply(this, arguments);\n }\n\n return clear;\n }()\n }]);\n\n return IframePluginService;\n}();\n\n/**\n * ORIGINAL SOURCE: src/app/core/iframe/services/baseservice.js@3.9.0\n */\n\n\nvar BaseIframeService = function (_G3WObject) {\n _inherits(BaseIframeService, _G3WObject);\n\n function BaseIframeService() {\n _classCallCheck(this, BaseIframeService);\n\n /**\n * @type { boolean }\n */\n var _this2 = _possibleConstructorReturn(this, (BaseIframeService.__proto__ || Object.getPrototypeOf(BaseIframeService)).call(this));\n\n _this2.ready = false;\n\n /**\n * Map service\n */\n _this2.mapService = _gui2.default.getService('map');\n\n /**\n * Current project\n */\n _this2.project = _application2.default.project;\n\n /**\n * @type { Array | undefined }\n */\n _this2.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 _this2.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 _this2.dependencyApi = {};\n\n return _this2;\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\n\n _createClass(BaseIframeService, [{\n key: 'init',\n value: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$layers = _ref13.layers,\n layers = _ref13$layers === undefined ? {} : _ref13$layers;\n\n this.layers = layers;\n // skip when plugin is not in configuration (ie. added to the application)\n if (!_application2.default.configurationPlugins.includes(this.pluginName)) {\n return;\n }\n var plugin = _plugins2.default.getPlugin(this.pluginName);\n if (plugin) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n } else {\n _plugins2.default.onafter('registerPlugin', function () {\n var _ref14 = _asyncToGenerator(function* (plugin) {\n yield plugin.isReady();\n if (plugin.getName() === _this3.pluginName) {\n _this3.setDependencyApi(plugin.getApi());\n _this3.setReady(true);\n }\n });\n\n return function (_x8) {\n return _ref14.apply(this, arguments);\n };\n }());\n }\n });\n\n function init() {\n return _ref12.apply(this, arguments);\n }\n\n return init;\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\n }, {\n key: 'setDependencyApi',\n value: function setDependencyApi() {\n var api = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\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\n }, {\n key: 'getDependecyApi',\n value: function 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\n }, {\n key: 'getQgsLayerId',\n value: function getQgsLayerId(_ref15) {\n var qgs_layer_id = _ref15.qgs_layer_id,\n _ref15$noValue = _ref15.noValue,\n noValue = _ref15$noValue === undefined ? this.layers.map(function (l) {\n return l.id;\n }) : _ref15$noValue;\n\n return qgs_layer_id ? [].concat(qgs_layer_id) : noValue;\n }\n }, {\n key: 'searchFeature',\n\n\n /**\n * getFeature from DataProvider\n * \n * @private\n */\n value: function () {\n var _ref17 = _asyncToGenerator(function* (_ref16) {\n var layer = _ref16.layer,\n feature = _ref16.feature;\n var field = feature.field,\n value = feature.value;\n\n var DataRouterService = require('services/data').default;\n\n var _ref18 = yield DataRouterService.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: 'eq' })\n },\n outputs: false\n }),\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? [] : _ref18$data;\n\n return data;\n });\n\n function searchFeature(_x10) {\n return _ref17.apply(this, arguments);\n }\n\n return searchFeature;\n }()\n }, {\n key: 'findFeaturesWithGeometry',\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 value: function () {\n var _ref19 = _asyncToGenerator(function* () {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref20.feature,\n _ref20$qgs_layer_id = _ref20.qgs_layer_id,\n qgs_layer_id = _ref20$qgs_layer_id === undefined ? [] : _ref20$qgs_layer_id,\n _ref20$zoom = _ref20.zoom,\n zoom = _ref20$zoom === undefined ? false : _ref20$zoom,\n _ref20$highlight = _ref20.highlight,\n highlight = _ref20$highlight === undefined ? false : _ref20$highlight;\n\n var response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n var layersCount = qgs_layer_id.length;\n var i = 0;\n while (!response.found && i < layersCount) {\n var layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n var data = layer && (yield this.searchFeature({ layer: layer, feature: feature }));\n var features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(function (f) {\n return f.getGeometry();\n });\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 yield this.mapService.zoomToFeatures(features, { highlight: highlight });\n }\n } catch (e) {\n i++;console.warn(e);\n }\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 function findFeaturesWithGeometry() {\n return _ref19.apply(this, arguments);\n }\n\n return findFeaturesWithGeometry;\n }()\n\n /**\n * Set layer function\n * \n * @param layers\n */\n\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.ready = bool;\n }\n }, {\n key: 'getReady',\n value: function 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\n }, {\n key: 'stop',\n value: function () {\n var _ref21 = _asyncToGenerator(function* () {});\n\n function stop() {\n return _ref21.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n }]);\n\n return BaseIframeService;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\n\n\nvar AppService = function (_BaseIframeService) {\n _inherits(AppService, _BaseIframeService);\n\n function AppService() {\n _classCallCheck(this, AppService);\n\n var _this4 = _possibleConstructorReturn(this, (AppService.__proto__ || Object.getPrototypeOf(AppService)).call(this));\n\n _this4.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null }\n };\n return _this4;\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n\n\n _createClass(AppService, [{\n key: 'init',\n value: function init() {\n var _this5 = this;\n\n return new Promise(function (resolve) {\n _this5.mapService.once('ready', function () {\n _this5._map = _this5.mapService.getMap();\n _this5._mapCrs = _this5.mapService.getCrs();\n _this5.mapControls.screenshot.control = _this5.mapService.getMapControlByType({ type: 'screenshot' });\n _this5.setReady(true);\n resolve();\n });\n });\n }\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'results',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (_ref22) {\n var _ref22$capture = _ref22.capture,\n capture = _ref22$capture === undefined ? true : _ref22$capture;\n\n _gui2.default.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n });\n\n function results(_x14) {\n return _ref23.apply(this, arguments);\n }\n\n return results;\n }()\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'screenshot',\n value: function () {\n var _ref25 = _asyncToGenerator(function* (_ref24) {\n var _this6 = this;\n\n var _ref24$capture = _ref24.capture,\n capture = _ref24$capture === undefined ? true : _ref24$capture;\n\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(_asyncToGenerator(function* () {\n var response = void 0;\n try {\n response = { result: true, data: yield _this6.mapService.createMapImage() };\n } catch (e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n _this6.emit('response', { response: response, action: 'app:screenshot' });\n }\n }));\n });\n\n function screenshot(_x15) {\n return _ref25.apply(this, arguments);\n }\n\n return screenshot;\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\n }, {\n key: 'getcenter',\n value: function () {\n var _ref27 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(center, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return center;\n });\n\n function getcenter() {\n return _ref27.apply(this, arguments);\n }\n\n return getcenter;\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\n }, {\n key: 'zoomtocoordinates',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$coordinates = params.coordinates,\n coordinates = _params$coordinates === undefined ? [] : _params$coordinates,\n epsg = params.epsg;\n // skip when coordinates in params are null or are an array with more than item 2\n\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 = yield _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n });\n\n function zoomtocoordinates() {\n return _ref28.apply(this, arguments);\n }\n\n return zoomtocoordinates;\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\n }, {\n key: 'getextent',\n value: function () {\n var _ref29 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(extent, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return extent;\n });\n\n function getextent() {\n return _ref29.apply(this, arguments);\n }\n\n return getextent;\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\n }, {\n key: 'zoomtoextent',\n value: function () {\n var _ref30 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$extent = params.extent,\n extent = _params$extent === undefined ? [] : _params$extent,\n epsg = params.epsg;\n // skip when an extent is null ora an array with number of ites not equal to 4\n\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 function zoomtoextent() {\n return _ref30.apply(this, arguments);\n }\n\n return zoomtoextent;\n }()\n }, {\n key: 'zoomtofeature',\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 value: function () {\n var _ref31 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var qgs_layer_id = params.qgs_layer_id,\n feature = params.feature,\n _params$highlight = params.highlight,\n highlight = _params$highlight === undefined ? false : _params$highlight;\n\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id: qgs_layer_id });\n\n var response = yield this.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: highlight\n });\n\n return response.qgs_layer_id;\n });\n\n function zoomtofeature() {\n return _ref31.apply(this, arguments);\n }\n\n return zoomtofeature;\n }()\n }]);\n\n return AppService;\n}(BaseIframeService);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\n\n\nvar EditingService = function (_BaseIframeService2) {\n _inherits(EditingService, _BaseIframeService2);\n\n function EditingService() {\n _classCallCheck(this, EditingService);\n\n var _this7 = _possibleConstructorReturn(this, (EditingService.__proto__ || Object.getPrototypeOf(EditingService)).call(this));\n\n _this7.pluginName = 'editing';\n\n _this7.subscribevents = [];\n\n _this7.isRunning = false;\n\n _this7.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n\n _this7.config = {\n tools: {\n add: {\n disabled: [{ id: 'deletefeature' }, { id: 'copyfeatures' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n update: {\n disabled: [{ id: 'addfeature' }, { id: 'copyfeatures' }, { id: 'deletefeature' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n delete: {\n enabled: [{ id: 'deletefeature', options: { active: true } }]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n _this7.subscribersHandlers = {\n\n canUndo: function canUndo(_ref32) {\n var activeTool = _ref32.activeTool,\n _ref32$disableToolbox = _ref32.disableToolboxes,\n disableToolboxes = _ref32$disableToolbox === undefined ? [] : _ref32$disableToolbox;\n return function (bool) {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n _this7.responseObject.qgs_layer_id = null;\n _this7.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(function (toolbox) {\n return toolbox.setEditing(!bool);\n });\n };\n },\n\n canRedo: function canRedo() {},\n\n //run callback\n cancelform: function cancelform(cb) {\n return function () {\n cb();\n };\n },\n\n addfeature: function addfeature() {\n var _ref33 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n properties = _ref33.properties,\n toolboxes = _ref33.toolboxes;\n\n return function (feature) {\n\n Object.keys(properties).forEach(function (p) {\n return feature.set(p, properties[p]);\n });\n\n var activeTool = void 0;\n var disableToolboxes = [];\n\n toolboxes.forEach(function (t) {\n var 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 (_this7.subscribevents.find(function (e) {\n return 'canUndo' !== e.event;\n })) {\n _this7.addSubscribeEvents('cancelform', _this7.addSubscribeEvents('canUndo', { activeTool: activeTool, disableToolboxes: disableToolboxes }));\n }\n };\n },\n\n closeeditingpanel: function closeeditingpanel(_ref34) {\n var qgs_layer_id = _ref34.qgs_layer_id;\n return function () {\n // response to router service\n _this7.responseObject.cb({\n qgs_layer_id: _this7.responseObject.qgs_layer_id,\n error: _this7.responseObject.error\n });\n // stop action\n _this7.stopAction({ qgs_layer_id: qgs_layer_id });\n };\n }\n\n };\n\n return _this7;\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n\n\n _createClass(EditingService, [{\n key: 'startAction',\n value: function () {\n var _ref36 = _asyncToGenerator(function* (_ref35) {\n var _this8 = this;\n\n var toolboxes = _ref35.toolboxes,\n resolve = _ref35.resolve,\n reject = _ref35.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: function done(toolbox) {\n //set toolbox id\n _this8.responseObject.cb = resolve;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = null;\n // close panel that fire closeediting panel event\n _this8.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: function error(toolbox, _error) {\n _this8.responseObject.cb = reject;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = _error;\n }\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes: toolboxes });\n\n this.isRunning = true;\n });\n\n function startAction(_x22) {\n return _ref36.apply(this, arguments);\n }\n\n return startAction;\n }()\n\n /**\n * run after each action\n */\n\n }, {\n key: 'stopAction',\n value: function () {\n var _ref37 = _asyncToGenerator(function* () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (opts.qgs_layer_id) {\n yield this.stopEditing(opts.qgs_layer_id);\n }\n });\n\n function stopAction() {\n return _ref37.apply(this, arguments);\n }\n\n return stopAction;\n }()\n\n /**\n * add subscribe refenrence\n */\n\n }, {\n key: 'addSubscribeEvents',\n value: function addSubscribeEvents(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event: event, handler: handler });\n return handler;\n }\n }, {\n key: 'resetSubscribeEvents',\n\n\n /**\n * Reset subscriber editing plugin events\n */\n value: function resetSubscribeEvents() {\n var _this9 = this;\n\n this.subscribevents.forEach(function (d) {\n _this9.dependencyApi.unsubscribe(d.event, d.handler);\n });\n }\n }, {\n key: 'add',\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 value: function add() {\n var _this10 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref38 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this10.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var properties = data.properties;\n\n\n var qgs_layer_id = _this10.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this10.dependencyApi.getEditableLayersId()\n });\n\n // call method common\n yield _this10.startAction({ toolboxes: qgs_layer_id, resolve: resolve, reject: reject });\n\n // return all toolboxes\n var toolboxes = (yield _this10.startEditing(qgs_layer_id, {\n tools: _this10.config.tools.add,\n startstopediting: false,\n action: 'add',\n selected: 1 === qgs_layer_id.length\n })).filter(function (p) {\n return 'fulfilled' === p.status;\n }).map(function (p) {\n return p.value;\n });\n\n /** @FIXME add description */\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.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 _this10.addSubscribeEvents('addfeature', { properties: properties, toolboxes: toolboxes });\n _this10.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: qgs_layer_id });\n });\n\n return function (_x26, _x27) {\n return _ref38.apply(this, arguments);\n };\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\n }, {\n key: 'update',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _this11 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this11.isRunning) {\n return reject();\n }\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var feature = data.feature;\n\n var qgs_layer_id = _this11.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this11.dependencyApi.getEditableLayersId()\n });\n\n var response = yield _this11.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: 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 yield _this11.startAction({ toolboxes: [response.qgs_layer_id], resolve: resolve, reject: reject });\n\n // return all toolboxes\n yield _this11.startEditing([response.qgs_layer_id], {\n feature: feature,\n tools: _this11.config.tools.update,\n startstopediting: false,\n action: 'update'\n });\n\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n _this11.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n\n return function (_x29, _x30) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function update() {\n return _ref39.apply(this, arguments);\n }\n\n return update;\n }()\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n\n }, {\n key: 'delete',\n value: function _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\n }, {\n key: 'startEditing',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n var _this12 = this;\n\n var qgs_layer_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$action2 = options.action,\n action = _options$action2 === undefined ? 'add' : _options$action2,\n feature = options.feature;\n\n var filter = {};\n options.filter = filter;\n switch (action) {\n case 'add':\n filter.nofeatures = true;break;\n case 'update':\n filter.field = feature.field + '|eq|' + feature.value;break;\n }\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this12.dependencyApi.startEditing(id, options));\n });\n return yield Promise.allSettled(promises);\n });\n\n function startEditing() {\n return _ref41.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (qgs_layer_id) {\n var _this13 = this;\n\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this13.dependencyApi.stopEditing(id));\n });\n yield Promise.allSettled(promises);\n this.clear();\n });\n\n function stopEditing(_x33) {\n return _ref42.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n }, {\n key: 'stop',\n value: function stop() {\n var _this14 = this;\n\n return new Promise(function (resolve) {\n _this14.dependencyApi.hidePanel();\n _gui2.default.hideSidebar();\n _this14.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n\n }, {\n key: 'clear',\n value: function 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 return EditingService;\n}(BaseIframeService);\n\nexports.default = new IframePluginService();\n\n},{\"g3w-object\":131,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"store/plugins\":181,\"store/projections\":182,\"utils/createSingleFieldParameter\":198,\"utils/getUniqueDomId\":219,\"utils/normalizeEpsg\":230}],177:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * @file ORIGINAL SOURCE: src/app/gui/map/mapservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _localforage = require('localforage');\n\nvar _localforage2 = _interopRequireDefault(_localforage);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _createSelectedStyle = require('utils/createSelectedStyle');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _throttle = require('utils/throttle');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _queryby = require('map/controls/queryby');\n\nvar _geolocationcontrol = require('map/controls/geolocationcontrol');\n\nvar _streetviewcontrol = require('map/controls/streetviewcontrol');\n\nvar _scalecontrol = require('map/controls/scalecontrol');\n\nvar _screenshotcontrol = require('map/controls/screenshotcontrol');\n\nvar _measurecontrol = require('map/controls/measurecontrol');\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _MapControlZoomHistory = require('components/MapControlZoomHistory.vue');\n\nvar _MapControlZoomHistory2 = _interopRequireDefault(_MapControlZoomHistory);\n\nvar _MapControlGeocoding = require('components/MapControlGeocoding.vue');\n\nvar _MapControlGeocoding2 = _interopRequireDefault(_MapControlGeocoding);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getProject = require('utils/getProject');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Open Layers controls (zoom, streetrview, screnshoot, ruler, ...)\n */\nvar MAP = {\n maxZoom: 1000,\n controls: {},\n offlineids: [],\n selectedLayer: null,\n stores: {},\n externalLayers: [],\n animatingHighlight: false,\n layers: Object.assign(new _g3wObject2.default({ setters: {\n addLayersStore: function addLayersStore(store) {\n MAP.stores[store.getId()] = store;\n },\n removeLayersStore: function removeLayersStore(store) {\n if (store) {\n delete MAP.layers.stores[store.getId()];\n }\n }\n } }), {\n getLayerById: function getLayerById(id) {\n return Object.values(MAP.stores).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n },\n getLayers: function getLayers(filter) {\n return Object.values(MAP.stores).flatMap(function (s) {\n return s.getLayers(filter);\n });\n },\n getQuerableLayersStores: function getQuerableLayersStores() {\n return Object.values(MAP.stores).filter(function (s) {\n return s.isQueryable();\n });\n },\n getLayersStore: function getLayersStore(id) {\n return MAP.stores[id];\n },\n getLayersStores: function getLayersStores() {\n return Object.values(MAP.stores);\n }\n })\n};\n\n/**\n * Controls factory\n */\nvar CONTROLS = {\n 'zoomtoextent': function zoomtoextent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ZoomToExtent(opts) }));\n },\n 'zoom': function zoom() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.Zoom(opts) }));\n },\n 'scaleline': function scaleline() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ScaleLine(opts) }));\n },\n 'overview': function overview() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.OverviewMap(opts) }));\n },\n /** @since 3.8.0 */\n 'zoomhistory': function zoomhistory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlZoomHistory2.default))().$mount().$el, tipLabel: \"sdk.mapcontrols.addlayer.tooltip\" });\n },\n 'geocoding': function geocoding() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlGeocoding2.default))({ propsData: opts.config }).$mount().$el, offline: false });\n }, // pass configuration from server\n 'zoombox': function zoombox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n name: 'zoombox',\n tipLabel: 'Zoom to box',\n label: '\\uE901',\n interactionClass: ol.interaction.DragBox,\n cursorClass: 'ol-crosshair',\n onSetMap: function onSetMap(_ref) {\n var _this = this;\n\n var setter = _ref.setter,\n map = _ref.map;\n\n if ('after' === setter) {\n // zoom box\n this._startCoordinate = null;\n this._interaction.on('boxstart', function (e) {\n return _this._startCoordinate = e.coordinate;\n });\n this._interaction.on('boxend', function (e) {\n _this.dispatchEvent({ type: 'zoomend', extent: ol.extent.boundingExtent([_this._startCoordinate, e.coordinate]) });\n _this._startCoordinate = null;\n if (_this._autountoggle) {\n _this.toggle();\n }\n });\n }\n }\n }));\n },\n 'query': function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n offline: false,\n name: \"query\",\n tipLabel: \"sdk.mapcontrols.query.tooltip\",\n label: opts.label || '\\uEA0F',\n clickmap: true,\n interactionClass: _pickcoordinatesinteraction2.default,\n cursorClass: 'ol-help',\n onSetMap: function onSetMap(_ref2) {\n var _this2 = this;\n\n var map = _ref2.map,\n setter = _ref2.setter;\n\n this.runQuery = this.runQuery || function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var coordinates = _ref3.coordinates;\n\n _gui2.default.closeSideBar();\n try {\n var project = _application2.default.project;\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n feature_count: project.state.feature_count || 5,\n query_point_tolerance: project.getQueryPointTolerance(),\n multilayers: [].concat(project.state.querymultilayers).includes(_this2.name)\n }\n });\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n return function (_x9) {\n return _ref4.apply(this, arguments);\n };\n }();\n if ('before' === setter) {\n var key = null;\n this.on('toggled', function (_ref5) {\n var toggled = _ref5.toggled;\n\n if (true !== toggled) {\n ol.Observable.unByKey(key);\n key = null;\n } else if (null === key && map) {\n key = _this2.getInteraction().on('picked', (0, _throttle.throttle)(function (e) {\n return _this2.runQuery({ coordinates: e.coordinate });\n }));\n }\n });\n this.setEventKey({ eventType: 'picked', eventKey: this.on('picked', this.runQuery) });\n }\n }\n }));\n },\n 'queryby': _queryby.QueryBy,\n 'geolocation': _geolocationcontrol.GeolocationControl,\n 'streetview': _streetviewcontrol.StreetViewControl,\n 'addlayers': function addlayers() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { tipLabel: \"sdk.mapcontrols.addlayer.tooltip\", label: '\\uE907', name: 'addlayer', onSetMap: function onSetMap(e) {\n var _this3 = this;\n\n if ('after' === e.setter) $(this.element).on('click', function () {\n return _this3.dispatchEvent('addlayer');\n });\n }\n }));\n },\n 'measure': _measurecontrol.MeasureControl,\n 'mouseposition': function mouseposition() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.assign(new ol.control.MousePosition(_extends({}, opts, { target: opts.target || 'mouse-position-control' })), { offline: true });\n },\n 'scale': _scalecontrol.ScaleControl,\n 'onclick': _interactioncontrol2.default,\n 'screenshot': _screenshotcontrol.ScreenshotControl\n};\n\n/**\n * BACKCOMP v3.x\n */\nCONTROLS['nominatim'] = CONTROLS['geocoding'];\nCONTROLS['ontoggle'] = CONTROLS['onclick'];\nCONTROLS['area'] = CONTROLS['measure'];\nCONTROLS['length'] = CONTROLS['measure'];\nCONTROLS['geoscreenshot'] = CONTROLS['screenshot'];\nCONTROLS['querybbox'] = CONTROLS['queryby'];\nCONTROLS['querybycircle'] = CONTROLS['queryby'];\nCONTROLS['querybydrawpolygon'] = CONTROLS['queryby'];\nCONTROLS['querybypolygon'] = CONTROLS['queryby'];\n\nvar MapService = function (_G3WObject) {\n _inherits(MapService, _G3WObject);\n\n function MapService() {\n _classCallCheck(this, MapService);\n\n var _this4 = _possibleConstructorReturn(this, (MapService.__proto__ || Object.getPrototypeOf(MapService)).call(this));\n\n _this4.state = {\n mapUnits: 'm',\n bbox: [],\n hidemaps: [],\n resolution: null,\n center: null,\n loading: false,\n hidden: true,\n scale: 0,\n map_info: { info: null, style: null },\n mapunits: ['metric']\n };\n\n /**\n * internal promise. Resolved when view is set\n *\n * @since 3.8.3\n */\n _this4._ready = new Promise(function (res) {\n return _this4.once('viewerset', res);\n });\n\n _this4.viewer = null;\n\n _this4.target = 'map';\n\n _this4.layersCount = 0; // useful to set Zindex to layer order on map\n\n _this4.project = _application2.default.project;\n\n _this4._controls = [];\n\n _this4._layers = {\n base: {},\n g3w: [],\n external_wms: [],\n external_vector: [],\n external: []\n };\n\n /**\n * Store interactions added by plugin or external application\n */\n _this4._externalInteractions = [];\n\n /**\n * Default layers are OL layers that are add to map by default.\n * Are used to show selection Features and/or highlight Layer feature\n */\n _this4.defaultsLayers = {\n\n mapcenter: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/mapcentermarker.svg',\n scale: 0.8\n })\n })\n }),\n\n _style: {\n highlightLayer: { color: undefined },\n selectionLayer: { color: 'red' }\n },\n\n highlightLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.highlightLayer.color,\n fill: true\n })];\n }\n }),\n\n selectionLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.selectionLayer.color,\n fill: true\n })];\n }\n })\n\n };\n\n _this4.layersExtraParams = {};\n\n _this4._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null,\n listener: null\n };\n\n _this4.config = window.initConfig;\n\n _this4._howManyAreLoading = 0;\n\n _this4._marker = null;\n\n _this4.onLayerLoadStart = _this4.onLayerLoadStart.bind(_this4);\n _this4.onLayerLoadEnd = _this4.onLayerLoadEnd.bind(_this4);\n _this4.onLayerLoadError = _this4.onLayerLoadError.bind(_this4);\n _this4.onExtraParamsSet = _this4.onExtraParamsSet.bind(_this4);\n _this4.updateMapLayers = _this4.updateMapLayers.bind(_this4);\n\n _this4._keyEvents = {\n ol: [],\n stores: [], // layers stores\n unwatches: []\n };\n\n _this4.project.onafter('setBaseLayer', _this4.updateMapLayers), // base layer\n\n _this4.debounces = {\n setupCustomMapParamsToLegendUrl: {\n fnc: function fnc() {\n _this4._setupCustomMapParamsToLegendUrl.apply(_this4, arguments);\n },\n delay: 1000\n }\n };\n\n _this4.setters = {\n setupControls: function setupControls() {\n var _this5 = this;\n\n var _config = this.config,\n header_terms_of_use_text = _config.header_terms_of_use_text,\n header_terms_of_use_link = _config.header_terms_of_use_link;\n\n // set layers attribution\n\n var attribution = header_terms_of_use_text ? header_terms_of_use_link ? '' + header_terms_of_use_text + '' : '' + header_terms_of_use_text + '' : false;\n\n this.getMapLayers().forEach(function (l) {\n return l.getSource().setAttributions(attribution);\n });\n\n // check if a base layer is set. If true, add attribution control\n if (attribution || (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true }).length) {\n this.getMap().addControl(new ol.control.Attribution({ collapsible: false, target: 'map_footer_left' }));\n }\n\n // skip when no controls\n if (!this.config || !this.config.mapcontrols) {\n return;\n }\n\n // BACKCOMP (g3w-admin < v3.7.0)\n var mapcontrols = Array.isArray(this.config.mapcontrols) ? this.config.mapcontrols.reduce(function (a, v) {\n a[v] = {};return a;\n }, {}) // convert `initConfig.mapcontrols` from an array of strings to a key-value config Object (eg. [\"geocoding\"] --> \"geocoding\" = {})\n : this.config.mapcontrols;\n\n Object.entries(mapcontrols).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n type = _ref7[0],\n _ref7$ = _ref7[1],\n config = _ref7$ === undefined ? {} : _ref7$;\n\n switch (type) {\n case 'zoom':\n _this5.createMapControl(type);\n break;\n\n case 'zoombox':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('zoomend', function (e) {\n return _this5.viewer.fit(e.extent);\n });\n }\n break;\n\n case 'zoomtoextent':\n _this5.createMapControl(type, {\n options: {\n label: '\\uE98C',\n extent: _this5.project.state.initextent\n }\n });\n break;\n\n case 'mouseposition':\n if (!isMobile.any) {\n // @since 3.8.\n var degrees = 'degrees' === _this5.getProjection().getUnits();\n var mapEpsg = _this5.getEpsg();\n var coordinateFormat = function coordinateFormat(epsg, coords) {\n if ('EPSG:4326' === epsg) {\n return ol.coordinate.format(ol.proj.transform(coords, mapEpsg, 'EPSG:4326'), '\\xA0Lng: {x}, Lat: {y}\\xA0\\xA0 [EPSG:4326]\\xA0', 4);\n }\n return ol.coordinate.format(coords, '\\xA0' + (degrees ? 'Lng' : 'X') + ': {x}, ' + (degrees ? 'Lat' : 'Y') + ': {y}\\xA0\\xA0 [' + epsg + ']\\xA0', degrees ? 4 : 2);\n };\n var control = _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: coordinateFormat.bind(null, mapEpsg),\n undefinedHTML: false,\n projection: _this5.getCrs()\n }\n });\n if ('EPSG:4326' !== mapEpsg) {\n control.on('change:epsg', function (e) {\n return control.setCoordinateFormat(coordinateFormat.bind(null, e.epsg));\n });\n }\n }\n break;\n\n case 'screenshot':\n case 'geoscreenshot':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('screenshot')) {\n _this5.getMapControlByType('screenshot').addType(type);\n } else {\n _this5.createMapControl('screenshot', {\n options: {\n types: [type],\n layers: [].concat(_toConsumableArray(MAP.layers.getLayers()), _toConsumableArray(_this5._layers.external))\n }\n });\n }\n }\n break;\n\n case 'scale':\n _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: ol.coordinate.createStringXY(4),\n projection: _this5.getCrs(),\n isMobile: isMobile.any\n }\n });\n break;\n\n case 'query':\n _this5.createMapControl(type, {\n add: true,\n toggled: true\n });\n break;\n\n case 'querybypolygon':\n case 'querybbox':\n case 'querybycircle':\n case 'querybydrawpolygon':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('queryby')) {\n _this5.getMapControlByType('queryby').addType(type);\n } else {\n _this5.createMapControl('queryby', {\n options: {\n types: [type]\n }\n });\n }\n }\n break;\n\n case 'streetview':\n _this5.createMapControl(type, {});\n break;\n\n case 'scaleline':\n _this5.createMapControl(type, {\n add: false,\n options: {\n position: 'br'\n }\n });\n break;\n\n case 'overview':\n if (!isMobile.any && window.initConfig.overviewproject) {\n (0, _getProject.getProject)(window.initConfig.overviewproject).then(function (project) {\n //create a view for overview map\n var map = _this5.getMap();\n var view = new ol.View(_this5._calculateViewOptions({ project: project, width: 200, height: 150 })); // at moment hardcoded\n view.on('change:center', function () {\n var current = view.getCenter();\n var center = map.getView().constrainCenter(current);\n if (center[0] !== current[0] || center[1] !== current[1]) {\n view.setCenter(center);\n }\n });\n _this5.createMapControl(type, {\n add: false,\n options: {\n view: view,\n position: 'bl',\n collapsed: false,\n className: 'ol-overviewmap ol-custom-overviewmap',\n collapseLabel: $('')[0],\n label: $('')[0],\n layers: Object.entries(\n //group layer by multilayerId\n project.getLayersStore().getLayers({ GEOLAYER: true, BASELAYER: false }).reduce(function (group, l) {\n var id = l.getMultiLayerId();\n group[id] = group[id] || [];\n group[id].push(l);\n return group;\n }, {}) || []).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n id = _ref9[0],\n layers = _ref9[1];\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var mapLayer = new RasterLayer({\n url: project.state.WMSUrl,\n id: 'overview_layer_' + id,\n tiled: layers[0].state.tiled\n });\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n return mapLayer.getOLLayer(true);\n }).reverse()\n }\n });\n /** @since 3.10.0 Move another bottom left map controls bottom to a left of overview control**/\n document.querySelector('.g3w-map-controls-left-bottom').style.left = '230px';\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n document.querySelector('.g3w-map-controls-left-bottom').style.left = mutation.target.classList.contains('ol-collapsed') ? '50px' : '230px';\n }\n });\n });\n observer.observe(document.querySelector('.ol-custom-overviewmap'), { attributes: true });\n }).catch(function (e) {\n return console.warn(e);\n });\n }\n break;\n\n case 'geocoding':\n case 'nominatim':\n _this5.createMapControl(type, {\n add: false,\n options: { config: config }\n });\n break;\n\n case 'geolocation':\n _this5.createMapControl(type).on('click', (0, _throttle.throttle)(function (e) {\n return _this5.showMarker(e.coordinates);\n }));\n break;\n\n case 'addlayers':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('addlayer', function () {\n return _this5.showAddLayerModal();\n });\n }\n break;\n\n case 'length':\n case 'area':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('measure')) {\n _this5.getMapControlByType('measure').addType(type);\n } else {\n _this5.createMapControl('measure', {\n options: {\n name: \"measure\",\n tipLabel: 'sdk.mapcontrols.measures.title',\n types: [type],\n interactionClassOptions: {\n projection: _this5.getProjection(),\n help: 'sdk.mapcontrols.measures.' + type + '.help'\n }\n }\n });\n }\n }\n break;\n\n /**\n * @since 3.8.0\n */\n case 'zoomhistory':\n $('.g3w-map-controls-left-bottom').append(_this5.createMapControl(type, { add: false }).element);\n break;\n\n }\n });\n return this.getMapControls();\n },\n addHideMap: function addHideMap() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$switchable = _ref10.switchable,\n switchable = _ref10$switchable === undefined ? false : _ref10$switchable;\n\n var idMap = {\n id: 'hidemap_' + Date.now(),\n map: null,\n switchable: switchable\n };\n this.state.hidemaps.push(idMap);\n return idMap;\n },\n setHidden: function setHidden(bool) {\n this.state.hidden = bool;\n },\n\n\n /** Set view based on project config */\n setupViewer: function () {\n var _ref11 = _asyncToGenerator(function* (width, height) {\n var _this6 = this;\n\n if (0 === width || 0 === height) {\n console.warn('[G3W-CLIENT] map was hidden during bootstrap');\n return;\n }\n\n var search = new URLSearchParams(location.search); // search params\n\n var showmarker = 1 * (search.get('showmarker') || 0); /** @since 3.10.0 0 or 1. Show marker on map center*/\n var iframetype = search.get('iframetype'); /** @since 3.10.0 type of iframe: map (only map, no control)*/\n var zoom_to_fid = search.get('zoom_to_fid');\n var zoom_to_features = search.get('ztf'); // zoom to features\n var coords = {\n lat: parseFloat(search.get('lat')),\n lon: parseFloat(search.get('lon')),\n x: parseFloat(search.get('x')),\n y: parseFloat(search.get('y'))\n };\n\n if (this.viewer) {\n this.viewer.destroy();\n }\n\n var olMap = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false, rotateOptions: { autoHide: true, tipLabel: \"Reset rotation (CTRL+DRAG to rotate)\" } }),\n interactions: ol.interaction.defaults().extend([new ol.interaction.DragRotate({ condition: ol.events.condition.platformModifierKeyOnly })]),\n ol3Logo: false,\n keyboardEventTarget: document,\n target: this.target,\n view: new ol.View(this._calculateViewOptions({\n width: width,\n height: height,\n project: this.project,\n map_extent: search.get('map_extent') /** @since 3.10.0 */\n }))\n });\n\n this.viewer = {\n map: olMap,\n getMap: function getMap() {\n return _this6.viewer.map;\n },\n getView: function getView() {\n return _this6.viewer.map.getView();\n },\n getZoom: function getZoom() {\n return _this6.viewer.map.getView().getZoom();\n },\n getResolution: function getResolution() {\n return _this6.viewer.map.getView().getResolution();\n },\n getCenter: function getCenter() {\n return _this6.viewer.map.getView().getCenter();\n },\n destroy: function destroy() {\n if (_this6.viewer.map) {\n _this6.viewer.map.dispose();_this6.viewer.map = null;\n }\n },\n zoomTo: this.zoomTo.bind(this),\n goTo: this.goTo.bind(this),\n fit: this._fit.bind(this),\n /** @TODO check if deprecated */\n changeBaseLayer: function changeBaseLayer(name) {\n return _this6.map.getLayers().insertAt(0, _this6.map.getLayers().find(function (l) {\n return name === l.get('name');\n }));\n }\n };\n\n var map = this.viewer.getMap();\n\n // disable douclickzoom\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(false);\n\n // visual click (sonar effect)\n map.on('click', function (_ref12) {\n var coordinate = _ref12.coordinate;\n\n var circle = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [new ol.Feature({ geometry: new ol.geom.Point(coordinate) })] }),\n style: new ol.style.Style()\n });\n var start = +new Date();\n var duration = 1700;\n var interval = circle.on('postcompose', function (_ref13) {\n var frameState = _ref13.frameState;\n\n var elapsed = frameState.time - start;\n var ratio = ol.easing.easeOut(elapsed / duration);\n circle.setStyle(new ol.style.Style({\n image: new ol.style.Circle({\n radius: 40 * ratio, // start = 0, end = 40\n fill: new ol.style.Fill({ color: [225, 227, 228, .1] }),\n stroke: new ol.style.Stroke({ color: [225, 227, 228, 1], width: 1.85 * (1 - ratio) }) // start = 1.85, end = 0\n })\n }));\n if (elapsed > duration) {\n map.removeLayer(circle);\n ol.Observable.unByKey(interval); // stop the effect\n }\n });\n map.addLayer(circle);\n });\n\n var currentControl = void 0;\n var can_drag = false;\n\n // set mouse cursor (dragging)\n new Vue().$watch(function () {\n return [_this6.getCurrentToggledMapControl(), _plugins2.default.getPlugin('editing') && _plugins2.default.getPlugin('editing').getActiveTool()];\n }, function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n control = _ref15[0],\n activeTool = _ref15[1];\n\n currentControl = control;\n can_drag = !control && !activeTool;\n map.getViewport().classList.toggle('ol-grab', can_drag);\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(can_drag);\n });\n map.on(['pointerdrag', 'pointerup'], function (e) {\n /** @TODO disable default interaction \"shift+zoom\" ? */\n map.getViewport().classList.toggle('ol-grabbing', e.type == 'pointerdrag' && (!currentControl || !(currentControl.getInteraction() instanceof ol.interaction.DragBox)));\n map.getViewport().classList.toggle('ol-grab', e.type == 'pointerup' && can_drag);\n });\n\n var geom = void 0;\n if (zoom_to_fid) {\n yield this.zoomToFid(zoom_to_fid);\n } else if (zoom_to_features) {\n yield this.zoomToFeaturesUrl(zoom_to_features);\n } else if (!isNaN(coords.lat) && !isNaN(coords.lon)) {\n geom = new ol.geom.Point(ol.proj.transform([coords.lon, coords.lat], 'EPSG:4326', this.getEpsg()));\n } else if (!isNaN(coords.x) && !isNaN(coords.y)) {\n geom = new ol.geom.Point([coords.x, coords.y]);\n }\n\n if (geom && geom.getExtent()) {\n yield this.zoomToGeometry(geom);\n }\n\n // show marker on map center\n if (1 === showmarker) {\n this.defaultsLayers.mapcenter.getSource().addFeature(new ol.Feature({ geometry: new ol.geom.Point(this.getCenter()) }));\n }\n\n // iframe → hide map controls (empty object)\n if ('map' === iframetype) {\n this.config.mapcontrols = {};\n }\n\n // update max scale\n MAP.maxZoom = Math.min((0, _getScaleFromResolution.getScaleFromResolution)(this.getMap().getView().getResolutionForExtent(this.project.state.initextent, this.getMap().getSize()), this.getMapUnits()), MAP.maxZoom);\n\n this.state.size = this.viewer.map.getSize();\n this.state.mapUnits = this.viewer.map.getView().getProjection().getUnits();\n\n if (this.config.background_color) {\n $('#' + this.target).css('background-color', this.config.background_color);\n }\n\n $(this.viewer.map.getViewport()).prepend('
');\n\n this.viewer.map.getInteractions().forEach(function (int) {\n return _this6._watchInteraction(int);\n });\n this.viewer.map.getInteractions().on('add', function (int) {\n return _this6._watchInteraction(int.element);\n });\n\n this._marker = new ol.Overlay({\n position: null,\n positioning: 'center-center',\n element: document.getElementById('marker'),\n stopEvent: false\n });\n\n this.viewer.map.addOverlay(this._marker);\n\n // keep default layers above others\n this.viewer.map.getLayers().on('add', function (e) {\n var zindex = _this6.setLayerZIndex({\n layer: e.element,\n zindex: e.element.get('basemap') || 'bottom' === e.element.get('position') ? 0 : undefined\n });\n if (_this6.defaultsLayers.mapcenter) {\n _this6.defaultsLayers.mapcenter.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.highlightLayer) {\n _this6.defaultsLayers.highlightLayer.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.selectionLayer) {\n _this6.defaultsLayers.selectionLayer.setZIndex(zindex + 2);\n }\n });\n\n this.viewer.map.getLayers().on('remove', function (e) {\n if (e.element.getZIndex() === _this6.layersCount) {\n _this6.layersCount--;\n }\n });\n\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this._setupAllLayers();\n this.setUpMapOlEvents();\n\n // CHECK IF MAPLAYESRSTOREREGISTRY HAS LAYERSTORE\n MAP.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('addLayersStore', this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('removeLayersStore', this._removeEventsKeysToLayersStore.bind(this));\n\n this.emit('viewerset');\n this.setupControls();\n this.emit('ready');\n });\n\n function setupViewer(_x13, _x14) {\n return _ref11.apply(this, arguments);\n }\n\n return setupViewer;\n }(),\n controlClick: function controlClick(mapcontrol) {\n var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n },\n loadExternalLayer: function loadExternalLayer(layer) {},\n // used in general to alert external layer is loaded\n unloadExternalLayer: function unloadExternalLayer(layer) {}\n };\n\n _this4.on('extraParamsSet', _this4.onExtraParamsSet);\n return _this4;\n }\n\n /**\n * @since 3.11.0\n */\n\n\n _createClass(MapService, [{\n key: 'onExtraParamsSet',\n value: function onExtraParamsSet(extraParams, update) {\n var _this7 = this;\n\n if (update) {\n this.getMapLayers().forEach(function (l) {\n return l.update(_this7.state, extraParams);\n });\n }\n }\n\n /**\n * show spinner layers\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadStart',\n value: function onLayerLoadStart() {\n if (0 === this._howManyAreLoading) {\n this.emit('loadstart');\n _gui2.default.showSpinner({ container: $('#map-spinner'), id: 'maploadspinner', style: 'transparent' });\n }\n this._howManyAreLoading += 1;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadEnd',\n value: function onLayerLoadEnd() {\n this._howManyAreLoading -= 1;\n if (0 === this._howManyAreLoading) {\n this.emit('loadend');\n _gui2.default.hideSpinner('maploadspinner');\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadError',\n value: function onLayerLoadError() {\n /** @since 3.10.0 - fails silently */\n if (!this.project.state.show_load_layer_error) {\n return;\n }\n if (!this.onLayerLoadError.shown) {\n _gui2.default.notify.warning('sdk.errors.layers.load');\n this.onLayerLoadError.shown = true;\n }\n this.onLayerLoadEnd();\n }\n\n /**\n * @returns promise ready\n *\n * @since 3.8.3\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this._ready;\n }\n }, {\n key: 'setUpMapOlEvents',\n value: function setUpMapOlEvents() {\n var _this8 = this;\n\n var dynamicLegend = this.project.state.context_base_legend;\n // set change resolution\n this._keyEvents.ol.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n this._keyEvents.ol.push(this.viewer.map.getView().on('change:resolution', function () {\n _this8.state.bbox = _this8.getMapBBOX();\n _this8.state.resolution = _this8.viewer.getResolution();\n _this8.state.center = _this8.viewer.getCenter();\n _this8.updateMapLayers();\n if (dynamicLegend) {\n _this8.setupCustomMapParamsToLegendUrl();\n }\n }));\n if (dynamicLegend) {\n this._keyEvents.ol.push(this.viewer.map.on('moveend', function () {\n return _this8.setupCustomMapParamsToLegendUrl();\n }));\n } else {\n //set always to show legend at the start\n this.setupCustomMapParamsToLegendUrl();\n }\n }\n\n /**\n * Clear methods to remove all listeners events\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.removeListener('extraParamsSet', this.onExtraParamsSet);\n this._keyEvents.ol.forEach(function (key) {\n return ol.Observable.unByKey(key);\n });\n this._keyEvents.ol.splice(0);\n MAP.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this));\n }\n\n /**\n * @TODO refactor CDU plugin in order to remove `OlMapViewer` class\n */\n\n }, {\n key: '_addHideMap',\n value: function _addHideMap() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref16.ratio,\n _ref16$layers = _ref16.layers,\n layers = _ref16$layers === undefined ? [] : _ref16$layers,\n _ref16$mainview = _ref16.mainview,\n mainview = _ref16$mainview === undefined ? false : _ref16$mainview;\n\n var idMap = this.state.hidemaps.at(-1);\n var view = this.getMap().getView();\n\n var olView = mainview ? view : {\n projection: view.getProjection(),\n center: view.getCenter(),\n resolution: this.getResolution()\n };\n\n // set Map\n idMap.map = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false }),\n interactions: ol.interaction.defaults(),\n ol3Logo: false,\n view: olView instanceof ol.View ? olView : new ol.View(olView),\n keyboardEventTarget: document,\n target: idMap.id\n });\n\n // in case of rate\n if (ratio) {\n var _idMap$map$getSize = idMap.map.getSize(),\n _idMap$map$getSize2 = _slicedToArray(_idMap$map$getSize, 2),\n w = _idMap$map$getSize2[0],\n h = _idMap$map$getSize2[1];\n\n idMap.map.setSize([w, w * ratio]);\n }\n\n (layers || []).forEach(function (l) {\n return idMap.map.addLayer(l);\n });\n\n return idMap.map;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'removeHideMap',\n value: function removeHideMap(id) {\n var i = (this.state.hidemaps || []).findIndex(function (m) {\n return id === m.id;\n });\n if (-1 !== i) {\n this.state.hidemaps.splice(i, 1);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\", \"archiweb\"\n */\n\n }, {\n key: 'createMapImage',\n value: function createMapImage() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref17.map,\n background = _ref17.background;\n\n return new Promise(function (resolve, reject) {\n try {\n var canvas = $(map ? map.getViewport() : $('#g3w-maps .g3w-map').last().children('.ol-viewport')[0]).children('canvas')[0];\n if (navigator.msSaveBlob) {\n resolve(canvas.msToBlob());\n } else {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n });\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n }\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.project;\n }\n }, {\n key: 'getMap',\n value: function getMap() {\n try {\n return this.viewer.map;\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.project.getProjection();\n }\n }, {\n key: 'isMapHidden',\n value: function isMapHidden() {\n return this.state.hidden;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.project.getProjection().getCode();\n }\n }, {\n key: 'getViewport',\n value: function getViewport() {\n return this.viewer.map.getViewport();\n }\n }, {\n key: 'getResolution',\n value: function getResolution() {\n return this.viewer.map.getView().getResolution();\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.viewer.map.getView().getProjection().getCode();\n }\n\n /**\n * Show Marker on a map\n * @param coordinates\n * @param duration\n */\n\n }, {\n key: 'showMarker',\n value: function showMarker(coordinates) {\n var _this9 = this;\n\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n\n this._marker.setPosition(coordinates);\n setTimeout(function () {\n return _this9._marker.setPosition();\n }, duration);\n }\n\n /**\n * @returns layer by name\n */\n\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return name === l.get('name');\n });\n }\n\n /**\n * @returns layer by id\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return id === l.get('id');\n });\n }\n\n /**\n * Used by the following plugins: \"strees\"\n *\n * get all features from vector layer based on coordinates\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromCoordinates',\n value: function getVectorLayerFeaturesFromCoordinates(layerId, coordinates) {\n var intersectGeom = void 0;\n var features = [];\n var map = this.getMap();\n var vectorLayer = this.getLayerById(layerId);\n if (Array.isArray(coordinates)) {\n if (2 === coordinates.length) {\n var pixel = map.getPixelFromCoordinate(coordinates);\n map.forEachFeatureAtPixel(pixel, function (feature) {\n return features.push(feature);\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === vectorLayer;\n }\n });\n } else if (4 === coordinates.length) {\n intersectGeom = ol.geom.Polygon.fromExtent(coordinates);\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(f.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n } else if (coordinates instanceof ol.geom.Polygon || coordinates instanceof ol.geom.MultiPolygon) {\n intersectGeom = coordinates;\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(feature.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n return features;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'getQueryLayerByCoordinates',\n value: function getQueryLayerByCoordinates() {\n var _this10 = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref18.layer,\n coordinates = _ref18.coordinates;\n\n return new Promise(function (resolve, reject) {\n layer.query({\n coordinates: coordinates,\n mapProjection: _this10.getProjection(),\n resolution: _this10.getResolution()\n }).then(function (response) {\n return resolve(response);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n\n //setup controls\n /*\n layout : {\n lv: h : horizontal (default), v vertical\n lh: h: horizontal: v vertical (default)\n }\n */\n\n }, {\n key: 'createMapControl',\n value: function createMapControl(type) {\n var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n id = _ref19.id,\n visible = _ref19.visible,\n _ref19$add = _ref19.add,\n add = _ref19$add === undefined ? true : _ref19$add,\n _ref19$toggled = _ref19.toggled,\n toggled = _ref19$toggled === undefined ? false : _ref19$toggled,\n _ref19$options = _ref19.options,\n options = _ref19$options === undefined ? {} : _ref19$options;\n\n var control = CONTROLS[type] ? new CONTROLS[type](_extends({ type: type, toggled: toggled }, options)) : undefined;\n if (undefined === visible) {\n visible = control.isVisible ? control.isVisible() : true;\n }\n if (control) {\n this.addControl(id || type, type, control, add, visible);\n }\n return control;\n }\n }, {\n key: 'showAddLayerModal',\n value: function showAddLayerModal() {\n $('#modal-addlayer').modal('show');\n this.emit('addexternallayer');\n }\n }, {\n key: 'getCenter',\n value: function getCenter() {\n return this.getMap().getView().getCenter();\n }\n\n /**\n * Zoom to Feature ID\n */\n\n }, {\n key: 'zoomToFid',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var zoom_to_fid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '|';\n\n var _zoom_to_fid$split = zoom_to_fid.split(separator),\n _zoom_to_fid$split2 = _slicedToArray(_zoom_to_fid$split, 2),\n layerId = _zoom_to_fid$split2[0],\n fid = _zoom_to_fid$split2[1];\n\n if (undefined === layerId && undefined === fid) {\n return;\n }\n\n var _ref21 = yield _data2.default.getData('search:fids', {\n inputs: {\n layer: this.project.getLayerById(layerId),\n fids: [fid]\n },\n outputs: {\n show: {\n loading: false,\n condition: function condition() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$data = _ref22.data,\n data = _ref22$data === undefined ? [] : _ref22$data;\n\n return data[0] && data[0].features.length > 0;\n }\n }\n }\n }),\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? [] : _ref21$data;\n\n var feature = data[0] && data[0].features[0];\n\n if (feature) {\n yield this.zoomToFeatures([feature]);\n }\n });\n\n function zoomToFid() {\n return _ref20.apply(this, arguments);\n }\n\n return zoomToFid;\n }()\n\n /**\n * Handle ztf url parameter\n *\n * @param zoom_to_features\n */\n\n }, {\n key: 'zoomToFeaturesUrl',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var zoom_to_features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n try {\n var _zoom_to_features$spl = zoom_to_features.split(':'),\n _zoom_to_features$spl2 = _slicedToArray(_zoom_to_features$spl, 2),\n id = _zoom_to_features$spl2[0],\n filter = _zoom_to_features$spl2[1];\n\n if (!id || !filter) {\n return;\n }\n\n // find project layer\n var pLayer = this.project.getLayers().find(function (l) {\n return id === l.id || id === l.name || id === l.origname;\n });\n\n var layer = pLayer && this.project.getLayerById(pLayer.id);\n\n var r = pLayer && (yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: filter })\n },\n outputs: {\n show: {\n loading: false\n }\n }\n }));\n\n var features = r && r.data && r.data[0] && r.data[0].features;\n\n if (features) {\n this.zoomToFeatures(features);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function zoomToFeaturesUrl() {\n return _ref23.apply(this, arguments);\n }\n\n return zoomToFeaturesUrl;\n }()\n }, {\n key: 'getMapExtent',\n value: function getMapExtent() {\n var map = this.getMap();\n return map.getView().calculateExtent(map.getSize());\n }\n\n /**\n * @param url\n * @param epsg cordinate referece system (since 3.8.0)\n *\n * @returns {string}\n */\n\n }, {\n key: 'addMapExtentUrlParameterToUrl',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (url, epsg) {\n url = new URL(url);\n var changed = undefined !== epsg && epsg !== this.getEpsg();\n if (changed) {\n yield _projections2.default.registerProjection(epsg);\n }\n url.searchParams.set('map_extent', (changed ? ol.proj.transformExtent(this.getMapExtent(), this.getEpsg(), epsg) : this.getMapExtent()).toString());\n return url.toString();\n });\n\n function addMapExtentUrlParameterToUrl(_x25, _x26) {\n return _ref24.apply(this, arguments);\n }\n\n return addMapExtentUrlParameterToUrl;\n }()\n }, {\n key: 'getMapControlByType',\n value: function getMapControlByType(type) {\n // BACKOMP v3.x\n if (\"string\" !== typeof type) {\n type = type.type;\n }\n return (this._controls.find(function (c) {\n return type === c.type;\n }) || {}).control;\n }\n\n /**\n * @param id\n * @param type\n * @param control\n * @param addToMapControls\n * @param visible\n */\n\n }, {\n key: 'addControl',\n value: function addControl(id, type, control) {\n var _this11 = this;\n\n var addToMapControls = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var visible = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n\n this.viewer.map.addControl(control);\n\n control.on('toggled', function (e) {\n return _this11.emit('mapcontrol:toggled', e);\n });\n\n this._controls.push({ id: id, type: type, control: control, visible: visible, mapcontrol: addToMapControls && visible });\n\n control.on('controlclick', function (_ref25) {\n var mapcontrol = _ref25.target;\n\n var clickmap = !!(mapcontrol.isClickMap && mapcontrol.isClickMap());\n if (clickmap) {\n _this11._externalInteractions.forEach(function (int) {\n return int.setActive(false);\n });\n }\n _this11.controlClick(mapcontrol, { clickmap: clickmap });\n });\n\n var buttonControl = $(control.element).find('button');\n\n buttonControl.tooltip({\n placement: 'left',\n container: 'body',\n trigger: _gui2.default.isMobile() ? 'click' : 'hover'\n });\n\n // in case of mobile hide tooltip after click\n if (_gui2.default.isMobile()) {\n buttonControl.on('shown.bs.tooltip', function () {\n var _this12 = this;\n\n setTimeout(function () {\n return $(_this12).tooltip('hide');\n }, 600);\n });\n }\n\n if (addToMapControls && !visible) {\n control.element.style.display = \"none\";\n }\n\n if (addToMapControls) {\n $('.g3w-map-controls').append(control.element);\n }\n\n MAP.controls[type] = control;\n\n if (false === control.offline) {\n MAP.offlineids.push({ id: type, enable: control.getEnable() });\n }\n\n if (false === control.offline && control.getEnable()) {\n control.setEnable(_application2.default.online);\n }\n }\n }, {\n key: 'showControls',\n value: function showControls(types) {\n var _this13 = this;\n\n this._controls.forEach(function (c) {\n return _this13.viewer.map.removeControl(c.control);\n });\n this._controls.forEach(function (c) {\n c.visible = !types || types.indexOf(c.type) > -1 ? true : c.visible;\n if (c.visible) {\n _this13.viewer.map.addControl(c.control);\n }\n });\n }\n }, {\n key: 'getMapControls',\n value: function getMapControls() {\n return this._controls;\n }\n\n /**\n * Used by the following plugins: \"archiweb\"\n */\n\n }, {\n key: 'removeControlById',\n value: function removeControlById(id) {\n var _this14 = this;\n\n this._controls.find(function (c, i) {\n if (id === c.id) {\n _this14._controls.splice(i, 1);\n _this14.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n }, {\n key: 'removeControl',\n value: function removeControl(type) {\n var _this15 = this;\n\n this._controls.find(function (c, i) {\n if (type === c.type) {\n _this15._controls.splice(i, 1);\n _this15.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n\n /**\n * untoggle mapcontrol\n * @param close GUI content\n * @private\n */\n\n }, {\n key: '_unToggleControls',\n value: function _unToggleControls() {\n var _ref26 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref26$close = _ref26.close,\n close = _ref26$close === undefined ? true : _ref26$close;\n\n this._controls.forEach(function (c) {\n if (c.control.isToggled && c.control.isToggled()) {\n c.control.toggle(false);\n if (close) {\n _gui2.default.closeContent();\n }\n }\n });\n }\n }, {\n key: 'deactiveMapControls',\n value: function deactiveMapControls() {\n this._unToggleControls({ close: false });\n }\n\n /**\n *\n * Method to disable\n */\n\n }, {\n key: 'disableClickMapControls',\n value: function disableClickMapControls() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._controls.filter(function (c) {\n return c.control.isClickMap && c.control.isClickMap();\n }).forEach(function (c) {\n c.control.isToggled() && c.control.toggle();\n c.control[bool ? 'disable' : 'enable']();\n });\n }\n }, {\n key: '_setupCustomMapParamsToLegendUrl',\n value: function _setupCustomMapParamsToLegendUrl() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (bool) {\n var map = this.getMap();\n var size = map && map.getSize().filter(function (v) {\n return v > 0;\n }) || null;\n var bbox = size && 2 === size.length ? map.getView().calculateExtent(size) : this.project.state.initextent;\n this.getMapLayers().forEach(function (l) {\n return l.setupCustomMapParamsToLegendUrl;\n }) && l.setupCustomMapParamsToLegendUrl({\n crs: this.getEpsg(),\n // in the case of axis orientation inverted if it needs to invert the axis\n bbox: map.getView().getProjection().getAxisOrientation() === \"neu\" ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox\n });\n this.emit('change-map-legend-params');\n }\n }\n }, {\n key: 'getMapLayerByLayerId',\n value: function getMapLayerByLayerId(id) {\n return this.getMapLayers().find(function (l) {\n return l.getLayerConfigs().find(function (l) {\n return id === l.getId();\n });\n });\n }\n }, {\n key: 'getMapLayers',\n value: function getMapLayers() {\n return this._layers.g3w;\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this._layers.base;\n }\n }, {\n key: 'getMapLayerForLayer',\n value: function getMapLayerForLayer(layer) {\n return this.getMapLayers().find(function (ml) {\n return 'layer_' + layer.getMultiLayerId() === ml.getId();\n });\n }\n }, {\n key: 'getProjectLayer',\n value: function getProjectLayer(id) {\n return MAP.layers.getLayerById(id);\n }\n\n /**\n * @param project\n * @param width\n * @param height\n * @param { Array } map_extent since 3.10.0: in case of true, use url parameter to set view options\n * @return {{extent: *, maxResolution: number, center: *, projection: *, resolution: number}}\n * @private\n */\n\n }, {\n key: '_calculateViewOptions',\n value: function _calculateViewOptions() {\n var _ref27 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref27.project,\n width = _ref27.width,\n height = _ref27.height,\n map_extent = _ref27.map_extent;\n\n var initextent = map_extent ? map_extent.split(',').map(function (coord) {\n return 1 * coord;\n }) : project.state.initextent;\n var extent = project.state.extent;\n return {\n extent: extent,\n projection: this.getProjection(),\n center: ol.extent.getCenter(initextent),\n maxResolution: Math.max(ol.extent.getWidth(extent) / width, ol.extent.getHeight(extent) / height), // max(xRes, yRes)\n resolution: Math.max(ol.extent.getWidth(initextent) / width, ol.extent.getHeight(initextent) / height) // max(xInitRes, yInitRes)\n };\n }\n }, {\n key: 'getMapUnits',\n value: function getMapUnits() {\n return this.state.mapUnits;\n }\n\n // remove all events of layersStore\n\n }, {\n key: '_removeEventsKeysToLayersStore',\n value: function _removeEventsKeysToLayersStore(store) {\n var id = store.getId();\n if (this._keyEvents.stores[id]) {\n this._keyEvents.stores[id].forEach(function (evt) {\n Object.entries(evt).forEach(function (_ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n event = _ref29[0],\n key = _ref29[1];\n\n return store.un(event, key);\n });\n });\n delete this._keyEvents.stores[id];\n }\n }\n\n // register all events of layersStore and relative keys\n\n }, {\n key: '_setUpEventsKeysToLayersStore',\n value: function _setUpEventsKeysToLayersStore(store) {\n var _this16 = this;\n\n var id = store.getId();\n // check if already store a key of events\n this._keyEvents.stores[id] = [];\n\n //In the case of store that has layers @since 3.10.0\n store.getLayers().forEach(function (l) {\n return 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n });\n\n this._keyEvents.stores[id].push({\n addLayer: store.onafter('addLayer', function (l) {\n 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n })\n });\n this._keyEvents.stores[id].push({\n removeLayer: store.onafter('removeLayer', function (l) {\n 'vector' === l.getType() && _this16.viewer.map.removeLayer(l.getOLLayer());\n })\n });\n }\n\n // SETUP ALL LAYERS\n\n }, {\n key: '_setupAllLayers',\n value: function _setupAllLayers() {\n var _this17 = this;\n\n // base layers\n var blayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true });\n blayers.forEach(function (l) {\n var base = l.getMapLayer();\n _this17.registerMapLayerListeners(base);\n _this17._layers.base[l.getId()] = base;\n });\n\n Object.values(blayers.length ? this._layers.base : {}).reverse().forEach(function (l) {\n l.update(_this17.state, _this17.layersExtraParams);\n _this17.addLayerToMap(l);\n });\n\n // map layers: geolayers exclude baselayers and eventually vector layers\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: false, VECTORLAYER: false });\n\n // set map projection on each layer\n layers.forEach(function (l) {\n return l.setMapProjection(_this17.getProjection());\n });\n\n //store incremental value for qtimesriable layer with same multilayer id\n var cache = {};\n var mapLayers = [];\n\n Object.entries(\n // Group layers by multilayer property (from project config)\n // to speed up \"qtimeseriesries\" loading for single layers\n (0, _groupBy.groupBy)(layers, function (layer) {\n var id = layer.getMultiLayerId();\n if (layer.isQtimeseries()) {\n cache[id] = undefined === cache[id] ? 0 : cache[id] + 1;\n return id + '_' + cache[id];\n }\n return undefined === cache[id] ? id : id + '_' + (cache[id] + 1);\n })).forEach(function (_ref30) {\n var _ref31 = _slicedToArray(_ref30, 2),\n id = _ref31[0],\n layers = _ref31[1];\n\n var layer = layers[0] || [];\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + id,\n projection: _this17.getProjection(),\n /** @since 3.9.1 */\n format: 1 === layers.length ? layer.getFormat() : null\n }, 1 === layers.length ? {} : _this17.layersExtraParams);\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n mapLayers.push(mapLayer);\n _this17.registerMapLayerListeners(mapLayer);\n });\n\n mapLayers.reverse().forEach(function (l) {\n _this17._layers.g3w.push(l);\n _this17.addLayerToMap(l);\n });\n\n this.updateMapLayers();\n\n // vector layers\n var vlayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ VECTORLAYER: true });\n // set map projection on each layer\n vlayers.forEach(function (l) {\n l.setMapProjection(_this17.getProjection());_this17.addLayerToMap(l.getMapLayer());\n });\n\n // set default layers order\n var map = this.getMap();\n map.addLayer(this.defaultsLayers.mapcenter);\n map.addLayer(this.defaultsLayers.selectionLayer);\n map.addLayer(this.defaultsLayers.highlightLayer);\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n Object.entries(externalLayers || {}).forEach(function (_ref32) {\n var _ref33 = _slicedToArray(_ref32, 2),\n id = _ref33[0],\n layer = _ref33[1];\n\n var olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: new ol.format.GeoJSON().readFeatures(layer.features) })\n });\n olLayer.set('name', id);\n _this17.addExternalLayer(olLayer, _extends({}, layer.options, { zoomToExtent: false }));\n });\n });\n }\n }, {\n key: 'setDefaultLayerStyle',\n value: function setDefaultLayerStyle(type) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (type && this.defaultsLayers[type]) {\n this.defaultsLayers._style[type] = style;\n }\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this18 = this;\n\n Object.keys(this._layers.base).forEach(function (id) {\n return _this18.viewer.map.removeLayer(_this18._layers.base[id].getOLLayer());\n });\n this.getMapLayers().forEach(function (l) {\n _this18.unregisterMapLayerListeners(l);_this18.viewer.map.removeLayer(l.getOLLayer());\n });\n this._layers.g3w = [];\n // remove external layers\n this._layers.external.forEach(function (layer) {\n _this18.removeExternalLayer(layer.get('name'));\n });\n this._layers.external.splice(0);\n // remove default layers\n this.defaultsLayers.mapcenter.getSource().clear();\n this.defaultsLayers.highlightLayer.getSource().clear();\n this.defaultsLayers.selectionLayer.getSource().clear();\n this.getMap().removeLayer(this.defaultsLayers.mapcenter);\n this.getMap().removeLayer(this.defaultsLayers.highlightLayer);\n this.getMap().removeLayer(this.defaultsLayers.selectionLayer);\n }\n\n //set ad increase layerIndex\n\n }, {\n key: 'setLayerZIndex',\n value: function setLayerZIndex(_ref34) {\n var layer = _ref34.layer,\n _ref34$zindex = _ref34.zindex,\n zindex = _ref34$zindex === undefined ? this.layersCount += 1 : _ref34$zindex;\n\n layer.setZIndex(zindex);\n this.emit('set-layer-zindex', { layer: layer, zindex: zindex });\n return zindex;\n }\n\n /**\n * Add olLayer to mapLayer\n * @param layer\n */\n\n }, {\n key: 'addLayerToMap',\n value: function addLayerToMap(layer) {\n var olLayer = layer.getOLLayer();\n if (olLayer) {\n this.getMap().addLayer(olLayer);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'createMapLayer',\n value: function createMapLayer(layer) {\n layer.setMapProjection(this.getProjection());\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + layer.getMultiLayerId(),\n projection: this.getProjection()\n }, this.layersExtraParams);\n mapLayer.addLayer(layer);\n return mapLayer;\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Update MapLayer\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'updateMapLayer',\n value: function updateMapLayer(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { force: false };\n\n var _ref35 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref35$showSpinner = _ref35.showSpinner,\n showSpinner = _ref35$showSpinner === undefined ? true : _ref35$showSpinner;\n\n // if force to add g3w_time parameter to force request of map layer from server\n if (options.force) {\n options.g3w_time = Date.now();\n }\n if (showSpinner !== layer.showSpinnerWhenLoading) {\n layer.showSpinnerWhenLoading = showSpinner;\n if (showSpinner) {\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n } else {\n layer.off('loadstart', this.onLayerLoadStart);\n layer.off('loadend', this.onLayerLoadEnd);\n layer.off('loaderror', this.onLayerLoadError);\n }\n }\n layer.update(this.state, options);\n return layer;\n }\n\n // run update function on each mapLayer\n\n }, {\n key: 'updateMapLayers',\n value: function updateMapLayers() {\n var _this19 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.getMapLayers().forEach(function (l) {\n return _this19.updateMapLayer(l, opts);\n });\n Object.values(this.getBaseLayers()).forEach(function (l) {\n return l.update(_this19.state, _this19.layersExtraParams);\n });\n }\n\n // register map Layer listeners of creation\n\n }, {\n key: 'registerMapLayerListeners',\n value: function registerMapLayerListeners(layer) {\n var _this20 = this;\n\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n // listen change filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.onbefore('change', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n l.on('filtertokenchange', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n });\n }\n }\n\n // unregister listeners of mapLayers creation\n\n }, {\n key: 'unregisterMapLayerListeners',\n value: function unregisterMapLayerListeners(layer) {\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n layer.un('loadstart', this.onLayerLoadStart);\n layer.un('loadend', this.onLayerLoadEnd);\n layer.un('loaderror', this.onLayerLoadError);\n // try to remove layer filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.un('change');\n l.removeEvent('filtertokenchange');\n });\n }\n }\n }, {\n key: 'setTarget',\n value: function setTarget(elId) {\n this.target = elId;\n }\n }, {\n key: 'getCurrentToggledMapControl',\n value: function getCurrentToggledMapControl() {\n return (this._controls.find(function (c) {\n return c.control && c.control.isToggled && c.control.isToggled();\n }) || {}).control;\n }\n\n /**\n * close: param to close eventually right content open\n * @param interaction\n * @param options is an object contain: {\n * active: If set new interaction active or not\n * active: If set new interaction active or not\n * close: if eventually close GUI Content (es. result right content)\n * }\n * return object having current toggled control if there is a toggled mapcontrol\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { active: true, close: true };\n var _options$active = options.active,\n active = _options$active === undefined ? true : _options$active;\n\n var control = this.getCurrentToggledMapControl();\n var toggled = control && control.isToggled && control.isToggled() || false;\n var untoggleMapControls = control && control.isClickMap ? control.isClickMap() : true;\n if (untoggleMapControls && active) {\n this._unToggleControls(options);\n }\n this.getMap().addInteraction(interaction);\n interaction.setActive(active);\n this._externalInteractions.push(interaction);\n return {\n control: control,\n toggled: toggled // return current toggled map control if toggled\n };\n }\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n if (interaction) {\n interaction.setActive(false);\n }\n this.viewer.map.removeInteraction(interaction);\n this._externalInteractions = this._externalInteractions.filter(function (_interaction) {\n return interaction !== _interaction;\n });\n }\n }, {\n key: '_watchInteraction',\n value: function _watchInteraction(interaction) {\n var _this21 = this;\n\n interaction.on('change:active', function (e) {\n if (e.target instanceof ol.interaction.Pointer && e.target.getActive()) {\n _this21.emit('mapcontrol:active', e.target);\n }\n });\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Show map Info\n * @param info\n */\n\n }, {\n key: 'showMapInfo',\n value: function showMapInfo() {\n var _ref36 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref36.info,\n style = _ref36.style;\n\n this.state.map_info.info = info;\n this.state.map_info.style = style || this.state.map_info.style;\n }\n\n /**\n * @param { Array } coordinate\n * @param { Number } zoom\n */\n\n }, {\n key: 'zoomTo',\n value: function zoomTo(coordinate) {\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n\n var view = this.viewer.map.getView();\n view.setCenter(coordinate);\n view.setZoom(zoom);\n }\n }, {\n key: 'goTo',\n value: function goTo(coordinates, zoom) {\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var view = this.viewer.map.getView();\n zoom = zoom || 6;\n\n if (animate) {\n view.animate({ duration: 300, center: coordinates }, zoom ? { zoom: zoom, duration: 300 } : { duration: 300, resolution: view.getResolution() });\n } else {\n view.setCenter(coordinates);\n }\n\n if (zoom && !animate) {\n view.setZoom(zoom);\n }\n }\n\n /**\n * Set map center to coordinate at resolution\n *\n * @param { Array } coordinates\n * @param resolution\n * @param { boolean } animate\n */\n\n }, {\n key: 'goToRes',\n value: function () {\n var _ref37 = _asyncToGenerator(function* (coordinates, resolution) {\n var _this22 = this;\n\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n\n resolution = resolution || this.viewer.map.getView().getResolution();\n\n yield new Promise(function (res) {\n\n _this22.viewer.map.getView().once('change:center', function () {\n return setTimeout(res, 500);\n });\n\n if (animate) {\n _this22.viewer.map.getView().animate({ duration: 200, center: coordinates }, { duration: 200, resolution: resolution });\n } else {\n _this22.viewer.map.getView().setCenter(coordinates);\n _this22.viewer.map.getView().setResolution(resolution);\n }\n });\n });\n\n function goToRes(_x44, _x45) {\n return _ref37.apply(this, arguments);\n }\n\n return goToRes;\n }()\n }, {\n key: 'getGeometryAndExtentFromFeatures',\n value: function getGeometryAndExtentFromFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var extent = void 0;\n var gtype = void 0;\n var geometry = void 0;\n var coordinates = [];\n features.filter(function (f) {\n return f.getGeometry ? f.getGeometry() : f.geometry;\n }).forEach(function (f) {\n var geom = f.getGeometry ? f.getGeometry() : f.geometry;\n var is_ol_geom = geom instanceof ol.geom.Geometry;\n var f_ext = is_ol_geom ? [].concat(_toConsumableArray(geom.getExtent())) : f.bbox;\n extent = ol.extent.extend(undefined === extent ? f_ext : extent, f_ext);\n gtype = gtype ? gtype : is_ol_geom ? geom.getType() : geom.type;\n var coords = is_ol_geom ? geom.getCoordinates() : geom.coordinates;\n coordinates.push(coords);\n });\n\n //check if features have geometry\n if (coordinates.length > 0) {\n var is_multi = gtype.includes('Multi');\n try {\n geometry = new ol.geom[is_multi ? gtype : 'Multi' + gtype](is_multi ? coordinates.flat() : coordinates);\n extent = undefined === extent ? geometry.getExtent() : extent;\n } catch (e) {\n console.warn(e);\n }\n }\n\n return {\n extent: extent,\n geometry: geometry\n };\n }\n }, {\n key: 'highlightFeatures',\n value: function highlightFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getGeometryAndExtent = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent.geometry;\n // force zoom false\n\n\n options.zoom = false;\n this.highlightGeometry(geometry, options);\n }\n }, {\n key: 'zoomToGeometry',\n value: function zoomToGeometry(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var extent = geometry && geometry.getExtent();\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n }, {\n key: 'zoomToFeatures',\n value: function zoomToFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var _getGeometryAndExtent2 = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent2.geometry,\n extent = _getGeometryAndExtent2.extent;\n\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n\n /**\n * @param { ol.extent } extent\n * @param { Object } options\n * @param { boolean } options.force\n * @param { ol.geometry } options.highLightGeometry\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'zoomToExtent',\n value: function () {\n var _ref38 = _asyncToGenerator(function* (extent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n if (!extent) {\n return Promise.resolve();\n }\n\n var map = this.getMap();\n\n var resolution = void 0;\n\n // if outside project extent, return max resolution\n if (false === ol.extent.containsExtent(this.project.state.extent, extent)) {\n resolution = map.getView().getResolutionForExtent(this.project.state.extent, map.getSize());\n }\n\n // retrieve resolution from given `extent`\n else if (true === options.force) {\n resolution = map.getView().getResolutionForExtent(extent, map.getSize()); // resolution of request extent\n }\n\n // calculate main resolutions from map\n else {\n var curr = map.getView().getResolution();\n // max resolution of the map\n resolution = Math.max(map.getView().getResolutionForExtent(extent, map.getSize()), (0, _getResolutionFromScale.getResolutionFromScale)(MAP.maxZoom, this.getMapUnits()));\n resolution = curr < resolution && curr > resolution ? curr : resolution;\n }\n\n yield this.goToRes(ol.extent.getCenter(extent), resolution);\n\n if (options.highLightGeometry) {\n yield this.highlightGeometry(options.highLightGeometry, { zoom: false, duration: options.duration });\n }\n });\n\n function zoomToExtent(_x51) {\n return _ref38.apply(this, arguments);\n }\n\n return zoomToExtent;\n }()\n }, {\n key: 'goToBBox',\n value: function goToBBox(bbox) {\n var epsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getEpsg();\n\n bbox = epsg === this.getEpsg() ? bbox : ol.proj.transformExtent(bbox, epsg, this.getEpsg());\n // compare bbox extent with a project max extent\n this.viewer.fit(ol.extent.containsExtent(this.project.state.extent, bbox) ? bbox : this.project.state.extent);\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: '_fit',\n value: function _fit(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var view = this.viewer.map.getView();\n var animate = 'boolean' === typeof options.animate ? options.animate : true;\n\n if (animate) {\n view.animate({ duration: 200, center: view.getCenter() });\n view.animate({ duration: 200, resolution: view.getResolution() });\n }\n\n delete options.animate; // non lo passo al metodo di OL3 perché è un'opzione interna\n\n view.fit(geometry, _extends({}, options, {\n constrainResolution: undefined !== options.constrainResolution ? options.constrainResolution : true,\n size: this.viewer.map.getSize()\n }));\n }\n\n /*\n * geometries = array of geometries\n * action: add, clear, remove :\n * - add: feature/features to selectionLayer. If selectionLayer doesn't exist create a new vector layer.\n * - clear: remove selectionLayer\n * - remove: remove feature from selection layer. If no more feature are in selectionLayer it will be removed\n * */\n\n }, {\n key: 'setSelectionFeatures',\n value: function setSelectionFeatures() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.color) {\n this.setDefaultLayerStyle('selectionLayer', { color: opts.color });\n }\n var source = this.defaultsLayers.selectionLayer.getSource();\n switch (action) {\n case 'add':\n source.addFeature(opts.feature);break;\n case 'remove':\n source.removeFeature(opts.feature);break;\n case 'update':\n source.getFeatureById(opts.feature.getId()).setGeometry(opts.feature.getGeometry());break;\n case 'clear':\n source.clear();break;\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'toggleSelection',\n value: function toggleSelection() {\n var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.defaultsLayers.selectionLayer.setVisible(visible);\n }\n\n /**\n *\n * @param { ol.geom.Geometry | * } geometryObj\n * @param { Object } options\n * @param { boolean } options.zoom\n * @param { boolean } options.highlight\n * @param options.style\n * @param options.color\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'highlightGeometry',\n value: function () {\n var _ref39 = _asyncToGenerator(function* (geometryObj) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var duration = options.duration || 2000;\n var hlayer = this.defaultsLayers.highlightLayer;\n var hide = 'function' === typeof options.hide ? options.hide : null;\n var highlight = 'boolean' === typeof options.highlight ? options.highlight : true;\n var zoom = 'boolean' === typeof options.zoom ? options.zoom : true;\n var geometry = geometryObj instanceof ol.geom.Geometry ? geometryObj : new ol.format.GeoJSON().readGeometry(geometryObj);\n\n this.clearHighlightGeometry();\n this.setDefaultLayerStyle('highlightLayer', { color: options.color });\n\n if (zoom) {\n yield this.zoomToExtent(geometry.getExtent());\n }\n\n if (!highlight) {\n return;\n }\n\n if (options.style) {\n hlayer.setStyle(options.style);\n }\n\n hlayer.getSource().addFeature(new ol.Feature({ geometry: geometry }));\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve) {\n\n var cb = function cb() {\n hlayer.getSource().clear();\n // set default style\n if (options.style) {\n hlayer.setStyle(function (feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({ geometryType: feat.getGeometry().getType(), color: options.color, fill: true })];\n });\n }\n if (!hide) {\n MAP.animatingHighlight = false;\n }\n resolve();\n };\n\n if (hide) {\n hide(cb);\n }\n\n if (duration && duration !== Infinity && !hide) {\n MAP.animatingHighlight = true;\n setTimeout(cb, duration);\n }\n });\n\n return function (_x59) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref39.apply(this, arguments);\n }\n\n return highlightGeometry;\n }()\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry() {\n if (!MAP.animatingHighlight) {\n this.defaultsLayers.highlightLayer.getSource().clear();\n }\n // reset default layer style\n this.defaultsLayers._style.highlightLayer = { color: undefined };\n }\n\n /**\n * Force to referesh a map\n * @param options\n */\n\n }, {\n key: 'refreshMap',\n value: function refreshMap() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { force: true };\n\n this.updateMapLayers(options);\n }\n\n // called when layout (window) resizes\n\n }, {\n key: 'layout',\n value: function layout(_ref41) {\n var width = _ref41.width,\n height = _ref41.height;\n\n var el = document.getElementById(this.target);\n\n if (el) {\n el.style.height = height + 'px';\n el.style.width = width + 'px';\n }\n\n var is_hidden = width <= 0 || height <= 0;\n var has_viewer = !!this.viewer;\n\n if (has_viewer && !is_hidden) {\n this.getMap().updateSize();\n this.state.hidemaps.forEach(function (h) {\n return h.map.updateSize();\n });\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this.updateMapLayers();\n }\n\n if (!has_viewer) {\n this.setupViewer(width, height);\n }\n\n this.setHidden(is_hidden);\n }\n }, {\n key: 'getMapBBOX',\n value: function getMapBBOX() {\n return this.viewer.map.getView().calculateExtent(this.viewer.map.getSize());\n }\n }, {\n key: 'setInnerGreyCoverBBox',\n value: function setInnerGreyCoverBBox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var map = this.viewer.map;\n var lowerLeft = void 0;\n var upperRight = void 0;\n\n if (opts.inner) {\n switch (opts.type) {\n case 'pixel':\n lowerLeft = [opts.inner[0], opts.inner[1]];\n upperRight = [opts.inner[2], opts.inner[3]];\n break;\n case 'coordinate':\n default:\n lowerLeft = map.getPixelFromCoordinate([opts.inner[0], opts.inner[1]]);\n upperRight = map.getPixelFromCoordinate([opts.inner[2], opts.inner[3]]);\n break;\n }\n this._drawShadow.inner[0] = lowerLeft[0] * ol.has.DEVICE_PIXEL_RATIO; // x_min\n this._drawShadow.inner[1] = lowerLeft[1] * ol.has.DEVICE_PIXEL_RATIO; // y_min\n this._drawShadow.inner[2] = upperRight[0] * ol.has.DEVICE_PIXEL_RATIO; // x_max\n this._drawShadow.inner[3] = upperRight[1] * ol.has.DEVICE_PIXEL_RATIO; // y_max\n }\n\n this._drawShadow.scale = [null, undefined].includes(opts.scale) ? this._drawShadow.scale || 1 : opts.scale;\n this._drawShadow.rotation = [null, undefined].includes(opts.rotation) ? this._drawShadow.rotation || 0 : opts.rotation;\n\n if (this._drawShadow.outer) {\n map.render();\n }\n }\n\n // grey map precompose mapcompose\n\n }, {\n key: 'startDrawGreyCover',\n value: function startDrawGreyCover(message) {\n var _this23 = this;\n\n // after rendering the layer, restore the canvas context\n var map = this.viewer.map;\n var x_min = void 0,\n x_max = void 0,\n y_min = void 0,\n y_max = void 0,\n rotation = void 0,\n scale = void 0;\n this.stopDrawGreyCover();\n this._drawShadow.listener = map.on('postcompose', function (e) {\n var ctx = e.context;\n var size = _this23.getMap().getSize();\n // Inner polygon must be counter-clockwise\n var height = size[1] * ol.has.DEVICE_PIXEL_RATIO;\n var width = size[0] * ol.has.DEVICE_PIXEL_RATIO;\n _this23._drawShadow.outer = [0, 0, width, height];\n ctx.restore();\n ctx.beginPath();\n // Outside polygon must be clockwise\n ctx.moveTo(0, 0);\n ctx.lineTo(width, 0);\n ctx.lineTo(width, height);\n ctx.lineTo(0, height);\n ctx.lineTo(0, 0);\n ctx.closePath();\n // end external bbox (map is cover)\n if (_this23._drawShadow.inner.length) {\n ctx.save();\n x_min = _this23._drawShadow.inner[0];\n y_min = _this23._drawShadow.inner[3];\n x_max = _this23._drawShadow.inner[2];\n y_max = _this23._drawShadow.inner[1];\n rotation = _this23._drawShadow.rotation;\n scale = _this23._drawShadow.scale;\n // Inner polygon must be counter-clockwise antiorario\n ctx.translate((x_max + x_min) / 2, (y_max + y_min) / 2);\n ctx.rotate(rotation * Math.PI / 180);\n ctx.moveTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.closePath();\n // end inner bbox\n }\n ctx.fillStyle = 'rgba(0, 5, 25, 0.40)';\n ctx.fill();\n if (message) {\n ctx.font = \"bold 25px Arial\";\n ctx.fillStyle = \"#ffffff\";\n ctx.textAlign = \"center\";\n message.split('\\n').forEach(function (m, i) {\n return ctx.fillText(m, width / 2, height / 2 + 30 * i);\n });\n }\n ctx.restore();\n });\n }\n }, {\n key: 'stopDrawGreyCover',\n value: function stopDrawGreyCover() {\n if (this._drawShadow.listener) {\n ol.Observable.unByKey(this._drawShadow.listener);\n // reset inner draw shadow\n if (this._drawShadow.inner.length) {\n this._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null\n };\n }\n this._drawShadow.listener = null;\n }\n this.getMap().render();\n }\n\n /**\n * Remove external layer\n *\n * @param name\n */\n\n }, {\n key: 'removeExternalLayer',\n value: function removeExternalLayer(name) {\n var _this24 = this;\n\n var layer = this.getLayerByName(name);\n var type = layer._type || 'vector';\n\n _gui2.default.getService('queryresults').unregisterVectorLayer(layer);\n _gui2.default.getService('catalog').removeExternalLayer({ name: name, type: type });\n\n this.viewer.map.removeLayer(layer);\n\n if ('vector' === type) {\n this._keyEvents.unwatches[name].forEach(function (unWatch) {\n return unWatch();\n });\n delete this._keyEvents.unwatches[name];\n }\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n if ('vector' === type) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n externalLayers = externalLayers || {};\n if (name in externalLayers) {\n delete externalLayers[name];\n }\n _localforage2.default.setItem('externalLayers', externalLayers);\n });\n }\n\n if ('vector' === type) {\n this._layers.external_vector = this._layers.external_vector.filter(function (l) {\n if (name !== l.name) {\n return true;\n }\n Object.values(MAP.controls).forEach(function (c) {\n return c.onRemoveExternalLayer && c.onRemoveExternalLayer(l);\n });\n if (l === MAP.selectedLayer) {\n MAP.selectedLayer = null;\n }\n });\n }\n\n if ('wms' === type) {\n this._layers.external_wms = this._layers.external_wms.filter(function (l) {\n if (l.getId() !== layer.id) {\n return true;\n }\n _this24.unregisterMapLayerListeners(l, layer.projectLayer);\n });\n }\n\n this._layers.external = this._layers.external.filter(function (l) {\n return l.get('id') !== layer.get('id');\n });\n\n this.unloadExternalLayer(layer);\n\n this.emit('remove-external-layer', name);\n }\n\n /**\n * @TODO deprecate in favour of `getExternalLayers`\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'getLegacyExternalLayers',\n value: function getLegacyExternalLayers() {\n return this._layers.external_vector;\n }\n\n /**\n * Return extanla layers added to map\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers() {\n return this._layers.external;\n }\n\n /**\n * Add an external layer to the map (eg. ZIP, KMZ, GPX, ...)\n *\n * @param { ol.layer.Vector | ol.layer.Image | unknown } externalLayer\n * @param { Object } options\n * @param { unknown } options.position\n * @param { number } options.opacity\n * @param { boolean } options.visible\n * @param { unknown } options.crs\n * @param { unknown } options.type\n * @param { unknown } options.download\n * @param { string } options.downloadUrl (since 3.8.3) an alternate external server url where to perfom download.\n * @param { boolean } options.persistent (since 3.11.0) whether to save layer into local storage (ie. web sessions).\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'addExternalLayer',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (externalLayer) {\n var _this25 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // extract OL layer from a G3W layer\n var olLayer = externalLayer.getOLLayer ? externalLayer.getOLLayer() : externalLayer;\n if (olLayer !== externalLayer) {\n olLayer.set('id', externalLayer.getId());\n olLayer.set('name', externalLayer.getId());\n }\n externalLayer = olLayer;\n\n var vectorLayer = void 0;\n\n options.position = undefined === options.position ? 'top' : options.position;\n options.opacity = undefined === options.opacity ? 1 : options.opacity;\n options.visible = undefined === options.visible || options.visible;\n options.persistent = undefined === options.persistent || options.persistent;\n\n // vector layer\n if (externalLayer instanceof ol.layer.Vector) {\n\n externalLayer.set('id', externalLayer.get('id') || (0, _getUniqueDomId.getUniqueDomId)());\n\n vectorLayer = externalLayer;\n vectorLayer.filter = { // used by `selection` for query result purpose ?\n active: false // UNUSED - it means not yet implemented?\n };\n vectorLayer.selection = {\n active: false,\n features: []\n };\n\n if (options.color && options.field) {\n vectorLayer.setStyle(Object.assign(function (feat) {\n options.color = options.color.rgba ? 'rgba(' + [options.color.rgba.r, options.color.rgba.g, options.color.rgba.b, options.color.rgba.a].join() + ')' : options.color;\n var geometryType = feat.getGeometry().getType();\n var color = options.color;\n\n var style = void 0;\n if ((0, _isPointGeometryType.isPointGeometryType)(geometryType)) {\n // Point\n style = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: color }),\n stroke: new ol.style.Stroke({ color: color, width: 1 }),\n radius: 5\n })\n });\n } else if ((0, _isLineGeometryType.isLineGeometryType)(geometryType)) {\n // Line\n style = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else if ((0, _isPolygonGeometryType.isPolygonGeometryType)(geometryType)) {\n // Polygon\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255,255,255,0.5)' }),\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else {\n console.warn('invalid geometry type: ', geometryType);\n }\n if (options.field) {\n style.setText(new ol.style.Text({\n text: '' + feat.get(options.field),\n font: 'bold',\n scale: 2,\n offsetY: 15,\n fill: new ol.style.Fill({ color: options.color }),\n stroke: new ol.style.Stroke({ color: '#FFF', width: 2 })\n }));\n }\n return style;\n }, { _g3w_options: options }));\n }\n\n var color = void 0;\n try {\n var style = externalLayer.getStyle();\n color = style._g3w_options ? style._g3w_options.color : 'blue'; //setted by geo utils create style function\n } catch (e) {\n console.warn(e);\n }\n\n externalLayer = {\n id: externalLayer.get('id'),\n name: vectorLayer.get('name') || vectorLayer.get('id'),\n projectLayer: false,\n title: vectorLayer.get('name') || vectorLayer.get('id'),\n removable: true,\n external: true,\n crs: options.crs,\n type: options.type,\n _type: 'vector',\n visible: options.visible,\n checked: true,\n position: options.position,\n opacity: options.opacity,\n color: color || 'blue',\n filter: vectorLayer.filter,\n selection: vectorLayer.selection,\n /** @since 3.8.0 */\n tochighlightable: false,\n download: options.download || false,\n /**\n * An alternate (external) server url where to perfom download.\n *\n * @example\n *\n * ```js\n * GUI.getService('map').addExternalLayer(layer, {\n * type: 'geojson',\n * downloadUrl: __\n * });\n * ```\n *\n * @since 3.8.3\n */\n downloadUrl: options.downloadUrl\n };\n }\n\n // image layer\n if (externalLayer instanceof ol.layer.Image) {\n externalLayer.id = externalLayer.get('id');\n externalLayer.removable = true;\n externalLayer.projectLayer = false;\n externalLayer.name = externalLayer.get('name');\n externalLayer.title = externalLayer.get('name');\n externalLayer._type = 'wms';\n externalLayer.opacity = options.opacity;\n externalLayer.position = options.position;\n externalLayer.external = true;\n externalLayer.checked = options.visible;\n }\n\n // skip when another layer with the same name was already added\n if (this.getLayerByName(externalLayer.name)) {\n _gui2.default.notify.warning(\"layer_is_added\", false);\n }\n\n var type = externalLayer._type || externalLayer.type;\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type] || (yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)({\n name: externalLayer.name,\n type: type,\n crs: externalLayer.crs,\n data: externalLayer.data\n }));\n\n // skip if is not a valid layer\n if (!layer) {\n return Promise.reject();\n }\n\n var features = 'vector' === type && layer.getSource().getFeatures() || [];\n var extent = 'vector' === type && layer.getSource().getExtent() || [];\n\n // add id value\n features.forEach(function (f, i) {\n return f.setId(i);\n });\n\n if (features.length) {\n externalLayer.geometryType = features[0].getGeometry().getType();\n externalLayer.selected = false;\n }\n\n if (extent.length) {\n externalLayer.bbox = { minx: extent[0], miny: extent[1], maxx: extent[2], maxy: extent[3] };\n }\n\n layer.set('position', options.position);\n layer.setOpacity(options.opacity);\n layer.setVisible(options.visible);\n\n /** @TODO use a common parent class (project/external layers) */\n externalLayer.set = externalLayer.set || function (a, d) {\n return externalLayer[a] = d;\n };\n externalLayer.get = externalLayer.get || function (a) {\n return externalLayer[a];\n };\n externalLayer.getId = externalLayer.getId || function () {\n return externalLayer.id;\n };\n externalLayer.getName = externalLayer.getName || function () {\n return externalLayer.name;\n };\n externalLayer.getGeometryType = externalLayer.getGeometryType || function () {\n return externalLayer.geometryType;\n };\n externalLayer.setTocHighlightable = externalLayer.setTocHighlightable || function (h) {\n return externalLayer.tochighlightable = h;\n };\n externalLayer.getTocHighlightable = externalLayer.getTocHighlightable || function () {\n return externalLayer.tochighlightable;\n };\n externalLayer.isSelected = externalLayer.isSelected || function () {\n return externalLayer.selected;\n };\n externalLayer.setSelected = externalLayer.setSelected || function (s) {\n return externalLayer.selected = s;\n };\n externalLayer.isQueryable = externalLayer.isQueryable || function () {\n return !!vectorLayer;\n };\n externalLayer.isVisible = externalLayer.isVisible || function () {\n if (vectorLayer) {\n externalLayer.visible = vectorLayer.getVisible();\n }\n return externalLayer.visible;\n };\n externalLayer.setVisible = externalLayer.setVisible || function (v) {\n if (vectorLayer) {\n vectorLayer.setVisible(v);\n }\n externalLayer.visible = v;\n };\n\n this.viewer.map.addLayer(layer);\n\n this._layers.external.push(layer);\n\n if ('vector' === type) {\n this._layers.external_vector.push(externalLayer);\n }\n\n // register and dispatch layer add event\n if ('wms' === type) {\n this._layers.external_wms.push(externalLayer);\n this.registerMapLayerListeners(externalLayer, false);\n }\n\n if (vectorLayer && false !== options.persistent) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n _localforage2.default.setItem('externalLayers', _extends({}, externalLayers || {}, _defineProperty({}, vectorLayer.get('name'), {\n features: new ol.format.GeoJSON().writeFeatures(vectorLayer.getSource().getFeatures()),\n options: options\n })));\n });\n }\n\n _gui2.default.getService('queryresults').registerVectorLayer(layer);\n _gui2.default.getService('catalog').addExternalLayer({ layer: externalLayer, type: type });\n\n // invoke `onAddExternalLayer` on each map control\n if ('vector' === type) {\n this._keyEvents.unwatches[externalLayer.name] = [];\n Object.values(MAP.controls).forEach(function (c) {\n return c.onAddExternalLayer && c.onAddExternalLayer({ layer: externalLayer, unWatches: _this25._keyEvents.unwatches[externalLayer.name] });\n });\n }\n\n if (extent && options.zoomToExtent) {\n this.viewer.map.getView().fit(extent);\n }\n\n this.loadExternalLayer(layer);\n\n return layer;\n });\n\n function addExternalLayer(_x63) {\n return _ref42.apply(this, arguments);\n }\n\n return addExternalLayer;\n }()\n }, {\n key: 'getCookie',\n value: function getCookie(name) {\n Vue.cookie.get(name);\n }\n\n /**\n * @param { unknown | string | null } layer\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'selectLayer',\n value: function selectLayer(layer) {\n var id = 'string' === typeof layer ? layer : layer && layer.getId();\n\n // toggle previous selection\n if (MAP.selectedLayer && id === MAP.selectedLayer.getId()) {\n id = null;\n }\n\n layer = (0, _getCatalogLayerById.getCatalogLayerById)(id) || this.getLegacyExternalLayers().find(function (l) {\n return id === l.getId();\n });\n\n // select layer by id\n (0, _getCatalogLayers.getCatalogLayers)().concat(this.getLegacyExternalLayers()).forEach(function (l) {\n return l.setSelected(l.getId() === id);\n });\n\n MAP.selectedLayer = layer && layer.isSelected() ? layer : null;\n\n Object.values(MAP.controls).forEach(function (c) {\n return c.onSelectLayer && c.onSelectLayer(MAP.selectedLayer);\n });\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'getSelectedLayer',\n value: function getSelectedLayer() {\n return MAP.selectedLayer;\n }\n }]);\n\n return MapService;\n}(_g3wObject2.default);\n\n/** @since 3.8.0 */\n\n\n_application4.default.onbefore('offline', function () {\n return MAP.offlineids.forEach(function (c) {\n c.enable = MAP.controls[c.id].getEnable();MAP.controls[c.id].setEnable(false);\n });\n});\n\n/** @since 3.8.0 */\n_application4.default.onbefore('online', function () {\n return MAP.offlineids.forEach(function (_ref43) {\n var id = _ref43.id,\n enable = _ref43.enable;\n return MAP.controls[id].setEnable(enable);\n });\n});\n\nexports.default = {\n\n MapService: MapService,\n\n MapLayersStoresRegistry: MAP.layers\n};\n\n},{\"components/MapControlGeocoding.vue\":86,\"components/MapControlZoomHistory.vue\":87,\"g3w-object\":131,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":144,\"map/controls/interactioncontrol\":145,\"map/controls/measurecontrol\":146,\"map/controls/queryby\":147,\"map/controls/scalecontrol\":148,\"map/controls/screenshotcontrol\":149,\"map/controls/streetviewcontrol\":150,\"map/interactions/pickcoordinatesinteraction\":151,\"map/layers/imagelayer\":156,\"map/layers/vectorlayer\":160,\"services/application\":173,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"store/plugins\":181,\"store/projections\":182,\"utils/createFilterFromString\":194,\"utils/createSelectedStyle\":197,\"utils/createVectorLayerFromFile\":199,\"utils/getCatalogLayerById\":205,\"utils/getCatalogLayers\":206,\"utils/getMapLayersByFilter\":212,\"utils/getProject\":214,\"utils/getResolutionFromScale\":217,\"utils/getScaleFromResolution\":218,\"utils/getUniqueDomId\":219,\"utils/groupBy\":221,\"utils/isLineGeometryType\":225,\"utils/isPointGeometryType\":227,\"utils/isPolygonGeometryType\":228,\"utils/throttle\":243}],178:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _QueryResultsActionQueryPolygonCSVAttributes = require('components/QueryResultsActionQueryPolygonCSVAttributes.vue');\n\nvar _QueryResultsActionQueryPolygonCSVAttributes2 = _interopRequireDefault(_QueryResultsActionQueryPolygonCSVAttributes);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _intersects = require('utils/intersects');\n\nvar _within = require('utils/within');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _throttle = require('utils/throttle');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _copyUrl = require('utils/copyUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer4 = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nfunction _setRelationField(node) {\n if (node.nodes) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = node.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _node = _step.value;\n\n _setRelationField(_node);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (node.name) {\n node.relation = true;\n }\n}\n\nexports.default = new (function (_G3WObject) {\n _inherits(QueryResultsService, _G3WObject);\n\n function QueryResultsService() {\n _classCallCheck(this, QueryResultsService);\n\n /**\n * Core methods used from other classes to react before or after its call\n */\n var _this = _possibleConstructorReturn(this, (QueryResultsService.__proto__ || Object.getPrototypeOf(QueryResultsService)).call(this));\n\n _this.setters = {\n\n /**\n * Hook method called when response is handled by Data Provider\n *\n * @param { Object } queryResponse\n * @param { Array } queryResponse.data\n * @param { 'coordinates' | 'bbox' | 'polygon' } queryResponse.type\n * @param { Object } queryResponse.query\n * @param { Object } queryResponse.query.external\n * @param { boolean } queryResponse.query.external.add - whether add external layers to response\n * @param { Object } queryResponse.query.external.filter\n * @param { boolean } queryResponse.query.external.SELECTED\n * @param { Object } options\n * @param { boolean } options.add - whether is a new query request (add/remove query request)\n */\n setQueryResponse: function setQueryResponse(queryResponse) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n\n // set mandatory queryResponse fields\n if (!queryResponse.data) queryResponse.data = [];\n if (!queryResponse.query) queryResponse.query = { external: { add: false, filter: { SELECTED: false } } };\n if (!queryResponse.query.external) queryResponse.query.external = { add: false, filter: { SELECTED: false } };\n\n // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.clearState();\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n\n // whether add external layers to response\n if (true === queryResponse.query.external.add && false === options.add) {\n var catalog = _gui2.default.getService('catalog');\n\n /** @type { boolean | undefined } */\n var FILTER_SELECTED = queryResponse.query.external.filter.SELECTED;\n\n // add visible layers to query response (vector layers)\n this._vectorLayers.forEach(function (layer) {\n var id = layer.get('id');\n // TODO: extract this into `layer.isSomething()` ?\n if (layer.getVisible() && [undefined, !!(catalog.state.external.vector.find(function (l) {\n return l.id === id;\n }) || {}).selected].includes(FILTER_SELECTED)) {\n queryResponse.data['__g3w_marker' === id // keep geocoding control \"marker\" layer at top\n ? 'unshift' : 'push'](_this2.getVectorLayerFeaturesFromQueryRequest(layer, queryResponse.query));\n }\n });\n }\n\n var geom = false === options.add && {\n 'coordinates': 2 === (this.state.query.coordinates || []).length && new ol.geom.Point(this.state.query.coordinates),\n 'bbox': 4 === (this.state.query.bbox || []).length && ol.geom.Polygon.fromExtent(this.state.query.bbox),\n 'polygon': this.state.query.geometry,\n 'drawpolygon': this.state.query.geometry,\n 'circle': this.state.query.geometry\n }[this.state.query.type];\n\n // show query result on map\n if (geom) {\n var feature = new ol.Feature(geom);\n feature.setId(undefined);\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.getSource().addFeature(feature);\n _gui2.default.getService('map').getMap().addLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.setZIndex(_gui2.default.getService('map').getMap().getLayers().getLength()); // ensure layer is on top of others\n }\n\n // Convert response from DataProvider into a QueryResult component data structure\n // Skip when layer has no features or rawdata is undefined (external wms)\n var layers = queryResponse.data.flatMap(function (d) {\n return [].concat(d);\n }).filter(function (d) {\n return d && (undefined !== d.rawdata || Array.isArray(d.features) && d.features.length > 0);\n }).map(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref.layer,\n features = _ref.features,\n rawdata = _ref.rawdata,\n error = _ref.error;\n\n var is_layer = layer instanceof _layer4.Layer;\n var is_vector = layer instanceof ol.layer.Vector; // instance of openlayers layer Vector Class\n var is_string = 'string' === typeof layer || layer instanceof String; // can be created by string\n\n var sourceType = void 0;\n\n if (is_string) {\n sourceType = _layer4.Layer.LayerTypes.VECTOR;\n } else if (is_layer) {\n try {\n sourceType = layer.getSourceType();\n } catch (error) {\n console.warn('uknown source type for layer:', error, layer);\n }\n }\n\n var name = is_string && layer.split('_');\n\n var id = (is_layer ? layer.getId() : undefined) || (is_vector ? layer.get('id') : undefined) || (is_string ? layer : undefined);\n\n var attributes = void 0;\n var layerAttrs = void 0;\n\n // sanity check (eg. external layers ?)\n if (!features || !features.length) {\n attributes = [];\n }\n\n // Sanitize OWS Layer attributes\n if (!attributes && layer instanceof _layer4.Layer) {\n layerAttrs = layer.getAttributes().map(function (attr) {\n return 'ows' === _this2.state.type ? _extends({}, attr, { name: attr.name.replace(/ /g, '_') }) : attr;\n });\n }\n\n if (!attributes && layer instanceof ol.layer.Vector) {\n layerAttrs = layer.getProperties();\n }\n\n if (!attributes && 'string' === typeof layer || layer instanceof String) {\n layerAttrs = features[0] ? features[0].getProperties() : [];\n }\n\n var specialAttrs = (!attributes && layer instanceof _layer4.Layer && layerAttrs || []).filter(function (attr) {\n try {\n return '_' === attr.name[0] || Number.isInteger(1 * attr.name[0]);\n } catch (e) {\n return false;\n }\n }).map(function (attr) {\n return { alias: attr.name.replace(/_/, ''), name: attr.name };\n });\n\n if (!attributes && specialAttrs.length) {\n features.forEach(function (f) {\n // get attributes special keys from feature properties received by server request\n var attrs = Object.keys(f.getProperties());\n specialAttrs.forEach(function (layerAttr) {\n attrs.find(function (attr) {\n if (attr === layerAttr.alias) {\n f.set(layerAttr.name, f.get(attr));\n return true;\n }\n });\n });\n });\n }\n\n // Parse attributes to show on result based on field\n\n var attrs = !attributes && (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(Object.keys(features[0] instanceof ol.Feature ? features[0].getProperties() : features[0].properties));\n\n if (!attributes) {\n attributes = layerAttrs && layerAttrs.length > 0 ? layerAttrs.filter(function (attr) {\n return attrs.indexOf(attr.name) > -1;\n }) : attrs.map(function (featureAttr) {\n return {\n name: featureAttr,\n label: featureAttr,\n show: _g3wConstants.G3W_FID !== featureAttr && [undefined, 'gdal', 'wms', 'wcs', 'wmst', 'postgresraster'].includes(sourceType),\n type: 'varchar'\n };\n });\n }\n\n var external = is_vector || is_string;\n var structure = is_layer && layer.hasFormStructure() && layer.getLayerEditingFormStructure();\n\n if (structure && Array.isArray(_this2._relations[layer.getId()]) && _this2._relations[layer.getId()].length > 0) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = structure[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var node = _step2.value;\n\n _setRelationField(node);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n // layerObj\n return {\n id: id,\n attributes: attributes,\n external: external,\n features: (!rawdata && features || []).map(function (f) {\n return {\n id: external ? f.getId() : f instanceof ol.Feature ? f.getId() : f.id,\n attributes: f instanceof ol.Feature ? f.getProperties() : f.properties,\n geometry: f instanceof ol.Feature ? f.getGeometry() : f.geometry,\n selection: f.selection,\n show: true\n };\n }),\n hasgeometry: Array.isArray(features) && !rawdata && features.some(function (f) {\n return f instanceof ol.Feature ? f.getGeometry() : f.geometry;\n }),\n hasImageField: Array.isArray(features) && !rawdata && features.length && attributes.some(function (attr) {\n return 'image' === attr.type;\n }),\n loading: false,\n show: true,\n expandable: true,\n addfeaturesresults: { active: false },\n downloadformats: { active: false },\n editable: is_layer ? layer.isEditable() : false,\n inediting: is_layer ? layer.isInEditing() : false,\n source: is_layer ? layer.getSource() : undefined,\n infoformat: is_layer ? layer.getInfoFormat() : undefined,\n infoformats: is_layer ? layer.getInfoFormats() : [],\n downloads: is_layer ? layer.getDownloadableFormats() : [],\n formStructure: structure ? {\n structure: structure,\n // get field show\n fields: layer.getFields().filter(function (f) {\n return f.show;\n }).concat((Array.isArray(features) && !rawdata && features.length > 0 && attributes || []).filter(function (attr) {\n return layer.getFields().some(function (f) {\n return f.name === attr.name;\n });\n }))\n } : undefined,\n relationsattributes: is_layer || is_vector || is_string ? [] : undefined,\n filter: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) ? layer.state.filter : {},\n selection: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) && layer.state.selection || is_vector && layer.selection || {},\n title: is_layer && layer.getTitle() || is_vector && layer.get('name') || is_string && name && (name.length > 4 ? name.slice(0, name.length - 4).join(' ') : layer) || undefined,\n atlas: _this2._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === id;\n }),\n rawdata: rawdata || null,\n error: error || '',\n toc: external || layer.state.toc //@since v3.10.0\n };\n });\n\n this.setLayersData(layers, options);\n },\n\n\n /**\n * Setter method called when adding layer and feature for response\n *\n * @param layers\n * @param options\n */\n setLayersData: function setLayersData() {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n if (false === options.add) {\n // sort layers as Catalog project layers.\n //external layer always on bottom\n layers.sort(function (a, b) {\n return a.external ? 0 : _this3._projectLayerIds.indexOf(a.id) > _this3._projectLayerIds.indexOf(b.id) ? 1 : -1;\n });\n }\n // get features from added pick layer in case of a new request query\n layers.forEach(function (l) {\n return options.add ? _this3.updateLayerResultFeatures(l) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add });\n this.state.changed = true;\n },\n\n\n /**\n * Add custom component in query result\n *\n * @param component\n */\n addComponent: function addComponent(component) {\n this.state.components.push(component);\n },\n\n\n /**\n * @FIXME add description\n *\n * @param actions\n * @param layers\n */\n addActionsForLayers: function addActionsForLayers(actions, layers) {},\n\n\n /**\n * @FIXME add description\n *\n * @param element\n */\n postRender: function postRender(element) {},\n\n\n /**\n * @FIXME add description\n */\n closeComponent: function closeComponent() {},\n\n\n /**\n * Called when layer result features is changed\n *\n * @param layer\n */\n changeLayerResult: function changeLayerResult(layer) {\n var _this4 = this;\n\n this.state.layersactions[layer.id].forEach(function (action) {\n return action.change && action.change(layer);\n }); // call if present change method to action\n // reset layer current actions tools\n (layer.features || []).forEach(function (_, idx) {\n var tool = _this4.state.currentactiontools[layer.id];\n if (undefined === tool) {\n return;\n }\n if (undefined === tool[idx]) {\n Vue.set(tool, idx, null);\n }\n tool[idx] = null;\n });\n },\n\n\n /**\n * @FIXME add description\n */\n activeMapInteraction: function activeMapInteraction() {},\n\n\n /**\n * Setter method related to relation table\n */\n editFeature: function editFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n feature = _ref2.feature;\n },\n\n\n /**\n * Setter method called when opening/closing feature info data content.\n *\n * @param opts.open\n * @param opts.layer\n * @param opts.feature\n * @param opts.container\n */\n openCloseFeatureResult: function openCloseFeatureResult() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n open = _ref3.open,\n layer = _ref3.layer,\n feature = _ref3.feature,\n container = _ref3.container;\n },\n\n\n /**\n * Remove a feature from current layer result\n *\n * @param layer\n * @param feature\n * \n * @since 3.9.0\n */\n removeFeatureLayerFromResult: function removeFeatureLayerFromResult(layer, feature) {\n this.updateLayerResultFeatures({ id: layer.id, external: layer.external, features: [feature] });\n }\n };\n\n /**\n * @FIXME add description\n */\n _this.unlistenerlayeractionevents = [];\n\n /**\n * to store relations (key is referenceLayer of relation)\n */\n _this._relations = {};\n\n /**\n * @FIXME add description\n */\n _this._atlas = [];\n\n /**\n * @FIXME add description\n */\n _this.plotLayerIds = [];\n\n /**\n * Set reactive state\n */\n _this.state = {\n\n logged: undefined !== _application2.default.user.id,\n\n /**\n * @FIXME add description\n */\n components: [],\n\n /**\n * @FIXME add description\n */\n layers: [],\n\n /**\n * @FIXME add description\n */\n changed: false,\n\n /**\n * @FIXME add description\n */\n query: null,\n\n /**\n * 'ows' = default\n * 'api' = search\n */\n type: 'ows',\n\n /**\n * An action is an object that contains:\n *\n * ```\n * {\n * \"id\": (required) Unique action Id\n * \"download\": whether action is download or not\n * \"class\": (required) fontawsome classname to show icon\n * \"state\": need to be reactive. Used for example to toggled state of action icon\n * \"hint\": Tooltip text\n * \"init\": Method called when action is loaded\n * \"clear\": Method called before clear the service. Used for example to clear unwatch\n * \"change\": Method called when feature of layer is changed\n * \"cbk\": (required) Method called when action is cliccked\n * }\n * ```\n **/\n layersactions: {},\n\n /**\n * Add action tools (for features)\n */\n actiontools: {},\n\n /**\n * Current action tools contain component\n * of a specific action (eg. download)\n */\n currentactiontools: {},\n\n /**\n * Contains current action that expose vue component\n * (useful for comparing the id other action is\n * triggered and exposing the component)\n */\n currentactionfeaturelayer: {},\n\n /**\n * @FIXME add description\n */\n layeractiontool: {},\n\n /**\n * @FIXME add description\n */\n layersFeaturesBoxes: {},\n\n /**\n * Used to show a custom component for a layer\n */\n layerscustomcomponents: {}\n\n };\n\n /**\n * where are store vector layer add on runtime\n */\n _this._vectorLayers = [];\n\n /**\n * @FIXME add description\n */\n _this._addFeaturesLayerResultInteraction = {\n\n /**\n * Reference to current layer\n */\n id: null,\n\n /**\n * Interaction bind to layer,\n */\n interaction: null,\n\n /**\n * Add current toggled map control if toggled\n */\n mapcontrol: null,\n\n /**\n * Method that handles interaction when a mapcontrol is toggled\n */\n toggleeventhandler: null\n\n };\n\n /**\n * @FIXME add description\n */\n _this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n\n /**\n * Vector layer used by query result to show query\n * request as coordinates, bbox, polygon, etc ..\n *\n * @type {ol.layer.Vector}\n */\n _this.resultsQueryLayer = new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return new ol.style.Style('Point' === feat.getGeometry().getType() ? { 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' }) });\n }\n });\n\n /**\n * Current project \n */\n _this._project = _application2.default.project;\n\n /**\n * Keep the right order for a query result based on TOC order layers\n */\n _this._projectLayerIds = function () {\n var layersId = [];\n var traverse = function traverse(tree) {\n (tree.nodes || [tree]).forEach(function (n) {\n if (n.id) {\n layersId.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n _this._project.state.layerstree.forEach(traverse);\n return layersId;\n }();\n\n /**\n * @FIXME add description\n */\n _this._setRelations(_this._project);\n\n /**\n * @FIXME add description\n */\n _this._atlas = _this._project.getPrint().filter(function (p) {\n return p.atlas;\n }) || [];\n\n /**\n * @FIXME add description\n */\n _gui2.default.onbefore('setContent', function (options) {\n if (100 === options.perc && _gui2.default.isMobile()) {\n _this._asyncFnc.zoomToLayerFeaturesExtent.async = true;\n _this._asyncFnc.highLightLayerFeatures.async = true;\n _this._asyncFnc.goToGeometry.async = true;\n }\n });\n\n return _this;\n }\n\n /**\n * used by the following plugins: \"qplotly\"\n */\n\n\n _createClass(QueryResultsService, [{\n key: 'addLayersPlotIds',\n value: function addLayersPlotIds() {\n var layerIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.plotLayerIds = layerIds;\n }\n\n /**\n * used by the following plugins: \"br-service\"\n * \n * Register for plugin or other component of application to add\n * custom component on result for each layer feature or layer\n *\n * @param opts.id unique id identification\n * @param opts.layerId Layer id of layer\n * @param opts.component custom component\n * @param opts.type feature or layer\n * @param opts.position\n */\n\n }, {\n key: 'registerCustomComponent',\n value: function registerCustomComponent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$id = _ref4.id,\n id = _ref4$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref4$id,\n layerId = _ref4.layerId,\n component = _ref4.component,\n _ref4$type = _ref4.type,\n type = _ref4$type === undefined ? 'feature' : _ref4$type,\n _ref4$position = _ref4.position,\n position = _ref4$position === undefined ? 'after' : _ref4$position;\n\n if (undefined === this.state.layerscustomcomponents[layerId]) {\n this.state.layerscustomcomponents[layerId] = {\n layer: { before: [], after: [] },\n feature: { before: [], after: [] }\n };\n }\n this.state.layerscustomcomponents[layerId][type][position].push({ id: id, component: component });\n return id;\n }\n\n /**\n * Loop over response features based on layer response and\n * check if features layer needs to be added or removed to\n * current `state.layers` results.\n *\n * @param responseLayer layer structure coming from request\n *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this5 = this;\n\n var layer = this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }); // get layer from current `state.layers` showed on a result\n responseFeatures = responseLayer.features || [], // extract features from responseLayer object\n external = (this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }) || {}).external, // get id of external layer or not (`external` is a layer added by mapcontrol addexternlayer)\n has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n\n if (has_features) {\n var features_ids = layer.features.map(function (f) {\n return external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }); // get features id from current layer on a result\n responseFeatures.forEach(function (feat) {\n var feature_id = _this5._getFeatureId(feat, external);\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n // remove feature (because is already loaded)\n setTimeout(function () {\n return delete _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feat)];\n });\n layer.features = (layer.features || []).filter(function (f) {\n return _this5._getFeatureId(f, external) !== feature_id;\n });\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (feature) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feature)];\n if (box) {\n setTimeout(function () {\n return box.collapsed = collapsed;\n }); // due to vue reactivity, wait a little bit before update layers\n }\n });\n }\n\n // no more features on layer → remove interaction pickcoordinate to get a result from a map\n if (layer && 0 === (layer.features || []).length) {\n // due to vue reactivity, wait a little bit before update layers\n setTimeout(function () {\n _this5.state.layers = _this5.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this5.clearHighlightGeometry(layer);\n _this5.removeAddFeaturesLayerResultInteraction(true);\n });\n }\n\n // highlight new feature\n if (1 === this.state.layers.length) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n\n this.changeLayerResult(layer);\n }\n\n /**\n * Generate a boxid identifier to query result html\n *\n * @param layer\n * @param feature\n * @param relation_index\n *\n * @returns {string}\n */\n\n }, {\n key: 'getBoxId',\n value: function getBoxId(layer, feature, relation_index) {\n return null !== relation_index && undefined !== relation_index ? layer.id + '_' + feature.id + '_' + relation_index : layer.id + '_' + feature.id;\n }\n\n /**\n * @FIXME add description\n *\n * @param layers\n * @param options\n */\n\n }, {\n key: 'setActionsForLayers',\n value: function setActionsForLayers(layers) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n if (options.add) {\n return;\n }\n\n // reset array\n this.unlistenerlayeractionevents = [];\n\n // loop results\n layers.forEach(function (layer) {\n var _state$layersactions$;\n\n // set eventually layer action tool and need to be reactive\n _this6.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this6.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.layersactions[layer.id] = _this6.state.layersactions[layer.id] || [];\n\n var download_format = 1 === layer.downloads.length && (layer.downloads || []).at(0); // NB: format == layer.downloads[0]\n var relations = (_this6._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this6.plotLayerIds.find(function (id) {\n return id === r.referencingLayer;\n });\n }).filter(Boolean);\n\n if (download_format) {\n layer[download_format] = Vue.observable({ active: false });\n }\n\n // set actionstools configs\n if (layer.downloads.length > 1) {\n _this6.state.actiontools.downloadformats = _this6.state.actiontools.downloadformats || {};\n _this6.state.actiontools.downloadformats[layer.id] = {\n downloads: layer.downloads.map(function (format) {\n return {\n id: 'download_' + format + '_feature',\n download: true,\n format: format,\n class: _gui2.default.getFontClass(format),\n hint: 'sdk.tooltips.download_' + format,\n cbk: function cbk(layer, feature, action, index, html) {\n // un-toggle downloads action\n _this6.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this6.state.query.type) {\n var downloadsaction = _this6.state.layersactions[layer.id].find(function (a) {\n return 'downloads' === a.id;\n });\n downloadsaction.cbk(layer, feature, downloadsaction, index, html);\n }\n }\n };\n })\n };\n }\n\n (_state$layersactions$ = _this6.state.layersactions[layer.id]).push.apply(_state$layersactions$, _toConsumableArray([\n\n // zoom to geometry\n layer.hasgeometry && {\n id: 'gotogeometry',\n mouseover: true,\n class: _gui2.default.getFontClass('marker'),\n hint: 'sdk.mapcontrols.query.actions.zoom_to_feature.hint',\n cbk: (0, _throttle.throttle)(_this6.goToGeometry.bind(_this6))\n },\n\n // show relations (query)\n relations.length && {\n id: 'show-query-relations',\n class: _gui2.default.getFontClass('relation'),\n hint: 'sdk.mapcontrols.query.actions.relations.hint',\n cbk: function cbk(layer, feature, action) {\n _gui2.default.setCurrentContentOptions({ crumb: { text: true, title: layer.title } });\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n relations: action.relations,\n chartRelationIds: action.chartRelationIds,\n feature: feature,\n layer: layer\n })\n }),\n backonclose: true,\n title: 'info.list_of_relations',\n id: '__G3W_LIST_OF_RELATIONS_ID__',\n crumb: {\n title: 'info.list_of_relations',\n trigger: null\n },\n closable: false\n });\n },\n\n relations: relations,\n chartRelationIds: chartRelationIds\n },\n\n // show relations (plot)\n chartRelationIds.length && {\n id: 'show-plots-relations',\n opened: true,\n class: _gui2.default.getFontClass('chart'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n hint: 'sdk.mapcontrols.query.actions.relations_charts.hint',\n cbk: (0, _throttle.throttle)(function (layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this6.emit('show-chart', chartRelationIds, container, {\n relations: _this6._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this6.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this6._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n }).length && {\n id: 'printatlas',\n download: true,\n class: _gui2.default.getFontClass('print'),\n hint: 'sdk.tooltips.atlas',\n cbk: _this6.printAtlas.bind(_this6)\n },\n\n // download features (single)\n download_format && {\n id: 'download_' + download_format + '_feature',\n download: true,\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n class: _gui2.default.getFontClass('download'),\n hint: 'sdk.tooltips.download_' + download_format,\n cbk: function cbk(layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this6.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this6.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n }\n },\n\n // download features (multi)\n layer.downloads.length > 1 && {\n id: 'downloads',\n download: true,\n class: _gui2.default.getFontClass('download'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n toggleable: true,\n hint: 'Downloads',\n change: function change(_ref5) {\n var _this7 = this;\n\n var features = _ref5.features;\n\n features.forEach(function (_, i) {\n return undefined === _this7.state.toggled[i] ? _g3wEventbus.VM.$set(_this7.state.toggled, i, false) : _this7.state.toggled[i] = false;\n });\n },\n\n cbk: function cbk(layer, feature, action, index) {\n action.state.toggled[index] = !action.state.toggled[index];\n _this6.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature\n ('__g3w_marker' === layer.id || !layer.external && 'wms' !== (layer.source || {}).type) && {\n id: 'removefeaturefromresult',\n mouseover: true,\n class: _gui2.default.getFontClass('minus-square'),\n style: { color: 'red' },\n hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this6.removeFeatureLayerFromResult.bind(_this6)\n },\n\n // select feature\n layer.toc && undefined !== layer.selection.active && {\n id: 'selection',\n class: _gui2.default.getFontClass('success'),\n hint: 'sdk.mapcontrols.query.actions.add_selection.hint',\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n // check feature selection\n init: function init() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref6.feature,\n index = _ref6.index,\n action = _ref6.action;\n\n if (layer.external && undefined !== layer.selection.active) {\n // external layer\n action.state.toggled[index] = feature.selection.selected;\n } else if (feature && undefined !== layer.selection.active) {\n // project layer\n var pLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n action.state.toggled[index] =\n //need to check if set active filter and no saved filter is set\n pLayer.state.filter.active && null == pLayer.state.filter.current ||\n //or if feature fid is in selected array\n pLayer.hasSelectionFid(feature ? _this6._getFeatureId(feature, layer.external) : null);\n }\n },\n /** @since 3.9.0 reactive `toggled` when adding new feature and then bind click on query result context (exclude existing features and add reactive array property) */\n change: function change(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n features.forEach(function (_, index) {\n return undefined === _this8.state.toggled[index] && _g3wEventbus.VM.$set(_this8.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this6.addToSelection.bind(_this6))\n },\n\n // permalink (click to copy)\n layer.hasgeometry && !layer.external && 'wms' !== (layer.source || {}).type && {\n id: 'link_zoom_to_fid',\n class: _gui2.default.getFontClass('share-alt'),\n hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint',\n hint_change: { hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change', duration: 1000 },\n cbk: function cbk(layer, feature, action) {\n var url = new URL(location.href);\n url.searchParams.set('zoom_to_fid', layer.id + '|' + feature.attributes[_g3wConstants.G3W_FID]);\n (0, _copyUrl.copyUrl)(url.toString());\n action.hint_changed = true;\n }\n },\n\n // edit\n layer.editable && false === layer.inediting && {\n id: 'editing',\n class: _gui2.default.getFontClass('pencil'),\n hint: 'sdk.tooltips.editing',\n cbk: function cbk(layer, feature) {\n return _this6.editFeature({ layer: layer, feature: feature });\n }\n }].filter(Boolean)));\n\n // In case of external layer don't listen to `selection` event\n if (layer.external && layer.toc && undefined !== layer.selection.active) {\n layer.features.forEach(function (f) {\n return f.selection = (layer.selection.features.find(function (s) {\n return f.id === s.getId();\n }) || { selection: { selected: false } }).selection;\n });\n } else if (!layer.external && layer.toc && undefined !== layer.selection.active) {\n var handler = function handler() {\n return layer.features.forEach(function (_, i) {\n return _this6.state.layersactions[layer.id].find(function (a) {\n return a.id === 'selection';\n }).state.toggled[i] = false;\n });\n };\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).on('unselectionall', handler);\n _this6.unlistenerlayeractionevents.push({ layer: (0, _getCatalogLayerById.getCatalogLayerById)(layer.id), event: 'unselectionall', handler: handler });\n }\n });\n\n this.addActionsForLayers(this.state.layersactions, this.state.layers);\n }\n\n /**\n * Get action referred to layer getting the action id\n *\n * @param opts.layer layer linked to action\n * @param opts.id action id\n * \n * @returns undefined when no action is found\n */\n\n }, {\n key: 'getActionLayerById',\n value: function getActionLayerById() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref8.layer,\n id = _ref8.id;\n\n if (this.state.layersactions[layer.id]) {\n return this.state.layersactions[layer.id].find(function (action) {\n return action.id === id;\n });\n }\n }\n\n /**\n * Set current layer action tool in feature\n *\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.index feature index\n * @param opts.action action\n * @param opts.component vue component\n */\n\n }, {\n key: 'setCurrentActionLayerFeatureTool',\n value: function setCurrentActionLayerFeatureTool() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref9.layer,\n action = _ref9.action,\n index = _ref9.index,\n _ref9$component = _ref9.component,\n component = _ref9$component === undefined ? null : _ref9$component;\n\n var tools = this.state.currentactiontools[layer.id]; // get current action tools\n var feats = this.state.currentactionfeaturelayer[layer.id];\n feats[index] = component ? action : null;\n tools[index] = component; // set component\n\n // need to check if pass component and\n if (tools[index] && // if component is set\n action.id !== feats[index].id && // same action\n feats[index].toggleable // check if toggleable\n ) {\n feats[index].state.toggled[index] = false;\n }\n }\n\n /**\n * @TODO rename misleading method name: `addActionToolsLayer`\n * @param {Object } opts\n * @param opts.id action layer id\n * @param opts.layer layer\n * @param opts.config configuration object\n * @param opts.action (since 3.9.0) configuration object\n */\n\n }, {\n key: 'addCurrentActionToolsLayer',\n value: function addCurrentActionToolsLayer(_ref10) {\n var id = _ref10.id,\n layer = _ref10.layer,\n _ref10$config = _ref10.config,\n config = _ref10$config === undefined ? {} : _ref10$config,\n action = _ref10.action;\n\n if (!layer) {\n return;\n }\n this.state.actiontools[id] = _defineProperty({}, layer.id, config);\n if (action) {\n this.state.layersactions[layer.id] = this.state.layersactions[layer.id] || [];\n this.state.layersactions[layer.id].push(action);\n }\n }\n\n /**\n * @FIXME add description\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.component vue component\n * @param opts.config configuration Object\n */\n\n }, {\n key: 'setLayerActionTool',\n value: function setLayerActionTool() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component,\n _ref11$config = _ref11.config,\n config = _ref11$config === undefined ? null : _ref11$config;\n\n this.state.layeractiontool[layer.id].component = component;\n this.state.layeractiontool[layer.id].config = config;\n }\n }, {\n key: 'clear',\n\n\n /**\n * Clear all\n */\n value: function clear() {\n this._asyncFnc.todo();\n // unlistener events actions\n this.unlistenerlayeractionevents.forEach(function (obj) {\n return obj.layer.off(obj.event, obj.handler);\n });\n this.unlistenerlayeractionevents = [];\n _gui2.default.getService('map').clearHighlightGeometry();\n this.resultsQueryLayer.getSource().clear();\n this.removeAddFeaturesLayerResultInteraction(true);\n this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n this.clearState();\n this.closeComponent();\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n }\n\n /**\n * Check if a one layer result\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isOneLayerResult',\n value: function isOneLayerResult() {\n return 1 === this.state.layers.length;\n }\n\n /**\n * @FIXME add description\n *\n * @param {boolean} toggle whether toggle mapcontrol\n */\n\n }, {\n key: 'removeAddFeaturesLayerResultInteraction',\n value: function removeAddFeaturesLayerResultInteraction(toggle) {\n var interaction = this._addFeaturesLayerResultInteraction;\n\n if (null !== interaction.toggleeventhandler) {\n _gui2.default.getService('map').off('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n\n // remove current interaction to get features from layer\n if (null !== interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // check if query map control is toggled and registered\n if (null !== interaction.mapcontrol) {\n interaction.mapcontrol.toggle(toggle);\n }\n\n // reset values\n Object.assign(interaction, {\n interaction: null,\n id: null,\n toggleeventhandler: null,\n mapcontrol: null\n });\n }\n\n /**\n * Adds feature to Features layer results\n *\n * @param layer\n */\n\n }, {\n key: 'addLayerFeaturesToResultsAction',\n value: function addLayerFeaturesToResultsAction(layer) {\n var _this9 = this;\n\n var interaction = this._addFeaturesLayerResultInteraction;\n\n var not_current = ![null, layer.id].includes(interaction.id);\n var new_layer = not_current && this.state.layers.find(function (l) {\n return l.id === interaction.id;\n });\n\n // disable previous layer\n if (not_current && new_layer) {\n new_layer.addfeaturesresults.active = false;\n }\n\n // remove previous interaction\n if (not_current && interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // set new layer\n interaction.id = layer.id;\n\n layer.addfeaturesresults.active = !layer.addfeaturesresults.active;\n\n if (false === layer.addfeaturesresults.active) {\n this.removeAddFeaturesLayerResultInteraction(true);\n } else {\n\n this.activeMapInteraction(); // useful to send an event\n\n var external_layer = (this.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external;\n\n interaction.mapcontrol = interaction.mapcontrol || _gui2.default.getService('map').getCurrentToggledMapControl() || null; //need to be set null when this.mapService.getCurrentToggledMapControl() is undefined\n interaction.interaction = new _pickcoordinatesinteraction2.default();\n\n _gui2.default.getService('map').addInteraction(interaction.interaction, { close: false });\n\n interaction.interaction.on('picked', function () {\n var _ref13 = _asyncToGenerator(function* (_ref12) {\n var coordinates = _ref12.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this9.setQueryResponse({\n data: [_this9.getVectorLayerFeaturesFromQueryRequest(_this9._vectorLayers.find(function (v) {\n return layer.id === v.get('id');\n }), { coordinates: coordinates })],\n query: { coordinates: coordinates }\n }, { add: true });\n } else {\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n query_point_tolerance: _this9._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x14) {\n return _ref13.apply(this, arguments);\n };\n }());\n\n interaction.toggleeventhandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n layer.addfeaturesresults.active = false;\n }\n };\n\n _gui2.default.getService('map').once('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n }\n\n /**\n * used by the following plugins: \"bforest\"\n */\n\n }, {\n key: 'deactiveQueryInteractions',\n value: function deactiveQueryInteractions() {\n this.state.layers.forEach(function (l) {\n if (l.addfeaturesresults) {\n l.addfeaturesresults.active = false;\n }\n });\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'zoomToLayerFeaturesExtent',\n value: function zoomToLayerFeaturesExtent(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.highlight = !this.isOneLayerResult();\n if (this._asyncFnc.zoomToLayerFeaturesExtent.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').zoomToFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').zoomToFeatures(layer.features || [], options);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'highLightLayerFeatures',\n value: function highLightLayerFeatures(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this._asyncFnc.highLightLayerFeatures.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').highlightFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').highlightFeatures(layer.features || [], options);\n }\n }\n\n /**\n * Reset internal state\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.layers.splice(0);\n this.state.query = null;\n this.state.querytitle = \"\";\n this.state.changed = false;\n // clear actions\n Object.values(this.state.layersactions).forEach(function (l) {\n return l.forEach(function (a) {\n return a.clear && a.clear();\n });\n });\n this.state.layersactions = {};\n this.state.actiontools = {};\n this.state.layeractiontool = {};\n this.state.currentactiontools = {};\n this.state.layersFeaturesBoxes = {};\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @FIXME add description\n *\n * @param state\n */\n\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state = state;\n }\n\n /**\n * @FIXME add description\n *\n * @param project\n */\n\n }, {\n key: '_setRelations',\n value: function _setRelations(project) {\n this._relations = (project.getRelations() || []).reduce(function (group, r) {\n group[r.referencedLayer] = group[r.referencedLayer] || [];\n group[r.referencedLayer].push(r);\n return group;\n }, {});\n }\n\n /**\n * @FIXME add description\n *\n * @param querytitle\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(querytitle) {\n this.state.querytitle = querytitle || \"\";\n }\n\n /**\n * @FIXME add description\n *\n * @param actionId\n * @param layer\n * @param feature\n * @param index\n * @param container\n */\n\n }, {\n key: 'trigger',\n value: function () {\n var _ref14 = _asyncToGenerator(function* (actionId, layer, feature, index, container) {\n if ('highlightgeometry' === actionId) {\n this.highlightGeometry(layer, feature, index);\n }\n if ('clearHighlightGeometry' === actionId) {\n this.clearHighlightGeometry(layer, feature, index);\n }\n if (layer && this.state.layersactions[layer.id]) {\n var action = this.state.layersactions[layer.id].find(function (layerAction) {\n return layerAction.id === actionId;\n });\n if (action && action.cbk) {\n yield action.cbk(layer, feature, action, index, container);\n }\n if (action && action.route) {\n var url = action.route.replace(/{(\\w*)}/g, function (m, key) {\n return feature.attributes.hasOwnProperty(key) ? feature.attributes[key] : \"\";\n });\n if (url && '' !== url) {\n _gui2.default.goto(url);\n }\n }\n }\n });\n\n function trigger(_x17, _x18, _x19, _x20, _x21) {\n return _ref14.apply(this, arguments);\n }\n\n return trigger;\n }()\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'registerVectorLayer',\n value: function registerVectorLayer(vectorLayer) {\n if (!this._vectorLayers.includes(vectorLayer)) {\n this._vectorLayers.push(vectorLayer);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'unregisterVectorLayer',\n value: function unregisterVectorLayer(vectorLayer) {\n var _this10 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this10.state.layers = _this10.state.layers.filter(function (l) {\n return l.id !== vectorLayer.get('id');\n });\n return vl !== vectorLayer;\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n * @param query\n *\n * @returns {Object|Boolean}\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromQueryRequest',\n value: function getVectorLayerFeaturesFromQueryRequest(vectorLayer) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var coordinates = query.coordinates,\n bbox = query.bbox,\n geometry = query.geometry,\n _query$filterConfig = query.filterConfig,\n filterConfig = _query$filterConfig === undefined ? {} : _query$filterConfig; // extract information about a query type\n\n var features = [];\n\n var has_coords = coordinates && Array.isArray(coordinates);\n var has_bbox = bbox && Array.isArray(bbox);\n\n // case query coordinates\n if (has_coords) {\n _gui2.default.getService('map').viewer.map.forEachFeatureAtPixel(_gui2.default.getService('map').viewer.map.getPixelFromCoordinate(coordinates), function (f) {\n features.push(f);\n }, { layerFilter: function layerFilter(l) {\n return l === vectorLayer;\n } });\n }\n\n // case query bbox\n if (has_bbox && !has_coords) {\n //set geometry has Polygon\n geometry = ol.geom.Polygon.fromExtent(bbox);\n }\n\n var is_poly = geometry instanceof ol.geom.Polygon || geometry instanceof ol.geom.MultiPolygon;\n\n // check query geometry (Polygon or MultiPolygon)\n if (is_poly && !has_coords && _vectorlayer.VectorLayer === vectorLayer.constructor) {\n features = vectorLayer.getIntersectedFeatures(geometry);\n } else if (is_poly && !has_coords && ol.layer.Vector === vectorLayer.constructor) {\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n var add = void 0;\n switch (filterConfig.spatialMethod) {\n case 'intersects':\n add = (0, _intersects.intersects)(geometry, f.getGeometry());break;\n case 'within':\n add = (0, _within.within)(geometry, f.getGeometry());break;\n default:\n add = geometry.intersectsExtent(f.getGeometry().getExtent());break;\n }\n if (true === add) {\n features.push(f);\n }\n });\n }\n\n return {\n features: features,\n layer: vectorLayer\n };\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: '_printSingleAtlas',\n value: function _printSingleAtlas() {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref15$atlas = _ref15.atlas,\n atlas = _ref15$atlas === undefined ? {} : _ref15$atlas,\n _ref15$features = _ref15.features,\n features = _ref15$features === undefined ? [] : _ref15$features;\n\n var field = atlas.atlas && atlas.atlas.field_name ? atlas.atlas.field_name : '$id';\n return (0, _printAtlas.printAtlas)({\n field: field,\n values: features.map(function (feat) {\n return feat.attributes['$id' === field ? _g3wConstants.G3W_FID : field];\n }),\n template: atlas.name,\n download: true\n }).then(function (_ref16) {\n var url = _ref16.url;\n return _gui2.default.downloadWrapper(_downloadFile.downloadFile, { url: url, filename: atlas.name, mime_type: 'application/pdf' });\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param ids\n * @param container\n * @param relationData\n */\n\n }, {\n key: 'showChart',\n value: function showChart(ids, container, relationData) {\n this.emit('show-chart', ids, container, relationData);\n }\n\n /**\n * @FIXME add description\n * \n * @param container DOM element\n */\n\n }, {\n key: 'hideChart',\n value: function hideChart(container) {\n this.emit('hide-chart', container);\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'printAtlas',\n value: function printAtlas(layer, feature) {\n var _this11 = this;\n\n var features = feature ? [feature] : layer.features;\n var atlasLayer = this._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n });\n\n /** @FIXME add description */\n if (atlasLayer.length <= 1) {\n this._printSingleAtlas({ features: features, atlas: atlasLayer[0] });\n return;\n }\n\n var inputs = '';\n\n atlasLayer.forEach(function (atlas, index) {\n var id = (0, _getUniqueDomId.getUniqueDomId)();\n inputs += '';\n inputs += '';\n inputs += '
';\n });\n\n _gui2.default.showModalDialog({\n title: t('sdk.atlas.template_dialog.title'),\n message: inputs,\n buttons: {\n success: {\n label: \"OK\",\n className: \"skin-button\",\n callback: function callback() {\n var index = $('input[name=\"template\"]:checked').attr('g3w_atlas_index');\n if (undefined === index) {\n return false; // prevent default\n }\n _this11._printSingleAtlas({ features: features, atlas: atlasLayer[index] });\n }\n }\n }\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'showLayerDownloadFormats',\n value: function showLayerDownloadFormats(layer) {\n layer.downloadformats.active = !layer.downloadformats.active;\n this.setLayerActionTool({\n layer: layer,\n component: layer.downloadformats.active ? _QueryResultsActionDownloadFormats2.default : null,\n config: layer.downloadformats.active ? _extends({}, this.state.actiontools.downloadformats[layer.id], {\n //for download layer need to filter pdf format because it works only for a single feature\n downloads: this.state.actiontools.downloadformats[layer.id].downloads.filter(function (d) {\n return 'pdf' !== d.format;\n })\n }) : null\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param type\n * @param layer\n * @param features\n * @param action\n * @param index\n * @param html\n */\n\n }, {\n key: 'downloadFeatures',\n value: function () {\n var _ref17 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this12 = this;\n\n var index = arguments[4];\n var html = arguments[5];\n\n\n if (features && !Array.isArray(features)) {\n features = [features];\n }\n\n var _state$query = this.state.query,\n query = _state$query === undefined ? {} : _state$query;\n\n var data = {\n fids: features.map(function (f) {\n return f.attributes[_g3wConstants.G3W_FID];\n }).join(',')\n };\n\n //In the case of pdf type need to add html element\n if ('pdf' === type) {\n data.html = html;\n }\n\n /**\n * A function that che be called in case of querybypolygon\n *\n * @param active\n */\n var runDownload = function () {\n var _ref18 = _asyncToGenerator(function* () {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\n if (features.length > 1) {\n layer.downloadformats.active = active;\n _this12.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref19.layer,\n type = _ref19.type,\n data = _ref19.data;\n\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).getDownloadFilefromDownloadDataType(type, { data: data }) || Promise.resolve();\n }, {\n layer: layer,\n type: type,\n data: data\n });\n\n var downloadsactions = _this12.state.layersactions[layer.id].find(function (action) {\n return 'downloads' === action.id;\n });\n\n /** @FIXME add description */\n if (features.length > 1 && undefined === downloadsactions) {\n layer[type].active = false;\n _this12.setLayerActionTool({ layer: layer });\n }\n\n /** @FIXME add description */\n if (features.length > 1 && undefined !== downloadsactions) {\n layer.downloadformats.active = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined === downloadsactions) {\n action.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined !== downloadsactions) {\n downloadsactions.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1) {\n _this12.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref18.apply(this, arguments);\n };\n }();\n\n /** @FIXME add description */\n if ('polygon' !== query.type) {\n yield runDownload();\n return;\n }\n\n // check if multi-download if present\n var downloadsactions = this.state.layersactions[layer.id].find(function (action) {\n return action.id === 'downloads';\n });\n\n var config = {\n choices: [{\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'feature',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature.label'\n }, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'polygon',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label'\n }],\n // choose between only feature attribute or also polygon attribute\n download: function download(type) {\n if ('polygon' === type) {\n // id type polygon add parameters to api download\n data.sbp_qgs_layer_id = layer.id;\n data.sbp_fid = query.fid;\n } else {\n // force to remove\n delete data.sbp_fid;\n delete data.sbp_qgs_layer_id;\n }\n runDownload(true);\n }\n };\n\n /** @FIXME add description */\n if (1 === features.length && undefined === downloadsactions) {\n action.state.toggled[index] = true;\n }\n\n /** @FIXME add description */\n if (1 === features.length) {\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name] = this.state.actiontools[layer.id] || {};\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name][layer.id] = config;\n this.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: _QueryResultsActionQueryPolygonCSVAttributes2.default\n });\n }\n\n /** @FIXME add description */\n if (undefined === downloadsactions && 1 !== features.length) {\n layer[type].active = !layer[type].active;\n }\n\n /** @FIXME add description */\n if (1 !== features.length) {\n var has_config = downloadsactions || layer[type].active && undefined === downloadsactions;\n this.setLayerActionTool({\n layer: layer,\n component: has_config ? _QueryResultsActionQueryPolygonCSVAttributes2.default : null,\n config: has_config ? config : null\n });\n }\n });\n\n function downloadFeatures(_x25, _x26) {\n return _ref17.apply(this, arguments);\n }\n\n return downloadFeatures;\n }()\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'goToGeometry',\n value: function goToGeometry(layer, feature) {\n var _this13 = this;\n\n if (!feature.geometry) {\n return;\n }\n if (this._asyncFnc.goToGeometry.async) {\n this._asyncFnc.todo = _gui2.default.getService('map')[this.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'].bind(_gui2.default.getService('map'), this.isOneLayerResult() ? [feature] : feature.geometry, this.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n } else {\n setTimeout(function () {\n return _gui2.default.getService('map')[_this13.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this13.isOneLayerResult() ? [feature] : feature.geometry, _this13.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'highlightGeometry',\n value: function highlightGeometry(layer, feature) {\n if (feature.geometry) {\n _gui2.default.getService('map').highlightGeometry(feature.geometry, { layerId: layer.id, zoom: false, duration: Infinity });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry(layer) {\n _gui2.default.getService('map').clearHighlightGeometry();\n if (this.isOneLayerResult()) {\n _gui2.default.getService('map').highlightFeatures(layer.features, { duration: Infinity });\n }\n }\n\n /**\n * Handle show Relation on result\n * @param { Object } opts\n * @param opts.relation\n * @param opts.layerId current layer father id\n * @param opts.feature current feature father id\n */\n\n }, {\n key: 'showRelation',\n value: function showRelation() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref20.relation,\n layerId = _ref20.layerId,\n feature = _ref20.feature;\n\n var projectRelation = this._project.getRelationById(relation.name);\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n currentview: 'relation',\n relations: [projectRelation],\n chartRelationIds: this.plotLayerIds.find(function (pid) {\n return pid == projectRelation.referencingLayer;\n }) ? [projectRelation.referencingLayer] : [],\n nmRelation: this._project.getRelationById(relation.nmRelationId),\n layer: { id: layerId },\n feature: feature\n })\n }),\n crumb: {\n title: projectRelation.name,\n text: true\n },\n title: projectRelation.name,\n text: true,\n closable: false\n });\n }\n }, {\n key: '_getFeatureId',\n\n\n /**\n * Get id of the feature\n *\n * @since 3.9.0\n */\n value: function _getFeatureId(feature, external) {\n return external ? feature.id : feature.attributes[_g3wConstants.G3W_FID];\n }\n\n /**\n * @TODO make it simpler..\n * @TODO make it a Layers class function ? \n * \n * Add / Remove features from selection\n * \n * ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@3.8.12::addToSelection\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'addToSelection',\n value: function addToSelection(layer, feature, action, index) {\n var service = _gui2.default.getService('queryresults');\n var map = _gui2.default.getService('map');\n\n // TODO: avoid referencing this private stuff\n var getFeatureId = service._getFeatureId.bind(service);\n var getActionLayerById = service.getActionLayerById.bind(service);\n\n var GIVE_ME_A_NAME = undefined === feature && undefined === action && undefined === index;\n var _action = GIVE_ME_A_NAME ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = GIVE_ME_A_NAME && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = GIVE_ME_A_NAME ? layer.external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id) : (service.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external || false ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var features = GIVE_ME_A_NAME ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = GIVE_ME_A_NAME ? {\n fids: features.length > 0 ? features.map(function (f) {\n return _layer.external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }) : null,\n features: features,\n force: toggled ? 'remove' : 'add'\n } : {\n fids: [feature ? getFeatureId(feature, _layer.external) : null],\n features: features,\n index: index,\n force: undefined\n };\n\n if (!GIVE_ME_A_NAME) {\n _action.state.toggled[index] = !_action.state.toggled[index];\n }\n\n /**\n * PROJECT LAYER\n */\n if (!layer.external && ![null, undefined].includes(params.fids)) {\n var _layer2 = _layer;\n var fids = params.fids,\n _features = params.features,\n force = params.force;\n\n\n fids = Array.isArray(fids) ? fids : [fids];\n _features = Array.isArray(_features) ? _features : [_features];\n\n var include = []; // fid of features to include\n var exclude = []; // fid of features to exclude\n\n fids.forEach(function (fid, idx) {\n var feature = _features[idx];\n var is_selected = _layer2.state.filter.active || _layer2.hasSelectionFid(fid);\n\n // if not already selected and feature is not added to OL selection layer on map --> add as feature of selected layer\n if (!is_selected && feature && feature.geometry && !_layer2.getOlSelectionFeature(fid)) {\n _layer2.addOlSelectionFeature({ id: fid, feature: feature });\n }\n\n // force action\n if (undefined === force) {\n _layer2[is_selected ? 'excludeSelectionFid' : 'includeSelectionFid'](fid);\n }\n\n // force add\n if ('add' === force && !is_selected) {\n include.push(fid);\n }\n\n // force remove\n if ('remove' === force) {\n exclude.push(fid);\n }\n });\n\n _layer2.includeSelectionFids(include, false);\n _layer2.excludeSelectionFids(exclude, false);\n\n (_layer2.state.filter.active ? _layer2.createFilterToken() : Promise.resolve()).then(function () {\n var _GUI$getService$getSt = _gui2.default.getService('queryresults').getState(),\n layers = _GUI$getService$getSt.layers;\n\n /** @TODO add description */\n\n\n fids.forEach(function (fid, idx) {\n var currentLayer = !_layer2.hasSelectionFid(fid) && _layer2.state.filter.active && _layer2.getSelectionFids().size > 0 && layers.find(function (l) {\n return l.id === _layer2.getId();\n });\n if (currentLayer) {\n currentLayer.features.splice(undefined === index ? idx : index, 1);\n }\n });\n\n map.clearHighlightGeometry();\n\n /** @TODO add description */\n if (1 === layers.length && !layers[0].features.length) {\n layers.splice(0);\n }\n });\n }\n\n /**\n * EXTERNAL LAYER\n */\n if (layer.external && ![null, undefined].includes(params.fids)) {\n\n var _layer3 = _layer;\n var _fids = params.fids,\n _features2 = params.features,\n _force = params.force;\n\n //Take in account array or single fid\n\n _features2 = Array.isArray(_features2) ? _features2 : [_features2];\n\n //check if layer.selection.features is undefined\n if (undefined === _layer3.selection.features) {\n //set array\n _layer3.selection.features = [];\n }\n\n _fids.forEach(function (fid, i) {\n var feature = _features2[i];\n\n // Set feature used in selection tool action\n if (undefined === _layer3.selection.features.find(function (f) {\n return f.getId() === fid;\n })) {\n // create ol feature from object\n var feat = feature;\n var attributes = feature.attributes;\n\n if (feature.geometry) {\n feat = new ol.Feature(feature.geometry);\n feat.setId(fid);\n }\n Object.keys(attributes).forEach(function (attr) {\n return feat.set(attr, attributes[attr]);\n });\n feat.__layerId = _layer3.id;\n feat.selection = feature.selection;\n _layer3.selection.features.push(feat);\n }\n\n //check if feature is already select or feature is already removed (no selected)\n /** If not changes to apply return */\n if ('add' === _force && feature.selection.selected || 'remove' === _force && !feature.selection.selected) {\n return;\n }\n\n /**Switch selected boolean value */\n feature.selection.selected = !feature.selection.selected;\n\n /** Need to add selection on map */\n map.setSelectionFeatures(feature.selection.selected ? 'add' : 'remove', {\n feature: _layer3.selection.features.find(function (selectionFeature) {\n return fid === selectionFeature.getId();\n })\n });\n });\n\n // Set selection layer active based on features selection selected properties.\n _layer3.selection.active = _layer3.selection.features.reduce(function (acc, feature) {\n return acc || feature.selection.selected;\n }, false);\n }\n\n if (GIVE_ME_A_NAME) {\n layer.features.forEach(function (f, i) {\n return _action.state.toggled[i] = !toggled;\n });\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":96,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":98,\"components/RelationsPage.vue\":105,\"g3w-component\":126,\"g3w-constants\":127,\"g3w-eventbus\":128,\"g3w-i18n\":130,\"g3w-object\":131,\"map/interactions/pickcoordinatesinteraction\":151,\"map/layers/layer\":157,\"map/layers/vectorlayer\":160,\"services/data\":174,\"services/gui\":175,\"store/application\":180,\"utils/copyUrl\":192,\"utils/downloadFile\":202,\"utils/getAlphanumericPropertiesFromFeature\":204,\"utils/getCatalogLayerById\":205,\"utils/getUniqueDomId\":219,\"utils/intersects\":223,\"utils/printAtlas\":233,\"utils/throttle\":243,\"utils/within\":246}],179:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file\n * @since v3.6\n */\n\n\nvar _XHR = require('utils/XHR');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SERVER\n * \"\"\"Returns the (possibly) new layer ID where the isochrone\n data has been added. If the task has not yet completed, a status message is returned\n\n Note: `project_id` is only used for permissions checking!\n\n Returns 500 in case of exception\n Returns 404 in case of a task didn't find\n Returns 200 ok for all other cases\n\n Response body:\n\n {\n \"status\": \"complete\", // or \"pending\" or \"error\", full list at\n // https://huey.readthedocs.io/en/latest/signals.html#signals\n \"exception\": \"Normally empty, error message in case of errors\",\n \"progress\": [\n 100, // Progress %\n ],\n \"task_result\": {\n \"qgis_ayer_id\": \"4f2a88a1-ca93-4859-9de3-75d9728cde0e\"\n }\n }\n\n **/\n\n/**\n * Singletone service to run async task\n */\nexports.default = new (function () {\n function TaskService() {\n _classCallCheck(this, TaskService);\n\n /**\n * Array contains all task id that are running. Each item is an object contain:\n * {\n * taskId: //taskId,\n * intervalId: interval to clear clearInterval()\n * }\n **/\n this.tasks = [];\n }\n\n /**\n *\n * @param opts: {\n * method: http method to run task GET/POST\n * url: api request url (that server start in background task)\n * taskUrl = url to ask the status og task\n * params: Object contain param to http/https request\n * interval: interval in milliseconds to do a request for ask status of task (default 10000 - 1 second)\n * listener: ()=>{} method to call\n *\n * }\n *\n * return a Promise that return a task id\n */\n\n\n _createClass(TaskService, [{\n key: 'runTask',\n value: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$method = opts.method,\n method = _opts$method === undefined ? 'GET' : _opts$method,\n _opts$params = opts.params,\n params = _opts$params === undefined ? {} : _opts$params,\n url = opts.url,\n taskUrl = opts.taskUrl,\n _opts$interval = opts.interval,\n interval = _opts$interval === undefined ? 1000 : _opts$interval,\n _opts$timeout = opts.timeout,\n timeout = _opts$timeout === undefined ? Infinity : _opts$timeout,\n _opts$listener = opts.listener,\n listener = _opts$listener === undefined ? function () {} : _opts$listener;\n\n try {\n var response = 'GET' === method ? yield _XHR.XHR.get({\n url: url,\n params: params\n }) : yield _XHR.XHR.post({\n url: url,\n data: params.data || {},\n contentType: params.contentType || \"application/json\"\n });\n var result = response.result,\n task_id = response.task_id;\n\n if (result) {\n var intervalId = setInterval(_asyncToGenerator(function* () {\n // check if timeout is defined\n timeout = timeout - interval;\n if (timeout > 0) {\n var _response = void 0;\n try {\n _response = yield _XHR.XHR.get({\n url: '' + taskUrl + task_id\n });\n } catch (e) {\n _response = e;\n console.warn(e);\n }\n listener({\n task_id: task_id,\n timeout: false,\n response: _response\n });\n } else {\n listener({\n timeout: true\n });\n _this.stopTask({\n task_id: task_id\n });\n }\n }), interval);\n\n // add current task to list of task\n this.tasks.push({\n task_id: task_id,\n intervalId: intervalId\n });\n\n // run first time listener function\n listener({\n task_id: task_id,\n response: response\n });\n } else {\n return Promise.reject(response);\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function runTask() {\n return _ref.apply(this, arguments);\n }\n\n return runTask;\n }()\n }, {\n key: 'stopTask',\n\n\n /**\n *\n * @param opts: {\n * taskId: taskId that is running\n * }\n */\n value: function stopTask() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var task = this.tasks.find(function (t) {\n return opts.task_id === t.task_id;\n });\n if (task) {\n clearInterval(task.intervalId);\n }\n }\n }, {\n key: 'clear',\n\n\n /**\n * clare all task\n */\n value: function clear() {\n var _this2 = this;\n\n this.tasks.forEach(function (_ref3) {\n var taskId = _ref3.taskId;\n return _this2.stopTask({ taskId: taskId });\n });\n //reset to empty tasks\n this.tasks.splice(0);\n }\n }]);\n\n return TaskService;\n}())();\n\n},{\"utils/XHR\":183}],180:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * State of application reactive\n * @type {object}\n */\nvar 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 _g3wObject2.default(),\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false\n\n}); /**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nexports.default = STATE;\n\n},{\"g3w-object\":131}],181:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nvar PLUGINS = {}; /**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nexports.default = Object.assign(new _g3wObject2.default(), { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin: function registerPlugin(plugin) {\n PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin;\n }\n },\n /** @returns Plugin instance */\n getPlugin: function getPlugin(name) {\n return PLUGINS[name];\n }\n});\n\n},{\"g3w-object\":131}],182:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n *\n * @since 3.11.0\n */\n\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 */\nexports.default = {\n get: function get() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n var 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 = function () {\n return proj.axisOrientation;\n };\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\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 registerProjection: function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n var p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n var _ref2 = yield (yield fetch('/crs/' + epsg.split(':')[1] + '/')).json(),\n result = _ref2.result,\n data = _ref2.data;\n\n if (result) {\n data.epsg = (0, _normalizeEpsg.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\n function registerProjection(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return registerProjection;\n }()\n};\n\n},{\"utils/normalizeEpsg\":230}],183:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.XHR = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _downloadFile = require('utils/downloadFile');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar XHR = exports.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 get: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref2.url,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n signal = _ref2.signal;\n\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n var response = yield (yield fetch(url + (params ? '?' : '') + params, { signal: 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 function get() {\n return _ref.apply(this, arguments);\n }\n\n return get;\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 post: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n data = _ref4.data,\n _ref4$formdata = _ref4.formdata,\n formdata = _ref4$formdata === undefined ? false : _ref4$formdata,\n contentType = _ref4.contentType,\n signal = _ref4.signal;\n\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n return formdata.append(key, value);\n });\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 var response = yield (yield fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal: 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 post() {\n return _ref3.apply(this, arguments);\n }\n\n return post;\n }(),\n fileDownload: function fileDownload() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref7.url,\n data = _ref7.data,\n _ref7$httpMethod = _ref7.httpMethod,\n httpMethod = _ref7$httpMethod === undefined ? \"POST\" : _ref7$httpMethod,\n signal = _ref7.signal;\n\n var timeout = void 0;\n return new Promise(function () {\n var _ref8 = _asyncToGenerator(function* (resolve, reject) {\n try {\n timeout = setTimeout(function () {\n reject('Timeout');\n }, _g3wConstants.TIMEOUT);\n\n (0, _downloadFile.downloadFile)({\n url: 'GET' === httpMethod ? '' + url + (data ? '?' + new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString() : '') : url,\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Expose-Headers': 'Content-Disposition' //need to get filename from server\n },\n method: httpMethod,\n data: data && JSON.stringify(data),\n signal: signal\n });\n return resolve();\n } catch (e) {\n return reject(e);\n } finally {\n clearTimeout(timeout);\n }\n });\n\n return function (_x4, _x5) {\n return _ref8.apply(this, arguments);\n };\n }());\n },\n\n\n /**\n * Delete request\n *\n * @param url\n * @param data\n * @param signal\n * \n * @returns {Promise}\n * \n * @since 3.10.0\n */\n delete: function () {\n var _ref10 = _asyncToGenerator(function* (_ref9) {\n var url = _ref9.url,\n _ref9$data = _ref9.data,\n data = _ref9$data === undefined ? {} : _ref9$data,\n signal = _ref9.signal;\n\n return (yield fetch(url, {\n method: 'DELETE',\n body: JSON.stringify(data),\n signal: signal\n })).json();\n });\n\n function _delete(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return _delete;\n }()\n};\n\n},{\"g3w-constants\":127,\"utils/downloadFile\":202}],184:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addZValueToOLFeatureGeometry = addZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _is3DGeometry = require('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 */\nfunction addZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n geometryType = _ref.geometryType;\n\n if (!(0, _is3DGeometry.is3DGeometry)(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n var geometry = feature.getGeometry();\n var coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n coords.forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(function (l) {\n return l.forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\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 _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGOZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\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}\n\n},{\"g3w-constants\":127,\"utils/is3DGeometry\":224}],185:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * @param { Array } coordinates1\n * @param { Array } coordinates2\n * \n * @returns { boolean }\n */\nfunction areCoordinatesEqual() {\n var coordinates1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var coordinates2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return coordinates1[0] === coordinates2[0] && coordinates1[1] === coordinates2[1];\n}\n\n},{}],186:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.base = base;\n/**\n * google closure library implementation\n */\nfunction base(me, opt_methodName, var_args) {\n // who call base\n // noinspection JSAnnotator\n var caller = arguments.callee.caller;\n if (caller.superClass_) {\n // This function constructor (that inherits from superClass_).\n // Call the superclass constructor.\n //It is an easy way to cal superclass in binding to this\n return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1));\n }\n var args = Array.prototype.slice.call(arguments, 2);\n var foundCaller = false;\n //constructor is the constructor function of the object\n for (var ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) {\n if (ctor.prototype[opt_methodName] === caller) {\n foundCaller = true;\n } else if (foundCaller) {\n return ctor.prototype[opt_methodName].apply(me, args);\n }\n }\n // If we did not find the caller in the prototype chain,\n // then one of two things happened:\n // 1) The caller is an instance method.\n // 2) This method was not called by the right caller.\n if (me[opt_methodName] === caller) {\n // call the function from a prototype object\n return me.constructor.prototype[opt_methodName].apply(me, args);\n } else {\n throw Error('base called from a method of one name ' + 'to a method of a different name');\n }\n}\n\n},{}],187:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.colorHEXToRGB = colorHEXToRGB;\n/**\n * Convert Hex value color to RGB array\n * \n * @param color\n * \n * @returns {number[]}\n */\nfunction colorHEXToRGB() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#FFFFFF';\n\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16)];\n}\n\n},{}],188:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertFeatureToGEOJSON = convertFeatureToGEOJSON;\n/**\n * Convert Feature to GeoJSON Format\n * \n * @param feature\n */\nfunction convertFeatureToGEOJSON(feature) {\n return new ol.format.GeoJSON().writeFeatureObject(feature);\n}\n\n},{}],189:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertQGISDateTimeFormatToMoment = convertQGISDateTimeFormatToMoment;\n/**\n * Covert datetime format from Qgis format to Moment\n * \n * @param datetimeformat\n * \n * @returns {*}\n */\nfunction convertQGISDateTimeFormatToMoment(datetimeformat) {\n datetimeformat = datetimeformat.replace(/y/g, 'Y');\n var matchDayInDate = datetimeformat.match(/d/g);\n if (matchDayInDate && matchDayInDate.length < 3) {\n datetimeformat = datetimeformat.replace(/d/g, 'D');\n }\n return datetimeformat;\n}\n\n},{}],190:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertSingleMultiGeometry = convertSingleMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\n/**\n * Convert geometry to geometryType (from Single to Multi or viceversa)\n * \n * @param { ol.geom } geometry current OL geometry\n * @param { string } toGeometryType \n */\nfunction convertSingleMultiGeometry(geometry, toGeometryType) {\n var from_type = geometry.getType();\n\n if (!toGeometryType || toGeometryType === from_type) {\n return geometry;\n }\n\n var from_multi = (0, _isMultiGeometry.isMultiGeometry)(from_type);\n var to_multi = (0, _isMultiGeometry.isMultiGeometry)(toGeometryType);\n\n if (from_multi && !to_multi) {\n switch (geometry.getType()) {\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n return geometry.getPolygons();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n return geometry.getPoints();\n default:\n console.warn('invalid geometry type', geometry.getType());\n }\n return [];\n }\n\n if (!from_multi && to_multi) {\n return new ol.geom['Multi' + from_type]([geometry.getCoordinates()]);\n }\n\n return geometry;\n}\n\n},{\"g3w-constants\":127,\"utils/isMultiGeometry\":226}],191:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.coordinatesToGeometry = coordinatesToGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction coordinatesToGeometry(geometryType, coordinates) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return new ol.geom.Polygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return new ol.geom.MultiPolygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return new ol.geom.LineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n return new ol.geom.MultiLineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return new ol.geom.Point(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return new ol.geom.MultiPoint(coordinates);\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return new ol.geom.Point(coordinates);\n\n }\n}\n\n},{\"g3w-constants\":127}],192:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copyUrl = copyUrl;\nfunction copyUrl(url) {\n var tempinput = document.createElement('input');\n document.body.appendChild(tempinput);\n tempinput.value = url;\n tempinput.select();\n document.execCommand('copy');\n document.body.removeChild(tempinput);\n};\n\n},{}],193:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFilterFormInputs = createFilterFormInputs;\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\n/**\n * @param layer single layer or an array of layers\n * @param inputs\n * \n * @returns {*}\n */\nfunction createFilterFormInputs(_ref) {\n var layer = _ref.layer,\n _ref$inputs = _ref.inputs,\n inputs = _ref$inputs === undefined ? [] : _ref$inputs;\n\n\n var filters = void 0;\n\n var fields = inputs.map(function (_ref2, i) {\n var attribute = _ref2.attribute,\n value = _ref2.value,\n operator = _ref2.operator,\n logicop = _ref2.logicop;\n\n // multi key relation fields\n if (Array.isArray(attribute)) {\n return attribute.map(function (attr, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attr, value: value[j], operator: operator, logicop: null });\n }).join('|AND,') || '';\n }\n // input logic operator \n return '' + (i > 0 ? '|' + inputs[i - 1].logicop + ',' : '') + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attribute, value: value, operator: operator, logicop: logicop });\n });\n\n var filter = fields.join('') || undefined; // NB: comma separator is already added before\n\n filters = [].concat(layer).map(function () {\n return filter;\n });\n\n // check if is a single layer of an array of layers\n return Array.isArray(layer) ? filters : filters[0];\n}\n\n},{\"utils/createSingleFieldParameter\":198}],194:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.createFilterFromString = createFilterFromString;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar operators = Object.entries(_g3wConstants.FILTER_EXPRESSION_OPERATORS);\n\nfunction createFilterFromString(_ref) {\n var _ref$filter = _ref.filter,\n filter = _ref$filter === undefined ? '' : _ref$filter;\n\n filter = operators.reduce(function (acc, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n op = _ref3[1];\n\n return acc.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);\n } // trailing single quote\n , filter).replace(/'$/g, '').replace(/\"/g, '');\n filter = operators.reduce(function (acc, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n k = _ref5[0],\n op = _ref5[1];\n\n return acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? '|' + k + ',' : '|' + k + '|');\n }, filter)\n // encode value\n .split('|').map(function (v, i) {\n return 0 === (i + 1) % 3 ? encodeURIComponent(v) : v;\n }).join('|');\n\n return filter;\n}\n\n},{\"g3w-constants\":127}],195:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMeasureTooltip = createMeasureTooltip;\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _isLineGeometryType = require(\"utils/isLineGeometryType\");\n\nvar _isPolygonGeometryType = require(\"utils/isPolygonGeometryType\");\n\nvar _isMultiGeometry = require(\"utils/isMultiGeometry\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * create and add measure tooltip \n */\nfunction createMeasureTooltip() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref.map,\n feature = _ref.feature;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var element = document.createElement('div');\n element.className = 'mtooltip mtooltip-measure';\n\n var tooltip = new ol.Overlay({\n element: element,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n\n map.addOverlay(tooltip);\n\n return {\n tooltip: tooltip,\n unbyKey: feature.getGeometry().on('change', function (e) {\n var coords = void 0;\n var geom = e.target;\n\n if (geom instanceof ol.geom.Polygon) {\n coords = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof ol.geom.MultiPolygon) {\n coords = geom.getInteriorPoints().getCoordinates()[0];\n } else if (geom instanceof ol.geom.LineString || geom instanceof ol.geom.MultiLineString) {\n coords = geom.getLastCoordinate();\n }\n\n var projection = map.getView().getProjection();\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geom.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geom.getType());\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geom.getType());\n var is_sphere = 'EPSG:3857' === projection.getCode() || 'degrees' === projection.getUnits();\n var segments = [];\n\n if (is_poly && is_multi) {\n (geom.getPolygons() || []).forEach(function (p) {\n return p.getLinearRing().getCoordinates().forEach(function (coords) {\n return segments.push(coords);\n });\n });\n }\n\n if (is_poly && !is_multi) {\n segments = geom.getLinearRing().getCoordinates();\n }\n\n var _geom = is_poly && segments.length > 2 ? new ol.geom.LineString(segments) : geom;\n\n var length = is_line || is_poly && segments.length > 2 ? is_sphere ? ol.sphere.getLength(_geom, { projection: projection.getCode() }) : (0, _isMultiGeometry.isMultiGeometry)(_geom.getType()) ? _geom.getLineStrings().reduce(function (totalLength, lineGeometry) {\n return totalLength += lineGeometry.getLength();\n }, 0) : _geom.getLength() : undefined;\n\n var area = is_poly ? Math.round(is_sphere ? ol.sphere.getArea(geom, { projection: projection.getCode() }) : geom.getArea()) : undefined;\n\n if (undefined !== length) {\n length = 'nautical' === _application2.default.map.unit ? length * 0.0005399568 + \" nm\" : length > 1000 ? (Math.round(length / 1000 * 100) / 100).toFixed(3) + \" km\" : (Math.round(length * 100) / 100).toFixed(2) + \" m\";\n }\n\n if (undefined !== area) {\n area = 'nautical' === _application2.default.map.unit ? area * 0.000000291553349598122862913947445759414840765222583489217190918463024037990567 + \" \\u2009nmi\\xB2\" : area > 1000000 ? (Math.round(area / 1000000 * 100) / 100).toFixed(6) + \" km2\" : (Math.round(area * 100) / 100).toFixed(3) + \" m2\";\n }\n\n element.innerHTML = (undefined !== area ? \"Area: \" + area + \"
\" : '') + (undefined !== area && undefined !== length ? \"
\" : '') + (undefined !== length ? length : '');\n tooltip.setPosition(coords);\n })\n };\n}\n\n},{\"store/application\":180,\"utils/isLineGeometryType\":225,\"utils/isMultiGeometry\":226,\"utils/isPolygonGeometryType\":228}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createRelationsUrl = createRelationsUrl;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/services/relations.js@v3.10.2\n */\nfunction createRelationsUrl(_ref) {\n var _ref$layer = _ref.layer,\n layer = _ref$layer === undefined ? {} : _ref$layer,\n _ref$relation = _ref.relation,\n relation = _ref$relation === undefined ? {} : _ref$relation,\n fid = _ref.fid,\n _ref$type = _ref.type,\n type = _ref$type === undefined ? 'data' : _ref$type,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === undefined ? 1 : _ref$formatter;\n\n return _application2.default.project.getLayerById(undefined === relation.father ? layer.id === relation.referencedLayer ? relation.referencingLayer : relation.referencedLayer : layer.id === relation.father ? relation.child : relation.father).getUrl(type) + '?relationonetomany=' + relation.id + '|' + (0, _sanitizeFidFeature.sanitizeFidFeature)(fid) + '&formatter=' + formatter;\n}\n\n},{\"store/application\":180,\"utils/sanitizeFidFeature\":240}],197:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelectedStyle = createSelectedStyle;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\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 */\nfunction createSelectedStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n geometryType = _ref.geometryType,\n _ref$color = _ref.color,\n color = _ref$color === undefined ? 'rgb(255,255,0)' : _ref$color,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? true : _ref$fill;\n\n switch (geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: 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: color }),\n stroke: !fill && new ol.style.Stroke({ color: 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: color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([].concat(_toConsumableArray(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}\n\n},{}],198:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSingleFieldParameter = createSingleFieldParameter;\n/**\n * @param { Object } opts\n * @param opts.layer\n * @param opts.field\n * @param opts.value\n * @param { string } [opts.operator='eq'] 'eq' as default\n * @param { string } [opts.logicop='OR'] 'OR' as default\n * \n * @returns { string } filter\n * \n * @since 3.8.7\n */\nfunction createSingleFieldParameter(_ref) {\n var field = _ref.field,\n value = _ref.value,\n _ref$operator = _ref.operator,\n operator = _ref$operator === undefined ? 'eq' : _ref$operator,\n _ref$logicop = _ref.logicop,\n logicop = _ref$logicop === undefined ? 'OR' : _ref$logicop;\n\n return [].concat(value).map(function (v) {\n return field + '|' + operator.toLowerCase() + '|' + encodeURIComponent(v);\n }).join('|' + logicop + ',');\n}\n\n},{}],199:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\nvar _createKMZLayer = function () {\n var _ref = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n var kmlFiles = zip.file(/.kml$/i);\n /**\n * @TODO handle multiple network links\n * \n * https://github.com/g3w-suite/g3w-client/pull/430/files#r1232092732\n */\n // get the last kml file (when doc.kml file has a reference to kml inside another folder)\n var kmlFile = kmlFiles[kmlFiles.length - 1];\n if (kmlFile) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, kmlFile.asText(), new ol.format.KML({ extractStyles: false }), \"EPSG:4326\"));\n } else {\n reject();\n }\n });\n\n return function (_x6, _x7) {\n return _ref2.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createKMZLayer(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _createZIPLayer = function () {\n var _ref3 = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n shp((yield data.arrayBuffer(data))).then(function (geojson) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, JSON.stringify(geojson), new ol.format.GeoJSON({}), \"EPSG:4326\"));\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n\n return function (_x13, _x14) {\n return _ref4.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createZIPLayer(_x8, _x9, _x10, _x11, _x12) {\n return _ref3.apply(this, arguments);\n };\n}();\n\n/**\n * @param { Object } file\n * @param { string } file.name\n * @param file.type\n * @param file.crs\n * @param file.mapCrs\n * @param file.data\n * @param file.style\n * \n * @returns { Promise } layer\n */\n\n\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref6.name,\n type = _ref6.type,\n crs = _ref6.crs,\n mapCrs = _ref6.mapCrs,\n data = _ref6.data,\n style = _ref6.style;\n\n switch (type) {\n case 'gpx':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GPX());\n case 'gml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.WMSGetFeatureInfo());\n case 'geojson':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GeoJSON());\n case 'kml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.KML({ extractStyles: false }), \"EPSG:4326\");\n case 'csv':\n return _createCSVLayer(name, crs, mapCrs, style, data);\n case 'kmz':\n return _createKMZLayer(name, crs, mapCrs, style, data);\n case 'zip':\n return _createZIPLayer(name, crs, mapCrs, style, data);\n }\n console.warn('invalid file type', type);\n });\n\n return function createVectorLayerFromFile() {\n return _ref5.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('./getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _createVectorLayer(name, crs, mapCrs, style, data, format, epsg) {\n epsg = undefined === epsg ? crs : epsg;\n\n var features = format.readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n\n // skip when no features\n if (0 === features.length) {\n return;\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (format instanceof ol.format.KML) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n }),\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n}\n\nfunction _createCSVLayer(name, crs, mapCrs, style, data) {\n var headers = data.headers,\n separator = data.separator,\n values = data.values,\n x = data.x,\n y = data.y;\n\n\n var features = [];\n var errorrows = [];\n\n values.forEach(function (row, index) {\n var properties = {};\n var rowvalues = row.split(separator);\n if (rowvalues.length === headers.length) {\n var coordinates = [];\n rowvalues.forEach(function (value, index) {\n var field = headers[index];\n if (field === x) {\n coordinates[0] = 1 * value;\n }\n if (field === y) {\n coordinates[1] = 1 * value;\n }\n properties[field] = value;\n });\n // check if all coordinates are right\n if (undefined === coordinates.find(function (value) {\n return Number.isNaN(value);\n })) {\n var geometry = new ol.geom.Point(coordinates);\n if (crs !== mapCrs) {\n geometry.transform(crs, mapCrs);\n }\n var feature = new ol.Feature(geometry);\n feature.setId(index); // incremental id\n feature.setProperties(properties);\n features.push(feature);\n }\n } else {\n errorrows.push({ row: index + 1, value: values[index] });\n }\n });\n\n if (0 === features.length) {\n return Promise.reject();\n }\n\n if (errorrows.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: '',\n data: function data() {\n return {\n errorrows: errorrows\n };\n }\n }\n },\n autoclose: false\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: headers,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n}\n\n},{\"./getUniqueDomId\":219,\"g3w-constants\":127}],200:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n\n/**\n * build debounce function\n */\nfunction debounce(func) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var timeout = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n return func.apply(undefined, args);\n }, delay);\n };\n}\n\n},{}],201:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.distance = distance;\n/**\n * core/geometry/geom::distance@v3.4\n * core/geometry/geom::squaredDistance@v3.4\n */\nfunction distance(c1, c2) {\n return Math.sqrt(Math.pow(c2[0] - c1[0], 2) + Math.pow(c2[1] - c1[1], 2));\n}\n\n},{}],202:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @param { Object } file\n * @param { string } file.filename\n * @param file.content\n * @param { string } file.url\n * @param { string } file.mime_type\n * @param file.signal\n */\nvar downloadFile = exports.downloadFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filename = _ref2.filename,\n content = _ref2.content,\n url = _ref2.url,\n _ref2$headers = _ref2.headers,\n headers = _ref2$headers === undefined ? {} : _ref2$headers,\n _ref2$method = _ref2.method,\n method = _ref2$method === undefined ? 'GET' : _ref2$method,\n data = _ref2.data,\n _ref2$mime_type = _ref2.mime_type,\n mime_type = _ref2$mime_type === undefined ? 'text/plain' : _ref2$mime_type,\n signal = _ref2.signal;\n\n var blob = content && new Blob([content], { type: mime_type });\n\n var d = !content && url && (yield fetch(url, {\n type: mime_type,\n headers: headers,\n body: data,\n method: method,\n signal: signal\n })) || {};\n\n if (!content && (400 === d.status || 500 === d.status)) {\n throw (yield d.json()).message;\n }\n\n if (content || 200 === d.status) {\n var a = document.createElement('a');\n a.setAttribute('href', window.URL.createObjectURL(blob || (yield d.blob())));\n a.setAttribute('download', filename || (d.headers.get('content-disposition') || 'filename=g3w_download_file').split('filename=').at(1));\n a.dataset.downloadurl = [mime_type || d.headers.get('content-type'), a.download, a.href].join(':');\n a.click();\n a = null;\n }\n });\n\n return function downloadFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{}],203:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports.flattenObject = flattenObject;\n/**\n * ORIGINAL SOURCE: https://stackoverflow.com/a/56253298\n * \n * @example \n * \n * ### Sample Input\n * \n * ```\n * const obj = {\n * name: \"test\",\n * address: {\n * personal: \"abc\",\n * office: {\n * building: 'random',\n * street: 'some street'\n * }\n * }\n * }\n * ```\n * \n * ### Expected Output\n * \n * ```\n * {\n * name : \"test\",\n * address_personal: \"abc\"\n * address_office_building: \"random\"\n * address_office_street: \"some street\"\n * }\n * ```\n * \n * @since 3.9.0\n */\nfunction flattenObject(obj, parent) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n for (var key in obj) {\n var propName = parent ? parent + '_' + key : key;\n if ('object' === _typeof(obj[key])) {\n flattenObject(obj[key], propName, res);\n } else {\n res[propName] = obj[key];\n }\n }\n return res;\n}\n\n},{}],204:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAlphanumericPropertiesFromFeature = getAlphanumericPropertiesFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nfunction getAlphanumericPropertiesFromFeature() {\n var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(function (p) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(p);\n });\n}\n\n},{\"g3w-constants\":127}],205:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayerById = getCatalogLayerById;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayerById(id) {\n return Object.values(_application2.default.catalog).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n}\n\n},{\"store/application\":180}],206:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayers = getCatalogLayers;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayers(filter) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(_application2.default.catalog).flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"store/application\":180}],207:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataForSearchInput = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * @returns { Array } of unique values from field\n */\nvar getDataForSearchInput = exports.getDataForSearchInput = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var state = _ref.state,\n field = _ref.field,\n suggest = _ref.suggest;\n\n\n try {\n // get unique value from each layers\n return (yield Promise.allSettled(state.search_layers.map(function (l) {\n return l.getFilterData({\n suggest: suggest,\n fformatter: field,\n ordering: field,\n field: getDataForSearchInput.field({\n state: state,\n //in the case of suggested parameter set (case autocomplete field), need to use current field\n field: suggest ? field : (state.forminputs.find(function (i) {\n return i.attribute === field;\n }) || {}).dependance || field,\n fields: []\n })\n });\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).reduce(function (acc, d) {\n return acc.concat(d.value.data || []);\n }, []) // uniques by fformatter\n .map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n value = _ref4[0],\n key = _ref4[1];\n\n return { key: key, value: value };\n });\n } catch (e) {\n console.warn(e);\n }\n\n return [];\n });\n\n return function getDataForSearchInput(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n/**\n * Traverse field dependecies\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\ngetDataForSearchInput.field = function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n state = _ref5.state,\n field = _ref5.field,\n _ref5$fields = _ref5.fields,\n fields = _ref5$fields === undefined ? [] : _ref5$fields;\n\n field = state.forminputs.find(function (i) {\n return i.attribute === field;\n }); // current input\n var parent = state.forminputs.find(function (i) {\n return i.attribute === field.dependance;\n }); // current input dependance (parent field)\n\n // get all values (un-filtered)\n if (!parent || _g3wConstants.SEARCH_ALLVALUE === parent.value) {\n return (fields || []).join() || undefined;\n }\n\n // filter by parent field\n if (undefined !== parent.value) {\n fields.unshift(parent.attribute + '|' + parent.operator.toLowerCase() + '|' + encodeURI(parent.value) + (fields.length ? '|' + parent.logicop : ''));\n }\n\n // recursion step\n return getDataForSearchInput.field({ state: state, fields: fields, field: parent.attribute });\n};\n\n},{\"g3w-constants\":127}],208:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getDefaultExpression = exports.getDefaultExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n default_expression = _field$input$options.default_expression,\n loading = _field$input$options.loading,\n default_value = _field$input$options.default;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!default_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n // Call `expression:expression_eval` to get value from expression and set it to field\n try {\n\n var value = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id, //\n qgs_layer_id: qgs_layer_id, //layer id owner of the data\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n formatter: 0,\n expression: default_expression.expression,\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n }\n },\n outputs: false\n });\n\n field.value = value;\n\n return value;\n } catch (e) {\n if (undefined !== default_value) {\n field.value = default_value;\n }\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getDefaultExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":174,\"utils/convertFeatureToGEOJSON\":188}],209:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilterExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getFilterExpression = exports.getFilterExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n key = _field$input$options.key,\n value = _field$input$options.value,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n filter_expression = _field$input$options.filter_expression,\n loading = _field$input$options.loading,\n orderbyvalue = _field$input$options.orderbyvalue;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!filter_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n try {\n\n var features = yield _data2.default.getData('expression:expression', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id,\n qgs_layer_id: qgs_layer_id,\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n },\n formatter: 0,\n expression: filter_expression.expression,\n ordering: [undefined, false].includes(orderbyvalue) ? key : value //@since 3.11.0\n },\n outputs: false\n });\n\n if ('select_autocomplete' === field.input.type) {\n field.input.options.values = [];\n // temporary array to sort the keys\n var values = [];\n for (var i = 0; i < features.length; i++) {\n values.push({\n key: features[i].properties[value],\n value: features[i].properties[key]\n });\n }\n\n field.input.options.values = values;\n }\n\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getFilterExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":174,\"utils/convertFeatureToGEOJSON\":188}],210:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormDataExpressionRequestFromFeature = getFormDataExpressionRequestFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\n/**\n * Convert feature to form Data for expression/expression_eval request\n * \n * @param feature\n */\nfunction getFormDataExpressionRequestFromFeature(feature) {\n delete feature.attributes.geometry;\n\n var _feature = new ol.Feature(feature.geometry);\n var properties = {};\n\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(feature.attributes).filter(function (p) {\n return _g3wConstants.G3W_FID !== p;\n }).forEach(function (p) {\n return properties[p] = feature.attributes[p];\n });\n\n _feature.setProperties(properties);\n _feature.setId(feature.attributes[_g3wConstants.G3W_FID]);\n\n return (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(_feature);\n}\n\n},{\"g3w-constants\":127,\"utils/convertFeatureToGEOJSON\":188,\"utils/getAlphanumericPropertiesFromFeature\":204}],211:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getListableProjects = getListableProjects;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getListableProjects() {\n window.initConfig.projects;\n return window.initConfig.projects.filter(function (p) {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (p.id === _application2.default.project.getId() || window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject) {\n return false;\n }\n return p;\n }).sort(function (a, b) {\n return (a.title || '').localeCompare(b.title);\n });\n}\n\n},{\"store/application\":180}],212:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.getMapLayersByFilter = getMapLayersByFilter;\n/**\n * @param filter defaults `GEOLAYER: true`\n * @param options\n * \n * @returns { Array } map layers based on filtered properties of layer (eg. `GEOLAYER : true`)\n */\nfunction getMapLayersByFilter() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n filter = _extends({\n GEOLAYER: true\n }, filter);\n\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n return MapLayersStoresRegistry.getQuerableLayersStores().flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"services/map\":177}],213:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOLGeometry = getOLGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::getOLGeometry@v3.4\n */\nfunction getOLGeometry(geometryType) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return 'LineString';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n return 'MultiLineString';\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return 'Point';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return 'MultiPoint';\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return 'Polygon';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return 'MultiPolygon';\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return geometryType;\n }\n}\n\n},{\"g3w-constants\":127}],214:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProject = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * ORIGINAL SOURCE: src/app/core/project/project.js@v3.10.2\n * \n * Get project configuration\n *\n * @param { string } gid project gid\n * @param options\n * @param { string } options.map_theme\n */\nvar getProject = exports.getProject = function () {\n var _ref3 = _asyncToGenerator(function* (gid) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var pendingProject = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n\n // skip if a project doesn't exist\n if (!pendingProject) {\n console.log(\"Project doesn't exist\", gid);\n return Promise.reject(\"Project doesn't exist\");\n }\n\n // fetch project configuration from remote server\n\n // { Array } config.layers - The order of layers follows layer rendering order set on QGIS project.Can be different to TOC layer order\n var config = !PROJECTS[gid] && (yield _XHR.XHR.get({ url: '' + window.initConfig.urls.baseurl + window.initConfig.urls.config + '/' + window.initConfig.id + '/' + pendingProject.type + '/' + pendingProject.id + '?_t=' + pendingProject.modified\n }));\n var map_theme = config && options.map_theme && Object.values(config.map_themes).flat().find(function (_ref4) {\n var theme = _ref4.theme;\n return theme === options.map_theme;\n });\n\n /** In the case of url param set map_theme, need to get map theme configuration from server */\n if (map_theme) {\n var _ref5 = yield _XHR.XHR.get({ url: '/' + pendingProject.type + '/api/prjtheme/' + pendingProject.id + '/' + options.map_theme }),\n result = _ref5.result,\n data = _ref5.data;\n\n if (result) {\n config.layerstree = data;\n map_theme.layetstree = data;\n map_theme.default = true;\n }\n }\n\n PROJECTS[gid] = Object.assign(PROJECTS[gid] || {}, Object.assign(pendingProject, config));\n PROJECTS[gid] = Object.assign(PROJECTS[gid], {\n WMSUrl: '' + window.initConfig.urls.baseurl + window.initConfig.urls.ows + '/' + window.initConfig.id + '/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n /** @since 3.8.0 */\n relations: (PROJECTS[gid].relations || []).map(function (r) {\n if (\"ONE\" === r.type) {\n PROJECTS[gid].layers.find(function (l) {\n if (l.id === r.referencingLayer) {\n r.name = l.name;\n r.origname = l.origname;\n return true;\n }\n });\n }\n return r;\n }),\n /** actived catalog tab */\n catalog_tab: PROJECTS[gid].toc_tab_default || PROJECTS[gid]._catalog_tab || 'layers',\n ows_method: PROJECTS[gid].ows_method || 'GET',\n toc_layers_init_status: PROJECTS[gid].toc_layers_init_status || 'not_collapsed',\n toc_themes_init_status: PROJECTS[gid].toc_themes_init_status || 'collapsed',\n query_point_tolerance: PROJECTS[gid].query_point_tolerance || _g3wConstants.QUERY_POINT_TOLERANCE,\n crs: crsToCrsObject(PROJECTS[gid].crs),\n baselayers: PROJECTS[gid].baselayers\n // Remove bing base layer when no vendor API Key is provided\n .filter(function (l) {\n return 'Bing' === l.servertype ? _application2.default.keys.vendorkeys.bing : true;\n }).map(function (l) {\n return Object.assign(l, {\n visible: l.id && l.id === (null !== _application2.default.baseLayerId ? _application2.default.baseLayerId : PROJECTS[gid].initbaselayer) || !!l.fixed,\n baselayer: true\n });\n })\n });\n\n var project = Object.assign(new _g3wObject2.default(), {\n setters: {\n setBaseLayer: function setBaseLayer(id) {\n var _this = this;\n\n window.initConfig.baselayers.forEach(function (l) {\n _this._layersStore.getLayerById(l.id).setVisible(id === l.id);\n l.visible = id === l.id;\n });\n }\n },\n state: PROJECTS[gid],\n /** project APIs */\n urls: {\n map_themes: '/' + PROJECTS[gid].type + '/api/prjtheme/' + PROJECTS[gid].id + '/',\n vector_data: PROJECTS[gid].vectorurl + 'data/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n featurecount: PROJECTS[gid].vectorurl + 'featurecount/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/'\n },\n _projection: _projections2.default.get(crsToCrsObject(PROJECTS[gid].crs)),\n _layersStore: new _layersstore.LayersStore(),\n getQueryPointTolerance: function getQueryPointTolerance() {\n return project.state.query_point_tolerance;\n },\n getRelations: function getRelations() {\n return project.state.relations;\n },\n getRelationById: function getRelationById(id) {\n return project.state.relations.find(function (r) {\n return id === r.id;\n });\n },\n getLayerById: function getLayerById(id) {\n return project._layersStore.getLayerById(id);\n },\n getLayers: function getLayers() {\n return [].concat(_toConsumableArray(project.state.layers), _toConsumableArray(project.state.baselayers));\n },\n getState: function getState() {\n return project.state;\n },\n getPrint: function getPrint() {\n return project.state.print || [];\n },\n getId: function getId() {\n return project.state.id;\n },\n getType: function getType() {\n return project.state.type;\n },\n getGid: function getGid() {\n return project.state.gid;\n },\n getName: function getName() {\n return project.state.name;\n },\n getCrs: function getCrs() {\n return project._projection.getCode();\n },\n getProjection: function getProjection() {\n return project._projection;\n },\n getLayersStore: function getLayersStore() {\n return project._layersStore;\n },\n getUrl: function getUrl(type) {\n return project.urls[type];\n },\n /**\n * @param filter property layer config to filter\n * \n * @returns { Array } configuration layers (from server config)\n */\n getConfigLayers: function getConfigLayers() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n key = _ref6.key;\n\n return key ? project.state.layers.filter(function (l) {\n return undefined !== l[key];\n }) : project.state.layers;\n }\n });\n\n // Process layerstree and baselayers of the project (useful info for catalog)\n var traverse = function traverse(nodes) {\n var _loop = function _loop(i) {\n var node = nodes[i];\n //check if layer (node) of folder\n if (undefined !== node.id) {\n project.state.layers.forEach(function (l) {\n if (node.id === l.id) {\n node.name = l.name;\n l.wmsUrl = project.state.WMSUrl;\n l.project = project;\n node[i] = Object.assign(l, node);\n return false;\n }\n });\n }\n if (Array.isArray(node.nodes)) {\n //add title to tree\n node.title = node.name;\n traverse(node.nodes);\n }\n };\n\n for (var i = 0; i < nodes.length; i++) {\n _loop(i);\n }\n };\n\n traverse(project.state.layerstree);\n\n // Build layersstore \n project._layersStore.setOptions({\n id: project.state.gid,\n projection: project._projection,\n extent: project.state.extent,\n initextent: project.state.initextent,\n wmsUrl: project.state.WMSUrl,\n catalog: window.initConfig.overviewproject !== project.state.gid\n });\n\n /** ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2 */\n\n // Layer factory: instance each layer and add to layersstore\n project._layersStore.addLayers(project.getLayers().flatMap(function (l) {\n var config = Object.assign(l, {\n crs: crsToCrsObject(l.crs),\n projection: l.crs ? _projections2.default.get(l.crs) : project._projection,\n ows_method: project.state.ows_method,\n wms_use_layer_ids: project.state.wms_use_layer_ids\n });\n\n // Check Layer Type\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // TABLE LAYERS\n if ('NoGeometry' === config.geometrytype && [\"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _tablelayer.TableLayer(config, { project: project });\n }\n\n // VECTOR LAYERS\n if (['OGC wfs', 'G3WSUITE geojson'].includes(layerType) || [\"Local\", \"G3WSUITE\"].includes(config.servertype)) {\n return new _vectorlayer.VectorLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (config.geometrytype && 'NoGeometry' !== config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (!config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS wmst\", \"QGIS wcs\", \"QGIS wms\", \"QGIS gdal\", \"QGIS vectortile\", \"QGIS vector-tile\", \"QGIS mdal\", \"QGIS arcgismapserver\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // BASE LAYERS\n if (['OSM', 'Bing', 'TMS', 'ARCGISMAPSERVER', 'WMTS', 'WMS'].includes(config.servertype)) {\n return new _imagelayer.ImageLayer(config, { project: project, _BASE_LAYER: config.servertype });\n }\n\n console.warn('Uknown layer type', config);\n return [];\n }));\n\n // create layerstree from layerstore\n project._layersStore.createLayersTree(project.state.name, {\n layerstree: project.state.layerstree,\n expanded: 'not_collapsed' === project.state.toc_layers_init_status // config to show layerstrees toc expanded or not\n });\n\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n (project.state.search || []).forEach(function (s) {\n return s.search_endpoint = 'api';\n });\n\n // add to project\n return project;\n });\n\n return function getProject(_x2) {\n return _ref3.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _XHR = require('utils/XHR');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nvar _layersstore = require('map/layers/layersstore');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n TableLayer: _tablelayer.TableLayer,\n VectorLayer: _vectorlayer.VectorLayer,\n ImageLayer: _imagelayer.ImageLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\n// (lazy loading)\nvar PROJECTS = {};\n\n/**\n * @param { number | string | null | undefined } crs\n * \n * @returns { { epsg: string, proj4: string, axisinverted: boolean, geographic: boolean } | null | undefined } crs object\n */\nfunction crsToCrsObject(crs) {\n\n /** @FIXME add description */\n if ([undefined, null].includes(crs)) {\n return crs;\n }\n\n /** @FIXME add description */\n if (crs && crs.epsg) {\n crs.epsg = (0, _normalizeEpsg.normalizeEpsg)(crs.epsg);\n return crs;\n }\n\n return {\n epsg: (0, _normalizeEpsg.normalizeEpsg)(crs),\n proj4: \"\",\n axisinverted: false,\n geographic: false\n };\n}\n\n},{\"g3w-constants\":127,\"g3w-object\":131,\"map/layers/imagelayer\":156,\"map/layers/layersstore\":158,\"map/layers/tablelayer\":159,\"map/layers/vectorlayer\":160,\"store/application\":180,\"store/projections\":182,\"utils/XHR\":183,\"utils/normalizeEpsg\":230}],215:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectConfigByGid = getProjectConfigByGid;\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getProjectConfigByGid(gid) {\n return window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n}\n\n},{}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectUrl = getProjectUrl;\n/**\n * @param gid\n * \n * @returns {string}\n */\nfunction getProjectUrl(gid) {\n var project = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\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}\n\n},{}],217:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getResolutionFromScale = getResolutionFromScale;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getResolutionFromScale(scale) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / ((scale >= 1.0 ? 1.0 / scale : scale) * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":127}],218:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScaleFromResolution = getScaleFromResolution;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getScaleFromResolution(resolution) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n return Math.round(resolution * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":127}],219:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return (_uid += 1) + \"_\" + Date.now();\n}\n\n},{}],220:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get_legend_params = get_legend_params;\n/**\n * @param layer\n * \n * @returns {{ LEGEND_ON: undefined | string, LEGEND_OFF: undefined | string }} \n */\nfunction get_legend_params(layer) {\n var LEGEND_ON = void 0,\n LEGEND_OFF = void 0;\n (layer.getCategories() || []).forEach(function (_ref) {\n var checked = _ref.checked,\n _checked = _ref._checked,\n ruleKey = _ref.ruleKey;\n\n // skip when there's no difference from original `checked` status (_checked) and current changed by toc categories (checked)\n if (checked === _checked) {\n return;\n }\n if (checked) {\n LEGEND_ON = (undefined === LEGEND_ON ? layer.getWMSLayerName() + \":\" : LEGEND_ON + \",\") + ruleKey;\n } else {\n LEGEND_OFF = (undefined === LEGEND_OFF ? layer.getWMSLayerName() + \":\" : LEGEND_OFF + \",\") + ruleKey;\n }\n });\n return {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF\n };\n}\n\n},{}],221:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.groupBy = groupBy;\n/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nfunction groupBy(array, keyFn) {\n return array.reduce(function (result, item) {\n var key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}\n\n},{}],222:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.inherit = inherit;\n/**\n * google closure library impememtation\n */\nfunction inherit(childCtor, parentCtor) {\n function tempCtor() {}\n tempCtor.prototype = parentCtor.prototype;\n childCtor.superClass_ = parentCtor.prototype;\n childCtor.prototype = new tempCtor();\n childCtor.prototype.constructor = childCtor;\n}\n\n},{}],223:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.intersects = intersects;\n/**\n * Check if `geometryCheck` intersects with `geometry`\n * \n * @param {ol.geometry} geometry\n * @param {ol.geometry} geometryToCheck\n * \n * @returns {boolean} whether `geometryToCheck` interesects `geometry`\n * \n * @since 3.8.0\n */\nfunction intersects(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometry).intersects(olFromJsts.read(geometryToCheck));\n}\n\n},{}],224:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.is3DGeometry = is3DGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction is3DGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].find(function (type3D) {\n return type3D === geometryType;\n });\n}\n\n},{\"g3w-constants\":127}],225:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isLineGeometryType = isLineGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nfunction isLineGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.LINESTRING, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINE, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":127}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMultiGeometry = isMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nfunction isMultiGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":127}],227:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointGeometryType = isPointGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nfunction isPointGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINT, _g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":127}],228:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPolygonGeometryType = isPolygonGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nfunction isPolygonGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":127}],229:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],230:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeEpsg = normalizeEpsg;\n/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nfunction 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\n},{}],231:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAttributes = parseAttributes;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param layerAttributes\n * @param featureAttributes\n * \n * @returns { Array }\n */\nfunction parseAttributes() {\n var layerAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var featureAttributes = arguments[1];\n\n /** @FIXME add description */\n if (layerAttributes && layerAttributes.length > 0) {\n return layerAttributes.filter(function (attr) {\n return Object.keys(featureAttributes).indexOf(attr.name) > -1;\n });\n }\n return Object.keys(featureAttributes).filter(function (name) {\n return -1 === _g3wConstants.GEOMETRY_FIELDS.indexOf(name);\n }).map(function (featureAttributesName) {\n return { name: featureAttributesName, label: featureAttributesName };\n });\n}\n\n},{\"g3w-constants\":127}],232:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponseParser = undefined;\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\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /**\n * @file\n * \n * ORIGINAL SOURCE: src/app/core/utils/parsers.js@3.8\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n * \n * @since 3.9.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\nvar _removeZValueToOLFeatureGeometry = require('utils/removeZValueToOLFeatureGeometry');\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nvar _reverseGeometry = require('utils/reverseGeometry');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nObject.entries({\n G3W_FID: _g3wConstants.G3W_FID,\n GUI: _gui2.default,\n Feature: _feature.Feature,\n t: t,\n is3DGeometry: _is3DGeometry.is3DGeometry,\n removeZValueToOLFeatureGeometry: _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry,\n sanitizeFidFeature: _sanitizeFidFeature.sanitizeFidFeature,\n reverseGeometry: _reverseGeometry.reverseGeometry\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nvar NUMERIC_FIELD = 'GIS3W_ESCAPE_NUMERIC_FIELD_';\n\n/**\n * @example ResponseParser.get('application/vnd.ogc.gml')({ layers, response });\n */\nvar ResponseParser = exports.ResponseParser = {\n\n /** Response parser (content types) */\n get: function get(type) {\n switch (type) {\n\n case 'g3w-error':\n return function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var error = opts.error;\n\n return {\n parse: function parse() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$type = _ref3.type,\n type = _ref3$type === undefined ? 'responseJSON' : _ref3$type;\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.responseJSON && error.responseJSON.error.message) {\n return error.responseJSON.error.message;\n }\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.errors) {\n return _traverseErrorMessage(error.errors);\n }\n\n /** @FIXME add description */\n if ('String' === type && 'string' === typeof error) {\n return error;\n }\n\n /** @FIXME add description */\n if ('String' === type) {\n return _traverseErrorMessage(error);\n }\n\n /** @FIXME add description */\n return t(\"server_saver_error\");\n }\n };\n };\n\n case 'g3w-table/json':\n return function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (data.features || []).map(function (f) {\n var feature = new _feature.Feature();\n feature.setProperties(f.properties);\n feature.setId(f.id);\n return feature;\n });\n };\n\n case 'g3w-vector/gml':\n return function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n data = _ref4.data,\n layer = _ref4.layer;\n\n try {\n return new ol.format.WMSGetFeatureInfo({ layers: layer.getQueryLayerOrigName() }).readFeatures(\n // extract gml from multiple (Tuscany region)\n '--' === data.substr(0, 2) ? data.split(/\\r\\n--/).filter(function (part) {\n return (/<([^ ]*)FeatureCollection/.test(part) || /<([^ ]*)msGMLOutput/.test(part)\n );\n }).map(function (part) {\n return part.substr(part.indexOf(' 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref5.response,\n projections = _ref5.projections,\n _ref5$layers = _ref5.layers,\n layers = _ref5$layers === undefined ? [] : _ref5$layers,\n _ref5$wms = _ref5.wms,\n wms = _ref5$wms === undefined ? true : _ref5$wms;\n\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [] };\n });\n var layersId = layers.map(function (l) {\n return wms ? l.getWMSLayerName() : l.getWFSLayerName();\n });\n // features\n (response ? new ol.format.GeoJSON({\n geometryName: 'geometry',\n defaultDataProjection: projections.layer || projections.map\n }).readFeatures(response) : []).filter(function (feature) {\n var featureId = feature.getId();\n var g3w_fid = (0, _sanitizeFidFeature.sanitizeFidFeature)(featureId);\n // in the case of wms getfeature without a filter return string contain layerName or layerid\n var index = featureId == g3w_fid ? 0 : layersId.indexOf(featureId);\n // skip when ..\n if (-1 === index) {\n return false;\n }\n var props = feature.getProperties();\n feature.set(_g3wConstants.G3W_FID, g3w_fid);\n // fields\n layersFeatures[index].layer.getFields().filter(function (f) {\n return f.show && undefined === props[f.name] && undefined !== props[f.label];\n }).forEach(function (f) {\n return feature.set(f.name, props[f.label]);\n });\n // features\n layersFeatures[index].features.push(feature);\n });\n return layersFeatures;\n };\n\n case 'application/geojson':\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref6.layers,\n response = _ref6.response;\n\n return response ? layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/geojson')(response, {})\n };\n }) : [];\n };\n\n case 'text/plain':\n case 'text/html':\n return function () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref7.layers,\n response = _ref7.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n rawdata: response\n };\n });\n };\n\n case 'text/gml':\n return function (_ref8) {\n var layers = _ref8.layers,\n response = _ref8.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/gml')({ data: response, layer: layers[0] })\n };\n });\n };\n\n case 'application/vnd.ogc.gml':\n return function () {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref9.response,\n projections = _ref9.projections,\n layers = _ref9.layers,\n _ref9$wms = _ref9.wms,\n wms = _ref9$wms === undefined ? true : _ref9$wms,\n _ref9$id = _ref9.id,\n id = _ref9$id === undefined ? false : _ref9$id;\n\n // convert XML response to string\n if (response && 'string' !== typeof response && !(response instanceof String)) {\n response = new XMLSerializer().serializeToString(response);\n }\n\n // sanitize layer name (removes: whitespaces, quotes, parenthesis, slashes)\n if (response) {\n response = layers.reduce(function (acc, layer, i) {\n var id = (wms && layer.isWmsUseLayerIds() ? layer.getId() : layer.getName()).replace(/[\\s'()/]+/g, function (s) {\n return (/\\s/g.test(s) && !wms ? '_' : ''\n );\n });\n if (!wms) {\n id = id.replace(/[/\\\\]+/g, '').replaceAll(':', '-');\n }\n return acc.replace(new RegExp('qgs:' + id, 'g'), 'qgs:layer' + i);\n }, response);\n }\n\n // fields starting with an invalid key\n var invalids = response && Array.from(response.matchAll(/qgs:(\\d+(?:\\.\\d+)?)(\\w+)|qgs:(\\w+):(\\w+)/g)).filter(function (_, i) {\n return 0 === i % 2;\n });\n\n // add match numeric value (integer or float)\n if (invalids) {\n response = invalids.reduce(function (acc, find) {\n return acc.replace(new RegExp(find[0], 'g'), 'qgs:' + NUMERIC_FIELD + find[1] + find[2]);\n }, response);\n }\n\n // PATCH id strange char\n if (response) {\n response = response.replace(new RegExp(String.fromCharCode(0), 'g'), '0');\n }\n\n // convert XML string response to JSON\n var x2js = new X2JS();\n var json = x2js.xml_str2json(response); // json response\n\n // in the case of parser return null\n if (!json) {\n return [{\n layer: layers[0],\n features: []\n }];\n }\n\n /** @since 3.9.1 ServiceExceptionReport is a json attribute returned by server in case of error */\n if (json.ServiceExceptionReport && json.ServiceExceptionReport.ServiceException) {\n _gui2.default.showUserMessage({\n type: 'warning',\n textMessage: true,\n message: layers[0].getName() + ' - ' + json.ServiceExceptionReport.ServiceException\n });\n }\n\n // skip when json response hasn't FeatureCollection array (no features)\n if (!json.FeatureCollection || !json.FeatureCollection.featureMember) {\n return [];\n }\n\n // handled responses\n var parsed = []; //Array contains item object ({layer, features})\n var originalFeatureMember = [].concat(json.FeatureCollection.featureMember);\n //Loop on each layer\n layers.forEach(function (layer, i /*, originalFeatureMember*/) {\n var name = id ? layer.getId() : 'layer' + i; // layer name\n\n json.FeatureCollection.featureMember = originalFeatureMember.filter(function (f) {\n return f[name];\n }).map(function (f) {\n var fm = f[name];\n var prefix = f.__prefix;\n //set fid of each feature\n [].concat(fm).forEach(function (_fm) {\n //need to get fid number removing \n _fm._fid = _fm._fid && _fm._fid.split('.')[1];\n _fm[_g3wConstants.G3W_FID] = {\n __prefix: prefix,\n __text: _fm._fid\n };\n });\n //in case of wms multi layer\n if (Array.isArray(fm)) {\n var grouped = (0, _groupBy.groupBy)(fm, function (f) {\n return Object.keys(f);\n });\n // check if features have the same fields. If not, group the features with the same fields\n //check if features have different fields (multilayers)\n // If its is a multilayers. Each feature has different fields\n return Object.keys(grouped).length > 1 ? Object.keys(grouped).map(function (key, index) {\n return grouped[key].map(function (feature, sub_index) {\n var _ref10;\n\n return _ref10 = {}, _defineProperty(_ref10, 'layer' + index + '_' + sub_index, feature), _defineProperty(_ref10, '__prefix', prefix), _ref10;\n });\n }).flat() : //for Each element have to add and object contain layerName and information, and __prefix\n fm.map(function (f) {\n var _ref11;\n\n return _ref11 = {}, _defineProperty(_ref11, name, f), _defineProperty(_ref11, '__prefix', prefix), _ref11;\n });\n } else {\n return f;\n }\n }).flat();\n // parse layer feature collection\n var xml = x2js.json2xml_str(json); // layer Feature Collection XML\n var olfeatures = new ol.format.WMSGetFeatureInfo().readFeatures(xml);\n\n //Check if you need to re-project features because layers are in different projection of the map\n var is_reprojected = olfeatures.length > 0 //has features\n && !!olfeatures[0].getGeometry() // has a geometry\n && projections.layer //has a layer projection\n && projections.layer.getCode() !== projections.map.getCode() //the layer has the same projection of the map\n ;\n\n /** @FIXME add description */\n if (olfeatures.length > 0 && invalids) {\n var fields = Object.keys(olfeatures[0].getProperties()).filter(function (p) {\n return -1 !== p.indexOf(NUMERIC_FIELD);\n });\n olfeatures.forEach(function (f) {\n fields.forEach(function (_field) {\n var invalid = invalids.find(function (find) {\n return '' + find[1] + find[2] === _field.replace(NUMERIC_FIELD, '');\n });\n f.set(invalid[0].replace('qgs:', ''), [].concat(f.get(_field))[0]);\n f.unset(_field);\n });\n });\n }\n\n // transform features\n if (is_reprojected) {\n olfeatures.forEach(function (f) {\n return f.setGeometry(f.getGeometry().transform(projections.layer.getCode(), projections.map.getCode()));\n });\n }\n\n // inverted axis --> reverse features coordinates\n if (is_reprojected && 'ne' === (projections.layer ? projections.layer : projections.map).getAxisOrientation().substr(0, 2)) {\n olfeatures.forEach(function (f) {\n return f.setGeometry((0, _reverseGeometry.reverseGeometry)(f.getGeometry()));\n });\n }\n\n // Remove Z values due an incorrect addition when using\n // ol.format.WMSGetFeatureInfo readFeatures method from XML\n // (ex. WMS getFeatureInfo);\n if (layer.isGeoLayer() && !(0, _is3DGeometry.is3DGeometry)(layer.getGeometryType())) {\n olfeatures.forEach(function (f) {\n return (0, _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry)({ feature: f });\n });\n }\n\n parsed.unshift({ layer: layer, features: olfeatures });\n });\n\n return parsed;\n };\n\n default:\n return function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$layers = _ref12.layers,\n layers = _ref12$layers === undefined ? [] : _ref12$layers;\n\n return layers.map(function (layer) {\n return { layer: layer, rawdata: t('warning.not_supported_format') };\n });\n };\n\n }\n }\n};\n\n/**\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n */\nfunction _traverseErrorMessage(errorObject) {\n var error_message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"server_saver_error\";\n\n try {\n var entries = Object.entries(errorObject);\n var entry = entries.find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n key = _ref14[0],\n _ = _ref14[1];\n\n return 'fields' === key;\n });\n\n var _ref15 = entry || entries[0],\n _ref16 = _slicedToArray(_ref15, 2),\n value = _ref16[1];\n\n /** @FIXME add description */\n\n\n if (!entry && !Array.isArray(value) && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n return _traverseErrorMessage(value, error_message);\n }\n\n /** @FIXME add description */\n if (entry && 'string' === typeof value) {\n error_message = '[' + entries.find(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n\n return 'fields' !== key;\n })[0] + '] ' + value;\n }\n\n /** @FIXME add description */\n if (entry && 'string' !== typeof value) {\n error_message = Object.entries(value).reduce(function (message, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n field = _ref20[0],\n error = _ref20[1];\n\n return '' + message + field + ' ' + (Array.isArray(error) ? error[0] : error) + '\\n';\n }, '');\n }\n\n /** @FIXME add description */\n if (entry) {\n return error_message.replace(/\\:|\\./g, '');\n }\n } catch (e) {\n console.warn(e);\n }\n}\n\n},{\"g3w-constants\":127,\"g3w-i18n\":130,\"map/layers/feature\":153,\"services/gui\":175,\"utils/groupBy\":221,\"utils/is3DGeometry\":224,\"utils/removeZValueToOLFeatureGeometry\":237,\"utils/reverseGeometry\":238,\"utils/sanitizeFidFeature\":240}],233:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.printAtlas = printAtlas;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/*\n http://localhost/fcgi-bin/qgis_mapserver/qgis_mapserv.fcgi\n ?MAP=/home/marco/geodaten/projekte/composertest.qgs\n &SERVICE=WMS&VERSION=1.3.0\n &REQUEST=GetPrint\n &TEMPLATE=Composer 1\n &map0:extent=693457.466131,227122.338236,700476.845177,230609.807051\n &BBOX=693457.466131,227122.338236,700476.845177,230609.807051\n &CRS=EPSG:21781\n &WIDTH=1467\n &HEIGHT=729\n &LAYERS=layer0,layer1\n &STYLES=,\n &FORMAT=pdf\n &DPI=300\n &TRANSPARENT=true\n\n In detail, the following parameters can be used to set properties for composer maps:\n\n :EXTENT= //mandatory\n :ROTATION= //optional, defaults to 0\n :SCALE= //optional. Forces scale denominator as server and client may have different scale calculations\n :LAYERS= //optional. Defaults to all layer in the WMS request\n :STYLES= //optional\n :GRID_INTERVAL_X= //set the grid interval in x-direction for composer grids\n :GRID_INTERVAL_Y= //set the grid interval in x-direction for composer grids\n */\n\n/**\n * ORIGINAL SOURCE: src\\app\\core\\print\\printservice.js@3.9.0\n * \n * @param { Object } opts\n * @param opts.field\n * @param opts.values\n * @param opts.template\n * @param opts.download\n * @param { 'GET' | 'POST' } method\n */\nfunction printAtlas() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n var store = _application2.default.project.getLayersStore();\n var multi = opts.values.length > 1;\n return FETCH[method]({\n url: store.getWmsUrl(),\n mime_type: 'application/pdf',\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrintAtlas',\n EXP_FILTER: opts.field + (multi ? ' IN (' : '=') + opts.values.map(function (v) {\n return '\\'' + v + '\\'';\n }).join() + (multi ? ')' : ''),\n TEMPLATE: opts.template,\n filtertoken: _application2.default.tokens.filtertoken,\n DOWNLOAD: opts.download ? 1 : undefined\n }\n });\n}\n\nvar FETCH = {\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise<{mime_type, layers: boolean, url: string}>}\n */\n POST: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var url = _ref.url,\n _ref$params = _ref.params,\n params = _ref$params === undefined ? {} : _ref$params,\n mime_type = _ref.mime_type;\n\n var response = yield fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: new URLSearchParams(params || {}).toString()\n });\n if (!response.ok) {\n //@TODO Need to translate\n throw new Error(500 === response.status ? 'Internal Server Error' : 'Request Failed');\n }\n return {\n mime_type: mime_type,\n layers: true,\n url: URL.createObjectURL((yield response.blob()))\n };\n });\n\n function POST(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return POST;\n }(),\n\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise}\n */\n GET: function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var url = _ref3.url,\n _ref3$params = _ref3.params,\n params = _ref3$params === undefined ? {} : _ref3$params,\n mime_type = _ref3.mime_type;\n\n return {\n url: url + '?' + new URLSearchParams(params || {}).toString(),\n layers: true,\n mime_type: mime_type\n };\n });\n\n function GET(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return GET;\n }()\n};\n\n},{\"store/application\":180}],234:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.promisify = promisify;\nexports.$promisify = $promisify;\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\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 */\nfunction 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(function (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 */\nfunction $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(function (d) {\n return d.reject('not a promise');\n }).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n d.resolve((yield promise instanceof Promise ? promise : promise()));\n } catch (e) {\n console.trace(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],235:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prompt = undefined;\n\n/**\n * @TODO make it simpler (native HTML dialogs, Vue SFC components, ..)\n * \n * Similar to `window.prompt`\n * \n * @since 3.9.0\n */\nvar prompt = exports.prompt = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var value = _ref.value,\n label = _ref.label,\n callback = _ref.callback;\n\n\n // Reactive vue object (input instance)\n var _data = {\n value: value,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n var vueInput = new Vue({\n template: '\\n
\\n \\n \\n
',\n data: function data() {\n return _data;\n }\n });\n\n var prompt = void 0; // store dialog modal window\n\n new Promise(function (resolve, reject) {\n // modal window with input name\n prompt = _gui2.default.showModalDialog({\n message: vueInput.$mount().$el,\n closeButton: false,\n buttons: {\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n return resolve(_data.value);\n } },\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n return reject();\n } }\n }\n });\n // conditionally disable confirm button (based on input value)\n var okBtn = prompt.find('button.btn-success');\n okBtn.prop('disabled', 0 === _data.value.trim().length);\n vueInput.$watch('value', function (value) {\n okBtn.prop('disabled', 0 === value.trim().length);\n });\n }).then(callback).finally(function () {\n vueInput.$destroy();\n vueInput = null;\n _data = null;\n prompt = null;\n });\n });\n\n return function prompt(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/gui\":175,\"utils/getUniqueDomId\":219}],236:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeMeasureTooltip = removeMeasureTooltip;\n/**\n * Remove mesure tootltip\n * \n * @param { Object } opts\n * @param opts.map\n * @param opts.tooltip\n * @param opts.unByKey \n */\nfunction removeMeasureTooltip(_ref) {\n var map = _ref.map,\n tooltip = _ref.tooltip,\n unbyKey = _ref.unbyKey;\n\n map.removeOverlay(tooltip);\n ol.Observable.unByKey(unbyKey);\n}\n\n},{}],237:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeZValueToOLFeatureGeometry = removeZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * Remove Z values from geometry coordinates\n */\nfunction removeZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature;\n\n var geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n var coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n if (3 === coords.length) {\n coords.splice(2);\n feature.getGeometry().setCoordinates(coords);\n }\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n coords.forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n coords.forEach(function (line) {\n return line.forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(function (c) {\n return c.splice(2);\n });\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 _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":127}],238:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.reverseGeometry = reverseGeometry;\n/**\n * @param geometry \n */\nfunction reverseGeometry(geometry) {\n geometry.setCoordinates(_reverseCoords(geometry.getCoordinates()));\n return geometry;\n}\n\nfunction _reverseCoords(coords) {\n coords.find(function (c) {\n if (!Array.isArray(c)) {\n var _coords = _slicedToArray(coords, 2),\n y = _coords[0],\n x = _coords[1];\n\n coords[0] = x;coords[1] = y;\n return true;\n }\n _reverseCoords(c);\n });\n return coords;\n}\n\n},{}],239:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sameOrigin = sameOrigin;\n/**\n * @param {string} url1\n * @param {string} url2\n *\n * @returns {boolean} whether URLs have same origin.\n *\n * @since 3.8.0\n */\nfunction sameOrigin(url1, url2) {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch (e) {\n console.warn(e);\n return false;\n }\n}\n\n},{}],240:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeFidFeature = sanitizeFidFeature;\nfunction sanitizeFidFeature(fid) {\n if ('string' === typeof fid && Number.isNaN(1 * fid)) {\n fid = fid.split('.');\n fid = fid.at(2 === fid.length ? 1 : 0);\n }\n return fid;\n}\n\n},{}],241:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setProjectAliasUrl = setProjectAliasUrl;\n/** used by the following plugins: \"archiweb\" */\nfunction setProjectAliasUrl(alias) {\n var project = window.initConfig.projects.find(function (p) {\n return alias.gid === p.gid;\n });\n if (project) {\n project.url = '' + (alias.host || '') + alias.url;\n }\n}\n\n},{}],242:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports.splitFeature = splitFeature;\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } opts\n * @param opts.feature\n * @param opts.splitfeature\n * \n * @returns { Array } splitted feature geometries\n */\nfunction splitFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n splitfeature = _ref.splitfeature;\n\n var geometries = {\n feature: feature.getGeometry(), //geometry of the feature to split\n split: splitfeature.getGeometry() // geometry of split feature\n };\n\n if ('LineString' !== geometries.split.getType()) {\n return [];\n }\n\n // array of split geometries\n var splittedFeatureGeometries = [];\n var parser = new jsts.io.OL3Parser();\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geometries.feature.getType());\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geometries.feature.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geometries.feature.getType());\n var polygonFeature = is_poly && (is_multi ? geometries.feature.getPolygons() : geometries.feature);\n var lineFeatureGeometry = is_line && (is_multi ? geometries.feature.getLineStrings() : geometries.feature);\n\n // MultiPolygon or MultiLineString\n if (is_multi && (is_line || is_poly)) {\n var geomClass = is_poly ? ol.geom.MultiPolygon : ol.geom.MultiLineString;\n (is_poly ? polygonFeature : lineFeatureGeometry).forEach(function (geometry) {\n var splitFeatures = splitFeature({ splitfeature: splitfeature, feature: new ol.Feature({ geometry: geometry }) });\n if (splitFeatures.length > 0) {\n splitFeatures.forEach(function (geometry) {\n return geometry && splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n });\n } else {\n splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n }\n });\n }\n\n // Polygon\n if (is_poly && !is_multi) {\n var isZType = polygonFeature.getCoordinates()[0][0][2] !== undefined;\n var polygonFeatureGeometry = parser.read(polygonFeature);\n var externalPolygonFeatureGeometry = parser.read(polygonFeature.getLinearRing(0));\n var splitGeometry = parser.read(geometries.split); // create a line split feature in jsts\n var holePolygons = void 0; // holes geometries\n\n if (polygonFeature.getLinearRingCount() > 1) {\n var holeFeaturesGeometry = void 0;\n for (var index = 1; index < polygonFeature.getLinearRingCount(); index++) {\n var holeRing = parser.read(polygonFeature.getLinearRing(index));\n holeFeaturesGeometry = undefined === holeFeaturesGeometry ? holeRing : holeFeaturesGeometry.union(holeRing);\n }\n\n holePolygons = new jsts.operation.polygonize.Polygonizer();\n\n holePolygons.add(holeFeaturesGeometry);\n\n var holyPolygonUnion = void 0;\n\n holePolygons.getPolygons().toArray().forEach(function (polygon) {\n return holyPolygonUnion = undefined === holyPolygonUnion ? polygon : holyPolygonUnion.union(polygon);\n });\n\n holePolygons = holyPolygonUnion;\n }\n\n if (isZType) {\n\n polygonFeature.getCoordinates()[0].forEach(function (c, i) {\n return externalPolygonFeatureGeometry.getCoordinates()[i].z = c[2];\n });\n\n splitGeometry.getCoordinates().forEach(function (coordinate) {\n return coordinate.z = 0;\n });\n }\n\n var union = externalPolygonFeatureGeometry.union(splitGeometry);\n var polygonizer = new jsts.operation.polygonize.Polygonizer();\n\n polygonizer.add(union);\n\n var polygons = polygonizer.getPolygons().toArray();\n\n if (polygons.length > 1) {\n polygons.forEach(function (polygon) {\n if (holePolygons) {\n polygon = polygon.difference(holePolygons);\n }\n\n if (polygonFeatureGeometry.intersects(polygon.getInteriorPoint())) {\n var geometry = parser.write(polygon);\n var polygonCoordinates = polygon.getCoordinates();\n\n if (isZType) {\n polygonCoordinates.forEach(function (c, i) {\n return c.z = c.z === undefined ? polygonCoordinates[i === 0 ? i + 1 : i - 1].z : c.z;\n });\n var zCoordinates = [];\n geometry.getCoordinates()[0].forEach(function (c, i) {\n c.push(polygonCoordinates[i].z);\n zCoordinates.push(c);\n });\n geometry.setCoordinates([zCoordinates]);\n }\n\n var is_single = !(0, _isMultiGeometry.isMultiGeometry)(geometry.getType());\n\n if (is_multi) {\n splittedFeatureGeometries.push(new ol.geom.MultiPolygon(is_single ? [geometry.getCoordinates()] : geometry.getCoordinates()));\n } else {\n if (is_single) {\n splittedFeatureGeometries.push(geometry);\n } else {\n geometry.getCoordinates().forEach(function (c) {\n return splittedFeatureGeometries.push(new ol.geom.Polygon(c));\n });\n }\n }\n }\n });\n }\n }\n\n // LineString or MultiLineString\n if (is_line && !is_multi) {\n var _ret = function () {\n var splitGeometry = geometries.split;\n var lineGeometry = geometries.feature;\n var isZType = undefined !== lineGeometry.getCoordinates()[0][2];\n var splitted = false;\n var splittedSegments = [];\n var jstsFromWkt = new jsts.io.WKTReader();\n var wktFromOl = new ol.format.WKT();\n var olFromJsts = new jsts.io.OL3Parser();\n var splitLine = jstsFromWkt.read(wktFromOl.writeGeometry(splitGeometry));\n var wktLineString = wktFromOl.writeGeometry(lineGeometry);\n\n if (isZType) {\n wktLineString = wktLineString.replace(' Z', '');\n }\n\n var targetLine = jstsFromWkt.read(wktLineString);\n var targetCoordinates = targetLine.getCoordinates();\n var geometryFactory = new jsts.geom.GeometryFactory();\n var pointsNotSplitted = [];\n\n var endPoint = void 0;\n var startPoint = void 0;\n\n for (var i = 0; i < targetCoordinates.length - 1; i++) {\n startPoint = targetCoordinates[i];\n endPoint = targetCoordinates[i + 1];\n\n if (isZType) {\n startPoint.z = lineGeometry.getCoordinates()[i][2];\n endPoint.z = lineGeometry.getCoordinates()[i + 1][2];\n }\n\n // create a segment of two vertex\n var segment = geometryFactory.createLineString([startPoint, endPoint]);\n var intersectCoordinates = segment.intersection(splitLine).getCoordinates();\n\n splitted = splitted || intersectCoordinates.length > 0;\n\n intersectCoordinates.forEach(function (splitPoint) {\n if (isZType) {\n splitPoint.z = startPoint.z;\n }\n\n var lineNewSegment = olFromJsts.write(geometryFactory.createLineString((pointsNotSplitted.length ? pointsNotSplitted : []).concat([startPoint, splitPoint])));\n\n if (isZType) {\n var coordinates = lineNewSegment.getCoordinates();\n lineNewSegment.setCoordinates([[].concat(_toConsumableArray(coordinates[0]), [startPoint.z]), [].concat(_toConsumableArray(coordinates[1]), [splitPoint.z])]);\n }\n\n if (pointsNotSplitted.length) {\n pointsNotSplitted = [];\n }\n\n splittedSegments.push(lineNewSegment);\n\n startPoint = splitPoint;\n });\n\n pointsNotSplitted = pointsNotSplitted.concat([startPoint, endPoint]);\n }\n\n var restOfLine = olFromJsts.write(geometryFactory.createLineString(pointsNotSplitted));\n\n if (isZType) {\n restOfLine.setCoordinates(pointsNotSplitted.map(function (pointNotSplitted, index) {\n var coordinate = restOfLine.getCoordinates()[index];\n coordinate.push(pointNotSplitted.z);\n return coordinate; // z coordinates\n }));\n }\n\n splittedSegments.push(restOfLine);\n\n return {\n v: splitted ? splittedSegments : []\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n\n return splittedFeatureGeometries;\n}\n\n},{\"utils/isLineGeometryType\":225,\"utils/isMultiGeometry\":226,\"utils/isPolygonGeometryType\":228}],243:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\n/**\n * build throttle function\n */\nfunction throttle(fnc) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var lastCall = void 0;\n return function () {\n var previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || lastCall - previousCall > delay) {\n // throttle time has elapsed\n fnc.apply(undefined, arguments);\n }\n };\n}\n\n},{}],244:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRawType = toRawType;\nfunction toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\n},{}],245:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.waitFor = waitFor;\n/**\n * Function to wait for predicates.\n * \n * @param { () => Boolean } predicate - A function that returns a bool\n * @param { number } [timeout] - Optional maximum waiting time in ms after rejected\n * \n * @see https://gist.github.com/chrisjhoughton/7890239?permalink_comment_id=4411125#gistcomment-4411125\n */\nfunction waitFor(predicate, timeout) {\n return new Promise(function (resolve, reject) {\n var check = function check() {\n if (!predicate()) {\n return;\n }\n clearInterval(interval);\n resolve();\n };\n var interval = setInterval(check, 100);\n check();\n if (timeout) {\n setTimeout(function () {\n clearInterval(interval);reject();\n }, timeout);\n }\n });\n}\n\n},{}],246:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.within = within;\n/**\n * Check if `geometryToCheck` is within `geometry`\n * \n * @param { ol.geometry } geometry\n * @param { ol.geometry } geometryToCheck\n * @returns { boolean } whether `geometryToCheck` is within `geometry`\n * \n * @since 3.8.0\n */\nfunction within(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometryToCheck).within(olFromJsts.read(geometry));\n}\n\n},{}],247:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* Generated by gulpfile.js, do not edit manually */\n\nexports.default = '3.11.0-alpha.1';\n\n},{}]},{},[134]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","this","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","runClearTimeout","marker","Item","array","noop","nextTick","args","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","2","inserted","cache","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","3","_FieldText2","_interopRequireDefault","_FieldLink2","_FieldImage2","_FieldGeo2","_FieldMedia2","_FieldVue2","obj","__esModule","default","simple_field","text_field","link_field","image_field","geo_field","photo_field","media_field","vue_field","components/FieldGeo.vue","components/FieldImage.vue","components/FieldLink.vue","components/FieldMedia.vue","components/FieldText.vue","components/FieldVue.vue","4","_typeof","Symbol","iterator","constructor","_toRawType","Fields","getType","field","type","value","fieldValue","toRawType","coordinates","vue","isArray","photo","toString","toLowerCase","match","isSimple","isLink","isImage","isPhoto","isVue","add","_ref","remove","./fields","utils/toRawType","5","_createClass","Constructor","protoProps","staticProps","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","validatorOptions","values","state","input","options","map","v","self","__proto__","getPrototypeOf","ReferenceError","create","setPrototypeOf","checked","includes","find","option","_this2","gui/inputs/service","6","vueComponentOptions","newObj","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_convertQGISDateTimeFormatToMoment2","DateTimePickerService","_this","window","initConfig","user","i18n","datetimeformat","convertQGISDateTimeFormatToMoment","utils/convertQGISDateTimeFormatToMoment","9","DateTimePickerInput","components/InputDateTimePicker.vue","10","FloatService","11","FloatInput","components/InputFloat.vue","12","_application2","_InputBase2","_mixins","_asyncToGenerator","fn","gen","Promise","resolve","reject","step","arg","info","error","done","then","err","InputServices","Input","mixins","baseInputMixin","components","baseinput","watch","notvalid","_notvalid","service","setErrorMessage","state.value","default_expression","change","created","$watch","language","visible","yield","$nextTick","editable","validate","required","$emit","value_from_default_value","destroyed","./services","components/InputBase.vue","store/application","13","IntegerService","14","IntegerInput","components/InputInteger.vue","15","_slicedToArray","arr","sliceIterator","_arr","_n","_d","_e","_s","_i","next","_gui","_gui2","LonLatService","coordinatebutton","mapService","getService","mapEpsg","getCrs","mapControlToggleEventHandler","evt","isToggled","isClickMap","active","toggleGetCoordinate","getMap","outputEpsg","epsg","eventMapKey","lon","lat","valid","Number","isNaN","startToGetCoordinates","stopToGetCoordinates","deactiveMapControls","originalEvent","stopPropagation","preventDefault","coordinate","ol","proj","transform","_coordinate","Observable","unByKey","services/gui","16","LatLontInput","components/InputLonLat.vue","17","MediaService","18","MediaInput","components/InputMedia.vue","19","_data2","_pickfeatureinteraction2","_pickcoordinatesinteraction2","PickLayerService","pick_type","ispicked","fields","layerId","layer_id","interaction","layers","getLayerById","keyCode","owner","data","unpick","$","unbind","escKeyUpHandler","bindEscKeyUp","afterPick","feature","attributes","getProperties","filter","forEach","setModal","addInteraction","layer","getProjectLayer","getQueryLayersPromisesByCoordinates","feature_count","response","_response$0$data","features","fail","removeInteraction","unbindEscKeyUp","isPicked","map/interactions/pickcoordinatesinteraction","map/interactions/pickfeatureinteraction","services/data","20","PickLayerInput","components/InputPickLayer.vue","21","RadioService","22","RadioInput","components/InputRadio.vue","23","RangeService","min","max","_opts$state$input$opt","setValidator","24","RangeInput","components/InputRange.vue","25","_getCatalogLayerById","SelectService","getCatalogLayerById","search","_state$input$options","getData","arrayValues","_value","$value","addValue","text","catch","_this3","_ref2","_ref2$layer_id","_ref2$key","_ref2$value","search_value","trim","_layer","_getLayerById","getDataTable","suggest","ordering","properties","id","utils/getCatalogLayerById","26","SelectInput","components/InputSelect.vue","27","Validators","validators","float","bigint","MAX_SAFE_INTEGER","integer","isSafeInteger","checkbox","datetimepicker","moment","fielddatetimeformat","isValid","char","varchar","string","radio","range","get","setValue","setEmpty","_validator","default_value","get_default_value","unshift","validator","empty","_","isEmpty","unique","exclude_values","size","has","message","mutually","mutually_valid","join","max_field","min_field","_state","update","toUpperCase","g3w-i18n","28","InputsServices","textarea","texthtml","check","select","media","select_autocomplete","picklayer","color","slider","lonlat","./checkbox/service","./datetimepicker/service","./float/service","./integer/service","./lonlat/service","./media/service","./radio/service","./range/service","./select/service","./service","./sliderrange/service","./unique/service","29","SliderRangeService","30","components/InputSliderRange.vue","31","components/InputText.vue","32","TextAreaInput","components/InputTextArea.vue","33","TextHtmlInput","components/InputTextHtml.vue","34","UniqueService","35","UniqueInput","components/InputUnique.vue","36","_vueCookieLaw2","_g3wConstants","_g3wPanel2","_g3wComponent2","_getUniqueDomId","_promisify","_sameOrigin","_UserMessage2","_CatalogContextMenu2","_MapAddLayer2","_ChangeMap2","_MetadataProject2","_ref7","_ref5","_ref4","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","MapAddLayer","ChangeMap","MetadataProject","computed","languages","appconfig","dropdownParent","innerWidth","isIframe","top","urls","logo_url","project","thumbnail","mediaurl","header_logo_img","project_title","getState","username","login_url","has_iframe_login","sameOrigin","location","href","hasRelatedMaps","macrogroups","groups","projects","main_title","main_map_title","group_name","slug","breadcrumb","content","contentsdata","crumb","showresize","currentPerc","gui","layout","__current","rightpanel","split","secondaryPerc","showresizeicon","usermessage","showtitle","styles","width","sizes","height","zIndex","minHeight","VIEWPORT","resize","paddingTop","paddingBottom","contentTitle","_state$content$conten2","_state$content$conten","post_title","backOrBackTo","showgoback","previousTitle","sidebar","disabled","panels","showmainpanel","componentname","slice","getTitle","panelname","methods","onIframeLoaded","iframe","$refs","login_iframe","contentWindow","g3wsdk","core","ApplicationState","logout_url","reload","templateResultLanguages","staticurl","element","oncCustomItemClick","querySelector","modal","click","append","showEmbedModal","url","URL","searchParams","set","getMapExtent","$t","initDialogMessages","messages","pid","getId","_loop","items","localStorage","getItem","LOCAL_ITEM_IDS","MESSAGES","JSON","parse","doNotShowAgainVueComponent","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","_ref3","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","collapse","openChangeMapMenu","isNotLastCrumb","index","closeContent","gotoPreviousContent","popContent","closeUserMessage","wrapMoveFnc","moveFnc","resizeStart","addEventListener","resizeStop","removeEventListener","resizeFull","toggleFullViewContent","resizeDefault","resetToDefaultContentPercentage","sidebarSize","SIDEBARWIDTH","viewPortSize","mapSize","pageX","pageY","_VIEWPORT$resize","resized","Math","round","_layout","closePanel","closeAllPanels","_ref6","allSettled","d","promisify","unmount","parent","_x","splice","toggleSidebar","toggleSidebarItem","mini","classList","contains","collapsed","li","showSidebar","closest","component","comp","open","getOpen","menu","collapsible","_language","cl","i18next","changeLanguage","lng","pathArray","pathname","history","replaceState","mounted","toggle","isMobile","__vue__options__","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","theme","buttonText","slot","_v","ref","role","staticStyle","padding","display","header_logo_link","frontendurl","alt","src","font-size","data-toggle","data-target","class","$fa","margin-left","overflow","margin","padding-right","text-align","_l","style","order","position","modifiers","data-placement","data-container","$event","max-height","img","img_title","first_name","last_name","admin_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","domProps","g3w-disabled","justifyContent","font-weight","justify-content","align-items","z-index","duration","enter","leave","subtitle","draggable","closable","autoclose","textMessage","icon-class","iconClass","close-usermessage","hooks","tag","footer","mousedown","g3w-hide","online","show","loading","plugins","fontWeight","aside","mobile","tool","align-self","marginRight","margin-right","tabindex","data-backdrop","data-keyboard","aria-labelledby","aria-hidden","background","grid-template-areas","place-items","inset","data-dismiss","grid-area","border","load","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ChangeMap.vue","components/MapAddLayer.vue","components/MetadataProject.vue","components/UserMessage.vue","g3w-component","g3w-constants","g3w-panel","utils/getUniqueDomId","utils/promisify","utils/sameOrigin","vue-cookie-law","vueify/lib/insert-css","37","_ref10","_ref9","_ref8","_g3wEventbus","_XHR","_CatalogChangeMapThemes2","__","_CatalogTristateTree2","$options","legend_position","showlegend","currentBaseLayer","CatalogChangeMapThemes","CatalogTristateTree","baselayers","hasBaseLayers","hasLayers","external","vector","layerstrees","reduce","l","tree","layersgroups","onLegendError","legendurl","onLegendLoad","getLegendSrc","_traverseVisibleLayers","legendurls","some","legend","context_base_legend","_getLegendSrc","_x2","_layers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","geolayer","exclude_from_legend","nodes","return","visiblelayers","method","http","GET","POST","source","ows_method","catalogLayer","getLegendUrl","all","format","categories","prefix","layerName","current","legend_on","replace","legend_off","params","LAYERS","STYLES","LEGEND_ON","LEGEND_OFF","url_params","tokens","filtertoken","createObjectURL","fetch","headers","Content-Type","encodeURIComponent","blob","_x4","getMapThemeFromThemeName","config","map_themes","flat","layerstree","XHR","result","_x5","setLayersTreePropertiesFromMapTheme","map_theme","changes","promises","traverse","mapThemeLayersTree","node","group","visibility","promise","setCurrentStyleAndResolvePromise","setCurrentStyle","getLayersStore","_ref6$node","expanded","_x6","changeMapTheme","rootNode","keys","clearCategories","VM","_x7","onTabClick","setBaseLayer","baseLayerId","getSrcBaseLayerImage","baseLayer","image","servertype","subtype","getResourcesUrl","onUnSelectionLayer","storeid","action","getActionLayerById","catalog","clearSelectionFids","selection","toggled","setSelectionFeatures","onActiveFilterTokenLayer","toggleFilterToken","_x8","_x9","onTreeNodeVisible","onTreeNodeSelected","selectLayer","state.external.wms","newlayers","oldlayers","catalog_tab","handler","_x10","immediate","_activeTab","oldTab","parentElement","$on","beforeMount","initbaselayer","!click","aria-controls","data-i18n","wms","gid","change-map-theme","root","parentFolder","legendplace","parent_mutually_exclusive","externallayers","gridTemplateColumns","base","fixed","opacity","bottom","background-color","line-height","border-top","margin-top","components/CatalogChangeMapThemes.vue","components/CatalogTristateTree.vue","g3w-eventbus","utils/XHR","38","_InputText2","LAYERSTREES_ATTRIBUTES","InputText","custom","mt","active_theme","toc_themes_init_status","custom_theme","i18nLabel","show_form","getElementById","_getMapThemeParams","treeItem","acc","attr","s","saveTheme","post","contentType","showUserMessage","updateTheme","c_theme","deleteTheme","dialog","confirm","bool","delete","custom_theme.value","add_map_theme_input","children","child","_x3","logged","padding-top","menu-open","_q","for","./InputText.vue","39","_vueColor","_downloadFile","shpwrite","layer_style","left","project_menu","layer_menu","edit_url","layers_url","chrome-picker","Chrome","click-outside","bind","el","vnode","event","context","onShowContextMenu","closeMenu","x","x2","y2","x1","y1","mouseUp","mouseMove","clientX","clientY","marginLeft","parseInt","marginTop","offsetTop","offsetLeft","getBoundingClientRect","clientHeight","tooltip","download_menu","ogc_menu","_drag","onChangeColor","val","layer_color","backgroundColor","hex","getLayerByName","getStyle","_g3w_options","setStyle","canShowWmsUrl","isType","getFullWmsUrl","canShowWfsUrl","isWfsActive","canDownload","getWmsUrl","getCatalogWmsUrl","getWfsUrl","getCatalogWfsUrl","getWfs3Url","getCatalogWfs3Url","copyUrl","execCommand","copywmsurltooltip","download","map_extent","notify","downloadExternal","downloadFile","setLayerPosition","setZIndex","layersCount","zoomToLayer","goToBBox","bbox","minx","miny","maxx","maxy","canEdit","isEditable","plugin","PluginsRegistry","getPlugin","startEditing","editing","showPanel","toolboxes","canZoom","coord","getGeometryType","geometryType","geometrytype","downloadExternalShapefile","getSource","getFeatures","crs","feat","clone","getGeometry","GeoJSON","writeFeaturesObject","featureProjection","folder","types","point","mulipoint","polygon","multipolygon","line","polyline","multiline","showAttributeTable","openAttributeTable","showMetadata","setLayerStyle","changed","setLayerFilter","fid","applyFilter","deleteFilterToken","deleteFilter","showMenu","overflowY","ul","offsetHeight","offsetWidth","maxHeight","_x11","canOpenAttributeTable","openattributetable","isExternalLayer","projectLayer","isExternalWMSLayer","_type","isExternalVectorLayer","canShowStylesMenu","canShowFiltersMenu","filters","hasMetadata","metadata","canShowOpacityPicker","onLayerOpacity","setOpacity","mouseover","getName","abstract","border-radius","innerHTML","right","defaultstyle","list","__r","$set","_m","hook:beforeDestroy","color_picker","$off","model","$$v","justify-self","padding-left","border-left","downloadUrl","vertical-align","fill","xmlns","xml:space","viewBox","shp-write","utils/downloadFile","vue-color","40","_click2","String","currentstyle","showfeaturecount","featurecount","externallegend","onCategoryClick","handleClick","showCategoryMenu","getWmsSourceLayerLegendUrl","isDisabled","showHideLayerCategory","mapReady","setLayerCategories","setError","urlLoaded","onChangeLayerLegendStyle","getStyleFeatureCount","dynamic","_ref4$nodes","getCategories","getLegendGraphic","_setAllLayerCategories","_updateLayerCategories","_ref5$symbols","symbols","ruleKey","symbol","_checked","setCategories","_ref6$symbols","category","findSymbol","onChangeMapLegendParams","runInitLayerVisibleAction","initialize","layer.visible","enabled","beforeDestroy","contextmenu","stylesfeaturecount","mixins/click","41","_setAllLayersVisible","parentGroup","setVisible","_CatalogLayerLegend2","CatalogLayerLegend","isGroupChecked","controltoggled","n_childs","filtered","showLegendLayer","showLayerTocLegend","isGroup","legendlayerposition","showscalevisibilityclass","scalebasedvisibility","showScaleVisibilityToolip","isTable","isHidden","hidden","isHighLight","highlightlayers","isVisible","getTocHighlightable","isInGrey","getFeatureCount","total","categoryFeatureCount","layerstree.checked","handleGroupChecked","handleLayerChecked","removeCurrentFilter","mutually_exclusive","g","groupId","qlayer","saveFilter","toggleFilterLayer","clearSelection","expandCollapse","maybeZoomToLayer","onTreeItemClick","triClass","g3wtemplate","getFontClass","downloadExternalLayer","file","removeExternalLayer","showContextMenu","uncheckable","toc","itemmarginbottom","bold","removable","currentTarget","toc-added-external-layer","paddingLeft","highlightlayer","scalevisibility","current-tooltip","indexOf","_k","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","get_macro","get_group","_projections2","_getListableProjects","LOGO_GIS3W","_toConsumableArray","encodeURI","steps","curr_group","back","last_step","pop","has_steps","macrogroup_id","showMacroGroups","showGroups","showRoot","addStep","mg","m","showProjects","getListableProjects","setItemImageSrc","changeMapProject","base_url","baseurl","srid","registerProjection","map_url","origin","addMapExtentUrlParameterToUrl","trigger","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","_ref11","_ref12","min-width","description","store/projections","utils/getListableProjects","43","_t","word-wrap","44","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","45","geoMixin","Date","now","font","showLayer","46","_Field2","_Field","galleryId","mime_type","Field","getSrc","showGallery","getGalleryImages","images","components/Field.vue","47","openLink","link_url","48","mediaMixin","getMediaType","filename","49","50","vueoptions","51","_FormHeader2","_FormFooter2","switchcomponent","before","after","g3wformheader","G3wFormFooter","transitions","addremovetransition","isRootComponent","backToRoot","setRootComponent","handleRelation","relationId","disableComponent","_ref$disabled","resizeForm","perc","setCurrentFormPercentage","switchComponent","setCurrentComponentById","changeInput","addToValidate","removeToValidate","reloadLayout","bodyFromDOM","footerHeight","footerDOM","g3w_form_footer","g3wform_body","bodyHeight","updated","getEventBus","setValidComponent","setReady","clearAll","currentid","currentheaderid","resize-form","clickheader","hook:activated","addtovalidate","removetovalidate","changeinput","components/FormFooter.vue","components/FormHeader.vue","52","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","53","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","54","flex-direction","item_selected","fontSize","55","56","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","57","58","carouselId","isActive","isRelativePath","startsWith","data-interval","data-slide","59","60","_GlobalGallery2","_GlobalGallery","g3w-images-gallery","components/GlobalGallery.vue","61","progress","borderRadius","62","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","63","_GlobalTabsNode2","_getFormDataExpressionRequestFromFeature","_convertFeatureToGEOJSON","_noop","showRelationByField","relation","showRelation","ids","required_fields","setVisibility","tab","inputs","qgs_layer_id","form_data","convertFeatureToGEOJSON","getFormDataExpressionRequestFromFeature","visibility_expression","formatter","outputs","setEditingRequireTab","field_name","getField","fieldName","toggleGroup","Node","unwatch","referenced_columns","root_tabs","tab_node","root_tab","group-title","in active","showTitle","components/GlobalTabsNode.vue","utils/convertFeatureToGEOJSON","utils/getFormDataExpressionRequestFromFeature","utils/noop","64","_InputG3W2","G3wInput","editing_required","filterNodes","getNodeType","nodesLength","rows","rowCount","columnNumber","floor","columnCount","columncount","showGroupTile","showlabel","groupbox","loadingRelation","getRelationById","isRelationDisabled","getRelationName","isRelationChildLayerNotEditable","relationLayerId","referencingLayer","getNodes","row","startIndex","getNode","column","alias","getComponent","query","_b","$props","text-transform","components/InputG3W.vue","65","showHideHelp","loadingState","help","66","widgetMixins","setLabel","convertCheckedToValue","convertValueToChecked","changeCheckBox","widgetChanged","stateValueChanged","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","67","placeholder","composing","68","resizeMixin","uniqueValue","widget_container","idinputdatetimepiker","domeDataPicker","hide","timeOnly","formats","onDatePickerChange","newDate","datetimedisplayformat","datetimefieldformat","onDatePickerShow","container","datetimepicker_body","datimewidget_container","abs","onDatePickerHide","_state$input$options$","_state$input$options$2","vertical","_formats$","fieldformat","disabledDates","displayformat","setValidatorOptions","toDate","ignoreReadonly","widgetParent","getLocale","readonly","69","70","Inputs","text_input","texthtml_input","textarea_input","integer_input","string_input","float_input","radio_input","check_input","range_input","datetimepicker_input","unique_input","select_input","media_input","select_autocomplete_input","picklayer_input","color_input","slider_input","lonlat_input","gui/inputs/checkbox/vue/checkbox","gui/inputs/color/vue/color","gui/inputs/datetimepicker/vue/datetimepicker","gui/inputs/float/vue/float","gui/inputs/integer/vue/integer","gui/inputs/lonlat/vue/lonlat","gui/inputs/media/vue/media","gui/inputs/picklayer/vue/picklayer","gui/inputs/radio/vue/radio","gui/inputs/range/vue/range","gui/inputs/select/vue/select","gui/inputs/sliderrange/vue/sliderrange","gui/inputs/text/vue/text","gui/inputs/textarea/vue/textarea","gui/inputs/texthtml/vue/texthtml","gui/inputs/unique/vue/unique","71","_InputG3W","show_required_field_message","72","73","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","clear","margin-bottom","labels","74","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","75","pickLayer","pickservice","pick","gui/inputs/picklayer/service","76","radio_value","77","Step","checkValue","getValidator","keydown","78","_createSingleFieldParameter","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","InputMixin","selectMixin","select2Mixin","showPickLayer","picked","filterFields","isFilterFieldsReady","showNullOption","nullOption","select2NullValue","pickLayerValue","pickLayerInputService","autocomplete","getMultiValues","changeSelect","select2","Set","setAndListenSelect2Change","state.input.options.values","is_empty","_this4","filterFieldsUnwatches","relation_id","filter_fields","relation_reference","_state$input$options$3","chain_filters","_state$input$options$4","allowmulti","setLoading","_ApplicationState$pro","referencedLayer","_ApplicationState$pro2","fieldRef","referencingField","referencedField","relationLayer","relationLayerFields","getFields","_ref6$data","getFilterData","createSingleFieldParameter","fformatter","ffield","_f","status","filterReferencedFieldValues","_ref13$data","rdata","_ref14","_ref15","dependencyLayerId","_state$input$options2","dependencyLayer","getEditingLayer","LayerTypes","TABLE","isStarted","_this5","selectElement","getLanguage","minimumInputLength","allowClear","ajax","delay","transport","success","failure","term","siblings","resetValues","processResults","page","results","pagination","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","utils/createSingleFieldParameter","79","state.input.options.min","changeInfoMessage","state.input.options.max","80","keyup","mobileChange","81","max-width","82","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","handlers","html","firstChild","innerText","querySelectorAll","qlformat","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","column-left","insertColumnLeft","column-right","insertColumnRight","column-remove","deleteColumn","row-above","insertRowAbove","row-below","insertRowBelow","row-remove","deleteRow","getModule","novalid","83","tags","84","_copyUrl","hidemaps","map_info","mouse","switch_icon","epsg_4326","urlCopied","mapunit","showmapunits","mapunits","showHideControls","getMapControls","control","showHide","createCopyMapExtentUrl","switchMapsCoordinateTo4326","getMapControlByType","dispatchEvent","getEpsg","changeScaleLineUnit","onafter","ratio","_ref3$layers","_ref3$mainview","mainview","_ref3$switchable","switchable","_addHideMap","hidemap","_obj","utils/copyUrl","85","_createVectorLayerFromFile","SUPPORTED_FORMAT","getProjection","getCode","EPSG","layer_type","wms_panel","adminwmsurls","wmsurls","localwmsurls","added","vectorLayer","error_message","persistent","accepted_extension","csv","y","separators","separator","mapCrs","rgba","b","map_formats","info_formats","selectedlayers","projections","csv_extension","inputswmsurlvalid","onChangeFile","reader","FileReader","files","at","input_file","onload","handle_csv_headers","_evt$target$result$sp","_evt$target$result$sp2","csv_headers","readAsText","createVectorLayerFromFile","addLayer","addExternalLayer","modal_addlayer","clearFile","clearPanel","addNewUrl","found","getWMSLayers","getLocalWMSData","updateLocalWMSData","wmsurl","_showWmsLayersPanel","addwmsurl","deleteWmsUrl","_addExternalWMSLayer","_ref6$epsg","_ref6$position","_ref6$visible","RasterLayer","projection","res","rej","wmslayer","olLayer","getOLLayer","addWMSlayer","_ref8$name","_ref8$layers","_ref8$visible","_ref8$opacity","w","every","deleteWms","_wms_config","wms_config","GetMap","layerProjections","crss","sort","showWmsLayersPanel","findIndex","changeLayerData","alldata","csv.x","csv.y","_ref13","_this6","isReady","_ref17","$data","user-select","font-family","border-bottom","padding-bottom","flex-grow","accept","map/layers/imagelayer","utils/createVectorLayerFromFile","86","_QueryResultsActionChooseLayer2","_plugins2","_flattenObject","_addZValueToOLFeatureGeometry","_isPointGeometryType","_convertSingleMultiGeometry","_getCatalogLayers","PROVIDERS","LAYER","is_clearing","mapcontrols","geocoding","providers","script","async","head","Vector","Style","Text","offsetY","stroke","Stroke","Fill","Icon","scale","RegularShape","points","radius","angle","PI","results_panel_open","is_layer_visible","getVisible","has_providers","extent","getProject","transformExtent","initextent","_hideMarker","toggleLayerVisibility","clearResults","getFeatureById","removeFeature","clearMarkers","__selected","removeFeatureLayerFromResult","q","isNumber","_split","_split2","Feature","geometry","geom","Point","setId","addFeature","zoomToGeometry","reset","_ref3$","limit","__heading","provider","flattenObject","__uid","__icon","__no_results","onQuery","which","onValue","onReset","focus","_removeItem","uid","showMarkerResults","onItemClick","_item","parseFloat","zoomToFeatures","getCurrentContent","showQueryResults","_editItem","_feature","addZValueToOLFeatureGeometry","convertSingleMultiGeometry","getApi","addLayerFeature","queryresults","zindex","registerVectorLayer","actions","editablePointLayers","getCatalogLayers","EDITABLE","GEOLAYER","isPointGeometryType","inediting","isInEditing","addCurrentActionToolsLayer","observable","toggleable","hint","setCurrentActionLayerFeatureTool","nolayers","unregisterVectorLayer","address_name","address_road","address_building","address_house_number","address_city","address_town","address_village","address_postcode","address_state","address_country","components/QueryResultsActionChooseLayer.vue","store/plugins","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","87","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","88","customcredits","powered_by","docs_url","general","spatial","showHideInfo","box","sanitizeValue","credits","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","gap","rel","89","_getScaleFromResolution","_getResolutionFromScale","_printAtlas","_resize2","vueComp","_defineProperty","init","atlas_values","has_maps","maps","has_autocomplete","atlas","_init","_moveKey","_page","_resolutions","print","getPrint","PRINT_FORMATS","downloading","rotation","inner","scales","dpis","dpi","print_extent","changeTemplate","has_previous","_clearPrint","initSelect2Field","showPrintArea","_setPrintArea","changeScale","changeDpi","changeRotation","setInnerGreyCoverBBox","isAxisOrientationInverted","getAxisOrientation","getOverviewExtent","xmin","xmax","ymin","ymax","getPrintExtent","viewer","_map$getCoordinateFro","getCoordinateFromPixel","_map$getCoordinateFro2","_map$getCoordinateFro3","_map$getCoordinateFro4","has_theme","store","has_atlas","disableSideBar","printAtlas","vueComponentObject","setContent","preset_theme","getLayers","PRINTABLE","SERVERTYPE","reverse","getPrintLayerName","pdf","jpg","svg","URLSearchParams","SERVICE","VERSION","REQUEST","TEMPLATE","DPI","FORMAT","png","geopdf","FORMAT_OPTIONS","CRS","overview","_extends2","ok","getInternalComponent","_initPrintConfig","startDrawGreyCover","renderSync","w2","h2","resolution","getResolution","h","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","_this7","print_atlas","ko","matcher","noResults","errorLoading","searching","inputTooShort","minimum","vals","_this8","_skip_atlas_check","isInteger","_values","j","state.url","_this9","TIMEOUT","statusText","marginBottom","createTag","components/PrintPage.vue","mixins/resize","utils/getResolutionFromScale","utils/getScaleFromResolution","utils/printAtlas","90","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","91","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","92","_createFilterFromString","currentlayer","test","manual","manualvalue","select.field","addToExpression","CACHE","querybuilder","getUrl","filterElement","previous","operator","search_fields","selectedIndex","search_values","createFilterFromString","save","projectId","edit_id","searches","prompt","querybuildersearches","ITEMS","baselayer","exclude","relations","customPrefix","operators","FILTER_OPERATORS","skin-border-color","utils/createFilterFromString","93","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","getLayerDownloads","layerHasFeatures","rawdata","getLayerCustomComponents","layerscustomcomponents","getLayerField","layerField","getQueryFields","formStructure","_field","getFieldType","getColSpan","attributesSubsetLength","hasLayerOneFeature","addLayerFeaturesToResults","addLayerFeaturesToResultsAction","showLayerDownloadFormats","saveLayerResult","downloadFeatures","addRemoveFilter","getContainerFromFeatureLayer","hasOneLayerAndOneFeature","addToSelection","extractAttributesFromFirstTabOfFormStructureLayers","structure","traverseStructure","attributesSubset","_attributes","attribute","end","getLayerFormStructure","structuredClone","getLayerFeatureBox","relation_index","boxid","getBoxId","layersFeaturesBoxes","openCloseFeatureResult","collapsedFeatureBox","showFeatureInfo","toggleFeatureBox","toggleFeatureBoxAndZoom","opened","_x12","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","infoformat","colspan","layersactions","boxLayerFeature","currentactiontools","featureIndex","actiontools","noAttributes","feature-html-content","k","v2","k2","showresults","showResults","flex","components/QueryResultsActionInfoFormats.vue","components/QueryResultsHeaderFeatureActionsBody.vue","components/QueryResultsHeaderFeatureBody.vue","components/QueryResultsTableAttributeFieldValue.vue","utils/getMapLayersByFilter","utils/throttle","94","clickAction","originalDataTitle","hint_change","condition","95","has_layers","96","download_format","_download","97","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","98","choices","g3w_select_feature_featurepolygon","choice","99","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","100","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","101","102","g3w-link","g3w-vue","103","_FieldG3W2","_QueryResultsActionDownloadFormats2","previousview","showChartButton","cardinality","inject","chart","headercomponent","downloadButton","downloadLayer","showTools","isGeoLayer","showrelationslist","relationnoback","one","createTable","getDownloadableFormats","saveRelation","getDownloadUrl","showChart","chartContainer","G3W_FID","what","relationDataTable","relationtable","DataTable","autoWidth","bLengthChange","dom","columnDefs","orderable","targets","pageLength","responsive","scrollResize","scrollCollapse","scrollX","tableHeaderHeight","query_relation","parentNode","outerHeight","showFormStructureRow","showContent","internalComponent","editFeature","getRowFields","columns","adjust","$parent","setRelationsList","fieldIs","is","sidebarHeaderSize","tablecontent","chartcontent","relationwrapper","beforeCreate","delayType","destroy","toggled-white","minWidth","rows_fid","rowFormStructure","components/FieldG3W.vue","components/QueryResultsActionDownloadFormats.vue","104","featureInfo","noback","105","_buildRelationTable","cols","getTableHeaders","getLayerEditingFormStructure","_Relations2","_Relation2","_createRelationsUrl","_options","_$options","_$options$table","_$options$relation","_$options$relations","nmRelation","_$options$feature","_$options$currentview","currentview","_$options$chartRelati","chartRelationIds","provide","saveRelations","fileDownload","createRelationsUrl","httpMethod","relationData","hideChart","getRelationsNM","_ref3$features","_nmRelation$fieldRef","relationsNM","logicop","accumulator","property","setCurrentContentOptions","relationName1","relationName2","save-relation","show-chart","hide-chart","components/Relation.vue","components/Relations.vue","utils/createRelationsUrl","106","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","107","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","allvalue","SEARCH_ALLVALUE","is_staff","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","forminputs","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","search_layers","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","widget_type","opt","time","utils/getDataForSearchInput","108","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","109","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","110","_coordinatesToGeometry","_ref20","PAGELENGTHS","_createFeatureForSelection","coordinatesToGeometry","allfeatures","selectAll","nofilteredrow","show_tools","in_bbox","getRelations","getArray","getFather","father","father_fields","getFatherField","getChildField","has_map","async_highlight","getAll","firstCall","map_bbox","cb","disableSelectAll","has_features","current_layout","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","selectAllRows","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","page_size","_state$features","count","featurescount","getOlSelectionFeature","hasSelectionFid","unSelectAll","onGUIContent","filterChangeHandler","onbefore","closeSideBar","hideSidebar","_ref18","pResolve","last_map_control","setContentKey","filterColumns","disableContent","bSortCellsTop","searchable","deferLoading","lengthMenu","processing","serverSide","sSearch","fragment","changeColumn","draw","createDocumentFragment","table_toolbar","un","height_100","mouseleave","utils/coordinatesToGeometry","111","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","alert","warning","112","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","113","FormService","FormComponent","_get","object","receiver","desc","getOwnPropertyDescriptor","getter","_g3wObject2","_FormBody2","_getDefaultExpression","_getFilterExpression","_classCallCheck","_possibleConstructorReturn","addComponents","addComponent","getFormPercentage","headerComponent","setComponent","_setInitForm","parentData","_options$title","formId","_options$buttons","context_inputs","isnew","_options$footer","disabledcomponents","isNew","tovalidate","componentstovalidate","filter_expression_fields_dependencies","default_expression_fields_dependencies","default_expression_fields_on_update","listenChangeInput","setFormFields","setFormStructure","evaluateFilterExpressionFields","evaluateDefaultExpressionFields","isUpdated","_options$force","dependency_field","getDefaultExpression","_getField","getFilterExpression","filter_expression","referencing_fields","dependency_fields","_filter_expression$re","_filter_expression$re2","_default_expression$r","_default_expression$r2","apply_on_update","_default_expression$a","_field$input$options","_handleFieldWithFilterExpression","_handleFieldWithDefaultExpression","setFormPercentage","_input_name","_valid","inputname","filled","input_name","_component$header","eventBus","disableId","setIdHeader","getRootComponent","addedcomponentto","session","requested_expressions","pending_expressions","dFs","setters","setInitForm","handleFieldsWithExpression","setupFields","setFormData","setField","setState","_setState","addActionsForForm","components/Form.vue","components/FormBody.vue","g3w-object","utils/getDefaultExpression","utils/getFilterExpression","114","_ref3$feature_count","queryUrl","queryurl","parsed","_createFilterFormInputs","createFilterFormInputs","raw","autozoom_query","_relation$fieldRef","search_1n","search_1n_relationid","outputDataPlace","SearchPanel","search_endpoint","querylayerid","otherquerylayerids","op","_len","_key","_GUI$getService$getMa","_GUI$getService$getMa2","panel","createFilter","vueSearchComp","components/SearchPanel.vue","utils/createFilterFormInputs","115","VueColor","Proxy","fromEntries","prop","Reflect","overviewproject","VueCookie","vue-cookie","116","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","117","removeAttribute","118","119","_utils","directives/utils","120","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","g3w_observer","121","oldValue","122","tPlugin","123","_require","124","_el","_ref$el","componentUpdated","oldVnode","125","handleInnerHTML","__currentBinding","__innerHTML","126","çç","_cloneDeep","deprecate","merge","destination","Component","_G3WObject","iconConfig","_this$events$open$whe","_setOpen","_setVisible","setDisabled","_reload","_firstLayout","_components","random","resizable","closewhenshowviewportcontent","setService","setInternalComponent","events","_this$events$open","when","_this$events$open$cb","vueComponent","_service","propsData","internalComponentClass","$promisify","localize","$destroy","overwriteServiceMethods","extendInternalComponent","extendInternalComponentMethods","extendInternalComponentComponents","lodash.clonedeep","util-deprecate","127","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","GEOMETRY_FIELDS","DEFAULT_EDITING_CAPABILITIES","APP_VERSION","_version","_version2","gte","lte","NOT","eq","gt","lt","IN","LIKE","ILIKE","AND","OR","ltgt","ilike","like","POINT","POINTZ","POINTM","POINTZM","POINT25D","MULTIPOINT","MULTIPOINTZ","MULTIPOINTM","MULTIPOINTZM","MULTIPOINT25D","LINESTRING","LINESTRINGZ","LINESTRINGM","LINESTRINGZM","LINESTRING25D","LINE","LINEZ","LINEM","LINEZM","LINE25D","MULTILINESTRING","MULTILINESTRINGZ","MULTILINESTRINGM","MULTILINESTRINGZM","MULTILINESTRING25D","MULTILINE","MULTILINEZ","MULTILINEM","MULTILINEZM","MULTILINE25D","POLYGON","POLYGONZ","POLYGONM","POLYGONZM","POLYGON25D","MULTIPOLYGON","MULTIPOLYGONZ","MULTIPOLYGONM","MULTIPOLYGONZM","MULTIPOLYGON25D","GEOMETRYCOLLECTION","GEOMETRYCOLLECTIONZ","GEOMETRYCOLLECTIONM","GEOMETRYCOLLECTIONZM","GEOMETRYCOLLECTION25D","change-map","info-circle","globe","mail","fax","bars","uncheck","checkmark","filluncheck","trash","trash-o","pencil","ellips-h","ellips-v","arrow-up","arrow-down","arrow-left","arrow-right","resize-h","resize-v","resize-default","caret-up","caret-down","caret-left","caret-right","empty-circle","cloud-upload","spinner","minus","minus-square","plus","plus-circle","plus-square","grid","home","sign-out","calendar","link","unlink","eye","eye-close","video","unknow","zip","excel","xls","gpx","gpkg","shapefile","geotiff","ppt","circle","calculator","picture","keyboard","file-download","copy","chart-line","chart-area","chart-pie","crosshairs","file-upload","wifi","copy-paste","vector-square","invert","palette","sign-in","pin","square","move","moon","sun","refresh","pause","step-backward","fast-backward","step-forward","fast-forward","crop","exit","reply","share","share-alt","external-link","pointer","camera","measure","tint","copyright","EXCLUDE","./version","128","129","_g3wConstants2","_application4","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_createSelectedStyle","_areCoordinatesEqual","_splitFeature","_within","_intersects","_distance","_getProjectUrl","_setProjectAliasUrl","_getProjectConfigByGid","_getProject","_tasks2","_measurecontrol","_mixins2","_createMeasureTooltip","_removeMeasureTooltip","_layersstore","_tablelayer","_vectorlayer","_featuresstore","_inherit","_base","_colorHEXToRGB","Plugin","PluginService","MapLayersStoresRegistry","FieldsService","constant","G3WObject","utils","inherit","uniqueId","colorHEXToRGB","geoutils","createSelectedStyle","areCoordinatesEqual","splitFeature","within","intersects","distance","Geometry","GeometryTypes","removeZValueToOLFeatureGeometry","getOLGeometry","isMultiGeometry","isLineGeometryType","isPolygonGeometryType","is3DGeometry","ApplicationService","task","TaskService","DataRouterService","errors","parsers","Server","ProjectsRegistry","setCurrentProject","getProjectUrl","setProjectAliasUrl","getProjectConfigByGid","getCurrentProject","MapLayersStoreRegistry","CatalogLayersStoresRegistry","LayersStore","TableLayer","VectorLayer","FeaturesStore","PickCoordinatesInteraction","PickFeatureInteraction","inputService","handleFilterExpressionFormInput","handleDefaultExpressionFormInput","GUI","Panel","ComponentsFactory","build","G3WInput","InputsComponents","Mixins","services","interactions","controls","createMeasureTooltip","removeMeasureTooltip","$script","complete","finally","platform","console","pluginsConfigs","os","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","./g3w-plugin","_process","components/g3w-form","components/g3w-search","map/controls/measurecontrol","map/layers/feature","map/layers/featuresstore","map/layers/layersstore","map/layers/tablelayer","map/layers/vectorlayer","services/application","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","utils/distance","utils/getOLGeometry","utils/getProject","utils/getProjectConfigByGid","utils/getProjectUrl","utils/inherit","utils/intersects","utils/is3DGeometry","utils/isLineGeometryType","utils/isMultiGeometry","utils/isPolygonGeometryType","utils/removeMeasureTooltip","utils/removeZValueToOLFeatureGeometry","utils/setProjectAliasUrl","utils/splitFeature","utils/within","130","getAppLanguage","addI18n","i18nObject","addResource","addI18nPlugin","_lang","131","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","132","onShow","onClose","133","setPlugin","dependencies","api","_api","getConfig","hook","_hook","hookservices","default_config","width_default","height_default","width_100","_ready","setLayout","_timeout","iscompatible","isCurrentProjectCompatible","registerPlugin","pluginsName","getDependencyPlugin","getDependencyPlugins","pluginName","_ref3$hook","_ref3$loading","getHookService","_ref4$hook","addToolGroup","removeToolGroup","setHookService","configs","addTools","_ref6$state","toolsGroups","removeTools","sidebarOptions","removeComponent","clearAllEvents","dependency","addFontClass","fc","_ref$name","_ref$config","_ref$service","_ref$dependencies","_ref$i18n","_ref$fontClasses","fontClasses","_ref$api","setName","setConfig","setLocale","setDependencies","addFontClasses","setApi","currentLayout","own","_pluginEvents","_ref10$once","_ref11$params","removeEvent","unsubscribeAllEvents","_appEvents","layoutName","134","_locales2","_App2","_GlobalImage2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","ACTIONS","directive","use","install","_isMobile","mixin","any","inheritAttrs","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","paginate","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","interfaceowsurl","views","i18nextXHRBackend","ns","fallbackLng","resources","jqueryI18next","tName","i18nName","handleName","selectorAttr","targetAttr","optionsAttr","useOptionsAttr","parseDefaultValueFromContent","ajaxSetup","beforeSend","xhr","setRequestHeader","minscale","maxscale","initproject","addLayersStore","addClass","search_title","localeCompare","addTool","tt","stop","removeTool","_t2","groupName","G3wTool","state.toolsGroups","getLayersTree","_ref5$type","_ref6$type","createLayersGroup","_ref7$title","_ref7$layers","addLayersGroup","getExternalLayers","_ref8$type","getComponentById","gidProject","enabledPlugins","otherPluginsConfig","configurationPlugins","law","baseUrl","jsscripts","responseJSON","compile","./deprecated","./g3w-globals","components/App.vue","components/Catalog.vue","components/GlobalBarLoader.vue","components/GlobalDateTime.vue","components/GlobalDivider.vue","components/GlobalHelpDiv.vue","components/GlobalImage.vue","components/GlobalProgressBar.vue","components/GlobalRange.vue","components/GlobalTabs.vue","components/Map.vue","components/Print.vue","components/QueryResults.vue","components/Search.vue","components/SidebarItem.vue","components/SpatialBookMarks.vue","directives/v-checked","directives/v-disabled","directives/v-download","directives/v-select2","directives/v-t","directives/v-t-html","directives/v-t-plugin","directives/v-t-title","directives/v-t-tooltip","locales","services/iframe","services/queryresults","135","translation","error_page","at_moment","f5","cookie_law","sign_in","layer_selection_filter","nofilter","show_features_on_map","savefilter","filterName","not_supported_format","layer_position","sdk","template_dialog","spatialbookmarks","helptext","sections","no_results","error_loading","layer_not_searchable","layer_not_querable","inputshort","pre","no_layers","download_image","fids_instruction","fids_example","number_of_features","error_run","error_test","additem","unsupported_format","add_external_layer","fees","accessconstraints","contactinformation","subfields","contactorganization","ContactOrganization","contactposition","ContactPosition","contactperson","ContactPerson","wms_url","attribution","tooltips","form_to_row","row_to_form","zoomtogeometry","copy_map_extent_url","download_shapefile","download_gpx","download_gpkg","download_csv","download_xls","download_pdf","show_chart","add_selection","zoom_to_features_extent","add_features_to_results","remove_feature_from_results","zoom_to_feature","relations_charts","download_features_shapefile","download_features_gpx","download_features_gpkg","download_features_csv","download_features_xls","copy_zoom_to_fid_url","queryby","none","new","querybypolygon","querybydrawpolygon","querybbox","querybycircle","choiches","feature_polygon","no_geometry","nolayers_visible","addlayer","geolocation","measures","area","no_valid_scale","scaleline","metric","nautical","zoomhistory","zoom_last","zoom_next","relation_data","no_relations_found","back_to_relations","list_of_relations_feature","error_missing_father_field","form","input_validation_mutually_exclusive","input_validation_error","input_validation_min_field","input_validation_max_field","input_validation_exclude_values","qgis_input_widget_relation","current_map_theme_prefix","choose_map_theme","choose_map_theme_input_label","project_map_theme","user_map_theme","question_delete_map_theme","delete_map_theme","saved_map_theme","updated_map_theme","invalid_map_theme_name","layerposition","setwmsopacity","copied","shp","geotiff_map_extent","wps","list_process","g3wSuiteFramework","g3wSuiteDescription","productOf","toggle_color_scheme","logout","no_other_projects","no_other_groups","yes","no","backto","changemap","change_session","create_print","dosearch","externalwms","nobaselayer","street_search","copy_form_data","paste_form_data","copy_form_data_from_feature","error_map_loading","check_internet_connection_or_server_admin","could_not_load_vector_layers","server_saver_error","server_error","cancel","dont_show_again","enlange_reduce","reset_default","exitnosave","annul","layer_is_added","add_wms_layer","delete_wms_url","layer_id_already_added","url_already_added","layer_add_error","list_of_relations","open_link","link_button","choose_layer","noresults","notresponseserver","add_layer_control","select_projection","select_field_to_show","select_csv_separator","select_csv_x_field","select_csv_y_field","select_color","drag_layer","input_relation","screenshot","securityError","catalog_items","zoomtolayer","open_attribute_table","show_metadata","vector_color_menu","layer_opacity","no_data","nodatafilterd","136","geoscreenshot","persistent_data","persistent_help","ogc_services","query_filter","sidebar_menu","choose_type","remote_wms_url","local_file","embed_map","homepage","137","138","wms_layer_id_already_added","wms_url_already_added","139","_it2","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","translations","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","140","141","geolocations","142","143","144","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","145","InteractionControl","_ol$control$Control","_control","positionCode","interactionClass","customClass","cursorClass","_originalonlick","_onclick","onclick","_enabled","eventKeys","_handleClick","_toggled","_interactionClassOptions","interactionClassOptions","initInteraction","getViewport","_spatialMethod","eventKey","_options$visible","_options$enabled","_options$toggled","_options$clickmap","clickmap","_options$interactionC","_options$autountoggle","autountoggle","_options$geometryType","geometryTypes","_options$onhover","onhover","_options$help","toggledTool","_options$interactionC2","_options$layers","spatialMethod","unwatches","_visible","_interactionClass","_interaction","_autountoggle","_geometryTypes","_onhover","_help","_helpButton","_toolButton","_createModalHelp","createControlTool","setEnable","runSpatialQuery","setSpatialMethod","eventType","originalHandler","pos","hWhere","hOffset","previusControls","previusControl","offset","btn","onSetMap","setMap","setActive","setMouseCursor","newPosition","controlWidth","outerWidth","each","first","toggleClass","getSpatialMethod","toggleUserMessage","how","prepend","showToggledTool","hover","__title","__iconClass","getControls","onToggled","Control","146","MeasureControl","Draw","_clearMessagesAndListeners","_map","measureTooltip","_measureTooltipElement","_helpTooltipElement","_featureGeometryChangelistener","_poinOnMapMoveListener","_keyDownEventHandler","setGeometry","Polygon","getCoordinates","LineString","removeLastPoint","dragging","_helpMsg","_helpTooltip","setPosition","removeOverlay","Overlay","positioning","addOverlay","getElement","setOffset","measureStyle","drawColor","lineDash","Circle","_projection","_drawStart","_drawEnd","ntype","otype","addType","147","QueryBy","POLYGON_TYPES","CONTROLS","QUERY","dfeature","getSelectedLayerId","queryable","_hasVisible","setRadius","update__ALL__Text","selectedLayerNotQuerable","showAddLayerModal","autorun","setTocHighlightable","templateType","templateLayer","externalLayers","getLegacyExternalLayers","_unwatches","DragBox","_getAvailableLayers","startCoord","boundingExtent","setEventKey","getRadius","finishDrawing","_ref7$data","addControl","getEnable","isQueryable","getGeometryTypes","unWatches","addExternal","layersFilterObject","SELECTED_OR_ALL","FILTERABLE","VISIBLE","filtrable","multilayers","querymultilayers","filterConfig","excludeSelected","fromCircle","SELECTED","_ref10$error","isFilterable","getQuerableLayersStores","getProvider","148","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","149","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","150","StreetViewControl","GoogleStreetViewApiUrl","google","keyError","responseText","_sv","_panorama","_lastposition","_streetViewFeature","dx","dy","atan2","pixel","StreetViewService","getPanorama","StreetViewPanorama","imageDateControl","lnglat","getPixelFromCoordinate","setPov","pitch","heading","latLng","showStreetView","_ol$proj$transform","_ol$proj$transform2","clearMarker","_toggle","addFeatures","151","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","152","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","153","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","154","_g3wObject","_features","_provider","_loadedIds","_lockIds","_addFeature","_removeFeature","updateFeature","_updateFeature","_clearFeatures","_filterFeaturesResponse","commit","commitItems","featurestore","lockids","featuresLockedByOtherUser","lockFeatures","_options$features","_options$featurelocks","featurelocks","featureid","fl","featuresToAdd","featureId","lockIds","union","155","BaseClass","checkUrl","map_crs","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","156","ImageLayer","_geoMixin2","_get_legend_params2","withLayers","_olLayer","_makeOlLayer","allLayers","layerObj","TileArcGISRest","resolutions","iframe_internal","getWMSLayerName","cache_type","cache_layer","cache_extent","cache_grid","cache_grid_extent","tilegrid","createXYZ","getResolutions","WMTS","matrixSet","cache_format","tileGrid","getTopLeft","matrixIds","transparent","extraParams","tiled","XYZ","maxZoom","minZoom","crossOrigin","tileLoadFunction","tile","getImage","TileState","ERROR","TileGrid","getExtent","_method","mapUnits","OPACITIES","mapState","_get_legend_params","get_legend_params","getOpacity","updateParams","isArcgisMapserver","setMapParamstoLegendUrl","showSpinnerWhenLoading","LAYERTYPE","MULTILAYER","getInfoFormat","getGetFeatureInfoUrl","getQueryUrl","infourl","maxResolution","TileWMS","ImageWMS","TRANSPARENT","SLD_VERSION","sld_version","imageLoadFunction","_ref6$force","project_type","layerForEditing","setEditingLayer","isExternalWMS","isWmsUseLayerIds","isLayerProjectionASMapProjection","_ref7$type","source_layer","_hasExternalWMSOrLegend","_getBaseLayerName","_ref9$type","wmsUrl","infolayer","replaceAll","getInfoFormats","useProxy","_config$bbox","is_qgis","getServerType","layertitle","ctx_legend","_params$customParams","customParams","_params$customParams$","_params$customParams$2","fontsize","_params$customParams$3","boxspace","layerspace","_params$customParams$4","layertitlespace","symbolspace","iconlabelspace","symbolwidth","symbolheight","itemfontfamily","layerfontfamily","layerfontbold","itemfontbold","layerfontitalic","itemfontitalic","rulelabel","_params$customParams$5","legendUrl","wfscapabilities","capabilities","_mapLayer","getOwsMethod","cache_service_type","getCacheUrl","isWMS","setAttributions","_BASE_LAYER","IMAGE","setup","OSM","basemap","streets","aerial","aerialwithlabels","preload","BingMaps","imagerySet","bing","getProjectionFromCrs","_this3$config","_this3$config$format","_this3$config$style","requestEncoding","grid_extent","getWidth","z","pow","singleTile","_this3$config2","_this3$config2$visibl","map/layers/geo-mixin","utils/get_legend_params","157","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","geojson","readFeatures","mapProjection","dataProjection","qgis","_projections","is_table","getMapProjection","_filter","QUERY_LAYERS","FEATURE_COUNT","I","J","FILTER","WITH_GEOMETRY","nofeatures","nofeatures_field","lk","_opts$layers","_opts$size","_opts$coordinates","tolerance","query_point_tolerance","proxy","getWMSInfoLayerName","FILTER_GEOM","WKT","writeGeometry","FI_POINT_TOLERANCE","FI_LINE_TOLERANCE","FI_POLYGON_TOLERANCE","G3W_TOLERANCE","WIDTH","HEIGHT","BBOX","SOURCE","timer","race","uri","getDataProxyFromServer","wfs","MAXFEATURES","TYPENAME","getWFSLayerName","OUTPUTFORMAT","SRSNAME","reproject","WFS","writeGetFeature","featureTypes","repeat","DOWNLOAD_FORMATS","download_raster","_ref49","_ref42","_ref39","_ref35","_ref34","_ref33","_ref32","_ref31","_ref30","_ref28","_ref27","_ref26","_ref24","_ref23","_ref22","suffixUrl","vectorUrl","rasterUrl","unlock","widget","_relations","suffix","origname","fatherField","childField","getChild","isLoading","getPrefix","setTitle","_length","_reloadRelationsInfo","_relationsInfo","fathers","father_child","relationKey","getLength","_ref13$type","setRelations","getRelationByFatherChildren","isChild","isFather","hasChildren","getChildren","hasFathers","getFathers","layerType","canShowTable","downloadable","isDownloadable","attributetable","tochighlightable","selectionFids","layersstore","proxyData","_ref15$data","getFilterToken","_ref16$data","getDownloadFilefromDownloadDataType","_ref17$data","_ref18$data","_ref19$data","_ref20$data","_ref21$data","isBaseLayer","relationName","hasRelations","has_current","_applyFilterToken","hideOlSelectionFeatures","_x21","mode","setFilter","setFilterToken","_x22","_ref25","getSelection","_x23","createFilterToken","_x24","_ref29$data","fidsout","fidsin","setSelection","setInversionOlSelectionFeatures","createToken","is_excluded","setSelectionFidsAll","isSelectionActive","setOlSelectionFeatureByFid","_x27","setselectionFidsAll","_x29","excludeSelectionFid","proxyParams","_ref36","setProxyData","wms_use_layer_ids","_this10","_ref37","_ref37$page","_ref37$page_size","_ref37$ordering","_ref37$search","_ref37$suggest","_ref37$formatter","_ref37$custom_params","custom_params","parseAttributes","getAttributes","_ref40","_ref40$fids","_ref40$formatter","_ref41","_this11","_options$search_endpo","_x44","_x45","_ref43","_ref43$raw","_ref43$formatter","getTableFields","editor_form_structure","customstyle","_editingLayer","editingLayer","CAPABILITIES","conditionalFiltrable","_this12","conditions","isFiltrable","layer_config_value","condition_attribute_values","qtimeseries","_ref46","ogcService","getSourceType","infoFormat","layerstore","not_show_attributes_table","_ref47","_ref47$options","_ref47$reset","_ref48","_ref48$options","_ref48$reset","changeFieldType","VECTOR","_ref50","cansole","warn","_x55","wms_getmap_format","components/Table.vue","utils/parseAttributes","utils/prompt","158","_isQueryable","setLayerSelected","addLayers","CACHED","BASELAYER","VECTORLAYER","HIDDEN","DISABLED","IDS","isSelected","isPrintable","TOC_ORDER","_getAllSiblingsChildrenLayersId","getLayersDict","getAttributeLabel","nodeIds","_getInitExtent","getInitExtent","_getInitExtent2","rootGroup","_traverseLayersTree","tocLayersId","full","_traverseLightLayersTree","getGeoLayers","setLayersTree","lightlayer","mutually-exclusive","_setLayersTreeGroupBBox","project_epsg","_ol$proj$transformExt","_ol$proj$transformExt2","extentCoordinate","minxx","159","_waitFor","_Layer","clearFeatures","setFeatures","setColor","_color","updateOlSelectionFeature","_ref5$constraints","constraints","waitFor","_editor","Editor","started","modified","getEditingSource","readEditingFeatures","getEditingFields","featuresstore","setFeaturesStore","addLockIds","createAttrs","_opts$exclude","_opts$get_default_val","forceNull","utils/waitFor","160","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","161","autocompleteRequest","162","showhelpicon","setUpdate","163","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","164","getFieldService","_fieldsService","sanitizeFieldValue","165","countNoTEmptyInputName","166","167","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_widget2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","mixins/widget","168","isMedia","169","DELAY_TYPE","delayWrapper","delayResize","delayTime","170","usecompleter","$container","171","172","173","174","_groupBy","_ref19","handleQueryPromises","responses","reason","contextAndMethod","_options$inputs","_options$outputs","query:coordinates","_ref4$layerIds","layerIds","_ref4$multilayers","_ref4$query_point_tol","_ref4$addExternal","_ref5$data","query:bbox","_ref7$feature_count","_ref7$filterConfig","_ref7$multilayers","_ref7$condition","_ref7$excludeSelected","_ref7$addExternal","_ref7$layersFilterObj","getQueryLayersPromisesByGeometry","fromExtent","_ref8$data","query:polygon","_ref10$feature_count","_ref10$filterConfig","_ref10$multilayers","_ref10$condition","_ref10$layerName","_ref10$excludeSelecte","_ref10$external","_ref10$type","messagetext","_ref11$data","search:features","searchFeatures","search:fids","_ref16$formatter","_ref16$fids","getFeatureByFids","olFeat","search:layersfids","_ref18$layers","_ref18$fids","_ref18$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref21","_ref21$method","_ref21$params","_ref21$headers","proxy:data","ows:wmsCapabilities","_ref24$feature_count","_ref24$query_point_to","_ref24$multilayers","_ref24$reproject","groupBy","getInfoUrl","getMultiLayerId","_ref27$filterConfig","_ref27$multilayers","_ref27$feature_count","_x18","utils/groupBy","175","_clearContents","_iframe2","COMPONENTS","SERVICES","navbar","setViewSizes","primaryView","secondaryView","main_sidebar","sideBarSpace","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","getReducedSizes","contentEl","reducedWidth","sideBarToggleEl","toggleWidth","_toggleWidth","reducedHeight","_closeUserMessage","backonclose","contents","headertools","_showView","jQuery","_layoutComponents","isready","push_content","bootbox","currentoutputplace","register","drawing","resizeFired","triggerResize","drawResize","componentId","downloadFnc","output","rid","pending_output","crid","setQueryResponse","errorToMessage","formComponent","_ref7$pop","disable","disableElement","clearState","_x16","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","176","_normalizeEpsg","normalizeEpsg","_getEpsgFromParam","_objectWithoutProperties","IframePluginService","AppService","EditingService","serviceNames","setLayers","eventResponseServiceHandler","postMessage","getMessage","dataPromise","outputData","_options$action","parser","writeFeatures","pendingactions","_evt$data","_evt$data$id","_evt$data$single","single","is_ready","getReady","stopPendingActions","BaseIframeService","_ref13$layers","setDependencyApi","dependencyApi","_ref15$noValue","noValue","_ref20$qgs_layer_id","_ref20$zoom","_ref20$highlight","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_x15","_params$coordinates","zoomTo","_ref29","_params$extent","_params$highlight","getQgsLayerId","findFeaturesWithGeometry","changeMap","responseObject","setSaveConfig","toolbox","hidePanel","_error","isRunning","stopEditing","subscribersHandlers","subscribe","subscribevents","unsubscribe","_ref38","configQglLayerId","getEditableLayersId","startAction","startstopediting","setActiveTool","getToolById","addSubscribeEvents","_x26","_x30","_options$action2","_this13","_x33","_this14","resetDefault","resetSubscribeEvents","canUndo","activeTool","_ref32$disableToolbox","disableToolboxes","setEnabled","setEditing","canRedo","cancelform","addfeature","closeeditingpanel","stopAction","utils/normalizeEpsg","177","_localforage2","_queryby","_geolocationcontrol","_streetviewcontrol","_scalecontrol","_screenshotcontrol","_MapControlZoomHistory2","_MapControlGeocoding2","MAP","offlineids","stores","animatingHighlight","removeLayersStore","getLayersStores","zoomtoextent","ZoomToExtent","Zoom","ScaleLine","OverviewMap","zoombox","_startCoordinate","runQuery","getQueryPointTolerance","getInteraction","streetview","addlayers","mouseposition","MousePosition","MapService","_controls","g3w","external_wms","external_vector","_externalInteractions","defaultsLayers","mapcenter","_style","highlightLayer","selectionLayer","layersExtraParams","_drawShadow","outer","_howManyAreLoading","_marker","onLayerLoadStart","onLayerLoadEnd","onLayerLoadError","onExtraParamsSet","updateMapLayers","_keyEvents","setupCustomMapParamsToLegendUrl","_setupCustomMapParamsToLegendUrl","setupControls","_config","header_terms_of_use_text","header_terms_of_use_link","getMapLayers","Attribution","coordinateFormat","_ref7$","createMapControl","coords","undefinedHTML","setCoordinateFormat","createStringXY","View","_calculateViewOptions","constrainCenter","collapseLabel","mapLayer","WMSUrl","showMarker","addHideMap","_ref10$switchable","idMap","setHidden","setupViewer","showmarker","iframetype","zoom_to_fid","zoom_to_features","currentControl","can_drag","olMap","Map","rotateOptions","autoHide","DragRotate","platformModifierKeyOnly","ol3Logo","keyboardEventTarget","getZoom","dispose","goTo","_fit","changeBaseLayer","insertAt","getInteractions","DoubleClickZoom","interval","elapsed","frameState","easing","easeOut","getCurrentToggledMapControl","getActiveTool","zoomToFid","zoomToFeaturesUrl","getResolutionForExtent","background_color","int","_watchInteraction","stopEvent","setLayerZIndex","getZIndex","_setupAllLayers","setUpMapOlEvents","_setUpEventsKeysToLayersStore","_removeEventsKeysToLayersStore","_x13","controlClick","mapcontrol","loadExternalLayer","unloadExternalLayer","showSpinner","hideSpinner","show_load_layer_error","shown","dynamicLegend","_ref16$layers","_ref16$mainview","olView","_idMap$map$getSize","setSize","navigator","msSaveBlob","msToBlob","toBlob","intersectGeom","getIntersectedFeatures","intersectsExtent","MultiPolygon","_ref19$add","_ref19$toggled","_ref19$options","_zoom_to_fid$split","_zoom_to_fid$split2","_ref22$data","pLayer","_zoom_to_features$spl","_zoom_to_features$spl2","_x25","addToMapControls","buttonControl","placement","enable","removeControl","hideControl","_this15","_ref26$close","_unToggleControls","getLayerConfigs","ml","getHeight","_this16","addLayerToMap","_this17","blayers","registerMapLayerListeners","setMapProjection","mapLayers","isQtimeseries","getFormat","_this18","unregisterMapLayerListeners","_ref34$zindex","_ref35$showSpinner","g3w_time","_this19","updateMapLayer","getBaseLayers","_this20","elId","_options$active","_this21","getActive","setZoom","animate","_this22","gtype","is_ol_geom","f_ext","is_multi","getGeometryAndExtentFromFeatures","highLightGeometry","_getGeometryAndExtent2","curr","containsExtent","goToRes","_x51","constrainResolution","setDefaultLayerStyle","geometryObj","hlayer","readGeometry","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this23","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this24","unWatch","onRemoveExternalLayer","externalLayer","_this25","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","components/MapControlGeocoding.vue","components/MapControlZoomHistory.vue","localforage","map/controls/geolocationcontrol","map/controls/queryby","map/controls/scalecontrol","map/controls/screenshotcontrol","map/controls/streetviewcontrol","178","_QueryResultsActionQueryPolygonCSVAttributes2","_layer4","QueryResultsService","layersId","queryResponse","FILTER_SELECTED","_vectorLayers","getVectorLayerFeaturesFromQueryRequest","drawpolygon","resultsQueryLayer","is_layer","is_vector","is_string","sourceType","layerAttrs","specialAttrs","layerAttr","featureAttr","_setRelationField","relationsattributes","_atlas","setLayersData","_projectLayerIds","updateLayerResultFeatures","addActionsForLayers","closeComponent","changeLayerResult","activeMapInteraction","unlistenerlayeractionevents","plotLayerIds","currentactionfeaturelayer","_addFeaturesLayerResultInteraction","toggleeventhandler","_asyncFnc","todo","goToGeometry","_project","_setRelations","_ref4$id","_ref4$type","_ref4$position","responseLayer","features_ids","responseFeatures","feature_id","_getFeatureId","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","hint_changed","_ref9$component","_ref10$config","_ref11$component","_ref11$config","external_layer","not_current","new_layer","isOneLayerResult","querytitle","actionId","layerAction","_x17","_x19","_x20","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref15$atlas","_ref15$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","projectRelation","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","GIVE_ME_A_NAME","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","179","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","180","STATE","onLine","upload","stack","cloasable","181","PLUGINS","182","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","183","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","184","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","185","coordinates1","coordinates2","186","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","187","188","writeFeatureObject","189","matchDayInDate","190","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","191","MultiLineString","MultiPoint","192","tempinput","193","_ref$inputs","194","_ref$filter","RegExp","195","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","196","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","197","_ref$color","_ref$fill","asString","asArray","198","_ref$operator","_ref$logicop","199","JSZip","kmlFiles","arrayBuffer","kmlFile","_createVectorLayer","asText","KML","extractStyles","_createKMZLayer","_createZIPLayer","GPX","WMSGetFeatureInfo","_createCSVLayer","errorrows","rowvalues","_fields","unset","./getUniqueDomId","200","func","201","c1","c2","sqrt","202","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","203","propName","204","205","206","207","_ref5$fields","208","_field$input$options$","_data","209","orderbyvalue","210","211","listable","212","213","214","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","_imagelayer","createLayersTree","215","216","217","218","219","220","221","keyFn","222","childCtor","parentCtor","tempCtor","223","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","224","type3D","225","226","227","228","229","230","231","layerAttributes","featureAttributes","featureAttributesName","232","_reverseGeometry","NUMERIC_FIELD","reverseGeometry","_ref3$type","_traverseErrorMessage","getQueryLayerOrigName","part","geometryName","_ref5$layers","_ref5$wms","layersFeatures","defaultDataProjection","g3w_fid","originalFeatureMember","_ref9$wms","_ref9$id","invalids","XMLSerializer","serializeToString","matchAll","x2js","fromCharCode","X2JS","xml_str2json","ServiceExceptionReport","ServiceException","FeatureCollection","featureMember","xml","grouped","fm","__prefix","_fm","_fid","__text","sub_index","json2xml_str","olfeatures","is_reprojected","invalid","_ref12$layers","errorObject","entry","utils/reverseGeometry","233","multi","FETCH","EXP_FILTER","DOWNLOAD","_ref$params","_ref3$params","234","235","vueInput","okBtn","236","237","238","_reverseCoords","_coords","239","url1","url2","240","241","242","splitfeature","geometries","splittedFeatureGeometries","polygonFeature","lineFeatureGeometry","geomClass","splitFeatures","isZType","polygonFeatureGeometry","externalPolygonFeatureGeometry","splitGeometry","holePolygons","getLinearRingCount","holeFeaturesGeometry","holeRing","operation","polygonize","Polygonizer","holyPolygonUnion","toArray","polygonizer","polygons","polygonCoordinates","zCoordinates","difference","write","is_single","_ret","splitted","splittedSegments","jstsFromWkt","WKTReader","wktFromOl","splitLine","wktLineString","targetCoordinates","targetLine","geometryFactory","GeometryFactory","pointsNotSplitted","endPoint","startPoint","segment","createLineString","intersectCoordinates","intersection","splitPoint","lineNewSegment","restOfLine","pointNotSplitted","243","lastCall","previousCall","244","245","predicate","246","247"],"mappings":"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CACLjE,KAAM,eACR,EACA++C,qBAAsB,CACpB/+C,KAAM,mEACN0W,YAAa,SACf,CACF,CACF,EACAsoC,QAAS,CACPvhH,MAAO,aACP6S,MAAO,kBACP2uG,KAAM,OACNC,IAAK,kBACLpsF,IAAK,MACL/S,QAAS,CACP4lF,WAAY,aACZD,OAAQ,QACV,EACAyZ,eAAgB,CACdtgF,QAAS,kBACX,EACAugF,mBAAoB,CAClBvgF,QAAS,gBACX,EACAwgF,UAAW,CACTxgF,QAAS,kBACX,EACAygF,cAAe,CACbzgF,QAAS,eACX,CACF,EAEAsgF,eAAgB,CACd1+E,SAAU,CACRhjC,MAAO,0BACP8hH,SAAU,CACRxvG,QAAS,CACPyT,MAAO,cACT,EACAg8F,gBAAiB,CACfh8F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,qBACT4gF,YAAa,iCACbx/D,KAAM,CACJ5pC,QAAS,iLACX,CACF,EACA+oG,mBAAoB,CAClBvgF,QAAS,gCACX,EACAwgF,UAAW,CACTxgF,QAAS,sBACT6gF,iBAAkB,8HAClBz/D,KAAM,CACJ5pC,QAAS,+FACX,CACF,EACAspG,SAAU,CACRj+F,SAAU,CACR6yC,IAAK,CACHm2B,QAAS,yGACX,CACF,EACA7rD,QAAS,kBACX,EACA+gF,YAAa,CACX/gF,QAAS,kBACX,EACAghF,SAAU,CACRvkH,OAAQ,CACNujC,QAAS,QACTohB,KAAM,2HACR,EACA6/D,KAAM,CACJjhF,QAAS,SACTohB,KAAM,qEACR,CACF,EACAmb,MAAO,CACL2kD,eAAgB,iBAClB,EACAC,UAAW,CACTz2C,MAAO,CACL02C,OAAQ,QACRC,SAAU,iBACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,eACb,CACF,EACAnxC,UAAW,CACToxC,cAAe,qBACfC,mBAAoB,4BACpBC,kBAAmB,2BACnBC,0BAA2B,oCAC3BC,2BAA4B,iBAC5B3+G,MAAO,oBACT,EACA4+G,KAAM,CACJzzF,QAAS,YACT+uB,OAAQ,CACNv6B,SAAU,CACR+kF,OAAQ,CACNlvF,UAAW,qGACb,CACF,EACAimG,SAAU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6C,MAAO,cACPniC,QAAS,SACX,EACAw4B,YAAa,CACX7a,MAAO,CACL5gB,QAAS,cACTwgC,QAAS,CACP++C,cAAe,CACbp+C,KAAM,sBACR,EACAq+C,wBAAyB,CACvBr+C,KAAM,yBACR,EACAs+C,wBAAyB,CACvBt+C,KAAM,gCACR,EACAu+C,4BAA6B,CAC3Bv+C,KAAM,6BACR,EACAw+C,gBAAiB,CACfx+C,KAAM,iBACR,EACAkP,UAAW,CACTlP,KAAM,gBACR,EACAy+C,iBAAkB,CAChBz+C,KAAM,sBACR,EACA0+C,4BAA6B,CAC3B1+C,KAAM,6BACR,EACA69C,mBAAoB,CAClB79C,KAAM,4BACR,EACA2+C,sBAAuB,CACrB3+C,KAAM,sBACR,EACA4+C,uBAAwB,CACtB5+C,KAAM,wBACR,EACA89C,aAAc,CACZ99C,KAAM,sBACR,EACA+9C,cAAe,CACb/9C,KAAM,uBACR,EACA6+C,sBAAuB,CACrB7+C,KAAM,uBACR,EACAg+C,aAAc,CACZh+C,KAAM,sBACR,EACA8+C,sBAAuB,CACrB9+C,KAAM,uBACR,EACAi+C,aAAc,CACZj+C,KAAM,sBACR,EACAk+C,aAAc,CACZl+C,KAAM,sBACR,EACAiE,MAAO,CACLjE,KAAM,aACR,EACA++C,qBAAsB,CACpB/+C,KAAM,iBACN0W,YAAa,QACf,CACF,CACF,EACAsoC,QAAS,CACPvhH,MAAO,aACP6S,MAAO,kBACP2uG,KAAM,OACNC,IAAK,kBACLpsF,IAAK,MACL/S,QAAS,CACP4lF,WAAY,aACZD,OAAQ,QACV,EACAyZ,eAAgB,CACdtgF,QAAS,kBACX,EACAugF,mBAAoB,CAClBvgF,QAAS,gBACX,EACAwgF,UAAW,CACTxgF,QAAS,kBACX,EACAygF,cAAe,CACbzgF,QAAS,eACX,CACF,EACAsgF,eAAgB,CACd1+E,SAAU,CACRhjC,MAAO,sBACP8hH,SAAU,CACRxvG,QAAS,CACPyT,MAAO,eACT,EACAg8F,gBAAiB,CACfh8F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,mBACT4gF,YAAa,0BACbx/D,KAAM,CACJ5pC,QA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ACR,EACAy+C,iBAAkB,CAChBz+C,KAAM,sBACR,EACA0+C,4BAA6B,CAC3B1+C,KAAM,iCACR,EACA69C,mBAAoB,CAClB79C,KAAM,iCACR,EACA2+C,sBAAuB,CACrB3+C,KAAM,iCACR,EACA4+C,uBAAwB,CACtB5+C,KAAM,kCACR,EACA89C,aAAc,CACZ99C,KAAM,iCACR,EACA+9C,cAAe,CACb/9C,KAAM,kCACR,EACA6+C,sBAAuB,CACrB7+C,KAAM,iCACR,EACAg+C,aAAc,CACZh+C,KAAM,iCACR,EACA8+C,sBAAuB,CACrB9+C,KAAM,iCACR,EACAi+C,aAAc,CACZj+C,KAAM,iCACR,EACAk+C,aAAc,CACZl+C,KAAM,iCACR,EACAiE,MAAO,CACLjE,KAAM,eACR,EACA++C,qBAAsB,CACpB/+C,KAAM,oDACN0W,YAAa,QACf,CACF,CACF,EACAsoC,QAAS,CACPvhH,MAAO,aACP6S,MAAO,kBACP2uG,KAAM,OACNC,IAAK,kBACLpsF,IAAK,MACL/S,QAAS,CACP4lF,WAAY,aACZD,OAAQ,QACV,EACAyZ,eAAgB,CACdtgF,QAAS,kBACX,EACAugF,mBAAoB,CAClBvgF,QAAS,gBACX,EACAwgF,UAAW,CACTxgF,QAAS,kBACX,EACAygF,cAAe,CACbzgF,QAAS,eACX,CACF,EACAsgF,eAAgB,CACd1+E,SAAU,CACRhjC,MAAO,sBACP8hH,SAAU,CACRxvG,QAAS,CACPyT,MAAO,eACT,EACAg8F,gBAAiB,CACfh8F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,uBACT4gF,YAAa,0BACbx/D,KAAM,CACJ5pC,QAAS,+IACX,CACF,EACA+oG,mBAAoB,CAClBvgF,QAAS,+BACX,EACAwgF,UAAW,CACTxgF,QAAS,+BACT6gF,iBAAkB,+FAClBz/D,KAAM,CACJ5pC,QAAS,4GACX,CACF,EACAipG,cAAe,CACbzgF,QAAS,wBACTrb,MAAO,SACPy8B,KAAM,CACJ5pC,QAAS,+CACX,CACF,EACAspG,SAAU,CACRj+F,SAAU,CACR6yC,IAAK,CACHm2B,QAAS,2FACX,CACF,EACA7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CAClB79C,KAAM,wBACR,EACA2+C,sBAAuB,CACrB3+C,KAAM,kBACR,EACA4+C,uBAAwB,CACtB5+C,KAAM,mBACR,EACA89C,aAAc,CACZ99C,KAAM,kBACR,EACA+9C,cAAe,CACb/9C,KAAM,mBACR,EACA6+C,sBAAuB,CACrB7+C,KAAM,kBACR,EACAg+C,aAAc,CACZh+C,KAAM,kBACR,EACA8+C,sBAAuB,CACrB9+C,KAAM,kBACR,EACAi+C,aAAc,CACZj+C,KAAM,kBACR,EACAk+C,aAAc,CACZl+C,KAAM,kBACR,EACAiE,MAAO,CACLjE,KAAM,cACR,EACA++C,qBAAsB,CACpB/+C,KAAM,yBACN0W,YAAa,2BACf,CACF,CACF,EACAsoC,QAAS,CACPvhH,MAAO,oBACP6S,MAAO,uBACP2uG,KAAM,UACNC,IAAK,qBACLpsF,IAAK,QACL/S,QAAS,CACP4lF,WAAY,YACZD,OAAQ,aACV,EACAyZ,eAAgB,CACdtgF,QAAS,uBACX,EACAugF,mBAAoB,CAClBvgF,QAAS,qBACX,EACAwgF,UAAW,CACTxgF,QAAS,uBACX,EACAygF,cAAe,CACbzgF,QAAS,oBACX,CACF,EACAsgF,eAAgB,CACd1+E,SAAU,CACRhjC,MAAO,qBACP8hH,SAAU,CACRxvG,QAAS,CACPyT,MAAO,eACT,EACAg8F,gBAAiB,CACfh8F,MAAO,kCACT,CACF,CACF,EACAqb,QAAS,yBACT4gF,YAAa,2CACbx/D,KAAM,CACJ5pC,QAAS,iGACX,CACF,EACA+oG,mBAAoB,CAClBvgF,QAAS,sCACTohB,KAAM,CACJ5pC,QAAS,yKACX,CACF,EACAgpG,UAAW,CACTxgF,QAAS,qBACT6gF,iBAAkB,wHAClBz/D,KAAM,CACJ5pC,QAAS,iIACX,CACF,EACAipG,cAAe,CACbzgF,QAAS,qCACTrb,MAAO,SACPy8B,KAAM,CACJ5pC,QAAS,+DACX,CACF,EACAspG,SAAU,CACRj+F,SAAU,CACR6yC,IAAK,CACHm2B,QAAS,4FACX,CACF,EACA7rD,QAAS,kBACX,EACA+gF,YAAa,CACX/gF,QAAS,yBACX,EACAghF,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ACAiE,MAAO,CACLjE,KAAM,gBACR,EACA++C,qBAAsB,CACpB/+C,KAAM,8DACN0W,YAAa,YACf,CACF,CACF,EACAsoC,QAAS,CACPvhH,MAAO,aACP6S,MAAO,kBACP2uG,KAAM,OACNC,IAAK,kBACLpsF,IAAK,MACL/S,QAAS,CACP4lF,WAAY,aACZD,OAAQ,QACV,EACAyZ,eAAgB,CACdtgF,QAAS,kBACX,EACAugF,mBAAoB,CAClBvgF,QAAS,gBACX,EACAwgF,UAAW,CACTxgF,QAAS,kBACX,EACAygF,cAAe,CACbzgF,QAAS,eACX,CACF,EACAsgF,eAAgB,CACd1+E,SAAU,CACRhjC,MAAO,uBACP8hH,SAAU,CACRxvG,QAAS,CACPyT,MAAO,eACT,EACAg8F,gBAAiB,CACfh8F,MAAO,2BACT,CACF,CACF,EACAqb,QAAS,6BACT4gF,YAAa,8BACbx/D,KAAM,CACJ5pC,QAAS,8IACX,CACF,EACA+oG,mBAAoB,CAClBvgF,QAAS,8BACX,EACAwgF,UAAW,CACTxgF,QAAS,yBACT6gF,iBAAkB,sGAClBz/D,KAAM,CACJ5pC,QAAS,qFACX,CACF,EACAipG,cAAe,CACbzgF,QAAS,wBACTrb,MAAO,SACPy8B,KAAM,CACJ5pC,QAAS,+CACX,CACF,EACAspG,SAAU,CACRj+F,SAAU,CACR6yC,IAAK,CACHm2B,QAAS,yFACX,CACF,EACA7rD,QAAS,eACX,EACA+gF,YAAa,CACX/gF,QAAS,gBACX,EACAghF,SAAU,CACRvkH,OAAQ,CACNujC,QAAS,UACTohB,KAAM,gGACR,EACA6/D,KAAM,CACJjhF,QAAS,SACTohB,KAAM,wFACR,CACF,EACAmb,MAAO,CACL2kD,eAAgB,qBAClB,EACAC,UAAW,CACTz2C,MAAO,CACL02C,OAAQ,QACRC,SAAU,aACZ,CACF,EACAC,YAAa,CACXC,UAAW,eACXC,UAAW,YACb,CACF,EACAnxC,UAAW,CACToxC,cAAe,yBACfC,mBAAoB,iCACpBC,kBAAmB,oBACnBC,0BAA2B,wBAC3BC,2BAA4B,eAC5B3+G,MAAO,oBACT,EACA4+G,KAAM,CACJ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g+C,aAAc,CACZh+C,KAAM,2BACR,EACA8+C,sBAAuB,CACrB9+C,KAAM,2BACR,EACAi+C,aAAc,CACZj+C,KAAM,2BACR,EACAk+C,aAAc,CACZl+C,KAAM,2BACR,EACAiE,MAAO,CACLjE,KAAM,gBACR,EACA++C,qBAAsB,CACpB/+C,KAAM,oDACN0W,YAAa,QACf,CACF,CACF,EACAsoC,QAAS,CACPvhH,MAAO,aACP6S,MAAO,kBACP2uG,KAAM,OACNC,IAAK,kBACLpsF,IAAK,MACL/S,QAAS,CACP4lF,WAAY,aACZD,OAAQ,QACV,EACAyZ,eAAgB,CACdtgF,QAAS,kBACX,EACAugF,mBAAoB,CAClBvgF,QAAS,gBACX,EACAwgF,UAAW,CACTxgF,QAAS,kBACX,EACAygF,cAAe,CACbzgF,QAAS,eACX,CACF,EACAsgF,eAAgB,CACd1+E,SAAU,CACRhjC,MAAO,sBACP8hH,SAAU,CACRxvG,QAAS,CACPyT,MAAO,eACT,EACAg8F,gBAAiB,CACfh8F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,wBACT4gF,YAAa,0BACbx/D,KAAM,CACJ5pC,QAAS,6HACX,CACF,EACA+oG,mBAAoB,CAClBvgF,QAAS,wBACX,EACAwgF,UAAW,CACTxgF,QAAS,6CACT6gF,iBAAkB,8GAClBz/D,KAAM,CACJ5pC,QAAS,oHACX,CACF,EACAipG,cAAe,CACbzgF,QAAS,wBACTrb,MAAO,SACPy8B,KAAM,CACJ5pC,QAAS,+CACX,CACF,EACAspG,SAAU,CACRj+F,SAAU,CACR6yC,IAAK,CACHm2B,QAAS,2FACX,CACF,EACA7rD,QAAS,gBACX,EACA+gF,YAAa,CACX/gF,QAAS,kBACX,EACAghF,SAAU,CACRvkH,OAAQ,CACNujC,QAAS,QACTohB,KAAM,0FACR,EACA6/D,KAAM,CACJjhF,QAAS,SACTohB,KAAM,qFACR,CACF,EACAmb,MAAO,CACL2kD,eAAgB,WAClB,EACAC,UAAW,CACTz2C,MAAO,CACL02C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,YAC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"} \ No newline at end of file +{"version":3,"file":"app.min.js","sources":["build.js"],"sourcesContent":["(function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof require&&require;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t)}return n[i].exports}for(var u=\"function\"==typeof require&&require,i=0;i 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n},{}],2:[function(require,module,exports){\nvar inserted = exports.cache = {}\n\nfunction noop () {}\n\nexports.insert = function (css) {\n if (inserted[css]) return noop\n inserted[css] = true\n\n var elem = document.createElement('style')\n elem.setAttribute('type', 'text/css')\n\n if ('textContent' in elem) {\n elem.textContent = css\n } else {\n elem.styleSheet.cssText = css\n }\n\n document.getElementsByTagName('head')[0].appendChild(elem)\n return function () {\n document.getElementsByTagName('head')[0].removeChild(elem)\n inserted[css] = false\n }\n}\n\n},{}],3:[function(require,module,exports){\nvar _FieldText = require('components/FieldText.vue');\n\nvar _FieldText2 = _interopRequireDefault(_FieldText);\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldImage = require('components/FieldImage.vue');\n\nvar _FieldImage2 = _interopRequireDefault(_FieldImage);\n\nvar _FieldGeo = require('components/FieldGeo.vue');\n\nvar _FieldGeo2 = _interopRequireDefault(_FieldGeo);\n\nvar _FieldMedia = require('components/FieldMedia.vue');\n\nvar _FieldMedia2 = _interopRequireDefault(_FieldMedia);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nmodule.exports = {\n simple_field: _FieldText2.default,\n text_field: _FieldText2.default,\n link_field: _FieldLink2.default,\n image_field: _FieldImage2.default,\n geo_field: _FieldGeo2.default,\n photo_field: _FieldImage2.default,\n media_field: _FieldMedia2.default,\n vue_field: _FieldVue2.default\n};\n\n},{\"components/FieldGeo.vue\":45,\"components/FieldImage.vue\":46,\"components/FieldLink.vue\":47,\"components/FieldMedia.vue\":48,\"components/FieldText.vue\":49,\"components/FieldVue.vue\":50}],4:[function(require,module,exports){\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\nvar _toRawType = require('utils/toRawType');\n\nvar Fields = require('./fields');\n\nmodule.exports = {\n /**\n * Get Type field from field value\n * field: Object contains the value of the field\n * @param field\n * @returns {string}\n */\n getType: function getType(field) {\n var type = field.type;\n if ('vue' !== type) {\n var fieldValue = field.value;\n var value = fieldValue && 'Object' === (0, _toRawType.toRawType)(fieldValue) && !fieldValue.coordinates && !fieldValue.vue ? fieldValue.value : fieldValue;\n if (!value) {\n type = 'simple';\n } else if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n if (value.coordinates) {\n type = 'geo';\n } else if (value.vue) {\n type = 'vue';\n }\n } else if (value && Array.isArray(value)) {\n if (value.length && value[0].photo) {\n type = 'photo';\n } else {\n type = 'simple';\n }\n } else if (value.toString().toLowerCase().match(/[^\\s]+.(png|jpg|jpeg|gif)$/g)) {\n type = 'photo';\n } else if (value.toString().match(/^(https?:\\/\\/[^\\s]+)/g)) {\n type = 'link';\n } else {\n type = 'simple';\n }\n }\n return type + '_field';\n },\n isSimple: function isSimple(field) {\n return 'simple_field' === this.getType(field);\n },\n isLink: function isLink(field) {\n return 'link_field' === this.getType(field);\n },\n isImage: function isImage(field) {\n return 'image_field' === this.getType(field);\n },\n isPhoto: function isPhoto(field) {\n return 'photo_field' === this.getType(field);\n },\n isVue: function isVue(field) {\n return 'vue_field' === this.getType(field);\n },\n\n /**\n * Method to add a new field type to Fields\n * @param type\n * @param field\n */\n add: function add(_ref) {\n var type = _ref.type,\n field = _ref.field;\n\n Fields[type] = field;\n },\n\n /**\n * Remove field from a Fields list\n * @param type\n */\n remove: function remove(type) {\n delete Fields[type];\n }\n};\n\n},{\"./fields\":3,\"utils/toRawType\":242}],5:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(CheckBoxService, _Service);\n\n function CheckBoxService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, CheckBoxService);\n\n opts.validatorOptions = {\n values: opts.state.input.options.values.map(function (v) {\n return v;\n })\n };\n return _possibleConstructorReturn(this, (CheckBoxService.__proto__ || Object.getPrototypeOf(CheckBoxService)).call(this, opts));\n }\n\n _createClass(CheckBoxService, [{\n key: 'convertCheckedToValue',\n value: function convertCheckedToValue(checked) {\n checked = [null, undefined].includes(checked) ? false : checked;\n this.state.value = [true, false].includes(this.state.value) //check if is a boolean value\n ? (this.state.input.options.values.find(function (v) {\n return checked === v.checked;\n }) || {}).value //get boolean value\n : '' + (this.state.input.options.values.find(function (v) {\n return checked === v.checked;\n }) || {}).value; // Need to convert it to string because server return always string value\n return this.state.value;\n }\n }, {\n key: 'convertValueToChecked',\n value: function convertValueToChecked() {\n var _this2 = this;\n\n if ([null, undefined].includes(this.state.value)) {\n return false;\n }\n var option = this.state.input.options.values.find(function (v) {\n return _this2.state.value == v.value;\n });\n if (undefined === option) {\n option = this.state.input.options.values.find(function (v) {\n return false === v.checked;\n });\n this.state.value = option.value;\n }\n return option.checked;\n }\n }]);\n\n return CheckBoxService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],6:[function(require,module,exports){\nvar _InputCheckbox = require('components/InputCheckbox.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputCheckbox);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar CheckBoxInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = CheckBoxInput;\n\n},{\"components/InputCheckbox.vue\":64}],7:[function(require,module,exports){\nvar _InputColor = require('components/InputColor.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputColor.vue\":65}],8:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _convertQGISDateTimeFormatToMoment2 = require('utils/convertQGISDateTimeFormatToMoment');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(DateTimePickerService, _Service);\n\n function DateTimePickerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, DateTimePickerService);\n\n var _this = _possibleConstructorReturn(this, (DateTimePickerService.__proto__ || Object.getPrototypeOf(DateTimePickerService)).call(this, opts));\n\n _this.validatorOptions = {};\n return _this;\n }\n\n _createClass(DateTimePickerService, [{\n key: 'getLocale',\n value: function getLocale() {\n return window.initConfig.user.i18n ? window.initConfig.user.i18n : 'en';\n }\n }, {\n key: 'convertQGISDateTimeFormatToMoment',\n value: function convertQGISDateTimeFormatToMoment(datetimeformat) {\n return (0, _convertQGISDateTimeFormatToMoment2.convertQGISDateTimeFormatToMoment)(datetimeformat);\n }\n }, {\n key: 'setValidatorOptions',\n value: function setValidatorOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.validatorOptions = opts;\n }\n }]);\n\n return DateTimePickerService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/convertQGISDateTimeFormatToMoment\":187}],9:[function(require,module,exports){\nvar _InputDateTimePicker = require('components/InputDateTimePicker.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputDateTimePicker);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar DateTimePickerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = DateTimePickerInput;\n\n},{\"components/InputDateTimePicker.vue\":66}],10:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(FloatService, _Service);\n\n function FloatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FloatService);\n\n return _possibleConstructorReturn(this, (FloatService.__proto__ || Object.getPrototypeOf(FloatService)).call(this, opts));\n }\n\n return FloatService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],11:[function(require,module,exports){\nvar _InputFloat = require('components/InputFloat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputFloat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar FloatInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = FloatInput;\n\n},{\"components/InputFloat.vue\":67}],12:[function(require,module,exports){\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _InputBase = require('components/InputBase.vue');\n\nvar _InputBase2 = _interopRequireDefault(_InputBase);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputServices = require('./services');\n\nvar Input = {\n props: ['state'],\n mixins: [_mixins.baseInputMixin],\n components: {\n 'baseinput': _InputBase2.default\n },\n watch: {\n 'notvalid': function notvalid(_notvalid) {\n if (_notvalid) {\n this.service.setErrorMessage();\n }\n },\n 'state.value': function stateValue() {\n var _this = this;\n\n if (undefined !== this.state.input.options.default_expression) {\n // need to postpone state.value watch parent that use mixin\n setTimeout(function () {\n return _this.change();\n });\n }\n }\n },\n created: function created() {\n var _this2 = this;\n\n this.service = new InputServices[this.state.input.type]({ state: this.state });\n\n this.$watch(function () {\n return _application2.default.language;\n }, _asyncToGenerator(function* () {\n if (_this2.state.visible) {\n _this2.state.visible = false;\n _this2.service.setErrorMessage();\n yield _this2.$nextTick();\n _this2.state.visible = true;\n }\n }));\n\n if (this.state.editable && this.state.validate.required) {\n this.service.validate();\n }\n\n this.$emit('addinput', this.state);\n /**\n * in case of input value is fill with default value option we need to emit changeinput event\n * without check validation. Example:\n * {\n \"name\": \"id\",\n \"type\": \"integer\",\n \"label\": \"id\",\n \"editable\": false,\n \"validate\": {\n \"required\": true,\n \"unique\": true\n },\n \"pk\": true,\n \"default\": \"nextval('g3wsuite.zone_id_seq'::regclass)\",\n \"input\": {\n \"type\": \"text\",\n \"options\": {}\n }\n }\n in this case if we start a validation, it fail because default value is a string while input is interger\n */\n if (this.state.value_from_default_value) {\n this.$emit('changeinput', this.state);\n }\n },\n destroyed: function destroyed() {\n // emit remove input to form (in case for example tab visibility condition)\n this.$emit('removeinput', this.state);\n }\n};\n\nmodule.exports = Input;\n\n},{\"./services\":28,\"components/InputBase.vue\":63,\"mixins\":165,\"store/application\":178}],13:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(IntegerService, _Service);\n\n function IntegerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, IntegerService);\n\n return _possibleConstructorReturn(this, (IntegerService.__proto__ || Object.getPrototypeOf(IntegerService)).call(this, opts));\n }\n\n return IntegerService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],14:[function(require,module,exports){\nvar _InputInteger = require('components/InputInteger.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputInteger);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar IntegerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = IntegerInput;\n\n},{\"components/InputInteger.vue\":70}],15:[function(require,module,exports){\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(LonLatService, _Service);\n\n function LonLatService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LonLatService);\n\n var _this = _possibleConstructorReturn(this, (LonLatService.__proto__ || Object.getPrototypeOf(LonLatService)).call(this, opts));\n\n _this.coordinatebutton;\n _this.mapService = _gui2.default.getService('map');\n _this.mapEpsg = _this.mapService.getCrs();\n\n _this.mapControlToggleEventHandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n _this.coordinatebutton.active && _this.toggleGetCoordinate();\n }\n };\n _this.map = _this.mapService.getMap();\n _this.outputEpsg = _this.state.epsg || _this.mapEpsg;\n //Store event map key\n _this.eventMapKey;\n return _this;\n }\n\n _createClass(LonLatService, [{\n key: 'setCoordinateButtonReactiveObject',\n value: function setCoordinateButtonReactiveObject(coordinatebutton) {\n this.coordinatebutton = coordinatebutton;\n }\n }, {\n key: 'validate',\n value: function validate() {\n if (this.state.values.lon < -180) {\n this.state.values.lon = -180;\n } else if (this.state.values.lon > 180) {\n this.state.values.lon = 180;\n }\n if (this.state.values.lat < -90) {\n this.state.values.lon = -90;\n } else if (this.state.values.lat > 90) {\n this.state.values.lon = 90;\n }\n\n this.state.validate.valid = !Number.isNaN(1 * this.state.values.lon);\n }\n }, {\n key: 'toggleGetCoordinate',\n value: function toggleGetCoordinate() {\n this.coordinatebutton.active = !this.coordinatebutton.active;\n this.coordinatebutton.active ? this.startToGetCoordinates() : this.stopToGetCoordinates();\n }\n }, {\n key: 'startToGetCoordinates',\n value: function startToGetCoordinates() {\n var _this2 = this;\n\n this.mapService.deactiveMapControls();\n this.mapService.on('mapcontrol:toggled', this.mapControlToggleEventHandler);\n this.eventMapKey = this.map.on('click', function (evt) {\n evt.originalEvent.stopPropagation();\n evt.preventDefault();\n var coordinate = _this2.mapEpsg !== _this2.outputEpsg ? ol.proj.transform(evt.coordinate, _this2.mapEpsg, _this2.outputEpsg) : evt.coordinate;\n _this2.state.value = [coordinate];\n\n var _coordinate = _slicedToArray(coordinate, 2),\n lon = _coordinate[0],\n lat = _coordinate[1];\n\n _this2.state.values.lon = lon;\n _this2.state.values.lat = lat;\n });\n }\n }, {\n key: 'stopToGetCoordinates',\n value: function stopToGetCoordinates() {\n ol.Observable.unByKey(this.eventMapKey);\n this.mapService.off('mapcontrol:toggled', this.mapControlToggleEventHandler);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stopToGetCoordinates();\n }\n }]);\n\n return LonLatService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"services/gui\":173}],16:[function(require,module,exports){\nvar _InputLonLat = require('components/InputLonLat.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputLonLat);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar LatLontInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = LatLontInput;\n\n},{\"components/InputLonLat.vue\":71}],17:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(MediaService, _Service);\n\n function MediaService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MediaService);\n\n return _possibleConstructorReturn(this, (MediaService.__proto__ || Object.getPrototypeOf(MediaService)).call(this, opts));\n }\n\n return MediaService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],18:[function(require,module,exports){\nvar _InputMedia = require('components/InputMedia.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputMedia);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar MediaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = MediaInput;\n\n},{\"components/InputMedia.vue\":72}],19:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _pickfeatureinteraction = require('map/interactions/pickfeatureinteraction');\n\nvar _pickfeatureinteraction2 = _interopRequireDefault(_pickfeatureinteraction);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nmodule.exports = function () {\n function PickLayerService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickLayerService);\n\n this.pick_type = opts.pick_type || 'wms';\n this.ispicked = false;\n this.fields = opts.fields || [opts.value];\n this.layerId = opts.layer_id;\n this.mapService = _gui2.default.getService('map');\n this.interaction = 'map' === this.pick_type ? new _pickfeatureinteraction2.default({\n layers: [this.mapService.getLayerById(this.layerId)]\n }) : new _pickcoordinatesinteraction2.default();\n }\n\n /**\n *\n * @return {boolean|*}\n */\n\n\n _createClass(PickLayerService, [{\n key: 'isPicked',\n value: function isPicked() {\n return this.ispicked;\n }\n }, {\n key: 'escKeyUpHandler',\n\n\n /**\n * bind interrupt event\n */\n value: function escKeyUpHandler(_ref) {\n var keyCode = _ref.keyCode,\n owner = _ref.data.owner;\n\n if (27 === keyCode) {\n owner.unpick();\n }\n }\n }, {\n key: 'unbindEscKeyUp',\n value: function unbindEscKeyUp() {\n $(document).unbind('keyup', this.escKeyUpHandler);\n }\n }, {\n key: 'bindEscKeyUp',\n value: function bindEscKeyUp() {\n $(document).on('keyup', { owner: this }, this.escKeyUpHandler);\n }\n }, {\n key: 'pick',\n\n\n /**\n *\n * @return {Promise}\n */\n value: function pick() {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n _this.bindEscKeyUp();\n var values = {};\n _this.ispicked = true;\n var afterPick = function afterPick(feature) {\n if (feature) {\n var attributes = feature.getProperties();\n //filter eventually null or undefined field\n _this.fields.filter(function (f) {\n return f;\n }).forEach(function (field) {\n return values[field] = attributes[field];\n });\n resolve(values);\n } else {\n reject();\n }\n _this.ispicked = false;\n _this.unpick();\n };\n _gui2.default.setModal(false);\n _this.mapService.addInteraction(_this.interaction);\n\n _this.interaction.once('picked', function (e) {\n if ('map' === _this.pick_type) {\n var feature = e.feature;\n afterPick(feature);\n } else if ('wms' === _this.pick_type) {\n var layer = _gui2.default.getService('map').getProjectLayer(_this.layerId);\n if (layer) {\n _data2.default.getQueryLayersPromisesByCoordinates([layer], {\n map: _this.mapService.getMap(),\n feature_count: 1,\n coordinates: e.coordinate\n }).then(function (response) {\n var _response$0$data = response[0].data,\n data = _response$0$data === undefined ? [] : _response$0$data;\n\n var feature = data.length && data[0].features[0] || null;\n afterPick(feature);\n }).fail(function (e) {\n return console.warn(e);\n });\n }\n }\n });\n });\n }\n }, {\n key: 'unpick',\n\n\n /**\n *\n */\n value: function unpick() {\n this.mapService.removeInteraction(this.interaction);\n _gui2.default.setModal(true);\n this.unbindEscKeyUp();\n this.ispicked = false;\n }\n }, {\n key: 'clear',\n\n\n /**\n *\n */\n value: function clear() {\n if (this.isPicked()) {\n this.unpick();\n }\n this.mapService = this.interaction = this.field = null;\n }\n }]);\n\n return PickLayerService;\n}();\n\n},{\"map/interactions/pickcoordinatesinteraction\":149,\"map/interactions/pickfeatureinteraction\":150,\"services/data\":172,\"services/gui\":173}],20:[function(require,module,exports){\nvar _InputPickLayer = require('components/InputPickLayer.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputPickLayer);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar PickLayerInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = PickLayerInput;\n\n},{\"components/InputPickLayer.vue\":73}],21:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RadioService, _Service);\n\n function RadioService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RadioService);\n\n return _possibleConstructorReturn(this, (RadioService.__proto__ || Object.getPrototypeOf(RadioService)).call(this, opts));\n }\n\n return RadioService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],22:[function(require,module,exports){\nvar _InputRadio = require('components/InputRadio.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRadio);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RadioInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RadioInput;\n\n},{\"components/InputRadio.vue\":74}],23:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(RangeService, _Service);\n\n function RangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, RangeService);\n\n var _opts$state$input$opt = opts.state.input.options.values[0],\n min = _opts$state$input$opt.min,\n max = _opts$state$input$opt.max;\n\n opts.state.info = '[MIN: ' + min + ' - MAX: ' + max + ']';\n\n var _this = _possibleConstructorReturn(this, (RangeService.__proto__ || Object.getPrototypeOf(RangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * min && value <= 1 * max;\n }\n });\n return _this;\n }\n\n _createClass(RangeService, [{\n key: 'isValueInRange',\n value: function isValueInRange(value, min, max) {\n return value <= max && value >= min;\n }\n }]);\n\n return RangeService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],24:[function(require,module,exports){\nvar _InputRange = require('components/InputRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputRange.vue\":75}],25:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nmodule.exports = function (_Service) {\n _inherits(SelectService, _Service);\n\n function SelectService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SelectService);\n\n var _this = _possibleConstructorReturn(this, (SelectService.__proto__ || Object.getPrototypeOf(SelectService)).call(this, opts));\n\n _this.layer = null;\n return _this;\n }\n\n _createClass(SelectService, [{\n key: '_getLayerById',\n value: function _getLayerById(layer_id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer_id);\n }\n }, {\n key: 'addValue',\n value: function addValue(value) {\n this.state.input.options.values.push(value);\n }\n }, {\n key: 'sortValues',\n value: function sortValues() {\n var orderbyvalue = this.state.input.options.orderbyvalue;\n\n this.state.input.options.values.sort(function (a, b) {\n var val1 = a[orderbyvalue ? 'value' : 'key'];\n var val2 = b[orderbyvalue ? 'value' : 'key'];\n if (val1 < val2) {\n return -1;\n }\n if (val1 > val2) {\n return 1;\n }\n return 0;\n });\n }\n }, {\n key: 'getKeyByValue',\n value: function getKeyByValue() {\n var _this2 = this;\n\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n search = _ref.search;\n\n var _state$input$options = this.state.input.options,\n value = _state$input$options.value,\n key = _state$input$options.key;\n\n return new Promise(function (resolve, reject) {\n _this2.getData({\n key: key,\n value: value,\n search: search\n }).then(function (values) {\n values.forEach(function (_ref2) {\n var key = _ref2.$value,\n value = _ref2.text;\n\n _this2.addValue({\n key: key,\n value: value\n });\n });\n _this2.sortValues();\n resolve(_this2.state.input.options.values);\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }, {\n key: 'getData',\n\n\n /**\n *\n * @param layer_id\n * @param key\n * @param value\n * @param search\n * @return {Promise}\n */\n value: function getData() {\n var _this3 = this;\n\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$layer_id = _ref3.layer_id,\n layer_id = _ref3$layer_id === undefined ? this.state.input.options.layer_id : _ref3$layer_id,\n _ref3$key = _ref3.key,\n key = _ref3$key === undefined ? this.state.input.options.key : _ref3$key,\n _ref3$value = _ref3.value,\n value = _ref3$value === undefined ? this.state.input.options.value : _ref3$value,\n search = _ref3.search;\n\n return new Promise(function (resolve, reject) {\n var _this3$_layer$getData;\n\n if (!_this3._layer) {\n _this3._layer = _this3._getLayerById(layer_id);\n }\n _this3._layer.getDataTable((_this3$_layer$getData = {}, _defineProperty(_this3$_layer$getData, Array.isArray(search) ? 'field' : 'suggest', Array.isArray(search) //take in account multiselect value\n ? search.map(function (_, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: key, value: search[j], operator: \"eq\", logicop: null });\n }).join('|OR,') || '' : (key + '|' + search).trim()), _defineProperty(_this3$_layer$getData, 'ordering', _this3.state.input.options.orderbyvalue ? value : key), _this3$_layer$getData)).then(function (response) {\n var values = response.features.map(function (f) {\n return {\n text: f.properties[key],\n id: f.properties[value],\n $value: f.properties[value]\n };\n });\n resolve(values);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n }]);\n\n return SelectService;\n}(Service);\n\n},{\"gui/inputs/service\":27,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203}],26:[function(require,module,exports){\nvar _InputSelect = require('components/InputSelect.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSelect);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar SelectInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = SelectInput;\n\n},{\"components/InputSelect.vue\":76}],27:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _toRawType = require('utils/toRawType');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar Validators = {\n\n validators: {\n float: function float() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return !Number.isNaN(Number(1 * value));\n };\n },\n\n\n /**\n * @since v3.10.0\n * @param options\n */\n bigint: function bigint() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n value = 1 * value;\n return !Number.isNaN(value) ? value <= Number.MAX_SAFE_INTEGER : false;\n };\n },\n integer: function integer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n var integer = 1 * value;\n return !Number.isNaN(integer) ? Number.isSafeInteger(integer) && integer <= 2147483647 : false;\n };\n },\n checkbox: function checkbox() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value) {\n return (this.options.values || []).includes(value);\n };\n },\n datetimepicker: function datetimepicker() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function (value, options) {\n return moment(value, options.fielddatetimeformat, true).isValid();\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n char: function char(options) {\n this.options = options;\n this.validate = function (value) {\n return value && 1 === ('' + value).length;\n };\n },\n\n\n /**\n * @since 3.10.0\n * @param options\n */\n varchar: function varchar() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n text: function text() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n string: function string() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n radio: function radio() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n default: function _default() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.options = options;\n this.validate = function () {\n return true;\n };\n },\n range: function range() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var min = options.min,\n max = options.max;\n\n this.validate = function (value) {\n value = 1 * value;\n return value >= min && value <= max;\n };\n }\n },\n\n get: function get(type) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return new (this.validators[type] || this.validators.default)(options);\n }\n};\n\nmodule.exports = function () {\n function Service() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Service);\n\n // set state of input\n this.state = options.state || {};\n // type of input\n //this.state.validate.required && this.setValue(this.state.value);\n /*\n * set starting value of input based on value or default value on options\n */\n this.setValue(this.state.value);\n this.setEmpty(this.state.value);\n var type = this.state.type;\n var validatorOptions = options.validatorOptions || this.state.input.options || {};\n // useful for the validator to validate input\n this._validator = Validators.get(type, validatorOptions);\n this.setErrorMessage();\n }\n\n _createClass(Service, [{\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: 'getValue',\n value: function getValue() {\n return this.state.value;\n }\n }, {\n key: 'setValue',\n\n\n /**\n * @param value\n *\n * @returns {void}\n */\n value: function setValue(value) {\n if (![null, undefined].includes(value)) {\n return;\n }\n\n var options = this.state.input.options;\n\n var default_value = options.default;\n\n /** @TODO (maybe need to removed in v3.9.0) double check G3W-ADMIN server configuration. */\n if (Array.isArray(options)) {\n if (options[0].default) {\n default_value = options[0].default;\n } else if (Array.isArray(options.values) && options.values.length > 0) {\n default_value = options.values[0] && (options.values[0].value || options.values[0]);\n }\n }\n\n // check if the default value is set\n var get_default_value = this.state.get_default_value && // ref: core/layers/tablelayer.js::getFieldsWithValues()\n undefined !== default_value && null !== default_value;\n\n // check if we can state.check get_default_value from input.options.default is set\n if (get_default_value && undefined === options.default_expression) {\n this.state.value = default_value;\n }\n\n this.state.value_from_default_value = get_default_value;\n }\n }, {\n key: 'addValueToValues',\n value: function addValueToValues(value) {\n this.state.input.options.values.unshift(value);\n }\n }, {\n key: '_getValidatorType',\n value: function _getValidatorType() {\n return this.state.type;\n }\n }, {\n key: 'setState',\n value: function setState() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.state = 'Object' === (0, _toRawType.toRawType)(state) ? state : {};\n }\n }, {\n key: 'getValidator',\n\n\n // return validator\n value: function getValidator() {\n return this._validator;\n }\n }, {\n key: 'setValidator',\n value: function setValidator(validator) {\n this._validator = validator;\n }\n }, {\n key: 'setEmpty',\n\n\n /**\n * set input empty '', null, undefined or []\n */\n value: function setEmpty() {\n this.state.validate.empty = null === this.state.value //value is null\n || !(Array.isArray(this.state.value) && this.state.value.length > 0 || //or empty array\n !_.isEmpty(('' + this.state.value).trim())) // or empty string\n ;\n }\n }, {\n key: 'validate',\n\n\n // the general method to check the value of the state is valid or not\n value: function validate() {\n if (this.state.validate.empty) {\n this.state.value = null; //force to null\n // check if you require or check validation\n this.state.validate.valid = !this.state.validate.required;\n } else {\n if (['integer', 'float', 'bigint'].includes(this.state.input.type)) {\n if (+this.state.value < 0) {\n this.state.value = null;\n this.state.validate.empty = true;\n this.state.validate.valid = !this.state.validate.required;\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n //check exclude_values state.validate.unique (QGIS field property [x] Enforce unique constraint)\n if (this.state.validate.unique && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n //need to convert this.state.value to string because editing store exclude_values items as string\n this.state.validate.valid = !this.state.validate.exclude_values.has('' + this.state.value);\n } else {\n this.state.validate.valid = this._validator.validate(this.state.value);\n }\n }\n\n return this.state.validate.valid;\n }\n }, {\n key: 'setErrorMessage',\n value: function setErrorMessage() {\n //in vase of\n if (this.state.validate.error) {\n this.state.validate.message = t(this.state.validate.error);\n return;\n }\n var message = void 0;\n if (this.state.validate.mutually && !this.state.validate.mutually_valid) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_mutually_exclusive\") + ' ( ' + this.state.validate.mutually.join(',') + ' )';\n } else if (this.state.validate.max_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_max_field\") + ' (' + this.state.validate.max_field + ')';\n } else if (this.state.validate.min_field) {\n this.state.validate.message = t(\"sdk.form.inputs.input_validation_min_field\") + ' (' + this.state.validate.min_field + ')';\n } else if (('unique' === this.state.input.type || this.state.validate.unique) && this.state.validate.exclude_values && this.state.validate.exclude_values.size) {\n this.state.validate.message = '' + t(\"sdk.form.inputs.input_validation_exclude_values\");\n } else if (this.state.validate.required) {\n message = t(\"sdk.form.inputs.input_validation_error\") + ' ( ' + t(\"sdk.form.inputs.\" + this.state.type) + ' )';\n if (this.state.info) {\n message = message + '\\n
\\n ' + this.state.info + '\\n
\\n ';\n }\n this.state.validate.message = this.state.info || message;\n } else {\n this.state.validate.message = this.state.info;\n }\n }\n }, {\n key: 'setUpdate',\n\n /**\n * Method to set update\n */\n value: function setUpdate() {\n var _state = this.state,\n value = _state.value,\n _value = _state._value;\n\n if ('media' === this.state.input.type && 'Object' !== (0, _toRawType.toRawType)(value) && 'Object' !== (0, _toRawType.toRawType)(_value)) {\n this.state.update = value.value != _value.value;\n } else if (\"datetimepicker\" === this.state.input.type) {\n //check\n this.state.update = (null !== value ? value.toUpperCase() : value) != (_value ? _value.toUpperCase() : _value);\n } else {\n this.state.update = value != _value;\n }\n }\n }]);\n\n return Service;\n}();\n\n},{\"g3w-i18n\":128,\"utils/toRawType\":242}],28:[function(require,module,exports){\nvar InputsServices = {\n 'text': require('./service'),\n 'textarea': require('./service'),\n 'texthtml': require('./service'),\n 'integer': require('./integer/service'),\n 'string': require('./service'),\n 'float': require('./float/service'),\n 'radio': require('./radio/service'),\n 'check': require('./checkbox/service'),\n 'range': require('./range/service'),\n 'datetimepicker': require('./datetimepicker/service'),\n 'unique': require('./unique/service'),\n 'select': require('./select/service'),\n 'media': require('./media/service'),\n 'select_autocomplete': require('./select/service'),\n 'picklayer': require('./service'),\n 'color': require('./service'),\n 'slider': require('./sliderrange/service'),\n 'lonlat': require('./lonlat/service')\n};\n\nmodule.exports = InputsServices;\n\n},{\"./checkbox/service\":5,\"./datetimepicker/service\":8,\"./float/service\":10,\"./integer/service\":13,\"./lonlat/service\":15,\"./media/service\":17,\"./radio/service\":21,\"./range/service\":23,\"./select/service\":25,\"./service\":27,\"./sliderrange/service\":29,\"./unique/service\":34}],29:[function(require,module,exports){\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\n\nvar SliderRangeService = function (_Service) {\n _inherits(SliderRangeService, _Service);\n\n function SliderRangeService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, SliderRangeService);\n\n var state = opts.state;\n\n opts.state.info = '[MIN: ' + state.input.options.min + ' - MAX: ' + state.input.options.max + ']';\n\n var _this = _possibleConstructorReturn(this, (SliderRangeService.__proto__ || Object.getPrototypeOf(SliderRangeService)).call(this, opts));\n\n _this.setValidator({\n validate: function validate(value) {\n value = 1 * value;\n return value >= 1 * opts.state.input.options.min && value <= 1 * opts.state.input.options.max;\n }\n });\n return _this;\n }\n\n _createClass(SliderRangeService, [{\n key: 'validate',\n value: function validate() {\n this.state.value = 1 * this.state.value;\n this.state.validate.valid = this.state.value >= this.state.input.options.min || this.state.value <= this.state.input.options.max;\n }\n }, {\n key: 'changeInfoMessage',\n value: function changeInfoMessage() {\n this.state.info = '[MIN: ' + this.state.input.options.min + ' - MAX: ' + this.state.input.options.max + ']';\n }\n }]);\n\n return SliderRangeService;\n}(Service);\n\nmodule.exports = SliderRangeService;\n\n},{\"gui/inputs/service\":27}],30:[function(require,module,exports){\nvar _InputSliderRange = require('components/InputSliderRange.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputSliderRange);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar RangeInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = RangeInput;\n\n},{\"components/InputSliderRange.vue\":77}],31:[function(require,module,exports){\nvar _InputText = require('components/InputText.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputText);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextInput;\n\n},{\"components/InputText.vue\":78}],32:[function(require,module,exports){\nvar _InputTextArea = require('components/InputTextArea.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextArea);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextAreaInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextAreaInput;\n\n},{\"components/InputTextArea.vue\":79}],33:[function(require,module,exports){\nvar _InputTextHtml = require('components/InputTextHtml.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputTextHtml);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar TextHtmlInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = TextHtmlInput;\n\n},{\"components/InputTextHtml.vue\":80}],34:[function(require,module,exports){\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Service = require('gui/inputs/service');\nmodule.exports = function (_Service) {\n _inherits(UniqueService, _Service);\n\n function UniqueService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, UniqueService);\n\n return _possibleConstructorReturn(this, (UniqueService.__proto__ || Object.getPrototypeOf(UniqueService)).call(this, opts));\n }\n\n return UniqueService;\n}(Service);\n\n},{\"gui/inputs/service\":27}],35:[function(require,module,exports){\nvar _InputUnique = require('components/InputUnique.vue');\n\nvar vueComponentOptions = _interopRequireWildcard(_InputUnique);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar UniqueInput = Vue.extend(vueComponentOptions);\n\nmodule.exports = UniqueInput;\n\n},{\"components/InputUnique.vue\":81}],36:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"@keyframes sk-bounce{0%,to{transform:scale(0)}50%{transform:scale(1)}}#startingspinner{position:fixed;z-index:100000;height:10em;width:10em;overflow:show;margin:auto;inset:0}#startingspinner .double-bounce1,#startingspinner .double-bounce2{width:100%;height:100%;border-radius:50%;background-color:var(--skin-color);opacity:.6;position:absolute;top:0;left:0;animation:sk-bounce 2s infinite ease-in-out}#startingspinner .double-bounce2{animation-delay:-1s}.g3w-modal-project-message.Info .modal-header{background-color:#0073b7}.g3w-modal-project-message.Warning .modal-header{background-color:#e99611}.g3w-modal-project-message.Error .modal-header{background-color:#dd4b39}.g3w-modal-project-message.Critical .modal-header{background-color:#605ca8}.g3w-modal-project-message h4.modal-title{color:#fff!important}.nav-lang .select2-container--default .select2-selection--single{background:none;border:none}.nav-lang .select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#fff transparent transparent}.nav-lang .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #fff}.nav-lang .select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important}@media (min-width:768px){.nav-lang .select2-container{right:0;left:auto!important}}\\n.project_title[data-v-6659a6eb]{display:inline-flex;flex-direction:column;justify-content:center;height:100%;font-weight:700;color:#fff;max-height:50px;overflow:hidden}.project_title>[data-v-6659a6eb]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:700;margin:0}.project_title .h2[data-v-6659a6eb]{font-size:1.6em}.project_title h1[data-v-6659a6eb]{font-size:1.3em}#g3w-sidebarpanel-header-placeholder[data-v-6659a6eb]{overflow:hidden;line-height:14px;font-size:1.5em;min-height:35px;border-bottom:1px solid #fff;margin-bottom:5px}#disable-sidebar[data-v-6659a6eb]{display:none;position:absolute;background-color:rgba(0,0,0,.3);height:100%;width:100%;z-index:10}.content_breadcrumb[data-v-6659a6eb]{font-size:1.2em;padding:0 3px;border-radius:3px}.close-panel-block[data-v-6659a6eb]{overflow:hidden;margin-top:2px;margin-bottom:2px;font-size:1.4em}.g3w_contents_back[data-v-6659a6eb]{font-size:.8em}.g3w_contents_back [data-v-6659a6eb]:is(.backto,.back){display:inline-block;font-weight:700}.g3w_contents_back .backto[data-v-6659a6eb]{margin-top:5px;cursor:pointer}.user-header[data-v-6659a6eb]{padding:10px;text-align:center;border-bottom:1px solid rgba(0,0,0,.3)}.user-footer[data-v-6659a6eb]{padding:8px;display:flex;justify-content:space-between;flex-direction:column;gap:8px}.user-footer .btn-default[data-v-6659a6eb]{color:rgba(0,0,0,.75);border-color:currentColor;display:flex;flex-direction:row-reverse;justify-content:left;align-items:center;gap:8px}.user-footer .btn-default[data-v-6659a6eb]:not(:hover){background-color:transparent}.nav-user>.dropdown-menu[data-v-6659a6eb]{padding:1px 0 0;border:1px solid rgba(0,0,0,.5);border-radius:0}.nav-user .triangle[data-v-6659a6eb]{border-color:#fff transparent transparent;border-style:solid;border-width:5px 4px 0;display:inline-block;margin:3px}.nav-user.open .triangle[data-v-6659a6eb]{border-color:transparent transparent #fff;border-width:0 4px 5px}@media (min-width:767px){.user-footer :is(.nav-sidebar,.nav-addlayer).btn-default[data-v-6659a6eb]{display:none}}@media (max-width:767px){.navbar-nav[data-v-6659a6eb]{flex-direction:column}.nav-user>ul[data-v-6659a6eb],.user-footer[data-v-6659a6eb]{background-color:transparent;border:none}.nav-user>ul[data-v-6659a6eb]{display:block;position:static;float:none}.nav-user .btn.skin-color[data-v-6659a6eb]{color:#fff!important}.nav-user>.dropdown-toggle[data-v-6659a6eb],.user-header[data-v-6659a6eb]{display:none}.nav-user>.dropdown-menu[data-v-6659a6eb]{border:none}}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _vueCookieLaw = require('vue-cookie-law');\n\nvar _vueCookieLaw2 = _interopRequireDefault(_vueCookieLaw);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _UserMessage = require('components/UserMessage.vue');\n\nvar _UserMessage2 = _interopRequireDefault(_UserMessage);\n\nvar _CatalogContextMenu = require('components/CatalogContextMenu.vue');\n\nvar _CatalogContextMenu2 = _interopRequireDefault(_CatalogContextMenu);\n\nvar _MapAddLayer = require('components/MapAddLayer.vue');\n\nvar _MapAddLayer2 = _interopRequireDefault(_MapAddLayer);\n\nvar _ChangeMap = require('components/ChangeMap.vue');\n\nvar _ChangeMap2 = _interopRequireDefault(_ChangeMap);\n\nvar _MetadataProject = require('components/MetadataProject.vue');\n\nvar _MetadataProject2 = _interopRequireDefault(_MetadataProject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'app',\n\n data: function data() {\n var custom_links = (window.initConfig.header_custom_links || []).concat(_application2.default.navbaritems).filter(Boolean);\n\n custom_links.unshift({\n id: 'credits',\n type: 'metadata',\n target: '#metadata_credits',\n icon: 'far fa-question-circle',\n title: 'Credits'\n });\n\n custom_links.forEach(function (item) {\n return !item.id && (item.id = (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return {\n language: null,\n cookie_law_buttonText: t('cookie_law.buttonText'),\n app: _application2.default,\n state: _application2.default.viewport,\n updatePreviousTitle: false,\n header: t('main navigation'),\n custom_links: custom_links\n };\n },\n\n\n components: {\n CookieLaw: _vueCookieLaw2.default,\n userMessage: _UserMessage2.default,\n CatalogContextMenu: _CatalogContextMenu2.default,\n MapAddLayer: _MapAddLayer2.default,\n ChangeMap: _ChangeMap2.default,\n MetadataProject: _MetadataProject2.default,\n Teleport: _vue2Teleport2.default\n },\n\n computed: {\n languages: function languages() {\n var languages = Array.isArray(this.appconfig.i18n) && this.appconfig.i18n || [];\n return languages.length > 1 && languages;\n },\n dropdownParent: function dropdownParent() {\n return window.innerWidth >= 768;\n },\n appconfig: function appconfig() {\n return window.initConfig;\n },\n isIframe: function isIframe() {\n return window.top !== window.self;\n },\n urls: function urls() {\n return this.appconfig.urls;\n },\n logo_url: function logo_url() {\n return _application2.default.project.state.thumbnail || '' + this.appconfig.mediaurl + window.initConfig.header_logo_img;\n },\n project_title: function project_title() {\n return _application2.default.project.getState().name;\n },\n user: function user() {\n return this.appconfig.user && this.appconfig.user.username ? this.appconfig.user : null;\n },\n login_url: function login_url() {\n return this.appconfig.user.login_url;\n },\n has_iframe_login: function has_iframe_login() {\n return this.login_url && ('/' === this.login_url[0] || (0, _sameOrigin.sameOrigin)(this.login_url, window.location.href));\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return this.appconfig.macrogroups.length + this.appconfig.groups.length + this.appconfig.projects.length > 1;\n },\n main_title: function main_title() {\n var main_title = this.appconfig.main_map_title;\n var group_name = this.appconfig.title || this.appconfig.slug;\n return main_title ? main_title + ' - ' + group_name : group_name;\n },\n breadcrumb: function breadcrumb() {\n return this.state.content.contentsdata.filter(function (c) {\n return c.options.crumb;\n }).map(function (c) {\n return c.options.crumb;\n });\n },\n showresize: function showresize() {\n var layout = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n var currentPerc = layout[this.state.split === 'h' ? 'width' : 'height'];\n return this.state.secondaryPerc > 0 && this.state.secondaryPerc < 100 && currentPerc < 100 && currentPerc > 0;\n },\n showresizeicon: function showresizeicon() {\n return 100 !== this.state.secondaryPerc;\n },\n usermessage: function usermessage() {\n return this.state.usermessage;\n },\n showtitle: function showtitle() {\n if (this.state.content.contentsdata.length > 0) {\n var options = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options;\n if (true === options.showtitle || false === options.showtitle) {\n return options.showtitle;\n }\n }\n return true;\n },\n styles: function styles() {\n return {\n map: {\n width: this.state.map.sizes.width + 'px',\n height: this.state.map.sizes.height + 'px'\n },\n content: {\n width: this.state.content.sizes.width + 'px',\n height: this.state.content.sizes.height + 'px',\n zIndex: 1,\n minHeight: 'v' === this.state.split ? _g3wConstants.VIEWPORT.resize.content.min + 'px' : null,\n paddingTop: '8px',\n paddingBottom: '8px'\n }\n };\n },\n contentTitle: function contentTitle() {\n if (this.state.content.contentsdata.length) {\n var _state$content$conten = this.state.content.contentsdata[this.state.content.contentsdata.length - 1].options,\n title = _state$content$conten.title,\n post_title = _state$content$conten.post_title,\n _state$content$conten2 = _state$content$conten.text,\n text = _state$content$conten2 === undefined ? false : _state$content$conten2;\n\n return { title: title, post_title: post_title, text: text };\n }\n },\n backOrBackTo: function backOrBackTo() {\n return this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? !this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title ? 'back' : 'backto' : false;\n },\n previousTitle: function previousTitle() {\n var _this = this;\n\n var title = this.state.content.contentsdata.length > 1 && this.state.content.showgoback ? this.state.content.contentsdata[this.state.content.contentsdata.length - 2].options.title : null;\n this.updatePreviousTitle = true;\n this.$nextTick(function () {\n return _this.updatePreviousTitle = false;\n });\n return title;\n },\n title: function title() {\n return _application2.default.sidebar.title;\n },\n disabled: function disabled() {\n return _application2.default.gui.sidebar.disabled;\n },\n panels: function panels() {\n return _application2.default.sidebar.contentsdata;\n },\n showmainpanel: function showmainpanel() {\n return _application2.default.sidebar.components.length > 0 && !this.panels.length;\n },\n componentname: function componentname() {\n return _application2.default.sidebar.components.length ? _application2.default.sidebar.components.slice(-1)[0].getTitle() : '';\n },\n panelname: function panelname() {\n return this.panels.length ? this.panels.slice(-1)[0].content.getTitle() : '';\n }\n },\n\n methods: {\n onIframeLoaded: function onIframeLoaded(e) {\n var iframe = this.$refs.login_iframe.contentWindow.g3wsdk && this.$refs.login_iframe.contentWindow.g3wsdk.core.ApplicationState;\n if (iframe && iframe.user && iframe.user.logout_url) {\n window.location.reload();\n }\n },\n templateResultLanguages: function templateResultLanguages(state) {\n if (!state.id) {\n return state.text;\n }\n return $('\\n
\\n \\n ' + state.text + ' \\n ');\n },\n oncCustomItemClick: function oncCustomItemClick(e, item) {\n if (!['modal', 'metadata'].includes(item.type)) {\n return;\n }\n e.preventDefault();\n if (item.target && 'modal' === item.type && document.querySelector(item.target)) {\n return $(item.target).modal('show');\n }\n if (item.target && 'metadata' === item.type && document.querySelector('#modal-metadata')) {\n $('#modal-metadata').modal('show');\n document.querySelector('#modal-metadata a[href=\"' + item.target + '\"]').click();\n return;\n }\n $('body').append('\\n
\\n
\\n
' + item.content + '
\\n
\\n
\\n ');\n $('#custom_modal').modal('show');\n $('#custom_modal').on('hidden.bs.modal', function () {\n return $('#custom_modal').remove();\n });\n },\n showEmbedModal: function showEmbedModal() {\n var url = new URL(location.href);\n url.searchParams.set('map_extent', _gui2.default.getService('map').getMapExtent().toString());\n\n $('body').append('\\n
\\n
\\n
\\n
\\n

' + this.$t('sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint') + '

\\n
\\n
\\n \\n \\n
\\n
\\n
\\n ');\n $('#share_modal').modal('show');\n $('#share_modal').on('hidden.bs.modal', function () {\n return $('#share_modal').remove();\n });\n },\n initDialogMessages: function () {\n var _ref = _asyncToGenerator(function* () {\n var messages = _application2.default.project.state.messages;\n\n if (!messages) {\n return;\n }\n\n var pid = _application2.default.project.getId();\n\n var _loop = function* _loop(i) {\n var message = messages.items[i];\n var item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id);\n var data = (item ? JSON.parse(item) : undefined) || _g3wConstants.LOCAL_ITEM_IDS.MESSAGES.value;\n data[pid] = data[pid] || [];\n\n if (undefined !== data[pid].find(function (id) {\n return id === message.id;\n })) {\n return 'continue';\n }\n\n var doNotShowAgainVueComponent = new (Vue.extend({\n data: function data() {\n return { id: (0, _getUniqueDomId.getUniqueDomId)(), checked: false };\n },\n template: '\\n
\\n \\n
'\n }))();\n\n var content = document.createElement('div');\n\n content.append.apply(content, _toConsumableArray(new DOMParser().parseFromString(message.body, 'text/html').body.childNodes));\n\n content.append(doNotShowAgainVueComponent.$mount().$el);\n\n yield new Promise(function (resolve) {\n _gui2.default.showModalDialog({\n title: message.title,\n message: content,\n size: 'large',\n closeButton: false,\n className: 'g3w-modal-project-message ' + Object.entries(messages.levels).find(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n value = _ref3[1];\n\n return value === message.level;\n })[0],\n buttons: {\n close: {\n label: t('close'),\n className: 'btn-secondary',\n callback: function callback() {\n try {\n if (doNotShowAgainVueComponent.checked) {\n data[pid].push(message.id);\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.MESSAGES.id, JSON.stringify(data));\n }\n } catch (e) {\n console.warn(e);\n }\n resolve();\n }\n }\n }\n });\n });\n };\n\n for (var i = 0; i < messages.items.length; i++) {\n var _ret = yield* _loop(i);\n\n if (_ret === 'continue') continue;\n }\n });\n\n function initDialogMessages() {\n return _ref.apply(this, arguments);\n }\n\n return initDialogMessages;\n }(),\n showaddLayerModal: function showaddLayerModal() {\n $('#main-navbar').collapse('hide');\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#main-navbar').collapse('hide');\n $('#modal-changemap').modal('show');\n },\n isNotLastCrumb: function isNotLastCrumb(index) {\n return index < this.breadcrumb.length - 1;\n },\n closeContent: function closeContent() {\n _gui2.default.closeContent();\n },\n gotoPreviousContent: function gotoPreviousContent() {\n _gui2.default.popContent();\n },\n closeUserMessage: function closeUserMessage() {\n _gui2.default.closeUserMessage();\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.addEventListener('mousemove', this.wrapMoveFnc);\n document.addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref4 = _asyncToGenerator(function* () {\n document.removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref4.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n resizeFull: function resizeFull() {\n _gui2.default.toggleFullViewContent();\n _gui2.default.emit('resize');\n },\n moveFnc: function moveFnc(e) {\n e.preventDefault();\n var size = 'h' === this.state.split ? 'width' : 'height';\n var sidebarSize = size === 'width' ? $('.sidebar-collapse').length ? 0 : _application2.default.viewport.SIDEBARWIDTH : $('#main-navbar').height();\n var viewPortSize = $(this.$el)[size]();\n var mapSize = ('width' === size ? e.pageX + 2 : e.pageY + 2) - sidebarSize;\n var _VIEWPORT$resize = _g3wConstants.VIEWPORT.resize,\n content = _VIEWPORT$resize.content,\n map = _VIEWPORT$resize.map;\n\n if (mapSize > viewPortSize - content.min) {\n mapSize = viewPortSize - content.min;\n } else if (mapSize < map.min) {\n mapSize = map.min;\n }\n _application2.default.viewport.resized[this.state.split] = true;\n _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === this.state.split ? 'width' : 'height'] = 100 - Math.round(mapSize / viewPortSize * 100);\n _gui2.default._layout('resize');\n },\n closePanel: function closePanel() {\n _gui2.default.closePanel();\n },\n closeAllPanels: function () {\n var _ref5 = _asyncToGenerator(function* () {\n _application2.default.sidebar.title = null;\n var data = _application2.default.sidebar.contentsdata;\n if (data.length) {\n yield Promise.allSettled(data.map(function () {\n var _ref6 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n });\n\n return function (_x) {\n return _ref6.apply(this, arguments);\n };\n }()));\n data.splice(0, data.length);\n }\n });\n\n function closeAllPanels() {\n return _ref5.apply(this, arguments);\n }\n\n return closeAllPanels;\n }(),\n toggleSidebar: function toggleSidebar() {\n $('#main-navbar').collapse('hide');\n _gui2.default.toggleSidebar();\n },\n toggleSidebarItem: function toggleSidebarItem(e) {\n var mini = document.body.classList.contains('sidebar-mini');\n var collapsed = document.body.classList.contains('sidebar-collapse');\n\n if (mini && collapsed) {\n _gui2.default.showSidebar();\n }\n\n var li = e.target.closest('.sidebaritem');\n var component = _application2.default.sidebar.components.find(function (comp) {\n return comp.id === li.id;\n });\n var open = component && component.getOpen();\n var menu = li.querySelector('.treeview-menu');\n\n if (!component || open && collapsed || menu && menu.contains(e.target)) {\n return;\n }\n\n if (!component.collapsible && window.innerWidth <= 767) {\n _gui2.default.toggleSidebar();\n }\n\n component.click({ open: !open });\n }\n },\n\n watch: {\n 'language': function language(_language, cl) {\n if (cl) {\n i18next.changeLanguage(_language);\n\n _application2.default.lng = _language;\n _application2.default.language = _language;\n var pathArray = window.location.pathname.split('/');\n pathArray[1] = _language;\n history.replaceState(null, null, pathArray.join('/'));\n this.cookie_law_buttonText = t('cookie_law.buttonText');\n }\n }\n },\n\n created: function created() {\n this.language = this.appconfig.user.i18n;\n },\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.initDialogMessages();\n\n yield this.$nextTick();\n\n this.language = this.appconfig.user.i18n;\n\n yield this.$nextTick();\n\n $('#startingspinner').remove();\n\n var resize = function resize() {\n $(\".main-sidebar\").css('height', $(window).height() - $(\".navbar-header\").height());\n $('.g3w-sidebarpanel').css('height', $(window).height() - $(\"#main-navbar\").height());\n };\n\n resize();\n $(window, \".wrapper\").resize(resize);\n\n this.iframe = _application2.default.iframe;\n\n if (!this.iframe) {\n document.body.classList.add('sidebar-mini');\n }\n\n document.body.classList.toggle('is-mobile', this.isMobile());\n document.body.classList.toggle('is-iframe', this.iframe);\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.app.gui.app.disabled),expression:\"app.gui.app.disabled\"}],staticClass:\"wrapper\",attrs:{\"id\":\"app\"}},[_c('cookie-law',{attrs:{\"theme\":\"dark-lime\",\"buttonText\":_vm.cookie_law_buttonText}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('cookie_law.message'),expression:\"'cookie_law.message'\"}],attrs:{\"slot\":\"message\"},slot:\"message\"})]),_vm._v(\" \"),(!_vm.isIframe)?_c('header',{staticClass:\"main-header\"},[_c('nav',{ref:\"navbar\",staticClass:\"navbar\",attrs:{\"role\":\"navigation\"}},[_c('div',{staticClass:\"navbar-header\"},[(_vm.logo_url)?_c('a',{staticStyle:{\"padding\":\"4px\",\"display\":\"inline-block\",\"height\":\"50px\"},attrs:{\"href\":_vm.appconfig.header_logo_link || _vm.urls.frontendurl || '#',\"target\":_vm.appconfig.header_logo_link ? '_blank' : ''}},[_c('img',{staticStyle:{\"height\":\"100%\"},attrs:{\"alt\":\"\",\"src\":_vm.logo_url}})]):_vm._e(),_vm._v(\" \"),_c('button',{ref:\"navbar_toggle\",staticClass:\"navbar-toggle\",staticStyle:{\"font-size\":\"1.3em\"},attrs:{\"type\":\"button\",\"data-toggle\":\"collapse\",\"data-target\":\"#main-navbar\"}},[_c('i',{class:_vm.$fa('bars')}),_c('span',{staticStyle:{\"margin-left\":\"8px\"}},[_vm._v(\"MENU\")])])]),_vm._v(\" \"),_c('div',{ref:\"mainnavbar\",staticClass:\"collapse navbar-collapse\",staticStyle:{\"overflow\":\"hidden\",\"margin\":\"0\"},attrs:{\"id\":\"main-navbar\"}},[_c('hgroup',{staticClass:\"project_title\"},[_c('p',{staticClass:\"h2\"},[_vm._v(_vm._s(_vm.main_title))]),_vm._v(\" \"),_c('h1',[_vm._v(_vm._s(_vm.project_title))])]),_vm._v(\" \"),_c('ul',{staticClass:\"nav navbar-nav navbar-right\",staticStyle:{\"display\":\"flex\",\"padding-right\":\"10px\",\"text-align\":\"center\"}},[_vm._l((_vm.custom_links),function(item){return _c('li',{key:item.id,class:(\"nav-\" + (item.id)),style:({ order: item.position })},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:(item.i18n ? item.title : (' ' + item.title + ' ')),expression:\"item.i18n ? item.title : (' ' + item.title + ' ')\",modifiers:{\"create\":true}}],attrs:{\"href\":item.url || '#',\"target\":item.target,\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){return _vm.oncCustomItemClick($event, item)}}},[(item.icon)?_c('i',{class:item.icon}):_vm._e(),_vm._v(\" \"),(item.img)?_c('img',{staticStyle:{\"max-height\":\"20px\"},attrs:{\"src\":item.img,\"title\":item.img_title,\"alt\":item.img_title}}):_vm._e()])])}),_vm._v(\" \"),_c('li',{staticClass:\"nav-user dropdown\"},[_c('a',{staticClass:\"dropdown-toggle\",attrs:{\"href\":\"#\",\"data-toggle\":\"dropdown\"}},[_c('i',{class:_vm.$fa('user')}),_vm._v(\" \"),(_vm.user)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_vm._v(\" \"),_c('i',{staticClass:\"triangle\"})]),_vm._v(\" \"),_c('ul',{staticClass:\"dropdown-menu\"},[(_vm.user)?_c('li',{staticClass:\"user-header\"},[_vm._v(\"\\n 👋\\n \"),(!_vm.user.first_name && !_vm.user.last_name)?_c('span',[_vm._v(_vm._s(_vm.user.username))]):_c('span',[_vm._v(_vm._s(_vm.user.first_name)+\" \"+_vm._s(_vm.user.last_name))])]):_vm._e(),_vm._v(\" \"),_c('li',{staticClass:\"user-footer\"},[(!_vm.user)?_c('a',{staticClass:\"nav-login btn btn-default btn-flat skin-color\",attrs:{\"src\":_vm.login_url,\"data-toggle\":_vm.has_iframe_login ? 'modal' : undefined,\"data-target\":_vm.has_iframe_login ? '#modal-login' : undefined}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sign_in'),expression:\"'sign_in'\"}]}),_c('i',{class:_vm.$fa('sign-in')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.admin_url)?_c('a',{staticClass:\"nav-admin btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.admin_url}},[_c('b',[_vm._v(\"Admin\")]),_c('i',{class:_vm.$fa('tool')})]):_vm._e(),_vm._v(\" \"),(_vm.urls.frontendurl)?_c('a',{staticClass:\"nav-home btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.urls.frontendurl}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('homepage'),expression:\"'homepage'\"}]}),_c('i',{class:_vm.$fa('home')})]):_vm._e(),_vm._v(\" \"),(_vm.user && _vm.user.logout_url)?_c('a',{staticClass:\"nav-logout btn btn-default btn-flat skin-color\",attrs:{\"href\":_vm.user.logout_url}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('logout'),expression:\"'logout'\"}]}),_c('i',{class:_vm.$fa('sign-out')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-embedmap btn btn-default btn-flat skin-color\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showEmbedModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('embed_map'),expression:\"'embed_map'\"}]}),_c('i',{class:_vm.$fa('link')})]),_vm._v(\" \"),(_vm.hasRelatedMaps)?_c('a',{staticClass:\"nav-changemap btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]}),_c('i',{class:_vm.$fa('refresh')})]):_vm._e(),_vm._v(\" \"),('legend' !== _vm.activeTab)?_c('a',{staticClass:\"nav-addlayer btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]}),_c('i',{class:_vm.$fa('layers')})]):_vm._e(),_vm._v(\" \"),_c('a',{staticClass:\"nav-sidebar btn btn-default btn-flat\",attrs:{\"href\":\"#\"},on:{\"click\":_vm.toggleSidebar}},[_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar_menu'),expression:\"'sidebar_menu'\"}]}),_c('i',{staticClass:\"fa fa-toggle-on\"})])])])]),_vm._v(\" \"),(_vm.languages)?_c('li',{staticClass:\"nav-lang\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('language'),expression:\"'language'\"},{name:\"model\",rawName:\"v-model\",value:(_vm.language),expression:\"language\"}],staticClass:\"form-control\",staticStyle:{\"cursor\":\"pointer\",\"width\":\"130px\"},attrs:{\"templateSelection\":_vm.templateResultLanguages,\"templateResult\":_vm.templateResultLanguages,\"dropdownAutoWidth\":true,\"dropdownParent\":_vm.dropdownParent},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.language=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang[0],domProps:{\"value\":lang[0],\"selected\":lang[0] === _vm.language && 'selected'}},[_vm._v(\"\\n \"+_vm._s(lang[1])+\"\\n \")])}),0)]):_vm._e()],2)])])]):_vm._e(),_vm._v(\" \"),_c('aside',[_c('div',{staticClass:\"main-sidebar\",class:{ iframe: _vm.iframe, 'g3w-disabled': _vm.disabled }},[_c('div',{attrs:{\"id\":\"disable-sidebar\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.panels.length > 0),expression:\"panels.length > 0\"}],staticClass:\"g3w-sidebarpanel\"},[_c('div',{attrs:{\"id\":\"g3w-sidebarpanel-header-placeholder\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},style:({ justifyContent: _vm.app.sidebar.title ? 'space-between' : 'flex-end' })},[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}],staticStyle:{\"display\":\"inline-block\",\"font-weight\":\"bold\"}}):_vm._e(),_vm._v(\" \"),_c('div',[(_vm.panels.length > 1)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('back'),expression:\"'back'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closePanel}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('close'),expression:\"'close'\",modifiers:{\"create\":true}}],staticClass:\"skin-tooltip-left g3w-span-button close-pane-button fa-stack\",attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":_vm.closeAllPanels}},[_c('i',{staticClass:\"fa-stack-1x panel-button\",class:_vm.$fa('circle')}),_vm._v(\" \"),_c('i',{staticClass:\"fa-stack-1x panel-icon\",class:_vm.$fa('close')})])])])]),_vm._v(\" \"),_c('div',{staticClass:\"g3w-sidebarpanel-placeholder\",attrs:{\"id\":\"g3w-sidebarpanel-placeholder\"}})]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showmainpanel),expression:\"showmainpanel\"}],staticClass:\"sidebar-menu\",class:{ 'g3w-disabled': _vm.disabled },attrs:{\"id\":\"g3w-sidebarcomponents\"},on:{\"click\":_vm.toggleSidebarItem}},[_c('li',{staticClass:\"treeview sidebaritem\",attrs:{\"id\":\"metadata\"}},[_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"skin-tooltip-right\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\"},attrs:{\"href\":\"#\",\"data-placement\":\"right\",\"data-container\":\"body\",\"data-toggle\":\"modal\",\"data-target\":\"#modal-metadata\"}},[_c('div',[_c('i',{class:_vm.$fa('file'),staticStyle:{\"color\":\"#fff\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.title'),expression:\"'sdk.metadata.title'\"}],staticClass:\"treeview-label\"})])])])])]),_vm._v(\" \"),_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sidebar_menu'),expression:\"'sidebar_menu'\",modifiers:{\"create\":true}}],staticClass:\"sidebar-aside-toggle\",class:{ 'g3w-disabled': _vm.disabled, 'iframe': _vm.iframe},staticStyle:{\"z-index\":\"2\"},attrs:{\"href\":\"#\",\"role\":\"button\",\"data-placement\":\"right\"},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleSidebar($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"content-wrapper\",style:({paddingTop: _vm.isIframe ? 0 : null})},[_c('transition',{attrs:{\"name\":\"fade\",\"duration\":{ enter: 500, leave: 500 }}},[(_vm.usermessage.show)?_c('user-message',{attrs:{\"title\":_vm.usermessage.title,\"subtitle\":_vm.usermessage.subtitle,\"id\":_vm.usermessage.id,\"message\":_vm.usermessage.message,\"draggable\":_vm.usermessage.draggable,\"closable\":_vm.usermessage.closable,\"duration\":_vm.usermessage.duration,\"position\":_vm.usermessage.position,\"autoclose\":_vm.usermessage.autoclose,\"textMessage\":_vm.usermessage.textMessage,\"size\":_vm.usermessage.size,\"type\":_vm.usermessage.type,\"icon-class\":_vm.usermessage.iconClass},on:{\"close-usermessage\":_vm.closeUserMessage}},[(_vm.usermessage.hooks.header)?_c('template',{slot:\"header\"},[_c(_vm.usermessage.hooks.header,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.body)?_c('template',{slot:\"body\"},[_c(_vm.usermessage.hooks.body,{tag:\"component\"})],1):_vm._e(),_vm._v(\" \"),(_vm.usermessage.hooks.footer)?_c('template',{slot:\"footer\"},[_c(_vm.usermessage.hooks.footer,{tag:\"component\"})],1):_vm._e()],2):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"g3w-view map\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.map),attrs:{\"id\":\"g3w-view-map\"}},[_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showresize),expression:\"showresize\"}],class:(\"split-\" + (_vm.state.split)),style:({ cursor: 'v' === _vm.state.split ? 'ns-resize' : 'col-resize' }),attrs:{\"id\":\"resize-map-and-content\"},on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"application-notifications\"}},[_c('div',{class:{ 'g3w-hide': _vm.app.online },staticStyle:{\"color\":\"#999\"},attrs:{\"id\":\"offline_notification\"}},[_c('i',{class:_vm.$fa('wifi')}),_vm._v(\" \"),_c('div',{staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"0.4em\"}},[_vm._v(\"offline\")])]),_vm._v(\" \"),_c('div',{directives:[{name:\"download\",rawName:\"v-download.show\",modifiers:{\"show\":true}}],staticClass:\"skin-color\",attrs:{\"id\":\"download_notification\",\"title\":\"DOWNLOAD\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('download'),staticStyle:{\"padding\":\"3px\"}})],1),_vm._v(\" \"),_c('div',{class:{ 'g3w-hide': 0 === _vm.app.plugins.length },staticStyle:{\"color\":\"#994b10\"},attrs:{\"id\":\"plugins_notification\"}},[_c('bar-loader',{attrs:{\"loading\":true}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('plugin')})],1)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.content.disabled),expression:\"state.content.disabled\"}],staticClass:\"g3w-view content\",class:(\"split-\" + (_vm.state.split)),style:(_vm.styles.content),attrs:{\"id\":\"g3w-view-content\"}},[(_vm.breadcrumb.length > 1)?_c('section',{ref:_vm.breadcrumb,staticClass:\"content_breadcrumb\"},_vm._l((_vm.breadcrumb),function(crumb,index){return _c('span',{key:crumb.title},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(crumb.text ? null : crumb.title),expression:\"crumb.text ? null : crumb.title\"}],staticClass:\"skin-color-dark\",style:({fontWeight: _vm.isNotLastCrumb(index) ? 'bold' : 'normal'})},[(crumb.text)?_c('span',[_vm._v(\" \"+_vm._s(crumb.title)+\" \")]):_vm._e()]),_vm._v(\" \"),(_vm.isNotLastCrumb(index))?_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin\":\"3px 0\"}},[_vm._v(\"/\")]):_vm._e()])}),0):_vm._e(),_vm._v(\" \"),((_vm.showtitle && _vm.contentTitle) || _vm.previousTitle || (_vm.state.content.closable && _vm.state.content.aside))?_c('div',{staticClass:\"close-panel-block\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[(_vm.previousTitle)?_c('div',{staticClass:\"g3w_contents_back g3w-long-text\"},[('back' === _vm.backOrBackTo )?_c('div',{class:_vm.backOrBackTo},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('back'),expression:\"'back'\"}]})]):_c('div',{class:_vm.backOrBackTo,on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoPreviousContent()}}},[_c('span',{staticClass:\"action-button\",class:_vm.$fa('back')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('backto'),expression:\"'backto'\"}]}),_vm._v(\" \"),(!_vm.updatePreviousTitle)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.previousTitle),expression:\"previousTitle\"}]}):_vm._e()])]):_vm._e(),_vm._v(\" \"),(!_vm.previousTitle && _vm.showtitle && _vm.contentTitle)?_c('div',{staticClass:\"panel-title\",class:{'mobile': _vm.isMobile()},style:([_vm.state.content.style.title])},[_c('b',{attrs:{\"id\":\"contenttitle\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.text ? null : _vm.contentTitle.title),expression:\"contentTitle.text ? null : contentTitle.title\"}]},[(_vm.contentTitle.text )?_c('span',[_vm._v(_vm._s(_vm.contentTitle.title))]):_vm._e()]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.contentTitle.post_title),expression:\"contentTitle.post_title\"}]})])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"g3-content-header-action-tools\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_vm._l((_vm.state.content.headertools),function(tool){return _c(tool,{tag:\"component\"})}),_vm._v(\" \"),(_vm.showresizeicon)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-size\":\"1em\",\"padding\":\"0\",\"align-self\":\"center\",\"margin-left\":\"auto\",\"cursor\":\"pointer\"},style:({ marginRight: _vm.state.content.closable ? '5px': '0px' })},[(undefined !== _vm.state.split)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('enlange_reduce'),expression:\"'enlange_reduce'\",arg:\"bottom\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-color-dark\",class:_vm.$fa((\"resize-\" + (_vm.state.split))),staticStyle:{\"margin-right\":\"3px\"},on:{\"click\":_vm.resizeFull}}):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.state.content.closable && _vm.state.content.aside)?_c('span',{staticClass:\"action-button\",class:{'mobile': _vm.isMobile()},staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\"},on:{\"click\":_vm.closeContent}},[_c('i',{staticClass:\"skin-color-dark\",class:_vm.$fa('close')})]):_vm._e()],2)]):_vm._e(),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.state.content.loading}})],1)],1),_vm._v(\" \"),_c('catalog-context-menu'),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":\"modal-fullscreen\",\"tabindex\":\"-1\",\"role\":\"dialog\",\"data-backdrop\":\"static\",\"data-keyboard\":\"false\",\"aria-labelledby\":\"modal-fullscreen\",\"aria-hidden\":\"true\"}}),_vm._v(\" \"),(!_vm.user && _vm.has_iframe_login)?_c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-login\",\"tabindex\":\"-1\",\"role\":\"document\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"height\":\"60%\",\"width\":\"60%\"}},[_c('div',{staticClass:\"modal-content\",staticStyle:{\"height\":\"100%\",\"background\":\"#d2d6de\",\"display\":\"grid\",\"grid-template-areas\":\"'iframe'\",\"place-items\":\"center\"}},[_c('button',{staticClass:\"close\",staticStyle:{\"position\":\"absolute\",\"inset\":\"0 0 auto auto\",\"padding\":\"10px 15px\"},attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('span',{staticStyle:{\"grid-area\":\"iframe\"}},[_vm._v(\"Loading..\")]),_vm._v(\" \"),_c('iframe',{ref:\"login_iframe\",staticStyle:{\"border\":\"0\",\"width\":\"100%\",\"height\":\"100%\",\"grid-area\":\"iframe\"},attrs:{\"loading\":\"lazy\",\"src\":_vm.login_url},on:{\"load\":_vm.onIframeLoaded}})])])]):_vm._e(),_vm._v(\" \"),_c('map-add-layer'),_vm._v(\" \"),_c('change-map'),_vm._v(\" \"),_c('metadata-project')],1)],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6659a6eb\"\n\n},{\"components/CatalogContextMenu.vue\":39,\"components/ChangeMap.vue\":42,\"components/MapAddLayer.vue\":83,\"components/MetadataProject.vue\":86,\"components/UserMessage.vue\":110,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"g3w-panel\":130,\"services/gui\":173,\"store/application\":178,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/sameOrigin\":237,\"vue-cookie-law\":\"vue-cookie-law\",\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],37:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tabbable-line>.nav-tabs>li.active{border-bottom:4px solid var(--skin-color)}.catalog #legend div.selected,.catalog .tree-item.selected{background-color:var(--skin-color)}.catalog-context-menu li.title{border-bottom-color:var(--skin-color)!important}.skin-blue .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #6abbea}.skin-blue .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-green .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #00ff8e}.skin-green .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-purple .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #a19dff}.skin-purple .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #f3565d}.skin-red .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ff5542}.skin-red .tabbable-line.tabs-below>.nav-tabs>li.active,.skin-red .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ff5542}.skin-yellow .tabbable-line>.nav-tabs>li:is(.open,:hover){border-bottom:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li:hover{border-top:4px solid #ffde0d}.skin-yellow .tabbable-line.tabs-below>.nav-tabs>li.active{border-top:4px solid #ffdf12}.tabbable-panel{padding:10px}.tabbable-line>.nav-tabs{border:none;margin:0}.tabbable-line .nav-tabs ul li{color:#fff}.tabbable-line>.nav-tabs>li{margin-right:2px;border-bottom:4px solid #21292d}.tabbable-line>.nav-tabs>li>a{border:0;margin-right:0;color:#fff}.tabbable-line>.nav-tabs>li>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a{border:0;background:none!important}.tabbable-line>.nav-tabs>li:is(.open,:hover)>a>i{color:#a6a6a6}.tabbable-line>.nav-tabs>li:is(.open,:hover) .dropdown-menu{margin-top:0}.tabbable-line>.nav-tabs>li.active{position:relative;font-weight:700}.tabbable-line>.nav-tabs>li.active>a{border:0;color:#fff;background-color:#2c3b41}.tabbable-line>.nav-tabs>li.active>a>i{color:#fff}.tabbable-line>.tab-content.catalog-tab-content{margin-top:-3px;border:0;color:#fff;padding:5px 0 0}.portlet .tabbable-line>.tab-content{padding-bottom:0}.tabbable-line.tabs-below>.nav-tabs>li{border-top:4px solid transparent}.tabbable-line.tabs-below>.nav-tabs>li>a{margin-top:0}.tabbable-line.tabs-below>.nav-tabs>li:hover{border-bottom:0;color:#fff}.tabbable-line.tabs-below>.nav-tabs>li.active{margin-bottom:-2px;border-bottom:0}.tabbable-line.tabs-below>.tab-content{margin-top:-10px;border-top:0;border-bottom:1px solid #eee;padding-bottom:15px}.nav-tabs>li.active>a,.nav-tabs>li.active>a:is(:focus,:hover){color:#fff}.catalog>.title{padding:10px;font-weight:700}.catalog ul{line-height:1.75em;list-style-type:none}.catalog .list-group-item{color:#fff;background-color:#2c3b41}.catalog #legend div.selected ul.layer-categories,.catalog .tree-item.selected ul.layer-categories{background-color:#222d32}.catalog #legend div div.tree-node-title,.catalog .tree-item div.tree-node-title{padding-left:3px;cursor:pointer;width:80%;display:inline-flex;justify-content:space-between;user-select:none}.catalog #legend div div.tree-node-title.disabled,.catalog .tree-item div.tree-node-title.disabled{color:#999}.catalog #legend div div.tree-node-title .selection-filter-icon,.catalog .tree-item div.tree-node-title .selection-filter-icon{box-shadow:0 2px 5px rgba(0,0,0,.3);padding:5px;border-radius:3px;margin:0 3px;font-weight:700;color:#fff!important}.catalog #legend div div.tree-node-title .selection-filter-icon.active,.catalog .tree-item div.tree-node-title .selection-filter-icon.active{box-shadow:none;background-color:#384247}.catalog .tree-item{cursor:pointer;margin-bottom:3px}.catalog .tree-item.disabled>span{color:#999}.catalog .root{padding:2px 1px 1px 5px}.catalog .root .tree-item.group{padding-left:1px}.catalog .root.fa-chevron-right{padding-right:5px;padding-left:0}.catalog .root-categories.fa-chevron-right{padding-right:7px}.catalog .root-categories.fa-chevron-down{padding-right:3px}.bold{font-weight:700;color:#fff}.highlightlayer{border-bottom:2px dashed;border-color:#ffb516}.catalog{padding:3px}.catalog .tree-root{padding-left:0}.catalog .tree-root li>.root{padding-left:5px}.catalog .tree-root li.tree-item ul.tree-content-items.root{padding-left:18px}.catalog .tree-root li.tree-item ul.tree-content-items.root>.tree-item.group{padding-left:1px!important}.catalog .tree-root li.tree-item ul.tree-content-items{padding-left:17px;padding-top:2px}.g3w-lendplace-toc{padding-left:23px}.g3w-lendplace-toc.group{padding-left:17px}.g3w-lendplace-toc.root{padding-left:18px}.g3w-lendplace-toc.root>li.itemmarginbottom{margin-left:-13px}.g3w-lendplace-toc.root>li.itemmarginbottom div.layer-legend{padding-left:56px}.g3w-lendplace-toc.root>li.itemmarginbottom>span.child{padding-left:18px!important}.catalog .tree-root span.root.collapse-expande-collapse-icon{width:19px}.catalog .tree-root span.root.collapse-expande-collapse-icon.project-root{width:17px}.catalog .tree-root span.collapse-expande-collapse-icon{width:10px}.catalog span.legend-collapse-expande-collapse-icon{font-size:1.2em}.catalog .child-categories{padding:5px 3px 1px 12px}.catalog .layer-legend{padding:3px 0 0 35px;background-color:#222d32}.catalog .catalalog-nav-tabs{display:flex;flex:1 1 0}.catalog .catalalog-nav-tabs>li{font-size:1em;white-space:normal;display:flex;flex:1 1 0;align-items:stretch}.catalog .catalalog-nav-tabs>li a{padding:10px 0;text-align:center;height:100%;width:100%}.catalog .tree{color:#fff}.catalog .tree.disabled{color:#999;cursor:not-allowed}.catalog .g3w-external_wms_layers-group{padding:5px}.catalog .baselayers .radio{margin:0}#baselayers-content{display:grid;justify-content:center;grid-gap:5px;padding:0;margin:5px}#baselayers-content.mobile{grid-template-columns:repeat(auto-fill,minmax(80px,110px))}#baselayers-content .baseselayer-text{white-space:pre-line;font-weight:700}#baselayers-content .baselayer{cursor:pointer}#baselayers-content .baselayer .baselayer-name{font-weight:700;white-space:pre-line;text-align:center}#catalog #layers ul.g3w-external_layers-group{padding-left:0!important}#catalog #layers ul.g3w-external_layers-group li{padding-left:2px!important}#catalog #layers .sidebar-menu>li>a{border:0}#catalog>a{display:none!important}#catalog .tree-item>.toggle-context-menu{opacity:0;position:absolute;inset:0 4px auto auto;color:#fff;padding:4px 8px;border:1px solid;border-radius:3px}#catalog .tree-item:not(.group):hover>.toggle-context-menu{opacity:1}\\n#legend .divider[data-v-f931b03a]{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}.legend-item[data-v-f931b03a]{width:100%;position:relative}.g3w-catalog-layers-group>div[data-v-f931b03a]{border:1px solid #ffffff33;margin:5px}.g3w-catalog-layers-group>div>h4[data-v-f931b03a]{margin:5px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _CatalogChangeMapThemes = require('components/CatalogChangeMapThemes.vue');\n\nvar _CatalogChangeMapThemes2 = _interopRequireDefault(_CatalogChangeMapThemes);\n\nvar _CatalogTristateTree = require('components/CatalogTristateTree.vue');\n\nvar _CatalogTristateTree2 = _interopRequireDefault(_CatalogTristateTree);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\nexports.default = {\n name: 'catalog',\n\n data: function data() {\n return {\n state: this.$options.service.state || {},\n legend_position: _application2.default.project.state.legend_position || 'tab',\n iframe: _application2.default.iframe,\n showlegend: false,\n currentBaseLayer: null,\n activeTab: 'layers',\n loading: false\n };\n },\n\n\n components: {\n CatalogChangeMapThemes: _CatalogChangeMapThemes2.default,\n CatalogTristateTree: _CatalogTristateTree2.default\n },\n\n computed: {\n project: function project() {\n return _application2.default.project;\n },\n title: function title() {\n return this.project.state.name;\n },\n baselayers: function baselayers() {\n return this.project.state.baselayers;\n },\n hasBaseLayers: function hasBaseLayers() {\n return this.project.state.baselayers.length > 0;\n },\n hasLayers: function hasLayers() {\n return this.state.external.vector.length > 0 || this.state.layerstrees.reduce(function (a, l) {\n return l.tree.length + a;\n }, 0) > 0 || this.state.layersgroups.length > 0;\n },\n hasRelatedMaps: function hasRelatedMaps() {\n return window.initConfig.macrogroups.length + window.initConfig.groups.length + window.initConfig.projects.length > 1;\n }\n },\n\n methods: {\n onLegendError: function onLegendError(legendurl) {\n legendurl.error = true;\n legendurl.loading = false;\n },\n onLegendLoad: function onLegendLoad(legendurl) {\n legendurl.loading = false;\n },\n getLegendSrc: function getLegendSrc() {\n var _this = this;\n\n var change = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if ('tab' !== this.legend_position) {\n return;\n }\n\n this.state.layerstrees.forEach(function (t) {\n var layers = _this._traverseVisibleLayers(t.tree);\n _this.showlegend = _this.showlegend || layers.length > 0;\n t.tree.forEach(function () {\n var _ref = _asyncToGenerator(function* (tree) {\n try {\n if (change && (tree.legendurls && 0 === tree.legendurls.length || layers.some(function (l) {\n return l.legend.change;\n }) || _application2.default.project.state.context_base_legend)) {\n layers.filter(function (l) {\n return l.legend.change;\n }).forEach(function (l) {\n return l.legend.change = false;\n });\n }\n tree.legendurls = yield _this._getLegendSrc(layers);\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref.apply(this, arguments);\n };\n }());\n });\n },\n _traverseVisibleLayers: function _traverseVisibleLayers(obj) {\n var _layers = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = obj[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var layer = _step.value;\n\n if (null !== layer.id && undefined !== layer.id && layer.visible && layer.geolayer && !layer.exclude_from_legend) {\n _layers.push(layer);\n }\n if (null !== layer.nodes && undefined !== layer.nodes) {\n _layers = _layers.concat(this._traverseVisibleLayers(layer.nodes, _layers));\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return _layers;\n },\n _getLegendSrc: function () {\n var _ref2 = _asyncToGenerator(function* (visiblelayers) {\n var legendurls = [];\n\n var layers = visiblelayers.filter(function (l) {\n return l.geolayer;\n });\n\n var http = { GET: {}, POST: {} };\n\n layers.forEach(function (layer) {\n var name = http[layer.source && layer.source.url || layer.external ? 'GET' : layer.ows_method];\n var catalogLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n\n var url = catalogLayer ? catalogLayer.getLegendUrl((window.initConfig.layout || {}).legend, {\n all: !_application2.default.project.state.context_base_legend,\n format: 'image/png',\n categories: layer.categories\n }) : undefined;\n\n if (undefined === catalogLayer) {\n return;\n }\n\n if (layer.source && layer.source.url) {\n name[url] = [];\n return;\n }\n\n var prefix = url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[0];\n\n if (!name[prefix]) {\n name[prefix] = [];\n }\n\n name[prefix].unshift({\n layerName: url.split('LAYER=')[1],\n style: (Array.isArray(layer.styles) && layer.styles.find(function (style) {\n return style.current;\n }) || { name: false }).name,\n legend_on: (url.split('LAYER=')[0].split('LEGEND_ON=')[1] || '').replace('&', ''),\n legend_off: (url.split('LAYER=')[0].split('LEGEND_ON=')[0].split('LEGEND_OFF=')[1] || '').replace('&', '') });\n });\n\n for (var method in http) {\n var _loop = function* _loop(url) {\n var obj = {\n loading: true,\n url: null,\n error: false\n };\n\n legendurls.push(obj);\n\n var params = {\n LAYERS: [],\n STYLES: [],\n LEGEND_ON: [],\n LEGEND_OFF: []\n };\n\n (http[method][url] || []).reduce(function (_, layer) {\n params.LAYERS.push(layer.layerName);\n params.STYLES.push(layer.style);\n if (layer.legend_on) {\n params.LEGEND_ON.push(layer.legend_on);\n }\n if (layer.legend_off) {\n params.LEGEND_OFF.push(layer.legend_off);\n }\n return params;\n }, params);\n\n var url_params = [__('LAYERS=', params.LAYERS.join(',')), __('STYLES=', params.STYLES.join(',')), __('LEGEND_ON=', params.LEGEND_ON.join(',')), __('LEGEND_OFF=', params.LEGEND_OFF.join(',')), __('filtertoken=', _application2.default.tokens.filtertoken)].filter(function (p) {\n return p;\n }).join('&');\n\n try {\n obj.url = 'GET' === method ? url + (http[method][url].length ? url_params : '') : URL.createObjectURL((yield (yield fetch(url.split('?')[0], {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n\n body: url.split('?')[1].split('&').filter(function (p) {\n return p.split('=')[0];\n }).map(function (p) {\n return p.split('=')[0] + '=' + encodeURIComponent(p.split('=')[1]);\n }).join('&') + '&' + url_params\n })).blob()));\n } catch (e) {\n console.warn(e);\n }\n\n obj.loading = false;\n };\n\n for (var url in http[method]) {\n yield* _loop(url);\n }\n }\n\n return legendurls;\n });\n\n function _getLegendSrc(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return _getLegendSrc;\n }(),\n getMapThemeFromThemeName: function () {\n var _ref3 = _asyncToGenerator(function* (theme) {\n var project = _application2.default.project;\n\n var config = Object.values(project.state.map_themes).flat().find(function (c) {\n return theme === c.theme;\n });\n if (config && undefined === config.layerstree) {\n try {\n var response = yield _XHR.XHR.get({ url: '' + project.urls.map_themes + theme + '/' });\n if (response.result) {\n config.layerstree = response.data;\n }\n } catch (e) {\n console.warn('Error while retreiving map theme configuration', e);\n }\n }\n return config;\n });\n\n function getMapThemeFromThemeName(_x5) {\n return _ref3.apply(this, arguments);\n }\n\n return getMapThemeFromThemeName;\n }(),\n setLayersTreePropertiesFromMapTheme: function () {\n var _ref5 = _asyncToGenerator(function* (_ref4) {\n var map_theme = _ref4.map_theme,\n layerstree = _ref4.layerstree;\n\n var project = _application2.default.project;\n layerstree = undefined !== layerstree ? layerstree : project.state.layerstree;\n\n var theme = yield this.getMapThemeFromThemeName(map_theme);\n\n var changes = { layers: {} };\n var promises = [];\n\n var groups = [];\n var traverse = function traverse(mapThemeLayersTree, layerstree, checked) {\n mapThemeLayersTree.forEach(function (node, index) {\n if (node.nodes) {\n groups.push({\n node: node,\n group: layerstree[index]\n });\n traverse(node.nodes, layerstree[index].nodes, checked && node.checked);\n } else {\n node.style = theme.styles[node.id];\n if (layerstree[index].checked !== node.visible) {\n changes.layers[node.id] = {\n visibility: true,\n style: false\n };\n }\n layerstree[index].checked = node.visible;\n\n if (node.style) {\n var promise = new Promise(function (resolve) {\n var setCurrentStyleAndResolvePromise = function setCurrentStyleAndResolvePromise(node) {\n if (changes.layers[node.id] === undefined) changes.layers[node.id] = {\n visibility: false,\n style: false\n };\n changes.layers[node.id].style = project.getLayerById(node.id).setCurrentStyle(node.style);\n resolve();\n };\n if (project.getLayersStore()) {\n setCurrentStyleAndResolvePromise(node);\n } else {\n (function (node) {\n return setTimeout(function () {\n return setCurrentStyleAndResolvePromise(node);\n });\n })(node);\n }\n });\n promises.push(promise);\n }\n }\n });\n };\n traverse(theme.layerstree, layerstree);\n\n yield Promise.allSettled(promises);\n\n groups.forEach(function (_ref6) {\n var group = _ref6.group,\n _ref6$node = _ref6.node,\n checked = _ref6$node.checked,\n expanded = _ref6$node.expanded;\n\n group.checked = checked;\n group.expanded = expanded;\n });\n\n return changes;\n });\n\n function setLayersTreePropertiesFromMapTheme(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayersTreePropertiesFromMapTheme;\n }(),\n changeMapTheme: function () {\n var _ref7 = _asyncToGenerator(function* (map_theme) {\n _gui2.default.closeContent();\n\n this.state.layerstrees[0].checked = true;\n\n var changes = (yield this.setLayersTreePropertiesFromMapTheme({\n map_theme: map_theme,\n rootNode: this.state.layerstrees[0],\n layerstree: this.state.layerstrees[0].tree[0].nodes\n })).layers;\n\n var layers = Object.keys(changes).filter(function (id) {\n return changes[id].style;\n });\n var styles = (yield this.getMapThemeFromThemeName(map_theme)).styles;\n\n layers.forEach(function (id) {\n if (!changes[id].visible) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(id);\n layer.clearCategories();\n layer.change();\n }\n });\n\n layers.forEach(function (id) {\n return _g3wEventbus.VM.$emit('layer-change-style', { layerId: id, style: styles[id] });\n });\n });\n\n function changeMapTheme(_x7) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapTheme;\n }(),\n onTabClick: function onTabClick(e) {\n if (e.target.attributes['aria-controls']) {\n this.activeTab = e.target.attributes['aria-controls'].value;\n }\n },\n setBaseLayer: function setBaseLayer(id) {\n this.currentBaseLayer = id;\n this.project.setBaseLayer(id);\n _application2.default.baseLayerId = id;\n },\n getSrcBaseLayerImage: function getSrcBaseLayerImage(baseLayer) {\n var image = 'nobaselayer.png';\n switch (baseLayer && baseLayer.servertype || baseLayer) {\n case 'OSM':\n image = 'osm.png';break;\n case 'Bing':\n image = 'bing' + baseLayer.source.subtype + '.png';break;\n case 'TMS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n case 'WMTS':\n image = baseLayer.icon ? baseLayer.icon : image;break;\n }\n return (baseLayer || {}).icon ? image : _gui2.default.getResourcesUrl() + 'images/' + image;\n },\n onUnSelectionLayer: function onUnSelectionLayer(storeid, layer) {\n if (!layer) {\n return console.warn('undefined layer');;\n }\n\n var service = _gui2.default.getService('queryresults');\n var action = layer.external && service.getActionLayerById({ layer: layer, id: 'selection' });\n\n if (!layer.external && storeid) {\n _application2.default.catalog[storeid].getLayerById(layer.id).clearSelectionFids();\n }\n\n if (layer.external) {\n layer.selection.active = false;\n layer.selection.features.forEach(function (feature, i) {\n if (!feature.selection.selected) {\n return;\n }\n feature.selection.selected = false;\n if (action) {\n action.state.toggled[i] = false;\n }\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feature });\n });\n }\n },\n onActiveFilterTokenLayer: function () {\n var _ref8 = _asyncToGenerator(function* (storeid, layerstree) {\n layerstree.filter.active = yield _application2.default.catalog[storeid].getLayerById(layerstree.id).toggleFilterToken();\n });\n\n function onActiveFilterTokenLayer(_x8, _x9) {\n return _ref8.apply(this, arguments);\n }\n\n return onActiveFilterTokenLayer;\n }(),\n onTreeNodeVisible: function onTreeNodeVisible(layer) {\n _gui2.default.getService('map').emit('cataloglayervisible', layer);\n },\n onTreeNodeSelected: function onTreeNodeSelected(node) {\n _gui2.default.getService('map').selectLayer(node.id);\n },\n showaddLayerModal: function showaddLayerModal() {\n $('#modal-addlayer').modal('show');\n },\n openChangeMapMenu: function openChangeMapMenu() {\n $('#modal-changemap').modal('show');\n }\n },\n\n watch: {\n 'state.external.wms': function stateExternalWms(newlayers, oldlayers) {\n if (oldlayers && 0 === newlayers.length) {\n this.activeTab = this.project.state.catalog_tab || 'layers';\n }\n },\n\n\n project: {\n handler: function () {\n var _ref9 = _asyncToGenerator(function* (project) {\n var _this2 = this;\n\n var activeTab = project.state.catalog_tab || 'layers';\n this.loading = 'baselayers' === activeTab;\n yield this.$nextTick();\n setTimeout(function () {\n _this2.loading = false;\n _this2.activeTab = activeTab;\n }, 'baselayers' === activeTab ? 500 : 0);\n });\n\n function handler(_x10) {\n return _ref9.apply(this, arguments);\n }\n\n return handler;\n }(),\n\n immediate: false\n },\n\n activeTab: function activeTab(_activeTab, oldTab) {\n if ('legend' === _activeTab) {\n this.getLegendSrc(true);\n }\n if (this.$el) {\n this.$el.parentElement.classList.remove('tab-' + oldTab);\n this.$el.parentElement.classList.add('tab-' + _activeTab);\n }\n }\n },\n\n created: function created() {\n _g3wEventbus.VM.$on('unselectionlayer', this.onUnSelectionLayer);\n _g3wEventbus.VM.$on('activefiltertokenlayer', this.onActiveFilterTokenLayer);\n _g3wEventbus.VM.$on('treenodevisible', this.onTreeNodeVisible);\n _g3wEventbus.VM.$on('treenodeselected', this.onTreeNodeSelected);\n _g3wEventbus.VM.$on('layer-change-style', this.getLegendSrc);\n },\n beforeMount: function beforeMount() {\n this.currentBaseLayer = this.project.state.initbaselayer;\n },\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n yield this.$nextTick();\n\n if (_application2.default.project.state.context_base_legend) {\n _gui2.default.getService('map').on('change-map-legend-params', function () {\n _this3.getLegendSrc();\n });\n } else {\n this.getLegendSrc();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tabbable-panel catalog\"},[_c('div',{staticClass:\"tabbable-line\"},[_c('ul',{staticClass:\"nav nav-tabs catalalog-nav-tabs\",attrs:{\"role\":\"tablist\"},on:{\"!click\":function($event){return _vm.onTabClick($event)}}},[(_vm.hasLayers)?_c('li',{class:{ active: ('layers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('data'),expression:\"'data'\"}],attrs:{\"href\":\"#layers\",\"aria-controls\":\"layers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"tree\"}})]):_vm._e(),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('li',{class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('externalwms'),expression:\"'externalwms'\"}],attrs:{\"href\":\"#externalwms\",\"aria-controls\":\"externalwms\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"externalwms\"}})]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('li',{class:{ active: ('baselayers' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('baselayers'),expression:\"'baselayers'\"}],attrs:{\"href\":\"#baselayers\",\"aria-controls\":\"baselayers\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"baselayers\"}})]):_vm._e(),_vm._v(\" \"),('tab' === _vm.legend_position && _vm.showlegend)?_c('li',{class:{ active: ('legend' === _vm.activeTab) },attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('legend'),expression:\"'legend'\"}],attrs:{\"href\":\"#legend\",\"aria-controls\":\"legend\",\"role\":\"tab\",\"data-toggle\":\"tab\",\"data-i18n\":\"legend\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content catalog-tab-content\"},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",class:{ active: ('layers' === _vm.activeTab) },attrs:{\"id\":\"layers\",\"role\":\"tabpanel\"}},[_c('div',{staticStyle:{\"margin\":\"2px\"},attrs:{\"id\":\"g3w-catalog-toc-layers-toolbar\"}},[_c('catalog-change-map-themes',{key:_vm.project.state.gid,attrs:{\"map_themes\":_vm.project.state.map_themes,\"layerstrees\":_vm.state.layerstrees},on:{\"change-map-theme\":_vm.changeMapTheme}})],1),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(root){return _c('ul',{key:root.storeid,staticClass:\"tree-root root project-root\"},_vm._l((root.tree),function(tree){return _c('catalog-tristate-tree',{key:tree.id,staticClass:\"item\",attrs:{\"layerstree\":tree,\"parentFolder\":false,\"root\":true,\"legendplace\":_vm.legend_position,\"parent_mutually_exclusive\":false,\"storeid\":root.storeid}})}),1)}),_vm._v(\" \"),(_vm.state.external.vector.length)?_c('ul',{staticClass:\"g3w-external_layers-group\"},_vm._l((_vm.state.external.vector),function(vector){return _c('catalog-tristate-tree',{key:vector.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.vector,\"layerstree\":vector}})}),1):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layersgroups),function(group){return _c('ul',{staticClass:\"g3w-catalog-layers-group\"},[_c('div',[_c('h4',[_vm._v(_vm._s(group.title))]),_vm._v(\" \"),_vm._l((group.nodes),function(node){return _c('catalog-tristate-tree',{staticClass:\"item\",attrs:{\"layerstree\":node}})})],2)])})],2),_vm._v(\" \"),(_vm.state.external.wms.length)?_c('div',{staticClass:\"tab-pane\",class:{ active: ('externalwms' === _vm.activeTab) },attrs:{\"id\":\"externalwms\",\"role\":\"tabpanel\"}},[_c('ul',{staticClass:\"g3w-external_wms_layers-group\"},_vm._l((_vm.state.external.wms),function(wms){return _c('catalog-tristate-tree',{key:wms.id,staticClass:\"item\",attrs:{\"externallayers\":_vm.state.external.wms,\"layerstree\":wms}})}),1)]):_vm._e(),_vm._v(\" \"),(_vm.hasBaseLayers)?_c('div',{staticClass:\"tab-pane baselayers\",class:{ active: ('baselayers' === _vm.activeTab || !_vm.hasLayers) },attrs:{\"id\":\"baselayers\",\"role\":\"tabpanel\"}},[_c('ul',{class:{'mobile': _vm.isMobile()},style:({ gridTemplateColumns: (\"repeat(auto-fill, minmax(\" + (_vm.baselayers.length > 4 ? 80 : 120) + \"px, 1fr))\") }),attrs:{\"id\":\"baselayers-content\"}},[_vm._l((_vm.baselayers),function(base){return (!base.fixed)?_c('li',{key:base.title},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === base.id ? 1 : 0.5, height: _vm.baselayers.length > 4 ? '108px' : null }),attrs:{\"src\":_vm.getSrcBaseLayerImage(base)},on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(base.id)}}}),_vm._v(\" \"),_c('div',{staticClass:\"baseselayer-text text-center g3w-long-text\"},[_vm._v(_vm._s(base.title))])]):_vm._e()}),_vm._v(\" \"),_c('li',{on:{\"click\":function($event){$event.stopPropagation();return _vm.setBaseLayer(null)}}},[_c('img',{staticClass:\"img-responsive img-thumbnail baselayer\",style:({ opacity: _vm.currentBaseLayer === null ? 1 : 0.5 }),attrs:{\"src\":_vm.getSrcBaseLayerImage(null)}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('nobaselayer'),expression:\"'nobaselayer'\"}],staticClass:\"baseselayer-text text-center g3w-long-text\"})])],2)]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.layerstrees),function(tree){return ('tab' === _vm.legend_position)?_c('div',{key:tree.id,staticClass:\"tab-pane\",class:{ active: 'legend' === _vm.activeTab },attrs:{\"role\":\"tabpanel\",\"id\":\"legend\"}},_vm._l((tree.tree),function(t){return _c('div',{staticClass:\"legend-item\"},_vm._l((t.legendurls),function(url){return _c('figure',[_c('bar-loader',{attrs:{\"loading\":url.loading}}),_vm._v(\" \"),_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(!url.loading && !url.error),expression:\"!url.loading && !url.error\"}],attrs:{\"src\":url.url,\"alt\":\"\"},on:{\"error\":function($event){return _vm.onLegendError(url)},\"load\":function($event){return _vm.onLegendLoad(url)}}}),_vm._v(\" \"),_c('divider')],1)}),0)}),0):_vm._e()})],2)]),_vm._v(\" \"),(_vm.hasRelatedMaps || 'legend' !== _vm.activeTab)?_c('div',{staticStyle:{\"position\":\"sticky\",\"bottom\":\"0\",\"background-color\":\"#222d32\",\"display\":\"flex\",\"text-align\":\"center\",\"line-height\":\"48px\",\"color\":\"#fff\",\"border-top\":\"2px solid var(--skin-color)\",\"margin-top\":\"12px\",\"justify-content\":\"space-around\"}},[('legend' !== _vm.activeTab)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.showaddLayerModal}},[_c('i',{class:_vm.$fa('layers')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}]})]):_vm._e(),_vm._v(\" \"),(_vm.hasRelatedMaps && 'legend' !== _vm.activeTab && !_vm.iframe)?_c('a',{attrs:{\"href\":\"#\"},on:{\"click\":_vm.openChangeMapMenu}},[_c('i',{class:_vm.$fa('refresh')}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('changemap'),expression:\"'changemap'\"}]})]):_vm._e()]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-f931b03a\"\n\n},{\"components/CatalogChangeMapThemes.vue\":38,\"components/CatalogTristateTree.vue\":41,\"g3w-eventbus\":126,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],38:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-catalog-toc-views[data-v-06d0cd43]{margin-bottom:5px;border-bottom:2px solid}.g3w-map-theme-anchor[data-v-06d0cd43]{padding:0;margin-bottom:5px}.g3w-map-theme-anchor>section[data-v-06d0cd43]{display:flex;flex-wrap:wrap;align-items:center;padding:5px}.add-map-theme[data-v-06d0cd43]{border-top:2px solid;margin:5px 0}.add-map-theme-input[data-v-06d0cd43]{width:100%}#g3w-catalog-views[data-v-06d0cd43]{display:none;padding:0}#g3w-catalog-views.menu-open[data-v-06d0cd43]{display:block}.current_map_theme[data-v-06d0cd43]{overflow:hidden;white-space:normal;text-overflow:ellipsis}.choose_map_theme[data-v-06d0cd43]{color:#ccc!important;font-weight:700}.project_map_theme[data-v-06d0cd43]{font-weight:700;padding:3px;border-bottom:1px solid #fff}.user_map_theme[data-v-06d0cd43]{font-weight:700;padding:5px 3px;display:flex;justify-content:space-between;align-self:baseline;border-bottom:1px solid #fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputText = require(\"./InputText.vue\");\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _gui = require(\"services/gui\");\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require(\"utils/XHR\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar LAYERSTREES_ATTRIBUTES = {\n node: ['id', 'name', 'visible', 'expanded'],\n group: ['name', 'checked', 'expanded', 'mutually-exclusive']\n};\n\nexports.default = {\n\n name: \"changemapthemes\",\n\n components: {\n InputText: _InputText2.default\n },\n\n props: {\n\n map_themes: {\n type: Object,\n default: { project: [], custom: [] }\n },\n\n layerstrees: {\n type: Array\n }\n\n },\n\n data: function data() {\n var theme = Object.values(this.map_themes).flat().find(function (mt) {\n return mt.default;\n });\n return {\n active_theme: theme && theme.theme || null,\n collapsed: 'collapsed' === _application2.default.project.state.toc_themes_init_status,\n\n custom_theme: {\n name: 'add-user-theme',\n label: 'sdk.catalog.choose_map_theme_input_label',\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n\n validate: {\n valid: false,\n required: true,\n error: 'sdk.catalog.invalid_map_theme_name'\n }\n },\n\n show_form: false\n };\n },\n\n\n methods: {\n toggle: function toggle() {\n if (!this.show_form) {\n document.getElementById('g3w-catalog-views').classList.toggle('menu-open');\n this.collapsed = !this.collapsed;\n }\n },\n _getMapThemeParams: function _getMapThemeParams() {\n var params = { layerstree: [], styles: {} };\n var treeItem = function treeItem(type, node) {\n return LAYERSTREES_ATTRIBUTES[type].reduce(function (acc, attr) {\n acc[attr] = node[attr];return acc;\n }, {});\n };\n var traverse = function traverse(nodes, tree) {\n nodes.forEach(function (node) {\n if (undefined !== node.id) {\n params.styles[node.id] = node.styles.find(function (s) {\n return s.current;\n }).name;\n tree.push(treeItem('node', node));\n }\n\n if (Array.isArray(node.nodes)) {\n var group = treeItem('group', node);\n group.nodes = [];\n tree.push(group);\n traverse(node.nodes, group.nodes);\n }\n });\n };\n\n traverse(this.layerstrees[0].tree[0].nodes, params.layerstree);\n\n return params;\n },\n saveTheme: function () {\n var _ref = _asyncToGenerator(function* () {\n var theme = this.custom_theme.value;\n\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n var saved = yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n if (saved.result) {\n this.map_themes.custom.push({ theme: this.custom_theme.value, styles: params.styles });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.saved_map_theme', autoclose: true });\n\n this.show_form = false;\n\n this.active_theme = this.custom_theme.value;\n\n yield this.$nextTick();\n\n this.custom_theme.value = null;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function saveTheme() {\n return _ref.apply(this, arguments);\n }\n\n return saveTheme;\n }(),\n updateTheme: function () {\n var _ref2 = _asyncToGenerator(function* (theme) {\n if (!theme) {\n return;\n }\n try {\n var params = this._getMapThemeParams();\n yield _XHR.XHR.post({\n url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\",\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n\n var c_theme = this.map_themes.custom.find(function (mt) {\n return theme === mt.theme;\n });\n c_theme.styles = params.styles;\n c_theme.layerstree = params.layerstree;\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.updated_map_theme', autoclose: true });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function updateTheme(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return updateTheme;\n }(),\n deleteTheme: function deleteTheme(theme) {\n var _this = this;\n\n _gui2.default.dialog.confirm(t('sdk.catalog.question_delete_map_theme'), function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (!bool || !theme) {\n return;\n }\n try {\n var deleted = yield _XHR.XHR.delete({ url: \"\" + _application2.default.project.urls.map_themes + encodeURIComponent(theme) + \"/\" });\n if (deleted.result) {\n _this.map_themes.custom = _this.map_themes.custom.filter(function (_ref4) {\n var t = _ref4.theme;\n return t !== theme;\n });\n\n _gui2.default.showUserMessage({ type: 'success', message: 'sdk.catalog.delete_map_theme', autoclose: true });\n\n if (theme === _this.active_theme) {\n _this.active_theme = null;\n }\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n return function (_x2) {\n return _ref3.apply(this, arguments);\n };\n }());\n }\n },\n\n watch: {\n\n 'active_theme': {\n immediate: false,\n handler: function handler(map_theme) {\n if (null === map_theme || map_theme === this.custom_theme.value) {\n return;\n }\n this.$emit('change-map-theme', map_theme);\n }\n },\n\n 'custom_theme.value': function custom_themeValue(name) {\n var _this2 = this;\n\n setTimeout(function () {\n _this2.custom_theme.validate.valid = name ? !_this2.map_themes.custom.find(function (_ref5) {\n var theme = _ref5.theme;\n return theme === name.trim();\n }) : false;\n }, 200);\n },\n show_form: function () {\n var _ref6 = _asyncToGenerator(function* (bool) {\n this.custom_theme.value = null;\n\n if (bool) {\n yield this.$nextTick();\n Array.from(this.$refs.add_map_theme_input.$el.children).forEach(function (child) {\n return child.classList.remove('col-sm-12');\n });\n }\n });\n\n function show_form(_x3) {\n return _ref6.apply(this, arguments);\n }\n\n return show_form;\n }()\n },\n\n created: function created() {\n this.logged = undefined !== _application2.default.user.id;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"sidebar-menu\"},[_c('li',{staticClass:\"treeview sidebaritem skin-border-color\",attrs:{\"id\":\"g3w-catalog-toc-views\"}},[_c('a',{staticClass:\"g3w-map-theme-anchor\",attrs:{\"href\":\"#\"}},[_c('section',{on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle($event)}}},[_c('i',{class:_vm.$fa(_vm.collapsed ? 'caret-down' : 'caret-up'),staticStyle:{\"padding\":\"3px\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.collapsed ? 'eye-close' : 'eye'),staticStyle:{\"padding\":\"0 0 0 4px\"}}),_vm._v(\" \"),(_vm.active_theme)?_c('span',{staticClass:\"current_map_theme treeview-label g3w-long-text\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.catalog.current_map_theme_prefix'),expression:\"'sdk.catalog.current_map_theme_prefix'\",arg:\"pre\"}],staticStyle:{\"color\":\"#ccc !important\"}},[_vm._v(\":\")]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\",staticStyle:{\"font-size\":\"1.1em\"}},[_vm._v(_vm._s(_vm.active_theme))])]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.choose_map_theme'),expression:\"'sdk.catalog.choose_map_theme'\"}],staticClass:\"choose_map_theme treeview-label\"})])]),_vm._v(\" \"),(_vm.show_form)?_c('div',{staticClass:\"add-map-theme skin-border-color\"},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\",\"padding-top\":\"5px\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"2px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = false}}})]),_vm._v(\" \"),_c('div',{staticClass:\"container add-map-theme-input\"},[_c('input-text',{ref:\"add_map_theme_input\",attrs:{\"state\":_vm.custom_theme}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.custom_theme.validate.valid),expression:\"!custom_theme.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveTheme($event)}}})])]):_c('ul',{class:{'menu-open': !_vm.collapsed},attrs:{\"id\":\"g3w-catalog-views\"}},[((_vm.map_themes.project || []).length > 0)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-project\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.project_map_theme'),expression:\"'sdk.catalog.project_map_theme'\"}],staticClass:\"project_map_theme\"})]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.project),function(map_theme,i){return _c('div',{key:map_theme.theme},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i)},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"for\":(\"g3w-map_theme-\" + i)}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])])}),0)])]):_vm._e(),_vm._v(\" \"),(_vm.logged)?_c('li',{attrs:{\"id\":\"g3w-catalog-views-user\"}},[_c('ul',{staticStyle:{\"padding\":\"0\"}},[_c('li',[_c('div',{staticClass:\"user_map_theme\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.catalog.user_map_theme'),expression:\"'sdk.catalog.user_map_theme'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"margin-left\":\"auto\",\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.show_form = !_vm.show_form}}})])]),_vm._v(\" \"),_c('li',{staticStyle:{\"padding\":\"5px 5px 5px 17px\"}},_vm._l((_vm.map_themes.custom),function(map_theme,i){return _c('div',{key:map_theme.theme,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"}},[_c('span',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.active_theme),expression:\"active_theme\"}],staticClass:\"magic-radio\",attrs:{\"type\":\"radio\",\"name\":\"radio\",\"id\":(\"g3w-map_theme-\" + i + \"-user\")},domProps:{\"value\":map_theme.theme,\"checked\":map_theme.default,\"checked\":_vm._q(_vm.active_theme,map_theme.theme)},on:{\"change\":function($event){_vm.active_theme=map_theme.theme}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":(\"g3w-map_theme-\" + i + \"-user\")}},[_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(map_theme.theme))])])]),_vm._v(\" \"),_c('span',{staticClass:\"g3w-custom-map-theme-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('update'),expression:\"'update'\",arg:\"top\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.active_theme !== map_theme.theme),expression:\"active_theme !== map_theme.theme\"}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.updateTheme(map_theme.theme)}}},[_c('i',{staticClass:\"skin-color\",class:_vm.$fa('save')})]),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('cancel'),expression:\"'cancel'\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action sidebar-button sidebar-button-icon\",staticStyle:{\"padding\":\"5px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteTheme(map_theme.theme)}}},[_c('i',{class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\"}})])])])}),0)])]):_vm._e()])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06d0cd43\"\n\n},{\"./InputText.vue\":78,\"g3w-i18n\":128,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],39:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".catalog-context-menu{background:#fafafa;border:1px solid #bdbdbd;border-radius:3px;display:block;list-style:none;margin:0;padding:0;position:fixed;min-width:150px;z-index:2;color:#000;outline:none;display:flex;flex-direction:column}.catalog-context-menu li ul{position:absolute;width:max-content;order:1;padding-left:0;background-color:#fff;color:#000}.catalog-context-menu li:not(:hover) ul{display:none}.catalog-context-menu li{border-bottom:1px solid #e0e0e0;margin:0;padding:8px 25px 8px 15px;display:flex;flex-direction:row}.catalog-context-menu li i{padding-right:3px;margin-right:6px;color:var(--skin-d20)!important}.catalog-context-menu li .click-to-copy{color:#000;opacity:1;margin-left:1ch;margin-right:-15px;margin-top:8px}.catalog-context-menu li .click-to-copy:hover{color:#fff!important;transform:scale(1.1)}.catalog-context-menu .click-to-copy .tooltip-inner{min-width:200px}.catalog-context-menu li.title{background:transparent!important;font-size:1.1em;font-weight:700;border-bottom-width:3px!important;flex-direction:column;max-width:250px;cursor:move!important;color:#000!important}.catalog-context-menu li:last-child{border-bottom:none}.catalog-context-menu li:hover{color:#fafafa;cursor:pointer}.catalog-context-menu li .layer-menu-metadata-info{background-color:#fff;color:#000;padding:5px;max-width:200px;white-space:normal;overflow-y:auto;max-height:150px}.catalog-context-menu .tooltip-inner{word-break:break-all;font-weight:700}.catalog-context-menu .item-text{margin-left:3px}.catalog-context-menu :is(ul,li){list-style-type:none}.catalog-context-menu li.inline-submenu{display:list-item;padding:0;text-indent:100%;line-height:0;overflow:hidden}.catalog-context-menu li.inline-submenu>*{display:none}.catalog-context-menu li.inline-submenu>ul{display:block;position:relative;left:0!important;width:100%;text-indent:0;line-height:normal}.catalog-context-menu li,.catalog-context-menu li.inline-submenu>ul>li{font-weight:700}.catalog-context-menu li li{font-weight:400}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _vueColor = require('vue-color');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar shpwrite = require('shp-write');\n\nfunction dragElement(menu) {\n var el = menu.querySelector('li.title');\n if (!el || menu._drag) {\n return;\n } else {\n menu._drag = true;\n }\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (menu.style.marginLeft) {\n x2 -= parseInt(menu.style.marginLeft);menu.style.marginLeft = null;\n }\n if (menu.style.marginTop) {\n y2 -= parseInt(menu.style.marginTop);menu.style.marginTop = null;\n }\n menu.style.top = menu.offsetTop - y2 + \"px\";\n menu.style.left = menu.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: 'catalog-context-menu',\n\n props: {\n external: {\n type: Object\n }\n },\n\n data: function data() {\n return {\n ApplicationState: _application2.default,\n layer: null,\n layer_style: null,\n top: 0,\n left: 0,\n project_menu: false,\n layer_menu: false\n };\n },\n\n\n computed: {\n edit_url: function edit_url() {\n return _application2.default.project.getState().edit_url;\n },\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n }\n },\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n directives: {\n 'click-outside': {\n bind: function bind(el, binding, vnode) {\n this.event = function (e) {\n if (el === e.target || el.contains(e.target)) {\n return;\n }\n e.stopPropagation();\n vnode.context[binding.expression](e);\n };\n document.body.addEventListener('click', this.event, true);\n },\n unbind: function unbind() {\n document.body.removeEventListener('click', this.event, true);\n }\n }\n },\n\n methods: {\n onShowContextMenu: function () {\n var _ref = _asyncToGenerator(function* (e, layerstree) {\n this.closeMenu();\n yield this.$nextTick();\n this.left = e.x;\n var layer = !(layerstree || {}).nodes && layerstree;\n this.layer = layer || null;\n this.layer_menu = !!layer;\n this.project_menu = !layer;\n yield this.$nextTick();\n this.top = e.target.getBoundingClientRect().top - this.$refs['menu'].clientHeight + e.target.clientHeight / 2;\n $('.click-to-copy[data-toggle=\"tooltip\"]').tooltip();\n\n [this.$refs.download_menu, this.$refs.ogc_menu].forEach(function (li) {\n return li && li.classList.toggle('inline-submenu', 1 === li.querySelector('ul').children.length);\n });\n dragElement(this.$refs.menu);\n });\n\n function onShowContextMenu(_x, _x2) {\n return _ref.apply(this, arguments);\n }\n\n return onShowContextMenu;\n }(),\n closeMenu: function closeMenu() {\n this.layer_menu = false;\n this.project_menu = false;\n },\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n this.$refs.layer_color.style.backgroundColor = val.hex;\n var layer = _gui2.default.getService('map').getLayerByName(this.layer.name || '');\n var style = layer.getStyle();\n style._g3w_options.color = val;\n layer.setStyle(style);\n },\n canShowWmsUrl: function canShowWmsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && !!layer.getFullWmsUrl();\n },\n canShowWfsUrl: function canShowWfsUrl(layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && !layer.isType('table') && layer.isWfsActive();\n },\n canDownload: function canDownload(format, layerId) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n return layer && layer['is' + format + 'Downloadable']();\n },\n getWmsUrl: function getWmsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWmsUrl();\n },\n getWfsUrl: function getWfsUrl(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfsUrl();\n },\n getWfs3Url: function getWfs3Url(layerId) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getCatalogWfs3Url();\n },\n copyUrl: function copyUrl(format, el) {\n var _this = this;\n\n var url = this['get' + format + 'Url'](this.layer.id);\n var a = document.createElement('a');\n var input = document.createElement('input');\n a.href = url;\n input.value = a.href;\n document.body.appendChild(input);\n input.select();\n document.execCommand(\"copy\");\n $(el).attr('data-original-title', t('sdk.catalog.menu.wms.copied')).tooltip('show');\n $(el).attr('title', this.copywmsurltooltip).tooltip('fixTitle');\n input.remove();\n a.remove();\n setTimeout(function () {\n $('[data-toggle=\"tooltip\"]').tooltip(\"destroy\");\n _this.closeMenu();\n }, 600);\n },\n download: function () {\n var _ref2 = _asyncToGenerator(function* (format, layerId) {\n var map_extent = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n _application2.default.download = true;\n try {\n yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId)['get' + format]({\n data: map_extent ? { map_extent: _gui2.default.getService('map').getMapExtent().toString() } : undefined\n });\n } catch (e) {\n _gui2.default.notify.error(t(\"info.server_error\"));\n }\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function download(_x4, _x5) {\n return _ref2.apply(this, arguments);\n }\n\n return download;\n }(),\n downloadExternal: function downloadExternal(url) {\n _application2.default.download = true;\n (0, _downloadFile.downloadFile)({ url: url });\n _application2.default.download = false;\n },\n setLayerPosition: function setLayerPosition(position) {\n if (position !== this.layer.position) {\n this.layer.position = position;\n var map = _gui2.default.getService('map');\n map.getLayerById(this.layer.id).setZIndex({ top: map.layersCount, bottom: 0 }[position]);\n map.emit('change-layer-position-map', { id: this.layer.id, position: position });\n this.closeMenu();\n }\n },\n zoomToLayer: function zoomToLayer(layer) {\n try {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: '' + e.message,\n textMessage: true\n });\n }\n this.closeMenu();\n },\n canEdit: function canEdit(layer) {\n return layer ? !layer.external && (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).isEditable() : g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n },\n startEditing: function startEditing(layer) {\n this.closeMenu();\n var editing = g3wsdk.core.plugin.PluginsRegistry.getPlugin('editing');\n editing.showPanel(layer ? { toolboxes: [layer.id] } : undefined);\n if (layer) {\n editing.startEditing(layer.id);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coord) {\n return coord > 0;\n });\n },\n getGeometryType: function getGeometryType(layerId) {\n var external = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var layer = external ? _gui2.default.getService('catalog').state.external.vector.find(function (l) {\n return l.id === layerId;\n }) : (0, _getCatalogLayerById.getCatalogLayerById)(layerId);\n if (layer) {\n var type = external ? layer.geometryType : layer.config.geometrytype;\n return layer && 'NoGeometry' !== type && type || '';\n }\n return '';\n },\n downloadExternalShapefile: function () {\n var _ref3 = _asyncToGenerator(function* (layer) {\n _application2.default.download = true;\n var features = _gui2.default.getService('map').getLayerByName(layer.name).getSource().getFeatures();\n if ('EPSG:4326' !== layer.crs) {\n features = features.map(function (f) {\n var feat = f.clone();\n feat.getGeometry().transform(layer.crs, 'EPSG:4326');\n return feat;\n });\n }\n var name = layer.name.split('.' + layer.type)[0];\n shpwrite.download(new ol.format.GeoJSON().writeFeaturesObject(features, { featureProjection: 'EPSG:4326' }), {\n folder: name,\n types: {\n point: name,\n mulipoint: name,\n polygon: name,\n multipolygon: name,\n line: name,\n polyline: name,\n multiline: name\n }\n });\n yield this.$nextTick();\n _application2.default.download = false;\n this.closeMenu();\n });\n\n function downloadExternalShapefile(_x7) {\n return _ref3.apply(this, arguments);\n }\n\n return downloadExternalShapefile;\n }(),\n showAttributeTable: function showAttributeTable(layerId) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerId).openAttributeTable();\n this.closeMenu();\n },\n showMetadata: function () {\n var _ref4 = _asyncToGenerator(function* (layerId) {\n this.closeMenu();\n $('#modal-metadata').modal('show');\n if (layerId) {\n setTimeout(function () {\n document.querySelector('#project-catalog [href=\"#metadata_layers\"]').click();\n document.querySelector('#metadata_layers [data-target=\"#' + layerId + '\"]').click();\n });\n }\n });\n\n function showMetadata(_x8) {\n return _ref4.apply(this, arguments);\n }\n\n return showMetadata;\n }(),\n setLayerStyle: function setLayerStyle(index) {\n var _this2 = this;\n\n var changed = false;\n this.layer.styles.forEach(function (style, i) {\n if (i === index) {\n _this2.layer_style = style.name;\n changed = !style.current;\n style.current = true;\n } else {\n style.current = false;\n }\n });\n var layer = changed && (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (layer) {\n _g3wEventbus.VM.$emit('layer-change-style', { layerId: this.layer.id, style: this.layer_style });\n layer.change();\n }\n this.closeMenu();\n },\n setLayerFilter: function () {\n var _ref5 = _asyncToGenerator(function* (filter) {\n var changed = null === this.layer.filter.current || this.layer.filter.current.fid !== filter.fid;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (changed) {\n yield layer.applyFilter(filter);\n } else {\n yield layer.deleteFilterToken();\n }\n layer.change();\n this.closeMenu();\n });\n\n function setLayerFilter(_x9) {\n return _ref5.apply(this, arguments);\n }\n\n return setLayerFilter;\n }(),\n deleteFilter: function () {\n var _ref6 = _asyncToGenerator(function* (fid) {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n var change = fid === this.layer.fid;\n\n if (!layer) {\n return;\n }\n yield layer.deleteFilterToken(fid);\n if (change) {\n layer.change();\n }\n\n this.closeMenu();\n });\n\n function deleteFilter(_x10) {\n return _ref6.apply(this, arguments);\n }\n\n return deleteFilter;\n }(),\n showMenu: function () {\n var _ref7 = _asyncToGenerator(function* (e) {\n var li = e.target.closest('li');\n var ul = li && li.querySelector('ul');\n if (ul) {\n var overflowY = ul.offsetHeight + ul.getBoundingClientRect().top >= this.$refs['menu'].offsetHeight + this.$refs['menu'].getBoundingClientRect().top;\n ul.style.top = ul.offsetHeight > this.$refs['menu'].offsetHeight ? 0 : undefined;\n ul.style.left = this.$refs['menu'].offsetWidth - 2 + 'px';\n ul.style.maxHeight = this.$refs['menu'].offsetHeight + 'px';\n ul.style.bottom = overflowY ? 0 : undefined;\n ul.style.marginTop = overflowY ? undefined : '-5px';\n ul.style.overflowY = 'auto';\n }\n });\n\n function showMenu(_x11) {\n return _ref7.apply(this, arguments);\n }\n\n return showMenu;\n }(),\n canOpenAttributeTable: function canOpenAttributeTable(layer) {\n return layer.openattributetable;\n },\n isExternalLayer: function isExternalLayer(layer) {\n return !layer.projectLayer;\n },\n isExternalWMSLayer: function isExternalWMSLayer(layer) {\n return !layer.projectLayer && 'wms' === layer._type;\n },\n isExternalVectorLayer: function isExternalVectorLayer(layer) {\n return !layer.projectLayer && 'wms' !== layer._type;\n },\n canShowStylesMenu: function canShowStylesMenu(layer) {\n return layer.geolayer && layer.styles && layer.styles.length > 1;\n },\n canShowFiltersMenu: function canShowFiltersMenu(layer) {\n return layer.filters && layer.filters.length > 0;\n },\n hasMetadata: function hasMetadata(layer) {\n return layer.metadata;\n },\n canShowOpacityPicker: function canShowOpacityPicker(layer) {\n return layer.geolayer && layer.visible;\n },\n onLayerOpacity: function onLayerOpacity() {\n if (this.isExternalWMSLayer(this.layer)) {\n var layer = _gui2.default.getService('map').getLayerById(this.layer.id);\n if (layer) {\n layer.setOpacity(this.layer.opacity);\n _gui2.default.getService('map').emit('change-layer-opacity', { id: this.layer.id, opacity: this.layer.opacity });\n }\n } else {\n var _layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n if (_layer) {\n _g3wEventbus.VM.$emit('layer-change-opacity', { layerId: this.layer.id });\n _layer.change();\n }\n }\n }\n },\n\n created: function created() {\n var _this3 = this;\n\n _g3wEventbus.VM.$on('context-menu', this.onShowContextMenu);\n document.addEventListener('keyup', function (e) {\n return 'Escape' === e.key && _this3.closeMenu();\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.layer_menu || _vm.project_menu)?_c('ul',{directives:[{name:\"click-outside\",rawName:\"v-click-outside\",value:(_vm.closeMenu),expression:\"closeMenu\"}],ref:\"menu\",staticClass:\"catalog-context-menu\",style:({\n top: _vm.top + 'px',\n left: _vm.left + 'px',\n }),attrs:{\"id\":\"layer-context-menu\",\"tabindex\":\"-1\"},on:{\"mouseover\":_vm.showMenu}},[_c('li',{staticClass:\"title\"},[(_vm.project_menu)?_c('div',[_vm._v(\"G3W-ADMIN \"+_vm._s(_vm.ApplicationState.project.getName()))]):_c('div',[_vm._v(\"\\n \"+_vm._s(_vm.layer.title)+\"\\n \"),_c('div',{staticStyle:{\"font-weight\":\"normal\",\"font-size\":\"0.8em\"}},[_vm._v(\"\\n \"+_vm._s(_vm.getGeometryType(_vm.layer.id, _vm.layer.external))+\"\\n \")])])]),_vm._v(\" \"),(_vm.project_menu || _vm.hasMetadata(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showMetadata(_vm.layer && _vm.layer.id)}}},[_c('i',{class:_vm.$fa('info')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.metadata.title'))+\"\\n \"),(_vm.layer && _vm.layer.metadata && _vm.layer.metadata.abstract)?_c('ul',{staticStyle:{\"border-radius\":\"0 3px 3px 0\"}},[_c('li',{staticClass:\"layer-menu-metadata-info\",domProps:{\"innerHTML\":_vm._s(_vm.layer.metadata.abstract)}})]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.canEdit(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.startEditing(_vm.layer)}}},[_c('i',{class:_vm.$fa('pencil')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.edit'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.layer_menu)?[(_vm.canZoom(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.zoomToLayer(_vm.layer)}}},[_c('i',{class:_vm.$fa('search')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.zoomtolayer'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canOpenAttributeTable(_vm.layer))?_c('li',{on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showAttributeTable(_vm.layer.id)}}},[_c('i',{class:_vm.$fa('list')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.open_attribute_table'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('sort')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('layer_position.message'))+\" (\"+_vm._s(_vm.$t('layer_position.' + _vm.layer.position))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((['top', 'bottom']),function(position){return _c('li',{staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){return _vm.setLayerPosition(position)}}},[(position === _vm.layer.position)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.' + position),expression:\"'layer_position.' + position\"}]})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowStylesMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('palette')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.styles'))+\" (\"+_vm._s(_vm.layer.styles.find(function (s) { return s.current; }).name.toLowerCase())+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.styles),function(style,i){return _c('li',{key:style.name,staticStyle:{\"display\":\"list-item\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerStyle(i)}}},[(style.current)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.8em\"}}):_vm._e(),_vm._v(\"\\n \"+_vm._s(style.name + (_vm.layer.styles.length > 1 && style.name === _vm.layer.defaultstyle ? (\" (\" + (_vm.$t('default')) + \")\") : ''))+\"\\n \")])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canShowOpacityPicker(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s((_vm.layer.opacity / 100))+\")\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"100\",\"step\":\"1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(0)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalWMSLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('slider')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.layer_opacity'))+\" (\"+_vm._s(_vm.layer.opacity)+\")\\n \"),_c('span',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"display\":\"list-item\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.opacity),expression:\"layer.opacity\"}],attrs:{\"type\":\"range\",\"min\":\"0\",\"max\":\"1\",\"step\":\"0.1\",\"list\":\"opacity-markers\"},domProps:{\"value\":(_vm.layer.opacity)},on:{\"change\":_vm.onLayerOpacity,\"__r\":function($event){return _vm.$set(_vm.layer, \"opacity\", $event.target.value)}}}),_vm._v(\" \"),_vm._m(1)])])]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('tint')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.vector_color_menu'))+\"\\n \"),_c('i',{ref:\"layer_color\",staticStyle:{\"width\":\"10px\",\"height\":\"10px\",\"border-radius\":\"10px\",\"position\":\"absolute\",\"right\":\"20px\",\"margin-top\":\"4px\"},style:({ backgroundColor: _vm.layer.color })}),_vm._v(\" \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[_c('li',{staticStyle:{\"padding\":\"14px\",\"background-color\":\"#E0E0E0\"}},[_c('chrome-picker',{ref:\"color_picker\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();},\"hook:beforeDestroy\":function () { return _vm.$refs.color_picker.$off(); },\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}})],1)])]):_vm._e(),_vm._v(\" \"),(_vm.canShowFiltersMenu(_vm.layer))?_c('li',[_c('i',{class:_vm.$fa('filter')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.filters'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',_vm._l((_vm.layer.filters),function(filter){return _c('li',{key:filter.fid,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.setLayerFilter(filter)}}},[(_vm.layer.filter.current && _vm.layer.filter.current.fid === filter.fid)?_c('span',{class:_vm.$fa('circle'),staticStyle:{\"font-size\":\"0.5em\",\"margin-right\":\"3px\",\"justify-self\":\"flex-start\"}}):_vm._e(),_vm._v(\" \"),_c('span',{staticStyle:{\"margin-right\":\"5px\"}},[_vm._v(_vm._s(filter.name))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-border-color\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"right\":\"0\",\"padding-left\":\"10px\",\"border-left\":\"2px solid\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteFilter(filter.fid)}}})])}),0)]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('', _vm.layer.id) || _vm.isExternalVectorLayer(_vm.layer))?_c('li',{ref:\"download_menu\",attrs:{\"disabled\":_vm.ApplicationState.download}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\"\\n \"+_vm._s(_vm.$t('catalog_items.contextmenu.download'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.ApplicationState.download}}),_vm._v(\" \"),_c('ul',[(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('geotiff')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoTiff'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('GeoTIFF', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('GeoTIFF', _vm.layer.id, true)}}},[_c('i',{class:_vm.$fa('geotiff'),staticStyle:{\"color\":\"#777\"}}),_vm._v(\" \"),_c('i',{class:_vm.$fa('crop'),staticStyle:{\"position\":\"absolute\",\"left\":\"-7px\",\"bottom\":\"8px\",\"font-size\":\"1.2em\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t('sdk.catalog.menu.download.geotiff_map_extent'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Shp', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Shp', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpx', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpx', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpx')}),_vm._v(\" \"+_vm._s(_vm.$t('GPX'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Gpkg', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Gpkg', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('gpkg')}),_vm._v(\" \"+_vm._s(_vm.$t('GeoPackage'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Csv', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Csv', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('csv')}),_vm._v(\" \"+_vm._s(_vm.$t('CSV'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canDownload('Xls', _vm.layer.id))?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.download('Xls', _vm.layer.id)}}},[_c('i',{class:_vm.$fa('xls')}),_vm._v(\" \"+_vm._s(_vm.$t('Excel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && _vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternal(_vm.layer.downloadUrl)}}},[_c('i',{class:_vm.$fa('download')}),_vm._v(\" \"+_vm._s(_vm.$t('sdk.catalog.menu.download.unknow'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isExternalVectorLayer(_vm.layer) && !_vm.layer.downloadUrl)?_c('li',{directives:[{name:\"download\",rawName:\"v-download\"}],on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.downloadExternalShapefile(_vm.layer)}}},[_c('i',{class:_vm.$fa('shapefile')}),_vm._v(\" \"+_vm._s(_vm.$t('Shapefile'))+\"\\n \")]):_vm._e()])],1):_vm._e(),_vm._v(\" \"),([\n this.canShowWmsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id),\n this.canShowWfsUrl(this.layer.id)\n ].filter(Boolean).length)?_c('li',{ref:\"ogc_menu\"},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" \"+_vm._s(_vm.$t('catalog_items.contextmenu.ogc_services'))+\"\\n \"),_c('i',{class:_vm.$fa('arrow-right'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}}),_vm._v(\" \"),_c('ul',[(_vm.canShowWmsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wms', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWmsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WMS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWmsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfsUrl(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfsUrl(_vm.layer.id)}})]):_vm._e(),_vm._v(\" \"),(_vm.canShowWfsUrl(_vm.layer.id))?_c('li',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"baseline\"},on:{\"click\":function($event){return _vm.copyUrl('Wfs3', $event.target)}}},[_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":_vm.getWfs3Url(_vm.layer.id),\"target\":\"_blank\"}},[_c('i',{class:_vm.$fa('map')}),_vm._v(\" WFS 3\\n \")]),_vm._v(\" \"),_c('b',{staticClass:\"click-to-copy skin-tooltip-top skin-color-dark\",class:_vm.$fa('eye'),attrs:{\"data-placement\":\"top\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"title\":_vm.getWfs3Url(_vm.layer.id)}})]):_vm._e()])]):_vm._e()]:_vm._e(),_vm._v(\" \"),(_vm.layers_url && _vm.layer_menu && !_vm.isExternalLayer(_vm.layer))?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Layers settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.edit_url && _vm.project_menu)?_c('li',[_c('a',{staticStyle:{\"color\":\"initial\"},attrs:{\"href\":_vm.edit_url,\"target\":\"_blank\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.closeMenu($event)}}},[_c('i',[_c('svg',{staticStyle:{\"height\":\"14px\",\"vertical-align\":\"-1.5px\",\"fill\":\"currentColor\"},attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"xml:space\":\"preserve\",\"viewBox\":\"0 0 32 32\"}},[_c('path',{attrs:{\"d\":\"m17.61 17.63 4.36-.02-4-3.98h-4.36v4l4 4.45z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"m31.61 27.22-7.62-7.6-4.38.01v4.33l7.24 7.67h4.76z\"}}),_vm._v(\" \"),_c('path',{attrs:{\"d\":\"M18 25.18c-.68.16-1.17.2-1.9.2a9.77 9.77 0 0 1-9.68-9.88c0-5.57 4.4-9.78 9.68-9.78s9.48 4.2 9.48 9.78c0 .91-.15 1.96-.36 2.8l4.88 4.65a15 15 0 0 0 1.95-7.48C32.05 6.87 25.19.44 16 .44 6.86.44 0 6.84 0 15.47c0 8.68 6.86 15.2 16 15.2 2.36 0 4.23-.3 6.2-1.1L18 25.18z\"}})])]),_vm._v(\"\\n Project settings\\n \"),_c('i',{class:_vm.$fa('external-link'),staticStyle:{\"position\":\"absolute\",\"right\":\"0\",\"margin-top\":\"3px\"}})])]):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',{attrs:{\"value\":\"0\"}},[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"25\"}},[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"50\"}},[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"75\"}},[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',{attrs:{\"value\":\"100\"}},[_vm._v(\"1\")])])},function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('datalist',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\"},attrs:{\"id\":\"opacity-markers\"}},[_c('option',[_vm._v(\"0\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.25\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.50\")]),_vm._v(\" \"),_c('option',[_vm._v(\"0.75\")]),_vm._v(\" \"),_c('option',[_vm._v(\"1\")])])}]\n\n},{\"g3w-eventbus\":126,\"g3w-i18n\":128,\"services/gui\":173,\"shp-write\":\"shp-write\",\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],40:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".layer-legend[data-v-fc3d03ea]{padding-left:36px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"catalog-layer-legend\",\n props: {\n legendplace: {\n type: String\n },\n layer: {\n type: Object\n }\n },\n data: function data() {\n return {\n loading: false,\n\n categories: [],\n\n currentstyle: this.layer.styles.find(function (style) {\n return true === style.current;\n }).name\n\n };\n },\n\n mixins: [_click2.default],\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layer.featurecount;\n },\n externallegend: function externallegend() {\n return 'wms' === this.layer.source.type;\n },\n legend: function legend() {\n return this.layer.legend;\n },\n show: function show() {\n return this.layer.expanded && this.layer.visible && ('toc' === this.legendplace || 'tab' === this.legendplace && this.layer.categories);\n }\n },\n\n methods: {\n onCategoryClick: function onCategoryClick() {\n this.handleClick({\n '1': function _() {\n console.info('TODO: select category (single click)');\n },\n '2': function _() {\n console.info('TODO: zoom to category (double click)');\n }\n }, this);\n },\n showCategoryMenu: function showCategoryMenu() {\n this.$emit('showmenucategory');\n },\n getWmsSourceLayerLegendUrl: function getWmsSourceLayerLegendUrl() {\n return this.getProjectLayer().getLegendUrl({\n width: 16,\n height: 16\n });\n },\n getProjectLayer: function getProjectLayer() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n isDisabled: function isDisabled(index) {\n return this.categories[index].disabled;\n },\n showHideLayerCategory: function showHideLayerCategory(index) {\n this.categories[index].checked = !this.categories[index].checked;\n this.getProjectLayer().change();\n if ('tab' === this.legendplace) {\n this.layer.legend.change = true;\n } else if (this.categories[index].checked && this.mapReady) {\n this.setLayerCategories(false);\n }\n },\n setError: function setError() {\n this.legend.error = true;\n this.legend.loading = false;\n },\n urlLoaded: function () {\n var _ref = _asyncToGenerator(function* () {\n this.legend.loading = false;\n });\n\n function urlLoaded() {\n return _ref.apply(this, arguments);\n }\n\n return urlLoaded;\n }(),\n onChangeLayerLegendStyle: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.loading = true;\n\n if (this.externallegend) {\n return;\n }\n\n try {\n if (undefined !== options.style && options.layerId === this.layer.id) {\n yield this.setLayerCategories(true);\n yield this.getProjectLayer().getStyleFeatureCount(options.style);\n this.currentstyle = options.style;\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n }\n }\n } catch (e) {\n console.warn('Error while changing layer style', e);\n }\n\n this.loading = false;\n });\n\n function onChangeLayerLegendStyle() {\n return _ref2.apply(this, arguments);\n }\n\n return onChangeLayerLegendStyle;\n }(),\n setLayerCategories: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var all = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n try {\n var projectLayer = this.getProjectLayer();\n var categories = projectLayer.getCategories();\n\n if (all && categories) {\n this.categories = categories;\n } else {\n var _ref4 = yield projectLayer.getLegendGraphic({ all: all }),\n _ref4$nodes = _ref4.nodes,\n nodes = _ref4$nodes === undefined ? [] : _ref4$nodes;\n\n if (all) {\n this._setAllLayerCategories(nodes);\n } else {\n this._updateLayerCategories(nodes, categories);\n }\n }\n } catch (err) {\n this.setError();\n }\n });\n\n function setLayerCategories() {\n return _ref3.apply(this, arguments);\n }\n\n return setLayerCategories;\n }(),\n _setAllLayerCategories: function _setAllLayerCategories(nodes) {\n var projectLayer = this.getProjectLayer();\n\n var categories = [];\n nodes.forEach(function (_ref5) {\n var icon = _ref5.icon,\n title = _ref5.title,\n ruleKey = _ref5.ruleKey,\n checked = _ref5.checked,\n _ref5$symbols = _ref5.symbols,\n symbols = _ref5$symbols === undefined ? [] : _ref5$symbols;\n\n if (icon) {\n categories.push({ icon: icon, title: title, ruleKey: ruleKey, checked: checked, disabled: false });\n } else {\n symbols.forEach(function (symbol) {\n symbol._checked = symbol.checked;\n symbol.disabled = false;\n categories.push(symbol);\n });\n }\n });\n projectLayer.setCategories(categories);\n this.categories = categories;\n },\n _updateLayerCategories: function _updateLayerCategories(nodes, categories) {\n var projectLayer = this.getProjectLayer();\n\n projectLayer.setCategories(categories);\n this.categories = categories;\n\n if (nodes.length) {\n nodes.forEach(function (_ref6) {\n var icon = _ref6.icon,\n title = _ref6.title,\n _ref6$symbols = _ref6.symbols,\n symbols = _ref6$symbols === undefined ? [] : _ref6$symbols;\n\n if (icon) {\n symbols = [{ icon: icon, title: title }];\n }\n categories.forEach(function (category) {\n var findSymbol = symbols.find(function (symbol) {\n return symbol.icon === category.icon && symbol.title === category.title;\n });\n var disabled = undefined !== category.checked ? category.checked : true;\n category.disabled = disabled && undefined === findSymbol;\n });\n });\n } else {\n categories.forEach(function (category) {\n return category.disabled = undefined !== category.checked ? category.checked : true;\n });\n }\n },\n onChangeMapLegendParams: function () {\n var _ref7 = _asyncToGenerator(function* () {\n this.mapReady = true;\n if (this.layer.visible && false === this.externallegend && ('toc' === this.legendplace || this.layer.categories)) {\n this.setLayerCategories(false);\n }\n });\n\n function onChangeMapLegendParams() {\n return _ref7.apply(this, arguments);\n }\n\n return onChangeMapLegendParams;\n }(),\n runInitLayerVisibleAction: function () {\n var _ref8 = _asyncToGenerator(function* () {\n yield this.setLayerCategories(true);\n if (this.dynamic) {\n yield this.setLayerCategories(false);\n _gui2.default.getService('map').on('change-map-legend-params', this.onChangeMapLegendParams);\n }\n this.initialize = true;\n });\n\n function runInitLayerVisibleAction() {\n return _ref8.apply(this, arguments);\n }\n\n return runInitLayerVisibleAction;\n }()\n },\n\n watch: {\n 'layer.visible': function () {\n var _ref9 = _asyncToGenerator(function* (visible) {\n var enabled = visible && false === this.externallegend;\n\n if (enabled && false === this.initialize) {\n yield this.runInitLayerVisibleAction();\n }\n\n if (enabled && false !== this.initialize) {\n yield this.setLayerCategories(!this.dynamic);\n }\n });\n\n function layerVisible(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return layerVisible;\n }()\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n this.initialize = false;\n\n this.dynamic = _application2.default.project.state.context_base_legend;\n\n this.mapReady = false;\n\n _g3wEventbus.VM.$on('layer-change-style', this.onChangeLayerLegendStyle);\n\n if (false === this.externallegend && true === this.layer.visible) {\n yield this.runInitLayerVisibleAction();\n }\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n _g3wEventbus.VM.$off('layer-change-style', this.onChangeLayerLegendStyle);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"layer-legend\",on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();}}},[(_vm.legend)?_c('bar-loader',{attrs:{\"loading\":_vm.legend.loading}}):_vm._e(),_vm._v(\" \"),(_vm.externallegend)?_c('figure',[_c('img',{attrs:{\"src\":_vm.getWmsSourceLayerLegendUrl()}})]):_c('figure',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_vm._l((_vm.categories),function(category,index){return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(category.disabled),expression:\"category.disabled\"}],staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"width\":\"100%\"},on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showCategoryMenu($event)}}},[(category.ruleKey)?_c('span',{class:_vm.$fa(category.checked ? 'check': 'uncheck'),staticStyle:{\"padding-right\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.showHideLayerCategory(index)}}}):_vm._e(),_vm._v(\" \"),(('toc' === _vm.legendplace))?_c('img',{attrs:{\"src\":category.icon && (\"data:image/png;base64,\" + (category.icon))},on:{\"error\":function($event){return _vm.setError()},\"load\":function($event){return _vm.urlLoaded()}}}):_vm._e(),_vm._v(\" \"),(('tab' === _vm.legendplace && category.ruleKey) || ('toc' === _vm.legendplace))?_c('span',{staticClass:\"g3w-long-text\",staticStyle:{\"padding-left\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onCategoryClick($event)}}},[_c('span',[_vm._v(_vm._s(category.title))]),_vm._v(\" \"),(_vm.showfeaturecount && 'undefined' !== typeof category.ruleKey)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.layer.stylesfeaturecount[_vm.currentstyle][category.ruleKey])+\"]\\n \")]):_vm._e()]):_vm._e()])})],2)],1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-fc3d03ea\"\n\n},{\"g3w-eventbus\":126,\"mixins/click\":161,\"services/gui\":173,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],41:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _click = require('mixins/click');\n\nvar _click2 = _interopRequireDefault(_click);\n\nvar _CatalogLayerLegend = require('components/CatalogLayerLegend.vue');\n\nvar _CatalogLayerLegend2 = _interopRequireDefault(_CatalogLayerLegend);\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _setAllLayersVisible(layers) {\n layers.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: layers.visible && n.checked });\n } else if (n.parentGroup.checked && n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(layers.visible);\n }\n });\n};\n\nexports.default = {\n name: 'catalog-tristate-tree',\n\n props: ['layerstree', 'storeid', 'legend', 'legendplace', 'parent_mutually_exclusive', 'parentFolder', 'externallayers', 'root', 'parent'],\n\n components: {\n CatalogLayerLegend: _CatalogLayerLegend2.default\n },\n\n mixins: [_click2.default],\n\n data: function data() {\n return {\n expanded: this.layerstree.expanded,\n isGroupChecked: true,\n controltoggled: false,\n n_childs: null,\n filtered: false,\n logged: undefined !== _application2.default.user.id };\n },\n\n\n computed: {\n showfeaturecount: function showfeaturecount() {\n return undefined !== this.layerstree.featurecount;\n },\n showLegendLayer: function showLegendLayer() {\n return !this.layerstree.exclude_from_legend;\n },\n showLayerTocLegend: function showLayerTocLegend() {\n return !this.isGroup && this.showLegendLayer && this.layerstree.geolayer;\n },\n isGroup: function isGroup() {\n return !!this.layerstree.nodes;\n },\n legendlayerposition: function legendlayerposition() {\n return this.showLegendLayer && this.layerstree.legend ? this.legendplace : 'tab';\n },\n showscalevisibilityclass: function showscalevisibilityclass() {\n return !this.isGroup && this.layerstree.scalebasedvisibility;\n },\n showScaleVisibilityToolip: function showScaleVisibilityToolip() {\n return this.showscalevisibilityclass && this.layerstree.disabled && this.layerstree.checked;\n },\n isTable: function isTable() {\n return !this.isGroup && !this.layerstree.geolayer && !this.layerstree.external;\n },\n isHidden: function isHidden() {\n return this.layerstree.hidden && true === this.layerstree.hidden;\n },\n selected: function selected() {\n this.layerstree.selected = this.layerstree.disabled && this.layerstree.selected ? false : this.layerstree.selected;\n },\n isHighLight: function isHighLight() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id) || this.layerstree;\n return layer && _application2.default.highlightlayers && layer.isVisible() && layer.getTocHighlightable();\n },\n isInGrey: function isInGrey() {\n return !this.isGroup && !this.isTable && !this.layerstree.external && (!this.layerstree.visible || this.layerstree.disabled);\n },\n getFeatureCount: function getFeatureCount() {\n return Object.values(this.layerstree.featurecount).reduce(function (total, categoryFeatureCount) {\n return total + 1 * categoryFeatureCount;\n }, 0);\n }\n },\n\n watch: {\n 'layerstree.checked': function layerstreeChecked() {\n if (this.isGroup) {\n this.handleGroupChecked(this.layerstree);\n } else {\n this.handleLayerChecked(this.layerstree);\n }\n }\n },\n\n methods: {\n removeCurrentFilter: function removeCurrentFilter() {\n return (0, _getCatalogLayerById.getCatalogLayerById)(this.layerstree.id).deleteFilterToken();\n },\n handleGroupChecked: function handleGroupChecked(group) {\n\n if (!group.checked) {\n group.nodes.forEach(function (n) {\n if (undefined === n.id) {\n _setAllLayersVisible({ nodes: n.nodes, visible: false });\n } else if (n.checked) {\n (0, _getCatalogLayerById.getCatalogLayerById)(n.id).setVisible(false);\n }\n });\n return;\n }\n\n var visible = group.parentGroup ? group.parentGroup.checked : true;\n var mutually_exclusive = group.parentGroup && group.parentGroup.mutually_exclusive;\n\n if (!mutually_exclusive) {\n _setAllLayersVisible({ nodes: group.nodes, visible: visible });\n }\n\n if (mutually_exclusive) {\n group.parentGroup.nodes.forEach(function (n) {\n n.checked = n.groupId === group.groupId;\n if (n.checked) {\n _setAllLayersVisible({ nodes: n.nodes, visible: visible });\n }\n });\n }\n\n var g = group.parentGroup;\n while (g) {\n g.checked = g.root || g.checked;\n g = g.parentGroup;\n }\n },\n handleLayerChecked: function handleLayerChecked(layer) {\n\n var map = _gui2.default.getService('map');\n\n if (!layer.projectLayer) {\n layer.visible = layer.checked;\n layer.setVisible(layer.checked);\n map.emit('change-layer-visibility', { id: layer.id, visible: layer.checked });\n return;\n }\n\n var qlayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var checked = layer.checked;\n\n qlayer.setVisible(checked ? !layer.disabled : false);\n\n if (checked && layer.parentGroup.mutually_exclusive) {\n layer.parentGroup.nodes.forEach(function (n) {\n return n.checked = n.id === layer.id;\n });\n }\n\n var g = layer.parentGroup;\n while (checked && g) {\n g.checked = true;\n g = g.parentGroup;\n }\n\n _g3wEventbus.VM.$emit('treenodevisible', qlayer);\n },\n saveFilter: function saveFilter(layerstree) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layerstree.id).saveFilter();\n },\n toggleFilterLayer: function toggleFilterLayer() {\n _g3wEventbus.VM.$emit('activefiltertokenlayer', this.storeid, this.layerstree);\n },\n clearSelection: function clearSelection() {\n _g3wEventbus.VM.$emit('unselectionlayer', this.storeid, this.layerstree);\n },\n toggle: function toggle() {\n this.layerstree.checked = !this.layerstree.checked;\n },\n expandCollapse: function expandCollapse() {\n this.layerstree.expanded = !this.layerstree.expanded;\n },\n select: function select() {\n if (undefined !== this.layerstree.selected && (!this.isGroup && !this.isTable || this.layerstree.external && false === this.layerstree.projectLayer)) {\n _g3wEventbus.VM.$emit('treenodeselected', this.layerstree);\n }\n },\n maybeZoomToLayer: function maybeZoomToLayer(layer) {\n if (this.canZoom(this.layerstree)) {\n _gui2.default.getService('map').goToBBox([layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy], layer.epsg);\n }\n },\n canZoom: function canZoom(layer) {\n return layer.bbox && [layer.bbox.minx, layer.bbox.miny, layer.bbox.maxx, layer.bbox.maxy].find(function (coordinate) {\n return coordinate > 0;\n });\n },\n onTreeItemClick: function onTreeItemClick() {\n var _this = this;\n\n this.handleClick({\n '1': function _() {\n return !_this.isTable && !_this.isGroup && _this.select();\n },\n '2': function _() {\n return !_this.isTable && _this.maybeZoomToLayer(_this.layerstree);\n }\n }, this);\n },\n triClass: function triClass() {\n return this.g3wtemplate.getFontClass(this.layerstree.checked ? 'check' : 'uncheck');\n },\n downloadExternalLayer: function downloadExternalLayer(download) {\n if (download.file) {\n (0, _downloadFile.downloadFile)(download.file);\n } else if (download.url) {}\n },\n removeExternalLayer: function removeExternalLayer(name) {\n _gui2.default.getService('map').removeExternalLayer(name);\n },\n showContextMenu: function showContextMenu(evt) {\n _g3wEventbus.VM.$emit('context-menu', evt, this.layerstree);\n }\n },\n\n created: function created() {\n if (this.isGroup && !this.layerstree.checked) {\n this.handleGroupChecked(this.layerstree);\n }\n if (this.isGroup && !this.root && this.parent_mutually_exclusive && !this.layerstree.mutually_exclusive) {\n this.layerstree.nodes.forEach(function (node) {\n node.id && (node.uncheckable = true);\n });\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('span.scalevisibility, a.toggle-context-menu').tooltip();\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isGroup || !_vm.layerstree.projectLayer || _vm.layerstree.toc)?_c('li',{staticClass:\"tree-item\",class:{\n selected: !_vm.isGroup || !_vm.isTable ? _vm.layerstree.selected : false,\n itemmarginbottom: !_vm.isGroup,\n disabled: _vm.isInGrey,\n group: _vm.isGroup\n },style:({\n marginLeft: !_vm.isGroup ? '5px' : '0',\n position: 'relative',\n }),on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)},\"click\":function($event){$event.stopPropagation();return _vm.onTreeItemClick($event)}}},[(_vm.isGroup)?_c('span',{staticClass:\"root collapse-expande-collapse-icon\",class:[\n { bold : _vm.isGroup },\n _vm.g3wtemplate.getFontClass(_vm.layerstree.expanded ? 'caret-down' : 'caret-right')\n ],staticStyle:{\"padding-right\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('span',{class:[_vm.triClass()],staticStyle:{\"color\":\"#ffffff\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}}):(_vm.isTable)?_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],class:[\n _vm.parentFolder ? 'child' : 'root',\n _vm.g3wtemplate.getFontClass('table')\n ],staticStyle:{\"padding-left\":\"18px\"}}):[(_vm.layerstree.external && _vm.layerstree.removable)?_c('span',{class:_vm.g3wtemplate.getFontClass('trash'),staticStyle:{\"color\":\"red\",\"padding-left\":\"1px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeExternalLayer(_vm.layerstree.name, _vm.layerstree._type)}}}):_vm._e(),_vm._v(\" \"),(_vm.layerstree.external && _vm.layerstree.download)?_c('span',{class:_vm.g3wtemplate.getFontClass('download'),staticStyle:{\"color\":\"#ffffff\",\"margin-left\":\"5px\"},on:{\"click\":function($event){return _vm.downloadExternalLayer(_vm.layerstree.download)}}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden),expression:\"!layerstree.hidden\"}],staticClass:\"checkbox-layer\",class:_vm.parentFolder ? 'child' : 'root'},[('toc' === _vm.legendlayerposition || !_vm.isGroup && _vm.layerstree.categories)?_c('span',{staticClass:\"collapse-expande-collapse-icon\",class:_vm.g3wtemplate.getFontClass(_vm.layerstree.visible && _vm.layerstree.expanded ? 'caret-down' : 'caret-right'),on:{\"click\":function($event){if($event.target !== $event.currentTarget){ return null; }$event.stopPropagation();return _vm.expandCollapse($event)}}}):_vm._e(),_vm._v(\" \"),_c('span',{class:[\n _vm.g3wtemplate.getFontClass(_vm.layerstree.checked ? 'check': 'uncheck'),\n { 'toc-added-external-layer': (!_vm.layerstree.legend && _vm.layerstree.external) }\n ],style:({\n paddingLeft: ('toc' === _vm.legendlayerposition)\n ? '5px'\n : !_vm.isGroup && _vm.layerstree.categories\n ? '5px'\n : (!_vm.layerstree.legend && _vm.layerstree.external)\n ? '1px'\n : '18px'\n }),on:{\"click\":function($event){$event.stopPropagation();return _vm.toggle()}}})])],_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.layerstree.hidden || _vm.isGroup),expression:\"!layerstree.hidden || isGroup\"}],staticClass:\"tree-node-title\",class:{\n disabled: !_vm.layerstree.external && (_vm.layerstree.disabled || (_vm.layerstree.id && !_vm.layerstree.visible)),\n bold: _vm.isGroup\n }},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.text\",value:(_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale:\" + (_vm.layerstree.maxscale)) : ''),expression:\"showScaleVisibilityToolip ? `minscale:${layerstree.minscale} - maxscale:${layerstree.maxscale}` : ''\",modifiers:{\"text\":true}}],staticClass:\"skin-tooltip-top g3w-long-text\",class:{\n highlightlayer: _vm.isHighLight,\n scalevisibility: _vm.showscalevisibilityclass\n },attrs:{\"data-placement\":\"top\",\"current-tooltip\":_vm.showScaleVisibilityToolip ? (\"minscale:\" + (_vm.layerstree.minscale) + \" - maxscale: \" + (_vm.layerstree.maxscale)) : ''}},[(!_vm.isGroup && !_vm.layerstree.external && null !== _vm.layerstree.filter.current)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create.text\",value:(_vm.layerstree.filter.current.name),expression:\"layerstree.filter.current.name\",arg:\"top\",modifiers:{\"create\":true,\"text\":true}}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"current-tooltip\":_vm.layerstree.filter.current.name},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeCurrentFilter($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('filter'),staticStyle:{\"color\":\"red\"}})]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(_vm.layerstree.title))]),_vm._v(\" \"),(!_vm.isGroup && _vm.showfeaturecount)?_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"\\n [\"+_vm._s(_vm.getFeatureCount)+\"]\\n \")]):_vm._e()]),_vm._v(\" \"),((!_vm.isGroup && _vm.layerstree.selection))?_c('div',[(_vm.layerstree.selection.active)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.clear'),expression:\"'layer_selection_filter.tools.clear'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('clear'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.clearSelection($event)}}}):_vm._e(),_vm._v(\" \"),(!_vm.layerstree.external && (_vm.layerstree.selection.active || _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:[\n _vm.g3wtemplate.getFontClass('filter'),\n _vm.layerstree.filter.active ? 'active' : '' ],attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.toggleFilterLayer($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.logged && !_vm.layerstree.external && (_vm.layerstree.selection.active && _vm.layerstree.filter.active))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left selection-filter-icon\",class:_vm.g3wtemplate.getFontClass('save'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"caputure\",undefined,$event.key,undefined)){ return null; }$event.preventDefault();$event.stopPropagation();return _vm.saveFilter(_vm.layerstree)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.showLayerTocLegend)?_c('catalog-layer-legend',{attrs:{\"legendplace\":_vm.legendplace,\"layer\":_vm.layerstree}}):_vm._e(),_vm._v(\" \"),(_vm.isGroup)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.layerstree.expanded),expression:\"layerstree.expanded\"}],staticClass:\"tree-content-items group\",class:[(\"g3w-lendplace-\" + _vm.legendplace)]},_vm._l((_vm.layerstree.nodes),function(_layerstree){return _c('span',{key:_layerstree.id || _layerstree.groupId},[_c('catalog-tristate-tree',{attrs:{\"root\":false,\"legendConfig\":_vm.legend,\"legendplace\":_vm.legendplace,\"parentFolder\":_vm.isGroup,\"layerstree\":_layerstree,\"storeid\":_vm.storeid,\"parent\":_vm.layerstree,\"parent_mutually_exclusive\":!!_vm.layerstree.mutually_exclusive}})],1)}),0):_vm._e(),_vm._v(\" \"),(!_vm.isGroup)?_c('a',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('catalog_items.helptext'),expression:\"'catalog_items.helptext'\",arg:\"left\",modifiers:{\"create\":true}}],class:'toggle-context-menu ' + _vm.$fa('ellips-v'),attrs:{\"href\":\"#\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.showContextMenu($event)}}}):_vm._e()],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"components/CatalogLayerLegend.vue\":40,\"g3w-eventbus\":126,\"mixins/click\":161,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203}],42:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-change-map-menu-container[data-v-4c2f2554]{height:100%;display:grid;grid-template-columns:repeat(auto-fill,minmax(30%,1fr));grid-gap:1em;overflow-y:auto}.menu-item[data-v-4c2f2554]{margin-bottom:20px;margin-top:20px}.menu-item-image[data-v-4c2f2554]{cursor:pointer;position:relative;overflow:hidden;padding-bottom:50%;opacity:.7}.menu-item-image[data-v-4c2f2554]:hover{opacity:1}.menu-item-image img[data-v-4c2f2554]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.menu-item-content[data-v-4c2f2554]{padding:15px;background:hsla(0,0%,100%,.3)}.menu-item-text[data-v-4c2f2554]{position:relative;overflow:hidden;height:100%;text-align:justify}.menu-item-title[data-v-4c2f2554]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar get_macro = function () {\n var _ref = _asyncToGenerator(function* (id) {\n get_macro[id] = get_macro[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/') }));\n return get_macro[id];\n });\n\n return function get_macro(_x) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar get_group = function () {\n var _ref2 = _asyncToGenerator(function* (id) {\n get_group[id] = get_group[id] || (yield _XHR.XHR.get({ url: encodeURI('/' + _application2.default.user.i18n + '/about/api/group/' + id + '/projects/') }));\n return get_group[id];\n });\n\n return function get_group(_x2) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _XHR = require('utils/XHR');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar LOGO_GIS3W = 'images/logo_gis3w_156_85.png';\n\nexports.default = {\n name: 'change-map',\n\n data: function data() {\n return {\n state: null,\n\n loading: false,\n\n current: 'projects',\n\n items: [],\n\n parent: null,\n\n steps: [],\n\n curr_group: null\n\n };\n },\n\n\n methods: {\n back: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var last_step = this.steps.pop();\n var has_steps = this.steps.length > 0;\n var item = has_steps && this.steps[this.steps.length - 1];\n if (has_steps && undefined !== item.macrogroup_id || !has_steps && undefined === last_step && Array.isArray(this.parent.macrogroup_id) && this.parent.macrogroup_id.length > 0) {\n var macrogroup_id = has_steps ? item.macrogroup_id : this.parent.macrogroup_id;\n var add = !has_steps;\n return this.showMacroGroups(macrogroup_id, add);\n }\n\n if (has_steps && undefined === item.macrogroup_id) {\n return this.showGroups(item, false);\n }\n\n if (!has_steps) {\n return this.showRoot();\n }\n });\n\n function back() {\n return _ref3.apply(this, arguments);\n }\n\n return back;\n }(),\n showMacroGroups: function () {\n var _ref4 = _asyncToGenerator(function* () {\n var macrogroup_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n if (1 === macrogroup_id.length) {\n this.parent = this.macrogroups.find(function (mg) {\n return mg.id === macrogroup_id[0];\n });\n return yield this.showGroups(this.parent);\n }\n\n this.items = this.macrogroups.filter(function (m) {\n return macrogroup_id.includes(m.id);\n });\n this.current = 'macrogroups';\n this.parent = {\n macrogroup_id: macrogroup_id,\n title: null,\n name: null };\n\n if (addStep) {\n this.steps.push(this.parent);\n }\n });\n\n function showMacroGroups() {\n return _ref4.apply(this, arguments);\n }\n\n return showMacroGroups;\n }(),\n showGroups: function () {\n var _ref5 = _asyncToGenerator(function* (item) {\n var addStep = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = yield get_macro(item.id);\n this.current = 'groups';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n if (addStep) {\n this.steps.push(this.parent);\n }\n this.loading = false;\n }\n });\n\n function showGroups(_x6) {\n return _ref5.apply(this, arguments);\n }\n\n return showGroups;\n }(),\n showProjects: function () {\n var _ref6 = _asyncToGenerator(function* (item) {\n var _this = this;\n\n try {\n this.loading = true;\n this.parent = item;\n this.items = this.parent.id === this.curr_group ? (0, _getListableProjects.getListableProjects)() : yield get_group(item.id, function (item) {\n return _this.setItemImageSrc({ item: item, type: 'project' });\n });\n this.current = 'projects';\n } catch (e) {\n console.warn(e);\n this.items = [];\n } finally {\n this.steps.push(this.parent);\n this.loading = false;\n }\n });\n\n function showProjects(_x7) {\n return _ref6.apply(this, arguments);\n }\n\n return showProjects;\n }(),\n showRoot: function showRoot() {\n this.current = 'root';\n this.items = [].concat(_toConsumableArray(this.macrogroups), _toConsumableArray(this.groups));\n this.steps = [];\n },\n changeMapProject: function () {\n var _ref7 = _asyncToGenerator(function* (item) {\n var url = void 0;\n var base_url = window.initConfig.urls.baseurl;\n var epsg = this.parent.srid ? 'EPSG:' + this.parent.srid : this.parent.crs.epsg;\n yield _projections2.default.registerProjection(epsg);\n try {\n new URL(base_url);\n url = '' + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n } catch (e) {\n url = '' + location.origin + base_url + (item.url || item.map_url.replace(/^\\//, \"\"));\n }\n url = yield _gui2.default.getService('map').addMapExtentUrlParameterToUrl(url, epsg);\n history.replaceState(null, null, url);\n location.replace(url);\n });\n\n function changeMapProject(_x8) {\n return _ref7.apply(this, arguments);\n }\n\n return changeMapProject;\n }(),\n trigger: function () {\n var _ref8 = _asyncToGenerator(function* (item) {\n switch (this.current) {\n case 'root':\n return undefined === item.srid ? this.showGroups(item) : this.showProjects(item);\n case 'macrogroups':\n return this.showGroups(item);\n case 'groups':\n return yield this.showProjects(item);\n case 'projects':\n return yield this.changeMapProject(item);\n }\n });\n\n function trigger(_x9) {\n return _ref8.apply(this, arguments);\n }\n\n return trigger;\n }(),\n setItemImageSrc: function setItemImageSrc() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n item = _ref9.item,\n type = _ref9.type;\n\n switch (type) {\n case 'project':\n item.thumbnail = this._setSrc(item.thumbnail);break;\n case 'group':\n item.header_logo_img = this._setSrc(item.header_logo_img);break;\n case 'macrogroup':\n item.logo_img = this._setSrc(item.logo_img);break;\n\n case 'net_error':\n if (item.thumbnail || item.logo_img) {\n item.thumbnail = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n } else if (item.header_logo_img) {\n item.header_logo_img = '' + window.initConfig.urls.clienturl + LOGO_GIS3W;\n }\n break;\n }\n },\n _setSrc: function _setSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var mediaurl = window.initConfig.mediaurl;\n var clienturl = window.initConfig.urls.clienturl;\n var has_media = src && src.includes(mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + mediaurl + src;\n } else {\n imageSrc = '' + clienturl + LOGO_GIS3W;\n }\n\n return '' + host + imageSrc;\n }\n },\n\n created: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var config = window.initConfig;\n\n this.items = (0, _getListableProjects.getListableProjects)();\n this.parent = window.initConfig;\n this.curr_group = this.parent.id;\n this.macrogroups = config.macrogroups;\n this.groups = config.groups;\n\n Object.entries({ 'project': this.items, 'magrocroup': this.macrogroups, 'group': this.groups }).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n type = _ref12[0],\n d = _ref12[1];\n\n return d.forEach(function (item) {\n return _this2.setItemImageSrc({ item: item, type: type });\n });\n });\n });\n\n function created() {\n return _ref10.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-changemap\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\",staticStyle:{\"height\":\"80vh\"},attrs:{\"id\":\"g3w-change-map-menu\"}},[('root' !== this.current)?_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"align-items\":\"center\",\"color\":\"#fff\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:bottom.create\",value:('change_session'),expression:\"'change_session'\",arg:\"bottom\",modifiers:{\"create\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}],staticStyle:{\"font-size\":\"2em\",\"margin\":\"5px\",\"cursor\":\"pointer\",\"padding\":\"3px\",\"border\":\"2px solid #fff\",\"border-radius\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}},[_c('i',{class:_vm.$fa('reply'),staticStyle:{\"color\":\"#FFF\"}})]),_vm._v(\" \"),(_vm.parent)?_c('div',{staticStyle:{\"margin\":\"auto\"}},[_c('h3',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.parent.title || _vm.parent.name))])]):_vm._e()]):_vm._e(),_vm._v(\" \"),(_vm.items.length)?_c('div',{staticClass:\"g3w-change-map-menu-container\"},_vm._l((_vm.items),function(item){return _c('div',{key:item.name,staticClass:\"menu-item\"},[_c('div',{staticClass:\"menu-item-image\",on:{\"click\":function($event){$event.stopPropagation();return _vm.trigger(item)}}},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":item.thumbnail || item.header_logo_img || item.logo_img,\"alt\":\"logo\"},on:{\"error\":function($event){return _vm.setItemImageSrc({ item: item, type: 'net_error' })}}})]),_vm._v(\" \"),_c('div',{staticClass:\"menu-item-content\"},[_c('div',{staticClass:\"menu-item-text\"},[_c('h4',{staticClass:\"menu-item-title\"},[_vm._v(_vm._s(item.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(item.description)}})])])])}),0):_c('h3',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"no_other_\" + _vm.current)),expression:\"`no_other_${current}`\"}],staticStyle:{\"font-weight\":\"bold\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c2f2554\"\n\n},{\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/getListableProjects\":209,\"vueify/lib/insert-css\":2}],43:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field[data-v-6783d4c4]{background-color:transparent!important;padding-top:3px;padding-bottom:3px;display:flex;align-items:center}.value[data-v-6783d4c4]{position:relative}.field div[data-v-6783d4c4]{padding-left:3px;padding-right:3px}.field_value[data-v-6783d4c4]{padding-left:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"field\",\n props: ['state']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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\",[_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\",[_c('span',{staticStyle:{\"word-wrap\":\"break-word\"},domProps:{\"innerHTML\":_vm._s(_vm.state.value)}})])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6783d4c4\"\n\n},{\"vueify/lib/insert-css\":2}],44:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar fieldsService = require('gui/fields/fieldsservice');\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"g3w-field\",\n props: {\n state: {\n required: true\n },\n feature: {\n type: Object\n }\n },\n components: _extends({}, Fields),\n created: function created() {\n this.type = fieldsService.getType(this.state);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.type,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/fields/fields\":3,\"gui/fields/fieldsservice\":4}],45:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".show-hide-geo[data-v-3362679d]{color:#3c8dbc;cursor:pointer;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require(\"mixins\");\n\nexports.default = {\n name: \"g3w-geospatial\",\n props: {\n data: {}\n },\n mixins: [_mixins.geoMixin],\n data: function data() {\n return {\n layerId: \"table_layer_\" + Date.now(),\n visible: false,\n id: \"geo_table_\" + Date.now()\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"geo-content\"},[_c('span',{staticClass:\"show-hide-geo\",class:[_vm.visible ? _vm.g3wtemplate.font['eye-close'] : _vm.g3wtemplate.font['eye']],on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayer()}}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3362679d\"\n\n},{\"mixins\":165,\"vueify/lib/insert-css\":2}],46:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".img-responsive[data-v-70d2a0b2]{cursor:pointer}.modal-content[data-v-70d2a0b2]{background:hsla(0,0%,100%,.6);border-radius:3px}.modal-dialog[data-v-70d2a0b2]{display:inline-block;text-align:left;vertical-align:middle}.modal[data-v-70d2a0b2]{text-align:center;padding:0!important}.modal[data-v-70d2a0b2]:before{content:\\\"\\\";display:inline-block;height:100%;vertical-align:middle;margin-right:-4px}.carousel .carousel-control span[data-v-70d2a0b2]{color:#3c8dbc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _toRawType = require('utils/toRawType');\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nvar _vue2Teleport = require('vue2-teleport');\n\nvar _vue2Teleport2 = _interopRequireDefault(_vue2Teleport);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"field-image\",\n\n props: ['state'],\n data: function data() {\n return {\n id: Date.now(),\n active: null,\n value: undefined !== this.state.value.mime_type ? this.state.value.value : this.state.value\n };\n },\n\n components: {\n Field: _Field2.default,\n Teleport: _vue2Teleport2.default\n },\n computed: {\n images: function images() {\n return [].concat(this.value).map(function (img) {\n return { src: (img || {}).photo || img };\n });\n }\n },\n methods: {\n showGallery: function () {\n var _ref = _asyncToGenerator(function* (index) {\n this.active = index;\n if ((0, _toRawType.toRawType)(this.value) === 'Object') {\n this.value.active = true;\n }\n $('#gallery_' + this.id).modal('show');\n });\n\n function showGallery(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showGallery;\n }(),\n isRelativePath: function isRelativePath(url) {\n if (!url.startsWith('/') && !url.startsWith('http')) {\n return '' + window.initConfig.mediaurl + url;\n }\n return url;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{staticStyle:{\"text-align\":\"left\"},attrs:{\"slot\":\"field\"},slot:\"field\"},[_vm._l((_vm.images),function(img,i){return _c('img',{staticClass:\"img-responsive\",staticStyle:{\"max-height\":\"50px\"},attrs:{\"alt\":\"\",\"src\":img.src},on:{\"click\":function($event){$event.stopPropagation();return _vm.showGallery(i)}}})}),_vm._v(\" \"),_c('Teleport',{attrs:{\"to\":\"body\"}},[_c('div',{staticClass:\"modal fade modal-fullscreen\",attrs:{\"id\":(\"gallery_\" + _vm.id),\"tabindex\":\"-1\",\"role\":\"dialog\",\"aria-labelledby\":\"\",\"aria-hidden\":\"true\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"carousel slide\",attrs:{\"id\":(\"carousel_\" + _vm.id),\"data-interval\":\"false\"}},[_c('div',{staticClass:\"carousel-inner\"},_vm._l((_vm.images),function(image,i){return _c('div',{staticClass:\"item\",class:_vm.active == i ? 'active' : ''},[_c('img',{staticStyle:{\"margin\":\"auto\"},attrs:{\"src\":_vm.isRelativePath(image.src),\"alt\":\"\"}})])}),0),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"left carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"prev\"}},[_c('span',{class:_vm.$fa('arrow-left')})]):_vm._e(),_vm._v(\" \"),(_vm.images.length > 1)?_c('a',{staticClass:\"right carousel-control\",attrs:{\"href\":(\"#carousel_\" + _vm.id),\"role\":\"button\",\"data-slide\":\"next\"}},[_c('span',{class:_vm.$fa('arrow-right')})]):_vm._e()])])])])])])],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-70d2a0b2\"\n\n},{\"components/Field.vue\":43,\"utils/toRawType\":242,\"vue2-teleport\":\"vue2-teleport\",\"vueify/lib/insert-css\":2}],47:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_link[data-v-156f65de]{max-width:100%}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-link\",\n\n props: ['state'],\n data: function data() {\n return {\n value: null\n };\n },\n\n components: {\n Field: _Field2.default\n },\n methods: {\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n }\n },\n created: function created() {\n this.value = this.state.value && _typeof(this.state.value) === 'object' ? this.state.value.value : this.state.value;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-156f65de\"\n\n},{\"components/Field.vue\":43,\"vueify/lib/insert-css\":2}],48:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nexports.default = {\n name: \"g3w-media\",\n mixins: [_mixins.mediaMixin],\n props: ['state'],\n computed: {\n type: function type() {\n return this.getMediaType(this.state.mime_type).type;\n },\n value: function value() {\n return this.state.value;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.value)?_c('div',{staticClass:\"preview\"},[_c('a',{attrs:{\"href\":_vm.value,\"target\":\"_blank\"}},[_c('div',{staticClass:\"previewtype\",class:_vm.type},[_c('i',{staticClass:\"fa-2x\",class:_vm.g3wtemplate.font[_vm.type]})])]),_vm._v(\" \"),_c('div',{staticClass:\"filename\"},[_vm._v(_vm._s(_vm.filename))]),_vm._v(\" \"),_vm._t(\"default\")],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7b8309b0\"\n\n},{\"mixins\":165}],49:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".field_text_table[data-v-db21acde]{background-color:transparent!important}.field_text_table .field_label[data-v-db21acde]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require('components/Field.vue');\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"field-text\",\n\n props: ['state'],\n\n components: {\n Field: _Field2.default\n },\n\n created: function created() {}\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-db21acde\"\n\n},{\"components/Field.vue\":43,\"vueify/lib/insert-css\":2}],50:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _Field = require(\"components/Field.vue\");\n\nvar _Field2 = _interopRequireDefault(_Field);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"vuefield\",\n props: {\n feature: {\n type: Object\n },\n state: {\n type: Object,\n default: {\n value: null,\n vueoptions: {\n component: {}\n }\n }\n }\n },\n components: {\n Field: _Field2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('field',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"field\"},slot:\"field\"},[_c(_vm.state.vueoptions.component,{tag:\"component\",attrs:{\"feature\":_vm.feature,\"value\":_vm.state.value}})],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Field.vue\":43}],51:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FormHeader = require('components/FormHeader.vue');\n\nvar _FormHeader2 = _interopRequireDefault(_FormHeader);\n\nvar _FormFooter = require('components/FormFooter.vue');\n\nvar _FormFooter2 = _interopRequireDefault(_FormFooter);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-form',\n\n data: function data() {\n return {\n state: {},\n switchcomponent: false,\n body: {\n components: {\n before: [],\n after: []\n }\n }\n };\n },\n\n components: {\n g3wformheader: _FormHeader2.default,\n G3wFormFooter: _FormFooter2.default\n },\n transitions: { 'addremovetransition': 'showhide' },\n methods: {\n isRootComponent: function isRootComponent(component) {\n return this.$options.service.isRootComponent(component);\n },\n backToRoot: function backToRoot() {\n this.$options.service.setRootComponent();\n },\n handleRelation: function handleRelation(relationId) {\n this.$options.service.handleRelation(relationId);\n },\n disableComponent: function disableComponent(_ref) {\n var id = _ref.id,\n _ref$disabled = _ref.disabled,\n disabled = _ref$disabled === undefined ? false : _ref$disabled;\n\n this.$options.service.disableComponent({\n id: id,\n disabled: disabled\n });\n },\n resizeForm: function resizeForm(perc) {\n this.$options.service.setCurrentFormPercentage(perc);\n },\n switchComponent: function switchComponent(id) {\n this.switchcomponent = true;\n this.$options.service.setCurrentComponentById(id);\n },\n changeInput: function changeInput(input) {\n return this.$options.service.changeInput(input);\n },\n addToValidate: function addToValidate(input) {\n this.$options.service.addToValidate(input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$options.service.removeToValidate(input);\n },\n reloadLayout: function reloadLayout() {\n var height = $(this.$el).height();\n if (!height) {\n return;\n };\n var footerDOM = $(this.$refs.g3w_form_footer.$el);\n var bodyFromDOM = $(this.$refs.g3wform_body);\n var footerHeight = footerDOM.height() ? footerDOM.height() + 50 : 50;\n var bodyHeight = height - ($(this.$refs.g3wformheader.$el).height() + footerHeight);\n bodyFromDOM.height(bodyHeight);\n }\n },\n updated: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n if (this.switchcomponent) {\n setTimeout(function () {\n return _this.switchcomponent = false;\n }, 0);\n }\n });\n\n function updated() {\n return _ref2.apply(this, arguments);\n }\n\n return updated;\n }(),\n created: function created() {\n var _this2 = this;\n\n this.$options.service.getEventBus().$on('set-main-component', function () {\n _this2.switchComponent(0);\n });\n this.$options.service.getEventBus().$on('component-validation', function (_ref3) {\n var id = _ref3.id,\n valid = _ref3.valid;\n\n _this2.$options.service.setValidComponent({ id: id, valid: valid });\n });\n this.$options.service.getEventBus().$on('addtovalidate', this.addToValidate);\n this.$options.service.getEventBus().$on('disable-component', this.disableComponent);\n },\n mounted: function mounted() {\n this.$options.service.isValid();\n this.$options.service.setReady(true);\n },\n beforeDestroy: function beforeDestroy() {\n this.$options.service.clearAll();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/FormFooter.vue\":53,\"components/FormHeader.vue\":54}],52:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3WFormInputs = require('components/InputG3WFormInputs.vue');\n\nvar _InputG3WFormInputs2 = _interopRequireDefault(_InputG3WFormInputs);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = Vue.extend({\n name: 'form-body',\n\n props: ['state', 'handleRelation'],\n data: function data() {\n return {\n show: true\n };\n },\n\n components: {\n G3wFormInputs: _InputG3WFormInputs2.default\n },\n methods: {\n addToValidate: function addToValidate(input) {\n this.$emit('addtovalidate', input);\n },\n removeToValidate: function removeToValidate(input) {\n this.$emit('removetovalidate', input);\n },\n changeInput: function changeInput(input) {\n this.$emit('changeinput', input);\n }\n },\n computed: {\n hasFormStructure: function hasFormStructure() {\n return !!this.state.formstructure;\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[(_vm.hasFormStructure)?[_c('tabs',{attrs:{\"layerid\":_vm.state.layerid,\"feature\":_vm.state.feature,\"handleRelation\":_vm.handleRelation,\"contenttype\":'editing',\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput,\"removeToValidate\":_vm.removeToValidate,\"tabs\":_vm.state.formstructure,\"fields\":_vm.state.fields}})]:[_c('g3w-form-inputs',{attrs:{\"state\":_vm.state,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})]],2)])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputG3WFormInputs.vue\":69}],53:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = Vue.extend({\n name: 'form-footer',\n\n props: {\n state: {\n type: Object\n },\n backToRoot: {\n type: Function,\n default: function _default() {}\n },\n isRootComponent: {\n type: Function\n }\n },\n data: function data() {\n this.originalbuttons = this.state.buttons.map(function (button) {\n return _extends({}, button);\n });\n return {\n id: \"footer\",\n active: true,\n show: true\n };\n },\n\n computed: {\n enableSave: function enableSave() {\n return this.state.valid && this.state.update;\n }\n },\n methods: {\n exec: function exec(cbk) {\n cbk instanceof Function ? cbk(this.state.fields) : function () {\n return this.state.fields;\n }();\n },\n btnEnabled: function btnEnabled(button) {\n var _button$enabled = button.enabled,\n enabled = _button$enabled === undefined ? true : _button$enabled,\n type = button.type;\n\n return enabled && (type !== 'save' || type === 'save' && this.enableSave);\n },\n isValid: function isValid() {\n return this.state.valid;\n }\n },\n watch: {\n 'state.component': function stateComponent(component) {\n this.show = this.isRootComponent(component);\n },\n\n 'state.update': {\n immediate: true,\n handler: function handler(value) {\n var _this = this;\n\n this.state.buttons.find(function (button, index) {\n if (button.eventButtons && button.eventButtons.update) {\n if (button.eventButtons.update[value]) {\n _this.state.buttons.splice(index, 1, _extends({}, button, button.eventButtons.update[value]));\n } else {\n _this.state.buttons.splice(index, 1, _this.originalbuttons[index]);\n }\n }\n });\n }\n }\n },\n activated: function activated() {\n this.active = true;\n },\n deactivated: function deactivated() {\n this.active = false;\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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\",[_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($event)}}})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{}],54:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = Vue.extend({\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: function click(id) {\n if (id !== this.currentid && this.headers.length > 1) {\n this.$emit('clickheader', id);\n }\n },\n resizeForm: function resizeForm(perc) {\n this.$emit('resize-form', perc);\n }\n }\n});\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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)])}\n__vue__options__.staticRenderFns = []\n\n},{}],55:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"bar-loader\",\n props: {\n loading: {\n type: Boolean | String,\n default: false\n },\n color: {\n type: String,\n default: '#FFFFFF'\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('div',{staticClass:\"bar-loader\",staticStyle:{\"border\":\"0\"},style:({ backgroundColor: _vm.color })}):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],56:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"datetime\",\n props: {\n type: {\n type: String,\n default: 'date' },\n format: {\n type: String,\n default: 'YYYY-MM-DD'\n },\n minDate: {\n default: false\n },\n maxDate: {\n default: false\n },\n enabledDates: {\n default: false\n },\n value: {},\n label: {\n default: 'Date'\n }\n },\n data: function data() {\n return {\n datetimevalue: this.value\n };\n },\n\n methods: {\n changeInput: function changeInput(e) {},\n change: function change(value) {\n var date = moment(value).format(this.format);\n this.$emit('change', date);\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.datetimeinputelement = $(this.$refs.iddatetimepicker);\n this.datetimeinputelement.datetimepicker({\n minDate: this.minDate,\n maxDate: this.maxDate,\n defaultDate: this.datetimevalue,\n useCurrent: false,\n allowInputToggle: true,\n enabledDates: this.enabledDates,\n showClose: true,\n format: this.format,\n locale: _application2.default.language,\n toolbarPlacement: 'top',\n widgetPositioning: { horizontal: 'right' }\n });\n this.datetimeinputelement.on(\"dp.change\", function (_ref2) {\n var date = _ref2.date;\n\n _this.change(date);\n });\n this.datetimeinputelement.on(\"dp.hide\", function (evt) {});\n if (_application2.default.ismobile) {\n setTimeout(function () {\n return datetimeinputelement.blur();\n });\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n value: function value(datetime) {\n this.datetimevalue = datetime;\n this.datetimeinputelement.data(\"DateTimePicker\").date(datetime);\n },\n minDate: function () {\n var _ref3 = _asyncToGenerator(function* (mindatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").minDate(mindatetime);\n });\n\n function minDate(_x) {\n return _ref3.apply(this, arguments);\n }\n\n return minDate;\n }(),\n maxDate: function () {\n var _ref4 = _asyncToGenerator(function* (maxdatetime) {\n this.datetimeinputelement.data(\"DateTimePicker\").maxDate(maxdatetime);\n });\n\n function maxDate(_x2) {\n return _ref4.apply(this, arguments);\n }\n\n return maxDate;\n }(),\n enabledDates: function enabledDates(dates) {\n this.datetimeinputelement.data(\"DateTimePicker\").enabledDates(dates);\n }\n },\n created: function created() {\n this.id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"datimecontainer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('div',{ref:\"iddatetimepicker\",staticClass:\"input-group date\"},[_c('input',{ref:\"idinputdatetimepiker\",staticClass:\"form-control\",attrs:{\"id\":_vm.id,\"type\":\"text\"},on:{\"change\":_vm.changeInput}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{staticClass:\"datetimeinput\",class:_vm.g3wtemplate.getFontClass('time' === _vm.type ? 'time': 'calendar')})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-e7683bf8\"\n\n},{\"store/application\":178,\"utils/getUniqueDomId\":217}],57:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".divider[data-v-6409ddc0]{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}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"divider\"\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"divider\"})}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6409ddc0\"\n\n},{\"vueify/lib/insert-css\":2}],58:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".help_div_container[data-v-5d3720b7]{color:#fff;text-align:justify;position:relative;border-radius:3px;margin:5px 2px;white-space:pre-line;background-color:#384246!important}.help_icon[data-v-5d3720b7]{text-align:center;font-size:.7em;margin-top:-4px;margin-left:-4px;background-color:#222d32;font-weight:700;color:#fff;position:absolute;top:0;left:0;width:15px;height:15px;border:1px solid #fff;border-radius:50%}.g3w-help-message-content[data-v-5d3720b7]{max-height:200px;padding:10px;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"helpdiv\",\n props: {\n message: {\n type: String,\n required: true\n },\n type: {\n type: String,\n default: 'info' }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"help_div_container\"},[_c('span',{staticClass:\"help_icon\"},[_vm._v(\"i\")]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"g3w-help-message-content\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5d3720b7\"\n\n},{\"vueify/lib/insert-css\":2}],59:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: \"progressbar\",\n props: ['progress']\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return ((null !== _vm.progress && undefined !== _vm.progress))?_c('div',{staticStyle:{\"margin\":\"5px 0 5px 0\",\"width\":\"100%\",\"backgroundColor\":\"#FFFFFF\",\"border\":\"0\",\"borderRadius\":\"3px\"}},[_c('div',{staticClass:\"skin-background-color\",staticStyle:{\"display\":\"flex\",\"justifyContent\":\"center\",\"fontWeight\":\"bold\"},style:({ width: (_vm.progress < 10 ? 10 : _vm.progress) })},[_c('span',[_vm._v(_vm._s(_vm.progress))])])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{}],60:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".min-max-label[data-v-a8bbacb8]{align-self:end;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _debounce = require('utils/debounce');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"range\",\n props: {\n id: {\n default: undefined\n },\n\n label: {\n type: String,\n default: ''\n },\n\n min: {\n type: Number,\n default: 0\n },\n\n max: {\n type: Number,\n default: 10\n },\n\n step: {\n type: Number,\n default: 1\n },\n\n labelValue: {},\n\n value: {\n default: 0\n },\n\n sync: {\n type: Boolean,\n default: false\n },\n\n showValue: {\n type: Boolean,\n default: false\n },\n\n unit: {\n type: String,\n default: ''\n }\n\n },\n data: function data() {\n return {\n state: { value: this.value }\n };\n },\n\n methods: {\n changeBackGround: function changeBackGround(value) {\n this.$refs['range-input'].style.backgroundSize = (value ? (value - this.min) * 100 / (this.max - this.min) : 0) + '% 100%';\n },\n setValue: function setValue(value) {\n this.changedValue(value);\n },\n change: function change(e) {\n this.changedValue(1 * e.target.value);\n },\n emitChangeValue: function emitChangeValue(value) {\n this.state.value = value;\n this.$emit('change-range', {\n id: this.id,\n value: value\n });\n }\n },\n watch: {\n 'value': function value(_value) {\n this.state.value = _value;\n },\n 'state.value': function stateValue(value) {\n this.changeBackGround(value);\n if (this.sync) {\n this.emitChangeValue(value);\n }\n }\n },\n created: function created() {\n var _this = this;\n\n this.changedValue = this.sync ? function () {\n return _this.$emit('changed');\n } : (0, _debounce.debounce)(function (value) {\n _this.emitChangeValue(value);\n });\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.changeBackGround(this.value);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('section',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"font-weight\":\"bold\"}},[_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.min))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"flex-direction\":\"column\",\"margin\":\"0 3px\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.label),expression:\"label\"}],staticClass:\"skin-color\",staticStyle:{\"display\":\"block\"},attrs:{\"for\":_vm.id}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],ref:\"range-input\",attrs:{\"type\":\"range\",\"id\":_vm.id,\"min\":_vm.min,\"max\":_vm.max,\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('section',{staticStyle:{\"align-self\":\"flex-end\"}},[_c('span',{staticClass:\"min-max-label\"},[_vm._v(_vm._s(_vm.max))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])])]),_vm._v(\" \"),(_vm.showValue)?[_c('span',[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.unit))])]:_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-a8bbacb8\"\n\n},{\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],61:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".formquerytabs[data-v-2cbd8ce7]{overflow:hidden!important;display:flex;flex-wrap:wrap}.formquerytabs>li[data-v-2cbd8ce7]{flex:1;display:flex}.formquerytabs>li>a[data-v-2cbd8ce7]{font-weight:700;flex:1}.nav-tabs>li>a.mobile[data-v-2cbd8ce7]{padding:5px 10px}.tab_a[data-v-2cbd8ce7]{padding:5px;margin-right:0!important;border-bottom:0;margin-bottom:3px;border-radius:3px 3px 0 0}.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]{color:inherit!important;font-weight:500;font-size:1em!important;padding:.25em;cursor:pointer}.tabs-wrapper>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▾\\\"}.tabs-wrapper.collapsed>.formquerytabs li a.tab_a.group-title[data-v-2cbd8ce7]:before{content:\\\"▸\\\"}.tabs-wrapper.collapsed>.formquerytabs+.tab-content[data-v-2cbd8ce7]{display:none}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _GlobalTabsNode = require('components/GlobalTabsNode.vue');\n\nvar _GlobalTabsNode2 = _interopRequireDefault(_GlobalTabsNode);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getFormDataExpressionRequestFromFeature = require('utils/getFormDataExpressionRequestFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _noop = require('utils/noop');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"tabs\",\n props: {\n group: {\n type: Boolean,\n default: false\n },\n contenttype: {\n default: 'query' },\n layerid: {\n required: true\n },\n tabs: {\n required: true\n },\n feature: {\n required: true\n },\n fields: {\n required: true\n },\n addToValidate: {\n type: Function,\n default: _noop.noop\n },\n removeToValidate: {\n type: Function,\n default: _noop.noop\n },\n changeInput: {\n type: Function,\n default: _noop.noop\n },\n showRelationByField: {\n type: Boolean,\n default: true\n },\n handleRelation: {\n type: Function,\n default: function _default() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref.relation,\n layerId = _ref.layerId,\n feature = _ref.feature;\n\n return _gui2.default.getService('queryresults').showRelation({ relation: relation, layerId: layerId, feature: feature });\n }\n }\n },\n data: function data() {\n return {\n ids: []\n };\n },\n\n computed: {\n required_fields: function required_fields() {\n return 'editing' === this.contenttype && this.fields.filter(function (f) {\n return f.validate.required;\n }).map(function (f) {\n return f.name;\n });\n },\n show: function show() {\n return this.tabs.reduce(function (a, t) {\n return a || t.visible === undefined || !!t.visible;\n }, false);\n }\n },\n methods: {\n setVisibility: function () {\n var _ref2 = _asyncToGenerator(function* (tab) {\n tab.visible = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n qgs_layer_id: this.layerid,\n form_data: ('editing' === this.contenttype ? _convertFeatureToGEOJSON.convertFeatureToGEOJSON : _getFormDataExpressionRequestFromFeature.getFormDataExpressionRequestFromFeature)(this.feature || {}),\n expression: tab.visibility_expression.expression,\n formatter: 'query' === this.contenttype ? 1 : 0\n },\n outputs: false\n });\n });\n\n function setVisibility(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return setVisibility;\n }(),\n setEditingRequireTab: function setEditingRequireTab(obj) {\n var _this = this;\n\n if (undefined === obj.nodes) {\n return this.required_fields.includes(obj.field_name);\n } else {\n return !!obj.nodes.find(function (n) {\n return _this.setEditingRequireTab(n);\n });\n }\n },\n getField: function getField(fieldName) {\n return this.fields.find(function (f) {\n return fieldName === f.name;\n });\n },\n toggleGroup: function toggleGroup(e) {\n var wrapper = e.target.closest('.tabs-wrapper');\n wrapper.classList.toggle('collapsed');\n }\n },\n components: {\n Node: _GlobalTabsNode2.default\n },\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.unwatch = [];\n this.tabs.forEach(function () {\n var _ref4 = _asyncToGenerator(function* (tab, i) {\n if (tab.visibility_expression) {\n if (undefined === tab.visible) {\n _this2.$set(tab, 'visible', 0);\n }\n yield _this2.setVisibility(tab);\n }\n if ('editing' === _this2.contenttype) {\n if (undefined === tab.required) {\n tab.required = _this2.setEditingRequireTab(tab);\n }\n if (tab.visibility_expression) {\n tab.visibility_expression.referenced_columns.forEach(function (c) {\n var field = _this2.fields.find(function (f) {\n return c === f.name;\n });\n _this2.unwatch.push(_this2.$watch(function () {\n return field.value;\n }, _asyncToGenerator(function* () {\n yield _this2.setVisibility(tab);\n })));\n });\n }\n }\n _this2.ids.push('tab_' + (0, _getUniqueDomId.getUniqueDomId)());\n });\n\n return function (_x3, _x4) {\n return _ref4.apply(this, arguments);\n };\n }());\n\n this.root_tabs = [];\n if (!this.group) {\n var nodes = [];\n this.tabs.forEach(function (tab_node) {\n if (tab_node.nodes) {\n nodes.push(tab_node);\n } else {\n if (nodes.length) {\n _this2.root_tabs.push([].concat(nodes));\n nodes.splice(0);\n }\n _this2.root_tabs.push({ nodes: [tab_node] });\n }\n });\n if (nodes.length) {\n this.root_tabs.push(nodes);\n }\n } else {\n this.root_tabs = [this.tabs];\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.unwatch.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('div',{staticClass:\"tabs-wrapper\"},[_vm._l((_vm.root_tabs),function(root_tab){return [(Array.isArray(root_tab))?[_c('ul',{staticClass:\"formquerytabs nav nav-tabs\"},[_vm._l((root_tab),function(tab,index){return [(tab.visible === undefined || tab.visible)?_c('li',{class:{active: index === 0}},[_c('a',{staticClass:\"tab_a\",class:{'mobile': _vm.isMobile(), 'group-title': _vm.group},style:({fontSize: _vm.isMobile() ? '1.0em': ((_vm.group ? '1.1': '1.2') + \"em\")}),attrs:{\"data-toggle\":\"tab\",\"href\":(\"#\" + (_vm.ids[index]))},on:{\"click\":function($event){_vm.group && _vm.toggleGroup($event)}}},[_vm._v(\"\\n \"+_vm._s(tab.name)+\" \"),(_vm.contenttype === 'editing' && tab.required)?_c('span',{staticStyle:{\"padding-left\":\"3px\",\"font-size\":\"1.1em\"}},[_vm._v(\"*\")]):_vm._e()])]):_vm._e()]})],2),_vm._v(\" \"),_c('div',{staticClass:\"tab-content\",class:{editing: 'editing' === _vm.contenttype }},[_vm._l((root_tab),function(tab,index){return [(undefined === tab.visible || tab.visible)?_c('div',{staticClass:\"tab-pane fade\",class:{'in active': index === 0},attrs:{\"id\":_vm.ids[index]}},[_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":tab}})],1):_vm._e()]})],2)]:_c('node',{attrs:{\"showRelationByField\":_vm.showRelationByField,\"handleRelation\":_vm.handleRelation,\"feature\":_vm.feature,\"layerid\":_vm.layerid,\"contenttype\":_vm.contenttype,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"changeInput\":_vm.changeInput,\"fields\":_vm.fields,\"showTitle\":false,\"node\":root_tab}})]})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-2cbd8ce7\"\n\n},{\"components/GlobalTabsNode.vue\":62,\"services/data\":172,\"services/gui\":173,\"utils/convertFeatureToGEOJSON\":186,\"utils/getFormDataExpressionRequestFromFeature\":208,\"utils/getUniqueDomId\":217,\"utils/noop\":227,\"vueify/lib/insert-css\":2}],62:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tab-node[data-v-9685e2ee]{min-width:0;overflow:hidden}.title[data-v-9685e2ee]{font-weight:700;width:100%;color:#fff;padding:3px;margin-top:5px;margin-bottom:5px;border-radius:2px}.node-row[data-v-9685e2ee]{margin-bottom:0;column-gap:2px;margin-top:0;display:grid;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column}.row.mobile[data-v-9685e2ee]{margin-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _InputG3W = require('components/InputG3W.vue');\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar Fields = require('gui/fields/fields');\n\nexports.default = {\n name: \"node\",\n props: ['contenttype', 'node', 'fields', 'showTitle', 'addToValidate', 'removeToValidate', 'changeInput', 'layerid', 'feature', 'showRelationByField', 'handleRelation'],\n components: _extends({\n G3wInput: _InputG3W2.default\n }, Fields),\n data: function data() {\n return {\n context: this.contenttype,\n editing_required: false\n };\n },\n\n computed: {\n filterNodes: function filterNodes() {\n var _this = this;\n\n var filterNodes = this.node.nodes && this.node.nodes.filter(function (node) {\n if ('group' === _this.getNodeType(node)) {\n return true;\n } else if (!node.nodes && node.name && 'group' != _this.getNodeType(node)) {\n node.relation = true;\n return true;\n } else {\n return !!_this.fields.find(function (field) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === field.name || node.relation;\n });\n }\n });\n return filterNodes || [];\n },\n nodesLength: function nodesLength() {\n return this.filterNodes.length;\n },\n rows: function rows() {\n var rowCount = 1;\n if (0 === this.nodesLength) {\n rowCount = 0;\n } else if (this.columnNumber <= this.nodesLength) {\n rowCount = Math.floor(this.nodesLength / this.columnNumber) + this.nodesLength % this.columnNumber;\n }\n return rowCount;\n },\n columnNumber: function columnNumber() {\n var columnCount = parseInt(this.node.columncount) ? parseInt(this.node.columncount) : 1;\n return columnCount > this.nodesLength ? this.nodesLength : columnCount;\n },\n showGroupTile: function showGroupTile() {\n return this.showTitle && this.node.showlabel && this.node.groupbox;\n }\n },\n methods: {\n loadingRelation: function loadingRelation(relation) {\n var layer = _application2.default.project.getLayerById(this.layerid);\n\n return (layer.getRelationById(relation.name) || { state: { loading: false } }).state;\n },\n isRelationDisabled: function isRelationDisabled(relation) {\n return undefined === this.getRelationName(relation.name) || 'editing' === this.contenttype && this.isRelationChildLayerNotEditable(relation);\n },\n getRelationName: function getRelationName(relationId) {\n return (_application2.default.project.getRelationById(relationId) || {}).name;\n },\n isRelationChildLayerNotEditable: function isRelationChildLayerNotEditable(relation) {\n var projectRelation = _application2.default.project.getRelationById(relation.name);\n var relationLayerId = projectRelation.referencingLayer;\n var relationLayer = _application2.default.project.getLayerById(relationLayerId);\n\n return !relationLayer.isEditable();\n },\n getNodes: function getNodes(row) {\n var startIndex = (row - 1) * this.columnNumber;\n return this.filterNodes.slice(startIndex, this.columnNumber + startIndex);\n },\n getNode: function getNode(row, column) {\n return this.getNodes(row)[column - 1];\n },\n getField: function getField(node) {\n if (node.relation) {\n return node;\n }\n return this.fields.find(function (f) {\n return (node.field_name ? node.field_name.replace(/ /g, \"_\") : node.field_name) === f.name;\n });\n },\n getNodeType: function getNodeType(node) {\n var type = node.groupbox || node.nodes ? 'group' : node.relation ? 'relation' : 'field';\n if ('field' === type && [undefined, ''].includes(node.alias)) {\n node.alias = node.field_name;\n }\n return type;\n },\n getComponent: function getComponent(field) {\n if (field.relation) {\n return;\n } else if (field.query) {\n return field.input.type;\n } else {\n return 'g3w-input';\n }\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"tab-node group\"},[(_vm.showGroupTile)?_c('h5',{staticClass:\"title group-title\",class:{'mobile': _vm.isMobile()},style:({fontSize: _vm.isMobile() ? '1em' : '1.1em'})},[_vm._v(_vm._s(_vm.node.name)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.rows),function(row){return _c('div',{staticClass:\"node-row\",class:{'mobile': _vm.isMobile()}},[_vm._l((_vm.columnNumber),function(column){return [(_vm.getNode(row, column))?[('field' === _vm.getNodeType(_vm.getNode(row, column)))?_c(_vm.getComponent(_vm.getField(_vm.getNode(row, column))),{tag:\"component\",staticStyle:{\"padding\":\"5px 3px 5px 3px\"},attrs:{\"state\":_vm.getField(_vm.getNode(row, column)),\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"feature\":_vm.feature},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}):[('group' === _vm.getNodeType(_vm.getNode(row, column)))?_c('tabs',_vm._b({staticClass:\"sub-group\",staticStyle:{\"width\":\"100% !important\"},attrs:{\"group\":true,\"tabs\":[_vm.getNode(row, column)]}},'tabs',_vm.$props,false)):[(_vm.showRelationByField)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.isRelationDisabled(_vm.getNode(row, column)) || _vm.loadingRelation(_vm.getNode(row, column)).loading),expression:\"isRelationDisabled(getNode(row, column)) || loadingRelation(getNode(row, column)).loading\"}],style:({cursor: _vm.showRelationByField && 'pointer'}),on:{\"click\":function($event){$event.stopPropagation();_vm.handleRelation({relation: _vm.getNode(row, column), feature:_vm.feature, layerId: _vm.layerid})}}},[_c('bar-loader',{attrs:{\"loading\":_vm.loadingRelation(_vm.getNode(row, column)).loading}}),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\",\"align-items\":\"center\"}},[_c('div',{staticClass:\"query_relation_field\"},[_c('i',{class:_vm.g3wtemplate.font[(\"\" + (_vm.context === 'query' ? 'relation' : 'pencil'))]})]),_vm._v(\" \"),_c('span',{staticClass:\"query_relation_field_message g3w-long-text\"},[_c('span',{staticStyle:{\"text-transform\":\"uppercase\"}},[_vm._v(\" \"+_vm._s(_vm.getRelationName(_vm.getNode(row, column).name)))])])])],1):_vm._e()]]]:_vm._e()]})],2)})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9685e2ee\"\n\n},{\"components/InputG3W.vue\":68,\"gui/fields/fields\":3,\"store/application\":178,\"vueify/lib/insert-css\":2}],63:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".control-label[data-v-cb533ff6]{text-align:left!important;padding-top:0!important;margin-bottom:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nexports.default = _extends({\n name: \"InputBase\",\n props: ['state']\n}, _mixins.baseInputMixin);\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',{staticClass:\"form-group\"},[_vm._t(\"label\",[_c('label',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"col-sm-12 control-label\",attrs:{\"for\":_vm.state.name}},[(_vm.state.i18nLabel)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.state.label),expression:\"state.label\"}]}):_c('span',[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e(),_vm._v(\" \"),(_vm.showhelpicon)?_c('i',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['info'],staticStyle:{\"margin-left\":\"3px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showHideHelp($event)}}}):_vm._e(),_vm._v(\" \"),_vm._t(\"label-action\")],2)]),_vm._v(\" \"),(_vm.state.relationField)?_c('div',{staticStyle:{\"color\":\"var(--skin-warning)\",\"padding\":\"3px 0 3px 15px\"}},[_c('span',{class:_vm.g3wtemplate.getFontClass('warning')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.field'),expression:\"'sdk.relations.field'\"}]})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"col-sm-12\"},[_vm._t(\"loading\",[(_vm.loadingState === 'loading')?_c('div',{staticStyle:{\"position\":\"relative\",\"width\":\"100%\"},attrs:{\"slot\":\"loading\"},slot:\"loading\"},[_c('bar-loader',{attrs:{\"loading\":true}})],1):_vm._e()]),_vm._v(\" \"),_vm._t(\"body\"),_vm._v(\" \"),_vm._t(\"message\",[(_vm.notvalid)?_c('p',{staticClass:\"g3w-long-text error-input-message\",staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.validate.message)}}):(_vm.state.info)?_c('p',{staticStyle:{\"margin\":\"0\"},domProps:{\"innerHTML\":_vm._s(_vm.state.info)}}):_vm._e()]),_vm._v(\" \"),(_vm.state.help && this.state.help.visible)?_c('div',{staticClass:\"g3w_input_help skin-background-color extralighten\",domProps:{\"innerHTML\":_vm._s(_vm.state.help.message)}}):_vm._e()],2)],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-cb533ff6\"\n\n},{\"mixins\":165,\"vueify/lib/insert-css\":2}],64:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-checkbox',\n\n mixins: [Input, _mixins.widgetMixins],\n data: function data() {\n return {\n value: null,\n label: null,\n id: (0, _getUniqueDomId.getUniqueDomId)() };\n },\n\n methods: {\n setLabel: function setLabel() {\n this.label = this.service.convertCheckedToValue(this.value);\n },\n setValue: function setValue() {\n this.value = this.service.convertValueToChecked();\n },\n changeCheckBox: function changeCheckBox() {\n this.setLabel();\n this.widgetChanged();\n },\n stateValueChanged: function stateValueChanged() {\n this.setValue();\n this.setLabel();\n }\n },\n mounted: function mounted() {\n this.stateValueChanged();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticStyle:{\"height\":\"20px\",\"margin-top\":\"8px\"},attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.value),expression:\"value\"}],staticClass:\"magic-checkbox\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"tabIndex\":_vm.tabIndex,\"type\":\"checkbox\",\"id\":_vm.id},domProps:{\"checked\":Array.isArray(_vm.value)?_vm._i(_vm.value,null)>-1:(_vm.value)},on:{\"change\":[function($event){var $$a=_vm.value,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.value=$$a.concat([$$v]))}else{$$i>-1&&(_vm.value=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.value=$$c}},_vm.changeCheckBox]}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.id}},[_vm._v(_vm._s(_vm.label))])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":165,\"utils/getUniqueDomId\":217}],65:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-color',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"cursor\":\"pointer\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"type\":\"color\",\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],66:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-datetime-picker',\n\n mixins: [Input, _mixins.resizeMixin],\n\n data: function data() {\n var uniqueValue = (0, _getUniqueDomId.getUniqueDomId)();\n return {\n widget_container: {\n top: 0,\n left: 0\n },\n iddatetimepicker: 'datetimepicker_' + uniqueValue,\n idinputdatetimepiker: 'inputdatetimepicker_' + uniqueValue\n };\n },\n\n\n methods: {\n resize: function resize() {\n var domeDataPicker = $('#' + this.iddatetimepicker);\n if (domeDataPicker && domeDataPicker.data(\"DateTimePicker\")) {\n domeDataPicker.data(\"DateTimePicker\").hide();\n }\n },\n timeOnly: function timeOnly() {\n return !this.state.input.options.formats[0].date;\n },\n onDatePickerChange: function onDatePickerChange() {\n var newDate = $('#' + this.idinputdatetimepiker).val();\n this.state.value = _.isEmpty(newDate.trim()) ? null : moment(newDate, this.datetimedisplayformat).format(this.datetimefieldformat);\n this.change();\n },\n onDatePickerShow: function onDatePickerShow(evt) {\n var _this = this;\n\n this.widget_container.top = 0;\n this.widget_container.left = 0;\n\n setTimeout(function () {\n var container = _this.$refs.datetimepicker_body.getBoundingClientRect();\n var modal = _this.$refs.datimewidget_container.querySelector('.bootstrap-datetimepicker-widget').getBoundingClientRect();\n _this.widget_container.top = container.top + (container.top < modal.height ? container.height + Math.abs(container.top - modal.height) + 20 : 0);\n _this.widget_container.left = container.left - Math.max(container.width, modal.width);\n _this.$emit('datetimepickershow');\n });\n },\n onDatePickerHide: function onDatePickerHide(evt) {\n this.$emit('datetimepickershow');\n }\n },\n watch: {\n 'state.value': function () {\n var _ref = _asyncToGenerator(function* (value) {\n if (value !== $('#' + this.idinputdatetimepiker).val()) {\n var date = null !== value ? moment(value, this.datetimefieldformat).format(this.datetimedisplayformat) : value;\n yield this.$nextTick();\n $('#' + this.idinputdatetimepiker).val(date);\n }\n });\n\n function stateValue(_x) {\n return _ref.apply(this, arguments);\n }\n\n return stateValue;\n }()\n },\n\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _state$input$options = this.state.input.options,\n _state$input$options$ = _state$input$options.formats,\n formats = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.layout,\n layout = _state$input$options$2 === undefined ? {\n vertical: \"top\",\n horizontal: \"left\"\n } : _state$input$options$2;\n var _formats$ = formats[0],\n minDate = _formats$.minDate,\n maxDate = _formats$.maxDate,\n fieldformat = _formats$.fieldformat,\n enabledDates = _formats$.enabledDates,\n disabledDates = _formats$.disabledDates,\n displayformat = _formats$.displayformat,\n useCurrent = _formats$.useCurrent;\n\n\n yield this.$nextTick();\n\n this.datetimedisplayformat = this.service.convertQGISDateTimeFormatToMoment(displayformat);\n this.datetimefieldformat = this.service.convertQGISDateTimeFormatToMoment(fieldformat);\n\n this.service.setValidatorOptions({ fielddatetimeformat: this.datetimefieldformat });\n\n var date = moment(this.state.value, this.datetimefieldformat, true).isValid() ? moment(this.state.value, this.datetimefieldformat).toDate() : null;\n\n $('#' + this.iddatetimepicker).datetimepicker({\n defaultDate: date,\n format: this.datetimedisplayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n enabledDates: enabledDates,\n disabledDates: disabledDates,\n useCurrent: useCurrent,\n toolbarPlacement: 'top',\n minDate: minDate,\n maxDate: maxDate,\n widgetParent: $(this.$refs.datimewidget_container),\n widgetPositioning: {\n vertical: layout.vertical || 'top',\n horizontal: layout.horizontal || 'left'\n },\n showClose: true,\n locale: this.service.getLocale()\n });\n\n $('#' + this.iddatetimepicker).on(\"dp.change\", this.onDatePickerChange);\n $('#' + this.iddatetimepicker).on(\"dp.show\", this.onDatePickerShow);\n $('#' + this.iddatetimepicker).on(\"dp.hide\", this.onDatePickerHide);\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + _this2.idinputdatetimepiker).blur();\n });\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{ref:\"datetimepicker_body\",attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{ref:\"datimewidget_container\",style:({\n top: _vm.widget_container.top + 'px',\n left: _vm.widget_container.left + 'px',\n position: 'fixed',\n zIndex: 10000,\n })}),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],staticClass:\"input-group date\",attrs:{\"id\":_vm.iddatetimepicker}},[_c('input',{staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"type\":\"text\",\"id\":_vm.idinputdatetimepiker,\"tabIndex\":_vm.tabIndex,\"readonly\":!_vm.editable || _vm.isMobile() ? 'readonly' : null}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon caret\"},[_c('span',{class:[ _vm.g3wtemplate.getFontClass(_vm.timeOnly() ? 'time' : 'calendar') ]})])])])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":165,\"store/application\":178,\"utils/getUniqueDomId\":217}],67:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-float',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.state.step || 1,\"placeholder\":_vm.state.default},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],68:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar Inputs = {\n 'text_input': require('gui/inputs/text/vue/text'),\n 'texthtml_input': require('gui/inputs/texthtml/vue/texthtml'),\n 'textarea_input': require('gui/inputs/textarea/vue/textarea'),\n 'integer_input': require('gui/inputs/integer/vue/integer'),\n 'string_input': require('gui/inputs/text/vue/text'),\n 'float_input': require('gui/inputs/float/vue/float'),\n 'radio_input': require('gui/inputs/radio/vue/radio'),\n 'check_input': require('gui/inputs/checkbox/vue/checkbox'),\n 'range_input': require('gui/inputs/range/vue/range'),\n 'datetimepicker_input': require('gui/inputs/datetimepicker/vue/datetimepicker'),\n 'unique_input': require('gui/inputs/unique/vue/unique'),\n 'select_input': require('gui/inputs/select/vue/select'),\n 'media_input': require('gui/inputs/media/vue/media'),\n 'select_autocomplete_input': require('gui/inputs/select/vue/select'),\n 'picklayer_input': require('gui/inputs/picklayer/vue/picklayer'),\n 'color_input': require('gui/inputs/color/vue/color'),\n 'slider_input': require('gui/inputs/sliderrange/vue/sliderrange'),\n 'lonlat_input': require('gui/inputs/lonlat/vue/lonlat')\n};\n\nexports.default = {\n name: \"g3w-input\",\n props: {\n state: {\n required: true\n },\n addToValidate: {\n type: Function,\n required: true\n },\n removeToValidate: {\n type: Function,\n required: true\n },\n changeInput: {\n type: Function,\n required: true\n }\n },\n components: _extends({}, Inputs),\n computed: {\n type: function type() {\n if (this.state.type !== 'child') return this.state.input.type ? this.state.input.type + '_input' : this.state.type + '_input';\n }\n },\n created: function created() {\n if (this.state.type !== 'child' && !this.state.input.options) this.state.input.options = {};\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.state.visible)?_c('div',[(_vm.state.type !== 'child')?_c('div',[_c(_vm.type,{tag:\"component\",attrs:{\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate,\"state\":_vm.state},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}}),_vm._v(\" \"),_c('divider')],1):_c('div',{staticClass:\"skin-border-color field-child\",staticStyle:{\"border-top\":\"2px solid\"}},[_c('h4',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.label))]),_vm._v(\" \"),_c('div',[_vm._v(\" \"+_vm._s(_vm.state.description)+\" \")]),_vm._v(\" \"),_vm._l((_vm.state.fields),function(field){return _c('g3w-input',{key:field.name,attrs:{\"state\":field,\"changeInput\":_vm.changeInput,\"addToValidate\":_vm.addToValidate,\"removeToValidate\":_vm.removeToValidate},on:{\"changeinput\":_vm.changeInput,\"addinput\":_vm.addToValidate,\"removeinput\":_vm.removeToValidate}})})],2)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/checkbox/vue/checkbox\":6,\"gui/inputs/color/vue/color\":7,\"gui/inputs/datetimepicker/vue/datetimepicker\":9,\"gui/inputs/float/vue/float\":11,\"gui/inputs/integer/vue/integer\":14,\"gui/inputs/lonlat/vue/lonlat\":16,\"gui/inputs/media/vue/media\":18,\"gui/inputs/picklayer/vue/picklayer\":20,\"gui/inputs/radio/vue/radio\":22,\"gui/inputs/range/vue/range\":24,\"gui/inputs/select/vue/select\":26,\"gui/inputs/sliderrange/vue/sliderrange\":30,\"gui/inputs/text/vue/text\":31,\"gui/inputs/textarea/vue/textarea\":32,\"gui/inputs/texthtml/vue/texthtml\":33,\"gui/inputs/unique/vue/unique\":35}],69:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#g3w-for-inputs-required-inputs-message[data-v-06573254]{margin-bottom:5px;font-weight:700;text-align:center;display:flex;align-items:center;justify-content:center}.box-body[data-v-06573254]{padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _InputG3W = require(\"components/InputG3W.vue\");\n\nvar _InputG3W2 = _interopRequireDefault(_InputG3W);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-form-inputs\",\n props: {\n state: {\n type: Object,\n default: {\n fields: []\n }\n },\n addToValidate: {\n type: Function\n },\n changeInput: {\n type: Function\n },\n show_required_field_message: {\n type: Boolean,\n default: false\n },\n removeToValidate: {\n type: Function\n }\n\n },\n components: {\n G3wInput: _InputG3W2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"form-horizontal g3w-form\"},[_c('div',{staticClass:\"box-primary\"},[_c('div',{staticClass:\"box-body\"},[_vm._l((_vm.state.fields),function(field){return [_c('g3w-input',{attrs:{\"state\":field,\"removeToValidate\":_vm.removeToValidate,\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput},on:{\"addToValidate\":_vm.addToValidate,\"changeInput\":_vm.changeInput}})]})],2),_vm._v(\" \"),(_vm.show_required_field_message)?_c('div',{attrs:{\"id\":\"g3w-for-inputs-required-inputs-message\"}},[_c('span',{staticClass:\"hide-cursor-caret-color\"},[_vm._v(\"*\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.form.footer.required_fields'),expression:\"'sdk.form.footer.required_fields'\"}],staticClass:\"hide-cursor-caret-color\"})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-06573254\"\n\n},{\"components/InputG3W.vue\":68,\"vueify/lib/insert-css\":2}],70:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-integer',\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"type\":\"number\"},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change]},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],71:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-lonlat',\n\n mixins: [Input],\n data: function data() {\n return {\n lonId: (0, _getUniqueDomId.getUniqueDomId)(),\n latId: (0, _getUniqueDomId.getUniqueDomId)(),\n coordinatebutton: {\n active: false\n }\n };\n },\n\n computed: {\n getCoordinateActive: function getCoordinateActive() {\n return this.service.state.getCoordinateActive;\n }\n },\n methods: {\n toggleGetCoordinate: function toggleGetCoordinate() {\n this.service.toggleGetCoordinate();\n },\n changeLonLat: function changeLonLat() {\n this.change();\n this.setValue();\n },\n setValue: function setValue() {\n this.state.value = [[1 * this.state.values.lon, 1 * this.state.values.lat]];\n }\n },\n created: function created() {\n this.state.values = this.state.values || { lon: 0, lat: 0 };\n this.setValue();\n this.service.setCoordinateButtonReactiveObject(this.coordinatebutton);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $(this.$refs['g3w-input-lat-lon']).tooltip({ trigger: 'hover' });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"position\":\"relative\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"flex-end\",\"height\":\"35px\",\"margin-right\":\"12px\",\"margin-bottom\":\"5px\"}},[_c('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:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"border-radius\":\"5px\",\"font-weight\":\"bold\",\"font-size\":\"20px\",\"cursor\":\"pointer\"},style:({border: _vm.coordinatebutton.active ? '2px solid' : 0}),attrs:{\"data-placement\":\"left\",\"data-container\":\"body\",\"data-toggle\":\"tooltip\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.toggleGetCoordinate($event)}}})]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.lonId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lon)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lon),expression:\"state.values.lon\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.lonId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-180\",\"max\":\"180\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lon)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lon\", $event.target.value)}}})])]),_vm._v(\" \"),_c('baseinput',{attrs:{\"state\":_vm.state}},[_c('label',{staticClass:\"col-sm-4 control-label\",attrs:{\"slot\":\"label\",\"for\":_vm.latId},slot:\"label\"},[_vm._v(_vm._s(_vm.state.labels.lat)+\"\\n \"),(_vm.state.validate && _vm.state.validate.required)?_c('span',[_vm._v(\"*\")]):_vm._e()]),_vm._v(\" \"),_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.values.lat),expression:\"state.values.lat\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"margin-bottom\":\"5px\"},attrs:{\"id\":_vm.latId,\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"min\":\"-90\",\"max\":\"90\",\"placeholder\":\"Lon\"},domProps:{\"value\":(_vm.state.values.lat)},on:{\"change\":_vm.changeLonLat,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state.values, \"lat\", $event.target.value)}}})])])],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],72:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar InputMixins = require('gui/inputs/input');\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar _require2 = require('gui/fields/fields'),\n MediaField = _require2.media_field;\n\nexports.default = {\n name: 'input-media',\n\n mixins: [InputMixins],\n components: {\n 'g3w-media': MediaField\n },\n data: function data() {\n return {\n data: {\n value: null,\n mime_type: null\n },\n mediaid: 'media_' + (0, _getUniqueDomId.getUniqueDomId)(),\n loading: false\n };\n },\n\n methods: {\n onClick: function onClick() {\n document.getElementById(this.mediaid).click();\n },\n clearMedia: function clearMedia() {\n this.data.value = this.data.mime_type = this.state.value = null;\n this.change();\n }\n },\n created: function created() {\n if (this.state.value) {\n this.data.value = this.state.value.value;\n this.data.mime_type = this.state.value.mime_type;\n }\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var fieldName = this.state.name;\n var formData = {\n name: fieldName,\n csrfmiddlewaretoken: this.$cookie.get('csrftoken')\n };\n\n yield this.$nextTick();\n\n $('#' + this.mediaid).fileupload({\n dataType: 'json',\n formData: formData,\n start: function start() {\n return _this.loading = true;\n },\n done: function done(e, data) {\n var response = data.result[fieldName];\n if (response) {\n _this.data.value = response.value;\n _this.data.mime_type = response.mime_type;\n _this.state.value = _this.data;\n _this.change();\n }\n },\n fail: function fail(e) {\n console.warn(e);_gui2.default.notify.error(t(\"info.server_error\"));\n },\n always: function always() {\n return _this.loading = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n $('#' + this.mediaid).fileupload('destroy');\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('div',{staticClass:\"g3w_input_button skin-border-color\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"2px\",\"width\":\"100%\",\"cursor\":\"pointer\",\"text-align\":\"center\"},on:{\"click\":_vm.onClick}},[_c('i',{staticClass:\"fa-2x skin-color\",class:_vm.g3wtemplate.getFontClass('file-upload'),staticStyle:{\"padding\":\"5px\"}},[_c('input',{class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"display\":\"none\"},attrs:{\"id\":_vm.mediaid,\"name\":_vm.state.name,\"tabIndex\":_vm.tabIndex,\"data-url\":_vm.state.input.options.uploadurl,\"type\":\"file\"}})])]),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),_c('g3w-media',{attrs:{\"state\":_vm.data}},[_c('div',{staticClass:\"clearmedia\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMedia()}}},[_c('i',{staticClass:\"g3w-icon\",class:_vm.g3wtemplate.font['trash-o']})])])],1)])}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":128,\"gui/fields/fields\":3,\"gui/inputs/input\":12,\"services/gui\":173,\"utils/getUniqueDomId\":217}],73:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\nvar Service = require('gui/inputs/picklayer/service');\n\nexports.default = {\n name: 'input-picklayer',\n\n mixins: [Input],\n methods: {\n pickLayer: function pickLayer() {\n var _this = this;\n\n this.pickservice.pick().then(function (value) {\n return _this.state.value = value;\n }).catch(function () {});\n },\n unpick: function unpick() {\n var _this2 = this;\n\n setTimeout(function () {\n return !_this2.pickservice.isPicked() && _this2.pickservice.unpick();\n }, 200);\n }\n },\n created: function created() {\n this.pickservice = new Service(this.state.input.options);\n },\n beforeDestroy: function beforeDestroy() {\n this.pickservice.clear();\n this.pickservice = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.font['crosshairs'],staticStyle:{\"left\":\"0\",\"top\":\"7px\",\"position\":\"absolute\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},style:({cursor: _vm.editable ? 'pointer': null}),attrs:{\"readonly\":\"readonly\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"click\":_vm.pickLayer,\"blur\":_vm.unpick}})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19}],74:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-radio',\n\n mixins: [Input],\n data: function data() {\n return {\n ids: [(0, _getUniqueDomId.getUniqueDomId)(), (0, _getUniqueDomId.getUniqueDomId)()],\n name: 'name_' + (0, _getUniqueDomId.getUniqueDomId)(),\n radio_value: this.state.value\n };\n },\n\n watch: {\n 'radio_value': function radio_value() {\n this.state.value = this.radio_value;\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},_vm._l((_vm.state.input.options.values),function(value,index){return _c('span',{key:value.key},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.radio_value),expression:\"radio_value\"}],staticClass:\"magic-radio\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\"},attrs:{\"id\":_vm.ids[index],\"name\":_vm.name,\"tabIndex\":_vm.tabIndex,\"type\":\"radio\"},domProps:{\"value\":value.value,\"checked\":_vm._q(_vm.radio_value,value.value)},on:{\"change\":function($event){_vm.radio_value=value.value}}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.ids[index]}},[_vm._v(_vm._s(value.key))])])}),0)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"utils/getUniqueDomId\":217}],75:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-range',\n\n mixins: [Input],\n data: function data() {\n var _state$input$options$ = this.state.input.options.values[0],\n min = _state$input$options$.min,\n max = _state$input$options$.max,\n step = _state$input$options$.Step;\n\n return {\n min: min,\n max: max,\n step: step\n };\n },\n\n methods: {\n checkValue: function checkValue() {\n var isEmpty = null === this.state.value || _.isEmpty(('' + this.state.value).trim());\n\n if (isEmpty && !this.state.validate.required) {\n this.state.value = this.state.input.options.values[0].default;\n }\n\n this.state.validate.valid = !this.state.validate.required;\n\n if (!isEmpty) {\n this.state.validate.valid = this.service.getValidator().validate(this.state.value);\n }\n\n this.change();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"type\":\"number\",\"step\":_vm.step},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":[function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==69){ return null; }$event.preventDefault();},function($event){if(!$event.type.indexOf('key')&&$event.keyCode!==13){ return null; }$event.stopPropagation();}],\"change\":_vm.checkValue,\"blur\":_vm.checkValue,\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],76:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-input-pick-layer[data-v-6b3d29b0]{cursor:pointer;position:relative;top:2px;font-size:1.2em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _mixins = require('mixins');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar PickLayerInputService = require('gui/inputs/picklayer/service');\n\nvar _require = require('map/layers/layer'),\n Layer = _require.Layer;\n\nvar InputMixin = require('gui/inputs/input');\n\nvar G3W_SELECT2_NULL_VALUE = null;exports.default = {\n name: 'input-select',\n\n mixins: [InputMixin, _mixins.selectMixin, _mixins.select2Mixin],\n data: function data() {\n return {\n showPickLayer: false,\n picked: false,\n filterFields: [],\n isFilterFieldsReady: false };\n },\n\n computed: {\n showNullOption: function showNullOption() {\n return false === this.multiple && [undefined, true].includes(this.state.nullOption);\n },\n select2NullValue: function select2NullValue() {\n return this.showNullOption && G3W_SELECT2_NULL_VALUE;\n }\n },\n methods: {\n pickLayerValue: function () {\n var _ref = _asyncToGenerator(function* () {\n try {\n if (this.picked) {\n this.pickLayerInputService.unpick();\n this.picked = false;\n } else {\n this.picked = true;\n var values = yield this.pickLayerInputService.pick();\n\n var value = values[this.state.input.options.key];\n\n if (this.multiple) {\n value = undefined === this.getMultiValues().find(function (v) {\n return value == v;\n }) ? '{' + [].concat(_toConsumableArray(this.getMultiValues()), [value]).join() + '}' : this.state.value;\n }\n\n if (value != this.state.value) {\n if (this.autocomplete) {\n if (!this.multiple) {\n this.state.input.options.values.splice(0);\n }\n this.state.input.options.values.push({\n key: values[this.state.input.options.value],\n value: values[this.state.input.options.key]\n });\n }\n\n this.service.sortValues();\n\n yield this.changeSelect(value);\n\n this.select2.val(this.multiple ? this.getMultiValues() : value).trigger('change');\n }\n\n _gui2.default.showUserMessage({ type: 'success', autoclose: true });\n\n this.picked = false;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: \"warning\",\n message: 'sdk.form.inputs.messages.errors.picklayer',\n autoclose: true\n });\n this.picked = false;\n }\n });\n\n function pickLayerValue() {\n return _ref.apply(this, arguments);\n }\n\n return pickLayerValue;\n }(),\n getMultiValues: function getMultiValues() {\n var _this = this;\n\n return [undefined, null, ''].includes(this.state.value) ? [] : Array.from(new Set(('' + this.state.value).replace(/^{|}$/g, '').replace(/\"/g, \"\").split(','))).filter(function (v) {\n return _this.autocomplete || _this.state.input.options.values.map(function (_ref2) {\n var value = _ref2.value;\n return '' + value;\n }).includes('' + v);\n });\n },\n setAndListenSelect2Change: function setAndListenSelect2Change() {\n var _this2 = this;\n\n this.select2.on('select2:unselect', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n if (_this2.multiple) {\n var values = _this2.getMultiValues().filter(function (v) {\n return v != value;\n });\n\n if (_this2.autocomplete) {\n _this2.state.input.options.values = _this2.state.input.options.values.filter(function (v) {\n return value != v.value;\n });\n }\n _this2.changeSelect(0 === values.length ? null : '{' + values.join() + '}');\n }\n\n if (_this2.showNullOption && !_this2.multiple) {\n _this2.changeSelect(null);\n }\n });\n\n this.select2.on('select2:select', function (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n\n value = _this2.showNullOption ? value === G3W_SELECT2_NULL_VALUE ? null : value.toString() : value.toString();\n\n if (_this2.multiple) {\n value = _this2.getMultiValues().length > 0 ? '{' + [].concat(_toConsumableArray(_this2.getMultiValues()), [value]).join() + '}' : '{' + value + '}';\n }\n\n _this2.changeSelect(value);\n });\n }\n },\n\n watch: {\n 'state.input.options.values': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var values = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n yield this.$nextTick();\n if (this.autocomplete) {\n return;\n }\n var value = void 0;\n\n var is_empty = 0 === values.length;\n\n if (is_empty || this.multiple && 0 === this.getMultiValues().length) {\n value = G3W_SELECT2_NULL_VALUE;\n }\n\n if (!is_empty && this.multiple && this.getMultiValues().length > 0) {\n value = '{' + this.getMultiValues().join() + '}';\n }\n\n if (!is_empty && !this.multiple) {\n value = (values.find(function (_ref4) {\n var value = _ref4.value;\n return value == _this3.state.value;\n }) || { value: G3W_SELECT2_NULL_VALUE }).value;\n }\n\n var changed = value != this.state.value;\n\n this.state.value = value;\n\n this.select2.val(this.multiple ? this.getMultiValues() : this.state.value).trigger('change');\n\n if (changed) {\n this.change();\n }\n });\n\n function stateInputOptionsValues() {\n return _ref3.apply(this, arguments);\n }\n\n return stateInputOptionsValues;\n }()\n },\n\n created: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this4 = this;\n\n this.unwatch;\n this.filterFieldsUnwatches;\n\n var _state$input$options = this.state.input.options,\n relation_id = _state$input$options.relation_id,\n _state$input$options$ = _state$input$options.filter_fields,\n filter_fields = _state$input$options$ === undefined ? [] : _state$input$options$,\n _state$input$options$2 = _state$input$options.relation_reference,\n relation_reference = _state$input$options$2 === undefined ? false : _state$input$options$2,\n _state$input$options$3 = _state$input$options.chain_filters,\n chain_filters = _state$input$options$3 === undefined ? false : _state$input$options$3,\n _state$input$options$4 = _state$input$options.allowmulti,\n allowmulti = _state$input$options$4 === undefined ? false : _state$input$options$4;\n\n this.multiple = allowmulti;\n\n if (relation_reference && Array.isArray(filter_fields) && filter_fields.length > 0) {\n this.setLoading(true);\n\n this.isFilterFieldsReady = false;\n\n var _ApplicationState$pro = _application2.default.project.getRelationById(relation_id),\n referencedLayer = _ApplicationState$pro.referencedLayer,\n referencingLayer = _ApplicationState$pro.referencingLayer,\n _ApplicationState$pro2 = _ApplicationState$pro.fieldRef,\n referencingField = _ApplicationState$pro2.referencingField,\n referencedField = _ApplicationState$pro2.referencedField;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(referencingLayer);\n\n var relationLayer = (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer);\n\n var relationLayerFields = relationLayer.getFields();\n\n if (null !== this.state.value) {\n try {\n var _ref6 = yield relationLayer.getFilterData({\n formatter: 0,\n field: (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: referencedField[0],\n value: this.state.value })\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n this.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n order: referencingField[0],\n ffield: filter_fields.map(function (f, i) {\n var value = undefined === data[0].features[0].get(f) ? '' + G3W_SELECT2_NULL_VALUE : data[0].features[0].get(f);\n\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: value,\n disabled: chain_filters && i > 0 && '' + G3W_SELECT2_NULL_VALUE === _this4.filterFields[filter_fields[i - 1]]\n });\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f,\n value: value\n });\n }).join('|AND,')\n })).data || []).map(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n value = _ref8[0],\n key = _ref8[1];\n\n return { key: key, value: value };\n });\n\n if (chain_filters) {\n (yield relationLayer.getFilterData({\n unique: filter_fields[0],\n ordering: filter_fields[0],\n formatter: 0\n })).forEach(function (v) {\n return _this4.filterFields[0].values.push({ key: v, value: v });\n });\n\n (yield Promise.allSettled(filter_fields.slice(1).map(function (f, i) {\n return relationLayer.getFilterData({\n unique: filter_fields[i + 1],\n ordering: filter_fields[i + 1],\n formatter: 0,\n field: _this4.filterFields.slice(0, i + 1).filter(function (f) {\n return 'null' !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,')\n });\n }))).forEach(function (_ref9, i) {\n var status = _ref9.status,\n data = _ref9.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i + 1].values.push({ key: v, value: v });\n });\n }\n });\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f) {\n return relationLayer.getFilterData({ unique: f, ordering: f, formatter: 0 });\n }))).forEach(function (_ref10, index) {\n var status = _ref10.status,\n data = _ref10.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[index].values.push({ key: v, value: v });\n });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n } else {\n (yield Promise.allSettled(filter_fields.map(function (f, i) {\n _this4.filterFields.push({\n id: f,\n values: [{\n key: '[' + relationLayerFields.find(function (_f) {\n return _f.name === f;\n }).label + ']',\n value: '' + G3W_SELECT2_NULL_VALUE }],\n value: '' + G3W_SELECT2_NULL_VALUE,\n disabled: chain_filters && i > 0\n });\n return relationLayer.getFilterData({\n unique: f,\n formatter: 0,\n ordering: f\n });\n }))).forEach(function (_ref11, i) {\n var status = _ref11.status,\n data = _ref11.value;\n\n if ('fulfilled' === status) {\n data.forEach(function (v) {\n return _this4.filterFields[i].values.push({ key: v, value: v });\n });\n }\n });\n }\n\n this.filterFieldsUnwatches = this.filterFields.map(function (f, index) {\n return _this4.$watch(function () {\n return f.value;\n }, function () {\n var _ref12 = _asyncToGenerator(function* (value) {\n _this4.setLoading(true);\n\n if (chain_filters) {\n for (var i = index + 1; i < _this4.filterFields.length; i++) {\n _this4.filterFields[i].value = '' + G3W_SELECT2_NULL_VALUE;\n _this4.filterFields[i].values = [_this4.filterFields[i].values[0]];\n _this4.filterFields[i].disabled = '' + G3W_SELECT2_NULL_VALUE === value;\n }\n try {\n var filter = _this4.filterFields.slice(0, index + 1).filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({\n field: f.id,\n value: f.value\n });\n }).join('|AND,');\n\n var _ref13 = yield relationLayer.getFilterData({ field: filter }),\n _ref13$data = _ref13.data,\n rdata = _ref13$data === undefined ? [] : _ref13$data;\n\n if (rdata[0] && rdata[0].features) {\n var filterReferencedFieldValues = [];\n rdata[0].features.forEach(function (f) {\n filterReferencedFieldValues.push(f.get(referencedField));\n if (index < _this4.filterFields.length - 1) {\n var _value = f.get(_this4.filterFields[index + 1].id);\n _this4.filterFields[index + 1].values.push({ key: _value, value: _value });\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n _this4.state.input.options.values = ((yield layer.getFilterData({\n fformatter: referencingField[0],\n ordering: referencingField[0],\n ffield: _this4.filterFields.filter(function (f) {\n return '' + G3W_SELECT2_NULL_VALUE !== f.value;\n }).map(function (f) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: f.id, value: f.value });\n }).join('|AND,')\n })).data || []).map(function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n value = _ref15[0],\n key = _ref15[1];\n\n return { key: key, value: value };\n });\n\n if (_this4.state.input.options.values.length > 0) {\n _this4.state.value = _this4.state.input.options.values[0].value;\n _this4.select2.val(_this4.state.value).trigger('change');\n yield _this4.changeSelect(_this4.state.value);\n }\n\n _this4.setLoading(false);\n });\n\n return function (_x2) {\n return _ref12.apply(this, arguments);\n };\n }());\n });\n\n this.setLoading(false);\n\n this.isFilterFieldsReady = true;\n }\n\n if ('select_autocomplete' === this.state.input.type) {\n var dependencyLayerId = this.state.input.options.layer_id;\n try {\n var dependencyLayer = _gui2.default.getService('map').getProjectLayer(dependencyLayerId).getEditingLayer() || (0, _getCatalogLayerById.getCatalogLayerById)(dependencyLayerId);\n\n this.showPickLayer = dependencyLayer && Layer.LayerTypes.TABLE !== dependencyLayer.getType();\n if (this.showPickLayer) {\n var _state$input$options2 = this.state.input.options,\n key = _state$input$options2.key,\n value = _state$input$options2.value,\n layer_id = _state$input$options2.layer_id;\n\n this.pickLayerInputService = new PickLayerInputService({\n layer_id: layer_id,\n fields: [value, key],\n pick_type: dependencyLayer.isStarted && dependencyLayer.isStarted() ? 'map' : null\n });\n }\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref5.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n var selectElement = $(this.$refs.select);\n var language = this.getLanguage();\n var dropdownParent = undefined === this.state.dropdownParent && $('#g3w-view-content');\n if (this.autocomplete) {\n this.select2 = selectElement.select2({\n minimumInputLength: 1,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n allowClear: this.showNullOption,\n placeholder: '',\n language: language,\n ajax: {\n delay: 250,\n transport: function transport(params, success, failure) {\n var search = params.data.term;\n\n $('.select2-results__option.loading-results').siblings().hide();\n _this5.service.getData({\n key: _this5.state.input.options.value,\n value: _this5.state.input.options.key,\n search: search\n }).then(function (values) {\n return success(values);\n }).catch(function (e) {\n console.warn(e);failure(e);\n });\n },\n processResults: function processResults(data, params) {\n params.page = params.page || 1;\n return {\n results: data,\n pagination: {\n more: false\n }\n };\n } }\n });\n\n if (this.state.value) {\n this.state.input.options.values.splice(0);\n yield this.service.getKeyByValue({\n search: this.multiple ? this.getMultiValues() : this.state.value\n });\n }\n } else {\n this.select2 = selectElement.select2({\n language: language,\n dropdownParent: dropdownParent,\n multiple: this.multiple,\n minimumResultsForSearch: this.isMobile() ? -1 : null\n });\n }\n this.setAndListenSelect2Change();\n\n if (this.multiple && this.getMultiValues().length > 0) {\n this.select2.val(this.getMultiValues()).trigger('change');\n } else {\n this.setValue();\n }\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.pickLayerInputService) {\n this.pickLayerInputService.clear();\n this.pickLayerInputService = null;\n }\n if (this.unwatch) {\n this.unwatch();\n this.unwatch = null;\n }\n\n if (this.filterFieldsUnwatches) {\n this.filterFieldsUnwatches.forEach(function (uw) {\n return uw();\n });\n this.filterFieldsUnwatches = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[(_vm.showPickLayer)?_c('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\":true}},{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],staticClass:\"g3w-input-pick-layer skin-color\",attrs:{\"slot\":\"label-action\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.pickLayerValue($event)}},slot:\"label-action\"},[_c('i',{class:_vm.g3wtemplate.font['crosshairs']})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"}],attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex},slot:\"body\"},[(_vm.filterFields.length > 0 && _vm.isFilterFieldsReady)?_c('div',{staticClass:\"g3w-relation-reference-fields-content\"},[_vm._l((_vm.filterFields),function(rf,index){return [_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('filterFields'),expression:\"'filterFields'\"}],ref:(\"filterField_\" + (rf.id)),refInFor:true,staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"select2_value\":rf.value,\"indexItem\":index,\"id\":rf.id,\"disabled\":rf.disabled}},_vm._l((rf.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])}),0)]}),_vm._v(\" \"),_c('divider')],2):_vm._e(),_vm._v(\" \"),_c('select',{ref:\"select\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"}},[(_vm.showNullOption)?_c('option',{domProps:{\"value\":_vm.select2NullValue}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(ref){\nvar key = ref.key;\nvar value = ref.value;\nreturn _c('option',{key:_vm.getValue(value),domProps:{\"value\":_vm.getValue(value)}},[_vm._v(\"\\n \"+_vm._s(key)+\"\\n \")])})],2)]),_vm._v(\" \"),('error' === _vm.loadingState )?_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('server_error'),expression:\"'server_error'\"}],staticClass:\"error-input-message\",attrs:{\"slot\":\"message\"},slot:\"message\"}):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-6b3d29b0\"\n\n},{\"gui/inputs/input\":12,\"gui/inputs/picklayer/service\":19,\"map/layers/layer\":155,\"mixins\":165,\"services/gui\":173,\"store/application\":178,\"utils/createSingleFieldParameter\":196,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],77:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: 'input-slider-range',\n\n mixins: [Input],\n watch: {\n 'state.input.options.min': function stateInputOptionsMin() {\n this.service.changeInfoMessage();\n },\n 'state.input.options.max': function stateInputOptionsMax() {\n this.service.changeInfoMessage();\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('div',{attrs:{\"slot\":\"body\"},slot:\"body\"},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.state.value))]),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"width\":\"100%\",\"padding-right\":\"5px\"},attrs:{\"slot\":\"body\",\"tabIndex\":_vm.tabIndex,\"min\":_vm.state.input.options.min,\"max\":_vm.state.input.options.max,\"type\":\"range\",\"step\":_vm.state.input.options.step},domProps:{\"value\":(_vm.state.value)},on:{\"change\":_vm.change,\"__r\":function($event){return _vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],78:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-text\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],staticClass:\"form-control\",class:{'input-error-validation' : _vm.notvalid},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"tabIndex\":_vm.tabIndex,\"field\":_vm.state.name,\"id\":_vm.state.name},domProps:{\"value\":(_vm.state.value)},on:{\"keyup\":function($event){_vm.isMobile() ? _vm.mobileChange($event) : _vm.change()},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12}],79:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"textarea[data-v-3ac5abe4]{resize:none;border:1px solid #ccc}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-textarea\",\n\n mixins: [Input]\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{attrs:{\"state\":_vm.state}},[_c('textarea',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.value),expression:\"state.value\"}],class:{'input-error-validation' : _vm.notvalid},staticStyle:{\"max-width\":\"100%\",\"min-width\":\"100%\"},attrs:{\"slot\":\"body\",\"placeholder\":_vm.state.default,\"rows\":\"3\",\"tabIndex\":_vm.tabIndex},domProps:{\"value\":(_vm.state.value)},on:{\"keydown\":function($event){$event.stopPropagation();},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"value\", $event.target.value)},_vm.change],\"change\":_vm.change},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3ac5abe4\"\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],80:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"button.ql-html{width:40px!important}button.ql-html:after{content:\\\"html\\\"}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-html\",\n\n mixins: [Input],\n methods: {\n setupTableCustomTools: function setupTableCustomTools() {\n var buttonColumnLeft = this.$el.querySelector('.ql-column-left');\n buttonColumnLeft.innerHTML = '';\n buttonColumnLeft.title = \"Add column left\";\n\n var buttonColumnRight = this.$el.querySelector('.ql-column-right');\n buttonColumnRight.innerHTML = '';\n buttonColumnRight.title = \"Add column right\";\n\n var buttonColumnRemove = this.$el.querySelector('.ql-column-remove');\n buttonColumnRemove.innerHTML = '';\n buttonColumnRemove.title = \"Remove column\";\n\n var buttonRowAbove = this.$el.querySelector('.ql-row-above');\n buttonRowAbove.innerHTML = '';\n buttonRowAbove.title = \"Add row above\";\n\n\n var buttonRowBelow = this.$el.querySelector('.ql-row-below');\n buttonRowBelow.innerHTML = '';\n buttonRowBelow.title = \"Add row below\";\n\n var buttonRowRemove = this.$el.querySelector('.ql-row-remove');\n buttonRowRemove.innerHTML = '';\n buttonRowRemove.title = \"Remove row\";\n }\n },\n created: function created() {\n this.edit_state = {\n edit: false,\n show_html: false\n };\n\n if (!this.state.edit_states) {\n this.state.edit_states = [];\n }\n this.state.edit_states.push(this.edit_state);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var toolbarOptions = [[{ header: [1, 2, 3, 4, 5, 6, false] }], [{ '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']];\n yield this.$nextTick();\n this.quill = new Quill(this.$refs.quill_editor, {\n modules: {\n table: true,\n toolbar: {\n container: toolbarOptions,\n handlers: {\n html: function html() {\n _this.edit_state.show_html = !_this.edit_state.show_html;\n if (_this.edit_state.show_html) {\n _this.quill.container.firstChild.innerText = _this.quill.container.firstChild.innerHTML;\n } else {\n _this.quill.container.firstChild.innerHTML = _this.quill.container.firstChild.innerText;\n }\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = _this.$el.querySelectorAll('.ql-formats')[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var qlformat = _step.value;\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = qlformat.children[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var child = _step2.value;\n\n if (!child.classList.contains('ql-html')) {\n child.classList.toggle('g3w-disabled');\n } else {\n child.classList.toggle('skin-color');\n }\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n },\n 'column-left': function columnLeft() {\n return _this.table.insertColumnLeft();\n },\n 'column-right': function columnRight() {\n return _this.table.insertColumnRight();\n },\n 'column-remove': function columnRemove() {\n return _this.table.deleteColumn();\n },\n 'row-above': function rowAbove() {\n return _this.table.insertRowAbove();\n },\n 'row-below': function rowBelow() {\n return _this.table.insertRowBelow();\n },\n 'row-remove': function rowRemove() {\n return _this.table.deleteRow();\n }\n }\n\n }\n },\n theme: 'snow'\n });\n this.quill.container.firstChild.innerHTML = this.state.value;\n\n this.table = this.quill.getModule('table');\n this.setupTableCustomTools();\n\n this.handler = function () {\n _this.state.value = _this.edit_state.show_html ? _this.quill.container.firstChild.innerText : _this.quill.container.firstChild.innerHTML;\n _this.edit_state.edit = true;\n _this.change();\n setTimeout(function () {\n return _this.edit_state.edit = false;\n });\n };\n\n this.quill.on('text-change', this.handler);\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n\n watch: {\n 'state.value': function stateValue(value) {\n if (!this.edit_state.edit) {\n if (this.edit_state.show_html) {\n this.quill.container.firstChild.innerText = value;\n } else {\n this.quill.container.firstChild.innerHTML = value;\n }\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n this.quill.off('text-change', this.handler);\n this.handler = null;\n this.quill = null;\n this.edit_state.edit = false;\n this.edit_state.show_html = false;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('div',{ref:\"quill_editor\",staticClass:\"form-control\",style:({border: _vm.novalid ? '1px solid reed' : '1px solid #ccc'}),attrs:{\"slot\":\"body\"},on:{\"keydown\":function($event){$event.stopPropagation();}},slot:\"body\"})])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"vueify/lib/insert-css\":2}],81:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _mixins = require('mixins');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar Input = require('gui/inputs/input');\n\nexports.default = {\n name: \"input-unique\",\n\n mixins: [Input, _mixins.selectMixin],\n data: function data() {\n return { id: 'unique_' + (0, _getUniqueDomId.getUniqueDomId)() };\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n yield this.$nextTick();\n this.select2 = $('#' + this.id).select2({\n dropdownParent: $('#g3w-view-content'),\n tags: this.state.input.options.editable,\n language: this.getLanguage()\n });\n if (null !== this.state.value) {\n this.select2.val(this.state.value).trigger('change');\n }\n this.select2.on('select2:select', function () {\n var _ref2 = _asyncToGenerator(function* (e) {\n var value = e.params.data.$value ? e.params.data.$value : e.params.data.id;\n _this.state.value = 'null' === value ? null : ['integer', 'float', 'bigint'].includes(_this.state.type) ? Number(value) : value;\n\n _this.changeSelect(_this.state.value);\n yield _this.$nextTick();\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }());\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('baseinput',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.editable),expression:\"!editable\"}],attrs:{\"state\":_vm.state}},[_c('select',{staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"slot\":\"body\",\"id\":_vm.id,\"tabIndex\":_vm.tabIndex},slot:\"body\"},[_c('option',{attrs:{\"value\":\"null\"}}),_vm._v(\" \"),_vm._l((_vm.state.input.options.values),function(value){return _c('option',{key:value,domProps:{\"value\":_vm.getValue(value)}},[_vm._v(_vm._s(_vm.getValue(value)))])})],2)])}\n__vue__options__.staticRenderFns = []\n\n},{\"gui/inputs/input\":12,\"mixins\":165,\"utils/getUniqueDomId\":217}],82:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#marker[data-v-70e886b4]{width:15px;height:15px;border:2px solid #ff0;border-radius:10px;background-color:#ff0;opacity:.8}.g3w-map-controls-left-bottom[data-v-70e886b4]{position:absolute;bottom:75px;left:10px;z-index:1}#g3w-map-info[data-v-70e886b4]{position:absolute;top:60px;left:5px;font-weight:700;z-index:100;background:hsla(0,0%,100%,.6);padding:5px;border-radius:3px}#g3w-maps[data-v-70e886b4]{position:relative;width:100%;height:100%}.g3w-map[data-v-70e886b4]{position:absolute;width:100%;height:100%}.g3w-map.show[data-v-70e886b4]{display:block}.g3w-map.hide[data-v-70e886b4]{display:none}#map_footer[data-v-70e886b4]{position:absolute;bottom:0;height:30px;width:100%;display:flex;justify-content:space-between;background-color:hsla(0,0%,100%,.7)}#permalink[data-v-70e886b4]{font-weight:700;font-size:1.2em;padding:5px;cursor:pointer;background-color:#eee}#switch-mouse-coordinate[data-v-70e886b4]{display:flex;height:100%;margin-left:8px;align-items:center;cursor:pointer}#switch-mouse-coordinate span[data-v-70e886b4]{padding:3px}#map_footer_right[data-v-70e886b4]{flex-shrink:0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _copyUrl = require('utils/copyUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'g3w-map',\n\n data: function data() {\n var service = this.$options.service;\n\n return {\n target: this.$options.service.target,\n hidemaps: service.state.hidemaps,\n map_info: service.state.map_info,\n service: service,\n mouse: {\n visible: true,\n switch_icon: false,\n epsg_4326: false,\n tooltip: null\n },\n urlCopied: false,\n mapunit: _application2.default.map.unit\n };\n },\n\n\n computed: {\n version: function version() {\n return 'Powered by G3W-SUITE ' + initConfig.version;\n },\n showmapunits: function showmapunits() {\n return this.service.state.mapunits.length > 1;\n }\n },\n\n methods: {\n showHideControls: function showHideControls() {\n this.service.getMapControls().forEach(function (c) {\n return \"scaleline\" !== c.type && c.control.showHide();\n });\n },\n createCopyMapExtentUrl: function createCopyMapExtentUrl() {\n var _this = this;\n\n var url = new URL(location.href);\n url.searchParams.set('map_extent', this.service.getMapExtent().toString());\n (0, _copyUrl.copyUrl)(url.toString());\n this.urlCopied = !this.urlCopied;\n setTimeout(function () {\n return _this.urlCopied = false;\n }, 5000);\n },\n switchMapsCoordinateTo4326: function switchMapsCoordinateTo4326() {\n this.mouse.epsg_4326 = !this.mouse.epsg_4326;\n this.service.getMapControlByType({ type: 'mouseposition' }).dispatchEvent({\n type: 'change:epsg',\n epsg: this.mouse.epsg_4326 ? 'EPSG:4326' : this.service.getEpsg()\n });\n }\n },\n\n watch: {\n 'mapunit': function mapunit(unit) {\n _application2.default.map.unit = unit;\n this.service.changeScaleLineUnit(unit);\n }\n },\n\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.crs = this.service.getCrs();\n\n yield this.$nextTick();\n\n this.service.onafter('addHideMap', _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref3.ratio,\n _ref3$layers = _ref3.layers,\n layers = _ref3$layers === undefined ? [] : _ref3$layers,\n _ref3$mainview = _ref3.mainview,\n mainview = _ref3$mainview === undefined ? false : _ref3$mainview,\n _ref3$switchable = _ref3.switchable,\n switchable = _ref3$switchable === undefined ? false : _ref3$switchable;\n\n yield _this2.$nextTick();\n _this2.service._addHideMap({ ratio: ratio, layers: layers, mainview: mainview, switchable: switchable });\n }));\n\n this.service.once('ready', function () {\n if (_this2.service.getMapControlByType({ type: 'mouseposition' })) {\n _this2.mouse.switch_icon = _this2.service.getMapControlByType({ type: 'mouseposition' }) && 'EPSG:4326' !== _this2.service.getEpsg();\n _this2.mouse.tooltip = 'ESPG ' + _this2.service.getCrs().split(':')[1] + ' \\u2194 WGS84';\n } else {\n _this2.mouse.visible = false;\n }\n });\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n destroyed: function destroyed() {\n this.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"g3w-maps\"}},[_vm._l((_vm.hidemaps),function(hidemap){return _c('div',{key:hidemap.id,staticClass:\"g3w-map hidemap\",attrs:{\"id\":hidemap.id}})}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map\",attrs:{\"id\":_vm.target}},[_c('div',{ref:\"g3w-map-controls\",staticClass:\"g3w-map-controls rv\",staticStyle:{\"display\":\"flex\"}}),_vm._v(\" \"),(_vm.map_info.info)?_c('div',{ref:\"g3w-map-info\",style:(_vm.map_info.style),attrs:{\"id\":\"g3w-map-info\"}},[_vm._v(\"\\n \"+_vm._s(_vm.map_info.info)+\"\\n \")]):_vm._e(),_vm._v(\" \"),_vm._m(0),_vm._v(\" \"),_c('div',{staticClass:\"g3w-map-controls-left-bottom\"})]),_vm._v(\" \"),_c('div',{staticClass:\"skin-border-color\",attrs:{\"id\":\"map_footer\"}},[_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_left\"}},[_c('a',{staticStyle:{\"margin-left\":\"5px\",\"align-self\":\"center\"},attrs:{\"href\":\"https://g3wsuite.it/\",\"target\":\"_blank\",\"title\":_vm.version}},[_c('img',{attrs:{\"height\":\"15\",\"src\":\"/static/client/images/g3wsuite_logo.png\",\"alt\":\"\"}})])]),_vm._v(\" \"),_c('div',{staticStyle:{\"display\":\"flex\"},attrs:{\"id\":\"map_footer_right\"}},[(_vm.mouse.visible && _vm.mouse.switch_icon && !_vm.isMobile())?_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.mouse.tooltip),expression:\"mouse.tooltip\",arg:\"top\",modifiers:{\"create\":true}}],attrs:{\"id\":\"switch-mouse-coordinate\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.switchMapsCoordinateTo4326($event)}}},[_c('span',{staticClass:\"skin-color-dark hide-cursor-caret-color\",class:_vm.$fa('mouse')})]):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.mouse.visible),expression:\"mouse.visible\"}],attrs:{\"id\":\"mouse-position-control\"}}),_vm._v(\" \"),_c('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\":true}}],staticClass:\"skin-color-dark\",class:( _obj = {}, _obj[_vm.$fa('link')] = !_vm.urlCopied, _obj[_vm.$fa('success')] = _vm.urlCopied, _obj ),attrs:{\"id\":\"permalink\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.createCopyMapExtentUrl($event)}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"scale-control\"}}),_vm._v(\" \"),(_vm.showmapunits)?_c('div',{attrs:{\"id\":\"scale-line-units\"}},[_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.mapunit),expression:\"mapunit\"}],staticClass:\"skin-color-dark\",staticStyle:{\"padding\":\"5px 2px\",\"font-weight\":\"bold\",\"border\":\"0\",\"cursor\":\"pointer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.mapunit=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},_vm._l((_vm.service.state.mapunits),function(unit){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.mapcontrols.scaleline.units.\" + unit)),expression:\"`sdk.mapcontrols.scaleline.units.${unit}`\"}],staticStyle:{\"font-weight\":\"bold\"},domProps:{\"value\":unit,\"selected\":_vm.mapunit === unit}})}),0)]):_vm._e()])])],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"display\":\"none\"}},[_c('div',{attrs:{\"id\":\"marker\"}})])}]\n__vue__options__._scopeId = \"data-v-70e886b4\"\n\n},{\"store/application\":178,\"utils/copyUrl\":190,\"vueify/lib/insert-css\":2}],83:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#addcustomlayer[data-v-2e549814]{margin:10px 0;position:relative;border:2px dashed #97a1a8}#addcustomlayer h4[data-v-2e549814],#addcustomlayer p[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8;font-family:Arial}#addcustomlayer div[data-v-2e549814]{text-align:center;line-height:30px;color:#97a1a8}#addcustomlayer input[data-v-2e549814]{position:absolute;margin:0;padding:0;width:100%;height:100%;outline:none;opacity:0;cursor:pointer}.g3w-add-wms-url-message[data-v-2e549814]{font-weight:700;color:#000}.g3w-wmsurl-error[data-v-2e549814]{background-color:red}.g3w-wmsurl-already-added[data-v-2e549814]{color:inherit;font-weight:400;display:inline-block}#add_custom_url_wms_input[data-v-2e549814]::placeholder{font-size:85%;opacity:.5}.wms-icon-action[data-v-2e549814]{font-weight:700;font-size:1.3em;cursor:pointer}.g3w-wms-panel-title[data-v-2e549814]{font-size:1.2em;font-weight:700;margin-bottom:10px}button.wms-add-layer-button[data-v-2e549814]{width:100%;margin-top:10px}.g3w-wms-external-panel-layer-added-message[data-v-2e549814]{font-weight:700;color:red;margin:5px 0}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _vueColor = require('vue-color');\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toArray(arr) { return Array.isArray(arr) ? arr : Array.from(arr); }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SUPPORTED_FORMAT = ['zip', 'geojson', 'GEOJSON', 'kml', 'kmz', 'KMZ', 'KML', 'json', 'gpx', 'gml', 'csv'];\n\nexports.default = {\n name: 'map-add-layer',\n\n data: function data() {\n\n var crs = _application2.default.project.getProjection().getCode();\n\n if (!_g3wConstants.EPSG.includes(crs)) {\n _g3wConstants.EPSG.unshift(crs);\n }\n\n return {\n layer_type: undefined,\n wms_panel: false,\n adminwmsurls: this.$options.wmsurls || _application2.default.project.wmsurls || [],\n localwmsurls: [],\n url: null,\n id: null,\n status: { error: false, added: false },\n vectorLayer: null,\n options: _g3wConstants.EPSG,\n error_message: '',\n position: 'top',\n persistent: false,\n loading: false,\n fields: [],\n field: null,\n accepted_extension: SUPPORTED_FORMAT.map(function (f) {\n return '.' + f;\n }).join(','),\n csv: {\n valid: false,\n loading: false,\n headers: [],\n x: null,\n y: null,\n separators: [',', ';'],\n separator: ','\n },\n layer: {\n name: null,\n type: null,\n crs: null,\n mapCrs: null,\n color: {\n hex: '#194d33',\n rgba: {\n r: 25,\n g: 77,\n b: 51,\n a: 1\n },\n a: 1\n },\n data: null,\n visible: true,\n title: null,\n id: null,\n external: true\n },\n name: undefined,\n title: null,\n abstract: null,\n map_formats: [],\n info_formats: [],\n methods: [],\n layers: [],\n selectedlayers: [],\n projections: [],\n epsg: null,\n added: false };\n },\n\n\n components: {\n 'chrome-picker': _vueColor.Chrome\n },\n\n computed: {\n csv_extension: function csv_extension() {\n return 'csv' === this.layer.type;\n },\n add: function add() {\n return this.layer.data || this.csv.valid;\n },\n inputswmsurlvalid: function inputswmsurlvalid() {\n return this.url !== null && this.url.trim() && this.url && this.url.match(/(http(s)?:\\/\\/.)?(www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_\\+.~#?&//=]*)/g) && this.id !== null && this.id.trim();\n }\n },\n\n methods: {\n onChangeColor: function onChangeColor(val) {\n this.layer.color = val;\n },\n onChangeFile: function () {\n var _ref = _asyncToGenerator(function* (evt) {\n var _this = this;\n\n var reader = new FileReader();\n var name = evt.target.files[0].name;\n var type = name.split('.').at(-1).toLowerCase();\n var input_file = $(this.$refs.input_file);\n\n if (!SUPPORTED_FORMAT.includes(type)) {\n this.error_message = 'sdk.errors.unsupported_format';\n return;\n }\n\n this.error_message = '';\n\n this.layer.mapCrs = _gui2.default.getService('map').getEpsg();\n this.layer.name = name;\n this.layer.title = name;\n this.layer.id = name;\n this.layer.type = type;\n this.layer.data = yield new Promise(function (resolve) {\n if (['zip', 'kmz'].includes(_this.layer.type)) {\n _this.layer.crs = 'EPSG:4326';\n var data = evt.target.files[0];\n input_file.val(null);\n return resolve(data);\n }\n\n reader.onload = function (evt) {\n if ('csv' === _this.layer.type) {\n input_file.val(null);\n\n var _evt$target$result$sp = evt.target.result.split(/\\r\\n|\\n/).filter(function (row) {\n return row;\n }),\n _evt$target$result$sp2 = _toArray(_evt$target$result$sp),\n headers = _evt$target$result$sp2[0],\n values = _evt$target$result$sp2.slice(1);\n\n var handle_csv_headers = function handle_csv_headers(separator) {\n _this.csv.loading = true;\n var csv_headers = headers.split(separator);\n var len = csv_headers.length;\n _this.csv.headers = len > 1 ? csv_headers : [];\n _this.csv.fields = len > 1 ? csv_headers : [];\n _this.csv.x = len > 1 ? csv_headers[0] : _this.csv.x;\n _this.csv.y = len > 1 ? csv_headers[1] : _this.csv.y;\n _this.vectorLayer = len > 1 ? _this.vectorLayer : null;\n _this.csv.valid = len > 1;\n if (len <= 1) {\n _this.fields.splice(0);\n }\n _this.csv.loading = false;\n return len > 1 ? {\n headers: csv_headers,\n separator: separator,\n x: _this.csv.x,\n y: _this.csv.y,\n values: values\n } : null;\n };\n _this.$watch('csv.separator', function (s) {\n return _this.layer.data = handle_csv_headers(s);\n });\n return resolve(handle_csv_headers(_this.csv.separator));\n }\n\n var data = evt.target.result;\n input_file.val(null);\n resolve(data);\n };\n reader.readAsText(evt.target.files[0]);\n });\n\n if ('csv' === this.layer.type) {\n return;\n }\n\n (this.fields || []).splice(0);\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield this.$nextTick();\n } catch (e) {\n console.warn(e);\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n if (this.vectorLayer) {\n this.fields = this.vectorLayer.get('_fields');\n }\n });\n\n function onChangeFile(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onChangeFile;\n }(),\n addLayer: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (!(this.layer.data || this.csv.valid)) {\n return;\n }\n\n try {\n yield _projections2.default.registerProjection(this.layer.crs);\n } catch (e) {\n this.error_message = 'sdk.errors.' + e;\n console.warn(e);\n return;\n }\n\n this.loading = true;\n\n try {\n this.vectorLayer = yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)(this.layer);\n yield _gui2.default.getService('map').addExternalLayer(this.vectorLayer, {\n crs: this.layer.crs,\n type: this.layer.type,\n position: this.position,\n color: this.layer.color,\n field: this.field,\n persistent: !!this.persistent\n });\n $(this.$refs.modal_addlayer).modal('hide');\n this.clearFile();\n } catch (e) {\n this.error_message = 'sdk.errors.add_external_layer';\n }\n\n this.loading = false;\n });\n\n function addLayer() {\n return _ref2.apply(this, arguments);\n }\n\n return addLayer;\n }(),\n clearFile: function clearFile() {\n this.error_message = '';\n this.loading = false;\n this.layer.name = null;\n this.layer.title = null;\n this.layer.id = null;\n this.layer.type = null;\n this.layer.crs = _gui2.default.getService('map').getCrs();\n this.layer.color = { hex: '#194d33', rgba: { r: 25, g: 77, b: 51, a: 1 }, a: 1 };\n this.layer.data = null;\n this.vectorLayer = null;\n this.fields = [];\n this.field = null;\n this.csv.valid = false;\n },\n clearPanel: function clearPanel() {\n this.wms_panel = false;\n this.selectedlayers = [];\n this.name = null;\n this.loading = false;\n },\n addNewUrl: function () {\n var _ref3 = _asyncToGenerator(function* (wms) {\n var found = this.localwmsurls.find(function (l) {\n return l.url == wms.url || l.id == wms.id;\n });\n var status = { error: false, added: !!found };\n\n if (!found) {\n try {\n var response = yield this.getWMSLayers(wms.url);\n\n if (!response.result) {\n throw 'invalid response';\n }\n var data = this.getLocalWMSData();\n this.localwmsurls.push(wms);\n data.urls = this.localwmsurls;\n this.updateLocalWMSData(data);\n response.wmsurl = wms.url;\n this._showWmsLayersPanel(response);\n } catch (e) {\n console.warn(e);\n status.error = true;\n }\n }\n return status;\n });\n\n function addNewUrl(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return addNewUrl;\n }(),\n addwmsurl: function () {\n var _ref4 = _asyncToGenerator(function* () {\n this.loading = true;\n\n var _ref5 = yield this.addNewUrl({ url: this.url, id: this.id }),\n error = _ref5.error,\n added = _ref5.added;\n\n this.status.error = error;\n this.status.added = added;\n this.loading = false;\n });\n\n function addwmsurl() {\n return _ref4.apply(this, arguments);\n }\n\n return addwmsurl;\n }(),\n deleteWmsUrl: function deleteWmsUrl(id) {\n this.localwmsurls = this.localwmsurls.filter(function (l) {\n return id !== l.id;\n });\n var data = this.getLocalWMSData();\n data.urls = this.localwmsurls;\n this.updateLocalWMSData(data);\n },\n _addExternalWMSLayer: function _addExternalWMSLayer() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref6.url,\n layers = _ref6.layers,\n name = _ref6.name,\n _ref6$epsg = _ref6.epsg,\n epsg = _ref6$epsg === undefined ? _gui2.default.getService('map').getEpsg() : _ref6$epsg,\n _ref6$position = _ref6.position,\n position = _ref6$position === undefined ? 'top' : _ref6$position,\n opacity = _ref6.opacity,\n _ref6$visible = _ref6.visible,\n visible = _ref6$visible === undefined ? true : _ref6$visible;\n\n var map = _gui2.default.getService('map');\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var projection = ol.proj.get(epsg);\n\n var promise = new Promise(function (res, rej) {\n var wmslayer = new RasterLayer({ id: name || (0, _getUniqueDomId.getUniqueDomId)(), layers: layers, projection: projection, url: url });\n var olLayer = wmslayer.getOLLayer();\n olLayer.getSource().once('imageloadend', res);\n olLayer.getSource().once('imageloaderror', rej);\n map.addExternalLayer(wmslayer, { position: position, opacity: opacity, visible: visible });\n });\n\n return promise;\n },\n addWMSlayer: function () {\n var _ref7 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref8.url,\n _ref8$name = _ref8.name,\n name = _ref8$name === undefined ? 'wms_' + (0, _getUniqueDomId.getUniqueDomId)() : _ref8$name,\n _ref8$layers = _ref8.layers,\n layers = _ref8$layers === undefined ? [] : _ref8$layers,\n epsg = _ref8.epsg,\n position = _ref8.position,\n _ref8$visible = _ref8.visible,\n visible = _ref8$visible === undefined ? true : _ref8$visible,\n _ref8$opacity = _ref8.opacity,\n opacity = _ref8$opacity === undefined ? 1 : _ref8$opacity;\n\n try {\n var data = this.getLocalWMSData();\n\n if (this.wms_panel) {\n var wms = data.wms[this.url];\n this.added = wms && wms.some(function (w) {\n return w.layers.length === _this2.selectedlayers.length ? _this2.selectedlayers.every(function (l) {\n return w.layers.includes(l);\n }) : undefined;\n });\n if (this.added) {\n console.warn('WMS Layer already added');\n return;\n }\n this.loading = true;\n }\n\n var config = { url: url, name: name, layers: layers, epsg: epsg, position: position, visible: visible, opacity: opacity };\n\n if (undefined === data.wms[url]) {\n data.wms[url] = [config];\n } else {\n data.wms[url].push(config);\n }\n\n this.updateLocalWMSData(data);\n\n try {\n yield this._addExternalWMSLayer(config);\n } catch (e) {\n console.warn(e);\n _gui2.default.getService('map').removeExternalLayer(name);\n this.deleteWms(name);\n setTimeout(function () {\n _gui2.default.showUserMessage({ type: 'warning', message: 'sidebar.wms.layer_add_error' });\n });\n }\n } catch (e) {\n console.warn(e);\n }\n if (this.wms_panel) {\n this.clearPanel();\n $('#modal-addlayer').modal('hide');\n }\n });\n\n function addWMSlayer() {\n return _ref7.apply(this, arguments);\n }\n\n return addWMSlayer;\n }(),\n getWMSLayers: function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n try {\n return yield _data2.default.getData('ows:wmsCapabilities', { inputs: { url: url }, outputs: false });\n } catch (e) {\n console.warn(e);\n }\n return {\n result: false,\n layers: [],\n info_formats: [],\n abstract: null,\n methods: [],\n map_formats: [],\n title: null\n };\n });\n\n function getWMSLayers(_x5) {\n return _ref9.apply(this, arguments);\n }\n\n return getWMSLayers;\n }(),\n _showWmsLayersPanel: function _showWmsLayersPanel() {\n var _this3 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.wms_panel = true;\n this.wms_config = config;\n var _wms_config = this.wms_config,\n layers = _wms_config.layers,\n title = _wms_config.title,\n abstract = _wms_config.abstract,\n methods = _wms_config.methods,\n wmsurl = _wms_config.wmsurl;\n\n try {\n this.url = methods.GetMap.urls.find(function (u) {\n return 'Get' === u.type;\n }).url;\n } catch (e) {\n console.warn(e);\n this.url = wmsurl;\n }\n\n this.title = title;\n\n this.abstract = abstract;\n\n this.layerProjections = {};\n\n layers.forEach(function (_ref10) {\n var name = _ref10.name,\n crss = _ref10.crss,\n title = _ref10.title;\n\n _this3.layerProjections[name] = {\n title: title,\n crss: crss.map(function (crs) {\n _projections2.default.get(crs);return 'EPSG:' + crs.epsg;\n }).sort()\n };\n });\n\n this.layers = layers;\n },\n showWmsLayersPanel: function () {\n var _ref11 = _asyncToGenerator(function* (url) {\n var error = false;\n var added = false;\n try {\n this.loading = true;\n var d = yield this.getWMSLayers(url);\n error = !d.result;\n if (!error) {\n d.wmsurl = url;\n this._showWmsLayersPanel(d);\n }\n } catch (e) {\n console.warn(e);\n } finally {\n this.status.error = error;\n this.status.added = added;\n this.loading = false;\n }\n });\n\n function showWmsLayersPanel(_x7) {\n return _ref11.apply(this, arguments);\n }\n\n return showWmsLayersPanel;\n }(),\n deleteWms: function deleteWms(name) {\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (w) {\n return w.name == name;\n });\n\n if (-1 !== i) {\n data.wms[url].splice(i, 1);\n }\n\n if (-1 !== i && 0 == data.wms[url].length) {\n delete data.wms[url];\n }\n return true;\n });\n this.updateLocalWMSData(data);\n },\n changeLayerData: function changeLayerData(name) {\n var attr = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var data = this.getLocalWMSData();\n Object.keys(data.wms).find(function (url) {\n var i = data.wms[url].findIndex(function (l) {\n return l.name == name;\n });\n if (-1 !== i) {\n data.wms[url][i][attr.key] = attr.value;\n return true;\n }\n });\n this.updateLocalWMSData(data);\n },\n getLocalWMSData: function getLocalWMSData() {\n var item = window.localStorage.getItem('externalwms');\n return ((item ? JSON.parse(item) : undefined) || {})[_application2.default.project.getId()];\n },\n updateLocalWMSData: function updateLocalWMSData(data) {\n var item = window.localStorage.getItem('externalwms');\n var alldata = (item ? JSON.parse(item) : undefined) || {};\n alldata[_application2.default.project.getId()] = data;\n try {\n window.localStorage.setItem('externalwms', JSON.stringify(alldata));\n } catch (e) {\n console.warn(e);\n }\n }\n },\n\n watch: {\n 'csv.x': function csvX(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.x = value;\n }\n },\n 'csv.y': function csvY(value) {\n if (![undefined, null].includes(value)) {\n this.layer.data.y = value;\n }\n },\n selectedlayers: function selectedlayers() {\n var _this4 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n if (0 === layers.length) {\n this.epsg = null;\n this.projections = [];\n } else if (1 === layers.length) {\n this.epsg = this.layerProjections[layers[0]].crss[0];\n this.projections = this.layerProjections[layers[0]].crss;\n } else {\n var name = layers[layers.length - 1];\n this.projections = this.projections.filter(function (p) {\n return _this4.layerProjections[name].crss.includes(p);\n });\n }\n },\n epsg: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n yield this.$nextTick();\n\n this.layers = null === this.epsg ? this.wms_config.layers : this.layers.filter(function (_ref13) {\n var name = _ref13.name;\n return _this5.layerProjections[name].crss.includes(_this5.epsg);\n });\n });\n\n function epsg() {\n return _ref12.apply(this, arguments);\n }\n\n return epsg;\n }(),\n layer_type: function layer_type(type) {\n if ('file' == type) {\n this.clearPanel();\n }\n }\n },\n\n created: function created() {\n this.layer.crs = _application2.default.project.getProjection().getCode();\n },\n mounted: function () {\n var _ref14 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n yield this.$nextTick();\n\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').on('hide.bs.modal', function () {\n _this6.layer_type = undefined;\n _this6.clearFile();\n _this6.clearPanel();\n });\n\n yield _gui2.default.isReady();\n\n var map = _gui2.default.getService('map');\n\n yield map.isReady();\n\n this.deleteWms = this.deleteWms.bind(this);\n\n map.on('remove-external-layer', this.deleteWms);\n\n var data = this.getLocalWMSData();\n\n if (undefined === data) {\n data = {\n urls: [],\n wms: {} };\n this.updateLocalWMSData(data);\n }\n\n setTimeout(function () {\n map.on('change-layer-position-map', function () {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref15.id,\n position = _ref15.position;\n\n return _this6.changeLayerData(name, { key: 'position', value: position });\n });\n map.on('change-layer-opacity', function () {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref16.id,\n opacity = _ref16.opacity;\n\n return _this6.changeLayerData(name, { key: 'opacity', value: opacity });\n });\n map.on('change-layer-visibility', function () {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref17.id,\n visible = _ref17.visible;\n\n return _this6.changeLayerData(name, { key: 'visible', value: visible });\n });\n\n Object.keys(data.wms).forEach(function (url) {\n data.wms[url].forEach(function (d) {\n return _this6._addExternalWMSLayer(_extends({ url: url }, d));\n });\n });\n });\n\n this.localwmsurls = data.urls;\n });\n\n function mounted() {\n return _ref14.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.clearFile();\n this.clearPanel();\n $('#modal-addlayer').modal('hide');\n $('#modal-addlayer').remove();\n\n _gui2.default.getService('map').off('remove-external-layer', this.deleteWms);\n this.$data = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"modal_addlayer\",staticClass:\"modal fade\",attrs:{\"id\":\"modal-addlayer\",\"role\":\"dialog\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\"},[_c('div',{staticClass:\"modal-content\"},[_c('div',{staticClass:\"modal-header\"},[_c('button',{staticClass:\"close\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}},[_vm._v(\"×\")]),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.header'),expression:\"'mapcontrols.add_layer_control.header'\"}],staticClass:\"modal-title\",staticStyle:{\"font-weight\":\"bold\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_type'),expression:\"'layer_type'\"}]}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer_type),expression:\"layer_type\"}],staticClass:\"form-control\",attrs:{\"id\":\"add-layer-type\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.layer_type=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('choose_type'),expression:\"'choose_type'\"}],attrs:{\"disabled\":\"\"},domProps:{\"value\":undefined}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('remote_wms_url'),expression:\"'remote_wms_url'\"}],attrs:{\"value\":\"wms\"}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('local_file'),expression:\"'local_file'\"}],attrs:{\"value\":\"file\"}})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading}}),_vm._v(\" \"),('wms' === _vm.layer_type)?[(!_vm.wms_panel)?_c('div',[_c('div',{staticClass:\"form-group\"},[_vm._m(0),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#wms\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.url),expression:\"url\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"100%\",\"color\":\"#000000\"},attrs:{\"id\":\"add_custom_url_wms_input\",\"placeholder\":\"http://example.org/?&service=WMS&request=GetCapabilities\"},domProps:{\"value\":(_vm.url)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.url=$event.target.value}}})]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"add_custom_name_url_wms_input\",\"title\":\"required\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}]}),_vm._v(\" \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.id),expression:\"id\"}],staticClass:\"form-control\",staticStyle:{\"width\":\"100%\",\"color\":\"#000000\"},attrs:{\"id\":\"add_custom_name_url_wms_input\"},domProps:{\"value\":(_vm.id)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.id=$event.target.value}}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.inputswmsurlvalid),expression:\"!inputswmsurlvalid\"}],staticClass:\"btn btn-block skin-background-color\",staticStyle:{\"width\":\"100%\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();return _vm.addwmsurl($event)}}},[_c('b',{class:_vm.$fa('plus-square')})]),_vm._v(\" \"),_vm._l((_vm.adminwmsurls),function(ref){\nvar id = ref.id;\nreturn _c('div',{key:_vm.wmsurl,staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('span',{staticStyle:{\"flex-grow\":\"1\"}},[_vm._v(_vm._s(id))]),_vm._v(\" \"),_c('b',{class:_vm.$fa('plus-square'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"5px\",\"font-size\":\"1.3em\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showWmsLayersPanel(id)}}})])}),_vm._v(\" \"),_vm._l((_vm.localwmsurls),function(ref){\nvar id = ref.id;\nvar url = ref.url;\nreturn _c('div',{key:id,staticStyle:{\"border-bottom\":\"1px solid #ccc\",\"padding-bottom\":\"3px\"}},[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"padding-top\":\"3px\"}},[_c('b',{staticStyle:{\"flex-grow\":\"1\"}},[_vm._v(_vm._s(id))]),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.add_wms_layer'),expression:\"'sidebar.wms.add_wms_layer'\",arg:\"top\",modifiers:{\"create\":true}}],class:'wms-icon-action ' + _vm.$fa('plus-square'),staticStyle:{\"color\":\"var(--skin-color)\",\"padding\":\"3px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showWmsLayersPanel(url)}}}),_vm._v(\" \"),_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sidebar.wms.delete_wms_url'),expression:\"'sidebar.wms.delete_wms_url'\",arg:\"top\",modifiers:{\"create\":true}}],class:'wms-icon-action ' + _vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"padding\":\"3px\",\"margin\":\"2px\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.deleteWmsUrl(id)}}})]),_vm._v(\" \"),_c('small',[_vm._v(_vm._s(url))])])})],2):(_vm.wms_panel)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.loading),expression:\"loading\"}]},[_c('h3',{staticClass:\"skin-color g3w-wms-panel-title\"},[_vm._v(_vm._s(_vm.title))]),_vm._v(\" \"),(_vm.abstract)?_c('fieldset',{staticClass:\"form-group\",staticStyle:{\"border\":\"1px solid #c0c0c0\",\"padding\":\"4.9px 8.75px 8.75px 10.5px\",\"border-radius\":\"3px\"}},[_c('legend',{staticStyle:{\"width\":\"15px\",\"height\":\"15px\",\"border\":\"1px solid\",\"border-radius\":\"50%\",\"background-color\":\"#222d32\",\"font-weight\":\"bold\",\"color\":\"#fff\",\"font-size\":\"0.7em\",\"text-align\":\"center\",\"margin\":\"0 -14px\",\"user-select\":\"none\"}},[_vm._v(\"i\")]),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.abstract),expression:\"abstract\"}]})]):_vm._e(),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.layers'),expression:\"'sidebar.wms.panel.label.layers'\"}],attrs:{\"for\":\"g3w-wms-layers\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('selectedlayers'),expression:\"'selectedlayers'\"}],attrs:{\"id\":\"g3w-wms-layers\",\"multiple\":true,\"clear\":true}},_vm._l((_vm.layers),function(layer){return _c('option',{key:layer.name,domProps:{\"value\":layer.name}},[_vm._v(_vm._s(layer.title))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.projections'),expression:\"'sidebar.wms.panel.label.projections'\"}],attrs:{\"for\":\"g3w-wms-projections\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('epsg'),expression:\"'epsg'\"}],attrs:{\"id\":\"g3w-wms-projections\"}},_vm._l((_vm.projections),function(proj){return _c('option',{key:proj,domProps:{\"value\":proj}},[_vm._v(_vm._s(proj))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.panel.label.name'),expression:\"'sidebar.wms.panel.label.name'\"}],attrs:{\"for\":\"g3w-wms-layer-name\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.name),expression:\"name\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-wms-layer-name\"},domProps:{\"value\":(_vm.name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.name=$event.target.value}}}),_vm._v(\" \"),(_vm.added)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sidebar.wms.layer_id_already_added'),expression:\"'sidebar.wms.layer_id_already_added'\"}],staticClass:\"g3w-wms-external-panel-layer-added-message\"}):_vm._e()]):_vm._e()]:('file' === _vm.layer_type)?[_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(['kmz', 'zip'].includes(_vm.layer.type)),expression:\"['kmz', 'zip'].includes(layer.type)\"}],staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_projection'),expression:\"'mapcontrols.add_layer_control.select_projection'\"}],attrs:{\"for\":\"projection-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.layer.crs),expression:\"layer.crs\"}],staticClass:\"form-control\",attrs:{\"id\":\"projection-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.layer, \"crs\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.options),function(option){return _c('option',{domProps:{\"value\":option}},[_vm._v(_vm._s(option))])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.message'),expression:\"'layer_position.message'\"}],attrs:{\"for\":\"position-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.position),expression:\"position\"}],staticClass:\"form-control\",attrs:{\"id\":\"position-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.position=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.top'),expression:\"'layer_position.top'\"}],domProps:{\"value\":'top'}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('layer_position.bottom'),expression:\"'layer_position.bottom'\"}],domProps:{\"value\":'bottom'}})])]),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_data'),expression:\"'mapcontrols.add_layer_control.persistent_data'\"}],attrs:{\"for\":\"persistent-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.persistent),expression:\"persistent\"}],staticClass:\"form-control\",attrs:{\"id\":\"persistent-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.persistent=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('no'),expression:\"'no'\"}],domProps:{\"value\":false}}),_vm._v(\" \"),_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:('yes'),expression:\"'yes'\"}],domProps:{\"value\":true}})]),_vm._v(\" \"),_c('small',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.persistent_help'),expression:\"'mapcontrols.add_layer_control.persistent_help'\"}]})]),_vm._v(\" \"),_c('p',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_color'),expression:\"'mapcontrols.add_layer_control.select_color'\"}],staticStyle:{\"font-weight\":\"700\"}}),_vm._v(\" \"),_c('chrome-picker',{staticStyle:{\"width\":\"100%\",\"margin\":\"auto\"},on:{\"input\":_vm.onChangeColor},model:{value:(_vm.layer.color),callback:function ($$v) {_vm.$set(_vm.layer, \"color\", $$v)},expression:\"layer.color\"}}),_vm._v(\" \"),_c('form',{attrs:{\"id\":\"addcustomlayer\"}},[_c('input',{ref:\"input_file\",attrs:{\"type\":\"file\",\"title\":\" \",\"accept\":_vm.accepted_extension},on:{\"change\":function($event){return _vm.onChangeFile($event)}}}),_vm._v(\" \"),_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.drag_layer'),expression:\"'mapcontrols.add_layer_control.drag_layer'\"}]}),_vm._v(\" \"),(_vm.layer.name)?_c('h4',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(_vm.layer.name))]):_vm._e(),_vm._v(\" \"),_c('div',[_c('i',{staticClass:\"fa-5x\",class:_vm.g3wtemplate.getFontClass('cloud-upload'),attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),_c('p',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(\"[.gml, .geojson, .kml, .kmz ,.gpx, .csv, .zip(shapefile)]\")])]),_vm._v(\" \"),(_vm.csv_extension)?_c('div',{staticStyle:{\"padding\":\"15px\",\"border\":\"1px solid grey\",\"border-radius\":\"3px\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.csv.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"select_field\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_separator'),expression:\"'mapcontrols.add_layer_control.select_csv_separator'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv.separator),expression:\"csv.separator\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-separator\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.csv, \"separator\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.separators),function(separator){return _c('option',{key:separator,domProps:{\"value\":separator}},[_vm._v(_vm._s(separator))])}),0),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_x_field'),expression:\"'mapcontrols.add_layer_control.select_csv_x_field'\"}],attrs:{\"for\":\"g3w-select-x-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv.x),expression:\"csv.x\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-x-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.csv, \"x\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.csv.headers || 0 === _vm.csv.headers.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_csv_y_field'),expression:\"'mapcontrols.add_layer_control.select_csv_y_field'\"}],attrs:{\"for\":\"g3w-select-y-field\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.csv.y),expression:\"csv.y\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-y-field\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.$set(_vm.csv, \"y\", $event.target.multiple ? $$selectedVal : $$selectedVal[0])}}},_vm._l((_vm.csv.headers),function(header){return _c('option',{key:header,domProps:{\"value\":header}},[_vm._v(_vm._s(header))])}),0)])])],1):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"select_field\",class:{ 'g3w-disabled': !_vm.fields || 0 === _vm.fields.length }},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.add_layer_control.select_field_to_show'),expression:\"'mapcontrols.add_layer_control.select_field_to_show'\"}],attrs:{\"for\":\"g3w-select-field-layer\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.field),expression:\"field\"}],staticClass:\"form-control\",attrs:{\"id\":\"g3w-select-field-layer\"},on:{\"change\":function($event){var $$selectedVal = Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = \"_value\" in o ? o._value : o.value;return val}); _vm.field=$event.target.multiple ? $$selectedVal : $$selectedVal[0]}}},[_c('option',{domProps:{\"value\":null}},[_vm._v(\"---\")]),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field,domProps:{\"value\":field}},[_vm._v(_vm._s(field))])})],2)])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\"},[(_vm.error_message)?_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.error_message),expression:\"error_message\"}],staticStyle:{\"font-weight\":\"bold\",\"font-size\":\"1.2em\",\"background-color\":\"orange\",\"padding\":\"10px\",\"text-align\":\"center\"}}):_vm._e(),_vm._v(\" \"),(_vm.status.error)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-error\"},[_vm._v(_vm._s(_vm.$t('server_error')))]):(_vm.status.added)?_c('div',{staticClass:\"g3w-add-wms-url-message g3w-wmsurl-already-added\"},[_vm._v(\"⚠️ \"+_vm._s(_vm.$t('sidebar.wms.url_already_added')))]):_vm._e(),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}}),_vm._v(\" \"),('wms' === _vm.layer_type && _vm.wms_panel)?_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.selectedlayers.length),expression:\"0 === selectedlayers.length\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();_vm.addWMSlayer({ url: _vm.url, position: _vm.position, epsg: _vm.epsg, layers: _vm.selectedlayers, name: _vm.name && _vm.name.trim() || undefined })}}}):_vm._e(),_vm._v(\" \"),('file' === _vm.layer_type)?_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"}],staticClass:\"btn btn-success\",attrs:{\"type\":\"button\",\"disabled\":!_vm.add},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayer($event)}}}):_vm._e()])])])])}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{attrs:{\"for\":\"add_custom_url_wms_input\",\"title\":\"required\"}},[_vm._v(\"\\n URL \"),_c('i',{staticStyle:{\"font-family\":\"Monospace\",\"color\":\"var(--skin-color)\"}},[_vm._v(\"*\")])])}]\n__vue__options__._scopeId = \"data-v-2e549814\"\n\n},{\"g3w-constants\":125,\"map/layers/imagelayer\":154,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/createVectorLayerFromFile\":197,\"utils/getUniqueDomId\":217,\"vue-color\":\"vue-color\",\"vueify/lib/insert-css\":2}],84:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li[data-v-547bdae4]:not(.skin-background-color){display:flex;align-items:center;gap:10px}li.gcd-icon-poi .gcd-city[data-v-547bdae4],li.gcd-icon-poi .gcd-country[data-v-547bdae4],li.gcd-icon-poi .gcd-road[data-v-547bdae4],li.gcd-icon-road .gcd-icon[data-v-547bdae4],li.gcd-icon-road .gcd-name[data-v-547bdae4],li.gcd-icon-road .gcd-type[data-v-547bdae4]{display:none}#gcd-search[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;border-radius:0;background-color:var(--skin-color,#fff)}#gcd-trash[data-v-547bdae4],#markers-visibility-layer[data-v-547bdae4],#show-markers-results[data-v-547bdae4]{z-index:1;border-radius:0!important;color:#fff;border-left:1px solid #fff}#gcd-trash[data-v-547bdae4]{color:red}#gcd-input-query[data-v-547bdae4]{font-weight:700}.gcd-txt-reset[data-v-547bdae4]:after{content:\\\"\\\\d7\\\";display:inline-block;font-weight:700;font-size:2em;cursor:pointer;color:var(--skin-color)}.gcd-txt-reset[data-v-547bdae4]{z-index:1;width:2.5em;height:100%;line-height:100%;border:none;background-color:transparent;display:inline-block;vertical-align:middle;outline:0;cursor:pointer}.gcd-txt-input[data-v-547bdae4]:focus{outline:none}.gcd-txt-input[data-v-547bdae4]{z-index:1;border:0;width:100%;height:100%;padding:5px;text-indent:6px;background-color:transparent;font-family:inherit;font-size:1em}.gcd-txt-control[data-v-547bdae4]{position:relative;display:flex;justify-content:flex-end;height:41px;background-color:#fff;overflow:hidden;border-radius:2px;width:100%;border:2px solid var(--skin-color)}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.gcd-road[data-v-547bdae4]{font-size:.875em;font-weight:500}.gcd-city[data-v-547bdae4]{font-size:1em;font-weight:700}.gcd-country[data-v-547bdae4]{font-size:.75em}.gcd-spin[data-v-547bdae4]:after{animation:spin .7s linear infinite}.gcd-hidden[data-v-547bdae4]{display:none!important}li.skin-background-color[data-v-547bdae4]{position:sticky;top:0}li.selected[data-v-547bdae4]{background-color:#f7fabf!important}li.gcd-noresult[data-v-547bdae4]:hover{background-color:transparent!important}li.gcd-noresult[data-v-547bdae4]{font-weight:700;color:#384247;margin:10px;border-bottom:0!important}\\n.ol-geocoder{box-sizing:border-box;position:absolute;max-width:300px;top:3px;left:45px;width:50%;height:6px;font-size:1.1em}@media (max-width:767px){.ol-geocoder{left:10px}}.ol-geocoder>ul>li:hover{background-color:#eee}.ol-geocoder>ul>li{width:100%;overflow:hidden;padding:0;min-height:30px;padding-left:3px;border-bottom:2px solid var(--skin-color);min-height:20px;padding:10px}.ol-geocoder>ul{border-radius:3px!important;width:100%;max-height:200px;padding:0;margin-top:3px;background-color:#fff;border-top:none;overflow-x:hidden;overflow-y:auto;transition:max-height .3s ease-in;margin-bottom:0}.ol-geocoder>ul>li>a{display:block;text-decoration:none;padding:3px 5px;color:#000}.ol-geocoder>ul>li:last-child{border-bottom:0!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _QueryResultsActionChooseLayer = require('components/QueryResultsActionChooseLayer.vue');\n\nvar _QueryResultsActionChooseLayer2 = _interopRequireDefault(_QueryResultsActionChooseLayer);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _flattenObject = require('utils/flattenObject');\n\nvar _addZValueToOLFeatureGeometry = require('utils/addZValueToOLFeatureGeometry');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _convertSingleMultiGeometry = require('utils/convertSingleMultiGeometry');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar PROVIDERS = window.initConfig.mapcontrols.geocoding ? window.initConfig.mapcontrols.geocoding.providers : {};\nObject.keys(PROVIDERS).forEach(function (p) {\n var script = document.createElement('script');\n script.src = window.initConfig.staticurl + 'client/geocoding-providers/' + p + '.js';\n script.async = true;\n document.head.appendChild(script);\n});\n\nvar LAYER = new ol.layer.Vector({\n id: '__g3w_marker',\n name: 'Geocoding',\n source: new ol.source.Vector(),\n style: function style(feature) {\n if ('__g3w_marker_coordinates' === feature.getId()) {\n return new ol.style.Style({\n text: new ol.style.Text({\n offsetY: -15,\n text: '\\uF3C5',\n font: '900 3em \"Font Awesome 5 Free\"',\n stroke: new ol.style.Stroke({\n color: 'red',\n width: 3\n }),\n fill: new ol.style.Fill({\n color: 'rgba(255, 0,0, 0.7)'\n })\n })\n });\n } else {\n return [new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/pushpin.svg',\n scale: 0.8\n })\n }), new ol.style.Style({\n image: new ol.style.RegularShape({\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 0] }),\n points: 4,\n radius: 50,\n angle: Math.PI / 4\n })\n })];\n }\n }\n});\n\nvar is_clearing = false;\n\nexports.default = {\n data: function data() {\n return {\n results: [],\n\n disabled: false,\n results_panel_open: false };\n },\n\n\n props: {\n providers: {\n type: Object,\n default: {}\n }\n\n },\n\n computed: {\n is_layer_visible: function is_layer_visible() {\n return LAYER.getVisible();\n },\n features: function features() {\n return LAYER.getSource().getFeatures();\n },\n has_providers: function has_providers() {\n return Object.keys(this.providers).length > 0;\n },\n extent: function extent() {\n var map = _gui2.default.getService('map');\n var project = map.getProject().state;\n return ol.proj.transformExtent(Object.keys(this.providers).filter(function (p) {\n return 'nominatim' != p;\n }).length > 0 ? map.getMapExtent() : project.initextent || project.extent, project.crs.epsg, 'EPSG:4326');\n },\n placeholder: function placeholder() {\n return _application2.default.language && t('mapcontrols.geocoding.placeholder');\n }\n },\n\n methods: {\n _hideMarker: function _hideMarker() {\n LAYER.getSource().clear();\n\n if (false === this.is_layer_visible) {\n this.toggleLayerVisibility();\n }\n },\n toggleLayerVisibility: function toggleLayerVisibility() {\n LAYER.setVisible(!this.is_layer_visible);\n },\n clearResults: function clearResults() {\n this.results.splice(0);\n\n if (LAYER.getSource().getFeatureById('__g3w_marker_coordinates')) {\n LAYER.getSource().removeFeature(LAYER.getSource().getFeatureById('__g3w_marker_coordinates'));\n }\n },\n clearMarkers: function clearMarkers() {\n is_clearing = true;\n this._hideMarker();\n\n this.results.forEach(function (i) {\n return i.__selected = false;\n });\n var layer = _gui2.default.getService('queryresults').getState().layers.find(function (l) {\n return l.id === LAYER.get('id');\n });\n\n if (layer) {\n layer.features.forEach(function (f) {\n return _gui2.default.getService('queryresults').removeFeatureLayerFromResult(layer, f);\n });\n }\n is_clearing = false;\n },\n clear: function clear() {\n this.clearResults();\n this.clearMarkers();\n },\n query: function () {\n var _ref = _asyncToGenerator(function* (q) {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n var isNumber = function isNumber(value) {\n return 'number' === typeof value && !Number.isNaN(value);\n };\n var coordinates = null;\n var transform = false;\n\n var _split = (q || '').split(','),\n _split2 = _slicedToArray(_split, 3),\n x = _split2[0],\n y = _split2[1],\n epsg = _split2[2];\n\n var projection = epsg && (yield _projections2.default.registerProjection('EPSG:' + epsg.trim()));\n\n if (isNumber(1 * x) && isNumber(1 * y)) {\n coordinates = [1 * x, 1 * y];\n }\n\n try {\n if (projection) {\n coordinates = ol.proj.transform(coordinates, projection.getCode(), 'EPSG:4326');\n transform = true;\n }\n } catch (e) {\n console.warn(e);\n }\n\n if (coordinates) {\n var source = LAYER.getSource();\n\n if (source.getFeatureById('__g3w_marker_coordinates')) {\n source.removeFeature(source.getFeatureById('__g3w_marker_coordinates'));\n }\n\n var feature = new ol.Feature({\n geometry: new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates),\n\n lon: coordinates[0],\n lat: coordinates[1]\n });\n\n feature.setId('__g3w_marker_coordinates');\n\n LAYER.getSource().addFeature(feature);\n\n map.zoomToGeometry(new ol.geom.Point(transform ? ol.proj.transform(coordinates, 'EPSG:4326', map.getEpsg()) : coordinates));\n return coordinates;\n }\n\n if (!coordinates) {\n this.clearResults();\n this.$refs.reset.classList.add(\"gcd-spin\");\n\n (yield Promise.allSettled(Object.entries(this.providers).map(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n p = _ref3[0],\n _ref3$ = _ref3[1],\n config = _ref3$ === undefined ? {} : _ref3$;\n\n return PROVIDERS[p].fetch({\n url: config.url,\n icon: config.icon,\n query: q,\n lang: _application2.default.language || 'it-IT',\n\n limit: 5,\n extent: _this.extent\n });\n }))).filter(function (p) {\n return 'fulfilled' === p.status;\n }).forEach(function (p) {\n _this.results.push({\n __heading: true,\n provider: p.value.provider,\n label: _this.providers[p.value.provider].label || p.value.label\n });\n\n if (!(p.value.results && p.value.results.length)) {\n _this.results.push({\n __no_results: !(p.value.results && p.value.results.length)\n });\n return;\n }\n\n p.value.results.forEach(function (item) {\n _this.results.push((0, _flattenObject.flattenObject)(_extends({}, item, {\n provider: p.value.provider,\n __uid: (0, _getUniqueDomId.getUniqueDomId)(),\n __icon: _this.providers[p.value.provider].icon || p.value.icon,\n __selected: false\n })));\n });\n });\n\n this.$refs.reset.classList.remove(\"gcd-spin\");\n }\n });\n\n function query(_x) {\n return _ref.apply(this, arguments);\n }\n\n return query;\n }(),\n onQuery: function onQuery(evt) {\n if ('Enter' === evt.key || 13 === evt.which || 13 === evt.keyCode) {\n evt.preventDefault();\n this.query(evt.target.value.trim());\n }\n },\n onValue: function onValue(e) {\n this.$refs.reset.classList.toggle(\"gcd-hidden\", 0 === e.target.value.trim().length);\n },\n onReset: function onReset() {\n this.$refs.input.focus();\n this.$refs.input.value = '';\n this.$refs.reset.classList.add(\"gcd-hidden\");\n this.clearResults();\n },\n _removeItem: function _removeItem(uid) {\n var item = (this.results || []).find(function (r) {\n return uid === r.__uid;\n });\n\n if (this.features.length) {\n var source = LAYER.getSource();\n source.removeFeature(source.getFeatureById(uid));\n }\n\n if (item) {\n item.__selected = false;\n }\n\n if (0 === this.features.length) {\n this._hideMarker();\n }\n\n if (!is_clearing) {\n this.showMarkerResults(undefined, 0 === this.features.length);\n }\n },\n onItemClick: function onItemClick(evt, item) {\n if (!item.lat || !item.lon) {\n return;\n }\n evt.preventDefault();\n try {\n var source = LAYER.getSource();\n\n if (source.getFeatureById(item.__uid)) {\n this._removeItem(item.__uid);\n } else {\n var __uid = item.__uid,\n __icon = item.__icon,\n __selected = item.__selected,\n _item = _objectWithoutProperties(item, ['__uid', '__icon', '__selected']);\n\n var feature = new ol.Feature(_extends({\n geometry: new ol.geom.Point(ol.proj.transform([parseFloat(item.lon), parseFloat(item.lat)], 'EPSG:4326', _gui2.default.getService('map').getEpsg()))\n }, _item));\n\n feature.setId(__uid);\n source.addFeature(feature);\n _gui2.default.getService('map').zoomToFeatures([feature]);\n item.__selected = true;\n this.showMarkerResults([feature]);\n }\n } catch (e) {\n console.warn(e);\n }\n },\n showMarkerResults: function () {\n var _ref4 = _asyncToGenerator(function* (features) {\n var toggle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (this.results_panel_open && toggle) {\n _gui2.default.closeContent();\n return;\n }\n\n if (_gui2.default.getCurrentContent()) {\n yield _gui2.default.closeContent();\n }\n _gui2.default.showQueryResults('Geocoding', { data: [{ layer: LAYER, features: features || LAYER.getSource().getFeatures() }] });\n this.results_panel_open = true;\n });\n\n function showMarkerResults(_x3) {\n return _ref4.apply(this, arguments);\n }\n\n return showMarkerResults;\n }(),\n _editItem: function () {\n var _ref5 = _asyncToGenerator(function* (layerId, feature) {\n var editing = _plugins2.default.getPlugin('editing');\n\n if (!editing) {\n return;\n }\n\n this.disabled = true;\n try {\n var type = (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getGeometryType();\n\n var _feature = (0, _addZValueToOLFeatureGeometry.addZValueToOLFeatureGeometry)({\n geometryType: type,\n feature: new ol.Feature(_extends({}, Object.entries(feature.attributes).reduce(function (acc, attr) {\n return _extends({}, acc, _defineProperty({}, attr[0].replace(feature.attributes.provider + '_', '').toLowerCase(), attr[1]));\n }, {}), feature.attributes, {\n geometry: (0, _convertSingleMultiGeometry.convertSingleMultiGeometry)(feature.geometry, type)\n }))\n });\n\n yield editing.getApi().addLayerFeature({ layerId: layerId, feature: _feature });\n } catch (e) {\n console.warn(e);\n }\n this.disabled = false;\n });\n\n function _editItem(_x4, _x5) {\n return _ref5.apply(this, arguments);\n }\n\n return _editItem;\n }()\n },\n\n created: function created() {\n var _this2 = this;\n\n var queryresults = _gui2.default.getService('queryresults');\n var mapService = _gui2.default.getService('map');\n var map = mapService.getMap();\n\n map.addLayer(LAYER);\n\n mapService.on('set-layer-zindex', function (_ref6) {\n var layer = _ref6.layer,\n zindex = _ref6.zindex;\n\n if (layer.get('id') !== LAYER.get('id')) {\n LAYER.setZIndex(zindex + 1);\n }\n });\n\n queryresults.registerVectorLayer(LAYER);\n\n _gui2.default.on('closecontent', function () {\n _this2.results_panel_open = false;\n });\n _gui2.default.onafter('setContent', function () {\n if (_this2.results_panel_open) _this2.results_panel_open = false;\n });\n\n queryresults.onafter('removeFeatureLayerFromResult', function (layer, feature) {\n if (LAYER.get('id') === layer.id) {\n _this2._removeItem(feature.id);\n }\n });\n\n queryresults.onafter('addActionsForLayers', function (actions, layers) {\n\n var layer = layers.find(function (l) {\n return LAYER.get('id') === l.id;\n });\n\n if (!layer) {\n return;\n }\n\n var editablePointLayers = (0, _getCatalogLayers.getCatalogLayers)({ EDITABLE: true, GEOLAYER: true }).filter(function (l) {\n return (0, _isPointGeometryType.isPointGeometryType)(l.getGeometryType());\n }).map(function (l) {\n return { id: l.getId(), name: l.getName(), inediting: l.isInEditing() };\n });\n\n if (editablePointLayers.find(function (l) {\n return l.inediting;\n })) {\n return;\n }\n\n queryresults.addCurrentActionToolsLayer({\n id: _QueryResultsActionChooseLayer2.default.name,\n layer: layer,\n action: {\n id: 'choose_layer',\n class: _gui2.default.getFontClass('pencil'),\n state: Vue.observable({ toggled: Array(layer.features.length).fill(null) }),\n toggleable: true,\n hint: 'Choose a layer',\n cbk: function cbk(layer, feature, action, index) {\n if (1 === editablePointLayers.length) {\n _this2._editItem(editablePointLayers[0].id, feature);\n return;\n }\n\n action.state.toggled[index] = !action.state.toggled[index];\n queryresults.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: action.state.toggled[index] ? _QueryResultsActionChooseLayer2.default : null\n });\n }\n },\n config: {\n layers: editablePointLayers,\n icon: 'pencil',\n label: 'mapcontrols.geocoding.choose_layer',\n nolayers: 'mapcontrols.geocoding.nolayers',\n cbk: _this2._editItem\n }\n });\n });\n },\n destroyed: function destroyed() {\n _gui2.default.getService('queryresults').unregisterVectorLayer(LAYER);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.has_providers)?_c('div',{class:[ 'ol-geocoder', { 'g3w-disabled': _vm.disabled }]},[_c('div',{staticClass:\"gcd-txt-control\"},[_c('input',{ref:\"input\",staticClass:\"gcd-txt-input\",attrs:{\"type\":\"text\",\"id\":\"gcd-input-query\",\"autocomplete\":\"off\",\"placeholder\":_vm.placeholder},on:{\"keyup\":_vm.onQuery,\"input\":_vm.onValue}}),_vm._v(\" \"),_c('button',{ref:\"reset\",staticClass:\"gcd-txt-reset gcd-hidden\",attrs:{\"type\":\"button\",\"id\":\"gcd-input-reset\",\"title\":\"Reset search\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.onReset($event)}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn\",attrs:{\"type\":\"button\",\"id\":\"gcd-search\",\"title\":\"Submit search\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.query(_vm.$refs.input.value); })($event)}}},[_c('i',{class:_vm.$fa('search'),staticStyle:{\"color\":\"#fff\"},attrs:{\"aria-hidden\":\"true\"}})]),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"gcd-trash\",\"title\":\"Clear markers selection\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.clearMarkers($event)}}},[_c('i',{class:_vm.$fa('trash'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"markers-visibility-layer\",\"title\":\"Toggle markers visibility\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleLayerVisibility($event)}}},[_c('i',{class:_vm.$fa(_vm.is_layer_visible ? 'eye-close': 'eye'),attrs:{\"aria-hidden\":\"true\"}})]):_vm._e(),_vm._v(\" \"),(_vm.features.length > 0)?_c('button',{staticClass:\"btn skin-background-color\",attrs:{\"type\":\"button\",\"id\":\"show-markers-results\",\"title\":\"Toggle sidebar panel\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.showMarkerResults(undefined, true); })($event)}}},[_c('code',{style:({ opacity: _vm.results_panel_open ? 0.5 : undefined })},[_vm._v(\"\\n \"+_vm._s(_vm.features.length > 99 ? '99+' : _vm.features.length)+\"\\n \")])]):_vm._e()]),_vm._v(\" \"),_c('ul',{ref:\"result\",staticClass:\"gcd-txt-result\"},_vm._l((_vm.results),function(item,i){return _c('li',{key:item.__uid,class:[\n item.provider,\n item.__icon ? 'gcd-icon-' + item.__icon : '',\n item.__heading ? 'skin-background-color' : '',\n item.__no_results ? 'gcd-noresult' : '',\n item.__selected ? 'selected' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.onItemClick($event, item)}}},[(item.__heading)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"5px\"}},[_c('span',{staticStyle:{\"color\":\"#FFF\",\"font-weight\":\"bold\"}},[_vm._v(_vm._s(item.label))])]):(item.__no_results)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('mapcontrols.geocoding.noresults'),expression:\"'mapcontrols.geocoding.noresults'\"}]}):[_c('span',{class:_vm.$fa(item.__selected ? 'check' : 'uncheck'),staticStyle:{\"color\":\"#000\",\"padding\":\"5px\"}}),_vm._v(\" \"),('road' === item.__icon)?_c('i',{staticClass:\"fa fa-road\",staticStyle:{\"color\":\"black\"},attrs:{\"aria-hidden\":\"true\"}}):('poi' === item.__icon)?_c('img',{staticClass:\"gcd-icon\",attrs:{\"src\":\"/static/client/images/pushpin.svg\",\"width\":\"24\",\"height\":\"24\"}}):_vm._e(),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"\",\"draggable\":\"false\"}},[(item.type)?_c('div',{staticClass:\"gcd-type\"},[_vm._v(_vm._s(item.type))]):_vm._e(),_vm._v(\" \"),(item.name)?_c('div',{staticClass:\"gcd-name\"},[_vm._v(_vm._s(item.name))]):_vm._e(),_vm._v(\" \"),(item.address_name)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_name))]):_vm._e(),_vm._v(\" \"),(item.address_road || item.address_building || item.address_house_number)?_c('div',{staticClass:\"gcd-road\"},[_vm._v(_vm._s(item.address_building)+\" \"+_vm._s(item.address_road)+\" \"+_vm._s(item.address_house_number))]):_vm._e(),_vm._v(\" \"),(item.address_city || item.address_town || item.address_village)?_c('div',{staticClass:\"gcd-city\"},[_vm._v(_vm._s(item.address_postcode)+\" \"+_vm._s(item.address_city)+\" \"+_vm._s(item.address_town)+\" \"+_vm._s(item.address_village))]):_vm._e(),_vm._v(\" \"),(item.address_state || item.address_country)?_c('div',{staticClass:\"gcd-country\"},[_vm._v(_vm._s(item.address_state)+\" \"+_vm._s(item.address_country))]):_vm._e()])]],2)}),0)]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-547bdae4\"\n\n},{\"components/QueryResultsActionChooseLayer.vue\":93,\"g3w-i18n\":128,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/addZValueToOLFeatureGeometry\":182,\"utils/convertSingleMultiGeometry\":188,\"utils/flattenObject\":201,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getUniqueDomId\":217,\"utils/isPointGeometryType\":225,\"vueify/lib/insert-css\":2}],85:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".ol-zoom-history[data-v-5ba4faea]{display:flex!important;gap:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"MapControlZoomHistory\",\n data: function data() {\n return {\n history: {\n index: 0,\n items: []\n }\n };\n },\n\n methods: {\n last: function last() {\n this.history.index--;\n this.setMapExtent();\n },\n next: function next() {\n this.history.index++;\n this.setMapExtent();\n },\n setMapExtent: function setMapExtent() {\n _gui2.default.getService('map').getMap().getView().fit(this.history.items[this.history.index]);\n }\n },\n computed: {\n hasEmptyHistory: function hasEmptyHistory() {\n return 0 === this.history.index && 1 === this.history.items.length || this.history.items.length - 1 === this.history.index;\n }\n },\n\n created: function created() {\n var _this = this;\n\n var map = _gui2.default.getService('map').getMap();\n var view = map.getView();\n\n this.history.items.push(view.calculateExtent(map.getSize()));\n\n this.changeKeyEvent = view.on('change', (0, _debounce.debounce)(function (evt) {\n if (_this.history.index !== _this.history.items.length - 1) {\n _this.history.items.splice(_this.history.index - _this.history.items.length + 1);\n }\n _this.history.items.push(evt.target.calculateExtent(map.getSize()));\n _this.history.index++;\n }, 600));\n },\n beforeDestroy: function beforeDestroy() {\n ol.Observable.unByKey(this.changeKeyEvent);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"ol-zoom-history ol-unselectable ol-control\"},[_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_last'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_last'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(0 === _vm.history.index),expression:\"0 === history.index\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.last($event)}}},[_c('i',{class:_vm.$fa('reply')})])]),_vm._v(\" \"),_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.mapcontrols.zoomhistory.zoom_next'),expression:\"'sdk.mapcontrols.zoomhistory.zoom_next'\",arg:\"top\",modifiers:{\"create\":true}}]},[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.hasEmptyHistory),expression:\"hasEmptyHistory\"}],attrs:{\"type\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.next($event)}}},[_c('i',{class:_vm.$fa('share')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-5ba4faea\"\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"vueify/lib/insert-css\":2}],86:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".metadata-item-tab.general[data-v-0e556a34]{color:var(--skin-primary)}.metadata-item-tab.layers[data-v-0e556a34]{color:var(--skin-warning)}.metadata-item-tab.spatial[data-v-0e556a34]{color:var(--skin-success)}#project-catalog[data-v-0e556a34]{background:transparent}.modal-header.nav[data-v-0e556a34]{display:flex;gap:1px;justify-content:space-between}.modal-header.nav li[data-v-0e556a34]{background-color:#e4e4e4;width:100%}.modal-header.nav li.active[data-v-0e556a34]{background-color:#fff}.modal-header.nav li.active a.metadata-item-tab[data-v-0e556a34]{border-bottom-color:#222d32!important;border-bottom-width:4px;background-color:transparent!important;color:#2c3b41!important}.modal-header.nav li a.metadata-item-tab[data-v-0e556a34]{height:100%;margin:0;font-size:1.1em;border-top:0;border-right:0;border-left:0;border-bottom:4px solid #e2e2e2}.modal-header.nav li a[data-v-0e556a34]{text-align:center}.modal-header.nav li a i[data-v-0e556a34]{margin-right:5px}.metadata-item-tab[data-v-0e556a34]{margin-right:10px;border-radius:3px;margin-bottom:10px}.tab-title[data-v-0e556a34]{position:absolute;bottom:10px;right:auto}.row-info[data-v-0e556a34]{margin:0!important;padding-top:10px;padding-bottom:10px;border-bottom:1px solid #eee}.row-info .label[data-v-0e556a34]{font-weight:700}.h_100[data-v-0e556a34]{height:100%}#project-catalog[data-v-0e556a34]{position:relative;overflow:auto}.nav-tabs[data-v-0e556a34]{border-bottom:0 none}.metadata-label[data-v-0e556a34]{font-weight:700;font-size:1.1em}.bbox-labels[data-v-0e556a34],.metadata-contact-label[data-v-0e556a34]{font-weight:700}.contact-icon[data-v-0e556a34]{margin-right:3px}.metadata-contact-row[data-v-0e556a34]{margin-bottom:5px}.layer_header[data-v-0e556a34]{padding:5px;margin-bottom:0;margin-top:0;cursor:pointer}.layer-name[data-v-0e556a34]{font-weight:700}.layer-header-icon[data-v-0e556a34]{margin-right:10px;color:#999}.layer_header span.open-close[data-v-0e556a34]{position:absolute;right:5px;color:#999}.layer-row[data-v-0e556a34]{padding:10px;border-bottom:1px solid #e2e2e2}.layer-nav-tabs[data-v-0e556a34]{border-bottom:0 solid #ddd}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li.active>a[data-v-0e556a34]:focus,.layer-nav-tabs>li.active>a[data-v-0e556a34]:hover{border-width:0}.layer-nav-tabs>li>a[data-v-0e556a34]{border:none;color:#aeaeae}.layer-nav-tabs>li.active>a[data-v-0e556a34],.layer-nav-tabs>li>a[data-v-0e556a34]:hover{border:none;background:transparent}.layer-nav-tabs>li>a[data-v-0e556a34]:after{content:\\\"\\\";height:2px;position:absolute;width:100%;left:0;bottom:-1px;transition:all .25s ease 0s;transform:scale(0)}.layer-nav-tabs>li.active>a[data-v-0e556a34]:after,.layer-nav-tabs>li:hover>a[data-v-0e556a34]:after{transform:scale(1)}.layer-tab-content[data-v-0e556a34]{margin:10px;background-color:#eee;overflow:auto}.spatial-tab[data-v-0e556a34]{font-weight:700}.metadata-nav-tabs>li.active>a[data-v-0e556a34],.metadata-nav-tabs>li>a[data-v-0e556a34]:hover{color:var(--skin-color)!important}.metadata-nav-tabs>li>a[data-v-0e556a34]:after{background:var(--skin-color)}.modal-header.nav .action-button[data-v-0e556a34]:hover{background-color:transparent}.credit-title-logo[data-v-0e556a34]{font-weight:700;font-size:1.2em;margin-bottom:15px}.g3w-credits-block[data-v-0e556a34]{text-align:center!important;margin-bottom:20px}.g3w-suite-logo[data-v-0e556a34]{width:50%!important}.customcredits[data-v-0e556a34]{margin-bottom:10px;margin-top:5px;text-align:center}#address-credits span[data-v-0e556a34]{padding-left:3px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n\n name: \"metadata-project\",\n\n data: function data() {\n var project = _application2.default.project.getState();\n var version = window.initConfig.version.split('-')[0].split('.');\n\n return {\n customcredits: false,\n powered_by: window.initConfig.powered_by,\n urls: window.initConfig.urls,\n docs_url: 'https://g3w-suite.readthedocs.io/en/v' + version[0].replace('v', '') + '.' + version[1] + '.x/',\n groups: Object.entries({\n general: ['title', 'name', 'description', 'abstract', 'keywords', 'fees', 'accessconstraints', 'contactinformation', 'wms_url'],\n spatial: ['crs', 'extent'],\n layers: ['layers']\n }).reduce(function (g, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n fields = _ref2[1];\n\n g[name] = fields.reduce(function (f, field) {\n var value = project.metadata && project.metadata[field] ? project.metadata[field] : project[field];\n if (value) {\n f[field] = { value: value, label: 'sdk.metadata.groups.' + name + '.fields.' + field };\n }\n return f;\n }, {});\n return g;\n }, {})\n };\n },\n\n\n methods: {\n showHideInfo: function showHideInfo(e) {\n var box = e.target.closest(\".layer_header\");\n box.querySelector(\".open-close\").classList.toggle('fa-plus');\n box.querySelector(\".open-close\").classList.toggle('fa-minus');\n },\n sanitizeValue: function sanitizeValue(value) {\n if (Array.isArray(value) || 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && null !== value) {\n value = Object.values(value).length ? value : '';\n }\n return value;\n }\n },\n\n created: function () {\n var _ref3 = _asyncToGenerator(function* () {\n if (!!window.initConfig.credits) {\n try {\n var credits = yield _XHR.XHR.get({ url: window.initConfig.credits });\n this.customcredits = 'None' !== credits && credits;\n } catch (e) {\n console.warn(e);\n }\n }\n });\n\n function created() {\n return _ref3.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"modal fade\",attrs:{\"id\":\"modal-metadata\",\"tabindex\":\"-1\"}},[_c('div',{staticClass:\"modal-dialog\",staticStyle:{\"min-width\":\"80vw\"}},[_c('div',{staticClass:\"modal-content\"},[_c('ul',{staticClass:\"modal-header nav nav-tabs\",attrs:{\"role\":\"tablist\"}},_vm._l((['general', 'spatial', 'layers', 'credits']),function(tab){return _c('li',{class:{ active: 'general' === tab }},[_c('a',{class:'metadata-item-tab '+ tab,attrs:{\"data-toggle\":\"tab\",\"href\":'#metadata_' + tab}},[_c('i',{staticClass:\"action-button\",class:_vm.$fa(({ general: 'info', spatial: 'globe', layers: 'bars', credits: 'copyright' })[tab]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('b',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.'+ tab +'.title'),expression:\"'sdk.metadata.groups.'+ tab +'.title'\"}]})])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"modal-body\",staticStyle:{\"min-height\":\"65vh\",\"max-height\":\"70vh\"},attrs:{\"id\":\"project-catalog\"}},[_c('div',{staticClass:\"tab-content\"},[_vm._l((['general', 'spatial']),function(item){return _c('div',{staticClass:\"tab-pane fade\",class:{ in: 'general' === item, active: 'general' === item },attrs:{\"id\":'metadata_' + item}},_vm._l((_vm.groups[item]),function(data,field){return _c('div',{staticClass:\"row row-info\"},[_c('div',{staticClass:\"wrap-content-tab\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(data.label),expression:\"data.label\"}],staticClass:\"col-sm-2 metadata-label\"}),_vm._v(\" \"),('keywords' === field || 'wms_url'=== field)?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',[_vm._v(_vm._s([].concat(data.value).join(', ')))])]):('abstract' === field || (!Array.isArray(data.value) && typeof data.value !== 'object'))?_c('div',{staticClass:\"col-sm-10 value\"},[_c('span',{domProps:{\"innerHTML\":_vm._s(data.value)}})]):('contactinformation' !== field)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,index){return _c('div',[('extent' === field)?_c('span',{staticClass:\"bbox-labels\"},[_vm._v(_vm._s((['MINX', 'MINY', 'MAXX', 'MAXY'])[index]))]):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((data.value),function(value,info){return _c('div',[_c('div',{staticClass:\"row metadata-contact-row\"},[_c('div',{staticClass:\"col-sm-2 metadata-contact-label\"},[_c('i',{staticClass:\"contact-icon\",class:_vm.$fa(({ contactelectronicmailaddress: 'mail', personprimary: 'user', contactvoicetelephone: 'mobile' })[info]),attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + info)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${info}`\"}]})]),_vm._v(\" \"),('personprimary' === info)?_c('div',{staticClass:\"col-sm-10\"},_vm._l((value),function(subvalue,key){return _c('div',[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:((\"sdk.metadata.groups.general.fields.subfields.contactinformation.\" + key)),expression:\"`sdk.metadata.groups.general.fields.subfields.contactinformation.${key}`\"}],staticClass:\"metadata-contact-label\"}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(subvalue))])])}),0):('contactelectronicmailaddress' === info )?_c('div',{staticClass:\"col-sm-10\"},[_c('a',{attrs:{\"href\":(\"mailto: \" + (_vm.sanitizeValue(value)))}},[_c('b',[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])]):_c('div',{staticClass:\"col-sm-10\"},[_vm._v(_vm._s(_vm.sanitizeValue(value)))])])])}),0)])])}),0)}),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_layers\"}},_vm._l((_vm.groups.layers.layers.value),function(layer){return _c('div',{staticClass:\"row-info\"},[_c('h4',{staticClass:\"layer_header\",attrs:{\"data-toggle\":\"collapse\",\"data-target\":(\"#\" + (layer.id))},on:{\"click\":_vm.showHideInfo}},[_c('i',{class:'layer-header-icon action-button ' + _vm.g3wtemplate.font['NoGeometry' === layer.geometrytype ? 'table' : 'map'],attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('span',{staticClass:\"layer-name\"},[_vm._v(_vm._s(layer.name))]),_vm._v(\" \"),_c('span',{staticClass:\"action-button open-close\",class:_vm.$fa('plus')})]),_vm._v(\" \"),_c('div',{staticClass:\"collapse\",attrs:{\"id\":layer.id}},[_c('ul',{staticClass:\"metadata-nav-tabs nav nav-tabs layer-nav-tabs\",attrs:{\"role\":\"tablist\"}},[_c('li',{staticClass:\"active spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.general'),expression:\"'sdk.metadata.groups.layers.groups.general'\"}],attrs:{\"href\":(\"#layer_general_\" + (layer.id)),\"aria-controls\":\"general\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]),_vm._v(\" \"),('NoGeometry' !== layer.geometrytype)?_c('li',{staticClass:\"spatial-tab\",attrs:{\"role\":\"presentation\"}},[_c('a',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.groups.spatial'),expression:\"'sdk.metadata.groups.layers.groups.spatial'\"}],attrs:{\"href\":(\"#layer_spatial_\" + (layer.id)),\"aria-controls\":\"profile\",\"role\":\"tab\",\"data-toggle\":\"tab\"}})]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"tab-content layer-tab-content\"},[_c('div',{staticClass:\"tab-pane active\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_general_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['metadata.title', 'name', 'source', 'metadata.abstract', 'metadata.keywords', 'metadata.metadataurl.onlineresource', 'metadata.dataurl.onlineresources', 'metadata.attributes']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('metadata.title' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.title))]):_vm._e(),_vm._v(\" \"),('name' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.name))]):_vm._e(),_vm._v(\" \"),('source' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.source.type))]):_vm._e(),_vm._v(\" \"),('metadata.abstract' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",domProps:{\"innerHTML\":_vm._s(layer.metadata.abstract)}}):('metadata.keywords' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_vm._v(_vm._s(layer.metadata.keywords.join(', ')))]):('metadata.metadataurl.onlineresource' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.metadataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.metadataurl.onlineresources))])]):('metadata.dataurl.onlineresources' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\"},[_c('a',{attrs:{\"href\":layer.metadata.dataurl.onlineresources}},[_vm._v(_vm._s(layer.metadata.dataurl.onlineresources))])]):('metadata.attributes' === attr)?_c('div',{staticClass:\"col-md-10 col-sm-12 value\",staticStyle:{\"overflow\":\"auto\"}},[_c('table',{staticClass:\"table table-striped\",staticStyle:{\"background-color\":\"#eee !important\"}},[_c('thead',[_c('tr',_vm._l((layer.metadata.attributes[0]),function(value,header){return _c('th',[_vm._v(_vm._s(header))])}),0)]),_vm._v(\" \"),_c('tbody',_vm._l((layer.metadata.attributes),function(a){return _c('tr',_vm._l((a),function(value,header){return _c('td',[_vm._v(_vm._s(value))])}),0)}),0)])]):_vm._e()]):_vm._e()]})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane\",attrs:{\"role\":\"tabpanel\",\"id\":(\"layer_spatial_\" + (layer.id))}},[_c('div',{staticClass:\"container-fluid\"},[_vm._l((['crs', 'geometrytype', 'bbox', 'metadata.crs']),function(attr){return [(undefined !== attr.split('.').reduce(function (a, b) { return a[b]; }, layer))?_c('div',{staticClass:\"row layer-row\"},[('metadata.crs' === attr)?_c('div',{staticClass:\"col-md-2 col-sm-12 metadata-label\"},[_vm._v(\"CRS\")]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]),expression:\"'sdk.metadata.groups.layers.fields.subfields.' + attr.replace('metadata.', '').split('.')[0]\"}],staticClass:\"col-md-2 col-sm-12 metadata-label\"}),_vm._v(\" \"),('crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.crs.epsg))]):('geometrytype' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},[_vm._v(_vm._s(layer.geometrytype))]):('bbox' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.bbox),function(value,key){return _c('p',[_c('span',{staticStyle:{\"font-weight\":\"bold\",\"margin-right\":\"5px\"}},[_vm._v(_vm._s(key))]),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(value))])])}),0):('metadata.crs' === attr)?_c('div',{staticClass:\"col-sm-10 value\"},_vm._l((layer.metadata.crs),function(crs){return _c('div',[_c('span',[_vm._v(_vm._s(crs))])])}),0):_vm._e()]):_vm._e()]})],2)])])])])}),0),_vm._v(\" \"),_c('div',{staticClass:\"tab-pane fade\",attrs:{\"id\":\"metadata_credits\"}},[(!!_vm.customcredits)?_c('div',{staticClass:\"customcredits\",domProps:{\"innerHTML\":_vm._s(_vm.customcredits)}}):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticClass:\"g3w-credits-block\"},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteFramework'),expression:\"'credits.g3wSuiteFramework'\"}],staticClass:\"credit-title-logo\",staticStyle:{\"padding\":\"5px\"}}),_vm._v(\" \"),_c('a',{attrs:{\"target\":\"_blank\",\"href\":\"https://g3wsuite.it/\"}},[_c('img',{staticClass:\"g3w-suite-logo\",attrs:{\"src\":((_vm.urls.clienturl) + \"images/g3wsuite_logo.png\"),\"alt\":\"\"}})]),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('credits.g3wSuiteDescription'),expression:\"'credits.g3wSuiteDescription'\"}],staticStyle:{\"margin-top\":\"10px\"}})]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('credits.productOf'),expression:\"'credits.productOf'\",arg:\"pre\"}],staticClass:\"credit-title-logo g3w-credits-block\",staticStyle:{\"font-size\":\"1em\",\"display\":\"flex\",\"justify-content\":\"center\"}},[_c('a',{staticStyle:{\"text-align\":\"center!important\"},attrs:{\"href\":\"http://www.gis3w.it\",\"target\":\"_blank\"}},[_c('img',{staticClass:\"img-responsive center-block\",staticStyle:{\"margin-left\":\"5px\"},attrs:{\"width\":\"60\",\"src\":((_vm.urls.clienturl) + \"images/logo_gis3w_156_85.png\"),\"alt\":\"\"}})])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('address',{staticStyle:{\"line-height\":\"1.3\",\"text-align\":\"center\",\"margin-top\":\"5px\",\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"2px\"},attrs:{\"id\":\"address-credits\"}},[_c('span',[_c('b',{class:_vm.$fa('marker'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" Montecatini Terme - Italy\")]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mobile'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"tel:+393938534336\"}},[_vm._v(\"+39 393 8534336\")])]),_vm._v(\" \"),_c('span',[_c('i',{class:_vm.$fa('mail'),staticStyle:{\"color\":\"#95ad36\"},attrs:{\"aria-hidden\":\"true\"}}),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"#000\"},attrs:{\"href\":\"mailto:info@gis3w.it\"}},[_vm._v(\"info@gis3w.it\")])])]):_vm._e(),_vm._v(\" \"),(_vm.powered_by)?_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"center\",\"gap\":\"20px\"}},[_c('a',{attrs:{\"href\":_vm.docs_url,\"rel\":\"nofollow\"}},[_vm._v(\"📖 Docs\")]),_vm._v(\" \"),_c('a',{attrs:{\"href\":\"mailto:info@gis3w.it?subject=Sponsoring%20G3W-SUITE%20development&body=Hi%20there,%20I'd%20like%20to%20fund%20some%20code%20changes:\"}},[_vm._v(\"❤️ Sponsor\")])]):_vm._e()])],2)]),_vm._v(\" \"),_c('div',{staticClass:\"modal-footer\",staticStyle:{\"position\":\"relative\",\"background\":\"#fff\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('close'),expression:\"'close'\"}],staticClass:\"btn btn-default\",attrs:{\"type\":\"button\",\"data-dismiss\":\"modal\"}})])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0e556a34\"\n\n},{\"store/application\":178,\"utils/XHR\":181,\"vueify/lib/insert-css\":2}],87:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print .select2-container--open{width:100%}#print .select2-container--open input.select2-search__field{color:#555;width:100%}#print.treeview-menu .select2.select2-container{display:block}\\n.print-labels-content[data-v-9e025612]{margin-top:5px;color:#fff}.print-labels-content>span.skin-color[data-v-9e025612]{font-weight:700;font-size:1.1em;display:block;border-bottom:2px solid #fff;margin-bottom:5px}.print-labels-content>.labels-input-content[data-v-9e025612]{max-height:120px;overflow-y:auto}label[data-v-9e025612]{color:#fff}.box-footer[data-v-9e025612]{background-color:transparent}#printbutton[data-v-9e025612]{width:100%;font-weight:700;background-color:var(--skin-color)}#fid-print-atals-instruction[data-v-9e025612]{margin-top:5px;color:#fff}#fids_intruction[data-v-9e025612]{white-space:pre-line}#fids_examples_values[data-v-9e025612]{margin-top:3px;font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _PrintPage = require('components/PrintPage.vue');\n\nvar vueComp = _interopRequireWildcard(_PrintPage);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'print',\n\n mixins: [_resize2.default],\n\n data: function data() {\n this.init();\n return {\n state: this.state || {},\n disabled: false,\n\n atlas_values: []\n };\n },\n\n\n computed: {\n has_maps: function has_maps() {\n return (this.state.maps || []).length > 0;\n },\n has_autocomplete: function has_autocomplete() {\n return !!(this.state.atlas && this.state.atlas.field_name);\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n init: function init() {\n this._init = undefined !== this._init ? this._init : false;\n this._moveKey = this._moveKey || null;\n this._page = this._page || null;\n this._resolutions = this._resolutions || {};\n\n var print = _application2.default.project.getPrint() || [];\n var visible = print.length > 0;\n\n var PRINT_FORMATS = [{ value: 'png', label: 'PNG' }, { value: 'jpg', label: 'JPG' }, { value: 'svg', label: 'SVG' }, { value: 'pdf', label: 'PDF' }, { value: 'geopdf', label: 'GEOPDF' }];\n\n this.state = Object.assign(this.state || {}, {\n visible: visible,\n print: print,\n loading: false,\n downloading: false,\n url: null,\n layers: true,\n maps: visible ? print[0].maps : undefined,\n labels: visible ? print[0].labels : undefined,\n template: visible ? print[0].name : undefined,\n atlas: visible ? print[0].atlas : undefined,\n rotation: visible ? 0 : undefined,\n inner: [0, 0, 0, 0],\n scales: [],\n scale: visible ? null : undefined,\n dpis: [150, 300],\n dpi: 150,\n formats: PRINT_FORMATS,\n format: PRINT_FORMATS[0].value\n });\n\n this.print_extent = null;\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n },\n changeTemplate: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n if (!this.state.template) {\n return;\n }\n\n yield this.$nextTick();\n\n if (this.select2) {\n this.select2.select2('destroy');\n this.select2.off();\n this.select2 = null;\n }\n\n this.disabled = false;\n\n var has_previous = this.state.atlas || 0 === this.state.maps.length;\n var print = this.state.print.find(function (p) {\n return p.name === _this.state.template;\n });\n\n Object.assign(this.state, {\n maps: print.maps,\n atlas: print.atlas,\n labels: print.labels\n });\n\n this.atlas_values = [];\n\n if (this.state.atlas) {\n this._clearPrint();\n this.initSelect2Field();\n } else if (has_previous) {\n this.showPrintArea(true);\n } else {\n this._setPrintArea();\n }\n\n yield this.$nextTick();\n });\n\n function changeTemplate() {\n return _ref.apply(this, arguments);\n }\n\n return changeTemplate;\n }(),\n changeScale: function changeScale() {\n\n try {\n if (this.state.scale.includes(':')) {\n var scale = Number(this.state.scale.split(':')[1].trim());\n\n this.$refs.scales.children[this.$refs.scales.children.length - 1].value = scale;\n\n this.state.scale = scale;\n }\n } catch (e) {\n console.warn(e);\n this.state.scale = this.state.scales[0].value;\n }\n\n if (Number.isNaN(Number(this.state.scale)) || this.state.scale > this.state.scales[0].value) {\n this.state.scale = this.state.scales[0].value;\n }\n\n if (this.state.scale < 0) {\n this.state.scale = this.state.scales[this.state.scales.length - 1].value;\n }\n\n $(this.$refs.scales).val(this.state.scale).trigger('change');\n\n if (this.state.scale) {\n this._setPrintArea();\n }\n },\n changeDpi: function changeDpi() {\n if (Number.isNaN(Number(this.state.dpi))) {\n this.state.dpi = this.state.dpis[0];\n\n $(this.$refs.dpi).val(this.state.dpi).trigger('change');\n }\n },\n changeRotation: function changeRotation() {\n this.state.rotation = this.state.rotation >= 0 ? Math.min(this.state.rotation || 0, 360) : Math.max(this.state.rotation || 0, -360);\n _gui2.default.getService('map').setInnerGreyCoverBBox({ rotation: this.state.rotation });\n },\n isAxisOrientationInverted: function isAxisOrientationInverted() {\n return 'neu' === _gui2.default.getService('map').getProjection().getAxisOrientation();\n },\n getOverviewExtent: function getOverviewExtent() {\n var extent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var xmin = extent.xmin,\n xmax = extent.xmax,\n ymin = extent.ymin,\n ymax = extent.ymax;\n\n return (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n },\n getPrintExtent: function getPrintExtent() {\n var map = _gui2.default.getService('map').viewer.map;\n\n try {\n var _map$getCoordinateFro = map.getCoordinateFromPixel([this.state.inner[0], this.state.inner[1]]),\n _map$getCoordinateFro2 = _slicedToArray(_map$getCoordinateFro, 2),\n xmin = _map$getCoordinateFro2[0],\n ymin = _map$getCoordinateFro2[1];\n\n var _map$getCoordinateFro3 = map.getCoordinateFromPixel([this.state.inner[2], this.state.inner[3]]),\n _map$getCoordinateFro4 = _slicedToArray(_map$getCoordinateFro3, 2),\n xmax = _map$getCoordinateFro4[0],\n ymax = _map$getCoordinateFro4[1];\n\n this.print_extent = (this.isAxisOrientationInverted() ? [ymin, xmin, ymax, xmax] : [xmin, ymin, xmax, ymax]).join();\n } catch (e) {\n console.warn(e);\n }\n\n return this.print_extent;\n },\n print: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n var has_atlas = !!this.state.atlas;\n var err = void 0;\n var response = void 0;\n\n this.state.loading = true;\n\n try {\n _gui2.default.disableSideBar(true);\n\n if (this._page) {\n yield (0, _promisify.promisify)(_gui2.default.closeContent());\n }\n\n if (has_atlas) {\n _application2.default.download = true;\n yield (0, _downloadFile.downloadFile)({\n url: (yield (0, _printAtlas.printAtlas)({\n template: this.state.template,\n field: this.state.atlas.field_name || '$id',\n values: this.atlas_values,\n download: true\n })).url,\n filename: this.state.template,\n mime_type: 'application/pdf'\n });\n }\n\n if (!has_atlas) {\n this.state.url = null;\n this.state.layers = true;\n\n this._page = new _g3wComponent2.default({ service: { state: this.state }, vueComponentObject: vueComp });\n\n _gui2.default.setContent({\n content: this._page,\n title: 'print',\n perc: 100\n });\n\n var has_theme = this.state.maps.some(function (m) {\n return undefined !== m.preset_theme;\n });\n var store = _application2.default.project.getLayersStore();\n var layers = store.getLayers({ PRINTABLE: { scale: this.state.scale }, SERVERTYPE: 'QGIS' }).reverse();\n var LAYERS = (layers || []).map(function (l) {\n return l.getPrintLayerName();\n }).join();\n var url = store.getWmsUrl();\n var mime_type = { pdf: 'application/pdf', jpg: 'image/jpeg', svg: 'image/svg' }[this.state.format] || this.state.format;\n var params = layers.length && new URLSearchParams(_extends({\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrint',\n TEMPLATE: this.state.template,\n DPI: this.state.dpi,\n STYLES: layers.map(function (l) {\n return l.getStyle();\n }).join(',')\n }, has_theme ? {} : { LAYERS: LAYERS }, {\n FORMAT: { png: 'png', pdf: 'application/pdf', geopdf: 'application/pdf' }[this.state.format] || this.state.format\n }, 'geopdf' === this.state.format ? { FORMAT_OPTIONS: 'WRITE_GEO_PDF:TRUE' } : {}, {\n CRS: store.getProjection().getCode(),\n filtertoken: _application2.default.tokens.filtertoken\n }, this.state.maps.map(function (m) {\n return {\n name: m.name,\n preset_theme: m.preset_theme,\n scale: m.overview ? m.scale : _this2.state.scale,\n extent: m.overview ? _this2.getOverviewExtent(m.extent) : _this2.getPrintExtent()\n };\n }).reduce(function (params, map) {\n var _extends2;\n\n return Object.assign(params, _extends((_extends2 = {}, _defineProperty(_extends2, map.name + ':SCALE', map.scale), _defineProperty(_extends2, map.name + ':EXTENT', map.extent), _defineProperty(_extends2, map.name + ':ROTATION', _this2.state.rotation), _extends2), has_theme && undefined === map.preset_theme ? _defineProperty({}, map.name + ':LAYERS', LAYERS) : {}));\n }, {}), (this.state.labels || []).reduce(function (params, label) {\n return Object.assign(params, _defineProperty({}, label.id, label.text));\n }, {}))).toString();\n\n var method = layers.length && ('geopdf' === this.state.format ? 'GET' : _application2.default.project.state.ows_method);\n\n response = yield 'GET' === method ? Promise.resolve({ ok: true }) : fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: params\n });\n\n this.state.url = 'GET' === method ? url + '?' + params : URL.createObjectURL((yield response.blob()));\n this.state.layers = !!response.ok;\n\n this._page.getInternalComponent().$on('hook:mounted', function () {\n return _this2.state.loading = false;\n });\n\n this._page.unmount = function () {\n _gui2.default.getService('map').viewer.map.once('postrender', _this2._setPrintArea.bind(_this2));\n var promise = _g3wComponent2.default.prototype.unmount.call(_this2._page);\n _this2._page = null;\n return promise;\n };\n }\n } catch (e) {\n if (response && !response.ok && 500 === response.status) {\n err = 500 === response.status ? 'Internal Server Error' : 'Request Failed';\n } else {\n err = e;\n }\n this.state.loading = false;\n\n _gui2.default.disableSideBar(false);\n console.warn(e);\n }\n\n this.state.loading = false;\n\n _application2.default.download = false;\n\n if (has_atlas || !this.state.layers) {\n _gui2.default.disableSideBar(false);\n }\n\n if (err) {\n console.warn(err);\n _gui2.default.notify.error(err || t(\"info.server_error\"));\n _gui2.default.closeContent();\n }\n });\n\n function print() {\n return _ref2.apply(this, arguments);\n }\n\n return print;\n }(),\n showPrintArea: function showPrintArea(show) {\n var _this3 = this;\n\n var reset = !show;\n if (reset && this.select2) {\n this.select2.val(null).trigger('change');\n }\n if (reset) {\n this.atlas_values = [];this.print_extent = null;\n }\n\n if (0 === this.state.print.length) {\n return;\n }\n _gui2.default.closeContent().then(function (component) {\n setTimeout(function () {\n var map = component.getService();\n map.getMap().once('postrender', function () {\n if (!show) {\n return _this3._clearPrint();\n }\n _this3._moveKey = map.viewer.map.on('moveend', _this3._setPrintArea.bind(_this3));\n _this3._initPrintConfig();\n\n if (undefined === _this3.state.atlas && _this3._setPrintArea()) {\n map.startDrawGreyCover();\n }\n });\n map.getMap().renderSync();\n });\n });\n },\n _setPrintArea: function _setPrintArea() {\n if (!this.has_maps) {\n this._clearPrint();\n return false;\n }\n var map = _gui2.default.getService('map').viewer.map;\n var size = map.getSize();\n var resolution = map.getView().getResolution();\n\n var _state$maps$find = this.state.maps.find(function (m) {\n return !m.overview;\n }),\n h = _state$maps$find.h,\n w = _state$maps$find.w;\n\n var res = resolution * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n var w2 = w / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var h2 = h / 1000.0 * parseFloat(this.state.scale) / res / 2;\n var x = size[0] / 2,\n y = size[1] / 2;\n\n this.state.inner = [x - w2, y + h2, x + w2, y - h2];\n _gui2.default.getService('map').setInnerGreyCoverBBox({\n type: 'pixel',\n inner: this.state.inner,\n rotation: this.state.rotation\n });\n return true;\n },\n _clearPrint: function _clearPrint() {\n ol.Observable.unByKey(this._moveKey);\n this._moveKey = null;\n _gui2.default.getService('map').stopDrawGreyCover();\n },\n _setScales: function _setScales(maxRes) {\n var _this4 = this;\n\n var units = _gui2.default.getService('map').getMapUnits();\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(maxRes, units);\n var scales = _g3wConstants.PRINT_SCALES.sort(function (a, b) {\n return b.value - a.value;\n });\n var below = scales.filter(function (s) {\n return s.value < mapScale;\n });\n var above = scales.findLast(function (s) {\n return s.value >= mapScale;\n });\n this.state.scales = (above ? [above] : []).concat(below);\n this.state.scales.forEach(function (s) {\n return _this4._resolutions[s.value] = (0, _getResolutionFromScale.getResolutionFromScale)(s.value, units);\n });\n },\n _initPrintConfig: function _initPrintConfig() {\n var _this5 = this;\n\n var view = _gui2.default.getService('map').viewer.map.getView();\n if (!this._initialized) {\n this._setScales(view.getMaxResolution());\n this._initialized = true;\n }\n var resolution = view.getResolution();\n\n Object.entries(this._resolutions).find(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n scala = _ref5[0],\n res = _ref5[1];\n\n if (resolution <= res) {\n _this5.state.scale = scala;\n return true;\n }\n });\n },\n reload: function reload() {\n var _this6 = this;\n\n this.state.print = _application2.default.project.state.print || [];\n var visible = this.state.print.length > 0;\n var init = this._initialized;\n this.state.template = visible ? this.state.print[0].name : this.state.template;\n if (visible && !init) {\n this.init();\n }\n if (visible) {\n this._initPrintConfig();\n var map = _gui2.default.getService('map');\n map.on('changeviewaftercurrentproject', function () {\n _this6.state.scales = _g3wConstants.PRINT_SCALES;\n _this6._setScales(map.viewer.map.getView().getMaxResolution());\n });\n } else {\n this._clearPrint();\n }\n },\n initSelect2Field: function initSelect2Field() {\n var _this7 = this;\n\n this.select2 = $('#print_atlas_autocomplete').select2({\n width: '100%',\n multiple: true,\n dropdownParent: $(this.$refs.print_atlas),\n minimumInputLength: 1,\n ajax: {\n delay: 500,\n transport: function () {\n var _ref6 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getCatalogLayerById.getCatalogLayerById)(_this7.state.atlas.qgs_layer_id).getFilterData({\n suggest: _this7.state.atlas.field_name + '|' + d.data.q,\n unique: _this7.state.atlas.field_name\n })).map(function (v) {\n return { id: v, text: v };\n })\n });\n } catch (e) {\n console.warn(e);\n ko(e);\n }\n });\n\n function transport(_x2, _x3, _x4) {\n return _ref6.apply(this, arguments);\n }\n\n return transport;\n }()\n },\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n this.select2.on('select2:select', function (e) {\n _this7.atlas_values.push(e.params.data.id);\n });\n this.select2.on('select2:unselect', function (e) {\n _this7.atlas_values = _this7.atlas_values.filter(function (v) {\n return v != e.params.data.id;\n });\n });\n }\n },\n\n watch: {\n has_autocomplete: function () {\n var _ref7 = _asyncToGenerator(function* (b) {\n if (!b) {\n return;\n }\n yield this.$nextTick();\n this.initSelect2Field();\n });\n\n function has_autocomplete(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return has_autocomplete;\n }(),\n\n\n atlas_values: {\n immediate: true,\n handler: function () {\n var _ref8 = _asyncToGenerator(function* (vals) {\n var _this8 = this;\n\n if (this._skip_atlas_check || !this.state.atlas) {\n return;\n }\n if (this.has_autocomplete) {\n this.disabled = 0 === vals.length;\n return;\n }\n var validate = function validate(n) {\n return n && Number.isInteger(1 * n) && 1 * n >= 0 && 1 * n < _this8.state.atlas.feature_count || null;\n };\n var values = new Set();\n var value = (vals ? vals[0] : '') || '';\n value.split(',').filter(function (v) {\n return v;\n }).forEach(function (value) {\n if (!value.includes('-') && null !== validate(value)) {\n values.add(value);\n return;\n }\n var _values = value.split('-');\n var range = _values.filter(function (v) {\n return validate(v) !== null;\n });\n if (range.length === _values.length && range.reduce(function (bool, value, i) {\n return bool && (0 === i || range[i - 1] <= value);\n }, true)) {\n for (var i = 1; i < range.length; i++) {\n for (var j = range[i - 1]; j < range[i]; j++) {\n values.add(j + '');\n }\n }\n values.add(range[range.length - 1]);\n }\n });\n this._skip_atlas_check = true;\n this.atlas_values = Array.from(values);\n yield this.$nextTick();\n this._skip_atlas_check = false;\n this.disabled = '' === value.trim();\n });\n\n function handler(_x6) {\n return _ref8.apply(this, arguments);\n }\n\n return handler;\n }()\n },\n\n 'state.url': function () {\n var _ref9 = _asyncToGenerator(function* (url) {\n var _this9 = this;\n\n if (!url) {\n return;\n }\n var timeout = void 0;\n\n try {\n\n yield this.$nextTick();\n\n timeout = setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this9.state.downloading = false;\n _gui2.default.showUserMessage({ type: 'alert', message: 'timeout' });\n }, _g3wConstants.TIMEOUT);\n\n var response = yield fetch(url);\n\n if (!response.ok) {\n throw response.statusText;\n }\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(e || t(\"info.server_error\"));\n _gui2.default.closeContent();\n } finally {\n clearTimeout(timeout);\n _gui2.default.disableSideBar(false);\n this.state.downloading = false;\n }\n });\n\n function stateUrl(_x7) {\n return _ref9.apply(this, arguments);\n }\n\n return stateUrl;\n }()\n\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n\n if (this.state.atlas) {\n this.initSelect2Field();\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu\",attrs:{\"id\":\"print\"}},[_c('li',[(_vm.state.print.length)?_c('form',{staticClass:\"g3w-search-form form-horizonal\"},[_c('div',{staticClass:\"box-body\"},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading}})],1),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.print.help\"}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.template'),expression:\"'sdk.print.template'\"}],attrs:{\"for\":\"templates\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.template'),expression:\"'state.template'\"}],staticClass:\"form-control\",style:({ marginBottom: this.state.atlas && '10px' }),attrs:{\"id\":\"templates\",\"select2_value\":_vm.state.template},on:{\"change\":_vm.changeTemplate}},_vm._l((_vm.state.print),function(print){return _c('option',{domProps:{\"value\":print.name}},[_vm._v(_vm._s(print.name))])}),0),_vm._v(\" \"),(!_vm.state.atlas)?[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.scale'),expression:\"'sdk.print.scale'\"}],attrs:{\"for\":\"scale\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"select2\",rawName:\"v-select2\",value:('state.scale'),expression:\"'state.scale'\"}],ref:\"scales\",staticClass:\"form-control\",attrs:{\"id\":\"scale\",\"select2_value\":_vm.state.scale,\"createTag\":true},on:{\"change\":_vm.changeScale}},_vm._l((_vm.state.scales),function(scale){return _c('option',{domProps:{\"value\":scale.value}},[_vm._v(_vm._s(scale.label))])}),0),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"dpi\"}},[_vm._v(\"dpi\")]),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.dpi'),expression:\"'state.dpi'\"}],ref:\"dpi\",staticClass:\"form-control\",attrs:{\"id\":\"dpi\",\"select2_value\":_vm.state.dpi,\"createTag\":true},on:{\"change\":_vm.changeDpi}},_vm._l((_vm.state.dpis),function(dpi){return _c('option',[_vm._v(_vm._s(dpi))])}),0),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.rotation'),expression:\"'sdk.print.rotation'\"}],attrs:{\"for\":\"rotation\"}}),_vm._v(\" \"),_c('input',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.has_maps),expression:\"!has_maps\"},{name:\"model\",rawName:\"v-model\",value:(_vm.state.rotation),expression:\"state.rotation\"}],staticClass:\"form-control\",attrs:{\"id\":\"rotation\",\"min\":\"-360\",\"max\":\"360\",\"type\":\"number\"},domProps:{\"value\":(_vm.state.rotation)},on:{\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(_vm.state, \"rotation\", $event.target.value)},_vm.changeRotation]}}),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.format'),expression:\"'sdk.print.format'\"}],attrs:{\"for\":\"format\"}}),_vm._v(\" \"),_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('state.format'),expression:\"'state.format'\"}],staticClass:\"form-control\",attrs:{\"id\":\"format\",\"select2_value\":_vm.state.format}},_vm._l((_vm.state.formats),function(format){return _c('option',{domProps:{\"value\":format.value}},[_vm._v(_vm._s(format.label))])}),0)]:_vm._e(),_vm._v(\" \"),(_vm.state.atlas)?_c('div',{ref:\"print_atlas\",staticClass:\"form-group\",staticStyle:{\"width\":\"100%\"}},[(_vm.has_autocomplete)?[_c('label',{attrs:{\"for\":\"print_atlas_autocomplete\"}},[_c('span',[_vm._v(_vm._s(_vm.state.atlas.field_name))])]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"print_atlas_autocomplete\",\"name\":_vm.state.atlas.field_name}})]:[_c('label',[_c('span',[_vm._v(\"fids [max: \"+_vm._s(_vm.state.atlas.feature_count - 1)+\"]\")])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.atlas_values),expression:\"atlas_values\"}],staticClass:\"form-control\",domProps:{\"value\":(_vm.atlas_values)},on:{\"keydown\":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,\"space\",32,$event.key,[\" \",\"Spacebar\"])){ return null; }$event.preventDefault();},\"input\":function($event){if($event.target.composing){ return; }_vm.atlas_values=$event.target.value}}}),_vm._v(\" \"),_c('div',{attrs:{\"id\":\"fid-print-atals-instruction\"}},[_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_instruction'),expression:\"'sdk.print.fids_instruction'\"}],attrs:{\"id\":\"fids_intruction\"}}),_vm._v(\" \"),_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.fids_example'),expression:\"'sdk.print.fids_example'\"}],attrs:{\"id\":\"fids_examples_values\"}})])]],2):_vm._e(),_vm._v(\" \"),(_vm.state.labels && _vm.state.labels.length > 0)?_c('div',{staticClass:\"print-labels-content\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.labels'),expression:\"'sdk.print.labels'\"}],staticClass:\"skin-color\"}),_vm._v(\" \"),_c('div',{staticClass:\"labels-input-content\"},_vm._l((_vm.state.labels),function(label){return _c('span',{key:label.id},[_c('label',{attrs:{\"for\":(\"g3w_label_id_input_\" + (label.id))}},[_vm._v(\" \"+_vm._s(label.id))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(label.text),expression:\"label.text\"}],staticClass:\"form-control\",attrs:{\"id\":(\"g3w_label_id_input_\" + (label.id))},domProps:{\"value\":(label.text)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(label, \"text\", $event.target.value)}}})])}),0)]):_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"box-footer\"},[_c('span',[_c('button',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disabled),expression:\"disabled\"},{name:\"download\",rawName:\"v-download\"},{name:\"t\",rawName:\"v-t\",value:('create_print'),expression:\"'create_print'\"}],staticClass:\"sidebar-button-run btn\",attrs:{\"id\":\"printbutton\"},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.print($event)}}})])])]):_vm._e(),_vm._v(\" \"),_c('div',{staticStyle:{\"padding\":\"1em\",\"text-align\":\"center\"}},[_c('b',[_c('a',{attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/training_manual/map_composer/map_composer.html\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')}),_vm._v(\" Edit in QGIS\\n \")])])])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-9e025612\"\n\n},{\"components/PrintPage.vue\":88,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins/resize\":167,\"services/gui\":173,\"store/application\":178,\"utils/downloadFile\":200,\"utils/getCatalogLayerById\":203,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/printAtlas\":231,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],88:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#print-output[data-v-184574a6]{height:100%;position:relative}#print-output>iframe[data-v-184574a6]{border:0;width:100%;height:100%}.g3w-print-image-output[data-v-184574a6]{display:flex;flex-direction:column;position:relative;height:100%}#g3w-print-header[data-v-184574a6]{display:flex;justify-content:flex-end;align-items:flex-end;margin-top:5px;margin-bottom:5px}#g3w-print-header button[data-v-184574a6]{font-weight:700}.g3w-print-url[data-v-184574a6]{height:100%;width:100%;position:relative;overflow-y:auto}.g3w-print-url>img[data-v-184574a6]{height:auto;max-width:100%}#print-output>h4[data-v-184574a6]{font-weight:700}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'print-page',\n\n data: function data() {\n var state = this.$options.service.state || {};\n return {\n state: state,\n\n format: state.format,\n ready: false\n };\n },\n\n\n methods: {\n downloadImage: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n _gui2.default.disableSideBar(true);\n this.state.downloading = true;\n if (['jpg', 'png', 'svg'].includes(this.format)) {\n yield this.imageToDataURL({ src: this.state.url, type: 'image/' + this.format });\n setTimeout(function () {\n _gui2.default.disableSideBar(false);\n _this.state.downloading = false;\n });\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function downloadImage() {\n return _ref.apply(this, arguments);\n }\n\n return downloadImage;\n }(),\n imageToDataURL: function imageToDataURL(_ref2) {\n var src = _ref2.src,\n _ref2$type = _ref2.type,\n type = _ref2$type === undefined ? 'image/jpeg' : _ref2$type,\n _ref2$callback = _ref2.callback,\n callback = _ref2$callback === undefined ? function () {} : _ref2$callback;\n\n return new Promise(function (resolve, reject) {\n var image = new Image();\n image.onload = function () {\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.height = this.naturalHeight;\n canvas.width = this.naturalWidth;\n context.drawImage(this, 0, 0);\n var dataURL = canvas.toDataURL(type);\n callback(dataURL);\n resolve(dataURL);\n };\n image.onerror = reject;\n image.src = src;\n });\n }\n },\n\n watch: {\n ready: {\n handler: function handler(bool) {\n _gui2.default.setLoadingContent(!bool);\n },\n\n immediate: true\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n if (this.state.url && 'POST' === _application2.default.project.state.ows_method) {\n window.URL.revokeObjectURL(this.state.url);\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"print-output\"}},[_c('transition',{attrs:{\"duration\":500,\"name\":\"fade\"}},[_c('bar-loader',{attrs:{\"loading\":_vm.state.loading && _vm.state.layers}})],1),_vm._v(\" \"),(_vm.state.layers)?[(['pdf', 'geopdf'].includes(_vm.format))?_c('iframe',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}}):_c('div',{staticClass:\"g3w-print-image-output\"},[_c('div',{attrs:{\"id\":\"g3w-print-header\"}},[_c('div',{class:{ 'g3w-disabled': !!(_vm.state.downloading && _vm.state.layers) }},[_c('a',{attrs:{\"href\":_vm.state.url,\"download\":(\"download.\" + _vm.format)}},[_c('button',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip.create\",value:('sdk.print.download_image'),expression:\"'sdk.print.download_image'\",modifiers:{\"create\":true}}],staticClass:\"btn skin-button skin-tooltip-left\",class:_vm.$fa('download'),attrs:{\"data-placement\":\"left\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\",\"role\":\"button\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadImage($event)}}})])])]),_vm._v(\" \"),(_vm.state.url)?_c('div',{staticClass:\"g3w-print-url\"},[_c('img',{ref:\"out\",attrs:{\"src\":_vm.state.url},on:{\"load\":function($event){_vm.ready = true},\"error\":function($event){_vm.ready = true}}})]):_vm._e()])]:_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.print.no_layers'),expression:\"'sdk.print.no_layers'\"}]})],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-184574a6\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],89:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".project-menu[data-v-4c9dd89f]{cursor:pointer;margin-bottom:20px;margin-top:20px}.project-menu-item-image[data-v-4c9dd89f]{position:relative;overflow:hidden;padding-bottom:50%}.project-menu-item-image img[data-v-4c9dd89f]{position:absolute;top:0;bottom:0;left:0;right:0;margin:auto}.project-menu-item-content[data-v-4c9dd89f]{padding:15px;background:hsla(0,0%,100%,.3)}.project-menu-item-text[data-v-4c9dd89f]{position:relative;overflow:hidden;height:100%;text-align:justify}.project-menu-item-title[data-v-4c9dd89f]{text-align:center;font-weight:700;background:hsla(0,0%,100%,.5);padding:5px}#menu-projects[data-v-4c9dd89f]{width:100%;overflow-y:auto}#menu-projects .row-equal[data-v-4c9dd89f]{display:flex;flex-wrap:wrap}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'projects-menu',\n\n data: function data() {\n return {\n state: null,\n loading: false\n };\n },\n\n\n methods: {\n trigger: function trigger(item) {\n if (item.cbk) this._initCallback(item);else if (item.href) window.open(item.href, '_blank');else if (item.route) _gui2.default.goto(item.route);else console.log(\"No action for \" + item.title);\n },\n _initCallback: function _initCallback(item) {\n var _this = this;\n\n this._toggleModal(true);\n item.cbk.call(item, { gid: item.gid }).then(function (promise) {\n promise.then(function (project) {\n if (project) document.title = project.state.html_page_title;\n }).fail(function () {\n _gui2.default.notify.error(\"

\" + t(\"error_map_loading\") + \"

\" + \"
\" + t(\"check_internet_connection_or_server_admin\") + \"
\");\n }).always(function () {\n _this._toggleModal(false);\n });\n });\n },\n _toggleModal: function _toggleModal(state) {\n _gui2.default.showFullModal({ show: state });\n _gui2.default.setLoadingContent(state);\n },\n logoSrc: function logoSrc(src) {\n var imageSrc = void 0;\n var host = this.$options.host || '';\n var has_media = src && src.includes(window.initConfig.mediaurl);\n var not_static = src && !src.includes('static') && !src.includes('media');\n\n if (!src) {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n } else if (has_media) {\n imageSrc = src;\n } else if (not_static) {\n imageSrc = '' + window.initConfig.mediaurl + src;\n } else {\n imageSrc = '/static/client/images/FakeProjectThumb.png';\n }\n\n return '' + host + imageSrc;\n }\n }\n\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"container\",attrs:{\"id\":\"menu-projects\"}},[_c('div',{staticClass:\"row row-equal\"},[_vm._l((_vm.state.menuitems),function(menuitem){return _c('div',{key:menuitem.title,staticClass:\"col-xs-12 col-sm-4 project-menu\",on:{\"click\":function($event){return _vm.trigger(menuitem)}}},[_c('div',{staticClass:\"project-menu-item-image\"},[_c('img',{staticClass:\"img-responsive\",attrs:{\"src\":_vm.logoSrc(menuitem.thumbnail)}})]),_vm._v(\" \"),_c('div',{staticClass:\"project-menu-item-content\"},[_c('div',{staticClass:\"project-menu-item-text\"},[_c('h4',{staticClass:\"project-menu-item-title\"},[_vm._v(_vm._s(menuitem.title))]),_vm._v(\" \"),_c('div',{domProps:{\"innerHTML\":_vm._s(menuitem.description)}})])])])}),_vm._v(\" \"),(!_vm.state.menuitems.length)?_c('div',{staticStyle:{\"margin-left\":\"15px\"}},[_c('h2',{directives:[{name:\"t\",rawName:\"v-t\",value:('no_other_projects'),expression:\"'no_other_projects'\"}]})]):_vm._e()],2)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-4c9dd89f\"\n\n},{\"g3w-i18n\":128,\"services/gui\":173,\"vueify/lib/insert-css\":2}],90:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#query_builder[data-v-81e8d74e]{font-family:monospace;margin-bottom:0;height:100%;display:flex;flex-wrap:nowrap;flex-direction:column}#query_builder .select2.select2-container[data-v-81e8d74e]{font-weight:700}.querybuilder-title[data-v-81e8d74e]{color:#fff;font-weight:700}select[data-v-81e8d74e]{background-color:#fff;color:#000;border:none}option[data-v-81e8d74e]{padding:8px;cursor:pointer}option[data-v-81e8d74e]:checked{background:var(--skin-color) linear-gradient(0deg,var(--skin-color),var(--skin-color));color:#fff}option[data-v-81e8d74e]:nth-of-type(odd){background-color:#f9f9f9}.query_builder_button[data-v-81e8d74e]{margin:1px;flex-basis:78px;flex-grow:1;color:#000}.content-wrap[data-v-81e8d74e]{display:flex;flex-wrap:wrap}.content-end[data-v-81e8d74e]{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:5px}.margin-between-element[data-v-81e8d74e]{margin-bottom:5px}#query_builder_expression_content[data-v-81e8d74e]{width:100%;resize:none;height:100px;color:#000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'query-builder',\n\n data: function data() {\n return {\n edit: undefined !== this.$options.options,\n currentlayer: null,\n message: '',\n filter: undefined !== this.$options.options ? this.$options.options.filter : '',\n loading: {\n test: false,\n values: false\n },\n values: [],\n manual: true,\n manualvalue: null,\n select: {\n field: null,\n value: null\n }\n };\n },\n\n\n computed: {\n fields: function fields() {\n return this.currentlayer ? this.currentlayer.fields : [];\n },\n disabled: function disabled() {\n return !this.filter;\n }\n },\n\n watch: {\n 'select.field': function selectField() {\n this.values = [];\n this.manual = true;\n }\n },\n\n methods: {\n addToExpression: function addToExpression() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref.value,\n type = _ref.type;\n\n switch (type) {\n case 'operator':\n value = ' ' + value + ' ';break;\n case 'field':\n value = '\"' + value + '\"';break;\n case 'value':\n value = '\\'' + value + '\\'';break;\n }\n if (value) this.filter = '' + this.filter + value;\n },\n all: function () {\n var _ref2 = _asyncToGenerator(function* () {\n this.loading.values = true;\n try {\n var layerId = this.currentlayer.id;\n var field = this.select.field;\n var CACHE = _application2.default.querybuilder.cache;\n CACHE[layerId] = CACHE[layerId] || {};\n if (undefined !== CACHE[layerId][field]) {\n this.values = CACHE[layerId][field];\n } else {\n var response = yield _XHR.XHR.get({\n url: (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getUrl('data'),\n params: { ordering: field, formatter: 1, fformatter: field }\n });\n if (response.result) {\n CACHE[layerId][field] = CACHE[layerId][field] || response.data;\n }\n this.values = CACHE[layerId][field] || [];\n }\n } catch (e) {\n console.warn(e);\n }\n this.loading.values = false;\n yield this.$nextTick();\n this.manualvalue = null;\n this.manual = false;\n });\n\n function all() {\n return _ref2.apply(this, arguments);\n }\n\n return all;\n }(),\n reset: function reset() {\n this.filter = '';\n this.message = '';\n this.filterElement.previous = null;\n this.filterElement.current = null;\n this.filterElement.operator = null;\n this.select.field = null;\n if (this.$refs.search_fields) {\n this.$refs.search_fields.selectedIndex = -1;\n }\n if (this.$refs.search_values) {\n this.$refs.search_values.selectedIndex = -1;\n }\n },\n run: function () {\n var _ref3 = _asyncToGenerator(function* () {\n try {\n this.loading.test = true;\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id);\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: this.filter }),\n feature_count: 100\n },\n outputs: true\n }),\n data = _ref4.data;\n\n var n = data.length && data[0].features.length;\n this.message = undefined !== n ? ' ' + n : '';\n return data;\n } catch (e) {\n console.warn(e);\n } finally {\n this.loading.test = false;\n }\n });\n\n function run() {\n return _ref3.apply(this, arguments);\n }\n\n return run;\n }(),\n save: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var id = this.projectId || _application2.default.project.getId();\n var edit_id = this.edit && this.$options.options.id;\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var searches = item ? JSON.parse(item) : undefined;\n\n var query = void 0;\n\n try {\n query = {\n layerId: this.currentlayer.id,\n filter: this.filter,\n layerName: (0, _getCatalogLayerById.getCatalogLayerById)(this.currentlayer.id).getName(),\n name: edit_id ? this.edit && this.$options.options.name : yield new Promise(function (res, rej) {\n _gui2.default.dialog.prompt(t('sdk.querybuilder.additem'), function (d) {\n return d ? res(d) : rej();\n });\n }),\n id: edit_id || (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n if (edit_id) {\n var i = searches[id].findIndex(function (s) {\n return s.id === query.id;\n });\n if (-1 !== i) {\n searches[id][i] = query;\n }\n } else {\n _gui2.default.getService('search').state.querybuildersearches.push(query);\n if (undefined === searches) {\n searches = _defineProperty({}, id, [query]);\n } else {\n searches[id] = [].concat(_toConsumableArray(searches[id] || []), [query]);\n }\n }\n } catch (e) {\n console.warn(e);\n return;\n }\n\n var ITEMS = _application2.default.querybuilder.searches;\n\n try {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(searches));\n } catch (e) {\n console.warn(e);\n }\n\n setTimeout(function () {\n searches[id].forEach(function (q) {\n return ITEMS[id].push(q);\n });\n }, 0);\n ITEMS[id].splice(0);\n _gui2.default.showUserMessage({ type: 'success', message: t(\"sdk.querybuilder.messages.changed\"), autoclose: true });\n });\n\n function save() {\n return _ref5.apply(this, arguments);\n }\n\n return save;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.filterElement = {\n current: null,\n previous: null,\n operator: null\n };\n\n var project = _application2.default.project;\n\n this.layers = project.getLayers().filter(function (l) {\n return !l.baselayer && Array.isArray(l.fields);\n }).map(function (layer) {\n var exclude = [];\n project.state.relations.filter(function (r) {\n return layer.id === r.referencedLayer && 'ONE' === r.type;\n }).forEach(function (r) {\n var l = project.getLayerById(r.referencingLayer);\n r.customPrefix = r.customPrefix === undefined ? l.getName() + '_' : r.customPrefix;\n exclude = [].concat(_toConsumableArray(exclude), _toConsumableArray(l.getFields().map(function (field) {\n return '' + r.customPrefix + field.name;\n })));\n });\n return {\n id: layer.id,\n label: layer.title,\n fields: layer.fields.filter(function (f) {\n return f.show;\n }).map(function (f) {\n return { label: f.label, name: f.name };\n }).filter(function (f) {\n return !exclude.includes(f);\n })\n };\n });\n\n this.operators = Object.values(_g3wConstants.FILTER_OPERATORS);\n\n this.currentlayer = this.edit ? this.layers.find(function (l) {\n return l.id === _this.$options.options.layerId;\n }) : this.layers[0];\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n yield this.$nextTick();\n\n this.select2 = $('#query_builder_layers_select').select2({ width: '100%' });\n\n if (this.edit) {\n this.select2.val(this.layers.indexOf(this.currentlayer));\n this.select2.trigger('change');\n }\n\n this.select2.on('select2:select', function (e) {\n _this2.currentlayer = _this2.layers[e.params.data.id];\n _this2.select.field = null;\n _this2.select.value = null;\n _this2.reset();\n });\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.select2.select2('destroy');\n this.select2 = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"form-group\",attrs:{\"id\":\"query_builder\"}},[_c('div',{staticClass:\"margin-between-element\",attrs:{\"id\":\"query_builder_layers\"}},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.expression'),expression:\"'sdk.querybuilder.panel.expression'\"}],staticClass:\"querybuilder-title\"}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":\"https://g3w-suite.readthedocs.io/en/v3.7.x/g3wsuite_client.html#search-and-query-builder\",\"target\":\"_blank\",\"title\":\"Docs\"}},[_c('i',{class:_vm.$fa('external-link')})]),_vm._v(\" \"),_c('select',{staticClass:\"form-control\",attrs:{\"id\":\"query_builder_layers_select\"}},_vm._l((_vm.layers),function(layer,i){return _c('option',{key:layer.label,staticClass:\"bold\",domProps:{\"value\":i}},[_vm._v(_vm._s(layer.label))])}),0)]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.filter),expression:\"filter\"}],attrs:{\"id\":\"query_builder_expression_content\"},domProps:{\"value\":(_vm.filter)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.filter=$event.target.value}}}),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.test}}),_vm._v(\" \"),_c('b',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.message),expression:\"message\"}],staticClass:\"skin-color\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.messages.number_of_features'),expression:\"'sdk.querybuilder.messages.number_of_features'\"}]}),_vm._v(_vm._s(_vm.message))]),_vm._v(\" \"),_c('div',{staticClass:\"content-end\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.run'),expression:\"'sdk.querybuilder.panel.button.run'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.run}},[_c('i',{class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"}})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.clear'),expression:\"'sdk.querybuilder.panel.button.clear'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":_vm.reset}},[_c('i',{class:_vm.$fa('clear')})]),_vm._v(\" \"),_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.save'),expression:\"'sdk.querybuilder.panel.button.save'\"}],staticClass:\"query_builder_button btn btn-secondary bold\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.save}},[_c('i',{class:_vm.$fa('save')})])]),_vm._v(\" \"),_c('hr'),_vm._v(\" \"),_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.fields'),expression:\"'sdk.querybuilder.panel.fields'\"}]}),_vm._v(\" \"),_c('select',{ref:\"search_fields\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.fields),function(field){return _c('option',{key:field.name,on:{\"click\":function($event){_vm.select.field = field.name; _vm.addToExpression({ value: field.name, type: 'field' })}}},[_vm._v(_vm._s(field.label))])})],2),_vm._v(\" \"),_c('div',{staticClass:\"content-wrap margin-between-element\"},_vm._l((_vm.operators),function(operator){return _c('button',{key:operator,staticClass:\"query_builder_button btn btn-secondary bold\",on:{\"click\":function($event){return _vm.addToExpression({ value: operator, type: 'operator' })}}},[_vm._v(_vm._s(operator))])}),0),_vm._v(\" \"),_c('bar-loader',{attrs:{\"loading\":_vm.loading.values}}),_vm._v(\" \"),(!_vm.manual)?_c('select',{ref:\"search_values\",staticClass:\"margin-between-element\",attrs:{\"size\":\"4\"}},[_c('option',{attrs:{\"selected\":\"\",\"hidden\":\"\"}}),_vm._v(\" \"),_vm._l((_vm.values),function(ref){\nvar key = ref[0];\nvar value = ref[1];\nreturn _c('option',{key:key,on:{\"click\":function($event){_vm.select.value = key; _vm.addToExpression({ value: key, type: 'value' })}}},[_vm._v(_vm._s(value))])})],2):_vm._e(),_vm._v(\" \"),(_vm.select.field !== null && !_vm.values.length)?_c('button',{staticClass:\"btn btn-secondary bold\",class:{'skin-border-color' : !_vm.manual },staticStyle:{\"color\":\"#000\"},on:{\"click\":_vm.all}},[_c('i',{class:_vm.g3wtemplate.getFontClass('search')}),_vm._v(\" \"),_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.querybuilder.panel.button.all'),expression:\"'sdk.querybuilder.panel.button.all'\"}]})]):_vm._e()],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-81e8d74e\"\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],91:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".feature_attributes tr[data-v-09a18998]{line-height:1.8em}.featurebox-body+tr[data-v-09a18998]{border-top:2px groove #000}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _mixins = require('mixins');\n\nvar _QueryResultsTableAttributeFieldValue = require('components/QueryResultsTableAttributeFieldValue.vue');\n\nvar _QueryResultsTableAttributeFieldValue2 = _interopRequireDefault(_QueryResultsTableAttributeFieldValue);\n\nvar _QueryResultsActionInfoFormats = require('components/QueryResultsActionInfoFormats.vue');\n\nvar _QueryResultsActionInfoFormats2 = _interopRequireDefault(_QueryResultsActionInfoFormats);\n\nvar _QueryResultsHeaderFeatureBody = require('components/QueryResultsHeaderFeatureBody.vue');\n\nvar _QueryResultsHeaderFeatureBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureBody);\n\nvar _QueryResultsHeaderFeatureActionsBody = require('components/QueryResultsHeaderFeatureActionsBody.vue');\n\nvar _QueryResultsHeaderFeatureActionsBody2 = _interopRequireDefault(_QueryResultsHeaderFeatureActionsBody);\n\nvar _toRawType = require('utils/toRawType');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar MAX_SUBSET_LENGTH = 3;\nvar headerExpandActionCellWidth = 10;\nvar headerActionsCellWidth = 10;\nvar HEADERTYPESFIELD = ['varchar', 'integer', 'float', 'bigint', 'date'];\n\nexports.default = {\n name: 'queryresults',\n\n data: function data() {\n return {\n state: this.$options.service.state,\n headerExpandActionCellWidth: headerExpandActionCellWidth,\n headerActionsCellWidth: headerActionsCellWidth\n };\n },\n\n mixins: [_mixins.fieldsMixin],\n components: {\n TableAttributeFieldValue: _QueryResultsTableAttributeFieldValue2.default,\n 'infoformats': _QueryResultsActionInfoFormats2.default,\n 'header-feature-body': _QueryResultsHeaderFeatureBody2.default,\n HeaderFeatureActionsBody: _QueryResultsHeaderFeatureActionsBody2.default\n },\n computed: {\n onelayerresult: function onelayerresult() {\n return 1 === this.state.layers.length;\n },\n hasLayers: function hasLayers() {\n return this.hasResults || !!this.state.components.length;\n },\n hasResults: function hasResults() {\n return this.state.layers.length > 0;\n },\n info: function info() {\n if (this.state.query) {\n var query = this.state.query;\n\n var decimalNumber = 'degrees' === _gui2.default.getService('map').getMapUnits() ? 4 : 2;\n switch (query.type) {\n case 'coordinates':\n return {\n icon: 'marker',\n message: ' ' + query.coordinates[0].toFixed(decimalNumber) + ', ' + query.coordinates[1].toFixed(decimalNumber)\n };\n case 'bbox':\n return {\n icon: 'square',\n message: ' [' + query.bbox.map(function (c) {\n return c.toFixed(decimalNumber);\n }).join(' , ') + ']'\n };\n case 'polygon':\n case 'drawpolygon':\n return {\n icon: 'draw',\n message: query.layerName ? query.layerName + ' ' + (undefined !== query.fid ? ' - Feature Id: ' + query.fid : '') : ' ' };\n case 'circle':\n return {\n icon: 'empty-circle',\n message: ' ' };\n default:\n console.warn('Unsupported query type: ' + query.type);\n break;\n }\n } else if (this.state.search) {}\n\n return { icon: null, message: null };\n },\n queryableLayers: function queryableLayers() {\n return (0, _getMapLayersByFilter.getMapLayersByFilter)({ QUERYABLE: true });\n },\n selectedLayer: function selectedLayer() {\n return _gui2.default.getService('map').getSelectedLayer();\n }\n },\n methods: {\n getLayerDownloads: function getLayerDownloads() {\n var downloads = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return downloads.filter(function (d) {\n return 'pdf' !== d;\n });\n },\n showLayer: function showLayer(layer) {\n return layer.show && (this.layerHasFeatures(layer) || layer.rawdata || Array.isArray(layer.infoformats) && layer.infoformats.length > 0);\n },\n getLayerCustomComponents: function getLayerCustomComponents(layerId) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'feature';\n var position = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'after';\n\n return this.state.layerscustomcomponents[layerId] && this.state.layerscustomcomponents[layerId][type] && this.state.layerscustomcomponents[layerId][type][position] || [];\n },\n getLayerField: function getLayerField(_ref) {\n var layer = _ref.layer,\n feature = _ref.feature,\n fieldName = _ref.fieldName;\n\n var layerField = layer.attributes.find(function (a) {\n return fieldName === a.name;\n });\n return _extends({}, layerField, {\n label: null,\n value: feature.attributes[fieldName]\n });\n },\n getQueryFields: function getQueryFields(layer, feature) {\n var fields = [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = layer.formStructure.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n var _field = _extends({}, field);\n _field.query = true;\n _field.value = feature.attributes[field.name];\n _field.input = {\n type: '' + this.getFieldType(_field)\n };\n fields.push(_field);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n return fields;\n },\n getColSpan: function getColSpan(layer) {\n return this.attributesSubsetLength(layer) + !this.hasLayerOneFeature(layer) * 1;\n },\n addLayerFeaturesToResults: function addLayerFeaturesToResults(layer) {\n this.$options.service.addLayerFeaturesToResultsAction(layer);\n },\n printAtlas: function printAtlas(layer) {\n this.$options.service.printAtlas(layer);\n },\n showLayerDownloadFormats: function showLayerDownloadFormats(layer) {\n this.$options.service.showLayerDownloadFormats(layer);\n },\n saveLayerResult: function saveLayerResult(layer) {\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"csv\";\n\n this.$options.service.downloadFeatures(type, layer, layer.features);\n },\n hasLayerOneFeature: function hasLayerOneFeature(layer) {\n return layer.features.length === 1;\n },\n saveFilter: function saveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).saveFilter();\n },\n addRemoveFilter: function addRemoveFilter(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).toggleFilterToken();\n },\n getContainerFromFeatureLayer: function getContainerFromFeatureLayer() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n index = _ref2.index;\n\n return $('#' + layer.id + '_' + index + ' > td');\n },\n hasOneLayerAndOneFeature: function hasOneLayerAndOneFeature(layer) {\n return this.hasLayerOneFeature(layer);\n },\n hasFormStructure: function hasFormStructure(layer) {\n return !!layer.formStructure;\n },\n layerHasFeatures: function layerHasFeatures(layer) {\n return Array.isArray(layer.features) && layer.features.length > 0;\n },\n addToSelection: function addToSelection(layer) {\n this.$options.service.addToSelection(layer);\n },\n extractAttributesFromFirstTabOfFormStructureLayers: function extractAttributesFromFirstTabOfFormStructureLayers(layer) {\n var _this = this;\n\n var attributes = new Set();\n var traverseStructure = function traverseStructure(item) {\n if (item.nodes) {\n item.nodes.forEach(function (node) {\n return traverseStructure(node);\n });\n } else {\n var field = layer.formStructure.fields.find(function (f) {\n return item.field_name === f.name;\n });\n if (field) {\n if (_this.state.type === 'ows') {\n field = _extends({}, field);\n field.name = field.name.replace(/ /g, '_');\n }\n attributes.add(field);\n }\n }\n };\n if (layer.formStructure.structure.length) {\n layer.formStructure.structure.forEach(function (structure) {\n return traverseStructure(structure);\n });\n }\n return Array.from(attributes);\n },\n attributesSubset: function attributesSubset(layer) {\n var attributes = this.hasFormStructure(layer) ? this.extractAttributesFromFirstTabOfFormStructureLayers(layer) : layer.attributes;\n var _attributes = attributes.filter(function (attribute) {\n return attribute.show && HEADERTYPESFIELD.includes(attribute.type);\n });\n\n var end = Math.min(MAX_SUBSET_LENGTH, attributes.length);\n return _attributes.slice(0, end);\n },\n attributesSubsetLength: function attributesSubsetLength(layer) {\n return this.attributesSubset(layer).length;\n },\n getLayerFormStructure: function getLayerFormStructure(layer) {\n return layer.formStructure.structure.map(function (n) {\n return Vue.observable(structuredClone(n));\n });\n },\n getLayerFeatureBox: function getLayerFeatureBox(layer, feature, relation_index) {\n var _this2 = this;\n\n var boxid = this.getBoxId(layer, feature, relation_index);\n if (undefined === this.state.layersFeaturesBoxes[boxid]) {\n this.state.layersFeaturesBoxes[boxid] = Vue.observable({\n collapsed: true\n });\n this.$watch(function () {\n return _this2.state.layersFeaturesBoxes[boxid].collapsed;\n }, function (collapsed) {\n var index = layer.features.findIndex(function (_feature) {\n return feature.id === _feature.id;\n });\n var container = _this2.getContainerFromFeatureLayer({ layer: layer, index: index });\n _this2.$options.service.openCloseFeatureResult({ open: !collapsed, layer: layer, feature: feature, container: container });\n });\n this.state.layersFeaturesBoxes[boxid].collapsed = layer.features.length > 1;\n }\n return this.state.layersFeaturesBoxes[boxid];\n },\n collapsedFeatureBox: function collapsedFeatureBox(layer, feature, relation_index) {\n var box = this.state.layersFeaturesBoxes[this.getBoxId(layer, feature, relation_index)];\n return box ? box.collapsed : true;\n },\n showFeatureInfo: function showFeatureInfo(layer, boxid) {\n var box = this.state.layersFeaturesBoxes[boxid];\n this.$options.service.emit('show-query-feature-info', {\n layer: layer,\n tabs: this.hasFormStructure(layer),\n show: box ? !box.collapsed : false\n });\n },\n getBoxId: function getBoxId(layer, feature, relation_index) {\n return this.$options.service.getBoxId(layer, feature, relation_index);\n },\n toggleFeatureBox: function () {\n var _ref3 = _asyncToGenerator(function* (layer, feature, relation_index) {\n var boxid = this.getBoxId(layer, feature, relation_index);\n this.state.layersFeaturesBoxes[boxid].collapsed = !this.state.layersFeaturesBoxes[boxid].collapsed;\n yield this.$nextTick();\n this.showFeatureInfo(layer, boxid);\n });\n\n function toggleFeatureBox(_x6, _x7, _x8) {\n return _ref3.apply(this, arguments);\n }\n\n return toggleFeatureBox;\n }(),\n toggleFeatureBoxAndZoom: function toggleFeatureBoxAndZoom(layer, feature, relation_index) {\n if (!this.hasLayerOneFeature(layer)) {\n this.toggleFeatureBox(layer, feature, relation_index);\n }\n },\n trigger: function () {\n var _ref4 = _asyncToGenerator(function* (action, layer, feature, index) {\n if (action.opened && 'none' === $('#' + layer.id + '_' + index).css('display')) {\n this.toggleFeatureBox(layer, feature);\n yield this.$nextTick();\n }\n yield this.$options.service.trigger(action.id, layer, feature, index, this.getContainerFromFeatureLayer({ layer: layer, index: index }));\n });\n\n function trigger(_x9, _x10, _x11, _x12) {\n return _ref4.apply(this, arguments);\n }\n\n return trigger;\n }(),\n openLink: function openLink(link_url) {\n window.open(link_url, '_blank');\n },\n isJSON: function isJSON(field) {\n return !this.isVue(field) && this.isSimple(field) && 'Object' === (0, _toRawType.toRawType)(field.value);\n },\n openAttributeTable: function openAttributeTable(layer) {\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).openAttributeTable({ perc: 100 });\n },\n highLightLayerFeatures: function highLightLayerFeatures(layer) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: true };\n\n if (layer.hasgeometry) {\n this.$options.service.highLightLayerFeatures(layer, opts);\n }\n },\n collapseSidebar: function collapseSidebar(e) {\n var box = e.target.closest(\".box\");\n var collapsed = box.classList.contains('collapsed-box');\n box.classList.toggle('collapsed-box');\n box.querySelector(\".btn-collapser\").classList.toggle('fa-plus', !collapsed);\n box.querySelector(\".btn-collapser\").classList.add('fa-minus', collapsed);\n }\n },\n\n watch: {\n 'state.layers': function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (layer) {\n if (layer.attributes.length <= MAX_SUBSET_LENGTH && !layer.hasImageField) {\n layer.expandable = false;\n }\n layer.features.forEach(function (feature) {\n _this3.getLayerFeatureBox(layer, feature);\n if (feature.attributes.relations) {\n feature.attributes.relations.forEach(function (relation) {\n relation.elements.forEach(function (element, index) {\n return _this3.state.layersFeaturesBoxes[layer.id + '_' + feature.id + '_' + relation.name + index] = { collapsed: true };\n });\n });\n }\n });\n });\n\n if (this.onelayerresult && this.hasLayerOneFeature(layers[0])) {\n var layer = layers[0];\n var feature = layer.features[0];\n var boxid = this.getBoxId(layer, feature);\n this.$options.service.onceafter('postRender', function () {\n _this3.showFeatureInfo(layer, boxid);\n });\n }\n requestAnimationFrame(function () {\n return _this3.$options.service.postRender(_this3.$el);\n });\n yield this.$nextTick();\n });\n\n function stateLayers() {\n return _ref5.apply(this, arguments);\n }\n\n return stateLayers;\n }(),\n onelayerresult: function onelayerresult(bool) {\n if (bool) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n }\n },\n created: function created() {\n var _this4 = this;\n\n this.zoomToLayerFeaturesExtent = (0, _throttle.throttle)(function (layer) {\n _this4.$options.service.zoomToLayerFeaturesExtent(layer);\n });\n },\n destroyed: function destroyed() {\n this.$options.service.clear();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"queryresults-wrapper\",attrs:{\"id\":\"search-results\"}},[(_vm.info.message)?_c('div',{staticClass:\"skin-color\",staticStyle:{\"font-weight\":\"bold\",\"margin-bottom\":\"3px\",\"font-size\":\"1.1em\"}},[(_vm.info.icon)?_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.info.icon)}):_vm._e(),_vm._v(\" \"),_c('span',[_vm._v(\" \"+_vm._s(_vm.info.message)+\" \")])]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"queryresults-container\"},[(_vm.state.layers.length)?[(_vm.hasLayers)?_c('ul',{staticClass:\"queryresults\",staticStyle:{\"position\":\"relative\"},attrs:{\"id\":\"queryresults\"}},[_vm._l((_vm.state.layers),function(layer){return _c('li',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showLayer(layer)),expression:\"showLayer(layer)\"}]},[_c('bar-loader',{attrs:{\"loading\":layer.loading}}),_vm._v(\" \"),_c('div',{staticClass:\"box box-primary\"},[_c('div',{staticClass:\"box-header with-border\",class:{'mobile': _vm.isMobile()},on:{\"mouseover\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: true, duration: Infinity })},\"mouseout\":function($event){return _vm.highLightLayerFeatures(layer, { highlight: false })},\"click\":_vm.collapseSidebar}},[_c('div',{staticClass:\"box-title query-layer-title\",style:({fontSize: _vm.isMobile() && '1em !important'})},[(!layer.external)?_c('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\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.openAttributeTable(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('list')})]):_vm._e(),_vm._v(\"\\n \"+_vm._s(layer.title)+\"\\n \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(!layer.rawdata),expression:\"!layer.rawdata\"}],staticClass:\"query-layer-feature-count\"},[_vm._v(\"(\"+_vm._s(layer.features.length)+\")\")])]),_vm._v(\" \"),_c('div',{staticClass:\"box-features-action\",on:{\"click\":function($event){$event.stopPropagation();}}},[_c('infoformats',{attrs:{\"layer\":layer}}),_vm._v(\" \"),(layer.features.length > 1)?[(layer.hasgeometry)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'),expression:\"'sdk.mapcontrols.query.actions.zoom_to_features_extent.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToLayerFeaturesExtent(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('marker')})]):_vm._e(),_vm._v(\" \"),(layer.atlas.length)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.atlas.hint'),expression:\"'sdk.mapcontrols.query.actions.atlas.hint'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",on:{\"click\":function($event){$event.stopPropagation();return _vm.printAtlas(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('print')})]):_vm._e(),_vm._v(\" \"),(1 === _vm.getLayerDownloads(layer.downloads).length )?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:((\"sdk.mapcontrols.query.actions.download_features_\" + (layer.downloads[0]) + \".hint\")),expression:\"`sdk.mapcontrols.query.actions.download_features_${layer.downloads[0]}.hint`\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();_vm.saveLayerResult(layer, _vm.getLayerDownloads(layer.downloads)[0])}}})])]:(_vm.getLayerDownloads(layer.downloads).length > 1)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('Downloads'),expression:\"'Downloads'\",arg:\"left\",modifiers:{\"create\":true}},{name:\"download\",rawName:\"v-download\"}],staticClass:\"action-button\",class:{'toggled': layer.downloadformats.active}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('download'),on:{\"click\":function($event){$event.stopPropagation();return _vm.showLayerDownloadFormats(layer)}}})])]:_vm._e()]:_vm._e(),_vm._v(\" \"),(layer.external || (layer.source && 'wms' !== layer.source.type ))?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_features_to_results.hint'),expression:\"'sdk.mapcontrols.query.actions.add_features_to_results.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': layer.addfeaturesresults.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addLayerFeaturesToResults(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('plus-square')})]):_vm._e(),_vm._v(\" \"),(\n layer.toc &&\n layer.id !== '__g3w_marker' &&\n layer.features.length > 1 &&\n (layer.external || (layer.source && layer.source.type !== 'wms'))\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('sdk.mapcontrols.query.actions.add_selection.hint'),expression:\"'sdk.mapcontrols.query.actions.add_selection.hint'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.selection.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addToSelection(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('success')})]):_vm._e(),_vm._v(\" \"),(!layer.external && layer.selection.active)?[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.filter'),expression:\"'layer_selection_filter.tools.filter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",class:{'toggled': layer.filter.active},on:{\"click\":function($event){$event.stopPropagation();return _vm.addRemoveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('filter')})]),_vm._v(\" \"),(\n _vm.state.logged\n && layer.filter.active\n && (null === layer.filter.current || layer.selection.active)\n )?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('layer_selection_filter.tools.savefilter'),expression:\"'layer_selection_filter.tools.savefilter'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button skin-tooltip-left\",on:{\"click\":function($event){$event.stopPropagation();return _vm.saveFilter(layer)}}},[_c('span',{staticClass:\"action-button-icon\",class:_vm.g3wtemplate.getFontClass('save')})]):_vm._e()]:_vm._e()],2),_vm._v(\" \"),_c('button',{staticClass:\"btn btn-box-tool\",staticStyle:{\"pointer-events\":\"none\"}},[_c('i',{staticClass:\"btn-collapser skin-color\",class:_vm.g3wtemplate.font['minus']})])]),_vm._v(\" \"),(_vm.state.layeractiontool[layer.id].component)?[_c('div',{staticClass:\"g3w-layer-action-tools with-border\",class:{'mobile': _vm.isMobile()},staticStyle:{\"padding\":\"5px\"}},[_c(_vm.state.layeractiontool[layer.id].component,{tag:\"component\",attrs:{\"layer\":layer,\"config\":_vm.state.layeractiontool[layer.id].config}})],1)]:_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'before')),function(ref){\n var component = ref.component;\nreturn _c(component,{tag:\"component\",attrs:{\"layer\":layer}})}),_vm._v(\" \"),_c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[(layer.rawdata)?[_c('div',{staticClass:\"queryresults-text-html\",class:{text: layer.infoformat === 'text/plain'},domProps:{\"innerHTML\":_vm._s(layer.rawdata)}})]:(_vm.hasFormStructure(layer))?[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},[_c('tbody',[_vm._l((layer.features),function(feature,index){return (feature.show)?[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{noAttributes: _vm.attributesSubset(layer).length === 0},staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('tabs',{attrs:{\"fields\":_vm.getQueryFields(layer, feature),\"layerid\":layer.id,\"feature\":feature,\"tabs\":_vm.getLayerFormStructure(layer)}})],1)]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})]:_vm._e()})],2)])]:[_c('table',{staticClass:\"table\",class:{'mobile': _vm.isMobile()}},_vm._l((layer.features),function(feature,index){return (feature.show)?_c('tbody',{key:feature.id},[_c('header-feature-actions-body',{attrs:{\"colspan\":_vm.getColSpan(layer),\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}),_vm._v(\" \"),_c('tr',{staticClass:\"g3w-feature-result-action-tools\"},[(_vm.state.currentactiontools[layer.id][index])?[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(_vm.state.currentactiontools[layer.id][index],{tag:\"component\",attrs:{\"colspan\":_vm.getColSpan(layer),\"layer\":layer,\"feature\":feature,\"featureIndex\":index,\"config\":_vm.state.actiontools[_vm.state.currentactiontools[layer.id][index].name][layer.id]}})],1)]:_vm._e()],2),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer))?_c('tr',{staticStyle:{\"font-weight\":\"bold\",\"text-align\":\"center\"}},[_vm._l((_vm.attributesSubset(layer)),function(attribute,index){return _c('td',{staticClass:\"centered\"},[_vm._v(\"\\n \"+_vm._s(_vm.getLayerFeatureBox(layer, feature).collapsed ? attribute.label : '')+\"\\n \")])}),_vm._v(\" \"),_c('td',{staticClass:\"collapsed\",class:{ noAttributes: 0 === _vm.attributesSubset(layer).length },staticStyle:{\"text-align\":\"end\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.toggleFeatureBoxAndZoom(layer,feature)}}},[_c('span',{staticClass:\"fa link morelink skin-color\",class:_vm.g3wtemplate.font[_vm.getLayerFeatureBox(layer, feature).collapsed ? 'plus': 'minus']})])],2):_vm._e(),_vm._v(\" \"),(!_vm.hasLayerOneFeature(layer) && _vm.getLayerFeatureBox(layer, feature).collapsed)?_c('header-feature-body',{attrs:{\"actions\":_vm.state.layersactions[layer.id],\"layer\":layer,\"feature\":feature,\"index\":index,\"onelayerresult\":_vm.onelayerresult,\"trigger\":_vm.trigger,\"toggleFeatureBoxAndZoom\":_vm.toggleFeatureBoxAndZoom,\"hasLayerOneFeature\":_vm.hasLayerOneFeature,\"boxLayerFeature\":_vm.getLayerFeatureBox(layer, feature),\"attributesSubset\":_vm.attributesSubset,\"getLayerField\":_vm.getLayerField}}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'before')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer)}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])}),_vm._v(\" \"),_c('tr',{directives:[{name:\"show\",rawName:\"v-show\",value:(!_vm.collapsedFeatureBox(layer,feature) || _vm.hasOneLayerAndOneFeature(layer)),expression:\"!collapsedFeatureBox(layer,feature) || hasOneLayerAndOneFeature(layer)\"}],staticClass:\"featurebox-body\",attrs:{\"id\":((layer.id) + \"_\" + index)}},[_c('td',{attrs:{\"colspan\":_vm.getColSpan(layer),\"feature-html-content\":((layer.id) + \"_\" + index)}},[_c('table',{staticClass:\"feature_attributes\"},[_vm._l((layer.attributes.filter(function (attribute) { return attribute.show; })),function(attribute){return [(_vm.isJSON(_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})))?[_vm._l((_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name}).value),function(v,k){\n var _obj;\nreturn _vm._l((('object' === typeof v ? v : ( _obj = {}, _obj[k] = v, _obj ))),function(v2,k2){return _c('tr',{staticStyle:{\"padding-top\":\"10px\",\"padding-bottom\":\"10px\"}},[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label)+\".\"),(('object' === typeof v))?[_vm._v(_vm._s(k)+\".\")]:_vm._e(),_vm._v(_vm._s(k2))],2),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\"},[_vm._v(_vm._s(v2))])])})})]:_c('tr',[_c('td',{staticClass:\"attr-label\"},[_vm._v(_vm._s(attribute.label))]),_vm._v(\" \"),_c('td',{staticClass:\"attr-value\",attrs:{\"attribute\":attribute.name}},[_c('table-attribute-field-value',{attrs:{\"feature\":feature,\"field\":_vm.getLayerField({layer: layer, feature: feature, fieldName: attribute.name})}})],1)])]})],2)])]),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'feature', 'after')),function(ref){\n var component = ref.component;\nreturn _c('tr',[_c('td',{attrs:{\"colspan\":\"getColSpan(layer)\"}},[_c(component,{tag:\"component\",staticClass:\"box-body\",attrs:{\"layer\":layer,\"feature\":feature}})],1)])})],2):_c('tbody')}),0)]],2),_vm._v(\" \"),_vm._l((_vm.getLayerCustomComponents(layer.id, 'layer', 'after')),function(ref){\n var component = ref.component;\nreturn _c('div',{staticClass:\"box-body\",class:{'mobile': _vm.isMobile()}},[_c(component,{tag:\"component\",attrs:{\"layer\":layer}})],1)})],2)],1)}),_vm._v(\" \"),_vm._l((_vm.state.components),function(component){return _c('li',[_c(component,{tag:\"component\",on:{\"showresults\":function($event){return _vm.showResults()}}})],1)})],2):_vm._e()]:[(_vm.state.changed)?_c('div',{staticClass:\"query-results-not-found\"},[_c('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\"}})]):_vm._e()]],2),_vm._v(\" \"),(_vm.state.query)?_c('div',{staticStyle:{\"visibility\":\"hidden\",\"position\":\"sticky\",\"bottom\":\"-8px\",\"background\":\"#eee\",\"padding\":\"8px 0\",\"display\":\"flex\",\"gap\":\"1em\"}},[_c('label',{staticStyle:{\"margin-top\":\"5px\"}},[_vm._v(_vm._s(_vm.$t('query_filter')))]),_vm._v(\" \"),_c('select',{staticStyle:{\"flex\":\"1\"}},[_vm._l((_vm.queryableLayers),function(layer){return _c('option',{domProps:{\"selected\":layer === _vm.selectedLayer}},[_vm._v(_vm._s(layer.getName()))])}),_vm._v(\" \"),_c('option',{domProps:{\"selected\":!_vm.selectedLayer}},[_vm._v(_vm._s(_vm.$t('sdk.mapcontrols.queryby.all')))])],2)]):_vm._e()])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-09a18998\"\n\n},{\"components/QueryResultsActionInfoFormats.vue\":95,\"components/QueryResultsHeaderFeatureActionsBody.vue\":98,\"components/QueryResultsHeaderFeatureBody.vue\":99,\"components/QueryResultsTableAttributeFieldValue.vue\":100,\"mixins\":165,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/getMapLayersByFilter\":210,\"utils/throttle\":241,\"utils/toRawType\":242,\"vueify/lib/insert-css\":2}],92:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"action\",\n data: function data() {\n return {\n show: true\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n action: {\n type: Object,\n required: true\n }\n },\n methods: {\n clickAction: function () {\n var _ref = _asyncToGenerator(function* (action, layer, feature, featureIndex, event) {\n yield this.trigger(action, layer, feature, featureIndex);\n if (action.hint_change) {\n var element = $(event.target).parent();\n var originalDataTitle = element.attr('data-original-title');\n element.attr('data-original-title', t(action.hint_change.hint));\n element.tooltip('show');\n setTimeout(function () {\n element.attr('data-original-title', originalDataTitle);\n element.tooltip('show');\n }, action.hint_change.duration || 600);\n }\n this.$emit('action-clicked', action);\n });\n\n function clickAction(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n }\n\n return clickAction;\n }()\n },\n created: function () {\n var _ref2 = _asyncToGenerator(function* () {\n if (this.action.init) {\n this.action.init({ layer: this.layer, feature: this.feature, index: this.featureIndex, action: this.action });\n }\n if (typeof this.action.condition === 'function') {\n var show = this.action.condition({ layer: this.layer, feature: this.feature });\n this.show = show instanceof Promise ? yield show : show;\n }\n });\n\n function created() {\n return _ref2.apply(this, arguments);\n }\n\n return created;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\",value:(_vm.action.download),expression:\"action.download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:(_vm.action.hint),expression:\"action.hint\",arg:\"top\",modifiers:{\"create\":true}}],staticClass:\"action-button\",class:{'toggled': _vm.action.state && _vm.action.state.toggled[_vm.featureIndex] },on:{\"contextmenu\":function($event){$event.preventDefault();$event.stopPropagation();},\"click\":function($event){$event.stopPropagation();return _vm.clickAction(_vm.action, _vm.layer, _vm.feature, _vm.featureIndex, $event)}}},[_c('span',{class:(\"action-button-icon \" + (_vm.action.class)),staticStyle:{\"padding\":\"2px\"},style:(_vm.action.style)})]):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"g3w-i18n\":128}],93:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = {\n name: 'choose_layer',\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: {\n icon: 'pencil',\n label: 'Choose a Layer',\n nolayers: 'No layers found',\n layers: [],\n cbk: function cbk() {}\n }\n }\n },\n\n data: function data() {\n return {\n layerId: null\n };\n },\n\n\n computed: {\n has_layers: function has_layers() {\n return this.config.layers && this.config.layers.length > 0;\n }\n },\n\n created: function created() {\n if (this.has_layers) {\n this.layerId = this.config.layers[0].id;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('section',{staticClass:\"action-choose-layer\"},[_c('label',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.label),expression:\"config.label\"}]}),_vm._v(\" \"),_c('div',{staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('layerId'),expression:\"'layerId'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false,\"disabled\":!_vm.has_layers}},[_vm._l((_vm.config.layers),function(layer){return _c('option',{key:layer.id,domProps:{\"value\":layer.id}},[_c('b',[_vm._v(_vm._s(layer.name))])])}),_vm._v(\" \"),(!_vm.has_layers)?_c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.config.nolayers),expression:\"config.nolayers\"}]}):_vm._e()],2),_vm._v(\" \"),(_vm.has_layers)?_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return (function () { return _vm.config.cbk(_vm.layerId, _vm.feature); })($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass(_vm.config.icon)})]):_vm._e()])])}\n__vue__options__.staticRenderFns = []\n\n},{}],94:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: \"downloadformats\",\n\n data: function data() {\n return {\n download_format: this.config.downloads[0].format\n };\n },\n\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n try {\n var _download = this.config.downloads.find(function (action) {\n return action.format === _this.download_format;\n });\n yield _download.cbk(this.layer, this.feature ? this.feature : this.layer.features, _download, this.featureIndex, 'pdf' === _download.format ? document.querySelector(\"[feature-html-content=\\\"\" + this.layer.id + \"_\" + this.featureIndex + \"\\\"]\").innerHTML : null);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function download() {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"g3w-download-formats-content\",staticStyle:{\"width\":\"100%\",\"display\":\"flex\"},on:{\"click\":function($event){$event.preventDefault();$event.stopPropagation();}}},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('download_format'),expression:\"'download_format'\"}],staticClass:\"form-control\",staticStyle:{\"flex-grow\":\"1\"},attrs:{\"search\":false}},_vm._l((_vm.config.downloads),function(download){return _c('option',{directives:[{name:\"download\",rawName:\"v-download\"}],key:download.id,domProps:{\"value\":download.format}},[_c('span',{staticStyle:{\"font-weight\":\"bold\"}},[_vm._v(_vm._s(download.format))])])}),0),_vm._v(\" \"),_c('button',{directives:[{name:\"download\",rawName:\"v-download\"}],staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.download($event)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])}\n__vue__options__.staticRenderFns = []\n\n},{}],95:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _parsers = require('utils/parsers');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'Infoformats',\n\n props: {\n layer: {\n type: Object,\n required: true\n }\n },\n\n data: function data() {\n return {\n infoformat: this.layer.infoformat\n };\n },\n\n\n computed: {\n infoformats: function infoformats() {\n return this.layer.infoformats || [];\n },\n hasInfo: function hasInfo() {\n return this.infoformats.length;\n }\n },\n\n methods: {\n reloadLayerDataWithChangedContentType: function () {\n var _ref = _asyncToGenerator(function* (contenttype) {\n this.layer.loading = true;\n\n this.$el.disabled = true;\n try {\n var response = yield this.projectLayer.changeProxyDataAndReloadFromServer('wms', {\n headers: { 'Content-Type': contenttype },\n params: { INFO_FORMAT: contenttype }\n });\n this.layer.infoformat = contenttype;\n this.projectLayer.setInfoFormat(this.layer.infoformat);\n\n var _ResponseParser$get = _parsers.ResponseParser.get(contenttype)({ layers: [this.projectLayer], response: response }),\n _ResponseParser$get2 = _slicedToArray(_ResponseParser$get, 1),\n data = _ResponseParser$get2[0];\n\n if (data.features) {\n this.__parsedata(data);\n } else {\n this.__parserawdata(data);\n }\n } catch (e) {\n console.warn(e);\n }\n this.layer.loading = false;\n\n this.$el.disabled = false;\n });\n\n function reloadLayerDataWithChangedContentType(_x) {\n return _ref.apply(this, arguments);\n }\n\n return reloadLayerDataWithChangedContentType;\n }(),\n __parsedata: function __parsedata(data) {\n var _this = this;\n\n var queryService = _gui2.default.getService('queryresults');\n this.layer.rawdata = null;\n\n data.features.forEach(function (feature) {\n var _properties$geometry$ = {\n properties: feature instanceof ol.Feature ? feature.getProperties() : feature.properties,\n geometry: feature instanceof ol.Feature ? feature.getGeometry() : feature.geometry,\n id: feature instanceof ol.Feature ? feature.getId() : feature.id\n },\n fid = _properties$geometry$.id,\n geometry = _properties$geometry$.geometry,\n attributes = _properties$geometry$.properties;\n\n if (0 === _this.layer.attributes.length) {\n _this.layer.hasgeometry = !!geometry;\n\n queryService.setActionsForLayers([_this.layer]);\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(attributes).forEach(function (name) {\n _this.layer.attributes.push({\n name: name,\n label: name,\n show: true\n });\n });\n }\n\n _this.layer.features.push({ id: fid, attributes: attributes, geometry: geometry, show: true });\n });\n },\n __parserawdata: function () {\n var _ref2 = _asyncToGenerator(function* (data) {\n this.layer.features.splice(0);\n yield this.$nextTick();\n this.layer.rawdata = data.rawdata;\n });\n\n function __parserawdata(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return __parserawdata;\n }()\n },\n\n watch: {\n 'infoformat': function infoformat(value) {\n this.reloadLayerDataWithChangedContentType(value);\n }\n },\n\n created: function created() {\n this.projectLayer = (0, _getCatalogLayerById.getCatalogLayerById)(this.layer.id);\n },\n beforeDestroy: function beforeDestroy() {\n if (this.projectLayer) {\n this.projectLayer.clearProxyData('wms');\n }\n this.projectLayer = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasInfo)?_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('infoformat'),expression:\"'infoformat'\"}],staticClass:\"skin-color\",attrs:{\"select2_value\":_vm.infoformat,\"search\":false}},_vm._l((_vm.infoformats),function(infoformat){return _c('option',{key:infoformat,domProps:{\"value\":infoformat}},[_vm._v(\"\\n \"+_vm._s(infoformat)+\"\\n \")])}),0):_vm._e()}\n__vue__options__.staticRenderFns = []\n\n},{\"services/gui\":173,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/parsers\":230}],96:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-polygonattributes-types-title[data-v-7fd19c11]{font-weight:700;padding:3px;color:#fff;margin:0 0 5px}.g3w-polygonattributes-types-content[data-v-7fd19c11]{display:flex;justify-content:space-between;padding:3px;border-radius:3px;border:1px solid #f4f4f4}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: \"queryresults-querypolygonaddattributes\",\n\n props: {\n layer: {\n type: Object\n },\n config: {\n type: Object,\n default: null\n }\n },\n data: function data() {\n return {\n type: this.config.choices[0].type\n };\n },\n created: function created() {\n var _this = this;\n\n this.unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n _this.config.choices.forEach(function (c) {\n return $(_this.$refs[c.type]).text(t(c.label));\n });\n $(_this.$refs.g3w_select_feature_featurepolygon).select2().trigger('change');\n });\n },\n beforeDestroy: function beforeDestroy() {\n this.unwatch && this.unwatch();\n this.unwatch = null;\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticStyle:{\"width\":\"100%\"}},[_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.mapcontrols.querybypolygon.download.title'),expression:\"'sdk.mapcontrols.querybypolygon.download.title'\"}],staticClass:\"skin-background-color g3w-polygonattributes-types-title\"}),_vm._v(\" \"),_c('div',{staticClass:\"g3w-polygonattributes-types-content\"},[_c('select',{directives:[{name:\"select2\",rawName:\"v-select2\",value:('type'),expression:\"'type'\"}],ref:\"g3w_select_feature_featurepolygon\",staticClass:\"form-control\",staticStyle:{\"width\":\"100%\"},attrs:{\"search\":false}},_vm._l((_vm.config.choices),function(choice){return _c('option',{directives:[{name:\"t\",rawName:\"v-t\",value:(choice.label),expression:\"choice.label\"}],key:choice.type,ref:choice.type,refInFor:true,domProps:{\"value\":choice.type}})}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn skin-button\",staticStyle:{\"border-radius\":\"0 3px 3px 0\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.config.download(_vm.type)}}},[_c('span',{class:_vm.g3wtemplate.getFontClass('download')})])])])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-7fd19c11\"\n\n},{\"g3w-i18n\":128,\"store/application\":178,\"vueify/lib/insert-css\":2}],97:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-feature-actions[data-v-ec80a64e]{padding:3px;background-color:rgba(34,45,50,.1)!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsAction = require(\"components/QueryResultsAction.vue\");\n\nvar _QueryResultsAction2 = _interopRequireDefault(_QueryResultsAction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"actions\",\n props: {\n featureIndex: {\n type: Number\n },\n feature: {\n type: Object\n },\n layer: {\n type: Object\n },\n trigger: {\n type: Function\n },\n actions: {\n type: Array,\n default: []\n },\n colspan: {\n type: Number\n }\n },\n components: {\n action: _QueryResultsAction2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.actions.length)?_c('td',{staticClass:\"g3w-feature-actions\",staticStyle:{\"padding\":\"3px\"},attrs:{\"colspan\":_vm.colspan}},_vm._l((_vm.actions),function(action){return _c('action',_vm._b({key:action.id,attrs:{\"action\":action}},'action',_vm.$props,false))}),1):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-ec80a64e\"\n\n},{\"components/QueryResultsAction.vue\":92,\"vueify/lib/insert-css\":2}],98:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-164045ac]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n },\n index: {\n type: Number\n },\n actions: {\n type: Array\n },\n colspan: {\n type: Number\n }\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',{staticClass:\"featurebox-header\",on:{\"mouseover\":function($event){return _vm.trigger({id:'highlightgeometry'}, _vm.layer, _vm.feature, _vm.index)},\"mouseout\":function($event){return _vm.trigger({id:'clearHighlightGeometry'}, _vm.layer, _vm.feature, _vm.index)}}},[_c('actions',{attrs:{\"colspan\":_vm.colspan,\"layer\":_vm.layer,\"featureIndex\":_vm.index,\"trigger\":_vm.trigger,\"feature\":_vm.feature,\"actions\":_vm.actions}})],1)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-164045ac\"\n\n},{\"components/QueryResultsActions.vue\":97,\"mixins\":165,\"vueify/lib/insert-css\":2}],99:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".noAttributes[data-v-137530c7]{display:flex;justify-content:flex-end}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _QueryResultsActions = require('components/QueryResultsActions.vue');\n\nvar _QueryResultsActions2 = _interopRequireDefault(_QueryResultsActions);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"headerfeaturebody\",\n mixins: [_mixins.fieldsMixin],\n props: {\n toggleFeatureBoxAndZoom: {\n type: Function\n },\n trigger: {\n type: Function\n },\n hasLayerOneFeature: {\n type: Function\n },\n boxLayerFeature: {\n type: Object\n },\n getLayerField: {\n type: Function\n },\n attributesSubset: {\n type: Function\n },\n layer: {\n type: Object\n },\n feature: {\n type: Object\n }\n\n },\n components: {\n actions: _QueryResultsActions2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',[_vm._l((_vm.attributesSubset(_vm.layer)),function(attribute){return _c('td',{staticClass:\"attribute\"},[(_vm.isLink(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('link')}):(_vm.isPhoto(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):(_vm.isImage(_vm.getLayerField({layer: _vm.layer, feature: _vm.feature, fieldName: attribute.name})))?_c('span',{staticClass:\"skin-color\",class:_vm.g3wtemplate.getFontClass('image')}):_c('span',[_vm._v(_vm._s(_vm.feature.attributes[attribute.name]))])])}),_vm._v(\" \"),(!_vm.hasLayerOneFeature(_vm.layer))?_c('td'):_vm._e()],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-137530c7\"\n\n},{\"components/QueryResultsActions.vue\":97,\"mixins\":165,\"vueify/lib/insert-css\":2}],100:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _FieldLink = require('components/FieldLink.vue');\n\nvar _FieldLink2 = _interopRequireDefault(_FieldLink);\n\nvar _FieldVue = require('components/FieldVue.vue');\n\nvar _FieldVue2 = _interopRequireDefault(_FieldVue);\n\nvar _mixins = require('mixins');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"tableattributefieldvalue\",\n props: {\n field: {\n type: Object\n },\n feature: {\n type: Object\n }\n },\n mixins: [_mixins.fieldsMixin],\n components: {\n 'g3w-link': _FieldLink2.default,\n 'g3w-vue': _FieldVue2.default\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isVue(_vm.field))?_c('g3w-vue',{attrs:{\"feature\":_vm.feature,\"state\":_vm.field}}):(_vm.isSimple(_vm.field))?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.field.value)}}):(_vm.isPhoto(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isImage(_vm.field))?_c('g3w-image',{attrs:{\"value\":_vm.field.value}}):(_vm.isLink(_vm.field))?_c('g3w-link',{attrs:{\"state\":{value: _vm.field.value}}}):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-0a32e30e\"\n\n},{\"components/FieldLink.vue\":47,\"components/FieldVue.vue\":50,\"mixins\":165}],101:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".query-relation[data-v-20ddbb22]{margin-top:3px}.query-relation>.header[data-v-20ddbb22]{padding:3px;display:flex;justify-content:space-between;align-items:center;width:100%;margin:0!important}.query-relation>.header>.g3w-long-text[data-v-20ddbb22]{border-radius:3px;font-size:1.3em}.query-relation.mobile>.header>.g3w-long-text[data-v-20ddbb22]{font-size:1em}.relations-table-tools[data-v-20ddbb22]{font-size:1.1em;margin-bottom:3px}.relations-table-tools>.action-button[data-v-20ddbb22]{padding:5px}.relation-wrapper[data-v-20ddbb22]{display:flex;justify-content:space-between;margin-bottom:5px;margin-top:3px;height:95%}.back-button[data-v-20ddbb22]{font-size:.8em}.header-component[data-v-20ddbb22]{width:100%;display:flex;margin-left:auto;margin-bottom:5px;margin-right:4px}.table-tools[data-v-20ddbb22]{display:flex;justify-content:space-between}.relationtable .table-tools .action-button[data-v-20ddbb22]:hover{background-color:transparent}.relationtable.dataTable tbody tr.selected[data-v-20ddbb22]{background-color:#e4e4e4!important}.relationtable.dataTable tbody tr.selected .row-wrap-tabs .tabs-wrapper[data-v-20ddbb22]{background-color:#fff!important}#chart_content[data-v-20ddbb22]{padding-bottom:5px;margin-bottom:5px;margin-left:8px}.dataTables_scrollBody[data-v-20ddbb22]{font-weight:700;margin-top:10px;font-size:1.1em;display:flex;justify-content:space-between}\\n.relation-wrapper .dataTables_length select{border:1px solid #ccc;background:#fff;height:27px}.relation-wrapper .paginate_button{background:transparent!important;color:currentColor!important;box-shadow:none!important}.relation-wrapper .paginate_button.disabled{opacity:.25!important}.relation-wrapper .dataTables_scroll{background:#fff}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _mixins = require('mixins');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar SIDEBARWIDTH = void 0;\n\nexports.default = {\n name: 'relation',\n\n props: {\n table: {},\n feature: { default: null },\n relation: {},\n previousview: {},\n showChartButton: {},\n cardinality: {}\n },\n\n inject: ['relationnoback'],\n\n mixins: [_mixins.fieldsMixin, _mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n return {\n fields: null,\n chart: false,\n headercomponent: null,\n downloadButton: null,\n downloadLayer: {\n state: null,\n config: {\n downloads: []\n }\n }\n };\n },\n\n\n computed: {\n showTools: function showTools() {\n return [!!this.isEditable, !!this.table.formStructure, !!this.isGeoLayer].filter(Boolean).length;\n },\n showrelationslist: function showrelationslist() {\n return 'relations' === this.previousview && !this.relationnoback;\n },\n one: function one() {\n return 'ONE' === this.relation.type;\n }\n },\n\n methods: {\n zoomToGeometry: function zoomToGeometry(geometry) {\n if (geometry) {\n _gui2.default.getService('map').zoomToGeometry(new ol.geom[geometry.type](geometry.coordinates), { highlight: true });\n }\n },\n createTable: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.table.layerId);\n\n this.isEditable = layer.isEditable() && !layer.isInEditing();\n\n this.isGeoLayer = undefined !== this.table.features.find(function (f) {\n return f.geometry;\n });\n\n var downloadformats = layer.getDownloadableFormats();\n\n if (downloadformats.length > 0) {\n this.downloadButton = {\n toggled: false,\n tooltip: downloadformats.length > 1 ? 'Downloads' : 'sdk.tooltips.download_' + downloadformats[0],\n handler: downloadformats.length > 1 ? _asyncToGenerator(function* () {\n _this.downloadButton.toggled = !_this.downloadButton.toggled;\n _this.downloadLayer.state = _this.downloadLayer.state || layer.state;\n _this.downloadLayer.config.downloads = _this.downloadLayer.config.downloads.length ? _this.downloadLayer.config.downloads : downloadformats.map(function (format) {\n return {\n id: format,\n format: format,\n cbk: function cbk() {\n _this.saveRelation(layer.getDownloadUrl(format));\n _this.headercomponent = null;\n },\n download: true\n };\n });\n _this.headercomponent = _this.downloadButton.toggled ? _QueryResultsActionDownloadFormats2.default : null;\n }) : function () {\n return _this.saveRelation(layer.getDownloadUrl(downloadformats[0]));\n }\n };\n }\n\n _g3wEventbus.VM.$on('reload-relations', function () {\n _this.reloadLayout();\n });\n\n this.showChart = (0, _throttle.throttle)(_asyncToGenerator(function* () {\n _this.chart = !_this.chart;\n yield _this.$nextTick();\n _this.chartContainer = _this.chartContainer || $('#chart_content');\n _this.$emit(_this.chart ? 'show-chart' : 'hide-chart', _this.chartContainer, { relations: [_this.relation], fid: _this.feature.attributes[_g3wConstants.G3W_FID] });\n }));\n\n yield this.$nextTick();\n\n SIDEBARWIDTH = _gui2.default.getSize({ element: 'sidebar', what: 'width' });\n\n this.relation.title = this.relation.name;\n\n if (!this.one) {\n this.relationDataTable = $(this.$refs.relationtable).DataTable({\n autoWidth: false,\n bLengthChange: true,\n dom: 'ltip',\n columnDefs: [this.showTools ? { orderable: false, targets: 0, width: '1%' } : { orderable: true, targets: 0 }],\n order: [this.showTools ? 1 : 0, 'asc'],\n pageLength: 10,\n responsive: true,\n scrollResize: true,\n scrollCollapse: true,\n scrollX: true\n });\n this.tableHeaderHeight = $('.query-relation div.dataTables_scrollHeadInner').height();\n }\n\n _gui2.default.on('pop-content', function () {\n return setTimeout(function () {\n return _this.resize();\n });\n });\n\n this.resize();\n });\n\n function createTable() {\n return _ref.apply(this, arguments);\n }\n\n return createTable;\n }(),\n resize: function () {\n var _ref4 = _asyncToGenerator(function* () {\n if (!this.$refs.query_relation || 'none' === this.$refs.query_relation.parentNode.style.display) {\n return;\n }\n\n var table = $(this.$refs.query_relation).find('div.dataTables_scrollBody');\n table.height($(\".content\").height() - this.tableHeaderHeight - $('.content_breadcrumb').outerHeight() - $('.navbar-header').outerHeight() - $('.close-panel-block').outerHeight() - $(this.$refs['relation-header']).outerHeight() - $('.dataTables_filter').last().outerHeight() - $('.dataTables_paginate.paging_simple_numbers').outerHeight() - $('.dataTables_scrollHead').last().outerHeight());\n\n this.reloadLayout();\n });\n\n function resize() {\n return _ref4.apply(this, arguments);\n }\n\n return resize;\n }(),\n saveRelation: function saveRelation(type) {\n this.$emit('save-relation', type);\n this.downloadButton.toggled = false;\n },\n showFormStructureRow: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerid = _ref6.layerid,\n feature = _ref6.feature,\n fields = _ref6.fields,\n tabs = _ref6.tabs;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend({\n data: function data() {\n return {\n layerid: layerid,\n feature: feature,\n fields: fields,\n formStructure: tabs\n };\n },\n\n template: '\\n
\\n \\n \\n \\n \\n \\n \\n
\\n \\n
\\n
\\n ',\n mounted: function () {\n var _ref7 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.$refs.table.click();\n });\n\n function mounted() {\n return _ref7.apply(this, arguments);\n }\n\n return mounted;\n }()\n }))()\n }),\n push: true,\n showgoback: true,\n closable: false\n });\n });\n\n function showFormStructureRow() {\n return _ref5.apply(this, arguments);\n }\n\n return showFormStructureRow;\n }(),\n editFeature: function editFeature(index) {\n _gui2.default.getService('queryresults').editFeature({\n layer: {\n id: this.table.layerId,\n attributes: this.table.fields\n },\n feature: this.table.features[index]\n });\n },\n getRowFields: function getRowFields(row) {\n var _this2 = this;\n\n return this.table.fields.map(function (field, index) {\n field.value = row[index];\n field.query = true;\n field.input = { type: '' + _this2.getFieldType(field) };\n return field;\n });\n },\n reloadLayout: function reloadLayout() {\n if (this.relationDataTable) {\n this.relationDataTable.columns.adjust();\n }\n },\n back: function back() {\n this.$parent.setRelationsList();\n },\n fieldIs: function fieldIs(type, value) {\n return this.getFieldType(value) === type;\n },\n is: function is(type, value) {\n return this.fieldIs(type, value);\n },\n wrapMoveFnc: function wrapMoveFnc(e) {\n this.moveFnc(e);\n },\n resizeStart: function resizeStart() {\n document.getElementById('g3w-view-content').addEventListener('mousemove', this.wrapMoveFnc);\n document.getElementById('g3w-view-content').addEventListener('mouseup', this.resizeStop, { once: true });\n },\n resizeStop: function () {\n var _ref8 = _asyncToGenerator(function* () {\n document.getElementById('g3w-view-content').removeEventListener('mousemove', this.wrapMoveFnc);\n yield this.$nextTick();\n _gui2.default.emit('resize');\n });\n\n function resizeStop() {\n return _ref8.apply(this, arguments);\n }\n\n return resizeStop;\n }(),\n moveFnc: function moveFnc(evt) {\n var sidebarHeaderSize = $('.sidebar-collapse').length ? 0 : SIDEBARWIDTH;\n var size = evt.pageX + 2 - sidebarHeaderSize;\n this.$refs.tablecontent.style.width = size + 'px';\n this.$refs.chartcontent.style.width = $(this.$refs.relationwrapper).width() - size - 10 + 'px';\n }\n },\n\n watch: {\n table: {\n immediate: true,\n handler: function handler(table) {\n if (table && table.rows.length) {\n this.createTable();\n }\n }\n },\n\n chart: function () {\n var _ref9 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function chart() {\n return _ref9.apply(this, arguments);\n }\n\n return chart;\n }(),\n headercomponent: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n this.resize();\n });\n\n function headercomponent() {\n return _ref10.apply(this, arguments);\n }\n\n return headercomponent;\n }()\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n beforeDestroy: function () {\n var _ref11 = _asyncToGenerator(function* () {\n if (!this.relationDataTable) {\n return;\n }\n this.relationDataTable.destroy();\n this.relationDataTable = null;\n if (this.chartContainer) {\n this.$emit('hide-chart', this.chartContainer);\n }\n this.chartContainer = null;\n this.tableHeaderHeight = null;\n _gui2.default.off('pop-content', this.resize);\n });\n\n function beforeDestroy() {\n return _ref11.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.table)?_c('div',{ref:\"query_relation\",staticClass:\"query-relation\",class:_vm.isMobile() ? 'mobile' : null},[_c('div',{ref:\"relation-header\",staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"g3w-long-text\"},[(_vm.showrelationslist)?_c('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\":true}}],staticClass:\"action-button-icon action-button back-button\",class:_vm.$fa('exit'),on:{\"click\":function($event){$event.stopPropagation();return _vm.back($event)}}}):_vm._e(),_vm._v(\" \"),_c('b',{staticClass:\"relation-tile skin-color\"},[_vm._v(\" \"+_vm._s(_vm.relation.name)+\" \")])]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{staticClass:\"relations-table-tools\"},[(_vm.downloadButton)?_c('span',{directives:[{name:\"download\",rawName:\"v-download\"},{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:(_vm.downloadButton.tooltip),expression:\"downloadButton.tooltip\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('download'),\n { 'toggled-white': _vm.downloadButton.toggled } ],on:{\"click\":function($event){$event.stopPropagation();return _vm.downloadButton.handler($event)}}}):_vm._e(),_vm._v(\" \"),(_vm.showChartButton)?_c('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\":true}}],staticClass:\"action-button-icon action-button\",class:[\n _vm.$fa('chart'),\n _vm.chart ? 'toggled-white' : '' ],on:{\"click\":function($event){$event.stopPropagation();return _vm.showChart($event)}}}):_vm._e()]):_vm._e()]),_vm._v(\" \"),(_vm.table.rows.length)?_c('div',{ref:\"relationwrapper\",staticClass:\"relation-wrapper\"},[_c('div',{ref:\"tablecontent\",style:({\n width: _vm.chart ? '70%' : '100%',\n marginRight: _vm.chart ? '8px' : '3px',\n position: 'relative',\n }),attrs:{\"id\":\"table_content\"}},[(_vm.headercomponent)?_c('div',{staticClass:\"header-component\"},[_c(_vm.headercomponent,{tag:\"component\",attrs:{\"layer\":_vm.downloadLayer.state,\"config\":_vm.downloadLayer.config}})],1):_vm._e(),_vm._v(\" \"),_c('table',{ref:\"relationtable\",staticClass:\"hover relationtable table table-striped row-border\"},[_c('thead',[_c('tr',{staticStyle:{\"height\":\"0! important\"}},[(_vm.showTools)?_c('th',{style:({\n minWidth: this.showTools * 30 + 'px',\n padding: '0 !important',\n })}):_vm._e(),_vm._v(\" \"),_vm._l((_vm.table.columns),function(column){return _c('th',[_vm._v(_vm._s(column))])})],2)]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.table.rows),function(row,index){return _c('tr',{key:_vm.table.rows_fid[index],class:{\n 'selected': _vm.table.rowFormStructure === row,\n }},[(_vm.showTools)?_c('td',{staticClass:\"table-tools\"},[(_vm.table.features[index].geometry)?_c('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\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('marker'),on:{\"click\":function($event){$event.stopPropagation();return _vm.zoomToGeometry(_vm.table.features[index].geometry)}}}):_vm._e(),_vm._v(\" \"),(_vm.table.formStructure)?_c('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\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();_vm.showFormStructureRow({ layerid: _vm.table.layerId, feature: _vm.table.features[index], fields: _vm.getRowFields(row), tabs: _vm.table.formStructure })}}}):_vm._e(),_vm._v(\" \"),(_vm.isEditable)?_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:('Edit'),expression:\"'Edit'\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"action-button row-form skin-color\",class:_vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(index)}}}):_vm._e()]):_vm._e(),_vm._v(\" \"),_vm._l((row),function(value){return _c('td',[_c('field',{attrs:{\"state\":{value:value}}})],1)})],2)}),0)])]),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],staticClass:\"skin-border-color lighten\",staticStyle:{\"border-style\":\"solid\",\"border-width\":\"0 1px 0 1px\"},style:({\n minWidth: '5px',\n backgroundColor: '#dddddd',\n cursor: 'col-resize',\n }),on:{\"mousedown\":function($event){$event.stopPropagation();return _vm.resizeStart($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.chart),expression:\"chart\"}],ref:\"chartcontent\",style:({ width: _vm.chart ? '30%' : '0' }),attrs:{\"id\":\"chart_content\"}})]):_c('div',{staticClass:\"dataTables_scrollBody\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.relations.no_relations_found'),expression:\"'sdk.relations.no_relations_found'\"}]})])]):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-20ddbb22\"\n\n},{\"components/FieldG3W.vue\":44,\"components/QueryResultsActionDownloadFormats.vue\":94,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-eventbus\":126,\"mixins\":165,\"services/gui\":173,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241,\"vueify/lib/insert-css\":2}],102:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".relation-grid-item[data-v-02f56b7e]{min-width:0;min-height:80px;border:2px solid;cursor:pointer;border-radius:4px;background-color:#fff;display:flex;align-items:center}.relation-grid-item[data-v-02f56b7e]:hover{background-color:transparent}.query-relations[data-v-02f56b7e]{overflow-y:auto}.query-relations>.header[data-v-02f56b7e]{margin-bottom:10px;border-radius:4px;padding:5px}.query-relations>.query-relations-content[data-v-02f56b7e]{display:grid;grid-template-columns:repeat(2,auto);grid-column-gap:5px;grid-row-gap:5px}.relation-grid-item>.g3w-long-text[data-v-02f56b7e]{font-weight:700;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nexports.default = {\n name: 'relations',\n\n props: ['relations', 'feature', 'loading'],\n\n methods: {\n showRelation: function () {\n var _ref = _asyncToGenerator(function* (relation) {\n yield this.$parent.showRelation(relation);\n });\n\n function showRelation(_x) {\n return _ref.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n featureInfo: function featureInfo() {\n return Object.entries(this.feature.attributes).filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n value = _ref3[1];\n\n return value && 'string' === typeof value && !value.includes('/');\n }).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n key = _ref5[0],\n value = _ref5[1];\n\n return { key: key, value: value };\n }).slice(0, 3);\n }\n },\n\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n if (1 === this.relations.length) {\n this.relations[0].noback = true;\n yield this.showRelation(this.relations[0]);\n }\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (1 === this.relations.length) {\n delete this.relations[0].noback;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations\"},[_c('div',{staticClass:\"header skin-background-color lighten\"},[_c('div',{staticClass:\"skin-color-dark\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t:pre\",value:('sdk.relations.list_of_relations_feature'),expression:\"'sdk.relations.list_of_relations_feature'\",arg:\"pre\"}],staticStyle:{\"font-size\":\"1.1em\"}}),_vm._v(\" \"),_vm._l((_vm.featureInfo()),function(info){return _c('div',[_vm._v(\" - \"),_c('b',[_vm._v(_vm._s(info.key))]),_vm._v(\": \"+_vm._s(info.value))])})],2)]),_vm._v(\" \"),_c('div',{staticClass:\"query-relations-content\"},_vm._l((_vm.relations),function(relation){return _c('div',{staticClass:\"skin-border-color relation-grid-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showRelation(relation)}}},[_c('span',{staticClass:\"skin-color g3w-long-text\"},[_vm._v(_vm._s(relation.name))])])}),0)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-02f56b7e\"\n\n},{\"vueify/lib/insert-css\":2}],103:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Relations = require('components/Relations.vue');\n\nvar _Relations2 = _interopRequireDefault(_Relations);\n\nvar _Relation = require('components/Relation.vue');\n\nvar _Relation2 = _interopRequireDefault(_Relation);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _XHR = require('utils/XHR');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _options = void 0;\n\nfunction _buildRelationTable() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var id = arguments[1];\n\n relations = relations || [];\n var layer = _application2.default.project.getLayerById(id);\n var attrs = Object.keys(relations[0] ? relations[0].attributes : {});\n var cols = layer.getTableHeaders().filter(function (h) {\n return attrs.includes(h.name);\n });\n return {\n columns: cols.map(function (c) {\n return c.label;\n }),\n rows: relations.map(function (r) {\n return cols.map(function (c) {\n return r.attributes[c.name];\n });\n }),\n rows_fid: relations.map(function (r) {\n return r.attributes[_g3wConstants.G3W_FID];\n }),\n features: relations,\n fields: cols.length ? cols : null,\n formStructure: layer.getLayerEditingFormStructure(),\n rowFormStructure: null,\n layerId: layer.getId()\n };\n}\n\nexports.default = {\n name: 'relation-page',\n\n data: function data() {\n var _$options = this.$options,\n _$options$table = _$options.table,\n table = _$options$table === undefined ? null : _$options$table,\n _$options$relation = _$options.relation,\n relation = _$options$relation === undefined ? null : _$options$relation,\n _$options$relations = _$options.relations,\n relations = _$options$relations === undefined ? [] : _$options$relations,\n nmRelation = _$options.nmRelation,\n _$options$feature = _$options.feature,\n feature = _$options$feature === undefined ? null : _$options$feature,\n _$options$currentview = _$options.currentview,\n currentview = _$options$currentview === undefined ? 'relations' : _$options$currentview,\n _$options$chartRelati = _$options.chartRelationIds,\n chartRelationIds = _$options$chartRelati === undefined ? [] : _$options$chartRelati,\n layer = _$options.layer;\n\n return {\n loading: false,\n state: null,\n error: false,\n table: table ? _buildRelationTable(table) : null,\n previousview: currentview,\n showChartButton: false,\n feature: feature,\n currentview: currentview,\n relation: relation,\n relations: relations,\n nmRelation: nmRelation,\n chartRelationIds: chartRelationIds,\n layer: layer\n };\n },\n provide: function provide() {\n return {\n relationnoback: 1 === this.$options.relations.length\n };\n },\n\n components: {\n 'relations': _Relations2.default,\n 'relation': _Relation2.default\n },\n methods: {\n saveRelations: function () {\n var _ref = _asyncToGenerator(function* (type) {\n _application2.default.download = true;\n try {\n yield _XHR.XHR.fileDownload({\n url: (0, _createRelationsUrl.createRelationsUrl)(Object.assign(_options, { type: type })),\n httpMethod: \"GET\"\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({\n type: 'alert',\n message: e || 'info.server_error',\n closable: true\n });\n }\n _application2.default.download = false;\n });\n\n function saveRelations(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return saveRelations;\n }(),\n reloadLayout: function reloadLayout() {\n _g3wEventbus.VM.$emit('reload-relations');\n },\n showChart: function showChart(container, relationData) {\n _gui2.default.getService('queryresults').showChart([this.relation.referencingLayer], container, relationData);\n },\n hideChart: function hideChart(container) {\n _gui2.default.getService('queryresults').hideChart(container);\n },\n getRelationsNM: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n nmRelation = _ref3.nmRelation,\n _ref3$features = _ref3.features,\n features = _ref3$features === undefined ? [] : _ref3$features;\n\n var referencedLayer = nmRelation.referencedLayer,\n _nmRelation$fieldRef = nmRelation.fieldRef,\n referencingField = _nmRelation$fieldRef.referencingField,\n referencedField = _nmRelation$fieldRef.referencedField;\n\n var relationsNM = [];\n if (features.length) {\n var values = features.map(function (f) {\n return f.attributes[referencingField];\n });\n\n var _ref4 = yield _data2.default.getData('search:features', {\n inputs: {\n layer: (0, _getCatalogLayerById.getCatalogLayerById)(referencedLayer),\n filter: '' + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: referencedField, value: values, logicop: 'OR' }),\n formatter: 1 },\n outputs: null\n }),\n data = _ref4.data;\n\n if (data && data[0] && Array.isArray(data[0].features)) {\n relationsNM = data[0].features.map(function (f) {\n return {\n id: f.getId(),\n geometry: f.getGeometry(),\n attributes: (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(f.getProperties()).reduce(function (accumulator, property) {\n accumulator[property] = f.get(property);\n return accumulator;\n }, {})\n };\n });\n }\n }\n return relationsNM;\n });\n\n function getRelationsNM() {\n return _ref2.apply(this, arguments);\n }\n\n return getRelationsNM;\n }(),\n showRelation: function () {\n var _ref5 = _asyncToGenerator(function* (relation) {\n _gui2.default.setLoadingContent(true);\n this.loading = true;\n this.relation = relation;\n var relationLayerId = relation.referencingLayer;\n try {\n _options = {\n layer: this.$options.layer,\n fid: this.feature.attributes[_g3wConstants.G3W_FID],\n relation: relation\n };\n var response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(_options) });\n var relations = response.result ? (response.vector.data.features || []).map(function (f) {\n f.properties[_g3wConstants.G3W_FID] = f.id;\n return {\n geometry: f.geometry,\n attributes: f.properties,\n id: f.id\n };\n }) : null;\n\n if (this.nmRelation) {\n relationLayerId = this.nmRelation.referencedLayer;\n relations = yield this.getRelationsNM({\n nmRelation: this.nmRelation,\n features: relations\n });\n }\n this.showChartButton = !!this.chartRelationIds.find(function (id) {\n return relationLayerId === id;\n });\n this.table = _buildRelationTable(relations, relationLayerId);\n\n _gui2.default.setCurrentContentOptions({\n title: relation.name,\n crumb: { title: relation.name }\n });\n\n yield this.$nextTick();\n this.previousview = this.currentview;\n this.currentview = 'relation';\n } catch (e) {\n console.warn(e);\n }\n _gui2.default.setLoadingContent(false);\n this.loading = true;\n });\n\n function showRelation(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return showRelation;\n }(),\n setRelationsList: function setRelationsList() {\n this.previousview = 'relation';\n this.currentview = 'relations';\n _gui2.default.setCurrentContentOptions({ crumb: { title: 'info.list_of_relations' } });\n this.loading = false;\n }\n },\n beforeMount: function beforeMount() {\n if ('relation' === this.currentview || 1 === this.relations.length && 'ONE' === this.relations[0].type) {\n this.showRelation(this.relations[0]);\n }\n },\n mounted: function () {\n var _ref6 = _asyncToGenerator(function* () {\n this.relations.sort(function (_ref7, _ref8) {\n var relationName1 = _ref7.name;\n var relationName2 = _ref8.name;\n\n if (relationName1 < relationName2) return -1;\n if (relationName1 > relationName2) return 1;\n return 0;\n });\n yield this.$nextTick();\n if (this.error) {\n requestAnimationFrame(function () {\n return _gui2.default.popContent();\n });\n }\n this.error = false;\n });\n\n function mounted() {\n return _ref6.apply(this, arguments);\n }\n\n return mounted;\n }(),\n created: function created() {\n this.$on('resize-component', this.reloadLayout);\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"query-relations-page\"},[_c(_vm.currentview,{ref:_vm.currentview,tag:\"component\",attrs:{\"loading\":_vm.loading,\"previousview\":_vm.previousview,\"showChartButton\":_vm.showChartButton,\"relations\":_vm.relations,\"relation\":_vm.relation,\"nmRelation\":_vm.nmRelation,\"feature\":_vm.feature,\"table\":_vm.table},on:{\"save-relation\":_vm.saveRelations,\"show-chart\":_vm.showChart,\"hide-chart\":_vm.hideChart}})],1)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/Relation.vue\":101,\"components/Relations.vue\":102,\"g3w-constants\":125,\"g3w-eventbus\":126,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/createSingleFieldParameter\":196,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203}],104:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"li.menu-item[data-v-3edc3c4e]{padding-right:20px!important}li.menu-item span[data-v-3edc3c4e]{display:inline-flex;white-space:pre-wrap}.search-action[data-v-3edc3c4e]{text-shadow:0 2px 5px rgba(0,0,0,.3);padding:0 4px}#g3w-search li i[data-v-3edc3c4e]{width:20px}.search-tools[data-v-3edc3c4e]{display:flex;align-items:baseline}.search-tools>span[data-v-3edc3c4e]{white-space:pre-wrap}.search-tools>div[data-v-3edc3c4e]{margin-left:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _Tool = require('components/Tool.vue');\n\nvar _Tool2 = _interopRequireDefault(_Tool);\n\nvar _QueryBuilder = require('components/QueryBuilder.vue');\n\nvar vueComp = _interopRequireWildcard(_QueryBuilder);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nexports.default = {\n name: 'search',\n\n data: function data() {\n return {\n state: this.state || {}\n };\n },\n\n\n components: {\n 'g3w-tool': _Tool2.default\n },\n\n computed: {\n show: function show() {\n return this.state.searches.length + this.state.tools.length + this.state.querybuildersearches.length > 0;\n }\n },\n\n methods: {\n showPanel: function showPanel() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.$options.service.showPanel(config);\n },\n remove: function () {\n var _ref = _asyncToGenerator(function* (search, index) {\n try {\n yield new Promise(function (res, rej) {\n _gui2.default.dialog.confirm(t('sdk.querybuilder.delete'), function (d) {\n return d ? res() : rej();\n });\n });\n var item = window.localStorage.getItem('QUERYBUILDERSEARCHES');\n var items = item ? JSON.parse(item) : undefined;\n var projectId = _application2.default.project.getId();\n var searches = (items ? items[projectId] || [] : []).filter(function (item) {\n return item.id !== search.id;\n });\n\n if (searches.length) {\n items[projectId] = searches;\n } else {\n delete items[projectId];\n }\n\n try {\n if (Object.keys(items).length) {\n window.localStorage.setItem('QUERYBUILDERSEARCHES', JSON.stringify(items));\n } else {\n window.localStorage.removeItem('QUERYBUILDERSEARCHES');\n }\n } catch (e) {\n console.warn(e);\n }\n\n this.state.querybuildersearches.splice(index, 1);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function remove(_x2, _x3) {\n return _ref.apply(this, arguments);\n }\n\n return remove;\n }(),\n edit: function edit(search) {\n var opts = {\n id: search.id,\n name: search.name,\n layerId: search.layerId,\n filter: search.filter,\n title: t('sdk.querybuilder.title'),\n show: true\n };\n opts.internalPanel = new (Vue.extend(vueComp))({ options: opts });\n new _g3wPanel2.default(opts);\n },\n run: function () {\n var _ref2 = _asyncToGenerator(function* (search) {\n search.qbloading = true;\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(search.layerId);\n yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: search.filter }),\n feature_count: 100\n },\n outputs: true\n });\n } catch (e) {\n console.warn(e);\n _gui2.default.showUserMessage({ type: 'alert', message: 'sdk.querybuilder.error_run', autoclose: true });\n }\n search.qbloading = false;\n });\n\n function run(_x4) {\n return _ref2.apply(this, arguments);\n }\n\n return run;\n }()\n },\n\n mounted: function () {\n var _ref3 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n $('.search-action').tooltip();\n });\n\n function mounted() {\n return _ref3.apply(this, arguments);\n }\n\n return mounted;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.show)?_c('ul',{staticClass:\"treeview-menu g3w-search g3w-tools menu-items\",attrs:{\"id\":\"g3w-search\"}},[_vm._l((_vm.state.searches),function(search){return _c('li',{staticClass:\"menu-item\",on:{\"click\":function($event){$event.stopPropagation();return _vm.showPanel(search)}}},[_c('i',{class:_vm.$fa('empty-circle')}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))])])}),_vm._v(\" \"),_vm._l((_vm.state.tools),function(searchtool){return _c('li',[_c('g3w-tool',{attrs:{\"tool\":searchtool}})],1)}),_vm._v(\" \"),_vm._l((_vm.state.querybuildersearches),function(search,i){return _c('li',{key:search.id},[_c('div',{staticStyle:{\"position\":\"relative\"},on:{\"click\":function($event){return _vm.edit(search)}}},[_c('bar-loader',{attrs:{\"loading\":search.qbloading}}),_vm._v(\" \"),_c('div',{staticClass:\"search-tools\"},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.delete'),expression:\"'sdk.querybuilder.search.delete'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('trash'),staticStyle:{\"color\":\"red\",\"margin-right\":\"5px\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.remove(search, i)}}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(search.name))]),_vm._v(\" \"),_c('div',[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip\",value:('sdk.querybuilder.search.run'),expression:\"'sdk.querybuilder.search.run'\"}],staticClass:\"search-action skin-tooltip-bottom\",class:_vm.$fa('run'),staticStyle:{\"color\":\"green\"},attrs:{\"data-placement\":\"bottom\",\"data-toggle\":\"tooltip\",\"data-container\":\"body\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.run(search)}}})])])],1)])})],2):_vm._e()}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-3edc3c4e\"\n\n},{\"components/QueryBuilder.vue\":90,\"components/Tool.vue\":109,\"g3w-i18n\":128,\"g3w-panel\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFromString\":192,\"utils/getCatalogLayerById\":203,\"vueify/lib/insert-css\":2}],105:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".g3w-search-form label[data-v-51de5286]{color:#fff}.g3w-search-form .search-logicop[data-v-51de5286]{width:100%;position:relative;display:flex;justify-content:center;margin-bottom:15px;margin-top:30px;border-bottom:1px solid}.g3w-search-form .search-logicop h4[data-v-51de5286]{font-weight:700;position:absolute;padding:5px;top:-24px;background:#222d32}#dosearch[data-v-51de5286]{color:#fff;font-weight:700;margin-top:15px;background-color:var(--skin-color)}#dosearch[data-v-51de5286]:hover{color:#fff}.search-label[data-v-51de5286]{width:100%;display:flex;justify-content:space-between}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _convertQGISDateTimeFormatToMoment = require('utils/convertQGISDateTimeFormatToMoment');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar SELECTS = [];\n\nexports.default = {\n\n mixins: [_resize2.default],\n\n data: function data() {\n return {\n state: this.$options.service.state,\n allvalue: _g3wConstants.SEARCH_ALLVALUE\n };\n },\n\n\n computed: {\n layers_url: function layers_url() {\n return _application2.default.project.getState().layers_url;\n },\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n }\n },\n\n methods: {\n resize: function resize() {\n SELECTS.forEach(function (select2) {\n return !_application2.default.ismobile && select2.select2('close');\n });\n },\n getLabelOperator: function getLabelOperator(operator) {\n return '[ ' + _g3wConstants.FILTER_EXPRESSION_OPERATORS[operator] + ' ]';\n },\n onFocus: function () {\n var _ref = _asyncToGenerator(function* (e) {\n if (this.isMobile()) {\n var top = $(e.target).position().top - 10;\n yield this.$nextTick();\n setTimeout(function () {\n return $('.main-sidebar').scrollTop(top);\n }, 500);\n }\n });\n\n function onFocus(_x) {\n return _ref.apply(this, arguments);\n }\n\n return onFocus;\n }(),\n changeInput: function () {\n var _ref2 = _asyncToGenerator(function* (input) {\n var _this = this;\n\n var field = input.attribute;\n var deps = this.state.forminputs.filter(function (i) {\n return field === i.dependance;\n });\n var state = this.state;\n var value = input.value;\n\n var is_empty = function is_empty(v) {\n return [_g3wConstants.SEARCH_ALLVALUE, null, undefined].includes(v) || '' === v.toString().trim();\n };\n var has_autocomplete = function has_autocomplete(i) {\n return 'autocompletefield' === i.type;\n };\n\n try {\n this.state.searching = true;\n\n if ('numberfield' === input.type) {\n value = value || 0 === value ? value : null;\n }\n\n if (undefined === value) {\n value = _g3wConstants.SEARCH_ALLVALUE;\n }\n\n if (!['textfield', 'textField'].includes(input.type)) {\n value = value.trim();\n }\n\n input.value = value;\n\n yield Promise.allSettled(deps.map(function () {\n var _ref3 = _asyncToGenerator(function* (d) {\n var filter = _getDataForSearchInput.getDataForSearchInput.field({\n state: state,\n field: field,\n fields: [_g3wConstants.SEARCH_ALLVALUE, undefined].includes(value) ? [] : [(0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: input.operator })]\n });\n\n var cached = d.dvalues[filter];\n\n d.value = 'selectfield' === d.type ? _g3wConstants.SEARCH_ALLVALUE : null;\n d.values = Array.from(new Set([].concat(_toConsumableArray(!has_autocomplete(d) && !is_empty(value) ? [d.values[0]] : []), _toConsumableArray(!has_autocomplete(d) && is_empty(value) ? d._values : []), _toConsumableArray(cached || []))));\n\n d.disabled = is_empty(value) ? d.dependance_strict : false;\n\n if (_this.state.forminputs.find(function (i) {\n return i.dependance === d.attribute;\n })) {\n _this.changeInput(d);\n }\n\n if (has_autocomplete(d) || is_empty(value) || cached) {\n return;\n }\n\n state.loading[d.attribute] = true;\n\n try {\n var data = yield state.search_layers[0].getFilterData({\n fformatter: d.attribute,\n ordering: d.attribute,\n field: filter\n });\n\n data.data = (data.data || []).map(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n value = _ref5[0],\n key = _ref5[1];\n\n return { key: key, value: value };\n });\n\n if (!d.dependance_strict && 'selectfield' === d.type) {\n var _d$_values;\n\n (_d$_values = d._values).push.apply(_d$_values, _toConsumableArray(d.values));\n }\n\n if (1 === d.values.length) {\n var _d$values;\n\n (_d$values = d.values).push.apply(_d$values, _toConsumableArray(data.data));\n }\n\n d.dvalues[filter] = d.values.slice(1);\n } catch (e) {\n console.warn(e);\n } finally {\n d.disabled = false;\n _this.state.loading[d.attribute] = false;\n }\n });\n\n return function (_x3) {\n return _ref3.apply(this, arguments);\n };\n }()));\n } catch (e) {\n console.warn(e);\n } finally {\n this.state.searching = false;\n }\n });\n\n function changeInput(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return changeInput;\n }(),\n doSearch: function doSearch(e) {\n e.preventDefault();\n this.$options.service.run();\n },\n initDateTimeField: function () {\n var _ref6 = _asyncToGenerator(function* (input) {\n var _this2 = this;\n\n if ('datetimefield' !== input.type) {\n return;\n }\n\n yield this.$nextTick();\n\n input.options.format.fieldformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.fieldformat);\n input.options.format.displayformat = (0, _convertQGISDateTimeFormatToMoment.convertQGISDateTimeFormatToMoment)(input.options.format.displayformat);\n\n $(this.$refs['date_' + input.id]).datetimepicker({\n defaultDate: null,\n format: input.options.format.displayformat,\n ignoreReadonly: true,\n allowInputToggle: true,\n toolbarPlacement: 'top',\n widgetPositioning: { vertical: 'bottom', horizontal: 'left' },\n showClose: true,\n locale: _application2.default.language || 'en'\n });\n\n $(this.$refs['date_' + input.id]).on(\"dp.change\", function () {\n var newDate = $('#' + input.id).val();\n input.value = newDate.trim() ? moment(newDate, input.options.format.displayformat).format(input.options.format.fieldformat) : null;\n _this2.changeInput(input);\n });\n\n if (_application2.default.ismobile) {\n setTimeout(function () {\n $('#' + input.id).blur();\n });\n }\n });\n\n function initDateTimeField(_x4) {\n return _ref6.apply(this, arguments);\n }\n\n return initDateTimeField;\n }(),\n initSelect2Field: function () {\n var _ref7 = _asyncToGenerator(function* (input) {\n var _this3 = this;\n\n if (!['selectfield', 'autocompletefield'].includes(input.type)) {\n return;\n }\n\n yield this.$nextTick();\n\n var numdigaut = input.options.numdigaut;\n var has_autocomplete = 'autocompletefield' === input.type;\n var ajax = has_autocomplete ? {\n delay: 500,\n transport: function () {\n var _ref8 = _asyncToGenerator(function* (d, ok, ko) {\n try {\n ok({\n results: (yield (0, _getDataForSearchInput.getDataForSearchInput)({\n state: _this3.state,\n field: input.attribute,\n suggest: input.attribute + '|' + d.data.q\n })).map(function (d) {\n return { id: d.value, text: d.key };\n })\n });\n } catch (e) {\n ko(e);\n }\n });\n\n function transport(_x6, _x7, _x8) {\n return _ref8.apply(this, arguments);\n }\n\n return transport;\n }()\n } : null;\n\n var select2 = $('#' + input.id).select2({\n ajax: ajax,\n width: '100%',\n dropdownParent: $('.g3w-search-form:visible'),\n minimumInputLength: has_autocomplete && (numdigaut && !Number.isNaN(1 * numdigaut) && 1 * numdigaut > 0 && 1 * numdigaut || 2) || 0,\n allowClear: has_autocomplete,\n placeholder: has_autocomplete ? '' : null,\n\n matcher: function matcher(params, data) {\n var search = params.term ? params.term.toLowerCase() : params.term;\n if ('' === (search || '').toString().trim()) {\n return data;\n }\n if (data.text.toLowerCase().includes(search) && undefined !== data.text) {\n return _extends({}, data);\n }\n return null;\n },\n language: {\n noResults: function noResults() {\n return t(\"sdk.search.no_results\");\n },\n errorLoading: function errorLoading() {\n return t(\"sdk.search.error_loading\");\n },\n searching: function searching() {\n return t(\"sdk.search.searching\");\n },\n inputTooShort: function inputTooShort(d) {\n return t(\"sdk.search.autocomplete.inputshort.pre\") + ' ' + (d.minimum - d.input.length) + ' ' + t(\"sdk.search.autocomplete.inputshort.post\");\n }\n }\n });\n\n SELECTS.push(select2);\n\n select2.on('select2:select select2:unselecting', function (e) {\n if ('select2:select' === e.type || has_autocomplete) {\n input.value = e.params.data ? '' + e.params.data.id : _g3wConstants.SEARCH_ALLVALUE;\n _this3.changeInput(input);\n }\n });\n\n this.$watch(function () {\n return input.value;\n }, function () {\n var _ref9 = _asyncToGenerator(function* (value, oldVal) {\n if (value !== oldVal && _g3wConstants.SEARCH_ALLVALUE === value) {\n select2.val(value).trigger('change');\n }\n });\n\n return function (_x9, _x10) {\n return _ref9.apply(this, arguments);\n };\n }());\n\n var unwatch = this.$watch(function () {\n return _application2.default.language;\n }, function () {\n unwatch();\n _this3.clearSelect2();\n _this3.initSelect2Field(input);\n });\n\n select2.val(input.value).trigger('change');\n });\n\n function initSelect2Field(_x5) {\n return _ref7.apply(this, arguments);\n }\n\n return initSelect2Field;\n }(),\n clearSelect2: function clearSelect2() {\n SELECTS.forEach(function (select2) {\n select2.select2('destroy');\n select2.off();\n select2 = null;\n });\n\n SELECTS.splice(0);\n }\n },\n\n mounted: function () {\n var _ref10 = _asyncToGenerator(function* () {\n yield Promise.allSettled([this.$nextTick(), this.state.mounted]);\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.state.forminputs[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var input = _step.value;\n\n yield this.initSelect2Field(input);\n yield this.initDateTimeField(input);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n });\n\n function mounted() {\n return _ref10.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n this.clearSelect2();\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.searching),expression:\"state.searching\"}],staticClass:\"g3w-search-panel form-group\"},[_c('h4',[_c('b',[_vm._v(_vm._s(_vm.state.title))])]),_vm._v(\" \"),_vm._t(\"tools\"),_vm._v(\" \"),_vm._t(\"form\",[_c('form',{staticClass:\" g3w-search-form\"},[_vm._l((_vm.state.forminputs),function(input){return _c('div',{key:input.id,staticClass:\"form-group\"},[('numberfield' === input.type || ('textfield' === input.type && 'Range' === input.widget_type))?_c('div',{staticClass:\"numeric\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"number\",\"min\":\"0\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"change\":function($event){return _vm.changeInput(input)},\"input\":[function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)},function($event){return _vm.changeInput(input)}]}})]):(['textfield', 'textField'].includes(input.type))?_c('div',{staticClass:\"form-item-search text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(input.value),expression:\"input.value\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"id\":input.id},domProps:{\"value\":(input.value)},on:{\"focus\":_vm.onFocus,\"change\":function($event){return _vm.changeInput(input)},\"input\":function($event){if($event.target.composing){ return; }_vm.$set(input, \"value\", $event.target.value)}}})]):(['selectfield', 'autocompletefield'].includes(input.type))?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || input.loading || input.disabled),expression:\"state.loading[input.dependance] || input.loading || input.disabled\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),(input.dependance)?_c('bar-loader',{attrs:{\"loading\":_vm.state.loading[input.dependance] || input.loading}}):_vm._e(),_vm._v(\" \"),_c('select',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(input.disabled || input.loading),expression:\"input.disabled || input.loading\"}],staticClass:\"form-control\",attrs:{\"name\":input.attribute,\"id\":input.id}},_vm._l((input.values),function(opt){return _c('option',{key:opt.value,domProps:{\"value\":opt.value}},[(_vm.allvalue === opt.value)?_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.search.all'),expression:\"'sdk.search.all'\"}]}):_c('span',[_vm._v(_vm._s(opt.key))])])}),0)],1):('datetimefield' === input.type)?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.loading[input.dependance] || false),expression:\"state.loading[input.dependance] || false\"}],staticClass:\"text\"},[_c('label',{staticClass:\"search-label\",attrs:{\"for\":input.id}},[_c('span',[_vm._v(_vm._s(input.label || input.attribute))]),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(_vm.getLabelOperator(input.operator)))])]),_vm._v(\" \"),_c('div',{ref:'date_' + input.id,refInFor:true,staticClass:\"input-group date\"},[_c('input',{staticClass:\"form-control\",attrs:{\"id\":input.id,\"type\":\"text\"}}),_vm._v(\" \"),_c('span',{staticClass:\"input-group-addon skin-color\"},[_c('span',{class:_vm.$fa(input.options.format.time ? 'time': 'calendar')})])])]):_vm._e(),_vm._v(\" \"),_c('sub',[_vm._v(_vm._s(input.options.description))]),_vm._v(\" \"),(_vm.is_staff)?_c('details',{staticStyle:{\"cursor\":\"pointer\",\"user-select\":\"none\",\"margin-top\":\".5em\"}},[_vm._m(0,true),_vm._v(\" \"),_c('sub',[(input.options.description)?_c('br'):_vm._e(),_vm._v(\" \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.type))]),_vm._v(\" | \"),_c('span',{staticClass:\"skin-color\"},[_vm._v(_vm._s(input.widget_type))]),_vm._v(\" \"),(input.options.value)?[_vm._v(\": { key: \\\"\"+_vm._s(input.options.key)+\"\\\", value: \\\"\"+_vm._s(input.options.value)+\" }\\\"\")]:_vm._e(),_vm._v(\" \"),(input.options.layer_id)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"layer_id:\")]),_vm._v(\" \\\"\"+_vm._s(input.options.layer_id)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"depends_on:\")]),_vm._v(\" \\\"\"+_vm._s(input.dependance)+\"\\\"\")]:_vm._e(),_vm._v(\" \"),(input.dependance)?[_c('br'),_c('span',{staticClass:\"skin-color\"},[_vm._v(\"strict:\")]),_vm._v(\" \"+_vm._s(input.dependance_strict))]:_vm._e()],2)]):_vm._e(),_vm._v(\" \"),(input.logicop)?_c('div',{staticClass:\"search-logicop skin-border-color\"},[_c('h4',[_vm._v(_vm._s(input.logicop))])]):_vm._e()])}),_vm._v(\" \"),_c('div',{staticClass:\"form-group\"},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('dosearch'),expression:\"'dosearch'\"}],staticClass:\"sidebar-button-run btn btn-block pull-right\",attrs:{\"id\":\"dosearch\",\"data-i18n\":\"dosearch\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.doSearch($event)}}})])],2)]),_vm._v(\" \"),_vm._t(\"footer\"),_vm._v(\" \"),(_vm.layers_url)?_c('div',{staticStyle:{\"padding-top\":\"5em\"}},[_c('b',[_c('a',{attrs:{\"href\":_vm.layers_url,\"target\":\"_blank\"}},[_vm._v(\"Edit in admin\")])])]):_vm._e()],2)}\n__vue__options__.staticRenderFns = [function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('summary',{staticStyle:{\"text-align\":\"center\"}},[_c('code',{staticStyle:{\"border\":\"1px solid currentColor\",\"color\":\"var(--skin-color)\",\"background-color\":\"transparent\"}},[_vm._v(\"🐞 \"),_c('b',[_vm._v(\"DEBUG\")])])])}]\n__vue__options__._scopeId = \"data-v-51de5286\"\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins/resize\":167,\"store/application\":178,\"utils/convertQGISDateTimeFormatToMoment\":187,\"utils/createSingleFieldParameter\":196,\"utils/getDataForSearchInput\":205,\"vueify/lib/insert-css\":2}],106:[function(require,module,exports){\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"SidebarItem\",\n data: function data() {\n var component = this.$options.component;\n\n return {\n info: component.info || { state: null, style: null, class: null },\n main: true,\n component: 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: _application2.default.gui.sidebar\n };\n },\n\n methods: {\n triggerAction: function triggerAction(action, component) {\n action.fnc(component);\n }\n },\n\n mounted: function mounted() {\n var _this = this;\n\n var opts = this.$options.opts || {};\n var sidebar = document.getElementById('g3w-sidebarcomponents');\n\n if ([null, undefined].includes(opts.position) || opts.position < 0 || opts.position >= sidebar.children.length) {\n $(sidebar).append(this.$el);\n } else {\n Array.from(sidebar.children).forEach(function (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 this.component.click = function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$open = _ref.open,\n open = _ref$open === undefined ? false : _ref$open;\n\n if (open) {\n _application2.default.sidebar.components.forEach(function (comp) {\n if (comp !== _this.component && comp.getOpen()) {\n comp.click({ open: false });\n }\n });\n }\n var node = _this.component.getInternalComponent().$el;\n\n node.classList.toggle('menu-open', open);\n\n node.parentNode.classList.toggle('active', open);\n\n _this.component.setOpen(open);\n };\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {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)}\n__vue__options__.staticRenderFns = []\n\n},{\"store/application\":178}],107:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".content-bookmarks{font-weight:700;color:#fff;padding:5px;border-bottom:1px solid #fff;margin-bottom:2px}.spatial-bookmark{display:flex;align-items:baseline;justify-content:space-between;padding:5px!important}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _InputText = require('components/InputText.vue');\n\nvar _InputText2 = _interopRequireDefault(_InputText);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar item = window.localStorage.getItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id);\nvar SPATIAL_BOOKMARKS_LOCALITEMS = item ? JSON.parse(item) : undefined;\n\nexports.default = {\n name: 'spatial-bookmarks',\n\n components: {\n InputText: _InputText2.default\n },\n\n data: function data() {\n var project = _application2.default.project;\n\n if (undefined === SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]) {\n SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()] = [];\n }\n\n return {\n showaddform: false,\n\n project: {\n bookmarks: project.state.bookmarks || []\n },\n\n user: {\n bookmarks: SPATIAL_BOOKMARKS_LOCALITEMS[project.getId()]\n },\n\n addbookmarkinput: {\n name: 'add-bookmark',\n label: t('sdk.spatialbookmarks.input.name'),\n i18nLabel: true,\n value: null,\n editable: true,\n type: 'varchar',\n input: { type: 'text', options: {} },\n visible: true,\n validate: { valid: false, required: true }\n }\n };\n },\n\n\n computed: {\n is_staff: function is_staff() {\n return window.initConfig.user.is_staff;\n },\n lang: function lang() {\n return _application2.default.language;\n }\n },\n\n methods: {\n addBookMark: function addBookMark() {\n this.user.bookmarks.push({\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n name: this.addbookmarkinput.value,\n extent: _gui2.default.getService('map').getMapExtent(),\n removable: true,\n crs: { epsg: 1 * _gui2.default.getService('map').getCrs().split('EPSG:')[1] }\n });\n\n this.saveUserBookMarks();\n this.showaddform = false;\n },\n removeBookMark: function removeBookMark(id) {\n this.user.bookmarks = this.user.bookmarks.filter(function (b) {\n return id !== b.id;\n });\n this.saveUserBookMarks();\n },\n saveUserBookMarks: function saveUserBookMarks() {\n SPATIAL_BOOKMARKS_LOCALITEMS[_application2.default.project.getId()] = this.user.bookmarks;\n try {\n window.localStorage.setItem(_g3wConstants.LOCAL_ITEM_IDS.SPATIALBOOKMARKS.id, JSON.stringify(SPATIAL_BOOKMARKS_LOCALITEMS));\n } catch (e) {\n console.warn(e);\n }\n },\n showAddForm: function showAddForm() {\n this.addbookmarkinput.value = null;\n this.showaddform = true;\n },\n gotoSpatialBookmark: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var extent = _ref.extent,\n crs = _ref.crs;\n\n if (crs.epsg !== _gui2.default.getService('map').getEpsg().split('EPSG:')[1]) {\n var projection = yield _projections2.default.registerProjection('EPSG:' + crs.epsg);\n extent = ol.proj.transformExtent(extent, projection, _gui2.default.getService('map').getProjection());\n }\n\n _gui2.default.getService('map').zoomToExtent(extent, { force: true });\n });\n\n function gotoSpatialBookmark(_x) {\n return _ref2.apply(this, arguments);\n }\n\n return gotoSpatialBookmark;\n }()\n },\n\n watch: {\n showaddform: function () {\n var _ref3 = _asyncToGenerator(function* (bool) {\n if (bool) {\n yield this.$nextTick();\n\n for (var i = 0; i < this.$refs.add_bookmark_input.$el.children.length; i++) {\n this.$refs.add_bookmark_input.$el.children[i].classList.remove('col-sm-12');\n }\n }\n });\n\n function showaddform(_x2) {\n return _ref3.apply(this, arguments);\n }\n\n return showaddform;\n }()\n },\n\n created: function created() {\n var _this = this;\n\n this.$on('close', function () {\n return _this.showaddform = false;\n });\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('ul',{staticClass:\"treeview-menu g3w-spatial-bookmarks menu-items\",class:{'g3w-tools': !_vm.showaddform},attrs:{\"id\":\"g3w-spatial-bookmarks\"}},[(_vm.showaddform)?_c('li',[_c('div',{staticStyle:{\"display\":\"flex\",\"justify-content\":\"end\"}},[_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('close'),expression:\"'close'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('close'),staticStyle:{\"padding\":\"5px\",\"margin\":\"3px\"},on:{\"click\":function($event){$event.stopPropagation();_vm.showaddform = false}}})]),_vm._v(\" \"),_c('helpdiv',{attrs:{\"message\":\"sdk.spatialbookmarks.helptext\"}}),_vm._v(\" \"),_c('div',{staticClass:\"container add-bookmark-input\",staticStyle:{\"padding\":\"5px\",\"width\":\"100%\"}},[_c('input-text',{ref:\"add_bookmark_input\",attrs:{\"state\":_vm.addbookmarkinput}})],1),_vm._v(\" \"),_c('div',{staticStyle:{\"margin-top\":\"5px\"}},[_c('button',{directives:[{name:\"t\",rawName:\"v-t\",value:('add'),expression:\"'add'\"},{name:\"disabled\",rawName:\"v-disabled\",value:(!_vm.addbookmarkinput.validate.valid),expression:\"!addbookmarkinput.validate.valid\"}],staticClass:\"sidebar-button-run btn btn-block\",on:{\"click\":function($event){$event.stopPropagation();return _vm.addBookMark($event)}}})])],1):[(_vm.is_staff)?_c('div',{staticClass:\"content-bookmarks\"},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.project.title'),expression:\"'sdk.spatialbookmarks.sections.project.title'\"}]}),_vm._v(\" \"),_c('a',{staticStyle:{\"float\":\"right\"},attrs:{\"href\":(\"https://docs.qgis.org/3.34/\" + _vm.lang + \"/docs/user_manual/map_views/map_view.html#bookmarking-extents-on-the-map\"),\"target\":\"_blank\",\"title\":\"QGIS Docs\"}},[_c('i',{class:_vm.$fa('external-link')})])]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.project.bookmarks),function(bookmark){return [(bookmark.nodes)?_c('li',[_c('div',{staticStyle:{\"font-weight\":\"bold\",\"width\":\"100%\"},style:({ borderBottom: bookmark.expanded ? '2px solid #2c3b41' : 'none' }),on:{\"click\":function($event){$event.stopPropagation();bookmark.expanded = !bookmark.expanded}}},[_c('span',{class:_vm.$fa(bookmark.expanded ? 'caret-down' : 'caret-right'),staticStyle:{\"margin-right\":\"5px\"}}),_vm._v(\" \"),_c('span',[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(bookmark.expanded),expression:\"bookmark.expanded\"}],staticStyle:{\"margin-left\":\"10px\"}},_vm._l((bookmark.nodes),function(node){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(node)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(node.name))])])])}),0)]):_c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])])])]}),_vm._v(\" \"),_c('div',{staticClass:\"content-bookmarks\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"align-items\":\"center\",\"margin-top\":\"10px\"}},[_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:('sdk.spatialbookmarks.sections.user.title'),expression:\"'sdk.spatialbookmarks.sections.user.title'\"}]}),_vm._v(\" \"),_c('span',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:left.create\",value:('add'),expression:\"'add'\",arg:\"left\",modifiers:{\"create\":true}}],staticClass:\"sidebar-button sidebar-button-icon\",class:_vm.$fa('plus'),staticStyle:{\"padding\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.showAddForm($event)}}})]),_vm._v(\" \"),_vm._l((_vm.user.bookmarks),function(bookmark){return _c('li',{staticClass:\"spatial-bookmark\",on:{\"click\":function($event){$event.stopPropagation();return _vm.gotoSpatialBookmark(bookmark)}}},[_c('div',[_c('span',{class:_vm.$fa('bookmark'),staticStyle:{\"margin-right\":\"5px\",\"font-size\":\"0.7em\"}}),_vm._v(\" \"),_c('span',{staticClass:\"g3w-long-text\"},[_vm._v(_vm._s(bookmark.name))])]),_vm._v(\" \"),_c('span',{staticClass:\"sidebar-button sidebar-button-icon\",staticStyle:{\"color\":\"red\",\"margin\":\"5px\",\"cursor\":\"pointer\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.removeBookMark(bookmark.id)}}},[_c('i',{class:_vm.$fa('trash')})])])})]],2)}\n__vue__options__.staticRenderFns = []\n\n},{\"components/InputText.vue\":78,\"g3w-constants\":125,\"g3w-i18n\":128,\"services/gui\":173,\"store/application\":178,\"store/projections\":180,\"utils/getUniqueDomId\":217,\"vueify/lib/insert-css\":2}],108:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\"#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}\\n.geometry[data-v-b4d834d0]{cursor:pointer}#noheaders[data-v-b4d834d0]{background-color:#fff;font-weight:700;margin-top:10px}input.form-control.column-search[data-v-b4d834d0]::placeholder{font-weight:400;font-style:italic}input.form-control.column-search[data-v-b4d834d0]{height:25px;min-width:40px;padding:2px}#open_attribute_table .action-button[data-v-b4d834d0]{padding:5px}#g3w-table-toolbar .action-button[data-v-b4d834d0]{padding:4px}#g3w-table-toolbar .action-button.toggled[data-v-b4d834d0]{color:#fff!important;background-color:var(--skin-color)}#layer_attribute_table[data-v-b4d834d0]{width:100%;user-select:none}#layer_attribute_table>tbody>tr[data-v-b4d834d0]:not(.selected):hover{background-color:rgba(255,255,0,.15)}label[for=attribute_table_select_all_rows][data-v-b4d834d0]{margin-bottom:0!important}\\n#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:transparent;color:currentColor!important;box-shadow:none}#open_attribute_table .paginate_button.disabled{opacity:.25}#open_attribute_table #layer_attribute_table_length{padding-top:.755em}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _FieldG3W = require('components/FieldG3W.vue');\n\nvar _FieldG3W2 = _interopRequireDefault(_FieldG3W);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _mixins = require('mixins');\n\nvar _debounce = require('utils/debounce');\n\nvar _coordinatesToGeometry = require('utils/coordinatesToGeometry');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _promisify = require('utils/promisify');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar PAGELENGTHS = [10, 25, 50, 100];\n\nfunction _createFeatureForSelection(f) {\n return {\n id: f.id,\n feature: {\n attributes: f.attributes || f.properties,\n geometry: f.geometry ? (0, _coordinatesToGeometry.coordinatesToGeometry)(f.geometry.type, f.geometry.coordinates) : f.geometry\n }\n };\n}\n\nexports.default = {\n\n name: \"G3WTable\",\n\n mixins: [_mixins.resizeMixin],\n\n components: {\n Field: _FieldG3W2.default\n },\n\n data: function data() {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(this.$options.layerId);\n\n return {\n layer: layer,\n state: {\n features: [],\n headers: [null].concat(_toConsumableArray(layer.getTableHeaders())),\n geometry: true,\n allfeatures: 0,\n selectAll: false,\n nofilteredrow: false,\n show_tools: false,\n geolayer: {\n active: false,\n in_bbox: undefined\n }\n },\n\n relations: (layer.isGeoLayer() ? [] : layer.getRelations().getArray()).map(function (relation) {\n return [relation, (0, _getCatalogLayerById.getCatalogLayerById)(relation.getFather())];\n }).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n relation = _ref2[0],\n father = _ref2[1];\n\n return layer.getId() !== relation.getFather() && father.isGeoLayer();\n }).map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n relation = _ref4[0],\n father = _ref4[1];\n\n return {\n layer: father,\n father_fields: relation.getFatherField(),\n fields: relation.getChildField(),\n features: {}\n };\n }),\n filter: [],\n has_map: true,\n async_highlight: function async_highlight() {},\n getAll: false,\n search: {},\n firstCall: true,\n map_bbox: { key: null, cb: null },\n disableSelectAll: false\n };\n },\n\n\n computed: {\n has_features: function has_features() {\n return !!this.state.features.length;\n },\n current_layout: function current_layout() {\n return _application2.default.gui.layout[_application2.default.gui.layout.__current];\n }\n },\n\n methods: {\n editFeature: function editFeature(feature) {\n $('.tooltip').remove();\n _gui2.default.getService('queryresults').editFeature({ layer: { id: this.layer.getId() }, feature: feature });\n },\n openForm: function () {\n var _ref5 = _asyncToGenerator(function* (feature) {\n $('.tooltip').remove();\n try {\n yield (0, _promisify.promisify)(_data2.default.getData('search:fids', {\n inputs: {\n layer: this.layer,\n fids: [feature.id],\n formatter: 1\n }\n }));\n\n if (feature.geometry) {\n _gui2.default.getService('map').zoomToGeometry((0, _coordinatesToGeometry.coordinatesToGeometry)(feature.geometry.type, feature.geometry.coordinates));\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function openForm(_x) {\n return _ref5.apply(this, arguments);\n }\n\n return openForm;\n }(),\n get_check_id: function get_check_id(cache) {\n if (cache) {\n this.get_check_id.cached_id = (0, _getUniqueDomId.getUniqueDomId)();\n }\n return this.get_check_id.cached_id;\n },\n getDataFromBBOX: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _this = this;\n\n var map = _gui2.default.getService('map');\n\n this.state.geolayer.active = !this.state.geolayer.active;\n\n var is_active = this.state.geolayer.active;\n\n if (is_active) {\n this.map_bbox.cb = function () {\n _this.state.geolayer.in_bbox = _this.state.geolayer.active ? map.getMapBBOX().join(',') : undefined;\n $(_this.$refs.attribute_table).DataTable().ajax.reload();\n };\n }\n\n if (is_active) {\n this.map_bbox.key = map.getMap().on('moveend', this.map_bbox.cb);\n }\n\n if (this.map_bbox.cb) {\n this.map_bbox.cb();\n }\n\n if (!is_active) {\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n }\n });\n\n function getDataFromBBOX() {\n return _ref6.apply(this, arguments);\n }\n\n return getDataFromBBOX;\n }(),\n checkSelectAll: function checkSelectAll() {\n this.state.selectAll = this.layer.getSelectionFids().has(_g3wConstants.SELECTION.ALL) || this.state.features.every(function (f) {\n return f.selected;\n });\n },\n inverseSelection: function () {\n var _ref7 = _asyncToGenerator(function* () {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = !f.selected;\n });\n this.layer.invertSelectionFids();\n\n this.checkSelectAll();\n });\n\n function inverseSelection() {\n return _ref7.apply(this, arguments);\n }\n\n return inverseSelection;\n }(),\n selectAllRows: function () {\n var _ref8 = _asyncToGenerator(function* () {\n var _this2 = this;\n\n this.state.selectAll = !this.state.selectAll;\n\n var filter = this.filter.length > 0;\n\n if (!filter) {\n if (!this.getAll) {\n yield this.getFeatures();\n }\n this.state.features.forEach(function (f) {\n return f.selected = _this2.state.selectAll;\n });\n yield this.layer[this.state.selectAll ? 'setSelectionFidsAll' : 'clearSelectionFids']();\n }\n\n if (filter) {\n if (this.state.selectAll) {\n this.state.features.filter(function (f) {\n return _this2.filter.includes(f.id);\n }).forEach(function (f) {\n f.selected = true;\n _this2.layer.includeSelectionFid(f.id);\n });\n } else {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.layer.clearSelectionFids();\n }\n }\n\n this.state.show_tools = this.state.features.some(function (f) {\n return f.selected;\n });\n });\n\n function selectAllRows() {\n return _ref8.apply(this, arguments);\n }\n\n return selectAllRows;\n }(),\n highlight: function () {\n var _ref9 = _asyncToGenerator(function* (feature) {\n var _this3 = this;\n\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n var map = _gui2.default.getService('map');\n\n if (!feature || !feature.geometry) {\n return map.clearHighlightGeometry();\n }\n\n this.async_highlight = function () {\n map.clearHighlightGeometry();\n map.highlightGeometry(feature.geometry, { zoom: zoom, duration: Infinity });\n };\n\n if (feature.geometry && this.has_map) {\n return this.async_highlight();\n }\n\n if (feature.geometry || !feature.geometry && !this.relations.length > 0) {\n return;\n }\n\n var features = [];\n var field_values = [];\n\n (yield Promise.allSettled(this.relations.flatMap(function (_ref10) {\n var layer = _ref10.layer,\n father_fields = _ref10.father_fields,\n fields = _ref10.fields;\n\n var values = fields.map(function (f) {\n return feature.attributes[f];\n });\n field_values.push(values);\n return zoom ? _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n formatter: 1,\n filter: father_fields.map(function (field, i) {\n return field + '|eq|' + encodeURIComponent(values[i]);\n }).join('|AND,')\n },\n outputs: false }) : [];\n }))).forEach(function (response, index) {\n if ('fulfilled' === response.status) {\n var relation = _this3.relations[index];\n var k = field_values[index].join('__');\n var data = response.value && response.value.data[0];\n if (undefined === relation.features[k]) {\n relation.features[k] = data && data.features || [];\n }\n features.push.apply(features, _toConsumableArray(relation.features[k]));\n }\n if (zoom) {\n map.zoomToFeatures(features, { highlight: true });\n } else {\n map.highlightFeatures(features);\n }\n });\n });\n\n function highlight(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return highlight;\n }(),\n select: function select(feature) {\n feature.selected = !feature.selected;\n\n this.state.selectAll = this.state.features.every(function (f) {\n return f.selected;\n });\n\n this.layer[feature.selected ? 'includeSelectionFid' : 'excludeSelectionFid'](feature.id);\n\n this.state.show_tools = this.layer.getSelectionFids().size > 0;\n },\n resize: function () {\n var _ref11 = _asyncToGenerator(function* () {\n yield this.$nextTick();\n var table = this.$el.querySelector('div.dataTables_scrollBody');\n if (table) {\n table.style.height = _gui2.default.isMobile() ? '100%' : ((document.querySelector('.content') || {}).clientHeight || 0) - ((this.$el.querySelector('div.dataTables_scrollHeadInner') || {}).clientHeight || 0) - 100 + 'px';\n }\n\n $(this.$refs.attribute_table).DataTable().columns.adjust();\n });\n\n function resize() {\n return _ref11.apply(this, arguments);\n }\n\n return resize;\n }(),\n getFeatures: function () {\n var _ref12 = _asyncToGenerator(function* (params) {\n var _this4 = this;\n\n try {\n _gui2.default.setLoadingContent(true);\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(params || {}));\n var is_valid = this.layer.isGeoLayer() && data.features;\n\n if (is_valid && !params) {\n var loaded_features = this.state.features.map(function (f) {\n return f.id;\n });\n data.features.filter(function (f) {\n return f.geometry && !loaded_features.includes(f.id);\n }).forEach(function (f) {\n return _this4.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n });\n this.getAll = true;\n }\n\n if (is_valid) {\n return data.features;\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject();\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getFeatures(_x4) {\n return _ref12.apply(this, arguments);\n }\n\n return getFeatures;\n }(),\n getData: function () {\n var _ref13 = _asyncToGenerator(function* () {\n var _this5 = this;\n\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref14$start = _ref14.start,\n start = _ref14$start === undefined ? 0 : _ref14$start,\n _ref14$order = _ref14.order,\n order = _ref14$order === undefined ? [] : _ref14$order,\n _ref14$length = _ref14.length,\n length = _ref14$length === undefined ? this.layer.getAttributeTablePageLength() || PAGELENGTHS[1] : _ref14$length,\n _ref14$columns = _ref14.columns,\n columns = _ref14$columns === undefined ? [] : _ref14$columns,\n _ref14$search = _ref14.search,\n search = _ref14$search === undefined ? { value: null } : _ref14$search;\n\n _gui2.default.setLoadingContent(true);\n\n this.layer.setAttributeTablePageLength(length);\n\n if (0 === this.state.headers.length) {\n return {\n data: [],\n recordsTotal: 0,\n recordsFiltered: 0\n };\n }\n\n this.state.features.splice(0);\n\n if (0 === order.length) {\n order.push({ column: 1, dir: 'asc' });\n }\n\n this.search = {\n field: columns.filter(function (c) {\n return c.search && c.search.value;\n }).map(function (c) {\n return c.name + '|ilike|' + c.search.value + '|and';\n }).join(',') || undefined,\n page: start === 0 || this.layer.state.filter.active ? 1 : start / length + 1,\n page_size: length,\n search: search.value && search.value.length > 0 ? search.value : null,\n in_bbox: this.state.geolayer.in_bbox,\n ordering: ('asc' === order[0].dir ? '' : '-') + this.state.headers[order[0].column].name,\n formatter: 1\n };\n\n try {\n var _state$features;\n\n var data = yield (0, _promisify.promisify)(this.layer.getDataTable(this.search));\n\n this.state.allfeatures = data.count;\n this.state.featurescount = (data.features || []).length;\n\n (_state$features = this.state.features).push.apply(_state$features, _toConsumableArray((data.features || []).map(function (f) {\n if (_this5.layer.isGeoLayer() && f.geometry && !_this5.layer.getOlSelectionFeature(f.id)) {\n _this5.layer.addOlSelectionFeature(_createFeatureForSelection(f));\n }\n return {\n id: f.id,\n selected: _this5.layer.hasSelectionFid(f.id),\n attributes: f.attributes || f.properties,\n geometry: _this5.layer.isGeoLayer() && f.geometry || undefined\n };\n })));\n\n this.state.show_tools = this.layer.state.filter.active || this.layer.getSelectionFids().size > 0;\n this.state.selectAll = this.layer.state.filter.active || this.state.features.every(function (f) {\n return f.selected;\n });\n return {\n data: this.state.features.map(function (f) {\n return [null].concat(_this5.state.headers.filter(function (h) {\n return h;\n }).map(function (h) {\n h.value = (f.attributes || f.properties)[h.name];return h.value;\n }));\n }),\n recordsFiltered: data.count,\n recordsTotal: data.count,\n filter: this.state.features.map(function (f) {\n return f.id;\n })\n\n };\n } catch (e) {\n console.warn(e);\n _gui2.default.notify.error(t(\"info.server_error\"));\n return Promise.reject(e);\n } finally {\n _gui2.default.setLoadingContent(false);\n }\n });\n\n function getData() {\n return _ref13.apply(this, arguments);\n }\n\n return getData;\n }(),\n unSelectAll: function unSelectAll() {\n this.state.features.forEach(function (f) {\n return f.selected = false;\n });\n this.state.show_tools = false;\n this.state.selectAll = false;\n },\n onGUIContent: function onGUIContent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.has_map = 100 !== opts.perc;\n },\n filterChangeHandler: function filterChangeHandler() {\n $(this.$refs.attribute_table).DataTable().ajax.reload();\n }\n },\n\n beforeCreate: function beforeCreate() {\n this.delayType = 'debounce';\n },\n created: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.unSelectAll = this.unSelectAll.bind(this);\n\n this.onGUIContent = this.onGUIContent.bind(this);\n\n _gui2.default.onbefore('setContent', this.onGUIContent);\n this.layer.on('unselectionall', this.unSelectAll);\n this.layer.on('filtertokenchange', this.filterChangeHandler);\n\n _gui2.default.closeSideBar();\n this.current_layout.rightpanel.height = 55;\n\n _gui2.default.showContent({\n content: new _g3wComponent2.default({\n id: 'openattributetable',\n service: { state: this.state },\n internalComponent: this\n }),\n\n split: _gui2.default.isMobile() ? 'h' : 'v',\n push: false,\n title: this.layer.getTitle(),\n text: true });\n\n if (this.isMobile()) {\n _gui2.default.hideSidebar();\n }\n });\n\n function created() {\n return _ref15.apply(this, arguments);\n }\n\n return created;\n }(),\n mounted: function () {\n var _ref16 = _asyncToGenerator(function* () {\n var _this6 = this;\n\n this.last_map_control = _gui2.default.getService('map').getMapControls().find(function (c) {\n return c.control.isToggled && c.control.isToggled();\n });\n if (this.last_map_control) {\n this.last_map_control.control.toggle();\n }\n this.setContentKey = _gui2.default.onafter('setContent', this.resize);\n\n yield this.$nextTick();\n\n var pResolve = void 0;\n\n var filterColumns = {};\n\n var table = $(this.$refs.attribute_table).DataTable({\n ajax: (0, _debounce.debounce)(function () {\n var _ref17 = _asyncToGenerator(function* (opts, cb) {\n try {\n _gui2.default.disableContent(true);\n var data = yield _this6.getData(opts);\n cb(data);\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n if (pResolve) {\n pResolve(data.filter);\n }\n yield _this6.$nextTick();\n table.columns.adjust();\n } catch (e) {\n console.warn(e);\n }\n\n _gui2.default.disableContent(false);\n });\n\n return function (_x7, _x8) {\n return _ref17.apply(this, arguments);\n };\n }(), 800),\n bSortCellsTop: true,\n columns: this.state.headers,\n columnDefs: [{ orderable: false, searchable: false, targets: 0, width: '1%' }],\n deferLoading: this.state.allfeatures,\n dom: 'frt<\"#g3w-table-toolbar\">lip',\n lengthMenu: PAGELENGTHS,\n order: [1, 'asc'],\n pageLength: this.layer.getAttributeTablePageLength() || PAGELENGTHS[1],\n processing: false,\n responsive: true,\n scrollCollapse: true,\n scrollX: true,\n serverSide: true,\n sSearch: false\n });\n\n this.changeColumn = (0, _debounce.debounce)(function () {\n var _ref18 = _asyncToGenerator(function* (e, i) {\n var value = e.target.value.trim();\n table.one('draw', _asyncToGenerator(function* () {\n filterColumns[i] = value;\n _this6.disableSelectAll = 0 === _this6.state.features.length;\n _this6.filter = Object.values(filterColumns).find(function (f) {\n return f;\n }) ? yield new Promise(function (resolve) {\n return pResolve = resolve;\n }) : [];\n }));\n table.columns(i).search(value).draw();\n });\n\n return function (_x9, _x10) {\n return _ref18.apply(this, arguments);\n };\n }());\n\n var fragment = document.createDocumentFragment();\n fragment.appendChild(this.$refs.table_toolbar);\n document.getElementById('g3w-table-toolbar').appendChild(fragment);\n\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_info'));\n document.querySelector('#g3w-view-content .g3-content-header-action-tools').insertAdjacentElement('beforebegin', document.querySelector('.dataTables_filter'));\n\n document.getElementById('table_body_attributes').remove();\n\n table.ajax.reload();\n });\n\n function mounted() {\n return _ref16.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n if (this.last_map_control && !this.last_map_control.control.isToggled()) {\n this.last_map_control.control.toggle();\n }\n\n this.last_map_control = null;\n\n this.layer.off('unselectionall', this.unSelectAll);\n this.layer.off('filtertokenchange', this.filterChangeHandler);\n\n ol.Observable.unByKey(this.map_bbox.key);\n this.map_bbox.key = null;\n this.map_bbox.cb = null;\n\n this.highlight();\n\n if (!this.has_map) {\n setTimeout(function () {\n _this7.async_highlight();\n _this7.has_map = true;\n _this7.async_highlight = function () {};\n });\n }\n\n _gui2.default.un('setContent', this.setContentKey);\n\n document.querySelector('#g3w-view-content .dataTables_info').remove();\n document.querySelector('#g3w-view-content .dataTables_filter').remove();\n $(this.$refs.attribute_table).DataTable().destroy(true);\n });\n\n function beforeDestroy() {\n return _ref20.apply(this, arguments);\n }\n\n return beforeDestroy;\n }()\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"open_attribute_table\"}},[_c('div',{ref:\"table_toolbar\",staticStyle:{\"display\":\"flex\",\"justify-content\":\"space-between\",\"padding\":\"1px\"}},[(_vm.layer.isGeoLayer())?_c('div',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.state.geolayer.active && _vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('map'), _vm.state.geolayer.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.getDataFromBBOX($event)}}}):_vm._e(),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:_vm.$fa('clear'),attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.clearSelectionFids()}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('invert'), _vm.layer.state.filter.active ? 'g3w-disabled': '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.inverseSelection($event)}}}),_vm._v(\" \"),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.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\":true}}],staticClass:\"skin-color action-button skin-tooltip-right\",class:[ _vm.$fa('filter'), _vm.layer.state.filter.active ? 'toggled' : '' ],attrs:{\"data-placement\":\"right\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.layer.toggleFilterToken()}}})]),_vm._v(\" \"),(_vm.state.headers.length)?_c('table',{ref:\"attribute_table\",staticClass:\"table table-striped row-border compact nowrap\",attrs:{\"id\":\"layer_attribute_table\"}},[_c('thead',[_c('tr',[_c('th'),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_vm._v(_vm._s(header.label))]):_vm._e()})],2),_vm._v(\" \"),_c('tr',[_c('th',{directives:[{name:\"disabled\",rawName:\"v-disabled\",value:(_vm.disableSelectAll),expression:\"disableSelectAll\"}]},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":\"attribute_table_select_all_rows\"},domProps:{\"checked\":_vm.state.selectAll}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"attribute_table_select_all_rows\"},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.selectAllRows($event)}}},[_vm._v(\" \")])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,i){return (i > 0)?_c('th',[_c('input',{staticClass:\"form-control column-search\",attrs:{\"type\":\"text\",\"placeholder\":header.name,\"title\":'search by ' + header.name},on:{\"keyup\":function($event){return _vm.changeColumn($event, i)}}})]):_vm._e()})],2)]),_vm._v(\" \"),_c('tbody',{attrs:{\"id\":\"table_body_attributes\",\"hidden\":\"\"}}),_vm._v(\" \"),_c('tbody',{ref:\"table_body\",on:{\"mouseleave\":function($event){return _vm.highlight()}}},_vm._l((_vm.state.features),function(feature,i){return _c('tr',{key:feature.id,class:[\n i % 2 == 1 ? 'odd' : 'pair',\n 'feature_attribute',\n { geometry: !!feature.geometry },\n { 'selected': feature.selected }\n ],attrs:{\"role\":\"row\"},on:{\"mouseover\":function($event){return _vm.highlight(feature, false)},\"click\":function($event){$event.stopPropagation();return _vm.highlight(feature, true)}}},[_c('td',[_c('div',{staticStyle:{\"display\":\"flex\"}},[_c('input',{staticClass:\"magic-checkbox\",attrs:{\"type\":\"checkbox\",\"id\":_vm.get_check_id(true)},domProps:{\"checked\":feature.selected}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":_vm.get_check_id(false)},on:{\"!click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.select(feature)}}}),_vm._v(\" \"),_c('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\":true}}],class:'action-button skin-color ' + _vm.$fa('table'),on:{\"click\":function($event){$event.stopPropagation();return _vm.openForm(feature)}}}),_vm._v(\" \"),(_vm.layer.state.geolayer && !feature.geometry)?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('no_geometry'),expression:\"'no_geometry'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button ' + _vm.$fa('alert'),staticStyle:{\"color\":\"currentColor !important\"}}):_vm._e(),_vm._v(\" \"),(_vm.layer.isEditable())?_c('i',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:top.create\",value:('sdk.tooltips.editing'),expression:\"'sdk.tooltips.editing'\",arg:\"top\",modifiers:{\"create\":true}}],class:'action-button skin-color ' + _vm.$fa('pencil'),on:{\"click\":function($event){$event.stopPropagation();return _vm.editFeature(feature)}}}):_vm._e()])]),_vm._v(\" \"),_vm._l((_vm.state.headers),function(header,j){return (j > 0)?_c('td',[_c('field',{attrs:{\"feature\":feature,\"state\":({ label: undefined, value: feature.attributes[header.name] })}})],1):_vm._e()})],2)}),0)]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:('dataTable.no_data'),expression:\"'dataTable.no_data'\"}],attrs:{\"id\":\"noheaders\"}})])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-b4d834d0\"\n\n},{\"components/FieldG3W.vue\":44,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-i18n\":128,\"mixins\":165,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/coordinatesToGeometry\":189,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"vueify/lib/insert-css\":2}],109:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".tool_disabled[data-v-31811884]{cursor:not-allowed}.tool_disabled>span[data-v-31811884]{color:#777}.tool_type[data-v-31811884]{cursor:pointer;vertical-align:center;position:absolute;right:0;top:0;padding:5px}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n name: \"g3w-tool\",\n props: ['tool'],\n methods: {\n showToolStateMessage: function showToolStateMessage() {\n _gui2.default.showModalDialog({ title: this.tool.state.type.toUpperCase(), message: this.tool.state.message });\n }\n },\n computed: {\n disabled: function disabled() {\n return !this.tool.offline && !_application2.default.online || this.tool.loading || this.tool.disabled;\n },\n sidebarOpen: function sidebarOpen() {\n return _application2.default.gui.sidebar.open;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[('checkbox' === _vm.tool.type)?_c('div',{staticClass:\"checkbox\"},[_c('label',[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.tool.isCheck),expression:\"tool.isCheck\"}],staticStyle:{\"cursor\":\"pointer\"},attrs:{\"id\":_vm.tool.layerName,\"type\":\"checkbox\"},domProps:{\"value\":_vm.tool.layerName,\"checked\":Array.isArray(_vm.tool.isCheck)?_vm._i(_vm.tool.isCheck,_vm.tool.layerName)>-1:(_vm.tool.isCheck)},on:{\"click\":function($event){return _vm.tool.action(_vm.tool)},\"change\":function($event){var $$a=_vm.tool.isCheck,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=_vm.tool.layerName,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.tool, \"isCheck\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.tool, \"isCheck\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.tool, \"isCheck\", $$c)}}}}),_vm._v(\"\\n \"+_vm._s(_vm.tool.name)+\"\\n \")])]):_c('div',{directives:[{name:\"t-tooltip\",rawName:\"v-t-tooltip:right.create\",value:(_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name),expression:\"sidebarOpen ? null : tool.html ? tool.html.text || tool.name : tool.name\",arg:\"right\",modifiers:{\"create\":true}}],staticClass:\"tool\",class:{ tool_disabled: _vm.disabled },staticStyle:{\"position\":\"relative\"},attrs:{\"current-tooltip\":_vm.sidebarOpen ? null : _vm.tool.html ? _vm.tool.html.text || _vm.tool.name : _vm.tool.name},on:{\"click\":function($event){!_vm.disabled ? _vm.tool.action(_vm.tool) : null}}},[_c('bar-loader',{attrs:{\"loading\":_vm.tool.loading}}),_vm._v(\" \"),_c('i',{class:_vm.$fa(_vm.tool.icon || 'caret-right')}),_vm._v(\" \"),(_vm.tool.html)?_c('span',{staticClass:\"tool-label\"},[_c('i',{class:_vm.tool.html.icon}),_vm._v(\"\\n \"+_vm._s(_vm.tool.html.text || _vm.tool.name)+\"\\n \")]):_c('span',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.tool.name),expression:\"tool.name\"}],staticClass:\"tool-label\"}),_vm._v(\" \"),(_vm.tool.state.type)?_c('span',{staticClass:\"tool_type\",style:({ color: ({ alert: 'red', info: 'blue', warning: 'orange'})[_vm.tool.state.type] }),on:{\"click\":function($event){$event.stopPropagation();return _vm.showToolStateMessage($event)}}},[_c('i',{class:_vm.$fa(_vm.tool.state.type)})]):_vm._e()],1)])}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-31811884\"\n\n},{\"services/gui\":173,\"store/application\":178,\"vueify/lib/insert-css\":2}],110:[function(require,module,exports){\nvar __vueify_style_dispose__ = require(\"vueify/lib/insert-css\").insert(\".usermessage-content[data-v-57c4f706]{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-57c4f706]{cursor:move;position:fixed}.usermessage-content.mobile[data-v-57c4f706]{padding:0;min-width:100%}.usermessage-header-content[data-v-57c4f706]{display:flex;align-items:baseline;justify-content:space-between;width:100%;border-bottom:2px solid #eee}.usermessage-header-icontype[data-v-57c4f706]{padding:10px 0 0 5px;font-weight:700;font-size:1.3em}.usermessage-content.mobile .usermessage-header-icontype[data-v-57c4f706]{padding:0 0 0 5px;font-size:1.1em}.usermessage-header-title[data-v-57c4f706],.usermessage-header-title h4[data-v-57c4f706]{font-weight:700;text-align:center}.usermessage-content.mobile .usermessage-header-title h4[data-v-57c4f706]{margin:0}.usermessage-header-subtitle[data-v-57c4f706]{font-weight:700;margin:5px}.usermessage-header-right[data-v-57c4f706]{padding:5px}.usermessage-header-right-item[data-v-57c4f706]{font-weight:700!important;font-size:1.2em;cursor:pointer}.usermessage-message[data-v-57c4f706]{width:100%;padding:10px;max-height:100px;font-size:1.1em;align-self:flex-start;overflow-y:auto}\")\n;(function(){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction dragElement(el) {\n var x2 = 0,\n y2 = 0,\n x1 = 0,\n y1 = 0;\n el.addEventListener('mousedown', function (e) {\n if (['.select2-container', 'button', 'select', 'input', 'textarea'].some(function (i) {\n return e.target.closest(i);\n })) {\n return;\n }\n e.preventDefault();\n x1 = e.clientX;\n y1 = e.clientY;\n document.addEventListener('mouseup', mouseUp);\n document.addEventListener('mousemove', mouseMove);\n });\n function mouseUp() {\n document.removeEventListener('mouseup', mouseUp);\n document.removeEventListener('mousemove', mouseMove);\n }\n function mouseMove(e) {\n e.preventDefault();\n x2 = x1 - e.clientX;\n y2 = y1 - e.clientY;\n x1 = e.clientX;\n y1 = e.clientY;\n if (el.style.marginLeft) {\n x2 -= parseInt(el.style.marginLeft);el.style.marginLeft = null;\n }\n if (el.style.marginTop) {\n y2 -= parseInt(el.style.marginTop);el.style.marginTop = null;\n }\n el.style.top = el.offsetTop - y2 + \"px\";\n el.style.left = el.offsetLeft - x2 + \"px\";\n }\n}\n\nexports.default = {\n name: \"usermessage\",\n props: {\n id: {},\n type: {\n type: String,\n default: \"info\" },\n title: {\n type: String,\n default: null\n },\n subtitle: {\n type: String,\n default: null\n },\n position: {\n type: String,\n default: \"top\"\n },\n size: {\n type: String,\n default: \"fullpage\"\n },\n message: {\n type: String,\n default: ''\n },\n textMessage: {\n type: Boolean,\n default: false\n },\n autoclose: {\n type: Boolean,\n default: false\n },\n draggable: {\n type: Boolean,\n default: false\n },\n duration: {\n type: Number,\n default: 2000\n },\n closable: {\n type: Boolean,\n default: true\n },\n\n iconClass: {\n type: String,\n default: null\n }\n },\n data: function data() {\n var _position$split = this.position.split('-'),\n _position$split2 = _slicedToArray(_position$split, 2),\n where = _position$split2[0],\n alignement = _position$split2[1];\n\n return {\n style: _extends({}, 'center' === where ? { top: 0, bottom: 0, maxHeight: '20%' } : _defineProperty({}, where, 50), {\n 'center': { left: 0, right: 0, margin: 'auto' },\n 'right': { right: 0 }\n }[alignement] || {}, {\n width: {\n 'small': '325px',\n 'medium': '50%',\n 'fullpage': '100%'\n }[alignement ? 'small' : this.size] || '100%'\n }, {\n success: { backgroundColor: \"#62ac62\", color: \"#FFF\" },\n info: { backgroundColor: \"#44a0bb\", color: \"#FFF\" },\n warning: { backgroundColor: \"#f29e1d\", color: \"#FFF\" },\n alert: { backgroundColor: \"#c34943\", color: \"#FFF\" },\n tool: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n \"z-index\": 100,\n marginLeft: document.body.classList.contains('sidebar-collapse') ? '5px' : '40px'\n },\n loading: {\n backgroundColor: \"#FFF\",\n color: \"#222d32\",\n fontWeight: \"bold\"\n }\n }[this.type])\n };\n },\n\n computed: {\n showheader: function showheader() {\n return 'loading' !== this.type;\n }\n },\n methods: {\n addClassMobile: function addClassMobile() {\n return this.isMobile() && !_gui2.default.isSidebarVisible();\n },\n closeUserMessage: function closeUserMessage() {\n this.$emit('close-usermessage');\n },\n hideShow: function hideShow() {}\n },\n created: function created() {\n this.observe = null;\n },\n mounted: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this = this;\n\n if ('tool' === this.type) {\n dragElement(this.$refs.user_message);\n this.observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n _this.style.marginLeft = mutation.target.classList.contains('sidebar-collapse') ? '5px' : '40px';\n }\n });\n });\n this.observer.observe(document.body, { attributes: true });\n }\n if (this.autoclose) {\n yield this.$nextTick();\n var timeout = setTimeout(function () {\n _this.closeUserMessage();\n clearTimeout(timeout);\n }, this.duration);\n }\n });\n\n function mounted() {\n return _ref2.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n if (this.observer) {\n this.observer.disconnect();\n this.observer = null;\n }\n }\n};\n})()\nif (module.exports.__esModule) module.exports = module.exports.default\nvar __vue__options__ = (typeof module.exports === \"function\"? module.exports.options: module.exports)\n__vue__options__.render = function render () {\nvar _obj;\nvar _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"user_message\",staticClass:\"usermessage-content\",class:( _obj = {'mobile': _vm.addClassMobile()}, _obj['usermessage-' + _vm.type] = true, _obj ),style:(_vm.style),attrs:{\"id\":_vm.id}},[(_vm.showheader)?_c('div',{staticClass:\"usermessage-header-content\"},[_c('i',{staticClass:\"usermessage-header-icontype\",class:_vm.$fa(_vm.iconClass || _vm.type)}),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-title\"},[_vm._t(\"header\",[(_vm.title)?_c('h4',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.title),expression:\"title\"}]}):_c('h4',[_vm._v(\" \"+_vm._s(_vm.type.toUpperCase()))]),_vm._v(\" \"),(_vm.subtitle)?_c('h5',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.subtitle),expression:\"subtitle\"}],staticClass:\"usermessage-header-subtitle\"}):_vm._e()])],2),_vm._v(\" \"),_c('div',{staticClass:\"usermessage-header-right\"},[(!_vm.autoclose && _vm.closable)?_c('div',{on:{\"click\":_vm.closeUserMessage}},[_c('i',{staticClass:\"usermessage-header-right-item\",class:_vm.$fa('close')})]):_vm._e()])]):_vm._e(),_vm._v(\" \"),_vm._t(\"body\",[(_vm.textMessage)?_c('div',{staticClass:\"usermessage-message\"},[_vm._v(_vm._s(_vm.message))]):_c('div',{directives:[{name:\"t\",rawName:\"v-t\",value:(_vm.message),expression:\"message\"}],staticClass:\"usermessage-message\"})]),_vm._v(\" \"),_vm._t(\"footer\")],2)}\n__vue__options__.staticRenderFns = []\n__vue__options__._scopeId = \"data-v-57c4f706\"\n\n},{\"services/gui\":173,\"vueify/lib/insert-css\":2}],111:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FormService = exports.FormComponent = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _Form = require('components/Form.vue');\n\nvar vueComp = _interopRequireWildcard(_Form);\n\nvar _FormBody = require('components/FormBody.vue');\n\nvar _FormBody2 = _interopRequireDefault(_FormBody);\n\nvar _getDefaultExpression = require('utils/getDefaultExpression');\n\nvar _getFilterExpression = require('utils/getFilterExpression');\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/form/vue/form.js@v3.9.3 \n * \n * Used by the following plugins: \"editing\", \"cadastre\", \"geonotes\", \"iternet\" \n */\nvar FormComponent = exports.FormComponent = function (_Component) {\n _inherits(FormComponent, _Component);\n\n function FormComponent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormComponent);\n\n // set element of the form\n var _this = _possibleConstructorReturn(this, (FormComponent.__proto__ || Object.getPrototypeOf(FormComponent)).call(this, _extends({}, opts, {\n id: opts.id || 'form',\n perc: null !== opts.layer.getFormPercentage() ? opts.layer.getFormPercentage() : opts.perc,\n service: new (opts.service || FormService)(),\n vueComponentObject: opts.vueComponentObject || vueComp\n })));\n\n var components = opts.components || [{\n id: opts.id,\n title: opts.title,\n name: opts.name,\n root: true,\n component: _FormBody2.default,\n headerComponent: opts.headerComponent\n }];\n\n _this.getService().addComponents(components);\n _this.getService().setComponent(components[0].component);\n\n _this.onafter('mount', function () {\n return _gui2.default.setModal(true);\n });\n return _this;\n }\n\n _createClass(FormComponent, [{\n key: 'addFormComponents',\n value: function addFormComponents() {\n var c = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this.getService().addComponents(c);\n }\n }, {\n key: 'addFormComponent',\n value: function addFormComponent(c) {\n c && this.getService().addComponent(c);\n }\n }, {\n key: 'layout',\n value: function layout() {\n this.getInternalComponent().reloadLayout();\n }\n\n /** @TODO check if superflous */\n\n }, {\n key: 'mount',\n value: function mount(parent, append) {\n return _get(FormComponent.prototype.__proto__ || Object.getPrototypeOf(FormComponent.prototype), 'mount', this).call(this, parent, append).then(function () {\n _gui2.default.setModal(true);\n });\n }\n }]);\n\n return FormComponent;\n}(_g3wComponent2.default);\n\n/**\n * @file ORIGINAL SOURCE: src/app/gui/form/formservice.js@v3.10.2\n * @since 3.11.0\n */\n\n\nvar FormService = exports.FormService = function (_G3WObject) {\n _inherits(FormService, _G3WObject);\n\n function FormService() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FormService);\n\n var _this2 = _possibleConstructorReturn(this, (FormService.__proto__ || Object.getPrototypeOf(FormService)).call(this, opts));\n\n _this2.state = null;\n\n _this2.eventBus = new Vue();\n\n _this2.eventBus.$on('set-loading-form', function () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n return _this2.state.loading = bool;\n });\n\n /**\n * Whether to force some state property to have a certain value.\n * (e.g., set on a child to parent form service relation)\n *\n * @type {{ valid: boolean, update: boolean }}\n */\n _this2.force = {\n update: false,\n valid: false // NOT USED FOR THE MOMENT\n };\n\n _this2.layer;\n\n _this2.setters = {\n setInitForm: function setInitForm() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n },\n setFormStructure: function setFormStructure(formStructure) {\n this.state.formstructure = formStructure;\n },\n setFormFields: function setFormFields() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.state.fields = fields;\n this.handleFieldsWithExpression(fields);\n },\n setupFields: function setupFields() {},\n setFormData: function setFormData() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setFormFields(fields);\n },\n setField: function setField(field) {},\n setState: function setState(state) {\n this._setState(state);\n },\n addActionsForForm: function addActionsForForm(actions) {},\n postRender: function postRender(element) {\n // hook for listener to chenge DOM\n }\n };\n\n return _this2;\n }\n\n _createClass(FormService, [{\n key: 'init',\n value: function init() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._setInitForm(opts);\n }\n\n /**\n * Init form options passed, for example, by editor\n */\n\n }, {\n key: '_setInitForm',\n value: function _setInitForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var fields = options.fields,\n feature = options.feature,\n parentData = options.parentData,\n layer = options.layer,\n _options$title = options.title,\n title = _options$title === undefined ? 'Form' : _options$title,\n formId = options.formId,\n name = options.name,\n _options$buttons = options.buttons,\n buttons = _options$buttons === undefined ? {} : _options$buttons,\n context_inputs = options.context_inputs,\n isnew = options.isnew,\n _options$footer = options.footer,\n footer = _options$footer === undefined ? {} : _options$footer,\n headerComponent = options.headerComponent;\n\n\n this.layer = layer;\n\n /**\n * Cloned feature\n */\n this.feature = feature.clone();\n\n this.title = title;\n\n this.formId = formId;\n\n this.name = name;\n\n this.buttons = buttons;\n\n this.context_inputs = context_inputs;\n\n this.parentData = parentData;\n\n this.headerComponent = headerComponent;\n\n /**\n * Force update state of the service\n * (e.g., setted on a child to parent form service relation)\n */\n this.state = {\n layerid: layer.getId(),\n loading: false,\n components: [],\n disabledcomponents: [],\n component: null,\n headers: [],\n currentheaderid: null,\n fields: null,\n buttons: this.buttons,\n disabled: false,\n isnew: isnew,\n valid: true, // global form validation state. True at beginning\n update: feature.isNew(), // set update in case or not is a new feature\n // when input change will be updated\n tovalidate: {},\n feature: this.feature, //need to get feature cloned\n componentstovalidate: {},\n footer: footer,\n ready: false\n };\n\n this.force.update = feature.isNew();\n\n /**\n * Expression fields dependencies from filter_expression\n */\n this.filter_expression_fields_dependencies = {}; //\n\n /**\n * Expression fields dependencies from default_expression\n */\n this.default_expression_fields_dependencies = {};\n\n /**\n * @since 3.8.0\n */\n this.default_expression_fields_on_update = [];\n\n /**\n * Wheter to listen for changes when `saveDefaultExpressionFieldsNotDependencies` is called\n *\n * @since 3.8.0\n */\n this.listenChangeInput = true;\n\n this.setFormFields(fields);\n\n if (this.layer && options.formStructure) {\n this.setFormStructure(this.layer.getLayerEditingFormStructure());\n }\n }\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.ready = bool;\n }\n }, {\n key: 'changeInput',\n\n\n /**\n * Called when an input change value\n *\n * @param input\n */\n value: function changeInput(input) {\n //need to set property\n this.feature.set(input.name, input.value);\n if (true === this.listenChangeInput) {\n this.evaluateFilterExpressionFields(input);\n this.evaluateDefaultExpressionFields(input);\n this.isValid(input);\n this.isUpdated(input);\n }\n }\n }, {\n key: 'isUpdated',\n\n\n /**\n * Check if the form is updated base on change on input\n *\n * @param input\n */\n value: function isUpdated(input) {\n this.state.update = this.force.update || (!this.state.update ? input.update : !!this.state.fields.find(function (f) {\n return f.update;\n }));\n }\n }, {\n key: 'setUpdate',\n\n\n /**\n *\n */\n value: function setUpdate() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$force = options.force,\n force = _options$force === undefined ? false : _options$force;\n\n this.force.update = force;\n this.state.update = this.force.update || bool;\n if (false === this.state.update) {\n // set original `field._value` equal to current value to get changes\n this.state.fields.forEach(function (f) {\n return f._value = f.value;\n });\n }\n }\n }, {\n key: 'evaluateDefaultExpressionFields',\n\n\n /**\n * Evaluate filter expression\n *\n * @param input\n */\n value: function evaluateDefaultExpressionFields() {\n var _this3 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.default_expression_fields_dependencies[input.name];\n if (filter) {\n filter.forEach(function (dependency_field) {\n (0, _getDefaultExpression.getDefaultExpression)({\n parentData: _this3.parentData,\n qgs_layer_id: _this3.layer.getId(),\n field: _this3._getField(dependency_field),\n feature: _this3.feature\n });\n });\n }\n }\n }, {\n key: 'evaluateFilterExpressionFields',\n\n\n /**\n * Evaluate filter expression fields\n *\n * @param input\n */\n value: function evaluateFilterExpressionFields() {\n var _this4 = this;\n\n var input = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var filter = this.filter_expression_fields_dependencies[input.name];\n if (filter) {\n // on form service inititalization `filter_expression` option has\n // `referencing_fields` or `referenced_columns` from another layer\n filter.forEach(function (dependency_field) {\n (0, _getFilterExpression.getFilterExpression)({\n parentData: _this4.parentData,\n qgs_layer_id: _this4.layer.getId(),\n field: _this4._getField(dependency_field),\n feature: _this4.feature\n });\n });\n }\n }\n }, {\n key: '_handleFieldWithFilterExpression',\n\n\n /**\n * Handle a field that has a `filter_expression` value object\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithFilterExpression(field, filter_expression) {\n var _this5 = this;\n\n if (!filter_expression) {\n return;\n }\n\n var _filter_expression$re = filter_expression.referencing_fields,\n referencing_fields = _filter_expression$re === undefined ? [] : _filter_expression$re,\n _filter_expression$re2 = filter_expression.referenced_columns,\n referenced_columns = _filter_expression$re2 === undefined ? [] : _filter_expression$re2;\n\n\n var dependency_fields = new Set();\n\n // TODO: add description\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this5.filter_expression_fields_dependencies[f]) {\n _this5.filter_expression_fields_dependencies[f] = [];\n }\n _this5.filter_expression_fields_dependencies[f].push(field.name);\n });\n\n // Call input service if a field has a `filter_expression` every time we open a form\n (0, _getFilterExpression.getFilterExpression)({\n parentData: this.parentData,\n qgs_layer_id: this.layer.getId(),\n feature: this.feature,\n field: field\n });\n }\n }, {\n key: '_handleFieldWithDefaultExpression',\n\n\n /**\n * Handle a field that has a `default_value` object and check if `apply_on_update` only\n *\n * @since 3.8.0\n */\n value: function _handleFieldWithDefaultExpression(field, default_expression) {\n var _this6 = this;\n\n if (default_expression) {\n var _default_expression$r = default_expression.referencing_fields,\n referencing_fields = _default_expression$r === undefined ? [] : _default_expression$r,\n _default_expression$r2 = default_expression.referenced_columns,\n referenced_columns = _default_expression$r2 === undefined ? [] : _default_expression$r2,\n _default_expression$a = default_expression.apply_on_update,\n apply_on_update = _default_expression$a === undefined ? false : _default_expression$a;\n\n // Skip if not apply_on_update (listen dependency change only for new Feature)\n\n if (!apply_on_update && !this.state.isnew) {\n return;\n }\n\n var dependency_fields = new Set();\n\n // Get array of dependency fields on default expression if exist\n // add each of it in a Set (unique array items)\n [].concat(_toConsumableArray(referenced_columns), _toConsumableArray(referencing_fields)).forEach(function (f) {\n return dependency_fields.add(f);\n });\n\n // Only in apply update listen changeInput\n if (apply_on_update) {\n\n this.default_expression_fields_on_update.push(field);\n\n dependency_fields.forEach(function (f) {\n if (undefined === _this6.default_expression_fields_dependencies[f]) {\n _this6.default_expression_fields_dependencies[f] = [];\n }\n _this6.default_expression_fields_dependencies[f].push(field.name);\n });\n }\n\n // Call input service if a field has a default_expression and is a new feature\n if (this.state.isnew) {\n (0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: this.feature,\n qgs_layer_id: this.layer.getId(),\n parentData: this.parentData\n });\n }\n }\n }\n }, {\n key: 'handleFieldsWithExpression',\n\n\n /**\n * Handle fields with associated expression\n *\n * @param {Array} [fields = []]\n */\n value: function handleFieldsWithExpression() {\n var _this7 = this;\n\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // TODO: add description\n fields.forEach(function (field) {\n var _field$input$options = field.input.options,\n options = _field$input$options === undefined ? {} : _field$input$options;\n\n _this7._handleFieldWithFilterExpression(field, options.filter_expression);\n _this7._handleFieldWithDefaultExpression(field, options.default_expression);\n });\n // start to evaluate filter expression field\n Object.keys(this.filter_expression_fields_dependencies).forEach(function (name) {\n return _this7.evaluateFilterExpressionFields({ name: name });\n });\n }\n }, {\n key: 'setCurrentFormPercentage',\n value: function setCurrentFormPercentage(perc) {\n this.layer.setFormPercentage(perc);\n }\n }, {\n key: 'setLoading',\n value: function setLoading() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.loading = bool;\n }\n }, {\n key: 'setValidComponent',\n value: function setValidComponent(_ref) {\n var id = _ref.id,\n valid = _ref.valid;\n\n this.state.componentstovalidate[id] = valid;\n this.isValid();\n }\n }, {\n key: 'getValidComponent',\n value: function getValidComponent(id) {\n return this.state.componentstovalidate[id];\n }\n }, {\n key: 'isValid',\n\n\n /**\n * Every input sends to form its valid value that will change the general state of form\n */\n value: function isValid(input) {\n var _this8 = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually && !input.validate.required && !input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this8.state.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n }\n if (input.validate.mutually && !input.validate.required && input.validate.empty) {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n // count not empty input_name\n var filled = [];\n for (var i = input.validate.mutually.length; i--;) {\n var input_name = input.validate.mutually[i];\n\n if (!this.state.tovalidate[input_name].validate.empty) {\n filled.push(input_name);\n }\n }\n if (filled.length < 2) {\n filled.forEach(function (input_name) {\n _this8.state.tovalidate[input_name].validate.mutually_valid = true;\n _this8.state.tovalidate[input_name].validate.valid = true;\n setTimeout(function () {\n _this8.state.tovalidate[input_name].validate.valid = _this8.state.tovalidate[input_name].validate._valid;\n _this8.state.valid = _this8.state.valid && _this8.state.tovalidate[input_name].validate.valid;\n });\n });\n }\n }\n // check if min_field or max_field is set\n if (!input.validate.mutually && !input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var _input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.state.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.state.tovalidate[input.validate.min_field].value : this.state.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.state.tovalidate[input.validate.max_field].value;\n\n if (input.validate.valid) {\n this.state.tovalidate[_input_name].validate.valid = true;\n }\n }\n }\n this.state.valid = Object.values(this.state.tovalidate).reduce(function (previous, input) {\n return previous && input.validate.valid;\n }, true) && Object.values(this.state.componentstovalidate).reduce(function (previous, valid) {\n return previous && valid;\n }, true);\n }\n }, {\n key: 'addComponents',\n value: function addComponents() {\n var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = components[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var component = _step.value;\n\n this.addComponent(component);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }, {\n key: 'addComponent',\n value: function addComponent(component) {\n if (!component) {\n return;\n }\n var id = component.id,\n title = component.title,\n name = component.name,\n icon = component.icon,\n valid = component.valid,\n headerComponent = component.headerComponent,\n _component$header = component.header,\n header = _component$header === undefined ? true : _component$header;\n\n if (undefined !== valid) {\n this.state.componentstovalidate[id] = valid;\n this.state.valid = this.state.valid && valid;\n this.eventBus.$emit('add-component-validate', {\n id: id,\n valid: valid\n });\n }\n // Set a component that can be part of headers (tabs or not)\n if (header) {\n this.state.headers.push({ title: title, name: name, id: id, icon: icon, component: headerComponent });\n this.state.currentheaderid = this.state.currentheaderid || id;\n }\n\n this.state.components.push(component);\n }\n }, {\n key: 'replaceComponent',\n value: function replaceComponent() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n component = _ref2.component;\n\n this.state.components.splice(this.state.components.findIndex(function (c) {\n return id === c.id;\n }), 1, component);\n }\n }, {\n key: 'disableComponent',\n value: function disableComponent() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n disabled = _ref3.disabled;\n\n if (disabled) {\n this.state.disabledcomponents.push(id);\n } else {\n this.state.disabledcomponents = this.state.disabledcomponents.filter(function (disableId) {\n return id !== disableId;\n });\n }\n }\n }, {\n key: 'setCurrentComponentById',\n value: function setCurrentComponentById(id) {\n if (!this.state.disabledcomponents.includes(id)) {\n this.setIdHeader(id);\n this.state.component = this.state.components.find(function (c) {\n return id === c.id;\n }).component;\n return this.state.component;\n }\n }\n }, {\n key: 'setRootComponent',\n\n\n /**\n * setRootComponent (is form)\n */\n value: function setRootComponent() {\n this.state.component = this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'getRootComponent',\n value: function getRootComponent() {\n return this.state.components.find(function (c) {\n return c.root;\n }).component;\n }\n }, {\n key: 'isRootComponent',\n value: function isRootComponent(component) {\n return component === this.getRootComponent();\n }\n }, {\n key: 'getComponentById',\n value: function getComponentById(id) {\n return this.state.components.find(function (c) {\n return id === c.id;\n });\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n this.state.component = component;\n }\n }, {\n key: 'addedComponentTo',\n value: function addedComponentTo() {\n var formcomponent = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'body';\n\n this.state.addedcomponentto[formcomponent] = true;\n }\n }, {\n key: 'addToValidate',\n value: function addToValidate(input) {\n this.state.tovalidate[input.name] = input;\n // check if is mounted on form gui an otherwise leave form component to run is Valid when form is mounted on dom\n if (this.state.ready) {\n this.isValid(input);\n }\n }\n }, {\n key: 'removeToValidate',\n value: function removeToValidate(input) {\n delete this.state.tovalidate[input.name];\n this.isValid();\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n }, {\n key: '_setState',\n value: function _setState(state) {\n this.state = state;\n }\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.state.fields;\n }\n }, {\n key: '_getField',\n value: function _getField(name) {\n return this.state.fields.find(function (f) {\n return name === f.name;\n });\n }\n }, {\n key: 'getEventBus',\n value: function getEventBus() {\n return this.eventBus;\n }\n }, {\n key: 'setIdHeader',\n value: function setIdHeader(id) {\n this.state.currentheaderid = id;\n }\n }, {\n key: 'getContext',\n value: function getContext() {\n return this.context_inputs.context;\n }\n }, {\n key: 'getSession',\n value: function getSession() {\n return this.getContext().session;\n }\n }, {\n key: 'getInputs',\n value: function getInputs() {\n return this.context_inputs.inputs;\n }\n }, {\n key: 'handleRelation',\n\n\n /**\n * handleRelation\n */\n\n value: function handleRelation(_ref4) {\n //OVERWRITE BY PLUGIN EDITING PLUGIN\n\n var relationId = _ref4.relationId,\n feature = _ref4.feature;\n }\n }, {\n key: 'clearAll',\n\n\n /**\n * Clear all the open things opened by service\n */\n value: function clearAll() {\n this.eventBus.$off('addtovalidate');\n this.eventBus.$off('set-main-component');\n this.eventBus.$off('set-loading-form');\n this.eventBus.$off('component-validation');\n this.eventBus.$off('disable-component');\n }\n }, {\n key: 'saveDefaultExpressionFieldsNotDependencies',\n\n\n /**\n * @returns {Promise}\n *\n * @since 3.8.0\n */\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _this9 = this;\n\n if (0 === this.default_expression_fields_on_update.length) {\n return;\n }\n\n // disable listen changeInput\n this.listenChangeInput = false;\n // Array contains field name already resolved with server default_expression request\n var requested_expressions = [];\n // array of defaultExpressionPromises request\n var pending_expressions = [];\n\n // loop through default_expression_fields\n\n var _loop = function* _loop(i) {\n\n // extract all dependency fields of current field\n var dFs = Object.keys(_this9.default_expression_fields_dependencies).filter(function (field) {\n return (\n // check if dependency field is field on update\n _this9.default_expression_fields_on_update.find(function (_ref6) {\n var name = _ref6.name;\n return name === field;\n }) &&\n // if it has bind current field\n _this9.default_expression_fields_dependencies[field].find(function (name) {\n return name === _this9.default_expression_fields_on_update[i].name;\n })\n );\n });\n\n // id current field has an Array (at least one) dependency fields\n // need to evaluate its value and after evaluate field value expression\n\n var _loop2 = function* _loop2(_i) {\n // in case already done a default_expression request evaluation from server\n if (undefined !== requested_expressions.find(function (name) {\n return dFs[_i] === name;\n })) {\n return 'continue';\n }\n // get value. Need to wait response\n try {\n var value = yield (0, _getDefaultExpression.getDefaultExpression)({\n field: _this9._getField(dFs[_i]),\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n });\n // update field with evaluated value to feature\n _this9.feature.set(dFs[_i], value);\n // add to array\n requested_expressions.push(dFs[_i]);\n } catch (e) {\n console.warn(e);\n }\n };\n\n for (var _i = 0; _i < dFs.length; _i++) {\n var _ret2 = yield* _loop2(_i);\n\n if (_ret2 === 'continue') continue;\n }\n };\n\n for (var i = 0; i < this.default_expression_fields_on_update.length; i++) {\n yield* _loop(i);\n }\n\n this.default_expression_fields_on_update.forEach(function (field) {\n if (undefined === requested_expressions.find(function (name) {\n return field.name === name;\n })) {\n pending_expressions.push((0, _getDefaultExpression.getDefaultExpression)({\n field: field,\n feature: _this9.feature,\n qgs_layer_id: _this9.layer.getId(),\n parentData: _this9.parentData\n }));\n }\n });\n\n try {\n yield Promise.allSettled(pending_expressions);\n } catch (e) {\n console.warn(e);\n }\n\n // enable listen changeInput\n this.listenChangeInput = true;\n });\n\n function saveDefaultExpressionFieldsNotDependencies() {\n return _ref5.apply(this, arguments);\n }\n\n return saveDefaultExpressionFieldsNotDependencies;\n }()\n }]);\n\n return FormService;\n}(_g3wObject2.default);\n\n},{\"components/Form.vue\":51,\"components/FormBody.vue\":52,\"g3w-component\":124,\"g3w-object\":129,\"services/gui\":173,\"utils/getDefaultExpression\":206,\"utils/getFilterExpression\":207}],112:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * Perform search\n * \n * @param { Object } opts\n * @param opts.filter\n * @param opts.queryUrl\n * @param opts.feature_count\n * @param opts.show - false = internal request (No output data)\n * \n * @returns { Promise }\n */\nvar doSearch = function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filter = _ref3.filter,\n queryUrl = _ref3.queryUrl,\n show = _ref3.show,\n _ref3$feature_count = _ref3.feature_count,\n feature_count = _ref3$feature_count === undefined ? 10000 : _ref3$feature_count,\n state = _ref3.state;\n\n queryUrl = undefined === queryUrl ? state.queryurl : queryUrl;\n show = undefined === show ? 'search' === state.type : show;\n\n state.searching = true;\n\n var data = void 0,\n parsed = void 0;\n\n try {\n data = yield _data2.default.getData('search:features', {\n inputs: {\n layer: state.search_layers,\n filter: filter || (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (input) {\n return -1 === [null, undefined, _g3wConstants.SEARCH_ALLVALUE].indexOf(input.value) && '' !== input.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n }),\n queryUrl: queryUrl,\n formatter: 1,\n feature_count: feature_count,\n raw: false // in order to get a raw response\n },\n outputs: show && { title: state.title }\n });\n\n // auto zoom to query\n if (show && _application2.default.project.state.autozoom_query && data && data.data && 1 === data.data.length) {\n _gui2.default.getService('map').zoomToFeatures(data.data[0].features);\n }\n\n var search_1n = !show && 'search_1n' === state.type;\n var features = search_1n && (data.data[0] || {}).features || [];\n var relation = features.length && _application2.default.project.getRelationById(state.search_1n_relationid); // child and father relation fields (search father layer id based on result of child layer)\n var layer = relation && _application2.default.project.getLayerById(relation.referencedLayer); // father layer id\n\n // no features on result → show an empty message\n if (search_1n && !features.length) {\n _gui2.default.outputDataPlace(Promise.resolve({ data: [] }));\n parsed = [];\n }\n\n // parse search_1n\n if (relation) {\n var _relation$fieldRef = relation.fieldRef,\n referencedField = _relation$fieldRef.referencedField,\n referencingField = _relation$fieldRef.referencingField;\n\n parsed = yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: layer,\n inputs: features.map(function (f) {\n return {\n attribute: 1 === referencedField.length ? referencedField[0] : referencedField,\n logicop: 'OR',\n operator: 'eq',\n value: [].concat(_toConsumableArray(new Set(1 === referencingField.length // get unique values\n ? features.map(function (f) {\n return f.get(referencingField[0]);\n }) // → single field relation\n : referencingField.map(function (rf) {\n return f.get(rf);\n }) // → multi field relation\n )))\n };\n })\n }),\n formatter: 1,\n feature_count: feature_count\n },\n outputs: {\n title: state.title\n }\n });\n }\n } catch (e) {\n console.warn(e);\n }\n\n state.searching = false;\n\n return parsed ? parsed : data;\n });\n\n return function doSearch() {\n return _ref2.apply(this, arguments);\n };\n}();\n\nexports.SearchPanel = SearchPanel;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _createFilterFormInputs = require('utils/createFilterFormInputs');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _getDataForSearchInput = require('utils/getDataForSearchInput');\n\nvar _debounce = require('utils/debounce');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _SearchPanel = require('components/SearchPanel.vue');\n\nvar vueSearchComp = _interopRequireWildcard(_SearchPanel);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } /**\n * @file\n * @since 3.10.0\n */\n\n/**\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchpanel.js@v3.9.3\n * ORIGINAL SOURCE: src/app/gui/search/vue/panel/searchservice.js@v3.9.3\n */\nfunction SearchPanel() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var show = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var state = {\n loading: {}, // store loading state of each input and each dependency\n searching: false, //Boolean. If true, search request from server is starts. False no search\n title: opts.name,\n /** @type { 'search' | 'search_1n' } */\n type: opts.type || 'search',\n /** @TODO check if deprecated */\n queryurl: (opts.options || {}).queryurl,\n /** @deprecated will be removed in v4.x */\n search_endpoint: 'api',\n search_1n_relationid: opts.options.search_1n_relationid, //relations\n /** Layers that will be searchable for that search form. The First one is a layer owner of the search set on admin. */\n search_layers: [(opts.options || {}).querylayerid || (opts.options || {}).layerid || null].concat(_toConsumableArray((opts.options || {}).otherquerylayerids || [])).map(function (id) {\n return (0, _getCatalogLayerById.getCatalogLayerById)(id);\n }),\n /** Array of inputs that belongs to search form */\n forminputs: ((opts.options || {}).filter || []).map(function (d, i) {\n return {\n id: d.id || (0, _getUniqueDomId.getUniqueDomId)(),\n type: d.input.type || 'textfield',\n widget_type: d.input.widget_type,\n label: d.label,\n attribute: d.attribute,\n values: d.input.options.values || [],\n /** group values by parent value */\n dvalues: {},\n /**\n * true → initially it is disabled (values = [], ALL value)\n * as in the case in which the dependent field will\n * return to having ALL value. When a value is set to\n * the dependent field, the select will be enabled and\n * will contain the filtered values consistent with the\n * value of the dependent parent field\n */\n dependance_strict: d.input.options.dependance_strict || false,\n /**\n * true → the select is not disabled and will contain all possible values\n * (since at the beginning the parent will have the value ALL).\n * When the value of the dependent field changes, the values in the\n * select list will be filtered in a manner consistent with the value\n * of the parent\n */\n dependance: d.input.options.dependance || false,\n value: 'selectfield' === d.input.type ? _g3wConstants.SEARCH_ALLVALUE : null,\n operator: d.op,\n logicop: i === opts.options.filter.length - 1 ? null : d.logicop,\n loading: true,\n disabled: d.input.options.disabled || false,\n /** keep a reference to initial search options (you shouldn't mutate them..) */\n options: d.input.options\n };\n })\n };\n\n // create search form structure \n state.mounted = function () {\n var _ref = _asyncToGenerator(function* (state) {\n\n for (var i = 0; i <= state.forminputs.length - 1; i++) {\n\n var input = state.forminputs[i];\n var has_autocomplete = 'autocompletefield' === input.type;\n\n // set key-values for select\n input.values = [].concat(_toConsumableArray('selectfield' === input.type ? [_g3wConstants.SEARCH_ALLVALUE] : []), _toConsumableArray(input.dependance_strict || has_autocomplete ? input.values : yield (0, _getDataForSearchInput.getDataForSearchInput)({ state: state, field: input.attribute }) // retrieve input values from server\n )).map(function (value) {\n return 'Object' === (0, _toRawType.toRawType)(value) ? value : { key: value, value: value };\n });\n\n // there is a dependence\n if (input.dependance) {\n state.loading[input.dependance] = false;\n input.disabled = input.dependance_strict; // disabled for BACKCOMP\n }\n\n // save a copy of original values\n input._values = [].concat(_toConsumableArray(input.values));\n\n input.loading = false;\n }\n });\n\n return function (_x3) {\n return _ref.apply(this, arguments);\n };\n }()(state);\n\n var service = opts.service || Object.assign(new _g3wObject2.default(), {\n state: state,\n doSearch: doSearch,\n run: (0, _debounce.debounce)(function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n var _GUI$getService$getMa = _gui2.default.getService('map').getMap().getSize(),\n _GUI$getService$getMa2 = _slicedToArray(_GUI$getService$getMa, 2),\n w = _GUI$getService$getMa2[0],\n h = _GUI$getService$getMa2[1];\n\n var hide = _gui2.default.isMobile() && (0 === w || 0 === h);\n setTimeout(function () {\n if (hide) {\n _gui2.default.hideSidebar();\n }\n panel.getService().doSearch(_extends({}, args, { state: state }));\n }, hide ? 0 : 600);\n }),\n clear: function clear() {\n panel.getService().state = null;\n },\n\n createFilter: function createFilter() {\n return (0, _createFilterFormInputs.createFilterFormInputs)({\n layer: state.search_layers,\n inputs: state.forminputs.filter(function (i) {\n return ![null, undefined, _g3wConstants.SEARCH_ALLVALUE].includes(i.value) && '' !== i.value.toString().trim();\n }) // Filter input by NONVALIDVALUES\n });\n }\n });\n\n var panel = new _g3wPanel2.default(_extends({}, opts, {\n show: show,\n id: opts.id || (0, _getUniqueDomId.getUniqueDomId)(),\n title: opts.title || 'search',\n vueComponentObject: opts.component || vueSearchComp,\n service: service\n }));\n\n return panel;\n}\n\n},{\"components/SearchPanel.vue\":105,\"g3w-constants\":125,\"g3w-object\":129,\"g3w-panel\":130,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/createFilterFormInputs\":191,\"utils/debounce\":198,\"utils/getCatalogLayerById\":203,\"utils/getDataForSearchInput\":205,\"utils/getUniqueDomId\":217,\"utils/toRawType\":242}],113:[function(require,module,exports){\nvar _vueColor = require(\"vue-color\");\n\nvar VueColor = _interopRequireWildcard(_vueColor);\n\nfunction _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }\n\nvar initConfig = window.initConfig;\n\n// convert relative base URLs to absolute (eg. '/' → 'http://localhost:8080/')\n/**\n * @file shims legacy variables to ensure backward compatibily with old G3W-CLIENT plugins (eg. window variables)\n * @since v3.8\n */\n\nif (initConfig.baseurl) {\n try {\n new URL(initConfig.baseurl);\n } catch (error) {\n initConfig.baseurl = new URL(initConfig.baseurl, window.location).toString();\n }\n}\n\n// BACKCOMP v3.x (initConfig → initConfig.group)\ninitConfig.group = Object.assign(initConfig.group || {}, new Proxy(Object.fromEntries(Object.keys(initConfig).filter(function (key) {\n return ![\"i18n\", \"staticurl\", \"client\", \"mediaurl\", \"user\", \"baseurl\", \"vectorurl\", \"proxyurl\", \"rasterurl\", \"interfaceowsurl\", \"main_map_title\", 'main_map_title', \"g3wsuite_logo_img\", \"credits\", \"version\", \"group\", \"frontendurl\"].includes(key);\n}).map(function (key) {\n return [key, initConfig[key]];\n})), {\n get: function get(target, prop, receiver) {\n console.warn(\"[G3W-CLIENT] initConfig.group.\" + prop.toString() + \" is deprecated\");return Reflect.get.apply(Reflect, arguments);\n }\n}));\n\n// gid of panoramic map project\ninitConfig.overviewproject = initConfig.overviewproject ? initConfig.overviewproject.gid : null;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use ESM imports from 'vue-color' instead\n */\nwindow.VueColor = VueColor;\n\n/**\n * @deprecated since v3.8. Will be removed in v4.x. Use require('vue-cookie') instead of window.VueCookie\n */\nwindow.VueCookie = require('vue-cookie');\n\n},{\"vue-color\":\"vue-color\",\"vue-cookie\":\"vue-cookie\"}],114:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.trigger = exports.unwatch = exports.watch = undefined;\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\n/**\n * Internal state\n */\nvar vm = new Vue(); /**\n * @TODO refactor stateful directives (eg. \"v-t\") in order to delete this file: \"src/directives/utils.js\"\n */\n\nvar directives = {};\n\nvar watch = exports.watch = function watch() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref.el,\n attr = _ref.attr,\n watcher = _ref.watcher,\n _ref$immediate = _ref.immediate,\n immediate = _ref$immediate === undefined ? true : _ref$immediate;\n\n var unique_attr_id = (0, _getUniqueDomId.getUniqueDomId)();\n el.setAttribute(attr, unique_attr_id);\n var dir = directives[unique_attr_id] = {};\n if (watcher) {\n dir.unwatch = vm.$watch(watcher[0], watcher[1], watcher[2] || { immediate: immediate });\n dir.handler = watcher[1];\n }\n return unique_attr_id;\n};\n\nvar unwatch = exports.unwatch = function unwatch() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n el = _ref2.el,\n attr = _ref2.attr;\n\n var unique_attr_id = el.getAttribute(attr);\n if (unique_attr_id) {\n directives[unique_attr_id].unwatch();\n delete directives[unique_attr_id];\n }\n};\n\nvar trigger = exports.trigger = function trigger(_ref3) {\n var el = _ref3.el,\n attr = _ref3.attr,\n data = _ref3.data;\n return directives[el.getAttribute(attr)].handler(data);\n};\n\n},{\"utils/getUniqueDomId\":217}],115:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n binding.value ? el.setAttribute('checked', 'checked') : el.removeAttribute('checked');\n};\n\n},{}],116:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = function (el, binding) {\n el.classList.toggle('g3w-disabled', binding.value);\n};\n\n},{}],117:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-download-id';\n\nexports.default = {\n bind: function bind(el, binding) {\n if ('boolean' === typeof binding.value ? binding.value : true) {\n (0, _utils.watch)({\n el: el,\n attr: attr,\n watcher: [function () {\n return _application2.default.download;\n }, function (bool) {\n var className = binding.modifiers && binding.modifiers.show && 'hide' || 'disabled';\n el.classList.toggle('g3w-' + className, className === 'hide' ? !bool : bool);\n }]\n });\n }\n },\n\n unbind: function unbind(el) {\n return (0, _utils.unwatch)({ el: el, attr: attr });\n }\n};\n\n},{\"directives/utils\":114,\"store/application\":178}],118:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _utils = require('directives/utils');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nvar attr = 'g3w-v-select2-id';\n\nexports.default = {\n inserted: function inserted(el, binding, vnode) {\n var _ref = vnode.data.attrs || {},\n templateResult = _ref.templateResult,\n templateSelection = _ref.templateSelection,\n _ref$multiple = _ref.multiple,\n multiple = _ref$multiple === undefined ? false : _ref$multiple,\n _ref$search = _ref.search,\n search = _ref$search === undefined ? true : _ref$search,\n select2_value = _ref.select2_value,\n indexItem = _ref.indexItem,\n _ref$createTag = _ref.createTag,\n createTag = _ref$createTag === undefined ? false : _ref$createTag,\n _ref$dropdownAutoWidt = _ref.dropdownAutoWidth,\n dropdownAutoWidth = _ref$dropdownAutoWidt === undefined ? false : _ref$dropdownAutoWidt,\n _ref$dropdownParent = _ref.dropdownParent,\n dropdownParent = _ref$dropdownParent === undefined ? false : _ref$dropdownParent;\n\n var isArray = binding.value && Array.isArray(vnode.context[binding.value]) // check if is an array\n && undefined !== indexItem; // check if indexItem is defined\n //Need in case of change\n var createSelect2 = function createSelect2() {\n $(el).select2({\n tags: createTag,\n width: '100%',\n dropdownCssClass: 'skin-color',\n dropdownAutoWidth: dropdownAutoWidth,\n dropdownParent: true === dropdownParent ? $(el.parentNode) : undefined,\n templateResult: templateResult,\n templateSelection: templateSelection,\n minimumResultsForSearch: search ? undefined : -1,\n createTag: function createTag(params) {\n var value = params.term.trim();\n return value ? {\n id: value,\n text: value,\n newTag: true // add additional value\n } : null;\n }\n }).on('select2:select select2:unselect', function (e) {\n if (!binding.value) {\n return;\n }\n\n var value = binding.value;\n var selected = 'select2:select' === e.type;\n var id = e.params.data.id;\n var ctx = vnode.context;\n\n // selected\n /** @TODO reduce nesting level */\n if (selected) {\n var arr = isArray ? ctx[value][indexItem].value : ctx[value];\n // check is can have multiple value\n if (multiple && arr.every(function (d) {\n return id !== d;\n })) {\n arr.push(id);\n } else if (isArray) {\n ctx[value][indexItem].value = id;\n } else {\n // take in an account text binding value single world or object (eg. state.name)\n var attrs = ('' + value).split('.');\n var last = attrs.pop();\n attrs.reduce(function (acc, a) {\n acc = acc[a];return acc;\n }, vnode.context)[last] = id;\n }\n }\n\n // unselected\n /** @TODO reduce nesting level */\n if (!selected && multiple) {\n if (isArray) {\n ctx[value][indexItem].value = ctx[value][indexItem].value.filter(function (d) {\n return id !== d;\n });\n } else {\n ctx[value] = ctx[value].filter(function (d) {\n return id !== d;\n });\n }\n }\n\n // dispatch \"change\" event to native \\n \\n \\n
',\n data: function data() {\n return { methods: _g3wConstants.SPATIAL_METHODS, method: _this4.getSpatialMethod() };\n },\n watch: { method: function method(m) {\n return _this4.setSpatialMethod(m);\n } },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n break;\n\n case 'custom':\n this.toggledTool = toggledTool.component;\n break;\n\n }\n\n /**\n * @TODO check if it is deprecated. It used to show help message for map control\n */\n if ('how' === toggledTool.how && this._onhover) {\n this._toolButton = $('');\n $(this.element).prepend(this._toolButton);\n this._toolButton.on('click', function (e) {\n e.stopPropagation();\n _this4.showToggledTool(true);\n });\n $(this.element).hover(function () {\n return _this4._toggled && _this4._toolButton.show();\n });\n $(this.element).mouseleave(function () {\n return _this4._toolButton.hide();\n });\n }\n }\n }, {\n key: 'showToggledTool',\n value: function showToggledTool() {\n var show = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (show) {\n _gui2.default.showUserMessage({\n title: this.toggledTool.__title,\n type: 'tool',\n size: 'small',\n iconClass: this.toggledTool.__iconClass,\n closable: this._toolButton ? true : false,\n hooks: { body: this.toggledTool }\n });\n } else {\n _gui2.default.closeUserMessage();\n }\n }\n\n /**\n * Set button status (pressed / not pressed)\n * \n * @param { Boolean } toggled\n * @param { Object } opts\n */\n\n }, {\n key: 'toggle',\n value: function toggle() {\n var _this5 = this;\n\n var toggled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !this._toggled;\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n opts.parent = undefined === opts.parent ? false : opts.parent;\n\n // skip if button is already toggled or un-toggled\n if (toggled === this._toggled) {\n return;\n }\n\n this._toggled = toggled;\n\n if (this.cursorClass) {\n this.setMouseCursor(toggled);\n }\n\n // toggle other toggleable control\n if (toggled) {\n this.getMap().getControls().forEach(function (c) {\n if (c.id && c.toggle && c.id !== _this5.id && c.id !== opts.parent) {\n c.toggle(false);\n }\n });\n }\n\n if (this._interaction) {\n this._interaction.setActive(toggled);\n }\n\n /** Add or remove g3w-ol-toggled class to control button */\n $(this.element).find('button').first()[toggled ? 'addClass' : 'removeClass']('g3w-ol-toggled');\n\n /** @TODO Deprecated */\n if (toggled && this._toolButton) {\n this._toolButton.show();\n } else if (!toggled && this._toolButton) {\n this._toolButton.hide();\n }\n\n //** if not toggled and has a toggle tool (e.g., measure map control) close user message tool */\n if (this.toggledTool) {\n this.showToggledTool(this._toggled);\n }\n\n this.dispatchEvent({ type: 'toggled', toggled: toggled });\n\n if (this._options.onToggled) {\n this._options.onToggled.call(this, toggled);\n }\n }\n }, {\n key: 'getGeometryTypes',\n value: function getGeometryTypes() {\n return this._geometryTypes;\n }\n }, {\n key: 'setGeometryTypes',\n value: function setGeometryTypes(types) {\n this._geometryTypes = types;\n }\n }, {\n key: 'getInteraction',\n value: function getInteraction() {\n return this._interaction;\n }\n\n /**\n * Method to set filter operation intersect or Contains\n */\n\n }, {\n key: 'setSpatialMethod',\n value: function setSpatialMethod() {\n var method = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'intersects';\n\n this.spatialMethod = method;\n this.dispatchEvent({\n type: 'change-spatial-method',\n spatialMethod: this.spatialMethod\n });\n }\n }, {\n key: 'getSpatialMethod',\n value: function getSpatialMethod() {\n return this.spatialMethod;\n }\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n\n /**\n * @returns { ol.control }\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOlControl',\n value: function getOlControl() {\n return this._control;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'showHide',\n value: function showHide() {\n if (this.element) {\n $(this.element).toggle();\n }\n }\n }]);\n\n return InteractionControl;\n}(ol.control.Control);\n\nexports.default = InteractionControl;\n\n},{\"g3w-constants\":125,\"services/gui\":173}],144:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.MeasureControl = exports.MeasureInteraction = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _createMeasureTooltip = require('utils/createMeasureTooltip');\n\nvar _removeMeasureTooltip = require('utils/removeMeasureTooltip');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/measuercontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar MeasureInteraction = exports.MeasureInteraction = function (_ol$interaction$Draw) {\n _inherits(MeasureInteraction, _ol$interaction$Draw);\n\n function MeasureInteraction(opts) {\n _classCallCheck(this, MeasureInteraction);\n\n var measureStyle = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' }),\n stroke: new ol.style.Stroke({ color: opts.drawColor || 'rgba(0, 0, 0, 0.5)', lineDash: [10, 10], width: 3 }),\n image: new ol.style.Circle({\n radius: 5,\n stroke: new ol.style.Stroke({ color: 'rgba(0, 0, 0, 0.7)' }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })\n });\n var source = new ol.source.Vector();\n\n var _this = _possibleConstructorReturn(this, (MeasureInteraction.__proto__ || Object.getPrototypeOf(MeasureInteraction)).call(this, {\n source: source,\n type: opts.geometryType || 'LineString',\n style: measureStyle\n }));\n\n _this._helpTooltip;\n _this._measureTooltipElement;\n _this._measureTooltip;\n _this._featureGeometryChangelistener;\n _this._poinOnMapMoveListener;\n _this._helpTooltipElement;\n\n _this._helpMsg = opts.help;\n _this._projection = opts.projection;\n _this.feature = opts.feature;\n _this._map = null;\n _this._feature = null;\n _this._layer = new ol.layer.Vector({\n source: source,\n style: function style() {\n return [new ol.style.Style({\n stroke: new ol.style.Stroke({ lineDash: [10, 10], width: 3 }),\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.2)' })\n })];\n }\n });\n\n _this.set('beforeRemove', _this.clear);\n _this.set('layer', _this._layer);\n // register event on two action\n _this.on('drawstart', _this._drawStart);\n _this.on('drawend', _this._drawEnd);\n return _this;\n }\n\n _createClass(MeasureInteraction, [{\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._clearMessagesAndListeners();\n if (this._map) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({\n map: this._map\n }, this.measureTooltip));\n this.measureTooltip = null;\n this._map.removeLayer(this._layer);\n }\n }\n }, {\n key: '_clearMessagesAndListeners',\n value: function _clearMessagesAndListeners() {\n this._feature = null;\n // unset tooltip so that a new one can be created\n if (this._map) {\n this._measureTooltipElement = null;\n this._helpTooltipElement.innerHTML = '';\n\n this._helpTooltipElement.classList.add('hidden');\n\n ol.Observable.unByKey(this._featureGeometryChangelistener);\n ol.Observable.unByKey(this._poinOnMapMoveListener);\n\n $(document).off('keydown', this._keyDownEventHandler);\n }\n }\n\n //drawStart function\n\n }, {\n key: '_drawStart',\n value: function _drawStart(e) {\n var _this2 = this;\n\n this._map = this.getMap();\n this._map.removeLayer(this._layer);\n this._feature = e.feature;\n if (this.feature) {\n this._feature.setGeometry(this.feature.getGeometry());\n }\n // removed last point\n this._keyDownEventHandler = function (e) {\n var geom = _this2._feature.getGeometry();\n if (46 === e.keyCode) {\n if (geom instanceof ol.geom.Polygon && geom.getCoordinates()[0].length > 2) {\n _this2.removeLastPoint();\n } else if (geom instanceof ol.geom.LineString && geom.getCoordinates().length > 1) {\n _this2.removeLastPoint();\n }\n }\n };\n $(document).on('keydown', this._keyDownEventHandler);\n this._layer.getSource().clear();\n this._poinOnMapMoveListener = this._map.on('pointermove', function (e) {\n if (e.dragging) {\n return;\n }\n if (_this2._feature && _this2._helpMsg) {\n _this2._helpTooltipElement.innerHTML = t(_this2._helpMsg);\n _this2._helpTooltip.setPosition(e.coordinate);\n _this2._helpTooltipElement.classList.remove('hidden');\n }\n });\n // create help tooltip\n if (this._helpTooltipElement) {\n this._helpTooltipElement.parentNode.removeChild(this._helpTooltipElement);\n }\n if (this._helpTooltip) {\n this._map.removeOverlay(this._helpTooltip);\n }\n this._helpTooltipElement = document.createElement('div');\n this._helpTooltipElement.className = 'mtooltip hidden';\n this._helpTooltip = new ol.Overlay({\n element: this._helpTooltipElement,\n offset: [15, 0],\n positioning: 'center-left'\n });\n\n this._map.addOverlay(this._helpTooltip);\n\n // create measure tooltip\n if (this.measureTooltip) {\n (0, _removeMeasureTooltip.removeMeasureTooltip)(_extends({}, this.measureTooltip, { map: this._map }));\n }\n\n this.measureTooltip = (0, _createMeasureTooltip.createMeasureTooltip)({ map: this._map, feature: this._feature });\n }\n }, {\n key: '_drawEnd',\n value: function _drawEnd() {\n this.measureTooltip.tooltip.getElement().className = 'mtooltip mtooltip-static';\n this.measureTooltip.tooltip.setOffset([0, -7]);\n this._clearMessagesAndListeners();\n this._map.addLayer(this._layer);\n }\n }]);\n\n return MeasureInteraction;\n}(ol.interaction.Draw);\n\nvar MeasureControl = exports.MeasureControl = function (_InteractionControl) {\n _inherits(MeasureControl, _InteractionControl);\n\n function MeasureControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, MeasureControl);\n\n var _this3 = _possibleConstructorReturn(this, (MeasureControl.__proto__ || Object.getPrototypeOf(MeasureControl)).call(this, _extends({}, opts, {\n clickmap: true,\n enabled: true,\n onToggled: function onToggled(toggled) {\n // toggle current interaction\n this._interaction.setActive(this.isToggled());\n // when not toggled\n if (!toggled) {\n this._interaction.clear();\n }\n // check if first interaction is current interaction\n if (!toggled && this.interactions[this.types[0]] !== this._interaction) {\n //remove current interaction from the map\n this.getMap().removeInteraction(this._interaction);\n this._interaction = this.interactions[this.types[0]];\n //add first interaction\n this.getMap().addInteraction(this._interaction);\n }\n }\n })));\n\n _this3.types = [];\n\n _this3.interactions = {};\n\n (opts.types || []).forEach(function (t) {\n return _this3.addType(t);\n });\n\n // no type set, hide control\n if (0 === _this3.types.length) {\n _this3.setVisible(false);\n }\n\n _this3.on('setMap', function (e) {\n return e.map.addInteraction(_this3._interaction);\n });\n return _this3;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(MeasureControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this4 = this;\n\n this.types.push(type);\n\n this._interactionClassOptions.geometryType = { area: 'Polygon', length: 'LineString' }[type];\n\n this.interactions[type] = new MeasureInteraction(this._interactionClassOptions);\n\n this.interactions[type].setActive(false);\n\n if (!this._interaction) {\n this._interaction = this.interactions[type];\n }\n\n if (this.types.length > 1) {\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.measures.title',\n __iconClass: 'measure', //@since v3.11.0\n data: function data() {\n return { types: _this4.types, type: _this4.types[0] };\n },\n template: /* html */'\\n
\\n \\n
',\n watch: {\n // change measure interaction\n type: function type(ntype, otype) {\n // deactivate previous interaction\n _this4.interactions[otype].setActive(false);\n _this4.interactions[otype].clear();\n _this4.getMap().removeInteraction(_this4.interactions[otype]);\n // activate new interacion\n _this4.getMap().addInteraction(_this4.interactions[ntype]);\n _this4.interactions[ntype].setActive(true);\n _this4._interaction = _this4.interactions[ntype];\n }\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n }\n }]);\n\n return MeasureControl;\n}(_interactioncontrol2.default);\n\n},{\"g3w-i18n\":128,\"map/controls/interactioncontrol\":143,\"services/gui\":173,\"utils/createMeasureTooltip\":193,\"utils/removeMeasureTooltip\":234}],145:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.QueryBy = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _throttle = require('utils/throttle');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar POLYGON_TYPES = [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D];\n\n/**\n * Child interaction controls\n */\nvar CONTROLS = {};\n\n/**\n * Spatial query options\n */\nvar QUERY = Vue.observable({\n /** @type {ol.coordinate} bbox coordinates */\n bbox: null,\n /** @type { ol.Feature } drawed feature */\n dfeature: null,\n layer: null,\n feature: null,\n coordinates: null,\n radius: 0\n});\n\n/**\n * Return current layer id selected or __ALL__ (no layer selected)\n * @return {string}\n */\nfunction getSelectedLayerId() {\n return (_gui2.default.getService('map').getSelectedLayer() || {\n getId: function getId() {\n return '__ALL__';\n }\n }).getId();\n}\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybybboxcontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybypolygoncontrol.js@v3.9.10\n * ORIGINAL SOURCE: src/app/g3w-ol/controls/querybydrawpolygoncontrol.js@v3.9.10\n */\n\nvar QueryBy = exports.QueryBy = function (_InteractionControl) {\n _inherits(QueryBy, _InteractionControl);\n\n function QueryBy() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, QueryBy);\n\n var _this = _possibleConstructorReturn(this, (QueryBy.__proto__ || Object.getPrototypeOf(QueryBy)).call(this, _extends({}, opts, {\n name: 'queryby',\n label: '\\uE903',\n tipLabel: \"sdk.mapcontrols.queryby.title\",\n enabled: true,\n cursorClass: null //store cursorClass of a current sub control enabled (querybbox, etc..)\n })));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n // no type set, hide control\n if (0 === _this.types.length) {\n _this.setVisible(false);\n } else {\n _this.element.classList.add('ol-' + _this.types[0]);\n }\n\n CONTROLS['queryby'] = _this;\n\n _this.selectedLayer = '__ALL__';\n\n // toolbox (options)\n _this.on('toggled', function (_ref) {\n var toggled = _ref.toggled;\n\n if (!toggled) {\n return _gui2.default.closeUserMessage();\n }\n _gui2.default.showUserMessage({\n title: 'sdk.mapcontrols.queryby.title',\n type: 'tool',\n size: 'small',\n iconClass: 'info',\n closable: false,\n hooks: {\n body: {\n data: function data() {\n return {\n types: _this.types,\n type: _this.types[0],\n methods: _g3wConstants.SPATIAL_METHODS,\n method: _this.getSpatialMethod(),\n layers: [],\n selectedLayer: getSelectedLayerId()\n };\n },\n template: /* html */'\\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 computed: {\n control: function control() {\n return CONTROLS[this.type];\n },\n queryable: function queryable() {\n var _this2 = this;\n\n return (this.control.layers || []).filter(function (l) {\n return 'querybypolygon' === _this2.type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n });\n },\n no_layers: function no_layers() {\n return !this.queryable || !_hasVisible(this.control);\n },\n help: function help() {\n return 'sdk.mapcontrols.' + this.type + '.help.message';\n },\n all: function all() {\n return this.no_layers ? 'sdk.mapcontrols.queryby.none' : 'sdk.mapcontrols.queryby.all';\n },\n\n radius: {\n get: function get() {\n return QUERY.radius;\n },\n set: function set(v) {\n if (Number.isNaN(v) || v < 0) {\n this.radius = QUERY.radius;\n return;\n }\n //need to convert degree in meter\n QUERY.radius = Math.floor(v * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees));\n //already circle drawed but not clear (0) value\n if (QUERY.dfeature && QUERY.radius > 0) {\n QUERY.dfeature.getGeometry().setRadius(QUERY.radius);\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n }\n }\n },\n watch: {\n method: function method() {\n this.reset();\n },\n type: function type() {\n var _this3 = this;\n\n //after a change type needs to check, is all being updated to change select2 option text\n this.reset().then(function () {\n return _this3.update__ALL__Text();\n });\n },\n control: function control() {\n var _this4 = this;\n\n this.types.forEach(function (t) {\n return CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this4.type);\n });\n },\n layers: function layers() {\n this.selectedLayerNotQuerable();\n },\n\n // see: https://forums.select2.org/t/cannot-rename-selected-option/154/2\n all: function all() {\n this.update__ALL__Text();\n },\n\n selectedLayer: {\n immediate: true,\n handler: function handler(value, oldValue) {\n var _this5 = this;\n\n this.selectedLayerNotQuerable();\n //It means that it is mounted. No value before\n if (undefined === oldValue) {\n return;\n }\n var map = _gui2.default.getService('map');\n // auto selects added layer\n if ('__NEW__' === value) {\n var listener = map.onafter('loadExternalLayer', function (l) {\n map.selectLayer(l.get('id'));\n _this5.reset();\n });\n var select = document.querySelector('#add-layer-type');\n select.value = 'file';\n select.dispatchEvent(new Event('change'));\n $('#modal-addlayer').one('hidden.bs.modal', function () {\n return map.un('loadExternalLayer', listener);\n });\n map.showAddLayerModal();\n }\n\n if (!['__ALL__', '__NEW__'].includes(value) && value !== getSelectedLayerId()) {\n map.selectLayer(value);\n }\n //reset selection if a selection is done by TOC catalog\n if (['__ALL__', '__NEW__'].includes(value) && '__ALL__' !== getSelectedLayerId()) {\n map.selectLayer();\n }\n }\n }\n },\n methods: {\n /**\n * Update selects2 the __ALL__ option text as to select all change text\n */\n update__ALL__Text: function update__ALL__Text() {\n $(this.$refs.layer).select2('close');\n $(this.$refs.layer).find('option[value=\"__ALL__\"]').text(t(this.all));\n $(this.$refs.layer).select2('data')[0].text = t(this.all);\n $(this.$refs.layer).trigger('change');\n },\n selectedLayerNotQuerable: function selectedLayerNotQuerable() {\n //In the case of selection of layer (by TOC) that not belong to a layer list,\n // set the value of selectedLayer __ALL__\n if (!['__ALL__', '__NEW__'].includes(this.selectedLayer) && this.layers.length && !this.layers.map(function (l) {\n return l.getId();\n }).includes(this.selectedLayer)) {\n this.selectedLayer = '__ALL__';\n }\n },\n reset: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _this6 = this,\n _layers;\n\n this.layers.splice(0);\n // reset autorun options\n this.types.filter(function (t) {\n return t !== _this6.type;\n }).forEach(function (t) {\n if ('querybycircle' === t) {\n QUERY.radius = 0;\n }\n if ('querybbox' === t) {\n QUERY.bbox = null;\n }\n if ('querybypolygon' === t) {\n QUERY.layer = null;QUERY.feature = null;QUERY.coordinates = null;\n }\n if (!['querybydrawpolygon', 'querybycircle'].includes(_this6.type)) {\n QUERY.dfeature = null;\n }\n CONTROLS[t].autorun = false;\n });\n //set spatial method\n this.control.spatialMethod = this.method;\n this.control.toggle(true, { parent: CONTROLS['queryby'].id });\n // show highlight class only if 'querybbox' or 'querybydrawpolygon' type control\n this.control.layers.forEach(function (l) {\n return l.setTocHighlightable(['querybbox', 'querybydrawpolygon'].includes(_this6.type));\n });\n yield this.$nextTick();\n // set queryable layers (select2)\n (_layers = this.layers).push.apply(_layers, _toConsumableArray(this.queryable));\n\n if ('querybypolygon' === this.type) {\n this.control.setEnable(false);\n }\n // re-run query when changing spatial method\n if (this.control.autorun) {\n CONTROLS['queryby'].runSpatialQuery(this.type);\n }\n });\n\n function reset() {\n return _ref2.apply(this, arguments);\n }\n\n return reset;\n }(),\n templateType: function templateType(state) {\n if (!state.id) {\n return state.text;\n }\n return $( /*html*/'  ' + state.text + '');\n },\n templateLayer: function templateLayer(state) {\n if (!state.id || '__NEW__' === state.id) {\n return state.text;\n }\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(state.id) || externalLayers.find(function (l) {\n return l.get('id') === state.id;\n });\n /** @FIXME layer is undefined when removing an external layer */\n var icon = '__ALL__' === state.id || !layer ? '' : /*html */'  ';\n return $( /*html*/'' + icon + state.text + '');\n }\n },\n mounted: function mounted() {\n CONTROLS['queryby'].usermessage = this;\n _gui2.default.toggleUserMessage(false);\n this.reset();\n },\n\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n _this.types.forEach(function (t) {\n CONTROLS[t].toggle(false);\n CONTROLS[t].autorun = false;\n CONTROLS['queryby'].element.classList.toggle('ol-' + t, t === _this.types[0]);\n CONTROLS[t].layers.forEach(function (l) {\n return l.setTocHighlightable(false);\n });\n });\n }\n }\n }\n });\n });\n return _this;\n }\n\n /**\n * @param { 'area' | 'length' } type \n *\n * @since 3.11.0\n */\n\n\n _createClass(QueryBy, [{\n key: 'addType',\n value: function addType(type) {\n var _this8 = this,\n _unwatches;\n\n // skip when already added\n if (this.types.includes(type)) {\n return;\n }\n\n // keep \"querybypolygon\" at last position\n this.types.splice(this.types.includes('querybypolygon') ? this.types.indexOf('querybypoyling') : this.types.length, 0, type);\n\n /**\n * @TODO remove `InteractionControl` and use a standard `ol.interaction`\n */\n var control = CONTROLS[type] = new _interactioncontrol2.default({\n name: type,\n offline: false,\n visible: false,\n geometryTypes: ['querybypolygon', 'querybydrawpolygon'].includes(type) ? POLYGON_TYPES : [],\n cursorClass: 'querybypolygon' !== type ? 'ol-crosshair' : 'ol-pointer',\n interactionClass: {\n 'querybbox': ol.interaction.DragBox,\n 'querybycircle': ol.interaction.Draw,\n 'querybydrawpolygon': ol.interaction.Draw,\n 'querybypolygon': _pickcoordinatesinteraction2.default\n }[type],\n interactionClassOptions: ['querybydrawpolygon', 'querybycircle'].includes(type) ? { type: 'querybydrawpolygon' === type ? 'Polygon' : 'Circle' } : {},\n layers: _getAvailableLayers(type),\n onSetMap: function onSetMap(_ref3) {\n var _this7 = this;\n\n var setter = _ref3.setter,\n map = _ref3.map;\n\n if ('after' !== setter) {\n return;\n }\n\n if ('querybbox' === type) {\n var startCoord = null;\n this._interaction.on('boxstart', function (e) {\n return startCoord = e.coordinate;\n });\n this._interaction.on('boxend', (0, _throttle.throttle)(function (e) {\n QUERY.bbox = ol.extent.boundingExtent([startCoord, e.coordinate]);\n _this7.dispatchEvent({ type: 'bboxend', extent: QUERY.bbox });\n startCoord = null;\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n this.setEventKey({\n eventType: 'bboxend',\n eventKey: this.on('bboxend', function () {\n return CONTROLS['queryby'].runSpatialQuery('querybbox');\n })\n });\n }\n\n if ('querybycircle' === type) {\n this._interaction.on('drawstart', function (e) {\n var geometry = e.feature.getGeometry();\n geometry.setRadius(QUERY.radius);\n geometry.on('change', function () {\n return QUERY.radius = geometry.getRadius();\n });\n if (QUERY.radius > 0) {\n _this7._interaction.finishDrawing();\n }\n });\n }\n\n if (['querybydrawpolygon', 'querybycircle'].includes(type)) {\n this._interaction.on('drawend', (0, _throttle.throttle)(function (e) {\n //convert circle geometry to polygon\n if ('querybycircle' === type) {\n var radius = e.feature.getGeometry().getRadius();\n //in the case of map unit degrees, convert it to meter\n QUERY.radius = radius * ('m' === _gui2.default.getService('map').getMapUnits() ? 1 : ol.proj.Units.METERS_PER_UNIT.degrees);\n }\n QUERY.dfeature = e.feature;\n _this7.dispatchEvent({ type: 'drawend', feature: QUERY.dfeature });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n }));\n\n this.setEventKey({\n eventType: 'drawend',\n eventKey: this.on('drawend', function () {\n return CONTROLS['queryby'].runSpatialQuery(type);\n })\n });\n }\n\n if ('querybypolygon' === type) {\n\n this._interaction.on('picked', (0, _throttle.throttle)(function () {\n var _ref4 = _asyncToGenerator(function* (e) {\n QUERY.coordinates = e.coordinate;\n _this7.dispatchEvent({ type: 'picked', coordinates: QUERY.coordinates });\n if (_this7._autountoggle) {\n _this7.toggle();\n }\n });\n\n return function (_x2) {\n return _ref4.apply(this, arguments);\n };\n }()));\n\n // get polygon feature from coordinates\n this.setEventKey({\n eventType: 'picked',\n eventKey: this.on('picked', _asyncToGenerator(function* () {\n\n _gui2.default.closeSideBar();\n\n // ask for coordinates\n try {\n var _ref6 = yield _data2.default.getData('query:coordinates', {\n inputs: {\n feature_count: _application2.default.project.state.feature_count || 5,\n coordinates: QUERY.coordinates\n },\n outputs: {\n // whether to show picked coordinates on map\n show: function show(_ref7) {\n var _ref7$data = _ref7.data,\n data = _ref7$data === undefined ? [] : _ref7$data,\n query = _ref7.query;\n\n var show = data.length === 0;\n // set query coordinates to null in case to avoid `externalvector` added to query response\n query.coordinates = show ? query.coordinates : null;\n return show;\n }\n }\n }),\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n if (data.length && data[0].features.length) {\n QUERY.feature = data[0].features[0];\n QUERY.layer = data[0].layer;\n CONTROLS['queryby'].runSpatialQuery('querybypolygon');\n }\n } catch (e) {\n console.warn('Error running spatial query:', e);\n }\n }))\n });\n\n this.setEnable(false);\n }\n },\n\n clickmap: true\n });\n\n _gui2.default.getService('map').addControl(type, type, control, false, false);\n\n control._interaction.on('change:active', function (e) {\n //set current cursor class on map\n _this8.setMouseCursor(e.target.get(e.key), control.cursorClass); // set mouse cursor\n //set same cursor class to parent queryby control\n _this8.cursorClass = control.cursorClass;\n\n if (['querybbox', 'querybydrawpolygon'].includes(type)) {\n _application2.default.highlightlayers = e.target.get(e.key); // highlight layers in legend\n }\n });\n\n // listen for layers visibility change\n this.unwatches = this.unwatches || [];\n this.unwatches.forEach(function (unwatch) {\n return unwatch();\n });\n this.unwatches.splice(0);\n (_unwatches = this.unwatches).push.apply(_unwatches, _toConsumableArray(this.types.flatMap(function (t) {\n var control = CONTROLS[t];\n return (control.layers || []).map(function (layer) {\n return _g3wEventbus.VM.$watch(function () {\n return layer.state.visible;\n }, function () {\n // toggle \"eye\" / \"eye-close\" icon\n if (_this8.usermessage) {\n $(_this8.usermessage.$refs.layer).trigger('change');\n }\n // toggle control interaction\n control.setEnable(control.isToggled() && _hasVisible(control));\n control._interaction.setActive(control.getEnable());\n });\n });\n })));\n }\n\n /**\n * @param layer \n */\n\n }, {\n key: 'onSelectLayer',\n value: function onSelectLayer(layer) {\n\n var btn = document.querySelector('.usermessage-content .clear-selected-layer');\n if (btn) {\n btn.classList.toggle('hidden', !layer);\n }\n\n if (this.usermessage) {\n this.usermessage.selectedLayer = layer ? layer.getId() : '__ALL__';\n }\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n var selected = layer && control.layers.find(function (l) {\n return l === layer;\n });\n var queryable = layer && layer.isQueryable() && (control.getGeometryTypes() || []).includes(layer.getGeometryType());\n\n if (['querybbox', 'querybydrawpolygon', 'querybycircle'].includes(t)) {\n control.setEnable(control.isToggled() && (layer ? selected && selected.isVisible() : _hasVisible(control)));\n }\n\n if ('querybypolygon' === t) {\n control.setEnable(control.isToggled() && queryable && _hasVisible(control));\n }\n\n control._interaction.setActive(control.getEnable());\n });\n }\n\n /**\n * @param {{ layer, unWatches }}\n */\n\n }, {\n key: 'onAddExternalLayer',\n value: function onAddExternalLayer(_ref8) {\n var layer = _ref8.layer,\n unWatches = _ref8.unWatches;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n\n control.layers = _getAvailableLayers(t);\n\n // set layer property\n if ('querybbox' === t) {\n layer.setTocHighlightable(control.isToggled() && control.getEnable());\n }\n\n // watch `layer.selected` and `layer.visible` properties\n unWatches.push(_g3wEventbus.VM.$watch(function () {\n return [layer.selected, layer.visible];\n }, function () {\n control.setEnable(control.isToggled() && (layer.selected ? layer.visible : _hasVisible(control)));\n control._interaction.setActive(control.getEnable());\n }, { immediate: true }));\n });\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'onRemoveExternalLayer',\n value: function onRemoveExternalLayer(layer) {\n var _this9 = this;\n\n this.types.forEach(function (t) {\n var control = CONTROLS[t];\n control.layers = _getAvailableLayers(t).filter(function (l) {\n return l.getId() !== layer.getId();\n });\n control.setEnable(control.isToggled() && _hasVisible(CONTROLS[t]));\n control._interaction.setActive(control.getEnable());\n });\n /** @TODO find a better way to update \"layers\" list (select2) within vue component */\n setTimeout(function () {\n if (_this9.usermessage) {\n _this9.usermessage.reset();\n }\n });\n }\n }, {\n key: 'runSpatialQuery',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (type) {\n try {\n\n var control = CONTROLS[type];\n\n _gui2.default.closeSideBar();\n\n if (\n // skip if bbox is not set\n 'querybbox' === type && null === QUERY.bbox ||\n // skip when .. ?\n 'querybypolygon' === type && [QUERY.coordinates, QUERY.feature, QUERY.layer].includes(null)) {\n return;\n }\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n var externalLayers = _gui2.default.getService('map').getLegacyExternalLayers();\n var project = _application2.default.project;\n\n if ('querybbox' === type) {\n yield _data2.default.getData('query:bbox', {\n inputs: {\n bbox: QUERY.bbox,\n feature_count: project.state.feature_count || 5,\n addExternal: !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n // Catalog layers (TOC) properties that need to be satisfied\n layersFilterObject: {\n SELECTED_OR_ALL: true, // selected or all\n FILTERABLE: true, // see: src/app/core/layers/layer.js#L925\n VISIBLE: true // need to be visible\n },\n condition: { filtrable: { ows: 'WFS' } },\n multilayers: [].concat(project.state.querymultilayers).includes(control.name),\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n }\n });\n }\n\n if (['querybypolygon', 'querybydrawpolygon', 'querybycircle'].includes(type)) {\n yield _data2.default.getData('query:polygon', {\n inputs: {\n layerName: 'querybypolygon' === type ? QUERY.layer.getName ? QUERY.layer.getName() : QUERY.layer.get('name') : '',\n excludeSelected: 'querybypolygon' === type || !selected,\n feature: function () {\n switch (type) {\n case 'querybypolygon':\n return QUERY.feature;\n case 'querybydrawpolygon':\n return QUERY.dfeature;\n case 'querybycircle':\n var feat = QUERY.dfeature.clone();\n feat.setGeometry(ol.geom.Polygon.fromCircle(QUERY.dfeature.getGeometry(), 64));\n return feat;\n }\n }(),\n external: {\n add: 'querybypolygon' === type || !selected || externalLayers.some(function (l) {\n return l === selected;\n }),\n filter: {\n SELECTED: ['querybydrawpolygon', 'querybycircle'].includes(type) && (!selected || externalLayers.some(function (l) {\n return l === selected;\n }))\n }\n },\n type: (type || '').replace('queryby', '') || undefined,\n multilayers: [].concat(project.state.querymultilayers).includes('querybypolygon'), //hardcoded using querymultilayers server config\n filterConfig: { spatialMethod: control.getSpatialMethod() } // added spatial method to polygon filter\n },\n outputs: {\n show: function show(_ref10) {\n var _ref10$error = _ref10.error,\n error = _ref10$error === undefined ? false : _ref10$error;\n return !error;\n }\n }\n });\n }\n\n control.autorun = true;\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n function runSpatialQuery(_x3) {\n return _ref9.apply(this, arguments);\n }\n\n return runSpatialQuery;\n }()\n }]);\n\n return QueryBy;\n}(_interactioncontrol2.default);\n\n/**\n * @returns {boolean} whether control has a visible layer \n */\n\n\nfunction _hasVisible(control) {\n\n var selected = _gui2.default.getService('map').getSelectedLayer();\n\n // whether one layer is visible (and not selected)\n if ('querybypolygon' === control.name) {\n return !!(\n // check if the current selected layer is visible\n selected && selected.isVisible() && (\n // check if at least one layer is visible (project or external layer)\n control.layers.some(function (l) {\n return l !== selected && l.isVisible() && l.isFilterable({ ows: 'WFS' });\n }) || _gui2.default.getService('map').getLegacyExternalLayers().find(function (l) {\n return l !== selected && true === l.visible;\n })));\n }\n\n // whether one layer is visible\n return !!((control.layers || []).some(function (l) {\n return l.isVisible();\n }) || _gui2.default.getService('map').getLegacyExternalLayers().some(function (l) {\n return l.visible;\n }));\n}\n\n/**\n * @TODO get rid of `s.getLayers` call\n */\nfunction _getAvailableLayers(type) {\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n var queryable = MapLayersStoresRegistry.getQuerableLayersStores();\n return [].concat(_toConsumableArray(new Set([].concat(_toConsumableArray(queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, FILTERABLE: true, SELECTED_OR_ALL: true }, { filtrable: { ows: 'WFS' } });\n }).filter(function (l) {\n return 'wfs' === l.getProvider('filter').getName();\n })), _toConsumableArray((_gui2.default.getService('map').getLegacyExternalLayers() || []).filter(function (l) {\n return 'querybypolygon' === type ? POLYGON_TYPES.includes(l.getGeometryType()) : true;\n })), _toConsumableArray('querybypolygon' === type ? queryable.flatMap(function (s) {\n return s.getLayers({ GEOLAYER: true, QUERYABLE: true, SELECTED_OR_ALL: true }, {});\n }) : [])))));\n}\n\n},{\"g3w-constants\":125,\"g3w-eventbus\":126,\"g3w-i18n\":128,\"map/controls/interactioncontrol\":143,\"map/interactions/pickcoordinatesinteraction\":149,\"services/data\":172,\"services/gui\":173,\"services/map\":175,\"store/application\":178,\"utils/getCatalogLayerById\":203,\"utils/throttle\":241}],146:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScaleControl = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/scalecontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar ScaleControl = exports.ScaleControl = function (_ol$control$Control) {\n _inherits(ScaleControl, _ol$control$Control);\n\n function ScaleControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScaleControl);\n\n opts.target = 'scale-control';\n opts.offline = true;\n\n var _this = _possibleConstructorReturn(this, (ScaleControl.__proto__ || Object.getPrototypeOf(ScaleControl)).call(this, opts));\n\n _this.isMobile = opts.isMobile || false;\n return _this;\n }\n\n _createClass(ScaleControl, [{\n key: 'layout',\n value: function layout(map) {\n var self = this;\n var isMapResolutionChanged = false;\n var selectedOnClick = false;\n var select2 = $(this.element).children('select').select2({\n tags: true,\n dropdownParent: $(map.getTargetElement()),\n width: '120px',\n height: '20px',\n language: { noResults: function noResults() {\n return t(\"sdk.mapcontrols.scale.no_valid_scale\");\n } },\n minimumResultsForSearch: this.isMobile ? -1 : 0,\n createTag: function createTag() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var newTag = null;\n var scale = void 0;\n // Don't offset to create a tag if there is no @ symbol\n if (params.term.includes('1:')) {\n // Return null to disable tag creation\n scale = params.term.split('1:')[1];\n } else if (Number.isInteger(Number(params.term)) && Number(params.term) > 0) {\n scale = Number(params.term);\n if (scale <= self.scales[0]) {\n newTag = {\n id: scale,\n text: '1:' + params.term,\n new: true\n };\n deleteLastCustomScale();\n }\n }\n return newTag;\n }\n });\n //get change mapsize to close\n map.on('change:size', function () {\n return select2.select2('close');\n });\n\n function deleteLastCustomScale() {\n select2.find('option').each(function (index, option) {\n return !self.scales.includes(1 * option.value) && $(option).remove();\n });\n }\n\n function addCustomTag(data) {\n if (select2.find(\"option[value='\" + data.id + \"']\").length) {\n select2.val(data.id).trigger('change');\n } else {\n deleteLastCustomScale();\n select2.append(new Option(data.text, data.id, true, true)).trigger('change');\n }\n }\n\n map.on('moveend', function () {\n if (isMapResolutionChanged) {\n var scale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(this.getView().getResolution(), this.getView().getProjection().getUnits()));\n addCustomTag({\n id: scale,\n text: '1:' + scale,\n new: true\n });\n isMapResolutionChanged = false;\n } else {\n selectedOnClick = false;\n }\n });\n\n var setChangeResolutionHandler = function setChangeResolutionHandler() {\n map.getView().on('change:resolution', function () {\n return isMapResolutionChanged = !selectedOnClick;\n });\n };\n\n setChangeResolutionHandler();\n\n map.on('change:view', function () {\n return setChangeResolutionHandler();\n });\n\n select2.on('select2:select', function (e) {\n selectedOnClick = true;\n var data = e.params.data;\n if (data.new) {\n deleteLastCustomScale();\n addCustomTag(data);\n }\n map.getView().setResolution((0, _getResolutionFromScale.getResolutionFromScale)(1 * data.id, map.getView().getProjection().getUnits()));\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n return;\n }\n\n // set scales\n var currentScale = parseInt((0, _getScaleFromResolution.getScaleFromResolution)(map.getView().getResolution(), map.getView().getProjection().getUnits()));\n this.scales = _g3wConstants.PRINT_SCALES.map(function (s) {\n return s.value;\n }).filter(function (s) {\n return s < currentScale;\n });\n this.scales.unshift(currentScale);\n\n // create control\n var div = document.createElement('div');\n var select = document.createElement('select');\n var optgroup = Object.assign(document.createElement('optgroup'), { label: '' });\n\n this.scales.forEach(function (scale, index) {\n optgroup.appendChild(Object.assign(document.createElement('option'), {\n value: scale,\n text: '1:' + scale,\n selected: 0 === index\n }));\n });\n\n select.appendChild(optgroup);\n\n if (!this.isMobile) {\n var _optgroup = document.createElement('optgroup');\n _optgroup.label = 'Custom';\n select.appendChild(_optgroup);\n }\n\n div.appendChild(select);\n\n // set element of control (it is necessary to visualize it)\n this.element = div;\n $(this.element).css('height', '20px');\n\n this.layout(map);\n _get(ScaleControl.prototype.__proto__ || Object.getPrototypeOf(ScaleControl.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return ScaleControl;\n}(ol.control.Control);\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216}],147:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ScreenshotControl = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _sameOrigin = require('utils/sameOrigin');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/screenshotcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @FIXME prevent tainted canvas error\n * \n * Because the pixels in a canvas's bitmap can come from a variety of sources,\n * including images or videos retrieved from other hosts, it's inevitable that\n * security problems may arise. As soon as you draw into a canvas any data that\n * was loaded from another origin without CORS approval, the canvas becomes\n * tainted.\n * \n * A tainted canvas is one which is no longer considered secure, and any attempts\n * to retrieve image data back from the canvas will cause an exception to be thrown.\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image\n */\nvar ScreenshotControl = exports.ScreenshotControl = function (_InteractionControl) {\n _inherits(ScreenshotControl, _InteractionControl);\n\n function ScreenshotControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, ScreenshotControl);\n\n opts.layers = undefined === opts.layers ? [] : opts.layers;\n\n var _this = _possibleConstructorReturn(this, (ScreenshotControl.__proto__ || Object.getPrototypeOf(ScreenshotControl)).call(this, _extends({\n name: \"maptoimage\",\n tipLabel: \"Screenshot\",\n label: '\\uE90F',\n clickmap: true,\n enabled: true,\n layers: []\n }, opts)));\n\n _this.types = [];\n\n (opts.types || []).forEach(function (type) {\n return _this.addType(type);\n });\n\n _this.layers = opts.layers;\n\n //set visibility based on layers\n _this.setVisible(_this.checkVisible(_this.layers));\n\n //only if is visible (no CORS issue) need to listen to add/remove layer\n if (_this.isVisible()) {\n //listen to add/remove External Layer event to check visibility of the control\n _gui2.default.getService('map').onafter('loadExternalLayer', _this._addLayer.bind(_this));\n _gui2.default.getService('map').onafter('unloadExternalLayer', _this._removeLayer.bind(_this));\n }\n return _this;\n }\n\n /**\n * @param { 'screenshot' | 'geoscreenshot' } type\n *\n * @since 3.11.0\n */\n\n\n _createClass(ScreenshotControl, [{\n key: 'addType',\n value: function addType(type) {\n var _this2 = this;\n\n this.types.push(type);\n\n this.toggledTool = this.toggledTool || {\n __title: 'sdk.mapcontrols.screenshot.title',\n __iconClass: 'camera',\n data: function data() {\n return { types: _this2.types, type: _this2.types[0] };\n },\n template: /* html */'\\n
\\n \\n \\n
',\n methods: {\n download: function () {\n var _ref = _asyncToGenerator(function* (e) {\n var map = _gui2.default.getService('map');\n // Start download\n _application2.default.download = true;\n e.target.disabled = true;\n try {\n var blobImage = yield map.createMapImage();\n\n if ('screenshot' === this.type) {\n // PNG\n window.saveAs(blobImage, 'map_' + Date.now() + '.png');\n } else {\n // GeoTIFF\n var body = new FormData();\n body.append('image', blobImage);\n body.append('csrfmiddlewaretoken', map.getCookie('csrftoken'));\n body.append('bbox', map.getMapBBOX().toString());\n window.saveAs((yield (yield fetch('/' + map.project.getType() + '/api/asgeotiff/' + map.project.getId() + '/', { method: 'POST', body: body })).blob()), 'map_' + Date.now() + '.tif');\n }\n } catch (e) {\n _gui2.default.showUserMessage({\n type: 'SecurityError' === err.name ? 'warning' : 'alert',\n message: 'SecurityError' === err.name ? 'mapcontrols.screenshot.securityError' : 'mapcontrols.screenshot.error',\n autoclose: false\n });\n console.warn(e);\n }\n // End download\n _application2.default.download = false;\n e.target.disabled = false;\n return true;\n });\n\n function download(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return download;\n }()\n },\n created: function created() {\n _gui2.default.toggleUserMessage(false);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.toggleUserMessage(true);\n }\n };\n }\n\n /**\n * Called when a new layer is added to Project (eg. wms or vector layer)\n * \n * @since 3.8.3\n *\n */\n\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n var _this3 = this;\n\n this.layers.push(layer);\n this.change(this.layers);\n layer.on('change:visible', function () {\n return _this3.change(_this3.layers);\n });\n }\n\n /**\n * Called when a layer is removed from Project\n * \n * @since 3.8.3 \n */\n\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return l !== layer;\n });\n this.change(this.layers);\n }\n\n /**\n * Called when a layer is added or removed\n * \n * @param layers\n */\n\n }, {\n key: 'change',\n value: function change() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.setVisible(this.checkVisible(layers));\n }\n\n /**\n * Check visibility for map control based on layers URLs.\n * \n * Allow printing external WMS layers only when they have\n * the same origin URL of the current application in order to avoid\n * CORS issue while getting map image.\n * \n * Layers that don't have a source URL are excluded (eg. base layers)\n * \n * @param {array} layers\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'checkVisible',\n value: function checkVisible() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n // Need to be visible.\n // If it was not visible, the CORS issue was raised.\n // Need to reload and remove layer\n return this.isVisible() && !layers.some(isCrossOrigin);\n }\n }]);\n\n return ScreenshotControl;\n}(_interactioncontrol2.default);\n\n/**\n * Check if a layer has a Cross Origin source URI\n * \n * @param layer\n * \n * @returns {boolean} `true` whether the given layer could cause CORS issues (eg. while printing raster layers). \n */\n\n\nfunction isCrossOrigin(layer) {\n var source_url = void 0;\n\n // vector or hidden layers can't cause CORS issues\n if (layer.getVisible && !layer.getVisible() || layer instanceof ol.layer.Vector) {\n return false;\n }\n\n // image layer (OpenLayers)\n if (layer instanceof ol.layer.Tile || layer instanceof ol.layer.Image) {\n source_url = layer.getSource().getUrl();\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n // external image layer (eg: \"core/layers/imagelayer.js\")\n if ((layer.getConfig().source || {}).external) {\n source_url = layer.getConfig().source.url;\n return source_url && !(0, _sameOrigin.sameOrigin)(source_url, location);\n }\n\n return false;\n}\n\n},{\"map/controls/interactioncontrol\":143,\"services/gui\":173,\"store/application\":178,\"utils/sameOrigin\":237}],148:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.StreetViewControl = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _XHR = require('utils/XHR');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/controls/streetviewcontrol.js@v3.10.2\n * @since 3.11.0\n */\n\nvar GoogleStreetViewApiUrl = 'https://maps.googleapis.com/maps/api/';\n\nvar StreetViewControl = function (_InteractionControl) {\n _inherits(StreetViewControl, _InteractionControl);\n\n function StreetViewControl() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, StreetViewControl);\n\n /**\n * Check Google Key\n */\n var _this = _possibleConstructorReturn(this, (StreetViewControl.__proto__ || Object.getPrototypeOf(StreetViewControl)).call(this, _extends({}, opts, {\n offline: false,\n visible: true, // always visible. Only change behavior if exist or not\n name: \"streetview\",\n tipLabel: \"StreetView\",\n clickmap: true,\n label: '\\uE905',\n interactionClass: _pickcoordinatesinteraction2.default,\n interactionClassOptions: { cursor: 'ol-streetview' },\n cursorClass: 'ol-streetview'\n })));\n\n _this.key = _application2.default.keys.vendorkeys.google;\n\n if (_this.key) {\n _XHR.XHR.get({\n url: GoogleStreetViewApiUrl + 'streetview',\n params: {\n location: 0,\n size: '456x456',\n key: _this.key\n }\n }).catch(function (e) {\n console.warn(e);_this.keyError = e.responseText;\n });\n }\n\n // get script\n $script(GoogleStreetViewApiUrl + 'js?' + (_this.key ? 'key=' + _this.key : ''));\n\n /***/\n\n _this._sv = null;\n _this._panorama = null;\n _this._map = null;\n _this._projection = null;\n _this._lastposition = null;\n _this._streetViewFeature = new ol.Feature();\n _this.active = false;\n\n _this._layer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [] }),\n style: function style(feature) {\n var coordinates = feature.getGeometry().getCoordinates();\n this._lastposition = this._lastposition ? this._lastposition : coordinates;\n var dx = coordinates[0] - this._lastposition[0];\n var dy = coordinates[1] - this._lastposition[1];\n var rotation = -Math.atan2(dy, dx);\n var styles = [new ol.style.Style({\n text: new ol.style.Text({\n text: '\\uE905',\n font: 'bold 18px icomoon',\n fill: new ol.style.Fill({\n color: '#ffffff'\n })\n })\n }), new ol.style.Style({\n image: new ol.style.Icon({\n src: '/static/client/images/streetviewarrow.png',\n rotation: rotation\n })\n })];\n this._lastposition = coordinates;\n return styles;\n }\n });\n\n //@since 3.11.0.\n // In the case of key provided and open content with streetview images,\n // on close content need to remove point (icon street view on a map)\n if (_this.key) {\n _gui2.default.on('closecontent', function () {\n if (_this.isToggled()) {\n _this._layer.getSource().clear();\n }\n });\n }\n\n return _this;\n }\n\n _createClass(StreetViewControl, [{\n key: 'setProjection',\n value: function setProjection(projection) {\n this._projection = projection;\n }\n }, {\n key: 'setPosition',\n value: function setPosition(position) {\n var _this2 = this;\n\n var pixel = void 0;\n var self = this;\n this.active = true;\n if (!this._sv) {\n this._sv = new google.maps.StreetViewService();\n }\n this._sv.getPanorama({ location: position }, function (data) {\n self._panorama = new google.maps.StreetViewPanorama(document.getElementById('streetview'), { imageDateControl: true });\n /**\n * Listen on position change\n */\n self._panorama.addListener('position_changed', function () {\n if (self.isToggled()) {\n var lnglat = ol.proj.transform([this.getPosition().lng(), this.getPosition().lat()], 'EPSG:4326', self._projection.getCode());\n self._streetViewFeature.setGeometry(new ol.geom.Point(lnglat));\n pixel = self._map.getPixelFromCoordinate(lnglat);\n if (pixel[0] + 15 > self._map.getSize()[0] || pixel[1] + 15 > self._map.getSize()[1] || pixel[0] < 15 || pixel[1] < 15) {\n self._map.getView().setCenter(lnglat);\n }\n }\n });\n if (data && data.location) {\n self._panorama.setPov({\n pitch: 0,\n heading: 0\n });\n\n self._panorama.setPosition(data.location.latLng);\n }\n }).then(function (response) {\n if (undefined === response) {\n _gui2.default.closeContent();\n }\n }).catch(function (e) {\n console.warn(e);_this2.toggle();\n });\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n var _this3 = this;\n\n this._map = map;\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'setMap', this).call(this, map);\n\n this.setProjection(this._map.getView().getProjection());\n this._map.addLayer(this._layer);\n\n this._interaction.on('picked', function (_ref) {\n var coordinate = _ref.coordinate;\n\n _this3.showStreetView(coordinate);\n if (_this3._autountoggle) {\n _this3.toggle();\n }\n });\n }\n\n /**\n * Method to show StreetView depending on a key and keyError\n * @param coordinate\n */\n\n }, {\n key: 'showStreetView',\n value: function showStreetView(coordinate) {\n var _ol$proj$transform = ol.proj.transform(coordinate, this._map.getView().getProjection().getCode(), 'EPSG:4326'),\n _ol$proj$transform2 = _slicedToArray(_ol$proj$transform, 2),\n lng = _ol$proj$transform2[0],\n lat = _ol$proj$transform2[1];\n\n if (this.key) {\n _gui2.default.setContent({\n title: 'StreetView',\n content: '
' + (this.keyError ? '' + this.keyError + '
' : '') + '
'\n });\n if (!this.keyError) {\n this.setPosition({ lng: lng, lat: lat });\n }\n } else {\n this._streetViewFeature.setGeometry(new ol.geom.Point(coordinate));\n window.open('https://www.google.com/maps/@?api=1&map_action=pano&viewpoint=' + lat + ',' + lng);\n }\n }\n }, {\n key: 'clearMarker',\n value: function clearMarker() {\n this._streetViewFeature.setGeometry(null);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this._layer.getSource().clear();\n this._streetViewFeature.setGeometry(null);\n this.clearMarker();\n this._panorama = null;\n if (this.active) {\n _gui2.default.closeContent();\n }\n this.active = false;\n }\n }, {\n key: 'toggle',\n value: function toggle(_toggle) {\n _get(StreetViewControl.prototype.__proto__ || Object.getPrototypeOf(StreetViewControl.prototype), 'toggle', this).call(this, _toggle);\n if (this.isToggled()) {\n this._layer.getSource().addFeatures([this._streetViewFeature]);\n } else {\n this.clear();\n }\n }\n }]);\n\n return StreetViewControl;\n}(_interactioncontrol2.default);\n\nexports.StreetViewControl = StreetViewControl;\n\n},{\"map/controls/interactioncontrol\":143,\"map/interactions/pickcoordinatesinteraction\":149,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181}],149:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickcoordinatesinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickCoordinatesInteraction = function (_ol$interaction$Point) {\n _inherits(PickCoordinatesInteraction, _ol$interaction$Point);\n\n function PickCoordinatesInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickCoordinatesInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickCoordinatesInteraction.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n var _this2 = this;\n\n this._centerMap = e.map.getView().getCenter();\n // set timeout to avoid blocking pan\n setTimeout(function () {\n if (_this2._centerMap === e.map.getView().getCenter()) {\n _this2.handleUpEvent(e);\n }\n }, 300);\n // return false to avoid start of drag event\n return false;\n },\n handleUpEvent: function handleUpEvent(e) {\n this.dispatchEvent({\n type: 'picked',\n coordinate: e.coordinate\n });\n // it used to stop drag event\n return false;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getViewport().classList.add(this._cursor);\n return true;\n }\n }, opts)));\n\n _this._cursor = opts.cursor || 'ol-pointer';\n // this.previousCursor_ = null;\n _this._centerMap = null;\n return _this;\n }\n\n _createClass(PickCoordinatesInteraction, [{\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setActive',\n value: function setActive(bool) {\n var map = this.getMap();\n if (map) {\n map.getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setActive', this).call(this, bool);\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getViewport().classList.remove(this._cursor);\n }\n _get(PickCoordinatesInteraction.prototype.__proto__ || Object.getPrototypeOf(PickCoordinatesInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickCoordinatesInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickCoordinatesInteraction;\n\n},{}],150:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\n/**\n * @file ORIGINAL SOURCE: src/app/g3w-ol/interactions/pickfeatureinteraction.js@v3.10.2\n * @since 3.11.0\n */\n\nvar PickFeatureInteraction = function (_ol$interaction$Point) {\n _inherits(PickFeatureInteraction, _ol$interaction$Point);\n\n function PickFeatureInteraction() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, PickFeatureInteraction);\n\n var _this = _possibleConstructorReturn(this, (PickFeatureInteraction.__proto__ || Object.getPrototypeOf(PickFeatureInteraction)).call(this, _extends({\n handleDownEvent: function handleDownEvent(e) {\n this.pickedFeature_ = this.featuresAtPixel_(e.pixel, e.map);\n return this.pickedFeature_;\n },\n handleUpEvent: function handleUpEvent(e) {\n if (this.pickedFeature_) {\n this.dispatchEvent({\n type: 'picked',\n feature: this.pickedFeature_,\n coordinate: e.coordinate,\n layer: this.pickedLayer_\n });\n }\n return true;\n },\n handleMoveEvent: function handleMoveEvent(e) {\n e.map.getTargetElement().style.cursor = this.featuresAtPixel_(e.pixel, e.map) ? 'pointer' : '';\n }\n }, opts)));\n\n var features = opts.features;\n\n _this.features_ = Array.isArray(features) && features.length > 0 ? features : null;\n _this.layers_ = opts.layers || null;\n _this.pickedFeature_ = null;\n _this.pickedLayer_ = null;\n return _this;\n }\n\n _createClass(PickFeatureInteraction, [{\n key: 'layerFilter_',\n value: function layerFilter_(layer) {\n var include = (this.layers_ || []).includes(layer);\n this.pickedLayer_ = include && layer;\n return include;\n }\n }, {\n key: 'featuresAtPixel_',\n value: function featuresAtPixel_(pixel, map) {\n var _this2 = this;\n\n var featureFound = null;\n var intersectingFeature = map.forEachFeatureAtPixel(pixel, function (feature) {\n if (_this2.features_) {\n if (_this2.features_.includes(feature)) {\n return feature;\n } else {\n return null;\n }\n }\n return feature;\n }, {\n layerFilter: this.layerFilter_.bind(this),\n hitTolerance: isMobile && isMobile.any ? 10 : 0\n });\n if (intersectingFeature) {\n featureFound = intersectingFeature;\n }\n return featureFound;\n }\n }, {\n key: 'shouldStopEvent',\n value: function shouldStopEvent() {\n return false;\n }\n }, {\n key: 'setMap',\n value: function setMap(map) {\n if (!map) {\n this.getMap().getTargetElement().style.cursor = '';\n }\n _get(PickFeatureInteraction.prototype.__proto__ || Object.getPrototypeOf(PickFeatureInteraction.prototype), 'setMap', this).call(this, map);\n }\n }]);\n\n return PickFeatureInteraction;\n}(ol.interaction.Pointer);\n\nexports.default = PickFeatureInteraction;\n;\n\n},{}],151:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Feature = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wConstants2 = _interopRequireDefault(_g3wConstants);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/feature.js@v3.10.2\n * @since 3.11.0\n */\n\nvar Feature = exports.Feature = function (_ol$Feature) {\n _inherits(Feature, _ol$Feature);\n\n function Feature() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Feature);\n\n var _this = _possibleConstructorReturn(this, (Feature.__proto__ || Object.getPrototypeOf(Feature)).call(this));\n\n _this.state = {\n new: false,\n state: null,\n visible: true\n };\n\n //store unique id for the feature\n _this._uid = (0, _getUniqueDomId.getUniqueDomId)();\n\n //{ Boolean }: true if feature has geometry\n _this._geometry = false;\n\n // check if it has to set only some properties or all feature properties\n if (opts.feature && opts.properties && Array.isArray(opts.properties)) {\n opts.properties.forEach(function (p) {\n return _this.set(p, opts.feature.get(p));\n });\n } else if (opts.feature) {\n _this.setProperties(opts.feature.getProperties());\n }\n\n if (opts.feature) {\n _this.setId(opts.feature.getId());\n _this.setGeometryName(opts.feature.getGeometryName());\n }\n\n var geometry = opts.feature && opts.feature.getGeometry();\n\n //check if feature has geometry\n if (geometry) {\n _this._geometry = true;\n _this.setGeometry(geometry);\n }\n\n //check if it has style associated\n var style = _this.getStyle();\n if (style) {\n _this.setStyle(style);\n }\n return _this;\n }\n\n /**\n * Return unique id\n * @returns {*}\n */\n\n\n _createClass(Feature, [{\n key: 'getUid',\n value: function getUid() {\n return this._uid;\n }\n\n /**\n *\n * @return {boolean}\n */\n\n }, {\n key: 'isGeometry',\n value: function isGeometry() {\n return this._geometry;\n }\n\n /**\n * Clone a feature with id and pk new\n * @param pk field send pk field\n * @returns {Feature}\n */\n\n }, {\n key: 'cloneNew',\n value: function cloneNew(pk) {\n var clone = this.clone();\n //set new unique id\n clone._uid = (0, _getUniqueDomId.getUniqueDomId)();\n clone.setTemporaryId();\n //in the case of send pk field object set temporary new value\n //to avoid duplicate pk when save clone feature on server\n if (pk && false === pk.editable) {\n //need to be set null\n clone.set(pk.name, null);\n }\n return clone;\n }\n\n /**\n * clone existing feature\n * @returns {Feature}\n */\n\n }, {\n key: 'clone',\n value: function clone() {\n var feature = _get(Feature.prototype.__proto__ || Object.getPrototypeOf(Feature.prototype), 'clone', this).call(this);\n feature.setId(this.getId());\n //if it has geometry, need to clone geometry\n if (this.isGeometry()) {\n feature.setGeometry(feature.getGeometry().clone());\n }\n var clone = new Feature({ feature: feature });\n clone._uid = this.getUid();\n clone.setState(this.getState());\n if (this.isNew()) {\n clone.setNew();\n }\n return clone;\n }\n }, {\n key: 'setTemporaryId',\n value: function setTemporaryId() {\n this.setId('_new_' + (0, _getUniqueDomId.getUniqueDomId)());\n this.setNew();\n }\n }, {\n key: 'setNew',\n value: function setNew() {\n this.state.new = true;\n }\n }, {\n key: 'delete',\n value: function _delete() {\n this.state.state = 'delete';\n return this;\n }\n }, {\n key: 'update',\n value: function update() {\n this.state.state = 'update';\n return this;\n }\n }, {\n key: 'add',\n value: function add() {\n this.state.state = 'add';\n return this;\n }\n }, {\n key: 'isNew',\n value: function isNew() {\n return this.state.new;\n }\n }, {\n key: 'isAdded',\n value: function isAdded() {\n return 'add' === this.state.state;\n }\n }, {\n key: 'isUpdated',\n value: function isUpdated() {\n return 'update' === this.state.state;\n }\n }, {\n key: 'isDeleted',\n value: function isDeleted() {\n return 'delete' === this.state.state;\n }\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state.state = state;\n }\n }, {\n key: 'getState',\n value: function getState() {\n return this.state.state;\n }\n\n /**\n * Get only alphanumerical properties. No geometry property is returned\n * @return {{ Object }}\n */\n\n }, {\n key: 'getAlphanumericProperties',\n value: function getAlphanumericProperties() {\n return Object.entries(this.getProperties()).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n name = _ref2[0],\n _ = _ref2[1];\n\n return !_g3wConstants2.default.GEOMETRY_FIELDS.includes(name);\n }).reduce(function (attrs, _ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n n = _ref4[0],\n v = _ref4[1];\n\n attrs[n] = v;return attrs;\n }, {});\n }\n\n /**\n * clean state of the features\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.state = null;\n this.state.new = false;\n }\n\n /**\n * need to filter features visiblity on table\n * @returns {boolean}\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility of feature\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.visible = bool;\n }\n }]);\n\n return Feature;\n}(ol.Feature);\n\n},{\"g3w-constants\":125,\"utils/getUniqueDomId\":217}],152:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FeaturesStore = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/features/featurestore.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\nvar FeaturesStore = exports.FeaturesStore = function (_G3WObject) {\n _inherits(FeaturesStore, _G3WObject);\n\n function FeaturesStore() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, FeaturesStore);\n\n var _this = _possibleConstructorReturn(this, (FeaturesStore.__proto__ || Object.getPrototypeOf(FeaturesStore)).call(this));\n\n _this._features = opts.features || [];\n _this._provider = opts.provider || null;\n _this._loadedIds = []; // store features id load by current user\n _this._lockIds = []; // store locked features\n\n //setters\n _this.setters = {\n /**\n * Add an array of features\n * @param { Array } features\n */\n addFeatures: function addFeatures() {\n var _this2 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this2._addFeature(f);\n });\n },\n\n /**\n * Add single feature\n * @param feature\n */\n addFeature: function addFeature(feature) {\n this._addFeature(feature);\n },\n\n /**\n * Remove a feature\n * @param feature\n */\n removeFeature: function removeFeature(feature) {\n this._removeFeature(feature);\n },\n\n /**\n * Update (substitute) a feature\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._updateFeature(feature);\n },\n\n /**\n * Remove all feature\n */\n clear: function clear() {\n this._clearFeatures();\n },\n\n /**\n * Get features from server\n * @param opts\n * @return { Promise }\n */\n getFeatures: function getFeatures() {\n var _this3 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (_this3._provider) {\n //call provider getFeatures to get features from server\n //get the feature base on response from server features, featurelockis etc ...\n var features = _this3._filterFeaturesResponse((yield _this3._provider.getFeatures(opts)));\n _this3.addFeatures(features);\n return features;\n }\n return _this3._features; // Get features stored. No call to server is done\n }));\n },\n\n /**\n * Commit changes (add, update, delete) to server\n * @param commitItems\n * @param featurestore Its is used????\n * @return {*}\n */\n commit: function commit(commitItems, featurestore) {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (commitItems && _this4._provider) {\n commitItems.lockids = _this4._lockIds;\n return yield _XHR.XHR.post({\n url: _this4._provider._layer.getUrl('commit'),\n data: JSON.stringify(commitItems),\n contentType: 'application/json'\n });\n }\n return Promise.reject();\n }));\n },\n\n /**\n * setter to know when some features are locked\n */\n featuresLockedByOtherUser: function featuresLockedByOtherUser() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n }\n };\n\n return _this;\n }\n\n _createClass(FeaturesStore, [{\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'setProvider',\n value: function setProvider(provider) {\n this._provider = provider;\n }\n }, {\n key: 'getProvider',\n value: function getProvider() {\n return this._provider;\n }\n\n /**\n * Unlock features. Other users can edit these features\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this5 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.post({ url: _this5._provider._layer.getUrl('unlock') });\n }));\n }\n\n /**\n * Filter features to add\n * @param options\n * @private\n * @return Array of features to add\n */\n\n }, {\n key: '_filterFeaturesResponse',\n value: function _filterFeaturesResponse() {\n var _this6 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n /**\n * features uis array of feature returned from server and feature that are currently locked.\n * featurelocks is array of the feature that can be locker by current client request (not locked by another user)\n * featurelocks array item\n * {\n * featureid: Is current id of feature locked\n * lockid: Is a server unique lock id number\n * }\n * ex.\n * {featureid: \"1\", lockid: \"6bbab1c1c03332fb39b8ffae35e557ba\"}\n *\n * If featurelocks are less than features, it means that another user is editing these features\n *\n *\n * @type {*[]}\n */\n var _options$features = options.features,\n features = _options$features === undefined ? [] : _options$features,\n _options$featurelocks = options.featurelocks,\n featurelocks = _options$featurelocks === undefined ? [] : _options$featurelocks;\n\n //if no features locks mean another user locks all feature requests\n\n if (0 === featurelocks.length) {\n //if there are features on response\n if (features.length > 0) {\n //It means that another user locks these features\n this.featuresLockedByOtherUser(features);\n }\n return [];\n }\n\n //get already loaded feature id locked by current user\n var fids = this._lockIds.map(function (_ref4) {\n var featureid = _ref4.featureid;\n return featureid;\n });\n featurelocks.filter(function (_ref5) {\n var featureid = _ref5.featureid;\n return !fids.includes(featureid);\n }) //exclude features already locked by current user\n .forEach(function (fl) {\n return _this6._lockIds.push(fl);\n }); //update lockIds based on a featurelocks array from response\n\n //store features locked by another user\n var lockFeatures = [];\n\n //Store features to add to layers source\n var featuresToAdd = features.filter(function (f) {\n //get feature id\n var featureId = f.getId();\n //check if feature id is locked features\n //it means that is not locked by another user.\n if (featurelocks.find(function (_ref6) {\n var featureid = _ref6.featureid;\n return featureId == featureid;\n })) {\n //check if feature is not yet added for the current user\n if (_this6._loadedIds.indexOf(featureId) === -1) {\n _this6._loadedIds.push(featureId);\n return true;\n } else {\n return false; //feature locked by the current user\n }\n } else {\n lockFeatures.push(f);\n return false; //feature locked by another user\n }\n });\n\n //if features locks are less than features get from server,\n // it means that another user locks some features\n if (featurelocks.length < features.length) {\n this.featuresLockedByOtherUser(lockFeatures);\n }\n\n return featuresToAdd;\n }\n }, {\n key: 'getLockIds',\n value: function getLockIds() {\n return this._lockIds;\n }\n\n /**\n * Add new lockid\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n var _this7 = this;\n\n this._lockIds = _.union(this._lockIds, lockIds);\n this._lockIds.forEach(function (_ref7) {\n var featureid = _ref7.featureid;\n return _this7._loadedIds.push(featureid);\n });\n }\n\n /**\n * Get feature\n * @param id\n * @return { Feature }\n */\n\n }, {\n key: 'getFeatureById',\n value: function getFeatureById(id) {\n return this._features.find(function (f) {\n return id == f.getId();\n });\n }\n }, {\n key: 'getFeatureByUid',\n value: function getFeatureByUid(uid) {\n return this._features.find(function (f) {\n return uid === f.getUid();\n });\n }\n }, {\n key: '_addFeature',\n value: function _addFeature(feature) {\n this._features.push(feature);\n }\n\n /**\n * Substitute (update) feature after update\n */\n\n }, {\n key: '_updateFeature',\n value: function _updateFeature(feature) {\n var _this8 = this;\n\n this._features.find(function (feat, idx) {\n if (feature.getUid() === feat.getUid()) {\n _this8._features[idx] = feature;\n return true;\n }\n });\n }\n }, {\n key: 'setFeatures',\n value: function setFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this._features = features;\n }\n }, {\n key: '_removeFeature',\n value: function _removeFeature(feature) {\n this._features = this._features.filter(function (f) {\n return feature.getUid() !== f.getUid();\n });\n }\n }, {\n key: '_clearFeatures',\n value: function _clearFeatures() {\n this._features = null;\n this._features = [];\n this._lockIds = [];\n this._loadedIds = [];\n }\n }, {\n key: 'getDataProvider',\n value: function getDataProvider() {\n return this._provider;\n }\n\n // only read downloaded features\n\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._features;\n }\n }]);\n\n return FeaturesStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":129,\"lodash.clonedeep\":\"lodash.clonedeep\",\"utils/XHR\":181,\"utils/promisify\":232}],153:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _XHR = require('utils/XHR');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/mixins/geo.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * @TODO convert it to ES6 class (or external utils)\n *\n * @file\n * @since 3.9.0\n */\n\n/**\n * ES6 mixin\n * \n * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends#mix-ins\n * \n * @example class ImageLayer extends GeoLayerMixin(Layer) {}\n */\nexports.default = function (BaseClass) {\n return function (_BaseClass) {\n _inherits(_class, _BaseClass);\n\n function _class() {\n _classCallCheck(this, _class);\n\n return _possibleConstructorReturn(this, (_class.__proto__ || Object.getPrototypeOf(_class)).apply(this, arguments));\n }\n\n _createClass(_class, [{\n key: 'setup',\n value: function setup() {\n var _this2 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.config) {\n console.log(\"GeoLayerMixin must be used from a valid (geo) Layer instance\");\n return;\n }\n\n Object.assign(this.config, {\n map_crs: options.project.getProjection().getCode(),\n multilayerid: config.multilayer,\n projection: config.projection ? config.projection.getCode() === config.crs.epsg ? config.projection : _projections2.default.get(config.crs) : undefined,\n attributions: config.attributions ? config.attributions : undefined\n });\n\n this.legendCategories = {};\n\n // Features that contain\n this.olSelectionFeatures = {}; // key id / fid of feature and values is an object with feature and added\n\n // state extend of layer setting geolayer property to true\n // and adding information of bbox\n Object.assign(this.state, {\n geolayer: \"NoGeometry\" !== config.geometrytype,\n legend: {\n url: null,\n loading: false,\n error: false,\n /** @deprecated since 3.8. Will be removed in 4.x. Use `expanded` attribute instead */\n show: true,\n /** used when categories changed (checkbox on TOC) and legend is on TAB */\n change: false\n },\n external: config.source && config.source.external || false,\n bbox: config.bbox || null,\n visible: config.visible || false,\n checked: config.visible || false,\n epsg: config.crs.epsg,\n hidden: config.hidden || false,\n scalebasedvisibility: config.scalebasedvisibility || false,\n minscale: config.minscale,\n maxscale: config.maxscale,\n ows_method: config.ows_method,\n\n /**\n * @type {boolean}\n */\n exclude_from_legend: 'boolean' === typeof config.exclude_from_legend ? config.exclude_from_legend : true,\n\n /**\n * Has more than one category's legend\n * \n * @type {boolean}\n */\n categories: false,\n\n /**\n * Toggle legend item state (expandend or collapsed) in catalog layers (TOC)\n * \n * @type {number}\n *\n * @since v3.8\n */\n expanded: config.expanded,\n\n /**\n * Layer opacity\n * \n * @type {number} opacity range = [0, 100]\n * \n * @since v3.8\n */\n opacity: config.opacity || 100\n });\n\n // sanitize source url\n if (config.source && config.source.url) {\n var checkUrl = new URL(this.config.source.url);\n // reserved WMS params\n ['VERSION', 'REQUEST', 'BBOX', 'LAYERS', 'WIDTH', 'HEIGHT', 'DPI', 'FORMAT', 'CRS'].forEach(function (p) {\n var params = [p.toUpperCase(), p.toLowerCase()];\n for (var i = 0; i < 2; i++) {\n var param = params[i];\n var value = checkUrl.searchParams.get(param);\n if (value) {\n _this2.config.source.url = _this2.config.source.url.replace(param + '=' + value, '');\n break;\n }\n }\n });\n }\n }\n\n /**\n * Legend Graphic section\n */\n\n }, {\n key: 'getLegendGraphic',\n value: function getLegendGraphic() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref$all = _ref.all,\n all = _ref$all === undefined ? true : _ref$all;\n\n return _XHR.XHR.get({\n url: this.getLegendUrl((window.initConfig.layout || { legend: {} }).legend, {\n categories: true,\n format: 'application/json', // is the format to request categories (icon and label of each category)\n all: all // true meaning no bbox no filter just all referred to\n })\n });\n }\n\n /**\n * Set layer categories legend\n * @param { Array }categories\n */\n\n }, {\n key: 'setCategories',\n value: function setCategories() {\n var categories = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.legendCategories[this.getCurrentStyle().name] = categories;\n //set categories state attribute to true only if exist at least a rule key\n this.state.categories = (categories || []).filter(function (category) {\n return category.ruleKey;\n }).length > 0;\n }\n\n /**\n * Return eventually categories of layers legend\n * @returns {string[] | string | [] | *[] | boolean | {default: {level: *, appenders: string[]}}}\n */\n\n }, {\n key: 'getCategories',\n value: function getCategories() {\n return this.legendCategories[this.getCurrentStyle().name];\n }\n\n /**\n * Clear all categories\n */\n\n }, {\n key: 'clearCategories',\n value: function clearCategories() {\n this.legendCategories = {};\n this.state.categories = false;\n }\n\n /**\n * End Legend Graphic section\n */\n\n /**\n * [LAYER SELECTION]\n * \n * Clear all selection Openlayers features\n */\n\n }, {\n key: 'clearOlSelectionFeatures',\n value: function clearOlSelectionFeatures() {\n this.olSelectionFeatures = {};\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get OpenLayer selection feature by feature id\n * \n * @param id\n * @returns {*}\n */\n\n }, {\n key: 'getOlSelectionFeature',\n value: function getOlSelectionFeature(id) {\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Update selected feature (Case change geometry)\n * \n * @param id\n * @param feature\n */\n\n }, {\n key: 'updateOlSelectionFeature',\n value: function updateOlSelectionFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref2.id,\n feature = _ref2.feature;\n\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n selected.feature = feature;\n _gui2.default.getService('map').setSelectionFeatures('update', { feature: feature });\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Delete OpenLayer feature selection by feature id\n * \n * @param id\n */\n\n }, {\n key: 'deleteOlSelectionFeature',\n value: function deleteOlSelectionFeature(id) {\n var selected = this.getOlSelectionFeature(id);\n if (selected) {\n /** @FIXME undefined variable */\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: selected.feature });\n delete this.olSelectionFeatures[id];\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Get all OpenLayers feature selections\n * \n * @returns { {} | null }\n */\n\n }, {\n key: 'getOlSelectionFeatures',\n value: function getOlSelectionFeatures() {\n return this.olSelectionFeatures;\n }\n\n /**\n * [LAYER SELECTION]\n \n * @param id\n * @param feature\n *\n * @returns {*}\n */\n\n }, {\n key: 'addOlSelectionFeature',\n value: function addOlSelectionFeature() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n feat = _ref3.feature;\n\n //create a new ol feature\n var feature = new ol.Feature(feat.geometry);\n feature.setId(id);\n Object.entries(feat.attributes).forEach(function (_ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n a = _ref5[0],\n v = _ref5[1];\n\n return feature.set(a, v);\n });\n this.olSelectionFeatures[id] = this.olSelectionFeatures[id] || {\n feature: feature,\n added: false,\n selected: false /** @since 3.9.9 */\n };\n return this.olSelectionFeatures[id];\n }\n\n /**\n * [LAYER SELECTION]\n *\n * Set selection layer on a map not visible\n */\n\n }, {\n key: 'hideOlSelectionFeatures',\n value: function hideOlSelectionFeatures() {\n _gui2.default.getService('map').toggleSelection(false);\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Show all selection features\n */\n\n }, {\n key: 'updateMapOlSelectionFeatures',\n value: function updateMapOlSelectionFeatures() {\n // Loop `added` features (selected)\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n });\n // Ensures visibility of selection layer on a map\n _gui2.default.getService('map').toggleSelection(Object.values(this.olSelectionFeatures).some(function (f) {\n return f.selected;\n }));\n }\n\n /**\n * [LAYER SELECTION]\n * \n * Toggle `added` property on all features\n */\n\n }, {\n key: 'setInversionOlSelectionFeatures',\n value: function setInversionOlSelectionFeatures() {\n Object.values(this.olSelectionFeatures).forEach(function (f) {\n //invert select state\n f.selected = !f.selected;\n if (!f.selected && f.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: f.feature });\n f.added = false;\n }\n if (f.selected && !f.added) {\n _gui2.default.getService('map').setSelectionFeatures('add', { feature: f.feature });\n f.added = true;\n }\n });\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param fid\n * @param action\n * \n * @returns {*}\n */\n\n }, {\n key: 'setOlSelectionFeatureByFid',\n value: function setOlSelectionFeatureByFid(fid, action) {\n var selected = this.getOlSelectionFeature(fid);\n if (selected && selected.feature) {\n //set selected\n selected.selected = 'add' === action;\n return this.setOlSelectionFeatures({\n id: fid,\n feature: selected.feature\n }, action);\n }\n }\n\n /**\n * [LAYER SELECTION]\n * \n * @param feature\n * @param action\n * \n * @returns { boolean }\n */\n\n }, {\n key: 'setOlSelectionFeatures',\n value: function setOlSelectionFeatures(feature) {\n var action = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'add';\n\n\n // select a single feature\n if (feature) {\n var feat = this.getOlSelectionFeature(feature.id);\n feat.feature.__layerId = 'add' === action && !feat.added ? this.getId() : undefined; // <-- used when working with selected Layer features\n this.updateMapOlSelectionFeatures();\n }\n\n // select all features\n if (!feature) {\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n //remove selection feature\n if (feat.added) {\n _gui2.default.getService('map').setSelectionFeatures('remove', { feature: feat.feature });\n }\n feat.added = false;\n feat.selected = false;\n });\n }\n\n return undefined === Object.values(this.olSelectionFeatures).find(function (feat) {\n return feat.added;\n });\n }\n }, {\n key: 'isLayerCheckedAndAllParents',\n value: function isLayerCheckedAndAllParents() {\n var checked = this.isChecked();\n if (checked) {\n var parentGroup = this.state.parentGroup;\n //loop from bottom to top\n while (checked && parentGroup) {\n checked = checked && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n }\n return checked;\n }\n\n /**\n * Set layer legend item `checked` state (TOC)\n * \n * @param { boolean } bool\n */\n\n }, {\n key: 'setChecked',\n value: function setChecked(bool) {\n this.state.checked = bool;\n }\n\n /**\n * @returns { boolean } whether layer legend item is checked (TOC)\n */\n\n }, {\n key: 'isChecked',\n value: function isChecked() {\n return this.state.checked;\n }\n\n /**\n * Is a method that check for visiblitity dissabled (based on scalevisibility) and checked on toc\n * @param { Boolean } bool\n * @returns {*}\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n //get current visibility\n var visible = this.state.visible;\n // set visibility bool and is checked\n this.state.visible = bool && this.isChecked();\n //Check if change the visibility\n if (visible !== this.state.visible) {\n this.change();\n }\n return this.state.visible;\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n *\n * @param scale\n * @return {boolean}\n */\n\n }, {\n key: 'isPrintable',\n value: function isPrintable() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n scale = _ref6.scale;\n\n return this.isLayerCheckedAndAllParents() && (!this.state.scalebasedvisibility || scale >= this.state.maxscale && scale <= this.state.minscale);\n }\n\n //get style form layer\n\n }, {\n key: 'getStyles',\n value: function getStyles() {\n return this.config.source.external ? this.config.source.styles : this.config.styles;\n }\n }, {\n key: 'getStyle',\n value: function getStyle() {\n return this.config.source.external ? this.config.source.styles : this.config.styles ? this.config.styles.find(function (s) {\n return s.current;\n }).name : '';\n }\n\n /**\n * Get transparency property\n * \n * @returns {number}\n * \n * @since v3.8\n */\n\n }, {\n key: 'getOpacity',\n value: function getOpacity() {\n return this.state.opacity;\n }\n\n /**\n * Method to change the current style of layer\n * @param name\n * @returns { Boolean }\n */\n\n }, {\n key: 'setCurrentStyle',\n value: function setCurrentStyle(name) {\n var changed = !this.config.styles.find(function (s) {\n return name === s.name;\n }).current;\n this.config.styles.forEach(function (s) {\n return s.current = name === s.name;\n });\n return changed;\n }\n }, {\n key: 'getCurrentStyle',\n value: function getCurrentStyle() {\n return this.config.styles.find(function (s) {\n return s.current;\n });\n }\n\n /**\n * Disable layer by check scalevisibility configuration value\n * @param resolution\n * @param mapUnits\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(resolution) {\n var mapUnits = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n if (this.state.scalebasedvisibility) {\n var mapScale = (0, _getScaleFromResolution.getScaleFromResolution)(resolution, mapUnits);\n this.state.disabled = !(mapScale >= this.state.maxscale && mapScale <= this.state.minscale);\n this.state.disabled = this.state.minscale === 0 ? !(mapScale >= this.state.maxscale) : this.state.disabled;\n // needed to check if call setVisible is change disable property\n // looping through parentfolter checked\n var setVisible = true;\n var parentGroup = this.state.parentGroup;\n while (parentGroup) {\n setVisible = setVisible && parentGroup.checked;\n parentGroup = parentGroup.parentGroup;\n }\n if (setVisible) {\n this.setVisible(!this.state.disabled);\n }\n // change toc highlight property based on disabled otr not\n if (this.isFilterable()) {\n this.setTocHighlightable(!this.state.disabled);\n }\n } else {\n this.state.disabled = false;\n }\n }\n }, {\n key: 'getMultiLayerId',\n value: function getMultiLayerId() {\n return this.config.multilayerid;\n }\n }, {\n key: 'getGeometryType',\n value: function getGeometryType() {\n return this.config.geometrytype;\n }\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.config.ows_method;\n }\n }, {\n key: 'setProjection',\n value: function setProjection() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config.projection = _projections2.default.get(crs);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.projection ? this.config.projection.getCode() : null;\n }\n }, {\n key: 'getMapCrs',\n value: function getMapCrs() {\n return this.config.map_crs;\n }\n }, {\n key: 'isCached',\n value: function isCached() {\n return this.config.cache_url && '' !== this.config.cache_url;\n }\n }, {\n key: 'getCacheUrl',\n value: function getCacheUrl() {\n // mapproxy provider → cache_url already contains \"{z}/{x}/{-y}.png\"\n if (this.isCached() && this.config.cache_provider && 'mapproxy' === this.config.cache_provider) {\n return this.config.cache_url;\n }\n if (this.isCached()) {\n return this.config.cache_url + '/{z}/{x}/{y}.png';\n }\n }\n\n // return if layer has inverted axis\n\n }, {\n key: 'hasAxisInverted',\n value: function hasAxisInverted() {\n var projection = this.getProjection();\n var axisOrientation = projection.getAxisOrientation ? projection.getAxisOrientation() : \"enu\";\n return axisOrientation.substr(0, 2) === 'ne';\n }\n\n /**\n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n console.log('overwrite by single layer');\n }\n\n /**\n *\n * @param projection\n */\n\n }, {\n key: 'setMapProjection',\n value: function setMapProjection(projection) {\n this._mapProjection = projection;\n }\n }, {\n key: 'getMapProjection',\n value: function getMapProjection() {\n return this._mapProjection;\n }\n }]);\n\n return _class;\n }(BaseClass);\n};\n\n},{\"services/gui\":173,\"store/projections\":180,\"utils/XHR\":181,\"utils/getScaleFromResolution\":216}],154:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.RasterLayer = exports.ImageLayer = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _layer = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _get_legend_params2 = require('utils/get_legend_params');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/imagelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/**\n * Stringify a query URL param (eg. `&WIDTH=700`)\n * \n * @param name\n * @param value\n * \n * @returns { string | null } a string if value is set or null\n */\nfunction __(name, value) {\n return value || 0 === value ? '' + name + value : null;\n}\n\n/**\n * @TODO merge \"RasterLayer\" class into \"ImageLayer\"\n * \n * ORIGINAL SOURCE: src/app/core/layers/map/maplayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmslayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/wmstlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/xyzlayer.js@v3.10.1\n * ORIGINAL SOURCE: src/app/core/layers/map/arcgismapserverlayer.js@v3.10.1\n */\n\nvar RasterLayer = function (_G3WObject) {\n _inherits(RasterLayer, _G3WObject);\n\n function RasterLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var method = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'GET';\n\n _classCallCheck(this, RasterLayer);\n\n var _this = _possibleConstructorReturn(this, (RasterLayer.__proto__ || Object.getPrototypeOf(RasterLayer)).call(this));\n\n _this.config = config;\n _this.id = config.id;\n _this.iframe_internal = config.iframe_internal || false;\n _this.extent = config.extent;\n _this.projection = config.projection;\n _this.layer = null;\n _this.layers = config.layers || []; // store all enabled layers\n _this.allLayers = []; // store all layers\n _this.showSpinnerWhenLoading = true;\n\n if ('XYZ' !== _this.config.type) {\n _this.LAYERTYPE = {\n LAYER: 'layer',\n MULTILAYER: 'multilayer'\n };\n _this.getInfoFormat = function () {\n return 'application/vnd.ogc.gml';\n };\n _this.getGetFeatureInfoUrl = function (coordinate, resolution, epsg, params) {\n return _this.getOLLayer().getSource().getGetFeatureInfoUrl(coordinate, resolution, epsg, params);\n };\n _this.getQueryUrl = function () {\n if (_this.layers[0].infourl && '' !== _this.layers[0].infourl) {\n return _this.layers[0].infourl;\n }\n return _this.config.url;\n };\n }\n\n _this.extraParams = extraParams;\n\n _this._method = method;\n return _this;\n }\n\n _createClass(RasterLayer, [{\n key: 'getId',\n value: function getId() {\n return this.id;\n }\n }, {\n key: 'getOLLayer',\n value: function getOLLayer(withLayers) {\n if (!this._olLayer) {\n this._olLayer = this._makeOlLayer(withLayers);\n }\n return this._olLayer;\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.getOLLayer().getSource();\n }\n }, {\n key: 'getLayerConfigs',\n value: function getLayerConfigs() {\n return this.layers;\n }\n }, {\n key: 'addLayer',\n value: function addLayer(layer) {\n if (!this.allLayers.find(function (l) {\n return layer === l;\n })) {\n this.allLayers.push(layer);\n }\n if (!this.layers.find(function (l) {\n return layer === l;\n })) {\n this.layers.push(layer);\n }\n if ('XYZ' === this.config.type) {\n this.layer = layer;\n }\n }\n }, {\n key: 'removeLayer',\n value: function removeLayer(layer) {\n this.layers = this.layers.filter(function (l) {\n return layer !== l;\n });\n }\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.layers.filter(function (l) {\n return l.isVisible();\n }).length > 0;\n }\n\n /**\n * @param {boolean} withLayers\n * \n * @returns { RasterLayer._makeOlLayer }\n * \n * @listens ol.source.ImageWMS~imageloadstart\n * @listens ol.source.ImageWMS~imageloadend\n * @listens ol.source.ImageWMS~imageloaderror\n */\n\n }, {\n key: '_makeOlLayer',\n value: function _makeOlLayer(withLayers) {\n var _this2 = this;\n\n var olLayer = void 0;\n\n /** @type { 'image' | 'tile' } */\n var image = 'image';\n\n // ARCGIS LAYER\n if ('ARCGISMAPSERVER' === this.config.type) {\n olLayer = new ol.layer.Tile({\n visible: true,\n source: new ol.source.TileArcGISRest({\n url: this.config.url,\n projection: this.config.projection\n })\n });\n }\n\n // WMTS LAYER\n else if ('WMTS' === this.config.type) {\n image = 'tile';\n var layerObj = {\n url: 'mapproxy' === this.config.cache_provider || !(this.layers[0] && this.layers[0].getWmsUrl) ? this.config.url : this.layers[0].getWmsUrl(),\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n cache_provider: this.config.cache_provider, /** @since 3.10.0 **/\n cache_type: this.config.cache_type, /** @since 3.10.0 tms, wms**/\n cache_layer: this.config.cache_layer,\n cache_extent: this.config.cache_extent,\n cache_grid: this.config.cache_grid,\n cache_grid_extent: this.config.cache_grid_extent\n };\n\n /** @since 3.10.0 - MapProxy WMTS layer **/\n var resolutions = 'mapproxy' === layerObj.cache_provider && ol.tilegrid.createXYZ({ extent: layerObj.cache_grid_extent }).getResolutions();\n\n olLayer = resolutions ? new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: layerObj.url,\n layer: layerObj.cache_layer,\n matrixSet: layerObj.cache_grid,\n format: layerObj.cache_format || 'png',\n projection: layerObj.layers[0].getProjection(),\n tileGrid: new ol.tilegrid.WMTS({\n resolutions: resolutions,\n origin: ol.extent.getTopLeft(layerObj.cache_grid_extent),\n matrixIds: resolutions.map(function (_, i) {\n return i;\n })\n }),\n style: layerObj.style || '',\n transparent: false\n })\n }) : RasterLayer._makeOlLayer({\n layerObj: layerObj,\n extraParams: this.extraParams || {},\n tiled: true\n });\n }\n\n // XYZ LAYER\n else if ('XYZ' === this.config.type) {\n var projection = this.config.url && this.projection ? this.projection : this.layer.getProjection();\n\n olLayer = new ol.layer.Tile({\n visible: true,\n projection: projection,\n source: new ol.source.XYZ({\n url: this.config.url,\n maxZoom: 20,\n minZoom: undefined,\n projection: projection,\n crossOrigin: undefined,\n tileLoadFunction: this.iframe_internal ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x4) {\n return _ref.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() || 'mapproxy' === this.config.cache_provider ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: 20 }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n }\n\n // WMS LAYER\n else {\n olLayer = RasterLayer._makeOlLayer({\n layerObj: {\n url: this.layers[0] && this.layers[0].getWmsUrl ? this.layers[0].getWmsUrl() : this.config.url,\n id: this.config.id,\n projection: this.config.projection,\n iframe_internal: this.iframe_internal,\n layers: withLayers ? this.layers.map(function (l) {\n return l.getWMSLayerName();\n }) : this.layers,\n /** @since 3.9.1 */\n format: this.config.format\n },\n extraParams: this.extraParams\n }, this._method);\n }\n\n olLayer.getSource().on(image + 'loadstart', function () {\n return _this2.emit('loadstart');\n });\n olLayer.getSource().on(image + 'loadend', function () {\n return _this2.emit('loadend');\n });\n olLayer.getSource().on(image + 'loaderror', function () {\n return _this2.emit('loaderror');\n });\n\n return olLayer;\n }\n\n //update Layers\n\n }, {\n key: 'update',\n value: function update() {\n var mapState = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var force = extraParams.force,\n params = _objectWithoutProperties(extraParams, ['force']);\n\n // check which layers have to be disabled\n\n\n if (!force) {\n var resolution = mapState.resolution,\n mapUnits = mapState.mapUnits;\n\n this.allLayers.forEach(function (l) {\n l.setDisabled(resolution, mapUnits);return l.isDisabled();\n });\n }\n\n if ('XYZ' === this.config.type) {\n this._olLayer.setVisible(this.layer.isVisible());\n return;\n }\n\n var layers = this.layers.filter(function (l) {\n return l.isVisible();\n }) || [];\n\n // skip when ..\n if (layers.length <= 0) {\n this._olLayer.setVisible(false);\n return;\n }\n\n var STYLES = [];\n var OPACITIES = [];\n var LEGEND_ON = undefined;\n var LEGEND_OFF = undefined;\n\n layers.forEach(function (l) {\n var _get_legend_params = (0, _get_legend_params2.get_legend_params)(l),\n on = _get_legend_params.LEGEND_ON,\n off = _get_legend_params.LEGEND_OFF;\n\n STYLES.push(l.getStyle());\n OPACITIES.push(parseInt(l.getOpacity() / 100 * 255));\n if (on) {\n LEGEND_ON = undefined === LEGEND_ON ? on : LEGEND_ON + ';' + on;\n }\n if (off) {\n LEGEND_OFF = undefined === LEGEND_OFF ? off : LEGEND_OFF + ';' + off;\n }\n });\n\n this._olLayer.setVisible(true);\n //check if a layer source has with updateParams method\n /** @TODO Check a better way to do this */\n if (this._olLayer.getSource().updateParams) {\n this._olLayer.getSource().updateParams(_extends({}, params, {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF,\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: '' + (layers[0].isArcgisMapserver() ? 'show:' : '') + layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(','),\n STYLES: STYLES.join(','),\n /** @since 3.8 */\n OPACITIES: OPACITIES.join(',')\n }));\n }\n }\n }, {\n key: 'setupCustomMapParamsToLegendUrl',\n value: function setupCustomMapParamsToLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if ('XYZ' !== this.config.type) {\n [].concat(this.layer || this.layers).forEach(function (l) {\n return l.setMapParamstoLegendUrl(params);\n });\n }\n }\n }]);\n\n return RasterLayer;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/app/g3w-ol/layers/rasters.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n\nRasterLayer._makeOlLayer = function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n return new (opts.tiled ? ol.layer.Tile : ol.layer.Image)({\n id: opts.layerObj.id,\n name: opts.layerObj.name,\n opacity: undefined !== opts.layerObj.opacity ? opts.layerObj.opacity : 1.0,\n visible: opts.layerObj.visible,\n extent: opts.layerObj.extent,\n maxResolution: opts.layerObj.maxResolution,\n source: new (opts.tiled ? ol.source.TileWMS : ol.source.ImageWMS)({\n ratio: 1,\n url: opts.layerObj.url,\n projection: opts.layerObj.projection ? opts.layerObj.projection.getCode() : null,\n params: _extends({}, Object.fromEntries(Object.entries({\n DPI: _g3wConstants.DOTS_PER_INCH,\n TRANSPARENT: true,\n FORMAT: opts.layerObj.format,\n LAYERS: undefined !== opts.layerObj.layers ? opts.layerObj.layers : '',\n VERSION: undefined !== opts.layerObj.version ? opts.layerObj.version : '1.3.0',\n SLD_VERSION: undefined !== opts.layerObj.sld_version ? opts.layerObj.sld_version : '1.1.0'\n })\n // prevents sending \"FORMAT\" parameter when undefined\n .filter(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n key = _ref3[0],\n val = _ref3[1];\n\n return 'FORMAT' !== key ? true : undefined !== val;\n })), opts.extraParams || {}),\n imageLoadFunction: opts.layerObj.iframe_internal || 'POST' === method ? function (tile, url) {\n fetch('POST' === method ? (url || '').split('?')[0] : url, {\n method: method,\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: 'POST' === method ? url.split('?')[1] : undefined\n }).then(function () {\n var _ref4 = _asyncToGenerator(function* (response) {\n return tile.getImage().src = window.URL.createObjectURL((yield response.blob()));\n });\n\n return function (_x10) {\n return _ref4.apply(this, arguments);\n };\n }()).catch(function (e) {\n console.error('Invalid tile', ol.TileState.ERROR, e);tile.setState(ol.TileState.ERROR);\n });\n } : undefined\n })\n });\n};\n\n/**\n * @param config.id\n * @param config.title\n * @param config.name\n * @param config.origname\n * @param config.multilayerid\n * @param config.servertype\n * @param config.source\n * @param config.crs\n * @param config.projection\n * @param config.bbox\n * @param config.capabilities\n * @param config.cache_url\n * @param { string } config.cache_provider since 3.10.0 (eg. \"mapproxy\")\n * @param config.baselayer\n * @param config.geometrytype\n * @param config.editops\n * @param config.expanded\n * @param config.fields\n * @param config.wmsUrl\n * @param config.infoformat\n * @param config.infourl\n * @param config.maxscale\n * @param config.minscale\n * @param config.visible\n * @param config.scalebasedvisibility\n * @param config.wfscapabilities\n * @param config.ows_method\n * @param config.wms_use_layer_ids\n * @param config.styles\n */\n\nvar ImageLayer = function (_GeoLayerMixin) {\n _inherits(ImageLayer, _GeoLayerMixin);\n\n function ImageLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, ImageLayer);\n\n var _this3 = _possibleConstructorReturn(this, (ImageLayer.__proto__ || Object.getPrototypeOf(ImageLayer)).call(this, config, options));\n\n _this3._BASE_LAYER = options._BASE_LAYER;\n\n _this3.setters = {\n change: function change() {}\n };\n\n _this3.config.baselayer = config.baselayer || false;\n _this3.type = _layer.Layer.LayerTypes.IMAGE;\n _this3.legendUrl = null;\n _this3.customParams = {};\n\n _this3.setup(config, options);\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('OSM' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n source: new ol.source.OSM({ url: _this3.config.url }),\n id: _this3.config.name || 'osm',\n title: _this3.config.title || 'OSM',\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('Bing' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var name = {\n streets: 'Road',\n aerial: 'Aerial',\n aerialwithlabels: 'AerialWithLabels'\n }[_this3.config.source && _this3.config.source.subtype] || 'Aerial';\n return new ol.layer.Tile({\n name: name,\n visible: false,\n preload: Infinity,\n source: new ol.source.BingMaps({ imagerySet: name, key: _application2.default.keys.vendorkeys.bing }),\n basemap: true\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var url = undefined !== _this3.config.url ? _this3.config.url : null;\n var projection = url && _this3.getProjectionFromCrs(_this3.config.crs);\n if (!url) {\n return;\n }\n return new ol.layer.Tile({\n visible: false,\n projection: projection,\n source: new ol.source.XYZ({\n url: url,\n maxZoom: _this3.config.maxZoom,\n minZoom: _this3.config.minZoom,\n projection: projection,\n crossOrigin: 'anonymous',\n // tileLoadFunction: undefined,\n /** @since 3.10.0 - Map Proxy cache_provider **/\n tileGrid: 'degrees' === projection.getUnits() ? new ol.tilegrid.TileGrid({\n // Need to remove the first resolution because in this version of ol createXYZ doesn't accept maxResolution options.\n // The extent of EPSG:4326 is not squared [-180, -90, 180, 90] as EPSG:3857 so the resolution is calculated\n // by Math.max(width(extent)/tileSize,Height(extent)/tileSize)\n // we need to calculate to Math.min instead, so we have to remove the first resolution\n resolutions: ol.tilegrid.createXYZ({ extent: projection.getExtent(), maxZoom: _this3.config.maxZoom }).getResolutions().slice(1),\n extent: projection.getExtent()\n }) : undefined\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('TMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return new ol.layer.Tile({\n // extent: opts.extent,\n visible: false,\n source: new ol.source.TileArcGISRest({\n url: undefined === _this3.config.url ? null : _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions\n // crossOrigin: opts.crossOrigin,\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMTS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n // use this config to get params\n var _this3$config = _this3.config,\n url = _this3$config.url,\n layer = _this3$config.layer,\n attributions = _this3$config.attributions,\n matrixSet = _this3$config.matrixSet,\n _this3$config$format = _this3$config.format,\n format = _this3$config$format === undefined ? 'image/png' : _this3$config$format,\n _this3$config$style = _this3$config.style,\n style = _this3$config$style === undefined ? 'default' : _this3$config$style,\n requestEncoding = _this3$config.requestEncoding,\n grid = _this3$config.grid,\n grid_extent = _this3$config.grid_extent;\n\n /** @since 3.10.0 */\n\n var projection = _this3.config.projection || _this3.getProjectionFromCrs(_this3.config.crs);\n\n if (matrixSet) {\n var size = ol.extent.getWidth(projection.getExtent()) / 256;\n return new ol.layer.Tile({\n opacity: .7,\n source: new ol.source.WMTS({\n url: url,\n projection: projection,\n layer: layer,\n matrixSet: matrixSet,\n requestEncoding: requestEncoding,\n format: format,\n attributions: attributions,\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(projection.getExtent()),\n resolutions: Array.from({ length: 14 }, function (_, z) {\n return size / Math.pow(2, z);\n }),\n matrixIds: Array.from({ length: 14 }, function (_, z) {\n return z;\n })\n }),\n style: style\n })\n });\n }\n\n /** @since 3.10.0 WMTS based on mapproxy*/\n if (grid && grid_extent) {\n var resolutions = ol.tilegrid.createXYZ({ extent: grid_extent }).getResolutions();\n return new ol.layer.Tile({\n source: new ol.source.WMTS({\n url: url,\n layer: layer,\n projection: projection,\n matrixSet: grid,\n format: format || 'png',\n tileGrid: new ol.tilegrid.WMTS({\n origin: ol.extent.getTopLeft(grid_extent),\n resolutions: resolutions,\n matrixIds: resolutions.map(function (_, z) {\n return z;\n })\n }),\n style: style,\n transparent: false\n })\n });\n }\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('WMS' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n return RasterLayer._makeOlLayer({\n layerObj: {\n url: _this3.config.url,\n projection: _this3.getProjectionFromCrs(_this3.config.crs),\n attributions: _this3.config.attributions,\n layers: _this3.config.layers,\n tiled: undefined === _this3.config.singleTile ? false : _this3.config.singleTile,\n opacity: undefined === _this3.config.opacity ? 1 : _this3.config.opacity\n }\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2\n */\n if ('ARCGISMAPSERVER' === _this3._BASE_LAYER) {\n _this3._makeOlLayer = function () {\n var _this3$config2 = _this3.config,\n url = _this3$config2.url,\n _this3$config2$visibl = _this3$config2.visible,\n visible = _this3$config2$visibl === undefined ? true : _this3$config2$visibl,\n extent = _this3$config2.extent,\n projection = _this3$config2.projection,\n attributions = _this3$config2.attributions,\n crossOrigin = _this3$config2.crossOrigin;\n\n\n return new ol.layer.Tile({\n extent: extent,\n visible: visible,\n source: new ol.source.TileArcGISRest({\n url: url,\n projection: projection,\n attributions: attributions,\n crossOrigin: crossOrigin\n })\n });\n };\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (_this3._makeOlLayer && _this3.isWMS()) {\n _this3._mapLayer = new RasterLayer({\n url: _this3.getWmsUrl(),\n id: _this3.state.id,\n tiled: _this3.state.tiled\n });\n _this3._mapLayer.addLayer(_this3);\n } else if (_this3._makeOlLayer) {\n _this3._mapLayer = _this3;\n }\n return _this3;\n }\n\n /**\n *\n * Used by the following plugins: \"plugin\"\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n *\n *\n * @param force\n * @param vectorurl\n * @param project_type\n * @param project\n * @return {Promise}\n */\n\n\n _createClass(ImageLayer, [{\n key: 'getLayerForEditing',\n value: function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref6$force = _ref6.force,\n force = _ref6$force === undefined ? false : _ref6$force,\n vectorurl = _ref6.vectorurl,\n project_type = _ref6.project_type,\n project = _ref6.project;\n\n if (!force && !this.isEditable()) {\n return null;\n }\n\n // set editing layer\n try {\n var layerForEditing = yield new _vectorlayer.VectorLayer(this.config, {\n vectorurl: vectorurl,\n project_type: project_type,\n project: project || _application2.default.project\n }).layerForEditing;\n this.setEditingLayer(layerForEditing);\n return layerForEditing;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function getLayerForEditing() {\n return _ref5.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n }, {\n key: 'isWMS',\n value: function isWMS() {\n return [\"QGIS\", \"Mapserver\", \"Geoserver\", \"OGC\"].includes(this.config.servertype);\n }\n }, {\n key: 'isLayerProjectionASMapProjection',\n value: function isLayerProjectionASMapProjection() {\n return this.config.crs.epsg === this.config.map_crs;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.config.crs.epsg;\n }\n }, {\n key: 'isExternalWMS',\n value: function isExternalWMS() {\n return !!(this.config.source && this.config.source.external && this.config.source.url);\n }\n }, {\n key: 'isArcgisMapserver',\n value: function isArcgisMapserver() {\n return this.isExternalWMS() && \"arcgismapserver\" === this.config.source.type;\n }\n }, {\n key: '_getBaseLayerName',\n value: function _getBaseLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: '_hasExternalWMSOrLegend',\n value: function _hasExternalWMSOrLegend() {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'map';\n var source = this.config.source;\n\n\n return source && ('map' !== type || this.isExternalWMS() && this.isLayerProjectionASMapProjection()) && ('legend' === type || source.external);\n }\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$type = _ref7.type,\n type = _ref7$type === undefined ? 'map' : _ref7$type;\n\n var _ref8 = this.config || { source: {} },\n source = _ref8.source;\n\n var source_layer = source.layers || source.layer;\n\n /** @FIXME add description */\n if (source_layer && this._hasExternalWMSOrLegend(type)) {\n return source_layer;\n }\n\n return this._getBaseLayerName();\n }\n\n /**\n * @param opts\n * @param { 'map' | 'legend' } opts.type \n */\n\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref9$type = _ref9.type,\n type = _ref9$type === undefined ? 'map' : _ref9$type;\n\n var _ref10 = this.config || { source: {} },\n source = _ref10.source;\n\n /** @FIXME add description */\n\n\n if (source.url && this._hasExternalWMSOrLegend(type) && ['wms', 'wmst'].includes(source.type)) {\n return source.url;\n }\n\n return this.config.wmsUrl;\n }\n }, {\n key: 'getWFSLayerName',\n value: function getWFSLayerName() {\n return (this.config.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.getName()).replace(/\\s/g, '_').replaceAll(':', '-');\n }\n }, {\n key: 'useProxy',\n value: function useProxy() {\n return this.isExternalWMS() && this.isLayerProjectionASMapProjection() && this.getInfoFormats();\n }\n }, {\n key: 'getWMSInfoLayerName',\n value: function getWMSInfoLayerName() {\n return this.useProxy() ? this.getSource().layers : this._getBaseLayerName();\n }\n }, {\n key: 'getPrintLayerName',\n value: function getPrintLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n }, {\n key: 'getStringBBox',\n value: function getStringBBox() {\n var _config$bbox = this.config.bbox,\n minx = _config$bbox.minx,\n miny = _config$bbox.miny,\n maxx = _config$bbox.maxx,\n maxy = _config$bbox.maxy;\n\n return minx + ',' + miny + ',' + maxx + ',' + maxy;\n }\n }, {\n key: 'isWfsActive',\n value: function isWfsActive() {\n return Array.isArray(this.config.ows) && this.config.ows.some(function (t) {\n return 'WFS' === t;\n });\n }\n\n /**\n * Get wms url of the layer\n */\n\n }, {\n key: 'getFullWmsUrl',\n value: function getFullWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl();\n }\n\n /**\n * Get WMS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWmsUrl',\n value: function getCatalogWmsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url && !this.isExternalWMS()) {\n return wms_url;\n }\n\n return this.getWmsUrl() + '?service=WMS&version=1.3.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS url (used by Catalog Layer Menu) \n */\n\n }, {\n key: 'getCatalogWfsUrl',\n value: function getCatalogWfsUrl() {\n return this.getWfsUrl() + '?service=WFS&version=1.1.0&request=GetCapabilities';\n }\n\n /**\n * Get WFS 3 url (used by Catalog Layer Menu)\n * @since 3.10.0\n * @return { String } url\n */\n\n }, {\n key: 'getCatalogWfs3Url',\n value: function getCatalogWfs3Url() {\n return this.getWfsUrl() + 'wfs3/';\n }\n }, {\n key: 'getWfsUrl',\n value: function getWfsUrl() {\n var wms_url = _application2.default.project.state.metadata.wms_url;\n\n /** @FIXME add description */\n\n if (wms_url) {\n return wms_url;\n }\n\n return this.config.wmsUrl;\n }\n\n /**\n * Get query url based on type, external or same projection of map\n * \n * @returns {string}\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n var url = _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getQueryUrl', this).call(this);\n var is_qgis = \"QGIS\" === this.getServerType() && this.isExternalWMS() && this.isLayerProjectionASMapProjection();\n\n /** @FIXME add description */\n if (is_qgis && this.getInfoFormats()) {\n return this.getSource().url;\n }\n\n /** @FIXME add description */\n if (is_qgis) {\n return url + 'SOURCE=' + this.config.source.type;\n }\n\n return url;\n }\n }, {\n key: 'getIconUrlFromLegend',\n value: function getIconUrlFromLegend() {\n return this.getLegendUrl({ layertitle: false });\n }\n\n /**\n * Retrieve legend url (ARCGISMAPSERVER or WMS)\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/legendservice.js@3.8.5\n * \n * @param { boolean } opts.categories whether layer has categories\n * @param { boolean } opts.all whether to show all categories (disables filter by map's BBOX).\n * @param { 'application/json' | 'image/png' | string } opts.format MIME Type used to set format of legend:\n * - `application/json`: if request from layers categories (icon and label),\n * - `image/png`: if request from legend tab\n * \n * @see https://docs.qgis.org/3.28/en/docs/server_manual/services/wms.html#getlegendgraphics\n */\n\n }, {\n key: 'getLegendUrl',\n value: function getLegendUrl() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { categories: false, all: false, format: 'image/png' };\n\n\n var base_url = void 0,\n url_params = void 0;\n\n var _params$customParams = _extends({}, params, this.customParams),\n width = _params$customParams.width,\n height = _params$customParams.height,\n _params$customParams$ = _params$customParams.color,\n color = _params$customParams$ === undefined ? \"white\" : _params$customParams$,\n _params$customParams$2 = _params$customParams.fontsize,\n fontsize = _params$customParams$2 === undefined ? 10 : _params$customParams$2,\n _params$customParams$3 = _params$customParams.transparent,\n transparent = _params$customParams$3 === undefined ? true : _params$customParams$3,\n boxspace = _params$customParams.boxspace,\n layerspace = _params$customParams.layerspace,\n _params$customParams$4 = _params$customParams.layertitle,\n layertitle = _params$customParams$4 === undefined ? true : _params$customParams$4,\n layertitlespace = _params$customParams.layertitlespace,\n symbolspace = _params$customParams.symbolspace,\n iconlabelspace = _params$customParams.iconlabelspace,\n symbolwidth = _params$customParams.symbolwidth,\n symbolheight = _params$customParams.symbolheight,\n itemfontfamily = _params$customParams.itemfontfamily,\n layerfontfamily = _params$customParams.layerfontfamily,\n layerfontbold = _params$customParams.layerfontbold,\n itemfontbold = _params$customParams.itemfontbold,\n layerfontitalic = _params$customParams.layerfontitalic,\n itemfontitalic = _params$customParams.itemfontitalic,\n rulelabel = _params$customParams.rulelabel,\n crs = _params$customParams.crs,\n bbox = _params$customParams.bbox,\n _params$customParams$5 = _params$customParams.sld_version,\n sld_version = _params$customParams$5 === undefined ? '1.1.0' : _params$customParams$5;\n\n /**\n * ARCGIS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/arcgismapserverlegend.js@3.8.5\n */\n\n\n if (this.isArcgisMapserver()) {\n base_url = this.getConfig().source.url.replace('/rest/', '/') + '/WMSServer';\n url_params = ['request=GetLegendGraphic', 'version=1.3.0', 'format=image/png', 'LAYER=' + this.getConfig().source.layer];\n }\n\n /**\n * WMS Server\n * \n * ORIGINAL SOURCE: src/app/core/layers/legend/wmslegend.js@3.8.5\n */\n else {\n var ctx_legend = opts.categories && (['image/png', undefined].includes(opts.format) || _application2.default.project.state.context_base_legend) ? (0, _get_legend_params2.get_legend_params)(this) : undefined // disabled when `FORMAT=application/json` (otherwise it creates some strange behaviour on WMS `getMap` when switching between layer styles)\n ;\n base_url = this.getWmsUrl({ type: 'legend' });\n url_params = ['SERVICE=WMS', 'VERSION=1.3.0', 'REQUEST=GetLegendGraphic', __('SLD_VERSION=', sld_version), __('WIDTH=', width), __('HEIGHT=', height), __('FORMAT=', undefined === opts.format ? 'image/png' : opts.format), __('TRANSPARENT=', transparent), __('ITEMFONTCOLOR=', color), __('LAYERFONTCOLOR=', color), __('LAYERTITLE=', layertitle), __('ITEMFONTSIZE=', fontsize), __('CRS=', crs), __('BBOX=', [false, undefined].includes(opts.all) && bbox && bbox.join(',')), __('BOXSPACE=', boxspace), __('LAYERSPACE=', layerspace), __('LAYERTITLESPACE=', layertitlespace), __('SYMBOLSPACE=', symbolspace), __('ICONLABELSPACE=', iconlabelspace), __('SYMBOLWIDTH=', opts.categories && 'application/json' === opts.format ? 16 : symbolwidth), __('SYMBOLHEIGHT=', opts.categories && 'application/json' === opts.format ? 16 : symbolheight), __('LAYERFONTFAMILY=', layerfontfamily), __('ITEMFONTFAMILY=', itemfontfamily), __('LAYERFONTBOLD=', layerfontbold), __('ITEMFONTBOLD=', itemfontbold), __('LAYERFONTITALIC=', layerfontitalic), __('ITEMFONTITALIC=', itemfontitalic), __('RULELABEL=', rulelabel), __('LEGEND_ON=', ctx_legend && ctx_legend.LEGEND_ON), __('LEGEND_OFF=', ctx_legend && ctx_legend.LEGEND_OFF), __('STYLES=', opts.categories && 'application/json' === opts.format ? encodeURIComponent(this.getCurrentStyle().name) : undefined), __('LAYER=', this.getWMSLayerName({ type: 'legend' }))];\n }\n\n // discard nullish parameters (without a value)\n url_params = url_params.filter(function (p) {\n return p;\n });\n\n this.legendUrl = '' + base_url + (base_url.indexOf('?') > -1 ? '&' : '?') + url_params.join('&');\n\n return this.legendUrl;\n }\n }, {\n key: 'setMapParamstoLegendUrl',\n value: function setMapParamstoLegendUrl(_ref11) {\n var bbox = _ref11.bbox,\n crs = _ref11.crs;\n\n this.customParams = _extends({}, this.customParams, { bbox: bbox, crs: crs });\n }\n }, {\n key: 'getWfsCapabilities',\n value: function getWfsCapabilities() {\n return this.config.wfscapabilities || 1 === this.config.capabilities;\n }\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var extraParams = arguments[1];\n\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n options.iframe_internal = _application2.default.iframe && !this.isExternalWMS();\n var method = this.isExternalWMS() ? 'GET' : this.getOwsMethod();\n var extent = this.config.bbox ? [this.config.bbox.minx, this.config.bbox.miny, this.config.bbox.maxx, this.config.bbox.maxy] : null;\n var source = this.config.source;\n /** @since 3.10.0 Cache info **/\n var cache_provider = this.config.cache_provider;\n var cache_service_type = this.config.cache_service_type || 'tms'; //default tile\n var cache_layer = this.config.cache_layer;\n var cache_extent = this.config.cache_extent;\n var cache_grid = this.config.cache_grid;\n var cache_grid_extent = this.config.cache_grid_extent;\n //get layer url\n var url = this.isCached() ? this.getCacheUrl() : options.url || this.getWmsUrl();\n\n if (this.isCached() && 'tms' === cache_service_type) {\n return new RasterLayer(_extends({}, options, { extent: extent, url: url, cache_provider: cache_provider, type: 'XYZ' }), {}, method);\n }\n\n if (this.isExternalWMS() && source && \"arcgismapserver\" === source.type) {\n return new RasterLayer(_extends({}, options, source), extraParams);\n }\n\n if (this.isCached() && 'wmts' === cache_service_type) {\n return new RasterLayer(_extends({}, options, {\n url: url,\n cache_provider: cache_provider,\n cache_layer: cache_layer,\n cache_extent: cache_extent,\n cache_grid: cache_grid,\n cache_grid_extent: cache_grid_extent,\n type: 'WMTS'\n }), extraParams, method);\n }\n\n if (this.isExternalWMS() && source && \"wmst\" === source.type) {\n return new RasterLayer(_extends({}, options, { url: url, cache_provider: cache_provider, type: 'WMTS' }), extraParams, method);\n }\n\n return new RasterLayer(_extends({}, options, { url: url }), extraParams, method);\n }\n\n /**\n * @override Layer~getFormat\n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n if (this.isExternalWMS() && this.getSource()) {\n return this.getSource().format;\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getFormat', this).call(this);\n }\n\n /**\n * @override ImageLayer~getOwsMethod\n * \n * @see https://github.com/g3w-suite/g3w-client/issues/616\n * \n * forces to `GET` when wms layer is external or query url isn't a qgis server endpoint (ie. doesn't start with `/ows/`).\n * \n * @since 3.10.0\n */\n\n }, {\n key: 'getOwsMethod',\n value: function getOwsMethod() {\n return this.isExternalWMS() || !/^\\/ows/.test(new URL(this.getQueryUrl(), window.initConfig.baseurl).pathname) ? 'GET' : this.config.ows_method;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'update',\n value: function update(mapState, extraParams) {\n if (this.isWMS()) {\n this._mapLayer.update(mapState, extraParams);\n }\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n if (this._mapLayer) {\n this.getOLLayer().setVisible(bool);\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'setVisible', this).call(this, bool);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n if (this._mapLayer) {\n return this.getOLLayer().getSource();\n }\n return _get(ImageLayer.prototype.__proto__ || Object.getPrototypeOf(ImageLayer.prototype), 'getSource', this).call(this);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getProjectionFromCrs',\n value: function getProjectionFromCrs() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n crs.epsg = crs.epsg ? crs.epsg : 'EPSG:3857';\n return _projections2.default.get(crs);\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/baselayer.js@v3.10.0\n * \n * @since 3.11.0\n */\n\n }, {\n key: 'getOLLayer',\n value: function getOLLayer() {\n var _this4 = this;\n\n if (!this._olLayer && this._makeOlLayer) {\n this._olLayer = this._makeOlLayer();\n // register loading event\n this._olLayer.getSource().on('imageloadstart', function () {\n return _this4.emit(\"loadstart\");\n });\n this._olLayer.getSource().on('imageloadend', function () {\n return _this4.emit(\"loadend\");\n });\n if (this._mapLayer.config.attributions) {\n this._olLayer.getSource().setAttributions(this._mapLayer.config.attributions);\n }\n this._olLayer.setVisible(this._mapLayer.state.visible);\n }\n return this._olLayer;\n }\n }]);\n\n return ImageLayer;\n}((0, _geoMixin2.default)(_layer.Layer));\n\nexports.ImageLayer = ImageLayer;\nexports.RasterLayer = RasterLayer;\n\n},{\"g3w-constants\":125,\"g3w-object\":129,\"map/layers/geo-mixin\":153,\"map/layers/layer\":155,\"map/layers/vectorlayer\":158,\"store/application\":178,\"store/projections\":180,\"utils/get_legend_params\":218}],155:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Layer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _parseAttributes = require('utils/parseAttributes');\n\nvar _promisify = require('utils/promisify');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _XHR = require('utils/XHR');\n\nvar _prompt = require('utils/prompt');\n\nvar _Table = require('components/Table.vue');\n\nvar _Table2 = _interopRequireDefault(_Table);\n\nvar _parsers = require('utils/parsers');\n\nvar _get_legend_params = require('utils/get_legend_params');\n\nvar _createRelationsUrl = require('utils/createRelationsUrl');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar is_defined = function is_defined(d) {\n return undefined !== d;\n};\nvar çç = function çç(a, b) {\n return undefined !== a ? a : b;\n}; // like a ?? (coalesce operator)\n\n// BACKCOMP v3.x\nfunction createProvider(name, layer) {\n var provider = new Providers[name]();\n return Object.assign(provider, {\n _name: name,\n _layer: layer,\n getLayer: function getLayer() {\n return provider._layer;\n },\n setLayer: function setLayer(l) {\n return provider._layer = l;\n },\n getFeatures: provider.getFeatures || function () {\n return console.log('overwriteby single provider');\n },\n query: provider.query || function () {\n return console.log('overwriteby single provider');\n },\n getName: function getName() {\n return provider._name;\n }\n });\n}\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/providersfactory.js@v3.10.2\n * ORIGINAL SOURCE: src/app/core/layers/providers/geojsonprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/qgisprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n * ORIGINAL SOURCE: src/app/core/layers/providers/wmsprovider.js@3.8.6\n */\nvar Providers = {\n\n geojson: function () {\n function geojson() {\n _classCallCheck(this, geojson);\n }\n\n _createClass(geojson, [{\n key: 'query',\n value: function query() {\n return (0, _promisify.$promisify)(Promise.resolve([]));\n }\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return new ol.format.GeoJSON().readFeatures(opts.data || (yield _XHR.XHR.get({ url: opts.url || _this._layer.get('source').url })).results, {\n featureProjection: opts.mapProjection,\n dataProjection: opts.projection || 'EPSG:4326'\n });\n }));\n }\n }]);\n\n return geojson;\n }(),\n\n qgis: function () {\n function qgis() {\n _classCallCheck(this, qgis);\n }\n\n _createClass(qgis, [{\n key: 'query',\n\n\n /**\n * Query by filter\n * \n * @param { boolean } opts.raw whether to get raw response\n * @param { number } opts.feature_count maximum feature for request\n * @param { string } opts.queryUrl url for request data\n * @param { Array } opts.layers Array or request layers\n * @param opts.I wms request parameter \n * @param opts.J wms request parameter \n */\n value: function query() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this._projections = this._projections || { map: null, layer: null };\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var is_table = 'table' === _this2._layer.getType();\n\n // in case not alphanumeric layer set projection\n if (!is_table) {\n _this2._projections.map = _this2._layer.getMapProjection() || _this2._projections.layer;\n }\n\n var layers = opts.layers ? opts.layers.map(function (l) {\n return l.getWMSLayerName();\n }).join(',') : _this2._layer.getWMSLayerName();\n\n // skip when ..\n if (!opts.filter) {\n return Promise.reject();\n }\n\n var filter = [].concat(opts.filter)\n // BACKOMP v3.x\n .map(function (f) {\n return {\n type: f._type || f.type,\n value: f._filter || f.value\n };\n });\n\n // check if geometry filter. If not i have to remove projection layer\n if ('geometry' !== filter[0].type) {\n _this2._projections.layer = null;\n }\n\n filter = filter.filter(function (f) {\n return f.value;\n });\n\n var response = yield _XHR.XHR.get({\n url: opts.queryUrl || _this2._layer.getUrl('query'),\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n filtertoken: _application2.default.tokens.filtertoken,\n LAYERS: layers,\n QUERY_LAYERS: layers,\n INFO_FORMAT: _this2._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: opts.feature_count || 10,\n CRS: is_table ? _application2.default.map.epsg : _this2._projections.map.getCode(),\n I: opts.I,\n J: opts.J,\n FILTER: filter.length ? filter.map(function (f) {\n return f.value;\n }).join(';') : undefined,\n WITH_GEOMETRY: !is_table\n }\n });\n\n var _layers = undefined === opts.layers ? [_this2._layer] : opts.layers;\n\n return opts.raw ? response : _parsers.ResponseParser.get(_layers[0].getInfoFormat())({\n response: response,\n projections: _this2._projections,\n layers: _layers,\n wms: true\n });\n }));\n }\n\n /**\n * get layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return (0, _promisify.$promisify)(_XHR.XHR.get({ url: this._layer.getUrl('config') }));\n }\n\n /**\n * Load editing features (Read / Write)\n */\n\n }, {\n key: 'getFeatures',\n value: function getFeatures() {\n var _this3 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n // filter null values\n Object.entries(params).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n key = _ref4[0],\n value = _ref4[1];\n\n if ([null, undefined].includes(value)) {\n delete params[key];\n }\n });\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n params = new URLSearchParams(params || {}).toString();\n params = (params ? '?' : '') + params;\n\n // read mode\n if (!options.editing) {\n var _ref6 = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('data') + params\n }),\n vector = _ref6.vector;\n\n return {\n data: vector.data,\n count: vector.count\n };\n }\n\n // editing mode\n try {\n\n var response = void 0;\n\n if (!options.filter) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.bbox)) {\n // bbox filter\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n in_bbox: options.filter.bbox.join(','),\n filtertoken: _application2.default.tokens.filtertoken\n }),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fid)) {\n // fid filter\n response = yield _XHR.XHR.get({ url: (0, _createRelationsUrl.createRelationsUrl)(options.filter.fid) });\n } else if (options.filter.field) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify(options.filter),\n contentType: 'application/json'\n });\n } else if (is_defined(options.filter.fids)) {\n response = yield _XHR.XHR.get({\n url: _this3._layer.getUrl('editing') + params,\n params: options.filter\n });\n } else if (is_defined(options.filter.nofeatures)) {\n response = yield _XHR.XHR.post({\n url: _this3._layer.getUrl('editing') + params,\n data: JSON.stringify({\n field: (options.filter.nofeatures_field || 'id') + '|eq|__G3W__NO_FEATURES__'\n }),\n contentType: 'application/json'\n });\n }\n\n // invalid response\n if (!response.result) {\n return;\n }\n\n var lockIds = response.featurelocks.map(function (lk) {\n return lk.featureid;\n });\n\n // resolves with features locked and requested\n return {\n count: response.vector.count, // real number of features that request will return\n featurelocks: response.featurelocks,\n features: _parsers.ResponseParser.get('g3w-' + _this3._layer.getType() + '/json')(response.vector.data, 'NoGeometry' === response.vector.geometrytype ? {} : { crs: _this3._layer.getCrs() }).filter(function (f) {\n return lockIds.includes('' + f.getId());\n }).map(function (feature) {\n return new _feature.Feature({ feature: feature });\n })\n };\n } catch (e) {\n console.warn(e);\n }\n return Promise.reject({ message: t(\"info.server_error\") });\n }));\n }\n }]);\n\n return qgis;\n }(),\n\n wms: function () {\n function wms() {\n _classCallCheck(this, wms);\n }\n\n _createClass(wms, [{\n key: 'query',\n value: function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$layers = opts.layers,\n layers = _opts$layers === undefined ? [this._layer] : _opts$layers,\n _opts$size = opts.size,\n size = _opts$size === undefined ? [101, 101] : _opts$size,\n _opts$coordinates = opts.coordinates,\n coordinates = _opts$coordinates === undefined ? [] : _opts$coordinates,\n resolution = opts.resolution;\n\n // get extent for view size\n\n var dx = resolution * size[0] / 2;\n var dy = resolution * size[1] / 2;\n var bbox = [coordinates[0] - dx, coordinates[1] - dy, coordinates[0] + dx, coordinates[1] + dy];\n\n var projection = this._layer.getMapProjection() || this._layer.getProjection();\n var tolerance = çç(opts.query_point_tolerance, _g3wConstants.QUERY_POINT_TOLERANCE);\n\n var url = layers[0].getQueryUrl();\n var method = layers[0].getOwsMethod();\n var proxy = layers[0].useProxy();\n var source = (url || '').split('SOURCE');\n\n // base request\n var params = {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetFeatureInfo',\n CRS: projection.getCode(),\n LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n QUERY_LAYERS: (layers || [this._layer.getWMSInfoLayerName()]).map(function (l) {\n return l.getWMSInfoLayerName();\n }).join(','),\n filtertoken: _application2.default.tokens.filtertoken,\n INFO_FORMAT: this._layer.getInfoFormat() || 'application/vnd.ogc.gml',\n FEATURE_COUNT: çç(opts.feature_count, 10),\n WITH_GEOMETRY: true,\n DPI: _g3wConstants.DOTS_PER_INCH,\n FILTER_GEOM: 'map' === tolerance.unit ? new ol.format.WKT().writeGeometry(ol.geom.Polygon.fromCircle(new ol.geom.Circle(coordinates, tolerance.value))) : undefined,\n FI_POINT_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_LINE_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n FI_POLYGON_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value,\n G3W_TOLERANCE: 'map' === tolerance.unit ? undefined : tolerance.value * resolution,\n I: 'map' === tolerance.unit ? undefined : Math.floor((coordinates[0] - bbox[0]) / resolution), // x\n J: 'map' === tolerance.unit ? undefined : Math.floor((bbox[3] - coordinates[1]) / resolution), // y\n WIDTH: size[0],\n HEIGHT: size[1],\n STYLES: '',\n BBOX: ('ne' === projection.getAxisOrientation().substr(0, 2) ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox).join(','),\n // HOTFIX for GetFeatureInfo requests and feature layer categories that are not visible (unchecked) at QGIS project setting\n LEGEND_ON: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_ON;\n }).filter(Boolean).join(';') || undefined,\n LEGEND_OFF: layers.flatMap(function (l) {\n return (0, _get_legend_params.get_legend_params)(l).LEGEND_OFF;\n }).filter(Boolean).join(';') || undefined,\n SOURCE: !proxy && 'GET' === method && source.length > 1 ? source[1] : undefined\n };\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: { coordinates: coordinates, resolution: resolution }\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if (proxy) {\n response = yield layers[0].getDataProxyFromServer('wms', { url: url, params: params, method: method, headers: { 'Content-Type': params.INFO_FORMAT } });\n } else if ('GET' === method) {\n var uri = (source.length ? source[0] : url).replace(/[?&]$/, ''); // remove any trailing ? or &\n response = yield _XHR.XHR.get({\n url: uri + (uri.indexOf('?') === -1 ? '?' : '&') + Object.keys(params).filter(function (k) {\n return ![undefined, null].includes(params[k]);\n }) // skip null and undefined params\n .map(function (k) {\n return k + '=' + encodeURIComponent(params[k]);\n }).join('&')\n });\n } else if ('POST' === method) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n } else {\n console.warn('unsupported method: ', method);\n }\n return {\n data: _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n layers: layers,\n wms: true,\n projections: { map: projection, layer: null }\n }),\n query: { coordinates: coordinates, resolution: resolution }\n };\n } finally {\n if (!proxy) {\n clearTimeout(timer);\n }\n }\n })()]));\n }\n }]);\n\n return wms;\n }(),\n\n wfs: function () {\n function wfs() {\n _classCallCheck(this, wfs);\n }\n\n _createClass(wfs, [{\n key: 'query',\n\n\n // query method\n value: function query() {\n var _this4 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var filter = opts.filter || {};\n var layers = opts.layers || [this._layer];\n var url = (layers[0].getQueryUrl() + '/').replace(/\\/+$/, '/');\n var method = layers[0].getOwsMethod();\n\n // BACKCOMP v3.x\n Object.assign(filter, {\n config: filter.config || {},\n type: filter._type || filter.type,\n value: filter._filter || filter.value\n });\n\n params = Object.assign(params, {\n SERVICE: 'WFS',\n VERSION: '1.1.0',\n REQUEST: 'GetFeature',\n MAXFEATURES: çç(opts.feature_count, 10),\n TYPENAME: layers.map(function (l) {\n return l.getWFSLayerName();\n }).join(','),\n OUTPUTFORMAT: layers[0].getInfoFormat(),\n SRSNAME: (opts.reproject ? layers[0].getProjection() : this._layer.getMapProjection()).getCode(),\n FILTER: 'all' !== filter.type ? ('(' + new ol.format.WFS().writeGetFeature({\n featureTypes: [layers[0]],\n filter: {\n 'bbox': ol.format.filter.bbox('the_geom', filter.value),\n 'geometry': ol.format.filter[filter.config.spatialMethod || 'intersects']('the_geom', filter.value),\n 'expression': null\n }[filter.type]\n }).children[0].innerHTML + ')').repeat(layers.length || 1) : undefined\n });\n\n var timer = void 0;\n\n // promise with timeout\n return (0, _promisify.$promisify)(Promise.race([new Promise(function (res) {\n timer = setTimeout(function () {\n res({\n data: (layers || []).map(function (layer) {\n return { layer: layer, rawdata: 'timeout' };\n }),\n query: {}\n });\n }, _g3wConstants.TIMEOUT);\n }), _asyncToGenerator(function* () {\n try {\n var response = void 0;\n\n if ('GET' === method && !['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.get({ url: url + '?' + new URLSearchParams(params || {}).toString() });\n }\n\n if ('POST' === method || ['all', 'geometry'].includes(filter.type)) {\n response = yield _XHR.XHR.post({ url: url, data: params });\n }\n\n var data = _parsers.ResponseParser.get(layers[0].getInfoFormat())({\n response: response,\n projections: {\n map: _this4._layer.getMapProjection(),\n layer: opts.reproject ? _this4._layer.getProjection() : null\n },\n layers: layers,\n wms: false\n });\n\n // sanitize in case of nil:true\n data.flatMap(function (l) {\n return l.features || [];\n }).forEach(function (f) {\n return Object.entries(f.getProperties()).forEach(function (_ref9) {\n var _ref10 = _slicedToArray(_ref9, 2),\n attribute = _ref10[0],\n value = _ref10[1];\n\n return value && value['xsi:nil'] && feature.set(attribute, 'NULL');\n });\n });\n return { data: data };\n } finally {\n clearTimeout(timer);\n }\n })()]));\n }\n }]);\n\n return wfs;\n }()\n\n};\n\nvar DOWNLOAD_FORMATS = {\n download: { format: 'shapefile', url: 'shp' },\n download_gpkg: { format: 'gpkg', url: 'gpkg' },\n download_gpx: { format: 'gpx', url: 'gpx' },\n download_csv: { format: 'csv', url: 'csv' },\n download_xls: { format: 'xls', url: 'xls' },\n download_raster: { format: 'geotiff', url: 'geotiff' },\n download_pdf: { format: 'pdf', url: 'pdf' }\n};\n\n/**\n * Base class for all layers\n */\n\nvar Layer = function (_G3WObject) {\n _inherits(Layer, _G3WObject);\n\n function Layer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Layer);\n\n //get current project object\n var _this5 = _possibleConstructorReturn(this, (Layer.__proto__ || Object.getPrototypeOf(Layer)).call(this));\n\n var project = options.project || _application2.default.project;\n var suffixUrl = config.baselayer ? '' : project.getType() + '/' + project.getId() + '/' + config.id + '/';\n var vectorUrl = config.baselayer ? '' : project.state.vectorurl;\n var rasterUrl = config.baselayer ? '' : project.state.rasterurl;\n\n // assign some attributes\n\n _this5.config = Object.assign(config, _extends({\n id: config.id || 'Layer',\n title: config.title || config.name,\n download: !!config.download,\n geolayer: false,\n baselayer: !!config.baselayer,\n fields: config.fields || {},\n // URLs to get various type of data\n urls: _extends({\n query: config.infourl || config.wmsUrl\n }, config.urls || {}, config.baselayer ? {} : {\n filtertoken: vectorUrl + 'filtertoken/' + suffixUrl,\n data: vectorUrl + 'data/' + suffixUrl,\n shp: vectorUrl + 'shp/' + suffixUrl,\n csv: vectorUrl + 'csv/' + suffixUrl,\n xls: vectorUrl + 'xls/' + suffixUrl,\n gpx: vectorUrl + 'gpx/' + suffixUrl,\n gpkg: vectorUrl + 'gpkg/' + suffixUrl,\n geotiff: rasterUrl + 'geotiff/' + suffixUrl,\n editing: vectorUrl + 'editing/' + suffixUrl,\n commit: vectorUrl + 'commit/' + suffixUrl,\n config: vectorUrl + 'config/' + suffixUrl,\n unlock: vectorUrl + 'unlock/' + suffixUrl,\n widget: {\n unique: vectorUrl + 'widget/unique/data/' + suffixUrl\n },\n /** @since 3.8.0 */\n featurecount: project.getUrl('featurecount'),\n /** @since 3.10.0 */\n pdf: '/html2pdf/'\n })\n }, config.baselayer ? {} : { searchParams: { I: 0, J: 0 } }, {\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n search_endpoint: 'api'\n }));\n\n var relations = project.getRelations().filter(function (r) {\n return [r.referencedLayer, r.referencingLayer].includes(_this5.getId());\n });\n\n /**\n * Layer relations\n */\n _this5._relations = {\n\n /**\n * ORIGINAL SOURCE: src/app/core/relations/relation.js@v3.10.1\n * \n * Relations store\n * \n * @type { Relation[] }\n */\n _relations: (relations || []).reduce(function (relations) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var suffix = Date.now();\n /** relation state */\n var state = {\n /** @type { boolean } loading state (for editing purpose) */\n loading: false,\n /** @type { string } relation id */\n id: config.id || 'id_' + suffix,\n /** @type { string } relation name */\n name: config.name || 'name_' + suffix,\n origname: config.origname || 'origname_' + suffix,\n /** @type { string[] } layerId of father relation */\n father: config.referencedLayer,\n /** @type { string[] } layerId of child relation */\n child: config.referencingLayer,\n /** @type { 'MANY' | ONE' | string } relation type */\n type: config.type,\n /** @since 3.9.0 */\n editable: config.editable || false,\n /** @type { string } relation prefix (for Relation 1:1) @since 3.9.0 */\n prefix: config.prefix,\n /** BACKCOMP (g3w-admin < v.3.7.0) - father relation field name */\n fatherField: [].concat(config.fieldRef.referencedField),\n /** BACKCOMP (g3w-admin < v.3.7.0) - child relation layer field name */\n childField: [].concat(config.fieldRef.referencingField)\n };\n relations[state.id] = Object.assign(new _g3wObject2.default(config), {\n state: state,\n getId: function getId() {\n return state.id;\n },\n setId: function setId(id) {\n return state.id = id;\n },\n getName: function getName() {\n return state.name;\n },\n setName: function setName(n) {\n return state.name = n;\n },\n getChild: function getChild() {\n return state.child;\n },\n getFather: function getFather() {\n return state.father;\n },\n getState: function getState() {\n return state;\n },\n getType: function getType() {\n return state.type;\n },\n getFatherField: function getFatherField() {\n return state.fatherField;\n },\n getChildField: function getChildField() {\n return state.childField;\n },\n setLoading: function setLoading(b) {\n return state.loading = !!b;\n },\n isLoading: function isLoading() {\n return state.loading;\n },\n isEditable: function isEditable() {\n return state.editable;\n },\n getPrefix: function getPrefix() {\n return state.prefix;\n },\n /** @returns {{ father, child }} relation fields */\n getFields: function getFields() {\n return { father: state.fatherField, child: state.childField };\n },\n /** @FIXME `state.title` is not defined */\n getTitle: function getTitle() {\n return state.title;\n },\n /** @FIXME `state.title` is not defined */\n setTitle: function setTitle(t) {\n return state.title = t;\n }\n });\n return relations;\n }, {}),\n\n /**\n * Number of relations\n * \n * @type { number }\n */\n _length: relations ? relations.length : 0,\n\n /**\n * Build relations between layers.\n *\n * @private\n */\n _reloadRelationsInfo: function _reloadRelationsInfo() {\n\n this._relationsInfo = {\n children: {}, // hashmap: >\n fathers: {}, // hashmap: >\n father_child: {} // hashmap: \n };\n\n var f = void 0,\n c = void 0;\n var _relationsInfo = this._relationsInfo,\n father_child = _relationsInfo.father_child,\n fathers = _relationsInfo.fathers,\n children = _relationsInfo.children;\n\n\n Object.entries(this._relations).forEach(function (_ref11) {\n var _ref12 = _slicedToArray(_ref11, 2),\n relationKey = _ref12[0],\n relation = _ref12[1];\n\n f = relation.getFather();\n c = relation.getChild();\n\n father_child[f + c] = relationKey; // relationKey = [father_layerId + child_layerId]\n fathers[f] = fathers[f] || [];\n children[c] = children[c] || [];\n\n fathers[f].push(c);\n children[c].push(f);\n });\n },\n\n\n /**\n * @returns { number } number of relations\n */\n getLength: function getLength() {\n return this._length;\n },\n\n\n /**\n * @param relation.type\n *\n * @returns { {} | Relation[] } relations filtered by type\n */\n getRelations: function getRelations() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$type = _ref13.type,\n type = _ref13$type === undefined ? null : _ref13$type;\n\n // type = null\n if (!type) {\n return this._relations;\n }\n\n // type = { 'ONE' | 'MANY' }\n if (-1 !== ['ONE', 'MANY'].indexOf(type)) {\n var _relations = {};\n for (var name in this._relations) {\n if (type === this._relations[name].getType()) {\n _relations[name] = this._relations[name];\n }\n }\n return _relations;\n }\n\n return {};\n },\n setRelations: function setRelations() {\n var relations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n this._relations = Array.isArray(relations) ? relations : [];\n },\n getRelationById: function getRelationById(id) {\n return this._relations[id];\n },\n getArray: function getArray() {\n return Object.entries(this._relations).map(function (r) {\n return r[1];\n });\n },\n getRelationByFatherChildren: function getRelationByFatherChildren(father, child) {\n return this.getRelationById(this._relationsInfo.father_child[father + child]);\n },\n isChild: function isChild(id) {\n return !!this._relationsInfo.children[id];\n },\n isFather: function isFather(id) {\n return !!this._relationsInfo.fathers[id];\n },\n hasChildren: function hasChildren(layer_id) {\n return (this.getChildren(layer_id) || []).length > 0;\n },\n hasFathers: function hasFathers(layer_id) {\n return (this.getFathers(layer_id) || []).length > 0;\n },\n\n /** @returns { Array | null } child layers (IDs) within same relation */\n getChildren: function getChildren(layer_id) {\n return this.isFather(layer_id) ? this._relationsInfo.fathers[layer_id] : null;\n },\n\n /** @returns { Array | null } father layers (IDs) within same relation */\n getFathers: function getFathers(layer_id) {\n return this.isChild(layer_id) ? this._relationsInfo.children[layer_id] : null;\n }\n };\n\n _this5._relations._reloadRelationsInfo();\n\n // dinamic layer values useful for layerstree\n var defaultstyle = config.styles && config.styles.find(function (s) {\n return s.current;\n }).name;\n\n /**\n * @TODO make it simpler, `this.config` and `this.state` are essentially duplicated data\n */\n _this5.state = {\n id: config.id,\n title: config.title,\n selected: config.selected || false,\n disabled: config.disabled || false,\n metadata: config.metadata,\n openattributetable: _this5.canShowTable(),\n removable: config.removable || false,\n downloadable: _this5.isDownloadable(),\n source: config.source,\n styles: config.styles,\n defaultstyle: defaultstyle,\n infoformat: _this5.getInfoFormat(),\n infoformats: _this5.config.infoformats || [],\n projectLayer: true,\n geolayer: false,\n attributetable: { pageLength: null },\n visible: config.visible || false,\n tochighlightable: false,\n /** state of if is in editing (setted by editing plugin) */\n inediting: false,\n /** Reactive selection attribute */\n selection: { active: false },\n /** Reactive filter attribute */\n filter: {\n active: false,\n /** @since 3.9.0 whether filter is set from a previously saved filter */\n current: null\n },\n /** @type { Array<{{ id: string, name: string }}> } since 3.9.0 - array of saved filters */\n filters: config.filters || [],\n /** @type {number} since 3.8.0 */\n featurecount: config.featurecount,\n /** @type { boolean | Object } since 3.8.0 */\n stylesfeaturecount: config.featurecount && defaultstyle && _defineProperty({}, defaultstyle, config.featurecount),\n /** @type { string } since 3.10.0 */\n name: config.name,\n /** @type { boolean } since 3.10.0 */\n expanded: config.expanded,\n /** @type { boolean } since 3.10.0 - whether to show layer on TOC (default: true) */\n toc: 'boolean' === typeof config.toc ? config.toc : true\n };\n\n /**\n * Store all selections feature `fids`\n */\n _this5.selectionFids = new Set();\n\n // referred to (layersstore);\n _this5._layersstore = config.layersstore || null;\n\n var layerType = _this5.config.servertype + ' ' + (_this5.config.source && _this5.config.source.type);\n\n /**\n * Layer providers used to retrieve layer data from server\n * \n * 1 - data: raw layer data (editing)\n * 2 - filter\n * 3 - filtertoken\n * 4 - query\n * 5 - search\n */\n _this5.providers = {\n\n data: function () {\n if (['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType)) {\n return createProvider('qgis', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n filter: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs', 'QGIS wmst', 'QGIS wcs', 'QGIS wms'].includes(layerType) && createProvider('wfs', _this5),\n\n filtertoken: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext'].includes(layerType) && createProvider('qgis', _this5),\n\n query: function () {\n 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',\n /** @since 3.9.0 */\n 'QGIS postgresraster', 'QGIS vector-tile', 'QGIS vectortile', 'QGIS arcgismapserver', 'QGIS mdal', 'OGC wms'].includes(layerType)) {\n return createProvider('wms', _this5);\n }\n if ('G3WSUITE geojson' === layerType) {\n return createProvider('geojson', _this5);\n }\n }(),\n\n search: ['QGIS virtual', 'QGIS postgres', 'QGIS oracle', 'QGIS mssql', 'QGIS spatialite', 'QGIS ogr', 'QGIS delimitedtext', 'QGIS wfs'].includes(layerType) && createProvider('qgis', _this5)\n\n };\n\n /**\n * Store last proxy params (useful for repeat request info formats for wms external layer)\n */\n _this5.proxyData = {\n wms: null // at the moment only wms data from server\n };\n\n return _this5;\n }\n\n /******************************************************************************************\n * LAYER DOWNLOAD\n *****************************************************************************************/\n\n /** \n * @returns { Promise }\n */\n\n\n _createClass(Layer, [{\n key: 'getDownloadFilefromDownloadDataType',\n value: function getDownloadFilefromDownloadDataType(type, _ref15) {\n var _ref15$data = _ref15.data,\n data = _ref15$data === undefined ? {} : _ref15$data;\n\n data.filtertoken = this.getFilterToken();\n\n if ('pdf' === type) {\n return (0, _downloadFile.downloadFile)({\n url: this.getUrl('pdf'),\n headers: { 'Content-Type': 'application/json; charset=utf-8' },\n data: JSON.stringify(data),\n mime_type: 'application/pdf',\n method: 'POST'\n });\n }\n\n return _XHR.XHR.fileDownload({\n url: this.getUrl('shapefile' === type ? 'shp' : type),\n data: data,\n httpMethod: \"POST\"\n });\n }\n }, {\n key: 'getGeoTIFF',\n value: function getGeoTIFF() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref16$data = _ref16.data,\n data = _ref16$data === undefined ? {} : _ref16$data;\n\n return this.getDownloadFilefromDownloadDataType('geotiff', { data: data });\n }\n }, {\n key: 'getXls',\n value: function getXls() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref17$data = _ref17.data,\n data = _ref17$data === undefined ? {} : _ref17$data;\n\n return this.getDownloadFilefromDownloadDataType('xls', { data: data });\n }\n }, {\n key: 'getShp',\n value: function getShp() {\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? {} : _ref18$data;\n\n return this.getDownloadFilefromDownloadDataType('shapefile', { data: data });\n }\n }, {\n key: 'getGpx',\n value: function getGpx() {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref19$data = _ref19.data,\n data = _ref19$data === undefined ? {} : _ref19$data;\n\n return this.getDownloadFilefromDownloadDataType('gpx', { data: data });\n }\n }, {\n key: 'getGpkg',\n value: function getGpkg() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref20$data = _ref20.data,\n data = _ref20$data === undefined ? {} : _ref20$data;\n\n return this.getDownloadFilefromDownloadDataType('gpkg', { data: data });\n }\n }, {\n key: 'getCsv',\n value: function getCsv() {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? {} : _ref21$data;\n\n return this.getDownloadFilefromDownloadDataType('csv', { data: data });\n }\n\n /**\n * @returns { string[] } download formats\n */\n\n }, {\n key: 'getDownloadableFormats',\n value: function getDownloadableFormats() {\n var _this6 = this;\n\n return Object.keys(DOWNLOAD_FORMATS).filter(function (d) {\n return _this6.config[d];\n }).map(function (d) {\n return DOWNLOAD_FORMATS[d].format;\n });\n }\n\n /**\n * @param download url\n * \n * @returns { string }\n */\n\n }, {\n key: 'getDownloadUrl',\n value: function getDownloadUrl(format) {\n return (Object.values(DOWNLOAD_FORMATS).find(function (d) {\n return d.format === format;\n }) || {}).url;\n }\n\n /**\n * @returns { boolean } whether it has a format to download\n */\n\n }, {\n key: 'isDownloadable',\n value: function isDownloadable() {\n return !!this.getDownloadableFormats().length;\n }\n }, {\n key: 'isGeoTIFFDownloadable',\n value: function isGeoTIFFDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' === this.config.source.type;\n }\n }, {\n key: 'isShpDownloadable',\n value: function isShpDownloadable() {\n return !this.isBaseLayer() && this.config.download && 'gdal' !== this.config.source.type;\n }\n }, {\n key: 'isXlsDownloadable',\n value: function isXlsDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_xls;\n }\n }, {\n key: 'isGpxDownloadable',\n value: function isGpxDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpx;\n }\n }, {\n key: 'isGpkgDownloadable',\n value: function isGpkgDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_gpkg;\n }\n }, {\n key: 'isCsvDownloadable',\n value: function isCsvDownloadable() {\n return !this.isBaseLayer() && !!this.config.download_csv;\n }\n\n /******************************************************************************************\n * LAYER RELATIONS\n *****************************************************************************************/\n\n /**\n * @returns {*} relations\n */\n\n }, {\n key: 'getRelations',\n value: function getRelations() {\n return this._relations;\n }\n\n /**\n * @param id\n * \n * @returns {*} relation by id\n */\n\n }, {\n key: 'getRelationById',\n value: function getRelationById(id) {\n return this._relations.getArray().find(function (r) {\n return id === r.getId();\n });\n }\n\n /**\n * @param relationName\n * \n * @returns { * | Array } relation fields\n */\n\n }, {\n key: 'getRelationAttributes',\n value: function getRelationAttributes(relationName) {\n var relation = this._relations.find(function (r) {\n return relationName === r.name;\n });\n return relation ? relation.fields : [];\n }\n\n /**\n * [LAYER RELATIONS]\n * \n * @TODO Add description\n * \n * @returns { Object } fields\n */\n\n }, {\n key: 'getRelationsAttributes',\n value: function getRelationsAttributes() {\n return (this.state.relations || []).reduce(function (fields, r) {\n fields[r.name] = r.fields;\n return fields;\n }, {});\n }\n\n /**\n * @returns { * | boolean } whether layer is a Child of a relation\n */\n\n }, {\n key: 'isChild',\n value: function isChild() {\n return this.getRelations() ? this._relations.isChild(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether layer is a Father of a relation\n */\n\n }, {\n key: 'isFather',\n value: function isFather() {\n return this.getRelations() ? this._relations.isFather(this.getId()) : false;\n }\n\n /**\n * @returns { * |Array } children relations\n */\n\n }, {\n key: 'getChildren',\n value: function getChildren() {\n return this.isFather() ? this._relations.getChildren(this.getId()) : [];\n }\n\n /**\n * @returns { * | Array } parents relations\n */\n\n }, {\n key: 'getFathers',\n value: function getFathers() {\n return this.isChild() ? this._relations.getFathers(this.getId()) : [];\n }\n\n /**\n * @returns { * | boolean } whether it has children\n */\n\n }, {\n key: 'hasChildren',\n value: function hasChildren() {\n return this.hasRelations() ? this._relations.hasChildren(this.getId()) : false;\n }\n\n /**\n * @returns { * | boolean } whether it has fathers\n */\n\n }, {\n key: 'hasFathers',\n value: function hasFathers() {\n return this.hasRelations() ? this._relations.hasFathers(this.getId()) : false;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'hasRelations',\n value: function hasRelations() {\n return !!this._relations;\n }\n\n /******************************************************************************************\n * LAYER SELECTION\n *****************************************************************************************/\n\n /**\n * @returns { boolean } whether is selected\n */\n\n }, {\n key: 'isSelected',\n value: function isSelected() {\n return this.state.selected;\n }\n\n /**\n * @param { boolean } selected\n */\n\n }, {\n key: 'setSelected',\n value: function setSelected(selected) {\n this.state.selected = selected;\n }\n\n /**\n * Set Selection\n * \n * @param bool\n * \n * @returns {Promise}\n * \n * @fires unselectionall\n */\n\n }, {\n key: 'setSelection',\n value: function () {\n var _ref22 = _asyncToGenerator(function* () {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.selection.active = bool;\n\n // skip when selection is active\n if (bool) {\n return;\n }\n\n //check if filter is active\n var is_active = this.state.filter.active;\n var has_current = null !== this.state.filter.current;\n\n /** @TODO add description */\n if (has_current && is_active) {\n yield this._applyFilterToken(this.state.filter.current);\n }\n\n /** @TODO add description */\n if (!has_current && is_active) {\n yield this.deleteFilterToken();\n }\n\n this.emit('unselectionall', this.getId());\n });\n\n function setSelection() {\n return _ref22.apply(this, arguments);\n }\n\n return setSelection;\n }()\n\n /**\n * @returns { boolean } whether selection si active\n */\n\n }, {\n key: 'isSelectionActive',\n value: function isSelectionActive() {\n return this.state.selection.active;\n }\n\n /**\n * @returns {{ active: boolean }} selection\n */\n\n }, {\n key: 'getSelection',\n value: function getSelection() {\n return this.state.selection;\n }\n\n /**\n * @returns filter\n */\n\n }, {\n key: 'getFilter',\n value: function getFilter() {\n return this.state.filter;\n }\n\n /**\n * Set filter Active to layer\n * \n * @param {boolean} bool\n */\n\n }, {\n key: 'setFilter',\n value: function setFilter() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.filter.active = bool;\n if (this.isGeoLayer() && this.state.filter.active) {\n this.hideOlSelectionFeatures();\n }\n if (this.isGeoLayer() && !this.state.filter.active) {\n this.updateMapOlSelectionFeatures();\n }\n }\n\n /**\n * Apply layer filter by fid\n * \n * @param filter\n */\n\n }, {\n key: 'applyFilter',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (filter) {\n if (!this.providers['filtertoken']) {\n return;\n }\n\n // the current filter is set and is different from current\n if (null === this.state.filter.current || filter.fid !== this.state.filter.current.fid) {\n yield this.clearSelectionFids();\n _gui2.default.closeContent();\n }\n\n yield this._applyFilterToken(filter);\n });\n\n function applyFilter(_x21) {\n return _ref23.apply(this, arguments);\n }\n\n return applyFilter;\n }()\n\n /**\n * @returns {Promise}\n * \n * @private\n */\n\n }, {\n key: '_applyFilterToken',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (filter) {\n try {\n /** @example /vector/api/filtertoken////mode=apply&fid=|name= */\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'apply', fid: filter.fid }\n });\n if (!response || !response.result || !response.data) {\n return;\n }\n this.setFilter(false);\n this.state.filter.current = filter;\n this.setFilterToken(response.data);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function _applyFilterToken(_x22) {\n return _ref24.apply(this, arguments);\n }\n\n return _applyFilterToken;\n }()\n\n /**\n * @since 3.9.0\n */\n\n }, {\n key: 'saveFilter',\n value: function saveFilter() {\n\n // skip when ..\n if (!this.providers['filtertoken'] || !this.selectionFids.size > 0) {\n return;\n }\n\n var layer = this;\n\n (0, _prompt.prompt)({\n label: t('layer_selection_filter.tools.savefilter'),\n value: layer.state.filter.current ? layer.state.filter.current.name : '',\n callback: function () {\n var _ref25 = _asyncToGenerator(function* (name) {\n\n /** @example /vector/api/filtertoken////mode=save&name= */\n var response = yield _XHR.XHR.get({\n url: layer.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { mode: 'save', name: name } });\n\n // skip when no data return from provider\n if (!response || !response.result || !response.data) {\n return;\n }\n\n var filter = layer.state.filters.find(function (f) {\n return response.data.fid === f.fid;\n });\n\n // add saved filter to filters array\n if (undefined === filter) {\n filter = {\n fid: response.data.fid, //get fid\n name: response.data.name //get name\n };\n layer.state.filters.push(filter);\n }\n\n layer.state.filter.current = filter; // set current filter\n layer.setFilter(false); // set to false\n layer.getSelection().active = false; // reset selection to false\n layer.selectionFids.clear(); // clear current fids\n\n //in the case of geolayer\n if (layer.isGeoLayer()) {\n //remove selection feature from map\n layer.setOlSelectionFeatures();\n }\n\n //emit unselectionall\n layer.emit('unselectionall', layer.getId());\n });\n\n function callback(_x23) {\n return _ref25.apply(this, arguments);\n }\n\n return callback;\n }()\n });\n }\n\n /**\n * Toggle filter token on layer\n */\n\n }, {\n key: 'toggleFilterToken',\n value: function () {\n var _ref26 = _asyncToGenerator(function* () {\n\n //set to handle select or hide ol\n this.setFilter(!this.state.filter.active);\n\n var has_current = this.state.filter.current;\n var is_active = this.state.filter.active;\n\n // there is an active filter --> create a new filter\n if (is_active) {\n yield this.createFilterToken();\n }\n\n // there is a current saved filter --> apply filter\n if (has_current && !is_active) {\n yield this.applyFilter(this.state.filter.current);\n }\n\n // there is no current saved filter --> delete it\n if (!has_current && !is_active) {\n yield this.deleteFilterToken();\n }\n\n return this.state.filter.active;\n });\n\n function toggleFilterToken() {\n return _ref26.apply(this, arguments);\n }\n\n return toggleFilterToken;\n }()\n\n /**\n * Delete filtertoken from server\n * \n * @param fid unique id of filter saved to delete\n */\n\n }, {\n key: 'deleteFilterToken',\n value: function () {\n var _ref27 = _asyncToGenerator(function* (fid) {\n try {\n // skip when no filtertoken provider is set\n if (!this.providers['filtertoken']) {\n return;\n }\n\n var filtertoken = void 0;\n try {\n // Delete saved filter from server --> `/vector/api/filtertoken////mode=delete_saved&fid=|name=`\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n var response = yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: fid, mode: undefined === fid ? 'delete' : 'delete_saved' }\n });\n // filter token if another layer is filtered otherwise filtertoken is undefined\n if (response && response.result && response.data) {\n filtertoken = response.data.filtertoken;\n }\n } catch (e) {\n console.warn(e);\n }\n\n // remove it from filters list when deleting a saved filter (since v3.9.0)\n if (undefined !== fid) {\n this.state.filters = this.state.filters.filter(function (f) {\n return fid !== f.fid;\n });\n }\n\n this.state.filter.current = null; // set current filter set to null\n // set active filter to false\n if (this.state.filter.active) {\n this.setFilter(false);\n }\n this.setFilterToken(filtertoken); // pass `filtertoken` to application\n } catch (e) {\n console.warn(e);\n }\n });\n\n function deleteFilterToken(_x24) {\n return _ref27.apply(this, arguments);\n }\n\n return deleteFilterToken;\n }()\n\n /**\n * Set applicaton filter token\n * \n * @param {string} filtertoken a string passed by server and used as parameter in XHR request\n *\n * @fires filtertokenchange when filtertoken is changed\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'setFilterToken',\n value: function setFilterToken() {\n var filtertoken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n _application2.default.tokens.filtertoken = filtertoken;\n this.emit('filtertokenchange', { layerId: this.getId() });\n }\n\n /**\n * Create filter token\n */\n\n }, {\n key: 'createFilterToken',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n try {\n\n var provider = this.providers['filtertoken'];\n var selection = this.selectionFids;\n\n // skip when no filter token provider is set or selectionFids is empty\n if (!provider || !selection.size > 0) {\n return;\n }\n\n // select all features\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n try {\n // Delete current filter --> `/vector/api/filtertoken////mode=delete`\n yield _XHR.XHR.get({\n url: this.providers['filtertoken']._layer.getUrl('filtertoken'),\n params: { fid: undefined, mode: 'delete' }\n });\n } catch (e) {\n console.warn(e);\n }\n this.setFilterToken(null);\n\n return;\n }\n\n var fids = Array.from(selection);\n\n var _ref29 = yield _XHR.XHR.get({\n url: provider._layer.getUrl('filtertoken'),\n params: selection.has(_g3wConstants.SELECTION.EXCLUDE) ? { fidsout: fids.filter(function (id) {\n return id !== _g3wConstants.SELECTION.EXCLUDE;\n }).join(',') // exclude features from selection\n } : { fidsin: fids.join(',') // include features in selection\n } }),\n _ref29$data = _ref29.data,\n data = _ref29$data === undefined ? {} : _ref29$data;\n\n this.setFilterToken(data.filtertoken);\n } catch (e) {\n console.warn(e);\n }\n });\n\n function createFilterToken() {\n return _ref28.apply(this, arguments);\n }\n\n return createFilterToken;\n }()\n\n /**\n * Get Application filter token\n * \n * @returns {*}\n */\n\n }, {\n key: 'getFilterToken',\n value: function getFilterToken() {\n return _application2.default.tokens.filtertoken;\n }\n\n /**\n * @TODO add description\n */\n\n }, {\n key: 'setSelectionFidsAll',\n value: function setSelectionFidsAll() {\n this.selectionFids.clear();\n this.selectionFids.add(_g3wConstants.SELECTION.ALL);\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n //set all features selected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = true;\n });\n this.updateMapOlSelectionFeatures();\n }\n\n /** @TODO add description */\n this.setSelection(true);\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n }\n\n /**\n * @returns {Set} stored selection `fids` \n */\n\n }, {\n key: 'getSelectionFids',\n value: function getSelectionFids() {\n return this.selectionFids;\n }\n\n /**\n * Invert current selection fids\n */\n\n }, {\n key: 'invertSelectionFids',\n value: function invertSelectionFids() {\n var selection = this.selectionFids;\n\n /** @TODO add description */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n selection.delete(_g3wConstants.SELECTION.EXCLUDE);\n } else if (selection.has(_g3wConstants.SELECTION.ALL)) {\n selection.delete(_g3wConstants.SELECTION.ALL);\n } else if (selection.size > 0) {\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setInversionOlSelectionFeatures();\n }\n\n /** In the case of tocken filter active create */\n if (this.state.filter.active) {\n this.createFilterToken();\n }\n\n this.setSelection(selection.size > 0);\n }\n\n /**\n * Check if feature id is present\n * \n * @param fid feature id\n * \n * @returns {boolean}\n */\n\n }, {\n key: 'hasSelectionFid',\n value: function hasSelectionFid(fid) {\n var selection = this.selectionFids;\n\n /** In case contain selection ALL, mean all features selected */\n if (selection.has(_g3wConstants.SELECTION.ALL)) {\n return true;\n }\n\n /**In case selection contains exclude value, check if id is not in excluded feature id */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n return !selection.has(fid);\n }\n\n /** Check if id is on selection set */\n return selection.has(fid);\n }\n\n /**\n * Include fid feature id to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'includeSelectionFid',\n value: function () {\n var _ref30 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) && selection.has(fid);\n\n // remove fid from exclude\n if (is_excluded) {\n selection.delete(fid);\n }\n\n // add to selection fid\n if (!is_excluded) {\n selection.add(fid);\n }\n\n // if the only one exclude Set all selected\n if (is_excluded && 1 === selection.size) {\n this.setSelectionFidsAll();\n }\n\n /** @TODO add description */\n if (!is_excluded && !this.isSelectionActive()) {\n this.setSelection(true);\n }\n\n /** @TODO add description */\n if (this.isGeoLayer()) {\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFid(_x27) {\n return _ref30.apply(this, arguments);\n }\n\n return includeSelectionFid;\n }()\n\n /**\n * Exclude fid to selection\n * \n * @param fid\n * @param createToken\n * \n * @returns {Promise}\n */\n\n }, {\n key: 'excludeSelectionFid',\n value: function () {\n var _ref31 = _asyncToGenerator(function* (fid) {\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n\n var selection = this.selectionFids;\n\n /**In case all features are selected or no features are selected */\n if (selection.has(_g3wConstants.SELECTION.ALL) || 0 === selection.size) {\n //set an empty selection set\n selection.clear();\n //add exclude item\n selection.add(_g3wConstants.SELECTION.EXCLUDE);\n }\n\n /** If has exclude item, mean add fid to exclude */\n if (selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //add to exclude\n selection.add(fid);\n } else {\n //remote to exclude\n selection.delete(fid);\n }\n\n /** If no selection */\n if (0 === selection.size) {\n this.clearSelectionFids();\n }\n\n /** If contain only exclude fid */\n if (1 === selection.size && selection.has(_g3wConstants.SELECTION.EXCLUDE)) {\n //celar selection set\n selection.clear();\n this.setselectionFidsAll();\n }\n\n if (this.isGeoLayer()) {\n // whether fid is excluded from selection\n var is_excluded = selection.has(_g3wConstants.SELECTION.EXCLUDE) ? selection.has(fid) : !selection.has(fid);\n this.setOlSelectionFeatureByFid(fid, is_excluded ? 'remove' : 'add');\n }\n\n /** If there is a filterActive */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFid(_x29) {\n return _ref31.apply(this, arguments);\n }\n\n return excludeSelectionFid;\n }()\n\n /**\n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'includeSelectionFids',\n value: function () {\n var _ref32 = _asyncToGenerator(function* () {\n var _this7 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n // pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this7.includeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function includeSelectionFids() {\n return _ref32.apply(this, arguments);\n }\n\n return includeSelectionFids;\n }()\n\n /**\n * Exclude fids from selection\n * \n * @param { Array } fids\n * @param { boolean } createToken since 3.9.0\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'excludeSelectionFids',\n value: function () {\n var _ref33 = _asyncToGenerator(function* () {\n var _this8 = this;\n\n var fids = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var createToken = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n //pass false because eventually token filter creation needs to be called after\n fids.forEach(function (fid) {\n return _this8.excludeSelectionFid(fid, false);\n });\n\n /** @TODO add description */\n if (createToken && this.state.filter.active) {\n yield this.createFilterToken();\n }\n });\n\n function excludeSelectionFids() {\n return _ref33.apply(this, arguments);\n }\n\n return excludeSelectionFids;\n }()\n\n /**\n * Clear selection\n */\n\n }, {\n key: 'clearSelectionFids',\n value: function () {\n var _ref34 = _asyncToGenerator(function* () {\n this.selectionFids.clear();\n // remove selected feature on a map\n if (this.isGeoLayer()) {\n //set all features unselected\n Object.values(this.olSelectionFeatures).forEach(function (feat) {\n return feat.selected = false;\n });\n this.updateMapOlSelectionFeatures();\n }\n // set selection false\n yield this.setSelection(false);\n });\n\n function clearSelectionFids() {\n return _ref34.apply(this, arguments);\n }\n\n return clearSelectionFids;\n }()\n\n /******************************************************************************************\n * LAYER BASE\n *****************************************************************************************/\n\n /**\n * Proxy params data\n */\n\n }, {\n key: 'getProxyData',\n value: function getProxyData(type) {\n return type ? this.proxyData[type] : this.proxyData;\n }\n\n /**\n * Set proxy data\n *\n * @param type\n * @param data\n */\n\n }, {\n key: 'setProxyData',\n value: function setProxyData(type) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.proxyData[type] = data;\n }\n\n /**\n * Clear proxy data\n *\n * @param type\n */\n\n }, {\n key: 'clearProxyData',\n value: function clearProxyData(type) {\n this.proxyData[type] = null;\n }\n\n /**\n * Get a proxy request\n *\n * @param type\n * @param proxyParams\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'getDataProxyFromServer',\n value: function () {\n var _ref35 = _asyncToGenerator(function* () {\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var proxyParams = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n try {\n var _ref36 = yield _data2.default.getData('proxy:' + type, {\n inputs: proxyParams,\n outputs: false\n }),\n response = _ref36.response,\n data = _ref36.data;\n\n this.setProxyData(type, JSON.parse(data));\n return response;\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getDataProxyFromServer() {\n return _ref35.apply(this, arguments);\n }\n\n return getDataProxyFromServer;\n }()\n\n /**\n * @TODO Add description\n *\n * @param type\n * @param changes\n *\n * @returns {Promise<*>}\n */\n\n }, {\n key: 'changeProxyDataAndReloadFromServer',\n value: function changeProxyDataAndReloadFromServer() {\n var _this9 = this;\n\n var type = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wms';\n var changes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n Object.keys(changes).forEach(function (c) {\n Object.keys(changes[c]).forEach(function (p) {\n _this9.proxyData[type][c][p] = changes[c][p];\n });\n });\n return this.getDataProxyFromServer(type, this.proxyData[type]);\n }\n\n /**\n * [EDITING PLUGIN] Check if layer is in editing\n *\n * @returns { boolean }\n */\n\n }, {\n key: 'isInEditing',\n value: function isInEditing() {\n return this.state.inediting;\n }\n\n /**\n * [EDITING PLUGIN] Set editing state\n *\n * @param {boolean} bool\n */\n\n }, {\n key: 'setInEditing',\n value: function setInEditing() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.inediting = bool;\n }\n\n /**\n * @TODO Add description here\n *\n * @returns {*}\n */\n\n }, {\n key: 'getSearchParams',\n value: function getSearchParams() {\n return this.config.searchParams;\n }\n\n /**\n * @deprecated since 3.10.0. Will be removed in v.4.x.\n */\n\n }, {\n key: 'getSearchEndPoint',\n value: function getSearchEndPoint() {\n console.warn('getSearchEndPoint is deprecated');\n return 'api';\n }\n\n /**\n * @TODO Add description\n *\n * @param pageLength\n */\n\n }, {\n key: 'setAttributeTablePageLength',\n value: function setAttributeTablePageLength(pageLength) {\n this.state.attributetable.pageLength = pageLength;\n }\n\n /**\n * @TODO add description\n *\n * @returns {null}\n */\n\n }, {\n key: 'getAttributeTablePageLength',\n value: function getAttributeTablePageLength() {\n return this.state.attributetable.pageLength;\n }\n\n /**\n * @returns { string } wms layer name for wms request\n */\n\n }, {\n key: 'getWMSLayerName',\n value: function getWMSLayerName() {\n return this.isWmsUseLayerIds() ? this.getId() : this.getName();\n }\n\n /**\n * @returns { boolean | *} whether request need to use `layer.id` or `layer.name`\n */\n\n }, {\n key: 'isWmsUseLayerIds',\n value: function isWmsUseLayerIds() {\n return this.config.wms_use_layer_ids;\n }\n\n /**\n * @returns {*|null} source type of layer\n */\n\n }, {\n key: 'getSourceType',\n value: function getSourceType() {\n return this.config.source ? this.config.source.type : null;\n }\n\n /**\n * @returns {boolean} whether it is a layer with geometry\n */\n\n }, {\n key: 'isGeoLayer',\n value: function isGeoLayer() {\n return this.state.geolayer;\n }\n\n /**\n * @TODO Add description\n *\n * @param { Object } opts\n * @param opts.page\n * @param opts.page_size\n * @param opts.ordering\n * @param opts.search\n * @param opts.suggest\n * @param opts.formatter\n * @param opts.custom_params\n * @param opts.field\n * @param opts.in_bbox\n *\n * @returns {*}\n */\n\n }, {\n key: 'getDataTable',\n value: function getDataTable() {\n var _this10 = this;\n\n var _ref37 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref37$page = _ref37.page,\n page = _ref37$page === undefined ? null : _ref37$page,\n _ref37$page_size = _ref37.page_size,\n page_size = _ref37$page_size === undefined ? null : _ref37$page_size,\n _ref37$ordering = _ref37.ordering,\n ordering = _ref37$ordering === undefined ? null : _ref37$ordering,\n _ref37$search = _ref37.search,\n search = _ref37$search === undefined ? null : _ref37$search,\n _ref37$suggest = _ref37.suggest,\n suggest = _ref37$suggest === undefined ? null : _ref37$suggest,\n _ref37$formatter = _ref37.formatter,\n formatter = _ref37$formatter === undefined ? 0 : _ref37$formatter,\n _ref37$custom_params = _ref37.custom_params,\n custom_params = _ref37$custom_params === undefined ? {} : _ref37$custom_params,\n field = _ref37.field,\n in_bbox = _ref37.in_bbox;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n\n // skip when..\n if (!_this10.getProvider('filter') && !_this10.getProvider('data')) {\n return Promise.reject();\n }\n\n var response = yield (0, _promisify.promisify)(_this10.getProvider('data').getFeatures({ editing: false }, _extends({}, custom_params, {\n field: field,\n page: page,\n page_size: page_size,\n ordering: ordering,\n search: search,\n formatter: formatter,\n suggest: suggest,\n in_bbox: in_bbox,\n filtertoken: _application2.default.tokens.filtertoken\n })));\n var features = response.data.features && response.data.features || [];\n return {\n headers: (0, _parseAttributes.parseAttributes)(_this10.getAttributes(), features.length ? features[0].properties : []),\n features: features,\n title: _this10.getTitle(),\n count: response.count\n };\n }));\n }\n\n /**\n * Search layer feature by fids\n *\n * @param fids\n * @param formatter\n */\n\n }, {\n key: 'getFeatureByFids',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _ref40 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref40$fids = _ref40.fids,\n fids = _ref40$fids === undefined ? [] : _ref40$fids,\n _ref40$formatter = _ref40.formatter,\n formatter = _ref40$formatter === undefined ? 0 : _ref40$formatter;\n\n var url = this.getUrl('data');\n try {\n var response = yield _XHR.XHR.get({\n url: url,\n params: {\n fids: fids.toString(),\n formatter: formatter\n }\n });\n if (response && response.result && response.vector && response.vector.data) {\n return response.vector.data.features;\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function getFeatureByFids() {\n return _ref39.apply(this, arguments);\n }\n\n return getFeatureByFids;\n }()\n\n /**\n * @TODO deprecate `search_endpoint = 'ows'`\n *\n * Search Features\n * \n * @param { Object } options\n * @param { 'ows' | 'api' } options.search_endpoint\n * @param { boolean } options.raw\n * @param { 0 | 1 } options.formatter\n * @param options.filter\n * @param options.suggest\n * @param options.unique\n * @param options.queryUrl\n * @param options.ordering\n * @param { Object } params - OWS search params\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'searchFeatures',\n value: function searchFeatures() {\n var _this11 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$search_endpo = options.search_endpoint,\n search_endpoint = _options$search_endpo === undefined ? this.config.search_endpoint : _options$search_endpo;\n\n\n return new Promise(function () {\n var _ref41 = _asyncToGenerator(function* (resolve, reject) {\n switch (search_endpoint) {\n\n case 'ows':\n _this11.search(options, params).then(function (results) {\n resolve({ data: results });\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n break;\n\n case 'api':\n try {\n resolve((yield _this11.getFilterData({\n queryUrl: options.queryUrl,\n field: options.filter,\n ordering: options.ordering,\n unique: options.unique,\n raw: undefined !== options.raw ? options.raw : false,\n suggest: options.suggest,\n /** @since 3.9.0 */\n formatter: undefined !== options.formatter ? options.formatter : 1\n })));\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n break;\n }\n });\n\n return function (_x44, _x45) {\n return _ref41.apply(this, arguments);\n };\n }());\n }\n\n /**\n * Get feature data based on `field` and `suggests`\n * \n * @param { Object } opts\n * @param { boolean } opts.raw\n * @param { Object } opts.suggest - (mandatory): object with key is a field of layer and value is value of the field to filter\n * @param { 0 | 1 } opts.formatter\n * @param { Array } opts.field - Array of object with type of suggest (see above)\n * @param opts.unique\n * @param opts.fformatter since 3.9.0\n * @param opts.ffield since 3.9.1\n * @param opts.queryUrl\n * @param opts.ordering\n */\n\n }, {\n key: 'getFilterData',\n value: function () {\n var _ref42 = _asyncToGenerator(function* () {\n var _ref43 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref43$raw = _ref43.raw,\n raw = _ref43$raw === undefined ? false : _ref43$raw,\n suggest = _ref43.suggest,\n field = _ref43.field,\n unique = _ref43.unique,\n fformatter = _ref43.fformatter,\n ffield = _ref43.ffield,\n _ref43$formatter = _ref43.formatter,\n formatter = _ref43$formatter === undefined ? 1 : _ref43$formatter,\n queryUrl = _ref43.queryUrl,\n ordering = _ref43.ordering;\n\n var provider = this.getProvider('data');\n provider._projections = provider._projections || { map: null, layer: null };\n var params = {\n field: field,\n suggest: suggest,\n ordering: ordering,\n formatter: formatter,\n unique: unique,\n fformatter: fformatter,\n ffield: ffield,\n filtertoken: _application2.default.tokens.filtertoken\n };\n try {\n var url = queryUrl ? queryUrl : provider._layer.getUrl('data');\n var response = field // check `field` parameter\n ? yield _XHR.XHR.post({ url: url, contentType: 'application/json', data: JSON.stringify(params) }) // since g3w-admin@v3.7\n : yield _XHR.XHR.get({ url: url, params: params }); // BACKCOMP (`unique` and `ordering` were only GET parameters)\n\n // vector layer\n if ('table' !== provider._layer.getType()) {\n provider._projections.map = provider._layer.getMapProjection() || provider._projections.layer;\n }\n\n if (raw) {\n return response;\n }\n if (unique && response.result) {\n return response.data;\n }\n if (fformatter && response.result) {\n return response;\n }\n\n if (response.result) {\n return {\n data: _parsers.ResponseParser.get('application/json')({\n layers: [provider._layer],\n response: response.vector.data,\n projections: provider._projections\n })\n };\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n return Promise.reject();\n });\n\n function getFilterData() {\n return _ref42.apply(this, arguments);\n }\n\n return getFilterData;\n }()\n\n /**\n * search method \n */\n\n }, {\n key: 'search',\n value: function search() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options = _extends({}, options, {\n feature_count: options.feature_count || 10\n }, this.config.searchParams, params);\n var provider = this.getProvider('search');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_searchable'));\n }));\n }\n\n /**\n * Info from layer (only for querable layers) \n */\n\n }, {\n key: 'query',\n value: function query() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var provider = this.getProvider(options.filter ? 'filter' : 'query');\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n if (provider) {\n return yield (0, _promisify.promisify)(provider.query(options));\n }\n return Promise.reject(t('sdk.search.layer_not_querable'));\n }));\n }\n\n /**\n * General way to get an attribute \n */\n\n }, {\n key: 'get',\n value: function get(property) {\n return this.config[property] ? this.config[property] : this.state[property];\n }\n\n /**\n * @returns { * | {} } layer fields\n */\n\n }, {\n key: 'getFields',\n value: function getFields() {\n return this.config.fields;\n }\n\n /**\n * @returns { Array } editing fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n return this.config.editing.fields;\n }\n\n /**\n * @returns { Array } only show fields\n */\n\n }, {\n key: 'getTableFields',\n value: function getTableFields() {\n return (this.config.fields || []).filter(function (f) {\n return f.show;\n });\n }\n\n /**\n * @returns { Array } table fields exclude geometry field\n */\n\n }, {\n key: 'getTableHeaders',\n value: function getTableHeaders() {\n return this.getTableFields().filter(function (f) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(f.name);\n });\n }\n\n /**\n * @returns {*} current project\n */\n\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.config.project;\n }\n\n /**\n * @returns { Object } layer config\n */\n\n }, {\n key: 'getConfig',\n value: function getConfig() {\n return this.config;\n }\n\n /**\n *\n * @returns { Array } form structure to show on form editing\n */\n\n }, {\n key: 'getLayerEditingFormStructure',\n value: function getLayerEditingFormStructure() {\n return this.config.editor_form_structure;\n }\n\n /**\n * @returns { boolean } whether it has form structure\n */\n\n }, {\n key: 'hasFormStructure',\n value: function hasFormStructure() {\n return !!this.config.editor_form_structure;\n }\n\n /**\n * @returns custom style (for future implementation)\n */\n\n }, {\n key: 'getCustomStyle',\n value: function getCustomStyle() {\n return this.config.customstyle;\n }\n\n /**\n * Get state layer\n *\n * @returns {*|{metadata, downloadable: *, attributetable: {pageLength: null}, defaultstyle: *, source, title: *, infoformats: ((function(): *)|*|*[]), tochighlightable: boolean, featurecount: number, stylesfeaturecount: (number|string|*|{[p: number]: *}), projectLayer: boolean, infoformat: (string|default.watch.infoformat|*), geolayer: boolean, inediting: boolean, disabled: boolean, id: (*|string), selected: boolean, openattributetable: (boolean|boolean), visible: boolean, filters: *[], filter: {current: null, active: boolean}, selection: {active: boolean}, removable: (boolean|*), styles}}\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @returns {*} layer source (ex. ogr, spatialite, etc..)\n */\n\n }, {\n key: 'getSource',\n value: function getSource() {\n return this.state.source;\n }\n\n /**\n * @returns {*} editing version of layer\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this._editingLayer;\n }\n\n /**\n * Set editing layer\n *\n * @param editingLayer\n */\n\n }, {\n key: 'setEditingLayer',\n value: function setEditingLayer(editingLayer) {\n this._editingLayer = editingLayer;\n }\n\n /**\n * @returns {string|string[]|boolean|string|*} whether is hidden\n */\n\n }, {\n key: 'isHidden',\n value: function isHidden() {\n return this.state.hidden;\n }\n\n /**\n * Set hidden\n *\n * @param bool\n */\n\n }, {\n key: 'setHidden',\n value: function setHidden() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.state.hidden = bool;\n }\n\n /**\n * @returns {*|string} id\n */\n\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n\n /**\n * @returns {*} metadata\n */\n\n }, {\n key: 'getMetadata',\n value: function getMetadata() {\n return this.state.metadata;\n }\n\n /**\n * @returns {*} title\n */\n\n }, {\n key: 'getTitle',\n value: function getTitle() {\n return this.config.title;\n }\n\n /**\n * @returns {*} name\n */\n\n }, {\n key: 'getName',\n value: function getName() {\n return this.config.name;\n }\n\n /**\n * @returns {*} origin name\n */\n\n }, {\n key: 'getOrigName',\n value: function getOrigName() {\n return this.config.origname;\n }\n\n /**\n * @returns { string } Server type\n */\n\n }, {\n key: 'getServerType',\n value: function getServerType() {\n return this.config.servertype || \"QGIS\";\n }\n\n /**\n * @returns {*} type\n */\n\n }, {\n key: 'getType',\n value: function getType() {\n return this.type;\n }\n\n /**\n * Check if layer is a type passed\n *\n * @param type\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isType',\n value: function isType(type) {\n return type === this.getType();\n }\n\n /**\n * Set disabled\n *\n * @param bool\n */\n\n }, {\n key: 'setDisabled',\n value: function setDisabled(bool) {\n this.state.disabled = bool;\n }\n\n /**\n * @returns {boolean} whether it is disabled\n */\n\n }, {\n key: 'isDisabled',\n value: function isDisabled() {\n return this.state.disabled;\n }\n\n /**\n * @returns {boolean} whether is visible\n */\n\n }, {\n key: 'isVisible',\n value: function isVisible() {\n return this.state.visible;\n }\n\n /**\n * Set visibility\n *\n * @param bool\n */\n\n }, {\n key: 'setVisible',\n value: function setVisible(bool) {\n this.state.visible = bool;\n }\n\n /**\n * @param { Object } param\n * @param param.map check if request from map point of view or just a capabilities info layer\n */\n\n }, {\n key: 'isQueryable',\n value: function isQueryable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.QUERYABLE);\n }\n\n /**\n * @TODO Description\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'getTocHighlightable',\n value: function getTocHighlightable() {\n return this.state.tochighlightable;\n }\n\n /**\n * @TODO Description\n *\n * @param bool\n */\n\n }, {\n key: 'setTocHighlightable',\n value: function setTocHighlightable() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.tochighlightable = bool;\n }\n\n /**\n * @param conditions plain object with configuration layer attribute and value\n */\n\n }, {\n key: 'isFilterable',\n value: function isFilterable() {\n var _this12 = this;\n\n var conditions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var isFiltrable = !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.FILTERABLE);\n if (isFiltrable && conditions) {\n var conditionalFiltrable = Object.keys(conditions).reduce(function (bool, attribute) {\n var layer_config_value = _this12.get(attribute);\n var condition_attribute_values = conditions[attribute];\n return bool && Array.isArray(layer_config_value) ? layer_config_value.includes(condition_attribute_values) : condition_attribute_values === layer_config_value;\n }, true);\n isFiltrable = isFiltrable && conditionalFiltrable;\n }\n return isFiltrable;\n }\n\n /**\n * @returns { boolean } whether layer is set up as time series\n */\n\n }, {\n key: 'isQtimeseries',\n value: function isQtimeseries() {\n return this.config.qtimeseries;\n }\n\n /**\n * @returns { boolean } whether is editable\n */\n\n }, {\n key: 'isEditable',\n value: function isEditable() {\n return !!(this.config.capabilities && this.config.capabilities & Layer.CAPABILITIES.EDITABLE);\n }\n\n /**\n * @returns {*|boolean} whether is a base layer\n */\n\n }, {\n key: 'isBaseLayer',\n value: function isBaseLayer() {\n return this.config.baselayer;\n }\n\n /**\n * @param type get url by type (data, shp, csv, xls, editing, ...)\n */\n\n }, {\n key: 'getUrl',\n value: function getUrl(type) {\n return this.config.urls[type];\n }\n\n /**\n * Set config url\n * \n * @param { Object } url\n * @param url.type\n * @param url.url\n */\n\n }, {\n key: 'setUrl',\n value: function setUrl() {\n var _ref46 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n type = _ref46.type,\n url = _ref46.url;\n\n this.config.urls[type] = url;\n }\n\n /**\n * @returns {*} query url\n */\n\n }, {\n key: 'getQueryUrl',\n value: function getQueryUrl() {\n return this.config.urls.query;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getQueryLayerOrigName',\n value: function getQueryLayerOrigName() {\n return this.state.infolayer && '' !== this.config.infolayer ? this.config.infolayer : this.config.origname;\n }\n\n /**\n * @TODO Description\n *\n * @param ogcService\n *\n * @returns { default.watch.infoformat | * | string }\n */\n\n }, {\n key: 'getInfoFormat',\n value: function getInfoFormat(ogcService) {\n // In the case of NETCDF (qtime series)\n if (true === this.config.qtimeseries || 'gdal' === this.getSourceType()) {\n return 'application/json';\n }\n if (this.config.infoformat && '' !== this.config.infoformat && 'wfs' !== ogcService) {\n return this.config.infoformat;\n }\n return 'application/vnd.ogc.gml';\n }\n\n /**\n * @TODO Description\n *\n * @returns {(function(): *)|*|*[]}\n */\n\n }, {\n key: 'getInfoFormats',\n value: function getInfoFormats() {\n return this.state.infoformats;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getInfoUrl',\n value: function getInfoUrl() {\n return this.config.infourl;\n }\n\n /**\n * @TODO Description\n *\n * @param infoFormat\n */\n\n }, {\n key: 'setInfoFormat',\n value: function setInfoFormat(infoFormat) {\n this.config.infoformat = infoFormat;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*|{}}\n */\n\n }, {\n key: 'getAttributes',\n value: function getAttributes() {\n return this.config.fields;\n }\n\n /**\n * @TODO Description\n *\n * @param attribute\n * @param type\n * @param options\n */\n\n }, {\n key: 'changeAttribute',\n value: function changeAttribute(attribute, type, options) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = this.config.fields[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var field = _step.value;\n\n if (field.name === attribute) {\n field.type = type;\n field.options = options;\n break;\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n\n /**\n * @TODO Description\n *\n * @param name\n *\n * @returns {*}\n */\n\n }, {\n key: 'getAttributeLabel',\n value: function getAttributeLabel(name) {\n return (this.getAttributes().find(function (a) {\n return name === a.name;\n }) || {}).label;\n }\n\n /**\n * Return provider by type\n *\n * @param type\n *\n * @returns {*}\n */\n\n }, {\n key: 'getProvider',\n value: function getProvider(type) {\n return this.providers[type];\n }\n\n /**\n * Return all providers\n *\n * @returns {*|{filter: null, search: null, data: null, query: null, filtertoken: null}}\n */\n\n }, {\n key: 'getProviders',\n value: function getProviders() {\n return this.providers;\n }\n\n /**\n * @TODO Description\n *\n * @returns {*}\n */\n\n }, {\n key: 'getLayersStore',\n value: function getLayersStore() {\n return this._layersstore;\n }\n\n /**\n * @TODO Description\n *\n * @param layerstore\n */\n\n }, {\n key: 'setLayersStore',\n value: function setLayersStore(layerstore) {\n this._layersstore = layerstore;\n }\n\n /**\n * Return if it is possible to show table of attribute\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'canShowTable',\n value: function canShowTable() {\n if (this.config.not_show_attributes_table || this.isBaseLayer()) {\n return false;\n }\n\n if (\"QGIS\" === this.getServerType() && [\"postgres\", \"oracle\", \"wfs\", \"ogr\", \"mssql\", \"spatialite\"].includes(this.config.source.type) && this.isQueryable()) {\n return this.getTableFields().length > 0;\n }\n\n if (\"G3WSUITE\" === this.getServerType() && \"geojson\" === this.get('source').type) {\n return true;\n }\n\n if (\"G3WSUITE\" !== this.getServerType() && this.isFilterable()) {\n return true;\n }\n\n return false;\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } field\n * @param field.name\n * @param field.type\n * @param field.options\n * @param field.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeFieldType',\n value: function changeFieldType() {\n var _ref47 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref47.name,\n type = _ref47.type,\n _ref47$options = _ref47.options,\n options = _ref47$options === undefined ? {} : _ref47$options,\n _ref47$reset = _ref47.reset,\n reset = _ref47$reset === undefined ? false : _ref47$reset;\n\n var field = this.getFields().find(function (f) {\n return name === f.name;\n });\n\n if (field && reset) {\n field.type = field._type;\n delete field._type;\n delete field[type + 'options'];\n return field.type;\n }\n\n if (field && !reset) {\n field._type = field.type;\n field.type = type;\n field[type + 'options'] = options;\n return field._type;\n }\n }\n\n /**\n * @TODO Description\n *\n * @param { Object } config\n * @param config.name\n * @param config.type\n * @param config.options\n * @param config.reset\n *\n * @returns {*}\n */\n\n }, {\n key: 'changeConfigFieldType',\n value: function changeConfigFieldType(_ref48) {\n var name = _ref48.name,\n type = _ref48.type,\n _ref48$options = _ref48.options,\n options = _ref48$options === undefined ? {} : _ref48$options,\n _ref48$reset = _ref48.reset,\n reset = _ref48$reset === undefined ? false : _ref48$reset;\n\n return this.changeFieldType({ name: name, type: type, options: options, reset: reset });\n }\n\n /**\n * Function called in case of change project to remove all stored information \n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n\n /**\n * @returns {boolean} whether is a vector layer\n */\n\n }, {\n key: 'isVector',\n value: function isVector() {\n return Layer.LayerTypes.VECTOR === this.getType();\n }\n\n /**\n * @returns {boolean} whether is a table layer\n */\n\n }, {\n key: 'isTable',\n value: function isTable() {\n return Layer.LayerTypes.TABLE === this.getType();\n }\n\n /**\n * @since 3.8.0\n */\n\n }, {\n key: 'getFeatureCount',\n value: function getFeatureCount() {\n return this.state.featurecount;\n }\n\n /**\n * @param style\n * \n * @returns { Promise}\n * \n * @since 3.8.0\n */\n\n }, {\n key: 'getStyleFeatureCount',\n value: function () {\n var _ref49 = _asyncToGenerator(function* (style) {\n // skip when layer hasn't feature count option set on QGIS project\n if (undefined === this.state.stylesfeaturecount) {\n return;\n }\n if (undefined === this.state.stylesfeaturecount[style]) {\n try {\n var _ref50 = yield _XHR.XHR.post({\n url: '' + this.config.urls.featurecount + this.getId() + '/',\n data: JSON.stringify({ style: style }),\n contentType: 'application/json'\n }),\n result = _ref50.result,\n data = _ref50.data;\n\n this.state.stylesfeaturecount[style] = true === result ? data : {};\n } catch (e) {\n cansole.warn(e);\n this.state.stylesfeaturecount[style] = {};\n }\n }\n return this.state.stylesfeaturecount[style];\n });\n\n function getStyleFeatureCount(_x55) {\n return _ref49.apply(this, arguments);\n }\n\n return getStyleFeatureCount;\n }()\n\n /**\n * @returns { string } layer format (eg. 'image/png') \n * \n * @since 3.9.1\n */\n\n }, {\n key: 'getFormat',\n value: function getFormat() {\n return this.config.format || _application2.default.project.state.wms_getmap_format || 'image/png';\n }\n\n /**\n * @since 3.10.0\n */\n\n }, {\n key: 'openAttributeTable',\n value: function openAttributeTable() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n new (Vue.extend(_Table2.default))(_extends({}, opts, { layerId: this.state.id }));\n }\n }]);\n\n return Layer;\n}(_g3wObject2.default);\n\n/******************************************************************************************\n * LAYER PROPERTIES\n *****************************************************************************************/\n\n/**\n * Layer Types\n */\n\n\nLayer.LayerTypes = {\n TABLE: \"table\",\n IMAGE: \"image\",\n VECTOR: \"vector\"\n};\n\n/**\n * Layer Capabilities\n */\nLayer.CAPABILITIES = {\n QUERYABLE: 1,\n FILTERABLE: 2,\n EDITABLE: 4\n};\n\nexports.Layer = Layer;\n\n},{\"components/Table.vue\":108,\"g3w-constants\":125,\"g3w-i18n\":128,\"g3w-object\":129,\"map/layers/feature\":151,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/createRelationsUrl\":194,\"utils/downloadFile\":200,\"utils/get_legend_params\":218,\"utils/parseAttributes\":229,\"utils/parsers\":230,\"utils/promisify\":232,\"utils/prompt\":233}],156:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.LayersStore = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/layersstore.js@v3.10.2\n * @since 3.11.0\n */\n\nvar LayersStore = exports.LayersStore = function (_G3WObject) {\n _inherits(LayersStore, _G3WObject);\n\n function LayersStore() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, LayersStore);\n\n var _this = _possibleConstructorReturn(this, (LayersStore.__proto__ || Object.getPrototypeOf(LayersStore)).call(this));\n\n _this.config = {\n id: config.id || Date.now(),\n projection: config.projection,\n extent: config.extent,\n initextent: config.initextent,\n wmsUrl: config.wmsUrl,\n //set catalogable property\n catalog: true === config.catalog || false === config.catalog ? config.catalog : true\n };\n _this.state = {\n //useful to build layerstree\n layerstree: [],\n relations: null // useful to build a tree of relations\n };\n _this._isQueryable = true === config.queryable || false === config.queryable ? config.queryable : true;\n _this._layers = _this.config.layers || {};\n\n _this.setters = {\n setLayerSelected: function setLayerSelected(id, selected) {\n this.getLayers().forEach(function (l) {\n return l.state.selected = id === l.getId() ? selected : false;\n });\n },\n addLayers: function addLayers() {\n var _this2 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n layers.forEach(function (l) {\n return _this2.addLayer(l);\n });\n },\n addLayer: function addLayer(layer) {\n this._addLayer(layer);\n },\n removeLayer: function removeLayer(id) {\n this._removeLayer(id);\n }\n };\n return _this;\n }\n\n _createClass(LayersStore, [{\n key: 'isQueryable',\n value: function isQueryable() {\n return this._isQueryable;\n }\n }, {\n key: 'setQueryable',\n\n\n /**\n *\n * @param { Boolean } bool\n */\n value: function setQueryable(bool) {\n this._isQueryable = !!bool;\n }\n }, {\n key: 'showOnCatalog',\n value: function showOnCatalog() {\n return this.config.catalog;\n }\n }, {\n key: 'setOptions',\n value: function setOptions() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.config = config;\n }\n }, {\n key: 'getId',\n value: function getId() {\n return this.config.id;\n }\n }, {\n key: '_addLayer',\n value: function _addLayer(layer) {\n this._layers[layer.getId()] = layer;\n }\n }, {\n key: '_removeLayer',\n value: function _removeLayer(layer) {\n delete this._layers[layer.getId()];\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this3 = this;\n\n Object.entries(this._layers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n _ = _ref2[0],\n layer = _ref2[1];\n\n return _this3.removeLayer(layer);\n });\n }\n }, {\n key: 'getLayersDict',\n value: function getLayersDict() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // skip when no filter is provided (eg. `filter = null`)\n if (!filter || [filter.PRINTABLE, filter.QUERYABLE, filter.FILTERABLE, filter.EDITABLE, filter.VISIBLE, filter.SELECTED, filter.CACHED, filter.SELECTED_OR_ALL, filter.SERVERTYPE, filter.BASELAYER, filter.GEOLAYER, filter.VECTORLAYER, filter.HIDDEN, filter.DISABLED, filter.IDS].every(function (f) {\n return undefined === f;\n })) {\n return this._layers;\n }\n\n var layers = Object.values(this._layers);\n\n if (filter.IDS) {\n var ids = [].concat(filter.IDS);\n layers = layers.filter(function (l) {\n return ids.includes(l.getId());\n });\n }\n\n // check if there are `selected` layers otherwise get all `layers`\n if (filter.SELECTED_OR_ALL) {\n var selected = layers.filter(function (l) {\n return l.isSelected();\n });\n layers = selected.length > 0 ? selected : layers;\n }\n\n // checks if a boolean filter is setted\n var has = function has(f) {\n return 'boolean' === typeof f;\n };\n\n if (has(filter.SELECTED) && !filter.SELECTED_OR_ALL) layers = layers.filter(function (l) {\n return filter.SELECTED === l.isSelected();\n });\n if (has(filter.QUERYABLE)) layers = layers.filter(function (l) {\n return filter.QUERYABLE === l.isQueryable();\n });\n if (has(filter.FILTERABLE)) layers = layers.filter(function (l) {\n return filter.FILTERABLE === l.isFilterable(options.filtrable || null);\n });\n if (has(filter.EDITABLE)) layers = layers.filter(function (l) {\n return filter.EDITABLE === l.isEditable();\n });\n if (has(filter.VISIBLE)) layers = layers.filter(function (l) {\n return filter.VISIBLE === l.isVisible();\n });\n if (has(filter.CACHED)) layers = layers.filter(function (l) {\n return filter.CACHED === l.isCached();\n });\n if (has(filter.BASELAYER)) layers = layers.filter(function (l) {\n return filter.BASELAYER === l.isBaseLayer();\n });\n if (has(filter.GEOLAYER)) layers = layers.filter(function (l) {\n return filter.GEOLAYER === l.state.geolayer;\n });\n if (has(filter.VECTORLAYER)) layers = layers.filter(function (l) {\n return filter.VECTORLAYER === l.isType('vector');\n });\n if (has(filter.HIDDEN)) layers = layers.filter(function (l) {\n return filter.HIDDEN === l.isHidden();\n });\n if (has(filter.DISABLED)) layers = layers.filter(function (l) {\n return filter.DISABLED === l.isDisabled();\n });\n if ('string' === typeof filter.SERVERTYPE && filter.SERVERTYPE.length) layers = layers.filter(function (l) {\n return filter.SERVERTYPE === l.getServerType();\n });\n if (filter.PRINTABLE) layers = layers.filter(function (l) {\n return l.state.geolayer && l.isPrintable({ scale: filter.PRINTABLE.scale });\n });\n\n /**@since v3.10.3 order TOC */\n if (options.TOC_ORDER && this.state.layerstree) {\n return this._getAllSiblingsChildrenLayersId(this.state.layerstree[0]).filter(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n }).map(function (id) {\n return layers.find(function (l) {\n return id === l.getId();\n });\n });\n }\n\n return layers;\n }\n }, {\n key: 'getLayers',\n\n\n // return layers array\n value: function getLayers() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(this.getLayersDict(filter, options));\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this.getLayersDict({ BASELAYER: true });\n }\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getLayersDict()[id];\n }\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this._layers.find(function (l) {\n return name === l.getName();\n });\n }\n }, {\n key: 'getLayerAttributes',\n value: function getLayerAttributes(id) {\n return this.getLayerById(id).getAttributes();\n }\n }, {\n key: 'getLayerAttributeLabel',\n value: function getLayerAttributeLabel(id, name) {\n return this.getLayerById(id).getAttributeLabel(name);\n }\n }, {\n key: 'getGeoLayers',\n value: function getGeoLayers() {\n return this.getLayers({ GEOLAYER: true });\n }\n }, {\n key: '_getAllSiblingsChildrenLayersId',\n value: function _getAllSiblingsChildrenLayersId(layerstree) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n traverse(layerstree);\n return nodeIds;\n }\n }, {\n key: '_getAllParentLayersId',\n value: function _getAllParentLayersId(layerstree, node) {\n var nodeIds = [];\n var traverse = function traverse(layerstree) {\n layerstree.nodes.forEach(function (n) {\n if (n.id) {\n nodeIds.push(n.id);\n }\n });\n };\n\n traverse({ nodes: layerstree.nodes.filter(function (n) {\n return node !== n;\n }) });\n\n return nodeIds;\n }\n }, {\n key: 'selectLayer',\n value: function selectLayer(id, selected) {\n this.setLayerSelected(id, selected);\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.config.projection;\n }\n }, {\n key: 'getExtent',\n value: function getExtent() {\n return this.config.extent;\n }\n }, {\n key: 'getInitExtent',\n value: function getInitExtent() {\n return this.config.initextent;\n }\n }, {\n key: 'getWmsUrl',\n value: function getWmsUrl() {\n return this.config.wmsUrl;\n }\n }, {\n key: 'removeLayersTree',\n value: function removeLayersTree() {\n this.state.layerstree.splice(0, this.state.layerstree.length);\n }\n }, {\n key: 'getLayersTree',\n value: function getLayersTree() {\n return this.state.layerstree;\n }\n }, {\n key: 'setLayersTree',\n\n\n /**\n * Set layersstree of layers inside the layersstore\n *\n * @param {unknown[]} layerstree nodes\n * @param {string} name\n * @param {boolean} [expanded = true]\n */\n value: function setLayersTree() {\n var layerstree = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var name = arguments[1];\n var expanded = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var _getInitExtent = this.getInitExtent(),\n _getInitExtent2 = _slicedToArray(_getInitExtent, 4),\n minx = _getInitExtent2[0],\n miny = _getInitExtent2[1],\n maxx = _getInitExtent2[2],\n maxy = _getInitExtent2[3];\n\n // Root group project that contains all layerstree of qgis project\n\n\n var rootGroup = {\n title: name || this.config.id,\n root: true,\n parentGroup: null,\n expanded: expanded,\n disabled: false,\n checked: true,\n /**\n * @since 3.8.0\n */\n bbox: { minx: minx, miny: miny, maxx: maxx, maxy: maxy },\n nodes: layerstree\n };\n\n if (layerstree.length > 0) {\n this._traverseLayersTree(layerstree, rootGroup);\n this.state.layerstree.splice(0, 0, rootGroup); // at the end\n }\n }\n }, {\n key: 'createLayersTree',\n\n\n /**\n * Used by external plugins to build layerstree\n *\n * @param {string} groupName is a ProjectName\n * @param options\n * @param {Object} [options.layerstree = null ]\n * @param {boolean} [options.expanded = false]\n * @param {boolean} [options.full = false]\n */\n value: function createLayersTree(groupName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n layerstree: null,\n expanded: false,\n full: false\n };\n\n\n var layerstree = [];\n\n // return layerstree from server project config (when setted)\n if (options.layerstree && true === options.full) {\n return this.state.layerstree;\n }\n\n // compare all layer ids from server config with all layer nodes on layerstree server property\n if (options.layerstree && true !== options.full) {\n var tocLayersId = this.getLayers({ BASELAYER: false }).map(function (l) {\n return l.getId();\n });\n this._traverseLightLayersTree(options.layerstree, layerstree, tocLayersId);\n }\n\n // retrieve all project layers that have geometry\n if (!options.layerstree) {\n layerstree = this.getGeoLayers().map(function (l) {\n return {\n id: l.getId(),\n name: l.getName(),\n title: l.getTitle(),\n visible: l.isVisible() || false\n };\n });\n }\n\n // setLayerstree\n this.setLayersTree(layerstree, groupName, options.expanded);\n }\n }, {\n key: '_traverseLightLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLightLayersTree(nodes, layerstree, tocLayersId) {\n var _this4 = this;\n\n nodes.forEach(function (n) {\n var lightlayer = null;\n\n // case TOC has layer ID\n if (null !== n.id && undefined !== n.id && tocLayersId.find(function (id) {\n return n.id === id;\n })) {\n lightlayer = _extends({}, lightlayer, n);\n }\n\n // case group\n if (null !== n.nodes && undefined !== n.nodes) {\n lightlayer = _extends({}, lightlayer, {\n name: n.name, /** @since 3.10.0 **/\n title: n.name,\n groupId: (0, _getUniqueDomId.getUniqueDomId)(),\n root: false,\n nodes: [],\n checked: n.checked,\n mutually_exclusive: n[\"mutually-exclusive\"],\n 'mutually-exclusive': n[\"mutually-exclusive\"] /** @since 3.10.0 */\n });\n _this4._traverseLightLayersTree(n.nodes, lightlayer.nodes, tocLayersId); // recursion step\n }\n\n // check if lightlayer is not null\n if (null !== lightlayer) {\n lightlayer.expanded = n.expanded; // expand legend item (TOC)\n layerstree.push(lightlayer);\n }\n });\n }\n }, {\n key: '_traverseLayersTree',\n\n\n /**\n * @since 3.8.0\n */\n value: function _traverseLayersTree(nodes, parentGroup) {\n var _this5 = this;\n\n nodes.forEach(function (node, index) {\n // substitute node layer with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n }\n // case of layer substitute node with layer state\n if (undefined !== node.id) {\n nodes[index] = _this5.getLayerById(node.id).getState();\n // pass bbox and epsg of layer\n if (undefined !== nodes[index].bbox) {\n _this5._setLayersTreeGroupBBox(parentGroup, { bbox: nodes[index].bbox, epsg: nodes[index].epsg });\n }\n }\n if (Array.isArray(node.nodes)) {\n node.nodes.forEach(function (n) {\n return n.parentGroup = parentGroup;\n });\n _this5._traverseLayersTree(node.nodes, node);\n }\n //SET PARENT GROUP\n nodes[index].parentGroup = parentGroup;\n });\n }\n }, {\n key: '_setLayersTreeGroupBBox',\n\n\n /**\n * @since 3.8.0\n */\n value: function _setLayersTreeGroupBBox(group) {\n var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n bbox = _ref3.bbox,\n epsg = _ref3.epsg;\n\n var project_epsg = this.getProjection().getCode();\n\n // translate bbox epsg to project epsg code (when they differ)\n if (epsg !== project_epsg) {\n var _ol$proj$transformExt = ol.proj.transformExtent([bbox.minx, bbox.miny, bbox.maxx, bbox.maxy], epsg, project_epsg),\n _ol$proj$transformExt2 = _slicedToArray(_ol$proj$transformExt, 4),\n minx = _ol$proj$transformExt2[0],\n miny = _ol$proj$transformExt2[1],\n maxx = _ol$proj$transformExt2[2],\n maxy = _ol$proj$transformExt2[3];\n\n bbox = { minx: minx, miny: miny, maxx: maxx, maxy: maxy };\n }\n\n // get current bbox or compute bbox from an ol extent\n if (undefined === group.bbox) {\n group.bbox = bbox;\n } else {\n group.bbox = ol.extent.extend([group.bbox.minx, group.bbox.miny, group.bbox.maxx, group.bbox.maxy], [bbox.minx, bbox.miny, bbox.maxx, bbox.maxy]).reduce(function (bbox, extentCoordinate, index) {\n switch (index) {\n case 0:\n bbox.minx = extentCoordinate;break;\n case 1:\n bbox.miny = extentCoordinate;break;\n case 2:\n bbox.maxx = extentCoordinate;break;\n case 3:\n bbox.maxy = extentCoordinate;break;\n }\n return bbox;\n }, { minxx: null, miny: null, maxx: null, maxy: null });\n }\n\n // Recursion\n if (group.parentGroup && false === group.parentGroup.root) {\n this._setLayersTreeGroupBBox(group.parentGroup, { bbox: group.bbox, epsg: project_epsg });\n }\n }\n }]);\n\n return LayersStore;\n}(_g3wObject2.default);\n\n},{\"g3w-object\":129,\"utils/getUniqueDomId\":217}],157:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TableLayer = undefined;\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _waitFor = require('utils/waitFor');\n\nvar _promisify = require('utils/promisify');\n\nvar _XHR = require('utils/XHR');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer = require('map/layers/layer');\n\nvar _featuresstore = require('map/layers/featuresstore');\n\nvar _feature = require('map/layers/feature');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/tablelayer.js@v3.10.2\n * @since 3.11.0\n */\n\n/** @deprecated */\nvar _cloneDeep = require('lodash.clonedeep');\n\n/**\n * Base Layer that support editing\n */\n\nvar TableLayer = exports.TableLayer = function (_Layer) {\n _inherits(TableLayer, _Layer);\n\n function TableLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, TableLayer);\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Hook setters methods\n */\n var _this = _possibleConstructorReturn(this, (TableLayer.__proto__ || Object.getPrototypeOf(TableLayer)).call(this, config, opts));\n\n _this.setters = {\n /**\n * Clear all features of the layer\n */\n clearFeatures: function clearFeatures() {\n this._featuresstore.clearFeatures();\n },\n addFeature: function addFeature(feature) {\n this._featuresstore.addFeature(feature);\n },\n\n /**\n * @TODO it used ????\n * @param feature\n */\n updateFeature: function updateFeature(feature) {\n this._featuresstore.updateFeature(feature);\n },\n setFeatures: function setFeatures(features) {\n this._featuresstore.setFeatures(features);\n },\n setColor: function setColor(color) {\n this._color = color;\n },\n\n\n /**\n * get data from every sources (server, wms, etc..)\n * through provider related to featuresstore\n *\n * @param {*} opts\n */\n getFeatures: function getFeatures() {\n var _this2 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var features = yield (0, _promisify.promisify)(_this2._featuresstore.getFeatures(opts));\n _this2.emit('getFeatures', features);\n return features;\n }));\n },\n commit: function commit(commitItems) {\n var _this3 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var response = yield (0, _promisify.promisify)(_this3._featuresstore.commit(commitItems));\n // sync selection filter features\n if (response && response.result) {\n try {\n var layer = (0, _getCatalogLayerById.getCatalogLayerById)(_this3.getId());\n //if layer has geometry\n if (layer.isGeoLayer()) {\n commitItems.update.forEach(function () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n id = _ref3.id,\n geometry = _ref3.geometry;\n\n if (layer.getOlSelectionFeature(id)) {\n layer.updateOlSelectionFeature({ id: id, geometry: geometry });\n }\n });\n }\n commitItems.delete.forEach(function (id) {\n if (layer.hasSelectionFid(id)) {\n layer.excludeSelectionFid(id);\n }\n });\n } catch (e) {\n console.warn(e);\n }\n }\n return response;\n }));\n }\n };\n\n /**\n * EDITING API URL: /api/vector////\n *\n * @example /api/vector/config/qdjango/10/points273849503023\n */\n _this.type = _layer.Layer.LayerTypes.TABLE;\n\n /**\n * color\n */\n _this._color = null;\n\n /**\n * @FIXME add description\n */\n _this.layerId = config.id;\n\n // @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n // editable layer -- > update layer config info\n if (_this.isEditable()) {\n _this.layerForEditing = _asyncToGenerator(function* () {\n // get layer editing config (from server)\n try {\n var _ref5 = yield (0, _promisify.promisify)(_this.getProvider('data').getConfig(opts)),\n vector = _ref5.vector,\n _ref5$constraints = _ref5.constraints,\n constraints = _ref5$constraints === undefined ? {} : _ref5$constraints,\n capabilities = _ref5.capabilities;\n\n yield (0, _waitFor.waitFor)(function () {\n return window.g3wsdk.core.hasOwnProperty('editing');\n }, _g3wConstants.TIMEOUT); // wait until \"editing\" plugin is loaded\n // add editing configurations\n _this.config.editing = {\n fields: vector.fields || [],\n format: vector.format,\n constraints: constraints,\n capabilities: capabilities || window.g3wsdk.constant.DEFAULT_EDITING_CAPABILITIES, // default editing capabilities\n form: { perc: null }, // set editing form `perc` to null at beginning\n style: vector.style, // get vector layer style\n geometrytype: vector.geometrytype // whether is a vector layer\n };\n\n if (vector.style) {\n // set vector layer color \n _this.setColor(vector.style.color);\n }\n\n _this._editor = new window.g3wsdk.core.editing.Editor({ layer: _this }); // create an instance of editor\n _this.setReady(true); // set ready\n return _this;\n } catch (e) {\n console.warn(e);\n _this.setReady(false);\n return Promise.reject(_this);\n }\n })();\n\n _this.state = _extends({}, _this.state, {\n editing: {\n started: false,\n modified: false,\n ready: false\n }\n });\n }\n\n /**\n * Feature wrapper (to store feature)\n */\n _this._featuresstore = new _featuresstore.FeaturesStore({ provider: _this.providers.data });\n\n return _this;\n }\n\n /**\n *\n * @param perc\n */\n\n\n _createClass(TableLayer, [{\n key: 'setFormPercentage',\n value: function setFormPercentage(perc) {\n this.config.editing.form.perc = perc;\n }\n }, {\n key: 'getFormPercentage',\n value: function getFormPercentage() {\n return this.config.editing.form.perc;\n }\n }, {\n key: 'clone',\n value: function clone() {\n return _cloneDeep(this);\n }\n }, {\n key: 'getColor',\n value: function getColor() {\n return this._color;\n }\n }, {\n key: 'readFeatures',\n value: function readFeatures() {\n return this._featuresstore.readFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Get editing layer\n *\n * @param vectorurl\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'getLayerForEditing',\n value: function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n vectorurl = _ref7.vectorurl;\n\n if (vectorurl) {\n //@TODO Check if it used otherwise delete it\n this.vectorUrl = vectorurl;\n }\n\n try {\n return yield this.clone().layerForEditing; // cloned editable layer\n } catch (e) {\n console.warn(e);\n return e;\n }\n });\n\n function getLayerForEditing() {\n return _ref6.apply(this, arguments);\n }\n\n return getLayerForEditing;\n }()\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns return ol source of features\n */\n\n }, {\n key: 'getEditingSource',\n value: function getEditingSource() {\n return this._editor.getEditingSource();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @returns Array of features\n */\n\n }, {\n key: 'readEditingFeatures',\n value: function readEditingFeatures() {\n return this._editor.readEditingFeatures();\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {TableLayer}\n */\n\n }, {\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {{}}\n */\n\n }, {\n key: 'getEditingConstrains',\n value: function getEditingConstrains() {\n return this.config.editing.constraints;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*|string[]}\n */\n\n }, {\n key: 'getEditingCapabilities',\n value: function getEditingCapabilities() {\n return this.config.editing.capabilities;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param fieldName\n * @return {boolean}\n */\n\n }, {\n key: 'isFieldRequired',\n value: function isFieldRequired(fieldName) {\n return (this.getEditingFields().find(function (f) {\n return fieldName === f.name;\n }) || { validate: { required: false } }).validate.required;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * Unlock editing features\n *\n * @returns jQuery Promise\n */\n\n }, {\n key: 'unlock',\n value: function unlock() {\n var _this4 = this;\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n yield (0, _promisify.promisify)(_this4._featuresstore.unlock());\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param { Boolean } editable In case we want only editable fields\n * @returns layer fields\n */\n\n }, {\n key: 'getEditingFields',\n value: function getEditingFields() {\n var editable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n return editable ? (this.config.editing.fields || []).filter(function (f) {\n return f.editable;\n }) : this.config.editing.fields || [];\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n *\n * @returns {boolean} whether field is a Primary Key\n */\n\n }, {\n key: 'isPkField',\n value: function isPkField(field) {\n return (this.getEditingFields().find(function (f) {\n return field === f.name;\n }) || {}).pk;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param field\n * @return {boolean}\n */\n\n }, {\n key: 'isEditingFieldEditable',\n value: function isEditingFieldEditable(field) {\n return (this.getEditingFields().find(function (f) {\n return f.name === field;\n }) || { editable: false }).editable;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditingNotEditableFields',\n value: function getEditingNotEditableFields() {\n return this.config.editing.fields.filter(function (f) {\n return !f.editable;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getEditingMediaFields',\n value: function getEditingMediaFields() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n return this.config.editing.fields.filter(function (f) {\n return 'media' === f.input.type;\n }).map(function (f) {\n return f.name;\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {boolean}\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this.state.editing.ready;\n }\n }, {\n key: 'setReady',\n\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param bool\n */\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.state.editing.ready = bool;\n }\n }, {\n key: 'getWidgetData',\n value: function getWidgetData() {\n var _this5 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield _XHR.XHR.get({\n url: _this5.getProvider('data')._layer.getUrl('widget')[opts.type],\n params: { fields: opts.fields }\n });\n }));\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'getEditor',\n value: function getEditor() {\n return this._editor;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {*}\n */\n\n }, {\n key: 'isStarted',\n value: function isStarted() {\n return this._editor.isStarted();\n }\n }, {\n key: 'getFeaturesStore',\n value: function getFeaturesStore() {\n return this._featuresstore;\n }\n }, {\n key: 'setFeaturesStore',\n value: function setFeaturesStore(featuresstore) {\n this._featuresstore = featuresstore;\n }\n }, {\n key: 'setSource',\n value: function setSource(source) {\n this.setFeaturesStore(source);\n }\n }, {\n key: 'getSource',\n value: function getSource() {\n return this._featuresstore;\n }\n }, {\n key: 'addFeatures',\n value: function addFeatures() {\n var _this6 = this;\n\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n features.forEach(function (f) {\n return _this6.addFeature(f);\n });\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param lockIds\n */\n\n }, {\n key: 'addLockIds',\n value: function addLockIds(lockIds) {\n this._featuresstore.addLockIds(lockIds);\n }\n\n /**\n * create attributes from fields\n */\n\n }, {\n key: 'setFieldsWithValues',\n value: function setFieldsWithValues(feature, fields) {\n var createAttrs = function createAttrs() {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return fields.reduce(function (acc, f) {\n if ('child' === f.type) {\n acc[f.name] = createAttrs(f.fields);\n } else if ('null' === f.value) {\n f.value = null;\n }\n acc[f.name] = f.value;\n return acc;\n }, {});\n };\n var attributes = createAttrs(fields);\n feature.setProperties(attributes);\n return attributes;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @param obj\n * @param opts\n * @return {*}\n */\n\n }, {\n key: 'getFieldsWithValues',\n value: function getFieldsWithValues(obj) {\n var _this7 = this;\n\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _opts$exclude = opts.exclude,\n exclude = _opts$exclude === undefined ? [] : _opts$exclude,\n _opts$get_default_val = opts.get_default_value,\n get_default_value = _opts$get_default_val === undefined ? true : _opts$get_default_val;\n\n\n var fields = _cloneDeep(this.getEditingFields());\n var feature = void 0;\n\n if (obj instanceof _feature.Feature) {\n feature = obj;\n } else if (obj instanceof ol.Feature) {\n feature = new _feature.Feature({ feature: obj });\n } else if (obj) {\n feature = this.getFeatureById(obj);\n } else {\n return fields;\n }\n\n var attributes = feature.getProperties();\n\n fields.forEach(function (field) {\n\n field.value = attributes[field.name];\n field._value = attributes[field.name]; // store original value\n field.update = false; // at beginning set update false. Used to form\n\n field.visible = exclude.indexOf(field.name) === -1; // exclude contain field to set visible false\n\n // for editing purpose\n if (undefined === field.validate) {\n field.validate = {};\n }\n\n field.nullOption = undefined === field.nullOption || field.nullOption; //@since 3.11.0 used in InputSelect.vue component.\n field.forceNull = false;\n field.validate.valid = true;\n field.validate._valid = true; // useful to get previous value in certain case\n field.value_from_default_value = false; // need to be checked if the default value is set by server configuration field\n field.get_default_value = get_default_value; // specify if you need to get value from form field.input.options.default value in case of missing value of field.value\n field.validate.exclude_values = new Set(); // for validate.unique purpose to check is new value inserted or change needs to be di\n field.validate.unique = field.validate.unique || false;\n field.validate.required = field.validate.required || false;\n field.validate.mutually_valid = true;\n field.validate.empty = false; // Mean no value (field.value) set start value to false. It will be set once the input field is show\n field.validate.message = null;\n\n if (field.input) {\n var options = _this7.getEditingFields().find(function (f) {\n return f.name === field.name;\n }).input.options;\n field.input.options.loading = options.loading || { state: null };\n //check if value is defined otherwise set empty array (e.g., required for field.validate unique)\n field.input.options.values = options.values || [];\n }\n });\n\n return fields;\n }\n\n /**\n * @TODO Move it on https://github.com/g3w-suite/g3w-client-plugin-editing\n * @return {Feature}\n */\n\n }, {\n key: 'createNewFeature',\n value: function createNewFeature() {\n var feature = new _feature.Feature({\n feature: new ol.Feature(this.getEditingFields().reduce(function (props, f) {\n props[f.name] = null;return props;\n }, {}))\n });\n feature.setNew();\n return feature;\n }\n }]);\n\n return TableLayer;\n}(_layer.Layer);\n\n},{\"g3w-constants\":125,\"lodash.clonedeep\":\"lodash.clonedeep\",\"map/layers/feature\":151,\"map/layers/featuresstore\":152,\"map/layers/layer\":155,\"utils/XHR\":181,\"utils/getCatalogLayerById\":203,\"utils/promisify\":232,\"utils/waitFor\":243}],158:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.VectorLayer = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _geoMixin = require('map/layers/geo-mixin');\n\nvar _geoMixin2 = _interopRequireDefault(_geoMixin);\n\nvar _promisify = require('utils/promisify');\n\nvar _layer = require('map/layers/layer');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/core/layers/vectorlayer.js@v3.10.2\n * @since 3.11.0\n */\n\nvar VectorLayer = exports.VectorLayer = function (_GeoLayerMixin) {\n _inherits(VectorLayer, _GeoLayerMixin);\n\n function VectorLayer() {\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, VectorLayer);\n\n var _this = _possibleConstructorReturn(this, (VectorLayer.__proto__ || Object.getPrototypeOf(VectorLayer)).call(this, config, opts));\n\n _this._mapLayer = null; // later tah will be added to the map\n _this.type = _layer.Layer.LayerTypes.VECTOR;\n\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // need an ol layer for adding to the map\n _this.setup(config, opts);\n\n if ('G3WSUITE geojson' === layerType) {\n _this._g3w_geojson = true;\n _this.config.style = config.style;\n _this.setup(config);\n }\n\n return _this;\n }\n\n _createClass(VectorLayer, [{\n key: 'getEditingLayer',\n value: function getEditingLayer() {\n return this.getMapLayer().getOLLayer();\n }\n }, {\n key: 'resetEditingSource',\n value: function resetEditingSource() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.getMapLayer().resetSource(features);\n }\n }, {\n key: 'getEditingGeometryType',\n value: function getEditingGeometryType() {\n return this.config.editing.geometrytype;\n }\n\n /**\n * ORIGINAL SOURCE: src/app/core/layers/map/vectorlayer.js@v3.10.1\n */\n\n }, {\n key: 'getMapLayer',\n value: function getMapLayer() {\n var _this2 = this;\n\n if (this._mapLayer) {\n return this._mapLayer;\n }\n\n this._mapLayer = new _g3wObject2.default();\n\n var style = this._g3w_geojson ? this.get('style') : this.config.editing ? this.config.editing.style : this.getCustomStyle();\n\n var olStyle = style ? new ol.style.Style(Object.entries(style || {}).reduce(function (styles, _ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n type = _ref2[0],\n config = _ref2[1];\n\n if ('point' === type && config.icon) {\n styles.image = new ol.style.Icon({ src: config.icon.url, imageSize: config.icon.width });\n }\n if ('line' === type) {\n styles.stroke = new ol.style.Stroke({ color: config.color, width: config.width });\n }\n if ('polygon' === type) {\n styles.fill = new ol.style.Fill({ color: config.color });\n }\n return styles;\n }, {})) : null;\n\n // create ol layer to add to map\n this._mapLayer._olLayer = new ol.layer.Vector({\n id: this.getId(),\n source: new ol.source.Vector({ features: this._editor && this._editor.getEditingSource().getFeaturesCollection() || [] || new ol.Collection() })\n });\n\n if (!olStyle && (0, _isPointGeometryType.isPointGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: this.getColor() }),\n radius: 5\n })\n });\n }\n\n if (!olStyle && (0, _isLineGeometryType.isLineGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: this.getColor(), width: 3 })\n });\n }\n\n if (!olStyle && (0, _isPolygonGeometryType.isPolygonGeometryType)(this.getGeometryType())) {\n olStyle = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: '#000000', width: 1 }),\n fill: new ol.style.Fill({ color: this.getColor() })\n });\n this._mapLayer._olLayer.setOpacity(0.6);\n }\n\n this._mapLayer._olLayer.setStyle(olStyle);\n\n Object.assign(this._mapLayer, {\n _olLayer: this._mapLayer._olLayer,\n mapService: _gui2.default.getService('map'),\n geometryType: this.getGeometryType(),\n geometrytype: null,\n type: null,\n crs: null,\n id: this.getId(),\n name: this._g3w_geojson && this.getName() || '',\n style: style,\n color: this.getColor(),\n projection: this._g3w_geojson ? this.getProjection().getCode() : _gui2.default.getService('map').getProjection().getCode(),\n url: this._g3w_geojson ? this.get('source').url : undefined,\n provider: this.getProvider('data'),\n getProvider: function getProvider() {\n return _this2._mapLayer.provider;\n },\n resetSource: function resetSource() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.setSource(new ol.source.Vector({ features: feats }));\n },\n getFeatures: function getFeatures() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return _this2._mapLayer.addFeatures((yield (0, _promisify.promisify)(_this2._mapLayer.provider.getFeatures(opts))));\n }));\n },\n addFeatures: function addFeatures() {\n var feats = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return _this2._mapLayer.getSource().addFeatures(feats);\n },\n addFeature: function addFeature(feat) {\n return feat && _this2.getSource().addFeature(feat);\n },\n getOLLayer: function getOLLayer() {\n return _this2._mapLayer._olLayer;\n },\n getSource: function getSource() {\n return _this2._mapLayer._olLayer.getSource();\n },\n setSource: function setSource(source) {\n return _this2._mapLayer._olLayer.setSource(source);\n },\n setStyle: function setStyle(style) {\n return _this2._mapLayer._olLayer.setStyle(style);\n },\n getFeatureById: function getFeatureById(id) {\n return id ? _this2._mapLayer._olLayer.getSource().getFeatureById(id) : null;\n },\n isVisible: function isVisible() {\n return _this2._mapLayer._olLayer.getVisible();\n },\n setVisible: function setVisible(bool) {\n return _this2._mapLayer._olLayer.setVisible(bool);\n },\n clear: function clear() {\n return _this2._mapLayer.getSource().clear();\n },\n addToMap: function addToMap(map) {\n return map.addLayer(_this2._mapLayer._olLayer);\n }\n\n });\n\n if (this._g3w_geojson) {\n this._mapLayer.getFeatures({\n url: this.get('source').url,\n mapProjection: _gui2.default.getService('map').getProjection().getCode()\n });\n }\n\n return this._mapLayer;\n }\n }]);\n\n return VectorLayer;\n}((0, _geoMixin2.default)(_tablelayer.TableLayer));\n\n},{\"g3w-object\":129,\"map/layers/geo-mixin\":153,\"map/layers/layer\":155,\"map/layers/tablelayer\":157,\"services/gui\":173,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/promisify\":232}],159:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n autocompleteRequest: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layerId = _ref2.layerId,\n field = _ref2.field,\n value = _ref2.value;\n\n var data = [];\n try {\n data = yield (0, _getCatalogLayerById.getCatalogLayerById)(layerId).getFilterData({\n suggest: field + '|' + value,\n unique: field\n });\n } catch (e) {\n console.warn(e);\n }\n return data.map(function (value) {\n return { id: value, text: value };\n });\n });\n\n function autocompleteRequest() {\n return _ref.apply(this, arguments);\n }\n\n return autocompleteRequest;\n }()\n }\n};\n\n},{\"utils/getCatalogLayerById\":203}],160:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n tabIndex: function tabIndex() {\n return this.editable ? 0 : -1;\n },\n notvalid: function notvalid() {\n return false === this.state.validate.valid;\n },\n editable: function editable() {\n return this.state.editable;\n },\n showhelpicon: function showhelpicon() {\n return this.state.help && this.state.help.message.trim();\n },\n disabled: function disabled() {\n return !this.editable || ['loading', 'error'].includes(this.loadingState);\n },\n loadingState: function loadingState() {\n return this.state.input.options.loading ? this.state.input.options.loading.state : null;\n }\n },\n methods: {\n /**\n * @since v3.9.1\n * @param bool\n */\n setLoading: function setLoading(bool) {\n this.state.input.options.loading.state = bool ? 'loading' : 'ready';\n },\n showHideHelp: function showHideHelp() {\n this.state.help.visible = !this.state.help.visible;\n },\n\n // used to text input to listen to mobile changes\n mobileChange: function mobileChange(event) {\n this.state.value = event.target.value;\n this.change();\n },\n\n // called when input value change\n change: function change() {\n this.service.setEmpty();\n // validate input every time on change\n // because can be inserted a text where state.input.type (widget) is text but state.type is integer\n this.service.validate();\n //after check if is valid need to set update\n this.service.setUpdate();\n // emit change input\n this.$emit('changeinput', this.state);\n },\n isVisible: function isVisible() {}\n }\n};\n\n},{}],161:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.8\n */\n\nexports.default = {\n created: function created() {\n /**\n * Store `click` and `doubleclick` events on a single vue element.\n *\n * @see https://stackoverflow.com/q/41303982\n */\n this.__CLICK_EVENT = {\n count: 0, // count click events\n timeoutID: null // timeoutID return by setTimeout Function\n };\n },\n\n\n methods: {\n\n /**\n * @param {{ '1': () => {}, '2': () => {}}} callbacks hashmap of click event handlers ('1' = click, '2' = double click)\n * @param context\n */\n handleClick: function handleClick() {\n var _this = this;\n\n var callbacks = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var context = arguments[1];\n\n if (!this.__CLICK_EVENT) {\n console.warn('click mixin not initialized on context:', context);\n return;\n }\n this.__CLICK_EVENT.count += 1; // increment click count\n if (!this.__CLICK_EVENT.timeoutID) {\n // skip and wait for timeout in order to detect double click\n this.__CLICK_EVENT.timeoutID = setTimeout(function () {\n if (undefined !== callbacks[_this.__CLICK_EVENT.count]) {\n callbacks[_this.__CLICK_EVENT.count].call(context);\n }\n _this.__resetClickMixin();\n }, 300);\n }\n },\n __resetClickMixin: function __resetClickMixin() {\n this.__CLICK_EVENT.count = 0;\n this.__CLICK_EVENT.timeoutID = null;\n },\n __clearClickMixin: function __clearClickMixin() {\n this.__resetClickMixin();\n this.__CLICK_EVENT = null;\n }\n },\n\n beforeDestroy: function beforeDestroy() {\n this.__clearClickMixin();\n }\n};\n\n},{}],162:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getFieldService: function getFieldService() {\n if (undefined === this._fieldsService) {\n this._fieldsService = require('gui/fields/fieldsservice');\n }\n return this._fieldsService;\n },\n getFieldType: function getFieldType(field) {\n return this.getFieldService().getType(field);\n },\n isSimple: function isSimple(field) {\n return this.getFieldService().isSimple(field);\n },\n isLink: function isLink(field) {\n return this.getFieldService().isLink(field);\n },\n isImage: function isImage(field) {\n return this.getFieldService().isImage(field);\n },\n isPhoto: function isPhoto(field) {\n return this.getFieldService().isPhoto(field);\n },\n isVue: function isVue(field) {\n return this.getFieldService().isVue(field);\n },\n sanitizeFieldValue: function sanitizeFieldValue(value) {\n return Array.isArray(value) && !value.length ? '' : value;\n }\n }\n};\n\n},{\"gui/fields/fieldsservice\":4}],163:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n valid: false\n };\n },\n\n methods: {\n addToValidate: function addToValidate(input) {\n this.tovalidate.push(input);\n },\n changeInput: function changeInput(input) {\n this.isValid(input);\n },\n\n // Every input sends to form it valid value that will change the genaral state of form\n isValid: function isValid(input) {\n var _this = this;\n\n if (input) {\n // check mutually\n if (input.validate.mutually) {\n if (!input.validate.required) {\n if (!input.validate.empty) {\n input.validate._valid = input.validate.valid;\n input.validate.mutually_valid = input.validate.mutually.reduce(function (previous, inputname) {\n return previous && _this.tovalidate[inputname].validate.empty;\n }, true);\n input.validate.valid = input.validate.mutually_valid && input.validate.valid;\n } else {\n input.value = null;\n input.validate.mutually_valid = true;\n input.validate.valid = true;\n input.validate._valid = true;\n var countNoTEmptyInputName = [];\n for (var i = input.validate.mutually.length; i--;) {\n var name = input.validate.mutually[i];\n if (!this.tovalidate[name].validate.empty) {\n countNoTEmptyInputName.push(name);\n }\n }\n if (countNoTEmptyInputName.length < 2) {\n countNoTEmptyInputName.forEach(function (name) {\n _this.tovalidate[name].validate.mutually_valid = true;\n _this.tovalidate[name].validate.valid = true;\n setTimeout(function () {\n _this.tovalidate[name].validate.valid = _this.tovalidate[name].validate._valid;\n _this.state.valid = _this.state.valid && _this.tovalidate[name].validate.valid;\n });\n });\n }\n }\n }\n //check if min_field or max_field is set\n } else if (!input.validate.empty && (input.validate.min_field || input.validate.max_field)) {\n var input_name = input.validate.min_field || input.validate.max_field;\n input.validate.valid = input.validate.min_field ? this.tovalidate[input.validate.min_field].validate.empty || 1 * input.value > 1 * this.tovalidate[input.validate.min_field].value : this.tovalidate[input.validate.max_field].validate.empty || 1 * input.value < 1 * this.tovalidate[input.validate.max_field].value;\n if (input.validate.valid) {\n this.tovalidate[input_name].validate.valid = true;\n }\n }\n }\n this.valid = Object.values(this.tovalidate).reduce(function (bool, input) {\n return bool && input.validate.valid;\n }, true);\n }\n },\n created: function created() {\n this.tovalidate = [];\n },\n destroyed: function destroyed() {\n this.tovalidate = null;\n }\n};\n\n},{}],164:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n methods: {\n showLayer: function showLayer() {\n this.visible = !this.visible;\n this.layer.setVisible(this.visible);\n }\n },\n created: function created() {\n var data = this.data;\n var mapProjection = _gui2.default.getService('map').getProjection().getCode();\n var style = void 0;\n switch (data.type) {\n case 'Point':\n case 'MultiPoint':\n style = [new ol.style.Style({\n image: new ol.style.Circle({\n radius: 6,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n }), new ol.style.Style({\n image: new ol.style.Circle({\n radius: 2,\n fill: new ol.style.Fill({ color: [255, 255, 255, 1.0] }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n })\n })];\n break;\n case 'Line':\n case 'MultiLineString':\n case 'Polygon':\n case 'MultiPolygon':\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255, 255, 255, 0.3)' }),\n stroke: new ol.style.Stroke({ color: [0, 0, 0, 1.0], width: 2 })\n });\n break;\n }\n this.layer = new ol.layer.Vector({\n source: new ol.source.Vector({\n features: new ol.format.GeoJSON().readFeatures(data, { featureProjection: mapProjection })\n }),\n visible: !!this.visible,\n style: style\n });\n _gui2.default.getService('map').getMap().addLayer(this.layer);\n },\n beforeDestroy: function beforeDestroy() {\n _gui2.default.getService('map').getMap().removeLayer(this.layer);\n }\n}; /**\n * @file\n * @since v3.7\n */\n\n},{\"services/gui\":173}],165:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.mixins = exports.autocompleteMixin = exports.baseInputMixin = exports.widgetMixins = exports.formInputsMixins = exports.select2Mixin = exports.selectMixin = exports.resizeMixin = exports.geoMixin = exports.mediaMixin = exports.fieldsMixin = undefined;\n\nvar _autocomplete = require('mixins/autocomplete');\n\nvar _autocomplete2 = _interopRequireDefault(_autocomplete);\n\nvar _fields = require('mixins/fields');\n\nvar _fields2 = _interopRequireDefault(_fields);\n\nvar _media = require('mixins/media');\n\nvar _media2 = _interopRequireDefault(_media);\n\nvar _geo = require('mixins/geo');\n\nvar _geo2 = _interopRequireDefault(_geo);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nvar _select = require('mixins/select');\n\nvar _select2 = _interopRequireDefault(_select);\n\nvar _select3 = require('mixins/select2');\n\nvar _select4 = _interopRequireDefault(_select3);\n\nvar _formInputs = require('mixins/form-inputs');\n\nvar _formInputs2 = _interopRequireDefault(_formInputs);\n\nvar _widget = require('mixins/widget');\n\nvar _widget2 = _interopRequireDefault(_widget);\n\nvar _baseInput = require('mixins/base-input');\n\nvar _baseInput2 = _interopRequireDefault(_baseInput);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\nvar mixins = {\n autocompleteMixin: _autocomplete2.default,\n fieldsMixin: _fields2.default,\n mediaMixin: _media2.default,\n geoMixin: _geo2.default,\n resizeMixin: _resize2.default,\n selectMixin: _select2.default,\n select2Mixin: _select4.default,\n formInputsMixins: _formInputs2.default,\n widgetMixins: _widget2.default,\n baseInputMixin: _baseInput2.default\n};\nexports.fieldsMixin = _fields2.default;\nexports.mediaMixin = _media2.default;\nexports.geoMixin = _geo2.default;\nexports.resizeMixin = _resize2.default;\nexports.selectMixin = _select2.default;\nexports.select2Mixin = _select4.default;\nexports.formInputsMixins = _formInputs2.default;\nexports.widgetMixins = _widget2.default;\nexports.baseInputMixin = _baseInput2.default;\nexports.autocompleteMixin = _autocomplete2.default;\nexports.mixins = mixins;\nexports.default = mixins;\n\n},{\"mixins/autocomplete\":159,\"mixins/base-input\":160,\"mixins/fields\":162,\"mixins/form-inputs\":163,\"mixins/geo\":164,\"mixins/media\":166,\"mixins/resize\":167,\"mixins/select\":168,\"mixins/select2\":169,\"mixins/widget\":170}],166:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n computed: {\n filename: function filename() {\n return this.value ? this.value.split('/').pop() : this.value;\n }\n },\n methods: {\n isMedia: function isMedia(value) {\n if (value && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value)) && Object === value.constructor) {\n return !!value.mime_type;\n }\n return false;\n },\n getMediaType: function getMediaType(mime_type) {\n var media = {\n type: null,\n options: {}\n };\n\n switch (mime_type) {\n case 'image/gif':\n case 'image/png':\n case 'image/jpeg':\n case 'image/bmp':\n media.type = 'image';\n break;\n case 'application/pdf':\n media.type = 'pdf';\n break;\n case 'video/mp4':\n case 'video/ogg':\n case 'video/x-ms-wmv':\n case 'video/x-msvideo':\n case 'video/quicktime':\n media.type = 'video';\n media.options.format = mime_type;\n break;\n case 'application/gzip':\n case 'application/zip':\n media.type = 'zip';\n break;\n case 'application/msword':\n case 'application/vnd.oasis.opendocument.text':\n media.type = 'text';\n break;\n case 'application/vnd.ms-office':\n case 'application/vnd.oasis.opendocument.spreadsheet':\n media.type = 'excel';\n break;\n case 'application/vnd.openxmlformats-officedocument.presentationml.presentation':\n case 'application/vnd.ms-powerpoint':\n case 'application/vnd.oasis.opendocument.presentation':\n media.type = 'ppt';\n break;\n default:\n media.type = 'unknow';\n }\n return media;\n }\n }\n};\n\n},{}],167:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _throttle = require('utils/throttle');\n\nvar _debounce = require('utils/debounce');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.7\n */\n\nvar DELAY_TYPE = {\n throttle: _throttle.throttle,\n debounce: _debounce.debounce\n};\n\nexports.default = {\n created: function created() {\n var delayWrapper = this.delayType && DELAY_TYPE[this.delayType] || DELAY_TYPE.throttle;\n this.delayResize = this.resize ? delayWrapper(this.resize.bind(this), this.delayTime) : null;\n _gui2.default.on('resize', this.delayResize);\n },\n mounted: function () {\n var _ref = _asyncToGenerator(function* () {\n yield this.$nextTick();\n if (this.resize) {\n this.resize();\n }\n });\n\n function mounted() {\n return _ref.apply(this, arguments);\n }\n\n return mounted;\n }(),\n beforeDestroy: function beforeDestroy() {\n _gui2.default.off('resize', this.delayResize);\n this.delayResize = null;\n this.delayTime = null;\n }\n};\n\n},{\"services/gui\":173,\"utils/debounce\":198,\"utils/throttle\":241}],168:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n methods: {\n getLanguage: function getLanguage() {\n return window.initConfig.user.i18n || \"en\";\n },\n changeSelect: function () {\n var _ref = _asyncToGenerator(function* (value) {\n this.state.value = 'null' === value ? null : value;\n //need to be waited in case of autocomplete\n yield this.$nextTick();\n this.change();\n });\n\n function changeSelect(_x) {\n return _ref.apply(this, arguments);\n }\n\n return changeSelect;\n }(),\n getValue: function getValue(value) {\n return null === value ? 'null' : value;\n },\n resetValues: function resetValues() {\n this.state.input.options.values.splice(0);\n }\n },\n computed: {\n autocomplete: function autocomplete() {\n return 'select_autocomplete' === this.state.input.type && this.state.input.options.usecompleter;\n }\n },\n watch: {\n notvalid: function () {\n var _ref2 = _asyncToGenerator(function* (value) {\n yield this.$nextTick();\n if (this.select2) {\n this.select2.data('select2').$container[value ? \"addClass\" : \"removeClass\"](\"input-error-validation\");\n }\n });\n\n function notvalid(_x2) {\n return _ref2.apply(this, arguments);\n }\n\n return notvalid;\n }()\n }\n};\n\n},{}],169:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _resize = require('mixins/resize');\n\nvar _resize2 = _interopRequireDefault(_resize);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n mixins: [_resize2.default],\n methods: {\n setValue: function setValue() {\n this.select2.val(this.state.value).trigger('change');\n },\n resize: function resize() {\n if (this.select2 && !_application2.default.ismobile) {\n this.select2.select2('close');\n }\n }\n },\n beforeDestroy: function beforeDestroy() {\n //destroy a select2 dom element\n if (this.select2) {\n this.select2.select2('destroy');\n // remove all events\n this.select2.off();\n this.select2 = null;\n }\n }\n};\n\n},{\"mixins/resize\":167,\"store/application\":178}],170:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * @file\n * @since v3.7\n */\n\nexports.default = {\n data: function data() {\n return {\n changed: false\n };\n },\n\n methods: {\n widgetChanged: function widgetChanged() {\n this.changed = true;\n this.change();\n },\n stateValueChanged: function stateValueChanged(value) {\n console.log('need to be implemented by widget'); // method to overwrite\n }\n },\n watch: {\n 'state.value': function stateValue(value) {\n if (this.changed) {\n this.changed = false;\n } else {\n this.stateValueChanged(value);\n }\n }\n }\n};\n\n},{}],171:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * @file\n * @since v3.6\n */\nvar ApplicationService = new _g3wObject2.default({ setters: {\n online: function online() {},\n offline: function offline() {}\n } });\nApplicationService.version = _g3wConstants.APP_VERSION;\n\nexports.default = ApplicationService;\n\n},{\"g3w-constants\":125,\"g3w-object\":129}],172:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _XHR = require('utils/XHR');\n\nvar _promisify = require('utils/promisify');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nvar handleQueryPromises = function () {\n var _ref = _asyncToGenerator(function* () {\n var promises = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var responses = yield Promise.allSettled(promises);\n // at least one response\n if (responses.some(function (r) {\n return 'fulfilled' === r.status;\n })) {\n return responses.filter(function (r) {\n return 'fulfilled' === r.status;\n }).map(function (r) {\n return r.value;\n });\n }\n // show all errors\n return Promise.reject(responses.filter(function (r) {\n return 'rejected' === r.status;\n }).map(function (r) {\n return r.reason;\n }));\n });\n\n return function handleQueryPromises() {\n return _ref.apply(this, arguments);\n };\n}();\n\nexports.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 getData: function () {\n var _ref2 = _asyncToGenerator(function* (contextAndMethod) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$inputs = options.inputs,\n inputs = _options$inputs === undefined ? {} : _options$inputs,\n _options$outputs = options.outputs,\n outputs = _options$outputs === undefined ? {} : _options$outputs;\n\n var promise = this[contextAndMethod](inputs);\n if (outputs) {\n _gui2.default.outputDataPlace(promise, outputs);\n }\n return yield yield promise;\n });\n\n function getData(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return getData;\n }(),\n\n\n /**\n * @param {{ coordinates: unknown, layerIds: unknown[], multilayers: boolean, query_point_tolerance: number, feature_count: number }}\n */\n 'query:coordinates': function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n coordinates = _ref4.coordinates,\n _ref4$layerIds = _ref4.layerIds,\n layerIds = _ref4$layerIds === undefined ? [] : _ref4$layerIds,\n _ref4$multilayers = _ref4.multilayers,\n multilayers = _ref4$multilayers === undefined ? false : _ref4$multilayers,\n _ref4$query_point_tol = _ref4.query_point_tolerance,\n query_point_tolerance = _ref4$query_point_tol === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref4$query_point_tol,\n _ref4$addExternal = _ref4.addExternal,\n addExternal = _ref4$addExternal === undefined ? true : _ref4$addExternal,\n feature_count = _ref4.feature_count;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({\n QUERYABLE: true,\n SELECTED_OR_ALL: 0 === layerIds.length,\n VISIBLE: true,\n IDS: layerIds.length ? layerIds.map(function (id) {\n return id;\n }) : undefined\n });\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n coordinates: coordinates,\n type: 'coordinates',\n external: {\n add: !external || layerIds.length > 0 ? 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) && (yield (0, _promisify.promisify)(this.getQueryLayersPromisesByCoordinates(layers, {\n multilayers: multilayers,\n feature_count: feature_count,\n query_point_tolerance: query_point_tolerance,\n coordinates: coordinates\n }))) || []).flatMap(function (_ref5) {\n var _ref5$data = _ref5.data,\n data = _ref5$data === undefined ? [] : _ref5$data;\n return data;\n })\n\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryCoordinates() {\n return _ref3.apply(this, arguments);\n }\n\n return queryCoordinates;\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 'query:bbox': function () {\n var _ref6 = _asyncToGenerator(function* () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n bbox = _ref7.bbox,\n _ref7$feature_count = _ref7.feature_count,\n feature_count = _ref7$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref7$feature_count,\n _ref7$filterConfig = _ref7.filterConfig,\n filterConfig = _ref7$filterConfig === undefined ? {} : _ref7$filterConfig,\n _ref7$multilayers = _ref7.multilayers,\n multilayers = _ref7$multilayers === undefined ? false : _ref7$multilayers,\n _ref7$condition = _ref7.condition,\n condition = _ref7$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref7$condition,\n _ref7$excludeSelected = _ref7.excludeSelected,\n excludeSelected = _ref7$excludeSelected === undefined ? null : _ref7$excludeSelected,\n _ref7$addExternal = _ref7.addExternal,\n addExternal = _ref7$addExternal === undefined ? true : _ref7$addExternal,\n _ref7$layersFilterObj = _ref7.layersFilterObject,\n layersFilterObject = _ref7$layersFilterObj === undefined ? { SELECTED_OR_ALL: true, FILTERABLE: true, VISIBLE: true } : _ref7$layersFilterObj;\n\n var external = _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n });\n var selected = external || ('boolean' == typeof excludeSelected ? excludeSelected : false);\n\n try {\n return {\n result: true,\n type: 'ows',\n query: {\n bbox: bbox,\n type: 'bbox',\n filterConfig: filterConfig,\n external: {\n add: addExternal,\n filter: {\n SELECTED: selected\n }\n }\n },\n data: (!external && (yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(layersFilterObject, condition),\n // options\n {\n geometry: ol.geom.Polygon.fromExtent(bbox),\n feature_count: feature_count,\n filterConfig: filterConfig,\n multilayers: multilayers,\n projection: _gui2.default.getService('map').getMap().getView().getProjection()\n })) || []).flatMap(function (_ref8) {\n var _ref8$data = _ref8.data,\n data = _ref8$data === undefined ? [] : _ref8$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryBbox() {\n return _ref6.apply(this, arguments);\n }\n\n return queryBbox;\n }(),\n\n\n /**\n * @param {{ feature: unknown, feature_count: unknown, filterConfig: unknown, multilayers: boolean, condition: boolean, excludeLayers: unknown[] }}\n */\n 'query:polygon': function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref10.feature,\n _ref10$feature_count = _ref10.feature_count,\n feature_count = _ref10$feature_count === undefined ? _application2.default.project.state.feature_count || 5 : _ref10$feature_count,\n _ref10$filterConfig = _ref10.filterConfig,\n filterConfig = _ref10$filterConfig === undefined ? {} : _ref10$filterConfig,\n _ref10$multilayers = _ref10.multilayers,\n multilayers = _ref10$multilayers === undefined ? false : _ref10$multilayers,\n _ref10$condition = _ref10.condition,\n condition = _ref10$condition === undefined ? { filtrable: { ows: 'WFS' } } : _ref10$condition,\n _ref10$layerName = _ref10.layerName,\n layerName = _ref10$layerName === undefined ? '' : _ref10$layerName,\n _ref10$excludeSelecte = _ref10.excludeSelected,\n excludeSelected = _ref10$excludeSelecte === undefined ? null : _ref10$excludeSelecte,\n _ref10$external = _ref10.external,\n external = _ref10$external === undefined ? {\n add: true,\n filter: {\n SELECTED: false\n }\n } : _ref10$external,\n _ref10$type = _ref10.type,\n type = _ref10$type === undefined ? 'polygon' : _ref10$type;\n\n var geometry = feature.getGeometry();\n\n try {\n return {\n result: true,\n type: 'ows',\n error: !geometry,\n query: {\n fid: _gui2.default.getService('catalog').state.external.vector.some(function (l) {\n return l.selected;\n }) ? feature.getId() : feature.get(_g3wConstants.G3W_FID),\n geometry: geometry,\n layerName: layerName,\n type: type,\n filterConfig: filterConfig,\n external: 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: ((yield this.getQueryLayersPromisesByGeometry(\n // layers\n (0, _getMapLayersByFilter.getMapLayersByFilter)(_extends({}, \"boolean\" === typeof excludeSelected ? { SELECTED: !excludeSelected } : { SELECTED_OR_ALL: true }, {\n FILTERABLE: true,\n VISIBLE: true\n }), condition),\n // options\n {\n geometry: geometry,\n multilayers: multilayers,\n feature_count: feature_count,\n filterConfig: filterConfig,\n projection: _application2.default.project.getProjection()\n })) || []).flatMap(function (_ref11) {\n var _ref11$data = _ref11.data,\n data = _ref11$data === undefined ? [] : _ref11$data;\n return data;\n })\n };\n } catch (error) {\n console.warn(error);\n throw error;\n }\n });\n\n function queryPolygon() {\n return _ref9.apply(this, arguments);\n }\n\n return queryPolygon;\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 * \n * @returns { Promise<{ data: [], query: { type: 'search', search: * }, type: 'api' | 'ows' }> }\n */\n 'search:features': function () {\n var _ref12 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n layer: layer,\n filter: filter,\n raw: false,\n queryUrl: queryUrl,\n feature_count: feature_count,\n formatter: 1,\n ordering: ordering\n };\n return _asyncToGenerator(function* () {\n var layer = options.layer,\n params = _objectWithoutProperties(options, ['layer']);\n\n params.filter = [].concat(params.filter); // check if filter is array\n\n return {\n data: (yield Promise.allSettled([].concat(layer).map(function (l, i) {\n return l.searchFeatures(_extends({}, params, { filter: params.filter[i] }));\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).map(function () {\n var _ref14 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n value = _ref14.value;\n\n if (options.raw) {\n return { data: value };\n }\n if (Array.isArray(value.data) && value.data.length > 0) {\n return value.data[0];\n }\n }),\n query: {\n type: 'search',\n search: options.filter\n },\n type: 'api'\n };\n })();\n });\n\n function searchFeatures() {\n return _ref12.apply(this, arguments);\n }\n\n return searchFeatures;\n }(),\n\n\n /**\n * Return feature from api\n * \n * @param opts.layer\n * @param opts.formatter\n * @param opts.fids\n */\n 'search:fids': function () {\n var _ref15 = _asyncToGenerator(function* () {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref16.layer,\n _ref16$formatter = _ref16.formatter,\n formatter = _ref16$formatter === undefined ? 0 : _ref16$formatter,\n _ref16$fids = _ref16.fids,\n fids = _ref16$fids === undefined ? [] : _ref16$fids;\n\n var features = [];\n try {\n // convert API response to Open Layer Features\n features = (layer && (yield layer.getFeatureByFids({ fids: fids, formatter: formatter })) || []).map(function (f) {\n var properties = undefined !== f.properties ? f.properties : {};\n properties[_g3wConstants.G3W_FID] = f.id;\n var 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: layer,\n features: features\n }],\n query: { type: 'search' }\n };\n });\n\n function searchFids() {\n return _ref15.apply(this, arguments);\n }\n\n return searchFids;\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 'search:layersfids': function () {\n var _ref17 = _asyncToGenerator(function* () {\n var _this = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref18$layers = _ref18.layers,\n layers = _ref18$layers === undefined ? [] : _ref18$layers,\n _ref18$fids = _ref18.fids,\n fids = _ref18$fids === undefined ? [] : _ref18$fids,\n _ref18$formatter = _ref18.formatter,\n formatter = _ref18$formatter === undefined ? 0 : _ref18$formatter;\n\n var data = [];\n try {\n data = (yield Promise.all(layers.map(function (layer, i) {\n return _this['search:fids']({ layer: layer, fids: fids[i], formatter: formatter });\n }))).map(function (response) {\n return response.data;\n });\n } catch (e) {\n console.warn(e);\n }\n return {\n data: data,\n query: { type: 'search' }\n };\n });\n\n function searchLayersfids() {\n return _ref17.apply(this, arguments);\n }\n\n return searchLayersfids;\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 'expression:expression': function () {\n var _ref19 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n try {\n var response = yield _XHR.XHR.post({\n url: '' + _application2.default.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 || [] : null;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function expressionExpression() {\n return _ref19.apply(this, arguments);\n }\n\n return expressionExpression;\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 'expression:expression_eval': function expressionExpression_eval() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return _XHR.XHR.post({\n url: '/api/expression_eval/' + _application2.default.project.getId() + '/',\n contentType: 'application/json',\n data: JSON.stringify(params)\n });\n },\n\n\n /**\n * @param data: Object conitans data to pass to proxy\n */\n 'proxy:wms': function () {\n var _ref20 = _asyncToGenerator(function* () {\n var _ref21 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref21.url,\n _ref21$method = _ref21.method,\n method = _ref21$method === undefined ? 'GET' : _ref21$method,\n _ref21$params = _ref21.params,\n params = _ref21$params === undefined ? {} : _ref21$params,\n _ref21$headers = _ref21.headers,\n headers = _ref21$headers === undefined ? {} : _ref21$headers;\n\n if (method === 'GET') {\n url = new URL(url);\n Object.keys(params).forEach(function (p) {\n return url.searchParams.set(p, params[p]);\n });\n url = url.toString();\n }\n try {\n return {\n response: yield _XHR.XHR.post({\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method }),\n contentType: 'application/json',\n url: '' + window.initConfig.proxyurl\n }),\n data: JSON.stringify({ url: url, params: params, headers: headers, method: method })\n };\n } catch (e) {\n console.warn(e);\n }\n });\n\n function proxyWms() {\n return _ref20.apply(this, arguments);\n }\n\n return proxyWms;\n }(),\n\n\n /**\n * Generic proxy data function\n */\n 'proxy:data': function proxyData() {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n },\n\n\n /**\n * @param params\n * \n * @returns {Promise<{data: string, response: *}>}\n */\n 'ows:wmsCapabilities': function () {\n var _ref22 = _asyncToGenerator(function* () {\n var _ref23 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref23.url;\n\n try {\n return yield _XHR.XHR.post({\n url: '' + window.initConfig.interfaceowsurl,\n contentType: 'application/json',\n data: JSON.stringify({ url: url, service: \"wms\" })\n });\n } catch (e) {\n console.warn(e);\n }\n });\n\n function owsWmsCapabilities() {\n return _ref22.apply(this, arguments);\n }\n\n return owsWmsCapabilities;\n }(),\n\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: function getQueryLayersPromisesByCoordinates(layers) {\n var _ref24 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n coordinates = _ref24.coordinates,\n _ref24$feature_count = _ref24.feature_count,\n feature_count = _ref24$feature_count === undefined ? 10 : _ref24$feature_count,\n _ref24$query_point_to = _ref24.query_point_tolerance,\n query_point_tolerance = _ref24$query_point_to === undefined ? _g3wConstants.QUERY_POINT_TOLERANCE : _ref24$query_point_to,\n _ref24$multilayers = _ref24.multilayers,\n multilayers = _ref24$multilayers === undefined ? false : _ref24$multilayers,\n _ref24$reproject = _ref24.reproject,\n reproject = _ref24$reproject === undefined ? true : _ref24$reproject;\n\n // skip when no features\n if (0 === layers.length) {\n return (0, _promisify.$promisify)(Promise.resolve(layers));\n }\n\n var map = _gui2.default.getService('map').getMap();\n var size = map.getSize();\n var mapProjection = map.getView().getProjection();\n var resolution = map.getView().getResolution();\n\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getInfoFormat() + ':' + l.getInfoUrl() + ':' + l.getMultiLayerId();\n }) : layers).map(function (layers) {\n return (0, _promisify.promisify)([].concat(layers)[0].query(multilayers ? { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution, reproject: reproject, layers: layers } : { feature_count: feature_count, coordinates: coordinates, query_point_tolerance: query_point_tolerance, mapProjection: mapProjection, size: size, resolution: resolution }));\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 getQueryLayersPromisesByGeometry: function () {\n var _ref26 = _asyncToGenerator(function* (layers) {\n var _ref27 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n geometry = _ref27.geometry,\n projection = _ref27.projection,\n _ref27$filterConfig = _ref27.filterConfig,\n filterConfig = _ref27$filterConfig === undefined ? {} : _ref27$filterConfig,\n _ref27$multilayers = _ref27.multilayers,\n multilayers = _ref27$multilayers === undefined ? false : _ref27$multilayers,\n _ref27$feature_count = _ref27.feature_count,\n feature_count = _ref27$feature_count === undefined ? 10 : _ref27$feature_count;\n\n // skip when no features\n if (0 === layers.length) {\n return [];\n }\n\n var mapCrs = projection.getCode();\n\n return yield handleQueryPromises(Object.values(multilayers ? (0, _groupBy.groupBy)(layers, function (l) {\n return l.getMultiLayerId() + '_' + l.getProjection().getCode();\n }) : layers).map(function (layers) {\n var layer = [].concat(layers)[0];\n var crs = layer.getProjection().getCode();\n var 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 (0, _promisify.promisify)(layer.query(multilayers ? { filter: filter, feature_count: feature_count, layers: layers } : { filter: filter, feature_count: feature_count, filterConfig: filterConfig }));\n }));\n });\n\n function getQueryLayersPromisesByGeometry(_x18) {\n return _ref26.apply(this, arguments);\n }\n\n return getQueryLayersPromisesByGeometry;\n }()\n};\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"services/gui\":173,\"store/application\":178,\"utils/XHR\":181,\"utils/getMapLayersByFilter\":210,\"utils/groupBy\":219,\"utils/promisify\":232}],173:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\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\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n/** clear all stacks */\nvar _clearContents = function () {\n var _ref = _asyncToGenerator(function* () {\n yield Promise.allSettled((_application2.default.contentsdata || []).map(function () {\n var _ref2 = _asyncToGenerator(function* (d) {\n if (d.content instanceof _g3wComponent2.default || d.content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(d.content.unmount());\n } else {\n $(GUI.getComponent('contents').parent).empty();\n }\n });\n\n return function (_x) {\n return _ref2.apply(this, arguments);\n };\n }()));\n _application2.default.contentsdata.splice(0, _application2.default.contentsdata.length);\n });\n\n return function _clearContents() {\n return _ref.apply(this, arguments);\n };\n}();\n\n/**\n * Convert error to user message showed\n * @param error\n * @returns {string}\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _g3wPanel = require('g3w-panel');\n\nvar _g3wPanel2 = _interopRequireDefault(_g3wPanel);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _iframe = require('services/iframe');\n\nvar _iframe2 = _interopRequireDefault(_iframe);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _toRawType = require('utils/toRawType');\n\nvar _promisify = require('utils/promisify');\n\nvar _getListableProjects = require('utils/getListableProjects');\n\nvar _getProjectUrl = require('utils/getProjectUrl');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/** store legacy frontend components */\nvar COMPONENTS = {};\n\n/* service know by the applications (standard) */\nvar SERVICES = {\n navbar: null,\n sidebar: null,\n viewport: null\n};\n\nfunction setViewSizes() {\n var state = _application2.default.viewport;\n\n var primaryView = state.primaryView;\n var secondaryView = 'map' === state.primaryView ? 'content' : 'map';\n var main_sidebar = $(\".main-sidebar\");\n var offset = main_sidebar.length && main_sidebar.offset().left;\n var width = main_sidebar.length && main_sidebar[0].getBoundingClientRect().width;\n var sideBarSpace = width + offset;\n var viewportWidth = $('#app')[0].getBoundingClientRect().width - sideBarSpace;\n var viewportHeight = $(document).innerHeight() - $('.navbar-header').innerHeight();\n // assign all width and height of the view to primary view (map)\n var primaryWidth = void 0;\n var primaryHeight = void 0;\n var secondaryWidth = void 0;\n var secondaryHeight = void 0;\n // percentage of secondary view (content)\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === state.split ? 'width' : 'height'];\n var scale = (state.secondaryPerc !== 100 && !is_fullview ? content_perc : 100) / 100;\n if ('h' === state.split) {\n secondaryWidth = state.secondaryVisible ? Math.max(viewportWidth * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n secondaryHeight = viewportHeight;\n primaryWidth = viewportWidth - secondaryWidth;\n primaryHeight = viewportHeight;\n } else {\n secondaryWidth = viewportWidth;\n secondaryHeight = state.secondaryVisible ? Math.max(viewportHeight * scale, _g3wConstants.VIEWPORT.resize.content.min) : 0;\n primaryWidth = state.secondaryVisible && scale === 1 ? 0 : viewportWidth;\n primaryHeight = viewportHeight - secondaryHeight;\n }\n state[primaryView].sizes.width = primaryWidth;\n state[primaryView].sizes.height = primaryHeight;\n state[secondaryView].sizes.width = secondaryWidth;\n state[secondaryView].sizes.height = secondaryHeight;\n}\n\n/**\n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\nfunction getReducedSizes() {\n var contentEl = $('.content');\n var reducedWidth = 0;\n var reducedHeight = 0;\n var sideBarToggleEl = $('.sidebar-aside-toggle');\n var is_fullview = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel[(_application2.default.viewport.split === 'h' ? 'width' : 'height') + '_100'];\n if (contentEl && _application2.default.viewport.secondaryVisible && is_fullview) {\n if (sideBarToggleEl && sideBarToggleEl.is(':visible')) {\n var toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', toggleWidth + 5);\n reducedWidth = toggleWidth - 5;\n }\n } else {\n var _toggleWidth = sideBarToggleEl.outerWidth();\n contentEl.css('padding-left', _application2.default.viewport.secondaryPerc === 100 ? _toggleWidth + 5 : 15);\n }\n return {\n reducedWidth: reducedWidth,\n reducedHeight: reducedHeight\n };\n}function errorToMessage(error) {\n var type = (0, _toRawType.toRawType)(error);\n\n if ('Error' === type) {\n return 'CLIENT - ' + error.message;\n }\n\n if ('Object' === type && error.responseJSON && false === error.responseJSON.result) {\n var e = error.responseJSON.error;\n return (e.code || '').toUpperCase() + ' ' + (e.data || '') + ' ' + (e.message || '');\n }\n\n if ('Object' === type && error.responseText) {\n return error.responseText;\n }\n\n if ('Array' === type) {\n return error.map(function (e) {\n return errorToMessage(e);\n }).join(' ');\n }\n\n return error || 'server_error';\n}\n\n// API della GUI.\n// methods have been defined by application\n// app should call GUI.ready() when GUI is ready\nexports.default = new (function (_G3WObject) {\n _inherits(GUI, _G3WObject);\n\n function GUI(opts) {\n _classCallCheck(this, GUI);\n\n var _this = _possibleConstructorReturn(this, (GUI.__proto__ || Object.getPrototypeOf(GUI)).call(this, opts));\n\n _this.setters = {\n setContent: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.emit('opencontent', true);\n\n // close user message before set content\n if (this._closeUserMessage) {\n this.closeUserMessage();\n }\n\n options.content = options.content || null;\n options.title = options.title || \"\";\n options.push = true === options.push || false === options.push ? options.push : false;\n options.perc = isMobile.any ? 100 : options.perc;\n options.split = options.split || 'h';\n options.backonclose = true === options.backonclose || false === options.backonclose ? options.backonclose : false;\n options.showtitle = true === options.showtitle || false === options.showtitle ? options.showtitle : true;\n\n var opts = options;\n\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n opts.perc = opts.perc !== undefined ? opts.perc : content_perc;\n\n // check if push is set\n opts.push = opts.push || false;\n var event = opts.perc === 100 ? 'show-content-full' : 'show-content';\n\n // set all content parameters\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n // call show view (in this case content (other is map)\n this._showView('content', opts);\n\n var contents = this.getComponent('contents');\n\n // whether to clean the stack every time, sure to have just one component.\n if (!opts.push) {\n yield _clearContents();\n }\n\n var content = opts.content;\n var _options = Object.assign(opts, { parent: contents.internalComponent.$el, append: true });\n contents.parent = _options.parent;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(contents.parent).append(el);\n _application2.default.contentsdata.push({ content: el, options: _options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', _application2.default.contentsdata.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = _application2.default.contentsdata.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(_application2.default.contentsdata[id].content.unmount());\n _application2.default.contentsdata.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(contents.parent, _options.append || false));\n $(contents.parent).localize();\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n // DOM element\n else {\n contents.parent.appendChild(content);\n _application2.default.contentsdata.push({ content: content, options: _options });\n }\n\n Array.from(contents.internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n contents.setOpen(true);\n\n this._layoutComponents(event);\n });\n\n function setContent() {\n return _ref3.apply(this, arguments);\n }\n\n return setContent;\n }()\n };\n\n _this.isready = false;\n\n //property to how a result has to be adding or close all and show new\n // false mean create new and close all open\n _this.push_content = false;\n\n _this._closeUserMessage = true;\n\n _this.dialog = bootbox;\n\n _this.notify = {\n warning: function warning(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'warning', message: message, autoclose: autoclose });\n },\n error: function error(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'alert', message: message, autoclose: autoclose });\n },\n info: function info(message) {\n var autoclose = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n _this.showUserMessage({ type: 'info', message: message, autoclose: autoclose });\n },\n success: function success(message) {\n _this.showUserMessage({ type: 'success', message: message, autoclose: true });\n }\n };\n\n /** @since 3.11.0 */\n _this.currentoutputplace = 'gui';\n\n return _this;\n }\n\n _createClass(GUI, [{\n key: 'addComponent',\n value: function addComponent(component, placeholder) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var register = true;\n if (placeholder && Object.keys(SERVICES).indexOf(placeholder) > -1) {\n // add component to the sidebar and set position inside the sidebar\n if ('sidebar' === placeholder) {\n if (!isMobile.any || false !== component.mobile) {\n _application2.default.sidebar.components.push(component);\n new (Vue.extend(require('components/SidebarItem.vue')))({ component: component, opts: options }).$mount();\n }\n register = true;\n } else if (SERVICES[placeholder]) {\n register = SERVICES[placeholder].addComponents([component], options);\n }\n }\n if (register) {\n this.setComponent(component);\n }\n return true;\n }\n\n /**\n * used by the following plugins: \"billboards\"\n */\n\n }, {\n key: 'setPushContent',\n value: function setPushContent() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.push_content = bool;\n }\n }, {\n key: 'setComponent',\n value: function setComponent(component) {\n var id = component.getId();\n if (undefined === COMPONENTS[id]) {\n COMPONENTS[id] = component;\n }\n }\n }, {\n key: 'getComponent',\n value: function getComponent(id) {\n return COMPONENTS[id];\n }\n }, {\n key: 'getComponents',\n value: function getComponents() {\n return COMPONENTS;\n }\n }, {\n key: 'ready',\n value: function ready() {\n var _this2 = this;\n\n var drawing = false;\n var resizeFired = false;\n function triggerResize() {\n resizeFired = true;\n drawResize();\n }\n /**\n * function called from resize of browser windows (also open dev tool)\n */\n var drawResize = function drawResize() {\n if (true === resizeFired) {\n resizeFired = false;\n drawing = true;\n _this2._layout('resize');\n requestAnimationFrame(drawResize);\n } else {\n drawing = false;\n }\n };\n\n // SetSidebar width (used by components/Viewport.vue single file component)\n _application2.default.viewport.SIDEBARWIDTH = this.getSize({ element: 'sidebar', what: 'width' });\n\n this._layout();\n\n // resize della window\n $(window).resize(function () {\n // set resizedFired to true and execute drawResize if it's not already running\n if (false === drawing) {\n triggerResize();\n }\n });\n\n // resize on main siedemar open close sidebar\n $('.main-sidebar').on('transitionend', function (event) {\n //be sure that is the main sidebar that is transitioned non his child\n if (event.target === this) {\n $(this).trigger('trans-end');\n triggerResize();\n }\n });\n\n this.emit('ready');\n this.isready = true;\n }\n }, {\n key: 'isReady',\n value: function isReady() {\n var _this3 = this;\n\n return new Promise(function (resolve) {\n return _this3.isready ? resolve() : _this3.once('ready', resolve);\n });\n }\n }, {\n key: 'getService',\n\n\n /**\n * Passing a component application ui id return service that belongs to component\n * @param componentId\n * @returns {*}\n */\n value: function getService(componentId) {\n var component = this.getComponent(componentId);\n return component && component.getService();\n }\n\n /* end spinner */\n\n /**\n * Wrapper for download\n *\n * @param { Function } downloadFnc function to call\n * @param { Object } options Object parameters\n *\n * @since 3.9.0\n */\n\n }, {\n key: 'downloadWrapper',\n value: function () {\n var _ref4 = _asyncToGenerator(function* (downloadFnc) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this.setLoadingContent(true);\n\n try {\n yield downloadFnc(options);\n } catch (e) {\n this.showUserMessage({ type: 'alert', message: e || 'server_error', textMessage: !!e });\n }\n _application2.default.download = true;\n _application2.default.download = false;\n\n this.setLoadingContent(false);\n });\n\n function downloadWrapper(_x9) {\n return _ref4.apply(this, arguments);\n }\n\n return downloadWrapper;\n }()\n\n /** @since 3.10.0 remove _setUpTemplateDependencies method**/\n\n }, {\n key: 'isMobile',\n value: function (_isMobile) {\n function isMobile() {\n return _isMobile.apply(this, arguments);\n }\n\n isMobile.toString = function () {\n return _isMobile.toString();\n };\n\n return isMobile;\n }(function () {\n return isMobile.any;\n })\n }, {\n key: 'getFontClass',\n value: function getFontClass(type) {\n return Vue.prototype.g3wtemplate.getFontClass(type);\n }\n\n /* Metodos to define */\n\n }, {\n key: 'getResourcesUrl',\n value: function getResourcesUrl() {\n return window.initConfig.staticurl + window.initConfig.client;\n }\n\n /**\n * Function called from DataRouterservice for gui output\n * \n * @param promise // is request data promise\n * @param { Object } output\n * @param { boolean | Function | Object } output.show set output condition (whether to show result or not)\n * @param { boolean } output.add\n * @param { String } output.title\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (promise) {\n var output = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n //set current unique request id of request\n var rid = (0, _getUniqueDomId.getUniqueDomId)();\n\n /** In the case of a current output result is iframe, send to IFrameRouterService.outputDataPlace*/\n if ('iframe' === this.currentoutputplace) {\n return _iframe2.default.outputDataPlace(promise, output);\n }\n\n //set loading state\n this.setLoadingContent(true);\n\n //check show attribute if is a valid type\n var condition = ['function', 'boolean'].includes(_typeof(output.show));\n\n Object.assign(output, _extends({\n condition: condition ? output.show : true,\n add: false\n }, condition ? {} : output.show));\n\n // abort any previous request\n if (this.pending_output) {\n yield this.pending_output();\n }\n\n // if request doesn't need to add to a current query result\n if (!output.add) {\n this.showQueryResults(output.title || '');\n }\n\n // Store data promise\n var data = {};\n // stop\n var stop = false;\n\n //set current pending out\n this.pending_output = _asyncToGenerator(function* () {\n return stop = true;\n });\n\n //set current request id\n this.crid = rid;\n\n try {\n\n if (!stop) {\n data = yield promise;\n }\n\n //if set before call method and wait\n if (!stop && output.before) {\n yield output.before(data);\n }\n\n // in case of usermessage show user message\n if (!stop && data.usermessage) {\n this.showUserMessage({\n type: data.usermessage.type,\n message: data.usermessage.message,\n autoclose: data.usermessage.autoclose\n });\n }\n\n var show = !stop && 'function' === typeof output.condition ? output.condition(data) : false !== output.condition;\n\n // check if data can be shown on query result content\n if (!stop && show) {\n (this.getService('queryresults') || this.showQueryResults(output.title || '')).setQueryResponse(data, { add: output.add });\n }\n\n if (!stop && !show) {\n this.pending_output = this.closeContent.bind(this);\n }\n\n // call after is set with data\n if (!stop && output.after) {\n output.after(data);\n }\n } catch (e) {\n console.warn(e);\n this.showUserMessage({\n type: 'alert',\n message: errorToMessage(e),\n textMessage: true\n });\n yield this.closeContent();\n }\n\n this.pending_output = null;\n //set loading to false when done current request id\n this.setLoadingContent(rid !== this.crid);\n });\n\n function outputDataPlace(_x11) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n }, {\n key: 'showForm',\n value: function showForm() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _require = require('components/g3w-form'),\n FormComponent = _require.FormComponent;\n // new instance every time\n\n\n var formComponent = options.formComponent ? new options.formComponent(options) : new FormComponent(options);\n this.setContent({\n perc: options.perc,\n content: formComponent,\n split: undefined !== options.split ? options.split : 'h',\n crumb: options.crumb,\n push: !!options.push, //only one (if other deletes previous component)\n showgoback: !!options.showgoback,\n closable: false\n });\n // return service\n return formComponent.getService();\n }\n\n /**\n *\n * @param pop remove or not content or pop\n */\n\n }, {\n key: 'closeForm',\n value: function closeForm() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref7$pop = _ref7.pop,\n pop = _ref7$pop === undefined ? false : _ref7$pop;\n\n this.emit('closeform', false);\n\n var backonclose = !pop && _application2.default.viewport.content.backonclose && _application2.default.viewport.content.contentsdata.length > 1;\n\n // remove just last component\n if (pop || backonclose) {\n this.popContent();\n }\n\n // remove all content stacks\n if (!pop && !backonclose) {\n this.closeContent();\n }\n\n this.setModal(false);\n }\n }, {\n key: 'disableElement',\n value: function disableElement(_ref8) {\n var element = _ref8.element,\n disable = _ref8.disable;\n\n $(element)[disable ? 'addClass' : 'removeClass']('g3w-disabled');\n }\n }, {\n key: 'disableContent',\n value: function disableContent(disable) {\n _application2.default.viewport.content.disabled = disable;\n }\n }, {\n key: 'disablePanel',\n value: function disablePanel() {\n var disable = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.disableElement({\n element: \"#g3w-sidebarpanel-placeholder\",\n disable: disable\n });\n }\n\n /**\n * collapse any expanded sidebar component \n */\n\n }, {\n key: 'closeSideBar',\n value: function closeSideBar() {\n _application2.default.sidebar.components.forEach(function (c) {\n return c.getOpen() && c.state.closewhenshowviewportcontent && c.collapsible && c.click({ open: false });\n });\n }\n }, {\n key: 'showQueryResults',\n\n\n // show results info/search\n value: function showQueryResults(title, results) {\n var queryresults = this.getComponent('queryresults').getService();\n\n queryresults.clearState();\n\n if (results) {\n queryresults.setQueryResponse(results);\n }\n\n // show contextual content\n this.setContent({\n content: this.getComponent('queryresults'),\n title: \"info.title\",\n crumb: { title: \"info.title\", trigger: null },\n push: this.push_content,\n post_title: title,\n perc: isMobile.any ? 100 : undefined\n });\n\n return queryresults;\n }\n\n /**\n * used by the following plugins: \"stress\" \n */\n\n }, {\n key: 'addNavbarItem',\n value: function addNavbarItem(item) {\n _application2.default.navbaritems.push(item);\n }\n }, {\n key: 'showPanel',\n value: function () {\n var _ref9 = _asyncToGenerator(function* (content) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _application2.default.sidebar.title = content.title;\n _application2.default.sidebar.parent = '#g3w-sidebarpanel-placeholder';\n\n var current = _application2.default.sidebar.contentsdata.at(-1);\n\n if (current) {\n $(current.content.internalPanel.$el).hide();\n }\n\n var options = _extends({ parent: '#g3w-sidebarpanel-placeholder' }, opts);\n var parent = _application2.default.sidebar.parent;\n var data = _application2.default.sidebar.contentsdata;\n\n // check the type of content:\n\n // String or JQuery\n if (content instanceof jQuery || 'string' === typeof content) {\n var el = 'string' === typeof content ? $(content).length ? $('
' + content + '
') : $(content) : content;\n $(parent).append(el);\n data.push({ content: el, options: options });\n console.warn('[G3W-CLIENT] jQuery components will be discontinued, please update your code as soon as possible', data.at(-1));\n }\n\n // Vue element\n else if (content.mount && 'function' === typeof content.mount) {\n // Check a duplicate element by component id (if already exist)\n var id = data.findIndex(function (d) {\n return d.content.getId && content.getId() === d.content.getId();\n });\n if (-1 !== id) {\n yield (0, _promisify.promisify)(data[id].content.unmount());\n data.splice(id, 1);\n }\n // Mount vue component\n yield (0, _promisify.promisify)(content.mount(parent, options.append || false));\n $(parent).localize();\n data.push({ content: content, options: options });\n }\n\n // DOM element\n else {\n parent.appendChild(content);\n data.push({ content: content, options: options });\n }\n });\n\n function showPanel(_x16) {\n return _ref9.apply(this, arguments);\n }\n\n return showPanel;\n }()\n }, {\n key: 'closePanel',\n value: function () {\n var _ref10 = _asyncToGenerator(function* () {\n var data = _application2.default.sidebar.contentsdata;\n if (data.length <= 0) {\n return;\n }\n var panel = data.slice(-1)[0].content;\n if (panel instanceof _g3wComponent2.default || panel instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(panel.unmount());\n } else {\n $(_application2.default.sidebar.parent).empty();\n }\n var content = data.pop();\n content = null;\n var current = _application2.default.sidebar.contentsdata.at(-1);\n if (current) {\n $(current.content.internalPanel.$el).show();\n _application2.default.sidebar.title = current.content.title;\n }\n });\n\n function closePanel() {\n return _ref10.apply(this, arguments);\n }\n\n return closePanel;\n }()\n\n //showusermessage\n\n }, {\n key: 'showUserMessage',\n value: function showUserMessage() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n title = _ref11.title,\n subtitle = _ref11.subtitle,\n message = _ref11.message,\n type = _ref11.type,\n position = _ref11.position,\n size = _ref11.size,\n draggable = _ref11.draggable,\n duration = _ref11.duration,\n _ref11$textMessage = _ref11.textMessage,\n textMessage = _ref11$textMessage === undefined ? false : _ref11$textMessage,\n closable = _ref11.closable,\n autoclose = _ref11.autoclose,\n _ref11$hooks = _ref11.hooks,\n hooks = _ref11$hooks === undefined ? {} : _ref11$hooks,\n _ref11$iconClass = _ref11.iconClass,\n iconClass = _ref11$iconClass === undefined ? null : _ref11$iconClass;\n\n this.closeUserMessage();\n\n setTimeout(function () {\n Object.assign(_application2.default.viewport.usermessage, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n show: true,\n message: message,\n textMessage: textMessage,\n title: title,\n subtitle: subtitle,\n position: position,\n duration: duration,\n type: type,\n size: size,\n autoclose: autoclose,\n closable: closable,\n draggable: draggable,\n hooks: hooks,\n iconClass: iconClass\n });\n });\n\n return _application2.default.viewport.usermessage;\n }\n }, {\n key: 'closeUserMessage',\n value: function closeUserMessage() {\n Object.assign(_application2.default.viewport.usermessage, {\n id: null,\n show: false,\n textMessage: false,\n message: ''\n });\n }\n\n //modal dialog//\n\n }, {\n key: 'showModalDialog',\n value: function showModalDialog() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return this.dialog.dialog(options);\n }\n }, {\n key: 'showSpinner',\n value: function showSpinner() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var container = options.container || 'body';\n var id = options.id || 'loadspinner';\n var where = options.where || 'prepend'; // append | prepend\n var style = options.style || '';\n var transparent = options.transparent && 'background-color: transparent' || '';\n var center = options.center && 'margin: auto' || '';\n if (!$('#' + id).length) {\n $(container)[where].call($(container), '
');\n }\n }\n }, {\n key: 'hideSpinner',\n value: function hideSpinner() {\n var id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'loadspinner';\n\n $('#' + id).remove();\n }\n\n /** @since 3.11.0*/\n\n }, {\n key: 'toggleSidebar',\n value: function toggleSidebar() {\n if (document.body.classList.contains('sidebar-open')) {\n this.hideSidebar();\n } else if (document.body.classList.contains('sidebar-collapse') || window.innerWidth <= 767) {\n this.showSidebar();\n } else {\n this.hideSidebar();\n }\n }\n\n /**\n * Toggle set full screen modal\n */\n\n }, {\n key: 'showFullModal',\n value: function showFullModal() {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$element = _ref12.element,\n element = _ref12$element === undefined ? \"#modal-fullscreen\" : _ref12$element,\n _ref12$show = _ref12.show,\n show = _ref12$show === undefined ? true : _ref12$show;\n\n $(element).modal(show ? 'show' : 'hide');\n }\n }, {\n key: 'disableSideBar',\n value: function disableSideBar() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n _application2.default.gui.sidebar.disabled = bool;\n }\n\n // (100%) content\n\n }, {\n key: 'showContent',\n value: function showContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.setLoadingContent(false);\n options.perc = isMobile.any ? 100 : options.perc;\n this.setContent(options);\n return true;\n }\n\n // add component to stack (append)\n // Differences between pushContent and setContent are:\n // - push every component is added, set is refreshed\n // - pushContent has a new parameter (backonclose) when is clicked x\n // - the contentComponent is close all stacks are closed\n\n }, {\n key: 'pushContent',\n value: function pushContent() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n options.perc = isMobile.any ? 100 : options.perc;\n options.push = true;\n this.setContent(options);\n }\n\n //return number of a component of stack\n\n }, {\n key: 'getContentLength',\n value: function getContentLength() {\n return _application2.default.viewport.content.contentsdata.length;\n }\n\n /**\n * change current content options\n * @param opts: { title, crumb, text }\n */\n\n }, {\n key: 'setCurrentContentOptions',\n value: function setCurrentContentOptions() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var content = _application2.default.viewport.content.contentsdata.at(-1) || null;\n if (content && opts.title) {\n content.options.title = opts.title;\n }\n if (content && opts.crumb) {\n content.options.crumb = opts.crumb;\n }\n }\n }, {\n key: 'getCurrentContent',\n value: function getCurrentContent() {\n return _application2.default.viewport.content.contentsdata.at(-1) || null;\n }\n\n /**\n * used by the following plugins: \"archiweb\"\n * \n * ORIGINAL SOURCE: src/components/g3w-projectsmenu.js@v3.10.2\n */\n\n }, {\n key: 'getProjectMenuDOM',\n value: function getProjectMenuDOM() {\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$projects = _ref13.projects,\n projects = _ref13$projects === undefined ? [] : _ref13$projects,\n host = _ref13.host,\n cbk = _ref13.cbk;\n\n var opts = {\n projects: projects && Array.isArray(projects) && projects,\n cbk: cbk,\n host: host\n };\n return new _g3wComponent2.default(_extends({}, opts, {\n id: 'projectsmenu',\n title: opts.title || 'menu',\n internalComponent: new (Vue.extend(require('components/ProjectsMenu.vue')))({\n host: opts.host,\n state: {\n menuitems: (opts.projects || (0, _getListableProjects.getListableProjects)()).map(function (p) {\n return {\n title: p.title,\n description: p.description,\n thumbnail: p.thumbnail,\n gid: p.gid,\n cbk: opts.cbk || function () {\n var o = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return (0, _promisify.$promisify)(_asyncToGenerator(function* () {\n var url = yield GUI.getService('map').addMapExtentUrlParameterToUrl((0, _getProjectUrl.getProjectUrl)(o.gid));\n try {\n history.replaceState(null, null, url);\n } catch (e) {\n console.warn(e);\n }location.replace(url);\n }));\n }\n };\n })\n }\n })\n })).getInternalComponent().$mount().$el;\n }\n }, {\n key: 'toggleUserMessage',\n value: function toggleUserMessage() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._closeUserMessage = bool;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideClientMenu',\n value: function hideClientMenu() {\n window.initConfig.user = null;\n }\n\n /**\n * used by the following plugins: \"stress\"\n */\n\n }, {\n key: 'hideChangeMaps',\n value: function hideChangeMaps() {\n window.initConfig.projects = [];\n }\n }, {\n key: 'setLoadingContent',\n value: function setLoadingContent() {\n var loading = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n _application2.default.viewport.content.loading = loading;\n return loading && new Promise(function (resolve) {\n return setTimeout(resolve, 200);\n });\n }\n }, {\n key: 'toggleFullViewContent',\n value: function toggleFullViewContent() {\n var state = _application2.default.viewport;\n var rightpanel = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel;\n\n rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'] = !rightpanel[(state.split === 'h' ? 'width' : 'height') + '_100'];\n this._layoutComponents();\n }\n\n // hide content\n\n }, {\n key: 'hideContent',\n value: function hideContent(bool) {\n var content_perc = _application2.default.gui.layout[_application2.default.gui.layout.__current].rightpanel['h' === _application2.default.viewport.split ? 'width' : 'height'];\n _application2.default.viewport.secondaryVisible = !bool;\n this._layout('hide-content');\n // return previous percentage\n return content_perc;\n }\n }, {\n key: 'closeContent',\n value: function () {\n var _ref15 = _asyncToGenerator(function* () {\n this.emit('closecontent', false);\n\n var state = _application2.default.viewport;\n var open = state.content.contentsdata.length > 0;\n\n // content is open → remove content\n if (open) {\n var contents = this.getComponent('contents');\n contents.setOpen(false);\n _clearContents();\n }\n\n // close secondary view\n if (open && 'map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n if (open) {\n state.secondaryVisible = false;\n this._layout('close-content');\n yield Vue.nextTick();\n }\n\n return this.getComponent('map');\n });\n\n function closeContent() {\n return _ref15.apply(this, arguments);\n }\n\n return closeContent;\n }()\n\n // remove last content from stack\n\n }, {\n key: 'popContent',\n value: function () {\n var _ref16 = _asyncToGenerator(function* () {\n // skip when ..\n if (!_application2.default.viewport.content.contentsdata.length) {\n return Promise.reject();\n }\n\n var data = this.getComponent('contents').contentsdata.at(-2);\n var opts = data.options;\n\n Object.assign(_application2.default.viewport.content, {\n title: opts.title,\n split: undefined !== opts.split ? opts.split : null,\n closable: undefined !== opts.closable ? opts.closable : true,\n backonclose: undefined !== opts.backonclose ? opts.backonclose : true,\n contentsdata: this.getComponent('contents').contentsdata,\n style: undefined !== opts.style ? opts.style : {},\n headertools: undefined !== opts.headertools ? opts.headertools : [],\n showgoback: undefined !== opts.showgoback ? opts.showgoback : true\n });\n\n this._showView('content', data.options);\n\n if (_application2.default.contentsdata.length <= 0) {\n return;\n }\n\n // component exists on stack → remove the last from stack\n var content = _application2.default.contentsdata.slice(-1)[0].content;\n\n if (content instanceof _g3wComponent2.default || content instanceof _g3wPanel2.default) {\n yield (0, _promisify.promisify)(content.unmount());\n } else {\n $(this.getComponent('contents').parent).empty();\n }\n\n _application2.default.contentsdata.pop();\n\n Array.from(this.getComponent('contents').internalComponent.$el.children) // hide other elements but not the last one\n .forEach(function (el, i, a) {\n return el.style.display = i === a.length - 1 ? 'block' : 'none';\n });\n\n _application2.default.viewport.secondaryPerc = data.options.perc;\n\n this._layout('pop-content');\n\n return this.getComponent('contents').contentsdata.at(-1);\n });\n\n function popContent() {\n return _ref16.apply(this, arguments);\n }\n\n return popContent;\n }()\n }, {\n key: 'isSidebarVisible',\n value: function isSidebarVisible() {\n return !document.body.classList.contains('sidebar-collapse');\n }\n }, {\n key: 'setModal',\n value: function setModal() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var message = arguments[1];\n\n var mapService = this.getService('map');\n if (bool) {\n mapService.startDrawGreyCover(message);\n } else {\n mapService.stopDrawGreyCover();\n }\n }\n }, {\n key: 'showSidebar',\n value: function showSidebar() {\n document.body.classList.add('sidebar-open');\n document.body.classList.remove('sidebar-collapse');\n _application2.default.gui.sidebar.open = true;\n }\n }, {\n key: 'hideSidebar',\n value: function hideSidebar() {\n document.body.classList.remove('sidebar-open');\n document.body.classList.add('sidebar-collapse');\n _application2.default.gui.sidebar.open = false;\n }\n }, {\n key: 'getSize',\n value: function getSize(_ref17) {\n var element = _ref17.element,\n what = _ref17.what;\n\n if (element && what) {\n return _application2.default.sizes[element][what];\n }\n }\n\n // manage all layout logic\n // viewName: map or content\n //options. percentage , splitting title etc ..\n\n }, {\n key: '_showView',\n value: function () {\n var _ref18 = _asyncToGenerator(function* (viewName) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var state = _application2.default.viewport;\n\n var _options$perc = options.perc,\n perc = _options$perc === undefined ? viewName == state.primaryView ? 100 : 50 : _options$perc,\n _options$split = options.split,\n split = _options$split === undefined ? 'h' : _options$split;\n\n\n state[viewName].aside = viewName == state.primaryView ? undefined === options.aside ? false : options.aside : true;\n\n //calculate the content\n var secondaryPerc = viewName == state.primaryView ? 100 - perc : perc;\n\n //show Secondary View content only if more than 0\n if (secondaryPerc > 0) {\n state.secondaryVisible = true;\n state.split = undefined !== split ? split : state.split;\n state.secondaryPerc = undefined !== perc ? perc : state.perc;\n this._layout();\n return;\n }\n\n // close secondary view\n if ('map' === state.primaryView) {\n yield _clearContents();\n state.secondaryPerc = 0;\n }\n\n state.secondaryVisible = false;\n\n this._layout();\n\n yield Vue.nextTick();\n });\n\n function _showView(_x32) {\n return _ref18.apply(this, arguments);\n }\n\n return _showView;\n }()\n\n /**\n * load components of viewport after right size setting\n * \n * ORIGINAL SOURCE: src/services/viewport.js@v3.10.2\n */\n\n }, {\n key: '_layoutComponents',\n value: function _layoutComponents() {\n var _this4 = this;\n\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n requestAnimationFrame(function () {\n var reducesdSizes = getReducedSizes();\n var reducedWidth = reducesdSizes.reducedWidth || 0;\n var reducedHeight = reducesdSizes.reducedHeight || 0;\n\n // for each component\n setViewSizes();\n _this4.getService('map').layout({\n width: _application2.default.viewport.map.sizes.width - reducedWidth,\n height: _application2.default.viewport.map.sizes.height - reducedHeight\n });\n\n var parentWidth = _application2.default.viewport.content.sizes.width - reducedWidth;\n\n // Set layout of the content each time\n Vue.nextTick(function () {\n // run only after that vue state is updated\n var el = _this4.getComponent('contents').internalComponent.$el;\n var height = el.parentElement.clientHeight // parent element is \"g3w-view-content\"\n - ((el.parentElement.querySelector('.close-panel-block') || {}).offsetHeight || 0) - ((el.parentElement.querySelector('.content_breadcrumb') || {}).offsetHeight || 0) - 10; // margin 10 from bottom\n el.style.height = height + 'px';\n if (el.firstChild) {\n el.firstChild.style.height = height + 'px';\n }\n _application2.default.contentsdata.forEach(function (d) {\n // re-layout each component stored into the stack\n if ('function' == typeof d.content.layout) {\n d.content.layout(parentWidth + 0.5, height);\n }\n });\n });\n\n if (event) {\n setTimeout(function () {\n _this4.emit(event);\n });\n }\n });\n }\n\n /**\n * main layout function\n */\n\n }, {\n key: '_layout',\n value: function _layout() {\n var event = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var reducesdSizes = getReducedSizes();\n setViewSizes(reducesdSizes.reducedWidth, reducesdSizes.reducedHeight);\n this._layoutComponents(event);\n }\n }]);\n\n return GUI;\n}(_g3wObject2.default))();\n\n},{\"components/ProjectsMenu.vue\":89,\"components/SidebarItem.vue\":106,\"components/g3w-form\":111,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-object\":129,\"g3w-panel\":130,\"services/iframe\":174,\"store/application\":178,\"utils/getListableProjects\":209,\"utils/getProjectUrl\":214,\"utils/getUniqueDomId\":217,\"utils/promisify\":232,\"utils/toRawType\":242}],174:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\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 */\nvar _getEpsgFromParam = function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n epsg = (0, _normalizeEpsg.normalizeEpsg)(epsg);\n yield _projections2.default.registerProjection(epsg);\n return epsg;\n });\n\n return function _getEpsgFromParam(_x) {\n return _ref.apply(this, arguments);\n };\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 */\n\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n * @since v3.6\n */\n\nvar IframePluginService = function () {\n function IframePluginService() {\n _classCallCheck(this, IframePluginService);\n\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\n\n _createClass(IframePluginService, [{\n key: 'init',\n value: function () {\n var _ref2 = _asyncToGenerator(function* () {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref3.project;\n\n yield _gui2.default.isReady();\n\n this.services = {\n app: new AppService(),\n editing: new EditingService()\n };\n\n // get layer attributes from project layers state\n var layers = project.state.layers.map(function (l) {\n return { id: l.id, name: l.name };\n });\n\n // initialize all services\n var serviceNames = Object.keys(this.services);\n\n for (var i = 0; i < serviceNames.length; i++) {\n var 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 yield 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: layers } }\n });\n\n window.addEventListener('message', this.getMessage, false);\n });\n\n function init() {\n return _ref2.apply(this, arguments);\n }\n\n return init;\n }()\n\n // set eventResponse handler to alla services\n\n }, {\n key: 'eventResponseServiceHandler',\n value: function eventResponseServiceHandler(_ref4) {\n var action = _ref4.action,\n response = _ref4.response;\n\n this.postMessage({ id: null, action: action, response: response });\n }\n\n /**\n * Outputplace iframe get by DataRouteService\n * \n * @param dataPromise\n * @param options\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'outputDataPlace',\n value: function () {\n var _ref5 = _asyncToGenerator(function* (dataPromise) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var outputData = void 0;\n var _options$action = options.action,\n action = _options$action === undefined ? 'app:results' : _options$action;\n\n var _ref6 = yield dataPromise,\n result = _ref6.result,\n _ref6$data = _ref6.data,\n data = _ref6$data === undefined ? [] : _ref6$data;\n\n var parser = new ol.format.GeoJSON();\n try {\n outputData = data.map(function (_ref7) {\n var layer = _ref7.layer,\n features = _ref7.features;\n return _defineProperty({}, layer.getId(), { features: parser.writeFeatures(features) });\n });\n } catch (e) {\n console.warn(e);\n result = false;\n outputData = e;\n }\n\n this.postMessage({\n id: null,\n action: action,\n response: { result: result, data: outputData }\n });\n });\n\n function outputDataPlace(_x4) {\n return _ref5.apply(this, arguments);\n }\n\n return outputDataPlace;\n }()\n\n /**\n * post a message to parent\n */\n\n }, {\n key: 'postMessage',\n value: function postMessage() {\n var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (window.parent) {\n window.parent.postMessage(message, '*');\n }\n }\n }, {\n key: 'stopPendingActions',\n value: function () {\n var _ref9 = _asyncToGenerator(function* () {\n var _this = this;\n\n var promises = [];\n Object.keys(this.pendingactions).forEach(function (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 function stopPendingActions() {\n return _ref9.apply(this, arguments);\n }\n\n return stopPendingActions;\n }()\n }, {\n key: 'getMessage',\n\n\n /**\n * handle all messages from the window\n */\n value: function () {\n var _ref10 = _asyncToGenerator(function* (evt) {\n if (evt && evt.data) {\n var _evt$data = evt.data,\n _evt$data$id = _evt$data.id,\n id = _evt$data$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _evt$data$id,\n _evt$data$single = _evt$data.single,\n single = _evt$data$single === undefined ? true : _evt$data$single,\n action = _evt$data.action,\n params = _evt$data.data;\n\n var _split = (action || '').split(':'),\n _split2 = _slicedToArray(_split, 2),\n context = _split2[0],\n method = _split2[1];\n\n var result = false;\n var data = void 0;\n try {\n var is_ready = this.services[context].getReady();\n if (is_ready && single) {\n yield this.stopPendingActions();\n }\n if (is_ready) {\n this.pendingactions[id] = { context: context };\n data = yield 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: id,\n action: action,\n response: { result: result, data: data }\n });\n delete this.pendingactions[id];\n }\n });\n\n function getMessage(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return getMessage;\n }()\n\n /**\n * Called when change map or clear\n */\n\n }, {\n key: 'clear',\n value: function () {\n var _ref11 = _asyncToGenerator(function* () {\n var serviceNames = Object.keys(this.services);\n for (var i = 0; i < serviceNames.length; i++) {\n this.services[serviceNames[i]].off('response', this.eventResponseServiceHandler);\n }\n yield this.stopPendingActions();\n window.removeEventListener('message', this.getMessage, false);\n });\n\n function clear() {\n return _ref11.apply(this, arguments);\n }\n\n return clear;\n }()\n }]);\n\n return IframePluginService;\n}();\n\n/**\n * ORIGINAL SOURCE: src/app/core/iframe/services/baseservice.js@3.9.0\n */\n\n\nvar BaseIframeService = function (_G3WObject) {\n _inherits(BaseIframeService, _G3WObject);\n\n function BaseIframeService() {\n _classCallCheck(this, BaseIframeService);\n\n /**\n * @type { boolean }\n */\n var _this2 = _possibleConstructorReturn(this, (BaseIframeService.__proto__ || Object.getPrototypeOf(BaseIframeService)).call(this));\n\n _this2.ready = false;\n\n /**\n * Map service\n */\n _this2.mapService = _gui2.default.getService('map');\n\n /**\n * Current project\n */\n _this2.project = _application2.default.project;\n\n /**\n * @type { Array | undefined }\n */\n _this2.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 _this2.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 _this2.dependencyApi = {};\n\n return _this2;\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\n\n _createClass(BaseIframeService, [{\n key: 'init',\n value: function () {\n var _ref12 = _asyncToGenerator(function* () {\n var _this3 = this;\n\n var _ref13 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref13$layers = _ref13.layers,\n layers = _ref13$layers === undefined ? {} : _ref13$layers;\n\n this.layers = layers;\n // skip when plugin is not in configuration (ie. added to the application)\n if (!_application2.default.configurationPlugins.includes(this.pluginName)) {\n return;\n }\n var plugin = _plugins2.default.getPlugin(this.pluginName);\n if (plugin) {\n this.setDependencyApi(plugin.getApi());\n this.setReady(true);\n } else {\n _plugins2.default.onafter('registerPlugin', function () {\n var _ref14 = _asyncToGenerator(function* (plugin) {\n yield plugin.isReady();\n if (plugin.getName() === _this3.pluginName) {\n _this3.setDependencyApi(plugin.getApi());\n _this3.setReady(true);\n }\n });\n\n return function (_x8) {\n return _ref14.apply(this, arguments);\n };\n }());\n }\n });\n\n function init() {\n return _ref12.apply(this, arguments);\n }\n\n return init;\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\n }, {\n key: 'setDependencyApi',\n value: function setDependencyApi() {\n var api = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\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\n }, {\n key: 'getDependecyApi',\n value: function 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\n }, {\n key: 'getQgsLayerId',\n value: function getQgsLayerId(_ref15) {\n var qgs_layer_id = _ref15.qgs_layer_id,\n _ref15$noValue = _ref15.noValue,\n noValue = _ref15$noValue === undefined ? this.layers.map(function (l) {\n return l.id;\n }) : _ref15$noValue;\n\n return qgs_layer_id ? [].concat(qgs_layer_id) : noValue;\n }\n }, {\n key: 'searchFeature',\n\n\n /**\n * getFeature from DataProvider\n * \n * @private\n */\n value: function () {\n var _ref17 = _asyncToGenerator(function* (_ref16) {\n var layer = _ref16.layer,\n feature = _ref16.feature;\n var field = feature.field,\n value = feature.value;\n\n var DataRouterService = require('services/data').default;\n\n var _ref18 = yield DataRouterService.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: field, value: value, operator: 'eq' })\n },\n outputs: false\n }),\n _ref18$data = _ref18.data,\n data = _ref18$data === undefined ? [] : _ref18$data;\n\n return data;\n });\n\n function searchFeature(_x10) {\n return _ref17.apply(this, arguments);\n }\n\n return searchFeature;\n }()\n }, {\n key: 'findFeaturesWithGeometry',\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 value: function () {\n var _ref19 = _asyncToGenerator(function* () {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref20.feature,\n _ref20$qgs_layer_id = _ref20.qgs_layer_id,\n qgs_layer_id = _ref20$qgs_layer_id === undefined ? [] : _ref20$qgs_layer_id,\n _ref20$zoom = _ref20.zoom,\n zoom = _ref20$zoom === undefined ? false : _ref20$zoom,\n _ref20$highlight = _ref20.highlight,\n highlight = _ref20$highlight === undefined ? false : _ref20$highlight;\n\n var response = {\n found: false,\n features: [],\n qgs_layer_id: null\n };\n var layersCount = qgs_layer_id.length;\n var i = 0;\n while (!response.found && i < layersCount) {\n var layer = this.project.getLayerById(qgs_layer_id[i]);\n try {\n var data = layer && (yield this.searchFeature({ layer: layer, feature: feature }));\n var features = data.length && data[0].features;\n response.found = features && features.length > 0 && !!features.find(function (f) {\n return f.getGeometry();\n });\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 yield this.mapService.zoomToFeatures(features, { highlight: highlight });\n }\n } catch (e) {\n i++;console.warn(e);\n }\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 function findFeaturesWithGeometry() {\n return _ref19.apply(this, arguments);\n }\n\n return findFeaturesWithGeometry;\n }()\n\n /**\n * Set layer function\n * \n * @param layers\n */\n\n }, {\n key: 'setLayers',\n value: function setLayers() {\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.layers = layers;\n }\n }, {\n key: 'getLayers',\n value: function getLayers() {\n return this.layers;\n }\n\n /**\n * Set ready service\n * \n * @param bool\n */\n\n }, {\n key: 'setReady',\n value: function setReady() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n this.ready = bool;\n }\n }, {\n key: 'getReady',\n value: function 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\n }, {\n key: 'stop',\n value: function () {\n var _ref21 = _asyncToGenerator(function* () {});\n\n function stop() {\n return _ref21.apply(this, arguments);\n }\n\n return stop;\n }()\n\n /**\n * Overwrite each single service\n * \n * @virtual method need to be implemented by subclasses\n */\n\n }, {\n key: 'clear',\n value: function clear() {}\n }]);\n\n return BaseIframeService;\n}(_g3wObject2.default);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-app.js@3.9.0\n */\n\n\nvar AppService = function (_BaseIframeService) {\n _inherits(AppService, _BaseIframeService);\n\n function AppService() {\n _classCallCheck(this, AppService);\n\n var _this4 = _possibleConstructorReturn(this, (AppService.__proto__ || Object.getPrototypeOf(AppService)).call(this));\n\n _this4.mapControls = {\n screenshot: { control: null },\n changeMap: { control: null }\n };\n return _this4;\n }\n\n /**\n * Init service\n * \n * @returns { Promise }\n */\n\n\n _createClass(AppService, [{\n key: 'init',\n value: function init() {\n var _this5 = this;\n\n return new Promise(function (resolve) {\n _this5.mapService.once('ready', function () {\n _this5._map = _this5.mapService.getMap();\n _this5._mapCrs = _this5.mapService.getCrs();\n _this5.mapControls.screenshot.control = _this5.mapService.getMapControlByType({ type: 'screenshot' });\n _this5.setReady(true);\n resolve();\n });\n });\n }\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'results',\n value: function () {\n var _ref23 = _asyncToGenerator(function* (_ref22) {\n var _ref22$capture = _ref22.capture,\n capture = _ref22$capture === undefined ? true : _ref22$capture;\n\n _gui2.default.currentoutputplace = capture ? 'iframe' : 'gui';\n return [];\n });\n\n function results(_x14) {\n return _ref23.apply(this, arguments);\n }\n\n return results;\n }()\n\n /**\n * @returns { Promise }\n */\n\n }, {\n key: 'screenshot',\n value: function () {\n var _ref25 = _asyncToGenerator(function* (_ref24) {\n var _this6 = this;\n\n var _ref24$capture = _ref24.capture,\n capture = _ref24$capture === undefined ? true : _ref24$capture;\n\n // skip when ..\n if (!capture) {\n this.mapControls.screenshot.control.resetOriginalOnClickEvent();\n return;\n }\n\n this.mapControls.screenshot.control.overwriteOnClickEvent(_asyncToGenerator(function* () {\n var response = void 0;\n try {\n response = { result: true, data: yield _this6.mapService.createMapImage() };\n } catch (e) {\n console.warn(e);\n response = { result: false, data: e };\n } finally {\n _this6.emit('response', { response: response, action: 'app:screenshot' });\n }\n }));\n });\n\n function screenshot(_x15) {\n return _ref25.apply(this, arguments);\n }\n\n return screenshot;\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\n }, {\n key: 'getcenter',\n value: function () {\n var _ref27 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var center = this.mapService.getCenter();\n if (undefined !== params.epsg) {\n return ol.proj.transform(center, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return center;\n });\n\n function getcenter() {\n return _ref27.apply(this, arguments);\n }\n\n return getcenter;\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\n }, {\n key: 'zoomtocoordinates',\n value: function () {\n var _ref28 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$coordinates = params.coordinates,\n coordinates = _params$coordinates === undefined ? [] : _params$coordinates,\n epsg = params.epsg;\n // skip when coordinates in params are null or are an array with more than item 2\n\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 = yield _getEpsgFromParam(epsg);\n coordinates = ol.proj.transform(coordinates, epsg, this.mapService.getEpsg());\n }\n this.mapService.zoomTo(coordinates);\n return coordinates;\n });\n\n function zoomtocoordinates() {\n return _ref28.apply(this, arguments);\n }\n\n return zoomtocoordinates;\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\n }, {\n key: 'getextent',\n value: function () {\n var _ref29 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var extent = this.mapService.getMapExtent();\n /** @FIXME add description */\n if (undefined !== params.epsg) {\n return ol.proj.transformExtent(extent, this.mapService.getEpsg(), (yield _getEpsgFromParam(params.epsg)));\n }\n return extent;\n });\n\n function getextent() {\n return _ref29.apply(this, arguments);\n }\n\n return getextent;\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\n }, {\n key: 'zoomtoextent',\n value: function () {\n var _ref30 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _params$extent = params.extent,\n extent = _params$extent === undefined ? [] : _params$extent,\n epsg = params.epsg;\n // skip when an extent is null ora an array with number of ites not equal to 4\n\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 function zoomtoextent() {\n return _ref30.apply(this, arguments);\n }\n\n return zoomtoextent;\n }()\n }, {\n key: 'zoomtofeature',\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 value: function () {\n var _ref31 = _asyncToGenerator(function* () {\n var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var qgs_layer_id = params.qgs_layer_id,\n feature = params.feature,\n _params$highlight = params.highlight,\n highlight = _params$highlight === undefined ? false : _params$highlight;\n\n\n qgs_layer_id = this.getQgsLayerId({ qgs_layer_id: qgs_layer_id });\n\n var response = yield this.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: feature,\n zoom: true,\n highlight: highlight\n });\n\n return response.qgs_layer_id;\n });\n\n function zoomtofeature() {\n return _ref31.apply(this, arguments);\n }\n\n return zoomtofeature;\n }()\n }]);\n\n return AppService;\n}(BaseIframeService);\n\n/**\n * ORIGINAL SOURCE: src/services/iframe-editing.js@3.9.0\n */\n\n\nvar EditingService = function (_BaseIframeService2) {\n _inherits(EditingService, _BaseIframeService2);\n\n function EditingService() {\n _classCallCheck(this, EditingService);\n\n var _this7 = _possibleConstructorReturn(this, (EditingService.__proto__ || Object.getPrototypeOf(EditingService)).call(this));\n\n _this7.pluginName = 'editing';\n\n _this7.subscribevents = [];\n\n _this7.isRunning = false;\n\n _this7.responseObject = {\n cb: null, // resolve or reject promise method\n qgs_layer_id: null,\n error: null\n };\n\n _this7.config = {\n tools: {\n add: {\n disabled: [{ id: 'deletefeature' }, { id: 'copyfeatures' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n update: {\n disabled: [{ id: 'addfeature' }, { id: 'copyfeatures' }, { id: 'deletefeature' }, { id: 'editmultiattributes' }, { id: 'deletePart' }, { id: 'splitfeature' }, { id: 'mergefeatures' }]\n },\n delete: {\n enabled: [{ id: 'deletefeature', options: { active: true } }]\n }\n }\n };\n\n /**\n * subscribers handlers\n */\n _this7.subscribersHandlers = {\n\n canUndo: function canUndo(_ref32) {\n var activeTool = _ref32.activeTool,\n _ref32$disableToolbox = _ref32.disableToolboxes,\n disableToolboxes = _ref32$disableToolbox === undefined ? [] : _ref32$disableToolbox;\n return function (bool) {\n //set currenttoolbocx id in editing to null\n if (false === bool) {\n _this7.responseObject.qgs_layer_id = null;\n _this7.responseObject.error = null;\n }\n activeTool.setEnabled(!bool);\n disableToolboxes.forEach(function (toolbox) {\n return toolbox.setEditing(!bool);\n });\n };\n },\n\n canRedo: function canRedo() {},\n\n //run callback\n cancelform: function cancelform(cb) {\n return function () {\n cb();\n };\n },\n\n addfeature: function addfeature() {\n var _ref33 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n properties = _ref33.properties,\n toolboxes = _ref33.toolboxes;\n\n return function (feature) {\n\n Object.keys(properties).forEach(function (p) {\n return feature.set(p, properties[p]);\n });\n\n var activeTool = void 0;\n var disableToolboxes = [];\n\n toolboxes.forEach(function (t) {\n var 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 (_this7.subscribevents.find(function (e) {\n return 'canUndo' !== e.event;\n })) {\n _this7.addSubscribeEvents('cancelform', _this7.addSubscribeEvents('canUndo', { activeTool: activeTool, disableToolboxes: disableToolboxes }));\n }\n };\n },\n\n closeeditingpanel: function closeeditingpanel(_ref34) {\n var qgs_layer_id = _ref34.qgs_layer_id;\n return function () {\n // response to router service\n _this7.responseObject.cb({\n qgs_layer_id: _this7.responseObject.qgs_layer_id,\n error: _this7.responseObject.error\n });\n // stop action\n _this7.stopAction({ qgs_layer_id: qgs_layer_id });\n };\n }\n\n };\n\n return _this7;\n }\n\n // METHODS CALLED FROM EACH ACTION METHOD\n\n /**\n * run before each action\n */\n\n\n _createClass(EditingService, [{\n key: 'startAction',\n value: function () {\n var _ref36 = _asyncToGenerator(function* (_ref35) {\n var _this8 = this;\n\n var toolboxes = _ref35.toolboxes,\n resolve = _ref35.resolve,\n reject = _ref35.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: function done(toolbox) {\n //set toolbox id\n _this8.responseObject.cb = resolve;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = null;\n // close panel that fire closeediting panel event\n _this8.dependencyApi.hidePanel();\n },\n // called whe commit change receive an error\n error: function error(toolbox, _error) {\n _this8.responseObject.cb = reject;\n _this8.responseObject.qgs_layer_id = toolbox.getId();\n _this8.responseObject.error = _error;\n }\n }\n });\n\n // set toolboxes visible base on the value of qgs_layer_id\n this.dependencyApi.showPanel({ toolboxes: toolboxes });\n\n this.isRunning = true;\n });\n\n function startAction(_x22) {\n return _ref36.apply(this, arguments);\n }\n\n return startAction;\n }()\n\n /**\n * run after each action\n */\n\n }, {\n key: 'stopAction',\n value: function () {\n var _ref37 = _asyncToGenerator(function* () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (opts.qgs_layer_id) {\n yield this.stopEditing(opts.qgs_layer_id);\n }\n });\n\n function stopAction() {\n return _ref37.apply(this, arguments);\n }\n\n return stopAction;\n }()\n\n /**\n * add subscribe refenrence\n */\n\n }, {\n key: 'addSubscribeEvents',\n value: function addSubscribeEvents(event) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var handler = this.subscribersHandlers[event](options);\n this.dependencyApi.subscribe(event, handler);\n this.subscribevents.push({ event: event, handler: handler });\n return handler;\n }\n }, {\n key: 'resetSubscribeEvents',\n\n\n /**\n * Reset subscriber editing plugin events\n */\n value: function resetSubscribeEvents() {\n var _this9 = this;\n\n this.subscribevents.forEach(function (d) {\n _this9.dependencyApi.unsubscribe(d.event, d.handler);\n });\n }\n }, {\n key: 'add',\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 value: function add() {\n var _this10 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref38 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this10.isRunning) {\n return reject();\n }\n\n // extract `qgs_layer_id9` from a configuration message\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var properties = data.properties;\n\n\n var qgs_layer_id = _this10.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this10.dependencyApi.getEditableLayersId()\n });\n\n // call method common\n yield _this10.startAction({ toolboxes: qgs_layer_id, resolve: resolve, reject: reject });\n\n // return all toolboxes\n var toolboxes = (yield _this10.startEditing(qgs_layer_id, {\n tools: _this10.config.tools.add,\n startstopediting: false,\n action: 'add',\n selected: 1 === qgs_layer_id.length\n })).filter(function (p) {\n return 'fulfilled' === p.status;\n }).map(function (p) {\n return p.value;\n });\n\n /** @FIXME add description */\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.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 _this10.addSubscribeEvents('addfeature', { properties: properties, toolboxes: toolboxes });\n _this10.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: qgs_layer_id });\n });\n\n return function (_x26, _x27) {\n return _ref38.apply(this, arguments);\n };\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\n }, {\n key: 'update',\n value: function () {\n var _ref39 = _asyncToGenerator(function* () {\n var _this11 = this;\n\n var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve, reject) {\n // skip when ..\n if (_this11.isRunning) {\n return reject();\n }\n\n var configQglLayerId = config.qgs_layer_id,\n data = _objectWithoutProperties(config, ['qgs_layer_id']);\n\n var feature = data.feature;\n\n var qgs_layer_id = _this11.getQgsLayerId({\n qgs_layer_id: configQglLayerId,\n noValue: _this11.dependencyApi.getEditableLayersId()\n });\n\n var response = yield _this11.findFeaturesWithGeometry({\n qgs_layer_id: qgs_layer_id,\n feature: 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 yield _this11.startAction({ toolboxes: [response.qgs_layer_id], resolve: resolve, reject: reject });\n\n // return all toolboxes\n yield _this11.startEditing([response.qgs_layer_id], {\n feature: feature,\n tools: _this11.config.tools.update,\n startstopediting: false,\n action: 'update'\n });\n\n if (!_gui2.default.isSidebarVisible()) {\n _gui2.default.showSidebar();\n }\n\n _this11.addSubscribeEvents('closeeditingpanel', { qgs_layer_id: [response.qgs_layer_id] });\n });\n\n return function (_x29, _x30) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function update() {\n return _ref39.apply(this, arguments);\n }\n\n return update;\n }()\n\n /**\n * @virtual method need to be implemented by subclasses \n */\n\n }, {\n key: 'delete',\n value: function _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\n }, {\n key: 'startEditing',\n value: function () {\n var _ref41 = _asyncToGenerator(function* () {\n var _this12 = this;\n\n var qgs_layer_id = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _options$action2 = options.action,\n action = _options$action2 === undefined ? 'add' : _options$action2,\n feature = options.feature;\n\n var filter = {};\n options.filter = filter;\n switch (action) {\n case 'add':\n filter.nofeatures = true;break;\n case 'update':\n filter.field = feature.field + '|eq|' + feature.value;break;\n }\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this12.dependencyApi.startEditing(id, options));\n });\n return yield Promise.allSettled(promises);\n });\n\n function startEditing() {\n return _ref41.apply(this, arguments);\n }\n\n return startEditing;\n }()\n\n /**\n * Stop editing\n * \n * @param qgs_layer_id\n * \n * @returns { Promise }\n */\n\n }, {\n key: 'stopEditing',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (qgs_layer_id) {\n var _this13 = this;\n\n var promises = [];\n qgs_layer_id.forEach(function (id) {\n promises.push(_this13.dependencyApi.stopEditing(id));\n });\n yield Promise.allSettled(promises);\n this.clear();\n });\n\n function stopEditing(_x33) {\n return _ref42.apply(this, arguments);\n }\n\n return stopEditing;\n }()\n }, {\n key: 'stop',\n value: function stop() {\n var _this14 = this;\n\n return new Promise(function (resolve) {\n _this14.dependencyApi.hidePanel();\n _gui2.default.hideSidebar();\n _this14.once('clear', resolve);\n });\n }\n\n /**\n * Called wen we want to reset default editing plugin behaviour\n */\n\n }, {\n key: 'clear',\n value: function 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 return EditingService;\n}(BaseIframeService);\n\nexports.default = new IframePluginService();\n\n},{\"g3w-object\":129,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createSingleFieldParameter\":196,\"utils/getUniqueDomId\":217,\"utils/normalizeEpsg\":228}],175:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; /**\n * @file ORIGINAL SOURCE: src/app/gui/map/mapservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _localforage = require('localforage');\n\nvar _localforage2 = _interopRequireDefault(_localforage);\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _plugins = require('store/plugins');\n\nvar _plugins2 = _interopRequireDefault(_plugins);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _createVectorLayerFromFile = require('utils/createVectorLayerFromFile');\n\nvar _isPointGeometryType = require('utils/isPointGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _createSelectedStyle = require('utils/createSelectedStyle');\n\nvar _getMapLayersByFilter = require('utils/getMapLayersByFilter');\n\nvar _getScaleFromResolution = require('utils/getScaleFromResolution');\n\nvar _getResolutionFromScale = require('utils/getResolutionFromScale');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _throttle = require('utils/throttle');\n\nvar _createFilterFromString = require('utils/createFilterFromString');\n\nvar _interactioncontrol = require('map/controls/interactioncontrol');\n\nvar _interactioncontrol2 = _interopRequireDefault(_interactioncontrol);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _queryby = require('map/controls/queryby');\n\nvar _geolocationcontrol = require('map/controls/geolocationcontrol');\n\nvar _streetviewcontrol = require('map/controls/streetviewcontrol');\n\nvar _scalecontrol = require('map/controls/scalecontrol');\n\nvar _screenshotcontrol = require('map/controls/screenshotcontrol');\n\nvar _measurecontrol = require('map/controls/measurecontrol');\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _application3 = require('services/application');\n\nvar _application4 = _interopRequireDefault(_application3);\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _MapControlZoomHistory = require('components/MapControlZoomHistory.vue');\n\nvar _MapControlZoomHistory2 = _interopRequireDefault(_MapControlZoomHistory);\n\nvar _MapControlGeocoding = require('components/MapControlGeocoding.vue');\n\nvar _MapControlGeocoding2 = _interopRequireDefault(_MapControlGeocoding);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _getProject = require('utils/getProject');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _getCatalogLayers = require('utils/getCatalogLayers');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/**\n * Open Layers controls (zoom, streetrview, screnshoot, ruler, ...)\n */\nvar MAP = {\n maxZoom: 1000,\n controls: {},\n offlineids: [],\n selectedLayer: null,\n stores: {},\n externalLayers: [],\n animatingHighlight: false,\n layers: Object.assign(new _g3wObject2.default({ setters: {\n addLayersStore: function addLayersStore(store) {\n MAP.stores[store.getId()] = store;\n },\n removeLayersStore: function removeLayersStore(store) {\n if (store) {\n delete MAP.layers.stores[store.getId()];\n }\n }\n } }), {\n getLayerById: function getLayerById(id) {\n return Object.values(MAP.stores).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n },\n getLayers: function getLayers(filter) {\n return Object.values(MAP.stores).flatMap(function (s) {\n return s.getLayers(filter);\n });\n },\n getQuerableLayersStores: function getQuerableLayersStores() {\n return Object.values(MAP.stores).filter(function (s) {\n return s.isQueryable();\n });\n },\n getLayersStore: function getLayersStore(id) {\n return MAP.stores[id];\n },\n getLayersStores: function getLayersStores() {\n return Object.values(MAP.stores);\n }\n })\n};\n\n/**\n * Controls factory\n */\nvar CONTROLS = {\n 'zoomtoextent': function zoomtoextent() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ZoomToExtent(opts) }));\n },\n 'zoom': function zoom() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.Zoom(opts) }));\n },\n 'scaleline': function scaleline() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.ScaleLine(opts) }));\n },\n 'overview': function overview() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { ol: new ol.control.OverviewMap(opts) }));\n },\n /** @since 3.8.0 */\n 'zoomhistory': function zoomhistory() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlZoomHistory2.default))().$mount().$el, tipLabel: \"sdk.mapcontrols.addlayer.tooltip\" });\n },\n 'geocoding': function geocoding() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default({ element: new (Vue.extend(_MapControlGeocoding2.default))({ propsData: opts.config }).$mount().$el, offline: false });\n }, // pass configuration from server\n 'zoombox': function zoombox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n name: 'zoombox',\n tipLabel: 'Zoom to box',\n label: '\\uE901',\n interactionClass: ol.interaction.DragBox,\n cursorClass: 'ol-crosshair',\n onSetMap: function onSetMap(_ref) {\n var _this = this;\n\n var setter = _ref.setter,\n map = _ref.map;\n\n if ('after' === setter) {\n // zoom box\n this._startCoordinate = null;\n this._interaction.on('boxstart', function (e) {\n return _this._startCoordinate = e.coordinate;\n });\n this._interaction.on('boxend', function (e) {\n _this.dispatchEvent({ type: 'zoomend', extent: ol.extent.boundingExtent([_this._startCoordinate, e.coordinate]) });\n _this._startCoordinate = null;\n if (_this._autountoggle) {\n _this.toggle();\n }\n });\n }\n }\n }));\n },\n 'query': function query() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, {\n offline: false,\n name: \"query\",\n tipLabel: \"sdk.mapcontrols.query.tooltip\",\n label: opts.label || '\\uEA0F',\n clickmap: true,\n interactionClass: _pickcoordinatesinteraction2.default,\n cursorClass: 'ol-help',\n onSetMap: function onSetMap(_ref2) {\n var _this2 = this;\n\n var map = _ref2.map,\n setter = _ref2.setter;\n\n this.runQuery = this.runQuery || function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var coordinates = _ref3.coordinates;\n\n _gui2.default.closeSideBar();\n try {\n var project = _application2.default.project;\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n feature_count: project.state.feature_count || 5,\n query_point_tolerance: project.getQueryPointTolerance(),\n multilayers: [].concat(project.state.querymultilayers).includes(_this2.name)\n }\n });\n } catch (e) {\n console.warn('Error running spatial query: ', e);\n }\n });\n\n return function (_x9) {\n return _ref4.apply(this, arguments);\n };\n }();\n if ('before' === setter) {\n var key = null;\n this.on('toggled', function (_ref5) {\n var toggled = _ref5.toggled;\n\n if (true !== toggled) {\n ol.Observable.unByKey(key);\n key = null;\n } else if (null === key && map) {\n key = _this2.getInteraction().on('picked', (0, _throttle.throttle)(function (e) {\n return _this2.runQuery({ coordinates: e.coordinate });\n }));\n }\n });\n this.setEventKey({ eventType: 'picked', eventKey: this.on('picked', this.runQuery) });\n }\n }\n }));\n },\n 'queryby': _queryby.QueryBy,\n 'geolocation': _geolocationcontrol.GeolocationControl,\n 'streetview': _streetviewcontrol.StreetViewControl,\n 'addlayers': function addlayers() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return new _interactioncontrol2.default(_extends({}, opts, { tipLabel: \"sdk.mapcontrols.addlayer.tooltip\", label: '\\uE907', name: 'addlayer', onSetMap: function onSetMap(e) {\n var _this3 = this;\n\n if ('after' === e.setter) $(this.element).on('click', function () {\n return _this3.dispatchEvent('addlayer');\n });\n }\n }));\n },\n 'measure': _measurecontrol.MeasureControl,\n 'mouseposition': function mouseposition() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.assign(new ol.control.MousePosition(_extends({}, opts, { target: opts.target || 'mouse-position-control' })), { offline: true });\n },\n 'scale': _scalecontrol.ScaleControl,\n 'onclick': _interactioncontrol2.default,\n 'screenshot': _screenshotcontrol.ScreenshotControl\n};\n\n/**\n * BACKCOMP v3.x\n */\nCONTROLS['nominatim'] = CONTROLS['geocoding'];\nCONTROLS['ontoggle'] = CONTROLS['onclick'];\nCONTROLS['area'] = CONTROLS['measure'];\nCONTROLS['length'] = CONTROLS['measure'];\nCONTROLS['geoscreenshot'] = CONTROLS['screenshot'];\nCONTROLS['querybbox'] = CONTROLS['queryby'];\nCONTROLS['querybycircle'] = CONTROLS['queryby'];\nCONTROLS['querybydrawpolygon'] = CONTROLS['queryby'];\nCONTROLS['querybypolygon'] = CONTROLS['queryby'];\n\nvar MapService = function (_G3WObject) {\n _inherits(MapService, _G3WObject);\n\n function MapService() {\n _classCallCheck(this, MapService);\n\n var _this4 = _possibleConstructorReturn(this, (MapService.__proto__ || Object.getPrototypeOf(MapService)).call(this));\n\n _this4.state = {\n mapUnits: 'm',\n bbox: [],\n hidemaps: [],\n resolution: null,\n center: null,\n loading: false,\n hidden: true,\n scale: 0,\n map_info: { info: null, style: null },\n mapunits: ['metric']\n };\n\n /**\n * internal promise. Resolved when view is set\n *\n * @since 3.8.3\n */\n _this4._ready = new Promise(function (res) {\n return _this4.once('viewerset', res);\n });\n\n _this4.viewer = null;\n\n _this4.target = 'map';\n\n _this4.layersCount = 0; // useful to set Zindex to layer order on map\n\n _this4.project = _application2.default.project;\n\n _this4._controls = [];\n\n _this4._layers = {\n base: {},\n g3w: [],\n external_wms: [],\n external_vector: [],\n external: []\n };\n\n /**\n * Store interactions added by plugin or external application\n */\n _this4._externalInteractions = [];\n\n /**\n * Default layers are OL layers that are add to map by default.\n * Are used to show selection Features and/or highlight Layer feature\n */\n _this4.defaultsLayers = {\n\n mapcenter: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: new ol.style.Style({\n image: new ol.style.Icon({\n opacity: 1,\n src: '/static/client/images/mapcentermarker.svg',\n scale: 0.8\n })\n })\n }),\n\n _style: {\n highlightLayer: { color: undefined },\n selectionLayer: { color: 'red' }\n },\n\n highlightLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.highlightLayer.color,\n fill: true\n })];\n }\n }),\n\n selectionLayer: new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({\n geometryType: feat.getGeometry().getType(),\n color: _this4.defaultsLayers._style.selectionLayer.color,\n fill: true\n })];\n }\n })\n\n };\n\n _this4.layersExtraParams = {};\n\n _this4._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null,\n listener: null\n };\n\n _this4.config = window.initConfig;\n\n _this4._howManyAreLoading = 0;\n\n _this4._marker = null;\n\n _this4.onLayerLoadStart = _this4.onLayerLoadStart.bind(_this4);\n _this4.onLayerLoadEnd = _this4.onLayerLoadEnd.bind(_this4);\n _this4.onLayerLoadError = _this4.onLayerLoadError.bind(_this4);\n _this4.onExtraParamsSet = _this4.onExtraParamsSet.bind(_this4);\n _this4.updateMapLayers = _this4.updateMapLayers.bind(_this4);\n\n _this4._keyEvents = {\n ol: [],\n stores: [], // layers stores\n unwatches: []\n };\n\n _this4.project.onafter('setBaseLayer', _this4.updateMapLayers), // base layer\n\n _this4.debounces = {\n setupCustomMapParamsToLegendUrl: {\n fnc: function fnc() {\n _this4._setupCustomMapParamsToLegendUrl.apply(_this4, arguments);\n },\n delay: 1000\n }\n };\n\n _this4.setters = {\n setupControls: function setupControls() {\n var _this5 = this;\n\n var _config = this.config,\n header_terms_of_use_text = _config.header_terms_of_use_text,\n header_terms_of_use_link = _config.header_terms_of_use_link;\n\n // set layers attribution\n\n var attribution = header_terms_of_use_text ? header_terms_of_use_link ? '' + header_terms_of_use_text + '' : '' + header_terms_of_use_text + '' : false;\n\n this.getMapLayers().forEach(function (l) {\n return l.getSource().setAttributions(attribution);\n });\n\n // check if a base layer is set. If true, add attribution control\n if (attribution || (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true }).length) {\n this.getMap().addControl(new ol.control.Attribution({ collapsible: false, target: 'map_footer_left' }));\n }\n\n // skip when no controls\n if (!this.config || !this.config.mapcontrols) {\n return;\n }\n\n // BACKCOMP (g3w-admin < v3.7.0)\n var mapcontrols = Array.isArray(this.config.mapcontrols) ? this.config.mapcontrols.reduce(function (a, v) {\n a[v] = {};return a;\n }, {}) // convert `initConfig.mapcontrols` from an array of strings to a key-value config Object (eg. [\"geocoding\"] --> \"geocoding\" = {})\n : this.config.mapcontrols;\n\n Object.entries(mapcontrols).forEach(function (_ref6) {\n var _ref7 = _slicedToArray(_ref6, 2),\n type = _ref7[0],\n _ref7$ = _ref7[1],\n config = _ref7$ === undefined ? {} : _ref7$;\n\n switch (type) {\n case 'zoom':\n _this5.createMapControl(type);\n break;\n\n case 'zoombox':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('zoomend', function (e) {\n return _this5.viewer.fit(e.extent);\n });\n }\n break;\n\n case 'zoomtoextent':\n _this5.createMapControl(type, {\n options: {\n label: '\\uE98C',\n extent: _this5.project.state.initextent\n }\n });\n break;\n\n case 'mouseposition':\n if (!isMobile.any) {\n // @since 3.8.\n var degrees = 'degrees' === _this5.getProjection().getUnits();\n var mapEpsg = _this5.getEpsg();\n var coordinateFormat = function coordinateFormat(epsg, coords) {\n if ('EPSG:4326' === epsg) {\n return ol.coordinate.format(ol.proj.transform(coords, mapEpsg, 'EPSG:4326'), '\\xA0Lng: {x}, Lat: {y}\\xA0\\xA0 [EPSG:4326]\\xA0', 4);\n }\n return ol.coordinate.format(coords, '\\xA0' + (degrees ? 'Lng' : 'X') + ': {x}, ' + (degrees ? 'Lat' : 'Y') + ': {y}\\xA0\\xA0 [' + epsg + ']\\xA0', degrees ? 4 : 2);\n };\n var control = _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: coordinateFormat.bind(null, mapEpsg),\n undefinedHTML: false,\n projection: _this5.getCrs()\n }\n });\n if ('EPSG:4326' !== mapEpsg) {\n control.on('change:epsg', function (e) {\n return control.setCoordinateFormat(coordinateFormat.bind(null, e.epsg));\n });\n }\n }\n break;\n\n case 'screenshot':\n case 'geoscreenshot':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('screenshot')) {\n _this5.getMapControlByType('screenshot').addType(type);\n } else {\n _this5.createMapControl('screenshot', {\n options: {\n types: [type],\n layers: [].concat(_toConsumableArray(MAP.layers.getLayers()), _toConsumableArray(_this5._layers.external))\n }\n });\n }\n }\n break;\n\n case 'scale':\n _this5.createMapControl(type, {\n add: false,\n options: {\n coordinateFormat: ol.coordinate.createStringXY(4),\n projection: _this5.getCrs(),\n isMobile: isMobile.any\n }\n });\n break;\n\n case 'query':\n _this5.createMapControl(type, {\n add: true,\n toggled: true\n });\n break;\n\n case 'querybypolygon':\n case 'querybbox':\n case 'querybycircle':\n case 'querybydrawpolygon':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('queryby')) {\n _this5.getMapControlByType('queryby').addType(type);\n } else {\n _this5.createMapControl('queryby', {\n options: {\n types: [type]\n }\n });\n }\n }\n break;\n\n case 'streetview':\n _this5.createMapControl(type, {});\n break;\n\n case 'scaleline':\n _this5.createMapControl(type, {\n add: false,\n options: {\n position: 'br'\n }\n });\n break;\n\n case 'overview':\n if (!isMobile.any && window.initConfig.overviewproject) {\n (0, _getProject.getProject)(window.initConfig.overviewproject).then(function (project) {\n //create a view for overview map\n var map = _this5.getMap();\n var view = new ol.View(_this5._calculateViewOptions({ project: project, width: 200, height: 150 })); // at moment hardcoded\n view.on('change:center', function () {\n var current = view.getCenter();\n var center = map.getView().constrainCenter(current);\n if (center[0] !== current[0] || center[1] !== current[1]) {\n view.setCenter(center);\n }\n });\n _this5.createMapControl(type, {\n add: false,\n options: {\n view: view,\n position: 'bl',\n collapsed: false,\n className: 'ol-overviewmap ol-custom-overviewmap',\n collapseLabel: $('')[0],\n label: $('')[0],\n layers: Object.entries(\n //group layer by multilayerId\n project.getLayersStore().getLayers({ GEOLAYER: true, BASELAYER: false }).reduce(function (group, l) {\n var id = l.getMultiLayerId();\n group[id] = group[id] || [];\n group[id].push(l);\n return group;\n }, {}) || []).map(function (_ref8) {\n var _ref9 = _slicedToArray(_ref8, 2),\n id = _ref9[0],\n layers = _ref9[1];\n\n var _require = require('map/layers/imagelayer'),\n RasterLayer = _require.RasterLayer;\n\n var mapLayer = new RasterLayer({\n url: project.state.WMSUrl,\n id: 'overview_layer_' + id,\n tiled: layers[0].state.tiled\n });\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n return mapLayer.getOLLayer(true);\n }).reverse()\n }\n });\n /** @since 3.10.0 Move another bottom left map controls bottom to a left of overview control**/\n document.querySelector('.g3w-map-controls-left-bottom').style.left = '230px';\n var observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\"class\" === mutation.attributeName) {\n document.querySelector('.g3w-map-controls-left-bottom').style.left = mutation.target.classList.contains('ol-collapsed') ? '50px' : '230px';\n }\n });\n });\n observer.observe(document.querySelector('.ol-custom-overviewmap'), { attributes: true });\n }).catch(function (e) {\n return console.warn(e);\n });\n }\n break;\n\n case 'geocoding':\n case 'nominatim':\n _this5.createMapControl(type, {\n add: false,\n options: { config: config }\n });\n break;\n\n case 'geolocation':\n _this5.createMapControl(type).on('click', (0, _throttle.throttle)(function (e) {\n return _this5.showMarker(e.coordinates);\n }));\n break;\n\n case 'addlayers':\n if (!isMobile.any) {\n _this5.createMapControl(type, {}).on('addlayer', function () {\n return _this5.showAddLayerModal();\n });\n }\n break;\n\n case 'length':\n case 'area':\n if (!isMobile.any) {\n if (_this5.getMapControlByType('measure')) {\n _this5.getMapControlByType('measure').addType(type);\n } else {\n _this5.createMapControl('measure', {\n options: {\n name: \"measure\",\n tipLabel: 'sdk.mapcontrols.measures.title',\n types: [type],\n interactionClassOptions: {\n projection: _this5.getProjection(),\n help: 'sdk.mapcontrols.measures.' + type + '.help'\n }\n }\n });\n }\n }\n break;\n\n /**\n * @since 3.8.0\n */\n case 'zoomhistory':\n $('.g3w-map-controls-left-bottom').append(_this5.createMapControl(type, { add: false }).element);\n break;\n\n }\n });\n return this.getMapControls();\n },\n addHideMap: function addHideMap() {\n var _ref10 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref10$switchable = _ref10.switchable,\n switchable = _ref10$switchable === undefined ? false : _ref10$switchable;\n\n var idMap = {\n id: 'hidemap_' + Date.now(),\n map: null,\n switchable: switchable\n };\n this.state.hidemaps.push(idMap);\n return idMap;\n },\n setHidden: function setHidden(bool) {\n this.state.hidden = bool;\n },\n\n\n /** Set view based on project config */\n setupViewer: function () {\n var _ref11 = _asyncToGenerator(function* (width, height) {\n var _this6 = this;\n\n if (0 === width || 0 === height) {\n console.warn('[G3W-CLIENT] map was hidden during bootstrap');\n return;\n }\n\n var search = new URLSearchParams(location.search); // search params\n\n var showmarker = 1 * (search.get('showmarker') || 0); /** @since 3.10.0 0 or 1. Show marker on map center*/\n var iframetype = search.get('iframetype'); /** @since 3.10.0 type of iframe: map (only map, no control)*/\n var zoom_to_fid = search.get('zoom_to_fid');\n var zoom_to_features = search.get('ztf'); // zoom to features\n var coords = {\n lat: parseFloat(search.get('lat')),\n lon: parseFloat(search.get('lon')),\n x: parseFloat(search.get('x')),\n y: parseFloat(search.get('y'))\n };\n\n if (this.viewer) {\n this.viewer.destroy();\n }\n\n var olMap = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false, rotateOptions: { autoHide: true, tipLabel: \"Reset rotation (CTRL+DRAG to rotate)\" } }),\n interactions: ol.interaction.defaults().extend([new ol.interaction.DragRotate({ condition: ol.events.condition.platformModifierKeyOnly })]),\n ol3Logo: false,\n keyboardEventTarget: document,\n target: this.target,\n view: new ol.View(this._calculateViewOptions({\n width: width,\n height: height,\n project: this.project,\n map_extent: search.get('map_extent') /** @since 3.10.0 */\n }))\n });\n\n this.viewer = {\n map: olMap,\n getMap: function getMap() {\n return _this6.viewer.map;\n },\n getView: function getView() {\n return _this6.viewer.map.getView();\n },\n getZoom: function getZoom() {\n return _this6.viewer.map.getView().getZoom();\n },\n getResolution: function getResolution() {\n return _this6.viewer.map.getView().getResolution();\n },\n getCenter: function getCenter() {\n return _this6.viewer.map.getView().getCenter();\n },\n destroy: function destroy() {\n if (_this6.viewer.map) {\n _this6.viewer.map.dispose();_this6.viewer.map = null;\n }\n },\n zoomTo: this.zoomTo.bind(this),\n goTo: this.goTo.bind(this),\n fit: this._fit.bind(this),\n /** @TODO check if deprecated */\n changeBaseLayer: function changeBaseLayer(name) {\n return _this6.map.getLayers().insertAt(0, _this6.map.getLayers().find(function (l) {\n return name === l.get('name');\n }));\n }\n };\n\n var map = this.viewer.getMap();\n\n // disable douclickzoom\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(false);\n\n // visual click (sonar effect)\n map.on('click', function (_ref12) {\n var coordinate = _ref12.coordinate;\n\n var circle = new ol.layer.Vector({\n source: new ol.source.Vector({ features: [new ol.Feature({ geometry: new ol.geom.Point(coordinate) })] }),\n style: new ol.style.Style()\n });\n var start = +new Date();\n var duration = 1700;\n var interval = circle.on('postcompose', function (_ref13) {\n var frameState = _ref13.frameState;\n\n var elapsed = frameState.time - start;\n var ratio = ol.easing.easeOut(elapsed / duration);\n circle.setStyle(new ol.style.Style({\n image: new ol.style.Circle({\n radius: 40 * ratio, // start = 0, end = 40\n fill: new ol.style.Fill({ color: [225, 227, 228, .1] }),\n stroke: new ol.style.Stroke({ color: [225, 227, 228, 1], width: 1.85 * (1 - ratio) }) // start = 1.85, end = 0\n })\n }));\n if (elapsed > duration) {\n map.removeLayer(circle);\n ol.Observable.unByKey(interval); // stop the effect\n }\n });\n map.addLayer(circle);\n });\n\n var currentControl = void 0;\n var can_drag = false;\n\n // set mouse cursor (dragging)\n new Vue().$watch(function () {\n return [_this6.getCurrentToggledMapControl(), _plugins2.default.getPlugin('editing') && _plugins2.default.getPlugin('editing').getActiveTool()];\n }, function (_ref14) {\n var _ref15 = _slicedToArray(_ref14, 2),\n control = _ref15[0],\n activeTool = _ref15[1];\n\n currentControl = control;\n can_drag = !control && !activeTool;\n map.getViewport().classList.toggle('ol-grab', can_drag);\n map.getInteractions().getArray().find(function (i) {\n return i instanceof ol.interaction.DoubleClickZoom;\n }).setActive(can_drag);\n });\n map.on(['pointerdrag', 'pointerup'], function (e) {\n /** @TODO disable default interaction \"shift+zoom\" ? */\n map.getViewport().classList.toggle('ol-grabbing', e.type == 'pointerdrag' && (!currentControl || !(currentControl.getInteraction() instanceof ol.interaction.DragBox)));\n map.getViewport().classList.toggle('ol-grab', e.type == 'pointerup' && can_drag);\n });\n\n var geom = void 0;\n if (zoom_to_fid) {\n yield this.zoomToFid(zoom_to_fid);\n } else if (zoom_to_features) {\n yield this.zoomToFeaturesUrl(zoom_to_features);\n } else if (!isNaN(coords.lat) && !isNaN(coords.lon)) {\n geom = new ol.geom.Point(ol.proj.transform([coords.lon, coords.lat], 'EPSG:4326', this.getEpsg()));\n } else if (!isNaN(coords.x) && !isNaN(coords.y)) {\n geom = new ol.geom.Point([coords.x, coords.y]);\n }\n\n if (geom && geom.getExtent()) {\n yield this.zoomToGeometry(geom);\n }\n\n // show marker on map center\n if (1 === showmarker) {\n this.defaultsLayers.mapcenter.getSource().addFeature(new ol.Feature({ geometry: new ol.geom.Point(this.getCenter()) }));\n }\n\n // iframe → hide map controls (empty object)\n if ('map' === iframetype) {\n this.config.mapcontrols = {};\n }\n\n // update max scale\n MAP.maxZoom = Math.min((0, _getScaleFromResolution.getScaleFromResolution)(this.getMap().getView().getResolutionForExtent(this.project.state.initextent, this.getMap().getSize()), this.getMapUnits()), MAP.maxZoom);\n\n this.state.size = this.viewer.map.getSize();\n this.state.mapUnits = this.viewer.map.getView().getProjection().getUnits();\n\n if (this.config.background_color) {\n $('#' + this.target).css('background-color', this.config.background_color);\n }\n\n $(this.viewer.map.getViewport()).prepend('
');\n\n this.viewer.map.getInteractions().forEach(function (int) {\n return _this6._watchInteraction(int);\n });\n this.viewer.map.getInteractions().on('add', function (int) {\n return _this6._watchInteraction(int.element);\n });\n\n this._marker = new ol.Overlay({\n position: null,\n positioning: 'center-center',\n element: document.getElementById('marker'),\n stopEvent: false\n });\n\n this.viewer.map.addOverlay(this._marker);\n\n // keep default layers above others\n this.viewer.map.getLayers().on('add', function (e) {\n var zindex = _this6.setLayerZIndex({\n layer: e.element,\n zindex: e.element.get('basemap') || 'bottom' === e.element.get('position') ? 0 : undefined\n });\n if (_this6.defaultsLayers.mapcenter) {\n _this6.defaultsLayers.mapcenter.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.highlightLayer) {\n _this6.defaultsLayers.highlightLayer.setZIndex(zindex + 1);\n }\n if (_this6.defaultsLayers.selectionLayer) {\n _this6.defaultsLayers.selectionLayer.setZIndex(zindex + 2);\n }\n });\n\n this.viewer.map.getLayers().on('remove', function (e) {\n if (e.element.getZIndex() === _this6.layersCount) {\n _this6.layersCount--;\n }\n });\n\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this._setupAllLayers();\n this.setUpMapOlEvents();\n\n // CHECK IF MAPLAYESRSTOREREGISTRY HAS LAYERSTORE\n MAP.layers.getLayersStores().forEach(this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('addLayersStore', this._setUpEventsKeysToLayersStore.bind(this));\n MAP.layers.onafter('removeLayersStore', this._removeEventsKeysToLayersStore.bind(this));\n\n this.emit('viewerset');\n this.setupControls();\n this.emit('ready');\n });\n\n function setupViewer(_x13, _x14) {\n return _ref11.apply(this, arguments);\n }\n\n return setupViewer;\n }(),\n controlClick: function controlClick(mapcontrol) {\n var info = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n },\n loadExternalLayer: function loadExternalLayer(layer) {},\n // used in general to alert external layer is loaded\n unloadExternalLayer: function unloadExternalLayer(layer) {}\n };\n\n _this4.on('extraParamsSet', _this4.onExtraParamsSet);\n return _this4;\n }\n\n /**\n * @since 3.11.0\n */\n\n\n _createClass(MapService, [{\n key: 'onExtraParamsSet',\n value: function onExtraParamsSet(extraParams, update) {\n var _this7 = this;\n\n if (update) {\n this.getMapLayers().forEach(function (l) {\n return l.update(_this7.state, extraParams);\n });\n }\n }\n\n /**\n * show spinner layers\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadStart',\n value: function onLayerLoadStart() {\n if (0 === this._howManyAreLoading) {\n this.emit('loadstart');\n _gui2.default.showSpinner({ container: $('#map-spinner'), id: 'maploadspinner', style: 'transparent' });\n }\n this._howManyAreLoading += 1;\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadEnd',\n value: function onLayerLoadEnd() {\n this._howManyAreLoading -= 1;\n if (0 === this._howManyAreLoading) {\n this.emit('loadend');\n _gui2.default.hideSpinner('maploadspinner');\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'onLayerLoadError',\n value: function onLayerLoadError() {\n /** @since 3.10.0 - fails silently */\n if (!this.project.state.show_load_layer_error) {\n return;\n }\n if (!this.onLayerLoadError.shown) {\n _gui2.default.notify.warning('sdk.errors.layers.load');\n this.onLayerLoadError.shown = true;\n }\n this.onLayerLoadEnd();\n }\n\n /**\n * @returns promise ready\n *\n * @since 3.8.3\n */\n\n }, {\n key: 'isReady',\n value: function isReady() {\n return this._ready;\n }\n }, {\n key: 'setUpMapOlEvents',\n value: function setUpMapOlEvents() {\n var _this8 = this;\n\n var dynamicLegend = this.project.state.context_base_legend;\n // set change resolution\n this._keyEvents.ol.forEach(function (k) {\n return ol.Observable.unByKey(k);\n });\n this._keyEvents.ol.push(this.viewer.map.getView().on('change:resolution', function () {\n _this8.state.bbox = _this8.getMapBBOX();\n _this8.state.resolution = _this8.viewer.getResolution();\n _this8.state.center = _this8.viewer.getCenter();\n _this8.updateMapLayers();\n if (dynamicLegend) {\n _this8.setupCustomMapParamsToLegendUrl();\n }\n }));\n if (dynamicLegend) {\n this._keyEvents.ol.push(this.viewer.map.on('moveend', function () {\n return _this8.setupCustomMapParamsToLegendUrl();\n }));\n } else {\n //set always to show legend at the start\n this.setupCustomMapParamsToLegendUrl();\n }\n }\n\n /**\n * Clear methods to remove all listeners events\n */\n\n }, {\n key: 'clear',\n value: function clear() {\n this.removeListener('extraParamsSet', this.onExtraParamsSet);\n this._keyEvents.ol.forEach(function (key) {\n return ol.Observable.unByKey(key);\n });\n this._keyEvents.ol.splice(0);\n MAP.layers.getLayersStores().forEach(this._removeEventsKeysToLayersStore.bind(this));\n }\n\n /**\n * @TODO refactor CDU plugin in order to remove `OlMapViewer` class\n */\n\n }, {\n key: '_addHideMap',\n value: function _addHideMap() {\n var _ref16 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n ratio = _ref16.ratio,\n _ref16$layers = _ref16.layers,\n layers = _ref16$layers === undefined ? [] : _ref16$layers,\n _ref16$mainview = _ref16.mainview,\n mainview = _ref16$mainview === undefined ? false : _ref16$mainview;\n\n var idMap = this.state.hidemaps.at(-1);\n var view = this.getMap().getView();\n\n var olView = mainview ? view : {\n projection: view.getProjection(),\n center: view.getCenter(),\n resolution: this.getResolution()\n };\n\n // set Map\n idMap.map = new ol.Map({\n controls: ol.control.defaults({ attribution: false, zoom: false }),\n interactions: ol.interaction.defaults(),\n ol3Logo: false,\n view: olView instanceof ol.View ? olView : new ol.View(olView),\n keyboardEventTarget: document,\n target: idMap.id\n });\n\n // in case of rate\n if (ratio) {\n var _idMap$map$getSize = idMap.map.getSize(),\n _idMap$map$getSize2 = _slicedToArray(_idMap$map$getSize, 2),\n w = _idMap$map$getSize2[0],\n h = _idMap$map$getSize2[1];\n\n idMap.map.setSize([w, w * ratio]);\n }\n\n (layers || []).forEach(function (l) {\n return idMap.map.addLayer(l);\n });\n\n return idMap.map;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'removeHideMap',\n value: function removeHideMap(id) {\n var i = (this.state.hidemaps || []).findIndex(function (m) {\n return id === m.id;\n });\n if (-1 !== i) {\n this.state.hidemaps.splice(i, 1);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\", \"archiweb\"\n */\n\n }, {\n key: 'createMapImage',\n value: function createMapImage() {\n var _ref17 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref17.map,\n background = _ref17.background;\n\n return new Promise(function (resolve, reject) {\n try {\n var canvas = $(map ? map.getViewport() : $('#g3w-maps .g3w-map').last().children('.ol-viewport')[0]).children('canvas')[0];\n if (navigator.msSaveBlob) {\n resolve(canvas.msToBlob());\n } else {\n canvas.toBlob(function (blob) {\n return resolve(blob);\n });\n }\n } catch (e) {\n console.warn(e);\n reject(e);\n }\n });\n }\n }, {\n key: 'getProject',\n value: function getProject() {\n return this.project;\n }\n }, {\n key: 'getMap',\n value: function getMap() {\n try {\n return this.viewer.map;\n } catch (e) {\n console.warn(e);\n }\n }\n }, {\n key: 'getProjection',\n value: function getProjection() {\n return this.project.getProjection();\n }\n }, {\n key: 'isMapHidden',\n value: function isMapHidden() {\n return this.state.hidden;\n }\n }, {\n key: 'getCrs',\n value: function getCrs() {\n return this.project.getProjection().getCode();\n }\n }, {\n key: 'getViewport',\n value: function getViewport() {\n return this.viewer.map.getViewport();\n }\n }, {\n key: 'getResolution',\n value: function getResolution() {\n return this.viewer.map.getView().getResolution();\n }\n }, {\n key: 'getEpsg',\n value: function getEpsg() {\n return this.viewer.map.getView().getProjection().getCode();\n }\n\n /**\n * Show Marker on a map\n * @param coordinates\n * @param duration\n */\n\n }, {\n key: 'showMarker',\n value: function showMarker(coordinates) {\n var _this9 = this;\n\n var duration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1000;\n\n this._marker.setPosition(coordinates);\n setTimeout(function () {\n return _this9._marker.setPosition();\n }, duration);\n }\n\n /**\n * @returns layer by name\n */\n\n }, {\n key: 'getLayerByName',\n value: function getLayerByName(name) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return name === l.get('name');\n });\n }\n\n /**\n * @returns layer by id\n */\n\n }, {\n key: 'getLayerById',\n value: function getLayerById(id) {\n return this.getMap().getLayers().getArray().find(function (l) {\n return id === l.get('id');\n });\n }\n\n /**\n * Used by the following plugins: \"strees\"\n *\n * get all features from vector layer based on coordinates\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromCoordinates',\n value: function getVectorLayerFeaturesFromCoordinates(layerId, coordinates) {\n var intersectGeom = void 0;\n var features = [];\n var map = this.getMap();\n var vectorLayer = this.getLayerById(layerId);\n if (Array.isArray(coordinates)) {\n if (2 === coordinates.length) {\n var pixel = map.getPixelFromCoordinate(coordinates);\n map.forEachFeatureAtPixel(pixel, function (feature) {\n return features.push(feature);\n }, {\n layerFilter: function layerFilter(layer) {\n return layer === vectorLayer;\n }\n });\n } else if (4 === coordinates.length) {\n intersectGeom = ol.geom.Polygon.fromExtent(coordinates);\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(f.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n } else if (coordinates instanceof ol.geom.Polygon || coordinates instanceof ol.geom.MultiPolygon) {\n intersectGeom = coordinates;\n switch (vectorLayer.constructor) {\n case _vectorlayer.VectorLayer:\n features = vectorLayer.getIntersectedFeatures(intersectGeom);\n break;\n case ol.layer.Vector:\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n return intersectGeom.intersectsExtent(feature.getGeometry().getExtent()) && features.push(f);\n });\n break;\n }\n }\n return features;\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'getQueryLayerByCoordinates',\n value: function getQueryLayerByCoordinates() {\n var _this10 = this;\n\n var _ref18 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref18.layer,\n coordinates = _ref18.coordinates;\n\n return new Promise(function (resolve, reject) {\n layer.query({\n coordinates: coordinates,\n mapProjection: _this10.getProjection(),\n resolution: _this10.getResolution()\n }).then(function (response) {\n return resolve(response);\n }).fail(function (e) {\n console.warn(e);reject(e);\n });\n });\n }\n\n //setup controls\n /*\n layout : {\n lv: h : horizontal (default), v vertical\n lh: h: horizontal: v vertical (default)\n }\n */\n\n }, {\n key: 'createMapControl',\n value: function createMapControl(type) {\n var _ref19 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n id = _ref19.id,\n visible = _ref19.visible,\n _ref19$add = _ref19.add,\n add = _ref19$add === undefined ? true : _ref19$add,\n _ref19$toggled = _ref19.toggled,\n toggled = _ref19$toggled === undefined ? false : _ref19$toggled,\n _ref19$options = _ref19.options,\n options = _ref19$options === undefined ? {} : _ref19$options;\n\n var control = CONTROLS[type] ? new CONTROLS[type](_extends({ type: type, toggled: toggled }, options)) : undefined;\n if (undefined === visible) {\n visible = control.isVisible ? control.isVisible() : true;\n }\n if (control) {\n this.addControl(id || type, type, control, add, visible);\n }\n return control;\n }\n }, {\n key: 'showAddLayerModal',\n value: function showAddLayerModal() {\n $('#modal-addlayer').modal('show');\n this.emit('addexternallayer');\n }\n }, {\n key: 'getCenter',\n value: function getCenter() {\n return this.getMap().getView().getCenter();\n }\n\n /**\n * Zoom to Feature ID\n */\n\n }, {\n key: 'zoomToFid',\n value: function () {\n var _ref20 = _asyncToGenerator(function* () {\n var zoom_to_fid = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '|';\n\n var _zoom_to_fid$split = zoom_to_fid.split(separator),\n _zoom_to_fid$split2 = _slicedToArray(_zoom_to_fid$split, 2),\n layerId = _zoom_to_fid$split2[0],\n fid = _zoom_to_fid$split2[1];\n\n if (undefined === layerId && undefined === fid) {\n return;\n }\n\n var _ref21 = yield _data2.default.getData('search:fids', {\n inputs: {\n layer: this.project.getLayerById(layerId),\n fids: [fid]\n },\n outputs: {\n show: {\n loading: false,\n condition: function condition() {\n var _ref22 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref22$data = _ref22.data,\n data = _ref22$data === undefined ? [] : _ref22$data;\n\n return data[0] && data[0].features.length > 0;\n }\n }\n }\n }),\n _ref21$data = _ref21.data,\n data = _ref21$data === undefined ? [] : _ref21$data;\n\n var feature = data[0] && data[0].features[0];\n\n if (feature) {\n yield this.zoomToFeatures([feature]);\n }\n });\n\n function zoomToFid() {\n return _ref20.apply(this, arguments);\n }\n\n return zoomToFid;\n }()\n\n /**\n * Handle ztf url parameter\n *\n * @param zoom_to_features\n */\n\n }, {\n key: 'zoomToFeaturesUrl',\n value: function () {\n var _ref23 = _asyncToGenerator(function* () {\n var zoom_to_features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n try {\n var _zoom_to_features$spl = zoom_to_features.split(':'),\n _zoom_to_features$spl2 = _slicedToArray(_zoom_to_features$spl, 2),\n id = _zoom_to_features$spl2[0],\n filter = _zoom_to_features$spl2[1];\n\n if (!id || !filter) {\n return;\n }\n\n // find project layer\n var pLayer = this.project.getLayers().find(function (l) {\n return id === l.id || id === l.name || id === l.origname;\n });\n\n var layer = pLayer && this.project.getLayerById(pLayer.id);\n\n var r = pLayer && (yield _data2.default.getData('search:features', {\n inputs: {\n layer: layer,\n filter: (0, _createFilterFromString.createFilterFromString)({ layer: layer, filter: filter })\n },\n outputs: {\n show: {\n loading: false\n }\n }\n }));\n\n var features = r && r.data && r.data[0] && r.data[0].features;\n\n if (features) {\n this.zoomToFeatures(features);\n }\n } catch (e) {\n console.warn(e);\n }\n });\n\n function zoomToFeaturesUrl() {\n return _ref23.apply(this, arguments);\n }\n\n return zoomToFeaturesUrl;\n }()\n }, {\n key: 'getMapExtent',\n value: function getMapExtent() {\n var map = this.getMap();\n return map.getView().calculateExtent(map.getSize());\n }\n\n /**\n * @param url\n * @param epsg cordinate referece system (since 3.8.0)\n *\n * @returns {string}\n */\n\n }, {\n key: 'addMapExtentUrlParameterToUrl',\n value: function () {\n var _ref24 = _asyncToGenerator(function* (url, epsg) {\n url = new URL(url);\n var changed = undefined !== epsg && epsg !== this.getEpsg();\n if (changed) {\n yield _projections2.default.registerProjection(epsg);\n }\n url.searchParams.set('map_extent', (changed ? ol.proj.transformExtent(this.getMapExtent(), this.getEpsg(), epsg) : this.getMapExtent()).toString());\n return url.toString();\n });\n\n function addMapExtentUrlParameterToUrl(_x25, _x26) {\n return _ref24.apply(this, arguments);\n }\n\n return addMapExtentUrlParameterToUrl;\n }()\n }, {\n key: 'getMapControlByType',\n value: function getMapControlByType(type) {\n // BACKOMP v3.x\n if (\"string\" !== typeof type) {\n type = type.type;\n }\n return (this._controls.find(function (c) {\n return type === c.type;\n }) || {}).control;\n }\n\n /**\n * @param id\n * @param type\n * @param control\n * @param addToMapControls\n * @param visible\n */\n\n }, {\n key: 'addControl',\n value: function addControl(id, type, control) {\n var _this11 = this;\n\n var addToMapControls = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;\n var visible = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n\n this.viewer.map.addControl(control);\n\n control.on('toggled', function (e) {\n return _this11.emit('mapcontrol:toggled', e);\n });\n\n this._controls.push({ id: id, type: type, control: control, visible: visible, mapcontrol: addToMapControls && visible });\n\n control.on('controlclick', function (_ref25) {\n var mapcontrol = _ref25.target;\n\n var clickmap = !!(mapcontrol.isClickMap && mapcontrol.isClickMap());\n if (clickmap) {\n _this11._externalInteractions.forEach(function (int) {\n return int.setActive(false);\n });\n }\n _this11.controlClick(mapcontrol, { clickmap: clickmap });\n });\n\n var buttonControl = $(control.element).find('button');\n\n buttonControl.tooltip({\n placement: 'left',\n container: 'body',\n trigger: _gui2.default.isMobile() ? 'click' : 'hover'\n });\n\n // in case of mobile hide tooltip after click\n if (_gui2.default.isMobile()) {\n buttonControl.on('shown.bs.tooltip', function () {\n var _this12 = this;\n\n setTimeout(function () {\n return $(_this12).tooltip('hide');\n }, 600);\n });\n }\n\n if (addToMapControls && !visible) {\n control.element.style.display = \"none\";\n }\n\n if (addToMapControls) {\n $('.g3w-map-controls').append(control.element);\n }\n\n MAP.controls[type] = control;\n\n if (false === control.offline) {\n MAP.offlineids.push({ id: type, enable: control.getEnable() });\n }\n\n if (false === control.offline && control.getEnable()) {\n control.setEnable(_application2.default.online);\n }\n }\n }, {\n key: 'showControls',\n value: function showControls(types) {\n var _this13 = this;\n\n this._controls.forEach(function (c) {\n return _this13.viewer.map.removeControl(c.control);\n });\n this._controls.forEach(function (c) {\n c.visible = !types || types.indexOf(c.type) > -1 ? true : c.visible;\n if (c.visible) {\n _this13.viewer.map.addControl(c.control);\n }\n });\n }\n }, {\n key: 'getMapControls',\n value: function getMapControls() {\n return this._controls;\n }\n\n /**\n * Used by the following plugins: \"archiweb\"\n */\n\n }, {\n key: 'removeControlById',\n value: function removeControlById(id) {\n var _this14 = this;\n\n this._controls.find(function (c, i) {\n if (id === c.id) {\n _this14._controls.splice(i, 1);\n _this14.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n }, {\n key: 'removeControl',\n value: function removeControl(type) {\n var _this15 = this;\n\n this._controls.find(function (c, i) {\n if (type === c.type) {\n _this15._controls.splice(i, 1);\n _this15.viewer.map.removeControl(c.control);\n if (c.control.hideControl) {\n c.control.hideControl();\n }\n return true;\n }\n });\n }\n\n /**\n * untoggle mapcontrol\n * @param close GUI content\n * @private\n */\n\n }, {\n key: '_unToggleControls',\n value: function _unToggleControls() {\n var _ref26 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref26$close = _ref26.close,\n close = _ref26$close === undefined ? true : _ref26$close;\n\n this._controls.forEach(function (c) {\n if (c.control.isToggled && c.control.isToggled()) {\n c.control.toggle(false);\n if (close) {\n _gui2.default.closeContent();\n }\n }\n });\n }\n }, {\n key: 'deactiveMapControls',\n value: function deactiveMapControls() {\n this._unToggleControls({ close: false });\n }\n\n /**\n *\n * Method to disable\n */\n\n }, {\n key: 'disableClickMapControls',\n value: function disableClickMapControls() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this._controls.filter(function (c) {\n return c.control.isClickMap && c.control.isClickMap();\n }).forEach(function (c) {\n c.control.isToggled() && c.control.toggle();\n c.control[bool ? 'disable' : 'enable']();\n });\n }\n }, {\n key: '_setupCustomMapParamsToLegendUrl',\n value: function _setupCustomMapParamsToLegendUrl() {\n var bool = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n if (bool) {\n var map = this.getMap();\n var size = map && map.getSize().filter(function (v) {\n return v > 0;\n }) || null;\n var bbox = size && 2 === size.length ? map.getView().calculateExtent(size) : this.project.state.initextent;\n this.getMapLayers().forEach(function (l) {\n return l.setupCustomMapParamsToLegendUrl;\n }) && l.setupCustomMapParamsToLegendUrl({\n crs: this.getEpsg(),\n // in the case of axis orientation inverted if it needs to invert the axis\n bbox: map.getView().getProjection().getAxisOrientation() === \"neu\" ? [bbox[1], bbox[0], bbox[3], bbox[2]] : bbox\n });\n this.emit('change-map-legend-params');\n }\n }\n }, {\n key: 'getMapLayerByLayerId',\n value: function getMapLayerByLayerId(id) {\n return this.getMapLayers().find(function (l) {\n return l.getLayerConfigs().find(function (l) {\n return id === l.getId();\n });\n });\n }\n }, {\n key: 'getMapLayers',\n value: function getMapLayers() {\n return this._layers.g3w;\n }\n }, {\n key: 'getBaseLayers',\n value: function getBaseLayers() {\n return this._layers.base;\n }\n }, {\n key: 'getMapLayerForLayer',\n value: function getMapLayerForLayer(layer) {\n return this.getMapLayers().find(function (ml) {\n return 'layer_' + layer.getMultiLayerId() === ml.getId();\n });\n }\n }, {\n key: 'getProjectLayer',\n value: function getProjectLayer(id) {\n return MAP.layers.getLayerById(id);\n }\n\n /**\n * @param project\n * @param width\n * @param height\n * @param { Array } map_extent since 3.10.0: in case of true, use url parameter to set view options\n * @return {{extent: *, maxResolution: number, center: *, projection: *, resolution: number}}\n * @private\n */\n\n }, {\n key: '_calculateViewOptions',\n value: function _calculateViewOptions() {\n var _ref27 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n project = _ref27.project,\n width = _ref27.width,\n height = _ref27.height,\n map_extent = _ref27.map_extent;\n\n var initextent = map_extent ? map_extent.split(',').map(function (coord) {\n return 1 * coord;\n }) : project.state.initextent;\n var extent = project.state.extent;\n return {\n extent: extent,\n projection: this.getProjection(),\n center: ol.extent.getCenter(initextent),\n maxResolution: Math.max(ol.extent.getWidth(extent) / width, ol.extent.getHeight(extent) / height), // max(xRes, yRes)\n resolution: Math.max(ol.extent.getWidth(initextent) / width, ol.extent.getHeight(initextent) / height) // max(xInitRes, yInitRes)\n };\n }\n }, {\n key: 'getMapUnits',\n value: function getMapUnits() {\n return this.state.mapUnits;\n }\n\n // remove all events of layersStore\n\n }, {\n key: '_removeEventsKeysToLayersStore',\n value: function _removeEventsKeysToLayersStore(store) {\n var id = store.getId();\n if (this._keyEvents.stores[id]) {\n this._keyEvents.stores[id].forEach(function (evt) {\n Object.entries(evt).forEach(function (_ref28) {\n var _ref29 = _slicedToArray(_ref28, 2),\n event = _ref29[0],\n key = _ref29[1];\n\n return store.un(event, key);\n });\n });\n delete this._keyEvents.stores[id];\n }\n }\n\n // register all events of layersStore and relative keys\n\n }, {\n key: '_setUpEventsKeysToLayersStore',\n value: function _setUpEventsKeysToLayersStore(store) {\n var _this16 = this;\n\n var id = store.getId();\n // check if already store a key of events\n this._keyEvents.stores[id] = [];\n\n //In the case of store that has layers @since 3.10.0\n store.getLayers().forEach(function (l) {\n return 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n });\n\n this._keyEvents.stores[id].push({\n addLayer: store.onafter('addLayer', function (l) {\n 'vector' === l.getType() && _this16.addLayerToMap(l.getMapLayer());\n })\n });\n this._keyEvents.stores[id].push({\n removeLayer: store.onafter('removeLayer', function (l) {\n 'vector' === l.getType() && _this16.viewer.map.removeLayer(l.getOLLayer());\n })\n });\n }\n\n // SETUP ALL LAYERS\n\n }, {\n key: '_setupAllLayers',\n value: function _setupAllLayers() {\n var _this17 = this;\n\n // base layers\n var blayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: true });\n blayers.forEach(function (l) {\n var base = l.getMapLayer();\n _this17.registerMapLayerListeners(base);\n _this17._layers.base[l.getId()] = base;\n });\n\n Object.values(blayers.length ? this._layers.base : {}).reverse().forEach(function (l) {\n l.update(_this17.state, _this17.layersExtraParams);\n _this17.addLayerToMap(l);\n });\n\n // map layers: geolayers exclude baselayers and eventually vector layers\n var layers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ BASELAYER: false, VECTORLAYER: false });\n\n // set map projection on each layer\n layers.forEach(function (l) {\n return l.setMapProjection(_this17.getProjection());\n });\n\n //store incremental value for qtimesriable layer with same multilayer id\n var cache = {};\n var mapLayers = [];\n\n Object.entries(\n // Group layers by multilayer property (from project config)\n // to speed up \"qtimeseriesries\" loading for single layers\n (0, _groupBy.groupBy)(layers, function (layer) {\n var id = layer.getMultiLayerId();\n if (layer.isQtimeseries()) {\n cache[id] = undefined === cache[id] ? 0 : cache[id] + 1;\n return id + '_' + cache[id];\n }\n return undefined === cache[id] ? id : id + '_' + (cache[id] + 1);\n })).forEach(function (_ref30) {\n var _ref31 = _slicedToArray(_ref30, 2),\n id = _ref31[0],\n layers = _ref31[1];\n\n var layer = layers[0] || [];\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + id,\n projection: _this17.getProjection(),\n /** @since 3.9.1 */\n format: 1 === layers.length ? layer.getFormat() : null\n }, 1 === layers.length ? {} : _this17.layersExtraParams);\n layers.reverse().forEach(function (l) {\n return mapLayer.addLayer(l);\n });\n mapLayers.push(mapLayer);\n _this17.registerMapLayerListeners(mapLayer);\n });\n\n mapLayers.reverse().forEach(function (l) {\n _this17._layers.g3w.push(l);\n _this17.addLayerToMap(l);\n });\n\n this.updateMapLayers();\n\n // vector layers\n var vlayers = (0, _getMapLayersByFilter.getMapLayersByFilter)({ VECTORLAYER: true });\n // set map projection on each layer\n vlayers.forEach(function (l) {\n l.setMapProjection(_this17.getProjection());_this17.addLayerToMap(l.getMapLayer());\n });\n\n // set default layers order\n var map = this.getMap();\n map.addLayer(this.defaultsLayers.mapcenter);\n map.addLayer(this.defaultsLayers.selectionLayer);\n map.addLayer(this.defaultsLayers.highlightLayer);\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n Object.entries(externalLayers || {}).forEach(function (_ref32) {\n var _ref33 = _slicedToArray(_ref32, 2),\n id = _ref33[0],\n layer = _ref33[1];\n\n var olLayer = new ol.layer.Vector({\n source: new ol.source.Vector({ features: new ol.format.GeoJSON().readFeatures(layer.features) })\n });\n olLayer.set('name', id);\n _this17.addExternalLayer(olLayer, _extends({}, layer.options, { zoomToExtent: false }));\n });\n });\n }\n }, {\n key: 'setDefaultLayerStyle',\n value: function setDefaultLayerStyle(type) {\n var style = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (type && this.defaultsLayers[type]) {\n this.defaultsLayers._style[type] = style;\n }\n }\n }, {\n key: 'removeLayers',\n value: function removeLayers() {\n var _this18 = this;\n\n Object.keys(this._layers.base).forEach(function (id) {\n return _this18.viewer.map.removeLayer(_this18._layers.base[id].getOLLayer());\n });\n this.getMapLayers().forEach(function (l) {\n _this18.unregisterMapLayerListeners(l);_this18.viewer.map.removeLayer(l.getOLLayer());\n });\n this._layers.g3w = [];\n // remove external layers\n this._layers.external.forEach(function (layer) {\n _this18.removeExternalLayer(layer.get('name'));\n });\n this._layers.external.splice(0);\n // remove default layers\n this.defaultsLayers.mapcenter.getSource().clear();\n this.defaultsLayers.highlightLayer.getSource().clear();\n this.defaultsLayers.selectionLayer.getSource().clear();\n this.getMap().removeLayer(this.defaultsLayers.mapcenter);\n this.getMap().removeLayer(this.defaultsLayers.highlightLayer);\n this.getMap().removeLayer(this.defaultsLayers.selectionLayer);\n }\n\n //set ad increase layerIndex\n\n }, {\n key: 'setLayerZIndex',\n value: function setLayerZIndex(_ref34) {\n var layer = _ref34.layer,\n _ref34$zindex = _ref34.zindex,\n zindex = _ref34$zindex === undefined ? this.layersCount += 1 : _ref34$zindex;\n\n layer.setZIndex(zindex);\n this.emit('set-layer-zindex', { layer: layer, zindex: zindex });\n return zindex;\n }\n\n /**\n * Add olLayer to mapLayer\n * @param layer\n */\n\n }, {\n key: 'addLayerToMap',\n value: function addLayerToMap(layer) {\n var olLayer = layer.getOLLayer();\n if (olLayer) {\n this.getMap().addLayer(olLayer);\n }\n }\n\n /**\n * Used by the following plugins: \"cdu\"\n */\n\n }, {\n key: 'createMapLayer',\n value: function createMapLayer(layer) {\n layer.setMapProjection(this.getProjection());\n var mapLayer = layer.getMapLayer({\n id: 'layer_' + layer.getMultiLayerId(),\n projection: this.getProjection()\n }, this.layersExtraParams);\n mapLayer.addLayer(layer);\n return mapLayer;\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Update MapLayer\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'updateMapLayer',\n value: function updateMapLayer(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { force: false };\n\n var _ref35 = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {},\n _ref35$showSpinner = _ref35.showSpinner,\n showSpinner = _ref35$showSpinner === undefined ? true : _ref35$showSpinner;\n\n // if force to add g3w_time parameter to force request of map layer from server\n if (options.force) {\n options.g3w_time = Date.now();\n }\n if (showSpinner !== layer.showSpinnerWhenLoading) {\n layer.showSpinnerWhenLoading = showSpinner;\n if (showSpinner) {\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n } else {\n layer.off('loadstart', this.onLayerLoadStart);\n layer.off('loadend', this.onLayerLoadEnd);\n layer.off('loaderror', this.onLayerLoadError);\n }\n }\n layer.update(this.state, options);\n return layer;\n }\n\n // run update function on each mapLayer\n\n }, {\n key: 'updateMapLayers',\n value: function updateMapLayers() {\n var _this19 = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n this.getMapLayers().forEach(function (l) {\n return _this19.updateMapLayer(l, opts);\n });\n Object.values(this.getBaseLayers()).forEach(function (l) {\n return l.update(_this19.state, _this19.layersExtraParams);\n });\n }\n\n // register map Layer listeners of creation\n\n }, {\n key: 'registerMapLayerListeners',\n value: function registerMapLayerListeners(layer) {\n var _this20 = this;\n\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n layer.on('loadstart', this.onLayerLoadStart);\n layer.on('loadend', this.onLayerLoadEnd);\n layer.on('loaderror', this.onLayerLoadError);\n // listen change filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.onbefore('change', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n l.on('filtertokenchange', function () {\n return _this20.updateMapLayer(layer, { force: true });\n });\n });\n }\n }\n\n // unregister listeners of mapLayers creation\n\n }, {\n key: 'unregisterMapLayerListeners',\n value: function unregisterMapLayerListeners(layer) {\n var projectLayer = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n layer.un('loadstart', this.onLayerLoadStart);\n layer.un('loadend', this.onLayerLoadEnd);\n layer.un('loaderror', this.onLayerLoadError);\n // try to remove layer filter token\n if (projectLayer) {\n (Array.isArray(layer.layers) ? layer.layers : []).forEach(function (l) {\n l.un('change');\n l.removeEvent('filtertokenchange');\n });\n }\n }\n }, {\n key: 'setTarget',\n value: function setTarget(elId) {\n this.target = elId;\n }\n }, {\n key: 'getCurrentToggledMapControl',\n value: function getCurrentToggledMapControl() {\n return (this._controls.find(function (c) {\n return c.control && c.control.isToggled && c.control.isToggled();\n }) || {}).control;\n }\n\n /**\n * close: param to close eventually right content open\n * @param interaction\n * @param options is an object contain: {\n * active: If set new interaction active or not\n * active: If set new interaction active or not\n * close: if eventually close GUI Content (es. result right content)\n * }\n * return object having current toggled control if there is a toggled mapcontrol\n */\n\n }, {\n key: 'addInteraction',\n value: function addInteraction(interaction) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { active: true, close: true };\n var _options$active = options.active,\n active = _options$active === undefined ? true : _options$active;\n\n var control = this.getCurrentToggledMapControl();\n var toggled = control && control.isToggled && control.isToggled() || false;\n var untoggleMapControls = control && control.isClickMap ? control.isClickMap() : true;\n if (untoggleMapControls && active) {\n this._unToggleControls(options);\n }\n this.getMap().addInteraction(interaction);\n interaction.setActive(active);\n this._externalInteractions.push(interaction);\n return {\n control: control,\n toggled: toggled // return current toggled map control if toggled\n };\n }\n }, {\n key: 'removeInteraction',\n value: function removeInteraction(interaction) {\n if (interaction) {\n interaction.setActive(false);\n }\n this.viewer.map.removeInteraction(interaction);\n this._externalInteractions = this._externalInteractions.filter(function (_interaction) {\n return interaction !== _interaction;\n });\n }\n }, {\n key: '_watchInteraction',\n value: function _watchInteraction(interaction) {\n var _this21 = this;\n\n interaction.on('change:active', function (e) {\n if (e.target instanceof ol.interaction.Pointer && e.target.getActive()) {\n _this21.emit('mapcontrol:active', e.target);\n }\n });\n }\n\n /**\n * Used by the following plugins: \"qtimeseries\"\n *\n * Show map Info\n * @param info\n */\n\n }, {\n key: 'showMapInfo',\n value: function showMapInfo() {\n var _ref36 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n info = _ref36.info,\n style = _ref36.style;\n\n this.state.map_info.info = info;\n this.state.map_info.style = style || this.state.map_info.style;\n }\n\n /**\n * @param { Array } coordinate\n * @param { Number } zoom\n */\n\n }, {\n key: 'zoomTo',\n value: function zoomTo(coordinate) {\n var zoom = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 6;\n\n var view = this.viewer.map.getView();\n view.setCenter(coordinate);\n view.setZoom(zoom);\n }\n }, {\n key: 'goTo',\n value: function goTo(coordinates, zoom) {\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n var view = this.viewer.map.getView();\n zoom = zoom || 6;\n\n if (animate) {\n view.animate({ duration: 300, center: coordinates }, zoom ? { zoom: zoom, duration: 300 } : { duration: 300, resolution: view.getResolution() });\n } else {\n view.setCenter(coordinates);\n }\n\n if (zoom && !animate) {\n view.setZoom(zoom);\n }\n }\n\n /**\n * Set map center to coordinate at resolution\n *\n * @param { Array } coordinates\n * @param resolution\n * @param { boolean } animate\n */\n\n }, {\n key: 'goToRes',\n value: function () {\n var _ref37 = _asyncToGenerator(function* (coordinates, resolution) {\n var _this22 = this;\n\n var animate = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n\n\n resolution = resolution || this.viewer.map.getView().getResolution();\n\n yield new Promise(function (res) {\n\n _this22.viewer.map.getView().once('change:center', function () {\n return setTimeout(res, 500);\n });\n\n if (animate) {\n _this22.viewer.map.getView().animate({ duration: 200, center: coordinates }, { duration: 200, resolution: resolution });\n } else {\n _this22.viewer.map.getView().setCenter(coordinates);\n _this22.viewer.map.getView().setResolution(resolution);\n }\n });\n });\n\n function goToRes(_x44, _x45) {\n return _ref37.apply(this, arguments);\n }\n\n return goToRes;\n }()\n }, {\n key: 'getGeometryAndExtentFromFeatures',\n value: function getGeometryAndExtentFromFeatures() {\n var features = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n var extent = void 0;\n var gtype = void 0;\n var geometry = void 0;\n var coordinates = [];\n features.filter(function (f) {\n return f.getGeometry ? f.getGeometry() : f.geometry;\n }).forEach(function (f) {\n var geom = f.getGeometry ? f.getGeometry() : f.geometry;\n var is_ol_geom = geom instanceof ol.geom.Geometry;\n var f_ext = is_ol_geom ? [].concat(_toConsumableArray(geom.getExtent())) : f.bbox;\n extent = ol.extent.extend(undefined === extent ? f_ext : extent, f_ext);\n gtype = gtype ? gtype : is_ol_geom ? geom.getType() : geom.type;\n var coords = is_ol_geom ? geom.getCoordinates() : geom.coordinates;\n coordinates.push(coords);\n });\n\n //check if features have geometry\n if (coordinates.length > 0) {\n var is_multi = gtype.includes('Multi');\n try {\n geometry = new ol.geom[is_multi ? gtype : 'Multi' + gtype](is_multi ? coordinates.flat() : coordinates);\n extent = undefined === extent ? geometry.getExtent() : extent;\n } catch (e) {\n console.warn(e);\n }\n }\n\n return {\n extent: extent,\n geometry: geometry\n };\n }\n }, {\n key: 'highlightFeatures',\n value: function highlightFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _getGeometryAndExtent = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent.geometry;\n // force zoom false\n\n\n options.zoom = false;\n this.highlightGeometry(geometry, options);\n }\n }, {\n key: 'zoomToGeometry',\n value: function zoomToGeometry(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var extent = geometry && geometry.getExtent();\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n }, {\n key: 'zoomToFeatures',\n value: function zoomToFeatures(features) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { highlight: false };\n\n var _getGeometryAndExtent2 = this.getGeometryAndExtentFromFeatures(features),\n geometry = _getGeometryAndExtent2.geometry,\n extent = _getGeometryAndExtent2.extent;\n\n if (options.highlight && extent) {\n options.highLightGeometry = geometry;\n }\n return this.zoomToExtent(extent, options);\n }\n\n /**\n * @param { ol.extent } extent\n * @param { Object } options\n * @param { boolean } options.force\n * @param { ol.geometry } options.highLightGeometry\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'zoomToExtent',\n value: function () {\n var _ref38 = _asyncToGenerator(function* (extent) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n if (!extent) {\n return Promise.resolve();\n }\n\n var map = this.getMap();\n\n var resolution = void 0;\n\n // if outside project extent, return max resolution\n if (false === ol.extent.containsExtent(this.project.state.extent, extent)) {\n resolution = map.getView().getResolutionForExtent(this.project.state.extent, map.getSize());\n }\n\n // retrieve resolution from given `extent`\n else if (true === options.force) {\n resolution = map.getView().getResolutionForExtent(extent, map.getSize()); // resolution of request extent\n }\n\n // calculate main resolutions from map\n else {\n var curr = map.getView().getResolution();\n // max resolution of the map\n resolution = Math.max(map.getView().getResolutionForExtent(extent, map.getSize()), (0, _getResolutionFromScale.getResolutionFromScale)(MAP.maxZoom, this.getMapUnits()));\n resolution = curr < resolution && curr > resolution ? curr : resolution;\n }\n\n yield this.goToRes(ol.extent.getCenter(extent), resolution);\n\n if (options.highLightGeometry) {\n yield this.highlightGeometry(options.highLightGeometry, { zoom: false, duration: options.duration });\n }\n });\n\n function zoomToExtent(_x51) {\n return _ref38.apply(this, arguments);\n }\n\n return zoomToExtent;\n }()\n }, {\n key: 'goToBBox',\n value: function goToBBox(bbox) {\n var epsg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getEpsg();\n\n bbox = epsg === this.getEpsg() ? bbox : ol.proj.transformExtent(bbox, epsg, this.getEpsg());\n // compare bbox extent with a project max extent\n this.viewer.fit(ol.extent.containsExtent(this.project.state.extent, bbox) ? bbox : this.project.state.extent);\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: '_fit',\n value: function _fit(geometry) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var view = this.viewer.map.getView();\n var animate = 'boolean' === typeof options.animate ? options.animate : true;\n\n if (animate) {\n view.animate({ duration: 200, center: view.getCenter() });\n view.animate({ duration: 200, resolution: view.getResolution() });\n }\n\n delete options.animate; // non lo passo al metodo di OL3 perché è un'opzione interna\n\n view.fit(geometry, _extends({}, options, {\n constrainResolution: undefined !== options.constrainResolution ? options.constrainResolution : true,\n size: this.viewer.map.getSize()\n }));\n }\n\n /*\n * geometries = array of geometries\n * action: add, clear, remove :\n * - add: feature/features to selectionLayer. If selectionLayer doesn't exist create a new vector layer.\n * - clear: remove selectionLayer\n * - remove: remove feature from selection layer. If no more feature are in selectionLayer it will be removed\n * */\n\n }, {\n key: 'setSelectionFeatures',\n value: function setSelectionFeatures() {\n var action = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'add';\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (opts.color) {\n this.setDefaultLayerStyle('selectionLayer', { color: opts.color });\n }\n var source = this.defaultsLayers.selectionLayer.getSource();\n switch (action) {\n case 'add':\n source.addFeature(opts.feature);break;\n case 'remove':\n source.removeFeature(opts.feature);break;\n case 'update':\n source.getFeatureById(opts.feature.getId()).setGeometry(opts.feature.getGeometry());break;\n case 'clear':\n source.clear();break;\n }\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'toggleSelection',\n value: function toggleSelection() {\n var visible = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.defaultsLayers.selectionLayer.setVisible(visible);\n }\n\n /**\n *\n * @param { ol.geom.Geometry | * } geometryObj\n * @param { Object } options\n * @param { boolean } options.zoom\n * @param { boolean } options.highlight\n * @param options.style\n * @param options.color\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'highlightGeometry',\n value: function () {\n var _ref39 = _asyncToGenerator(function* (geometryObj) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var duration = options.duration || 2000;\n var hlayer = this.defaultsLayers.highlightLayer;\n var hide = 'function' === typeof options.hide ? options.hide : null;\n var highlight = 'boolean' === typeof options.highlight ? options.highlight : true;\n var zoom = 'boolean' === typeof options.zoom ? options.zoom : true;\n var geometry = geometryObj instanceof ol.geom.Geometry ? geometryObj : new ol.format.GeoJSON().readGeometry(geometryObj);\n\n this.clearHighlightGeometry();\n this.setDefaultLayerStyle('highlightLayer', { color: options.color });\n\n if (zoom) {\n yield this.zoomToExtent(geometry.getExtent());\n }\n\n if (!highlight) {\n return;\n }\n\n if (options.style) {\n hlayer.setStyle(options.style);\n }\n\n hlayer.getSource().addFeature(new ol.Feature({ geometry: geometry }));\n\n return new Promise(function () {\n var _ref40 = _asyncToGenerator(function* (resolve) {\n\n var cb = function cb() {\n hlayer.getSource().clear();\n // set default style\n if (options.style) {\n hlayer.setStyle(function (feat) {\n return [(0, _createSelectedStyle.createSelectedStyle)({ geometryType: feat.getGeometry().getType(), color: options.color, fill: true })];\n });\n }\n if (!hide) {\n MAP.animatingHighlight = false;\n }\n resolve();\n };\n\n if (hide) {\n hide(cb);\n }\n\n if (duration && duration !== Infinity && !hide) {\n MAP.animatingHighlight = true;\n setTimeout(cb, duration);\n }\n });\n\n return function (_x59) {\n return _ref40.apply(this, arguments);\n };\n }());\n });\n\n function highlightGeometry(_x58) {\n return _ref39.apply(this, arguments);\n }\n\n return highlightGeometry;\n }()\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry() {\n if (!MAP.animatingHighlight) {\n this.defaultsLayers.highlightLayer.getSource().clear();\n }\n // reset default layer style\n this.defaultsLayers._style.highlightLayer = { color: undefined };\n }\n\n /**\n * Force to referesh a map\n * @param options\n */\n\n }, {\n key: 'refreshMap',\n value: function refreshMap() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { force: true };\n\n this.updateMapLayers(options);\n }\n\n // called when layout (window) resizes\n\n }, {\n key: 'layout',\n value: function layout(_ref41) {\n var width = _ref41.width,\n height = _ref41.height;\n\n var el = document.getElementById(this.target);\n\n if (el) {\n el.style.height = height + 'px';\n el.style.width = width + 'px';\n }\n\n var is_hidden = width <= 0 || height <= 0;\n var has_viewer = !!this.viewer;\n\n if (has_viewer && !is_hidden) {\n this.getMap().updateSize();\n this.state.hidemaps.forEach(function (h) {\n return h.map.updateSize();\n });\n this.state.bbox = this.getMapBBOX();\n this.state.resolution = this.viewer.getResolution();\n this.state.center = this.viewer.getCenter();\n this.updateMapLayers();\n }\n\n if (!has_viewer) {\n this.setupViewer(width, height);\n }\n\n this.setHidden(is_hidden);\n }\n }, {\n key: 'getMapBBOX',\n value: function getMapBBOX() {\n return this.viewer.map.getView().calculateExtent(this.viewer.map.getSize());\n }\n }, {\n key: 'setInnerGreyCoverBBox',\n value: function setInnerGreyCoverBBox() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var map = this.viewer.map;\n var lowerLeft = void 0;\n var upperRight = void 0;\n\n if (opts.inner) {\n switch (opts.type) {\n case 'pixel':\n lowerLeft = [opts.inner[0], opts.inner[1]];\n upperRight = [opts.inner[2], opts.inner[3]];\n break;\n case 'coordinate':\n default:\n lowerLeft = map.getPixelFromCoordinate([opts.inner[0], opts.inner[1]]);\n upperRight = map.getPixelFromCoordinate([opts.inner[2], opts.inner[3]]);\n break;\n }\n this._drawShadow.inner[0] = lowerLeft[0] * ol.has.DEVICE_PIXEL_RATIO; // x_min\n this._drawShadow.inner[1] = lowerLeft[1] * ol.has.DEVICE_PIXEL_RATIO; // y_min\n this._drawShadow.inner[2] = upperRight[0] * ol.has.DEVICE_PIXEL_RATIO; // x_max\n this._drawShadow.inner[3] = upperRight[1] * ol.has.DEVICE_PIXEL_RATIO; // y_max\n }\n\n this._drawShadow.scale = [null, undefined].includes(opts.scale) ? this._drawShadow.scale || 1 : opts.scale;\n this._drawShadow.rotation = [null, undefined].includes(opts.rotation) ? this._drawShadow.rotation || 0 : opts.rotation;\n\n if (this._drawShadow.outer) {\n map.render();\n }\n }\n\n // grey map precompose mapcompose\n\n }, {\n key: 'startDrawGreyCover',\n value: function startDrawGreyCover(message) {\n var _this23 = this;\n\n // after rendering the layer, restore the canvas context\n var map = this.viewer.map;\n var x_min = void 0,\n x_max = void 0,\n y_min = void 0,\n y_max = void 0,\n rotation = void 0,\n scale = void 0;\n this.stopDrawGreyCover();\n this._drawShadow.listener = map.on('postcompose', function (e) {\n var ctx = e.context;\n var size = _this23.getMap().getSize();\n // Inner polygon must be counter-clockwise\n var height = size[1] * ol.has.DEVICE_PIXEL_RATIO;\n var width = size[0] * ol.has.DEVICE_PIXEL_RATIO;\n _this23._drawShadow.outer = [0, 0, width, height];\n ctx.restore();\n ctx.beginPath();\n // Outside polygon must be clockwise\n ctx.moveTo(0, 0);\n ctx.lineTo(width, 0);\n ctx.lineTo(width, height);\n ctx.lineTo(0, height);\n ctx.lineTo(0, 0);\n ctx.closePath();\n // end external bbox (map is cover)\n if (_this23._drawShadow.inner.length) {\n ctx.save();\n x_min = _this23._drawShadow.inner[0];\n y_min = _this23._drawShadow.inner[3];\n x_max = _this23._drawShadow.inner[2];\n y_max = _this23._drawShadow.inner[1];\n rotation = _this23._drawShadow.rotation;\n scale = _this23._drawShadow.scale;\n // Inner polygon must be counter-clockwise antiorario\n ctx.translate((x_max + x_min) / 2, (y_max + y_min) / 2);\n ctx.rotate(rotation * Math.PI / 180);\n ctx.moveTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, (y_max - y_min) / 2);\n ctx.lineTo((x_max - x_min) / 2, -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), -((y_max - y_min) / 2));\n ctx.lineTo(-((x_max - x_min) / 2), (y_max - y_min) / 2);\n ctx.closePath();\n // end inner bbox\n }\n ctx.fillStyle = 'rgba(0, 5, 25, 0.40)';\n ctx.fill();\n if (message) {\n ctx.font = \"bold 25px Arial\";\n ctx.fillStyle = \"#ffffff\";\n ctx.textAlign = \"center\";\n message.split('\\n').forEach(function (m, i) {\n return ctx.fillText(m, width / 2, height / 2 + 30 * i);\n });\n }\n ctx.restore();\n });\n }\n }, {\n key: 'stopDrawGreyCover',\n value: function stopDrawGreyCover() {\n if (this._drawShadow.listener) {\n ol.Observable.unByKey(this._drawShadow.listener);\n // reset inner draw shadow\n if (this._drawShadow.inner.length) {\n this._drawShadow = {\n type: 'coordinate',\n outer: [],\n inner: [],\n scale: null,\n rotation: null\n };\n }\n this._drawShadow.listener = null;\n }\n this.getMap().render();\n }\n\n /**\n * Remove external layer\n *\n * @param name\n */\n\n }, {\n key: 'removeExternalLayer',\n value: function removeExternalLayer(name) {\n var _this24 = this;\n\n var layer = this.getLayerByName(name);\n var type = layer._type || 'vector';\n\n _gui2.default.getService('queryresults').unregisterVectorLayer(layer);\n _gui2.default.getService('catalog').removeExternalLayer({ name: name, type: type });\n\n this.viewer.map.removeLayer(layer);\n\n if ('vector' === type) {\n this._keyEvents.unwatches[name].forEach(function (unWatch) {\n return unWatch();\n });\n delete this._keyEvents.unwatches[name];\n }\n\n /** @since 3.11.0 - temporary layers from local storage (ref: `addlayers` map control) */\n if ('vector' === type) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n externalLayers = externalLayers || {};\n if (name in externalLayers) {\n delete externalLayers[name];\n }\n _localforage2.default.setItem('externalLayers', externalLayers);\n });\n }\n\n if ('vector' === type) {\n this._layers.external_vector = this._layers.external_vector.filter(function (l) {\n if (name !== l.name) {\n return true;\n }\n Object.values(MAP.controls).forEach(function (c) {\n return c.onRemoveExternalLayer && c.onRemoveExternalLayer(l);\n });\n if (l === MAP.selectedLayer) {\n MAP.selectedLayer = null;\n }\n });\n }\n\n if ('wms' === type) {\n this._layers.external_wms = this._layers.external_wms.filter(function (l) {\n if (l.getId() !== layer.id) {\n return true;\n }\n _this24.unregisterMapLayerListeners(l, layer.projectLayer);\n });\n }\n\n this._layers.external = this._layers.external.filter(function (l) {\n return l.get('id') !== layer.get('id');\n });\n\n this.unloadExternalLayer(layer);\n\n this.emit('remove-external-layer', name);\n }\n\n /**\n * @TODO deprecate in favour of `getExternalLayers`\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'getLegacyExternalLayers',\n value: function getLegacyExternalLayers() {\n return this._layers.external_vector;\n }\n\n /**\n * Return extanla layers added to map\n * @returns {[]|*[]|T[]}\n */\n\n }, {\n key: 'getExternalLayers',\n value: function getExternalLayers() {\n return this._layers.external;\n }\n\n /**\n * Add an external layer to the map (eg. ZIP, KMZ, GPX, ...)\n *\n * @param { ol.layer.Vector | ol.layer.Image | unknown } externalLayer\n * @param { Object } options\n * @param { unknown } options.position\n * @param { number } options.opacity\n * @param { boolean } options.visible\n * @param { unknown } options.crs\n * @param { unknown } options.type\n * @param { unknown } options.download\n * @param { string } options.downloadUrl (since 3.8.3) an alternate external server url where to perfom download.\n * @param { boolean } options.persistent (since 3.11.0) whether to save layer into local storage (ie. web sessions).\n *\n * @returns { Promise }\n */\n\n }, {\n key: 'addExternalLayer',\n value: function () {\n var _ref42 = _asyncToGenerator(function* (externalLayer) {\n var _this25 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n // extract OL layer from a G3W layer\n var olLayer = externalLayer.getOLLayer ? externalLayer.getOLLayer() : externalLayer;\n if (olLayer !== externalLayer) {\n olLayer.set('id', externalLayer.getId());\n olLayer.set('name', externalLayer.getId());\n }\n externalLayer = olLayer;\n\n var vectorLayer = void 0;\n\n options.position = undefined === options.position ? 'top' : options.position;\n options.opacity = undefined === options.opacity ? 1 : options.opacity;\n options.visible = undefined === options.visible || options.visible;\n options.persistent = undefined === options.persistent || options.persistent;\n\n // vector layer\n if (externalLayer instanceof ol.layer.Vector) {\n\n externalLayer.set('id', externalLayer.get('id') || (0, _getUniqueDomId.getUniqueDomId)());\n\n vectorLayer = externalLayer;\n vectorLayer.filter = { // used by `selection` for query result purpose ?\n active: false // UNUSED - it means not yet implemented?\n };\n vectorLayer.selection = {\n active: false,\n features: []\n };\n\n if (options.color && options.field) {\n vectorLayer.setStyle(Object.assign(function (feat) {\n options.color = options.color.rgba ? 'rgba(' + [options.color.rgba.r, options.color.rgba.g, options.color.rgba.b, options.color.rgba.a].join() + ')' : options.color;\n var geometryType = feat.getGeometry().getType();\n var color = options.color;\n\n var style = void 0;\n if ((0, _isPointGeometryType.isPointGeometryType)(geometryType)) {\n // Point\n style = new ol.style.Style({\n image: new ol.style.Circle({\n fill: new ol.style.Fill({ color: color }),\n stroke: new ol.style.Stroke({ color: color, width: 1 }),\n radius: 5\n })\n });\n } else if ((0, _isLineGeometryType.isLineGeometryType)(geometryType)) {\n // Line\n style = new ol.style.Style({\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else if ((0, _isPolygonGeometryType.isPolygonGeometryType)(geometryType)) {\n // Polygon\n style = new ol.style.Style({\n fill: new ol.style.Fill({ color: 'rgba(255,255,255,0.5)' }),\n stroke: new ol.style.Stroke({ color: color, width: 3 })\n });\n } else {\n console.warn('invalid geometry type: ', geometryType);\n }\n if (options.field) {\n style.setText(new ol.style.Text({\n text: '' + feat.get(options.field),\n font: 'bold',\n scale: 2,\n offsetY: 15,\n fill: new ol.style.Fill({ color: options.color }),\n stroke: new ol.style.Stroke({ color: '#FFF', width: 2 })\n }));\n }\n return style;\n }, { _g3w_options: options }));\n }\n\n var color = void 0;\n try {\n var style = externalLayer.getStyle();\n color = style._g3w_options ? style._g3w_options.color : 'blue'; //setted by geo utils create style function\n } catch (e) {\n console.warn(e);\n }\n\n externalLayer = {\n id: externalLayer.get('id'),\n name: vectorLayer.get('name') || vectorLayer.get('id'),\n projectLayer: false,\n title: vectorLayer.get('name') || vectorLayer.get('id'),\n removable: true,\n external: true,\n crs: options.crs,\n type: options.type,\n _type: 'vector',\n visible: options.visible,\n checked: true,\n position: options.position,\n opacity: options.opacity,\n color: color || 'blue',\n filter: vectorLayer.filter,\n selection: vectorLayer.selection,\n /** @since 3.8.0 */\n tochighlightable: false,\n download: options.download || false,\n /**\n * An alternate (external) server url where to perfom download.\n *\n * @example\n *\n * ```js\n * GUI.getService('map').addExternalLayer(layer, {\n * type: 'geojson',\n * downloadUrl: __\n * });\n * ```\n *\n * @since 3.8.3\n */\n downloadUrl: options.downloadUrl\n };\n }\n\n // image layer\n if (externalLayer instanceof ol.layer.Image) {\n externalLayer.id = externalLayer.get('id');\n externalLayer.removable = true;\n externalLayer.projectLayer = false;\n externalLayer.name = externalLayer.get('name');\n externalLayer.title = externalLayer.get('name');\n externalLayer._type = 'wms';\n externalLayer.opacity = options.opacity;\n externalLayer.position = options.position;\n externalLayer.external = true;\n externalLayer.checked = options.visible;\n }\n\n // skip when another layer with the same name was already added\n if (this.getLayerByName(externalLayer.name)) {\n _gui2.default.notify.warning(\"layer_is_added\", false);\n }\n\n var type = externalLayer._type || externalLayer.type;\n\n var layer = {\n 'vector': vectorLayer,\n 'wms': externalLayer\n }[type] || (yield (0, _createVectorLayerFromFile.createVectorLayerFromFile)({\n name: externalLayer.name,\n type: type,\n crs: externalLayer.crs,\n data: externalLayer.data\n }));\n\n // skip if is not a valid layer\n if (!layer) {\n return Promise.reject();\n }\n\n var features = 'vector' === type && layer.getSource().getFeatures() || [];\n var extent = 'vector' === type && layer.getSource().getExtent() || [];\n\n // add id value\n features.forEach(function (f, i) {\n return f.setId(i);\n });\n\n if (features.length) {\n externalLayer.geometryType = features[0].getGeometry().getType();\n externalLayer.selected = false;\n }\n\n if (extent.length) {\n externalLayer.bbox = { minx: extent[0], miny: extent[1], maxx: extent[2], maxy: extent[3] };\n }\n\n layer.set('position', options.position);\n layer.setOpacity(options.opacity);\n layer.setVisible(options.visible);\n\n /** @TODO use a common parent class (project/external layers) */\n externalLayer.set = externalLayer.set || function (a, d) {\n return externalLayer[a] = d;\n };\n externalLayer.get = externalLayer.get || function (a) {\n return externalLayer[a];\n };\n externalLayer.getId = externalLayer.getId || function () {\n return externalLayer.id;\n };\n externalLayer.getName = externalLayer.getName || function () {\n return externalLayer.name;\n };\n externalLayer.getGeometryType = externalLayer.getGeometryType || function () {\n return externalLayer.geometryType;\n };\n externalLayer.setTocHighlightable = externalLayer.setTocHighlightable || function (h) {\n return externalLayer.tochighlightable = h;\n };\n externalLayer.getTocHighlightable = externalLayer.getTocHighlightable || function () {\n return externalLayer.tochighlightable;\n };\n externalLayer.isSelected = externalLayer.isSelected || function () {\n return externalLayer.selected;\n };\n externalLayer.setSelected = externalLayer.setSelected || function (s) {\n return externalLayer.selected = s;\n };\n externalLayer.isQueryable = externalLayer.isQueryable || function () {\n return !!vectorLayer;\n };\n externalLayer.isVisible = externalLayer.isVisible || function () {\n if (vectorLayer) {\n externalLayer.visible = vectorLayer.getVisible();\n }\n return externalLayer.visible;\n };\n externalLayer.setVisible = externalLayer.setVisible || function (v) {\n if (vectorLayer) {\n vectorLayer.setVisible(v);\n }\n externalLayer.visible = v;\n };\n\n this.viewer.map.addLayer(layer);\n\n this._layers.external.push(layer);\n\n if ('vector' === type) {\n this._layers.external_vector.push(externalLayer);\n }\n\n // register and dispatch layer add event\n if ('wms' === type) {\n this._layers.external_wms.push(externalLayer);\n this.registerMapLayerListeners(externalLayer, false);\n }\n\n if (vectorLayer && false !== options.persistent) {\n _localforage2.default.getItem('externalLayers').then(function (externalLayers) {\n _localforage2.default.setItem('externalLayers', _extends({}, externalLayers || {}, _defineProperty({}, vectorLayer.get('name'), {\n features: new ol.format.GeoJSON().writeFeatures(vectorLayer.getSource().getFeatures()),\n options: options\n })));\n });\n }\n\n _gui2.default.getService('queryresults').registerVectorLayer(layer);\n _gui2.default.getService('catalog').addExternalLayer({ layer: externalLayer, type: type });\n\n // invoke `onAddExternalLayer` on each map control\n if ('vector' === type) {\n this._keyEvents.unwatches[externalLayer.name] = [];\n Object.values(MAP.controls).forEach(function (c) {\n return c.onAddExternalLayer && c.onAddExternalLayer({ layer: externalLayer, unWatches: _this25._keyEvents.unwatches[externalLayer.name] });\n });\n }\n\n if (extent && options.zoomToExtent) {\n this.viewer.map.getView().fit(extent);\n }\n\n this.loadExternalLayer(layer);\n\n return layer;\n });\n\n function addExternalLayer(_x63) {\n return _ref42.apply(this, arguments);\n }\n\n return addExternalLayer;\n }()\n }, {\n key: 'getCookie',\n value: function getCookie(name) {\n Vue.cookie.get(name);\n }\n\n /**\n * @param { unknown | string | null } layer\n *\n * @since 3.11.0\n */\n\n }, {\n key: 'selectLayer',\n value: function selectLayer(layer) {\n var id = 'string' === typeof layer ? layer : layer && layer.getId();\n\n // toggle previous selection\n if (MAP.selectedLayer && id === MAP.selectedLayer.getId()) {\n id = null;\n }\n\n layer = (0, _getCatalogLayerById.getCatalogLayerById)(id) || this.getLegacyExternalLayers().find(function (l) {\n return id === l.getId();\n });\n\n // select layer by id\n (0, _getCatalogLayers.getCatalogLayers)().concat(this.getLegacyExternalLayers()).forEach(function (l) {\n return l.setSelected(l.getId() === id);\n });\n\n MAP.selectedLayer = layer && layer.isSelected() ? layer : null;\n\n Object.values(MAP.controls).forEach(function (c) {\n return c.onSelectLayer && c.onSelectLayer(MAP.selectedLayer);\n });\n }\n\n /**\n * @since 3.11.0\n */\n\n }, {\n key: 'getSelectedLayer',\n value: function getSelectedLayer() {\n return MAP.selectedLayer;\n }\n }]);\n\n return MapService;\n}(_g3wObject2.default);\n\n/** @since 3.8.0 */\n\n\n_application4.default.onbefore('offline', function () {\n return MAP.offlineids.forEach(function (c) {\n c.enable = MAP.controls[c.id].getEnable();MAP.controls[c.id].setEnable(false);\n });\n});\n\n/** @since 3.8.0 */\n_application4.default.onbefore('online', function () {\n return MAP.offlineids.forEach(function (_ref43) {\n var id = _ref43.id,\n enable = _ref43.enable;\n return MAP.controls[id].setEnable(enable);\n });\n});\n\nexports.default = {\n\n MapService: MapService,\n\n MapLayersStoresRegistry: MAP.layers\n};\n\n},{\"components/MapControlGeocoding.vue\":84,\"components/MapControlZoomHistory.vue\":85,\"g3w-object\":129,\"localforage\":\"localforage\",\"map/controls/geolocationcontrol\":142,\"map/controls/interactioncontrol\":143,\"map/controls/measurecontrol\":144,\"map/controls/queryby\":145,\"map/controls/scalecontrol\":146,\"map/controls/screenshotcontrol\":147,\"map/controls/streetviewcontrol\":148,\"map/interactions/pickcoordinatesinteraction\":149,\"map/layers/imagelayer\":154,\"map/layers/vectorlayer\":158,\"services/application\":171,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"store/plugins\":179,\"store/projections\":180,\"utils/createFilterFromString\":192,\"utils/createSelectedStyle\":195,\"utils/createVectorLayerFromFile\":197,\"utils/getCatalogLayerById\":203,\"utils/getCatalogLayers\":204,\"utils/getMapLayersByFilter\":210,\"utils/getProject\":212,\"utils/getResolutionFromScale\":215,\"utils/getScaleFromResolution\":216,\"utils/getUniqueDomId\":217,\"utils/groupBy\":219,\"utils/isLineGeometryType\":223,\"utils/isPointGeometryType\":225,\"utils/isPolygonGeometryType\":226,\"utils/throttle\":241}],176:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _g3wEventbus = require('g3w-eventbus');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _g3wComponent = require('g3w-component');\n\nvar _g3wComponent2 = _interopRequireDefault(_g3wComponent);\n\nvar _pickcoordinatesinteraction = require('map/interactions/pickcoordinatesinteraction');\n\nvar _pickcoordinatesinteraction2 = _interopRequireDefault(_pickcoordinatesinteraction);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _QueryResultsActionDownloadFormats = require('components/QueryResultsActionDownloadFormats.vue');\n\nvar _QueryResultsActionDownloadFormats2 = _interopRequireDefault(_QueryResultsActionDownloadFormats);\n\nvar _QueryResultsActionQueryPolygonCSVAttributes = require('components/QueryResultsActionQueryPolygonCSVAttributes.vue');\n\nvar _QueryResultsActionQueryPolygonCSVAttributes2 = _interopRequireDefault(_QueryResultsActionQueryPolygonCSVAttributes);\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _intersects = require('utils/intersects');\n\nvar _within = require('utils/within');\n\nvar _printAtlas = require('utils/printAtlas');\n\nvar _downloadFile = require('utils/downloadFile');\n\nvar _throttle = require('utils/throttle');\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nvar _copyUrl = require('utils/copyUrl');\n\nvar _getCatalogLayerById = require('utils/getCatalogLayerById');\n\nvar _layer4 = require('map/layers/layer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } /**\n * @file ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@v3.10.2\n * @since 3.11.0\n */\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nfunction _setRelationField(node) {\n if (node.nodes) {\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = node.nodes[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _node = _step.value;\n\n _setRelationField(_node);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n } else if (node.name) {\n node.relation = true;\n }\n}\n\nexports.default = new (function (_G3WObject) {\n _inherits(QueryResultsService, _G3WObject);\n\n function QueryResultsService() {\n _classCallCheck(this, QueryResultsService);\n\n /**\n * Core methods used from other classes to react before or after its call\n */\n var _this = _possibleConstructorReturn(this, (QueryResultsService.__proto__ || Object.getPrototypeOf(QueryResultsService)).call(this));\n\n _this.setters = {\n\n /**\n * Hook method called when response is handled by Data Provider\n *\n * @param { Object } queryResponse\n * @param { Array } queryResponse.data\n * @param { 'coordinates' | 'bbox' | 'polygon' } queryResponse.type\n * @param { Object } queryResponse.query\n * @param { Object } queryResponse.query.external\n * @param { boolean } queryResponse.query.external.add - whether add external layers to response\n * @param { Object } queryResponse.query.external.filter\n * @param { boolean } queryResponse.query.external.SELECTED\n * @param { Object } options\n * @param { boolean } options.add - whether is a new query request (add/remove query request)\n */\n setQueryResponse: function setQueryResponse(queryResponse) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n\n // set mandatory queryResponse fields\n if (!queryResponse.data) queryResponse.data = [];\n if (!queryResponse.query) queryResponse.query = { external: { add: false, filter: { SELECTED: false } } };\n if (!queryResponse.query.external) queryResponse.query.external = { add: false, filter: { SELECTED: false } };\n\n // whether add response to current results using addLayerFeaturesToResultsAction\n if (false === options.add) {\n // in case of new request results reset the query otherwise maintain the previous request\n this.clearState();\n this.state.query = queryResponse.query;\n this.state.type = queryResponse.type;\n }\n\n // whether add external layers to response\n if (true === queryResponse.query.external.add && false === options.add) {\n var catalog = _gui2.default.getService('catalog');\n\n /** @type { boolean | undefined } */\n var FILTER_SELECTED = queryResponse.query.external.filter.SELECTED;\n\n // add visible layers to query response (vector layers)\n this._vectorLayers.forEach(function (layer) {\n var id = layer.get('id');\n // TODO: extract this into `layer.isSomething()` ?\n if (layer.getVisible() && [undefined, !!(catalog.state.external.vector.find(function (l) {\n return l.id === id;\n }) || {}).selected].includes(FILTER_SELECTED)) {\n queryResponse.data['__g3w_marker' === id // keep geocoding control \"marker\" layer at top\n ? 'unshift' : 'push'](_this2.getVectorLayerFeaturesFromQueryRequest(layer, queryResponse.query));\n }\n });\n }\n\n var geom = false === options.add && {\n 'coordinates': 2 === (this.state.query.coordinates || []).length && new ol.geom.Point(this.state.query.coordinates),\n 'bbox': 4 === (this.state.query.bbox || []).length && ol.geom.Polygon.fromExtent(this.state.query.bbox),\n 'polygon': this.state.query.geometry,\n 'drawpolygon': this.state.query.geometry,\n 'circle': this.state.query.geometry\n }[this.state.query.type];\n\n // show query result on map\n if (geom) {\n var feature = new ol.Feature(geom);\n feature.setId(undefined);\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.getSource().addFeature(feature);\n _gui2.default.getService('map').getMap().addLayer(this.resultsQueryLayer);\n this.resultsQueryLayer.setZIndex(_gui2.default.getService('map').getMap().getLayers().getLength()); // ensure layer is on top of others\n }\n\n // Convert response from DataProvider into a QueryResult component data structure\n // Skip when layer has no features or rawdata is undefined (external wms)\n var layers = queryResponse.data.flatMap(function (d) {\n return [].concat(d);\n }).filter(function (d) {\n return d && (undefined !== d.rawdata || Array.isArray(d.features) && d.features.length > 0);\n }).map(function () {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref.layer,\n features = _ref.features,\n rawdata = _ref.rawdata,\n error = _ref.error;\n\n var is_layer = layer instanceof _layer4.Layer;\n var is_vector = layer instanceof ol.layer.Vector; // instance of openlayers layer Vector Class\n var is_string = 'string' === typeof layer || layer instanceof String; // can be created by string\n\n var sourceType = void 0;\n\n if (is_string) {\n sourceType = _layer4.Layer.LayerTypes.VECTOR;\n } else if (is_layer) {\n try {\n sourceType = layer.getSourceType();\n } catch (error) {\n console.warn('uknown source type for layer:', error, layer);\n }\n }\n\n var name = is_string && layer.split('_');\n\n var id = (is_layer ? layer.getId() : undefined) || (is_vector ? layer.get('id') : undefined) || (is_string ? layer : undefined);\n\n var attributes = void 0;\n var layerAttrs = void 0;\n\n // sanity check (eg. external layers ?)\n if (!features || !features.length) {\n attributes = [];\n }\n\n // Sanitize OWS Layer attributes\n if (!attributes && layer instanceof _layer4.Layer) {\n layerAttrs = layer.getAttributes().map(function (attr) {\n return 'ows' === _this2.state.type ? _extends({}, attr, { name: attr.name.replace(/ /g, '_') }) : attr;\n });\n }\n\n if (!attributes && layer instanceof ol.layer.Vector) {\n layerAttrs = layer.getProperties();\n }\n\n if (!attributes && 'string' === typeof layer || layer instanceof String) {\n layerAttrs = features[0] ? features[0].getProperties() : [];\n }\n\n var specialAttrs = (!attributes && layer instanceof _layer4.Layer && layerAttrs || []).filter(function (attr) {\n try {\n return '_' === attr.name[0] || Number.isInteger(1 * attr.name[0]);\n } catch (e) {\n return false;\n }\n }).map(function (attr) {\n return { alias: attr.name.replace(/_/, ''), name: attr.name };\n });\n\n if (!attributes && specialAttrs.length) {\n features.forEach(function (f) {\n // get attributes special keys from feature properties received by server request\n var attrs = Object.keys(f.getProperties());\n specialAttrs.forEach(function (layerAttr) {\n attrs.find(function (attr) {\n if (attr === layerAttr.alias) {\n f.set(layerAttr.name, f.get(attr));\n return true;\n }\n });\n });\n });\n }\n\n // Parse attributes to show on result based on field\n\n var attrs = !attributes && (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(Object.keys(features[0] instanceof ol.Feature ? features[0].getProperties() : features[0].properties));\n\n if (!attributes) {\n attributes = layerAttrs && layerAttrs.length > 0 ? layerAttrs.filter(function (attr) {\n return attrs.indexOf(attr.name) > -1;\n }) : attrs.map(function (featureAttr) {\n return {\n name: featureAttr,\n label: featureAttr,\n show: _g3wConstants.G3W_FID !== featureAttr && [undefined, 'gdal', 'wms', 'wcs', 'wmst', 'postgresraster'].includes(sourceType),\n type: 'varchar'\n };\n });\n }\n\n var external = is_vector || is_string;\n var structure = is_layer && layer.hasFormStructure() && layer.getLayerEditingFormStructure();\n\n if (structure && Array.isArray(_this2._relations[layer.getId()]) && _this2._relations[layer.getId()].length > 0) {\n var _iteratorNormalCompletion2 = true;\n var _didIteratorError2 = false;\n var _iteratorError2 = undefined;\n\n try {\n for (var _iterator2 = structure[Symbol.iterator](), _step2; !(_iteratorNormalCompletion2 = (_step2 = _iterator2.next()).done); _iteratorNormalCompletion2 = true) {\n var node = _step2.value;\n\n _setRelationField(node);\n }\n } catch (err) {\n _didIteratorError2 = true;\n _iteratorError2 = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion2 && _iterator2.return) {\n _iterator2.return();\n }\n } finally {\n if (_didIteratorError2) {\n throw _iteratorError2;\n }\n }\n }\n }\n\n // layerObj\n return {\n id: id,\n attributes: attributes,\n external: external,\n features: (!rawdata && features || []).map(function (f) {\n return {\n id: external ? f.getId() : f instanceof ol.Feature ? f.getId() : f.id,\n attributes: f instanceof ol.Feature ? f.getProperties() : f.properties,\n geometry: f instanceof ol.Feature ? f.getGeometry() : f.geometry,\n selection: f.selection,\n show: true\n };\n }),\n hasgeometry: Array.isArray(features) && !rawdata && features.some(function (f) {\n return f instanceof ol.Feature ? f.getGeometry() : f.geometry;\n }),\n hasImageField: Array.isArray(features) && !rawdata && features.length && attributes.some(function (attr) {\n return 'image' === attr.type;\n }),\n loading: false,\n show: true,\n expandable: true,\n addfeaturesresults: { active: false },\n downloadformats: { active: false },\n editable: is_layer ? layer.isEditable() : false,\n inediting: is_layer ? layer.isInEditing() : false,\n source: is_layer ? layer.getSource() : undefined,\n infoformat: is_layer ? layer.getInfoFormat() : undefined,\n infoformats: is_layer ? layer.getInfoFormats() : [],\n downloads: is_layer ? layer.getDownloadableFormats() : [],\n formStructure: structure ? {\n structure: structure,\n // get field show\n fields: layer.getFields().filter(function (f) {\n return f.show;\n }).concat((Array.isArray(features) && !rawdata && features.length > 0 && attributes || []).filter(function (attr) {\n return layer.getFields().some(function (f) {\n return f.name === attr.name;\n });\n }))\n } : undefined,\n relationsattributes: is_layer || is_vector || is_string ? [] : undefined,\n filter: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) ? layer.state.filter : {},\n selection: is_layer && !['wms', 'wcs', 'wmst'].includes(sourceType) && layer.state.selection || is_vector && layer.selection || {},\n title: is_layer && layer.getTitle() || is_vector && layer.get('name') || is_string && name && (name.length > 4 ? name.slice(0, name.length - 4).join(' ') : layer) || undefined,\n atlas: _this2._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === id;\n }),\n rawdata: rawdata || null,\n error: error || '',\n toc: external || layer.state.toc //@since v3.10.0\n };\n });\n\n this.setLayersData(layers, options);\n },\n\n\n /**\n * Setter method called when adding layer and feature for response\n *\n * @param layers\n * @param options\n */\n setLayersData: function setLayersData() {\n var _this3 = this;\n\n var layers = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n if (false === options.add) {\n // sort layers as Catalog project layers.\n //external layer always on bottom\n layers.sort(function (a, b) {\n return a.external ? 0 : _this3._projectLayerIds.indexOf(a.id) > _this3._projectLayerIds.indexOf(b.id) ? 1 : -1;\n });\n }\n // get features from added pick layer in case of a new request query\n layers.forEach(function (l) {\n return options.add ? _this3.updateLayerResultFeatures(l) : _this3.state.layers.push(l);\n });\n this.setActionsForLayers(layers, { add: options.add });\n this.state.changed = true;\n },\n\n\n /**\n * Add custom component in query result\n *\n * @param component\n */\n addComponent: function addComponent(component) {\n this.state.components.push(component);\n },\n\n\n /**\n * @FIXME add description\n *\n * @param actions\n * @param layers\n */\n addActionsForLayers: function addActionsForLayers(actions, layers) {},\n\n\n /**\n * @FIXME add description\n *\n * @param element\n */\n postRender: function postRender(element) {},\n\n\n /**\n * @FIXME add description\n */\n closeComponent: function closeComponent() {},\n\n\n /**\n * Called when layer result features is changed\n *\n * @param layer\n */\n changeLayerResult: function changeLayerResult(layer) {\n var _this4 = this;\n\n this.state.layersactions[layer.id].forEach(function (action) {\n return action.change && action.change(layer);\n }); // call if present change method to action\n // reset layer current actions tools\n (layer.features || []).forEach(function (_, idx) {\n var tool = _this4.state.currentactiontools[layer.id];\n if (undefined === tool) {\n return;\n }\n if (undefined === tool[idx]) {\n Vue.set(tool, idx, null);\n }\n tool[idx] = null;\n });\n },\n\n\n /**\n * @FIXME add description\n */\n activeMapInteraction: function activeMapInteraction() {},\n\n\n /**\n * Setter method related to relation table\n */\n editFeature: function editFeature() {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref2.layer,\n feature = _ref2.feature;\n },\n\n\n /**\n * Setter method called when opening/closing feature info data content.\n *\n * @param opts.open\n * @param opts.layer\n * @param opts.feature\n * @param opts.container\n */\n openCloseFeatureResult: function openCloseFeatureResult() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n open = _ref3.open,\n layer = _ref3.layer,\n feature = _ref3.feature,\n container = _ref3.container;\n },\n\n\n /**\n * Remove a feature from current layer result\n *\n * @param layer\n * @param feature\n * \n * @since 3.9.0\n */\n removeFeatureLayerFromResult: function removeFeatureLayerFromResult(layer, feature) {\n this.updateLayerResultFeatures({ id: layer.id, external: layer.external, features: [feature] });\n }\n };\n\n /**\n * @FIXME add description\n */\n _this.unlistenerlayeractionevents = [];\n\n /**\n * to store relations (key is referenceLayer of relation)\n */\n _this._relations = {};\n\n /**\n * @FIXME add description\n */\n _this._atlas = [];\n\n /**\n * @FIXME add description\n */\n _this.plotLayerIds = [];\n\n /**\n * Set reactive state\n */\n _this.state = {\n\n logged: undefined !== _application2.default.user.id,\n\n /**\n * @FIXME add description\n */\n components: [],\n\n /**\n * @FIXME add description\n */\n layers: [],\n\n /**\n * @FIXME add description\n */\n changed: false,\n\n /**\n * @FIXME add description\n */\n query: null,\n\n /**\n * 'ows' = default\n * 'api' = search\n */\n type: 'ows',\n\n /**\n * An action is an object that contains:\n *\n * ```\n * {\n * \"id\": (required) Unique action Id\n * \"download\": whether action is download or not\n * \"class\": (required) fontawsome classname to show icon\n * \"state\": need to be reactive. Used for example to toggled state of action icon\n * \"hint\": Tooltip text\n * \"init\": Method called when action is loaded\n * \"clear\": Method called before clear the service. Used for example to clear unwatch\n * \"change\": Method called when feature of layer is changed\n * \"cbk\": (required) Method called when action is cliccked\n * }\n * ```\n **/\n layersactions: {},\n\n /**\n * Add action tools (for features)\n */\n actiontools: {},\n\n /**\n * Current action tools contain component\n * of a specific action (eg. download)\n */\n currentactiontools: {},\n\n /**\n * Contains current action that expose vue component\n * (useful for comparing the id other action is\n * triggered and exposing the component)\n */\n currentactionfeaturelayer: {},\n\n /**\n * @FIXME add description\n */\n layeractiontool: {},\n\n /**\n * @FIXME add description\n */\n layersFeaturesBoxes: {},\n\n /**\n * Used to show a custom component for a layer\n */\n layerscustomcomponents: {}\n\n };\n\n /**\n * where are store vector layer add on runtime\n */\n _this._vectorLayers = [];\n\n /**\n * @FIXME add description\n */\n _this._addFeaturesLayerResultInteraction = {\n\n /**\n * Reference to current layer\n */\n id: null,\n\n /**\n * Interaction bind to layer,\n */\n interaction: null,\n\n /**\n * Add current toggled map control if toggled\n */\n mapcontrol: null,\n\n /**\n * Method that handles interaction when a mapcontrol is toggled\n */\n toggleeventhandler: null\n\n };\n\n /**\n * @FIXME add description\n */\n _this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n\n /**\n * Vector layer used by query result to show query\n * request as coordinates, bbox, polygon, etc ..\n *\n * @type {ol.layer.Vector}\n */\n _this.resultsQueryLayer = new ol.layer.Vector({\n source: new ol.source.Vector(),\n style: function style(feat) {\n return new ol.style.Style('Point' === feat.getGeometry().getType() ? { 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' }) });\n }\n });\n\n /**\n * Current project \n */\n _this._project = _application2.default.project;\n\n /**\n * Keep the right order for a query result based on TOC order layers\n */\n _this._projectLayerIds = function () {\n var layersId = [];\n var traverse = function traverse(tree) {\n (tree.nodes || [tree]).forEach(function (n) {\n if (n.id) {\n layersId.push(n.id);\n } else {\n traverse(n);\n }\n });\n };\n _this._project.state.layerstree.forEach(traverse);\n return layersId;\n }();\n\n /**\n * @FIXME add description\n */\n _this._setRelations(_this._project);\n\n /**\n * @FIXME add description\n */\n _this._atlas = _this._project.getPrint().filter(function (p) {\n return p.atlas;\n }) || [];\n\n /**\n * @FIXME add description\n */\n _gui2.default.onbefore('setContent', function (options) {\n if (100 === options.perc && _gui2.default.isMobile()) {\n _this._asyncFnc.zoomToLayerFeaturesExtent.async = true;\n _this._asyncFnc.highLightLayerFeatures.async = true;\n _this._asyncFnc.goToGeometry.async = true;\n }\n });\n\n return _this;\n }\n\n /**\n * used by the following plugins: \"qplotly\"\n */\n\n\n _createClass(QueryResultsService, [{\n key: 'addLayersPlotIds',\n value: function addLayersPlotIds() {\n var layerIds = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n this.plotLayerIds = layerIds;\n }\n\n /**\n * used by the following plugins: \"br-service\"\n * \n * Register for plugin or other component of application to add\n * custom component on result for each layer feature or layer\n *\n * @param opts.id unique id identification\n * @param opts.layerId Layer id of layer\n * @param opts.component custom component\n * @param opts.type feature or layer\n * @param opts.position\n */\n\n }, {\n key: 'registerCustomComponent',\n value: function registerCustomComponent() {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref4$id = _ref4.id,\n id = _ref4$id === undefined ? (0, _getUniqueDomId.getUniqueDomId)() : _ref4$id,\n layerId = _ref4.layerId,\n component = _ref4.component,\n _ref4$type = _ref4.type,\n type = _ref4$type === undefined ? 'feature' : _ref4$type,\n _ref4$position = _ref4.position,\n position = _ref4$position === undefined ? 'after' : _ref4$position;\n\n if (undefined === this.state.layerscustomcomponents[layerId]) {\n this.state.layerscustomcomponents[layerId] = {\n layer: { before: [], after: [] },\n feature: { before: [], after: [] }\n };\n }\n this.state.layerscustomcomponents[layerId][type][position].push({ id: id, component: component });\n return id;\n }\n\n /**\n * Loop over response features based on layer response and\n * check if features layer needs to be added or removed to\n * current `state.layers` results.\n *\n * @param responseLayer layer structure coming from request\n *\n * @since 3.8.0\n */\n\n }, {\n key: 'updateLayerResultFeatures',\n value: function updateLayerResultFeatures(responseLayer) {\n var _this5 = this;\n\n var layer = this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }); // get layer from current `state.layers` showed on a result\n responseFeatures = responseLayer.features || [], // extract features from responseLayer object\n external = (this.state.layers.find(function (l) {\n return l.id === responseLayer.id;\n }) || {}).external, // get id of external layer or not (`external` is a layer added by mapcontrol addexternlayer)\n has_features = layer && (layer.features || []).length > 0; // check if the current layer has features on response\n\n if (has_features) {\n var features_ids = layer.features.map(function (f) {\n return external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }); // get features id from current layer on a result\n responseFeatures.forEach(function (feat) {\n var feature_id = _this5._getFeatureId(feat, external);\n if (features_ids.some(function (id) {\n return id === feature_id;\n })) {\n // remove feature (because is already loaded)\n setTimeout(function () {\n return delete _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feat)];\n });\n layer.features = (layer.features || []).filter(function (f) {\n return _this5._getFeatureId(f, external) !== feature_id;\n });\n } else {\n // add feature\n layer.features.push(feat);\n }\n });\n // toggle layer feature box\n (layer.features || []).forEach(function (feature) {\n var collapsed = (layer.features || []).length > 1;\n var box = _this5.state.layersFeaturesBoxes[_this5.getBoxId(layer, feature)];\n if (box) {\n setTimeout(function () {\n return box.collapsed = collapsed;\n }); // due to vue reactivity, wait a little bit before update layers\n }\n });\n }\n\n // no more features on layer → remove interaction pickcoordinate to get a result from a map\n if (layer && 0 === (layer.features || []).length) {\n // due to vue reactivity, wait a little bit before update layers\n setTimeout(function () {\n _this5.state.layers = _this5.state.layers.filter(function (l) {\n return l.id !== layer.id;\n });\n _this5.clearHighlightGeometry(layer);\n _this5.removeAddFeaturesLayerResultInteraction(true);\n });\n }\n\n // highlight new feature\n if (1 === this.state.layers.length) {\n _gui2.default.getService('map').highlightFeatures(this.state.layers[0].features, { duration: Infinity });\n }\n\n this.changeLayerResult(layer);\n }\n\n /**\n * Generate a boxid identifier to query result html\n *\n * @param layer\n * @param feature\n * @param relation_index\n *\n * @returns {string}\n */\n\n }, {\n key: 'getBoxId',\n value: function getBoxId(layer, feature, relation_index) {\n return null !== relation_index && undefined !== relation_index ? layer.id + '_' + feature.id + '_' + relation_index : layer.id + '_' + feature.id;\n }\n\n /**\n * @FIXME add description\n *\n * @param layers\n * @param options\n */\n\n }, {\n key: 'setActionsForLayers',\n value: function setActionsForLayers(layers) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : { add: false };\n\n if (options.add) {\n return;\n }\n\n // reset array\n this.unlistenerlayeractionevents = [];\n\n // loop results\n layers.forEach(function (layer) {\n var _state$layersactions$;\n\n // set eventually layer action tool and need to be reactive\n _this6.state.layeractiontool[layer.id] = Vue.observable({ component: null, config: null });\n _this6.state.currentactiontools[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.currentactionfeaturelayer[layer.id] = Vue.observable(_extends({}, Array((layer.features || []).length).fill(null)));\n _this6.state.layersactions[layer.id] = _this6.state.layersactions[layer.id] || [];\n\n var download_format = 1 === layer.downloads.length && (layer.downloads || []).at(0); // NB: format == layer.downloads[0]\n var relations = (_this6._relations[layer.id] || []).filter(function (r) {\n return 'MANY' === r.type;\n });\n var chartRelationIds = relations.map(function (r) {\n return _this6.plotLayerIds.find(function (id) {\n return id === r.referencingLayer;\n });\n }).filter(Boolean);\n\n if (download_format) {\n layer[download_format] = Vue.observable({ active: false });\n }\n\n // set actionstools configs\n if (layer.downloads.length > 1) {\n _this6.state.actiontools.downloadformats = _this6.state.actiontools.downloadformats || {};\n _this6.state.actiontools.downloadformats[layer.id] = {\n downloads: layer.downloads.map(function (format) {\n return {\n id: 'download_' + format + '_feature',\n download: true,\n format: format,\n class: _gui2.default.getFontClass(format),\n hint: 'sdk.tooltips.download_' + format,\n cbk: function cbk(layer, feature, action, index, html) {\n // un-toggle downloads action\n _this6.downloadFeatures(format, layer, feature, action, index, html);\n if ('polygon' !== _this6.state.query.type) {\n var downloadsaction = _this6.state.layersactions[layer.id].find(function (a) {\n return 'downloads' === a.id;\n });\n downloadsaction.cbk(layer, feature, downloadsaction, index, html);\n }\n }\n };\n })\n };\n }\n\n (_state$layersactions$ = _this6.state.layersactions[layer.id]).push.apply(_state$layersactions$, _toConsumableArray([\n\n // zoom to geometry\n layer.hasgeometry && {\n id: 'gotogeometry',\n mouseover: true,\n class: _gui2.default.getFontClass('marker'),\n hint: 'sdk.mapcontrols.query.actions.zoom_to_feature.hint',\n cbk: (0, _throttle.throttle)(_this6.goToGeometry.bind(_this6))\n },\n\n // show relations (query)\n relations.length && {\n id: 'show-query-relations',\n class: _gui2.default.getFontClass('relation'),\n hint: 'sdk.mapcontrols.query.actions.relations.hint',\n cbk: function cbk(layer, feature, action) {\n _gui2.default.setCurrentContentOptions({ crumb: { text: true, title: layer.title } });\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n relations: action.relations,\n chartRelationIds: action.chartRelationIds,\n feature: feature,\n layer: layer\n })\n }),\n backonclose: true,\n title: 'info.list_of_relations',\n id: '__G3W_LIST_OF_RELATIONS_ID__',\n crumb: {\n title: 'info.list_of_relations',\n trigger: null\n },\n closable: false\n });\n },\n\n relations: relations,\n chartRelationIds: chartRelationIds\n },\n\n // show relations (plot)\n chartRelationIds.length && {\n id: 'show-plots-relations',\n opened: true,\n class: _gui2.default.getFontClass('chart'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n hint: 'sdk.mapcontrols.query.actions.relations_charts.hint',\n cbk: (0, _throttle.throttle)(function (layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this6.emit('show-chart', chartRelationIds, container, {\n relations: _this6._relations[layer.id],\n fid: feature.attributes[_g3wConstants.G3W_FID],\n height: 400\n });\n } else {\n _this6.hideChart(container);\n }\n })\n },\n\n // print (atlas)\n _this6._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n }).length && {\n id: 'printatlas',\n download: true,\n class: _gui2.default.getFontClass('print'),\n hint: 'sdk.tooltips.atlas',\n cbk: _this6.printAtlas.bind(_this6)\n },\n\n // download features (single)\n download_format && {\n id: 'download_' + download_format + '_feature',\n download: true,\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n class: _gui2.default.getFontClass('download'),\n hint: 'sdk.tooltips.download_' + download_format,\n cbk: function cbk(layer, feature, action, index, container) {\n action.state.toggled[index] = !action.state.toggled[index];\n if (action.state.toggled[index]) {\n _this6.downloadFeatures(download_format, layer, feature, action, index, 'pdf' === download_format ? container[0].innerHTML : null);\n } else {\n _this6.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n }\n },\n\n // download features (multi)\n layer.downloads.length > 1 && {\n id: 'downloads',\n download: true,\n class: _gui2.default.getFontClass('download'),\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n toggleable: true,\n hint: 'Downloads',\n change: function change(_ref5) {\n var _this7 = this;\n\n var features = _ref5.features;\n\n features.forEach(function (_, i) {\n return undefined === _this7.state.toggled[i] ? _g3wEventbus.VM.$set(_this7.state.toggled, i, false) : _this7.state.toggled[i] = false;\n });\n },\n\n cbk: function cbk(layer, feature, action, index) {\n action.state.toggled[index] = !action.state.toggled[index];\n _this6.setCurrentActionLayerFeatureTool({ layer: layer, index: index, action: action, component: action.state.toggled[index] ? _QueryResultsActionDownloadFormats2.default : null });\n }\n },\n\n // remove feature\n ('__g3w_marker' === layer.id || !layer.external && 'wms' !== (layer.source || {}).type) && {\n id: 'removefeaturefromresult',\n mouseover: true,\n class: _gui2.default.getFontClass('minus-square'),\n style: { color: 'red' },\n hint: 'sdk.mapcontrols.query.actions.remove_feature_from_results.hint',\n cbk: _this6.removeFeatureLayerFromResult.bind(_this6)\n },\n\n // select feature\n layer.toc && undefined !== layer.selection.active && {\n id: 'selection',\n class: _gui2.default.getFontClass('success'),\n hint: 'sdk.mapcontrols.query.actions.add_selection.hint',\n state: Vue.observable({ toggled: layer.features.reduce(function (a, _, i) {\n a[i] = null;return a;\n }, {}) }),\n // check feature selection\n init: function init() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref6.feature,\n index = _ref6.index,\n action = _ref6.action;\n\n if (layer.external && undefined !== layer.selection.active) {\n // external layer\n action.state.toggled[index] = feature.selection.selected;\n } else if (feature && undefined !== layer.selection.active) {\n // project layer\n var pLayer = (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n action.state.toggled[index] =\n //need to check if set active filter and no saved filter is set\n pLayer.state.filter.active && null == pLayer.state.filter.current ||\n //or if feature fid is in selected array\n pLayer.hasSelectionFid(feature ? _this6._getFeatureId(feature, layer.external) : null);\n }\n },\n /** @since 3.9.0 reactive `toggled` when adding new feature and then bind click on query result context (exclude existing features and add reactive array property) */\n change: function change(_ref7) {\n var _this8 = this;\n\n var features = _ref7.features;\n features.forEach(function (_, index) {\n return undefined === _this8.state.toggled[index] && _g3wEventbus.VM.$set(_this8.state.toggled, index, false);\n });\n },\n\n cbk: (0, _throttle.throttle)(_this6.addToSelection.bind(_this6))\n },\n\n // permalink (click to copy)\n layer.hasgeometry && !layer.external && 'wms' !== (layer.source || {}).type && {\n id: 'link_zoom_to_fid',\n class: _gui2.default.getFontClass('share-alt'),\n hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint',\n hint_change: { hint: 'sdk.mapcontrols.query.actions.copy_zoom_to_fid_url.hint_change', duration: 1000 },\n cbk: function cbk(layer, feature, action) {\n var url = new URL(location.href);\n url.searchParams.set('zoom_to_fid', layer.id + '|' + feature.attributes[_g3wConstants.G3W_FID]);\n (0, _copyUrl.copyUrl)(url.toString());\n action.hint_changed = true;\n }\n },\n\n // edit\n layer.editable && false === layer.inediting && {\n id: 'editing',\n class: _gui2.default.getFontClass('pencil'),\n hint: 'sdk.tooltips.editing',\n cbk: function cbk(layer, feature) {\n return _this6.editFeature({ layer: layer, feature: feature });\n }\n }].filter(Boolean)));\n\n // In case of external layer don't listen to `selection` event\n if (layer.external && layer.toc && undefined !== layer.selection.active) {\n layer.features.forEach(function (f) {\n return f.selection = (layer.selection.features.find(function (s) {\n return f.id === s.getId();\n }) || { selection: { selected: false } }).selection;\n });\n } else if (!layer.external && layer.toc && undefined !== layer.selection.active) {\n var handler = function handler() {\n return layer.features.forEach(function (_, i) {\n return _this6.state.layersactions[layer.id].find(function (a) {\n return a.id === 'selection';\n }).state.toggled[i] = false;\n });\n };\n (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).on('unselectionall', handler);\n _this6.unlistenerlayeractionevents.push({ layer: (0, _getCatalogLayerById.getCatalogLayerById)(layer.id), event: 'unselectionall', handler: handler });\n }\n });\n\n this.addActionsForLayers(this.state.layersactions, this.state.layers);\n }\n\n /**\n * Get action referred to layer getting the action id\n *\n * @param opts.layer layer linked to action\n * @param opts.id action id\n * \n * @returns undefined when no action is found\n */\n\n }, {\n key: 'getActionLayerById',\n value: function getActionLayerById() {\n var _ref8 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref8.layer,\n id = _ref8.id;\n\n if (this.state.layersactions[layer.id]) {\n return this.state.layersactions[layer.id].find(function (action) {\n return action.id === id;\n });\n }\n }\n\n /**\n * Set current layer action tool in feature\n *\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.index feature index\n * @param opts.action action\n * @param opts.component vue component\n */\n\n }, {\n key: 'setCurrentActionLayerFeatureTool',\n value: function setCurrentActionLayerFeatureTool() {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref9.layer,\n action = _ref9.action,\n index = _ref9.index,\n _ref9$component = _ref9.component,\n component = _ref9$component === undefined ? null : _ref9$component;\n\n var tools = this.state.currentactiontools[layer.id]; // get current action tools\n var feats = this.state.currentactionfeaturelayer[layer.id];\n feats[index] = component ? action : null;\n tools[index] = component; // set component\n\n // need to check if pass component and\n if (tools[index] && // if component is set\n action.id !== feats[index].id && // same action\n feats[index].toggleable // check if toggleable\n ) {\n feats[index].state.toggled[index] = false;\n }\n }\n\n /**\n * @TODO rename misleading method name: `addActionToolsLayer`\n * @param {Object } opts\n * @param opts.id action layer id\n * @param opts.layer layer\n * @param opts.config configuration object\n * @param opts.action (since 3.9.0) configuration object\n */\n\n }, {\n key: 'addCurrentActionToolsLayer',\n value: function addCurrentActionToolsLayer(_ref10) {\n var id = _ref10.id,\n layer = _ref10.layer,\n _ref10$config = _ref10.config,\n config = _ref10$config === undefined ? {} : _ref10$config,\n action = _ref10.action;\n\n if (!layer) {\n return;\n }\n this.state.actiontools[id] = _defineProperty({}, layer.id, config);\n if (action) {\n this.state.layersactions[layer.id] = this.state.layersactions[layer.id] || [];\n this.state.layersactions[layer.id].push(action);\n }\n }\n\n /**\n * @FIXME add description\n * @param {Object } opts\n * @param opts.layer current layer\n * @param opts.component vue component\n * @param opts.config configuration Object\n */\n\n }, {\n key: 'setLayerActionTool',\n value: function setLayerActionTool() {\n var _ref11 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref11.layer,\n _ref11$component = _ref11.component,\n component = _ref11$component === undefined ? null : _ref11$component,\n _ref11$config = _ref11.config,\n config = _ref11$config === undefined ? null : _ref11$config;\n\n this.state.layeractiontool[layer.id].component = component;\n this.state.layeractiontool[layer.id].config = config;\n }\n }, {\n key: 'clear',\n\n\n /**\n * Clear all\n */\n value: function clear() {\n this._asyncFnc.todo();\n // unlistener events actions\n this.unlistenerlayeractionevents.forEach(function (obj) {\n return obj.layer.off(obj.event, obj.handler);\n });\n this.unlistenerlayeractionevents = [];\n _gui2.default.getService('map').clearHighlightGeometry();\n this.resultsQueryLayer.getSource().clear();\n this.removeAddFeaturesLayerResultInteraction(true);\n this._asyncFnc = {\n todo: function todo() {},\n zoomToLayerFeaturesExtent: { async: false },\n highLightLayerFeatures: { async: false },\n goToGeometry: { async: false }\n };\n this.clearState();\n this.closeComponent();\n this.resultsQueryLayer.getSource().clear();\n _gui2.default.getService('map').getMap().removeLayer(this.resultsQueryLayer);\n }\n\n /**\n * Check if a one layer result\n *\n * @returns {boolean}\n */\n\n }, {\n key: 'isOneLayerResult',\n value: function isOneLayerResult() {\n return 1 === this.state.layers.length;\n }\n\n /**\n * @FIXME add description\n *\n * @param {boolean} toggle whether toggle mapcontrol\n */\n\n }, {\n key: 'removeAddFeaturesLayerResultInteraction',\n value: function removeAddFeaturesLayerResultInteraction(toggle) {\n var interaction = this._addFeaturesLayerResultInteraction;\n\n if (null !== interaction.toggleeventhandler) {\n _gui2.default.getService('map').off('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n\n // remove current interaction to get features from layer\n if (null !== interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // check if query map control is toggled and registered\n if (null !== interaction.mapcontrol) {\n interaction.mapcontrol.toggle(toggle);\n }\n\n // reset values\n Object.assign(interaction, {\n interaction: null,\n id: null,\n toggleeventhandler: null,\n mapcontrol: null\n });\n }\n\n /**\n * Adds feature to Features layer results\n *\n * @param layer\n */\n\n }, {\n key: 'addLayerFeaturesToResultsAction',\n value: function addLayerFeaturesToResultsAction(layer) {\n var _this9 = this;\n\n var interaction = this._addFeaturesLayerResultInteraction;\n\n var not_current = ![null, layer.id].includes(interaction.id);\n var new_layer = not_current && this.state.layers.find(function (l) {\n return l.id === interaction.id;\n });\n\n // disable previous layer\n if (not_current && new_layer) {\n new_layer.addfeaturesresults.active = false;\n }\n\n // remove previous interaction\n if (not_current && interaction.interaction) {\n _gui2.default.getService('map').removeInteraction(interaction.interaction);\n }\n\n // set new layer\n interaction.id = layer.id;\n\n layer.addfeaturesresults.active = !layer.addfeaturesresults.active;\n\n if (false === layer.addfeaturesresults.active) {\n this.removeAddFeaturesLayerResultInteraction(true);\n } else {\n\n this.activeMapInteraction(); // useful to send an event\n\n var external_layer = (this.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external;\n\n interaction.mapcontrol = interaction.mapcontrol || _gui2.default.getService('map').getCurrentToggledMapControl() || null; //need to be set null when this.mapService.getCurrentToggledMapControl() is undefined\n interaction.interaction = new _pickcoordinatesinteraction2.default();\n\n _gui2.default.getService('map').addInteraction(interaction.interaction, { close: false });\n\n interaction.interaction.on('picked', function () {\n var _ref13 = _asyncToGenerator(function* (_ref12) {\n var coordinates = _ref12.coordinate;\n\n if (external_layer) {\n // call setQueryResponse setters method directly in case of external layer \n _this9.setQueryResponse({\n data: [_this9.getVectorLayerFeaturesFromQueryRequest(_this9._vectorLayers.find(function (v) {\n return layer.id === v.get('id');\n }), { coordinates: coordinates })],\n query: { coordinates: coordinates }\n }, { add: true });\n } else {\n yield _data2.default.getData('query:coordinates', {\n inputs: {\n coordinates: coordinates,\n query_point_tolerance: _this9._project.getQueryPointTolerance(),\n layerIds: [layer.id],\n multilayers: false\n },\n outputs: {\n show: { add: true }\n }\n });\n }\n });\n\n return function (_x14) {\n return _ref13.apply(this, arguments);\n };\n }());\n\n interaction.toggleeventhandler = function (evt) {\n if (evt.target.isToggled() && evt.target.isClickMap()) {\n layer.addfeaturesresults.active = false;\n }\n };\n\n _gui2.default.getService('map').once('mapcontrol:toggled', interaction.toggleeventhandler);\n }\n }\n\n /**\n * used by the following plugins: \"bforest\"\n */\n\n }, {\n key: 'deactiveQueryInteractions',\n value: function deactiveQueryInteractions() {\n this.state.layers.forEach(function (l) {\n if (l.addfeaturesresults) {\n l.addfeaturesresults.active = false;\n }\n });\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'zoomToLayerFeaturesExtent',\n value: function zoomToLayerFeaturesExtent(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n options.highlight = !this.isOneLayerResult();\n if (this._asyncFnc.zoomToLayerFeaturesExtent.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').zoomToFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').zoomToFeatures(layer.features || [], options);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param options\n */\n\n }, {\n key: 'highLightLayerFeatures',\n value: function highLightLayerFeatures(layer) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this._asyncFnc.highLightLayerFeatures.async) {\n this._asyncFnc.todo = _gui2.default.getService('map').highlightFeatures.bind(_gui2.default.getService('map'), layer.features || [], options);\n } else {\n _gui2.default.getService('map').highlightFeatures(layer.features || [], options);\n }\n }\n\n /**\n * Reset internal state\n */\n\n }, {\n key: 'clearState',\n value: function clearState() {\n this.state.layers.splice(0);\n this.state.query = null;\n this.state.querytitle = \"\";\n this.state.changed = false;\n // clear actions\n Object.values(this.state.layersactions).forEach(function (l) {\n return l.forEach(function (a) {\n return a.clear && a.clear();\n });\n });\n this.state.layersactions = {};\n this.state.actiontools = {};\n this.state.layeractiontool = {};\n this.state.currentactiontools = {};\n this.state.layersFeaturesBoxes = {};\n this.removeAddFeaturesLayerResultInteraction();\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: 'getState',\n value: function getState() {\n return this.state;\n }\n\n /**\n * @FIXME add description\n *\n * @param state\n */\n\n }, {\n key: 'setState',\n value: function setState(state) {\n this.state = state;\n }\n\n /**\n * @FIXME add description\n *\n * @param project\n */\n\n }, {\n key: '_setRelations',\n value: function _setRelations(project) {\n this._relations = (project.getRelations() || []).reduce(function (group, r) {\n group[r.referencedLayer] = group[r.referencedLayer] || [];\n group[r.referencedLayer].push(r);\n return group;\n }, {});\n }\n\n /**\n * @FIXME add description\n *\n * @param querytitle\n */\n\n }, {\n key: 'setTitle',\n value: function setTitle(querytitle) {\n this.state.querytitle = querytitle || \"\";\n }\n\n /**\n * @FIXME add description\n *\n * @param actionId\n * @param layer\n * @param feature\n * @param index\n * @param container\n */\n\n }, {\n key: 'trigger',\n value: function () {\n var _ref14 = _asyncToGenerator(function* (actionId, layer, feature, index, container) {\n if ('highlightgeometry' === actionId) {\n this.highlightGeometry(layer, feature, index);\n }\n if ('clearHighlightGeometry' === actionId) {\n this.clearHighlightGeometry(layer, feature, index);\n }\n if (layer && this.state.layersactions[layer.id]) {\n var action = this.state.layersactions[layer.id].find(function (layerAction) {\n return layerAction.id === actionId;\n });\n if (action && action.cbk) {\n yield action.cbk(layer, feature, action, index, container);\n }\n if (action && action.route) {\n var url = action.route.replace(/{(\\w*)}/g, function (m, key) {\n return feature.attributes.hasOwnProperty(key) ? feature.attributes[key] : \"\";\n });\n if (url && '' !== url) {\n _gui2.default.goto(url);\n }\n }\n }\n });\n\n function trigger(_x17, _x18, _x19, _x20, _x21) {\n return _ref14.apply(this, arguments);\n }\n\n return trigger;\n }()\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'registerVectorLayer',\n value: function registerVectorLayer(vectorLayer) {\n if (!this._vectorLayers.includes(vectorLayer)) {\n this._vectorLayers.push(vectorLayer);\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n */\n\n }, {\n key: 'unregisterVectorLayer',\n value: function unregisterVectorLayer(vectorLayer) {\n var _this10 = this;\n\n this._vectorLayers = this._vectorLayers.filter(function (vl) {\n _this10.state.layers = _this10.state.layers.filter(function (l) {\n return l.id !== vectorLayer.get('id');\n });\n return vl !== vectorLayer;\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param vectorLayer\n * @param query\n *\n * @returns {Object|Boolean}\n */\n\n }, {\n key: 'getVectorLayerFeaturesFromQueryRequest',\n value: function getVectorLayerFeaturesFromQueryRequest(vectorLayer) {\n var query = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var coordinates = query.coordinates,\n bbox = query.bbox,\n geometry = query.geometry,\n _query$filterConfig = query.filterConfig,\n filterConfig = _query$filterConfig === undefined ? {} : _query$filterConfig; // extract information about a query type\n\n var features = [];\n\n var has_coords = coordinates && Array.isArray(coordinates);\n var has_bbox = bbox && Array.isArray(bbox);\n\n // case query coordinates\n if (has_coords) {\n _gui2.default.getService('map').viewer.map.forEachFeatureAtPixel(_gui2.default.getService('map').viewer.map.getPixelFromCoordinate(coordinates), function (f) {\n features.push(f);\n }, { layerFilter: function layerFilter(l) {\n return l === vectorLayer;\n } });\n }\n\n // case query bbox\n if (has_bbox && !has_coords) {\n //set geometry has Polygon\n geometry = ol.geom.Polygon.fromExtent(bbox);\n }\n\n var is_poly = geometry instanceof ol.geom.Polygon || geometry instanceof ol.geom.MultiPolygon;\n\n // check query geometry (Polygon or MultiPolygon)\n if (is_poly && !has_coords && _vectorlayer.VectorLayer === vectorLayer.constructor) {\n features = vectorLayer.getIntersectedFeatures(geometry);\n } else if (is_poly && !has_coords && ol.layer.Vector === vectorLayer.constructor) {\n vectorLayer.getSource().getFeatures().forEach(function (f) {\n var add = void 0;\n switch (filterConfig.spatialMethod) {\n case 'intersects':\n add = (0, _intersects.intersects)(geometry, f.getGeometry());break;\n case 'within':\n add = (0, _within.within)(geometry, f.getGeometry());break;\n default:\n add = geometry.intersectsExtent(f.getGeometry().getExtent());break;\n }\n if (true === add) {\n features.push(f);\n }\n });\n }\n\n return {\n features: features,\n layer: vectorLayer\n };\n }\n\n /**\n * @FIXME add description\n */\n\n }, {\n key: '_printSingleAtlas',\n value: function _printSingleAtlas() {\n var _ref15 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref15$atlas = _ref15.atlas,\n atlas = _ref15$atlas === undefined ? {} : _ref15$atlas,\n _ref15$features = _ref15.features,\n features = _ref15$features === undefined ? [] : _ref15$features;\n\n var field = atlas.atlas && atlas.atlas.field_name ? atlas.atlas.field_name : '$id';\n return (0, _printAtlas.printAtlas)({\n field: field,\n values: features.map(function (feat) {\n return feat.attributes['$id' === field ? _g3wConstants.G3W_FID : field];\n }),\n template: atlas.name,\n download: true\n }).then(function (_ref16) {\n var url = _ref16.url;\n return _gui2.default.downloadWrapper(_downloadFile.downloadFile, { url: url, filename: atlas.name, mime_type: 'application/pdf' });\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param ids\n * @param container\n * @param relationData\n */\n\n }, {\n key: 'showChart',\n value: function showChart(ids, container, relationData) {\n this.emit('show-chart', ids, container, relationData);\n }\n\n /**\n * @FIXME add description\n * \n * @param container DOM element\n */\n\n }, {\n key: 'hideChart',\n value: function hideChart(container) {\n this.emit('hide-chart', container);\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'printAtlas',\n value: function printAtlas(layer, feature) {\n var _this11 = this;\n\n var features = feature ? [feature] : layer.features;\n var atlasLayer = this._atlas.filter(function (a) {\n return a.atlas.qgs_layer_id === layer.id;\n });\n\n /** @FIXME add description */\n if (atlasLayer.length <= 1) {\n this._printSingleAtlas({ features: features, atlas: atlasLayer[0] });\n return;\n }\n\n var inputs = '';\n\n atlasLayer.forEach(function (atlas, index) {\n var id = (0, _getUniqueDomId.getUniqueDomId)();\n inputs += '';\n inputs += '';\n inputs += '
';\n });\n\n _gui2.default.showModalDialog({\n title: t('sdk.atlas.template_dialog.title'),\n message: inputs,\n buttons: {\n success: {\n label: \"OK\",\n className: \"skin-button\",\n callback: function callback() {\n var index = $('input[name=\"template\"]:checked').attr('g3w_atlas_index');\n if (undefined === index) {\n return false; // prevent default\n }\n _this11._printSingleAtlas({ features: features, atlas: atlasLayer[index] });\n }\n }\n }\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'showLayerDownloadFormats',\n value: function showLayerDownloadFormats(layer) {\n layer.downloadformats.active = !layer.downloadformats.active;\n this.setLayerActionTool({\n layer: layer,\n component: layer.downloadformats.active ? _QueryResultsActionDownloadFormats2.default : null,\n config: layer.downloadformats.active ? _extends({}, this.state.actiontools.downloadformats[layer.id], {\n //for download layer need to filter pdf format because it works only for a single feature\n downloads: this.state.actiontools.downloadformats[layer.id].downloads.filter(function (d) {\n return 'pdf' !== d.format;\n })\n }) : null\n });\n }\n\n /**\n * @FIXME add description\n *\n * @param type\n * @param layer\n * @param features\n * @param action\n * @param index\n * @param html\n */\n\n }, {\n key: 'downloadFeatures',\n value: function () {\n var _ref17 = _asyncToGenerator(function* (type, layer) {\n var features = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var action = arguments[3];\n\n var _this12 = this;\n\n var index = arguments[4];\n var html = arguments[5];\n\n\n if (features && !Array.isArray(features)) {\n features = [features];\n }\n\n var _state$query = this.state.query,\n query = _state$query === undefined ? {} : _state$query;\n\n var data = {\n fids: features.map(function (f) {\n return f.attributes[_g3wConstants.G3W_FID];\n }).join(',')\n };\n\n //In the case of pdf type need to add html element\n if ('pdf' === type) {\n data.html = html;\n }\n\n /**\n * A function that che be called in case of querybypolygon\n *\n * @param active\n */\n var runDownload = function () {\n var _ref18 = _asyncToGenerator(function* () {\n var active = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n\n if (features.length > 1) {\n layer.downloadformats.active = active;\n _this12.setLayerActionTool({ layer: layer });\n }\n\n yield _gui2.default.downloadWrapper(function () {\n var _ref19 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layer = _ref19.layer,\n type = _ref19.type,\n data = _ref19.data;\n\n return (0, _getCatalogLayerById.getCatalogLayerById)(layer.id).getDownloadFilefromDownloadDataType(type, { data: data }) || Promise.resolve();\n }, {\n layer: layer,\n type: type,\n data: data\n });\n\n var downloadsactions = _this12.state.layersactions[layer.id].find(function (action) {\n return 'downloads' === action.id;\n });\n\n /** @FIXME add description */\n if (features.length > 1 && undefined === downloadsactions) {\n layer[type].active = false;\n _this12.setLayerActionTool({ layer: layer });\n }\n\n /** @FIXME add description */\n if (features.length > 1 && undefined !== downloadsactions) {\n layer.downloadformats.active = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined === downloadsactions) {\n action.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1 && undefined !== downloadsactions) {\n downloadsactions.state.toggled[index] = false;\n }\n\n /** @FIXME add description */\n if (features.length <= 1) {\n _this12.setCurrentActionLayerFeatureTool({ index: index, action: action, layer: layer });\n }\n });\n\n return function runDownload() {\n return _ref18.apply(this, arguments);\n };\n }();\n\n /** @FIXME add description */\n if ('polygon' !== query.type) {\n yield runDownload();\n return;\n }\n\n // check if multi-download if present\n var downloadsactions = this.state.layersactions[layer.id].find(function (action) {\n return action.id === 'downloads';\n });\n\n var config = {\n choices: [{\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'feature',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature.label'\n }, {\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n type: 'polygon',\n label: 'sdk.mapcontrols.querybypolygon.download.choiches.feature_polygon.label'\n }],\n // choose between only feature attribute or also polygon attribute\n download: function download(type) {\n if ('polygon' === type) {\n // id type polygon add parameters to api download\n data.sbp_qgs_layer_id = layer.id;\n data.sbp_fid = query.fid;\n } else {\n // force to remove\n delete data.sbp_fid;\n delete data.sbp_qgs_layer_id;\n }\n runDownload(true);\n }\n };\n\n /** @FIXME add description */\n if (1 === features.length && undefined === downloadsactions) {\n action.state.toggled[index] = true;\n }\n\n /** @FIXME add description */\n if (1 === features.length) {\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name] = this.state.actiontools[layer.id] || {};\n this.state.actiontools[_QueryResultsActionQueryPolygonCSVAttributes2.default.name][layer.id] = config;\n this.setCurrentActionLayerFeatureTool({\n layer: layer,\n index: index,\n action: action,\n component: _QueryResultsActionQueryPolygonCSVAttributes2.default\n });\n }\n\n /** @FIXME add description */\n if (undefined === downloadsactions && 1 !== features.length) {\n layer[type].active = !layer[type].active;\n }\n\n /** @FIXME add description */\n if (1 !== features.length) {\n var has_config = downloadsactions || layer[type].active && undefined === downloadsactions;\n this.setLayerActionTool({\n layer: layer,\n component: has_config ? _QueryResultsActionQueryPolygonCSVAttributes2.default : null,\n config: has_config ? config : null\n });\n }\n });\n\n function downloadFeatures(_x25, _x26) {\n return _ref17.apply(this, arguments);\n }\n\n return downloadFeatures;\n }()\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'goToGeometry',\n value: function goToGeometry(layer, feature) {\n var _this13 = this;\n\n if (!feature.geometry) {\n return;\n }\n if (this._asyncFnc.goToGeometry.async) {\n this._asyncFnc.todo = _gui2.default.getService('map')[this.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'].bind(_gui2.default.getService('map'), this.isOneLayerResult() ? [feature] : feature.geometry, this.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n } else {\n setTimeout(function () {\n return _gui2.default.getService('map')[_this13.isOneLayerResult() ? 'zoomToFeatures' : 'highlightGeometry'](_this13.isOneLayerResult() ? [feature] : feature.geometry, _this13.isOneLayerResult() ? {} : { layerId: layer.id, duration: 1500 });\n });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n * @param feature\n */\n\n }, {\n key: 'highlightGeometry',\n value: function highlightGeometry(layer, feature) {\n if (feature.geometry) {\n _gui2.default.getService('map').highlightGeometry(feature.geometry, { layerId: layer.id, zoom: false, duration: Infinity });\n }\n }\n\n /**\n * @FIXME add description\n *\n * @param layer\n */\n\n }, {\n key: 'clearHighlightGeometry',\n value: function clearHighlightGeometry(layer) {\n _gui2.default.getService('map').clearHighlightGeometry();\n if (this.isOneLayerResult()) {\n _gui2.default.getService('map').highlightFeatures(layer.features, { duration: Infinity });\n }\n }\n\n /**\n * Handle show Relation on result\n * @param { Object } opts\n * @param opts.relation\n * @param opts.layerId current layer father id\n * @param opts.feature current feature father id\n */\n\n }, {\n key: 'showRelation',\n value: function showRelation() {\n var _ref20 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n relation = _ref20.relation,\n layerId = _ref20.layerId,\n feature = _ref20.feature;\n\n var projectRelation = this._project.getRelationById(relation.name);\n _gui2.default.pushContent({\n content: new _g3wComponent2.default({\n internalComponent: new (Vue.extend(require('components/RelationsPage.vue')))({\n currentview: 'relation',\n relations: [projectRelation],\n chartRelationIds: this.plotLayerIds.find(function (pid) {\n return pid == projectRelation.referencingLayer;\n }) ? [projectRelation.referencingLayer] : [],\n nmRelation: this._project.getRelationById(relation.nmRelationId),\n layer: { id: layerId },\n feature: feature\n })\n }),\n crumb: {\n title: projectRelation.name,\n text: true\n },\n title: projectRelation.name,\n text: true,\n closable: false\n });\n }\n }, {\n key: '_getFeatureId',\n\n\n /**\n * Get id of the feature\n *\n * @since 3.9.0\n */\n value: function _getFeatureId(feature, external) {\n return external ? feature.id : feature.attributes[_g3wConstants.G3W_FID];\n }\n\n /**\n * @TODO make it simpler..\n * @TODO make it a Layers class function ? \n * \n * Add / Remove features from selection\n * \n * ORIGINAL SOURCE: src/app/gui/queryresults/queryresultsservice.js@3.8.12::addToSelection\n * \n * @since 3.9.0\n */\n\n }, {\n key: 'addToSelection',\n value: function addToSelection(layer, feature, action, index) {\n var service = _gui2.default.getService('queryresults');\n var map = _gui2.default.getService('map');\n\n // TODO: avoid referencing this private stuff\n var getFeatureId = service._getFeatureId.bind(service);\n var getActionLayerById = service.getActionLayerById.bind(service);\n\n var GIVE_ME_A_NAME = undefined === feature && undefined === action && undefined === index;\n var _action = GIVE_ME_A_NAME ? getActionLayerById({ layer: layer, id: 'selection' }) : action;\n var toggled = GIVE_ME_A_NAME && Object.values(_action.state.toggled).reduce(function (prev, curr) {\n return prev && curr;\n }, true);\n var _layer = GIVE_ME_A_NAME ? layer.external ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id) : (service.state.layers.find(function (l) {\n return l.id === layer.id;\n }) || {}).external || false ? layer : (0, _getCatalogLayerById.getCatalogLayerById)(layer.id);\n var features = GIVE_ME_A_NAME ? layer.features && layer.features.length ? layer.features : [] : [feature];\n var params = GIVE_ME_A_NAME ? {\n fids: features.length > 0 ? features.map(function (f) {\n return _layer.external ? f.id : f.attributes[_g3wConstants.G3W_FID];\n }) : null,\n features: features,\n force: toggled ? 'remove' : 'add'\n } : {\n fids: [feature ? getFeatureId(feature, _layer.external) : null],\n features: features,\n index: index,\n force: undefined\n };\n\n if (!GIVE_ME_A_NAME) {\n _action.state.toggled[index] = !_action.state.toggled[index];\n }\n\n /**\n * PROJECT LAYER\n */\n if (!layer.external && ![null, undefined].includes(params.fids)) {\n var _layer2 = _layer;\n var fids = params.fids,\n _features = params.features,\n force = params.force;\n\n\n fids = Array.isArray(fids) ? fids : [fids];\n _features = Array.isArray(_features) ? _features : [_features];\n\n var include = []; // fid of features to include\n var exclude = []; // fid of features to exclude\n\n fids.forEach(function (fid, idx) {\n var feature = _features[idx];\n var is_selected = _layer2.state.filter.active || _layer2.hasSelectionFid(fid);\n\n // if not already selected and feature is not added to OL selection layer on map --> add as feature of selected layer\n if (!is_selected && feature && feature.geometry && !_layer2.getOlSelectionFeature(fid)) {\n _layer2.addOlSelectionFeature({ id: fid, feature: feature });\n }\n\n // force action\n if (undefined === force) {\n _layer2[is_selected ? 'excludeSelectionFid' : 'includeSelectionFid'](fid);\n }\n\n // force add\n if ('add' === force && !is_selected) {\n include.push(fid);\n }\n\n // force remove\n if ('remove' === force) {\n exclude.push(fid);\n }\n });\n\n _layer2.includeSelectionFids(include, false);\n _layer2.excludeSelectionFids(exclude, false);\n\n (_layer2.state.filter.active ? _layer2.createFilterToken() : Promise.resolve()).then(function () {\n var _GUI$getService$getSt = _gui2.default.getService('queryresults').getState(),\n layers = _GUI$getService$getSt.layers;\n\n /** @TODO add description */\n\n\n fids.forEach(function (fid, idx) {\n var currentLayer = !_layer2.hasSelectionFid(fid) && _layer2.state.filter.active && _layer2.getSelectionFids().size > 0 && layers.find(function (l) {\n return l.id === _layer2.getId();\n });\n if (currentLayer) {\n currentLayer.features.splice(undefined === index ? idx : index, 1);\n }\n });\n\n map.clearHighlightGeometry();\n\n /** @TODO add description */\n if (1 === layers.length && !layers[0].features.length) {\n layers.splice(0);\n }\n });\n }\n\n /**\n * EXTERNAL LAYER\n */\n if (layer.external && ![null, undefined].includes(params.fids)) {\n\n var _layer3 = _layer;\n var _fids = params.fids,\n _features2 = params.features,\n _force = params.force;\n\n //Take in account array or single fid\n\n _features2 = Array.isArray(_features2) ? _features2 : [_features2];\n\n //check if layer.selection.features is undefined\n if (undefined === _layer3.selection.features) {\n //set array\n _layer3.selection.features = [];\n }\n\n _fids.forEach(function (fid, i) {\n var feature = _features2[i];\n\n // Set feature used in selection tool action\n if (undefined === _layer3.selection.features.find(function (f) {\n return f.getId() === fid;\n })) {\n // create ol feature from object\n var feat = feature;\n var attributes = feature.attributes;\n\n if (feature.geometry) {\n feat = new ol.Feature(feature.geometry);\n feat.setId(fid);\n }\n Object.keys(attributes).forEach(function (attr) {\n return feat.set(attr, attributes[attr]);\n });\n feat.__layerId = _layer3.id;\n feat.selection = feature.selection;\n _layer3.selection.features.push(feat);\n }\n\n //check if feature is already select or feature is already removed (no selected)\n /** If not changes to apply return */\n if ('add' === _force && feature.selection.selected || 'remove' === _force && !feature.selection.selected) {\n return;\n }\n\n /**Switch selected boolean value */\n feature.selection.selected = !feature.selection.selected;\n\n /** Need to add selection on map */\n map.setSelectionFeatures(feature.selection.selected ? 'add' : 'remove', {\n feature: _layer3.selection.features.find(function (selectionFeature) {\n return fid === selectionFeature.getId();\n })\n });\n });\n\n // Set selection layer active based on features selection selected properties.\n _layer3.selection.active = _layer3.selection.features.reduce(function (acc, feature) {\n return acc || feature.selection.selected;\n }, false);\n }\n\n if (GIVE_ME_A_NAME) {\n layer.features.forEach(function (f, i) {\n return _action.state.toggled[i] = !toggled;\n });\n }\n }\n }]);\n\n return QueryResultsService;\n}(_g3wObject2.default))();\n\n},{\"components/QueryResultsActionDownloadFormats.vue\":94,\"components/QueryResultsActionQueryPolygonCSVAttributes.vue\":96,\"components/RelationsPage.vue\":103,\"g3w-component\":124,\"g3w-constants\":125,\"g3w-eventbus\":126,\"g3w-i18n\":128,\"g3w-object\":129,\"map/interactions/pickcoordinatesinteraction\":149,\"map/layers/layer\":155,\"map/layers/vectorlayer\":158,\"services/data\":172,\"services/gui\":173,\"store/application\":178,\"utils/copyUrl\":190,\"utils/downloadFile\":200,\"utils/getAlphanumericPropertiesFromFeature\":202,\"utils/getCatalogLayerById\":203,\"utils/getUniqueDomId\":217,\"utils/intersects\":221,\"utils/printAtlas\":231,\"utils/throttle\":241,\"utils/within\":244}],177:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); /**\n * @file\n * @since v3.6\n */\n\n\nvar _XHR = require('utils/XHR');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n/**\n * SERVER\n * \"\"\"Returns the (possibly) new layer ID where the isochrone\n data has been added. If the task has not yet completed, a status message is returned\n\n Note: `project_id` is only used for permissions checking!\n\n Returns 500 in case of exception\n Returns 404 in case of a task didn't find\n Returns 200 ok for all other cases\n\n Response body:\n\n {\n \"status\": \"complete\", // or \"pending\" or \"error\", full list at\n // https://huey.readthedocs.io/en/latest/signals.html#signals\n \"exception\": \"Normally empty, error message in case of errors\",\n \"progress\": [\n 100, // Progress %\n ],\n \"task_result\": {\n \"qgis_ayer_id\": \"4f2a88a1-ca93-4859-9de3-75d9728cde0e\"\n }\n }\n\n **/\n\n/**\n * Singletone service to run async task\n */\nexports.default = new (function () {\n function TaskService() {\n _classCallCheck(this, TaskService);\n\n /**\n * Array contains all task id that are running. Each item is an object contain:\n * {\n * taskId: //taskId,\n * intervalId: interval to clear clearInterval()\n * }\n **/\n this.tasks = [];\n }\n\n /**\n *\n * @param opts: {\n * method: http method to run task GET/POST\n * url: api request url (that server start in background task)\n * taskUrl = url to ask the status og task\n * params: Object contain param to http/https request\n * interval: interval in milliseconds to do a request for ask status of task (default 10000 - 1 second)\n * listener: ()=>{} method to call\n *\n * }\n *\n * return a Promise that return a task id\n */\n\n\n _createClass(TaskService, [{\n key: 'runTask',\n value: function () {\n var _ref = _asyncToGenerator(function* () {\n var _this = this;\n\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _opts$method = opts.method,\n method = _opts$method === undefined ? 'GET' : _opts$method,\n _opts$params = opts.params,\n params = _opts$params === undefined ? {} : _opts$params,\n url = opts.url,\n taskUrl = opts.taskUrl,\n _opts$interval = opts.interval,\n interval = _opts$interval === undefined ? 1000 : _opts$interval,\n _opts$timeout = opts.timeout,\n timeout = _opts$timeout === undefined ? Infinity : _opts$timeout,\n _opts$listener = opts.listener,\n listener = _opts$listener === undefined ? function () {} : _opts$listener;\n\n try {\n var response = 'GET' === method ? yield _XHR.XHR.get({\n url: url,\n params: params\n }) : yield _XHR.XHR.post({\n url: url,\n data: params.data || {},\n contentType: params.contentType || \"application/json\"\n });\n var result = response.result,\n task_id = response.task_id;\n\n if (result) {\n var intervalId = setInterval(_asyncToGenerator(function* () {\n // check if timeout is defined\n timeout = timeout - interval;\n if (timeout > 0) {\n var _response = void 0;\n try {\n _response = yield _XHR.XHR.get({\n url: '' + taskUrl + task_id\n });\n } catch (e) {\n _response = e;\n console.warn(e);\n }\n listener({\n task_id: task_id,\n timeout: false,\n response: _response\n });\n } else {\n listener({\n timeout: true\n });\n _this.stopTask({\n task_id: task_id\n });\n }\n }), interval);\n\n // add current task to list of task\n this.tasks.push({\n task_id: task_id,\n intervalId: intervalId\n });\n\n // run first time listener function\n listener({\n task_id: task_id,\n response: response\n });\n } else {\n return Promise.reject(response);\n }\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n function runTask() {\n return _ref.apply(this, arguments);\n }\n\n return runTask;\n }()\n }, {\n key: 'stopTask',\n\n\n /**\n *\n * @param opts: {\n * taskId: taskId that is running\n * }\n */\n value: function stopTask() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var task = this.tasks.find(function (t) {\n return opts.task_id === t.task_id;\n });\n if (task) {\n clearInterval(task.intervalId);\n }\n }\n }, {\n key: 'clear',\n\n\n /**\n * clare all task\n */\n value: function clear() {\n var _this2 = this;\n\n this.tasks.forEach(function (_ref3) {\n var taskId = _ref3.taskId;\n return _this2.stopTask({ taskId: taskId });\n });\n //reset to empty tasks\n this.tasks.splice(0);\n }\n }]);\n\n return TaskService;\n}())();\n\n},{\"utils/XHR\":181}],178:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * State of application reactive\n * @type {object}\n */\nvar 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 _g3wObject2.default(),\n\n /** @since 3.11.0 */\n catalog: {},\n\n /** @since 3.11.0 */\n highlightlayers: false\n\n}); /**\n * @file State and methods to query the STATE of application\n * @since v3.6\n */\n\nexports.default = STATE;\n\n},{\"g3w-object\":129}],179:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Object where store plugin\n * key = plugin name\n * value = plugin instance\n * \n * @since 3.11.0\n */\nvar PLUGINS = {}; /**\n * @file Store G3W-CLIENT plugins (editing, qplotly, qtimeseries, ...)\n * @since v3.6\n */\n\nexports.default = Object.assign(new _g3wObject2.default(), { setters: {\n /** store plugin into registry (if not already registered) */\n registerPlugin: function registerPlugin(plugin) {\n PLUGINS[plugin.name] = PLUGINS[plugin.name] || plugin;\n }\n },\n /** @returns Plugin instance */\n getPlugin: function getPlugin(name) {\n return PLUGINS[name];\n }\n});\n\n},{\"g3w-object\":129}],180:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; } /**\n * @file\n *\n * @since 3.11.0\n */\n\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 */\nexports.default = {\n get: function get() {\n var crs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var p = ol.proj.get(crs.epsg);\n if (!p) {\n if (crs.proj4) {\n proj4.defs(crs.epsg, crs.proj4);\n }\n var 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 = function () {\n return proj.axisOrientation;\n };\n ol.proj.addProjection(p);\n ol.proj.proj4.register(proj4);\n }\n return p;\n },\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 registerProjection: function () {\n var _ref = _asyncToGenerator(function* (epsg) {\n var p = ol.proj.get(epsg) || undefined;\n\n // check if already registered\n if (!p) {\n var _ref2 = yield (yield fetch('/crs/' + epsg.split(':')[1] + '/')).json(),\n result = _ref2.result,\n data = _ref2.data;\n\n if (result) {\n data.epsg = (0, _normalizeEpsg.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\n function registerProjection(_x2) {\n return _ref.apply(this, arguments);\n }\n\n return registerProjection;\n }()\n};\n\n},{\"utils/normalizeEpsg\":228}],181:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.XHR = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _downloadFile = require('utils/downloadFile');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nvar XHR = exports.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 get: function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref2.url,\n _ref2$params = _ref2.params,\n params = _ref2$params === undefined ? {} : _ref2$params,\n signal = _ref2.signal;\n\n if (!url) {\n return Promise.reject('No url');\n }\n\n params = new URLSearchParams(JSON.parse(JSON.stringify(params || {}))).toString();\n\n var response = yield (yield fetch(url + (params ? '?' : '') + params, { signal: 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 function get() {\n return _ref.apply(this, arguments);\n }\n\n return get;\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 post: function () {\n var _ref3 = _asyncToGenerator(function* () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref4.url,\n data = _ref4.data,\n _ref4$formdata = _ref4.formdata,\n formdata = _ref4$formdata === undefined ? false : _ref4$formdata,\n contentType = _ref4.contentType,\n signal = _ref4.signal;\n\n if (formdata) {\n formdata = new FormData();\n Object.entries(data).forEach(function (_ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n key = _ref6[0],\n value = _ref6[1];\n\n return formdata.append(key, value);\n });\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 var response = yield (yield fetch(url, {\n method: 'POST',\n body: formdata,\n headers: {\n 'Content-Type': contentType || 'application/x-www-form-urlencoded'\n },\n signal: 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 post() {\n return _ref3.apply(this, arguments);\n }\n\n return post;\n }(),\n fileDownload: function fileDownload() {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n url = _ref7.url,\n data = _ref7.data,\n _ref7$httpMethod = _ref7.httpMethod,\n httpMethod = _ref7$httpMethod === undefined ? \"POST\" : _ref7$httpMethod,\n signal = _ref7.signal;\n\n var timeout = void 0;\n return new Promise(function () {\n var _ref8 = _asyncToGenerator(function* (resolve, reject) {\n try {\n timeout = setTimeout(function () {\n reject('Timeout');\n }, _g3wConstants.TIMEOUT);\n\n (0, _downloadFile.downloadFile)({\n url: 'GET' === httpMethod ? '' + url + (data ? '?' + new URLSearchParams(JSON.parse(JSON.stringify(data || {}))).toString() : '') : url,\n headers: {\n 'Content-Type': 'application/json',\n 'Access-Control-Expose-Headers': 'Content-Disposition' //need to get filename from server\n },\n method: httpMethod,\n data: data && JSON.stringify(data),\n signal: signal\n });\n return resolve();\n } catch (e) {\n return reject(e);\n } finally {\n clearTimeout(timeout);\n }\n });\n\n return function (_x4, _x5) {\n return _ref8.apply(this, arguments);\n };\n }());\n },\n\n\n /**\n * Delete request\n *\n * @param url\n * @param data\n * @param signal\n * \n * @returns {Promise}\n * \n * @since 3.10.0\n */\n delete: function () {\n var _ref10 = _asyncToGenerator(function* (_ref9) {\n var url = _ref9.url,\n _ref9$data = _ref9.data,\n data = _ref9$data === undefined ? {} : _ref9$data,\n signal = _ref9.signal;\n\n return (yield fetch(url, {\n method: 'DELETE',\n body: JSON.stringify(data),\n signal: signal\n })).json();\n });\n\n function _delete(_x6) {\n return _ref10.apply(this, arguments);\n }\n\n return _delete;\n }()\n};\n\n},{\"g3w-constants\":125,\"utils/downloadFile\":200}],182:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addZValueToOLFeatureGeometry = addZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _is3DGeometry = require('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 */\nfunction addZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n geometryType = _ref.geometryType;\n\n if (!(0, _is3DGeometry.is3DGeometry)(geometryType)) {\n console.warn('Invalid 3D Geometry Type:', geometryType);\n return feature;\n }\n\n var geometry = feature.getGeometry();\n var coords = geometry.getCoordinates();\n\n switch (geometryType || geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n feature.getGeometry().setCoordinates(add3DCoordinate(coords));\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n coords.forEach(function (c) {\n return add3DCoordinate(c);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n coords.forEach(function (l) {\n return l.forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n coords[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\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 _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGOZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return add3DCoordinate(c);\n });\n });\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}\n\n},{\"g3w-constants\":125,\"utils/is3DGeometry\":222}],183:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.areCoordinatesEqual = areCoordinatesEqual;\n/**\n * @param { Array } coordinates1\n * @param { Array } coordinates2\n * \n * @returns { boolean }\n */\nfunction areCoordinatesEqual() {\n var coordinates1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var coordinates2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n\n return coordinates1[0] === coordinates2[0] && coordinates1[1] === coordinates2[1];\n}\n\n},{}],184:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.base = base;\n/**\n * google closure library implementation\n */\nfunction base(me, opt_methodName, var_args) {\n // who call base\n // noinspection JSAnnotator\n var caller = arguments.callee.caller;\n if (caller.superClass_) {\n // This function constructor (that inherits from superClass_).\n // Call the superclass constructor.\n //It is an easy way to cal superclass in binding to this\n return caller.superClass_.constructor.apply(me, Array.prototype.slice.call(arguments, 1));\n }\n var args = Array.prototype.slice.call(arguments, 2);\n var foundCaller = false;\n //constructor is the constructor function of the object\n for (var ctor = me.constructor; ctor; ctor = ctor.superClass_ && ctor.superClass_.constructor) {\n if (ctor.prototype[opt_methodName] === caller) {\n foundCaller = true;\n } else if (foundCaller) {\n return ctor.prototype[opt_methodName].apply(me, args);\n }\n }\n // If we did not find the caller in the prototype chain,\n // then one of two things happened:\n // 1) The caller is an instance method.\n // 2) This method was not called by the right caller.\n if (me[opt_methodName] === caller) {\n // call the function from a prototype object\n return me.constructor.prototype[opt_methodName].apply(me, args);\n } else {\n throw Error('base called from a method of one name ' + 'to a method of a different name');\n }\n}\n\n},{}],185:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.colorHEXToRGB = colorHEXToRGB;\n/**\n * Convert Hex value color to RGB array\n * \n * @param color\n * \n * @returns {number[]}\n */\nfunction colorHEXToRGB() {\n var color = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '#FFFFFF';\n\n return [parseInt(color.substr(1, 2), 16), parseInt(color.substr(3, 2), 16), parseInt(color.substr(5, 2), 16)];\n}\n\n},{}],186:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertFeatureToGEOJSON = convertFeatureToGEOJSON;\n/**\n * Convert Feature to GeoJSON Format\n * \n * @param feature\n */\nfunction convertFeatureToGEOJSON(feature) {\n return new ol.format.GeoJSON().writeFeatureObject(feature);\n}\n\n},{}],187:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertQGISDateTimeFormatToMoment = convertQGISDateTimeFormatToMoment;\n/**\n * Covert datetime format from Qgis format to Moment\n * \n * @param datetimeformat\n * \n * @returns {*}\n */\nfunction convertQGISDateTimeFormatToMoment(datetimeformat) {\n datetimeformat = datetimeformat.replace(/y/g, 'Y');\n var matchDayInDate = datetimeformat.match(/d/g);\n if (matchDayInDate && matchDayInDate.length < 3) {\n datetimeformat = datetimeformat.replace(/d/g, 'D');\n }\n return datetimeformat;\n}\n\n},{}],188:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.convertSingleMultiGeometry = convertSingleMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\n/**\n * Convert geometry to geometryType (from Single to Multi or viceversa)\n * \n * @param { ol.geom } geometry current OL geometry\n * @param { string } toGeometryType \n */\nfunction convertSingleMultiGeometry(geometry, toGeometryType) {\n var from_type = geometry.getType();\n\n if (!toGeometryType || toGeometryType === from_type) {\n return geometry;\n }\n\n var from_multi = (0, _isMultiGeometry.isMultiGeometry)(from_type);\n var to_multi = (0, _isMultiGeometry.isMultiGeometry)(toGeometryType);\n\n if (from_multi && !to_multi) {\n switch (geometry.getType()) {\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n return geometry.getPolygons();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n return geometry.getLineStrings();\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n return geometry.getPoints();\n default:\n console.warn('invalid geometry type', geometry.getType());\n }\n return [];\n }\n\n if (!from_multi && to_multi) {\n return new ol.geom['Multi' + from_type]([geometry.getCoordinates()]);\n }\n\n return geometry;\n}\n\n},{\"g3w-constants\":125,\"utils/isMultiGeometry\":224}],189:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.coordinatesToGeometry = coordinatesToGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction coordinatesToGeometry(geometryType, coordinates) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return new ol.geom.Polygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return new ol.geom.MultiPolygon(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return new ol.geom.LineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n return new ol.geom.MultiLineString(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return new ol.geom.Point(coordinates);\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return new ol.geom.MultiPoint(coordinates);\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return new ol.geom.Point(coordinates);\n\n }\n}\n\n},{\"g3w-constants\":125}],190:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.copyUrl = copyUrl;\nfunction copyUrl(url) {\n var tempinput = document.createElement('input');\n document.body.appendChild(tempinput);\n tempinput.value = url;\n tempinput.select();\n document.execCommand('copy');\n document.body.removeChild(tempinput);\n};\n\n},{}],191:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createFilterFormInputs = createFilterFormInputs;\n\nvar _createSingleFieldParameter = require('utils/createSingleFieldParameter');\n\n/**\n * @param layer single layer or an array of layers\n * @param inputs\n * \n * @returns {*}\n */\nfunction createFilterFormInputs(_ref) {\n var layer = _ref.layer,\n _ref$inputs = _ref.inputs,\n inputs = _ref$inputs === undefined ? [] : _ref$inputs;\n\n\n var filters = void 0;\n\n var fields = inputs.map(function (_ref2, i) {\n var attribute = _ref2.attribute,\n value = _ref2.value,\n operator = _ref2.operator,\n logicop = _ref2.logicop;\n\n // multi key relation fields\n if (Array.isArray(attribute)) {\n return attribute.map(function (attr, j) {\n return (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attr, value: value[j], operator: operator, logicop: null });\n }).join('|AND,') || '';\n }\n // input logic operator \n return '' + (i > 0 ? '|' + inputs[i - 1].logicop + ',' : '') + (0, _createSingleFieldParameter.createSingleFieldParameter)({ field: attribute, value: value, operator: operator, logicop: logicop });\n });\n\n var filter = fields.join('') || undefined; // NB: comma separator is already added before\n\n filters = [].concat(layer).map(function () {\n return filter;\n });\n\n // check if is a single layer of an array of layers\n return Array.isArray(layer) ? filters : filters[0];\n}\n\n},{\"utils/createSingleFieldParameter\":196}],192:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.createFilterFromString = createFilterFromString;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar operators = Object.entries(_g3wConstants.FILTER_EXPRESSION_OPERATORS);\n\nfunction createFilterFromString(_ref) {\n var _ref$filter = _ref.filter,\n filter = _ref$filter === undefined ? '' : _ref$filter;\n\n filter = operators.reduce(function (acc, _ref2) {\n var _ref3 = _slicedToArray(_ref2, 2),\n _ = _ref3[0],\n op = _ref3[1];\n\n return acc.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);\n } // trailing single quote\n , filter).replace(/'$/g, '').replace(/\"/g, '');\n filter = operators.reduce(function (acc, _ref4) {\n var _ref5 = _slicedToArray(_ref4, 2),\n k = _ref5[0],\n op = _ref5[1];\n\n return acc.replace(new RegExp(op, 'g'), ['AND', 'OR'].includes(op) ? '|' + k + ',' : '|' + k + '|');\n }, filter)\n // encode value\n .split('|').map(function (v, i) {\n return 0 === (i + 1) % 3 ? encodeURIComponent(v) : v;\n }).join('|');\n\n return filter;\n}\n\n},{\"g3w-constants\":125}],193:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createMeasureTooltip = createMeasureTooltip;\n\nvar _application = require(\"store/application\");\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _isLineGeometryType = require(\"utils/isLineGeometryType\");\n\nvar _isPolygonGeometryType = require(\"utils/isPolygonGeometryType\");\n\nvar _isMultiGeometry = require(\"utils/isMultiGeometry\");\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * create and add measure tooltip \n */\nfunction createMeasureTooltip() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n map = _ref.map,\n feature = _ref.feature;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var element = document.createElement('div');\n element.className = 'mtooltip mtooltip-measure';\n\n var tooltip = new ol.Overlay({\n element: element,\n offset: [0, -15],\n positioning: 'bottom-center'\n });\n\n map.addOverlay(tooltip);\n\n return {\n tooltip: tooltip,\n unbyKey: feature.getGeometry().on('change', function (e) {\n var coords = void 0;\n var geom = e.target;\n\n if (geom instanceof ol.geom.Polygon) {\n coords = geom.getInteriorPoint().getCoordinates();\n } else if (geom instanceof ol.geom.MultiPolygon) {\n coords = geom.getInteriorPoints().getCoordinates()[0];\n } else if (geom instanceof ol.geom.LineString || geom instanceof ol.geom.MultiLineString) {\n coords = geom.getLastCoordinate();\n }\n\n var projection = map.getView().getProjection();\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geom.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geom.getType());\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geom.getType());\n var is_sphere = 'EPSG:3857' === projection.getCode() || 'degrees' === projection.getUnits();\n var segments = [];\n\n if (is_poly && is_multi) {\n (geom.getPolygons() || []).forEach(function (p) {\n return p.getLinearRing().getCoordinates().forEach(function (coords) {\n return segments.push(coords);\n });\n });\n }\n\n if (is_poly && !is_multi) {\n segments = geom.getLinearRing().getCoordinates();\n }\n\n var _geom = is_poly && segments.length > 2 ? new ol.geom.LineString(segments) : geom;\n\n var length = is_line || is_poly && segments.length > 2 ? is_sphere ? ol.sphere.getLength(_geom, { projection: projection.getCode() }) : (0, _isMultiGeometry.isMultiGeometry)(_geom.getType()) ? _geom.getLineStrings().reduce(function (totalLength, lineGeometry) {\n return totalLength += lineGeometry.getLength();\n }, 0) : _geom.getLength() : undefined;\n\n var area = is_poly ? Math.round(is_sphere ? ol.sphere.getArea(geom, { projection: projection.getCode() }) : geom.getArea()) : undefined;\n\n if (undefined !== length) {\n length = 'nautical' === _application2.default.map.unit ? length * 0.0005399568 + \" nm\" : length > 1000 ? (Math.round(length / 1000 * 100) / 100).toFixed(3) + \" km\" : (Math.round(length * 100) / 100).toFixed(2) + \" m\";\n }\n\n if (undefined !== area) {\n area = 'nautical' === _application2.default.map.unit ? area * 0.000000291553349598122862913947445759414840765222583489217190918463024037990567 + \" \\u2009nmi\\xB2\" : area > 1000000 ? (Math.round(area / 1000000 * 100) / 100).toFixed(6) + \" km2\" : (Math.round(area * 100) / 100).toFixed(3) + \" m2\";\n }\n\n element.innerHTML = (undefined !== area ? \"Area: \" + area + \"
\" : '') + (undefined !== area && undefined !== length ? \"
\" : '') + (undefined !== length ? length : '');\n tooltip.setPosition(coords);\n })\n };\n}\n\n},{\"store/application\":178,\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],194:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createRelationsUrl = createRelationsUrl;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/services/relations.js@v3.10.2\n */\nfunction createRelationsUrl(_ref) {\n var _ref$layer = _ref.layer,\n layer = _ref$layer === undefined ? {} : _ref$layer,\n _ref$relation = _ref.relation,\n relation = _ref$relation === undefined ? {} : _ref$relation,\n fid = _ref.fid,\n _ref$type = _ref.type,\n type = _ref$type === undefined ? 'data' : _ref$type,\n _ref$formatter = _ref.formatter,\n formatter = _ref$formatter === undefined ? 1 : _ref$formatter;\n\n return _application2.default.project.getLayerById(undefined === relation.father ? layer.id === relation.referencedLayer ? relation.referencingLayer : relation.referencedLayer : layer.id === relation.father ? relation.child : relation.father).getUrl(type) + '?relationonetomany=' + relation.id + '|' + (0, _sanitizeFidFeature.sanitizeFidFeature)(fid) + '&formatter=' + formatter;\n}\n\n},{\"store/application\":178,\"utils/sanitizeFidFeature\":238}],195:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSelectedStyle = createSelectedStyle;\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\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 */\nfunction createSelectedStyle() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n geometryType = _ref.geometryType,\n _ref$color = _ref.color,\n color = _ref$color === undefined ? 'rgb(255,255,0)' : _ref$color,\n _ref$fill = _ref.fill,\n fill = _ref$fill === undefined ? true : _ref$fill;\n\n switch (geometryType) {\n\n case 'LineString':\n case 'MultiLineString':\n return new ol.style.Style({\n stroke: new ol.style.Stroke({ color: 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: color }),\n stroke: !fill && new ol.style.Stroke({ color: 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: color, width: 4 }),\n fill: fill && new ol.style.Fill({ color: ol.color.asString([].concat(_toConsumableArray(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}\n\n},{}],196:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createSingleFieldParameter = createSingleFieldParameter;\n/**\n * @param { Object } opts\n * @param opts.layer\n * @param opts.field\n * @param opts.value\n * @param { string } [opts.operator='eq'] 'eq' as default\n * @param { string } [opts.logicop='OR'] 'OR' as default\n * \n * @returns { string } filter\n * \n * @since 3.8.7\n */\nfunction createSingleFieldParameter(_ref) {\n var field = _ref.field,\n value = _ref.value,\n _ref$operator = _ref.operator,\n operator = _ref$operator === undefined ? 'eq' : _ref$operator,\n _ref$logicop = _ref.logicop,\n logicop = _ref$logicop === undefined ? 'OR' : _ref$logicop;\n\n return [].concat(value).map(function (v) {\n return field + '|' + operator.toLowerCase() + '|' + encodeURIComponent(v);\n }).join('|' + logicop + ',');\n}\n\n},{}],197:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.createVectorLayerFromFile = undefined;\n\nvar _createKMZLayer = function () {\n var _ref = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref2 = _asyncToGenerator(function* (resolve, reject) {\n var zip = new JSZip();\n zip.load((yield data.arrayBuffer(data)));\n var kmlFiles = zip.file(/.kml$/i);\n /**\n * @TODO handle multiple network links\n * \n * https://github.com/g3w-suite/g3w-client/pull/430/files#r1232092732\n */\n // get the last kml file (when doc.kml file has a reference to kml inside another folder)\n var kmlFile = kmlFiles[kmlFiles.length - 1];\n if (kmlFile) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, kmlFile.asText(), new ol.format.KML({ extractStyles: false }), \"EPSG:4326\"));\n } else {\n reject();\n }\n });\n\n return function (_x6, _x7) {\n return _ref2.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createKMZLayer(_x, _x2, _x3, _x4, _x5) {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _createZIPLayer = function () {\n var _ref3 = _asyncToGenerator(function* (name, crs, mapCrs, style, data) {\n try {\n return yield new Promise(function () {\n var _ref4 = _asyncToGenerator(function* (resolve, reject) {\n shp((yield data.arrayBuffer(data))).then(function (geojson) {\n resolve(_createVectorLayer(name, crs, mapCrs, style, JSON.stringify(geojson), new ol.format.GeoJSON({}), \"EPSG:4326\"));\n }).catch(function (e) {\n console.warn(e);reject(e);\n });\n });\n\n return function (_x13, _x14) {\n return _ref4.apply(this, arguments);\n };\n }());\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n }\n });\n\n return function _createZIPLayer(_x8, _x9, _x10, _x11, _x12) {\n return _ref3.apply(this, arguments);\n };\n}();\n\n/**\n * @param { Object } file\n * @param { string } file.name\n * @param file.type\n * @param file.crs\n * @param file.mapCrs\n * @param file.data\n * @param file.style\n * \n * @returns { Promise } layer\n */\n\n\nvar createVectorLayerFromFile = exports.createVectorLayerFromFile = function () {\n var _ref5 = _asyncToGenerator(function* () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n name = _ref6.name,\n type = _ref6.type,\n crs = _ref6.crs,\n mapCrs = _ref6.mapCrs,\n data = _ref6.data,\n style = _ref6.style;\n\n switch (type) {\n case 'gpx':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GPX());\n case 'gml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.WMSGetFeatureInfo());\n case 'geojson':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.GeoJSON());\n case 'kml':\n return _createVectorLayer(name, crs, mapCrs, style, data, new ol.format.KML({ extractStyles: false }), \"EPSG:4326\");\n case 'csv':\n return _createCSVLayer(name, crs, mapCrs, style, data);\n case 'kmz':\n return _createKMZLayer(name, crs, mapCrs, style, data);\n case 'zip':\n return _createZIPLayer(name, crs, mapCrs, style, data);\n }\n console.warn('invalid file type', type);\n });\n\n return function createVectorLayerFromFile() {\n return _ref5.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getUniqueDomId = require('./getUniqueDomId');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nfunction _createVectorLayer(name, crs, mapCrs, style, data, format, epsg) {\n epsg = undefined === epsg ? crs : epsg;\n\n var features = format.readFeatures(data, { dataProjection: epsg, featureProjection: mapCrs || epsg });\n\n // skip when no features\n if (0 === features.length) {\n return;\n }\n\n // ignore kml property [``](https://developers.google.com/kml/documentation/kmlreference)\n if (format instanceof ol.format.KML) {\n features.forEach(function (f) {\n return f.unset('styleUrl');\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: Object.keys(features[0].getProperties()).filter(function (prop) {\n return _g3wConstants.GEOMETRY_FIELDS.indexOf(prop) < 0;\n }),\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n}\n\nfunction _createCSVLayer(name, crs, mapCrs, style, data) {\n var headers = data.headers,\n separator = data.separator,\n values = data.values,\n x = data.x,\n y = data.y;\n\n\n var features = [];\n var errorrows = [];\n\n values.forEach(function (row, index) {\n var properties = {};\n var rowvalues = row.split(separator);\n if (rowvalues.length === headers.length) {\n var coordinates = [];\n rowvalues.forEach(function (value, index) {\n var field = headers[index];\n if (field === x) {\n coordinates[0] = 1 * value;\n }\n if (field === y) {\n coordinates[1] = 1 * value;\n }\n properties[field] = value;\n });\n // check if all coordinates are right\n if (undefined === coordinates.find(function (value) {\n return Number.isNaN(value);\n })) {\n var geometry = new ol.geom.Point(coordinates);\n if (crs !== mapCrs) {\n geometry.transform(crs, mapCrs);\n }\n var feature = new ol.Feature(geometry);\n feature.setId(index); // incremental id\n feature.setProperties(properties);\n features.push(feature);\n }\n } else {\n errorrows.push({ row: index + 1, value: values[index] });\n }\n });\n\n if (0 === features.length) {\n return Promise.reject();\n }\n\n if (errorrows.length) {\n GUI.showUserMessage({\n type: 'warning',\n message: 'sdk.mapcontrols.addlayer.messages.csv.warning',\n hooks: {\n footer: {\n template: '',\n data: function data() {\n return {\n errorrows: errorrows\n };\n }\n }\n },\n autoclose: false\n });\n }\n\n return new ol.layer.Vector({\n source: new ol.source.Vector({ features: features }),\n name: name,\n _fields: headers,\n id: (0, _getUniqueDomId.getUniqueDomId)(),\n style: style\n });\n}\n\n},{\"./getUniqueDomId\":217,\"g3w-constants\":125}],198:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.debounce = debounce;\n\n/**\n * build debounce function\n */\nfunction debounce(func) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var timeout = void 0;\n return function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n clearTimeout(timeout);\n timeout = setTimeout(function () {\n return func.apply(undefined, args);\n }, delay);\n };\n}\n\n},{}],199:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.distance = distance;\n/**\n * core/geometry/geom::distance@v3.4\n * core/geometry/geom::squaredDistance@v3.4\n */\nfunction distance(c1, c2) {\n return Math.sqrt(Math.pow(c2[0] - c1[0], 2) + Math.pow(c2[1] - c1[1], 2));\n}\n\n},{}],200:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\n/**\n * @param { Object } file\n * @param { string } file.filename\n * @param file.content\n * @param { string } file.url\n * @param { string } file.mime_type\n * @param file.signal\n */\nvar downloadFile = exports.downloadFile = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n filename = _ref2.filename,\n content = _ref2.content,\n url = _ref2.url,\n _ref2$headers = _ref2.headers,\n headers = _ref2$headers === undefined ? {} : _ref2$headers,\n _ref2$method = _ref2.method,\n method = _ref2$method === undefined ? 'GET' : _ref2$method,\n data = _ref2.data,\n _ref2$mime_type = _ref2.mime_type,\n mime_type = _ref2$mime_type === undefined ? 'text/plain' : _ref2$mime_type,\n signal = _ref2.signal;\n\n var blob = content && new Blob([content], { type: mime_type });\n\n var d = !content && url && (yield fetch(url, {\n type: mime_type,\n headers: headers,\n body: data,\n method: method,\n signal: signal\n })) || {};\n\n if (!content && (400 === d.status || 500 === d.status)) {\n throw (yield d.json()).message;\n }\n\n if (content || 200 === d.status) {\n var a = document.createElement('a');\n a.setAttribute('href', window.URL.createObjectURL(blob || (yield d.blob())));\n a.setAttribute('download', filename || (d.headers.get('content-disposition') || 'filename=g3w_download_file').split('filename=').at(1));\n a.dataset.downloadurl = [mime_type || d.headers.get('content-type'), a.download, a.href].join(':');\n a.click();\n a = null;\n }\n });\n\n return function downloadFile() {\n return _ref.apply(this, arguments);\n };\n}();\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{}],201:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports.flattenObject = flattenObject;\n/**\n * ORIGINAL SOURCE: https://stackoverflow.com/a/56253298\n * \n * @example \n * \n * ### Sample Input\n * \n * ```\n * const obj = {\n * name: \"test\",\n * address: {\n * personal: \"abc\",\n * office: {\n * building: 'random',\n * street: 'some street'\n * }\n * }\n * }\n * ```\n * \n * ### Expected Output\n * \n * ```\n * {\n * name : \"test\",\n * address_personal: \"abc\"\n * address_office_building: \"random\"\n * address_office_street: \"some street\"\n * }\n * ```\n * \n * @since 3.9.0\n */\nfunction flattenObject(obj, parent) {\n var res = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n for (var key in obj) {\n var propName = parent ? parent + '_' + key : key;\n if ('object' === _typeof(obj[key])) {\n flattenObject(obj[key], propName, res);\n } else {\n res[propName] = obj[key];\n }\n }\n return res;\n}\n\n},{}],202:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getAlphanumericPropertiesFromFeature = getAlphanumericPropertiesFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param { Array } properties\n * \n * @returns { Array }\n */\nfunction getAlphanumericPropertiesFromFeature() {\n var properties = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n\n return (Array.isArray(properties) ? properties : Object.keys(properties)).filter(function (p) {\n return !_g3wConstants.GEOMETRY_FIELDS.includes(p);\n });\n}\n\n},{\"g3w-constants\":125}],203:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayerById = getCatalogLayerById;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayerById(id) {\n return Object.values(_application2.default.catalog).map(function (s) {\n return s.getLayerById(id);\n }).find(function (l) {\n return l;\n });\n}\n\n},{\"store/application\":178}],204:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getCatalogLayers = getCatalogLayers;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * ORIGINAL SOURCE: src/app/core/layers/layersstoreregistry.js@v3.10.2\n */\nfunction getCatalogLayers(filter) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return Object.values(_application2.default.catalog).flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"store/application\":178}],205:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDataForSearchInput = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * @returns { Array } of unique values from field\n */\nvar getDataForSearchInput = exports.getDataForSearchInput = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var state = _ref.state,\n field = _ref.field,\n suggest = _ref.suggest;\n\n\n try {\n // get unique value from each layers\n return (yield Promise.allSettled(state.search_layers.map(function (l) {\n return l.getFilterData({\n suggest: suggest,\n fformatter: field,\n ordering: field,\n field: getDataForSearchInput.field({\n state: state,\n //in the case of suggested parameter set (case autocomplete field), need to use current field\n field: suggest ? field : (state.forminputs.find(function (i) {\n return i.attribute === field;\n }) || {}).dependance || field,\n fields: []\n })\n });\n }))).filter(function (d) {\n return 'fulfilled' === d.status;\n }).reduce(function (acc, d) {\n return acc.concat(d.value.data || []);\n }, []) // uniques by fformatter\n .map(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n value = _ref4[0],\n key = _ref4[1];\n\n return { key: key, value: value };\n });\n } catch (e) {\n console.warn(e);\n }\n\n return [];\n });\n\n return function getDataForSearchInput(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\n/**\n * Traverse field dependecies\n */\n\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\ngetDataForSearchInput.field = function () {\n var _ref5 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n state = _ref5.state,\n field = _ref5.field,\n _ref5$fields = _ref5.fields,\n fields = _ref5$fields === undefined ? [] : _ref5$fields;\n\n field = state.forminputs.find(function (i) {\n return i.attribute === field;\n }); // current input\n var parent = state.forminputs.find(function (i) {\n return i.attribute === field.dependance;\n }); // current input dependance (parent field)\n\n // get all values (un-filtered)\n if (!parent || _g3wConstants.SEARCH_ALLVALUE === parent.value) {\n return (fields || []).join() || undefined;\n }\n\n // filter by parent field\n if (undefined !== parent.value) {\n fields.unshift(parent.attribute + '|' + parent.operator.toLowerCase() + '|' + encodeURI(parent.value) + (fields.length ? '|' + parent.logicop : ''));\n }\n\n // recursion step\n return getDataForSearchInput.field({ state: state, fields: fields, field: parent.attribute });\n};\n\n},{\"g3w-constants\":125}],206:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDefaultExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getDefaultExpression = exports.getDefaultExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n default_expression = _field$input$options.default_expression,\n loading = _field$input$options.loading,\n default_value = _field$input$options.default;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!default_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n // Call `expression:expression_eval` to get value from expression and set it to field\n try {\n\n var value = yield _data2.default.getData('expression:expression_eval', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id, //\n qgs_layer_id: qgs_layer_id, //layer id owner of the data\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n formatter: 0,\n expression: default_expression.expression,\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n }\n },\n outputs: false\n });\n\n field.value = value;\n\n return value;\n } catch (e) {\n if (undefined !== default_value) {\n field.value = default_value;\n }\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getDefaultExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],207:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFilterExpression = undefined;\n\n/**\n * ORIGINAL SOURCE: src/app/core/expression/inputservice.js@3.8.6\n *\n * @param expr.field related field\n * @param expr.feature feature to transform in form_data\n * @param expr.qgs_layer_id layer id owner of the feature data\n * @param expr.parentData\n *\n * @returns { void | Promise }\n *\n * @since 3.9.0\n */\nvar getFilterExpression = exports.getFilterExpression = function () {\n var _ref = _asyncToGenerator(function* () {\n var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n field = _ref2.field,\n feature = _ref2.feature,\n qgs_layer_id = _ref2.qgs_layer_id,\n parentData = _ref2.parentData;\n\n var _field$input$options = field.input.options,\n key = _field$input$options.key,\n value = _field$input$options.value,\n _field$input$options$ = _field$input$options.layer_id,\n layer_id = _field$input$options$ === undefined ? qgs_layer_id : _field$input$options$,\n filter_expression = _field$input$options.filter_expression,\n loading = _field$input$options.loading,\n orderbyvalue = _field$input$options.orderbyvalue;\n\n /**\n * @FIXME should return Promise.reject('some error message') ?\n */\n\n if (!filter_expression) {\n return;\n }\n\n loading.state = 'loading';\n\n try {\n\n var features = yield _data2.default.getData('expression:expression', {\n inputs: {\n field_name: field.name,\n layer_id: layer_id,\n qgs_layer_id: qgs_layer_id,\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(feature),\n parent: parentData && {\n form_data: (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(parentData.feature),\n qgs_layer_id: parentData.qgs_layer_id,\n formatter: 0\n },\n formatter: 0,\n expression: filter_expression.expression,\n ordering: [undefined, false].includes(orderbyvalue) ? key : value //@since 3.11.0\n },\n outputs: false\n });\n\n if ('select_autocomplete' === field.input.type) {\n field.input.options.values = [];\n // temporary array to sort the keys\n var values = [];\n for (var i = 0; i < features.length; i++) {\n values.push({\n key: features[i].properties[value],\n value: features[i].properties[key]\n });\n }\n\n field.input.options.values = values;\n }\n\n return features;\n } catch (e) {\n console.warn(e);\n return Promise.reject(e);\n } finally {\n loading.state = 'ready';\n }\n });\n\n return function getFilterExpression() {\n return _ref.apply(this, arguments);\n };\n}();\n\nvar _data = require('services/data');\n\nvar _data2 = _interopRequireDefault(_data);\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/data\":172,\"utils/convertFeatureToGEOJSON\":186}],208:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getFormDataExpressionRequestFromFeature = getFormDataExpressionRequestFromFeature;\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _getAlphanumericPropertiesFromFeature = require('utils/getAlphanumericPropertiesFromFeature');\n\nvar _convertFeatureToGEOJSON = require('utils/convertFeatureToGEOJSON');\n\n/**\n * Convert feature to form Data for expression/expression_eval request\n * \n * @param feature\n */\nfunction getFormDataExpressionRequestFromFeature(feature) {\n delete feature.attributes.geometry;\n\n var _feature = new ol.Feature(feature.geometry);\n var properties = {};\n\n (0, _getAlphanumericPropertiesFromFeature.getAlphanumericPropertiesFromFeature)(feature.attributes).filter(function (p) {\n return _g3wConstants.G3W_FID !== p;\n }).forEach(function (p) {\n return properties[p] = feature.attributes[p];\n });\n\n _feature.setProperties(properties);\n _feature.setId(feature.attributes[_g3wConstants.G3W_FID]);\n\n return (0, _convertFeatureToGEOJSON.convertFeatureToGEOJSON)(_feature);\n}\n\n},{\"g3w-constants\":125,\"utils/convertFeatureToGEOJSON\":186,\"utils/getAlphanumericPropertiesFromFeature\":202}],209:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getListableProjects = getListableProjects;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getListableProjects() {\n window.initConfig.projects;\n return window.initConfig.projects.filter(function (p) {\n if (![null, undefined].includes(p.listable)) {\n return p.listable;\n }\n if (p.id === _application2.default.project.getId() || window.initConfig.overviewproject && p.gid === window.initConfig.overviewproject) {\n return false;\n }\n return p;\n }).sort(function (a, b) {\n return (a.title || '').localeCompare(b.title);\n });\n}\n\n},{\"store/application\":178}],210:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.getMapLayersByFilter = getMapLayersByFilter;\n/**\n * @param filter defaults `GEOLAYER: true`\n * @param options\n * \n * @returns { Array } map layers based on filtered properties of layer (eg. `GEOLAYER : true`)\n */\nfunction getMapLayersByFilter() {\n var filter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n filter = _extends({\n GEOLAYER: true\n }, filter);\n\n var MapLayersStoresRegistry = require('services/map').default.MapLayersStoresRegistry;\n\n return MapLayersStoresRegistry.getQuerableLayersStores().flatMap(function (s) {\n return s.getLayers(filter, options);\n });\n}\n\n},{\"services/map\":175}],211:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getOLGeometry = getOLGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::getOLGeometry@v3.4\n */\nfunction getOLGeometry(geometryType) {\n\n switch (geometryType) {\n\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n case _g3wConstants.GEOMETRY_TYPES.LINEZ:\n case _g3wConstants.GEOMETRY_TYPES.LINEM:\n case _g3wConstants.GEOMETRY_TYPES.LINEZM:\n case _g3wConstants.GEOMETRY_TYPES.LINE25D:\n return 'LineString';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINEZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE25D:\n return 'MultiLineString';\n\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n case _g3wConstants.GEOMETRY_TYPES.POINTZ:\n case _g3wConstants.GEOMETRY_TYPES.POINTM:\n case _g3wConstants.GEOMETRY_TYPES.POINTZM:\n case _g3wConstants.GEOMETRY_TYPES.POINT25D:\n return 'Point';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D:\n return 'MultiPoint';\n\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.POLYGON25D:\n return 'Polygon';\n\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM:\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D:\n return 'MultiPolygon';\n\n default:\n console.warn('invalid geometry type: ', geometryType);\n return geometryType;\n }\n}\n\n},{\"g3w-constants\":125}],212:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProject = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\n/**\n * ORIGINAL SOURCE: src/app/core/project/project.js@v3.10.2\n * \n * Get project configuration\n *\n * @param { string } gid project gid\n * @param options\n * @param { string } options.map_theme\n */\nvar getProject = exports.getProject = function () {\n var _ref3 = _asyncToGenerator(function* (gid) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n\n var pendingProject = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n\n // skip if a project doesn't exist\n if (!pendingProject) {\n console.log(\"Project doesn't exist\", gid);\n return Promise.reject(\"Project doesn't exist\");\n }\n\n // fetch project configuration from remote server\n\n // { Array } config.layers - The order of layers follows layer rendering order set on QGIS project.Can be different to TOC layer order\n var config = !PROJECTS[gid] && (yield _XHR.XHR.get({ url: '' + window.initConfig.urls.baseurl + window.initConfig.urls.config + '/' + window.initConfig.id + '/' + pendingProject.type + '/' + pendingProject.id + '?_t=' + pendingProject.modified\n }));\n var map_theme = config && options.map_theme && Object.values(config.map_themes).flat().find(function (_ref4) {\n var theme = _ref4.theme;\n return theme === options.map_theme;\n });\n\n /** In the case of url param set map_theme, need to get map theme configuration from server */\n if (map_theme) {\n var _ref5 = yield _XHR.XHR.get({ url: '/' + pendingProject.type + '/api/prjtheme/' + pendingProject.id + '/' + options.map_theme }),\n result = _ref5.result,\n data = _ref5.data;\n\n if (result) {\n config.layerstree = data;\n map_theme.layetstree = data;\n map_theme.default = true;\n }\n }\n\n PROJECTS[gid] = Object.assign(PROJECTS[gid] || {}, Object.assign(pendingProject, config));\n PROJECTS[gid] = Object.assign(PROJECTS[gid], {\n WMSUrl: '' + window.initConfig.urls.baseurl + window.initConfig.urls.ows + '/' + window.initConfig.id + '/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n /** @since 3.8.0 */\n relations: (PROJECTS[gid].relations || []).map(function (r) {\n if (\"ONE\" === r.type) {\n PROJECTS[gid].layers.find(function (l) {\n if (l.id === r.referencingLayer) {\n r.name = l.name;\n r.origname = l.origname;\n return true;\n }\n });\n }\n return r;\n }),\n /** actived catalog tab */\n catalog_tab: PROJECTS[gid].toc_tab_default || PROJECTS[gid]._catalog_tab || 'layers',\n ows_method: PROJECTS[gid].ows_method || 'GET',\n toc_layers_init_status: PROJECTS[gid].toc_layers_init_status || 'not_collapsed',\n toc_themes_init_status: PROJECTS[gid].toc_themes_init_status || 'collapsed',\n query_point_tolerance: PROJECTS[gid].query_point_tolerance || _g3wConstants.QUERY_POINT_TOLERANCE,\n crs: crsToCrsObject(PROJECTS[gid].crs),\n baselayers: PROJECTS[gid].baselayers\n // Remove bing base layer when no vendor API Key is provided\n .filter(function (l) {\n return 'Bing' === l.servertype ? _application2.default.keys.vendorkeys.bing : true;\n }).map(function (l) {\n return Object.assign(l, {\n visible: l.id && l.id === (null !== _application2.default.baseLayerId ? _application2.default.baseLayerId : PROJECTS[gid].initbaselayer) || !!l.fixed,\n baselayer: true\n });\n })\n });\n\n var project = Object.assign(new _g3wObject2.default(), {\n setters: {\n setBaseLayer: function setBaseLayer(id) {\n var _this = this;\n\n window.initConfig.baselayers.forEach(function (l) {\n _this._layersStore.getLayerById(l.id).setVisible(id === l.id);\n l.visible = id === l.id;\n });\n }\n },\n state: PROJECTS[gid],\n /** project APIs */\n urls: {\n map_themes: '/' + PROJECTS[gid].type + '/api/prjtheme/' + PROJECTS[gid].id + '/',\n vector_data: PROJECTS[gid].vectorurl + 'data/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/',\n featurecount: PROJECTS[gid].vectorurl + 'featurecount/' + PROJECTS[gid].type + '/' + PROJECTS[gid].id + '/'\n },\n _projection: _projections2.default.get(crsToCrsObject(PROJECTS[gid].crs)),\n _layersStore: new _layersstore.LayersStore(),\n getQueryPointTolerance: function getQueryPointTolerance() {\n return project.state.query_point_tolerance;\n },\n getRelations: function getRelations() {\n return project.state.relations;\n },\n getRelationById: function getRelationById(id) {\n return project.state.relations.find(function (r) {\n return id === r.id;\n });\n },\n getLayerById: function getLayerById(id) {\n return project._layersStore.getLayerById(id);\n },\n getLayers: function getLayers() {\n return [].concat(_toConsumableArray(project.state.layers), _toConsumableArray(project.state.baselayers));\n },\n getState: function getState() {\n return project.state;\n },\n getPrint: function getPrint() {\n return project.state.print || [];\n },\n getId: function getId() {\n return project.state.id;\n },\n getType: function getType() {\n return project.state.type;\n },\n getGid: function getGid() {\n return project.state.gid;\n },\n getName: function getName() {\n return project.state.name;\n },\n getCrs: function getCrs() {\n return project._projection.getCode();\n },\n getProjection: function getProjection() {\n return project._projection;\n },\n getLayersStore: function getLayersStore() {\n return project._layersStore;\n },\n getUrl: function getUrl(type) {\n return project.urls[type];\n },\n /**\n * @param filter property layer config to filter\n * \n * @returns { Array } configuration layers (from server config)\n */\n getConfigLayers: function getConfigLayers() {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n key = _ref6.key;\n\n return key ? project.state.layers.filter(function (l) {\n return undefined !== l[key];\n }) : project.state.layers;\n }\n });\n\n // Process layerstree and baselayers of the project (useful info for catalog)\n var traverse = function traverse(nodes) {\n var _loop = function _loop(i) {\n var node = nodes[i];\n //check if layer (node) of folder\n if (undefined !== node.id) {\n project.state.layers.forEach(function (l) {\n if (node.id === l.id) {\n node.name = l.name;\n l.wmsUrl = project.state.WMSUrl;\n l.project = project;\n node[i] = Object.assign(l, node);\n return false;\n }\n });\n }\n if (Array.isArray(node.nodes)) {\n //add title to tree\n node.title = node.name;\n traverse(node.nodes);\n }\n };\n\n for (var i = 0; i < nodes.length; i++) {\n _loop(i);\n }\n };\n\n traverse(project.state.layerstree);\n\n // Build layersstore \n project._layersStore.setOptions({\n id: project.state.gid,\n projection: project._projection,\n extent: project.state.extent,\n initextent: project.state.initextent,\n wmsUrl: project.state.WMSUrl,\n catalog: window.initConfig.overviewproject !== project.state.gid\n });\n\n /** ORIGINAL SOURCE: src/app/core/layers/layerfactory.js@v3.10.2 */\n\n // Layer factory: instance each layer and add to layersstore\n project._layersStore.addLayers(project.getLayers().flatMap(function (l) {\n var config = Object.assign(l, {\n crs: crsToCrsObject(l.crs),\n projection: l.crs ? _projections2.default.get(l.crs) : project._projection,\n ows_method: project.state.ows_method,\n wms_use_layer_ids: project.state.wms_use_layer_ids\n });\n\n // Check Layer Type\n var layerType = config.servertype + ' ' + (config.source && config.source.type);\n\n // TABLE LAYERS\n if ('NoGeometry' === config.geometrytype && [\"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _tablelayer.TableLayer(config, { project: project });\n }\n\n // VECTOR LAYERS\n if (['OGC wfs', 'G3WSUITE geojson'].includes(layerType) || [\"Local\", \"G3WSUITE\"].includes(config.servertype)) {\n return new _vectorlayer.VectorLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (config.geometrytype && 'NoGeometry' !== config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS virtual\", \"QGIS postgres\", \"QGIS mssql\", \"QGIS spatialite\", \"QGIS wfs\", \"QGIS delimitedtext\", \"QGIS oracle\", \"QGIS ogr\", \"QGIS mdal\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // RASTER LAYERS\n if (!config.geometrytype && ['OGC wms', 'QGIS postgresraster', \"QGIS wmst\", \"QGIS wcs\", \"QGIS wms\", \"QGIS gdal\", \"QGIS vectortile\", \"QGIS vector-tile\", \"QGIS mdal\", \"QGIS arcgismapserver\"].includes(layerType)) {\n return new _imagelayer.ImageLayer(config, { project: project });\n }\n\n // BASE LAYERS\n if (['OSM', 'Bing', 'TMS', 'ARCGISMAPSERVER', 'WMTS', 'WMS'].includes(config.servertype)) {\n return new _imagelayer.ImageLayer(config, { project: project, _BASE_LAYER: config.servertype });\n }\n\n console.warn('Uknown layer type', config);\n return [];\n }));\n\n // create layerstree from layerstore\n project._layersStore.createLayersTree(project.state.name, {\n layerstree: project.state.layerstree,\n expanded: 'not_collapsed' === project.state.toc_layers_init_status // config to show layerstrees toc expanded or not\n });\n\n /** @deprecated since 3.10.0. Will be removed in v.4.x. */\n (project.state.search || []).forEach(function (s) {\n return s.search_endpoint = 'api';\n });\n\n // add to project\n return project;\n });\n\n return function getProject(_x2) {\n return _ref3.apply(this, arguments);\n };\n}();\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _g3wObject = require('g3w-object');\n\nvar _g3wObject2 = _interopRequireDefault(_g3wObject);\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nvar _projections = require('store/projections');\n\nvar _projections2 = _interopRequireDefault(_projections);\n\nvar _normalizeEpsg = require('utils/normalizeEpsg');\n\nvar _XHR = require('utils/XHR');\n\nvar _tablelayer = require('map/layers/tablelayer');\n\nvar _vectorlayer = require('map/layers/vectorlayer');\n\nvar _imagelayer = require('map/layers/imagelayer');\n\nvar _layersstore = require('map/layers/layersstore');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\nObject.entries({\n TableLayer: _tablelayer.TableLayer,\n VectorLayer: _vectorlayer.VectorLayer,\n ImageLayer: _imagelayer.ImageLayer\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\n// (lazy loading)\nvar PROJECTS = {};\n\n/**\n * @param { number | string | null | undefined } crs\n * \n * @returns { { epsg: string, proj4: string, axisinverted: boolean, geographic: boolean } | null | undefined } crs object\n */\nfunction crsToCrsObject(crs) {\n\n /** @FIXME add description */\n if ([undefined, null].includes(crs)) {\n return crs;\n }\n\n /** @FIXME add description */\n if (crs && crs.epsg) {\n crs.epsg = (0, _normalizeEpsg.normalizeEpsg)(crs.epsg);\n return crs;\n }\n\n return {\n epsg: (0, _normalizeEpsg.normalizeEpsg)(crs),\n proj4: \"\",\n axisinverted: false,\n geographic: false\n };\n}\n\n},{\"g3w-constants\":125,\"g3w-object\":129,\"map/layers/imagelayer\":154,\"map/layers/layersstore\":156,\"map/layers/tablelayer\":157,\"map/layers/vectorlayer\":158,\"store/application\":178,\"store/projections\":180,\"utils/XHR\":181,\"utils/normalizeEpsg\":228}],213:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectConfigByGid = getProjectConfigByGid;\n/** used by the following plugins: \"iframe\", \"archiweb\" */\nfunction getProjectConfigByGid(gid) {\n return window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\n}\n\n},{}],214:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getProjectUrl = getProjectUrl;\n/**\n * @param gid\n * \n * @returns {string}\n */\nfunction getProjectUrl(gid) {\n var project = window.initConfig.projects.find(function (p) {\n return gid === p.gid;\n });\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}\n\n},{}],215:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getResolutionFromScale = getResolutionFromScale;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getResolutionFromScale(scale) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n // just to prevent that scale is passed as 1:10000 or 0.0001\n return 1 / ((scale >= 1.0 ? 1.0 / scale : scale) * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":125}],216:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getScaleFromResolution = getScaleFromResolution;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction getScaleFromResolution(resolution) {\n var units = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'm';\n\n return Math.round(resolution * _g3wConstants.INCHES_PER_UNIT[units] * _g3wConstants.DOTS_PER_INCH);\n}\n\n},{\"g3w-constants\":125}],217:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getUniqueDomId = getUniqueDomId;\nvar _uid = 0;\n\nfunction getUniqueDomId() {\n return (_uid += 1) + \"_\" + Date.now();\n}\n\n},{}],218:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.get_legend_params = get_legend_params;\n/**\n * @param layer\n * \n * @returns {{ LEGEND_ON: undefined | string, LEGEND_OFF: undefined | string }} \n */\nfunction get_legend_params(layer) {\n var LEGEND_ON = void 0,\n LEGEND_OFF = void 0;\n (layer.getCategories() || []).forEach(function (_ref) {\n var checked = _ref.checked,\n _checked = _ref._checked,\n ruleKey = _ref.ruleKey;\n\n // skip when there's no difference from original `checked` status (_checked) and current changed by toc categories (checked)\n if (checked === _checked) {\n return;\n }\n if (checked) {\n LEGEND_ON = (undefined === LEGEND_ON ? layer.getWMSLayerName() + \":\" : LEGEND_ON + \",\") + ruleKey;\n } else {\n LEGEND_OFF = (undefined === LEGEND_OFF ? layer.getWMSLayerName() + \":\" : LEGEND_OFF + \",\") + ruleKey;\n }\n });\n return {\n LEGEND_ON: LEGEND_ON,\n LEGEND_OFF: LEGEND_OFF\n };\n}\n\n},{}],219:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.groupBy = groupBy;\n/**\n * Almost the same as lodash@v4.0.0 groupBy\n * \n * @since 3.10.0\n */\nfunction groupBy(array, keyFn) {\n return array.reduce(function (result, item) {\n var key = keyFn(item);\n if (!result[key]) {\n result[key] = [];\n }\n result[key].push(item);\n return result;\n }, {});\n}\n\n},{}],220:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.inherit = inherit;\n/**\n * google closure library impememtation\n */\nfunction inherit(childCtor, parentCtor) {\n function tempCtor() {}\n tempCtor.prototype = parentCtor.prototype;\n childCtor.superClass_ = parentCtor.prototype;\n childCtor.prototype = new tempCtor();\n childCtor.prototype.constructor = childCtor;\n}\n\n},{}],221:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.intersects = intersects;\n/**\n * Check if `geometryCheck` intersects with `geometry`\n * \n * @param {ol.geometry} geometry\n * @param {ol.geometry} geometryToCheck\n * \n * @returns {boolean} whether `geometryToCheck` interesects `geometry`\n * \n * @since 3.8.0\n */\nfunction intersects(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometry).intersects(olFromJsts.read(geometryToCheck));\n}\n\n},{}],222:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.is3DGeometry = is3DGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\nfunction is3DGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].find(function (type3D) {\n return type3D === geometryType;\n });\n}\n\n},{\"g3w-constants\":125}],223:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isLineGeometryType = isLineGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isLineGeometryType@v3.4\n * core/geometry/geometry::getAllLineGeometryTypes@v3.4\n */\nfunction isLineGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.LINESTRING, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.LINESTRINGM, _g3wConstants.GEOMETRY_TYPES.LINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.LINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.LINE, _g3wConstants.GEOMETRY_TYPES.LINEZ, _g3wConstants.GEOMETRY_TYPES.LINEM, _g3wConstants.GEOMETRY_TYPES.LINEZM, _g3wConstants.GEOMETRY_TYPES.LINE25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":125}],224:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isMultiGeometry = isMultiGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isMultiGeometry@v3.4\n */\nfunction isMultiGeometry(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZ, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRINGZM, _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING25D, _g3wConstants.GEOMETRY_TYPES.MULTILINE, _g3wConstants.GEOMETRY_TYPES.MULTILINEZ, _g3wConstants.GEOMETRY_TYPES.MULTILINEM, _g3wConstants.GEOMETRY_TYPES.MULTILINEZM, _g3wConstants.GEOMETRY_TYPES.MULTILINE25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":125}],225:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPointGeometryType = isPointGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPointGeometryType@v3.4\n * core/geometry/geometry::getAllPointGeometryTypes@v3.4\n */\nfunction isPointGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POINT, _g3wConstants.GEOMETRY_TYPES.POINTZ, _g3wConstants.GEOMETRY_TYPES.POINTM, _g3wConstants.GEOMETRY_TYPES.POINTZM, _g3wConstants.GEOMETRY_TYPES.POINT25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINTZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOINT25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":125}],226:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.isPolygonGeometryType = isPolygonGeometryType;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * core/geometry/geometry::isPolygonGeometryType@v3.4\n * core/geometry/geometry::getAllPolygonGeometryTypes@v3.4\n */\nfunction isPolygonGeometryType(geometryType) {\n return [_g3wConstants.GEOMETRY_TYPES.POLYGON, _g3wConstants.GEOMETRY_TYPES.POLYGONZ, _g3wConstants.GEOMETRY_TYPES.POLYGONM, _g3wConstants.GEOMETRY_TYPES.POLYGONZM, _g3wConstants.GEOMETRY_TYPES.POLYGON25D, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZ, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGONZM, _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON25D].includes(geometryType);\n}\n\n},{\"g3w-constants\":125}],227:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.noop = noop;\nfunction noop() {}\n\n},{}],228:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.normalizeEpsg = normalizeEpsg;\n/**\n * @param { number | string } epsg\n * \n * @returns { string | undefined }\n */\nfunction 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\n},{}],229:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.parseAttributes = parseAttributes;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * @param layerAttributes\n * @param featureAttributes\n * \n * @returns { Array }\n */\nfunction parseAttributes() {\n var layerAttributes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var featureAttributes = arguments[1];\n\n /** @FIXME add description */\n if (layerAttributes && layerAttributes.length > 0) {\n return layerAttributes.filter(function (attr) {\n return Object.keys(featureAttributes).indexOf(attr.name) > -1;\n });\n }\n return Object.keys(featureAttributes).filter(function (name) {\n return -1 === _g3wConstants.GEOMETRY_FIELDS.indexOf(name);\n }).map(function (featureAttributesName) {\n return { name: featureAttributesName, label: featureAttributesName };\n });\n}\n\n},{\"g3w-constants\":125}],230:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ResponseParser = undefined;\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\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }(); /**\n * @file\n * \n * ORIGINAL SOURCE: src/app/core/utils/parsers.js@3.8\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n * \n * @since 3.9.0\n */\n\nvar _g3wConstants = require('g3w-constants');\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _groupBy = require('utils/groupBy');\n\nvar _is3DGeometry = require('utils/is3DGeometry');\n\nvar _removeZValueToOLFeatureGeometry = require('utils/removeZValueToOLFeatureGeometry');\n\nvar _sanitizeFidFeature = require('utils/sanitizeFidFeature');\n\nvar _reverseGeometry = require('utils/reverseGeometry');\n\nvar _feature = require('map/layers/feature');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nvar _require = require('g3w-i18n'),\n t = _require.t;\n\nObject.entries({\n G3W_FID: _g3wConstants.G3W_FID,\n GUI: _gui2.default,\n Feature: _feature.Feature,\n t: t,\n is3DGeometry: _is3DGeometry.is3DGeometry,\n removeZValueToOLFeatureGeometry: _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry,\n sanitizeFidFeature: _sanitizeFidFeature.sanitizeFidFeature,\n reverseGeometry: _reverseGeometry.reverseGeometry\n}).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n k = _ref2[0],\n v = _ref2[1];\n\n return console.assert(undefined !== v, k + ' is undefined');\n});\n\nvar NUMERIC_FIELD = 'GIS3W_ESCAPE_NUMERIC_FIELD_';\n\n/**\n * @example ResponseParser.get('application/vnd.ogc.gml')({ layers, response });\n */\nvar ResponseParser = exports.ResponseParser = {\n\n /** Response parser (content types) */\n get: function get(type) {\n switch (type) {\n\n case 'g3w-error':\n return function () {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var error = opts.error;\n\n return {\n parse: function parse() {\n var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref3$type = _ref3.type,\n type = _ref3$type === undefined ? 'responseJSON' : _ref3$type;\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.responseJSON && error.responseJSON.error.message) {\n return error.responseJSON.error.message;\n }\n\n /** @FIXME add description */\n if ('responseJSON' === type && error && error.errors) {\n return _traverseErrorMessage(error.errors);\n }\n\n /** @FIXME add description */\n if ('String' === type && 'string' === typeof error) {\n return error;\n }\n\n /** @FIXME add description */\n if ('String' === type) {\n return _traverseErrorMessage(error);\n }\n\n /** @FIXME add description */\n return t(\"server_saver_error\");\n }\n };\n };\n\n case 'g3w-table/json':\n return function () {\n var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n return (data.features || []).map(function (f) {\n var feature = new _feature.Feature();\n feature.setProperties(f.properties);\n feature.setId(f.id);\n return feature;\n });\n };\n\n case 'g3w-vector/gml':\n return function () {\n var _ref4 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n data = _ref4.data,\n layer = _ref4.layer;\n\n try {\n return new ol.format.WMSGetFeatureInfo({ layers: layer.getQueryLayerOrigName() }).readFeatures(\n // extract gml from multiple (Tuscany region)\n '--' === data.substr(0, 2) ? data.split(/\\r\\n--/).filter(function (part) {\n return (/<([^ ]*)FeatureCollection/.test(part) || /<([^ ]*)msGMLOutput/.test(part)\n );\n }).map(function (part) {\n return part.substr(part.indexOf(' 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref5.response,\n projections = _ref5.projections,\n _ref5$layers = _ref5.layers,\n layers = _ref5$layers === undefined ? [] : _ref5$layers,\n _ref5$wms = _ref5.wms,\n wms = _ref5$wms === undefined ? true : _ref5$wms;\n\n var layersFeatures = layers.map(function (layer) {\n return { layer: layer, features: [] };\n });\n var layersId = layers.map(function (l) {\n return wms ? l.getWMSLayerName() : l.getWFSLayerName();\n });\n // features\n (response ? new ol.format.GeoJSON({\n geometryName: 'geometry',\n defaultDataProjection: projections.layer || projections.map\n }).readFeatures(response) : []).filter(function (feature) {\n var featureId = feature.getId();\n var g3w_fid = (0, _sanitizeFidFeature.sanitizeFidFeature)(featureId);\n // in the case of wms getfeature without a filter return string contain layerName or layerid\n var index = featureId == g3w_fid ? 0 : layersId.indexOf(featureId);\n // skip when ..\n if (-1 === index) {\n return false;\n }\n var props = feature.getProperties();\n feature.set(_g3wConstants.G3W_FID, g3w_fid);\n // fields\n layersFeatures[index].layer.getFields().filter(function (f) {\n return f.show && undefined === props[f.name] && undefined !== props[f.label];\n }).forEach(function (f) {\n return feature.set(f.name, props[f.label]);\n });\n // features\n layersFeatures[index].features.push(feature);\n });\n return layersFeatures;\n };\n\n case 'application/geojson':\n return function () {\n var _ref6 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref6.layers,\n response = _ref6.response;\n\n return response ? layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/geojson')(response, {})\n };\n }) : [];\n };\n\n case 'text/plain':\n case 'text/html':\n return function () {\n var _ref7 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n layers = _ref7.layers,\n response = _ref7.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n rawdata: response\n };\n });\n };\n\n case 'text/gml':\n return function (_ref8) {\n var layers = _ref8.layers,\n response = _ref8.response;\n\n return layers.map(function (layer) {\n return {\n layer: layer,\n features: ResponseParser.get('g3w-vector/gml')({ data: response, layer: layers[0] })\n };\n });\n };\n\n case 'application/vnd.ogc.gml':\n return function () {\n var _ref9 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n response = _ref9.response,\n projections = _ref9.projections,\n layers = _ref9.layers,\n _ref9$wms = _ref9.wms,\n wms = _ref9$wms === undefined ? true : _ref9$wms,\n _ref9$id = _ref9.id,\n id = _ref9$id === undefined ? false : _ref9$id;\n\n // convert XML response to string\n if (response && 'string' !== typeof response && !(response instanceof String)) {\n response = new XMLSerializer().serializeToString(response);\n }\n\n // sanitize layer name (removes: whitespaces, quotes, parenthesis, slashes)\n if (response) {\n response = layers.reduce(function (acc, layer, i) {\n var id = (wms && layer.isWmsUseLayerIds() ? layer.getId() : layer.getName()).replace(/[\\s'()/]+/g, function (s) {\n return (/\\s/g.test(s) && !wms ? '_' : ''\n );\n });\n if (!wms) {\n id = id.replace(/[/\\\\]+/g, '').replaceAll(':', '-');\n }\n return acc.replace(new RegExp('qgs:' + id, 'g'), 'qgs:layer' + i);\n }, response);\n }\n\n // fields starting with an invalid key\n var invalids = response && Array.from(response.matchAll(/qgs:(\\d+(?:\\.\\d+)?)(\\w+)|qgs:(\\w+):(\\w+)/g)).filter(function (_, i) {\n return 0 === i % 2;\n });\n\n // add match numeric value (integer or float)\n if (invalids) {\n response = invalids.reduce(function (acc, find) {\n return acc.replace(new RegExp(find[0], 'g'), 'qgs:' + NUMERIC_FIELD + find[1] + find[2]);\n }, response);\n }\n\n // PATCH id strange char\n if (response) {\n response = response.replace(new RegExp(String.fromCharCode(0), 'g'), '0');\n }\n\n // convert XML string response to JSON\n var x2js = new X2JS();\n var json = x2js.xml_str2json(response); // json response\n\n // in the case of parser return null\n if (!json) {\n return [{\n layer: layers[0],\n features: []\n }];\n }\n\n /** @since 3.9.1 ServiceExceptionReport is a json attribute returned by server in case of error */\n if (json.ServiceExceptionReport && json.ServiceExceptionReport.ServiceException) {\n _gui2.default.showUserMessage({\n type: 'warning',\n textMessage: true,\n message: layers[0].getName() + ' - ' + json.ServiceExceptionReport.ServiceException\n });\n }\n\n // skip when json response hasn't FeatureCollection array (no features)\n if (!json.FeatureCollection || !json.FeatureCollection.featureMember) {\n return [];\n }\n\n // handled responses\n var parsed = []; //Array contains item object ({layer, features})\n var originalFeatureMember = [].concat(json.FeatureCollection.featureMember);\n //Loop on each layer\n layers.forEach(function (layer, i /*, originalFeatureMember*/) {\n var name = id ? layer.getId() : 'layer' + i; // layer name\n\n json.FeatureCollection.featureMember = originalFeatureMember.filter(function (f) {\n return f[name];\n }).map(function (f) {\n var fm = f[name];\n var prefix = f.__prefix;\n //set fid of each feature\n [].concat(fm).forEach(function (_fm) {\n //need to get fid number removing \n _fm._fid = _fm._fid && _fm._fid.split('.')[1];\n _fm[_g3wConstants.G3W_FID] = {\n __prefix: prefix,\n __text: _fm._fid\n };\n });\n //in case of wms multi layer\n if (Array.isArray(fm)) {\n var grouped = (0, _groupBy.groupBy)(fm, function (f) {\n return Object.keys(f);\n });\n // check if features have the same fields. If not, group the features with the same fields\n //check if features have different fields (multilayers)\n // If its is a multilayers. Each feature has different fields\n return Object.keys(grouped).length > 1 ? Object.keys(grouped).map(function (key, index) {\n return grouped[key].map(function (feature, sub_index) {\n var _ref10;\n\n return _ref10 = {}, _defineProperty(_ref10, 'layer' + index + '_' + sub_index, feature), _defineProperty(_ref10, '__prefix', prefix), _ref10;\n });\n }).flat() : //for Each element have to add and object contain layerName and information, and __prefix\n fm.map(function (f) {\n var _ref11;\n\n return _ref11 = {}, _defineProperty(_ref11, name, f), _defineProperty(_ref11, '__prefix', prefix), _ref11;\n });\n } else {\n return f;\n }\n }).flat();\n // parse layer feature collection\n var xml = x2js.json2xml_str(json); // layer Feature Collection XML\n var olfeatures = new ol.format.WMSGetFeatureInfo().readFeatures(xml);\n\n //Check if you need to re-project features because layers are in different projection of the map\n var is_reprojected = olfeatures.length > 0 //has features\n && !!olfeatures[0].getGeometry() // has a geometry\n && projections.layer //has a layer projection\n && projections.layer.getCode() !== projections.map.getCode() //the layer has the same projection of the map\n ;\n\n /** @FIXME add description */\n if (olfeatures.length > 0 && invalids) {\n var fields = Object.keys(olfeatures[0].getProperties()).filter(function (p) {\n return -1 !== p.indexOf(NUMERIC_FIELD);\n });\n olfeatures.forEach(function (f) {\n fields.forEach(function (_field) {\n var invalid = invalids.find(function (find) {\n return '' + find[1] + find[2] === _field.replace(NUMERIC_FIELD, '');\n });\n f.set(invalid[0].replace('qgs:', ''), [].concat(f.get(_field))[0]);\n f.unset(_field);\n });\n });\n }\n\n // transform features\n if (is_reprojected) {\n olfeatures.forEach(function (f) {\n return f.setGeometry(f.getGeometry().transform(projections.layer.getCode(), projections.map.getCode()));\n });\n }\n\n // inverted axis --> reverse features coordinates\n if (is_reprojected && 'ne' === (projections.layer ? projections.layer : projections.map).getAxisOrientation().substr(0, 2)) {\n olfeatures.forEach(function (f) {\n return f.setGeometry((0, _reverseGeometry.reverseGeometry)(f.getGeometry()));\n });\n }\n\n // Remove Z values due an incorrect addition when using\n // ol.format.WMSGetFeatureInfo readFeatures method from XML\n // (ex. WMS getFeatureInfo);\n if (layer.isGeoLayer() && !(0, _is3DGeometry.is3DGeometry)(layer.getGeometryType())) {\n olfeatures.forEach(function (f) {\n return (0, _removeZValueToOLFeatureGeometry.removeZValueToOLFeatureGeometry)({ feature: f });\n });\n }\n\n parsed.unshift({ layer: layer, features: olfeatures });\n });\n\n return parsed;\n };\n\n default:\n return function () {\n var _ref12 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n _ref12$layers = _ref12.layers,\n layers = _ref12$layers === undefined ? [] : _ref12$layers;\n\n return layers.map(function (layer) {\n return { layer: layer, rawdata: t('warning.not_supported_format') };\n });\n };\n\n }\n }\n};\n\n/**\n * ORIGINAL SOURCE: src/app/core/errors/parser/servererrorparser.js@3.9.1\n */\nfunction _traverseErrorMessage(errorObject) {\n var error_message = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"server_saver_error\";\n\n try {\n var entries = Object.entries(errorObject);\n var entry = entries.find(function (_ref13) {\n var _ref14 = _slicedToArray(_ref13, 2),\n key = _ref14[0],\n _ = _ref14[1];\n\n return 'fields' === key;\n });\n\n var _ref15 = entry || entries[0],\n _ref16 = _slicedToArray(_ref15, 2),\n value = _ref16[1];\n\n /** @FIXME add description */\n\n\n if (!entry && !Array.isArray(value) && 'object' === (typeof value === 'undefined' ? 'undefined' : _typeof(value))) {\n return _traverseErrorMessage(value, error_message);\n }\n\n /** @FIXME add description */\n if (entry && 'string' === typeof value) {\n error_message = '[' + entries.find(function (_ref17) {\n var _ref18 = _slicedToArray(_ref17, 1),\n key = _ref18[0];\n\n return 'fields' !== key;\n })[0] + '] ' + value;\n }\n\n /** @FIXME add description */\n if (entry && 'string' !== typeof value) {\n error_message = Object.entries(value).reduce(function (message, _ref19) {\n var _ref20 = _slicedToArray(_ref19, 2),\n field = _ref20[0],\n error = _ref20[1];\n\n return '' + message + field + ' ' + (Array.isArray(error) ? error[0] : error) + '\\n';\n }, '');\n }\n\n /** @FIXME add description */\n if (entry) {\n return error_message.replace(/\\:|\\./g, '');\n }\n } catch (e) {\n console.warn(e);\n }\n}\n\n},{\"g3w-constants\":125,\"g3w-i18n\":128,\"map/layers/feature\":151,\"services/gui\":173,\"utils/groupBy\":219,\"utils/is3DGeometry\":222,\"utils/removeZValueToOLFeatureGeometry\":235,\"utils/reverseGeometry\":236,\"utils/sanitizeFidFeature\":238}],231:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.printAtlas = printAtlas;\n\nvar _application = require('store/application');\n\nvar _application2 = _interopRequireDefault(_application);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n/*\n http://localhost/fcgi-bin/qgis_mapserver/qgis_mapserv.fcgi\n ?MAP=/home/marco/geodaten/projekte/composertest.qgs\n &SERVICE=WMS&VERSION=1.3.0\n &REQUEST=GetPrint\n &TEMPLATE=Composer 1\n &map0:extent=693457.466131,227122.338236,700476.845177,230609.807051\n &BBOX=693457.466131,227122.338236,700476.845177,230609.807051\n &CRS=EPSG:21781\n &WIDTH=1467\n &HEIGHT=729\n &LAYERS=layer0,layer1\n &STYLES=,\n &FORMAT=pdf\n &DPI=300\n &TRANSPARENT=true\n\n In detail, the following parameters can be used to set properties for composer maps:\n\n :EXTENT= //mandatory\n :ROTATION= //optional, defaults to 0\n :SCALE= //optional. Forces scale denominator as server and client may have different scale calculations\n :LAYERS= //optional. Defaults to all layer in the WMS request\n :STYLES= //optional\n :GRID_INTERVAL_X= //set the grid interval in x-direction for composer grids\n :GRID_INTERVAL_Y= //set the grid interval in x-direction for composer grids\n */\n\n/**\n * ORIGINAL SOURCE: src\\app\\core\\print\\printservice.js@3.9.0\n * \n * @param { Object } opts\n * @param opts.field\n * @param opts.values\n * @param opts.template\n * @param opts.download\n * @param { 'GET' | 'POST' } method\n */\nfunction printAtlas() {\n var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var method = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GET';\n\n var store = _application2.default.project.getLayersStore();\n var multi = opts.values.length > 1;\n return FETCH[method]({\n url: store.getWmsUrl(),\n mime_type: 'application/pdf',\n params: {\n SERVICE: 'WMS',\n VERSION: '1.3.0',\n REQUEST: 'GetPrintAtlas',\n EXP_FILTER: opts.field + (multi ? ' IN (' : '=') + opts.values.map(function (v) {\n return '\\'' + v + '\\'';\n }).join() + (multi ? ')' : ''),\n TEMPLATE: opts.template,\n filtertoken: _application2.default.tokens.filtertoken,\n DOWNLOAD: opts.download ? 1 : undefined\n }\n });\n}\n\nvar FETCH = {\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise<{mime_type, layers: boolean, url: string}>}\n */\n POST: function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var url = _ref.url,\n _ref$params = _ref.params,\n params = _ref$params === undefined ? {} : _ref$params,\n mime_type = _ref.mime_type;\n\n var response = yield fetch(url, {\n method: 'POST',\n headers: { 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8' },\n body: new URLSearchParams(params || {}).toString()\n });\n if (!response.ok) {\n //@TODO Need to translate\n throw new Error(500 === response.status ? 'Internal Server Error' : 'Request Failed');\n }\n return {\n mime_type: mime_type,\n layers: true,\n url: URL.createObjectURL((yield response.blob()))\n };\n });\n\n function POST(_x3) {\n return _ref2.apply(this, arguments);\n }\n\n return POST;\n }(),\n\n /**\n * @param { Object } opts\n * @param opts.url\n * @param opts.params\n * @param opts.mime_type\n * @return {Promise}\n */\n GET: function () {\n var _ref4 = _asyncToGenerator(function* (_ref3) {\n var url = _ref3.url,\n _ref3$params = _ref3.params,\n params = _ref3$params === undefined ? {} : _ref3$params,\n mime_type = _ref3.mime_type;\n\n return {\n url: url + '?' + new URLSearchParams(params || {}).toString(),\n layers: true,\n mime_type: mime_type\n };\n });\n\n function GET(_x4) {\n return _ref4.apply(this, arguments);\n }\n\n return GET;\n }()\n};\n\n},{\"store/application\":178}],232:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.promisify = promisify;\nexports.$promisify = $promisify;\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\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 */\nfunction 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(function (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 */\nfunction $promisify(promise) {\n if (undefined === promise) {\n console.trace();\n return $.Deferred(function (d) {\n return d.reject('not a promise');\n }).promise();\n }\n if (promise.always) {\n return promise;\n }\n return $.Deferred(function () {\n var _ref = _asyncToGenerator(function* (d) {\n try {\n d.resolve((yield promise instanceof Promise ? promise : promise()));\n } catch (e) {\n console.trace(e);d.reject(e);\n }\n });\n\n return function (_x) {\n return _ref.apply(this, arguments);\n };\n }()).promise();\n}\n\n},{}],233:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.prompt = undefined;\n\n/**\n * @TODO make it simpler (native HTML dialogs, Vue SFC components, ..)\n * \n * Similar to `window.prompt`\n * \n * @since 3.9.0\n */\nvar prompt = exports.prompt = function () {\n var _ref2 = _asyncToGenerator(function* (_ref) {\n var value = _ref.value,\n label = _ref.label,\n callback = _ref.callback;\n\n\n // Reactive vue object (input instance)\n var _data = {\n value: value,\n id: (0, _getUniqueDomId.getUniqueDomId)()\n };\n\n var vueInput = new Vue({\n template: '\\n
\\n \\n \\n
',\n data: function data() {\n return _data;\n }\n });\n\n var prompt = void 0; // store dialog modal window\n\n new Promise(function (resolve, reject) {\n // modal window with input name\n prompt = _gui2.default.showModalDialog({\n message: vueInput.$mount().$el,\n closeButton: false,\n buttons: {\n ok: { label: 'Ok', className: 'btn-success', callback: function callback() {\n return resolve(_data.value);\n } },\n cancel: { label: 'Cancel', className: 'btn-danger', callback: function callback() {\n return reject();\n } }\n }\n });\n // conditionally disable confirm button (based on input value)\n var okBtn = prompt.find('button.btn-success');\n okBtn.prop('disabled', 0 === _data.value.trim().length);\n vueInput.$watch('value', function (value) {\n okBtn.prop('disabled', 0 === value.trim().length);\n });\n }).then(callback).finally(function () {\n vueInput.$destroy();\n vueInput = null;\n _data = null;\n prompt = null;\n });\n });\n\n return function prompt(_x) {\n return _ref2.apply(this, arguments);\n };\n}();\n\nvar _gui = require('services/gui');\n\nvar _gui2 = _interopRequireDefault(_gui);\n\nvar _getUniqueDomId = require('utils/getUniqueDomId');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step(\"next\", value); }, function (err) { step(\"throw\", err); }); } } return step(\"next\"); }); }; }\n\n},{\"services/gui\":173,\"utils/getUniqueDomId\":217}],234:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeMeasureTooltip = removeMeasureTooltip;\n/**\n * Remove mesure tootltip\n * \n * @param { Object } opts\n * @param opts.map\n * @param opts.tooltip\n * @param opts.unByKey \n */\nfunction removeMeasureTooltip(_ref) {\n var map = _ref.map,\n tooltip = _ref.tooltip,\n unbyKey = _ref.unbyKey;\n\n map.removeOverlay(tooltip);\n ol.Observable.unByKey(unbyKey);\n}\n\n},{}],235:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.removeZValueToOLFeatureGeometry = removeZValueToOLFeatureGeometry;\n\nvar _g3wConstants = require('g3w-constants');\n\n/**\n * Remove Z values from geometry coordinates\n */\nfunction removeZValueToOLFeatureGeometry() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature;\n\n var geometry = feature.getGeometry();\n\n // skip when feature has no geometry (alphanumerical feature)\n if (!geometry) {\n return feature;\n }\n\n var coords = geometry.getCoordinates();\n\n switch (geometry.getType()) {\n\n // POINT: [x, y]\n case _g3wConstants.GEOMETRY_TYPES.POINT:\n if (3 === coords.length) {\n coords.splice(2);\n feature.getGeometry().setCoordinates(coords);\n }\n break;\n\n // MULTIPOINT: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.MULTIPOINT:\n // LINE: [ [x1, y1], [x2, y2] ]\n case _g3wConstants.GEOMETRY_TYPES.LINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.LINE:\n coords.forEach(function (c) {\n return c.splice(2);\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // MULTILINE: [\n // [ [x1, y1], [x2, y2] ],\n // [ [x3, y3], [x4, y4] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.MULTILINESTRING:\n case _g3wConstants.GEOMETRY_TYPES.MULTILINE:\n coords.forEach(function (line) {\n return line.forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n // POLYGON: [\n // [ [x1, y1], [x2, y2], [x3, y3], [x1, y1] ]\n // ]\n case _g3wConstants.GEOMETRY_TYPES.POLYGON:\n coords[0].forEach(function (c) {\n return c.splice(2);\n });\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 _g3wConstants.GEOMETRY_TYPES.MULTIPOLYGON:\n coords.forEach(function (poly) {\n return poly[0].forEach(function (c) {\n return c.splice(2);\n });\n });\n feature.getGeometry().setCoordinates(coords);\n break;\n\n default:\n console.warn('unsupported geometry type: ' + geometry.getType());\n\n }\n\n return feature;\n}\n\n},{\"g3w-constants\":125}],236:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.reverseGeometry = reverseGeometry;\n/**\n * @param geometry \n */\nfunction reverseGeometry(geometry) {\n geometry.setCoordinates(_reverseCoords(geometry.getCoordinates()));\n return geometry;\n}\n\nfunction _reverseCoords(coords) {\n coords.find(function (c) {\n if (!Array.isArray(c)) {\n var _coords = _slicedToArray(coords, 2),\n y = _coords[0],\n x = _coords[1];\n\n coords[0] = x;coords[1] = y;\n return true;\n }\n _reverseCoords(c);\n });\n return coords;\n}\n\n},{}],237:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sameOrigin = sameOrigin;\n/**\n * @param {string} url1\n * @param {string} url2\n *\n * @returns {boolean} whether URLs have same origin.\n *\n * @since 3.8.0\n */\nfunction sameOrigin(url1, url2) {\n try {\n return new URL(url1).origin === new URL(url2).origin;\n } catch (e) {\n console.warn(e);\n return false;\n }\n}\n\n},{}],238:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitizeFidFeature = sanitizeFidFeature;\nfunction sanitizeFidFeature(fid) {\n if ('string' === typeof fid && Number.isNaN(1 * fid)) {\n fid = fid.split('.');\n fid = fid.at(2 === fid.length ? 1 : 0);\n }\n return fid;\n}\n\n},{}],239:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.setProjectAliasUrl = setProjectAliasUrl;\n/** used by the following plugins: \"archiweb\" */\nfunction setProjectAliasUrl(alias) {\n var project = window.initConfig.projects.find(function (p) {\n return alias.gid === p.gid;\n });\n if (project) {\n project.url = '' + (alias.host || '') + alias.url;\n }\n}\n\n},{}],240:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\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\nexports.splitFeature = splitFeature;\n\nvar _isMultiGeometry = require('utils/isMultiGeometry');\n\nvar _isPolygonGeometryType = require('utils/isPolygonGeometryType');\n\nvar _isLineGeometryType = require('utils/isLineGeometryType');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\n/**\n * @param { Object } opts\n * @param opts.feature\n * @param opts.splitfeature\n * \n * @returns { Array } splitted feature geometries\n */\nfunction splitFeature() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n feature = _ref.feature,\n splitfeature = _ref.splitfeature;\n\n var geometries = {\n feature: feature.getGeometry(), //geometry of the feature to split\n split: splitfeature.getGeometry() // geometry of split feature\n };\n\n if ('LineString' !== geometries.split.getType()) {\n return [];\n }\n\n // array of split geometries\n var splittedFeatureGeometries = [];\n var parser = new jsts.io.OL3Parser();\n var is_multi = (0, _isMultiGeometry.isMultiGeometry)(geometries.feature.getType());\n var is_line = (0, _isLineGeometryType.isLineGeometryType)(geometries.feature.getType());\n var is_poly = (0, _isPolygonGeometryType.isPolygonGeometryType)(geometries.feature.getType());\n var polygonFeature = is_poly && (is_multi ? geometries.feature.getPolygons() : geometries.feature);\n var lineFeatureGeometry = is_line && (is_multi ? geometries.feature.getLineStrings() : geometries.feature);\n\n // MultiPolygon or MultiLineString\n if (is_multi && (is_line || is_poly)) {\n var geomClass = is_poly ? ol.geom.MultiPolygon : ol.geom.MultiLineString;\n (is_poly ? polygonFeature : lineFeatureGeometry).forEach(function (geometry) {\n var splitFeatures = splitFeature({ splitfeature: splitfeature, feature: new ol.Feature({ geometry: geometry }) });\n if (splitFeatures.length > 0) {\n splitFeatures.forEach(function (geometry) {\n return geometry && splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n });\n } else {\n splittedFeatureGeometries.push(new geomClass([geometry.getCoordinates()]));\n }\n });\n }\n\n // Polygon\n if (is_poly && !is_multi) {\n var isZType = polygonFeature.getCoordinates()[0][0][2] !== undefined;\n var polygonFeatureGeometry = parser.read(polygonFeature);\n var externalPolygonFeatureGeometry = parser.read(polygonFeature.getLinearRing(0));\n var splitGeometry = parser.read(geometries.split); // create a line split feature in jsts\n var holePolygons = void 0; // holes geometries\n\n if (polygonFeature.getLinearRingCount() > 1) {\n var holeFeaturesGeometry = void 0;\n for (var index = 1; index < polygonFeature.getLinearRingCount(); index++) {\n var holeRing = parser.read(polygonFeature.getLinearRing(index));\n holeFeaturesGeometry = undefined === holeFeaturesGeometry ? holeRing : holeFeaturesGeometry.union(holeRing);\n }\n\n holePolygons = new jsts.operation.polygonize.Polygonizer();\n\n holePolygons.add(holeFeaturesGeometry);\n\n var holyPolygonUnion = void 0;\n\n holePolygons.getPolygons().toArray().forEach(function (polygon) {\n return holyPolygonUnion = undefined === holyPolygonUnion ? polygon : holyPolygonUnion.union(polygon);\n });\n\n holePolygons = holyPolygonUnion;\n }\n\n if (isZType) {\n\n polygonFeature.getCoordinates()[0].forEach(function (c, i) {\n return externalPolygonFeatureGeometry.getCoordinates()[i].z = c[2];\n });\n\n splitGeometry.getCoordinates().forEach(function (coordinate) {\n return coordinate.z = 0;\n });\n }\n\n var union = externalPolygonFeatureGeometry.union(splitGeometry);\n var polygonizer = new jsts.operation.polygonize.Polygonizer();\n\n polygonizer.add(union);\n\n var polygons = polygonizer.getPolygons().toArray();\n\n if (polygons.length > 1) {\n polygons.forEach(function (polygon) {\n if (holePolygons) {\n polygon = polygon.difference(holePolygons);\n }\n\n if (polygonFeatureGeometry.intersects(polygon.getInteriorPoint())) {\n var geometry = parser.write(polygon);\n var polygonCoordinates = polygon.getCoordinates();\n\n if (isZType) {\n polygonCoordinates.forEach(function (c, i) {\n return c.z = c.z === undefined ? polygonCoordinates[i === 0 ? i + 1 : i - 1].z : c.z;\n });\n var zCoordinates = [];\n geometry.getCoordinates()[0].forEach(function (c, i) {\n c.push(polygonCoordinates[i].z);\n zCoordinates.push(c);\n });\n geometry.setCoordinates([zCoordinates]);\n }\n\n var is_single = !(0, _isMultiGeometry.isMultiGeometry)(geometry.getType());\n\n if (is_multi) {\n splittedFeatureGeometries.push(new ol.geom.MultiPolygon(is_single ? [geometry.getCoordinates()] : geometry.getCoordinates()));\n } else {\n if (is_single) {\n splittedFeatureGeometries.push(geometry);\n } else {\n geometry.getCoordinates().forEach(function (c) {\n return splittedFeatureGeometries.push(new ol.geom.Polygon(c));\n });\n }\n }\n }\n });\n }\n }\n\n // LineString or MultiLineString\n if (is_line && !is_multi) {\n var _ret = function () {\n var splitGeometry = geometries.split;\n var lineGeometry = geometries.feature;\n var isZType = undefined !== lineGeometry.getCoordinates()[0][2];\n var splitted = false;\n var splittedSegments = [];\n var jstsFromWkt = new jsts.io.WKTReader();\n var wktFromOl = new ol.format.WKT();\n var olFromJsts = new jsts.io.OL3Parser();\n var splitLine = jstsFromWkt.read(wktFromOl.writeGeometry(splitGeometry));\n var wktLineString = wktFromOl.writeGeometry(lineGeometry);\n\n if (isZType) {\n wktLineString = wktLineString.replace(' Z', '');\n }\n\n var targetLine = jstsFromWkt.read(wktLineString);\n var targetCoordinates = targetLine.getCoordinates();\n var geometryFactory = new jsts.geom.GeometryFactory();\n var pointsNotSplitted = [];\n\n var endPoint = void 0;\n var startPoint = void 0;\n\n for (var i = 0; i < targetCoordinates.length - 1; i++) {\n startPoint = targetCoordinates[i];\n endPoint = targetCoordinates[i + 1];\n\n if (isZType) {\n startPoint.z = lineGeometry.getCoordinates()[i][2];\n endPoint.z = lineGeometry.getCoordinates()[i + 1][2];\n }\n\n // create a segment of two vertex\n var segment = geometryFactory.createLineString([startPoint, endPoint]);\n var intersectCoordinates = segment.intersection(splitLine).getCoordinates();\n\n splitted = splitted || intersectCoordinates.length > 0;\n\n intersectCoordinates.forEach(function (splitPoint) {\n if (isZType) {\n splitPoint.z = startPoint.z;\n }\n\n var lineNewSegment = olFromJsts.write(geometryFactory.createLineString((pointsNotSplitted.length ? pointsNotSplitted : []).concat([startPoint, splitPoint])));\n\n if (isZType) {\n var coordinates = lineNewSegment.getCoordinates();\n lineNewSegment.setCoordinates([[].concat(_toConsumableArray(coordinates[0]), [startPoint.z]), [].concat(_toConsumableArray(coordinates[1]), [splitPoint.z])]);\n }\n\n if (pointsNotSplitted.length) {\n pointsNotSplitted = [];\n }\n\n splittedSegments.push(lineNewSegment);\n\n startPoint = splitPoint;\n });\n\n pointsNotSplitted = pointsNotSplitted.concat([startPoint, endPoint]);\n }\n\n var restOfLine = olFromJsts.write(geometryFactory.createLineString(pointsNotSplitted));\n\n if (isZType) {\n restOfLine.setCoordinates(pointsNotSplitted.map(function (pointNotSplitted, index) {\n var coordinate = restOfLine.getCoordinates()[index];\n coordinate.push(pointNotSplitted.z);\n return coordinate; // z coordinates\n }));\n }\n\n splittedSegments.push(restOfLine);\n\n return {\n v: splitted ? splittedSegments : []\n };\n }();\n\n if ((typeof _ret === 'undefined' ? 'undefined' : _typeof(_ret)) === \"object\") return _ret.v;\n }\n\n return splittedFeatureGeometries;\n}\n\n},{\"utils/isLineGeometryType\":223,\"utils/isMultiGeometry\":224,\"utils/isPolygonGeometryType\":226}],241:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.throttle = throttle;\n/**\n * build throttle function\n */\nfunction throttle(fnc) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 500;\n\n var lastCall = void 0;\n return function () {\n var previousCall = lastCall;\n lastCall = Date.now();\n if (previousCall === undefined // function is being called for the first time\n || lastCall - previousCall > delay) {\n // throttle time has elapsed\n fnc.apply(undefined, arguments);\n }\n };\n}\n\n},{}],242:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.toRawType = toRawType;\nfunction toRawType(value) {\n return Object.prototype.toString.call(value).slice(8, -1);\n}\n\n},{}],243:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.waitFor = waitFor;\n/**\n * Function to wait for predicates.\n * \n * @param { () => Boolean } predicate - A function that returns a bool\n * @param { number } [timeout] - Optional maximum waiting time in ms after rejected\n * \n * @see https://gist.github.com/chrisjhoughton/7890239?permalink_comment_id=4411125#gistcomment-4411125\n */\nfunction waitFor(predicate, timeout) {\n return new Promise(function (resolve, reject) {\n var check = function check() {\n if (!predicate()) {\n return;\n }\n clearInterval(interval);\n resolve();\n };\n var interval = setInterval(check, 100);\n check();\n if (timeout) {\n setTimeout(function () {\n clearInterval(interval);reject();\n }, timeout);\n }\n });\n}\n\n},{}],244:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.within = within;\n/**\n * Check if `geometryToCheck` is within `geometry`\n * \n * @param { ol.geometry } geometry\n * @param { ol.geometry } geometryToCheck\n * @returns { boolean } whether `geometryToCheck` is within `geometry`\n * \n * @since 3.8.0\n */\nfunction within(geometry, geometryToCheck) {\n var olFromJsts = new jsts.io.OL3Parser();\n return olFromJsts.read(geometryToCheck).within(olFromJsts.read(geometry));\n}\n\n},{}],245:[function(require,module,exports){\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/* Generated by gulpfile.js, do not edit manually */\n\nexports.default = '3.11.0-alpha.1';\n\n},{}]},{},[132]);\n"],"names":["r","e","n","t","o","i","f","c","require","u","a","Error","code","p","exports","call","length","1","module","cachedSetTimeout","cachedClearTimeout","process","defaultSetTimout","defaultClearTimeout","setTimeout","clearTimeout","runTimeout","fun","this","currentQueue","queue","draining","queueIndex","cleanUpNextTick","concat","drainQueue","timeout","len","run","runClearTimeout","marker","Item","array","noop","nextTick","args","Array","arguments","push","prototype","apply","title","browser","env","argv","version","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","name","binding","cwd","chdir","dir","umask","2","inserted","cache","insert","css","elem","document","createElement","setAttribute","textContent","styleSheet","cssText","getElementsByTagName","appendChild","removeChild","3","_FieldText2","_interopRequireDefault","_FieldLink2","_FieldImage2","_FieldGeo2","_FieldMedia2","_FieldVue2","obj","__esModule","default","simple_field","text_field","link_field","image_field","geo_field","photo_field","media_field","vue_field","components/FieldGeo.vue","components/FieldImage.vue","components/FieldLink.vue","components/FieldMedia.vue","components/FieldText.vue","components/FieldVue.vue","4","_typeof","Symbol","iterator","constructor","_toRawType","Fields","getType","field","type","value","fieldValue","toRawType","coordinates","vue","isArray","photo","toString","toLowerCase","match","isSimple","isLink","isImage","isPhoto","isVue","add","_ref","remove","./fields","utils/toRawType","5","_createClass","Constructor","protoProps","staticProps","defineProperties","target","props","descriptor","enumerable","configurable","writable","Object","defineProperty","key","Service","_inherits","subClass","CheckBoxService","superClass","TypeError","opts","undefined","instance","validatorOptions","values","state","input","options","map","v","self","__proto__","getPrototypeOf","ReferenceError","create","setPrototypeOf","checked","includes","find","option","_this2","gui/inputs/service","6","vueComponentOptions","newObj","hasOwnProperty","CheckBoxInput","Vue","extend","components/InputCheckbox.vue","7","TextInput","components/InputColor.vue","8","_convertQGISDateTimeFormatToMoment2","DateTimePickerService","_this","window","initConfig","user","i18n","datetimeformat","convertQGISDateTimeFormatToMoment","utils/convertQGISDateTimeFormatToMoment","9","DateTimePickerInput","components/InputDateTimePicker.vue","10","FloatService","11","FloatInput","components/InputFloat.vue","12","_application2","_InputBase2","_mixins","_asyncToGenerator","fn","gen","Promise","resolve","reject","step","arg","info","error","done","then","err","InputServices","Input","mixins","baseInputMixin","components","baseinput","watch","notvalid","_notvalid","service","setErrorMessage","state.value","default_expression","change","created","$watch","language","visible","yield","$nextTick","editable","validate","required","$emit","value_from_default_value","destroyed","./services","components/InputBase.vue","store/application","13","IntegerService","14","IntegerInput","components/InputInteger.vue","15","_slicedToArray","arr","sliceIterator","_arr","_n","_d","_e","_s","_i","next","_gui","_gui2","LonLatService","coordinatebutton","mapService","getService","mapEpsg","getCrs","mapControlToggleEventHandler","evt","isToggled","isClickMap","active","toggleGetCoordinate","getMap","outputEpsg","epsg","eventMapKey","lon","lat","valid","Number","isNaN","startToGetCoordinates","stopToGetCoordinates","deactiveMapControls","originalEvent","stopPropagation","preventDefault","coordinate","ol","proj","transform","_coordinate","Observable","unByKey","services/gui","16","LatLontInput","components/InputLonLat.vue","17","MediaService","18","MediaInput","components/InputMedia.vue","19","_data2","_pickfeatureinteraction2","_pickcoordinatesinteraction2","PickLayerService","pick_type","ispicked","fields","layerId","layer_id","interaction","layers","getLayerById","keyCode","owner","data","unpick","$","unbind","escKeyUpHandler","bindEscKeyUp","afterPick","feature","attributes","getProperties","filter","forEach","setModal","addInteraction","layer","getProjectLayer","getQueryLayersPromisesByCoordinates","feature_count","response","_response$0$data","features","fail","removeInteraction","unbindEscKeyUp","isPicked","map/interactions/pickcoordinatesinteraction","map/interactions/pickfeatureinteraction","services/data","20","PickLayerInput","components/InputPickLayer.vue","21","RadioService","22","RadioInput","components/InputRadio.vue","23","RangeService","min","max","_opts$state$input$opt","setValidator","24","RangeInput","components/InputRange.vue","25","_getCatalogLayerById","_createSingleFieldParameter","_defineProperty","SelectService","getCatalogLayerById","orderbyvalue","sort","b","val1","val2","search","_state$input$options","getData","_ref2","$value","addValue","text","sortValues","catch","_this3","_ref3","_ref3$layer_id","_ref3$key","_ref3$value","_this3$_layer$getData","_layer","_getLayerById","getDataTable","_","j","createSingleFieldParameter","operator","logicop","join","trim","properties","id","utils/createSingleFieldParameter","utils/getCatalogLayerById","26","SelectInput","components/InputSelect.vue","27","Validators","validators","float","bigint","MAX_SAFE_INTEGER","integer","isSafeInteger","checkbox","datetimepicker","moment","fielddatetimeformat","isValid","char","varchar","string","radio","range","get","setValue","setEmpty","_validator","default_value","get_default_value","unshift","validator","empty","isEmpty","unique","exclude_values","size","has","message","mutually","mutually_valid","max_field","min_field","_state","_value","update","toUpperCase","g3w-i18n","28","InputsServices","textarea","texthtml","check","select","media","select_autocomplete","picklayer","color","slider","lonlat","./checkbox/service","./datetimepicker/service","./float/service","./integer/service","./lonlat/service","./media/service","./radio/service","./range/service","./select/service","./service","./sliderrange/service","./unique/service","29","SliderRangeService","30","components/InputSliderRange.vue","31","components/InputText.vue","32","TextAreaInput","components/InputTextArea.vue","33","TextHtmlInput","components/InputTextHtml.vue","34","UniqueService","35","UniqueInput","components/InputUnique.vue","36","_vueCookieLaw2","_vue2Teleport2","_g3wConstants","_g3wPanel2","_g3wComponent2","_getUniqueDomId","_promisify","_sameOrigin","_UserMessage2","_CatalogContextMenu2","_MapAddLayer2","_ChangeMap2","_MetadataProject2","_ref7","_ref5","_ref4","custom_links","header_custom_links","navbaritems","Boolean","icon","item","getUniqueDomId","cookie_law_buttonText","app","viewport","updatePreviousTitle","header","CookieLaw","userMessage","CatalogContextMenu","MapAddLayer","ChangeMap","MetadataProject","Teleport","computed","languages","appconfig","dropdownParent","innerWidth","isIframe","top","urls","logo_url","project","thumbnail","mediaurl","header_logo_img","project_title","getState","username","login_url","has_iframe_login","sameOrigin","location","href","hasRelatedMaps","macrogroups","groups","projects","main_title","main_map_title","group_name","slug","breadcrumb","content","contentsdata","crumb","showresize","currentPerc","gui","layout","__current","rightpanel","split","secondaryPerc","showresizeicon","usermessage","showtitle","styles","width","sizes","height","zIndex","minHeight","VIEWPORT","resize","paddingTop","paddingBottom","contentTitle","_state$content$conten2","_state$content$conten","post_title","backOrBackTo","showgoback","previousTitle","sidebar","disabled","panels","showmainpanel","componentname","slice","getTitle","panelname","methods","onIframeLoaded","iframe","$refs","login_iframe","contentWindow","g3wsdk","core","ApplicationState","logout_url","reload","templateResultLanguages","staticurl","element","oncCustomItemClick","querySelector","modal","click","append","showEmbedModal","url","URL","searchParams","set","getMapExtent","$t","initDialogMessages","messages","pid","getId","_loop","items","localStorage","getItem","LOCAL_ITEM_IDS","MESSAGES","JSON","parse","doNotShowAgainVueComponent","template","arr2","from","DOMParser","parseFromString","body","childNodes","$mount","$el","showModalDialog","closeButton","className","entries","levels","level","buttons","close","label","callback","setItem","stringify","showaddLayerModal","collapse","openChangeMapMenu","isNotLastCrumb","index","closeContent","gotoPreviousContent","popContent","closeUserMessage","wrapMoveFnc","moveFnc","resizeStart","addEventListener","resizeStop","removeEventListener","resizeFull","toggleFullViewContent","sidebarSize","SIDEBARWIDTH","viewPortSize","mapSize","pageX","pageY","_VIEWPORT$resize","resized","Math","round","_layout","closePanel","closeAllPanels","_ref6","allSettled","d","promisify","unmount","parent","_x","splice","toggleSidebar","toggleSidebarItem","mini","classList","contains","collapsed","li","showSidebar","closest","component","comp","open","getOpen","menu","collapsible","_language","cl","i18next","changeLanguage","lng","pathArray","pathname","history","replaceState","mounted","toggle","isMobile","__vue__options__","render","_vm","_h","$createElement","_c","_self","directives","rawName","expression","staticClass","attrs","theme","buttonText","slot","_v","ref","role","staticStyle","padding","display","header_logo_link","frontendurl","alt","src","font-size","data-toggle","data-target","class","$fa","margin-left","overflow","margin","padding-right","text-align","_l","style","order","position","modifiers","data-placement","data-container","$event","max-height","img","img_title","first_name","last_name","admin_url","activeTab","cursor","templateSelection","templateResult","dropdownAutoWidth","$$selectedVal","selected","multiple","lang","domProps","g3w-disabled","justifyContent","font-weight","justify-content","align-items","z-index","duration","enter","leave","subtitle","draggable","closable","autoclose","textMessage","icon-class","iconClass","close-usermessage","hooks","tag","footer","mousedown","g3w-hide","online","show","loading","plugins","fontWeight","aside","mobile","tool","align-self","marginRight","margin-right","to","tabindex","data-backdrop","data-keyboard","aria-labelledby","aria-hidden","background","grid-template-areas","place-items","inset","data-dismiss","grid-area","border","load","staticRenderFns","_scopeId","components/CatalogContextMenu.vue","components/ChangeMap.vue","components/MapAddLayer.vue","components/MetadataProject.vue","components/UserMessage.vue","g3w-component","g3w-constants","g3w-panel","utils/getUniqueDomId","utils/promisify","utils/sameOrigin","vue-cookie-law","vue2-teleport","vueify/lib/insert-css","37","_ref10","_ref9","_ref8","_g3wEventbus","_XHR","_CatalogChangeMapThemes2","__","_CatalogTristateTree2","$options","legend_position","showlegend","currentBaseLayer","CatalogChangeMapThemes","CatalogTristateTree","baselayers","hasBaseLayers","hasLayers","external","vector","layerstrees","reduce","l","tree","layersgroups","onLegendError","legendurl","onLegendLoad","getLegendSrc","_traverseVisibleLayers","legendurls","some","legend","context_base_legend","_getLegendSrc","_x2","_layers","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","geolayer","exclude_from_legend","nodes","return","visiblelayers","method","http","GET","POST","source","ows_method","catalogLayer","getLegendUrl","all","format","categories","prefix","layerName","current","legend_on","replace","legend_off","params","LAYERS","STYLES","LEGEND_ON","LEGEND_OFF","url_params","tokens","filtertoken","createObjectURL","fetch","headers","Content-Type","encodeURIComponent","blob","_x4","getMapThemeFromThemeName","config","map_themes","flat","layerstree","XHR","result","_x5","setLayersTreePropertiesFromMapTheme","map_theme","changes","promises","traverse","mapThemeLayersTree","node","group","visibility","promise","setCurrentStyleAndResolvePromise","setCurrentStyle","getLayersStore","_ref6$node","expanded","_x6","changeMapTheme","rootNode","keys","clearCategories","VM","_x7","onTabClick","setBaseLayer","baseLayerId","getSrcBaseLayerImage","baseLayer","image","servertype","subtype","getResourcesUrl","onUnSelectionLayer","storeid","action","getActionLayerById","catalog","clearSelectionFids","selection","toggled","setSelectionFeatures","onActiveFilterTokenLayer","toggleFilterToken","_x8","_x9","onTreeNodeVisible","onTreeNodeSelected","selectLayer","state.external.wms","newlayers","oldlayers","catalog_tab","handler","_x10","immediate","_activeTab","oldTab","parentElement","$on","beforeMount","initbaselayer","!click","aria-controls","data-i18n","wms","gid","change-map-theme","root","parentFolder","legendplace","parent_mutually_exclusive","externallayers","gridTemplateColumns","base","fixed","opacity","bottom","background-color","line-height","border-top","margin-top","components/CatalogChangeMapThemes.vue","components/CatalogTristateTree.vue","g3w-eventbus","utils/XHR","38","_InputText2","LAYERSTREES_ATTRIBUTES","InputText","custom","mt","active_theme","toc_themes_init_status","custom_theme","i18nLabel","show_form","getElementById","_getMapThemeParams","treeItem","acc","attr","s","saveTheme","post","contentType","showUserMessage","updateTheme","c_theme","deleteTheme","dialog","confirm","bool","delete","custom_theme.value","add_map_theme_input","children","child","_x3","logged","padding-top","menu-open","_q","for","./InputText.vue","39","_vueColor","_downloadFile","shpwrite","layer_style","left","project_menu","layer_menu","edit_url","layers_url","chrome-picker","Chrome","click-outside","bind","el","vnode","event","context","onShowContextMenu","closeMenu","x","x2","y2","x1","y1","mouseUp","mouseMove","clientX","clientY","marginLeft","parseInt","marginTop","offsetTop","offsetLeft","getBoundingClientRect","clientHeight","tooltip","download_menu","ogc_menu","_drag","onChangeColor","val","layer_color","backgroundColor","hex","getLayerByName","getStyle","_g3w_options","setStyle","canShowWmsUrl","isType","getFullWmsUrl","canShowWfsUrl","isWfsActive","canDownload","getWmsUrl","getCatalogWmsUrl","getWfsUrl","getCatalogWfsUrl","getWfs3Url","getCatalogWfs3Url","copyUrl","execCommand","copywmsurltooltip","download","map_extent","notify","downloadExternal","downloadFile","setLayerPosition","setZIndex","layersCount","zoomToLayer","goToBBox","bbox","minx","miny","maxx","maxy","canEdit","isEditable","plugin","PluginsRegistry","getPlugin","startEditing","editing","showPanel","toolboxes","canZoom","coord","getGeometryType","geometryType","geometrytype","downloadExternalShapefile","getSource","getFeatures","crs","feat","clone","getGeometry","GeoJSON","writeFeaturesObject","featureProjection","folder","types","point","mulipoint","polygon","multipolygon","line","polyline","multiline","showAttributeTable","openAttributeTable","showMetadata","setLayerStyle","changed","setLayerFilter","fid","applyFilter","deleteFilterToken","deleteFilter","showMenu","overflowY","ul","offsetHeight","offsetWidth","maxHeight","_x11","canOpenAttributeTable","openattributetable","isExternalLayer","projectLayer","isExternalWMSLayer","_type","isExternalVectorLayer","canShowStylesMenu","canShowFiltersMenu","filters","hasMetadata","metadata","canShowOpacityPicker","onLayerOpacity","setOpacity","mouseover","getName","abstract","border-radius","innerHTML","right","defaultstyle","list","__r","$set","_m","hook:beforeDestroy","color_picker","$off","model","$$v","justify-self","padding-left","border-left","downloadUrl","vertical-align","fill","xmlns","xml:space","viewBox","shp-write","utils/downloadFile","vue-color","40","_click2","String","currentstyle","showfeaturecount","featurecount","externallegend","onCategoryClick","handleClick","showCategoryMenu","getWmsSourceLayerLegendUrl","isDisabled","showHideLayerCategory","mapReady","setLayerCategories","setError","urlLoaded","onChangeLayerLegendStyle","getStyleFeatureCount","dynamic","_ref4$nodes","getCategories","getLegendGraphic","_setAllLayerCategories","_updateLayerCategories","_ref5$symbols","symbols","ruleKey","symbol","_checked","setCategories","_ref6$symbols","category","findSymbol","onChangeMapLegendParams","runInitLayerVisibleAction","initialize","layer.visible","enabled","beforeDestroy","contextmenu","stylesfeaturecount","mixins/click","41","_setAllLayersVisible","parentGroup","setVisible","_CatalogLayerLegend2","CatalogLayerLegend","isGroupChecked","controltoggled","n_childs","filtered","showLegendLayer","showLayerTocLegend","isGroup","legendlayerposition","showscalevisibilityclass","scalebasedvisibility","showScaleVisibilityToolip","isTable","isHidden","hidden","isHighLight","highlightlayers","isVisible","getTocHighlightable","isInGrey","getFeatureCount","total","categoryFeatureCount","layerstree.checked","handleGroupChecked","handleLayerChecked","removeCurrentFilter","mutually_exclusive","g","groupId","qlayer","saveFilter","toggleFilterLayer","clearSelection","expandCollapse","maybeZoomToLayer","onTreeItemClick","triClass","g3wtemplate","getFontClass","downloadExternalLayer","file","removeExternalLayer","showContextMenu","uncheckable","toc","itemmarginbottom","bold","removable","currentTarget","toc-added-external-layer","paddingLeft","highlightlayer","scalevisibility","current-tooltip","indexOf","_k","_layerstree","legendConfig","components/CatalogLayerLegend.vue","42","get_macro","get_group","_projections2","_getListableProjects","LOGO_GIS3W","_toConsumableArray","encodeURI","steps","curr_group","back","last_step","pop","has_steps","macrogroup_id","showMacroGroups","showGroups","showRoot","addStep","mg","m","showProjects","getListableProjects","setItemImageSrc","changeMapProject","base_url","baseurl","srid","registerProjection","map_url","origin","addMapExtentUrlParameterToUrl","trigger","_setSrc","logo_img","clienturl","host","has_media","not_static","magrocroup","_ref11","_ref12","min-width","description","store/projections","utils/getListableProjects","43","_t","word-wrap","44","_extends","assign","fieldsService","gui/fields/fields","gui/fields/fieldsservice","45","geoMixin","Date","now","font","showLayer","46","_Field2","mime_type","Field","images","showGallery","isRelativePath","startsWith","data-interval","data-slide","components/Field.vue","47","_Field","openLink","link_url","48","mediaMixin","getMediaType","filename","49","50","vueoptions","51","_FormHeader2","_FormFooter2","switchcomponent","before","after","g3wformheader","G3wFormFooter","transitions","addremovetransition","isRootComponent","backToRoot","setRootComponent","handleRelation","relationId","disableComponent","_ref$disabled","resizeForm","perc","setCurrentFormPercentage","switchComponent","setCurrentComponentById","changeInput","addToValidate","removeToValidate","reloadLayout","bodyFromDOM","footerHeight","footerDOM","g3w_form_footer","g3wform_body","bodyHeight","updated","getEventBus","setValidComponent","setReady","clearAll","currentid","currentheaderid","resize-form","clickheader","hook:activated","addtovalidate","removetovalidate","changeinput","components/FormFooter.vue","components/FormHeader.vue","52","_InputG3WFormInputs2","_InputG3WFormInputs","G3wFormInputs","hasFormStructure","formstructure","layerid","contenttype","tabs","addinput","removeinput","components/InputG3WFormInputs.vue","53","Function","originalbuttons","button","enableSave","exec","cbk","btnEnabled","_button$enabled","state.component","state.update","eventButtons","activated","deactivated","54","flex-direction","item_selected","fontSize","55","56","_application","minDate","maxDate","enabledDates","datetimevalue","date","datetimeinputelement","iddatetimepicker","defaultDate","useCurrent","allowInputToggle","showClose","locale","toolbarPlacement","widgetPositioning","horizontal","ismobile","blur","datetime","mindatetime","maxdatetime","dates","57","58","59","progress","borderRadius","60","_debounce","labelValue","sync","showValue","unit","changeBackGround","backgroundSize","changedValue","emitChangeValue","debounce","utils/debounce","61","_GlobalTabsNode2","_getFormDataExpressionRequestFromFeature","_convertFeatureToGEOJSON","_noop","showRelationByField","relation","showRelation","ids","required_fields","setVisibility","tab","inputs","qgs_layer_id","form_data","convertFeatureToGEOJSON","getFormDataExpressionRequestFromFeature","visibility_expression","formatter","outputs","setEditingRequireTab","field_name","getField","fieldName","toggleGroup","Node","unwatch","referenced_columns","root_tabs","tab_node","root_tab","group-title","in active","showTitle","components/GlobalTabsNode.vue","utils/convertFeatureToGEOJSON","utils/getFormDataExpressionRequestFromFeature","utils/noop","62","_InputG3W2","G3wInput","editing_required","filterNodes","getNodeType","nodesLength","rows","rowCount","columnNumber","floor","columnCount","columncount","showGroupTile","showlabel","groupbox","loadingRelation","getRelationById","isRelationDisabled","getRelationName","isRelationChildLayerNotEditable","relationLayerId","referencingLayer","getNodes","row","startIndex","getNode","column","alias","getComponent","query","_b","$props","text-transform","components/InputG3W.vue","63","showHideHelp","loadingState","help","64","widgetMixins","setLabel","convertCheckedToValue","convertValueToChecked","changeCheckBox","widgetChanged","stateValueChanged","input-error-validation","tabIndex","$$i","$$a","$$el","$$c","gui/inputs/input","65","placeholder","composing","66","resizeMixin","uniqueValue","widget_container","idinputdatetimepiker","domeDataPicker","hide","timeOnly","formats","onDatePickerChange","newDate","datetimedisplayformat","datetimefieldformat","onDatePickerShow","container","datetimepicker_body","datimewidget_container","abs","onDatePickerHide","_state$input$options$","_state$input$options$2","vertical","_formats$","fieldformat","disabledDates","displayformat","setValidatorOptions","toDate","ignoreReadonly","widgetParent","getLocale","readonly","67","68","Inputs","text_input","texthtml_input","textarea_input","integer_input","string_input","float_input","radio_input","check_input","range_input","datetimepicker_input","unique_input","select_input","media_input","select_autocomplete_input","picklayer_input","color_input","slider_input","lonlat_input","gui/inputs/checkbox/vue/checkbox","gui/inputs/color/vue/color","gui/inputs/datetimepicker/vue/datetimepicker","gui/inputs/float/vue/float","gui/inputs/integer/vue/integer","gui/inputs/lonlat/vue/lonlat","gui/inputs/media/vue/media","gui/inputs/picklayer/vue/picklayer","gui/inputs/radio/vue/radio","gui/inputs/range/vue/range","gui/inputs/select/vue/select","gui/inputs/sliderrange/vue/sliderrange","gui/inputs/text/vue/text","gui/inputs/textarea/vue/textarea","gui/inputs/texthtml/vue/texthtml","gui/inputs/unique/vue/unique","69","_InputG3W","show_required_field_message","70","71","lonId","latId","getCoordinateActive","changeLonLat","setCoordinateButtonReactiveObject","clear","margin-bottom","labels","72","InputMixins","MediaField","g3w-media","mediaid","onClick","clearMedia","formData","csrfmiddlewaretoken","$cookie","fileupload","dataType","start","always","border-style","border-width","data-url","uploadurl","73","pickLayer","pickservice","pick","gui/inputs/picklayer/service","74","radio_value","75","Step","checkValue","getValidator","keydown","76","_ref16","PickLayerInputService","Layer","G3W_SELECT2_NULL_VALUE","InputMixin","selectMixin","select2Mixin","showPickLayer","picked","filterFields","isFilterFieldsReady","showNullOption","nullOption","select2NullValue","pickLayerValue","pickLayerInputService","getMultiValues","autocomplete","changeSelect","select2","Set","setAndListenSelect2Change","state.input.options.values","is_empty","_this4","filterFieldsUnwatches","relation_id","filter_fields","relation_reference","_state$input$options$3","chain_filters","_state$input$options$4","allowmulti","setLoading","_ApplicationState$pro","referencedLayer","_ApplicationState$pro2","fieldRef","referencingField","referencedField","relationLayer","relationLayerFields","getFields","_ref6$data","getFilterData","fformatter","ffield","_f","ordering","status","filterReferencedFieldValues","_ref13$data","rdata","_ref14","_ref15","dependencyLayerId","_state$input$options2","dependencyLayer","getEditingLayer","LayerTypes","TABLE","isStarted","_this5","selectElement","getLanguage","minimumInputLength","allowClear","ajax","delay","transport","success","failure","term","siblings","processResults","page","results","pagination","more","getKeyByValue","minimumResultsForSearch","uw","rf","refInFor","select2_value","indexItem","getValue","map/layers/layer","77","state.input.options.min","changeInfoMessage","state.input.options.max","78","keyup","mobileChange","79","max-width","80","setupTableCustomTools","buttonColumnLeft","buttonColumnRight","buttonColumnRemove","buttonRowAbove","buttonRowBelow","buttonRowRemove","edit_state","edit","show_html","edit_states","quill","Quill","quill_editor","modules","table","toolbar","align","handlers","html","firstChild","innerText","querySelectorAll","qlformat","_iteratorNormalCompletion2","_didIteratorError2","_iteratorError2","_step2","_iterator2","column-left","insertColumnLeft","column-right","insertColumnRight","column-remove","deleteColumn","row-above","insertRowAbove","row-below","insertRowBelow","row-remove","deleteRow","getModule","novalid","81","tags","82","_copyUrl","hidemaps","map_info","mouse","switch_icon","epsg_4326","urlCopied","mapunit","showmapunits","mapunits","showHideControls","getMapControls","control","showHide","createCopyMapExtentUrl","switchMapsCoordinateTo4326","getMapControlByType","dispatchEvent","getEpsg","changeScaleLineUnit","onafter","ratio","_ref3$layers","_ref3$mainview","mainview","_ref3$switchable","switchable","_addHideMap","hidemap","_obj","utils/copyUrl","83","_createVectorLayerFromFile","SUPPORTED_FORMAT","getProjection","getCode","EPSG","layer_type","wms_panel","adminwmsurls","wmsurls","localwmsurls","added","vectorLayer","error_message","persistent","accepted_extension","csv","y","separators","separator","mapCrs","rgba","map_formats","info_formats","selectedlayers","projections","csv_extension","inputswmsurlvalid","onChangeFile","reader","FileReader","files","at","input_file","onload","handle_csv_headers","_evt$target$result$sp","_evt$target$result$sp2","csv_headers","readAsText","createVectorLayerFromFile","addLayer","addExternalLayer","modal_addlayer","clearFile","clearPanel","addNewUrl","found","getWMSLayers","getLocalWMSData","updateLocalWMSData","wmsurl","_showWmsLayersPanel","addwmsurl","deleteWmsUrl","_addExternalWMSLayer","_ref6$epsg","_ref6$position","_ref6$visible","RasterLayer","projection","res","rej","wmslayer","olLayer","getOLLayer","addWMSlayer","_ref8$name","_ref8$layers","_ref8$visible","_ref8$opacity","w","every","deleteWms","_wms_config","wms_config","GetMap","layerProjections","crss","showWmsLayersPanel","findIndex","changeLayerData","alldata","csv.x","csv.y","_ref13","_this6","isReady","_ref17","$data","user-select","font-family","border-bottom","padding-bottom","flex-grow","accept","map/layers/imagelayer","utils/createVectorLayerFromFile","84","_QueryResultsActionChooseLayer2","_plugins2","_flattenObject","_addZValueToOLFeatureGeometry","_isPointGeometryType","_convertSingleMultiGeometry","_getCatalogLayers","PROVIDERS","LAYER","is_clearing","mapcontrols","geocoding","providers","script","async","head","Vector","Style","Text","offsetY","stroke","Stroke","Fill","Icon","scale","RegularShape","points","radius","angle","PI","results_panel_open","is_layer_visible","getVisible","has_providers","extent","getProject","transformExtent","initextent","_hideMarker","toggleLayerVisibility","clearResults","getFeatureById","removeFeature","clearMarkers","__selected","removeFeatureLayerFromResult","q","isNumber","_split","_split2","Feature","geometry","geom","Point","setId","addFeature","zoomToGeometry","reset","_ref3$","limit","__heading","provider","flattenObject","__uid","__icon","__no_results","onQuery","which","onValue","onReset","focus","_removeItem","uid","showMarkerResults","onItemClick","_item","parseFloat","zoomToFeatures","getCurrentContent","showQueryResults","_editItem","_feature","addZValueToOLFeatureGeometry","convertSingleMultiGeometry","getApi","addLayerFeature","queryresults","zindex","registerVectorLayer","actions","editablePointLayers","getCatalogLayers","EDITABLE","GEOLAYER","isPointGeometryType","inediting","isInEditing","addCurrentActionToolsLayer","observable","toggleable","hint","setCurrentActionLayerFeatureTool","nolayers","unregisterVectorLayer","address_name","address_road","address_building","address_house_number","address_city","address_town","address_village","address_postcode","address_state","address_country","components/QueryResultsActionChooseLayer.vue","store/plugins","utils/addZValueToOLFeatureGeometry","utils/convertSingleMultiGeometry","utils/flattenObject","utils/getCatalogLayers","utils/isPointGeometryType","85","last","setMapExtent","getView","fit","hasEmptyHistory","view","calculateExtent","getSize","changeKeyEvent","86","customcredits","powered_by","docs_url","general","spatial","showHideInfo","box","sanitizeValue","credits","min-height","in","contactelectronicmailaddress","personprimary","contactvoicetelephone","subvalue","keywords","metadataurl","onlineresources","dataurl","gap","rel","87","_getScaleFromResolution","_getResolutionFromScale","_printAtlas","_resize2","vueComp","init","atlas_values","has_maps","maps","has_autocomplete","atlas","_init","_moveKey","_page","_resolutions","print","getPrint","PRINT_FORMATS","downloading","rotation","inner","scales","dpis","dpi","print_extent","changeTemplate","has_previous","_clearPrint","initSelect2Field","showPrintArea","_setPrintArea","changeScale","changeDpi","changeRotation","setInnerGreyCoverBBox","isAxisOrientationInverted","getAxisOrientation","getOverviewExtent","xmin","xmax","ymin","ymax","getPrintExtent","viewer","_map$getCoordinateFro","getCoordinateFromPixel","_map$getCoordinateFro2","_map$getCoordinateFro3","_map$getCoordinateFro4","has_theme","store","has_atlas","disableSideBar","printAtlas","vueComponentObject","setContent","preset_theme","getLayers","PRINTABLE","SERVERTYPE","reverse","getPrintLayerName","pdf","jpg","svg","URLSearchParams","SERVICE","VERSION","REQUEST","TEMPLATE","DPI","FORMAT","png","geopdf","FORMAT_OPTIONS","CRS","overview","_extends2","ok","getInternalComponent","_initPrintConfig","startDrawGreyCover","renderSync","w2","h2","resolution","getResolution","h","_state$maps$find","getMapUnits","Units","METERS_PER_UNIT","degrees","stopDrawGreyCover","_setScales","maxRes","units","mapScale","getScaleFromResolution","PRINT_SCALES","below","above","findLast","getResolutionFromScale","_initialized","getMaxResolution","scala","_this7","print_atlas","ko","suggest","matcher","noResults","errorLoading","searching","inputTooShort","minimum","vals","_this8","_skip_atlas_check","isInteger","_values","state.url","_this9","TIMEOUT","statusText","marginBottom","createTag","components/PrintPage.vue","mixins/resize","utils/getResolutionFromScale","utils/getScaleFromResolution","utils/printAtlas","88","ready","downloadImage","imageToDataURL","_ref2$type","_ref2$callback","Image","canvas","getContext","dataURL","naturalHeight","naturalWidth","drawImage","toDataURL","onerror","setLoadingContent","revokeObjectURL","89","_initCallback","route","goto","_toggleModal","html_page_title","showFullModal","logoSrc","menuitem","menuitems","90","_createFilterFromString","currentlayer","test","manual","manualvalue","select.field","addToExpression","CACHE","querybuilder","getUrl","filterElement","previous","search_fields","selectedIndex","search_values","createFilterFromString","save","projectId","edit_id","searches","prompt","querybuildersearches","ITEMS","baselayer","exclude","relations","customPrefix","operators","FILTER_OPERATORS","skin-border-color","utils/createFilterFromString","91","_QueryResultsTableAttributeFieldValue2","_QueryResultsActionInfoFormats2","_QueryResultsHeaderFeatureBody2","_QueryResultsHeaderFeatureActionsBody2","_throttle","_getMapLayersByFilter","HEADERTYPESFIELD","headerExpandActionCellWidth","headerActionsCellWidth","fieldsMixin","TableAttributeFieldValue","infoformats","header-feature-body","HeaderFeatureActionsBody","onelayerresult","hasResults","decimalNumber","toFixed","queryableLayers","getMapLayersByFilter","QUERYABLE","selectedLayer","getSelectedLayer","getLayerDownloads","layerHasFeatures","rawdata","getLayerCustomComponents","layerscustomcomponents","getLayerField","layerField","getQueryFields","formStructure","_field","getFieldType","getColSpan","attributesSubsetLength","hasLayerOneFeature","addLayerFeaturesToResults","addLayerFeaturesToResultsAction","showLayerDownloadFormats","saveLayerResult","downloadFeatures","addRemoveFilter","getContainerFromFeatureLayer","hasOneLayerAndOneFeature","addToSelection","extractAttributesFromFirstTabOfFormStructureLayers","structure","traverseStructure","attributesSubset","_attributes","attribute","end","getLayerFormStructure","structuredClone","getLayerFeatureBox","relation_index","boxid","getBoxId","layersFeaturesBoxes","openCloseFeatureResult","collapsedFeatureBox","showFeatureInfo","toggleFeatureBox","toggleFeatureBoxAndZoom","opened","_x12","isJSON","highLightLayerFeatures","hasgeometry","highlight","collapseSidebar","state.layers","hasImageField","expandable","elements","onceafter","requestAnimationFrame","postRender","highlightFeatures","Infinity","zoomToLayerFeaturesExtent","throttle","mouseout","downloads","downloadformats","addfeaturesresults","pointer-events","layeractiontool","infoformat","colspan","layersactions","boxLayerFeature","currentactiontools","featureIndex","actiontools","noAttributes","feature-html-content","k","v2","k2","showresults","showResults","flex","components/QueryResultsActionInfoFormats.vue","components/QueryResultsHeaderFeatureActionsBody.vue","components/QueryResultsHeaderFeatureBody.vue","components/QueryResultsTableAttributeFieldValue.vue","utils/getMapLayersByFilter","utils/throttle","92","clickAction","originalDataTitle","hint_change","condition","93","has_layers","94","download_format","_download","95","_parsers","_getAlphanumericPropertiesFromFeature","hasInfo","reloadLayerDataWithChangedContentType","changeProxyDataAndReloadFromServer","INFO_FORMAT","_ResponseParser$get","setInfoFormat","ResponseParser","__parsedata","__parserawdata","queryService","_properties$geometry$","setActionsForLayers","getAlphanumericPropertiesFromFeature","clearProxyData","utils/getAlphanumericPropertiesFromFeature","utils/parsers","96","choices","g3w_select_feature_featurepolygon","choice","97","_QueryResultsAction2","_QueryResultsAction","components/QueryResultsAction.vue","98","_QueryResultsActions2","_QueryResultsActions","components/QueryResultsActions.vue","99","100","g3w-link","g3w-vue","101","_FieldG3W2","_QueryResultsActionDownloadFormats2","previousview","showChartButton","cardinality","inject","chart","headercomponent","downloadButton","downloadLayer","showTools","isGeoLayer","showrelationslist","relationnoback","one","createTable","getDownloadableFormats","saveRelation","getDownloadUrl","showChart","chartContainer","G3W_FID","what","relationDataTable","relationtable","DataTable","autoWidth","bLengthChange","dom","columnDefs","orderable","targets","pageLength","responsive","scrollResize","scrollCollapse","scrollX","tableHeaderHeight","query_relation","parentNode","outerHeight","showFormStructureRow","showContent","internalComponent","editFeature","getRowFields","columns","adjust","$parent","setRelationsList","fieldIs","is","sidebarHeaderSize","tablecontent","chartcontent","relationwrapper","beforeCreate","delayType","destroy","toggled-white","minWidth","rows_fid","rowFormStructure","components/FieldG3W.vue","components/QueryResultsActionDownloadFormats.vue","102","featureInfo","noback","103","_buildRelationTable","cols","getTableHeaders","getLayerEditingFormStructure","_Relations2","_Relation2","_createRelationsUrl","_options","_$options","_$options$table","_$options$relation","_$options$relations","nmRelation","_$options$feature","_$options$currentview","currentview","_$options$chartRelati","chartRelationIds","provide","saveRelations","fileDownload","createRelationsUrl","httpMethod","relationData","hideChart","getRelationsNM","_ref3$features","_nmRelation$fieldRef","relationsNM","accumulator","property","setCurrentContentOptions","relationName1","relationName2","save-relation","show-chart","hide-chart","components/Relation.vue","components/Relations.vue","utils/createRelationsUrl","104","_Tool2","g3w-tool","tools","removeItem","internalPanel","qbloading","searchtool","components/QueryBuilder.vue","components/Tool.vue","105","_convertQGISDateTimeFormatToMoment","_getDataForSearchInput","SELECTS","allvalue","SEARCH_ALLVALUE","is_staff","getLabelOperator","FILTER_EXPRESSION_OPERATORS","onFocus","scrollTop","deps","forminputs","dependance","getDataForSearchInput","cached","dvalues","dependance_strict","_d$_values","_d$values","search_layers","doSearch","initDateTimeField","numdigaut","oldVal","clearSelect2","widget_type","opt","time","utils/getDataForSearchInput","106","main","iconColor","triggerAction","fnc","insertAdjacentElement","mount","_ref$open","setOpen","107","SPATIAL_BOOKMARKS_LOCALITEMS","SPATIALBOOKMARKS","showaddform","bookmarks","addbookmarkinput","addBookMark","saveUserBookMarks","removeBookMark","showAddForm","gotoSpatialBookmark","zoomToExtent","force","add_bookmark_input","g3w-tools","bookmark","borderBottom","108","_coordinatesToGeometry","_ref20","PAGELENGTHS","_createFeatureForSelection","coordinatesToGeometry","allfeatures","selectAll","nofilteredrow","show_tools","in_bbox","getRelations","getArray","getFather","father","father_fields","getFatherField","getChildField","has_map","async_highlight","getAll","firstCall","map_bbox","cb","disableSelectAll","has_features","current_layout","openForm","fids","get_check_id","cached_id","getDataFromBBOX","is_active","getMapBBOX","attribute_table","checkSelectAll","getSelectionFids","SELECTION","ALL","inverseSelection","invertSelectionFids","selectAllRows","includeSelectionFid","field_values","zoom","clearHighlightGeometry","highlightGeometry","flatMap","loaded_features","is_valid","addOlSelectionFeature","_ref14$start","_ref14$order","_ref14$length","getAttributeTablePageLength","_ref14$columns","_ref14$search","setAttributeTablePageLength","recordsTotal","recordsFiltered","page_size","_state$features","count","featurescount","getOlSelectionFeature","hasSelectionFid","unSelectAll","onGUIContent","filterChangeHandler","onbefore","closeSideBar","hideSidebar","_ref18","pResolve","last_map_control","setContentKey","filterColumns","disableContent","bSortCellsTop","searchable","deferLoading","lengthMenu","processing","serverSide","sSearch","fragment","changeColumn","draw","createDocumentFragment","table_toolbar","un","height_100","mouseleave","utils/coordinatesToGeometry","109","showToolStateMessage","offline","sidebarOpen","isCheck","tool_disabled","alert","warning","110","_position$split","_position$split2","where","alignement","center","small","medium","fullpage","showheader","addClassMobile","isSidebarVisible","hideShow","observe","user_message","observer","MutationObserver","mutations","mutation","attributeName","disconnect","111","FormService","FormComponent","_get","object","receiver","desc","getOwnPropertyDescriptor","getter","_g3wObject2","_FormBody2","_getDefaultExpression","_getFilterExpression","_classCallCheck","_possibleConstructorReturn","addComponents","addComponent","getFormPercentage","headerComponent","setComponent","_setInitForm","parentData","_options$title","formId","_options$buttons","context_inputs","isnew","_options$footer","disabledcomponents","isNew","tovalidate","componentstovalidate","filter_expression_fields_dependencies","default_expression_fields_dependencies","default_expression_fields_on_update","listenChangeInput","setFormFields","setFormStructure","evaluateFilterExpressionFields","evaluateDefaultExpressionFields","isUpdated","_options$force","dependency_field","getDefaultExpression","_getField","getFilterExpression","filter_expression","referencing_fields","dependency_fields","_filter_expression$re","_filter_expression$re2","_default_expression$r","_default_expression$r2","apply_on_update","_default_expression$a","_field$input$options","_handleFieldWithFilterExpression","_handleFieldWithDefaultExpression","setFormPercentage","_input_name","_valid","inputname","filled","input_name","_component$header","eventBus","disableId","setIdHeader","getRootComponent","addedcomponentto","session","requested_expressions","pending_expressions","dFs","setters","setInitForm","handleFieldsWithExpression","setupFields","setFormData","setField","setState","_setState","addActionsForForm","components/Form.vue","components/FormBody.vue","g3w-object","utils/getDefaultExpression","utils/getFilterExpression","112","_ref3$feature_count","queryUrl","queryurl","parsed","_createFilterFormInputs","createFilterFormInputs","raw","autozoom_query","_relation$fieldRef","search_1n","search_1n_relationid","outputDataPlace","SearchPanel","search_endpoint","querylayerid","otherquerylayerids","op","_len","_key","_GUI$getService$getMa","_GUI$getService$getMa2","panel","createFilter","vueSearchComp","components/SearchPanel.vue","utils/createFilterFormInputs","113","VueColor","Proxy","fromEntries","prop","Reflect","overviewproject","VueCookie","vue-cookie","114","vm","watcher","_ref$immediate","unique_attr_id","getAttribute","115","removeAttribute","116","117","_utils","directives/utils","118","createSelect2","dropdownCssClass","newTag","ctx","Event","_ref$multiple","_ref$search","_ref$createTag","_ref$dropdownAutoWidt","_ref$dropdownParent","g3w_observer","119","oldValue","120","tPlugin","121","_require","122","_el","_ref$el","componentUpdated","oldVnode","123","handleInnerHTML","__currentBinding","__innerHTML","124","çç","_cloneDeep","deprecate","merge","destination","Component","_G3WObject","iconConfig","_this$events$open$whe","_setOpen","_setVisible","setDisabled","_reload","_firstLayout","_components","random","resizable","closewhenshowviewportcontent","setService","setInternalComponent","events","_this$events$open","when","_this$events$open$cb","vueComponent","_service","propsData","internalComponentClass","$promisify","localize","$destroy","overwriteServiceMethods","extendInternalComponent","extendInternalComponentMethods","extendInternalComponentComponents","lodash.clonedeep","util-deprecate","125","INCHES_PER_UNIT","DOTS_PER_INCH","SPATIAL_METHODS","FONT_AWESOME_ICONS","QUERY_POINT_TOLERANCE","GEOMETRY_TYPES","GEOMETRY_FIELDS","DEFAULT_EDITING_CAPABILITIES","APP_VERSION","_version","_version2","gte","lte","NOT","eq","gt","lt","IN","LIKE","ILIKE","AND","OR","ltgt","ilike","like","POINT","POINTZ","POINTM","POINTZM","POINT25D","MULTIPOINT","MULTIPOINTZ","MULTIPOINTM","MULTIPOINTZM","MULTIPOINT25D","LINESTRING","LINESTRINGZ","LINESTRINGM","LINESTRINGZM","LINESTRING25D","LINE","LINEZ","LINEM","LINEZM","LINE25D","MULTILINESTRING","MULTILINESTRINGZ","MULTILINESTRINGM","MULTILINESTRINGZM","MULTILINESTRING25D","MULTILINE","MULTILINEZ","MULTILINEM","MULTILINEZM","MULTILINE25D","POLYGON","POLYGONZ","POLYGONM","POLYGONZM","POLYGON25D","MULTIPOLYGON","MULTIPOLYGONZ","MULTIPOLYGONM","MULTIPOLYGONZM","MULTIPOLYGON25D","GEOMETRYCOLLECTION","GEOMETRYCOLLECTIONZ","GEOMETRYCOLLECTIONM","GEOMETRYCOLLECTIONZM","GEOMETRYCOLLECTION25D","change-map","info-circle","globe","mail","fax","bars","uncheck","checkmark","filluncheck","trash","trash-o","pencil","ellips-h","ellips-v","arrow-up","arrow-down","arrow-left","arrow-right","resize-h","resize-v","resize-default","caret-up","caret-down","caret-left","caret-right","empty-circle","cloud-upload","spinner","minus","minus-square","plus","plus-circle","plus-square","grid","home","sign-out","calendar","link","unlink","eye","eye-close","video","unknow","zip","excel","xls","gpx","gpkg","shapefile","geotiff","ppt","circle","calculator","picture","keyboard","file-download","copy","chart-line","chart-area","chart-pie","crosshairs","file-upload","wifi","copy-paste","vector-square","invert","palette","sign-in","pin","square","move","moon","sun","refresh","pause","step-backward","fast-backward","step-forward","fast-forward","crop","exit","reply","share","share-alt","external-link","pointer","camera","measure","tint","copyright","EXCLUDE","./version","126","127","_g3wConstants2","_application4","_is3DGeometry","_removeZValueToOLFeatureGeometry","_getOLGeometry","_isMultiGeometry","_isLineGeometryType","_isPolygonGeometryType","_createSelectedStyle","_areCoordinatesEqual","_splitFeature","_within","_intersects","_distance","_getProjectUrl","_setProjectAliasUrl","_getProjectConfigByGid","_getProject","_tasks2","_measurecontrol","_mixins2","_createMeasureTooltip","_removeMeasureTooltip","_layersstore","_tablelayer","_vectorlayer","_featuresstore","_inherit","_base","_colorHEXToRGB","Plugin","PluginService","MapLayersStoresRegistry","FieldsService","constant","G3WObject","utils","inherit","uniqueId","colorHEXToRGB","geoutils","createSelectedStyle","areCoordinatesEqual","splitFeature","within","intersects","distance","Geometry","GeometryTypes","removeZValueToOLFeatureGeometry","getOLGeometry","isMultiGeometry","isLineGeometryType","isPolygonGeometryType","is3DGeometry","ApplicationService","task","TaskService","DataRouterService","errors","parsers","Server","ProjectsRegistry","setCurrentProject","getProjectUrl","setProjectAliasUrl","getProjectConfigByGid","getCurrentProject","MapLayersStoreRegistry","CatalogLayersStoresRegistry","LayersStore","TableLayer","VectorLayer","FeaturesStore","PickCoordinatesInteraction","PickFeatureInteraction","inputService","handleFilterExpressionFormInput","handleDefaultExpressionFormInput","GUI","Panel","ComponentsFactory","build","G3WInput","InputsComponents","Mixins","services","interactions","controls","createMeasureTooltip","removeMeasureTooltip","$script","complete","finally","platform","console","pluginsConfigs","os","_class2","_class","Geom","AreaInteraction","MeasureInteraction","LengthInteraction","isSameBaseGeometryType","setLocalItem","removeLocalItem","getLocalItem","getApplicationUser","changeProject","reloadCurrentProject","getGid","setCurrentLayout","getCurrentLayoutName","./g3w-plugin","_process","components/g3w-form","components/g3w-search","map/controls/measurecontrol","map/layers/feature","map/layers/featuresstore","map/layers/layersstore","map/layers/tablelayer","map/layers/vectorlayer","services/application","services/map","services/tasks","utils/areCoordinatesEqual","utils/base","utils/colorHEXToRGB","utils/createMeasureTooltip","utils/createSelectedStyle","utils/distance","utils/getOLGeometry","utils/getProject","utils/getProjectConfigByGid","utils/getProjectUrl","utils/inherit","utils/intersects","utils/is3DGeometry","utils/isLineGeometryType","utils/isMultiGeometry","utils/isPolygonGeometryType","utils/removeMeasureTooltip","utils/removeZValueToOLFeatureGeometry","utils/setProjectAliasUrl","utils/splitFeature","utils/within","128","getAppLanguage","addI18n","i18nObject","addResource","addI18nPlugin","_lang","129","defineClassField","initVal","currVal","_EventEmitter","_setupListenersChain","_setupThrottles","throttles","_setupDebounces","debounces","setter","listener","priority","_onsetter","settersListeners","idx","l1","l2","_key2","Deferred","deferred","onceListeners","emitEvent","fallback","EventEmitter","130","onShow","onClose","131","setPlugin","dependencies","api","_api","getConfig","hook","_hook","hookservices","default_config","width_default","height_default","width_100","_ready","setLayout","_timeout","iscompatible","isCurrentProjectCompatible","registerPlugin","pluginsName","getDependencyPlugin","getDependencyPlugins","pluginName","_ref3$hook","_ref3$loading","getHookService","_ref4$hook","addToolGroup","removeToolGroup","setHookService","configs","addTools","_ref6$state","toolsGroups","removeTools","sidebarOptions","removeComponent","clearAllEvents","dependency","addFontClass","fc","_ref$name","_ref$config","_ref$service","_ref$dependencies","_ref$i18n","_ref$fontClasses","fontClasses","_ref$api","setName","setConfig","setLocale","setDependencies","addFontClasses","setApi","currentLayout","own","_pluginEvents","_ref10$once","_ref11$params","removeEvent","unsubscribeAllEvents","_appEvents","layoutName","132","_locales2","_App2","_GlobalBarLoader2","_GlobalProgressBar2","_GlobalHelpDiv2","_GlobalDateTime2","_GlobalRange2","_GlobalTabs2","_GlobalDivider2","_vDisabled2","_vChecked2","_vSelect2","_vTTooltip2","_vTHtml2","_vTTitle2","_vT2","_vTPlugin2","_vDownload2","ACTIONS","directive","use","install","_isMobile","mixin","any","inheritAttrs","CONFIG","_setDataTableLanguage","dataTableExt","oStdClasses","sFilterInput","dataTable","defaults","searchPlaceholder","sLengthMenu","paginate","zeroRecords","infoFiltered","_loadScript","vendorkeys","apikey","ows","initconfig","client","vectorurl","proxyurl","rasterurl","interfaceowsurl","views","i18nextXHRBackend","ns","fallbackLng","resources","jqueryI18next","tName","i18nName","handleName","selectorAttr","targetAttr","optionsAttr","useOptionsAttr","parseDefaultValueFromContent","ajaxSetup","beforeSend","xhr","setRequestHeader","minscale","maxscale","initproject","addLayersStore","addClass","search_title","localeCompare","addTool","tt","stop","removeTool","_t2","groupName","G3wTool","state.toolsGroups","getLayersTree","_ref5$type","_ref6$type","createLayersGroup","_ref7$title","_ref7$layers","addLayersGroup","getExternalLayers","_ref8$type","getComponentById","gidProject","enabledPlugins","otherPluginsConfig","configurationPlugins","law","baseUrl","jsscripts","responseJSON","compile","./deprecated","./g3w-globals","components/App.vue","components/Catalog.vue","components/GlobalBarLoader.vue","components/GlobalDateTime.vue","components/GlobalDivider.vue","components/GlobalHelpDiv.vue","components/GlobalProgressBar.vue","components/GlobalRange.vue","components/GlobalTabs.vue","components/Map.vue","components/Print.vue","components/QueryResults.vue","components/Search.vue","components/SidebarItem.vue","components/SpatialBookMarks.vue","directives/v-checked","directives/v-disabled","directives/v-download","directives/v-select2","directives/v-t","directives/v-t-html","directives/v-t-plugin","directives/v-t-title","directives/v-t-tooltip","locales","services/iframe","services/queryresults","133","translation","error_page","at_moment","f5","cookie_law","sign_in","layer_selection_filter","nofilter","show_features_on_map","savefilter","filterName","not_supported_format","layer_position","sdk","template_dialog","spatialbookmarks","helptext","sections","no_results","error_loading","layer_not_searchable","layer_not_querable","inputshort","pre","no_layers","download_image","fids_instruction","fids_example","number_of_features","error_run","error_test","additem","unsupported_format","add_external_layer","fees","accessconstraints","contactinformation","subfields","contactorganization","ContactOrganization","contactposition","ContactPosition","contactperson","ContactPerson","wms_url","attribution","tooltips","form_to_row","row_to_form","zoomtogeometry","copy_map_extent_url","download_shapefile","download_gpx","download_gpkg","download_csv","download_xls","download_pdf","show_chart","add_selection","zoom_to_features_extent","add_features_to_results","remove_feature_from_results","zoom_to_feature","relations_charts","download_features_shapefile","download_features_gpx","download_features_gpkg","download_features_csv","download_features_xls","copy_zoom_to_fid_url","queryby","none","new","querybypolygon","querybydrawpolygon","querybbox","querybycircle","choiches","feature_polygon","no_geometry","nolayers_visible","addlayer","geolocation","measures","area","no_valid_scale","scaleline","metric","nautical","zoomhistory","zoom_last","zoom_next","relation_data","no_relations_found","back_to_relations","list_of_relations_feature","error_missing_father_field","form","input_validation_mutually_exclusive","input_validation_error","input_validation_min_field","input_validation_max_field","input_validation_exclude_values","qgis_input_widget_relation","current_map_theme_prefix","choose_map_theme","choose_map_theme_input_label","project_map_theme","user_map_theme","question_delete_map_theme","delete_map_theme","saved_map_theme","updated_map_theme","invalid_map_theme_name","layerposition","setwmsopacity","copied","shp","geotiff_map_extent","wps","list_process","g3wSuiteFramework","g3wSuiteDescription","productOf","toggle_color_scheme","logout","no_other_projects","no_other_groups","yes","no","backto","changemap","change_session","create_print","dosearch","externalwms","nobaselayer","street_search","copy_form_data","paste_form_data","copy_form_data_from_feature","error_map_loading","check_internet_connection_or_server_admin","could_not_load_vector_layers","server_saver_error","server_error","cancel","dont_show_again","enlange_reduce","exitnosave","annul","layer_is_added","add_wms_layer","delete_wms_url","layer_id_already_added","url_already_added","layer_add_error","list_of_relations","open_link","link_button","choose_layer","noresults","notresponseserver","add_layer_control","select_projection","select_field_to_show","select_csv_separator","select_csv_x_field","select_csv_y_field","select_color","drag_layer","input_relation","screenshot","securityError","catalog_items","zoomtolayer","open_attribute_table","show_metadata","vector_color_menu","layer_opacity","no_data","nodatafilterd","134","geoscreenshot","persistent_data","persistent_help","ogc_services","query_filter","sidebar_menu","choose_type","remote_wms_url","local_file","embed_map","homepage","135","136","wms_layer_id_already_added","wms_url_already_added","137","_it2","_en2","_fi2","_se2","_fr2","_de2","_ro2","_pl2","translations","it","en","fi","se","fr","de","ro","pl","./de","./en","./fi","./fr","./it","./pl","./ro","./se","138","139","geolocations","140","141","142","GeolocationControl","_interactioncontrol2","_InteractionControl","tipLabel","_geolocation","Geolocation","trackingOptions","enableHighAccuracy","getTracking","setTracking","geolocate","_ref$show","setCenter","removeLayer","toggledKeyEvent","getPosition","_showMarker","removeClass","setProjection","map/controls/interactioncontrol","143","InteractionControl","_ol$control$Control","_control","positionCode","interactionClass","customClass","cursorClass","_originalonlick","_onclick","onclick","_enabled","eventKeys","_handleClick","_toggled","_interactionClassOptions","interactionClassOptions","initInteraction","getViewport","_spatialMethod","eventKey","_options$visible","_options$enabled","_options$toggled","_options$clickmap","clickmap","_options$interactionC","_options$autountoggle","autountoggle","_options$geometryType","geometryTypes","_options$onhover","onhover","_options$help","toggledTool","_options$interactionC2","_options$layers","spatialMethod","unwatches","_visible","_interactionClass","_interaction","_autountoggle","_geometryTypes","_onhover","_help","_helpButton","_toolButton","_createModalHelp","createControlTool","setEnable","runSpatialQuery","setSpatialMethod","eventType","originalHandler","pos","hWhere","hOffset","previusControls","previusControl","offset","btn","onSetMap","setMap","setActive","setMouseCursor","newPosition","controlWidth","outerWidth","each","first","toggleClass","getSpatialMethod","toggleUserMessage","how","prepend","showToggledTool","hover","__title","__iconClass","getControls","onToggled","Control","144","MeasureControl","Draw","_clearMessagesAndListeners","_map","measureTooltip","_measureTooltipElement","_helpTooltipElement","_featureGeometryChangelistener","_poinOnMapMoveListener","_keyDownEventHandler","setGeometry","Polygon","getCoordinates","LineString","removeLastPoint","dragging","_helpMsg","_helpTooltip","setPosition","removeOverlay","Overlay","positioning","addOverlay","getElement","setOffset","measureStyle","drawColor","lineDash","Circle","_projection","_drawStart","_drawEnd","ntype","otype","addType","145","QueryBy","POLYGON_TYPES","CONTROLS","QUERY","dfeature","getSelectedLayerId","queryable","_hasVisible","setRadius","update__ALL__Text","selectedLayerNotQuerable","showAddLayerModal","autorun","setTocHighlightable","templateType","templateLayer","externalLayers","getLegacyExternalLayers","_unwatches","DragBox","_getAvailableLayers","startCoord","boundingExtent","setEventKey","getRadius","finishDrawing","_ref7$data","addControl","getEnable","isQueryable","getGeometryTypes","unWatches","addExternal","layersFilterObject","SELECTED_OR_ALL","FILTERABLE","VISIBLE","filtrable","multilayers","querymultilayers","filterConfig","excludeSelected","fromCircle","SELECTED","_ref10$error","isFilterable","getQuerableLayersStores","getProvider","146","ScaleControl","isMapResolutionChanged","selectedOnClick","getTargetElement","deleteLastCustomScale","addCustomTag","Option","getUnits","setChangeResolutionHandler","setResolution","currentScale","div","optgroup","_optgroup","147","ScreenshotControl","checkVisible","_addLayer","_removeLayer","blobImage","createMapImage","saveAs","FormData","getCookie","isCrossOrigin","source_url","Tile","148","StreetViewControl","GoogleStreetViewApiUrl","google","keyError","responseText","_sv","_panorama","_lastposition","_streetViewFeature","dx","dy","atan2","pixel","StreetViewService","getPanorama","StreetViewPanorama","imageDateControl","lnglat","getPixelFromCoordinate","setPov","pitch","heading","latLng","showStreetView","_ol$proj$transform","_ol$proj$transform2","clearMarker","_toggle","addFeatures","149","_ol$interaction$Point","handleDownEvent","_centerMap","getCenter","handleUpEvent","handleMoveEvent","_cursor","Pointer","150","pickedFeature_","featuresAtPixel_","pickedLayer_","features_","layers_","include","featureFound","intersectingFeature","forEachFeatureAtPixel","layerFilter","layerFilter_","hitTolerance","151","_ol$Feature","_uid","_geometry","setProperties","setGeometryName","getGeometryName","pk","setTemporaryId","isGeometry","getUid","setNew","152","_g3wObject","_features","_provider","_loadedIds","_lockIds","_addFeature","_removeFeature","updateFeature","_updateFeature","_clearFeatures","_filterFeaturesResponse","commit","commitItems","featurestore","lockids","featuresLockedByOtherUser","lockFeatures","_options$features","_options$featurelocks","featurelocks","featureid","fl","featuresToAdd","featureId","lockIds","union","153","BaseClass","checkUrl","map_crs","multilayerid","multilayer","attributions","legendCategories","olSelectionFeatures","param","_ref$all","getCurrentStyle","toggleSelection","setOlSelectionFeatures","__layerId","updateMapOlSelectionFeatures","isChecked","isLayerCheckedAndAllParents","cache_url","isCached","cache_provider","substr","_mapProjection","154","ImageLayer","_geoMixin2","_get_legend_params2","withLayers","_olLayer","_makeOlLayer","allLayers","layerObj","TileArcGISRest","resolutions","iframe_internal","getWMSLayerName","cache_type","cache_layer","cache_extent","cache_grid","cache_grid_extent","tilegrid","createXYZ","getResolutions","WMTS","matrixSet","cache_format","tileGrid","getTopLeft","matrixIds","transparent","extraParams","tiled","XYZ","maxZoom","minZoom","crossOrigin","tileLoadFunction","tile","getImage","TileState","ERROR","TileGrid","getExtent","_method","mapUnits","OPACITIES","mapState","_get_legend_params","get_legend_params","getOpacity","updateParams","isArcgisMapserver","setMapParamstoLegendUrl","showSpinnerWhenLoading","LAYERTYPE","MULTILAYER","getInfoFormat","getGetFeatureInfoUrl","getQueryUrl","infourl","maxResolution","TileWMS","ImageWMS","TRANSPARENT","SLD_VERSION","sld_version","imageLoadFunction","_ref6$force","project_type","layerForEditing","setEditingLayer","isExternalWMS","isWmsUseLayerIds","isLayerProjectionASMapProjection","_ref7$type","source_layer","_hasExternalWMSOrLegend","_getBaseLayerName","_ref9$type","wmsUrl","infolayer","replaceAll","getInfoFormats","useProxy","_config$bbox","is_qgis","getServerType","layertitle","ctx_legend","_params$customParams","customParams","_params$customParams$","_params$customParams$2","fontsize","_params$customParams$3","boxspace","layerspace","_params$customParams$4","layertitlespace","symbolspace","iconlabelspace","symbolwidth","symbolheight","itemfontfamily","layerfontfamily","layerfontbold","itemfontbold","layerfontitalic","itemfontitalic","rulelabel","_params$customParams$5","legendUrl","wfscapabilities","capabilities","_mapLayer","getOwsMethod","cache_service_type","getCacheUrl","isWMS","setAttributions","_BASE_LAYER","IMAGE","setup","OSM","basemap","streets","aerial","aerialwithlabels","preload","BingMaps","imagerySet","bing","getProjectionFromCrs","_this3$config","_this3$config$format","_this3$config$style","requestEncoding","grid_extent","getWidth","z","pow","singleTile","_this3$config2","_this3$config2$visibl","map/layers/geo-mixin","utils/get_legend_params","155","_parseAttributes","_prompt","_Table2","is_defined","createProvider","Providers","_name","getLayer","setLayer","geojson","readFeatures","mapProjection","dataProjection","qgis","_projections","is_table","getMapProjection","_filter","QUERY_LAYERS","FEATURE_COUNT","I","J","FILTER","WITH_GEOMETRY","nofeatures","nofeatures_field","lk","_opts$layers","_opts$size","_opts$coordinates","tolerance","query_point_tolerance","proxy","getWMSInfoLayerName","FILTER_GEOM","WKT","writeGeometry","FI_POINT_TOLERANCE","FI_LINE_TOLERANCE","FI_POLYGON_TOLERANCE","G3W_TOLERANCE","WIDTH","HEIGHT","BBOX","SOURCE","timer","race","uri","getDataProxyFromServer","wfs","MAXFEATURES","TYPENAME","getWFSLayerName","OUTPUTFORMAT","SRSNAME","reproject","WFS","writeGetFeature","featureTypes","repeat","DOWNLOAD_FORMATS","download_raster","_ref49","_ref42","_ref39","_ref35","_ref34","_ref33","_ref32","_ref31","_ref30","_ref28","_ref27","_ref26","_ref24","_ref23","_ref22","suffixUrl","vectorUrl","rasterUrl","unlock","widget","_relations","suffix","origname","fatherField","childField","getChild","isLoading","getPrefix","setTitle","_length","_reloadRelationsInfo","_relationsInfo","fathers","father_child","relationKey","getLength","_ref13$type","setRelations","getRelationByFatherChildren","isChild","isFather","hasChildren","getChildren","hasFathers","getFathers","layerType","canShowTable","downloadable","isDownloadable","attributetable","tochighlightable","selectionFids","layersstore","proxyData","_ref15$data","getFilterToken","_ref16$data","getDownloadFilefromDownloadDataType","_ref17$data","_ref18$data","_ref19$data","_ref20$data","_ref21$data","isBaseLayer","relationName","hasRelations","has_current","_applyFilterToken","hideOlSelectionFeatures","_x21","mode","setFilter","setFilterToken","_x22","_ref25","getSelection","_x23","createFilterToken","_x24","_ref29$data","fidsout","fidsin","setSelection","setInversionOlSelectionFeatures","createToken","is_excluded","setSelectionFidsAll","isSelectionActive","setOlSelectionFeatureByFid","_x27","setselectionFidsAll","_x29","excludeSelectionFid","proxyParams","_ref36","setProxyData","wms_use_layer_ids","_this10","_ref37","_ref37$page","_ref37$page_size","_ref37$ordering","_ref37$search","_ref37$suggest","_ref37$formatter","_ref37$custom_params","custom_params","parseAttributes","getAttributes","_ref40","_ref40$fids","_ref40$formatter","_ref41","_this11","_options$search_endpo","_x44","_x45","_ref43","_ref43$raw","_ref43$formatter","getTableFields","editor_form_structure","customstyle","_editingLayer","editingLayer","CAPABILITIES","conditionalFiltrable","_this12","conditions","isFiltrable","layer_config_value","condition_attribute_values","qtimeseries","_ref46","ogcService","getSourceType","infoFormat","layerstore","not_show_attributes_table","_ref47","_ref47$options","_ref47$reset","_ref48","_ref48$options","_ref48$reset","changeFieldType","VECTOR","_ref50","cansole","warn","_x55","wms_getmap_format","components/Table.vue","utils/parseAttributes","utils/prompt","156","_isQueryable","setLayerSelected","addLayers","CACHED","BASELAYER","VECTORLAYER","HIDDEN","DISABLED","IDS","isSelected","isPrintable","TOC_ORDER","_getAllSiblingsChildrenLayersId","getLayersDict","getAttributeLabel","nodeIds","_getInitExtent","getInitExtent","_getInitExtent2","rootGroup","_traverseLayersTree","tocLayersId","full","_traverseLightLayersTree","getGeoLayers","setLayersTree","lightlayer","mutually-exclusive","_setLayersTreeGroupBBox","project_epsg","_ol$proj$transformExt","_ol$proj$transformExt2","extentCoordinate","minxx","157","_waitFor","_Layer","clearFeatures","setFeatures","setColor","_color","updateOlSelectionFeature","_ref5$constraints","constraints","waitFor","_editor","Editor","started","modified","getEditingSource","readEditingFeatures","getEditingFields","featuresstore","setFeaturesStore","addLockIds","createAttrs","_opts$exclude","_opts$get_default_val","forceNull","utils/waitFor","158","_GeoLayerMixin","_g3w_geojson","getMapLayer","resetSource","olStyle","getCustomStyle","imageSize","getFeaturesCollection","getColor","setSource","feats","addToMap","159","autocompleteRequest","160","showhelpicon","setUpdate","161","__CLICK_EVENT","timeoutID","callbacks","__resetClickMixin","__clearClickMixin","162","getFieldService","_fieldsService","sanitizeFieldValue","163","countNoTEmptyInputName","164","165","autocompleteMixin","formInputsMixins","_autocomplete2","_fields2","_media2","_geo2","_select2","_select4","_formInputs2","_widget2","_baseInput2","mixins/autocomplete","mixins/base-input","mixins/fields","mixins/form-inputs","mixins/geo","mixins/media","mixins/select","mixins/select2","mixins/widget","166","isMedia","167","DELAY_TYPE","delayWrapper","delayResize","delayTime","168","resetValues","usecompleter","$container","169","170","171","172","_groupBy","_ref19","handleQueryPromises","responses","reason","contextAndMethod","_options$inputs","_options$outputs","query:coordinates","_ref4$layerIds","layerIds","_ref4$multilayers","_ref4$query_point_tol","_ref4$addExternal","_ref5$data","query:bbox","_ref7$feature_count","_ref7$filterConfig","_ref7$multilayers","_ref7$condition","_ref7$excludeSelected","_ref7$addExternal","_ref7$layersFilterObj","getQueryLayersPromisesByGeometry","fromExtent","_ref8$data","query:polygon","_ref10$feature_count","_ref10$filterConfig","_ref10$multilayers","_ref10$condition","_ref10$layerName","_ref10$excludeSelecte","_ref10$external","_ref10$type","messagetext","_ref11$data","search:features","searchFeatures","search:fids","_ref16$formatter","_ref16$fids","getFeatureByFids","olFeat","search:layersfids","_ref18$layers","_ref18$fids","_ref18$formatter","expression:expression","expression:expression_eval","proxy:wms","_ref21","_ref21$method","_ref21$params","_ref21$headers","proxy:data","ows:wmsCapabilities","_ref24$feature_count","_ref24$query_point_to","_ref24$multilayers","_ref24$reproject","groupBy","getInfoUrl","getMultiLayerId","_ref27$filterConfig","_ref27$multilayers","_ref27$feature_count","_x18","utils/groupBy","173","_clearContents","_iframe2","COMPONENTS","SERVICES","navbar","setViewSizes","primaryView","secondaryView","main_sidebar","sideBarSpace","viewportWidth","viewportHeight","innerHeight","primaryWidth","primaryHeight","secondaryWidth","secondaryHeight","is_fullview","content_perc","secondaryVisible","getReducedSizes","contentEl","reducedWidth","sideBarToggleEl","toggleWidth","_toggleWidth","reducedHeight","_closeUserMessage","backonclose","contents","headertools","_showView","jQuery","_layoutComponents","isready","push_content","bootbox","currentoutputplace","register","drawing","resizeFired","triggerResize","drawResize","componentId","downloadFnc","output","rid","pending_output","crid","setQueryResponse","errorToMessage","formComponent","_ref7$pop","disable","disableElement","clearState","_x16","_ref11$textMessage","_ref11$hooks","_ref11$iconClass","_ref12$element","_ref12$show","_ref13$projects","viewName","_options$perc","_options$split","_x32","reducesdSizes","parentWidth","components/ProjectsMenu.vue","174","_normalizeEpsg","normalizeEpsg","_getEpsgFromParam","_objectWithoutProperties","IframePluginService","AppService","EditingService","serviceNames","setLayers","eventResponseServiceHandler","postMessage","getMessage","dataPromise","outputData","_options$action","parser","writeFeatures","pendingactions","_evt$data","_evt$data$id","_evt$data$single","single","is_ready","getReady","stopPendingActions","BaseIframeService","_ref13$layers","setDependencyApi","dependencyApi","_ref15$noValue","noValue","_ref20$qgs_layer_id","_ref20$zoom","_ref20$highlight","searchFeature","_mapCrs","mapControls","_ref22$capture","capture","_x14","_ref24$capture","overwriteOnClickEvent","resetOriginalOnClickEvent","_x15","_params$coordinates","zoomTo","_ref29","_params$extent","_params$highlight","getQgsLayerId","findFeaturesWithGeometry","changeMap","responseObject","setSaveConfig","toolbox","hidePanel","_error","isRunning","stopEditing","subscribersHandlers","subscribe","subscribevents","unsubscribe","_ref38","configQglLayerId","getEditableLayersId","startAction","startstopediting","setActiveTool","getToolById","addSubscribeEvents","_x26","_x30","_options$action2","_this13","_x33","_this14","resetDefault","resetSubscribeEvents","canUndo","activeTool","_ref32$disableToolbox","disableToolboxes","setEnabled","setEditing","canRedo","cancelform","addfeature","isActive","closeeditingpanel","stopAction","utils/normalizeEpsg","175","_localforage2","_queryby","_geolocationcontrol","_streetviewcontrol","_scalecontrol","_screenshotcontrol","_MapControlZoomHistory2","_MapControlGeocoding2","MAP","offlineids","stores","animatingHighlight","removeLayersStore","getLayersStores","zoomtoextent","ZoomToExtent","Zoom","ScaleLine","OverviewMap","zoombox","_startCoordinate","runQuery","getQueryPointTolerance","getInteraction","streetview","addlayers","mouseposition","MousePosition","MapService","_controls","g3w","external_wms","external_vector","_externalInteractions","defaultsLayers","mapcenter","_style","highlightLayer","selectionLayer","layersExtraParams","_drawShadow","outer","_howManyAreLoading","_marker","onLayerLoadStart","onLayerLoadEnd","onLayerLoadError","onExtraParamsSet","updateMapLayers","_keyEvents","setupCustomMapParamsToLegendUrl","_setupCustomMapParamsToLegendUrl","setupControls","_config","header_terms_of_use_text","header_terms_of_use_link","getMapLayers","Attribution","coordinateFormat","_ref7$","createMapControl","coords","undefinedHTML","setCoordinateFormat","createStringXY","View","_calculateViewOptions","constrainCenter","collapseLabel","mapLayer","WMSUrl","showMarker","addHideMap","_ref10$switchable","idMap","setHidden","setupViewer","showmarker","iframetype","zoom_to_fid","zoom_to_features","currentControl","can_drag","olMap","Map","rotateOptions","autoHide","DragRotate","platformModifierKeyOnly","ol3Logo","keyboardEventTarget","getZoom","dispose","goTo","_fit","changeBaseLayer","insertAt","getInteractions","DoubleClickZoom","interval","elapsed","frameState","easing","easeOut","getCurrentToggledMapControl","getActiveTool","zoomToFid","zoomToFeaturesUrl","getResolutionForExtent","background_color","int","_watchInteraction","stopEvent","setLayerZIndex","getZIndex","_setupAllLayers","setUpMapOlEvents","_setUpEventsKeysToLayersStore","_removeEventsKeysToLayersStore","_x13","controlClick","mapcontrol","loadExternalLayer","unloadExternalLayer","showSpinner","hideSpinner","show_load_layer_error","shown","dynamicLegend","_ref16$layers","_ref16$mainview","olView","_idMap$map$getSize","setSize","navigator","msSaveBlob","msToBlob","toBlob","intersectGeom","getIntersectedFeatures","intersectsExtent","MultiPolygon","_ref19$add","_ref19$toggled","_ref19$options","_zoom_to_fid$split","_zoom_to_fid$split2","_ref22$data","pLayer","_zoom_to_features$spl","_zoom_to_features$spl2","_x25","addToMapControls","buttonControl","placement","enable","removeControl","hideControl","_this15","_ref26$close","_unToggleControls","getLayerConfigs","ml","getHeight","_this16","addLayerToMap","_this17","blayers","registerMapLayerListeners","setMapProjection","mapLayers","isQtimeseries","getFormat","_this18","unregisterMapLayerListeners","_ref34$zindex","_ref35$showSpinner","g3w_time","_this19","updateMapLayer","getBaseLayers","_this20","elId","_options$active","_this21","getActive","setZoom","animate","_this22","gtype","is_ol_geom","f_ext","is_multi","getGeometryAndExtentFromFeatures","highLightGeometry","_getGeometryAndExtent2","curr","containsExtent","goToRes","_x51","constrainResolution","setDefaultLayerStyle","geometryObj","hlayer","readGeometry","_x59","_x58","is_hidden","has_viewer","updateSize","lowerLeft","upperRight","DEVICE_PIXEL_RATIO","x_min","x_max","y_min","y_max","_this23","restore","beginPath","moveTo","lineTo","closePath","translate","rotate","fillStyle","textAlign","fillText","_this24","unWatch","onRemoveExternalLayer","externalLayer","_this25","setText","setSelected","onAddExternalLayer","_x63","cookie","onSelectLayer","components/MapControlGeocoding.vue","components/MapControlZoomHistory.vue","localforage","map/controls/geolocationcontrol","map/controls/queryby","map/controls/scalecontrol","map/controls/screenshotcontrol","map/controls/streetviewcontrol","176","_QueryResultsActionQueryPolygonCSVAttributes2","_layer4","QueryResultsService","layersId","queryResponse","FILTER_SELECTED","_vectorLayers","getVectorLayerFeaturesFromQueryRequest","drawpolygon","resultsQueryLayer","is_layer","is_vector","is_string","sourceType","layerAttrs","specialAttrs","layerAttr","featureAttr","_setRelationField","relationsattributes","_atlas","setLayersData","_projectLayerIds","updateLayerResultFeatures","addActionsForLayers","closeComponent","changeLayerResult","activeMapInteraction","unlistenerlayeractionevents","plotLayerIds","currentactionfeaturelayer","_addFeaturesLayerResultInteraction","toggleeventhandler","_asyncFnc","todo","goToGeometry","_project","_setRelations","_ref4$id","_ref4$type","_ref4$position","responseLayer","features_ids","responseFeatures","feature_id","_getFeatureId","removeAddFeaturesLayerResultInteraction","downloadsaction","_state$layersactions$","pushContent","hint_changed","_ref9$component","_ref10$config","_ref11$component","_ref11$config","external_layer","not_current","new_layer","isOneLayerResult","querytitle","actionId","layerAction","_x17","_x19","_x20","vl","_query$filterConfig","has_coords","has_bbox","is_poly","_ref15$atlas","_ref15$features","downloadWrapper","atlasLayer","_printSingleAtlas","setLayerActionTool","_state$query","runDownload","downloadsactions","sbp_qgs_layer_id","sbp_fid","has_config","projectRelation","nmRelationId","_layer2","_layer3","_force","_features2","getFeatureId","GIVE_ME_A_NAME","_action","prev","is_selected","includeSelectionFids","excludeSelectionFids","currentLayer","_fids","selectionFeature","components/QueryResultsActionQueryPolygonCSVAttributes.vue","components/RelationsPage.vue","177","tasks","_opts$method","_opts$params","taskUrl","_opts$interval","_opts$timeout","_opts$listener","task_id","intervalId","setInterval","_response","stopTask","clearInterval","taskId","178","STATE","onLine","upload","stack","cloasable","179","PLUGINS","180","proj4","defs","axisOrientation","axisinverted","geographic","Projection","addProjection","json","181","_ref2$params","signal","_ref4$formdata","formdata","_ref7$httpMethod","Access-Control-Expose-Headers","_ref9$data","182","setCoordinates","add3DCoordinate","MULTIPOLYGOZM","poly","183","coordinates1","coordinates2","184","me","opt_methodName","var_args","caller","callee","superClass_","foundCaller","ctor","185","186","writeFeatureObject","187","matchDayInDate","188","toGeometryType","from_type","from_multi","to_multi","getPolygons","getLineStrings","getPoints","189","MultiLineString","MultiPoint","190","tempinput","191","_ref$inputs","192","_ref$filter","RegExp","193","unbyKey","getInteriorPoint","getInteriorPoints","getLastCoordinate","is_line","is_sphere","segments","_geom","getLinearRing","sphere","totalLength","lineGeometry","getArea","194","_ref$layer","_ref$relation","_ref$type","_ref$formatter","_sanitizeFidFeature","sanitizeFidFeature","utils/sanitizeFidFeature","195","_ref$color","_ref$fill","asString","asArray","196","_ref$operator","_ref$logicop","197","JSZip","kmlFiles","arrayBuffer","kmlFile","_createVectorLayer","asText","KML","extractStyles","_createKMZLayer","_createZIPLayer","GPX","WMSGetFeatureInfo","_createCSVLayer","errorrows","rowvalues","_fields","unset","./getUniqueDomId","198","func","199","c1","c2","sqrt","200","_ref2$headers","_ref2$method","_ref2$mime_type","Blob","dataset","downloadurl","201","propName","202","203","204","205","_ref5$fields","206","_field$input$options$","_data","207","208","209","listable","210","211","212","pendingProject","PROJECTS","layetstree","toc_tab_default","_catalog_tab","toc_layers_init_status","crsToCrsObject","_layersStore","vector_data","getConfigLayers","setOptions","_imagelayer","createLayersTree","213","214","215","216","217","218","219","keyFn","220","childCtor","parentCtor","tempCtor","221","geometryToCheck","olFromJsts","jsts","io","OL3Parser","read","222","type3D","223","224","225","226","227","228","229","layerAttributes","featureAttributes","featureAttributesName","230","_reverseGeometry","NUMERIC_FIELD","reverseGeometry","_ref3$type","_traverseErrorMessage","getQueryLayerOrigName","part","geometryName","_ref5$layers","_ref5$wms","layersFeatures","defaultDataProjection","g3w_fid","originalFeatureMember","_ref9$wms","_ref9$id","invalids","XMLSerializer","serializeToString","matchAll","x2js","fromCharCode","X2JS","xml_str2json","ServiceExceptionReport","ServiceException","FeatureCollection","featureMember","xml","grouped","fm","__prefix","_fm","_fid","__text","sub_index","json2xml_str","olfeatures","is_reprojected","invalid","_ref12$layers","errorObject","entry","utils/reverseGeometry","231","multi","FETCH","EXP_FILTER","DOWNLOAD","_ref$params","_ref3$params","232","233","vueInput","okBtn","234","235","236","_reverseCoords","_coords","237","url1","url2","238","239","240","splitfeature","geometries","splittedFeatureGeometries","polygonFeature","lineFeatureGeometry","geomClass","splitFeatures","isZType","polygonFeatureGeometry","externalPolygonFeatureGeometry","splitGeometry","holePolygons","getLinearRingCount","holeFeaturesGeometry","holeRing","operation","polygonize","Polygonizer","holyPolygonUnion","toArray","polygonizer","polygons","polygonCoordinates","zCoordinates","difference","write","is_single","_ret","splitted","splittedSegments","jstsFromWkt","WKTReader","wktFromOl","splitLine","wktLineString","targetCoordinates","targetLine","geometryFactory","GeometryFactory","pointsNotSplitted","endPoint","startPoint","segment","createLineString","intersectCoordinates","intersection","splitPoint","lineNewSegment","restOfLine","pointNotSplitted","241","lastCall","previousCall","242","243","predicate","244","245"],"mappings":"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OACNtkC,MAAO,QACPgB,KAAM,OACNwkC,aAAc,YACd3P,OAAQ,SACRtjB,WAAY,YACZu2B,SAAU,WACVu2E,YAAa,aACbn6C,SAAU,kBACVC,YAAa,gBACbE,QAAS,WACX,CACF,EACAhlD,OAAQ,CACNikD,QAAS,YACTC,QAAS,SACX,CACF,CACF,CACF,EACA+6C,SAAU,CACRnuC,UAAW,CACTouC,YAAa,gBACbC,YAAa,kBACbC,eAAgB,sBAClB,EACAC,oBAAqB,kCACrBC,mBAAoB,0BACpBC,aAAc,qBACdC,cAAe,qBACfC,aAAc,oBACdC,aAAc,oBACdC,aAAc,oBACdC,WAAY,oBACZ95C,MAAO,gBACPlhC,QAAS,SACX,EACAw3B,YAAa,CACXxa,MAAO,CACLjgB,QAAS,cACTw/B,QAAS,CACP0+C,cAAe,CACb/9C,KAAM,8BACR,EACAg+C,wBAAyB,CACvBh+C,KAAM,6BACR,EACAi+C,wBAAyB,CACvBj+C,KAAM,sDACR,EACAk+C,4BAA6B,CAC3Bl+C,KAAM,uCACR,EACAm+C,gBAAiB,CACfn+C,KAAM,oBACR,EACAgP,UAAW,CACThP,KAAM,qBACR,EACAo+C,iBAAkB,CAChBp+C,KAAM,gCACR,EACAq+C,4BAA6B,CAC3Br+C,KAAM,kCACR,EACAw9C,mBAAoB,CAClBx9C,KAAM,iCACR,EACAs+C,sBAAuB,CACrBt+C,KAAM,2BACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,4BACR,EACAy9C,aAAc,CACZz9C,KAAM,2BACR,EACA09C,cAAe,CACb19C,KAAM,4BACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,4BACR,EACA29C,aAAc,CACZ39C,KAAM,2BACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,4BACR,EACA49C,aAAc,CACZ59C,KAAM,2BACR,EACA69C,aAAc,CACZ79C,KAAM,2BACR,EACAgE,MAAO,CACLhE,KAAM,eACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,mEACNwW,YAAa,SACf,CACF,CACF,EACAmoC,QAAS,CACP9gH,MAAO,aACP6S,MAAO,kBACPkuG,KAAM,OACNC,I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EACAi+C,wBAAyB,CACvBj+C,KAAM,gCACR,EACAk+C,4BAA6B,CAC3Bl+C,KAAM,6BACR,EACAm+C,gBAAiB,CACfn+C,KAAM,iBACR,EACAgP,UAAW,CACThP,KAAM,gBACR,EACAo+C,iBAAkB,CAChBp+C,KAAM,sBACR,EACAq+C,4BAA6B,CAC3Br+C,KAAM,6BACR,EACAw9C,mBAAoB,CAClBx9C,KAAM,4BACR,EACAs+C,sBAAuB,CACrBt+C,KAAM,sBACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,wBACR,EACAy9C,aAAc,CACZz9C,KAAM,sBACR,EACA09C,cAAe,CACb19C,KAAM,uBACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,uBACR,EACA29C,aAAc,CACZ39C,KAAM,sBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,uBACR,EACA49C,aAAc,CACZ59C,KAAM,sBACR,EACA69C,aAAc,CACZ79C,KAAM,sBACR,EACAgE,MAAO,CACLhE,KAAM,aACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,iBACNwW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACP9gH,MAAO,aACP6S,MAAO,kBACPkuG,KAAM,OACNC,IAAK,kBACL/qF,IAAK,MACL9S,QAAS,CACPwkF,WAAY,aACZD,OAAQ,QACV,EACAuZ,eAAgB,CACdj/E,QAAS,kBACX,EACAk/E,mBAAoB,CAClBl/E,QAAS,gBACX,EACAm/E,UAAW,CACTn/E,QAAS,kBACX,EACAo/E,cAAe,CACbp/E,QAAS,eACX,CACF,EACAi/E,eAAgB,CACdr9E,SAAU,CACR5jC,MAAO,sBACPqhH,SAAU,CACR/uG,QAAS,CACPqU,MAAO,eACT,EACA26F,gBAAiB,CACf36F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,mBACTu/E,YAAa,0BACb9+D,KAAM,CACJlpC,QAAS,qFACX,CACF,EACA2nG,mBAAoB,CAClBl/E,QAAS,yBACTygB,KAAM,CACJlpC,QAAS,qIACX,CACF,EACA4nG,UAAW,CACTn/E,QAAS,mBACTw/E,iBAAkB,yFAClB/+D,KAAM,CACJlp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AAwB,CACtBv+C,KAAM,kCACR,EACAy9C,aAAc,CACZz9C,KAAM,iCACR,EACA09C,cAAe,CACb19C,KAAM,kCACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,iCACR,EACA29C,aAAc,CACZ39C,KAAM,iCACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,iCACR,EACA49C,aAAc,CACZ59C,KAAM,iCACR,EACA69C,aAAc,CACZ79C,KAAM,iCACR,EACAgE,MAAO,CACLhE,KAAM,eACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,oDACNwW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACP9gH,MAAO,aACP6S,MAAO,kBACPkuG,KAAM,OACNC,IAAK,kBACL/qF,IAAK,MACL9S,QAAS,CACPwkF,WAAY,aACZD,OAAQ,QACV,EACAuZ,eAAgB,CACdj/E,QAAS,kBACX,EACAk/E,mBAAoB,CAClBl/E,QAAS,gBACX,EACAm/E,UAAW,CACTn/E,QAAS,kBACX,EACAo/E,cAAe,CACbp/E,QAAS,eACX,CACF,EACAi/E,eAAgB,CACdr9E,SAAU,CACR5jC,MAAO,sBACPqhH,SAAU,CACR/uG,QAAS,CACPqU,MAAO,eACT,EACA26F,gBAAiB,CACf36F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,uBACTu/E,YAAa,0BACb9+D,KAAM,CACJlpC,QAAS,+IACX,CACF,EACA2nG,mBAAoB,CAClBl/E,QAAS,+BACX,EACAm/E,UAAW,CACTn/E,QAAS,+BACTw/E,iBAAkB,+FAClB/+D,KAAM,CACJlpC,QAAS,4GACX,CACF,EACA6nG,cAAe,CACbp/E,QAAS,wBACTrb,MAAO,SACP87B,KAAM,CACJlpC,QAAS,+CACX,CACF,EACAkoG,SAAU,CACR38F,SAAU,CACR8xC,IAAK,CACH81B,QAAS,2FACX,CACF,EACA1qD,QAAS,YACX,EACA0/E,YAAa,CACX1/E,QAAS,2BACX,EACA2/E,SAAU,CACR9jH,OAAQ,CACNmkC,QAAS,SACTygB,KAAM,sFACR,EACAm/D,KAAM,CACJ5/E,QAAS,OACTygB,KAAM,sFACR,CACF,E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Bx+C,KAAM,kBACR,EACA29C,aAAc,CACZ39C,KAAM,kBACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,kBACR,EACA49C,aAAc,CACZ59C,KAAM,kBACR,EACA69C,aAAc,CACZ79C,KAAM,kBACR,EACAgE,MAAO,CACLhE,KAAM,cACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,yBACNwW,YAAa,2BACf,CACF,CACF,EACAmoC,QAAS,CACP9gH,MAAO,oBACP6S,MAAO,uBACPkuG,KAAM,UACNC,IAAK,qBACL/qF,IAAK,QACL9S,QAAS,CACPwkF,WAAY,YACZD,OAAQ,aACV,EACAuZ,eAAgB,CACdj/E,QAAS,uBACX,EACAk/E,mBAAoB,CAClBl/E,QAAS,qBACX,EACAm/E,UAAW,CACTn/E,QAAS,uBACX,EACAo/E,cAAe,CACbp/E,QAAS,oBACX,CACF,EACAi/E,eAAgB,CACdr9E,SAAU,CACR5jC,MAAO,qBACPqhH,SAAU,CACR/uG,QAAS,CACPqU,MAAO,eACT,EACA26F,gBAAiB,CACf36F,MAAO,kCACT,CACF,CACF,EACAqb,QAAS,yBACTu/E,YAAa,2CACb9+D,KAAM,CACJlpC,QAAS,iGACX,CACF,EACA2nG,mBAAoB,CAClBl/E,QAAS,sCACTygB,KAAM,CACJlpC,QAAS,yKACX,CACF,EACA4nG,UAAW,CACTn/E,QAAS,qBACTw/E,iBAAkB,wHAClB/+D,KAAM,CACJlpC,QAAS,iIACX,CACF,EACA6nG,cAAe,CACbp/E,QAAS,qCACTrb,MAAO,SACP87B,KAAM,CACJlpC,QAAS,+DACX,CACF,EACAkoG,SAAU,CACR38F,SAAU,CACR8xC,IAAK,CACH81B,QAAS,4FACX,CACF,EACA1qD,QAAS,kBACX,EACA0/E,YAAa,CACX1/E,QAAS,yBACX,EACA2/E,SAAU,CACR3hH,MAAO,SACPnC,OAAQ,CACNmkC,QAAS,YACTygB,KAAM,kHACR,EACAm/D,KAAM,CACJ5/E,QAAS,OACTygB,KAAM,yGACR,CACF,EACA2kE,WAAY,CACVpnH,MAAO,oBACPonH,WAAY,MACZW,cAAe,UACfnkF,SA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iBAAkB,CAChBp+C,KAAM,2BACR,EACAq+C,4BAA6B,CAC3Br+C,KAAM,gCACR,EACAw9C,mBAAoB,CAClBx9C,KAAM,gCACR,EACAs+C,sBAAuB,CACrBt+C,KAAM,0BACR,EACAu+C,uBAAwB,CACtBv+C,KAAM,2BACR,EACAy9C,aAAc,CACZz9C,KAAM,0BACR,EACA09C,cAAe,CACb19C,KAAM,2BACR,EACAw+C,sBAAuB,CACrBx+C,KAAM,0BACR,EACA29C,aAAc,CACZ39C,KAAM,0BACR,EACAy+C,sBAAuB,CACrBz+C,KAAM,0BACR,EACA49C,aAAc,CACZ59C,KAAM,0BACR,EACA69C,aAAc,CACZ79C,KAAM,0BACR,EACAgE,MAAO,CACLhE,KAAM,gBACR,EACA0+C,qBAAsB,CACpB1+C,KAAM,uDACNwW,YAAa,QACf,CACF,CACF,EACAmoC,QAAS,CACP9gH,MAAO,aACP6S,MAAO,kBACPkuG,KAAM,OACNC,IAAK,kBACL/qF,IAAK,MACL9S,QAAS,CACPwkF,WAAY,aACZD,OAAQ,QACV,EACAuZ,eAAgB,CACdj/E,QAAS,kBACX,EACAk/E,mBAAoB,CAClBl/E,QAAS,gBACX,EACAm/E,UAAW,CACTn/E,QAAS,kBACX,EACAo/E,cAAe,CACbp/E,QAAS,eACX,CACF,EACAi/E,eAAgB,CACdr9E,SAAU,CACR5jC,MAAO,sBACPqhH,SAAU,CACR/uG,QAAS,CACPqU,MAAO,eACT,EACA26F,gBAAiB,CACf36F,MAAO,6BACT,CACF,CACF,EACAqb,QAAS,0BACTu/E,YAAa,+BACb9+D,KAAM,CACJlpC,QAAS,sJACX,CACF,EACA2nG,mBAAoB,CAClBl/E,QAAS,kCACX,EACAm/E,UAAW,CACTn/E,QAAS,wBACTw/E,iBAAkB,wHAClB/+D,KAAM,CACJlpC,QAAS,6FACX,CACF,EACA6nG,cAAe,CACbp/E,QAAS,wBACTrb,MAAO,SACP87B,KAAM,CACJlpC,QAAS,+CACX,CACF,EACAkoG,SAAU,CACR38F,SAAU,CACR8xC,IAAK,CACH81B,QAAS,+FACX,CACF,EACA1qD,QAAS,cAC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CF,CACF,EACAmoC,QAAS,CACP9gH,MAAO,aACP6S,MAAO,kBACPkuG,KAAM,OACNC,IAAK,kBACL/qF,IAAK,MACL9S,QAAS,CACPwkF,WAAY,aACZD,OAAQ,QACV,EACAuZ,eAAgB,CACdj/E,QAAS,kBACX,EACAk/E,mBAAoB,CAClBl/E,QAAS,gBACX,EACAm/E,UAAW,CACTn/E,QAAS,kBACX,EACAo/E,cAAe,CACbp/E,QAAS,eACX,CACF,EACAi/E,eAAgB,CACdr9E,SAAU,CACR5jC,MAAO,sBACPqhH,SAAU,CACR/uG,QAAS,CACPqU,MAAO,eACT,EACA26F,gBAAiB,CACf36F,MAAO,wBACT,CACF,CACF,EACAqb,QAAS,wBACTu/E,YAAa,0BACb9+D,KAAM,CACJlpC,QAAS,6HACX,CACF,EACA2nG,mBAAoB,CAClBl/E,QAAS,wBACX,EACAm/E,UAAW,CACTn/E,QAAS,6CACTw/E,iBAAkB,8GAClB/+D,KAAM,CACJlpC,QAAS,oHACX,CACF,EACA6nG,cAAe,CACbp/E,QAAS,wBACTrb,MAAO,SACP87B,KAAM,CACJlpC,QAAS,+CACX,CACF,EACAkoG,SAAU,CACR38F,SAAU,CACR8xC,IAAK,CACH81B,QAAS,2FACX,CACF,EACA1qD,QAAS,gBACX,EACA0/E,YAAa,CACX1/E,QAAS,kBACX,EACA2/E,SAAU,CACR9jH,OAAQ,CACNmkC,QAAS,QACTygB,KAAM,0FACR,EACAm/D,KAAM,CACJ5/E,QAAS,SACTygB,KAAM,qFACR,CACF,EACA8a,MAAO,CACLskD,eAAgB,WAClB,EACAC,UAAW,CACTr2C,MAAO,CACLs2C,OAAQ,SACRC,SAAU,eACZ,CACF,EACAC,YAAa,CACXC,UAAW,kBACXC,UAAW,YACb,CACF,EACAhxC,UAAW,CACTixC,cAAe,qBACfC,mBAAoB,4BACpBC,kBAAmB,6BACnBC,0BAA2B,kCAC3BC,2BAA4B,cAC5Bl+G,MAAO,oBACT,EACAm+G,KAAM,CACJtyF,QAAS,cACTsuB,OAAQ,CACN35B,SAAU,CACR2jF,OAAQ,CACNhuF,UAAW,uGACb,CACF,EACA6kG,SAAU,CACR7kG,UAAW,yBACXG,OAAQ,iCACV,EACA8nG,oCAAqC,6BACrCC,uBAAwB,wCACxBC,2BAA4B,+DAC5BC,2BAA4B,+DAC5BC,gCAAiC,yBACjCjrG,QAAS,SACTF,OAAQ,SACR9B,KAAM,OACNwC,QAAS,OACT8B,SAAU,OACV7B,OAAQ,eACRqjC,KAAM,QACNa,SAAU,QACV9kC,MAAO,UACPo6C,MAAO,QACT,EACAhiC,OAAQ,CACNwuB,gBAAmB,oBACrB,EACAx5B,SAAU,CACRi+F,2BAA4B,4DAC9B,CACF,EACA3oF,QAAS,CACP4oF,yBAA0B,QAC1BC,iBAAkB,eAClBC,6BAA8B,wBAC9BC,kBAAmB,mBACnBC,eAAgB,mBAChBC,0BAA2B,yBAC3BC,iBAAkB,wBAClBC,gBAAiB,oBACjBC,kBAAmB,wBACnBC,uBAAwB,wCACxBv5F,KAAM,CACJw5F,cAAe,gBACfC,cAAe,oBACf3nF,IAAK,CACHh8B,MAAO,GACPwiG,KAAM,iCACNohB,OAAQ,WACV,EACAhgF,SAAU,CACR89D,OAAQ,QACRmiB,IAAK,gBACL/hB,IAAK,gBACLC,KAAM,iBACNnrC,IAAK,gBACLirC,IAAK,gBACLI,QAAS,oBACT6hB,mBAAoB,wCACtB,CACF,CACF,EACAC,IAAK,CACHC,aAAc,qBACdhiF,QAAS,gBACX,CACF,EACA2iC,QAAS,CACPs/C,kBAAmB,wCACnBC,oBAAqB,+CACrBC,UAAW,6BACb,EACAC,oBAAqB,sBACrBC,OAAQ,WACRC,kBAAmB,+BACnBC,gBAAiB,yCACjBC,IAAK,KACLC,GAAI,MACJ3yE,KAAM,cACN4yE,OAAQ,YACRC,UAAW,YACXC,eAAgB,gBAChB96F,UAAW,mBACXvU,OAAQ,MACRmoG,WAAY,mBACZl3C,MAAO,WACPq+C,aAAc,iBACdC,SAAU,MACV1qF,QAAS,QACTroB,KAAM,OACNgzG,YAAa,MACbtxF,WAAY,iBACZ6uD,MAAO,UACPruD,KAAM,SACNS,OAAQ,iCACRswF,YAAa,uBACbC,cAAe,aACf/0F,KAAM,OACNg0B,KAAM,OACNghE,eAAgB,sBAChBC,gBAAiB,SACjBC,4BAA6B,gCAC7BC,kBAAmB,6BACnBC,0CAA2C,mEAC3CC,6BAA8B,8CAC9BC,mBAAoB,8BACpBC,aAAc,mCACd/0C,KAAM,QACNg1C,OAAQ,OACR5rG,OAAQ,cACR4M,MAAO,QAEPi/F,gBAAiB,qCACjBC,eAAgB,uBAChBrgH,IAAK,YACLsgH,WAAY,kCACZC,MAAO,QACPC,eAAgB,8CAChBpjG,QAAS,CACPqZ,IAAK,CACH84D,MAAO,CACL90F,MAAO,gBACP2mB,MAAO,CACL2G,SAAU,eACVtsB,KAAM,OACNq2D,YAAa,aACb1lD,OAAQ,QACV,CACF,EACAq0G,cAAe,qBACfC,eAAgB,iBAChBC,uBAAwB,kCACxBC,kBAAmB,qCACnBC,gBAAiB,4DACnB,CACF,EACAn7G,KAAM,CACJjL,MAAO,WACPqmH,kBAAmB,oBACnBC,UAAW,kBACXb,aAAc,8BACd/H,WAAY,yCACZ6I,YAAa,OACf,EACA9pD,YAAa,CACXilD,YAAa,CACXx2G,MAAO,yBACT,EACAwxD,UAAW,CACT8pD,aAAc,uDACd9iE,YAAa,aACb2e,SAAU,2DACVokD,UAAW,gBACXC,kBAAmB,yBACrB,EACAC,kBAAmB,CACjBroG,OAAQ,iBACRsoG,kBAAmB,4BACnBC,qBAAsB,8BACtBC,qBAAsB,mBACtBC,mBAAoB,iBACpBC,mBAAoB,iBACpBC,aAAc,qBACdC,WAAY,yBACd,EACAjlE,MAAO,CACLklE,eAAgB,iCAClB,EACAtpH,OAAQ,CACNmkC,QAAS,OACX,EACA4/E,KAAM,CACJ5/E,QAAS,OACX,EACAolF,WAAY,CACVl8G,MAAO,4BACPm8G,cAAe,qmBACjB,CACF,EACAC,cAAe,CACb9J,SAAU,0EACVxwE,YAAa,CACXu6E,YAAa,kBACbC,qBAAsB,yBACtBC,cAAe,WACf/lG,OAAQ,SACRgmG,kBAAmB,sBACnBC,cAAe,WACfr/E,QAAS,SACX,CACF,EACA+tE,UAAW,CACThmC,SAAU,aACVniE,KAAM,QACNo9E,WAAY,8BACZrgF,KAAM,mBACN28G,QAAS,iBACTC,cAAe,mCACflR,aAAc,qCAChB,CACF,CACF,CAEA,EAAE,IAAIkU,IAAI,CAAC,SAASxtH,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQmtH,mBAAqB5jH,KAAAA,EAE7B,IAAIrB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAEIgI,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInC0tH,EAAuBxoH,EAFDlF,EAAQ,iCAAiC,CAEE,EAErE,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAWrElF,EAAQmtH,oBAA+BE,IAC9DpkH,IANiBC,EAMPikH,EAN+B,GAA0B,YAAtB,OAAO/jH,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAQ1M,SAAS+jH,IACPj8B,IAKIxlF,EAlB0C,GAa9B5K,gBAAMqsH,EAyCtB,OApCIzhH,GAhBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAgBpMrJ,MAAOqsH,EAAmBljH,WAAapB,OAAOqB,eAAeijH,CAAkB,GAAGltH,KAAKa,KAAM,CAClI8N,QAAS,CAAA,EACT8/E,QAAS,CAAA,EACTv/C,QAAS,CAAA,EACT9rC,KAAM,cACNiqH,SAAU,sCACVtkG,MAAO,GACT,CAAC,CAAC,GAEIrQ,OAAS,IAAIrG,GAAG4C,MAAMkqD,OAAO,CACjClnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OACtB3vC,MAAO,IAAInd,GAAGmd,MAAM4vC,MAAM,CACxBnnD,KAAM,IAAI5F,GAAGmd,MAAM6vC,KAAK,CACtBpnD,KAAM,IACNk/B,KAAM,gCACN9K,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,KAAM,CAAC,EACxCwiD,QAAS,CAAC,EACZ,CAAC,CACH,CAAC,CACH,CAAC,EAKD7zD,EAAM6hH,aAAe,IAAIj7G,GAAGk7G,YAAY,CACtCC,gBAAiB,CAAEC,mBAAoB,CAAA,CAAK,CAC9C,CAAC,EAEDhiH,EAAM/I,GAAG,eAAgB,SAAUxD,GAC7BuM,EAAM6hH,aAAaI,YAAY,EACjCjiH,EAAM6hH,aAAaK,YAAY,CAAA,CAAK,EAEpCliH,EAAMmiH,UAAU,CAEpB,CAAC,EAEMniH,EAtDiF,MAAM,IAAIrC,UAAU,mCAAmC,CAuDjJ,CAqFA,OAxI+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA4D/dlB,EAAailH,EAAoB,CAAC,CAChCpkH,IAAK,cACLlC,MAAO,SAAqBgB,GAC1B,IAAIiC,EAAMjC,EAAKiC,IACX9C,EAAca,EAAKb,YACnB8mH,EAAYjmH,EAAK0qB,KACjBA,EAAqBhpB,KAAAA,IAAdukH,GAAiCA,EAGvChtH,KAAK6X,SAKV7X,KAAK6X,OAAOovB,UAAU,EAAEijB,MAAM,EAE1Bz4B,GACFzoB,EAAIk8D,QAAQ,EAAE+nD,UAAU/mH,CAAW,EACnClG,KAAK6X,OAAOovB,UAAU,EAAE45B,WAAW,IAAIrvD,GAAGgvD,QAAQ,CAAEC,SAAU,IAAIjvD,GAAGkvD,KAAKC,MAAMz6D,CAAW,CAAE,CAAC,CAAC,EAC/F8C,EAAI4wD,SAAS55D,KAAK6X,MAAM,GAExB7O,EAAIkkH,YAAYltH,KAAK6X,MAAM,EAE/B,CAMF,EAAG,CACD5P,IAAK,YACLlC,MAAO,WACL,IAQIonH,EARAvjH,EAAS5J,KAETgJ,EAAMhJ,KAAKwQ,OAAO,EAEjBxH,IAIDmkH,EAAkB,KAAA,EAEtBntH,KAAKysH,aAAa5qH,GAAG,kBAAmB,WACtC,IAAIqE,EAAc0D,EAAO6iH,aAAaW,YAAY,EAC9ClnH,IACFinH,EAAkBvjH,EAAO/H,GAAG,UAAW,WACrC+H,EAAOyjH,YAAY,CAAErkH,IAAKA,EAAK9C,YAAa0D,EAAO6iH,aAAaW,YAAY,EAAG37F,KAAM7nB,EAAOwG,UAAU,CAAE,CAAC,CAC3G,CAAC,EACDoD,EAAE5J,EAAO2b,OAAO,EAAE+nG,YAAY,iBAAiB,EAC/C1jH,EAAOyjH,YAAY,CAAErkH,IAAKA,EAAK9C,YAAaA,EAAaurB,KAAM7nB,EAAOwG,UAAU,CAAE,CAAC,EAEvF,CAAC,EAEDpQ,KAAKysH,aAAa5qH,GAAG,QAAS,SAAUxD,GAEtCuL,EAAOiO,OAAS,KAEhBlI,EAAMrL,QAAQ07B,gBAAgB,CAC5Bl6B,KAAM,UACNvE,MAAO,gCACPuZ,QAASzc,EAAEyc,QACXgW,UAAW,CAAA,CACb,CAAC,EAEDlnB,EAAOyiB,OAAO,CAAA,CAAK,EAEnB7a,GAAGI,WAAWC,QAAQs7G,CAAe,EAErCA,EAAkB,IACpB,CAAC,EAEDntH,KAAKysH,aAAac,cAAcvkH,EAAIk8D,QAAQ,EAAE5N,cAAc,CAAC,EAC7Dt3D,KAAKysH,aAAaK,YAAY,CAAA,CAAI,EACpC,CACF,EAAE,EAEKT,CACT,GAAEC,EAAqBhoH,OAAO,CAE9B,EAAE,CAACkpH,kCAAkC,IAAI17G,eAAe,GAAG,GAAG27G,IAAI,CAAC,SAAS7uH,EAAQU,EAAOJ,GAC3F6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIqB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAEjV,SAAP+nF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAAze,IAEIxxE,EAAgBxf,EAAQ,eAAe,EAEvC8Q,EAAO9Q,EAAQ,cAAc,EAE7B+Q,GAE4BvL,EAFGsL,IAEkBtL,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAE3F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAIzc,SAASsqF,EAA2BnnF,EAAM/J,GAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,CAU3OqkH,GAA+BC,IACjCxlH,IATiBC,EASPslH,EAT+B,GAA0B,YAAtB,OAAOplH,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAgB1M,SAASolH,IACP,IAAI3kH,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GArB7DuH,EAuBL1I,KAvBeqH,EAuBTqmH,EAvBwB,GAAI,EAAEhlH,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,EA0B/I,GAAIQ,EAAQyI,GAUV,OALA5G,EAFYylF,EAA2BrwF,MAAO0tH,EAAmBvkH,WAAapB,OAAOqB,eAAeskH,CAAkB,GAAGvuH,KAAKa,KAAM,CAAEulB,QAASxc,EAAQyI,GAAG+T,OAAQ,CAAC,CAAC,GAE9Jk8D,SAAW14E,EACjB6B,EAAMgjH,SAAW7kH,EAAQyI,GACzB5G,EAAMijH,aAAe9kH,EAAQ8lB,UAAY,KACzCjkB,EAAMgjF,QAAU,CAAA,EAChBp6E,EAAE5I,EAAMgjH,SAASroG,OAAO,EAAE40F,SAAS,cAAgBvvG,EAAMijH,YAAY,EAChDx9B,EAA2BzlF,EAAlCA,CAA6C,EAI7D7B,EAAQslC,QAAU5lC,KAAAA,IAAcM,EAAQslC,QAAU,CAAC,CAACtlC,EAAQ+kH,iBAAmB/kH,EAAQslC,QAEvFtlC,EAAQ+E,QAAUrF,KAAAA,IAAcM,EAAQ+E,SAAiB/E,EAAQ+E,QAEjE,IASIlD,EATArI,GAAQwG,EAAQxG,MAAQ,IAAIqgB,MAAM,GAAG,EAAEvK,KAAK,GAAG,EAAE9R,YAAY,EA8GjE,OA3GKwC,EAAQwc,UACXxc,EAAQwc,SAAU,IAAKpb,IAAIC,OAAO,CAChC6c,SAAoB,kBAAoB1kB,EAAO,kFAAoFwG,EAAQyjH,UAAYjqH,GAAQ,sBAAwBwG,EAAQmf,OAAS,KAAOnf,EAAQglH,YAAc,aAAehlH,EAAQglH,YAAc,SAAW,IAAM,uCAC7R,CAAE,IAAIvmG,OAAO,EAAEC,MAKjB7c,EAFYylF,EAA2BrwF,MAAO0tH,EAAmBvkH,WAAapB,OAAOqB,eAAeskH,CAAkB,GAAGvuH,KAAKa,KAAM+I,CAAO,CAAC,GAEtI04E,SAAW14E,EAGjB6B,EAAMojH,YAAcjlH,EAAQilH,YAK5BpjH,EAAMqjH,gBAAkB,KAOxBrjH,EAAMsjH,SAAWnlH,EAAQolH,QAOzBvjH,EAAMwjH,SAAWrlH,EAAQslC,QAOzBzjC,EAAMgjF,QAAUnlF,KAAAA,IAAcM,EAAQ6kF,SAAiB7kF,EAAQ6kF,QAO/DhjF,EAAMrI,KAAOA,EAObqI,EAAM4N,GAAK5N,EAAMrI,KAAO,IAAMwnB,KAAKq4B,MAAsB,IAAhBr4B,KAAK2wE,OAAO,CAAW,EAOhE9vF,EAAMyjH,UAAY,GAUlBzjH,EAAMijH,aAAe9kH,EAAQ8lB,UAAY,KAOzCjkB,EAAMgmG,SAAW7nG,EAAQ6nG,UAAY,EAOrCp9F,EAAEzK,EAAQwc,OAAO,EAAE1jB,GAAG,QAAS,SAAUxD,GACvC,OAAOuM,EAAM0jH,aAAajwH,CAAC,CAC7B,CAAC,EAEDuM,EAAMikC,WAAW9lC,EAAQ+E,OAAO,EAO5BlD,EAAM62E,SAAS1J,YACjBntE,EAAM62E,SAAS1J,WAAW54E,KAAKyL,CAAK,EAGtCA,EAAM2jH,SAAW,CAAA,EAEjB3jH,EAAM2jH,SAAW,CAAA,EAEjB3jH,EAAM4jH,yBAA2BzlH,EAAQ0lH,wBAGrC1lH,EAAQ+kH,kBACVljH,EAAM8jH,gBAAgB3lH,CAAO,EAExBsnF,EAA2BzlF,CAAK,CACzC,CA4wBA,OAn6B+MxC,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAgK/dlB,EAAasmH,EAAoB,CAAC,CAChCzlH,IAAK,iBACLlC,MAAO,SAAwB+1B,GAC7B,IAAIlU,EAA+B,EAAnBzmB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAKnB,KAAKguH,YAErFruG,EAAW3f,KAAKwQ,OAAO,EAAEm+G,YAAY,EACrC7yF,EACFl8B,WAAW,WACT,OAAO+f,EAASoL,UAAUjkB,IAAI8gB,CAAS,CACzC,CAAC,EAEDjI,EAASoL,UAAU/jB,OAAO4gB,CAAS,CAEvC,CACF,EAAG,CACD3f,IAAK,kBACLlC,MAAO,WACL,IAuGM6oH,EACAC,EAxGFjlH,EAAS5J,KAET+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC9E2tH,EAAmB/lH,EAAQ+E,QAC3BA,EAA+BrF,KAAAA,IAArBqmH,GAAwCA,EAClDC,EAAmBhmH,EAAQslC,QAC3BA,EAA+B5lC,KAAAA,IAArBsmH,GAAwCA,EAClDC,EAAmBjmH,EAAQ+yB,QAC3BA,EAA+BrzB,KAAAA,IAArBumH,GAAyCA,EACnDC,EAAoBlmH,EAAQmmH,SAC5BA,EAAiCzmH,KAAAA,IAAtBwmH,GAA0CA,EACrDE,EAAwBpmH,EAAQ+kH,iBAChCA,EAA6CrlH,KAAAA,IAA1B0mH,EAAsC,KAAOA,EAChEC,EAAwBrmH,EAAQsmH,aAChCA,EAAyC5mH,KAAAA,IAA1B2mH,GAA8CA,EAC7DE,EAAwBvmH,EAAQwmH,cAChCA,EAA0C9mH,KAAAA,IAA1B6mH,EAAsC,GAAKA,EAC3DE,EAAmBzmH,EAAQ0mH,QAC3BA,EAA+BhnH,KAAAA,IAArB+mH,GAAyCA,EACnDE,EAAgB3mH,EAAQi7C,KACxBA,EAAyBv7C,KAAAA,IAAlBinH,EAA8B,KAAOA,EAC5CC,EAAc5mH,EAAQ4mH,YACtBC,EAAyB7mH,EAAQ0lH,wBACjCA,EAAqDhmH,KAAAA,IAA3BmnH,EAAuC,GAAKA,EACtEC,EAAkB9mH,EAAQmK,OAE1B48G,EAAgB/mH,EAAQ+mH,cAQ5B9vH,KAAKkT,OAT4BzK,KAAAA,IAApBonH,EAAgC,GAAKA,EAclD7vH,KAAK+vH,UAAY,GAEjB/vH,KAAKgwH,SAAWliH,EAIhB9N,KAAKkvH,SAAWA,EAEhBlvH,KAAKiwH,kBAAoBnC,EAEzB9tH,KAAKkwH,aAAe,KAEpBlwH,KAAKmwH,cAAgBd,EAKrBrvH,KAAKowH,eAAiBb,EAEtBvvH,KAAKqwH,SAAWZ,EAEhBzvH,KAAKswH,MAAQtsE,EAKbhkD,KAAKuwH,YAKLvwH,KAAKwwH,YAELxwH,KAAK2vH,YAKL3vH,KAAK8vH,cAAgBA,EAErB9vH,KAAKwuH,yBAA2BC,EAG5B,CAAA,IAAS3yF,GACX97B,KAAK6B,GAAG,SAAU,WAChB,OAAO+H,EAAOyiB,OAAOyP,CAAO,CAC9B,CAAC,EAIC97B,KAAKswH,OACPtwH,KAAKywH,iBAAiB,EAIpBd,GACF3vH,KAAK0wH,kBAAkBf,CAAW,EAIpC3vH,KAAK2wH,UAAUtiF,CAAO,EAGlBruC,KAAK8vH,gBACHlB,EAAiB5uH,KAAK8vH,cACtBjB,EAAW,KACf7uH,KAAK6B,GAAG,UAAW,SAAUkF,GAGvB,CAAA,IAFUA,EAAK+0B,QAGjB+yF,EAAWjlH,EAAO/H,GAAG,wBAAyB+H,EAAOgnH,eAAe,EAC3D,OAAS/B,IAClBr9G,GAAGI,WAAWC,QAAQg9G,CAAQ,EAC9BA,EAAW,KAEXjlH,EAAOinH,iBAAiBjC,CAAc,EACtChlH,EAAOsgD,MAAM,EAEjB,CAAC,EAEL,CAUF,EAAG,CACDjiD,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAKkvH,QACd,CAUF,EAAG,CACDjnH,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKuuH,QACd,CAUF,EAAG,CACDtmH,IAAK,cACLlC,MAAO,SAAqBkR,GAC1B,IAAI65G,EAAY75G,EAAM65G,UAClBjC,EAAW53G,EAAM43G,SAErB7uH,KAAKquH,UAAUyC,GAAa,CAC1BjC,SAAUA,EACVkC,gBAAiBlC,EAASle,QAC5B,CACF,CAYF,EAAG,CACD1oG,IAAK,4BACLlC,MAAO,SAAmCD,GACpC9F,KAAKquH,UAAUvoH,IAAS9F,KAAKquH,UAAUvoH,GAAM+oH,WAC/Cr9G,GAAGI,WAAWC,QAAQ7R,KAAKquH,UAAUvoH,GAAM+oH,QAAQ,EACnD7uH,KAAKquH,UAAUvoH,GAAM+oH,SAAW7uH,KAAK6B,GAAGiE,EAAM9F,KAAKquH,UAAUvoH,GAAMirH,eAAe,EAEtF,CAaF,EAAG,CACD9oH,IAAK,wBACLlC,MAAO,SAA+ByR,GACpC,IAAIs5G,EAAYt5G,EAAMs5G,UAClBn0F,EAAUnlB,EAAMmlB,QAEhB38B,KAAKquH,UAAUyC,IAAc9wH,KAAKquH,UAAUyC,GAAWjC,WACzDr9G,GAAGI,WAAWC,QAAQ7R,KAAKquH,UAAUyC,GAAWjC,QAAQ,EACxD7uH,KAAKquH,UAAUyC,GAAWjC,SAAW7uH,KAAK6B,GAAGivH,EAAWn0F,CAAO,EAEnE,CAUF,EAAG,CACD10B,IAAK,cACLlC,MAAO,SAAqBirH,GAE1B,MAAO,CACLrwG,KAFFqwG,EAAMA,GAAOhxH,KAAK6tH,cAEPpkH,SAAS,GAAG,EACrB+3B,KAAMwvF,EAAIvnH,SAAS,GAAG,EACtB00B,OAAQ6yF,EAAIvnH,SAAS,GAAG,EACxB+gC,MAAOwmF,EAAIvnH,SAAS,GAAG,CACzB,CACF,CAYF,EAAG,CACDxB,IAAK,eACLlC,MAAO,SAAsBo8B,GACvBniC,KAAKouH,WACPpuH,KAAKqsB,OAAO,EACZ8V,EAAM7wB,eAAe,EACrBtR,KAAKq2D,cAAc,cAAc,EAErC,CAUF,EAAG,CACDpuD,IAAK,SACLlC,MAAO,SAAgBiD,GACrB,IAKMioH,EACAC,EANFC,EAAkB39G,EAAExK,EAAI2lH,YAAY,CAAC,EAAEjlH,KAAK,eAAiB1J,KAAK6tH,YAAY,EAC9EsD,EAAgB/xH,SACdyvB,EAAW7uB,KAAKotH,YAAY,EAC5BgE,EAAiBD,EAAgBnsD,KAAK,EACtCqsD,EAASxiG,EAAS2S,KAAO4vF,EAAeviG,SAAS,EAAE2S,KAAO4vF,EAAeviG,SAAS,EAAE2b,MACpFymF,EAASpiG,EAAS2S,KAAO,OAAS,QAClC0vF,EAAU19G,EAAExT,KAAKulB,OAAO,EAAEsJ,SAAS,EAAEoiG,GAAUI,EAASD,EAAe,GAAGnoF,YAAc,EAC5Fz1B,EAAExT,KAAKulB,OAAO,EAAEtiB,IAAIguH,EAAQC,EAAU,IAAI,EAE9C,CAcF,EAAG,CACDjpH,IAAK,SACLlC,MAAO,SAAgBiD,GACrB,IA8BMsoH,EACA5/F,EA/BFna,EAASvX,KAGTA,KAAKyhF,SAAS8vC,UAChBvxH,KAAKyhF,SAAS8vC,SAASpyH,KAAKa,KAAM,CAAE0wG,OAAQ,SAAU1nG,IAAKA,CAAI,CAAC,EAIlEhJ,KAAKyiB,OAAOzZ,CAAG,EAEXhJ,KAAK4tH,SACP5tH,KAAK4tH,SAAS4D,OAAOxoH,CAAG,EAExB0mF,EAAKg+B,EAAmBrsH,UAAU8H,WAAapB,OAAOqB,eAAeskH,EAAmBrsH,SAAS,EAAG,SAAUrB,IAAI,EAAEb,KAAKa,KAAMgJ,CAAG,EAGhI,CAAChJ,KAAKkwH,cAAgBlwH,KAAKiwH,oBAC7BjwH,KAAKkwH,aAAe,IAAIlwH,KAAKiwH,kBAAkBjwH,KAAKwuH,wBAAwB,EAC5ExlH,EAAImL,eAAenU,KAAKkwH,YAAY,EACpClwH,KAAKkwH,aAAauB,UAAU,CAAA,CAAK,GAG/BzxH,KAAKkwH,cAAgBlwH,KAAKguH,aAC5BhuH,KAAKkwH,aAAaruH,GAAG,gBAAiB,SAAUxD,GAC9C,OAAOkZ,EAAOm6G,eAAerzH,EAAEoJ,OAAOuS,IAAI3b,EAAE4J,GAAG,CAAC,CAClD,CAAC,EAICjI,KAAKkuH,WACHoD,EAAM99G,EAAExT,KAAKulB,OAAO,EAAEmb,SAAS,QAAQ,EACvChP,EAAU,CAAA,EACdle,EAAExT,KAAKulB,OAAO,EAAE1jB,GAAG,QAASmK,EAAkB,YACvC0lB,IACHA,EAAU,CAAA,EACV4/F,EAAInX,SAAS,iBAAiB,EAC9BpsG,MAAMwJ,EAAO22G,SAAS,EACtBoD,EAAIhE,YAAY,iBAAiB,EACjC57F,EAAU,CAAA,EAEd,CAAC,CAAC,GAIJ1xB,KAAKq2D,cAAc,CAAEvwD,KAAM,SAAUkD,IAAKA,CAAI,CAAC,EAG3ChJ,KAAKyhF,SAAS8vC,UAChBvxH,KAAKyhF,SAAS8vC,SAASpyH,KAAKa,KAAM,CAAE0wG,OAAQ,QAAS1nG,IAAKA,CAAI,CAAC,CAEnE,CAUF,EAAG,CACDf,IAAK,cACLlC,MAAO,WACL,IAEI4rH,EAFA9iG,EAAWrb,EAAExT,KAAKulB,OAAO,EAAEsJ,SAAS,EAAE2S,KACtCowF,EAAep+G,EAAExT,KAAKulB,OAAO,EAAEssG,WAAW,EAE/Br+G,EAAExT,KAAKulB,OAAO,EAAEsrC,SAAS,gBAAgB,EAC/CihE,KAAK,WACRt+G,EAAExT,IAAI,EAAE6uB,SAAS,EAAE2S,KAAO3S,IAC5B8iG,EAAcn+G,EAAExT,IAAI,EAAE6uB,SAAS,EAAE2S,KAC7BowF,EAAep+G,EAAExT,IAAI,EAAE6xH,WAAW,IACpChjG,GAAuB+iG,EAAep+G,EAAExT,IAAI,EAAE6xH,WAAW,GAE3Dr+G,EAAExT,IAAI,EAAEiD,IAAI,OAAQ4rB,EAAW,IAAI,EACnCA,EAAW8iG,EACXC,EAAep+G,EAAExT,IAAI,EAAE6xH,WAAW,EAEtC,CAAC,EACDr+G,EAAExT,KAAKulB,OAAO,EAAEkgC,KAAK,CACvB,CAYF,EAAG,CACDx9C,IAAK,YACLlC,MAAO,SAAmBu6B,GACxB9sB,EAAExT,KAAKulB,OAAO,EAAE7b,KAAK,QAAQ,EAAEqoH,MAAM,EAAEC,YAAY,kBAAmB,CAAC1xF,CAAI,EACvE,CAACA,GAAQtgC,KAAKkwH,cAChBlwH,KAAKkwH,aAAauB,UAAU,CAAA,CAAK,EAEnCzxH,KAAKouH,SAAW9tF,CAClB,CAUF,EAAG,CACDr4B,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKouH,QACd,CAUF,EAAG,CACDnmH,IAAK,aACLlC,MAAO,WACL,IAAI+H,EAAU3M,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAE7EnB,KAAKgwH,SAAWliH,EAChB0F,EAAExT,KAAKulB,OAAO,EAAEzX,EAAU,OAAS,QAAQ,CAC7C,CAUF,EAAG,CACD7F,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKgwH,QACd,CAQF,EAAG,CACD/nH,IAAK,wBACLlC,MAAO,SAA+B42B,GACpC38B,KAAKiuH,gBAAkBjuH,KAAKiuH,iBAAmBjuH,KAAKkuH,SACpDluH,KAAKkuH,SAAWvxF,CAClB,CACF,EAAG,CACD10B,IAAK,4BAQLlC,MAAO,WACL/F,KAAKkuH,SAAWluH,KAAKiuH,iBAAmBjuH,KAAKkuH,SAC7CluH,KAAKiuH,gBAAkB,IACzB,CAQF,EAAG,CACDhmH,IAAK,gBACLlC,MAAO,YAQT,EAAG,CACDkC,IAAK,kBACLlC,MAAO,YAQT,EAAG,CACDkC,IAAK,QACLlC,MAAO,YAQT,EAAG,CACDkC,IAAK,qBACLlC,MAAO,WACL,IAAIiZ,EAA2B,EAAnB7d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACpE6d,EAAM5K,KAEpB,CAQF,EAAG,CACDnM,IAAK,wBACLlC,MAAO,SAA+BqO,IAWxC,EAAG,CACDnM,IAAK,gBACLlC,MAAO,SAAuBmN,GAC5B,MAAO,CAAA,CACT,CAMF,EAAG,CACDjL,IAAK,SACLlC,MAAO,WACLyN,EAAExT,KAAKulB,OAAO,EAAE+nG,YAAY,cAAc,CAC5C,CACF,EAAG,CACDrlH,IAAK,UACLlC,MAAO,WACLyN,EAAExT,KAAKulB,OAAO,EAAE40F,SAAS,cAAc,CACzC,CASF,EAAG,CACDlyG,IAAK,oBACLlC,MAAO,WACL,IAAI6nD,EAAS5tD,KAET2vH,EAAiC,EAAnBxuH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAGtF,OAAQwuH,EAAY7pH,MAElB,IAAK,gBACH9F,KAAK2vH,YAAc,CACjB1oG,SAAmB,+QACnB3T,KAAM,WACJ,MAAO,CAAEoR,QAAStG,EAAc+9E,gBAAiBnlE,OAAQ42B,EAAOqkE,iBAAiB,CAAE,CACrF,EACA9kH,MAAO,CAAE6pB,OAAQ,SAAgB+c,GAC7B,OAAO6Z,EAAOijE,iBAAiB98E,CAAC,CAClC,CAAE,EACJpmC,QAAS,WACPgC,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAK,CACvC,EACA5jF,cAAe,WACb3+B,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAI,CACtC,CACF,EACA,MAEF,IAAK,SACHlyH,KAAK2vH,YAAcA,EAAYtkG,SAGnC,CAKI,QAAUskG,EAAYwC,KAAOnyH,KAAKqwH,WACpCrwH,KAAKwwH,YAAch9G,EAAE,uEAAyE7D,EAAMrL,QAAQgtC,aAAa,MAAM,EAAI,eAAe,EAClJ99B,EAAExT,KAAKulB,OAAO,EAAE6sG,QAAQpyH,KAAKwwH,WAAW,EACxCxwH,KAAKwwH,YAAY3uH,GAAG,QAAS,SAAUxD,GACrCA,EAAEgT,gBAAgB,EAClBu8C,EAAOykE,gBAAgB,CAAA,CAAI,CAC7B,CAAC,EACD7+G,EAAExT,KAAKulB,OAAO,EAAE+sG,MAAM,WACpB,OAAO1kE,EAAO2gE,UAAY3gE,EAAO4iE,YAAY/+F,KAAK,CACpD,CAAC,EACDje,EAAExT,KAAKulB,OAAO,EAAEioE,WAAW,WACzB,OAAO5/B,EAAO4iE,YAAY/qE,KAAK,CACjC,CAAC,EAEL,CACF,EAAG,CACDx9C,IAAK,kBACLlC,MAAO,WACM5E,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAGxEwO,EAAMrL,QAAQ07B,gBAAgB,CAC5Bz+B,MAAOvB,KAAK2vH,YAAY4C,QACxBzsH,KAAM,OACN8U,KAAM,QACNqW,UAAWjxB,KAAK2vH,YAAY6C,YAC5B3hG,SAAU7wB,CAAAA,CAAAA,KAAKwwH,YACfr/F,MAAO,CAAE7J,KAAMtnB,KAAK2vH,WAAY,CAClC,CAAC,EAEDhgH,EAAMrL,QAAQwkB,iBAAiB,CAEnC,CASF,EAAG,CACD7gB,IAAK,SACLlC,MAAO,WACL,IAAImqD,EAASlwD,KAET87B,EAA6B,EAAnB36B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAACnB,KAAKuuH,SACpF/lH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG/EqH,EAAKiiB,OAAShiB,KAAAA,IAAcD,EAAKiiB,QAAiBjiB,EAAKiiB,OAGnDqR,IAAY97B,KAAKuuH,WAIrBvuH,KAAKuuH,SAAWzyF,EAEZ97B,KAAKguH,aACPhuH,KAAK0xH,eAAe51F,CAAO,EAIzBA,GACF97B,KAAKwQ,OAAO,EAAEiiH,YAAY,EAAEx+G,QAAQ,SAAUtV,GACxCA,EAAE6Z,IAAM7Z,EAAE0tB,QAAU1tB,EAAE6Z,KAAO03C,EAAO13C,IAAM7Z,EAAE6Z,KAAOhQ,EAAKiiB,QAC1D9rB,EAAE0tB,OAAO,CAAA,CAAK,CAElB,CAAC,EAGCrsB,KAAKkwH,cACPlwH,KAAKkwH,aAAauB,UAAU31F,CAAO,EAIrCtoB,EAAExT,KAAKulB,OAAO,EAAE7b,KAAK,QAAQ,EAAEqoH,MAAM,EAAEj2F,EAAU,WAAa,eAAe,gBAAgB,EAGzFA,GAAW97B,KAAKwwH,YAClBxwH,KAAKwwH,YAAY/+F,KAAK,EACb,CAACqK,GAAW97B,KAAKwwH,aAC1BxwH,KAAKwwH,YAAY/qE,KAAK,EAIpBzlD,KAAK2vH,aACP3vH,KAAKqyH,gBAAgBryH,KAAKuuH,QAAQ,EAGpCvuH,KAAKq2D,cAAc,CAAEvwD,KAAM,UAAWg2B,QAASA,CAAQ,CAAC,EAEpD97B,KAAKyhF,SAASixC,YAChB1yH,KAAKyhF,SAASixC,UAAUvzH,KAAKa,KAAM87B,CAAO,CAE9C,CACF,EAAG,CACD7zB,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAKowH,cACd,CACF,EAAG,CACDnoH,IAAK,mBACLlC,MAAO,SAA0B4hC,GAC/B3nC,KAAKowH,eAAiBzoF,CACxB,CACF,EAAG,CACD1/B,IAAK,iBACLlC,MAAO,WACL,OAAO/F,KAAKkwH,YACd,CAMF,EAAG,CACDjoH,IAAK,mBACLlC,MAAO,WAGL/F,KAAK8vH,cAF2B,EAAnB3uH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,aAGjFnB,KAAKq2D,cAAc,CACjBvwD,KAAM,wBACNgqH,cAAe9vH,KAAK8vH,aACtB,CAAC,CACH,CACF,EAAG,CACD7nH,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAK8vH,aACd,CACF,EAAG,CACD7nH,IAAK,YACLlC,MAAO,WAGL/F,KAAKkT,OAF2B,EAAnB/R,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGnF,CAQF,EAAG,CACD8G,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAK4tH,QACd,CAMF,EAAG,CACD3lH,IAAK,WACLlC,MAAO,WACD/F,KAAKulB,SACP/R,EAAExT,KAAKulB,OAAO,EAAE8G,OAAO,CAE3B,CACF,EAAE,EAEKqhG,CACT,GAAEl8G,GAAGwkD,QAAQ28D,OAAO,EAEpBzzH,EAAQoF,QAAUopH,CAElB,EAAE,CAACj6F,gBAAgB,IAAI3hB,eAAe,GAAG,GAAG8gH,IAAI,CAAC,SAASh0H,EAAQU,EAAOJ,GACzE6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ2zH,eAAiB3zH,EAAQytG,mBAAqBlkG,KAAAA,EAEtD,IAAIotC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAEIgI,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInC0tH,EAAuBxoH,EAFDlF,EAAQ,iCAAiC,CAEE,EAEjE8oG,EAAwB9oG,EAAQ,4BAA4B,EAE5D+oG,EAAwB/oG,EAAQ,4BAA4B,EAEhE,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAASgsF,EAAgB1nF,EAAUrB,GAAe,GAAI,EAAEqB,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,CAAK,CAExJ,SAAS8nF,EAA2BnnF,EAAM/J,GAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,CAE/O,SAASlB,EAAUC,EAAUE,GAAc,GAA0B,YAAtB,OAAOA,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAAKF,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,EAAY,CAK7e,IACI/J,EADWK,EAAQ,UAAU,EAChBL,EAEbouG,EAAqBztG,EAAQytG,oBAC/BxkG,EAAUwkG,EA0JVn7F,GAAGyB,YAAY6/G,IA1JmC,EAoDlD1rH,EAAaulG,EAAoB,CAAC,CAChC1kG,IAAK,QACLlC,MAAO,WACL/F,KAAK6X,OAAOovB,UAAU,EAAEijB,MAAM,EAC9BlqD,KAAK+yH,2BAA2B,EAC5B/yH,KAAKgzH,QACP,EAAIrrB,EAAsBoE,sBAAsBl2D,EAAS,CACvD7sC,IAAKhJ,KAAKgzH,IACZ,EAAGhzH,KAAKizH,cAAc,CAAC,EACvBjzH,KAAKizH,eAAiB,KACtBjzH,KAAKgzH,KAAK9F,YAAYltH,KAAK6X,MAAM,EAErC,CACF,EAAG,CACD5P,IAAK,6BACLlC,MAAO,WACL/F,KAAKuiE,SAAW,KAEZviE,KAAKgzH,OACPhzH,KAAKkzH,uBAAyB,KAC9BlzH,KAAKmzH,oBAAoB5oF,UAAY,GAErCvqC,KAAKmzH,oBAAoBpoG,UAAUjkB,IAAI,QAAQ,EAE/C0K,GAAGI,WAAWC,QAAQ7R,KAAKozH,8BAA8B,EACzD5hH,GAAGI,WAAWC,QAAQ7R,KAAKqzH,sBAAsB,EAEjD7/G,EAAErQ,QAAQ,EAAEnB,IAAI,UAAWhC,KAAKszH,oBAAoB,EAExD,CAIF,EAAG,CACDrrH,IAAK,aACLlC,MAAO,SAAoB1H,GACzB,IAAIuL,EAAS5J,KAEbA,KAAKgzH,KAAOhzH,KAAKwQ,OAAO,EACxBxQ,KAAKgzH,KAAK9F,YAAYltH,KAAK6X,MAAM,EACjC7X,KAAKuiE,SAAWlkE,EAAEwV,QACd7T,KAAK6T,SACP7T,KAAKuiE,SAASgxD,YAAYvzH,KAAK6T,QAAQyzB,YAAY,CAAC,EAGtDtnC,KAAKszH,qBAAuB,SAAUj1H,GACpC,IAAIqiE,EAAO92D,EAAO24D,SAASj7B,YAAY,EACnC,KAAOjpC,EAAE+U,UACPstD,aAAgBlvD,GAAGkvD,KAAK8yD,SAA6C,EAAlC9yD,EAAK+yD,eAAe,EAAE,GAAGr0H,QAErDshE,aAAgBlvD,GAAGkvD,KAAKgzD,YAA6C,EAA/BhzD,EAAK+yD,eAAe,EAAEr0H,SACrEwK,EAAO+pH,gBAAgB,CAG7B,EACAngH,EAAErQ,QAAQ,EAAEtB,GAAG,UAAW7B,KAAKszH,oBAAoB,EACnDtzH,KAAK6X,OAAOovB,UAAU,EAAEijB,MAAM,EAC9BlqD,KAAKqzH,uBAAyBrzH,KAAKgzH,KAAKnxH,GAAG,cAAe,SAAUxD,GAC9DA,EAAEu1H,UAGFhqH,EAAO24D,UAAY34D,EAAOiqH,WAC5BjqH,EAAOupH,oBAAoB5oF,UAAYhsC,EAAEqL,EAAOiqH,QAAQ,EACxDjqH,EAAOkqH,aAAaC,YAAY11H,EAAEkT,UAAU,EAC5C3H,EAAOupH,oBAAoBpoG,UAAU/jB,OAAO,QAAQ,EAExD,CAAC,EAEGhH,KAAKmzH,qBACPnzH,KAAKmzH,oBAAoB/zC,WAAWz7E,YAAY3D,KAAKmzH,mBAAmB,EAEtEnzH,KAAK8zH,cACP9zH,KAAKgzH,KAAKgB,cAAch0H,KAAK8zH,YAAY,EAE3C9zH,KAAKmzH,oBAAsBhwH,SAASC,cAAc,KAAK,EACvDpD,KAAKmzH,oBAAoBvrG,UAAY,kBACrC5nB,KAAK8zH,aAAe,IAAItiH,GAAGyiH,QAAQ,CACjC1uG,QAASvlB,KAAKmzH,oBACd9B,OAAQ,CAAC,GAAI,GACb6C,YAAa,aACf,CAAC,EAEDl0H,KAAKgzH,KAAKmB,WAAWn0H,KAAK8zH,YAAY,EAGlC9zH,KAAKizH,iBACP,EAAItrB,EAAsBoE,sBAAsBl2D,EAAS,GAAI71C,KAAKizH,eAAgB,CAAEjqH,IAAKhJ,KAAKgzH,IAAK,CAAC,CAAC,EAGvGhzH,KAAKizH,gBAAiB,EAAIvrB,EAAsBoE,sBAAsB,CAAE9iG,IAAKhJ,KAAKgzH,KAAMn/G,QAAS7T,KAAKuiE,QAAS,CAAC,CAClH,CACF,EAAG,CACDt6D,IAAK,WACLlC,MAAO,WACL/F,KAAKizH,eAAe1vF,QAAQ6wF,WAAW,EAAExsG,UAAY,2BACrD5nB,KAAKizH,eAAe1vF,QAAQ8wF,UAAU,CAAC,EAAG,CAAC,EAAE,EAC7Cr0H,KAAK+yH,2BAA2B,EAChC/yH,KAAKgzH,KAAKp5D,SAAS55D,KAAK6X,MAAM,CAChC,CACF,EAAE,EAEK80F,GAvJP,SAASA,EAAmBnkG,GAC1B4nF,EAAgBpwF,KAAM2sG,CAAkB,EAExC,IAAI2nB,EAAe,IAAI9iH,GAAGmd,MAAM4vC,MAAM,CACpC/yB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,0BAA2B,CAAC,EAC7DyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOzT,EAAK+rH,WAAa,qBAAsBC,SAAU,CAAC,GAAI,IAAKtxG,MAAO,CAAE,CAAC,EAC3GiY,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBx1D,OAAQ,EACRP,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,oBAAqB,CAAC,EAC3DuvB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,0BAA2B,CAAC,CAC/D,CAAC,CACH,CAAC,EACGmb,EAAS,IAAI5lB,GAAG4lB,OAAOknC,OAEvB1zD,EAAQylF,EAA2BrwF,MAAO2sG,EAAmBxjG,WAAapB,OAAOqB,eAAeujG,CAAkB,GAAGxtG,KAAKa,KAAM,CAClIo3B,OAAQA,EACRtxB,KAAM0C,EAAKs+B,cAAgB,aAC3BnY,MAAO2lG,CACT,CAAC,CAAC,EA6BF,OA3BA1pH,EAAMkpH,aAONlpH,EAAMipH,SAAWrrH,EAAKw7C,KACtBp5C,EAAM8pH,YAAclsH,EAAKuyD,WACzBnwD,EAAMiJ,QAAUrL,EAAKqL,QACrBjJ,EAAMooH,KAAO,KACbpoH,EAAM23D,SAAW,KACjB33D,EAAMiN,OAAS,IAAIrG,GAAG4C,MAAMkqD,OAAO,CACjClnC,OAAQA,EACRzI,MAAO,WACL,MAAO,CAAC,IAAInd,GAAGmd,MAAM4vC,MAAM,CACzBG,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE61D,SAAU,CAAC,GAAI,IAAKtxG,MAAO,CAAE,CAAC,EAC5DsoB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,0BAA2B,CAAC,CAC/D,CAAC,EACH,CACF,CAAC,EAEDrR,EAAMqb,IAAI,eAAgBrb,EAAMs/C,KAAK,EACrCt/C,EAAMqb,IAAI,QAASrb,EAAMiN,MAAM,EAE/BjN,EAAM/I,GAAG,YAAa+I,EAAM+pH,UAAU,EACtC/pH,EAAM/I,GAAG,UAAW+I,EAAMgqH,QAAQ,EAC3BhqH,CACT,CA0GmB1L,EAAQ2zH,gBAC3B1qH,EAAU0qH,EAwGVvG,EAAqBhoH,OAxGwB,EAsD7C8C,EAAayrH,EAAgB,CAAC,CAC5B5qH,IAAK,UACLlC,MAAO,SAAiBD,GACtB,IAAI8nD,EAAS5tD,KAEbA,KAAK2nC,MAAMvmC,KAAK0E,CAAI,EAEpB9F,KAAKwuH,yBAAyB1nF,aAAe,CAAEq8E,KAAM,UAAW/jH,OAAQ,YAAa,EAAE0G,GAEvF9F,KAAK4rG,aAAa9lG,GAAQ,IAAI6mG,EAAmB3sG,KAAKwuH,wBAAwB,EAE9ExuH,KAAK4rG,aAAa9lG,GAAM2rH,UAAU,CAAA,CAAK,EAElCzxH,KAAKkwH,eACRlwH,KAAKkwH,aAAelwH,KAAK4rG,aAAa9lG,IAGhB,EAApB9F,KAAK2nC,MAAMvoC,SACbY,KAAK2vH,YAAc3vH,KAAK2vH,aAAe,CACrC4C,QAAS,iCACTC,YAAa,UACbl/G,KAAM,WACJ,MAAO,CAAEq0B,MAAOimB,EAAOjmB,MAAO7hC,KAAM8nD,EAAOjmB,MAAM,EAAG,CACtD,EACA1gB,SAAoB,2TACpB9Z,MAAO,CAELrH,KAAM,SAAc+uH,EAAOC,GAEzBlnE,EAAOg+C,aAAakpB,GAAOrD,UAAU,CAAA,CAAK,EAC1C7jE,EAAOg+C,aAAakpB,GAAO5qE,MAAM,EACjC0D,EAAOp9C,OAAO,EAAEoE,kBAAkBg5C,EAAOg+C,aAAakpB,EAAM,EAE5DlnE,EAAOp9C,OAAO,EAAE2D,eAAey5C,EAAOg+C,aAAaipB,EAAM,EACzDjnE,EAAOg+C,aAAaipB,GAAOpD,UAAU,CAAA,CAAI,EACzC7jE,EAAOsiE,aAAetiE,EAAOg+C,aAAaipB,EAC5C,CACF,EACAlnH,QAAS,WACPgC,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAK,CACvC,EACA5jF,cAAe,WACb3+B,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAI,CACtC,CACF,EAEJ,CACF,EAAE,EAEKW,GArGP,SAASA,IACP,IAAIrqH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAI3EoW,GAFJ64E,EAAgBpwF,KAAM6yH,CAAc,EAEvBxiC,EAA2BrwF,MAAO6yH,EAAe1pH,WAAapB,OAAOqB,eAAeypH,CAAc,GAAG1zH,KAAKa,KAAM61C,EAAS,GAAIrtC,EAAM,CAC9I0mH,SAAU,CAAA,EACV7gF,QAAS,CAAA,EACTqkF,UAAW,SAAmB52F,GAE5B97B,KAAKkwH,aAAauB,UAAUzxH,KAAKoQ,UAAU,CAAC,EAEvC0rB,GACH97B,KAAKkwH,aAAahmE,MAAM,EAGrBpuB,GAAW97B,KAAK4rG,aAAa5rG,KAAK2nC,MAAM,MAAQ3nC,KAAKkwH,eAExDlwH,KAAKwQ,OAAO,EAAEoE,kBAAkB5U,KAAKkwH,YAAY,EACjDlwH,KAAKkwH,aAAelwH,KAAK4rG,aAAa5rG,KAAK2nC,MAAM,IAEjD3nC,KAAKwQ,OAAO,EAAE2D,eAAenU,KAAKkwH,YAAY,EAElD,CACF,CAAC,CAAC,CAAC,GAkBH,OAhBA34G,EAAOowB,MAAQ,GAEfpwB,EAAOq0F,aAAe,IAErBpjG,EAAKm/B,OAAS,IAAI1zB,QAAQ,SAAU1V,GACnC,OAAOgZ,EAAOw9G,QAAQx2H,CAAC,CACzB,CAAC,EAGG,IAAMgZ,EAAOowB,MAAMvoC,QACrBmY,EAAOs3B,WAAW,CAAA,CAAK,EAGzBt3B,EAAO1V,GAAG,SAAU,SAAUxD,GAC5B,OAAOA,EAAE2K,IAAImL,eAAeoD,EAAO24G,YAAY,CACjD,CAAC,EACM34G,CACT,CA6DF,EAAE,CAACgE,WAAW,IAAIiyG,kCAAkC,IAAI17G,eAAe,IAAIy8F,6BAA6B,IAAIa,6BAA6B,GAAG,GAAG4lB,IAAI,CAAC,SAASp2H,EAAQU,EAAOJ,GAC5K6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+1H,QAAUxsH,KAAAA,EAElB,IAAIotC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAIyW,EAAgBxf,EAAQ,eAAe,EAEvCy1B,EAAez1B,EAAQ,cAAc,EAIrC+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInC4T,EAAS1O,EAFDlF,EAAQ,eAAe,CAEM,EAIrCiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD0tH,EAAuBxoH,EAFDlF,EAAQ,iCAAiC,CAEE,EAIjE8T,EAA+B5O,EAFDlF,EAAQ,6CAA6C,CAEF,EAEjFy0E,EAAYz0E,EAAQ,gBAAgB,EAEpCwX,EAAuBxX,EAAQ,2BAA2B,EAE9D,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAAS6uC,EAAmBhkC,GAAO,GAAI/N,MAAMkF,QAAQ6I,CAAG,EAAG,CAAE,IAAK,IAAIxQ,EAAI,EAAGyoB,EAAOhmB,MAAM+N,EAAI7P,MAAM,EAAGX,EAAIwQ,EAAI7P,OAAQX,CAAC,GAAMyoB,EAAKzoB,GAAKwQ,EAAIxQ,GAAM,OAAOyoB,CAAM,CAAS,OAAOhmB,MAAMimB,KAAKlY,CAAG,CAAK,CAElM,SAASjD,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAWzc,IACIxH,EADWK,EAAQ,UAAU,EAChBL,EAEb22H,EAAgB,CAAC92G,EAAck+E,eAAekD,QAASphF,EAAck+E,eAAemD,SAAUrhF,EAAck+E,eAAeoD,SAAUthF,EAAck+E,eAAeqD,UAAWvhF,EAAck+E,eAAesD,WAAYxhF,EAAck+E,eAAeuD,aAAczhF,EAAck+E,eAAewD,cAAe1hF,EAAck+E,eAAeyD,cAAe3hF,EAAck+E,eAAe0D,eAAgB5hF,EAAck+E,eAAe2D,iBAKnak1B,EAAW,GAKXC,EAAQjrH,IAAIq5D,WAAW,CAEzB39B,KAAM,KAENwvF,SAAU,KACVjhH,MAAO,KACPP,QAAS,KACT3N,YAAa,KACb+4D,OAAQ,CACV,CAAC,EAMD,SAASq2D,IACP,OAAQ3lH,EAAMrL,QAAQyL,WAAW,KAAK,EAAEwkE,iBAAiB,GAAK,CAC5DhuD,MAAO,WACL,MAAO,SACT,CACF,GAAGA,MAAM,CACX,CAQcrnB,EAAQ+1H,SAAoB1I,IACxCpkH,IAokBQgsB,EApnBS/rB,EAgDP6sH,EAhD+B,GAA0B,YAAtB,OAAO3sH,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAkD1M,SAAS2sH,IACP,IAIIrqH,EAJApC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAvD1DuH,EAyDL1I,KAzDeqH,EAyDT4tH,EAzDwB,GAAMvsH,aAAoBrB,EAwUxE,OA7QIuD,GAzDR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAyDpMrJ,MAAOi1H,EAAQ9rH,WAAapB,OAAOqB,eAAe6rH,CAAO,GAAG91H,KAAKa,KAAM61C,EAAS,GAAIrtC,EAAM,CAC/HjG,KAAM,UACN2lB,MAAO,IACPskG,SAAU,gCACVn+E,QAAS,CAAA,EACT2/E,YAAa,IACf,CAAC,CAAC,CAAC,GAEGrmF,MAAQ,IAEbn/B,EAAKm/B,OAAS,IAAI1zB,QAAQ,SAAUnO,GACnC,OAAO8E,EAAMmqH,QAAQjvH,CAAI,CAC3B,CAAC,EAGG,IAAM8E,EAAM+8B,MAAMvoC,OACpBwL,EAAMikC,WAAW,CAAA,CAAK,EAEtBjkC,EAAM2a,QAAQwF,UAAUjkB,IAAI,MAAQ8D,EAAM+8B,MAAM,EAAE,GAGpDwtF,EAAkB,QAAIvqH,GAEhB0pE,cAAgB,UAGtB1pE,EAAM/I,GAAG,UAAW,SAAUkF,GAC5B,IAoJckQ,EAlJd,GAAI,CAFUlQ,EAAK+0B,QAGjB,OAAOnsB,EAAMrL,QAAQwkB,iBAAiB,EAExCnZ,EAAMrL,QAAQ07B,gBAAgB,CAC5Bz+B,MAAO,gCACPuE,KAAM,OACN8U,KAAM,QACNqW,UAAW,OACXJ,SAAU,CAAA,EACVM,MAAO,CACL7J,KAAM,CACJhU,KAAM,WACJ,MAAO,CACLq0B,MAAO/8B,EAAM+8B,MACb7hC,KAAM8E,EAAM+8B,MAAM,GAClBjjB,QAAStG,EAAc+9E,gBACvBnlE,OAAQpsB,EAAMqnH,iBAAiB,EAC/B/+G,OAAQ,GACRohE,cAAeghD,EAAmB,CACpC,CACF,EACAruG,SAAoB,gzGACpB5G,SAAU,CACR21C,QAAS,WACP,OAAOm/D,EAASn1H,KAAK8F,KACvB,EACAyvH,UAAW,WACT,IAAI3rH,EAAS5J,KAEb,OAAQA,KAAKg2D,QAAQ9iD,QAAU,IAAIc,OAAO,SAAUuhB,GAClD,MAAO,mBAAqB3rB,EAAO9D,MAAOovH,EAAczrH,SAAS8rB,EAAEsR,gBAAgB,CAAC,CACtF,CAAC,CACH,EACA04E,UAAW,WACT,MAAO,CAACv/G,KAAKu1H,WAAa,CAACC,EAAYx1H,KAAKg2D,OAAO,CACrD,EACAhS,KAAM,WACJ,MAAO,mBAAqBhkD,KAAK8F,KAAO,eAC1C,EACA0xB,IAAK,WACH,OAAOx3B,KAAKu/G,UAAY,+BAAiC,6BAC3D,EAEAtgD,OAAQ,CACNjlD,IAAK,WACH,OAAOo7G,EAAMn2D,MACf,EACAh5C,IAAK,SAAahd,GACZ8H,OAAOC,MAAM/H,CAAC,GAAKA,EAAI,EACzBjJ,KAAKi/D,OAASm2D,EAAMn2D,QAItBm2D,EAAMn2D,OAASl1C,KAAKq4B,MAAMn5C,GAAK,MAAQ0G,EAAMrL,QAAQyL,WAAW,KAAK,EAAE08D,YAAY,EAAI,EAAIj7D,GAAGC,KAAKi7D,MAAMC,gBAAgBC,QAAQ,EAE7HwoD,EAAMC,UAA2B,EAAfD,EAAMn2D,SAC1Bm2D,EAAMC,SAAS/tF,YAAY,EAAEmuF,UAAUL,EAAMn2D,MAAM,EACnDk2D,EAAkB,QAAEvE,gBAAgB5wH,KAAK8F,IAAI,GAEjD,CACF,CACF,EACAqH,MAAO,CACL6pB,OAAQ,WACNh3B,KAAK+gE,MAAM,CACb,EACAj7D,KAAM,WACJ,IAAIyR,EAASvX,KAGbA,KAAK+gE,MAAM,EAAEp0D,KAAK,WAChB,OAAO4K,EAAOm+G,kBAAkB,CAClC,CAAC,CACH,EACA1/D,QAAS,WACP,IAAIpI,EAAS5tD,KAEbA,KAAK2nC,MAAM1zB,QAAQ,SAAU1V,GAC3B,OAAO42H,EAAkB,QAAE5vG,QAAQwF,UAAUsB,OAAO,MAAQ9tB,EAAGA,IAAMqvD,EAAO9nD,IAAI,CAClF,CAAC,CACH,EACAoN,OAAQ,WACNlT,KAAK21H,yBAAyB,CAChC,EAGAn+F,IAAK,WACHx3B,KAAK01H,kBAAkB,CACzB,EAEAphD,cAAe,CACbz3C,UAAW,CAAA,EACXF,QAAS,SAAiB52B,EAAO6yF,GAC/B,IAOI5vF,EAGE2nG,EAVFzgD,EAASlwD,KAEbA,KAAK21H,yBAAyB,EAE1BltH,KAAAA,IAAcmwF,IAGd5vF,EAAM2G,EAAMrL,QAAQyL,WAAW,KAAK,EAEpC,YAAchK,IACZ4qG,EAAW3nG,EAAIwtD,QAAQ,oBAAqB,SAAUjhC,GACxDvsB,EAAIszB,YAAY/G,EAAEvb,IAAI,IAAI,CAAC,EAC3Bk2C,EAAO6Q,MAAM,CACf,CAAC,GACGllD,EAAS1Y,SAASsiB,cAAc,iBAAiB,GAC9C1f,MAAQ,OACf8V,EAAOw6C,cAAc,IAAI+hC,MAAM,QAAQ,CAAC,EACxC5kF,EAAE,iBAAiB,EAAEmqE,IAAI,kBAAmB,WAC1C,OAAO30E,EAAIskF,GAAG,oBAAqBqjB,CAAQ,CAC7C,CAAC,EACD3nG,EAAI4sH,kBAAkB,GAGnB,CAAC,UAAW,WAAWnsH,SAAS1D,CAAK,GAAKA,IAAUuvH,EAAmB,GAC1EtsH,EAAIszB,YAAYv2B,CAAK,EAGnB,CAAC,UAAW,WAAW0D,SAAS1D,CAAK,IAAK,YAAcuvH,EAAmB,GAC7EtsH,EAAIszB,YAAY,CAEpB,CACF,CACF,EACA5X,QAAS,CAIPgxG,kBAAmB,WACjBliH,EAAExT,KAAK6kB,MAAMzQ,KAAK,EAAEm5C,QAAQ,OAAO,EACnC/5C,EAAExT,KAAK6kB,MAAMzQ,KAAK,EAAE1K,KAAK,yBAAyB,EAAE0N,KAAK7Y,EAAEyB,KAAKw3B,GAAG,CAAC,EACpEhkB,EAAExT,KAAK6kB,MAAMzQ,KAAK,EAAEm5C,QAAQ,MAAM,EAAE,GAAGn2C,KAAO7Y,EAAEyB,KAAKw3B,GAAG,EACxDhkB,EAAExT,KAAK6kB,MAAMzQ,KAAK,EAAEugC,QAAQ,QAAQ,CACtC,EACAghF,yBAA0B,WAGnB,CAAC,UAAW,WAAWlsH,SAASzJ,KAAKs0E,aAAa,GAAKt0E,CAAAA,KAAKkT,OAAO9T,QAAWY,KAAKkT,OAAOlK,IAAI,SAAUusB,GAC3G,OAAOA,EAAEhP,MAAM,CACjB,CAAC,EAAE9c,SAASzJ,KAAKs0E,aAAa,IAC5Bt0E,KAAKs0E,cAAgB,UAEzB,EACAvT,OACM9pD,EAAQjL,EAAkB,YAC5B,IACIqqB,EADAomC,EAASz8D,KAGbA,KAAKkT,OAAOyX,OAAO,CAAC,EAEpB3qB,KAAK2nC,MAAM3zB,OAAO,SAAUzV,GAC1B,OAAOA,IAAMk+D,EAAO32D,IACtB,CAAC,EAAEmO,QAAQ,SAAU1V,GACf,kBAAoBA,IACtB62H,EAAMn2D,OAAS,GAEb,cAAgB1gE,IAClB62H,EAAMvvF,KAAO,MAEX,mBAAqBtnC,IACvB62H,EAAMhhH,MAAQ,KAAKghH,EAAMvhH,QAAU,KAAKuhH,EAAMlvH,YAAc,MAEzD,CAAC,qBAAsB,iBAAiBuD,SAASgzD,EAAO32D,IAAI,IAC/DsvH,EAAMC,SAAW,MAEnBF,EAAS52H,GAAGs3H,QAAU,CAAA,CACxB,CAAC,EAED71H,KAAKg2D,QAAQ85D,cAAgB9vH,KAAKg3B,OAClCh3B,KAAKg2D,QAAQ3pC,OAAO,CAAA,EAAM,CAAE5B,OAAQ0qG,EAAkB,QAAE38G,EAAG,CAAC,EAE5DxY,KAAKg2D,QAAQ9iD,OAAOe,QAAQ,SAAUshB,GACpC,OAAOA,EAAEugG,oBAAoB,CAAC,YAAa,sBAAsBrsH,SAASgzD,EAAO32D,IAAI,CAAC,CACxF,CAAC,EACDiI,MAAM/N,KAAKgO,UAAU,GAEpBqoB,EAAUr2B,KAAKkT,QAAQ9R,KAAKE,MAAM+0B,EAAS4c,EAAmBjzC,KAAKu1H,SAAS,CAAC,EAE1E,mBAAqBv1H,KAAK8F,MAC5B9F,KAAKg2D,QAAQ26D,UAAU,CAAA,CAAK,EAG1B3wH,KAAKg2D,QAAQ6/D,SACfV,EAAkB,QAAEvE,gBAAgB5wH,KAAK8F,IAAI,CAEjD,CAAC,EAED,WACE,OAAOmR,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,GAIF40H,aAAc,SAAsBltH,GAClC,OAAKA,EAAM2P,GAGJhF,EAAW,mBAAqB7D,EAAMrL,QAAQgtC,aAAa,CAChEoxE,UAAa,SACbC,cAAiB,eACjBF,mBAAsB,OACtBD,eAAkB,SACpB,EAAE35G,EAAM2P,GAAG,EAAI,qBAAuB3P,EAAMuO,KAAO,SAAS,EAPnDvO,EAAMuO,IAQjB,EACA4+G,cAAe,SAAuBntH,GACpC,IAQIyW,EARJ,OAAKzW,EAAM2P,IAAM,YAAc3P,EAAM2P,IAGjCy9G,EAAiBtmH,EAAMrL,QAAQyL,WAAW,KAAK,EAAEmmH,wBAAwB,EACzE9hH,GAAQ,EAAIgC,EAAqBI,qBAAqB3N,EAAM2P,EAAE,GAAKy9G,EAAevsH,KAAK,SAAU6rB,GACnG,OAAOA,EAAEvb,IAAI,IAAI,IAAMnR,EAAM2P,EAC/B,CAAC,EAEG8G,EAAO,YAAczW,EAAM2P,IAAOpE,EAAsB,aAAezE,EAAMrL,QAAQgtC,aAAal9B,EAAM47B,UAAU,EAAI,MAAQ,WAAW,EAAI,qBAAnG,GACvCx8B,EAAW,SAAW8L,EAAOzW,EAAMuO,KAAO,SAAS,GARjDvO,EAAMuO,IASjB,CACF,EACAgV,QAAS,WACP+oG,EAAkB,QAAEpyG,YAAc/iB,KAClC2P,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAK,EACrClyH,KAAK+gE,MAAM,CACb,EAEAzyB,cAAe,WACb3+B,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAI,EACpCtnH,EAAM+8B,MAAM1zB,QAAQ,SAAU1V,GAC5B42H,EAAS52H,GAAG8tB,OAAO,CAAA,CAAK,EACxB8oG,EAAS52H,GAAGs3H,QAAU,CAAA,EACtBV,EAAkB,QAAE5vG,QAAQwF,UAAUsB,OAAO,MAAQ9tB,EAAGA,IAAMqM,EAAM+8B,MAAM,EAAE,EAC5EwtF,EAAS52H,GAAG2U,OAAOe,QAAQ,SAAUshB,GACnC,OAAOA,EAAEugG,oBAAoB,CAAA,CAAK,CACpC,CAAC,CACH,CAAC,CACH,CACF,CACF,CACF,CAAC,CACH,CAAC,EACMlrH,EAxUiF,MAAM,IAAIrC,UAAU,mCAAmC,CAyUjJ,CA8YA,OAntB+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA8U/dlB,EAAa6tH,EAAS,CAAC,CACrBhtH,IAAK,UACLlC,MAAO,SAAiBD,GACtB,IACIqwH,EAaAngE,EAdAsY,EAAStuE,KAITA,KAAK2nC,MAAMl+B,SAAS3D,CAAI,IAK5B9F,KAAK2nC,MAAMhd,OAAO3qB,KAAK2nC,MAAMl+B,SAAS,gBAAgB,EAAIzJ,KAAK2nC,MAAM2K,QAAQ,gBAAgB,EAAItyC,KAAK2nC,MAAMvoC,OAAQ,EAAG0G,CAAI,EAKvHkwD,EAAUm/D,EAASrvH,GAAQ,IAAIwmH,EAAqBhoH,QAAQ,CAC9D/B,KAAMuD,EACN8nF,QAAS,CAAA,EACT9/E,QAAS,CAAA,EACTyhH,cAAe,CAAC,iBAAkB,sBAAsB9lH,SAAS3D,CAAI,EAAIovH,EAAgB,GACzFlH,YAAa,mBAAqBloH,EAAO,eAAiB,aAC1DgoH,iBAAkB,CAChBpL,UAAalxG,GAAGyB,YAAYmjH,QAC5BzT,cAAiBnxG,GAAGyB,YAAY6/G,KAChCrQ,mBAAsBjxG,GAAGyB,YAAY6/G,KACrCtQ,eAAkB9vG,EAA6BpO,OACjD,EAAEwB,GACF2oH,wBAAyB,CAAC,qBAAsB,iBAAiBhlH,SAAS3D,CAAI,EAAI,CAAEA,KAAM,uBAAyBA,EAAO,UAAY,QAAS,EAAI,GACnJoN,OAAQmjH,EAAoBvwH,CAAI,EAChCyrH,SAAU,SAAkB/5G,GAC1B,IAUM8+G,EA2DEr3G,EArEJ0uD,EAAS3tE,KAET0wG,EAASl5F,EAAMk5F,OAGf,UAAYA,IAIZ,cAAgB5qG,IACdwwH,EAAa,KACjBt2H,KAAKkwH,aAAaruH,GAAG,WAAY,SAAUxD,GACzC,OAAOi4H,EAAaj4H,EAAEkT,UACxB,CAAC,EACDvR,KAAKkwH,aAAaruH,GAAG,UAAU,EAAIwxE,EAAU8E,UAAU,SAAU95E,GAC/D+2H,EAAMvvF,KAAOr0B,GAAGguD,OAAO+2D,eAAe,CAACD,EAAYj4H,EAAEkT,WAAW,EAChEo8D,EAAOtX,cAAc,CAAEvwD,KAAM,UAAW05D,OAAQ41D,EAAMvvF,IAAK,CAAC,EAC5DywF,EAAa,KACT3oD,EAAOwiD,eACTxiD,EAAOthD,OAAO,CAElB,CAAC,CAAC,EACFrsB,KAAKw2H,YAAY,CACf1F,UAAW,UACXjC,SAAU7uH,KAAK6B,GAAG,UAAW,WAC3B,OAAOszH,EAAkB,QAAEvE,gBAAgB,WAAW,CACxD,CAAC,CACH,CAAC,GAGC,kBAAoB9qH,GACtB9F,KAAKkwH,aAAaruH,GAAG,YAAa,SAAUxD,GAC1C,IAAIoiE,EAAWpiE,EAAEwV,QAAQyzB,YAAY,EACrCm5B,EAASg1D,UAAUL,EAAMn2D,MAAM,EAC/BwB,EAAS5+D,GAAG,SAAU,WACpB,OAAOuzH,EAAMn2D,OAASwB,EAASg2D,UAAU,CAC3C,CAAC,EACkB,EAAfrB,EAAMn2D,QACR0O,EAAOuiD,aAAawG,cAAc,CAEtC,CAAC,EAGC,CAAC,qBAAsB,iBAAiBjtH,SAAS3D,CAAI,IACvD9F,KAAKkwH,aAAaruH,GAAG,WAAW,EAAIwxE,EAAU8E,UAAU,SAAU95E,GAEhE,IACM4gE,EADF,kBAAoBn5D,IAClBm5D,EAAS5gE,EAAEwV,QAAQyzB,YAAY,EAAEmvF,UAAU,EAE/CrB,EAAMn2D,OAASA,GAAU,MAAQtvD,EAAMrL,QAAQyL,WAAW,KAAK,EAAE08D,YAAY,EAAI,EAAIj7D,GAAGC,KAAKi7D,MAAMC,gBAAgBC,UAErHwoD,EAAMC,SAAWh3H,EAAEwV,QACnB85D,EAAOtX,cAAc,CAAEvwD,KAAM,UAAW+N,QAASuhH,EAAMC,QAAS,CAAC,EAC7D1nD,EAAOwiD,eACTxiD,EAAOthD,OAAO,CAElB,CAAC,CAAC,EAEFrsB,KAAKw2H,YAAY,CACf1F,UAAW,UACXjC,SAAU7uH,KAAK6B,GAAG,UAAW,WAC3B,OAAOszH,EAAkB,QAAEvE,gBAAgB9qH,CAAI,CACjD,CAAC,CACH,CAAC,GAGC,mBAAqBA,KAEvB9F,KAAKkwH,aAAaruH,GAAG,UAAU,EAAIwxE,EAAU8E,WACvCl5D,EAAQjT,EAAkB,UAAW3N,GACvC+2H,EAAMlvH,YAAc7H,EAAEkT,WACtBo8D,EAAOtX,cAAc,CAAEvwD,KAAM,SAAUI,YAAakvH,EAAMlvH,WAAY,CAAC,EACnEynE,EAAOwiD,eACTxiD,EAAOthD,OAAO,CAElB,CAAC,EAEM,SAAU+J,GACf,OAAOnX,EAAM3d,MAAMtB,KAAMmB,SAAS,CACpC,EACC,CAAC,EAGJnB,KAAKw2H,YAAY,CACf1F,UAAW,SACXjC,SAAU7uH,KAAK6B,GAAG,SAAUmK,EAAkB,YAE5C2D,EAAMrL,QAAQ4nF,aAAa,EAG3B,IACE,IAmBIn9B,GAnBQhhD,MAAMyE,EAAOlO,QAAQ0S,QAAQ,oBAAqB,CAC5DgpC,OAAQ,CACNzrC,cAAe1I,EAAcvH,QAAQwc,QAAQjY,MAAM0L,eAAiB,EACpErO,YAAakvH,EAAMlvH,WACrB,EACAq6C,QAAS,CAEP9uB,KAAM,SAAc1S,GAClB,IAAI43G,EAAa53G,EAAMzL,KAEnBkwC,EAAQzkC,EAAMykC,MAEd/xB,EAAuB,KAHDhpB,KAAAA,IAAfkuH,EAA2B,GAAKA,GAG3Bv3H,OAGhB,OADAokD,EAAMt9C,YAAcurB,EAAO+xB,EAAMt9C,YAAc,KACxCurB,CACT,CACF,CACF,CAAC,GACsBne,KACnBA,EAAsB7K,KAAAA,IAAfsmD,EAA2B,GAAKA,EAEvCz7C,EAAKlU,QAAUkU,EAAK,GAAGoB,SAAStV,SAClCg2H,EAAMvhH,QAAUP,EAAK,GAAGoB,SAAS,GACjC0gH,EAAMhhH,MAAQd,EAAK,GAAGc,MACtB+gH,EAAkB,QAAEvE,gBAAgB,gBAAgB,EAIxD,CAFE,MAAOvyH,IAGX,CAAC,CAAC,CACJ,CAAC,EAED2B,KAAK2wH,UAAU,CAAA,CAAK,EAExB,EAEAzB,SAAU,CAAA,CACZ,CAAC,EAEDv/G,EAAMrL,QAAQyL,WAAW,KAAK,EAAE6mH,WAAW9wH,EAAMA,EAAMkwD,EAAS,CAAA,EAAO,CAAA,CAAK,EAE5EA,EAAQk6D,aAAaruH,GAAG,gBAAiB,SAAUxD,GAEjDiwE,EAAOojD,eAAerzH,EAAEoJ,OAAOuS,IAAI3b,EAAE4J,GAAG,EAAG+tD,EAAQg4D,WAAW,EAE9D1/C,EAAO0/C,YAAch4D,EAAQg4D,YAEzB,CAAC,YAAa,sBAAsBvkH,SAAS3D,CAAI,IACnD+F,EAAcvH,QAAQyrC,gBAAkB1xC,EAAEoJ,OAAOuS,IAAI3b,EAAE4J,GAAG,EAE9D,CAAC,EAGDjI,KAAK+vH,UAAY/vH,KAAK+vH,WAAa,GACnC/vH,KAAK+vH,UAAU97G,QAAQ,SAAU6sC,GAC/B,OAAOA,EAAQ,CACjB,CAAC,EACD9gD,KAAK+vH,UAAUplG,OAAO,CAAC,GACtBwrG,EAAan2H,KAAK+vH,WAAW3uH,KAAKE,MAAM60H,EAAYljF,EAAmBjzC,KAAK2nC,MAAMgjD,QAAQ,SAAUpsF,GACnG,IAAIy3D,EAAUm/D,EAAS52H,GACvB,OAAQy3D,EAAQ9iD,QAAU,IAAIlK,IAAI,SAAUoL,GAC1C,OAAOigB,EAAauG,GAAGhtB,OAAO,WAC5B,OAAOwG,EAAMvL,MAAMiF,OACrB,EAAG,WAEGwgE,EAAOvrD,aACTvP,EAAE86D,EAAOvrD,YAAY8B,MAAMzQ,KAAK,EAAEugC,QAAQ,QAAQ,EAGpDqhB,EAAQ26D,UAAU36D,EAAQ5lD,UAAU,GAAKolH,EAAYx/D,CAAO,CAAC,EAC7DA,EAAQk6D,aAAauB,UAAUz7D,EAAQ6gE,UAAU,CAAC,CACpD,CAAC,CACH,CAAC,CACH,CAAC,CAAC,CAAC,EACL,CAMF,EAAG,CACD5uH,IAAK,gBACLlC,MAAO,SAAuBqO,GAE5B,IAAIk9G,EAAMnuH,SAASsiB,cAAc,4CAA4C,EACzE6rG,GACFA,EAAIvmG,UAAUsB,OAAO,SAAU,CAACjY,CAAK,EAGnCpU,KAAK+iB,cACP/iB,KAAK+iB,YAAYuxD,cAAgBlgE,EAAQA,EAAMmS,MAAM,EAAI,WAG3DvmB,KAAK2nC,MAAM1zB,QAAQ,SAAU1V,GAC3B,IAAIy3D,EAAUm/D,EAAS52H,GAEnBuxB,EAAW1b,GAAS4hD,EAAQ9iD,OAAOxJ,KAAK,SAAU6rB,GACpD,OAAOA,IAAMnhB,CACf,CAAC,EACGmhH,EAAYnhH,GAASA,EAAM0iH,YAAY,IAAM9gE,EAAQ+gE,iBAAiB,GAAK,IAAIttH,SAAS2K,EAAMyyB,gBAAgB,CAAC,EAE/G,CAAC,YAAa,qBAAsB,iBAAiBp9B,SAASlL,CAAC,GACjEy3D,EAAQ26D,UAAU36D,EAAQ5lD,UAAU,IAAMgE,EAAQ0b,GAAYA,EAASkgB,UAAU,EAAIwlF,EAAYx/D,CAAO,EAAE,EAGxG,mBAAqBz3D,GACvBy3D,EAAQ26D,UAAU36D,EAAQ5lD,UAAU,GAAKmlH,GAAaC,EAAYx/D,CAAO,CAAC,EAG5EA,EAAQk6D,aAAauB,UAAUz7D,EAAQ6gE,UAAU,CAAC,CACpD,CAAC,CACH,CAMF,EAAG,CACD5uH,IAAK,qBACLlC,MAAO,SAA4BquB,GACjC,IAAIhgB,EAAQggB,EAAMhgB,MACd4iH,EAAY5iG,EAAM4iG,UAEtBh3H,KAAK2nC,MAAM1zB,QAAQ,SAAU1V,GAC3B,IAAIy3D,EAAUm/D,EAAS52H,GAEvBy3D,EAAQ9iD,OAASmjH,EAAoB93H,CAAC,EAGlC,cAAgBA,GAClB6V,EAAM0hH,oBAAoB9/D,EAAQ5lD,UAAU,GAAK4lD,EAAQ6gE,UAAU,CAAC,EAItEG,EAAU51H,KAAKizB,EAAauG,GAAGhtB,OAAO,WACpC,MAAO,CAACwG,EAAM0b,SAAU1b,EAAMtG,QAChC,EAAG,WACDkoD,EAAQ26D,UAAU36D,EAAQ5lD,UAAU,IAAMgE,EAAM0b,SAAW1b,EAAMtG,QAAU0nH,EAAYx/D,CAAO,EAAE,EAChGA,EAAQk6D,aAAauB,UAAUz7D,EAAQ6gE,UAAU,CAAC,CACpD,EAAG,CAAEh6F,UAAW,CAAA,CAAK,CAAC,CAAC,CACzB,CAAC,CACH,CAMF,EAAG,CACD50B,IAAK,wBACLlC,MAAO,SAA+BqO,GACpC,IAAIu6D,EAAS3uE,KAEbA,KAAK2nC,MAAM1zB,QAAQ,SAAU1V,GAC3B,IAAIy3D,EAAUm/D,EAAS52H,GACvBy3D,EAAQ9iD,OAASmjH,EAAoB93H,CAAC,EAAEyV,OAAO,SAAUuhB,GACvD,OAAOA,EAAEhP,MAAM,IAAMnS,EAAMmS,MAAM,CACnC,CAAC,EACDyvC,EAAQ26D,UAAU36D,EAAQ5lD,UAAU,GAAKolH,EAAYL,EAAS52H,EAAE,CAAC,EACjEy3D,EAAQk6D,aAAauB,UAAUz7D,EAAQ6gE,UAAU,CAAC,CACpD,CAAC,EAEDj3H,WAAW,WACL+uE,EAAO5rD,aACT4rD,EAAO5rD,YAAYg+C,MAAM,CAE7B,CAAC,CACH,CACF,EAAG,CACD94D,IAAK,kBACLlC,OACMouB,EAAQnoB,EAAkB,UAAWlG,GACvC,IAEE,IAYIgqB,EACAmmG,EACAn1G,EAdAk1C,EAAUm/D,EAASrvH,GAEvB6J,EAAMrL,QAAQ4nF,aAAa,EAI3B,cAAgBpmF,GAAQ,OAASsvH,EAAMvvF,MAEvC,mBAAqB//B,GAAQ,CAACsvH,EAAMlvH,YAAakvH,EAAMvhH,QAASuhH,EAAMhhH,OAAO3K,SAAS,IAAI,IAItFqmB,EAAWngB,EAAMrL,QAAQyL,WAAW,KAAK,EAAEwkE,iBAAiB,EAC5D0hD,EAAiBtmH,EAAMrL,QAAQyL,WAAW,KAAK,EAAEmmH,wBAAwB,EACzEp1G,EAAUjV,EAAcvH,QAAQwc,QAEhC,cAAgBhb,IAClBiI,MAAMyE,EAAOlO,QAAQ0S,QAAQ,aAAc,CACzCgpC,OAAQ,CACNna,KAAMuvF,EAAMvvF,KACZtxB,cAAeuM,EAAQjY,MAAM0L,eAAiB,EAC9C0iH,YAAa,CAACnnG,GAAYmmG,EAAejgG,KAAK,SAAUT,GACtD,OAAOA,IAAMzF,CACf,CAAC,EAEDonG,mBAAoB,CAClBC,gBAAiB,CAAA,EACjBC,WAAY,CAAA,EACZC,QAAS,CAAA,CACX,EACAl9C,UAAW,CAAEm9C,UAAW,CAAEhf,IAAK,KAAM,CAAE,EACvCif,YAAa,GAAGj3H,OAAOwgB,EAAQjY,MAAM2uH,gBAAgB,EAAE/tH,SAASusD,EAAQzzD,IAAI,EAC5Ek1H,aAAc,CAAE3H,cAAe95D,EAAQi8D,iBAAiB,CAAE,CAC5D,CACF,CAAC,GAGC,CAAC,iBAAkB,qBAAsB,iBAAiBxoH,SAAS3D,CAAI,IACzEiI,MAAMyE,EAAOlO,QAAQ0S,QAAQ,gBAAiB,CAC5CgpC,OAAQ,CACNpoB,UAAW,mBAAqB9xB,EAAOsvH,EAAMhhH,MAAMg2B,QAAUgrF,EAAMhhH,MAAMg2B,QAAQ,EAAIgrF,EAAMhhH,MAAM4F,IAAI,MAAM,EAAI,GAC/G09G,gBAAiB,mBAAqB5xH,GAAQ,CAACgqB,EAC/Cjc,SAAS,KACP,OAAQ/N,GACN,IAAK,iBACH,OAAOsvH,EAAMvhH,QACf,IAAK,qBACH,OAAOuhH,EAAMC,SACf,IAAK,gBACH,IAAIjuF,EAAOguF,EAAMC,SAAShuF,MAAM,EAEhC,OADAD,EAAKmsF,YAAY/hH,GAAGkvD,KAAK8yD,QAAQmE,WAAWvC,EAAMC,SAAS/tF,YAAY,EAAG,EAAE,CAAC,EACtEF,CACX,CACF,GAAE,EACFjS,SAAU,CACRruB,IAAK,mBAAqBhB,GAAQ,CAACgqB,GAAYmmG,EAAejgG,KAAK,SAAUT,GAC3E,OAAOA,IAAMzF,CACf,CAAC,EACD9b,OAAQ,CACN4jH,SAAU,CAAC,qBAAsB,iBAAiBnuH,SAAS3D,CAAI,IAAM,CAACgqB,GAAYmmG,EAAejgG,KAAK,SAAUT,GAC9G,OAAOA,IAAMzF,CACf,CAAC,EACH,CACF,EACAhqB,MAAOA,GAAQ,IAAIiyB,QAAQ,UAAW,EAAE,GAAKtvB,KAAAA,EAC7C8uH,YAAa,GAAGj3H,OAAOwgB,EAAQjY,MAAM2uH,gBAAgB,EAAE/tH,SAAS,gBAAgB,EAChFguH,aAAc,CAAE3H,cAAe95D,EAAQi8D,iBAAiB,CAAE,CAC5D,EACA1xE,QAAS,CACP9uB,KAAM,SAAcyC,GACd2jG,EAAe3jG,EAAOznB,MAE1B,MAAO,EADsBhE,KAAAA,IAAjBovH,GAAqCA,EAEnD,CACF,CACF,CAAC,GAGH7hE,EAAQ6/D,QAAU,CAAA,EAGpB,CAFE,MAAOx3H,IAGX,CAAC,EAED,SAAyBuiC,GACvB,OAAOzM,EAAM7yB,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,EAAE,EAEK8zH,CACT,GAAE3I,EAAqBhoH,OAAO,EAO9B,SAASkxH,EAAYx/D,GAEnB,IAAIlmC,EAAWngB,EAAMrL,QAAQyL,WAAW,KAAK,EAAEwkE,iBAAiB,EAGhE,MAAI,mBAAqBve,EAAQzzD,KACxB,EAEPutB,CAAAA,GAAYA,CAAAA,EAASkgB,UAAU,GAE/BgmB,CAAAA,EAAQ9iD,OAAO8iB,KAAK,SAAUT,GAC5B,OAAOA,IAAMzF,GAAYyF,EAAEya,UAAU,GAAKza,EAAEuiG,aAAa,CAAExf,IAAK,KAAM,CAAC,CACzE,CAAC,GAAK3oG,CAAAA,EAAMrL,QAAQyL,WAAW,KAAK,EAAEmmH,wBAAwB,EAAExsH,KAAK,SAAU6rB,GAC7E,OAAOA,IAAMzF,GAAY,CAAA,IAASyF,EAAEznB,OACtC,CAAC,GAII,EAAG,EAACkoD,EAAQ9iD,QAAU,IAAI8iB,KAAK,SAAUT,GAC9C,OAAOA,EAAEya,UAAU,CACrB,CAAC,GAAKrgC,CAAAA,EAAMrL,QAAQyL,WAAW,KAAK,EAAEmmH,wBAAwB,EAAElgG,KAAK,SAAUT,GAC7E,OAAOA,EAAEznB,OACX,CAAC,EACH,CAKA,SAASuoH,EAAoBvwH,GAC3B,IAEIyvH,EAF0B32H,EAAQ,cAAc,EAAE0F,QAAQ+jG,wBAEtB0vB,wBAAwB,EAChE,MAAO,GAAGz3H,OAAO2yC,EAAmB,IAAIua,IAAI,GAAGltD,OAAO2yC,EAAmBsiF,EAAU5qC,QAAQ,SAAU/qD,GACnG,OAAOA,EAAE6qC,UAAU,CAAEtH,SAAU,CAAA,EAAMi0D,WAAY,CAAA,EAAMD,gBAAiB,CAAA,CAAK,EAAG,CAAEG,UAAW,CAAEhf,IAAK,KAAM,CAAE,CAAC,CAC/G,CAAC,EAAEtkG,OAAO,SAAUuhB,GAClB,MAAO,QAAUA,EAAEyiG,YAAY,QAAQ,EAAE5tF,QAAQ,CACnD,CAAC,CAAC,EAAG6I,GAAoBtjC,EAAMrL,QAAQyL,WAAW,KAAK,EAAEmmH,wBAAwB,GAAK,IAAIliH,OAAO,SAAUuhB,GACzG,MAAO,mBAAqBzvB,GAAOovH,EAAczrH,SAAS8rB,EAAEsR,gBAAgB,CAAC,CAC/E,CAAC,CAAC,EAAGoM,EAAmB,mBAAqBntC,EAAOyvH,EAAU5qC,QAAQ,SAAU/qD,GAC9E,OAAOA,EAAE6qC,UAAU,CAAEtH,SAAU,CAAA,EAAMkR,UAAW,CAAA,EAAM8iD,gBAAiB,CAAA,CAAK,EAAG,EAAE,CACnF,CAAC,EAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CACb,CAEA,EAAE,CAAC1jG,gBAAgB,IAAIiL,eAAe,IAAInjB,WAAW,IAAIiyG,kCAAkC,IAAIz4G,8CAA8C,IAAIE,gBAAgB,IAAInD,eAAe,IAAIo8F,eAAe,IAAIz/F,oBAAoB,IAAIiK,4BAA4B,IAAIohE,iBAAiB,GAAG,GAAGm+C,IAAI,CAAC,SAASr5H,EAAQU,EAAOJ,GACvT6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQg5H,aAAezvH,KAAAA,EAEvB,IAAIrB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAEjV,SAAP+nF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAAze,IAEIxxE,EAAgBxf,EAAQ,eAAe,EAEvCqoE,EAA0BroE,EAAQ,8BAA8B,EAEhEooE,EAA0BpoE,EAAQ,8BAA8B,EAWpE,IACIL,EADWK,EAAQ,UAAU,EAChBL,EAEEW,EAAQg5H,cAAyBvK,IAClDxlH,IATiBC,EASP8vH,EAT+B,GAA0B,YAAtB,OAAO5vH,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAW1M,SAAS4vH,IACP,IAAI1vH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAhB1DuH,EAkBL1I,KAlBeqH,EAkBT6wH,EAlBwB,GAAI,EAAExvH,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,EAoB/IC,EAAKf,OAAS,gBACde,EAAKolF,QAAU,CAAA,EAEXhjF,GArBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAqBpMrJ,MAAOk4H,EAAa/uH,WAAapB,OAAOqB,eAAe8uH,CAAY,GAAG/4H,KAAKa,KAAMwI,CAAI,CAAC,EAG7H,OADAoC,EAAM0hB,SAAW9jB,EAAK8jB,UAAY,CAAA,EAC3B1hB,CACT,CAgJA,OAvK+MxC,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAyB/dlB,EAAa8wH,EAAc,CAAC,CAC1BjwH,IAAK,SACLlC,MAAO,SAAgBiD,GACrB,IAAIE,EAAOlJ,KACPm4H,EAAyB,CAAA,EACzBC,EAAkB,CAAA,EAClB7qE,EAAU/5C,EAAExT,KAAKulB,OAAO,EAAEmb,SAAS,QAAQ,EAAE6sB,QAAQ,CACvD2H,KAAM,CAAA,EACN10C,eAAgBhN,EAAExK,EAAIqvH,iBAAiB,CAAC,EACxCn1G,MAAO,QACPE,OAAQ,OACRvV,SAAU,CAAEmgE,UAAW,WACnB,OAAOzvE,EAAE,sCAAsC,CACjD,CAAE,EACJ6yD,wBAAyBpxD,KAAKssB,SAAW,CAAC,EAAI,EAC9CyiD,UAAW,WACT,IAAI92C,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7E+2F,EAAS,KACTp5B,EAAQ,KAAA,EAgBZ,OAdI7mC,EAAO24B,KAAKnnD,SAAS,IAAI,EAE3Bq1D,EAAQ7mC,EAAO24B,KAAKhuC,MAAM,IAAI,EAAE,GACvB7R,OAAOy9D,UAAUz9D,OAAOknB,EAAO24B,IAAI,CAAC,GAA2B,EAAtB7/C,OAAOknB,EAAO24B,IAAI,IACpEkO,EAAQ/tD,OAAOknB,EAAO24B,IAAI,IACb1nD,EAAKm/D,OAAO,KACvB6vB,EAAS,CACP1/E,GAAIsmD,EACJ1nD,KAAM,KAAO6gB,EAAO24B,KACpB2xD,IAAK,CAAA,CACP,EACA+V,EAAsB,GAGnBpgC,CACT,CACF,CAAC,EAMD,SAASogC,IACP/qE,EAAQ7jD,KAAK,QAAQ,EAAEooH,KAAK,SAAUppG,EAAO/e,GAC3C,MAAO,CAACT,EAAKm/D,OAAO5+D,SAAS,CAAIE,EAAO5D,KAAK,GAAKyN,EAAE7J,CAAM,EAAE3C,OAAO,CACrE,CAAC,CACH,CAEA,SAASuxH,EAAajlH,IAChBi6C,EAAQ7jD,KAAK,iBAAmB4J,EAAKkF,GAAK,IAAI,EAAEpZ,OAClDmuD,EAAQ3pB,IAAItwB,EAAKkF,EAAE,GAEnB8/G,EAAsB,EACtB/qE,EAAQ3nC,OAAO,IAAI4yG,OAAOllH,EAAK8D,KAAM9D,EAAKkF,GAAI,CAAA,EAAM,CAAA,CAAI,CAAC,IAHpCm8B,QAAQ,QAAQ,CAKzC,CAjBA3rC,EAAInH,GAAG,cAAe,WACpB,OAAO0rD,EAAQA,QAAQ,OAAO,CAChC,CAAC,EAiBDvkD,EAAInH,GAAG,UAAW,WAChB,IACMi9D,EADFq5D,GAEFI,EAAa,CACX//G,GAFEsmD,EAAQ77B,UAAS,EAAI+jC,EAAwBkG,wBAAwBltE,KAAKklE,QAAQ,EAAEoH,cAAc,EAAGtsE,KAAKklE,QAAQ,EAAE5N,cAAc,EAAEmhE,SAAS,CAAC,CAAC,EAGjJrhH,KAAM,KAAO0nD,EACbyjD,IAAK,CAAA,CACP,CAAC,EACD4V,EAAyB,CAAA,GAEzBC,EAAkB,CAAA,CAEtB,CAAC,EAEgC,SAA7BM,IACF1vH,EAAIk8D,QAAQ,EAAErjE,GAAG,oBAAqB,WACpC,OAAOs2H,EAAyB,CAACC,CACnC,CAAC,CACH,CAEAM,EAA2B,EAE3B1vH,EAAInH,GAAG,cACE62H,CACR,EAEDnrE,EAAQ1rD,GAAG,iBAAkB,SAAUxD,GACrC+5H,EAAkB,CAAA,EACd9kH,EAAOjV,EAAE45B,OAAO3kB,KAChBA,EAAKivG,MACP+V,EAAsB,EACtBC,EAAajlH,CAAI,GAEnBtK,EAAIk8D,QAAQ,EAAEyzD,eAAc,EAAI1xD,EAAwBsG,wBAAwB,CAAIj6D,EAAKkF,GAAIxP,EAAIk8D,QAAQ,EAAE5N,cAAc,EAAEmhE,SAAS,CAAC,CAAC,CACxI,CAAC,CACH,CACF,EAAG,CACDxwH,IAAK,SACLlC,MAAO,SAAgBiD,GACrB,IAKI4vH,EASAC,EACAh9G,EACAi9G,EAaEC,EA7BD/vH,IAKD4vH,EAAe31F,UAAS,EAAI+jC,EAAwBkG,wBAAwBlkE,EAAIk8D,QAAQ,EAAEoH,cAAc,EAAGtjE,EAAIk8D,QAAQ,EAAE5N,cAAc,EAAEmhE,SAAS,CAAC,CAAC,EACxJz4H,KAAKqoE,OAASjqD,EAAc+uD,aAAankE,IAAI,SAAU42B,GACrD,OAAOA,EAAE75B,KACX,CAAC,EAAEiO,OAAO,SAAU4rB,GAClB,OAAOA,EAAIg5F,CACb,CAAC,EACD54H,KAAKqoE,OAAO/tD,QAAQs+G,CAAY,EAG5BC,EAAM11H,SAASC,cAAc,KAAK,EAClCyY,EAAS1Y,SAASC,cAAc,QAAQ,EACxC01H,EAAW/wH,OAAO+tC,OAAO3yC,SAASC,cAAc,UAAU,EAAG,CAAE8kB,MAAO,EAAG,CAAC,EAE9EloB,KAAKqoE,OAAOp0D,QAAQ,SAAU6qD,EAAOp2C,GACnCowG,EAASp1H,YAAYqE,OAAO+tC,OAAO3yC,SAASC,cAAc,QAAQ,EAAG,CACnE2C,MAAO+4D,EACP1nD,KAAM,KAAO0nD,EACbhvC,SAAU,IAAMpH,CAClB,CAAC,CAAC,CACJ,CAAC,EAED7M,EAAOnY,YAAYo1H,CAAQ,EAEtB94H,KAAKssB,YACJysG,EAAY51H,SAASC,cAAc,UAAU,GACvC8kB,MAAQ,SAClBrM,EAAOnY,YAAYq1H,CAAS,GAG9BF,EAAIn1H,YAAYmY,CAAM,EAGtB7b,KAAKulB,QAAUszG,EACfrlH,EAAExT,KAAKulB,OAAO,EAAEtiB,IAAI,SAAU,MAAM,EAEpCjD,KAAKyiB,OAAOzZ,CAAG,EACf0mF,EAAKwoC,EAAa72H,UAAU8H,WAAapB,OAAOqB,eAAe8uH,EAAa72H,SAAS,EAAG,SAAUrB,IAAI,EAAEb,KAAKa,KAAMgJ,CAAG,EACxH,CACF,EAAE,EAEKkvH,CACT,GAAE1mH,GAAGwkD,QAAQ28D,OAAO,CAEpB,EAAE,CAACl/F,gBAAgB,IAAIlY,WAAW,IAAI2zD,+BAA+B,IAAIC,+BAA+B,GAAG,GAAG6pD,IAAI,CAAC,SAASp6H,EAAQU,EAAOJ,GAC3I6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+5H,kBAAoBxwH,KAAAA,EAE5B,IAAIotC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAEIkE,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAEnC6f,EAAc7f,EAAQ,kBAAkB,EAIxC0tH,EAAuBxoH,EAFDlF,EAAQ,iCAAiC,CAEE,EAErE,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAyBjb7G,EAAQ+5H,mBAA8B1M,IAC5DpkH,IApBiBC,EAoBP6wH,EApB+B,GAA0B,YAAtB,OAAO3wH,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAsB1M,SAAS2wH,IACP,IAAIzwH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GA3B1DuH,EA6BL1I,KA7BeqH,EA6BT4xH,EA7BwB,GAAI,EAAEvwH,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,EA+B/IC,EAAK0K,OAASzK,KAAAA,IAAcD,EAAK0K,OAAS,GAAK1K,EAAK0K,OAEpD,IAAItI,GA/BR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GA+BpMrJ,MAAOi5H,EAAkB9vH,WAAapB,OAAOqB,eAAe6vH,CAAiB,GAAG95H,KAAKa,KAAM61C,EAAS,CACzItzC,KAAM,aACNiqH,SAAU,aACVtkG,MAAO,IACPgnG,SAAU,CAAA,EACV7gF,QAAS,CAAA,EACTn7B,OAAQ,EACV,EAAG1K,CAAI,CAAC,CAAC,EAmBT,OAjBAoC,EAAM+8B,MAAQ,IAEbn/B,EAAKm/B,OAAS,IAAI1zB,QAAQ,SAAUnO,GACnC,OAAO8E,EAAMmqH,QAAQjvH,CAAI,CAC3B,CAAC,EAED8E,EAAMsI,OAAS1K,EAAK0K,OAGpBtI,EAAMikC,WAAWjkC,EAAMsuH,aAAatuH,EAAMsI,MAAM,CAAC,EAG7CtI,EAAMolC,UAAU,IAElBrgC,EAAMrL,QAAQyL,WAAW,KAAK,EAAEymD,QAAQ,oBAAqB5rD,EAAMuuH,UAAUn3F,KAAKp3B,CAAK,CAAC,EACxF+E,EAAMrL,QAAQyL,WAAW,KAAK,EAAEymD,QAAQ,sBAAuB5rD,EAAMwuH,aAAap3F,KAAKp3B,CAAK,CAAC,GAExFA,CACT,CAoJA,OA5M+MxC,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAiE/dlB,EAAa6xH,EAAmB,CAAC,CAC/BhxH,IAAK,UACLlC,MAAO,SAAiBD,GACtB,IAaUiB,EAbN6C,EAAS5J,KAEbA,KAAK2nC,MAAMvmC,KAAK0E,CAAI,EAEpB9F,KAAK2vH,YAAc3vH,KAAK2vH,aAAe,CACrC4C,QAAS,mCACTC,YAAa,SACbl/G,KAAM,WACJ,MAAO,CAAEq0B,MAAO/9B,EAAO+9B,MAAO7hC,KAAM8D,EAAO+9B,MAAM,EAAG,CACtD,EACA1gB,SAAoB,icACpBvC,QAAS,CACPygB,UACMp+B,EAAOiF,EAAkB,UAAW3N,GACtC,IAAI2K,EAAM2G,EAAMrL,QAAQyL,WAAW,KAAK,EAExClE,EAAcvH,QAAQ6gC,SAAW,CAAA,EACjC9mC,EAAEoJ,OAAO0c,SAAW,CAAA,EACpB,IACE,IAOMmD,EAPF+xG,EAAYtrH,MAAM/E,EAAIswH,eAAe,EAErC,eAAiBt5H,KAAK8F,KAExB+E,OAAO0uH,OAAOF,EAAW,OAASjjF,KAAKC,IAAI,EAAI,MAAM,IAGjD/uB,EAAO,IAAIkyG,UACV5zG,OAAO,QAASyzG,CAAS,EAC9B/xG,EAAK1B,OAAO,sBAAuB5c,EAAIywH,UAAU,WAAW,CAAC,EAC7DnyG,EAAK1B,OAAO,OAAQ5c,EAAI6gF,WAAW,EAAEvjF,SAAS,CAAC,EAC/CuE,OAAO0uH,OAAO,MAAO,MAAO7gG,MAAM,IAAM1vB,EAAI8X,QAAQlb,QAAQ,EAAI,kBAAoBoD,EAAI8X,QAAQyF,MAAM,EAAI,IAAK,CAAEyQ,OAAQ,OAAQ1P,KAAMA,CAAK,CAAC,GAAGwR,KAAK,EAAI,OAASsd,KAAKC,IAAI,EAAI,MAAM,EASzL,CAPE,MAAOh4C,GACPsR,EAAMrL,QAAQ07B,gBAAgB,CAC5Bl6B,KAAM,kBAAoB8G,IAAIrK,KAAO,UAAY,QACjDuY,QAAS,kBAAoBlO,IAAIrK,KAAO,uCAAyC,+BACjFuuB,UAAW,CAAA,CACb,CAAC,CAEH,CAIA,OAFAjlB,EAAcvH,QAAQ6gC,SAAW,CAAA,EAE1B,EADP9mC,EAAEoJ,OAAO0c,SAAW,CAAA,EAEtB,CAAC,EAED,SAAkBiS,GAChB,OAAOrvB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAIJ,EACAwM,QAAS,WACPgC,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAK,CACvC,EACA5jF,cAAe,WACb3+B,EAAMrL,QAAQ4tH,kBAAkB,CAAA,CAAI,CACtC,CACF,CACF,CASF,EAAG,CACDjqH,IAAK,YACLlC,MAAO,SAAmBqO,GACxB,IAAImD,EAASvX,KAEbA,KAAKkT,OAAO9R,KAAKgT,CAAK,EACtBpU,KAAK0N,OAAO1N,KAAKkT,MAAM,EACvBkB,EAAMvS,GAAG,iBAAkB,WACzB,OAAO0V,EAAO7J,OAAO6J,EAAOrE,MAAM,CACpC,CAAC,CACH,CAQF,EAAG,CACDjL,IAAK,eACLlC,MAAO,SAAsBqO,GAC3BpU,KAAKkT,OAASlT,KAAKkT,OAAOc,OAAO,SAAUuhB,GACzC,OAAOA,IAAMnhB,CACf,CAAC,EACDpU,KAAK0N,OAAO1N,KAAKkT,MAAM,CACzB,CAQF,EAAG,CACDjL,IAAK,SACLlC,MAAO,WAGL/F,KAAK6uC,WAAW7uC,KAAKk5H,aAFW,EAAnB/3H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAEzC,CAAC,CAC3C,CAgBF,EAAG,CACD8G,IAAK,eACLlC,MAAO,WACL,IAAImN,EAA4B,EAAnB/R,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAKjF,OAAOnB,KAAKgwC,UAAU,GAAK,CAAC98B,EAAO8iB,KAAK0jG,CAAa,CACvD,CACF,EAAE,EAEKT,CACT,GAAE3M,EAAqBhoH,OAAO,EAW9B,SAASo1H,EAActlH,GACrB,IAAIulH,EAAa,KAAA,EAGjB,MAAIvlH,EAAAA,EAAMkrD,YAAc,CAAClrD,EAAMkrD,WAAW,GAAKlrD,aAAiB5C,GAAG4C,MAAMkqD,UAKrElqD,aAAiB5C,GAAG4C,MAAMwlH,MAAQxlH,aAAiB5C,GAAG4C,MAAMu7D,OAC9DgqD,EAAavlH,EAAM6yB,UAAU,EAAEyqC,OAAO,IACjB,EAAC,EAAIjzD,EAAY8C,YAAYo4G,EAAYn4G,QAAQ,EAIpE,CAAA,EAACpN,EAAM69F,UAAU,EAAE76E,QAAU,IAAIjC,WACnCwkG,EAAavlH,EAAM69F,UAAU,EAAE76E,OAAOtR,MACjB,EAAC,EAAIrH,EAAY8C,YAAYo4G,EAAYn4G,QAAQ,EAI1E,CAEA,EAAE,CAACgsG,kCAAkC,IAAI17G,eAAe,IAAIrD,oBAAoB,IAAIolB,mBAAmB,GAAG,GAAGgmG,IAAI,CAAC,SAASj7H,EAAQU,EAAOJ,GAC1I6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ46H,kBAAoBrxH,KAAAA,EAE5B,IAAIuG,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBstC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAEjV,SAAP+nF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAAze,IAII/jF,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAEnC01B,EAAO11B,EAAQ,WAAW,EAI1B0tH,EAAuBxoH,EAFDlF,EAAQ,iCAAiC,CAEE,EAIjE8T,EAA+B5O,EAFDlF,EAAQ,6CAA6C,CAEF,EAErF,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAW9F,IAAI21H,EAAyB,wCAEzBD,GAA8BvN,IAChCpkH,IARiBC,EAQP0xH,EAR+B,GAA0B,YAAtB,OAAOxxH,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAU1M,SAASwxH,IACP,IAOIlvH,EAPApC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAf1DuH,EAiBL1I,KAjBeqH,EAiBTyyH,EAjBwB,GAAMpxH,aAAoBrB,EAoGxE,OA9EIuD,GApBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAoBpMrJ,MAAO85H,EAAkB3wH,WAAapB,OAAOqB,eAAe0wH,CAAiB,GAAG36H,KAAKa,KAAM61C,EAAS,GAAIrtC,EAAM,CACnJolF,QAAS,CAAA,EACT9/E,QAAS,CAAA,EACTvL,KAAM,aACNiqH,SAAU,aACV0C,SAAU,CAAA,EACVhnG,MAAO,IACP4lG,iBAAkBp7G,EAA6BpO,QAC/CmqH,wBAAyB,CAAEh/F,OAAQ,eAAgB,EACnDu+F,YAAa,eACf,CAAC,CAAC,CAAC,GAEG/lH,IAAM4D,EAAcvH,QAAQo2B,KAAK09E,WAAW4hB,OAE9CpvH,EAAM3C,KACRqsB,EAAK+E,IAAIrf,IAAI,CACX8L,IAAKi0G,EAAyB,aAC9B9hG,OAAQ,CACNzW,SAAU,EACV5G,KAAM,UACN3S,IAAK2C,EAAM3C,GACb,CACF,CAAC,EAAEqP,MAAM,SAAUjZ,GACDuM,EAAMqvH,SAAW57H,EAAE67H,YACrC,CAAC,EAIHluB,QAAQ+tB,EAAyB,OAASnvH,EAAM3C,IAAM,OAAS2C,EAAM3C,IAAM,GAAG,EAI9E2C,EAAMuvH,IAAM,KACZvvH,EAAMwvH,UAAY,KAClBxvH,EAAMooH,KAAO,KACbpoH,EAAM8pH,YAAc,KACpB9pH,EAAMyvH,cAAgB,KACtBzvH,EAAM0vH,mBAAqB,IAAI9oH,GAAGgvD,QAClC51D,EAAM0F,OAAS,CAAA,EAEf1F,EAAMiN,OAAS,IAAIrG,GAAG4C,MAAMkqD,OAAO,CACjClnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAAE5pD,SAAU,EAAG,CAAC,EAC7Cia,MAAO,SAAe9a,GACpB,IAAI3N,EAAc2N,EAAQyzB,YAAY,EAAEmsF,eAAe,EAEnD8G,GADJv6H,KAAKq6H,cAAgBr6H,KAAKq6H,eAAqCn0H,EACtDA,EAAY,GAAKlG,KAAKq6H,cAAc,IACzCG,EAAKt0H,EAAY,GAAKlG,KAAKq6H,cAAc,GACzClyD,EAAW,CAACp+C,KAAK0wG,MAAMD,EAAID,CAAE,EAC7Bt3G,EAAS,CAAC,IAAIzR,GAAGmd,MAAM4vC,MAAM,CAC/BnnD,KAAM,IAAI5F,GAAGmd,MAAM6vC,KAAK,CACtBpnD,KAAM,IACNk/B,KAAM,oBACN9K,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CACtB3iD,MAAO,SACT,CAAC,CACH,CAAC,CACH,CAAC,EAAG,IAAIzK,GAAGmd,MAAM4vC,MAAM,CACrBpjC,MAAO,IAAI3pB,GAAGmd,MAAMkwC,KAAK,CACvB9wC,IAAK,4CACLo6C,SAAUA,CACZ,CAAC,CACH,CAAC,GAED,OADAnoE,KAAKq6H,cAAgBn0H,EACd+c,CACT,CACF,CAAC,EAKGrY,EAAM3C,KACR0H,EAAMrL,QAAQzC,GAAG,eAAgB,WAC3B+I,EAAMwF,UAAU,GAClBxF,EAAMiN,OAAOovB,UAAU,EAAEijB,MAAM,CAEnC,CAAC,EAGIt/C,EApGiF,MAAM,IAAIrC,UAAU,mCAAmC,CAqGjJ,CA6HA,OA9N+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAmG/dlB,EAAa0yH,EAAmB,CAAC,CAC/B7xH,IAAK,gBACLlC,MAAO,SAAuBg1D,GAC5B/6D,KAAK00H,YAAc35D,CACrB,CACF,EAAG,CACD9yD,IAAK,cACLlC,MAAO,SAAqB8oB,GAC1B,IAEI6rG,EAFA9wH,EAAS5J,KAGTkJ,EAAOlJ,KACXA,KAAKsQ,OAAS,CAAA,EACTtQ,KAAKm6H,MACRn6H,KAAKm6H,IAAM,IAAIH,OAAOxyD,KAAKmzD,mBAE7B36H,KAAKm6H,IAAIS,YAAY,CAAEp5G,SAAUqN,CAAS,EAAG,SAAUvb,GACrDpK,EAAKkxH,UAAY,IAAIJ,OAAOxyD,KAAKqzD,mBAAmB13H,SAASo8B,eAAe,YAAY,EAAG,CAAEu7F,iBAAkB,CAAA,CAAK,CAAC,EAIrH5xH,EAAKkxH,UAAUt4H,YAAY,mBAAoB,WAC7C,IACMi5H,EADF7xH,EAAKkH,UAAU,IACb2qH,EAASvpH,GAAGC,KAAKC,UAAU,CAAC1R,KAAKotH,YAAY,EAAErhG,IAAI,EAAG/rB,KAAKotH,YAAY,EAAEv8G,IAAI,GAAI,YAAa3H,EAAKwrH,YAAYn9D,QAAQ,CAAC,EAC5HruD,EAAKoxH,mBAAmB/G,YAAY,IAAI/hH,GAAGkvD,KAAKC,MAAMo6D,CAAM,CAAC,GAC7DL,EAAQxxH,EAAK8pH,KAAKgI,uBAAuBD,CAAM,GACrC,GAAK,GAAK7xH,EAAK8pH,KAAKztD,QAAQ,EAAE,IAAMm1D,EAAM,GAAK,GAAKxxH,EAAK8pH,KAAKztD,QAAQ,EAAE,IAAMm1D,EAAM,GAAK,IAAMA,EAAM,GAAK,KAClHxxH,EAAK8pH,KAAK9tD,QAAQ,EAAE+nD,UAAU8N,CAAM,CAG1C,CAAC,EACGznH,GAAQA,EAAKkO,WACftY,EAAKkxH,UAAUa,OAAO,CACpBC,MAAO,EACPC,QAAS,CACX,CAAC,EAEDjyH,EAAKkxH,UAAUrG,YAAYzgH,EAAKkO,SAAS45G,MAAM,EAEnD,CAAC,EAAEzuH,KAAK,SAAU6H,GACZ/L,KAAAA,IAAc+L,GAChB7E,EAAMrL,QAAQqkB,aAAa,CAE/B,CAAC,EAAErR,MAAM,SAAUjZ,GACDuL,EAAOyiB,OAAO,CAChC,CAAC,CACH,CACF,EAAG,CACDpkB,IAAK,SACLlC,MAAO,SAAgBiD,GACrB,IAAIuO,EAASvX,KAEbA,KAAKgzH,KAAOhqH,EACZ0mF,EAAKoqC,EAAkBz4H,UAAU8H,WAAapB,OAAOqB,eAAe0wH,EAAkBz4H,SAAS,EAAG,SAAUrB,IAAI,EAAEb,KAAKa,KAAMgJ,CAAG,EAEhIhJ,KAAKutH,cAAcvtH,KAAKgzH,KAAK9tD,QAAQ,EAAE5N,cAAc,CAAC,EACtDt3D,KAAKgzH,KAAKp5D,SAAS55D,KAAK6X,MAAM,EAE9B7X,KAAKkwH,aAAaruH,GAAG,SAAU,SAAUkF,GACnCwK,EAAaxK,EAAKwK,WAEtBgG,EAAO8jH,eAAe9pH,CAAU,EAC5BgG,EAAO44G,eACT54G,EAAO8U,OAAO,CAElB,CAAC,CACH,CAOF,EAAG,CACDpkB,IAAK,iBACLlC,MAAO,SAAwBwL,GAC7B,IAAI+pH,EAAqB9pH,GAAGC,KAAKC,UAAUH,EAAYvR,KAAKgzH,KAAK9tD,QAAQ,EAAE5N,cAAc,EAAEC,QAAQ,EAAG,WAAW,EAC7GgkE,EAAsBvsH,EAAessH,EAAoB,CAAC,EAC1DvvG,EAAMwvG,EAAoB,GAC1B1qH,EAAM0qH,EAAoB,GAE1Bv7H,KAAKiI,KACP0H,EAAMrL,QAAQimE,WAAW,CACvBhpE,MAAO,aACP4gB,QAAS,yBAA2BniB,KAAKi6H,SAAW,sMAAwMj6H,KAAKi6H,SAAW,SAAW,IAAM,QAC/R,CAAC,EACIj6H,KAAKi6H,UACRj6H,KAAK+zH,YAAY,CAAEhoG,IAAKA,EAAKlb,IAAKA,CAAI,CAAC,IAGzC7Q,KAAKs6H,mBAAmB/G,YAAY,IAAI/hH,GAAGkvD,KAAKC,MAAMpvD,CAAU,CAAC,EACjE1G,OAAO0gB,KAAK,iEAAmE1a,EAAM,IAAMkb,CAAG,EAElG,CACF,EAAG,CACD9jB,IAAK,cACLlC,MAAO,WACL/F,KAAKs6H,mBAAmB/G,YAAY,IAAI,CAC1C,CACF,EAAG,CACDtrH,IAAK,QACLlC,MAAO,WACL/F,KAAK6X,OAAOovB,UAAU,EAAEijB,MAAM,EAC9BlqD,KAAKs6H,mBAAmB/G,YAAY,IAAI,EACxCvzH,KAAKw7H,YAAY,EACjBx7H,KAAKo6H,UAAY,KACbp6H,KAAKsQ,QACPX,EAAMrL,QAAQqkB,aAAa,EAE7B3oB,KAAKsQ,OAAS,CAAA,CAChB,CACF,EAAG,CACDrI,IAAK,SACLlC,MAAO,SAAgB01H,GACrB/rC,EAAKoqC,EAAkBz4H,UAAU8H,WAAapB,OAAOqB,eAAe0wH,EAAkBz4H,SAAS,EAAG,SAAUrB,IAAI,EAAEb,KAAKa,KAAMy7H,CAAO,EAChIz7H,KAAKoQ,UAAU,EACjBpQ,KAAK6X,OAAOovB,UAAU,EAAEy0F,YAAY,CAAC17H,KAAKs6H,mBAAmB,EAE7Dt6H,KAAKkqD,MAAM,CAEf,CACF,EAAE,EAEK4vE,CACT,GAAExN,EAAqBhoH,OAAO,EAE9BpF,EAAQ46H,kBAAoBA,CAE5B,EAAE,CAACtM,kCAAkC,IAAIz4G,8CAA8C,IAAIjD,eAAe,IAAIrD,oBAAoB,IAAIkwB,YAAY,GAAG,GAAGg9F,IAAI,CAAC,SAAS/8H,EAAQU,EAAOJ,GACrL6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI8vC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAEjV,SAAP+nF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAaze,IAAImb,GAAuC6wB,IACzCzzH,IARiBC,EAQP2iG,EAR+B,GAA0B,YAAtB,OAAOziG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAU1M,SAASyiG,IACP,IAAIviG,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAf1DuH,EAiBL1I,KAjBeqH,EAiBT0jG,EAjBwB,GAAMriG,aAAoBrB,EAkDxE,OA/BIuD,GAjBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAiBpMrJ,MAAO+qG,EAA2B5hG,WAAapB,OAAOqB,eAAe2hG,CAA0B,GAAG5rG,KAAKa,KAAM61C,EAAS,CAC3JgmF,gBAAiB,SAAyBx9H,GACxC,IAAIuL,EAAS5J,KAUb,OARAA,KAAK87H,WAAaz9H,EAAE2K,IAAIk8D,QAAQ,EAAE62D,UAAU,EAE5Cn8H,WAAW,WACLgK,EAAOkyH,aAAez9H,EAAE2K,IAAIk8D,QAAQ,EAAE62D,UAAU,GAClDnyH,EAAOoyH,cAAc39H,CAAC,CAE1B,EAAG,GAAG,EAEC,CAAA,CACT,EACA29H,cAAe,SAAuB39H,GAMpC,OALA2B,KAAKq2D,cAAc,CACjBvwD,KAAM,SACNyL,WAAYlT,EAAEkT,UAChB,CAAC,EAEM,CAAA,CACT,EACA0qH,gBAAiB,SAAyB59H,GAExC,OADAA,EAAE2K,IAAI2lH,YAAY,EAAE5jG,UAAUjkB,IAAI9G,KAAKk8H,OAAO,EACvC,CAAA,CACT,CACF,EAAG1zH,CAAI,CAAC,CAAC,GAEH0zH,QAAU1zH,EAAKinB,QAAU,aAE/B7kB,EAAMkxH,WAAa,KACZlxH,EAlDiF,MAAM,IAAIrC,UAAU,mCAAmC,CAmDjJ,CA0BA,OAzE+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAiD/dlB,EAAa2jG,EAA4B,CAAC,CACxC9iG,IAAK,kBACLlC,MAAO,WACL,MAAO,CAAA,CACT,CACF,EAAG,CACDkC,IAAK,YACLlC,MAAO,SAAmBu6B,GACxB,IAAIt3B,EAAMhJ,KAAKwQ,OAAO,EAClBxH,GACFA,EAAI2lH,YAAY,EAAE5jG,UAAU/jB,OAAOhH,KAAKk8H,OAAO,EAEjDxsC,EAAKqb,EAA2B1pG,UAAU8H,WAAapB,OAAOqB,eAAe2hG,EAA2B1pG,SAAS,EAAG,YAAarB,IAAI,EAAEb,KAAKa,KAAMsgC,CAAI,CACxJ,CACF,EAAG,CACDr4B,IAAK,SACLlC,MAAO,SAAgBiD,GAChBA,GACHhJ,KAAKwQ,OAAO,EAAEm+G,YAAY,EAAE5jG,UAAU/jB,OAAOhH,KAAKk8H,OAAO,EAE3DxsC,EAAKqb,EAA2B1pG,UAAU8H,WAAapB,OAAOqB,eAAe2hG,EAA2B1pG,SAAS,EAAG,SAAUrB,IAAI,EAAEb,KAAKa,KAAMgJ,CAAG,CACpJ,CACF,EAAE,EAEK+hG,CACT,GAAEv5F,GAAGyB,YAAYkpH,OAAO,EAExBj9H,EAAQoF,QAAUymG,CAElB,EAAE,IAAIqxB,IAAI,CAAC,SAASx9H,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI8vC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAEjV,SAAP+nF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAaze,IAAIob,GAAmC4wB,IACrCzzH,IARiBC,EAQP4iG,EAR+B,GAA0B,YAAtB,OAAO1iG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAU1M,SAAS0iG,IACP,IAAIxiG,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAf1DuH,EAiBL1I,KAjBeqH,EAiBT2jG,EAjBwB,GAAMtiG,aAAoBrB,EA8CxE,OA3BIuD,GAjBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAiBpMrJ,MAAOgrG,EAAuB7hG,WAAapB,OAAOqB,eAAe4hG,CAAsB,GAAG7rG,KAAKa,KAAM61C,EAAS,CACnJgmF,gBAAiB,SAAyBx9H,GAExC,OADA2B,KAAKq8H,eAAiBr8H,KAAKs8H,iBAAiBj+H,EAAEq8H,MAAOr8H,EAAE2K,GAAG,EACnDhJ,KAAKq8H,cACd,EACAL,cAAe,SAAuB39H,GASpC,OARI2B,KAAKq8H,gBACPr8H,KAAKq2D,cAAc,CACjBvwD,KAAM,SACN+N,QAAS7T,KAAKq8H,eACd9qH,WAAYlT,EAAEkT,WACd6C,MAAOpU,KAAKu8H,YACd,CAAC,EAEI,CAAA,CACT,EACAN,gBAAiB,SAAyB59H,GACxCA,EAAE2K,IAAIqvH,iBAAiB,EAAE1pG,MAAMc,OAASzvB,KAAKs8H,iBAAiBj+H,EAAEq8H,MAAOr8H,EAAE2K,GAAG,EAAI,UAAY,EAC9F,CACF,EAAGR,CAAI,CAAC,CAAC,EAELkM,EAAWlM,EAAKkM,SAEpB9J,EAAM4xH,UAAYt7H,MAAMkF,QAAQsO,CAAQ,GAAuB,EAAlBA,EAAStV,OAAasV,EAAW,KAC9E9J,EAAM6xH,QAAUj0H,EAAK0K,QAAU,KAC/BtI,EAAMyxH,eAAiB,KACvBzxH,EAAM2xH,aAAe,KACd3xH,EA9CiF,MAAM,IAAIrC,UAAU,mCAAmC,CA+CjJ,CAgDA,OA3F+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA6C/dlB,EAAa4jG,EAAwB,CAAC,CACpC/iG,IAAK,eACLlC,MAAO,SAAsBqO,GAC3B,IAAIsoH,GAAW18H,KAAKy8H,SAAW,IAAIhzH,SAAS2K,CAAK,EAEjD,OADApU,KAAKu8H,aAAeG,GAAWtoH,EACxBsoH,CACT,CACF,EAAG,CACDz0H,IAAK,mBACLlC,MAAO,SAA0B20H,EAAO1xH,GACtC,IAAIY,EAAS5J,KAET28H,EAAe,KACfC,EAAsB5zH,EAAI6zH,sBAAsBnC,EAAO,SAAU7mH,GACnE,MAAIjK,CAAAA,EAAO4yH,WACL5yH,EAAO4yH,UAAU/yH,SAASoK,CAAO,EAMhCA,EAHI,IAIb,EAAG,CACDipH,YAAa98H,KAAK+8H,aAAa/6F,KAAKhiC,IAAI,EACxCg9H,aAAc1wG,UAAYA,SAAS+qF,IAAM,GAAK,CAChD,CAAC,EAID,OAFEslB,EADEC,EACaA,EAEVD,CACT,CACF,EAAG,CACD10H,IAAK,kBACLlC,MAAO,WACL,MAAO,CAAA,CACT,CACF,EAAG,CACDkC,IAAK,SACLlC,MAAO,SAAgBiD,GAChBA,IACHhJ,KAAKwQ,OAAO,EAAE6nH,iBAAiB,EAAE1pG,MAAMc,OAAS,IAElDigE,EAAKsb,EAAuB3pG,UAAU8H,WAAapB,OAAOqB,eAAe4hG,EAAuB3pG,SAAS,EAAG,SAAUrB,IAAI,EAAEb,KAAKa,KAAMgJ,CAAG,CAC5I,CACF,EAAE,EAEKgiG,CACT,GAAEx5F,GAAGyB,YAAYkpH,OAAO,EAExBj9H,EAAQoF,QAAU0mG,CAGlB,EAAE,IAAIiyB,IAAI,CAAC,SAASr+H,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQshE,QAAU/3D,KAAAA,EAElB,IAAIuG,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAEjV,SAAP+nF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAAze,IAEIxxE,EAAgBxf,EAAQ,eAAe,EAEvCynG,GAI4BjiG,EAJYga,IAISha,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAFvFma,EAAkB3f,EAAQ,sBAAsB,EAatCM,EAAQshE,SAAoB08D,IACxC/0H,IANiBC,EAMPo4D,EAN+B,GAA0B,YAAtB,OAAOl4D,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAQ1M,SAASk4D,IACP,IAII51D,EAJApC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAb1DuH,EAeL1I,KAfeqH,EAeTm5D,EAfwB,GAAM93D,aAAoBrB,EA0DxE,OAzCIuD,GAfR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAepMrJ,MAAOwgE,EAAQr3D,WAAapB,OAAOqB,eAAeo3D,CAAO,GAAGrhE,KAAKa,IAAI,CAAC,GAEvG6I,MAAQ,CACZ05G,IAAK,CAAA,EACL15G,MAAO,KACPiF,QAAS,CAAA,CACX,EAGAlD,EAAMuyH,MAAO,EAAI5+G,EAAgBiB,gBAAgB,EAGjD5U,EAAMwyH,UAAY,CAAA,EAGd50H,EAAKqL,SAAWrL,EAAK+P,YAAcrX,MAAMkF,QAAQoC,EAAK+P,UAAU,EAClE/P,EAAK+P,WAAWtE,QAAQ,SAAUhV,GAChC,OAAO2L,EAAMqb,IAAIhnB,EAAGuJ,EAAKqL,QAAQmG,IAAI/a,CAAC,CAAC,CACzC,CAAC,EACQuJ,EAAKqL,SACdjJ,EAAMyyH,cAAc70H,EAAKqL,QAAQE,cAAc,CAAC,EAG9CvL,EAAKqL,UACPjJ,EAAMg2D,MAAMp4D,EAAKqL,QAAQ0S,MAAM,CAAC,EAChC3b,EAAM0yH,gBAAgB90H,EAAKqL,QAAQ0pH,gBAAgB,CAAC,IAGlD98D,EAAWj4D,EAAKqL,SAAWrL,EAAKqL,QAAQyzB,YAAY,KAItD18B,EAAMwyH,UAAY,CAAA,EAClBxyH,EAAM2oH,YAAY9yD,CAAQ,IAIxB9xC,EAAQ/jB,EAAMq5B,SAAS,IAEzBr5B,EAAMu5B,SAASxV,CAAK,EAEf/jB,EA1DiF,MAAM,IAAIrC,UAAU,mCAAmC,CA2DjJ,CA4LA,OAnP+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA+D/dlB,EAAao5D,EAAS,CAAC,CACrBv4D,IAAK,SACLlC,MAAO,WACL,OAAO/F,KAAKm9H,IACd,CAOF,EAAG,CACDl1H,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAKo9H,SACd,CAQF,EAAG,CACDn1H,IAAK,WACLlC,MAAO,SAAkBy3H,GACvB,IAAIn2F,EAAQrnC,KAAKqnC,MAAM,EAUvB,OARAA,EAAM81F,MAAO,EAAI5+G,EAAgBiB,gBAAgB,EACjD6nB,EAAMo2F,eAAe,EAGjBD,GAAM,CAAA,IAAUA,EAAGvvH,UAErBo5B,EAAMphB,IAAIu3G,EAAGj7H,KAAM,IAAI,EAElB8kC,CACT,CAOF,EAAG,CACDp/B,IAAK,QACLlC,MAAO,WACL,IAAI8N,EAAU67E,EAAKlvB,EAAQn/D,UAAU8H,WAAapB,OAAOqB,eAAeo3D,EAAQn/D,SAAS,EAAG,QAASrB,IAAI,EAAEb,KAAKa,IAAI,EAYpH,OAXA6T,EAAQ+sD,MAAM5gE,KAAKumB,MAAM,CAAC,EAEtBvmB,KAAK09H,WAAW,GAClB7pH,EAAQ0/G,YAAY1/G,EAAQyzB,YAAY,EAAED,MAAM,CAAC,GAGnDA,EADY,IAAIm5B,EAAQ,CAAE3sD,QAASA,CAAQ,CAAC,GACtCspH,KAAOn9H,KAAK29H,OAAO,EACzBt2F,EAAMktD,SAASv0F,KAAKmhB,SAAS,CAAC,EAC1BnhB,KAAKoxF,MAAM,GACb/pD,EAAMu2F,OAAO,EAERv2F,CACT,CACF,EAAG,CACDp/B,IAAK,iBACLlC,MAAO,WACL/F,KAAK4gE,MAAM,SAAU,EAAIriD,EAAgBiB,gBAAgB,CAAC,EAC1Dxf,KAAK49H,OAAO,CACd,CACF,EAAG,CACD31H,IAAK,SACLlC,MAAO,WACL/F,KAAK6I,MAAM05G,IAAM,CAAA,CACnB,CACF,EAAG,CACDt6G,IAAK,SACLlC,MAAO,WAEL,OADA/F,KAAK6I,MAAMA,MAAQ,SACZ7I,IACT,CACF,EAAG,CACDiI,IAAK,SACLlC,MAAO,WAEL,OADA/F,KAAK6I,MAAMA,MAAQ,SACZ7I,IACT,CACF,EAAG,CACDiI,IAAK,MACLlC,MAAO,WAEL,OADA/F,KAAK6I,MAAMA,MAAQ,MACZ7I,IACT,CACF,EAAG,CACDiI,IAAK,QACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAM05G,GACpB,CACF,EAAG,CACDt6G,IAAK,UACLlC,MAAO,WACL,MAAO,QAAU/F,KAAK6I,MAAMA,KAC9B,CACF,EAAG,CACDZ,IAAK,YACLlC,MAAO,WACL,MAAO,WAAa/F,KAAK6I,MAAMA,KACjC,CACF,EAAG,CACDZ,IAAK,YACLlC,MAAO,WACL,MAAO,WAAa/F,KAAK6I,MAAMA,KACjC,CACF,EAAG,CACDZ,IAAK,WACLlC,MAAO,SAAkB8C,GACvB7I,KAAK6I,MAAMA,MAAQA,CACrB,CACF,EAAG,CACDZ,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMA,KACpB,CAOF,EAAG,CACDZ,IAAK,4BACLlC,MAAO,WACL,OAAOgC,OAAO8f,QAAQ7nB,KAAK+T,cAAc,CAAC,EAAEC,OAAO,SAAUjN,GACvDkQ,EAAQjI,EAAejI,EAAM,CAAC,EAC9BxE,EAAO0U,EAAM,GAGjB,MAAO,CAACovF,EAAe/hG,QAAQi4F,gBAAgB9yF,SAASlH,CAAI,CAC9D,CAAC,EAAE+yB,OAAO,SAAUpI,EAAO1V,GACrByH,EAAQjQ,EAAewI,EAAO,CAAC,EAItB,OAAb0V,EAHQjO,EAAM,IACNA,EAAM,GAEMiO,CACtB,EAAG,EAAE,CACP,CAMF,EAAG,CACDjlB,IAAK,aACLlC,MAAO,WACL/F,KAAK6I,MAAMA,MAAQ,KACnB7I,KAAK6I,MAAM05G,IAAM,CAAA,CACnB,CAOF,EAAG,CACDt6G,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMiF,OACpB,CAOF,EAAG,CACD7F,IAAK,aACLlC,MAAO,WAGL/F,KAAK6I,MAAMiF,QAFA3M,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,EAG5E,CACF,EAAE,EAEKq/D,CACT,GAAEhvD,GAAGgvD,OAAO,CAEZ,EAAE,CAAC/sC,gBAAgB,IAAIE,uBAAuB,GAAG,GAAGkqG,IAAI,CAAC,SAASj/H,EAAQU,EAAOJ,GACjF6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ4rG,cAAgBriG,KAAAA,EAExB,IAAIrB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAIm2H,EAAal/H,EAAQ,YAAY,EAEjCoxF,GAM4B5rF,EANS05H,IAMY15H,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAJvFoa,EAAa5f,EAAQ,iBAAiB,EAEtC01B,EAAO11B,EAAQ,WAAW,EAI9B,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAYzc,IAAI6zF,EAAah7F,EAAQ,kBAAkB,EAEvBM,EAAQ4rG,eAA0B7Q,IACpD9xF,IATiBC,EASP0iG,EAT+B,GAA0B,YAAtB,OAAOxiG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAW1M,SAASwiG,IACP,IAAItiG,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAhB1DuH,EAkBL1I,KAlBeqH,EAkBTyjG,EAlBwB,GAAMpiG,aAAoBrB,EA8HxE,OA1GIuD,GAlBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAkBpMrJ,MAAO8qG,EAAc3hG,WAAapB,OAAOqB,eAAe0hG,CAAa,GAAG3rG,KAAKa,IAAI,CAAC,GAEnH+9H,UAAYv1H,EAAKkM,UAAY,GACnC9J,EAAMozH,UAAYx1H,EAAK24D,UAAY,KACnCv2D,EAAMqzH,WAAa,GACnBrzH,EAAMszH,SAAW,GAGjBtzH,EAAMqpF,QAAU,CAKdynC,YAAa,WACX,IAAI9xH,EAAS5J,MAEqB,EAAnBmB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAE1E8S,QAAQ,SAAUvV,GACzB,OAAOkL,EAAOu0H,YAAYz/H,CAAC,CAC7B,CAAC,CACH,EAMAmiE,WAAY,SAAoBhtD,GAC9B7T,KAAKm+H,YAAYtqH,CAAO,CAC1B,EAMAmsD,cAAe,SAAuBnsD,GACpC7T,KAAKo+H,eAAevqH,CAAO,CAC7B,EAMAwqH,cAAe,SAAuBxqH,GACpC7T,KAAKs+H,eAAezqH,CAAO,CAC7B,EAKAq2C,MAAO,WACLlqD,KAAKu+H,eAAe,CACtB,EAOAr3F,YAAa,WACX,IAAI3vB,EAASvX,KAETwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE/E,OAAO,EAAIqd,EAAW+8E,YAAYvvF,EAAkB,YAClD,IAGM0I,EAHN,OAAI6C,EAAOymH,WAGLtpH,EAAW6C,EAAOinH,wBAAwB,MAAOjnH,EAAOymH,UAAU92F,YAAY1+B,CAAI,CAAE,EACxF+O,EAAOmkH,YAAYhnH,CAAQ,EACpBA,GAEF6C,EAAOwmH,SAChB,CAAC,CAAC,CACJ,EAQAU,OAAQ,SAAgBC,EAAaC,GACnC,IAAI/wE,EAAS5tD,KAEb,OAAO,EAAIwe,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAI0yH,GAAe9wE,EAAOowE,WACxBU,EAAYE,QAAUhxE,EAAOswE,SACtBnwH,MAAMumB,EAAK+E,IAAIyG,KAAK,CACzBha,IAAK8nC,EAAOowE,UAAUnmH,OAAO65D,OAAO,QAAQ,EAC5Cp+D,KAAMwT,KAAKuB,UAAUq2G,CAAW,EAChC3+F,YAAa,kBACf,CAAC,GAEI5zB,QAAQE,OAAO,CACxB,CAAC,CAAC,CACJ,EAKAwyH,0BAA2B,YAG7B,EAEOj0H,EA9HiF,MAAM,IAAIrC,UAAU,mCAAmC,CA+HjJ,CAkOA,OA7V+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA6H/dlB,EAAa0jG,EAAe,CAAC,CAC3B7iG,IAAK,QACLlC,MAAO,WACL,OAAO6zF,EAAW55F,IAAI,CACxB,CACF,EAAG,CACDiI,IAAK,cACLlC,MAAO,SAAqBo7D,GAC1BnhE,KAAKg+H,UAAY78D,CACnB,CACF,EAAG,CACDl5D,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAKg+H,SACd,CAMF,EAAG,CACD/1H,IAAK,SACLlC,MAAO,WACL,IAAImqD,EAASlwD,KAEb,OAAO,EAAIwe,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAO+B,MAAMumB,EAAK+E,IAAIyG,KAAK,CAAEha,IAAKoqC,EAAO8tE,UAAUnmH,OAAO65D,OAAO,QAAQ,CAAE,CAAC,CAC9E,CAAC,CAAC,CACJ,CASF,EAAG,CACDzpE,IAAK,0BACLlC,MAAO,WACL,IAqCIyjF,EAaAs1C,EAlDAriE,EAASz8D,KAET+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAkB9E49H,EAAoBh2H,EAAQ2L,SAC5BA,EAAiCjM,KAAAA,IAAtBs2H,EAAkC,GAAKA,EAClDC,EAAwBj2H,EAAQk2H,aAChCA,EAAyCx2H,KAAAA,IAA1Bu2H,EAAsC,GAAKA,EAI9D,OAAI,IAAMC,EAAa7/H,QAEC,EAAlBsV,EAAStV,QAEXY,KAAK6+H,0BAA0BnqH,CAAQ,EAElC,KAIL80E,EAAOxpF,KAAKk+H,SAASl1H,IAAI,SAAUiW,GAErC,OADgBA,EAAMigH,SAExB,CAAC,EACDD,EAAajrH,OAAO,SAAUgL,GACxBkgH,EAAYlgH,EAAMkgH,UACtB,MAAO,CAAC11C,EAAK//E,SAASy1H,CAAS,CACjC,CAAC,EACAjrH,QAAQ,SAAUkrH,GACjB,OAAO1iE,EAAOyhE,SAAS98H,KAAK+9H,CAAE,CAChC,CAAC,EAGGL,EAAe,GAGfM,EAAgB1qH,EAASV,OAAO,SAAUtV,GAE5C,IAAI2gI,EAAY3gI,EAAE6nB,MAAM,EAGxB,OAAI04G,EAAav1H,KAAK,SAAU0gB,GAC1B80G,EAAY90G,EAAM80G,UACtB,OAAOG,GAAaH,CACtB,CAAC,EAE8C,CAAC,IAA1CziE,EAAOwhE,WAAW3rF,QAAQ+sF,CAAS,IACrC5iE,EAAOwhE,WAAW78H,KAAKi+H,CAAS,EACzB,CAAA,IAKTP,EAAa19H,KAAK1C,CAAC,EACZ,CAAA,EAEX,CAAC,EAIGugI,EAAa7/H,OAASsV,EAAStV,QACjCY,KAAK6+H,0BAA0BC,CAAY,EAGtCM,EACT,CACF,EAAG,CACDn3H,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAKk+H,QACd,CAMF,EAAG,CACDj2H,IAAK,aACLlC,MAAO,SAAoBu5H,GACzB,IAAI3xD,EAAS3tE,KAEbA,KAAKk+H,SAAWlmH,EAAEunH,MAAMv/H,KAAKk+H,SAAUoB,CAAO,EAC9Ct/H,KAAKk+H,SAASjqH,QAAQ,SAAU8K,GAC1BmgH,EAAYngH,EAAMmgH,UACtB,OAAOvxD,EAAOswD,WAAW78H,KAAK89H,CAAS,CACzC,CAAC,CACH,CAQF,EAAG,CACDj3H,IAAK,iBACLlC,MAAO,SAAwByS,GAC7B,OAAOxY,KAAK+9H,UAAUr0H,KAAK,SAAUhL,GACnC,OAAO8Z,GAAM9Z,EAAE6nB,MAAM,CACvB,CAAC,CACH,CACF,EAAG,CACDte,IAAK,kBACLlC,MAAO,SAAyB+7D,GAC9B,OAAO9hE,KAAK+9H,UAAUr0H,KAAK,SAAUhL,GACnC,OAAOojE,IAAQpjE,EAAEi/H,OAAO,CAC1B,CAAC,CACH,CACF,EAAG,CACD11H,IAAK,cACLlC,MAAO,SAAqB8N,GAC1B7T,KAAK+9H,UAAU38H,KAAKyS,CAAO,CAC7B,CAMF,EAAG,CACD5L,IAAK,iBACLlC,MAAO,SAAwB8N,GAC7B,IAAIy6D,EAAStuE,KAEbA,KAAK+9H,UAAUr0H,KAAK,SAAU09B,EAAM2pE,GAClC,GAAIl9F,EAAQ8pH,OAAO,IAAMv2F,EAAKu2F,OAAO,EAEnC,OADArvD,EAAOyvD,UAAUhtB,GAAOl9F,EACjB,CAAA,CAEX,CAAC,CACH,CACF,EAAG,CACD5L,IAAK,cACLlC,MAAO,WAGL/F,KAAK+9H,UAF6B,EAAnB58H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGrF,CACF,EAAG,CACD8G,IAAK,iBACLlC,MAAO,SAAwB8N,GAC7B7T,KAAK+9H,UAAY/9H,KAAK+9H,UAAU/pH,OAAO,SAAUtV,GAC/C,OAAOmV,EAAQ8pH,OAAO,IAAMj/H,EAAEi/H,OAAO,CACvC,CAAC,CACH,CACF,EAAG,CACD11H,IAAK,iBACLlC,MAAO,WACL/F,KAAK+9H,UAAY,KACjB/9H,KAAK+9H,UAAY,GACjB/9H,KAAKk+H,SAAW,GAChBl+H,KAAKi+H,WAAa,EACpB,CACF,EAAG,CACDh2H,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKg+H,SACd,CAIF,EAAG,CACD/1H,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAK+9H,SACd,CACF,EAAE,EAEKjzB,CACT,GAAE9a,EAAY1rF,OAAO,CAErB,EAAE,CAACswF,aAAa,IAAIkH,mBAAmB,mBAAmBn9D,YAAY,IAAI/K,kBAAkB,GAAG,GAAG4rG,IAAI,CAAC,SAAS5gI,EAAQU,EAAOJ,GAC/H6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIiJ,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAEIgI,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInCk0C,EAAgBhvC,EAFDlF,EAAQ,mBAAmB,CAES,EAEnDooE,EAA0BpoE,EAAQ,8BAA8B,EAEhE01B,EAAO11B,EAAQ,WAAW,EAE9B,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAyB9FlF,EAAQoF,QAAU,SAAUm7H,GAExBt3H,IArBeC,EAqBLokG,EArB6B,GAA0B,YAAtB,OAAOlkG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAuBxM,SAASkkG,IACPpc,IA5BmB1nF,EA4BH1I,KA5BaqH,EA4BPmlG,EA5BsB,GAAI,EAAE9jG,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,EAE/GW,EA4BIlJ,KA5BEb,GA4BKqtG,EAAOrjG,WAAapB,OAAOqB,eAAeojG,CAAM,GAAGlrG,MAAMtB,KAAMmB,SAAS,EA5BrE,GAAK+H,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CA6B/I,CA6pBA,OAxrB6MjB,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA6B7dlB,EAAaolG,EAAQ,CAAC,CACpBvkG,IAAK,QACLlC,MAAO,WACL,IA+EM25H,EA/EF91H,EAAS5J,KAETi5B,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7EnB,KAAKi5B,SAKVlxB,OAAO+tC,OAAO91C,KAAKi5B,OAAQ,CACzB0mG,QAAS52H,EAAQ+X,QAAQw2C,cAAc,EAAEC,QAAQ,EACjDqoE,aAAc3mG,EAAO4mG,WACrB9kE,WAAY9hC,EAAO8hC,WAAa9hC,EAAO8hC,WAAWxD,QAAQ,IAAMt+B,EAAOkO,IAAIz2B,KAAOuoB,EAAO8hC,WAAajoB,EAAcxuC,QAAQ0V,IAAIif,EAAOkO,GAAG,EAAI1+B,KAAAA,EAC9Iq3H,aAAc7mG,EAAO6mG,cAAqCr3H,KAAAA,CAC5D,CAAC,EAEDzI,KAAK+/H,iBAAmB,GAGxB//H,KAAKggI,oBAAsB,GAI3Bj4H,OAAO+tC,OAAO91C,KAAK6I,MAAO,CACxB8tB,SAAU,eAAiBsC,EAAO8N,aAClC9Q,OAAQ,CACNnQ,IAAK,KACL4L,QAAS,CAAA,EACTjlB,MAAO,CAAA,EAEPglB,KAAM,CAAA,EAEN/jB,OAAQ,CAAA,CACV,EACAynB,SAAU8D,EAAO7B,QAAU6B,EAAO7B,OAAOjC,UAAY,CAAA,EACrD0Q,KAAM5M,EAAO4M,MAAQ,KACrB/3B,QAASmrB,EAAOnrB,SAAW,CAAA,EAC3BtE,QAASyvB,EAAOnrB,SAAW,CAAA,EAC3B4C,KAAMuoB,EAAOkO,IAAIz2B,KACjBm/B,OAAQ5W,EAAO4W,QAAU,CAAA,EACzBJ,qBAAsBxW,EAAOwW,sBAAwB,CAAA,EACrDsqE,SAAU9gF,EAAO8gF,SACjBC,SAAU/gF,EAAO+gF,SACjB3iF,WAAY4B,EAAO5B,WAKnBT,oBAAqB,WAAc,OAAOqC,EAAOrC,qBAAsBqC,EAAOrC,oBAO9Ec,WAAY,CAAA,EASZ4C,SAAUrB,EAAOqB,SASjB4D,QAASjF,EAAOiF,SAAW,GAC7B,CAAC,EAGGjF,EAAO7B,SAAU6B,EAAO7B,OAAOtR,MAC7B45G,EAAW,IAAI35G,IAAI/lB,KAAKi5B,OAAO7B,OAAOtR,GAAG,EAE7C,CAAC,UAAW,UAAW,OAAQ,SAAU,QAAS,SAAU,MAAO,SAAU,OAAO7R,QAAQ,SAAUhV,GAEpG,IADA,IAAIg5B,EAAS,CAACh5B,EAAEqc,YAAY,EAAGrc,EAAEsH,YAAY,GACpC9H,EAAI,EAAGA,EAAI,EAAGA,CAAC,GAAI,CAC1B,IAAIwhI,EAAQhoG,EAAOx5B,GACfsH,EAAQ25H,EAAS15G,aAAahM,IAAIimH,CAAK,EAC3C,GAAIl6H,EAAO,CACT6D,EAAOqvB,OAAO7B,OAAOtR,IAAMlc,EAAOqvB,OAAO7B,OAAOtR,IAAIiS,QAAQkoG,EAAQ,IAAMl6H,EAAO,EAAE,EACnF,KACF,CACF,CACF,CAAC,EAEL,CAMF,EAAG,CACDkC,IAAK,mBACLlC,MAAO,WACL,IACIm6H,GAD0B,EAAnB/+H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC3Dq2B,IAGpB,OAAOlD,EAAK+E,IAAIrf,IAAI,CAClB8L,IAAK9lB,KAAKu3B,cAAc1sB,OAAOC,WAAW2X,QAAU,CAAEwT,OAAQ,EAAG,GAAGA,OAAQ,CAC1EyB,WAAY,CAAA,EACZD,OAAQ,mBACRD,IANmB/uB,KAAAA,IAAby3H,GAAgCA,CAOxC,CAAC,CACH,CAAC,CACH,CAOF,EAAG,CACDj4H,IAAK,gBACLlC,MAAO,WACL,IAAI2xB,EAAgC,EAAnBv2B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAErFnB,KAAK+/H,iBAAiB//H,KAAKmgI,gBAAgB,EAAE59H,MAAQm1B,EAErD13B,KAAK6I,MAAM6uB,WAEC,GAFaA,GAAc,IAAI1jB,OAAO,SAAU+5B,GAC1D,OAAOA,EAASL,OAClB,CAAC,EAAEtuC,MACL,CAOF,EAAG,CACD6I,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAK+/H,iBAAiB//H,KAAKmgI,gBAAgB,EAAE59H,KACtD,CAMF,EAAG,CACD0F,IAAK,kBACLlC,MAAO,WACL/F,KAAK+/H,iBAAmB,GACxB//H,KAAK6I,MAAM6uB,WAAa,CAAA,CAC1B,CAYF,EAAG,CACDzvB,IAAK,2BACLlC,MAAO,WACL/F,KAAKggI,oBAAsB,EAC7B,CAWF,EAAG,CACD/3H,IAAK,wBACLlC,MAAO,SAA+ByS,GACpC,OAAOxY,KAAKggI,oBAAoBxnH,EAClC,CAWF,EAAG,CACDvQ,IAAK,2BACLlC,MAAO,WACL,IAAIkR,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EqX,EAAKvB,EAAMuB,GACX3E,EAAUoD,EAAMpD,QAEhBic,EAAW9vB,KAAK4rF,sBAAsBpzE,CAAE,EACxCsX,IACFA,EAASjc,QAAUA,EACnBlE,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,SAAU,CAAEloB,QAASA,CAAQ,CAAC,EAEvF,CAUF,EAAG,CACD5L,IAAK,2BACLlC,MAAO,SAAkCyS,GACvC,IAAIsX,EAAW9vB,KAAK4rF,sBAAsBpzE,CAAE,EACxCsX,IAEFngB,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,SAAU,CAAEloB,QAASic,EAASjc,OAAQ,CAAC,EAC5F,OAAO7T,KAAKggI,oBAAoBxnH,GAEpC,CAUF,EAAG,CACDvQ,IAAK,yBACLlC,MAAO,WACL,OAAO/F,KAAKggI,mBACd,CAWF,EAAG,CACD/3H,IAAK,wBACLlC,MAAO,WACL,IAAIyR,EAA2B,EAAnBrW,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EqX,EAAKhB,EAAMgB,GACX4uB,EAAO5vB,EAAM3D,QAGbA,EAAU,IAAIrC,GAAGgvD,QAAQp5B,EAAKq5B,QAAQ,EAc1C,OAbA5sD,EAAQ+sD,MAAMpoD,CAAE,EAChBzQ,OAAO8f,QAAQuf,EAAKtzB,UAAU,EAAEG,QAAQ,SAAUgL,GAChD,IAAID,EAAQhQ,EAAeiQ,EAAO,CAAC,EAC/BngB,EAAIkgB,EAAM,GAGd,OAAOnL,EAAQoS,IAAInnB,EAFXkgB,EAAM,EAES,CACzB,CAAC,EACDhf,KAAKggI,oBAAoBxnH,GAAMxY,KAAKggI,oBAAoBxnH,IAAO,CAC7D3E,QAASA,EACTikD,MAAO,CAAA,EACPhoC,SAAU,CAAA,CACZ,EACO9vB,KAAKggI,oBAAoBxnH,EAClC,CAQF,EAAG,CACDvQ,IAAK,0BACLlC,MAAO,WACL4J,EAAMrL,QAAQyL,WAAW,KAAK,EAAEqwH,gBAAgB,CAAA,CAAK,CACvD,CAQF,EAAG,CACDn4H,IAAK,+BACLlC,MAAO,WAELgC,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAE/rH,QAAQ,SAAUvV,GACpDA,EAAEoxB,UAAY,CAACpxB,EAAEo5D,QACnBnoD,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,MAAO,CAAEloB,QAASnV,EAAEmV,OAAQ,CAAC,EAClFnV,EAAEo5D,MAAQ,CAAA,GAGR,CAACp5D,EAAEoxB,UAAYpxB,EAAEo5D,QACnBnoD,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,SAAU,CAAEloB,QAASnV,EAAEmV,OAAQ,CAAC,EACrFnV,EAAEo5D,MAAQ,CAAA,EAEd,CAAC,EAEDnoD,EAAMrL,QAAQyL,WAAW,KAAK,EAAEqwH,gBAAgBr4H,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAEhqG,KAAK,SAAUt3B,GACrG,OAAOA,EAAEoxB,QACX,CAAC,CAAC,CACJ,CAQF,EAAG,CACD7nB,IAAK,kCACLlC,MAAO,WACLgC,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAE/rH,QAAQ,SAAUvV,GAExDA,EAAEoxB,SAAW,CAACpxB,EAAEoxB,SACZ,CAACpxB,EAAEoxB,UAAYpxB,EAAEo5D,QACnBnoD,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,SAAU,CAAEloB,QAASnV,EAAEmV,OAAQ,CAAC,EACrFnV,EAAEo5D,MAAQ,CAAA,GAERp5D,EAAEoxB,UAAY,CAACpxB,EAAEo5D,QACnBnoD,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,MAAO,CAAEloB,QAASnV,EAAEmV,OAAQ,CAAC,EAClFnV,EAAEo5D,MAAQ,CAAA,EAEd,CAAC,CACH,CAWF,EAAG,CACD7vD,IAAK,6BACLlC,MAAO,SAAoC0iC,EAAKhN,GAC9C,IAAI3L,EAAW9vB,KAAK4rF,sBAAsBnjD,CAAG,EAC7C,GAAI3Y,GAAYA,EAASjc,QAGvB,OADAic,EAASA,SAAW,QAAU2L,EACvBz7B,KAAKqgI,uBAAuB,CACjC7nH,GAAIiwB,EACJ50B,QAASic,EAASjc,OACpB,EAAG4nB,CAAM,CAEb,CAWF,EAAG,CACDxzB,IAAK,yBACLlC,MAAO,SAAgC8N,GACrC,IAKMuzB,EALF3L,EAA4B,EAAnBt6B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAsBjF,OAlBI0S,KACEuzB,EAAOpnC,KAAK4rF,sBAAsB/3E,EAAQ2E,EAAE,GAC3C3E,QAAQysH,UAAY,QAAU7kG,GAAW2L,EAAK0wB,MAAuBrvD,KAAAA,EAAfzI,KAAKumB,MAAM,EACtEvmB,KAAKugI,6BAA6B,GAI/B1sH,GACH9L,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAE/rH,QAAQ,SAAUmzB,GAEpDA,EAAK0wB,OACPnoD,EAAMrL,QAAQyL,WAAW,KAAK,EAAEgsB,qBAAqB,SAAU,CAAEloB,QAASuzB,EAAKvzB,OAAQ,CAAC,EAE1FuzB,EAAK0wB,MAAQ,CAAA,EACb1wB,EAAKtX,SAAW,CAAA,CAClB,CAAC,EAGIrnB,KAAAA,IAAcV,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAEt2H,KAAK,SAAU09B,GAC1E,OAAOA,EAAK0wB,KACd,CAAC,CACH,CACF,EAAG,CACD7vD,IAAK,8BACLlC,MAAO,WACL,IAAIyD,EAAUxJ,KAAKwgI,UAAU,EAC7B,GAAIh3H,EAGF,IAFA,IAAIolC,EAAc5uC,KAAK6I,MAAM+lC,YAEtBplC,GAAWolC,GAChBplC,EAAUA,GAAWolC,EAAYplC,QACjColC,EAAcA,EAAYA,YAG9B,OAAOplC,CACT,CAQF,EAAG,CACDvB,IAAK,aACLlC,MAAO,SAAoBu6B,GACzBtgC,KAAK6I,MAAMW,QAAU82B,CACvB,CAMF,EAAG,CACDr4B,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMW,OACpB,CAQF,EAAG,CACDvB,IAAK,aACLlC,MAAO,SAAoBu6B,GAEzB,IAAIxyB,EAAU9N,KAAK6I,MAAMiF,QAOzB,OALA9N,KAAK6I,MAAMiF,QAAUwyB,GAAQtgC,KAAKwgI,UAAU,EAExC1yH,IAAY9N,KAAK6I,MAAMiF,SACzB9N,KAAK0N,OAAO,EAEP1N,KAAK6I,MAAMiF,OACpB,CACF,EAAG,CACD7F,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMiF,OACpB,CACF,EAAG,CACD7F,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMsb,QACpB,CAQF,EAAG,CACDlc,IAAK,cACLlC,MAAO,WACL,IACI+4D,GAD2B,EAAnB39D,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC9D29D,MAElB,OAAO9+D,KAAKygI,4BAA4B,IAAM,CAACzgI,KAAK6I,MAAM4mC,sBAAwBqvB,GAAS9+D,KAAK6I,MAAMmxG,UAAYl7C,GAAS9+D,KAAK6I,MAAMkxG,SACxI,CAIF,EAAG,CACD9xG,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO7B,OAAOjC,SAAWn1B,KAAKi5B,OAAO7B,OAAgBp3B,KAAKi5B,QAAdhW,MAC1D,CACF,EAAG,CACDhb,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO7B,OAAOjC,SAAWn1B,KAAKi5B,OAAO7B,OAAOnU,OAASjjB,KAAKi5B,OAAOhW,OAASjjB,KAAKi5B,OAAOhW,OAAOvZ,KAAK,SAAUk2B,GACtH,OAAOA,EAAE/H,OACX,CAAC,EAAEt1B,KAAO,EACZ,CAUF,EAAG,CACD0F,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMq1B,OACpB,CAQF,EAAG,CACDj2B,IAAK,kBACLlC,MAAO,SAAyBxD,GAC9B,IAAIgmC,EAAU,CAACvoC,KAAKi5B,OAAOhW,OAAOvZ,KAAK,SAAUk2B,GAC/C,OAAOr9B,IAASq9B,EAAEr9B,IACpB,CAAC,EAAEs1B,QAIH,OAHA73B,KAAKi5B,OAAOhW,OAAOhP,QAAQ,SAAU2rB,GACnC,OAAOA,EAAE/H,QAAUt1B,IAASq9B,EAAEr9B,IAChC,CAAC,EACMgmC,CACT,CACF,EAAG,CACDtgC,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOhW,OAAOvZ,KAAK,SAAUk2B,GACvC,OAAOA,EAAE/H,OACX,CAAC,CACH,CAQF,EAAG,CACD5vB,IAAK,cACLlC,MAAO,SAAqBsmE,GAG1B,GAAIrsE,KAAK6I,MAAM4mC,qBAAsB,CAQnC,IAPA,IAAIw9B,GAAW,EAAIjG,EAAwBkG,wBAAwBb,EAHnC,EAAnBlrE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAGM,EAKnF0tC,GAJJ7uC,KAAK6I,MAAMsb,SAAW,EAAE8oD,GAAYjtE,KAAK6I,MAAMmxG,UAAY/sC,GAAYjtE,KAAK6I,MAAMkxG,UAClF/5G,KAAK6I,MAAMsb,SAAmC,IAAxBnkB,KAAK6I,MAAMkxG,SAAiB,EAAE9sC,GAAYjtE,KAAK6I,MAAMmxG,UAAYh6G,KAAK6I,MAAMsb,SAGjF,CAAA,GACbyqB,EAAc5uC,KAAK6I,MAAM+lC,YACtBA,GACLC,EAAaA,GAAcD,EAAYplC,QACvColC,EAAcA,EAAYA,YAExBC,GACF7uC,KAAK6uC,WAAW,CAAC7uC,KAAK6I,MAAMsb,QAAQ,EAGlCnkB,KAAK83H,aAAa,GACpB93H,KAAK81H,oBAAoB,CAAC91H,KAAK6I,MAAMsb,QAAQ,CAEjD,MACEnkB,KAAK6I,MAAMsb,SAAW,CAAA,CAE1B,CACF,EAAG,CACDlc,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO2mG,YACrB,CACF,EAAG,CACD33H,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO8N,YACrB,CACF,EAAG,CACD9+B,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO5B,UACrB,CACF,EAAG,CACDpvB,IAAK,gBACLlC,MAAO,WAGL/F,KAAKi5B,OAAO8hC,WAAajoB,EAAcxuC,QAAQ0V,IAFlB,EAAnB7Y,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAExB,CACxD,CACF,EAAG,CACD8G,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO8hC,UACrB,CACF,EAAG,CACD9yD,IAAK,UACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOkO,IAAIz2B,IACzB,CACF,EAAG,CACDzI,IAAK,SACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO8hC,WAAa/6D,KAAKi5B,OAAO8hC,WAAWxD,QAAQ,EAAI,IACrE,CACF,EAAG,CACDtvD,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO0mG,OACrB,CACF,EAAG,CACD13H,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOynG,WAAa,KAAO1gI,KAAKi5B,OAAOynG,SACrD,CACF,EAAG,CACDz4H,IAAK,cACLlC,MAAO,WAEL,OAAI/F,KAAK2gI,SAAS,GAAK3gI,KAAKi5B,OAAO2nG,gBAAkB,aAAe5gI,KAAKi5B,OAAO2nG,eACvE5gI,KAAKi5B,OAAOynG,UAEjB1gI,KAAK2gI,SAAS,EACT3gI,KAAKi5B,OAAOynG,UAAY,mBADjC,KAAA,CAGF,CAIF,EAAG,CACDz4H,IAAK,kBACLlC,MAAO,WACL,IAAIg1D,EAAa/6D,KAAKs3D,cAAc,EAEpC,MAAwC,QADlByD,EAAWqO,mBAAqBrO,EAAWqO,mBAAmB,EAAI,OACjEy3D,OAAO,EAAG,CAAC,CACpC,CAMF,EAAG,CACD54H,IAAK,cACLlC,MAAO,YAST,EAAG,CACDkC,IAAK,mBACLlC,MAAO,SAA0Bg1D,GAC/B/6D,KAAK8gI,eAAiB/lE,CACxB,CACF,EAAG,CACD9yD,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAK8gI,cACd,CACF,EAAE,EAEKt0B,CAEX,CAEA,EAAE,CAAC16F,eAAe,IAAIyjC,oBAAoB,IAAI5W,YAAY,IAAIwwC,+BAA+B,GAAG,GAAG4xD,IAAI,CAAC,SAASniI,EAAQU,EAAOJ,GAChI6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ47D,YAAc57D,EAAQ8hI,WAAav4H,KAAAA,EAEhC,SAAPinF,EAAoBC,EAAQ3M,EAAU4M,GAA2B,OAAXD,IAAiBA,EAASj0C,SAASr6C,WAAW,IAAIwuF,EAAO9nF,OAAO+nF,yBAAyBH,EAAQ3M,CAAQ,EAAG,OAAav6E,KAAAA,IAATonF,EAAyK,UAAWA,EAAeA,EAAK9pF,MAAsD0C,KAAAA,KAAlCsnF,EAASF,EAAK71E,KAA4D+1E,EAAO5wF,KAAKywF,CAAQ,EAA3E,KAAA,EAA9J,QAAvDnlE,EAAS1iB,OAAOqB,eAAeumF,CAAM,GAA4D31E,EAAIyQ,EAAQu4D,EAAU4M,CAAQ,EAAvF,KAAA,CAA6P,CAAze,IAEI5gF,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBstC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAIyW,EAAgBxf,EAAQ,eAAe,EAIvCoxF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/CiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInDk0C,EAAgBhvC,EAFDlF,EAAQ,mBAAmB,CAES,EAInDqiI,EAAan9H,EAFDlF,EAAQ,sBAAsB,CAEG,EAE7CiZ,EAASjZ,EAAQ,kBAAkB,EAEnCkpG,EAAelpG,EAAQ,wBAAwB,EAE/CsiI,EAAsBtiI,EAAQ,yBAAyB,EAE3D,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAI9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAEzc,SAASqqF,EAAgB1nF,EAAUrB,GAAe,GAAI,EAAEqB,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,CAAK,CAExJ,SAAS8nF,EAA2BnnF,EAAM/J,GAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,CAE/O,SAASlB,EAAUC,EAAUE,GAAc,GAA0B,YAAtB,OAAOA,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAAKF,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,EAAY,CAa7e,SAASksB,EAAGjyB,EAAMwD,GAChB,OAAOA,GAAS,IAAMA,EAAQ,GAAKxD,EAAOwD,EAAQ,IACpD,CAaEoC,EAAU2yD,EAqVVk1B,EAAY1rF,OArVqB,EA8CjC8C,EAAa0zD,EAAa,CAAC,CACzB7yD,IAAK,QACLlC,MAAO,WACL,OAAO/F,KAAKwY,EACd,CACF,EAAG,CACDvQ,IAAK,aACLlC,MAAO,SAAoBo7H,GAIzB,OAHKnhI,KAAKohI,WACRphI,KAAKohI,SAAWphI,KAAKqhI,aAAaF,CAAU,GAEvCnhI,KAAKohI,QACd,CACF,EAAG,CACDn5H,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKo7D,WAAW,EAAEn0B,UAAU,CACrC,CACF,EAAG,CACDh/B,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKkT,MACd,CACF,EAAG,CACDjL,IAAK,WACLlC,MAAO,SAAkBqO,GAClBpU,KAAKshI,UAAU53H,KAAK,SAAU6rB,GACjC,OAAOnhB,IAAUmhB,CACnB,CAAC,GACCv1B,KAAKshI,UAAUlgI,KAAKgT,CAAK,EAEtBpU,KAAKkT,OAAOxJ,KAAK,SAAU6rB,GAC9B,OAAOnhB,IAAUmhB,CACnB,CAAC,GACCv1B,KAAKkT,OAAO9R,KAAKgT,CAAK,EAEpB,QAAUpU,KAAKi5B,OAAOnzB,OACxB9F,KAAKoU,MAAQA,EAEjB,CACF,EAAG,CACDnM,IAAK,cACLlC,MAAO,SAAqBqO,GAC1BpU,KAAKkT,OAASlT,KAAKkT,OAAOc,OAAO,SAAUuhB,GACzC,OAAOnhB,IAAUmhB,CACnB,CAAC,CACH,CACF,EAAG,CACDttB,IAAK,YACLlC,MAAO,WACL,OAEY,EAFL/F,KAAKkT,OAAOc,OAAO,SAAUuhB,GAClC,OAAOA,EAAEya,UAAU,CACrB,CAAC,EAAE5wC,MACL,CAYF,EAAG,CACD6I,IAAK,eACLlC,MAAO,SAAsBo7H,GAC3B,IAqBQI,EA6CExmE,EAlENnxD,EAAS5J,KAETm7D,EAAU,KAAA,EAGVhgC,EAAQ,QAkIZ,OA9HEggC,EADE,oBAAsBn7D,KAAKi5B,OAAOnzB,KAC1B,IAAI0L,GAAG4C,MAAMwlH,KAAK,CAC1B9rH,QAAS,CAAA,EACTspB,OAAQ,IAAI5lB,GAAG4lB,OAAOoqG,eAAe,CACnC17G,IAAK9lB,KAAKi5B,OAAOnT,IACjBi1C,WAAY/6D,KAAKi5B,OAAO8hC,UAC1B,CAAC,CACH,CAAC,EAIM,SAAW/6D,KAAKi5B,OAAOnzB,MAC5Bq1B,EAAQ,QAkBJsmG,EAAc,cAjBdF,EAAW,CACbz7G,IAAK,aAAe9lB,KAAKi5B,OAAO2nG,gBAAoB5gI,KAAKkT,OAAO,IAAMlT,KAAKkT,OAAO,GAAGwxB,UAA+B1kC,KAAKkT,OAAO,GAAGwxB,UAAU,EAA3C1kC,KAAKi5B,OAAOnT,IAC9GtN,GAAIxY,KAAKi5B,OAAOzgB,GAChBuiD,WAAY/6D,KAAKi5B,OAAO8hC,WACxB2mE,gBAAiB1hI,KAAK0hI,gBACtBxuH,OAAQiuH,EAAanhI,KAAKkT,OAAOlK,IAAI,SAAUusB,GAC7C,OAAOA,EAAEosG,gBAAgB,CAC3B,CAAC,EAAI3hI,KAAKkT,OACV0tH,eAAgB5gI,KAAKi5B,OAAO2nG,eAC5BgB,WAAY5hI,KAAKi5B,OAAO2oG,WACxBC,YAAa7hI,KAAKi5B,OAAO4oG,YACzBC,aAAc9hI,KAAKi5B,OAAO6oG,aAC1BC,WAAY/hI,KAAKi5B,OAAO8oG,WACxBC,kBAAmBhiI,KAAKi5B,OAAO+oG,iBACjC,GAG0CpB,gBAAkBpvH,GAAGywH,SAASC,UAAU,CAAE1iE,OAAQ+hE,EAASS,iBAAkB,CAAC,EAAEG,eAAe,GAEjH,IAAI3wH,GAAG4C,MAAMwlH,KAAK,CACxCxiG,OAAQ,IAAI5lB,GAAG4lB,OAAOgrG,KAAK,CACzBt8G,IAAKy7G,EAASz7G,IACd1R,MAAOmtH,EAASM,YAChBQ,UAAWd,EAASQ,WACpBtqG,OAAQ8pG,EAASe,cAAgB,MACjCvnE,WAAYwmE,EAASruH,OAAO,GAAGokD,cAAc,EAC7CirE,SAAU,IAAI/wH,GAAGywH,SAASG,KAAK,CAC7BX,YAAaA,EACbhtF,OAAQjjC,GAAGguD,OAAOgjE,WAAWjB,EAASS,iBAAiB,EACvDS,UAAWhB,EAAYz4H,IAAI,SAAUgP,EAAGvZ,GACtC,OAAOA,CACT,CAAC,CACH,CAAC,EACDkwB,MAAO4yG,EAAS5yG,OAAS,GACzB+zG,YAAa,CAAA,CACf,CAAC,CACH,CAAC,EAAI5nE,EAAYumE,aAAa,CAC5BE,SAAUA,EACVoB,YAAa3iI,KAAK2iI,aAAe,GACjCC,MAAO,CAAA,CACT,CAAC,GAIM,QAAU5iI,KAAKi5B,OAAOnzB,MACvBi1D,EAAa/6D,KAAKi5B,OAAOnT,KAAO9lB,KAAK+6D,WAAa/6D,KAAK+6D,WAAa/6D,KAAKoU,MAAMkjD,cAAc,EAEvF,IAAI9lD,GAAG4C,MAAMwlH,KAAK,CAC1B9rH,QAAS,CAAA,EACTitD,WAAYA,EACZ3jC,OAAQ,IAAI5lB,GAAG4lB,OAAOyrG,IAAI,CACxB/8G,IAAK9lB,KAAKi5B,OAAOnT,IACjBg9G,QAAS,GACTC,QAASt6H,KAAAA,EACTsyD,WAAYA,EACZioE,YAAav6H,KAAAA,EACbw6H,iBAAkBjjI,KAAK0hI,gBAAkB,SAAUwB,EAAMp9G,GAK/C,IACF/e,EALN2xB,MAAM,SAAW1B,QAAUlR,GAAO,IAAIlD,MAAM,GAAG,EAAE,GAAKkD,EAAK,CACzDkR,OAAQA,OACR2B,QAAS,CAAEC,eAAgB,kDAAmD,EAC9EtR,KAAM,SAAW0P,OAASlR,EAAIlD,MAAM,GAAG,EAAE,GAAKna,KAAAA,CAChD,CAAC,EAAEkE,MACG5F,EAAOiF,EAAkB,UAAWwI,GACtC,OAAO0uH,EAAKC,SAAS,EAAEp1G,IAAMljB,OAAOkb,IAAI0S,gBAAgB,MAAOjkB,EAASskB,KAAK,CAAE,CACjF,CAAC,EAEM,SAAUC,GACf,OAAOhyB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EACC,EAAEmW,MAAM,SAAUjZ,GACkC6kI,EAAK3uC,SAAS/iF,GAAG4xH,UAAUC,KAAK,CACvF,CAAC,CACH,EAAI56H,KAAAA,EAEJ85H,SAAU,YAAcxnE,EAAW09D,SAAS,GAAK,aAAez4H,KAAKi5B,OAAO2nG,eAAiB,IAAIpvH,GAAGywH,SAASqB,SAAS,CAKpH7B,YAAajwH,GAAGywH,SAASC,UAAU,CAAE1iE,OAAQzE,EAAWwoE,UAAU,EAAGT,QAAS,EAAG,CAAC,EAAEX,eAAe,EAAE59G,MAAM,CAAC,EAC5Gi7C,OAAQzE,EAAWwoE,UAAU,CAC/B,CAAC,EAAI96H,KAAAA,CACP,CAAC,CACH,CAAC,GAKWqyD,EAAYumE,aAAa,CACjCE,SAAU,CACRz7G,IAAK9lB,KAAKkT,OAAO,IAAMlT,KAAKkT,OAAO,GAAGwxB,UAAY1kC,KAAKkT,OAAO,GAAGwxB,UAAU,EAAI1kC,KAAKi5B,OAAOnT,IAC3FtN,GAAIxY,KAAKi5B,OAAOzgB,GAChBuiD,WAAY/6D,KAAKi5B,OAAO8hC,WACxB2mE,gBAAiB1hI,KAAK0hI,gBACtBxuH,OAAQiuH,EAAanhI,KAAKkT,OAAOlK,IAAI,SAAUusB,GAC7C,OAAOA,EAAEosG,gBAAgB,CAC3B,CAAC,EAAI3hI,KAAKkT,OAEVukB,OAAQz3B,KAAKi5B,OAAOxB,MACtB,EACAkrG,YAAa3iI,KAAK2iI,WACpB,EAAG3iI,KAAKwjI,OAAO,GAGfv8F,UAAU,EAAEplC,GAAGs5B,EAAQ,YAAa,WAC1C,OAAOvxB,EAAOzH,KAAK,WAAW,CAChC,CAAC,EACDg5D,EAAQl0B,UAAU,EAAEplC,GAAGs5B,EAAQ,UAAW,WACxC,OAAOvxB,EAAOzH,KAAK,SAAS,CAC9B,CAAC,EACDg5D,EAAQl0B,UAAU,EAAEplC,GAAGs5B,EAAQ,YAAa,WAC1C,OAAOvxB,EAAOzH,KAAK,WAAW,CAChC,CAAC,EAEMg5D,CACT,CAIF,EAAG,CACDlzD,IAAK,SACLlC,MAAO,WACL,IAUMsmE,EACAo3D,EAsBFtrG,EACAurG,EACAtrG,EACAC,EApCAsrG,EAA8B,EAAnBxiI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/EwhI,EAAiC,EAAnBxhI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAElFomF,EAAQo7C,EAAYp7C,MACpBtvD,GAzSV,CAAkC7zB,EAAKs2B,KAAQ,IAA0Bj8B,EAAtBgJ,EAAS,GAAI,IAAShJ,KAAK2F,EAA8B,GAAnBs2B,EAAK4X,QAAQ7zC,CAAC,GAAuBsJ,OAAO1G,UAAU4I,eAAe9K,KAAKiF,EAAK3F,CAAC,IAAagJ,EAAOhJ,GAAK2F,EAAI3F,IAAM,OAAOgJ,CAAQ,GAyS/Kk7H,EAAa,CAAC,QAAQ,EAKvDp7C,IACClb,EAAas3D,EAASt3D,WACtBo3D,EAAWE,EAASF,SAExBzjI,KAAKshI,UAAUrtH,QAAQ,SAAUshB,GACK,OAApCA,EAAE+kE,YAAYjuB,EAAYo3D,CAAQ,EAASluG,EAAEmX,WAAW,CAC1D,CAAC,GAGC,QAAU1sC,KAAKi5B,OAAOnzB,KACxB9F,KAAKohI,SAASvyF,WAAW7uC,KAAKoU,MAAM47B,UAAU,CAAC,GAI7C98B,EAASlT,KAAKkT,OAAOc,OAAO,SAAUuhB,GACxC,OAAOA,EAAEya,UAAU,CACrB,CAAC,GAAK,IAGK5wC,QAAU,EACnBY,KAAKohI,SAASvyF,WAAW,CAAA,CAAK,GAI5B1W,EAAS,GACTurG,EAAY,GAEZrrG,EADAD,EAAY3vB,KAAAA,EAGhByK,EAAOe,QAAQ,SAAUshB,GACvB,IAAIquG,GAAqB,EAAI1C,EAAoB2C,mBAAmBtuG,CAAC,EACjE1zB,EAAK+hI,EAAmBxrG,UACxBp2B,EAAM4hI,EAAmBvrG,WAE7BF,EAAO/2B,KAAKm0B,EAAE0O,SAAS,CAAC,EACxBy/F,EAAUtiI,KAAK6hC,SAAS1N,EAAEuuG,WAAW,EAAI,IAAM,GAAG,CAAC,EAC/CjiI,IACFu2B,EAAY3vB,KAAAA,IAAc2vB,EAAYv2B,EAAKu2B,EAAY,IAAMv2B,GAE3DG,IACFq2B,EAAa5vB,KAAAA,IAAc4vB,EAAar2B,EAAMq2B,EAAa,IAAMr2B,EAErE,CAAC,EAEDhC,KAAKohI,SAASvyF,WAAW,CAAA,CAAI,EAGzB7uC,KAAKohI,SAASn6F,UAAU,EAAE88F,cAC5B/jI,KAAKohI,SAASn6F,UAAU,EAAE88F,aAAaluF,EAAS,GAAI5d,EAAQ,CAC1DG,UAAWA,EACXC,WAAYA,EACZG,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,YAC1CN,QAAchlB,EAAO,GAAG8wH,kBAAkB,EAAI,QAAU,IAAM9wH,EAAOlK,IAAI,SAAUusB,GACjF,OAAOA,EAAEosG,gBAAgB,CAC3B,CAAC,EAAEtpH,KAAK,GAAG,EACX8f,OAAQA,EAAO9f,KAAK,GAAG,EAEvBqrH,UAAWA,EAAUrrH,KAAK,GAAG,CAC/B,CAAC,CAAC,EAEN,CACF,EAAG,CACDpQ,IAAK,kCACLlC,MAAO,WACL,IAAIkyB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7E,QAAUnB,KAAKi5B,OAAOnzB,MACxB,GAAGxF,OAAON,KAAKoU,OAASpU,KAAKkT,MAAM,EAAEe,QAAQ,SAAUshB,GACrD,OAAOA,EAAE0uG,wBAAwBhsG,CAAM,CACzC,CAAC,CAEL,CACF,EAAE,EAnVJ,IAAI6iC,EAqVKA,EAlVP,SAASA,IACP,IAAI7hC,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EwhI,EAAiC,EAAnBxhI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAClF61B,EAA4B,EAAnB71B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAI7EyJ,GAFJwlF,EAAgBpwF,KAAM86D,CAAW,EAErBu1B,EAA2BrwF,MAAO86D,EAAY3xD,WAAapB,OAAOqB,eAAe0xD,CAAW,GAAG37D,KAAKa,IAAI,CAAC,GAkCrH,OAhCA4K,EAAMquB,OAASA,EACfruB,EAAM4N,GAAKygB,EAAOzgB,GAClB5N,EAAM82H,gBAAkBzoG,EAAOyoG,iBAAmB,CAAA,EAClD92H,EAAM40D,OAASvmC,EAAOumC,OACtB50D,EAAMmwD,WAAa9hC,EAAO8hC,WAC1BnwD,EAAMwJ,MAAQ,KACdxJ,EAAMsI,OAAS+lB,EAAO/lB,QAAU,GAChCtI,EAAM02H,UAAY,GAClB12H,EAAMs5H,uBAAyB,CAAA,EAE3B,QAAUt5H,EAAMquB,OAAOnzB,OACzB8E,EAAMu5H,UAAY,CAChBrmE,MAAO,QACPsmE,WAAY,YACd,EACAx5H,EAAMy5H,cAAgB,WACpB,MAAO,yBACT,EACAz5H,EAAM05H,qBAAuB,SAAU/yH,EAAY86D,EAAY37D,EAAMunB,GACnE,OAAOrtB,EAAMwwD,WAAW,EAAEn0B,UAAU,EAAEq9F,qBAAqB/yH,EAAY86D,EAAY37D,EAAMunB,CAAM,CACjG,EACArtB,EAAM25H,YAAc,WAClB,OAAI35H,EAAMsI,OAAO,GAAGsxH,SAAW,KAAO55H,EAAMsI,OAAO,GAAGsxH,QAC7C55H,EAAMsI,OAAO,GAAGsxH,QAElB55H,EAAMquB,OAAOnT,GACtB,GAGFlb,EAAM+3H,YAAcA,EAEpB/3H,EAAM44H,QAAUxsG,EACTpsB,CACT,CAkTFkwD,EAAYumE,aAAe,WACzB,IAAI74H,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E61B,EAA4B,EAAnB71B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAEjF,OAAO,IAAKqH,EAAKo6H,MAAQpxH,GAAG4C,MAAMwlH,KAAOpoH,GAAG4C,MAAMu7D,OAAO,CACvDn3D,GAAIhQ,EAAK+4H,SAAS/oH,GAClBjW,KAAMiG,EAAK+4H,SAASh/H,KACpB27B,QAASz1B,KAAAA,IAAcD,EAAK+4H,SAASrjG,QAAU11B,EAAK+4H,SAASrjG,QAAU,EACvEpwB,QAAStF,EAAK+4H,SAASzzH,QACvB0xD,OAAQh3D,EAAK+4H,SAAS/hE,OACtBilE,cAAej8H,EAAK+4H,SAASkD,cAC7BrtG,OAAQ,IAAK5uB,EAAKo6H,MAAQpxH,GAAG4lB,OAAOstG,QAAUlzH,GAAG4lB,OAAOutG,UAAU,CAChEluE,MAAO,EACP3wC,IAAKtd,EAAK+4H,SAASz7G,IACnBi1C,WAAYvyD,EAAK+4H,SAASxmE,WAAavyD,EAAK+4H,SAASxmE,WAAWxD,QAAQ,EAAI,KAC5Et/B,OAAQ4d,EAAS,GAAI9tC,OAAO8uF,YAAY9uF,OAAO8f,QAAQ,CACrDyjD,IAAKltD,EAAc89E,cACnB0oC,YAAa,CAAA,EACbr5D,OAAQ/iE,EAAK+4H,SAAS9pG,OACtBS,OAAQzvB,KAAAA,IAAcD,EAAK+4H,SAASruH,OAAS1K,EAAK+4H,SAASruH,OAAS,GACpEi4D,QAAS1iE,KAAAA,IAAcD,EAAK+4H,SAAS5/H,QAAU6G,EAAK+4H,SAAS5/H,QAAU,QACvEkjI,YAAap8H,KAAAA,IAAcD,EAAK+4H,SAASuD,YAAct8H,EAAK+4H,SAASuD,YAAc,OACrF,CAAC,EAEA9wH,OAAO,SAAUiD,GACZO,EAAQxI,EAAeiI,EAAO,CAAC,EAInC,MAAO,WAHGO,EAAM,IAGiB/O,KAAAA,IAFvB+O,EAAM,EAGlB,CAAC,CAAC,EAAGhP,EAAKm6H,aAAe,EAAE,EAC3BoC,kBAAmBv8H,EAAK+4H,SAASG,iBAAmB,SAAW1qG,EAAS,SAAUksG,EAAMp9G,GAK9E,IACF7G,EALNyZ,MAAM,SAAW1B,GAAUlR,GAAO,IAAIlD,MAAM,GAAG,EAAE,GAAKkD,EAAK,CACzDkR,OAAQA,EACR2B,QAAS,CAAEC,eAAgB,kDAAmD,EAC9EtR,KAAM,SAAW0P,EAASlR,EAAIlD,MAAM,GAAG,EAAE,GAAKna,KAAAA,CAChD,CAAC,EAAEkE,MACGsS,EAAQjT,EAAkB,UAAWwI,GACvC,OAAO0uH,EAAKC,SAAS,EAAEp1G,IAAMljB,OAAOkb,IAAI0S,gBAAgB,MAAOjkB,EAASskB,KAAK,CAAE,CACjF,CAAC,EAEM,SAAU8D,GACf,OAAO3d,EAAM3d,MAAMtB,KAAMmB,SAAS,CACpC,EACC,EAAEmW,MAAM,SAAUjZ,GACkC6kI,EAAK3uC,SAAS/iF,GAAG4xH,UAAUC,KAAK,CACvF,CAAC,CACH,EAAI56H,KAAAA,CACN,CAAC,CACH,CAAC,CACH,EAmCEN,EAAU64H,GAuyBT,EAAGC,EAAW38H,SAASuT,EAAOy0C,KAAK,CAvyBA,EAqQpCllD,EAAa45H,EAAY,CAAC,CACxB/4H,IAAK,qBACLlC,OACMiZ,EAAQhT,EAAkB,YAC5B,IAAIoe,EAA2B,EAAnBjpB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E6jI,EAAc56G,EAAMm9D,MAEpBkxB,EAAYruF,EAAMquF,UAClBwsB,EAAe76G,EAAM66G,aACrBnkH,EAAUsJ,EAAMtJ,QAEpB,GAAI,EALwBrY,KAAAA,IAAhBu8H,GAAoCA,IAKlC,CAAChlI,KAAKmmC,WAAW,EAC7B,OAAO,KAIT,IACE,IAAI++F,EAAkBn3H,MAAM,IAAI+5F,EAAa+C,YAAY7qG,KAAKi5B,OAAQ,CACpEw/E,UAAWA,EACXwsB,aAAcA,EACdnkH,QAASA,GAAWjV,EAAcvH,QAAQwc,OAC5C,CAAC,EAAEokH,gBAEH,OADAllI,KAAKmlI,gBAAgBD,CAAe,EAC7BA,CAIT,CAHE,MAAO7mI,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CACF,CAAC,EAED,WACE,OAAO2gB,EAAM1d,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,EAAG,CACD8G,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOu5C,SACrB,CACF,EAAG,CACDvqE,IAAK,QACLlC,MAAO,WACL,MAAO,CAAC,OAAQ,YAAa,YAAa,OAAO0D,SAASzJ,KAAKi5B,OAAOmC,UAAU,CAClF,CACF,EAAG,CACDnzB,IAAK,mCACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOkO,IAAIz2B,OAAS1Q,KAAKi5B,OAAO0mG,OAC9C,CACF,EAAG,CACD13H,IAAK,SACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOkO,IAAIz2B,IACzB,CACF,EAAG,CACDzI,IAAK,gBACLlC,MAAO,WACL,MAAO,CAAC,EAAE/F,KAAKi5B,OAAO7B,QAAUp3B,KAAKi5B,OAAO7B,OAAOjC,UAAYn1B,KAAKi5B,OAAO7B,OAAOtR,IACpF,CACF,EAAG,CACD7d,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAKolI,cAAc,GAAK,oBAAsBplI,KAAKi5B,OAAO7B,OAAOtxB,IAC1E,CACF,EAAG,CACDmC,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAKqlI,iBAAiB,EAAIrlI,KAAKumB,MAAM,EAAIvmB,KAAKoqC,QAAQ,CAC/D,CAMF,EAAG,CACDniC,IAAK,0BACLlC,MAAO,WACL,IAAID,EAA0B,EAAnB3E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAC3Ei2B,EAASp3B,KAAKi5B,OAAO7B,OAGzB,OAAOA,IAAW,QAAUtxB,GAAQ9F,KAAKolI,cAAc,GAAKplI,KAAKslI,iCAAiC,KAAO,WAAax/H,GAAQsxB,EAAOjC,SACvI,CACF,EAAG,CACDltB,IAAK,kBACLlC,MAAO,WACL,IACIw/H,GAD2B,EAAnBpkI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACzD2E,KAInBsxB,GADQp3B,KAAKi5B,QAAU,CAAE7B,OAAQ,EAAG,GACrBA,OAEfouG,EAAepuG,EAAOlkB,QAAUkkB,EAAOhjB,MAG3C,OAAIoxH,GAAgBxlI,KAAKylI,wBARCh9H,KAAAA,IAAf88H,EAA2B,MAAQA,CAQO,EAC5CC,EAGFxlI,KAAK0lI,kBAAkB,CAChC,CAOF,EAAG,CACDz9H,IAAK,YACLlC,MAAO,WACL,IACI4/H,GAD2B,EAAnBxkI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACzD2E,KAInBsxB,GADSp3B,KAAKi5B,QAAU,CAAE7B,OAAQ,EAAG,GACrBA,OAKpB,OAAIA,EAAOtR,KAAO9lB,KAAKylI,wBARGh9H,KAAAA,IAAfk9H,EAA2B,MAAQA,CAQK,GAAK,CAAC,MAAO,QAAQl8H,SAAS2tB,EAAOtxB,IAAI,EACnFsxB,EAAOtR,IAGT9lB,KAAKi5B,OAAO2sG,MACrB,CACF,EAAG,CACD39H,IAAK,kBACLlC,MAAO,WACL,OAAQ/F,KAAKi5B,OAAO4sG,WAAa,KAAO7lI,KAAKi5B,OAAO4sG,UAAY7lI,KAAKi5B,OAAO4sG,UAAY7lI,KAAKoqC,QAAQ,GAAGrS,QAAQ,MAAO,GAAG,EAAE+tG,WAAW,IAAK,GAAG,CACjJ,CACF,EAAG,CACD79H,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAKolI,cAAc,GAAKplI,KAAKslI,iCAAiC,GAAKtlI,KAAK+lI,eAAe,CAChG,CACF,EAAG,CACD99H,IAAK,sBACLlC,MAAO,WACL,OAAO/F,KAAKgmI,SAAS,EAAIhmI,KAAKinC,UAAU,EAAE/zB,OAASlT,KAAK0lI,kBAAkB,CAC5E,CACF,EAAG,CACDz9H,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAKqlI,iBAAiB,EAAIrlI,KAAKumB,MAAM,EAAIvmB,KAAKoqC,QAAQ,CAC/D,CACF,EAAG,CACDniC,IAAK,gBACLlC,MAAO,WACL,IAAIkgI,EAAejmI,KAAKi5B,OAAO4M,KAM/B,OALWogG,EAAangG,KAKV,IAJHmgG,EAAalgG,KAIG,IAHhBkgG,EAAajgG,KAGgB,IAF7BigG,EAAahgG,IAG1B,CACF,EAAG,CACDh+B,IAAK,cACLlC,MAAO,WACL,OAAO7E,MAAMkF,QAAQpG,KAAKi5B,OAAOq/E,GAAG,GAAKt4G,KAAKi5B,OAAOq/E,IAAItiF,KAAK,SAAUz3B,GACtE,MAAO,QAAUA,CACnB,CAAC,CACH,CAMF,EAAG,CACD0J,IAAK,gBACLlC,MAAO,WACL,IAAI46G,EAAU90G,EAAcvH,QAAQwc,QAAQjY,MAAMkhC,SAAS42E,QAI3D,OAAIA,GAAW,CAAC3gH,KAAKolI,cAAc,EAC1BzkB,EAGF3gH,KAAK0kC,UAAU,CACxB,CAMF,EAAG,CACDz8B,IAAK,mBACLlC,MAAO,WACL,IAAI46G,EAAU90G,EAAcvH,QAAQwc,QAAQjY,MAAMkhC,SAAS42E,QAI3D,OAAIA,GAAW,CAAC3gH,KAAKolI,cAAc,EAC1BzkB,EAGF3gH,KAAK0kC,UAAU,EAAI,oDAC5B,CAMF,EAAG,CACDz8B,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAK4kC,UAAU,EAAI,oDAC5B,CAQF,EAAG,CACD38B,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAK4kC,UAAU,EAAI,OAC5B,CACF,EAAG,CACD38B,IAAK,YACLlC,MAAO,WACL,IAAI46G,EAAU90G,EAAcvH,QAAQwc,QAAQjY,MAAMkhC,SAAS42E,QAI3D,OAAIA,GAIG3gH,KAAKi5B,OAAO2sG,MACrB,CAQF,EAAG,CACD39H,IAAK,cACLlC,MAAO,WACL,IAAI+f,EAAM4pE,EAAKsxC,EAAW3/H,UAAU8H,WAAapB,OAAOqB,eAAe43H,EAAW3/H,SAAS,EAAG,cAAerB,IAAI,EAAEb,KAAKa,IAAI,EACxHkmI,EAAU,SAAWlmI,KAAKmmI,cAAc,GAAKnmI,KAAKolI,cAAc,GAAKplI,KAAKslI,iCAAiC,EAG/G,OAAIY,GAAWlmI,KAAK+lI,eAAe,EAC1B/lI,KAAKinC,UAAU,EAAEnhB,IAItBogH,EACKpgH,EAAM,UAAY9lB,KAAKi5B,OAAO7B,OAAOtxB,KAGvCggB,CACT,CACF,EAAG,CACD7d,IAAK,uBACLlC,MAAO,WACL,OAAO/F,KAAKu3B,aAAa,CAAE6uG,WAAY,CAAA,CAAM,CAAC,CAChD,CAgBF,EAAG,CACDn+H,IAAK,eACLlC,MAAO,WACL,IAuDQsgI,EAvDJpuG,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EqH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAEu2B,WAAY,CAAA,EAAOF,IAAK,CAAA,EAAOC,OAAQ,WAAY,EAGhI2c,EAAW,KAAA,EACX9b,EAAa,KAAA,EAEbguG,EAAuBzwF,EAAS,GAAI5d,EAAQj4B,KAAKumI,YAAY,EAC7DrjH,EAAQojH,EAAqBpjH,MAC7BE,EAASkjH,EAAqBljH,OAC9BojH,EAAwBF,EAAqBrqH,MAC7CA,EAAkCxT,KAAAA,IAA1B+9H,EAAsC,QAAUA,EACxDC,EAAyBH,EAAqBI,SAC9CA,EAAsCj+H,KAAAA,IAA3Bg+H,EAAuC,GAAKA,EACvDE,EAAyBL,EAAqB5D,YAC9CA,EAAyCj6H,KAAAA,IAA3Bk+H,GAA8CA,EAC5DC,EAAWN,EAAqBM,SAChCC,EAAaP,EAAqBO,WAClCC,EAAyBR,EAAqBF,WAC9CA,EAAwC39H,KAAAA,IAA3Bq+H,GAA8CA,EAC3DC,EAAkBT,EAAqBS,gBACvCC,EAAcV,EAAqBU,YACnCC,EAAiBX,EAAqBW,eACtCC,EAAcZ,EAAqBY,YACnCC,EAAeb,EAAqBa,aACpCC,EAAiBd,EAAqBc,eACtCC,EAAkBf,EAAqBe,gBACvCC,EAAgBhB,EAAqBgB,cACrCC,EAAejB,EAAqBiB,aACpCC,EAAkBlB,EAAqBkB,gBACvCC,EAAiBnB,EAAqBmB,eACtCC,EAAYpB,EAAqBoB,UACjCvgG,EAAMm/F,EAAqBn/F,IAC3BtB,EAAOygG,EAAqBzgG,KAC5B8hG,EAAyBrB,EAAqBxB,YAC9CA,EAAyCr8H,KAAAA,IAA3Bk/H,EAAuC,QAAUA,EAiCnE,OANArvG,GAhBEA,EAFEt4B,KAAKgkI,kBAAkB,GACzB5vF,EAAWp0C,KAAKiyG,UAAU,EAAE76E,OAAOtR,IAAIiS,QAAQ,SAAU,GAAG,EAAI,aACnD,CAAC,2BAA4B,gBAAiB,mBAAoB,SAAW/3B,KAAKiyG,UAAU,EAAE76E,OAAOhjB,SAS5GiyH,EAAa79H,EAAKkvB,aAAe,CAAC,YAAajvB,KAAAA,GAAWgB,SAASjB,EAAKivB,MAAM,GAAK5rB,EAAcvH,QAAQwc,QAAQjY,MAAMqtB,sBAAuB,EAAIgrG,EAAoB2C,mBAAmB7jI,IAAI,EAAIyI,KAAAA,EAErM2rC,EAAWp0C,KAAK0kC,UAAU,CAAE5+B,KAAM,QAAS,CAAC,EAC/B,CAAC,cAAe,gBAAiB,2BAA4B0uB,EAAG,eAAgBswG,CAAW,EAAGtwG,EAAG,SAAUtR,CAAK,EAAGsR,EAAG,UAAWpR,CAAM,EAAGoR,EAAG,UAAW/rB,KAAAA,IAAcD,EAAKivB,OAAS,YAAcjvB,EAAKivB,MAAM,EAAGjD,EAAG,eAAgBkuG,CAAW,EAAGluG,EAAG,iBAAkBvY,CAAK,EAAGuY,EAAG,kBAAmBvY,CAAK,EAAGuY,EAAG,cAAe4xG,CAAU,EAAG5xG,EAAG,gBAAiBkyG,CAAQ,EAAGlyG,EAAG,OAAQ2S,CAAG,EAAG3S,EAAG,QAAS,CAAC,CAAA,EAAO/rB,KAAAA,GAAWgB,SAASjB,EAAKgvB,GAAG,GAAKqO,GAAQA,EAAKxtB,KAAK,GAAG,CAAC,EAAGmc,EAAG,YAAaoyG,CAAQ,EAAGpyG,EAAG,cAAeqyG,CAAU,EAAGryG,EAAG,mBAAoBuyG,CAAe,EAAGvyG,EAAG,eAAgBwyG,CAAW,EAAGxyG,EAAG,kBAAmByyG,CAAc,EAAGzyG,EAAG,eAAgBhsB,EAAKkvB,YAAc,qBAAuBlvB,EAAKivB,OAAS,GAAKyvG,CAAW,EAAG1yG,EAAG,gBAAiBhsB,EAAKkvB,YAAc,qBAAuBlvB,EAAKivB,OAAS,GAAK0vG,CAAY,EAAG3yG,EAAG,mBAAoB6yG,CAAe,EAAG7yG,EAAG,kBAAmB4yG,CAAc,EAAG5yG,EAAG,iBAAkB8yG,CAAa,EAAG9yG,EAAG,gBAAiB+yG,CAAY,EAAG/yG,EAAG,mBAAoBgzG,CAAe,EAAGhzG,EAAG,kBAAmBizG,CAAc,EAAGjzG,EAAG,aAAckzG,CAAS,EAAGlzG,EAAG,aAAc6xG,GAAcA,EAAWjuG,SAAS,EAAG5D,EAAG,cAAe6xG,GAAcA,EAAWhuG,UAAU,EAAG7D,EAAG,UAAWhsB,EAAKkvB,YAAc,qBAAuBlvB,EAAKivB,OAASoB,mBAAmB74B,KAAKmgI,gBAAgB,EAAE59H,IAAI,EAAIkG,KAAAA,CAAS,EAAG+rB,EAAG,SAAUx0B,KAAK2hI,gBAAgB,CAAE77H,KAAM,QAAS,CAAC,CAAC,KAIv1CkO,OAAO,SAAU/U,GACvC,OAAOA,CACT,CAAC,EAEDe,KAAK4nI,UAAY,GAAKxzF,GAAoC,CAAC,EAAzBA,EAAS9B,QAAQ,GAAG,EAAS,IAAM,KAAOha,EAAWjgB,KAAK,GAAG,EAExFrY,KAAK4nI,SACd,CACF,EAAG,CACD3/H,IAAK,0BACLlC,MAAO,SAAiCovC,GACtC,IAAItP,EAAOsP,EAAOtP,KAGlB7lC,KAAKumI,aAAe1wF,EAAS,GAAI71C,KAAKumI,aAAc,CAAE1gG,KAAMA,EAAMsB,IAFxDgO,EAAOhO,GAE0D,CAAC,CAC9E,CACF,EAAG,CACDl/B,IAAK,qBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO4uG,iBAAmB,IAAM7nI,KAAKi5B,OAAO6uG,YAC1D,CACF,EAAG,CACD7/H,IAAK,cACLlC,MAAO,WACL,IAAIgD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC9EwhI,EAAcxhI,UAAU,GAQ5B,GAAInB,KAAK+nI,UACP,OAAO/nI,KAAK+nI,UAGdh/H,EAAQ24H,gBAAkB71H,EAAcvH,QAAQsgB,QAAU,CAAC5kB,KAAKolI,cAAc,EAC9E,IAAIpuG,EAASh3B,KAAKolI,cAAc,EAAI,MAAQplI,KAAKgoI,aAAa,EAC1DxoE,EAASx/D,KAAKi5B,OAAO4M,KAAO,CAAC7lC,KAAKi5B,OAAO4M,KAAKC,KAAM9lC,KAAKi5B,OAAO4M,KAAKE,KAAM/lC,KAAKi5B,OAAO4M,KAAKG,KAAMhmC,KAAKi5B,OAAO4M,KAAKI,MAAQ,KAC3H7O,EAASp3B,KAAKi5B,OAAO7B,OAErBwpG,EAAiB5gI,KAAKi5B,OAAO2nG,eAC7BqH,EAAqBjoI,KAAKi5B,OAAOgvG,oBAAsB,MACvDpG,EAAc7hI,KAAKi5B,OAAO4oG,YAC1BC,EAAe9hI,KAAKi5B,OAAO6oG,aAC3BC,EAAa/hI,KAAKi5B,OAAO8oG,WACzBC,EAAoBhiI,KAAKi5B,OAAO+oG,kBAEhCl8G,EAAM9lB,KAAK2gI,SAAS,EAAI3gI,KAAKkoI,YAAY,EAAIn/H,EAAQ+c,KAAO9lB,KAAK0kC,UAAU,EAE/E,OAAI1kC,KAAK2gI,SAAS,GAAK,QAAUsH,EACxB,IAAIntE,EAAYjlB,EAAS,GAAI9sC,EAAS,CAAEy2D,OAAQA,EAAQ15C,IAAKA,EAAK86G,eAAgBA,EAAgB96H,KAAM,KAAM,CAAC,EAAG,GAAIkxB,CAAM,EAGjIh3B,KAAKolI,cAAc,GAAKhuG,GAAU,oBAAsBA,EAAOtxB,KAC1D,IAAIg1D,EAAYjlB,EAAS,GAAI9sC,EAASquB,CAAM,EAAGurG,CAAW,EAG/D3iI,KAAK2gI,SAAS,GAAK,SAAWsH,EACzB,IAAIntE,EAAYjlB,EAAS,GAAI9sC,EAAS,CAC3C+c,IAAKA,EACL86G,eAAgBA,EAChBiB,YAAaA,EACbC,aAAcA,EACdC,WAAYA,EACZC,kBAAmBA,EACnBl8H,KAAM,MACR,CAAC,EAAG68H,EAAa3rG,CAAM,EAGrBh3B,KAAKolI,cAAc,GAAKhuG,GAAU,SAAWA,EAAOtxB,KAC/C,IAAIg1D,EAAYjlB,EAAS,GAAI9sC,EAAS,CAAE+c,IAAKA,EAAK86G,eAAgBA,EAAgB96H,KAAM,MAAO,CAAC,EAAG68H,EAAa3rG,CAAM,EAGxH,IAAI8jC,EAAYjlB,EAAS,GAAI9sC,EAAS,CAAE+c,IAAKA,CAAI,CAAC,EAAG68G,EAAa3rG,CAAM,CACjF,CAQF,EAAG,CACD/uB,IAAK,YACLlC,MAAO,WACL,OAAI/F,KAAKolI,cAAc,GAAKplI,KAAKinC,UAAU,EAClCjnC,KAAKinC,UAAU,EAAExP,OAEnBi4D,EAAKsxC,EAAW3/H,UAAU8H,WAAapB,OAAOqB,eAAe43H,EAAW3/H,SAAS,EAAG,YAAarB,IAAI,EAAEb,KAAKa,IAAI,CACzH,CAYF,EAAG,CACDiI,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAKolI,cAAc,GAAK,CAAC,SAASj0D,KAAK,IAAIprD,IAAI/lB,KAAKukI,YAAY,EAAG15H,OAAOC,WAAWupC,OAAO,EAAEpoB,QAAQ,EAAI,MAAQjsB,KAAKi5B,OAAO5B,UACvI,CAQF,EAAG,CACDpvB,IAAK,SACLlC,MAAO,SAAgB49H,EAAUhB,GAC3B3iI,KAAKmoI,MAAM,GACbnoI,KAAK+nI,UAAU1sH,OAAOsoH,EAAUhB,CAAW,CAE/C,CAQF,EAAG,CACD16H,IAAK,aACLlC,MAAO,SAAoBu6B,GAIzB,OAHItgC,KAAK+nI,WACP/nI,KAAKo7D,WAAW,EAAEvsB,WAAWvO,CAAI,EAE5BovD,EAAKsxC,EAAW3/H,UAAU8H,WAAapB,OAAOqB,eAAe43H,EAAW3/H,SAAS,EAAG,aAAcrB,IAAI,EAAEb,KAAKa,KAAMsgC,CAAI,CAChI,CAQF,EAAG,CACDr4B,IAAK,YACLlC,MAAO,WACL,OAAI/F,KAAK+nI,UACA/nI,KAAKo7D,WAAW,EAAEn0B,UAAU,EAE9ByoD,EAAKsxC,EAAW3/H,UAAU8H,WAAapB,OAAOqB,eAAe43H,EAAW3/H,SAAS,EAAG,YAAarB,IAAI,EAAEb,KAAKa,IAAI,CACzH,CAQF,EAAG,CACDiI,IAAK,uBACLlC,MAAO,WACL,IAAIohC,EAAyB,EAAnBhmC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG9E,OADAgmC,EAAIz2B,KAAOy2B,EAAIz2B,MAAkB,YAC1BoiC,EAAcxuC,QAAQ0V,IAAImtB,CAAG,CACtC,CAQF,EAAG,CACDl/B,IAAK,aACLlC,MAAO,WACL,IAAI6nD,EAAS5tD,KAgBb,MAdI,CAACA,KAAKohI,UAAYphI,KAAKqhI,eACzBrhI,KAAKohI,SAAWphI,KAAKqhI,aAAa,EAElCrhI,KAAKohI,SAASn6F,UAAU,EAAEplC,GAAG,iBAAkB,WAC7C,OAAO+rD,EAAOzrD,KAAK,WAAW,CAChC,CAAC,EACDnC,KAAKohI,SAASn6F,UAAU,EAAEplC,GAAG,eAAgB,WAC3C,OAAO+rD,EAAOzrD,KAAK,SAAS,CAC9B,CAAC,EACGnC,KAAK+nI,UAAU9uG,OAAO6mG,cACxB9/H,KAAKohI,SAASn6F,UAAU,EAAEmhG,gBAAgBpoI,KAAK+nI,UAAU9uG,OAAO6mG,YAAY,EAE9E9/H,KAAKohI,SAASvyF,WAAW7uC,KAAK+nI,UAAUl/H,MAAMiF,OAAO,GAEhD9N,KAAKohI,QACd,CACF,EAAE,EAryBJ,IAyQUpiH,EAzQNgiH,EAuyBKA,EApyBP,SAASA,IACP,IAAI/nG,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAI9EoW,GAFJ64E,EAAgBpwF,KAAMghI,CAAU,EAEnB3wC,EAA2BrwF,MAAOghI,EAAW73H,WAAapB,OAAOqB,eAAe43H,CAAU,GAAG7hI,KAAKa,KAAMi5B,EAAQlwB,CAAO,CAAC,GA4OrI,OA1OAwO,EAAO8wH,YAAct/H,EAAQs/H,YAE7B9wH,EAAO08E,QAAU,CACfvmF,OAAQ,YACV,EAEA6J,EAAO0hB,OAAOu5C,UAAYv5C,EAAOu5C,WAAa,CAAA,EAC9Cj7D,EAAOzR,KAAO+R,EAAOy0C,MAAMyD,WAAWu4E,MACtC/wH,EAAOqwH,UAAY,KACnBrwH,EAAOgvH,aAAe,GAEtBhvH,EAAOgxH,MAAMtvG,EAAQlwB,CAAO,EAKxB,QAAUwO,EAAO8wH,cACnB9wH,EAAO8pH,aAAe,WACpB,OAAO,IAAI7vH,GAAG4C,MAAMwlH,KAAK,CACvBxiG,OAAQ,IAAI5lB,GAAG4lB,OAAOoxG,IAAI,CAAE1iH,IAAKvO,EAAO0hB,OAAOnT,GAAI,CAAC,EACpDtN,GAAIjB,EAAO0hB,OAAO12B,MAAQ,MAC1BhB,MAAOgW,EAAO0hB,OAAO13B,OAAS,MAC9BknI,QAAS,CAAA,CACX,CAAC,CACH,GAME,SAAWlxH,EAAO8wH,cACpB9wH,EAAO8pH,aAAe,WACpB,IAAI9+H,EAAO,CACTmmI,QAAS,OACTC,OAAQ,SACRC,iBAAkB,kBACpB,EAAErxH,EAAO0hB,OAAO7B,QAAU7f,EAAO0hB,OAAO7B,OAAOiE,UAAY,SAC3D,OAAO,IAAI7pB,GAAG4C,MAAMwlH,KAAK,CACvBr3H,KAAMA,EACNuL,QAAS,CAAA,EACT+6H,QAAS5wD,EAAAA,EACT7gD,OAAQ,IAAI5lB,GAAG4lB,OAAO0xG,SAAS,CAAEC,WAAYxmI,EAAM0F,IAAK4D,EAAcvH,QAAQo2B,KAAK09E,WAAW4wB,IAAK,CAAC,EACpGP,QAAS,CAAA,CACX,CAAC,CACH,GAME,QAAUlxH,EAAO8wH,cACnB9wH,EAAO8pH,aAAe,WACpB,IAAIv7G,EAAMrd,KAAAA,IAAc8O,EAAO0hB,OAAOnT,IAAMvO,EAAO0hB,OAAOnT,IAAM,KAC5Di1C,EAAaj1C,GAAOvO,EAAO0xH,qBAAqB1xH,EAAO0hB,OAAOkO,GAAG,EACrE,GAAKrhB,EAGL,OAAO,IAAItU,GAAG4C,MAAMwlH,KAAK,CACvB9rH,QAAS,CAAA,EACTitD,WAAYA,EACZ3jC,OAAQ,IAAI5lB,GAAG4lB,OAAOyrG,IAAI,CACxB/8G,IAAKA,EACLg9G,QAASvrH,EAAO0hB,OAAO6pG,QACvBC,QAASxrH,EAAO0hB,OAAO8pG,QACvBhoE,WAAYA,EACZioE,YAAa,YAGbT,SAAU,YAAcxnE,EAAW09D,SAAS,EAAI,IAAIjnH,GAAGywH,SAASqB,SAAS,CAKvE7B,YAAajwH,GAAGywH,SAASC,UAAU,CAAE1iE,OAAQzE,EAAWwoE,UAAU,EAAGT,QAASvrH,EAAO0hB,OAAO6pG,OAAQ,CAAC,EAAEX,eAAe,EAAE59G,MAAM,CAAC,EAC/Hi7C,OAAQzE,EAAWwoE,UAAU,CAC/B,CAAC,EAAI96H,KAAAA,CACP,CAAC,CACH,CAAC,CACH,GAME,QAAU8O,EAAO8wH,cACnB9wH,EAAO8pH,aAAe,WACpB,OAAO,IAAI7vH,GAAG4C,MAAMwlH,KAAK,CAEvB9rH,QAAS,CAAA,EACTspB,OAAQ,IAAI5lB,GAAG4lB,OAAOoqG,eAAe,CACnC17G,IAAKrd,KAAAA,IAAc8O,EAAO0hB,OAAOnT,IAAM,KAAOvO,EAAO0hB,OAAOnT,IAC5Di1C,WAAYxjD,EAAO0xH,qBAAqB1xH,EAAO0hB,OAAOkO,GAAG,EACzD24F,aAAcvoH,EAAO0hB,OAAO6mG,YAE9B,CAAC,CACH,CAAC,CACH,GAME,SAAWvoH,EAAO8wH,cACpB9wH,EAAO8pH,aAAe,WAEpB,IAkBMzmH,EAlBFsuH,EAAgB3xH,EAAO0hB,OACvBnT,EAAMojH,EAAcpjH,IACpB1R,EAAQ80H,EAAc90H,MACtB0rH,EAAeoJ,EAAcpJ,aAC7BuC,EAAY6G,EAAc7G,UAC1B8G,EAAuBD,EAAczxG,OACrCA,EAAkChvB,KAAAA,IAAzB0gI,EAAqC,YAAcA,EAC5DC,EAAsBF,EAAcv6G,MACpCA,EAAgClmB,KAAAA,IAAxB2gI,EAAoC,UAAYA,EACxDC,EAAkBH,EAAcG,gBAChC7mC,EAAO0mC,EAAc1mC,KACrB8mC,EAAcJ,EAAcI,YAI5BvuE,EAAaxjD,EAAO0hB,OAAO8hC,YAAcxjD,EAAO0xH,qBAAqB1xH,EAAO0hB,OAAOkO,GAAG,EAE1F,OAAIk7F,GACEznH,EAAOpJ,GAAGguD,OAAO+pE,SAASxuE,EAAWwoE,UAAU,CAAC,EAAI,IACjD,IAAI/xH,GAAG4C,MAAMwlH,KAAK,CACvB17F,QAAS,GACT9G,OAAQ,IAAI5lB,GAAG4lB,OAAOgrG,KAAK,CACzBt8G,IAAKA,EACLi1C,WAAYA,EACZ3mD,MAAOA,EACPiuH,UAAWA,EACXgH,gBAAiBA,EACjB5xG,OAAQA,EACRqoG,aAAcA,EACdyC,SAAU,IAAI/wH,GAAGywH,SAASG,KAAK,CAC7B3tF,OAAQjjC,GAAGguD,OAAOgjE,WAAWznE,EAAWwoE,UAAU,CAAC,EACnD9B,YAAavgI,MAAMimB,KAAK,CAAE/nB,OAAQ,EAAG,EAAG,SAAU4Y,EAAGwxH,GACnD,OAAO5uH,EAAOmP,KAAK0/G,IAAI,EAAGD,CAAC,CAC7B,CAAC,EACD/G,UAAWvhI,MAAMimB,KAAK,CAAE/nB,OAAQ,EAAG,EAAG,SAAU4Y,EAAGwxH,GACjD,OAAOA,CACT,CAAC,CACH,CAAC,EACD76G,MAAOA,CACT,CAAC,CACH,CAAC,GAIC6zE,GAAQ8mC,GACN7H,EAAcjwH,GAAGywH,SAASC,UAAU,CAAE1iE,OAAQ8pE,CAAY,CAAC,EAAEnH,eAAe,EACzE,IAAI3wH,GAAG4C,MAAMwlH,KAAK,CACvBxiG,OAAQ,IAAI5lB,GAAG4lB,OAAOgrG,KAAK,CACzBt8G,IAAKA,EACL1R,MAAOA,EACP2mD,WAAYA,EACZsnE,UAAW7/B,EACX/qE,OAAQA,GAAU,MAClB8qG,SAAU,IAAI/wH,GAAGywH,SAASG,KAAK,CAC7B3tF,OAAQjjC,GAAGguD,OAAOgjE,WAAW8G,CAAW,EACxC7H,YAAaA,EACbgB,UAAWhB,EAAYz4H,IAAI,SAAUgP,EAAGwxH,GACtC,OAAOA,CACT,CAAC,CACH,CAAC,EACD76G,MAAOA,EACP+zG,YAAa,CAAA,CACf,CAAC,CACH,CAAC,GAnBH,KAAA,CAqBF,GAME,QAAUnrH,EAAO8wH,cACnB9wH,EAAO8pH,aAAe,WACpB,OAAOvmE,EAAYumE,aAAa,CAC9BE,SAAU,CACRz7G,IAAKvO,EAAO0hB,OAAOnT,IACnBi1C,WAAYxjD,EAAO0xH,qBAAqB1xH,EAAO0hB,OAAOkO,GAAG,EACzD24F,aAAcvoH,EAAO0hB,OAAO6mG,aAC5B5sH,OAAQqE,EAAO0hB,OAAO/lB,OACtB0vH,MAAOn6H,KAAAA,IAAc8O,EAAO0hB,OAAOywG,YAAqBnyH,EAAO0hB,OAAOywG,WACtExrG,QAASz1B,KAAAA,IAAc8O,EAAO0hB,OAAOiF,QAAU,EAAI3mB,EAAO0hB,OAAOiF,OACnE,CACF,CAAC,CACH,GAME,oBAAsB3mB,EAAO8wH,cAC/B9wH,EAAO8pH,aAAe,WACpB,IAAIsI,EAAiBpyH,EAAO0hB,OACxBnT,EAAM6jH,EAAe7jH,IACrB8jH,EAAwBD,EAAe77H,QAQ3C,OAAO,IAAI0D,GAAG4C,MAAMwlH,KAAK,CACvBp6D,OAPWmqE,EAAenqE,OAQ1B1xD,QATsCrF,KAAAA,IAA1BmhI,GAA6CA,EAUzDxyG,OAAQ,IAAI5lB,GAAG4lB,OAAOoqG,eAAe,CACnC17G,IAAKA,EACLi1C,WAVa4uE,EAAe5uE,WAW5B+kE,aAVe6J,EAAe7J,aAW9BkD,YAVc2G,EAAe3G,WAW/B,CAAC,CACH,CAAC,CACH,GAQEzrH,EAAO8pH,cAAgB9pH,EAAO4wH,MAAM,GACtC5wH,EAAOwwH,UAAY,IAAIjtE,EAAY,CACjCh1C,IAAKvO,EAAOmtB,UAAU,EACtBlsB,GAAIjB,EAAO1O,MAAM2P,GACjBoqH,MAAOrrH,EAAO1O,MAAM+5H,KACtB,CAAC,EACDrrH,EAAOwwH,UAAUnuE,SAASriD,CAAM,GACvBA,EAAO8pH,eAChB9pH,EAAOwwH,UAAYxwH,GAEdA,CACT,CAojBFrY,EAAQ8hI,WAAaA,EACrB9hI,EAAQ47D,YAAcA,CAEtB,EAAE,CAACrnC,gBAAgB,IAAImhE,aAAa,IAAIi1C,uBAAuB,IAAIl4E,mBAAmB,IAAIq8C,yBAAyB,IAAIv/F,oBAAoB,IAAI8mC,oBAAoB,IAAIu0F,0BAA0B,GAAG,GAAGC,IAAI,CAAC,SAASnrI,EAAQU,EAAOJ,GACpO6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQotD,MAAQ7jD,KAAAA,EAEhB,IAAIotC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PuH,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAK5V,IAAIyW,EAAgBxf,EAAQ,eAAe,EAIvCiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD4T,EAAS1O,EAFDlF,EAAQ,eAAe,CAEM,EAIrC+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInCoxF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAE/CorI,EAAmBprI,EAAQ,uBAAuB,EAElD4f,EAAa5f,EAAQ,iBAAiB,EAEtCyiC,EAAgBziC,EAAQ,oBAAoB,EAE5C01B,EAAO11B,EAAQ,WAAW,EAE1BqrI,EAAUrrI,EAAQ,cAAc,EAIhCsrI,EAAUpmI,EAFDlF,EAAQ,sBAAsB,CAEA,EAEvC87E,EAAW97E,EAAQ,eAAe,EAElCglI,EAAqBhlI,EAAQ,yBAAyB,EAEtD4iF,EAAsB5iF,EAAQ,0BAA0B,EAExD2jE,EAAW3jE,EAAQ,oBAAoB,EAE3C,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAQ9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAEzc,SAASqqF,EAAgB1nF,EAAUrB,GAAe,GAAI,EAAEqB,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,CAAK,CAKvI,SAAb4hI,EAAiC7/G,GACnC,OAAO7hB,KAAAA,IAAc6hB,CACvB,CACS,SAALqvE,EAAiB76F,EAAG6X,GACtB,OAAOlO,KAAAA,IAAc3J,EAAIA,EAAI6X,CAC/B,CARA,IACIpY,EADWK,EAAQ,UAAU,EAChBL,EAUjB,SAAS6rI,EAAe7nI,EAAM6R,GAC5B,IAAI+sD,EAAW,IAAIkpE,EAAU9nI,GAC7B,OAAOwF,OAAO+tC,OAAOqrB,EAAU,CAC7BmpE,MAAO/nI,EACPsV,OAAQzD,EACRm2H,SAAU,WACR,OAAOppE,EAAStpD,MAClB,EACA2yH,SAAU,SAAkBj1G,GAC1B,OAAO4rC,EAAStpD,OAAS0d,CAC3B,EACA2R,YAAai6B,EAASj6B,aAAe,aAGrCsc,MAAO2d,EAAS3d,OAAS,aAGzBpZ,QAAS,WACP,OAAO+2B,EAASmpE,KAClB,CACF,CAAC,CACH,CASA,IAAID,EAAY,CAEdI,SAKErjI,EAAaqjI,EAAS,CAAC,CACrBxiI,IAAK,QACLlC,MAAO,WACL,OAAO,EAAIyY,EAAW+8E,YAAYpvF,QAAQC,QAAQ,EAAE,CAAC,CACvD,CACF,EAAG,CACDnE,IAAK,cACLlC,MAAO,WACL,IAAI6E,EAAQ5K,KAERwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE/E,OAAO,EAAIqd,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAO,IAAIwF,GAAGimB,OAAO8P,SAAUmjG,aAAaliI,EAAK8K,OAAQ,MAAOghB,EAAK+E,IAAIrf,IAAI,CAAE8L,IAAKtd,EAAKsd,KAAOlb,EAAMiN,OAAOmC,IAAI,QAAQ,EAAE8L,GAAI,CAAC,GAAGkrC,QAAS,CAC1IvpB,kBAAmBj/B,EAAKmiI,cACxBC,eAAgBpiI,EAAKuyD,YAAc,WACrC,CAAC,CACH,CAAC,CAAC,CACJ,CACF,EAAE,EAEK0vE,GAGTI,MAKEzjI,EAAayjI,EAAM,CAAC,CAClB5iI,IAAK,QAaLlC,MAAO,WACL,IAAI6D,EAAS5J,KAETwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG/E,OADAnB,KAAK8qI,aAAe9qI,KAAK8qI,cAAgB,CAAE9hI,IAAK,KAAMoL,MAAO,IAAK,GAC3D,EAAIoK,EAAW+8E,YAAYvvF,EAAkB,YAClD,IAuDIqqB,EAvDA00G,EAAW,UAAYnhI,EAAOiO,OAAOjS,QAAQ,EAO7CsN,GAJC63H,IACHnhI,EAAOkhI,aAAa9hI,IAAMY,EAAOiO,OAAOmzH,iBAAiB,GAAKphI,EAAOkhI,aAAa12H,OAGvE5L,EAAK0K,OAAS1K,EAAK0K,OAAOlK,IAAI,SAAUusB,GACnD,OAAOA,EAAEosG,gBAAgB,CAC3B,CAAC,EAAEtpH,KAAK,GAAG,EAAIzO,EAAOiO,OAAO8pH,gBAAgB,GAG7C,OAAKn5H,EAAKwL,QAcN,cAVAA,EAAS,GAAG1T,OAAOkI,EAAKwL,MAAM,EAEjChL,IAAI,SAAUtK,GACb,MAAO,CACLoH,KAAMpH,EAAE+qC,OAAS/qC,EAAEoH,KACnBC,MAAOrH,EAAEusI,SAAWvsI,EAAEqH,KACxB,CACF,CAAC,GAGyB,GAAGD,OAC3B8D,EAAOkhI,aAAa12H,MAAQ,MAG9BJ,EAASA,EAAOA,OAAO,SAAUtV,GAC/B,OAAOA,EAAEqH,KACX,CAAC,EAEGyO,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAChC8L,IAAKtd,EAAKysF,UAAYrrF,EAAOiO,OAAO65D,OAAO,OAAO,EAClDz5C,OAAQ,CACNizC,QAAS,MACTC,QAAS,QACTC,QAAS,iBACT5yC,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,YAC1CN,OAAQhlB,EACRg4H,aAAch4H,EACd6nE,YAAanxE,EAAOiO,OAAOwsH,cAAc,GAAK,0BAC9C8G,cAAe3iI,EAAK+L,eAAiB,GACrCo3D,IAAKo/D,EAAWl/H,EAAcvH,QAAQ0E,IAAI0H,KAAO9G,EAAOkhI,aAAa9hI,IAAIuuD,QAAQ,EACjF6zE,EAAG5iI,EAAK4iI,EACRC,EAAG7iI,EAAK6iI,EACRC,OAAQt3H,EAAO5U,OAAS4U,EAAOhL,IAAI,SAAUtK,GAC3C,OAAOA,EAAEqH,KACX,CAAC,EAAEsS,KAAK,GAAG,EAAI5P,KAAAA,EACf8iI,cAAe,CAACR,CAClB,CACF,CAAC,EAEG10G,EAAU5tB,KAAAA,IAAcD,EAAK0K,OAAS,CAACtJ,EAAOiO,QAAUrP,EAAK0K,OAE1D1K,EAAK8sF,IAAM9gF,EAAWkmE,EAASQ,eAAelhE,IAAIqc,EAAQ,GAAGguG,cAAc,CAAC,EAAE,CACnF7vH,SAAUA,EACVokD,YAAahvD,EAAOkhI,aACpB53H,OAAQmjB,EACRkH,IAAK,CAAA,CACP,CAAC,GAjDQpxB,QAAQE,OAAO,CAkD1B,CAAC,CAAC,CACJ,CAMF,EAAG,CACDpE,IAAK,YACLlC,MAAO,WACL,OAAO,EAAIyY,EAAW+8E,YAAYjnE,EAAK+E,IAAIrf,IAAI,CAAE8L,IAAK9lB,KAAK6X,OAAO65D,OAAO,QAAQ,CAAE,CAAC,CAAC,CACvF,CAMF,EAAG,CACDzpE,IAAK,cACLlC,MAAO,WACL,IAAIwR,EAASvX,KAET+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC9E82B,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAajF,OAVA4G,OAAO8f,QAAQoQ,CAAM,EAAEhkB,QAAQ,SAAUuD,GACvC,IAAIyH,EAAQjQ,EAAewI,EAAO,CAAC,EAC/BvP,EAAMgX,EAAM,GAGZ,CAAC,KAAMxW,KAAAA,GAAWgB,SAFVwV,EAAM,EAEkB,GAClC,OAAOgZ,EAAOhwB,EAElB,CAAC,GAEM,EAAIuW,EAAW+8E,YAAYvvF,EAAkB,YAMlD,IAIMopB,EAJN,GAHA6C,IADAA,EAAS,IAAIgzC,gBAAgBhzC,GAAU,EAAE,EAAE3xB,SAAS,GACjC,IAAM,IAAM2xB,EAG3B,CAAClvB,EAAQy9B,QAMX,MAAO,CACLlzB,MAHE8hB,GAHQrnB,MAAMumB,EAAK+E,IAAIrf,IAAI,CAC7B8L,IAAKvO,EAAOM,OAAO65D,OAAO,MAAM,EAAIz5C,CACtC,CAAC,GACkB7C,QAGJ9hB,KACbo4E,MAAOt2D,EAAOs2D,KAChB,EAIF,IAEE,IA8CI4zC,EA9CA9qH,EAAW,KAAA,EA0Cf,OAxCKzL,EAAQiL,OAKFm2H,EAAWphI,EAAQiL,OAAO6xB,IAAI,EAEvCrxB,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAC7Bha,IAAKvO,EAAOM,OAAO65D,OAAO,SAAS,EAAIz5C,EACvC3kB,KAAMwT,KAAKuB,UAAU,CACnBigE,QAASv/E,EAAQiL,OAAO6xB,KAAKxtB,KAAK,GAAG,EACrCmgB,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,WAC5C,CAAC,EACDuH,YAAa,kBACf,CAAC,EACQoqG,EAAWphI,EAAQiL,OAAOy0B,GAAG,EAEtCj0B,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAAE8L,KAAK,EAAI07D,EAAoBe,oBAAoBx5E,EAAQiL,OAAOy0B,GAAG,CAAE,CAAC,EAC7F1/B,EAAQiL,OAAOnO,MACxB2O,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAC7Bha,IAAKvO,EAAOM,OAAO65D,OAAO,SAAS,EAAIz5C,EACvC3kB,KAAMwT,KAAKuB,UAAUtf,EAAQiL,MAAM,EACnC+rB,YAAa,kBACf,CAAC,EACQoqG,EAAWphI,EAAQiL,OAAOw1E,IAAI,EACvCh1E,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAC5B8L,IAAKvO,EAAOM,OAAO65D,OAAO,SAAS,EAAIz5C,EACvCA,OAAQlvB,EAAQiL,MAClB,CAAC,EACQm2H,EAAWphI,EAAQiL,OAAOw3H,UAAU,IAC7Ch3H,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAC7Bha,IAAKvO,EAAOM,OAAO65D,OAAO,SAAS,EAAIz5C,EACvC3kB,KAAMwT,KAAKuB,UAAU,CACnBxiB,OAAQkD,EAAQiL,OAAOy3H,kBAAoB,MAAQ,0BACrD,CAAC,EACD1rG,YAAa,kBACf,CAAC,GAnCDvrB,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAC7Bha,IAAKvO,EAAOM,OAAO65D,OAAO,SAAS,EAAIz5C,EACvC8H,YAAa,kBACf,CAAC,EAoCEvrB,EAAS8kB,QAIVgmG,EAAU9qH,EAASyqH,aAAaj2H,IAAI,SAAU0iI,GAChD,OAAOA,EAAGxM,SACZ,CAAC,EAGM,CACLxzC,MAAOl3E,EAAS4gB,OAAOs2D,MACvBuzC,aAAczqH,EAASyqH,aACvBvqH,SAAUgmE,EAASQ,eAAelhE,IAAI,OAASzC,EAAOM,OAAOjS,QAAQ,EAAI,OAAO,EAAE4O,EAAS4gB,OAAO9hB,KAAM,eAAiBkB,EAAS4gB,OAAO2R,aAAe,GAAK,CAAEI,IAAK5vB,EAAOM,OAAO5H,OAAO,CAAE,CAAC,EAAE+D,OAAO,SAAUtV,GAC7M,OAAO4gI,EAAQ71H,SAAS,GAAK/K,EAAE6nB,MAAM,CAAC,CACxC,CAAC,EAAEvd,IAAI,SAAU6K,GACf,OAAO,IAAI0uD,EAAS/B,QAAQ,CAAE3sD,QAASA,CAAQ,CAAC,CAClD,CAAC,CACH,GAhBE,KAAA,CAmBJ,CAFE,MAAOxV,IAGT,OAAO8N,QAAQE,OAAO,CAAEyO,QAASvc,EAAE,mBAAmB,CAAE,CAAC,CAC3D,CAAC,CAAC,CACJ,CACF,EAAE,EAEKssI,GAGTttG,KAKEn2B,EAAam2B,EAAK,CAAC,CACjBt1B,IAAK,QACLlC,MAAO,WACL,IAAIyC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3EwqI,EAAenjI,EAAK0K,OACpBA,EAA0BzK,KAAAA,IAAjBkjI,EAA6B,CAAC3rI,KAAK6X,QAAU8zH,EACtDC,EAAapjI,EAAKoS,KAClBA,EAAsBnS,KAAAA,IAAfmjI,EAA2B,CAAC,IAAK,KAAOA,EAC/CC,EAAoBrjI,EAAKtC,YACzBA,EAAoCuC,KAAAA,IAAtBojI,EAAkC,GAAKA,EACrDx/D,EAAa7jE,EAAK6jE,WAIlBkuD,EAAKluD,EAAazxD,EAAK,GAAK,EAC5B4/G,EAAKnuD,EAAazxD,EAAK,GAAK,EAC5BirB,EAAO,CAAC3/B,EAAY,GAAKq0H,EAAIr0H,EAAY,GAAKs0H,EAAIt0H,EAAY,GAAKq0H,EAAIr0H,EAAY,GAAKs0H,GAExFz/D,EAAa/6D,KAAK6X,OAAOmzH,iBAAiB,GAAKhrI,KAAK6X,OAAOy/C,cAAc,EACzEw0E,EAAYnyC,EAAGnxF,EAAKujI,sBAAuB3tH,EAAci+E,qBAAqB,EAE9Ev2E,EAAM5S,EAAO,GAAGqxH,YAAY,EAC5BvtG,EAAS9jB,EAAO,GAAG80H,aAAa,EAChCgE,EAAQ94H,EAAO,GAAG8yH,SAAS,EAC3B5uG,GAAUtR,GAAO,IAAIlD,MAAM,QAAQ,EAGnCqV,EAAS,CACXizC,QAAS,MACTC,QAAS,QACTC,QAAS,iBACTO,IAAK5Q,EAAWxD,QAAQ,EACxBr/B,QAAShlB,GAAU,CAAClT,KAAK6X,OAAOo0H,oBAAoB,IAAIjjI,IAAI,SAAUusB,GACpE,OAAOA,EAAE02G,oBAAoB,CAC/B,CAAC,EAAE5zH,KAAK,GAAG,EACX6yH,cAAeh4H,GAAU,CAAClT,KAAK6X,OAAOo0H,oBAAoB,IAAIjjI,IAAI,SAAUusB,GAC1E,OAAOA,EAAE02G,oBAAoB,CAC/B,CAAC,EAAE5zH,KAAK,GAAG,EACXmgB,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,YAC1CuiD,YAAa/6E,KAAK6X,OAAOwsH,cAAc,GAAK,0BAC5C8G,cAAexxC,EAAGnxF,EAAK+L,cAAe,EAAE,EACxCg3H,cAAe,CAAA,EACfjgE,IAAKltD,EAAc89E,cACnBgwC,YAAa,QAAUJ,EAAUjtF,MAAO,IAAIrtC,GAAGimB,OAAO00G,KAAMC,cAAc56H,GAAGkvD,KAAK8yD,QAAQmE,WAAW,IAAInmH,GAAGkvD,KAAK+zD,OAAOvuH,EAAa4lI,EAAU/lI,KAAK,CAAC,CAAC,EAAI0C,KAAAA,EAC1J4jI,mBAAoB,QAAUP,EAAUjtF,KAAOp2C,KAAAA,EAAYqjI,EAAU/lI,MACrEumI,kBAAmB,QAAUR,EAAUjtF,KAAOp2C,KAAAA,EAAYqjI,EAAU/lI,MACpEwmI,qBAAsB,QAAUT,EAAUjtF,KAAOp2C,KAAAA,EAAYqjI,EAAU/lI,MACvEymI,cAAe,QAAUV,EAAUjtF,KAAOp2C,KAAAA,EAAYqjI,EAAU/lI,MAAQsmE,EACxE++D,EAAG,QAAUU,EAAUjtF,KAAOp2C,KAAAA,EAAYshB,KAAKq4B,OAAOl8C,EAAY,GAAK2/B,EAAK,IAAMwmC,CAAU,EAC5Fg/D,EAAG,QAAUS,EAAUjtF,KAAOp2C,KAAAA,EAAYshB,KAAKq4B,OAAOvc,EAAK,GAAK3/B,EAAY,IAAMmmE,CAAU,EAC5FogE,MAAO7xH,EAAK,GACZ8xH,OAAQ9xH,EAAK,GACbud,OAAQ,GACRw0G,MAAO,OAAS5xE,EAAWqO,mBAAmB,EAAEy3D,OAAO,EAAG,CAAC,EAAI,CAACh7F,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAAMA,GAAMxtB,KAAK,GAAG,EAEpH+f,UAAWllB,EAAOy3E,QAAQ,SAAUp1D,GAClC,OAAO,EAAIquG,EAAmBC,mBAAmBtuG,CAAC,EAAE6C,SACtD,CAAC,EAAEpkB,OAAOqL,OAAO,EAAEhH,KAAK,GAAG,GAAK5P,KAAAA,EAChC4vB,WAAYnlB,EAAOy3E,QAAQ,SAAUp1D,GACnC,OAAO,EAAIquG,EAAmBC,mBAAmBtuG,CAAC,EAAE8C,UACtD,CAAC,EAAErkB,OAAOqL,OAAO,EAAEhH,KAAK,GAAG,GAAK5P,KAAAA,EAChCmkI,OAAQ,CAACZ,GAAS,QAAUh1G,GAA0B,EAAhBI,EAAOh4B,OAAag4B,EAAO,GAAK3uB,KAAAA,CACxE,EAEIokI,EAAQ,KAAA,EAGZ,OAAO,EAAIruH,EAAW+8E,YAAYpvF,QAAQ2gI,KAAK,CAAC,IAAI3gI,QAAQ,SAAU6uD,GACpE6xE,EAAQjtI,WAAW,WACjBo7D,EAAI,CACF1nD,MAAOJ,GAAU,IAAIlK,IAAI,SAAUoL,GACjC,MAAO,CAAEA,MAAOA,EAAOsgE,QAAS,SAAU,CAC5C,CAAC,EACDlxB,MAAO,CAAEt9C,YAAaA,EAAammE,WAAYA,CAAW,CAC5D,CAAC,CACH,EAAGjuD,EAAcwwD,OAAO,CAC1B,CAAC,EAAG5iE,EAAkB,YACpB,IACE,IAKM+gI,EALFv4H,EAAW,KAAA,EAmBf,OAjBIw3H,EACFx3H,EAAWzG,MAAMmF,EAAO,GAAG85H,uBAAuB,MAAO,CAAElnH,IAAKA,EAAKmS,OAAQA,EAAQjB,OAAQA,EAAQ2B,QAAS,CAAEC,eAAgBX,EAAO8iD,WAAY,CAAE,CAAC,EAC7I,QAAU/jD,GACf+1G,GAAO31G,EAAOh4B,OAASg4B,EAAO,GAAKtR,GAAKiS,QAAQ,QAAS,EAAE,EAC/DvjB,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAC5B8L,IAAKinH,GAA4B,CAAC,IAAtBA,EAAIz6F,QAAQ,GAAG,EAAW,IAAM,KAAOvqC,OAAO2yB,KAAKzC,CAAM,EAAEjkB,OAAO,SAAUmlE,GACtF,MAAO,CAAC,CAAC1wE,KAAAA,EAAW,MAAMgB,SAASwuB,EAAOkhD,EAAE,CAC9C,CAAC,EACAnwE,IAAI,SAAUmwE,GACb,OAAOA,EAAI,IAAMtgD,mBAAmBZ,EAAOkhD,EAAE,CAC/C,CAAC,EAAE9gE,KAAK,GAAG,CACb,CAAC,GACQ,SAAW2e,IACpBxiB,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAAEha,IAAKA,EAAKxS,KAAM2kB,CAAO,CAAC,GAIpD,CACL3kB,KAAMonE,EAASQ,eAAelhE,IAAI9G,EAAO,GAAGmxH,cAAc,CAAC,EAAE,CAC3D7vH,SAAUA,EACVtB,OAAQA,EACRqqB,IAAK,CAAA,EACLq7B,YAAa,CAAE5vD,IAAK+xD,EAAY3mD,MAAO,IAAK,CAC9C,CAAC,EACDovC,MAAO,CAAEt9C,YAAaA,EAAammE,WAAYA,CAAW,CAC5D,CAKF,CAJE,QACK2/D,GACHnsI,aAAagtI,CAAK,CAEtB,CACF,CAAC,EAAE,EAAE,CAAC,CACR,CACF,EAAE,EAEKtvG,GAGT0vG,KAKE7lI,EAAa6lI,EAAK,CAAC,CACjBhlI,IAAK,QAILlC,MAAO,WACL,IAAI6nD,EAAS5tD,KAETwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E82B,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7E6S,EAASxL,EAAKwL,QAAU,GACxBd,EAAS1K,EAAK0K,QAAU,CAAClT,KAAK6X,QAC9BiO,GAAO5S,EAAO,GAAGqxH,YAAY,EAAI,KAAKxsG,QAAQ,OAAQ,GAAG,EACzDf,EAAS9jB,EAAO,GAAG80H,aAAa,EA6BhC6E,GA1BJ9kI,OAAO+tC,OAAO9hC,EAAQ,CACpBilB,OAAQjlB,EAAOilB,QAAU,GACzBnzB,KAAMkO,EAAOy1B,OAASz1B,EAAOlO,KAC7BC,MAAOiO,EAAOi3H,SAAWj3H,EAAOjO,KAClC,CAAC,EAEDkyB,EAASlwB,OAAO+tC,OAAO7d,EAAQ,CAC7BizC,QAAS,MACTC,QAAS,QACTC,QAAS,aACT8hE,YAAavzC,EAAGnxF,EAAK+L,cAAe,EAAE,EACtC44H,SAAUj6H,EAAOlK,IAAI,SAAUusB,GAC7B,OAAOA,EAAE63G,gBAAgB,CAC3B,CAAC,EAAE/0H,KAAK,GAAG,EACXg1H,aAAcn6H,EAAO,GAAGmxH,cAAc,EACtCiJ,SAAU9kI,EAAK+kI,UAAYr6H,EAAO,GAAGokD,cAAc,EAAIt3D,KAAK6X,OAAOmzH,iBAAiB,GAAGzzE,QAAQ,EAC/F+zE,OAAQ,QAAUt3H,EAAOlO,MAAQ,KAAM,IAAI0L,GAAGimB,OAAO+1G,KAAMC,gBAAgB,CACzEC,aAAc,CAACx6H,EAAO,IACtBc,OAAQ,CACN6xB,KAAQr0B,GAAGimB,OAAOzjB,OAAO6xB,KAAK,WAAY7xB,EAAOjO,KAAK,EACtD06D,SAAYjvD,GAAGimB,OAAOzjB,OAAOA,EAAOilB,OAAO62F,eAAiB,cAAc,WAAY97G,EAAOjO,KAAK,EAClGinB,WAAc,IAChB,EAAEhZ,EAAOlO,KACX,CAAC,EAAE46B,SAAS,GAAG6J,UAAY,KAAKojG,OAAOz6H,EAAO9T,QAAU,CAAC,EAAIqJ,KAAAA,CAC/D,CAAC,EAEW,KAAA,GAGZ,OAAO,EAAI+V,EAAW+8E,YAAYpvF,QAAQ2gI,KAAK,CAAC,IAAI3gI,QAAQ,SAAU6uD,GACpE6xE,EAAQjtI,WAAW,WACjBo7D,EAAI,CACF1nD,MAAOJ,GAAU,IAAIlK,IAAI,SAAUoL,GACjC,MAAO,CAAEA,MAAOA,EAAOsgE,QAAS,SAAU,CAC5C,CAAC,EACDlxB,MAAO,EACT,CAAC,CACH,EAAGplC,EAAcwwD,OAAO,CAC1B,CAAC,EAAG5iE,EAAkB,YACpB,IACE,IAAIwI,EAAW,KAAA,EAUXlB,GARA,QAAU0jB,GAAW,CAAC,MAAO,YAAYvtB,SAASuK,EAAOlO,IAAI,IAC/D0O,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAAE8L,IAAKA,EAAM,IAAM,IAAImlD,gBAAgBhzC,GAAU,EAAE,EAAE3xB,SAAS,CAAE,CAAC,GAG7F,SAAW0wB,GAAU,CAAA,CAAC,MAAO,YAAYvtB,SAASuK,EAAOlO,IAAI,IAC/D0O,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAAEha,IAAKA,EAAKxS,KAAM2kB,CAAO,CAAC,GAGhDyiD,EAASQ,eAAelhE,IAAI9G,EAAO,GAAGmxH,cAAc,CAAC,EAAE,CAChE7vH,SAAUA,EACVokD,YAAa,CACX5vD,IAAK4kD,EAAO/1C,OAAOmzH,iBAAiB,EACpC52H,MAAO5L,EAAK+kI,UAAY3/E,EAAO/1C,OAAOy/C,cAAc,EAAI,IAC1D,EACApkD,OAAQA,EACRqqB,IAAK,CAAA,CACP,CAAC,GAcD,OAXAjqB,EAAKq3E,QAAQ,SAAUp1D,GACrB,OAAOA,EAAE7gB,UAAY,EACvB,CAAC,EAAET,QAAQ,SAAUvV,GACnB,OAAOqJ,OAAO8f,QAAQnpB,EAAEqV,cAAc,CAAC,EAAEE,QAAQ,SAAUkgB,GACzD,IAAID,EAASllB,EAAemlB,EAAO,CAAC,EAChCiiD,EAAYliD,EAAO,GACnBnuB,EAAQmuB,EAAO,GAEnB,OAAOnuB,GAASA,EAAM,YAAc8N,QAAQoS,IAAImwD,EAAW,MAAM,CACnE,CAAC,CACH,CAAC,EACM,CAAE9iE,KAAMA,CAAK,CAGtB,CAFE,QACAzT,aAAagtI,CAAK,CACpB,CACF,CAAC,EAAE,EAAE,CAAC,CACR,CACF,EAAE,EAEKI,EAGX,EAxGI,SAASA,IACP78C,EAAgBpwF,KAAMitI,CAAG,CAC3B,CA7HA,SAAS1vG,IACP6yD,EAAgBpwF,KAAMu9B,CAAG,CAC3B,CA3NA,SAASstG,IACPz6C,EAAgBpwF,KAAM6qI,CAAI,CAC5B,CA/BA,SAASJ,IACPr6C,EAAgBpwF,KAAMyqI,CAAO,CAC/B,CAydJ,IAAImD,EAAmB,CACrBzoG,SAAU,CAAE1N,OAAQ,YAAa3R,IAAK,KAAM,EAC5Cs7F,cAAe,CAAE3pF,OAAQ,OAAQ3R,IAAK,MAAO,EAC7Cq7F,aAAc,CAAE1pF,OAAQ,MAAO3R,IAAK,KAAM,EAC1Cu7F,aAAc,CAAE5pF,OAAQ,MAAO3R,IAAK,KAAM,EAC1Cw7F,aAAc,CAAE7pF,OAAQ,MAAO3R,IAAK,KAAM,EAC1C+nH,gBAAiB,CAAEp2G,OAAQ,UAAW3R,IAAK,SAAU,EACrDy7F,aAAc,CAAE9pF,OAAQ,MAAO3R,IAAK,KAAM,CAC5C,EAMIwmC,GAAkB2tC,IACpB9xF,IA+pFQ2lI,EAv2BAC,EArHAC,EAlPAC,EA1EAC,EA/BAC,EApCAC,EAhEAC,EA3DAC,EA1KAC,EA1EAC,EA1CAC,EApGAC,EA9BAC,EA7FAC,EAxuCSxmI,EA4hBPkkD,EA5hB+B,GAA0B,YAAtB,OAAOhkD,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EA8hB1M,SAASgkD,IACP,IAAIrzB,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAK9E+uD,GAHJkgC,EAAgBpwF,KAAMssD,CAAK,GApiB/B,CAAoCpjD,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAuiBnMrJ,MAAOssD,EAAMnjD,WAAapB,OAAOqB,eAAekjD,CAAK,GAAGntD,KAAKa,IAAI,CAAC,GAEtG8gB,EAAU/X,EAAQ+X,SAAWjV,EAAcvH,QAAQwc,QACnD+tH,EAAY51G,EAAOu5C,UAAY,GAAK1xD,EAAQlb,QAAQ,EAAI,IAAMkb,EAAQyF,MAAM,EAAI,IAAM0S,EAAOzgB,GAAK,IAClGs2H,EAAY71G,EAAOu5C,UAAY,GAAK1xD,EAAQjY,MAAM4vG,UAClDs2B,EAAY91G,EAAOu5C,UAAY,GAAK1xD,EAAQjY,MAAM8vG,UAwClDjmC,GApCJxiB,EAAOj3B,OAASlxB,OAAO+tC,OAAO7c,EAAQ4c,EAAS,CAC7Cr9B,GAAIygB,EAAOzgB,IAAM,QACjBjX,MAAO03B,EAAO13B,OAAS03B,EAAO12B,KAC9B4iC,SAAU,CAAC,CAAClM,EAAOkM,SACnBxO,SAAU,CAAA,EACV67C,UAAW,CAAC,CAACv5C,EAAOu5C,UACpB1/D,OAAQmmB,EAAOnmB,QAAU,GAEzB8N,KAAMi1B,EAAS,CACb2N,MAAOvqB,EAAOurG,SAAWvrG,EAAO2sG,MAClC,EAAG3sG,EAAOrY,MAAQ,GAAIqY,EAAOu5C,UAAY,GAAK,CAC5Ch6C,YAAas2G,EAAY,eAAiBD,EAC1Cv7H,KAAMw7H,EAAY,QAAUD,EAC5BzpB,IAAK0pB,EAAY,OAASD,EAC1B12E,IAAK22E,EAAY,OAASD,EAC1BzrC,IAAK0rC,EAAY,OAASD,EAC1BxrC,IAAKyrC,EAAY,OAASD,EAC1BvrC,KAAMwrC,EAAY,QAAUD,EAC5BrrC,QAASurC,EAAY,WAAaF,EAClCroG,QAASsoG,EAAY,WAAaD,EAClCpQ,OAAQqQ,EAAY,UAAYD,EAChC51G,OAAQ61G,EAAY,UAAYD,EAChCG,OAAQF,EAAY,UAAYD,EAChCI,OAAQ,CACNv0H,OAAQo0H,EAAY,sBAAwBD,CAC9C,EAEAziG,aAActrB,EAAQ4wD,OAAO,cAAc,EAE3C5G,IAAK,YACP,CAAC,CACH,EAAG7xC,EAAOu5C,UAAY,GAAK,CAAExsD,aAAc,CAAEolH,EAAG,EAAGC,EAAG,CAAE,CAAE,EAAG,CAE3Dx1C,gBAAiB,KACnB,CAAC,CAAC,EAEc/0E,EAAQynE,aAAa,EAAEv0E,OAAO,SAAU5V,GACtD,MAAO,CAACA,EAAEmwD,gBAAiBnwD,EAAE4kD,kBAAkBv5C,SAASymD,EAAO3pC,MAAM,CAAC,CACxE,CAAC,GAkOGkkB,GA7NJylB,EAAOg/E,WAAa,CASlBA,YAAax8D,GAAa,IAAIp9C,OAAO,SAAUo9C,GAC7C,IAAIz5C,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7EguI,EAAS/4F,KAAKC,IAAI,EAElBxtC,EAAQ,CAEV6oB,QAAS,CAAA,EAETlZ,GAAIygB,EAAOzgB,IAAM,MAAQ22H,EAEzB5sI,KAAM02B,EAAO12B,MAAQ,QAAU4sI,EAC/BC,SAAUn2G,EAAOm2G,UAAY,YAAcD,EAE3CzmD,OAAQzvD,EAAOs1B,gBAEf5tB,MAAO1H,EAAO+pB,iBAEdl9C,KAAMmzB,EAAOnzB,KAEbmI,SAAUgrB,EAAOhrB,UAAY,CAAA,EAE7B0pB,OAAQsB,EAAOtB,OAEf03G,YAAa,GAAG/uI,OAAO24B,EAAOw1B,SAASE,eAAe,EAEtD2gF,WAAY,GAAGhvI,OAAO24B,EAAOw1B,SAASC,gBAAgB,CACxD,EA0DA,OAzDAgkB,EAAU7pE,EAAM2P,IAAMzQ,OAAO+tC,OAAO,IAAIk6C,EAAY1rF,QAAQ20B,CAAM,EAAG,CACnEpwB,MAAOA,EACP0d,MAAO,WACL,OAAO1d,EAAM2P,EACf,EACAooD,MAAO,SAAepoD,GACpB,OAAO3P,EAAM2P,GAAKA,CACpB,EACA4xB,QAAS,WACP,OAAOvhC,EAAMtG,IACf,EACAsyG,QAAS,SAAiBv2G,GACxB,OAAOuK,EAAMtG,KAAOjE,CACtB,EACAixI,SAAU,WACR,OAAO1mI,EAAM83B,KACf,EACA8nD,UAAW,WACT,OAAO5/E,EAAM6/E,MACf,EACAvnE,SAAU,WACR,OAAOtY,CACT,EACAjD,QAAS,WACP,OAAOiD,EAAM/C,IACf,EACA8iF,eAAgB,WACd,OAAO//E,EAAMwmI,WACf,EACAxmD,cAAe,WACb,OAAOhgF,EAAMymI,UACf,EACAjhF,WAAY,SAAoB13C,GAC9B,OAAO9N,EAAM6oB,QAAU,CAAC,CAAC/a,CAC3B,EACA64H,UAAW,WACT,OAAO3mI,EAAM6oB,OACf,EACAyU,WAAY,WACV,OAAOt9B,EAAMoF,QACf,EACAwhI,UAAW,WACT,OAAO5mI,EAAM8uB,MACf,EAEAm3B,UAAW,WACT,MAAO,CAAE45B,OAAQ7/E,EAAMwmI,YAAa1uG,MAAO93B,EAAMymI,UAAW,CAC9D,EAEA9qH,SAAU,WACR,OAAO3b,EAAMtH,KACf,EAEAmuI,SAAU,SAAkBnxI,GAC1B,OAAOsK,EAAMtH,MAAQhD,CACvB,CACF,CAAC,EACMm0E,CACT,EAAG,EAAE,EAOLi9D,QAASj9D,EAAYA,EAAUtzE,OAAS,EAOxCwwI,qBAAsB,WAEpB5vI,KAAK6vI,eAAiB,CACpBnvG,SAAU,GACVovG,QAAS,GACTC,aAAc,EAChB,EAEA,IAAIrxI,EACAC,EACAkxI,EAAiB7vI,KAAK6vI,eACtBE,EAAeF,EAAeE,aAC9BD,EAAUD,EAAeC,QACzBpvG,EAAWmvG,EAAenvG,SAG9B34B,OAAO8f,QAAQ7nB,KAAKkvI,UAAU,EAAEj7H,QAAQ,SAAUkhC,GAChD,IAAIC,EAASpmC,EAAemmC,EAAQ,CAAC,EACjC66F,EAAc56F,EAAO,GACrBsK,EAAWtK,EAAO,GAEtB12C,EAAIghD,EAAS+oC,UAAU,EACvB9pF,EAAI+gD,EAAS6vF,SAAS,EAEtBQ,EAAarxI,EAAIC,GAAKqxI,EACtBF,EAAQpxI,GAAKoxI,EAAQpxI,IAAM,GAC3BgiC,EAAS/hC,GAAK+hC,EAAS/hC,IAAM,GAE7BmxI,EAAQpxI,GAAG0C,KAAKzC,CAAC,EACjB+hC,EAAS/hC,GAAGyC,KAAK1C,CAAC,CACpB,CAAC,CACH,EAMAuxI,UAAW,WACT,OAAOjwI,KAAK2vI,OACd,EAQApnD,aAAc,WACZ,IACI2nD,GAD4B,EAAnB/uI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxD2E,KACrBA,EAAuB2C,KAAAA,IAAhBynI,EAA4B,KAAOA,EAG9C,GAAI,CAACpqI,EACH,OAAO9F,KAAKkvI,WAId,GAAI,CAAC,IAAM,CAAC,MAAO,QAAQ58F,QAAQxsC,CAAI,EAUvC,MAAO,GATL,IACSvD,EADL2sI,EAAa,GACjB,IAAS3sI,KAAQvC,KAAKkvI,WAChBppI,IAAS9F,KAAKkvI,WAAW3sI,GAAMqD,QAAQ,IACzCspI,EAAW3sI,GAAQvC,KAAKkvI,WAAW3sI,IAGvC,OAAO2sI,CAIX,EACAiB,aAAc,WACZ,IAAIz9D,EAA+B,EAAnBvxE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACpFnB,KAAKkvI,WAAahuI,MAAMkF,QAAQssE,CAAS,EAAIA,EAAY,EAC3D,EACA/vB,gBAAiB,SAAyBnqC,GACxC,OAAOxY,KAAKkvI,WAAW12H,EACzB,EACAgwE,SAAU,WACR,OAAOzgF,OAAO8f,QAAQ7nB,KAAKkvI,UAAU,EAAElmI,IAAI,SAAU5K,GACnD,OAAOA,EAAE,EACX,CAAC,CACH,EACAgyI,4BAA6B,SAAqC1nD,EAAQ/nD,GACxE,OAAO3gC,KAAK2iD,gBAAgB3iD,KAAK6vI,eAAeE,aAAarnD,EAAS/nD,EAAM,CAC9E,EACA0vG,QAAS,SAAiB73H,GACxB,MAAO,CAAC,CAACxY,KAAK6vI,eAAenvG,SAASloB,EACxC,EACA83H,SAAU,SAAkB93H,GAC1B,MAAO,CAAC,CAACxY,KAAK6vI,eAAeC,QAAQt3H,EACvC,EACA+3H,YAAa,SAAqBv9H,GAChC,OAAmD,GAA3ChT,KAAKwwI,YAAYx9H,CAAQ,GAAK,IAAI5T,MAC5C,EACAqxI,WAAY,SAAoBz9H,GAC9B,OAAkD,GAA1ChT,KAAK0wI,WAAW19H,CAAQ,GAAK,IAAI5T,MAC3C,EAGAoxI,YAAa,SAAqBx9H,GAChC,OAAOhT,KAAKswI,SAASt9H,CAAQ,EAAIhT,KAAK6vI,eAAeC,QAAQ98H,GAAY,IAC3E,EAGA09H,WAAY,SAAoB19H,GAC9B,OAAOhT,KAAKqwI,QAAQr9H,CAAQ,EAAIhT,KAAK6vI,eAAenvG,SAAS1tB,GAAY,IAC3E,CACF,EAEAk9C,EAAOg/E,WAAWU,qBAAqB,EAGpB32G,EAAOhW,QAAUgW,EAAOhW,OAAOvZ,KAAK,SAAUk2B,GAC/D,OAAOA,EAAE/H,OACX,CAAC,EAAEt1B,MAwDCouI,GAnDJzgF,EAAOrnD,MAAQ,CACb2P,GAAIygB,EAAOzgB,GACXjX,MAAO03B,EAAO13B,MACduuB,SAAUmJ,EAAOnJ,UAAY,CAAA,EAC7B3L,SAAU8U,EAAO9U,UAAY,CAAA,EAC7B4lB,SAAU9Q,EAAO8Q,SACjBV,mBAAoB6mB,EAAO0gF,aAAa,EACxC7+F,UAAW9Y,EAAO8Y,WAAa,CAAA,EAC/B8+F,aAAc3gF,EAAO4gF,eAAe,EACpC15G,OAAQ6B,EAAO7B,OACfnU,OAAQgW,EAAOhW,OACfwnB,aAAcA,EACdiuC,WAAYxoB,EAAOm0E,cAAc,EACjCzwD,YAAa1jB,EAAOj3B,OAAO26C,aAAe,GAC1CrqC,aAAc,CAAA,EACd5S,SAAU,CAAA,EACVo6G,eAAgB,CAAElyD,WAAY,IAAK,EACnC/wE,QAASmrB,EAAOnrB,SAAW,CAAA,EAC3BkjI,iBAAkB,CAAA,EAElB3tE,UAAW,CAAA,EAEXxnC,UAAW,CAAEvrB,OAAQ,CAAA,CAAM,EAE3B0D,OAAQ,CACN1D,OAAQ,CAAA,EAERunB,QAAS,IACX,EAEAgS,QAAS5Q,EAAO4Q,SAAW,GAE3BuC,aAAcnT,EAAOmT,aAErBoC,mBAAoBvV,EAAOmT,cAAgB3B,IAn2BxBrmC,EAm2BwD,GAn2BnD6D,EAm2BuDwiC,EAn2BlD1kC,EAm2BgEkzB,EAAOmT,aAn2B1DnkC,KAAO7D,EAAO2D,OAAOC,eAAe5D,EAAK6D,EAAK,CAAElC,MAAOA,EAAO6B,WAAY,CAAA,EAAMC,aAAc,CAAA,EAAMC,SAAU,CAAA,CAAK,CAAC,EAAY1D,EAAI6D,GAAOlC,EAAgB3B,GAq2BrM7B,KAAM02B,EAAO12B,KAEb+3B,SAAUrB,EAAOqB,SAEjBsX,IAAK,WAAc,OAAO3Y,EAAO2Y,KAAM3Y,EAAO2Y,GAChD,EAKAse,EAAO+gF,cAAgB,IAAIzjF,IAG3B0C,EAAO03C,aAAe3uE,EAAOi4G,aAAe,KAE5BhhF,EAAOj3B,OAAOmC,WAAa,KAAO80B,EAAOj3B,OAAO7B,QAAU84B,EAAOj3B,OAAO7B,OAAOtxB,OAgD/F,OArCAoqD,EAAOgO,UAAY,CAEjB5qD,KACM,CAAC,eAAgB,gBAAiB,cAAe,aAAc,kBAAmB,WAAY,qBAAsB,YAAY7J,SAASknI,CAAS,EAC7IvG,EAAe,OAAQl6E,CAAM,EAElC,oBAAuBygF,EAClBvG,EAAe,UAAWl6E,CAAM,EADzC,KAAA,EAKFl8C,OAAQ,CAAC,eAAgB,gBAAiB,cAAe,aAAc,kBAAmB,WAAY,qBAAsB,WAAY,YAAa,WAAY,YAAYvK,SAASknI,CAAS,GAAKvG,EAAe,MAAOl6E,CAAM,EAEhO13B,YAAa,CAAC,eAAgB,gBAAiB,cAAe,aAAc,kBAAmB,WAAY,sBAAsB/uB,SAASknI,CAAS,GAAKvG,EAAe,OAAQl6E,CAAM,EAErL1M,MACM,CAAC,eAAgB,gBAAiB,cAAe,aAAc,kBAAmB,WAAY,qBAAsB,WAAY,YAAa,WAAY,WAAY,YAEzK,sBAAuB,mBAAoB,kBAAmB,uBAAwB,YAAa,WAAW/5C,SAASknI,CAAS,EACvHvG,EAAe,MAAOl6E,CAAM,EAEjC,oBAAuBygF,EAClBvG,EAAe,UAAWl6E,CAAM,EADzC,KAAA,EAKFp5C,OAAQ,CAAC,eAAgB,gBAAiB,cAAe,aAAc,kBAAmB,WAAY,qBAAsB,YAAYrN,SAASknI,CAAS,GAAKvG,EAAe,OAAQl6E,CAAM,CAE9L,EAKAA,EAAOihF,UAAY,CACjB5zG,IAAK,IACP,EAEO2yB,CACT,CAk1EA,OAnvG+M9nD,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA46B/dlB,EAAaklD,EAAO,CAAC,CACnBrkD,IAAK,sCACLlC,MAAO,SAA6CD,EAAM4pD,GACpD0hF,EAAc1hF,EAAOp8C,KACrBA,EAAuB7K,KAAAA,IAAhB2oI,EAA4B,GAAKA,EAI5C,OAFA99H,EAAKklB,YAAcx4B,KAAKqxI,eAAe,EAEnC,QAAUvrI,GACL,EAAIu7B,EAAckE,cAAc,CACrCzf,IAAK9lB,KAAK0xE,OAAO,KAAK,EACtB/4C,QAAS,CAAEC,eAAgB,iCAAkC,EAC7DtlB,KAAMwT,KAAKuB,UAAU/U,CAAI,EACzBojC,UAAW,kBACX1f,OAAQ,MACV,CAAC,EAGI1C,EAAK+E,IAAIipD,aAAa,CAC3Bx8D,IAAK9lB,KAAK0xE,OAAO,cAAgB5rE,EAAO,MAAQA,CAAI,EACpDwN,KAAMA,EACNkvE,WAAY,MACd,CAAC,CACH,CACF,EAAG,CACDv6E,IAAK,aACLlC,MAAO,WACL,IACIurI,GAD4B,EAAnBnwI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KAGzB,OAAOtT,KAAKuxI,oCAAoC,UAAW,CAAEj+H,KAFlC7K,KAAAA,IAAhB6oI,EAA4B,GAAKA,CAE4B,CAAC,CAC3E,CACF,EAAG,CACDrpI,IAAK,SACLlC,MAAO,WACL,IACIyrI,GAD4B,EAAnBrwI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KAGzB,OAAOtT,KAAKuxI,oCAAoC,MAAO,CAAEj+H,KAF9B7K,KAAAA,IAAhB+oI,EAA4B,GAAKA,CAEwB,CAAC,CACvE,CACF,EAAG,CACDvpI,IAAK,SACLlC,MAAO,WACL,IACI0rI,GAD4B,EAAnBtwI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KAGzB,OAAOtT,KAAKuxI,oCAAoC,YAAa,CAAEj+H,KAFpC7K,KAAAA,IAAhBgpI,EAA4B,GAAKA,CAE8B,CAAC,CAC7E,CACF,EAAG,CACDxpI,IAAK,SACLlC,MAAO,WACL,IACI2rI,GAD4B,EAAnBvwI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KAGzB,OAAOtT,KAAKuxI,oCAAoC,MAAO,CAAEj+H,KAF9B7K,KAAAA,IAAhBipI,EAA4B,GAAKA,CAEwB,CAAC,CACvE,CACF,EAAG,CACDzpI,IAAK,UACLlC,MAAO,WACL,IACI4rI,GAD4B,EAAnBxwI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KAGzB,OAAOtT,KAAKuxI,oCAAoC,OAAQ,CAAEj+H,KAF/B7K,KAAAA,IAAhBkpI,EAA4B,GAAKA,CAEyB,CAAC,CACxE,CACF,EAAG,CACD1pI,IAAK,SACLlC,MAAO,WACL,IACI6rI,GAD4B,EAAnBzwI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KAGzB,OAAOtT,KAAKuxI,oCAAoC,MAAO,CAAEj+H,KAF9B7K,KAAAA,IAAhBmpI,EAA4B,GAAKA,CAEwB,CAAC,CACvE,CAMF,EAAG,CACD3pI,IAAK,yBACLlC,MAAO,WACL,IAAI02D,EAASz8D,KAEb,OAAO+H,OAAO2yB,KAAKkzG,CAAgB,EAAE55H,OAAO,SAAUsW,GACpD,OAAOmyC,EAAOxjC,OAAO3O,EACvB,CAAC,EAAEthB,IAAI,SAAUshB,GACf,OAAOsjH,EAAiBtjH,GAAGmN,MAC7B,CAAC,CACH,CAQF,EAAG,CACDxvB,IAAK,iBACLlC,MAAO,SAAwB0xB,GAC7B,OAAQ1vB,OAAOa,OAAOglI,CAAgB,EAAElkI,KAAK,SAAU4gB,GACrD,OAAOA,EAAEmN,SAAWA,CACtB,CAAC,GAAK,IAAI3R,GACZ,CAMF,EAAG,CACD7d,IAAK,iBACLlC,MAAO,WACL,MAAO,CAAC,CAAC/F,KAAK69E,uBAAuB,EAAEz+E,MACzC,CACF,EAAG,CACD6I,IAAK,wBACLlC,MAAO,WACL,MAAO,CAAC/F,KAAK6xI,YAAY,GAAK7xI,KAAKi5B,OAAOkM,UAAY,SAAWnlC,KAAKi5B,OAAO7B,OAAOtxB,IACtF,CACF,EAAG,CACDmC,IAAK,oBACLlC,MAAO,WACL,MAAO,CAAC/F,KAAK6xI,YAAY,GAAK7xI,KAAKi5B,OAAOkM,UAAY,SAAWnlC,KAAKi5B,OAAO7B,OAAOtxB,IACtF,CACF,EAAG,CACDmC,IAAK,oBACLlC,MAAO,WACL,MAAO,CAAC/F,KAAK6xI,YAAY,GAAK,CAAC,CAAC7xI,KAAKi5B,OAAOqoF,YAC9C,CACF,EAAG,CACDr5G,IAAK,oBACLlC,MAAO,WACL,MAAO,CAAC/F,KAAK6xI,YAAY,GAAK,CAAC,CAAC7xI,KAAKi5B,OAAOkoF,YAC9C,CACF,EAAG,CACDl5G,IAAK,qBACLlC,MAAO,WACL,MAAO,CAAC/F,KAAK6xI,YAAY,GAAK,CAAC,CAAC7xI,KAAKi5B,OAAOmoF,aAC9C,CACF,EAAG,CACDn5G,IAAK,oBACLlC,MAAO,WACL,MAAO,CAAC/F,KAAK6xI,YAAY,GAAK,CAAC,CAAC7xI,KAAKi5B,OAAOooF,YAC9C,CAUF,EAAG,CACDp5G,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAKkvI,UACd,CAQF,EAAG,CACDjnI,IAAK,kBACLlC,MAAO,SAAyByS,GAC9B,OAAOxY,KAAKkvI,WAAW1mD,SAAS,EAAE9+E,KAAK,SAAUtL,GAC/C,OAAOoa,IAAOpa,EAAEmoB,MAAM,CACxB,CAAC,CACH,CAQF,EAAG,CACDte,IAAK,wBACLlC,MAAO,SAA+B+rI,GACpC,IAAIpyF,EAAW1/C,KAAKkvI,WAAWxlI,KAAK,SAAUtL,GAC5C,OAAO0zI,IAAiB1zI,EAAEmE,IAC5B,CAAC,EACD,OAAOm9C,EAAWA,EAAS5sC,OAAS,EACtC,CAUF,EAAG,CACD7K,IAAK,yBACLlC,MAAO,WACL,OAAQ/F,KAAK6I,MAAM6pE,WAAa,IAAIp9C,OAAO,SAAUxiB,EAAQ1U,GAE3D,OADA0U,EAAO1U,EAAEmE,MAAQnE,EAAE0U,OACZA,CACT,EAAG,EAAE,CACP,CAMF,EAAG,CACD7K,IAAK,UACLlC,MAAO,WACL,MAAO/F,CAAAA,CAAAA,KAAKuoF,aAAa,GAAIvoF,KAAKkvI,WAAWmB,QAAQrwI,KAAKumB,MAAM,CAAC,CACnE,CAMF,EAAG,CACDte,IAAK,WACLlC,MAAO,WACL,MAAO/F,CAAAA,CAAAA,KAAKuoF,aAAa,GAAIvoF,KAAKkvI,WAAWoB,SAAStwI,KAAKumB,MAAM,CAAC,CACpE,CAMF,EAAG,CACDte,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAKswI,SAAS,EAAItwI,KAAKkvI,WAAWsB,YAAYxwI,KAAKumB,MAAM,CAAC,EAAI,EACvE,CAMF,EAAG,CACDte,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAKqwI,QAAQ,EAAIrwI,KAAKkvI,WAAWwB,WAAW1wI,KAAKumB,MAAM,CAAC,EAAI,EACrE,CAMF,EAAG,CACDte,IAAK,cACLlC,MAAO,WACL,MAAO/F,CAAAA,CAAAA,KAAK+xI,aAAa,GAAI/xI,KAAKkvI,WAAWqB,YAAYvwI,KAAKumB,MAAM,CAAC,CACvE,CAMF,EAAG,CACDte,IAAK,aACLlC,MAAO,WACL,MAAO/F,CAAAA,CAAAA,KAAK+xI,aAAa,GAAI/xI,KAAKkvI,WAAWuB,WAAWzwI,KAAKumB,MAAM,CAAC,CACtE,CAMF,EAAG,CACDte,IAAK,eACLlC,MAAO,WACL,MAAO,CAAC,CAAC/F,KAAKkvI,UAChB,CAUF,EAAG,CACDjnI,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMinB,QACpB,CAMF,EAAG,CACD7nB,IAAK,cACLlC,MAAO,SAAqB+pB,GAC1B9vB,KAAK6I,MAAMinB,SAAWA,CACxB,CAYF,EAAG,CACD7nB,IAAK,eACLlC,OACM6oI,EAAS5iI,EAAkB,YAC7B,IAWIgmI,EAXA1xG,EAA0B,EAAnBn/B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,IAE1EnB,KAAK6I,MAAMgzB,UAAUvrB,OAASgwB,KAQ1BspD,EAAY5pF,KAAK6I,MAAMmL,OAAO1D,QAC9B0hI,EAAc,OAAShyI,KAAK6I,MAAMmL,OAAO6jB,UAG1B+xD,IACjB77E,MAAM/N,KAAKiyI,kBAAkBjyI,KAAK6I,MAAMmL,OAAO6jB,OAAO,GAIpD,CAACm6G,GAAepoD,IAClB77E,MAAM/N,KAAK2oC,kBAAkB,GAG/B3oC,KAAKmC,KAAK,iBAAkBnC,KAAKumB,MAAM,CAAC,EAC1C,CAAC,EAED,WACE,OAAOqoH,EAAOttI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMgzB,UAAUvrB,MAC9B,CAMF,EAAG,CACDrI,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMgzB,SACpB,CAMF,EAAG,CACD5zB,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMmL,MACpB,CAQF,EAAG,CACD/L,IAAK,YACLlC,MAAO,WAGL/F,KAAK6I,MAAMmL,OAAO1D,OAFY,EAAnBnP,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,GAGtEnB,KAAKw9E,WAAW,GAAKx9E,KAAK6I,MAAMmL,OAAO1D,QACzCtQ,KAAKkyI,wBAAwB,EAE3BlyI,KAAKw9E,WAAW,GAAK,CAACx9E,KAAK6I,MAAMmL,OAAO1D,QAC1CtQ,KAAKugI,6BAA6B,CAEtC,CAQF,EAAG,CACDt4H,IAAK,cACLlC,OACM4oI,EAAS3iI,EAAkB,UAAWgI,GACnChU,KAAKk+D,UAAuB,cAK7B,OAASl+D,KAAK6I,MAAMmL,OAAO6jB,SAAW7jB,EAAOy0B,MAAQzoC,KAAK6I,MAAMmL,OAAO6jB,QAAQ4Q,MACjF16B,MAAM/N,KAAK47B,mBAAmB,EAC9BjsB,EAAMrL,QAAQqkB,aAAa,GAG7B5a,MAAM/N,KAAKiyI,kBAAkBj+H,CAAM,EACrC,CAAC,EAED,SAAqBm+H,GACnB,OAAOxD,EAAOrtI,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,oBACLlC,OACM2oI,EAAS1iI,EAAkB,UAAWgI,GACxC,IAEE,IAAIQ,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAChC8L,IAAK9lB,KAAKk+D,UAAuB,YAAErmD,OAAO65D,OAAO,aAAa,EAC9Dz5C,OAAQ,CAAEm6G,KAAM,QAAS3pG,IAAKz0B,EAAOy0B,GAAI,CAC3C,CAAC,EACIj0B,GAAaA,EAAS8kB,QAAW9kB,EAASlB,OAG/CtT,KAAKqyI,UAAU,CAAA,CAAK,EACpBryI,KAAK6I,MAAMmL,OAAO6jB,QAAU7jB,EAC5BhU,KAAKsyI,eAAe99H,EAASlB,IAAI,EAGnC,CAFE,MAAOjV,IAGX,CAAC,EAED,SAA2Bk0I,GACzB,OAAO7D,EAAOptI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,aACLlC,MAAO,WAGL,IAIIqO,EAMIo+H,EAVJ,CAACxyI,KAAKk+D,UAAuB,aAAgC,EAA3B,CAACl+D,KAAKixI,cAAcr2H,OAItDxG,EAAQpU,MAEZ,EAAIiqI,EAAQ53D,QAAQ,CAClBnqD,MAAO3pB,EAAE,yCAAyC,EAClDwH,MAAOqO,EAAMvL,MAAMmL,OAAO6jB,QAAUzjB,EAAMvL,MAAMmL,OAAO6jB,QAAQt1B,KAAO,GACtE4lB,UACMqqH,EAASxmI,EAAkB,UAAWzJ,GAGxC,IAAIiS,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAChC8L,IAAK1R,EAAM8pD,UAAuB,YAAErmD,OAAO65D,OAAO,aAAa,EAC/Dz5C,OAAQ,CAAEm6G,KAAM,OAAQ7vI,KAAMA,CAAK,CAAE,CAAC,EAGnCiS,GAAaA,EAAS8kB,QAAW9kB,EAASlB,OAS3C7K,KAAAA,KALAuL,EAASI,EAAMvL,MAAMghC,QAAQngC,KAAK,SAAUhL,GAC9C,OAAO8V,EAASlB,KAAKm1B,MAAQ/pC,EAAE+pC,GACjC,CAAC,KAICz0B,EAAS,CACPy0B,IAAKj0B,EAASlB,KAAKm1B,IACnBlmC,KAAMiS,EAASlB,KAAK/Q,IACtB,EACA6R,EAAMvL,MAAMghC,QAAQzoC,KAAK4S,CAAM,GAGjCI,EAAMvL,MAAMmL,OAAO6jB,QAAU7jB,EAC7BI,EAAMi+H,UAAU,CAAA,CAAK,EACrBj+H,EAAMq+H,aAAa,EAAEniI,OAAS,CAAA,EAC9B8D,EAAM68H,cAAc/mF,MAAM,EAGtB91C,EAAMopE,WAAW,GAEnBppE,EAAMisH,uBAAuB,EAI/BjsH,EAAMjS,KAAK,iBAAkBiS,EAAMmS,MAAM,CAAC,EAC5C,CAAC,EAED,SAAkBmsH,GAChB,OAAOF,EAAOlxI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,CAAC,EACH,CAMF,EAAG,CACD8G,IAAK,oBACLlC,OACM0oI,EAASziI,EAAkB,YAG7BhM,KAAKqyI,UAAU,CAACryI,KAAK6I,MAAMmL,OAAO1D,MAAM,EAExC,IAAI0hI,EAAchyI,KAAK6I,MAAMmL,OAAO6jB,QAChC+xD,EAAY5pF,KAAK6I,MAAMmL,OAAO1D,OAiBlC,OAdIs5E,IACF77E,MAAM/N,KAAK2yI,kBAAkB,GAI3BX,GAAe,CAACpoD,IAClB77E,MAAM/N,KAAK0oC,YAAY1oC,KAAK6I,MAAMmL,OAAO6jB,OAAO,GAI7Cm6G,GAAgBpoD,IACnB77E,MAAM/N,KAAK2oC,kBAAkB,GAGxB3oC,KAAK6I,MAAMmL,OAAO1D,MAC3B,CAAC,EAED,WACE,OAAOm+H,EAAOntI,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,oBACLlC,OACMyoI,EAASxiI,EAAkB,UAAWy8B,GACxC,IAEE,GAAKzoC,KAAKk+D,UAAuB,YAAjC,CAIA,IAAI1lC,EAAc,KAAA,EAClB,IAGE,IAAIhkB,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAChC8L,IAAK9lB,KAAKk+D,UAAuB,YAAErmD,OAAO65D,OAAO,aAAa,EAC9Dz5C,OAAQ,CAAEwQ,IAAKA,EAAK2pG,KAAM3pI,KAAAA,IAAcggC,EAAM,SAAW,cAAe,CAC1E,CAAC,EAEGj0B,GAAYA,EAAS8kB,QAAU9kB,EAASlB,OAC1CklB,EAAchkB,EAASlB,KAAKklB,YAIhC,CAFE,MAAOn6B,IAKLoK,KAAAA,IAAcggC,IAChBzoC,KAAK6I,MAAMghC,QAAU7pC,KAAK6I,MAAMghC,QAAQ71B,OAAO,SAAUtV,GACvD,OAAO+pC,IAAQ/pC,EAAE+pC,GACnB,CAAC,GAGHzoC,KAAK6I,MAAMmL,OAAO6jB,QAAU,KAExB73B,KAAK6I,MAAMmL,OAAO1D,QACpBtQ,KAAKqyI,UAAU,CAAA,CAAK,EAEtBryI,KAAKsyI,eAAe95G,CAAW,CA9B/B,CAiCF,CAFE,MAAOn6B,IAGX,CAAC,EAED,SAA2Bu0I,GACzB,OAAOpE,EAAOltI,MAAMtB,KAAMmB,SAAS,CACrC,EAeJ,EAAG,CACD8G,IAAK,iBACLlC,MAAO,WAGL8F,EAAcvH,QAAQi0B,OAAOC,YAFQ,EAAnBr3B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,KAGtFnB,KAAKmC,KAAK,oBAAqB,CAAE4Q,QAAS/S,KAAKumB,MAAM,CAAE,CAAC,CAC1D,CAMF,EAAG,CACDte,IAAK,oBACLlC,OACMwoI,EAASviI,EAAkB,YAC7B,IAEE,IAAIm1D,EAAWnhE,KAAKk+D,UAAuB,YACvCriC,EAAY77B,KAAKixI,cAGrB,GAAK9vE,GAAY,EAAkB,EAAlB,CAACtlC,EAAUjhB,MAK5B,GAAIihB,EAAUhhB,IAAIuD,EAAc6rE,UAAUC,GAAG,EAA7C,CACE,IAEEn8E,MAAMumB,EAAK+E,IAAIrf,IAAI,CACjB8L,IAAK9lB,KAAKk+D,UAAuB,YAAErmD,OAAO65D,OAAO,aAAa,EAC9Dz5C,OAAQ,CAAEwQ,IAAKhgC,KAAAA,EAAW2pI,KAAM,QAAS,CAC3C,CAAC,CAGH,CAFE,MAAO/zI,IAGT2B,KAAKsyI,eAAe,IAAI,CAG1B,KAbA,CAeA,IAAI9oD,EAAOtoF,MAAMimB,KAAK0U,CAAS,EAS3Bg3G,GAPS9kI,MAAMumB,EAAK+E,IAAIrf,IAAI,CAC9B8L,IAAKq7C,EAAStpD,OAAO65D,OAAO,aAAa,EACzCz5C,OAAQ4D,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,EAAI,CAAE6sC,QAAStpD,EAAKx1E,OAAO,SAAUwE,GACtF,OAAOA,IAAO4F,EAAc6rE,UAAUgc,OACxC,CAAC,EAAE5tF,KAAK,GAAG,CACb,EAAI,CAAE06H,OAAQvpD,EAAKnxE,KAAK,GAAG,CAC3B,CAAE,CAAC,GACoB/E,KACrBA,EAAuB7K,KAAAA,IAAhBoqI,EAA4B,GAAKA,EAE5C7yI,KAAKsyI,eAAeh/H,EAAKklB,WAAW,CAdpC,CAiBF,CAFE,MAAOn6B,IAGX,CAAC,EAED,WACE,OAAOkwI,EAAOjtI,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,iBACLlC,MAAO,WACL,OAAO8F,EAAcvH,QAAQi0B,OAAOC,WACtC,CAMF,EAAG,CACDvwB,IAAK,sBACLlC,MAAO,WACL/F,KAAKixI,cAAc/mF,MAAM,EACzBlqD,KAAKixI,cAAcnqI,IAAIsX,EAAc6rE,UAAUC,GAAG,EAG9ClqF,KAAKw9E,WAAW,IAElBz1E,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAE/rH,QAAQ,SAAUmzB,GACxD,OAAOA,EAAKtX,SAAW,CAAA,CACzB,CAAC,EACD9vB,KAAKugI,6BAA6B,GAIpCvgI,KAAKgzI,aAAa,CAAA,CAAI,EAClBhzI,KAAK6I,MAAMmL,OAAO1D,QACpBtQ,KAAK2yI,kBAAkB,CAE3B,CAMF,EAAG,CACD1qI,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAKixI,aACd,CAMF,EAAG,CACDhpI,IAAK,sBACLlC,MAAO,WACL,IAAI81B,EAAY77B,KAAKixI,cAGjBp1G,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,EAC/CpqE,EAAU0E,OAAOniB,EAAc6rE,UAAUgc,OAAO,EACvCpqE,EAAUhhB,IAAIuD,EAAc6rE,UAAUC,GAAG,EAClDruD,EAAU0E,OAAOniB,EAAc6rE,UAAUC,GAAG,EAClB,EAAjBruD,EAAUjhB,MACnBihB,EAAU/0B,IAAIsX,EAAc6rE,UAAUgc,OAAO,EAI3CjmG,KAAKw9E,WAAW,GAClBx9E,KAAKizI,gCAAgC,EAInCjzI,KAAK6I,MAAMmL,OAAO1D,QACpBtQ,KAAK2yI,kBAAkB,EAGzB3yI,KAAKgzI,aAA8B,EAAjBn3G,EAAUjhB,IAAQ,CACtC,CAUF,EAAG,CACD3S,IAAK,kBACLlC,MAAO,SAAyB0iC,GAC9B,IAAI5M,EAAY77B,KAAKixI,cAGrB,MAAIp1G,CAAAA,CAAAA,EAAUhhB,IAAIuD,EAAc6rE,UAAUC,GAAG,IAKzCruD,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,EACxC,CAACpqE,EAAUhhB,IAAI4tB,CAAG,EAIpB5M,EAAUhhB,IAAI4tB,CAAG,EAC1B,CAWF,EAAG,CACDxgC,IAAK,sBACLlC,OACMuoI,EAAStiI,EAAkB,UAAWy8B,GACxC,IAAIyqG,EAAc/xI,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAG7E06B,EAAY77B,KAAKixI,cAGjBkC,EAAct3G,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,GAAKpqE,EAAUhhB,IAAI4tB,CAAG,EAGjF0qG,GACFt3G,EAAU0E,OAAOkI,CAAG,EAIjB0qG,GACHt3G,EAAU/0B,IAAI2hC,CAAG,EAIf0qG,GAAe,IAAMt3G,EAAUjhB,MACjC5a,KAAKozI,oBAAoB,EAItBD,GAAgBnzI,KAAKqzI,kBAAkB,GAC1CrzI,KAAKgzI,aAAa,CAAA,CAAI,EAIpBhzI,KAAKw9E,WAAW,GAClBx9E,KAAKszI,2BAA2B7qG,EAAK0qG,EAAc,SAAW,KAAK,EAIjED,GAAelzI,KAAK6I,MAAMmL,OAAO1D,SACnCvC,MAAM/N,KAAK2yI,kBAAkB,EAEjC,CAAC,EAED,SAA6BY,GAC3B,OAAOjF,EAAOhtI,MAAMtB,KAAMmB,SAAS,CACrC,EAcJ,EAAG,CACD8G,IAAK,sBACLlC,OACMsoI,EAASriI,EAAkB,UAAWy8B,GACxC,IAAIyqG,EAAc/xI,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAG7E06B,EAAY77B,KAAKixI,cAGjBp1G,CAAAA,EAAUhhB,IAAIuD,EAAc6rE,UAAUC,GAAG,GAAK,IAAMruD,EAAUjhB,OAEhEihB,EAAUquB,MAAM,EAEhBruB,EAAU/0B,IAAIsX,EAAc6rE,UAAUgc,OAAO,GAI3CpqE,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,EAE/CpqE,EAAU/0B,IAAI2hC,CAAG,EAGjB5M,EAAU0E,OAAOkI,CAAG,EAIlB,IAAM5M,EAAUjhB,MAClB5a,KAAK47B,mBAAmB,EAItB,IAAMC,EAAUjhB,MAAQihB,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,IAEvEpqE,EAAUquB,MAAM,EAChBlqD,KAAKwzI,oBAAoB,GAGvBxzI,KAAKw9E,WAAW,IAEd21D,EAAct3G,EAAUhhB,IAAIuD,EAAc6rE,UAAUgc,OAAO,EAAIpqE,EAAUhhB,IAAI4tB,CAAG,EAAI,CAAC5M,EAAUhhB,IAAI4tB,CAAG,EAC1GzoC,KAAKszI,2BAA2B7qG,EAAK0qG,EAAc,SAAW,KAAK,GAIjED,GAAelzI,KAAK6I,MAAMmL,OAAO1D,SACnCvC,MAAM/N,KAAK2yI,kBAAkB,EAEjC,CAAC,EAED,SAA6Bc,GAC3B,OAAOpF,EAAO/sI,MAAMtB,KAAMmB,SAAS,CACrC,EAYJ,EAAG,CACD8G,IAAK,uBACLlC,OACMqoI,EAASpiI,EAAkB,YAC7B,IAAI2hE,EAAS3tE,KAETwpF,EAA0B,EAAnBroF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E+xI,EAAc/xI,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAGjFqoF,EAAKv1E,QAAQ,SAAUw0B,GACrB,OAAOklC,EAAO2c,oBAAoB7hD,EAAK,CAAA,CAAK,CAC9C,CAAC,EAGGyqG,GAAelzI,KAAK6I,MAAMmL,OAAO1D,SACnCvC,MAAM/N,KAAK2yI,kBAAkB,EAEjC,CAAC,EAED,WACE,OAAOvE,EAAO9sI,MAAMtB,KAAMmB,SAAS,CACrC,EAcJ,EAAG,CACD8G,IAAK,uBACLlC,OACMooI,EAASniI,EAAkB,YAC7B,IAAIsiE,EAAStuE,KAETwpF,EAA0B,EAAnBroF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E+xI,EAAc/xI,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAGjFqoF,EAAKv1E,QAAQ,SAAUw0B,GACrB,OAAO6lC,EAAOolE,oBAAoBjrG,EAAK,CAAA,CAAK,CAC9C,CAAC,EAGGyqG,GAAelzI,KAAK6I,MAAMmL,OAAO1D,SACnCvC,MAAM/N,KAAK2yI,kBAAkB,EAEjC,CAAC,EAED,WACE,OAAOxE,EAAO7sI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,qBACLlC,OACMmoI,EAASliI,EAAkB,YAC7BhM,KAAKixI,cAAc/mF,MAAM,EAErBlqD,KAAKw9E,WAAW,IAElBz1E,OAAOa,OAAO5I,KAAKggI,mBAAmB,EAAE/rH,QAAQ,SAAUmzB,GACxD,OAAOA,EAAKtX,SAAW,CAAA,CACzB,CAAC,EACD9vB,KAAKugI,6BAA6B,GAGpCxyH,MAAM/N,KAAKgzI,aAAa,CAAA,CAAK,CAC/B,CAAC,EAED,WACE,OAAO9E,EAAO5sI,MAAMtB,KAAMmB,SAAS,CACrC,EAaJ,EAAG,CACD8G,IAAK,eACLlC,MAAO,SAAsBD,GAC3B,OAAOA,EAAO9F,KAAKmxI,UAAUrrI,GAAQ9F,KAAKmxI,SAC5C,CASF,EAAG,CACDlpI,IAAK,eACLlC,MAAO,SAAsBD,GAG3B9F,KAAKmxI,UAAUrrI,GAFe,EAAnB3E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGjF,CAQF,EAAG,CACD8G,IAAK,iBACLlC,MAAO,SAAwBD,GAC7B9F,KAAKmxI,UAAUrrI,GAAQ,IACzB,CAWF,EAAG,CACDmC,IAAK,yBACLlC,OACMkoI,EAASjiI,EAAkB,YAC7B,IAAIlG,EAA0B,EAAnB3E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAC3EwyI,EAAiC,EAAnBxyI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEtF,IACE,IAAIyyI,EAAS7lI,MAAMyE,EAAOlO,QAAQ0S,QAAQ,SAAWlR,EAAM,CACzDk6C,OAAQ2zF,EACRpzF,QAAS,CAAA,CACX,CAAC,EACG/rC,EAAWo/H,EAAOp/H,SAClBlB,EAAOsgI,EAAOtgI,KAGlB,OADAtT,KAAK6zI,aAAa/tI,EAAMghB,KAAKC,MAAMzT,CAAI,CAAC,EACjCkB,CAGT,CAFE,MAAOnW,IAGX,CAAC,EAED,WACE,OAAO4vI,EAAO3sI,MAAMtB,KAAMmB,SAAS,CACrC,EAcJ,EAAG,CACD8G,IAAK,qCACLlC,MAAO,WACL,IAAI4oE,EAAS3uE,KAET8F,EAA0B,EAAnB3E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAC3Eu4B,EAA6B,EAAnBv4B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAOlF,OALA4G,OAAO2yB,KAAKhB,CAAO,EAAEzlB,QAAQ,SAAUtV,GACrCoJ,OAAO2yB,KAAKhB,EAAQ/6B,EAAE,EAAEsV,QAAQ,SAAUhV,GACxC0vE,EAAOwiE,UAAUrrI,GAAMnH,GAAGM,GAAKy6B,EAAQ/6B,GAAGM,EAC5C,CAAC,CACH,CAAC,EACMe,KAAKgtI,uBAAuBlnI,EAAM9F,KAAKmxI,UAAUrrI,EAAK,CAC/D,CAQF,EAAG,CACDmC,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMw6D,SACpB,CAQF,EAAG,CACDp7D,IAAK,eACLlC,MAAO,WAGL/F,KAAK6I,MAAMw6D,UAFmB,EAAnBliE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EAG5E,CAQF,EAAG,CACD8G,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOjT,YACrB,CAMF,EAAG,CACD/d,IAAK,oBACLlC,MAAO,WAEL,MAAO,KACT,CAQF,EAAG,CACDkC,IAAK,8BACLlC,MAAO,SAAqC84E,GAC1C7+E,KAAK6I,MAAMkoI,eAAelyD,WAAaA,CACzC,CAQF,EAAG,CACD52E,IAAK,8BACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMkoI,eAAelyD,UACnC,CAMF,EAAG,CACD52E,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKqlI,iBAAiB,EAAIrlI,KAAKumB,MAAM,EAAIvmB,KAAKoqC,QAAQ,CAC/D,CAMF,EAAG,CACDniC,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO66G,iBACrB,CAMF,EAAG,CACD7rI,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO7B,OAASp3B,KAAKi5B,OAAO7B,OAAOtxB,KAAO,IACxD,CAMF,EAAG,CACDmC,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAM8tB,QACpB,CAmBF,EAAG,CACD1uB,IAAK,eACLlC,MAAO,WACL,IAAIguI,EAAU/zI,KAEVg0I,EAA4B,EAAnB7yI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E8yI,EAAcD,EAAOjjF,KACrBA,EAAuBtoD,KAAAA,IAAhBwrI,EAA4B,KAAOA,EAC1CC,EAAmBF,EAAOxoD,UAC1BA,EAAiC/iF,KAAAA,IAArByrI,EAAiC,KAAOA,EACpDC,EAAkBH,EAAO5kF,SACzBA,EAA+B3mD,KAAAA,IAApB0rI,EAAgC,KAAOA,EAClDC,EAAgBJ,EAAOl9H,OACvBA,EAA2BrO,KAAAA,IAAlB2rI,EAA8B,KAAOA,EAC9CC,EAAiBL,EAAOlmE,QACxBA,EAA6BrlE,KAAAA,IAAnB4rI,EAA+B,KAAOA,EAChDC,EAAmBN,EAAO1zF,UAC1BA,EAAiC73C,KAAAA,IAArB6rI,EAAiC,EAAIA,EACjDC,EAAuBP,EAAOQ,cAC9BA,EAAyC/rI,KAAAA,IAAzB8rI,EAAqC,GAAKA,EAC1D1uI,EAAQmuI,EAAOnuI,MACfyiF,EAAU0rD,EAAO1rD,QAErB,OAAO,EAAI9pE,EAAW+8E,YAAYvvF,EAAkB,YAGlD,IAIIwI,EAWAE,EAfJ,OAAKq/H,EAAQ/b,YAAY,QAAQ,GAAM+b,EAAQ/b,YAAY,MAAM,GAe7DtjH,GAXAF,EAAWzG,MAAM,EAAIyQ,EAAW+L,WAAWwpH,EAAQ/b,YAAY,MAAM,EAAE9wF,YAAY,CAAEV,QAAS,CAAA,CAAM,EAAGqP,EAAS,GAAI2+F,EAAe,CACrI3uI,MAAOA,EACPkrD,KAAMA,EACNy6B,UAAWA,EACXp8B,SAAUA,EACVt4C,OAAQA,EACRwpC,UAAWA,EACXwtB,QAASA,EACTwa,QAASA,EACT9vD,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,WAC5C,CAAC,CAAC,CAAC,GACqBllB,KAAKoB,UAAsC,GAC5D,CACLikB,SAAS,EAAIqxG,EAAiByK,iBAAiBV,EAAQW,cAAc,EAAGhgI,EAAStV,OAASsV,EAAS,GAAG6D,WAAa,EAAE,EACrH7D,SAAUA,EACVnT,MAAOwyI,EAAQvvH,SAAS,EACxBknE,MAAOl3E,EAASk3E,KAClB,GApBSv/E,QAAQE,OAAO,CAqB1B,CAAC,CAAC,CACJ,CASF,EAAG,CACDpE,IAAK,mBACLlC,OACMioI,EAAShiI,EAAkB,YAC7B,IAAI2oI,EAA4B,EAAnBxzI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EyzI,EAAcD,EAAOnrD,KACrBA,EAAuB/gF,KAAAA,IAAhBmsI,EAA4B,GAAKA,EACxCC,EAAmBF,EAAOr0F,UAC1BA,EAAiC73C,KAAAA,IAArBosI,EAAiC,EAAIA,EAEjD/uH,EAAM9lB,KAAK0xE,OAAO,MAAM,EAC5B,IACE,IAAIl9D,EAAWzG,MAAMumB,EAAK+E,IAAIrf,IAAI,CAChC8L,IAAKA,EACLmS,OAAQ,CACNuxD,KAAMA,EAAKljF,SAAS,EACpBg6C,UAAWA,CACb,CACF,CAAC,EACD,GAAI9rC,GAAYA,EAAS8kB,QAAU9kB,EAAS4gB,QAAU5gB,EAAS4gB,OAAO9hB,KACpE,OAAOkB,EAAS4gB,OAAO9hB,KAAKoB,QAIhC,CAFE,MAAOrW,IAGX,CAAC,EAED,WACE,OAAO2vI,EAAO1sI,MAAMtB,KAAMmB,SAAS,CACrC,EAwBJ,EAAG,CACD8G,IAAK,iBACLlC,MAAO,WACL,IASM+uI,EATFC,EAAU/0I,KAEV+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC9E82B,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E6zI,EAAwBjsI,EAAQ8sF,gBAChCA,EAA4CptF,KAAAA,IAA1BusI,EAAsCh1I,KAAKi5B,OAAO48D,gBAAkBm/C,EAG1F,OAAO,IAAI7oI,SACL2oI,EAAS9oI,EAAkB,UAAWI,EAASC,GACjD,OAAQwpF,GAEN,IAAK,MACHk/C,EAAQj+H,OAAO/N,EAASkvB,CAAM,EAAEtrB,KAAK,SAAUqkD,GAC7C5kD,EAAQ,CAAEkH,KAAM09C,CAAQ,CAAC,CAC3B,CAAC,EAAEr8C,KAAK,SAAUtW,GACAgO,EAAOhO,CAAC,CAC1B,CAAC,EACD,MAEF,IAAK,MACH,IACE+N,EAAQ,MAAO2oI,EAAQ/lF,cAAc,CACnCimC,SAAUlsF,EAAQksF,SAClBpvF,MAAOkD,EAAQiL,OACfo7C,SAAUrmD,EAAQqmD,SAClB10C,OAAQ3R,EAAQ2R,OAChB46E,IAAK7sF,KAAAA,IAAcM,EAAQusF,KAAMvsF,EAAQusF,IACzCxnB,QAAS/kE,EAAQ+kE,QAEjBxtB,UAAW73C,KAAAA,IAAcM,EAAQu3C,UAAYv3C,EAAQu3C,UAAY,CACnE,CAAC,CAAE,CAIL,CAHE,MAAOjiD,GAEPgO,EAAOhO,CAAC,CACV,CAEJ,CACF,CAAC,EAEM,SAAU42I,EAAMC,GACrB,OAAOJ,EAAOxzI,MAAMtB,KAAMmB,SAAS,CACrC,EACC,CACL,CAiBF,EAAG,CACD8G,IAAK,gBACLlC,OACMgoI,EAAS/hI,EAAkB,YAC7B,IAAImpI,EAA4B,EAAnBh0I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7Ei0I,EAAaD,EAAO7/C,IACpBA,EAAqB7sF,KAAAA,IAAf2sI,GAAmCA,EACzCtnE,EAAUqnE,EAAOrnE,QACjBjoE,EAAQsvI,EAAOtvI,MACf6U,EAASy6H,EAAOz6H,OAChBu0C,EAAakmF,EAAOlmF,WACpBC,EAASimF,EAAOjmF,OAChBmmF,EAAmBF,EAAO70F,UAC1BA,EAAiC73C,KAAAA,IAArB4sI,EAAiC,EAAIA,EACjDpgD,EAAWkgD,EAAOlgD,SAClB7lC,EAAW+lF,EAAO/lF,SAElB+R,EAAWnhE,KAAKg4H,YAAY,MAAM,EAElC//F,GADJkpC,EAAS2pE,aAAe3pE,EAAS2pE,cAAgB,CAAE9hI,IAAK,KAAMoL,MAAO,IAAK,EAC7D,CACXvO,MAAOA,EACPioE,QAASA,EACT1e,SAAUA,EACV9O,UAAWA,EACX5lC,OAAQA,EACRu0C,WAAYA,EACZC,OAAQA,EACR12B,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,WAC5C,GACA,IACE,IAAI1S,EAAMmvE,GAAsB9zB,EAAStpD,OAAO65D,OAAO,MAAM,EACzDl9D,EAAW3O,EACbkI,MAAMumB,EAAK+E,IAAIyG,KAAK,CAAEha,IAAKA,EAAKia,YAAa,mBAAoBzsB,KAAMwT,KAAKuB,UAAU4P,CAAM,CAAE,CAAC,EAC/FlqB,MAAMumB,EAAK+E,IAAIrf,IAAI,CAAE8L,IAAKA,EAAKmS,OAAQA,CAAO,CAAC,EAOjD,GAJI,UAAYkpC,EAAStpD,OAAOjS,QAAQ,IACtCu7D,EAAS2pE,aAAa9hI,IAAMm4D,EAAStpD,OAAOmzH,iBAAiB,GAAK7pE,EAAS2pE,aAAa12H,OAGtFkhF,EACF,OAAO9gF,EAET,GAAIkG,GAAUlG,EAAS8kB,OACrB,OAAO9kB,EAASlB,KAElB,GAAI27C,GAAcz6C,EAAS8kB,OACzB,OAAO9kB,EAGT,GAAIA,EAAS8kB,OACX,MAAO,CACLhmB,KAAMonE,EAASQ,eAAelhE,IAAI,kBAAkB,EAAE,CACpD9G,OAAQ,CAACiuD,EAAStpD,QAClBrD,SAAUA,EAAS4gB,OAAO9hB,KAC1BslD,YAAauI,EAAS2pE,YACxB,CAAC,CACH,CAKJ,CAHE,MAAOzsI,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CACA,OAAO8N,QAAQE,OAAO,CACxB,CAAC,EAED,WACE,OAAO0hI,EAAOzsI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,SACLlC,MAAO,WACL,IAGAgD,EAAU8sC,EAAS,GAAI9sC,EAHU,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAGlD,CAC9BoT,cAAexL,EAAQwL,eAAiB,EAC1C,EAAGvU,KAAKi5B,OAAOjT,aAJiB,EAAnB7kB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAI9C,EAC/BggE,EAAWnhE,KAAKg4H,YAAY,QAAQ,EACxC,OAAO,EAAIx5G,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAIm1D,EACKpzD,MAAM,EAAIyQ,EAAW+L,WAAW42C,EAAS3d,MAAMz6C,CAAO,CAAC,EAEzDoD,QAAQE,OAAO9N,EAAE,iCAAiC,CAAC,CAC5D,CAAC,CAAC,CACJ,CAMF,EAAG,CACD0J,IAAK,QACLlC,MAAO,WACL,IAAIgD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9EggE,EAAWnhE,KAAKg4H,YAAYjvH,EAAQiL,OAAS,SAAW,OAAO,EACnE,OAAO,EAAIwK,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAIm1D,EACKpzD,MAAM,EAAIyQ,EAAW+L,WAAW42C,EAAS3d,MAAMz6C,CAAO,CAAC,EAEzDoD,QAAQE,OAAO9N,EAAE,+BAA+B,CAAC,CAC1D,CAAC,CAAC,CACJ,CAMF,EAAG,CACD0J,IAAK,MACLlC,MAAO,SAAai9E,GAClB,OAAOhjF,KAAKi5B,OAAO+pD,IAAoChjF,KAAK6I,MAAMm6E,EACpE,CAMF,EAAG,CACD/6E,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOnmB,MACrB,CAMF,EAAG,CACD7K,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOuN,QAAQ1zB,MAC7B,CAMF,EAAG,CACD7K,IAAK,iBACLlC,MAAO,WACL,OAAQ/F,KAAKi5B,OAAOnmB,QAAU,IAAIkB,OAAO,SAAUtV,GACjD,OAAOA,EAAE+yB,IACX,CAAC,CACH,CAMF,EAAG,CACDxpB,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKs1I,eAAe,EAAEthI,OAAO,SAAUtV,GAC5C,MAAO,CAAC0f,EAAcm+E,gBAAgB9yF,SAAS/K,EAAE6D,IAAI,CACvD,CAAC,CACH,CAMF,EAAG,CACD0F,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOnY,OACrB,CAMF,EAAG,CACD7Y,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,MACd,CAOF,EAAG,CACDhxB,IAAK,+BACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOs8G,qBACrB,CAMF,EAAG,CACDttI,IAAK,mBACLlC,MAAO,WACL,MAAO,CAAC,CAAC/F,KAAKi5B,OAAOs8G,qBACvB,CAMF,EAAG,CACDttI,IAAK,iBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOu8G,WACrB,CAQF,EAAG,CACDvtI,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAK6I,KACd,CAMF,EAAG,CACDZ,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMuuB,MACpB,CAMF,EAAG,CACDnvB,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKy1I,aACd,CAQF,EAAG,CACDxtI,IAAK,kBACLlC,MAAO,SAAyB2vI,GAC9B11I,KAAKy1I,cAAgBC,CACvB,CAMF,EAAG,CACDztI,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMgnC,MACpB,CAQF,EAAG,CACD5nC,IAAK,YACLlC,MAAO,WAGL/F,KAAK6I,MAAMgnC,OAFA1uC,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,EAG5E,CAMF,EAAG,CACD8G,IAAK,QACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOzgB,EACrB,CAMF,EAAG,CACDvQ,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMkhC,QACpB,CAMF,EAAG,CACD9hC,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO13B,KACrB,CAMF,EAAG,CACD0G,IAAK,UACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO12B,IACrB,CAMF,EAAG,CACD0F,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOm2G,QACrB,CAMF,EAAG,CACDnnI,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOmC,YAAc,MACnC,CAMF,EAAG,CACDnzB,IAAK,UACLlC,MAAO,WACL,OAAO/F,KAAK8F,IACd,CAUF,EAAG,CACDmC,IAAK,SACLlC,MAAO,SAAgBD,GACrB,OAAOA,IAAS9F,KAAK4F,QAAQ,CAC/B,CAQF,EAAG,CACDqC,IAAK,cACLlC,MAAO,SAAqBu6B,GAC1BtgC,KAAK6I,MAAMsb,SAAWmc,CACxB,CAMF,EAAG,CACDr4B,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMsb,QACpB,CAMF,EAAG,CACDlc,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMiF,OACpB,CAQF,EAAG,CACD7F,IAAK,aACLlC,MAAO,SAAoBu6B,GACzBtgC,KAAK6I,MAAMiF,QAAUwyB,CACvB,CAOF,EAAG,CACDr4B,IAAK,cACLlC,MAAO,WACL,MAAO,CAAC,EAAE/F,KAAKi5B,OAAO6uG,cAAgB9nI,KAAKi5B,OAAO6uG,aAAex7E,EAAMqpF,aAAathE,UACtF,CAQF,EAAG,CACDpsE,IAAK,sBACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMmoI,gBACpB,CAQF,EAAG,CACD/oI,IAAK,sBACLlC,MAAO,WAGL/F,KAAK6I,MAAMmoI,iBAFmB,EAAnB7vI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EAG5E,CAMF,EAAG,CACD8G,IAAK,eACLlC,MAAO,WACL,IAMM6vI,EANFC,EAAU71I,KAEV81I,EAAgC,EAAnB30I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,KAEjF40I,EAAc,CAAC,EAAE/1I,KAAKi5B,OAAO6uG,cAAgB9nI,KAAKi5B,OAAO6uG,aAAex7E,EAAMqpF,aAAave,YAS/F,OARI2e,GAAeD,IACbF,EAAuB7tI,OAAO2yB,KAAKo7G,CAAU,EAAExgH,OAAO,SAAUgL,EAAM81C,GACxE,IAAI4/D,EAAqBH,EAAQ77H,IAAIo8D,CAAS,EAC1C6/D,EAA6BH,EAAW1/D,GAC5C,OAAO91C,GAAQp/B,MAAMkF,QAAQ4vI,CAAkB,EAAIA,EAAmBvsI,SAASwsI,CAA0B,EAAIA,IAA+BD,CAC9I,EAAG,CAAA,CAAI,EACPD,EAAcA,GAAeH,GAExBG,CACT,CAMF,EAAG,CACD9tI,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOi9G,WACrB,CAMF,EAAG,CACDjuI,IAAK,aACLlC,MAAO,WACL,MAAO,CAAC,EAAE/F,KAAKi5B,OAAO6uG,cAAgB9nI,KAAKi5B,OAAO6uG,aAAex7E,EAAMqpF,aAAazyE,SACtF,CAMF,EAAG,CACDj7D,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOu5C,SACrB,CAMF,EAAG,CACDvqE,IAAK,SACLlC,MAAO,SAAgBD,GACrB,OAAO9F,KAAKi5B,OAAOrY,KAAK9a,EAC1B,CAUF,EAAG,CACDmC,IAAK,SACLlC,MAAO,WACL,IAAIowI,EAA4B,EAAnBh1I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E2E,EAAOqwI,EAAOrwI,KAGlB9F,KAAKi5B,OAAOrY,KAAK9a,GAFPqwI,EAAOrwH,GAGnB,CAMF,EAAG,CACD7d,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOrY,KAAK4iC,KAC1B,CAQF,EAAG,CACDv7C,IAAK,wBACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMg9H,WAAa,KAAO7lI,KAAKi5B,OAAO4sG,UAAY7lI,KAAKi5B,OAAO4sG,UAAY7lI,KAAKi5B,OAAOm2G,QACpG,CAUF,EAAG,CACDnnI,IAAK,gBACLlC,MAAO,SAAuBqwI,GAE5B,MAAI,CAAA,IAASp2I,KAAKi5B,OAAOi9G,aAAe,SAAWl2I,KAAKq2I,cAAc,EAC7D,mBAELr2I,KAAKi5B,OAAOy/C,YAAc,KAAO14E,KAAKi5B,OAAOy/C,YAAc,QAAU09D,EAChEp2I,KAAKi5B,OAAOy/C,WAEd,yBACT,CAQF,EAAG,CACDzwE,IAAK,iBACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAM+qE,WACpB,CAQF,EAAG,CACD3rE,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOurG,OACrB,CAQF,EAAG,CACDv8H,IAAK,gBACLlC,MAAO,SAAuBuwI,GAC5Bt2I,KAAKi5B,OAAOy/C,WAAa49D,CAC3B,CAQF,EAAG,CACDruI,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOnmB,MACrB,CAUF,EAAG,CACD7K,IAAK,kBACLlC,MAAO,SAAyBqwE,EAAWtwE,EAAMiD,GAC/C,IAAIutB,EAA4B,CAAA,EAC5BC,EAAoB,CAAA,EACpBC,EAAiB/tB,KAAAA,EAErB,IACE,IAAK,IAAuDguB,EAAnDC,EAAY12B,KAAKi5B,OAAOnmB,OAAOvN,OAAOC,UAAU,EAAU,EAAE8wB,GAA6BG,EAAQC,EAAUjnB,KAAK,GAAG/C,MAAO4pB,EAA4B,CAAA,EAAM,CACnK,IAAIzwB,EAAQ4wB,EAAM1wB,MAElB,GAAIF,EAAMtD,OAAS6zE,EAAW,CAC5BvwE,EAAMC,KAAOA,EACbD,EAAMkD,QAAUA,EAChB,KACF,CACF,CAcF,CAbE,MAAO6D,GACP2pB,EAAoB,CAAA,EACpBC,EAAiB5pB,CACnB,CAAE,QACA,IACM,CAAC0pB,GAA6BI,EAAUI,QAC1CJ,EAAUI,OAAO,CAMrB,CAJE,QACA,GAAIP,EACF,MAAMC,CAEV,CACF,CACF,CAUF,EAAG,CACDvuB,IAAK,oBACLlC,MAAO,SAA2BxD,GAChC,OAAQvC,KAAK00I,cAAc,EAAEhrI,KAAK,SAAU5K,GAC1C,OAAOyD,IAASzD,EAAEyD,IACpB,CAAC,GAAK,IAAI2lB,KACZ,CAUF,EAAG,CACDjgB,IAAK,cACLlC,MAAO,SAAqBD,GAC1B,OAAO9F,KAAKk+D,UAAUp4D,EACxB,CAQF,EAAG,CACDmC,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAKk+D,SACd,CAQF,EAAG,CACDj2D,IAAK,iBACLlC,MAAO,WACL,OAAO/F,KAAK4nG,YACd,CAQF,EAAG,CACD3/F,IAAK,iBACLlC,MAAO,SAAwBwwI,GAC7Bv2I,KAAK4nG,aAAe2uC,CACtB,CAQF,EAAG,CACDtuI,IAAK,eACLlC,MAAO,WACL,MAAI/F,CAAAA,KAAKi5B,OAAOu9G,2BAA6Bx2I,CAAAA,KAAK6xI,YAAY,IAI1D,SAAW7xI,KAAKmmI,cAAc,GAAK,CAAC,WAAY,SAAU,MAAO,MAAO,QAAS,cAAc18H,SAASzJ,KAAKi5B,OAAO7B,OAAOtxB,IAAI,GAAK9F,KAAK82H,YAAY,EACjH,EAA/B92H,KAAKs1I,eAAe,EAAEl2I,OAG3B,aAAeY,KAAKmmI,cAAc,GAAK,YAAcnmI,KAAKga,IAAI,QAAQ,EAAElU,MAIxE,EAAA,aAAe9F,KAAKmmI,cAAc,GAAKnmI,CAAAA,KAAK83H,aAAa,GAK/D,CAcF,EAAG,CACD7vH,IAAK,kBACLlC,MAAO,WACL,IAAI0wI,EAA4B,EAAnBt1I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EoB,EAAOk0I,EAAOl0I,KACduD,EAAO2wI,EAAO3wI,KACd4wI,EAAiBD,EAAO1tI,QACxBA,EAA6BN,KAAAA,IAAnBiuI,EAA+B,GAAKA,EAC9CC,EAAeF,EAAO11E,MACtBA,EAAyBt4D,KAAAA,IAAjBkuI,GAAqCA,EAE7C9wI,EAAQ7F,KAAK8uD,UAAU,EAAEplD,KAAK,SAAUhL,GAC1C,OAAO6D,IAAS7D,EAAE6D,IACpB,CAAC,EAED,OAAIsD,GAASk7D,GACXl7D,EAAMC,KAAOD,EAAM4jC,MACnB,OAAO5jC,EAAM4jC,MACb,OAAO5jC,EAAMC,EAAO,WACbD,EAAMC,MAGXD,GAAS,CAACk7D,GACZl7D,EAAM4jC,MAAQ5jC,EAAMC,KACpBD,EAAMC,KAAOA,EACbD,EAAMC,EAAO,WAAaiD,EACnBlD,EAAM4jC,OAJf,KAAA,CAMF,CAcF,EAAG,CACDxhC,IAAK,wBACLlC,MAAO,SAA+B6wI,GACpC,IAAIr0I,EAAOq0I,EAAOr0I,KAEds0I,EAAiBD,EAAO7tI,QAExB+tI,EAAeF,EAAO71E,MAG1B,OAAO/gE,KAAK+2I,gBAAgB,CAAEx0I,KAAMA,EAAMuD,KAN/B8wI,EAAO9wI,KAMoCiD,QAJrBN,KAAAA,IAAnBouI,EAA+B,GAAKA,EAIsB91E,MAF3Ct4D,KAAAA,IAAjBquI,GAAqCA,CAEoC,CAAC,CACxF,CAMF,EAAG,CACD7uI,IAAK,QACLlC,MAAO,YAMT,EAAG,CACDkC,IAAK,WACLlC,MAAO,WACL,OAAOumD,EAAMyD,WAAWinF,SAAWh3I,KAAK4F,QAAQ,CAClD,CAMF,EAAG,CACDqC,IAAK,UACLlC,MAAO,WACL,OAAOumD,EAAMyD,WAAWC,QAAUhwD,KAAK4F,QAAQ,CACjD,CAMF,EAAG,CACDqC,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMujC,YACpB,CAUF,EAAG,CACDnkC,IAAK,uBACLlC,OACM+nI,EAAS9hI,EAAkB,UAAW2iB,GAExC,GAAIlmB,KAAAA,IAAczI,KAAK6I,MAAM2lC,mBAA7B,CAGA,GAAI/lC,KAAAA,IAAczI,KAAK6I,MAAM2lC,mBAAmB7f,GAC9C,IACE,IAAIsoH,EAASlpI,MAAMumB,EAAK+E,IAAIyG,KAAK,CAC/Bha,IAAK,GAAK9lB,KAAKi5B,OAAOrY,KAAKwrB,aAAepsC,KAAKumB,MAAM,EAAI,IACzDjT,KAAMwT,KAAKuB,UAAU,CAAEsG,MAAOA,CAAM,CAAC,EACrCoR,YAAa,kBACf,CAAC,EACGzG,EAAS29G,EAAO39G,OAChBhmB,EAAO2jI,EAAO3jI,KAElBtT,KAAK6I,MAAM2lC,mBAAmB7f,GAAS,CAAA,IAAS2K,EAAShmB,EAAO,EAIlE,CAHE,MAAOjV,GACP64I,QAAQC,KAAK94I,CAAC,EACd2B,KAAK6I,MAAM2lC,mBAAmB7f,GAAS,EACzC,CAEF,OAAO3uB,KAAK6I,MAAM2lC,mBAAmB7f,EAjBrC,CAkBF,CAAC,EAED,SAA8ByoH,GAC5B,OAAOtJ,EAAOxsI,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOxB,QAAU5rB,EAAcvH,QAAQwc,QAAQjY,MAAMwuI,mBAAqB,WACxF,CAMF,EAAG,CACDpvI,IAAK,qBACLlC,MAAO,WACL,IAAIyC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE/E,IAAKgJ,IAAIC,OAAO8/H,EAAQ5lI,OAAQ,GAAEuxC,EAAS,GAAIrtC,EAAM,CAAEuK,QAAS/S,KAAK6I,MAAM2P,EAAG,CAAC,CAAC,CAClF,CACF,EAAE,EAEK8zC,CACT,GAAE0jC,EAAY1rF,OAAO,EAWrBgoD,EAAMyD,WAAa,CACjBC,MAAO,QACPs4E,MAAO,QACP0O,OAAQ,QACV,EAKA1qF,EAAMqpF,aAAe,CACnBthE,UAAW,EACX+iD,WAAY,EACZl0D,SAAU,CACZ,EAEAhkE,EAAQotD,MAAQA,CAEhB,EAAE,CAACgrF,uBAAuB,IAAI7jH,gBAAgB,IAAIlY,WAAW,IAAIq5E,aAAa,IAAIgZ,qBAAqB,IAAI34F,gBAAgB,IAAInD,eAAe,IAAIrD,oBAAoB,IAAIkwB,YAAY,IAAI8kD,2BAA2B,IAAI53C,qBAAqB,IAAIi+F,0BAA0B,IAAIyN,wBAAwB,IAAI57D,gBAAgB,IAAI/nD,kBAAkB,IAAI4jH,eAAe,GAAG,GAAGC,IAAI,CAAC,SAAS74I,EAAQU,EAAOJ,GACxY6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQyrG,YAAcliG,KAAAA,EAEtB,IAAIotC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PuH,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAIm2H,EAAal/H,EAAQ,YAAY,EAEjCoxF,GAI4B5rF,EAJS05H,IAIY15H,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAFvFma,EAAkB3f,EAAQ,sBAAsB,EAalCM,EAAQyrG,aAAwB1Q,IAChD9xF,IANiBC,EAMPuiG,EAN+B,GAA0B,YAAtB,OAAOriG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAQ1M,SAASqiG,IACP,IAAI1xE,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAb5DuH,EAeL1I,KAfeqH,EAeTsjG,EAfwB,GAAMjiG,aAAoBrB,EA0DxE,OAzCIuD,GAfR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAepMrJ,MAAO2qG,EAAYxhG,WAAapB,OAAOqB,eAAeuhG,CAAW,GAAGxrG,KAAKa,IAAI,CAAC,GAE/Gi5B,OAAS,CACbzgB,GAAIygB,EAAOzgB,IAAM49B,KAAKC,IAAI,EAC1B0kB,WAAY9hC,EAAO8hC,WACnByE,OAAQvmC,EAAOumC,OACfG,WAAY1mC,EAAO0mC,WACnBimE,OAAQ3sG,EAAO2sG,OAEfjqG,QAAS,CAAA,IAAS1C,EAAO0C,SAAW,CAAA,IAAU1C,EAAO0C,SAAU1C,EAAO0C,OACxE,EACA/wB,EAAM/B,MAAQ,CAEZuwB,WAAY,GACZs5C,UAAW,IACb,EACA9nE,EAAM8sI,aAAe,CAAA,IAASz+G,EAAOs8F,WAAa,CAAA,IAAUt8F,EAAOs8F,WAAYt8F,EAAOs8F,UACtF3qH,EAAMyrB,QAAUzrB,EAAMquB,OAAO/lB,QAAU,GAEvCtI,EAAMqpF,QAAU,CACd0jD,iBAAkB,SAA0Bn/H,EAAIsX,GAC9C9vB,KAAKyqE,UAAU,EAAEx2D,QAAQ,SAAUshB,GACjC,OAAOA,EAAE1sB,MAAMinB,SAAWtX,IAAO+c,EAAEhP,MAAM,GAAIuJ,CAC/C,CAAC,CACH,EACA8nH,UAAW,WACT,IAAIhuI,EAAS5J,MAEmB,EAAnBmB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAE1E8S,QAAQ,SAAUshB,GACvB,OAAO3rB,EAAOgwD,SAASrkC,CAAC,CAC1B,CAAC,CACH,EACAqkC,SAAU,SAAkBxlD,GAC1BpU,KAAKm5H,UAAU/kH,CAAK,CACtB,EACA84G,YAAa,SAAqB10G,GAChCxY,KAAKo5H,aAAa5gH,CAAE,CACtB,CACF,EACO5N,EA1DiF,MAAM,IAAIrC,UAAU,mCAAmC,CA2DjJ,CAoeA,OA3hB+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAyD/dlB,EAAaujG,EAAa,CAAC,CACzB1iG,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAK03I,YACd,CACF,EAAG,CACDzvI,IAAK,eAOLlC,MAAO,SAAsBu6B,GAC3BtgC,KAAK03I,aAAe,CAAC,CAACp3G,CACxB,CACF,EAAG,CACDr4B,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO0C,OACrB,CACF,EAAG,CACD1zB,IAAK,aACLlC,MAAO,WAGL/F,KAAKi5B,OAF2B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGnF,CACF,EAAG,CACD8G,IAAK,QACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOzgB,EACrB,CACF,EAAG,CACDvQ,IAAK,YACLlC,MAAO,SAAmBqO,GACxBpU,KAAKq2B,QAAQjiB,EAAMmS,MAAM,GAAKnS,CAChC,CACF,EAAG,CACDnM,IAAK,eACLlC,MAAO,SAAsBqO,GAC3B,OAAOpU,KAAKq2B,QAAQjiB,EAAMmS,MAAM,EAClC,CACF,EAAG,CACDte,IAAK,eACLlC,MAAO,WACL,IAAIwR,EAASvX,KAEb+H,OAAO8f,QAAQ7nB,KAAKq2B,OAAO,EAAEpiB,QAAQ,SAAUlN,GACzCkQ,EAAQjI,EAAejI,EAAM,CAAC,EAC1BkQ,EAAM,GAGd,OAAOM,EAAO21G,YAFFj2G,EAAM,EAEa,CACjC,CAAC,CACH,CACF,EAAG,CACDhP,IAAK,gBACLlC,MAAO,WACL,IAcM65C,EACJ1sC,EAcE2H,EA7BA7G,EAA4B,EAAnB7S,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAIlF,MAAI,CAAC6S,GAAU,CAACA,EAAO02D,UAAW12D,EAAOqgE,UAAWrgE,EAAOojH,WAAYpjH,EAAOkvD,SAAUlvD,EAAOqjH,QAASrjH,EAAO4jH,SAAU5jH,EAAO6jI,OAAQ7jI,EAAOmjH,gBAAiBnjH,EAAO22D,WAAY32D,EAAO8jI,UAAW9jI,EAAOmvD,SAAUnvD,EAAO+jI,YAAa/jI,EAAOgkI,OAAQhkI,EAAOikI,SAAUjkI,EAAOkkI,KAAKv8E,MAAM,SAAUj9D,GACpS,OAAO+J,KAAAA,IAAc/J,CACvB,CAAC,EACQsB,KAAKq2B,SAGVnjB,EAASnL,OAAOa,OAAO5I,KAAKq2B,OAAO,EAEnCriB,EAAOkkI,MACLt4F,EAAM,GAAGt/C,OAAO0T,EAAOkkI,GAAG,EAC9BhlI,EAASA,EAAOc,OAAO,SAAUuhB,GAC/B,OAAOqqB,EAAIn2C,SAAS8rB,EAAEhP,MAAM,CAAC,CAC/B,CAAC,GAICvS,EAAOmjH,kBAITjkH,EAA2B,GAHvB4c,EAAW5c,EAAOc,OAAO,SAAUuhB,GACrC,OAAOA,EAAE4iH,WAAW,CACtB,CAAC,GACiB/4I,OAAa0wB,EAAW5c,IAIxC2H,EAAM,SAAanc,GACrB,MAAO,WAAc,OAAOA,CAC9B,GAEQsV,EAAO4jH,QAAQ,GAAK,CAAC5jH,EAAOmjH,kBAAiBjkH,EAASA,EAAOc,OAAO,SAAUuhB,GACpF,OAAOvhB,EAAO4jH,WAAariG,EAAE4iH,WAAW,CAC1C,CAAC,GACGt9H,EAAI7G,EAAOqgE,SAAS,IAAGnhE,EAASA,EAAOc,OAAO,SAAUuhB,GAC1D,OAAOvhB,EAAOqgE,YAAc9+C,EAAEuhG,YAAY,CAC5C,CAAC,GACGj8G,EAAI7G,EAAOojH,UAAU,IAAGlkH,EAASA,EAAOc,OAAO,SAAUuhB,GAC3D,OAAOvhB,EAAOojH,aAAe7hG,EAAEuiG,aAAa/uH,EAAQuuH,WAAa,IAAI,CACvE,CAAC,GACGz8G,EAAI7G,EAAOkvD,QAAQ,IAAGhwD,EAASA,EAAOc,OAAO,SAAUuhB,GACzD,OAAOvhB,EAAOkvD,WAAa3tC,EAAE4Q,WAAW,CAC1C,CAAC,GACGtrB,EAAI7G,EAAOqjH,OAAO,IAAGnkH,EAASA,EAAOc,OAAO,SAAUuhB,GACxD,OAAOvhB,EAAOqjH,UAAY9hG,EAAEya,UAAU,CACxC,CAAC,GACGn1B,EAAI7G,EAAO6jI,MAAM,IAAG3kI,EAASA,EAAOc,OAAO,SAAUuhB,GACvD,OAAOvhB,EAAO6jI,SAAWtiH,EAAEorG,SAAS,CACtC,CAAC,GACG9lH,EAAI7G,EAAO8jI,SAAS,IAAG5kI,EAASA,EAAOc,OAAO,SAAUuhB,GAC1D,OAAOvhB,EAAO8jI,YAAcviH,EAAEs8G,YAAY,CAC5C,CAAC,GACGh3H,EAAI7G,EAAOmvD,QAAQ,IAAGjwD,EAASA,EAAOc,OAAO,SAAUuhB,GACzD,OAAOvhB,EAAOmvD,WAAa5tC,EAAE1sB,MAAM8tB,QACrC,CAAC,GACG9b,EAAI7G,EAAO+jI,WAAW,IAAG7kI,EAASA,EAAOc,OAAO,SAAUuhB,GAC5D,OAAOvhB,EAAO+jI,cAAgBxiH,EAAE8O,OAAO,QAAQ,CACjD,CAAC,GACGxpB,EAAI7G,EAAOgkI,MAAM,IAAG9kI,EAASA,EAAOc,OAAO,SAAUuhB,GACvD,OAAOvhB,EAAOgkI,SAAWziH,EAAEqa,SAAS,CACtC,CAAC,GACG/0B,EAAI7G,EAAOikI,QAAQ,IAAG/kI,EAASA,EAAOc,OAAO,SAAUuhB,GACzD,OAAOvhB,EAAOikI,WAAa1iH,EAAEmX,WAAW,CAC1C,CAAC,GACG,UAAa,OAAO14B,EAAO22D,YAAc32D,EAAO22D,WAAWvrE,SAAQ8T,EAASA,EAAOc,OAAO,SAAUuhB,GACtG,OAAOvhB,EAAO22D,aAAep1C,EAAE4wG,cAAc,CAC/C,CAAC,GACGnyH,EAAO02D,YAAWx3D,EAASA,EAAOc,OAAO,SAAUuhB,GACrD,OAAOA,EAAE1sB,MAAM8tB,UAAYpB,EAAE6iH,YAAY,CAAEt5E,MAAO9qD,EAAO02D,UAAU5L,KAAM,CAAC,CAC5E,CAAC,GAGG/1D,EAAQsvI,WAAar4I,KAAK6I,MAAMuwB,WAC3Bp5B,KAAKs4I,gCAAgCt4I,KAAK6I,MAAMuwB,WAAW,EAAE,EAAEplB,OAAO,SAAUwE,GACrF,OAAOtF,EAAOxJ,KAAK,SAAU6rB,GAC3B,OAAO/c,IAAO+c,EAAEhP,MAAM,CACxB,CAAC,CACH,CAAC,EAAEvd,IAAI,SAAUwP,GACf,OAAOtF,EAAOxJ,KAAK,SAAU6rB,GAC3B,OAAO/c,IAAO+c,EAAEhP,MAAM,CACxB,CAAC,CACH,CAAC,EAGIrT,EACT,CACF,EAAG,CACDjL,IAAK,YAILlC,MAAO,WAIL,OAAOgC,OAAOa,OAAO5I,KAAKu4I,cAHM,EAAnBp3I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAChD,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAE3B,CAAC,CAC1D,CACF,EAAG,CACD8G,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKu4I,cAAc,CAAET,UAAW,CAAA,CAAK,CAAC,CAC/C,CACF,EAAG,CACD7vI,IAAK,eACLlC,MAAO,SAAsByS,GAC3B,OAAOxY,KAAKu4I,cAAc,EAAE//H,EAC9B,CACF,EAAG,CACDvQ,IAAK,iBACLlC,MAAO,SAAwBxD,GAC7B,OAAOvC,KAAKq2B,QAAQ3sB,KAAK,SAAU6rB,GACjC,OAAOhzB,IAASgzB,EAAE6U,QAAQ,CAC5B,CAAC,CACH,CACF,EAAG,CACDniC,IAAK,qBACLlC,MAAO,SAA4ByS,GACjC,OAAOxY,KAAKmT,aAAaqF,CAAE,EAAEk8H,cAAc,CAC7C,CACF,EAAG,CACDzsI,IAAK,yBACLlC,MAAO,SAAgCyS,EAAIjW,GACzC,OAAOvC,KAAKmT,aAAaqF,CAAE,EAAEggI,kBAAkBj2I,CAAI,CACrD,CACF,EAAG,CACD0F,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAKyqE,UAAU,CAAEtH,SAAU,CAAA,CAAK,CAAC,CAC1C,CACF,EAAG,CACDl7D,IAAK,kCACLlC,MAAO,SAAyCqzB,GAC9C,IAAIq/G,EAAU,GAWd,OAVe,SAAS7+G,EAASR,GAC/BA,EAAWvC,MAAM5iB,QAAQ,SAAU3V,GAC7BA,EAAEka,GACJigI,EAAQr3I,KAAK9C,EAAEka,EAAE,EAEjBohB,EAASt7B,CAAC,CAEd,CAAC,CACH,EACS86B,CAAU,EACZq/G,CACT,CACF,EAAG,CACDxwI,IAAK,wBACLlC,MAAO,SAA+BqzB,EAAYU,GAChD,IAAI2+G,EAAU,GAad,MAJS,CAAE5hH,MAAOuC,EAAWvC,MAAM7iB,OAAO,SAAU1V,GAChD,OAAOw7B,IAASx7B,CAClB,CAAC,CAAE,EATQu4B,MAAM5iB,QAAQ,SAAU3V,GAC7BA,EAAEka,IACJigI,EAAQr3I,KAAK9C,EAAEka,EAAE,CAErB,CAAC,EAOIigI,CACT,CACF,EAAG,CACDxwI,IAAK,cACLlC,MAAO,SAAqByS,EAAIsX,GAC9B9vB,KAAK23I,iBAAiBn/H,EAAIsX,CAAQ,CACpC,CACF,EAAG,CACD7nB,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO8hC,UACrB,CACF,EAAG,CACD9yD,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOumC,MACrB,CACF,EAAG,CACDv3D,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO0mC,UACrB,CACF,EAAG,CACD13D,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAO2sG,MACrB,CACF,EAAG,CACD39H,IAAK,mBACLlC,MAAO,WACL/F,KAAK6I,MAAMuwB,WAAWzO,OAAO,EAAG3qB,KAAK6I,MAAMuwB,WAAWh6B,MAAM,CAC9D,CACF,EAAG,CACD6I,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMuwB,UACpB,CACF,EAAG,CACDnxB,IAAK,gBAULlC,MAAO,WACL,IAAIqzB,EAAgC,EAAnBj4B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACjFoB,EAAOpB,UAAU,GACjBm5B,EAAWn5B,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAE1Eu3I,EAAiB14I,KAAK24I,cAAc,EACpCC,EAAkB5pI,EAAe0pI,EAAgB,CAAC,EAClD5yG,EAAO8yG,EAAgB,GAQvBC,EAAY,CACdt3I,MAAOgB,GAAQvC,KAAKi5B,OAAOzgB,GAC3BklB,KAAM,CAAA,EACNkR,YAAa,KACbtU,SAAUA,EACVnW,SAAU,CAAA,EACV3a,QAAS,CAAA,EAITq8B,KAAM,CAAEC,KAAMA,EAAMC,KAjBX6yG,EAAgB,GAiBO5yG,KAhBvB4yG,EAAgB,GAgBmB3yG,KAfnC2yG,EAAgB,EAe8B,EACvD/hH,MAAOuC,CACT,EAEwB,EAApBA,EAAWh6B,SACbY,KAAK84I,oBAAoB1/G,EAAYy/G,CAAS,EAC9C74I,KAAK6I,MAAMuwB,WAAWzO,OAAO,EAAG,EAAGkuH,CAAS,EAEhD,CACF,EAAG,CACD5wI,IAAK,mBAYLlC,MAAO,SAA0B40G,GAC/B,IAgBMo+B,EAhBFhwI,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAChFi4B,WAAY,KACZkB,SAAU,CAAA,EACV0+G,KAAM,CAAA,CACR,EAGI5/G,EAAa,GAGjB,GAAIrwB,EAAQqwB,YAAc,CAAA,IAASrwB,EAAQiwI,KACzC,OAAOh5I,KAAK6I,MAAMuwB,WAIhBrwB,EAAQqwB,YAAc,CAAA,IAASrwB,EAAQiwI,OACrCD,EAAc/4I,KAAKyqE,UAAU,CAAEqtE,UAAW,CAAA,CAAM,CAAC,EAAE9uI,IAAI,SAAUusB,GACnE,OAAOA,EAAEhP,MAAM,CACjB,CAAC,EACDvmB,KAAKi5I,yBAAyBlwI,EAAQqwB,WAAYA,EAAY2/G,CAAW,GAItEhwI,EAAQqwB,aACXA,EAAap5B,KAAKk5I,aAAa,EAAElwI,IAAI,SAAUusB,GAC7C,MAAO,CACL/c,GAAI+c,EAAEhP,MAAM,EACZhkB,KAAMgzB,EAAE6U,QAAQ,EAChB7oC,MAAOg0B,EAAE/Q,SAAS,EAClB1W,QAASynB,EAAEya,UAAU,GAAK,CAAA,CAC5B,CACF,CAAC,GAIHhwC,KAAKm5I,cAAc//G,EAAYuhF,EAAW5xG,EAAQuxB,QAAQ,CAC5D,CACF,EAAG,CACDryB,IAAK,2BAMLlC,MAAO,SAAkC8wB,EAAOuC,EAAY2/G,GAC1D,IAAInrF,EAAS5tD,KAEb62B,EAAM5iB,QAAQ,SAAU3V,GACtB,IAAI86I,EAAa,KAGb,MAAS96I,EAAEka,IAA4BugI,EAAYrvI,KAAK,SAAU8O,GACpE,OAAOla,EAAEka,KAAOA,CAClB,CAAC,IACC4gI,EAAavjG,EAAS,GAAIujG,EAAY96I,CAAC,GAIrC,MAASA,EAAEu4B,QACbuiH,EAAavjG,EAAS,GAAIujG,EAAY,CACpC72I,KAAMjE,EAAEiE,KACRhB,MAAOjD,EAAEiE,KACTquC,SAAS,EAAIryB,EAAgBiB,gBAAgB,EAC7Cke,KAAM,CAAA,EACN7G,MAAO,GACPrtB,QAASlL,EAAEkL,QACXknC,mBAAoBpyC,EAAE,sBACtB+6I,qBAAsB/6I,EAAE,qBAC1B,CAAC,EACDsvD,EAAOqrF,yBAAyB36I,EAAEu4B,MAAOuiH,EAAWviH,MAAOkiH,CAAW,GAIpE,OAASK,IACXA,EAAW9+G,SAAWh8B,EAAEg8B,SACxBlB,EAAWh4B,KAAKg4I,CAAU,EAE9B,CAAC,CACH,CACF,EAAG,CACDnxI,IAAK,sBAMLlC,MAAO,SAA6B8wB,EAAO+X,GACzC,IAAIshB,EAASlwD,KAEb62B,EAAM5iB,QAAQ,SAAU6lB,EAAMpR,GAExBjgB,KAAAA,IAAcqxB,EAAKthB,KACrBqe,EAAMnO,GAASwnC,EAAO/8C,aAAa2mB,EAAKthB,EAAE,EAAE2I,SAAS,GAGnD1Y,KAAAA,IAAcqxB,EAAKthB,KACrBqe,EAAMnO,GAASwnC,EAAO/8C,aAAa2mB,EAAKthB,EAAE,EAAE2I,SAAS,EAEjD1Y,KAAAA,IAAcouB,EAAMnO,GAAOmd,OAC7BqqB,EAAOopF,wBAAwB1qG,EAAa,CAAE/I,KAAMhP,EAAMnO,GAAOmd,KAAMn1B,KAAMmmB,EAAMnO,GAAOhY,IAAK,CAAC,EAGhGxP,MAAMkF,QAAQ0zB,EAAKjD,KAAK,IAC1BiD,EAAKjD,MAAM5iB,QAAQ,SAAU3V,GAC3B,OAAOA,EAAEswC,YAAcA,CACzB,CAAC,EACDshB,EAAO4oF,oBAAoBh/G,EAAKjD,MAAOiD,CAAI,GAG7CjD,EAAMnO,GAAOkmB,YAAcA,CAC7B,CAAC,CACH,CACF,EAAG,CACD3mC,IAAK,0BAMLlC,MAAO,SAAiCg0B,GACtC,IAAIviB,EAA2B,EAAnBrW,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E0kC,EAAOruB,EAAMquB,KACbn1B,EAAO8G,EAAM9G,KAEb6oI,EAAev5I,KAAKs3D,cAAc,EAAEC,QAAQ,EAG5C7mD,IAAS6oI,IACPC,EAAwBhoI,GAAGC,KAAKiuD,gBAAgB,CAAC75B,EAAKC,KAAMD,EAAKE,KAAMF,EAAKG,KAAMH,EAAKI,MAAOv1B,EAAM6oI,CAAY,EAOpH1zG,EAAO,CAAEC,MANL2zG,EAAyBzqI,EAAewqI,EAAuB,CAAC,GAClC,GAKbzzG,KAJV0zG,EAAuB,GAIDzzG,KAHtByzG,EAAuB,GAGWxzG,KAFlCwzG,EAAuB,EAEsB,GAItDhxI,KAAAA,IAAcsxB,EAAM8L,KACtB9L,EAAM8L,KAAOA,EAEb9L,EAAM8L,KAAOr0B,GAAGguD,OAAOp1D,OAAO,CAAC2vB,EAAM8L,KAAKC,KAAM/L,EAAM8L,KAAKE,KAAMhM,EAAM8L,KAAKG,KAAMjM,EAAM8L,KAAKI,MAAO,CAACJ,EAAKC,KAAMD,EAAKE,KAAMF,EAAKG,KAAMH,EAAKI,KAAK,EAAE3Q,OAAO,SAAUuQ,EAAM6zG,EAAkBhxH,GACzL,OAAQA,GACN,KAAK,EACHmd,EAAKC,KAAO4zG,EAAiB,MAC/B,KAAK,EACH7zG,EAAKE,KAAO2zG,EAAiB,MAC/B,KAAK,EACH7zG,EAAKG,KAAO0zG,EAAiB,MAC/B,KAAK,EACH7zG,EAAKI,KAAOyzG,CAChB,CACA,OAAO7zG,CACT,EAAG,CAAE8zG,MAAO,KAAM5zG,KAAM,KAAMC,KAAM,KAAMC,KAAM,IAAK,CAAC,EAIpDlM,EAAM6U,aAAe,CAAA,IAAU7U,EAAM6U,YAAYlR,MACnD19B,KAAKs5I,wBAAwBv/G,EAAM6U,YAAa,CAAE/I,KAAM9L,EAAM8L,KAAMn1B,KAAM6oI,CAAa,CAAC,CAE5F,CACF,EAAE,EAEK5uC,CACT,GAAE3a,EAAY1rF,OAAO,CAErB,EAAE,CAACswF,aAAa,IAAIjhE,uBAAuB,GAAG,GAAGimH,IAAI,CAAC,SAASh7I,EAAQU,EAAOJ,GAC9E6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ0rG,WAAaniG,KAAAA,EAErB,IAAIotC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAIyW,EAAgBxf,EAAQ,eAAe,EAEvCi7I,EAAWj7I,EAAQ,eAAe,EAElC4f,EAAa5f,EAAQ,iBAAiB,EAEtC01B,EAAO11B,EAAQ,WAAW,EAE1BwX,EAAuBxX,EAAQ,2BAA2B,EAE1DiZ,EAASjZ,EAAQ,kBAAkB,EAEnCmpG,EAAiBnpG,EAAQ,0BAA0B,EAEnD2jE,EAAW3jE,EAAQ,oBAAoB,EAE3C,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAYzc,IAAI6zF,EAAah7F,EAAQ,kBAAkB,EAM1BM,EAAQ0rG,YAAuBkvC,IAC9C3xI,IAmNQiiB,EAhOShiB,EAaPwiG,EAb+B,GAA0B,YAAtB,OAAOtiG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAe1M,SAASsiG,IACP,IASIhgG,EATAquB,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EqH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GArB1DuH,EAuBL1I,KAvBeqH,EAuBTujG,EAvBwB,GAAMliG,aAAoBrB,EAqLxE,OAxJIuD,GA3BR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GA2BpMrJ,MAAO4qG,EAAWzhG,WAAapB,OAAOqB,eAAewhG,CAAU,GAAGzrG,KAAKa,KAAMi5B,EAAQzwB,CAAI,CAAC,GAE3HyrF,QAAU,CAId8lD,cAAe,WACb/5I,KAAK+nG,eAAegyC,cAAc,CACpC,EACAl5E,WAAY,SAAoBhtD,GAC9B7T,KAAK+nG,eAAelnC,WAAWhtD,CAAO,CACxC,EAMAwqH,cAAe,SAAuBxqH,GACpC7T,KAAK+nG,eAAes2B,cAAcxqH,CAAO,CAC3C,EACAmmI,YAAa,SAAqBtlI,GAChC1U,KAAK+nG,eAAeiyC,YAAYtlI,CAAQ,CAC1C,EACAulI,SAAU,SAAkBh+H,GAC1Bjc,KAAKk6I,OAASj+H,CAChB,EASAirB,YAAa,WACX,IAAIt9B,EAAS5J,KAETwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE/E,OAAO,EAAIqd,EAAW+8E,YAAYvvF,EAAkB,YAClD,IAAI0I,EAAW3G,MAAM,EAAIyQ,EAAW+L,WAAW3gB,EAAOm+F,eAAe7gE,YAAY1+B,CAAI,CAAC,EAEtF,OADAoB,EAAOzH,KAAK,cAAeuS,CAAQ,EAC5BA,CACT,CAAC,CAAC,CACJ,EACA+pH,OAAQ,SAAgBC,GACtB,IAAInnH,EAASvX,KAEb,OAAO,EAAIwe,EAAW+8E,YAAYvvF,EAAkB,YAClD,IAAIwI,EAAWzG,MAAM,EAAIyQ,EAAW+L,WAAWhT,EAAOwwF,eAAe02B,OAAOC,CAAW,CAAC,EAExF,GAAIlqH,GAAYA,EAAS8kB,OACvB,IACE,IAAIllB,GAAQ,EAAIgC,EAAqBI,qBAAqBe,EAAOgP,MAAM,CAAC,EAEpEnS,EAAMopE,WAAW,GACnBkhD,EAAYrjH,OAAOpH,QAAQ,WACzB,IAAIuD,EAA2B,EAAnBrW,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EqX,EAAKhB,EAAMgB,GACXioD,EAAWjpD,EAAMipD,SAEjBrsD,EAAMw3E,sBAAsBpzE,CAAE,GAChCpE,EAAM+lI,yBAAyB,CAAE3hI,GAAIA,EAAIioD,SAAUA,CAAS,CAAC,CAEjE,CAAC,EAEHi+D,EAAYn+F,OAAOtsB,QAAQ,SAAUuE,GAC/BpE,EAAMy3E,gBAAgBrzE,CAAE,GAC1BpE,EAAMs/H,oBAAoBl7H,CAAE,CAEhC,CAAC,CAGH,CAFE,MAAOna,IAIX,OAAOmW,CACT,CAAC,CAAC,CACJ,CACF,EAOA5J,EAAM9E,KAAO+R,EAAOy0C,MAAMyD,WAAWC,MAKrCplD,EAAMsvI,OAAS,KAKftvI,EAAMmI,QAAUkmB,EAAOzgB,GAInB5N,EAAMu7B,WAAW,IACnBv7B,EAAMs6H,gBAAkBl5H,EAAkB,YAExC,IACE,IAAIgT,EAAQjR,MAAM,EAAIyQ,EAAW+L,WAAW3f,EAAMotH,YAAY,MAAM,EAAE/lB,UAAUzpG,CAAI,CAAC,EACjF4sB,EAASpW,EAAMoW,OACfglH,EAAoBp7H,EAAMq7H,YAC1BA,EAAoC5xI,KAAAA,IAAtB2xI,EAAkC,GAAKA,EACrDtS,EAAe9oH,EAAM8oH,aAuBzB,OArBA/5H,MAAM,EAAI8rI,EAASS,SAAS,WAC1B,OAAOzvI,OAAOma,OAAOC,KAAKhb,eAAe,SAAS,CACpD,EAAGmU,EAAcwwD,OAAO,EAExBhkE,EAAMquB,OAAOuN,QAAU,CACrB1zB,OAAQsiB,EAAOtiB,QAAU,GACzB2kB,OAAQrC,EAAOqC,OACf4iH,YAAaA,EACbvS,aAAcA,GAAgBj9H,OAAOma,OAAOujF,SAAS/L,6BACrDwnB,KAAM,CAAEhrE,KAAM,IAAK,EACnBrqB,MAAOyG,EAAOzG,MACdoY,aAAc3R,EAAO2R,YACvB,EAEI3R,EAAOzG,OAET/jB,EAAMqvI,SAAS7kH,EAAOzG,MAAM1S,KAAK,EAGnCrR,EAAM2vI,QAAU,IAAI1vI,OAAOma,OAAOC,KAAKuhB,QAAQg0G,OAAO,CAAEpmI,MAAOxJ,CAAM,CAAC,EACtEA,EAAMqvC,SAAS,CAAA,CAAI,EACZrvC,CAKT,CAJE,MAAOvM,GAGP,OADAuM,EAAMqvC,SAAS,CAAA,CAAK,EACb9tC,QAAQE,OAAOzB,CAAK,CAC7B,CACF,CAAC,EAAE,EAEHA,EAAM/B,MAAQgtC,EAAS,GAAIjrC,EAAM/B,MAAO,CACtC29B,QAAS,CACPi0G,QAAS,CAAA,EACTC,SAAU,CAAA,EACVprE,MAAO,CAAA,CACT,CACF,CAAC,GAMH1kE,EAAMm9F,eAAiB,IAAIA,EAAe+C,cAAc,CAAE3pC,SAAUv2D,EAAMszD,UAAU5qD,IAAK,CAAC,EAEnF1I,EArLiF,MAAM,IAAIrC,UAAU,mCAAmC,CAsLjJ,CAmcA,OArnB+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GA0L/dlB,EAAawjG,EAAY,CAAC,CACxB3iG,IAAK,oBACLlC,MAAO,SAA2BizC,GAChCh5C,KAAKi5B,OAAOuN,QAAQw9E,KAAKhrE,KAAOA,CAClC,CACF,EAAG,CACD/wC,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOuN,QAAQw9E,KAAKhrE,IAClC,CACF,EAAG,CACD/wC,IAAK,QACLlC,MAAO,WACL,OAAO6zF,EAAW55F,IAAI,CACxB,CACF,EAAG,CACDiI,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAKk6I,MACd,CACF,EAAG,CACDjyI,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAK+nG,eAAe2iC,aAAa,CAC1C,CAWF,EAAG,CACDziI,IAAK,qBACLlC,OACMqkB,EAAQpe,EAAkB,YAC5B,IACIysG,GAD2B,EAAnBt3G,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC1Ds3G,UAElBA,IAEFz4G,KAAK8uI,UAAYr2B,GAGnB,IACE,OAAO1qG,MAAM/N,KAAKqnC,MAAM,EAAE69F,eAI5B,CAHE,MAAO7mI,GAEP,OAAOA,CACT,CACF,CAAC,EAED,WACE,OAAO+rB,EAAM9oB,MAAMtB,KAAMmB,SAAS,CACpC,EAUJ,EAAG,CACD8G,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAKu6I,QAAQI,iBAAiB,CACvC,CAOF,EAAG,CACD1yI,IAAK,sBACLlC,MAAO,WACL,OAAO/F,KAAKu6I,QAAQK,oBAAoB,CAC1C,CAOF,EAAG,CACD3yI,IAAK,kBACLlC,MAAO,WACL,OAAO/F,IACT,CAOF,EAAG,CACDiI,IAAK,uBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOuN,QAAQ6zG,WAC7B,CAOF,EAAG,CACDpyI,IAAK,yBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOuN,QAAQshG,YAC7B,CAQF,EAAG,CACD7/H,IAAK,kBACLlC,MAAO,SAAyB46C,GAC9B,OAAQ3gD,KAAK66I,iBAAiB,EAAEnxI,KAAK,SAAUhL,GAC7C,OAAOiiD,IAAcjiD,EAAE6D,IACzB,CAAC,GAAK,CAAE2L,SAAU,CAAEC,SAAU,CAAA,CAAM,CAAE,GAAGD,SAASC,QACpD,CASF,EAAG,CACDlG,IAAK,SACLlC,MAAO,WACL,IAAI6nD,EAAS5tD,KAEb,OAAO,EAAIwe,EAAW+8E,YAAYvvF,EAAkB,YAClD+B,MAAM,EAAIyQ,EAAW+L,WAAWqjC,EAAOm6C,eAAeinC,OAAO,CAAC,CAChE,CAAC,CAAC,CACJ,CAQF,EAAG,CACD/mI,IAAK,mBACLlC,MAAO,WAGL,OAFkC,EAAnB5E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,IAE3DnB,KAAKi5B,OAAOuN,QAAQ1zB,QAAU,IAAIkB,OAAO,SAAUtV,GACpE,OAAOA,EAAEuP,QACX,CAAC,EAAIjO,KAAKi5B,OAAOuN,QAAQ1zB,QAAU,EACrC,CASF,EAAG,CACD7K,IAAK,YACLlC,MAAO,SAAmBF,GACxB,OAAQ7F,KAAK66I,iBAAiB,EAAEnxI,KAAK,SAAUhL,GAC7C,OAAOmH,IAAUnH,EAAE6D,IACrB,CAAC,GAAK,IAAIi7H,EACZ,CAQF,EAAG,CACDv1H,IAAK,yBACLlC,MAAO,SAAgCF,GACrC,OAAQ7F,KAAK66I,iBAAiB,EAAEnxI,KAAK,SAAUhL,GAC7C,OAAOA,EAAE6D,OAASsD,CACpB,CAAC,GAAK,CAAEoI,SAAU,CAAA,CAAM,GAAGA,QAC7B,CAOF,EAAG,CACDhG,IAAK,8BACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOuN,QAAQ1zB,OAAOkB,OAAO,SAAUtV,GACjD,MAAO,CAACA,EAAEuP,QACZ,CAAC,EAAEjF,IAAI,SAAUtK,GACf,OAAOA,EAAE6D,IACX,CAAC,CACH,CAQF,EAAG,CACD0F,IAAK,wBACLlC,MAAO,WAGL,OAAO/F,KAAKi5B,OAAOuN,QAAQ1zB,OAAOkB,OAAO,SAAUtV,GACjD,MAAO,UAAYA,EAAEoK,MAAMhD,IAC7B,CAAC,EAAEkD,IAAI,SAAUtK,GACf,OAAOA,EAAE6D,IACX,CAAC,CACH,CAOF,EAAG,CACD0F,IAAK,UACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAM29B,QAAQ8oC,KAC5B,CACF,EAAG,CACDrnE,IAAK,WAOLlC,MAAO,WAGL/F,KAAK6I,MAAM29B,QAAQ8oC,MAFW,EAAnBnuE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EAG5E,CACF,EAAG,CACD8G,IAAK,gBACLlC,MAAO,WACL,IAAImqD,EAASlwD,KAETwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE/E,OAAO,EAAIqd,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAO+B,MAAMumB,EAAK+E,IAAIrf,IAAI,CACxB8L,IAAKoqC,EAAO8nE,YAAY,MAAM,EAAEngH,OAAO65D,OAAO,QAAQ,EAAElpE,EAAK1C,MAC7DmyB,OAAQ,CAAEnlB,OAAQtK,EAAKsK,MAAO,CAChC,CAAC,CACH,CAAC,CAAC,CACJ,CAOF,EAAG,CACD7K,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKu6I,OACd,CAOF,EAAG,CACDtyI,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKu6I,QAAQtqF,UAAU,CAChC,CACF,EAAG,CACDhoD,IAAK,mBACLlC,MAAO,WACL,OAAO/F,KAAK+nG,cACd,CACF,EAAG,CACD9/F,IAAK,mBACLlC,MAAO,SAA0B+0I,GAC/B96I,KAAK+nG,eAAiB+yC,CACxB,CACF,EAAG,CACD7yI,IAAK,YACLlC,MAAO,SAAmBqxB,GACxBp3B,KAAK+6I,iBAAiB3jH,CAAM,CAC9B,CACF,EAAG,CACDnvB,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAK+nG,cACd,CACF,EAAG,CACD9/F,IAAK,cACLlC,MAAO,WACL,IAAI02D,EAASz8D,MAEqB,EAAnBmB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAE1E8S,QAAQ,SAAUvV,GACzB,OAAO+9D,EAAOoE,WAAWniE,CAAC,CAC5B,CAAC,CACH,CAOF,EAAG,CACDuJ,IAAK,aACLlC,MAAO,SAAoBu5H,GACzBt/H,KAAK+nG,eAAeizC,WAAW1b,CAAO,CACxC,CAMF,EAAG,CACDr3H,IAAK,sBACLlC,MAAO,SAA6B8N,EAASf,GAavCgB,EAZc,SAASmnI,IAEzB,OADgC,EAAnB95I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACnEm0B,OAAO,SAAUoK,EAAKhhC,GAOlC,MANI,UAAYA,EAAEoH,KAChB45B,EAAIhhC,EAAE6D,MAAQ04I,EAAYv8I,EAAEoU,MAAM,EACzB,SAAWpU,EAAEqH,QACtBrH,EAAEqH,MAAQ,MAEZ25B,EAAIhhC,EAAE6D,MAAQ7D,EAAEqH,MACT25B,CACT,EAAG,EAAE,CACP,EAC6B5sB,CAAM,EAEnC,OADAe,EAAQwpH,cAAcvpH,CAAU,EACzBA,CACT,CASF,EAAG,CACD7L,IAAK,sBACLlC,MAAO,SAA6B3B,GAClC,IAAIupE,EAAS3tE,KAETwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E+5I,EAAgB1yI,EAAKiqE,QACrBA,EAA4BhqE,KAAAA,IAAlByyI,EAA8B,GAAKA,EAC7CC,EAAwB3yI,EAAK6R,kBAC7BA,EAA8C5R,KAAAA,IAA1B0yI,GAA6CA,EAGjEroI,EAAS8mF,EAAW55F,KAAK66I,iBAAiB,CAAC,EAC3ChnI,EAAU,KAAA,EAEd,GAAIzP,aAAem+D,EAAS/B,QAC1B3sD,EAAUzP,OACL,GAAIA,aAAeoN,GAAGgvD,QAC3B3sD,EAAU,IAAI0uD,EAAS/B,QAAQ,CAAE3sD,QAASzP,CAAI,CAAC,MAC1C,CAAA,GAAIA,CAAAA,EAGT,OAAO0O,EAFPe,EAAU7T,KAAK+/D,eAAe37D,CAAG,CAGnC,CAEA,IAAI0P,EAAaD,EAAQE,cAAc,EAsCvC,OApCAjB,EAAOmB,QAAQ,SAAUpO,GA0BvB,IACMkD,EAzBNlD,EAAME,MAAQ+N,EAAWjO,EAAMtD,MAC/BsD,EAAMuV,OAAStH,EAAWjO,EAAMtD,MAChCsD,EAAMwV,OAAS,CAAA,EAEfxV,EAAMiI,QAA0C,CAAC,IAAjC2kE,EAAQngC,QAAQzsC,EAAMtD,IAAI,EAGtCkG,KAAAA,IAAc5C,EAAMqI,WACtBrI,EAAMqI,SAAW,IAGnBrI,EAAMmnD,WAAavkD,KAAAA,IAAc5C,EAAMmnD,YAAcnnD,EAAMmnD,WAC3DnnD,EAAMu1I,UAAY,CAAA,EAClBv1I,EAAMqI,SAAS4C,MAAQ,CAAA,EACvBjL,EAAMqI,SAASilF,OAAS,CAAA,EACxBttF,EAAMwI,yBAA2B,CAAA,EACjCxI,EAAMwU,kBAAoBA,EAC1BxU,EAAMqI,SAASyM,eAAiB,IAAI6yC,IACpC3nD,EAAMqI,SAASwM,OAAS7U,EAAMqI,SAASwM,QAAU,CAAA,EACjD7U,EAAMqI,SAASC,SAAWtI,EAAMqI,SAASC,UAAY,CAAA,EACrDtI,EAAMqI,SAAS8M,eAAiB,CAAA,EAChCnV,EAAMqI,SAASsM,MAAQ,CAAA,EACvB3U,EAAMqI,SAAS4M,QAAU,KAErBjV,EAAMiD,QACJC,EAAU4kE,EAAOktE,iBAAiB,EAAEnxI,KAAK,SAAUhL,GACrD,OAAOA,EAAE6D,OAASsD,EAAMtD,IAC1B,CAAC,EAAEuG,MAAMC,QACTlD,EAAMiD,MAAMC,QAAQ2oB,QAAU3oB,EAAQ2oB,SAAW,CAAE7oB,MAAO,IAAK,EAE/DhD,EAAMiD,MAAMC,QAAQH,OAASG,EAAQH,QAAU,GAEnD,CAAC,EAEMkK,CACT,CAOF,EAAG,CACD7K,IAAK,mBACLlC,MAAO,WACL,IAAI8N,EAAU,IAAI0uD,EAAS/B,QAAQ,CACjC3sD,QAAS,IAAIrC,GAAGgvD,QAAQxgE,KAAK66I,iBAAiB,EAAEvlH,OAAO,SAAU5tB,EAAOhJ,GACjD,OAArBgJ,EAAMhJ,EAAE6D,MAAQ,KAAYmF,CAC9B,EAAG,EAAE,CAAC,CACR,CAAC,EAED,OADAmM,EAAQ+pH,OAAO,EACR/pH,CACT,CACF,EAAE,EAEK+2F,CACT,GAAE/yF,EAAOy0C,KAAK,CAEd,EAAE,CAAC74B,gBAAgB,IAAIqoE,mBAAmB,mBAAmB8R,qBAAqB,IAAIC,2BAA2B,IAAIl8C,mBAAmB,IAAIhzB,YAAY,IAAIjmB,4BAA4B,IAAIkb,kBAAkB,IAAIynH,gBAAgB,GAAG,GAAGC,IAAI,CAAC,SAAS18I,EAAQU,EAAOJ,GACrQ6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ2rG,YAAcpiG,KAAAA,EAEtB,IAAIuG,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAEIqoF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/C+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAEnC8+D,EAAuB9+D,EAAQ,2BAA2B,EAE1D+nG,EAAsB/nG,EAAQ,0BAA0B,EAExDgoG,EAAyBhoG,EAAQ,6BAA6B,EAI9DqiI,EAAan9H,EAFDlF,EAAQ,sBAAsB,CAEG,EAE7C4f,EAAa5f,EAAQ,iBAAiB,EAEtCiZ,EAASjZ,EAAQ,kBAAkB,EAEnCipG,EAAcjpG,EAAQ,uBAAuB,EAEjD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAWvb7G,EAAQ2rG,aAAwB0wC,IAChDpzI,IANiBC,EAMPyiG,EAN+B,GAA0B,YAAtB,OAAOviG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAQ1M,SAASuiG,IACP,IAAI5xE,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EqH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAd1DuH,EAgBL1I,KAhBeqH,EAgBTwjG,EAhBwB,GAAMniG,aAAoBrB,EAkCxE,OAhBIuD,GAhBR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAgBpMrJ,MAAO6qG,EAAY1hG,WAAapB,OAAOqB,eAAeyhG,CAAW,GAAG1rG,KAAKa,KAAMi5B,EAAQzwB,CAAI,CAAC,GAE7Hu/H,UAAY,KAClBn9H,EAAM9E,KAAO+R,EAAOy0C,MAAMyD,WAAWinF,OAEjCrG,EAAY13G,EAAOmC,WAAa,KAAOnC,EAAO7B,QAAU6B,EAAO7B,OAAOtxB,MAG1E8E,EAAM29H,MAAMtvG,EAAQzwB,CAAI,EAEpB,oBAAuBmoI,IACzB/lI,EAAM4wI,aAAe,CAAA,EACrB5wI,EAAMquB,OAAOtK,MAAQsK,EAAOtK,MAC5B/jB,EAAM29H,MAAMtvG,CAAM,GAGbruB,EAlCiF,MAAM,IAAIrC,UAAU,mCAAmC,CAmCjJ,CAgKA,OA/L+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAiC/dlB,EAAayjG,EAAa,CAAC,CACzB5iG,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKy7I,YAAY,EAAErgF,WAAW,CACvC,CACF,EAAG,CACDnzD,IAAK,qBACLlC,MAAO,WACL,IAAI2O,EAA8B,EAAnBvT,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEnFnB,KAAKy7I,YAAY,EAAEC,YAAYhnI,CAAQ,CACzC,CACF,EAAG,CACDzM,IAAK,yBACLlC,MAAO,WACL,OAAO/F,KAAKi5B,OAAOuN,QAAQO,YAC7B,CAMF,EAAG,CACD9+B,IAAK,cACLlC,MAAO,WACL,IAQI4oB,EAEAgtH,EAVA/xI,EAAS5J,KAiIb,OA/HIA,KAAK+nI,YAIT/nI,KAAK+nI,UAAY,IAAI/3C,EAAY1rF,QAI7Bq3I,GAFAhtH,EAAQ3uB,KAAKw7I,aAAex7I,KAAKga,IAAI,OAAO,EAAIha,KAAKi5B,OAAOuN,QAAUxmC,KAAKi5B,OAAOuN,QAAQ7X,MAAQ3uB,KAAK47I,eAAe,GAEpG,IAAIpqI,GAAGmd,MAAM4vC,MAAMx2D,OAAO8f,QAAQ8G,GAAS,EAAE,EAAE2G,OAAO,SAAUrS,EAAQlc,GAC5F,IAAIkQ,EAAQjI,EAAejI,EAAM,CAAC,EAC9BjB,EAAOmR,EAAM,GACbgiB,EAAShiB,EAAM,GAWnB,MATI,UAAYnR,GAAQmzB,EAAO3Z,OAC7B2D,EAAOkY,MAAQ,IAAI3pB,GAAGmd,MAAMkwC,KAAK,CAAE9wC,IAAKkL,EAAO3Z,KAAKwG,IAAK+1H,UAAW5iH,EAAO3Z,KAAK4D,KAAM,CAAC,GAErF,SAAWpd,IACbmd,EAAOy7C,OAAS,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOgd,EAAOhd,MAAOiH,MAAO+V,EAAO/V,KAAM,CAAC,GAE9E,YAAcpd,IAChBmd,EAAOuoB,KAAO,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOgd,EAAOhd,KAAM,CAAC,GAElDgH,CACT,EAAG,EAAE,CAAC,EAAI,KAGVjjB,KAAK+nI,UAAU3G,SAAW,IAAI5vH,GAAG4C,MAAMkqD,OAAO,CAC5C9lD,GAAIxY,KAAKumB,MAAM,EACf6Q,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAAE5pD,SAAU1U,KAAKu6I,SAAWv6I,KAAKu6I,QAAQI,iBAAiB,EAAEmB,sBAAsB,GAAK,EAA0B,CAAC,CACjJ,CAAC,EAiBG,EALFH,EADE,EARFA,EADE,CAACA,IAAW,EAAIj+E,EAAqB0F,qBAAqBpjE,KAAK6mC,gBAAgB,CAAC,EACxE,IAAIr1B,GAAGmd,MAAM4vC,MAAM,CAC3BpjC,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBjpF,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOjc,KAAK+7I,SAAS,CAAE,CAAC,EAClD98E,OAAQ,CACV,CAAC,CACH,CAAC,EAGE08E,KAAW,EAAIh1C,EAAoB8C,oBAAoBzpG,KAAK6mC,gBAAgB,CAAC,EACtE,IAAIr1B,GAAGmd,MAAM4vC,MAAM,CAC3BG,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOjc,KAAK+7I,SAAS,EAAG74H,MAAO,CAAE,CAAC,CAClE,CAAC,EAGEy4H,KAAW,EAAI/0C,EAAuB8C,uBAAuB1pG,KAAK6mC,gBAAgB,CAAC,IACtF80G,EAAU,IAAInqI,GAAGmd,MAAM4vC,MAAM,CAC3BG,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,UAAWiH,MAAO,CAAE,CAAC,EAC1DsoB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOjc,KAAK+7I,SAAS,CAAE,CAAC,CACpD,CAAC,EACD/7I,KAAK+nI,UAAU3G,SAASl3F,WAAW,EAAG,GAGxClqC,KAAK+nI,UAAU3G,SAASj9F,SAASw3G,CAAO,EAExC5zI,OAAO+tC,OAAO91C,KAAK+nI,UAAW,CAC5B3G,SAAUphI,KAAK+nI,UAAU3G,SACzBtxH,WAAYH,EAAMrL,QAAQyL,WAAW,KAAK,EAC1C+2B,aAAc9mC,KAAK6mC,gBAAgB,EACnCE,aAAc,KACdjhC,KAAM,KACNqhC,IAAK,KACL3uB,GAAIxY,KAAKumB,MAAM,EACfhkB,KAAMvC,KAAKw7I,cAAgBx7I,KAAKoqC,QAAQ,GAAK,GAC7Czb,MAAOA,EACP1S,MAAOjc,KAAK+7I,SAAS,EACrBhhF,YAAY/6D,KAAKw7I,aAAex7I,KAAiC2P,EAAMrL,QAAQyL,WAAW,KAAK,GAA1DunD,cAAc,EAAEC,QAAQ,EAC7DzxC,IAAK9lB,KAAKw7I,aAAex7I,KAAKga,IAAI,QAAQ,EAAE8L,IAAMrd,KAAAA,EAClD04D,SAAUnhE,KAAKg4H,YAAY,MAAM,EACjCA,YAAa,WACX,OAAOpuH,EAAOm+H,UAAU5mE,QAC1B,EACAu6E,YAAa,WAEX,OAAO9xI,EAAOm+H,UAAUiU,UAAU,IAAIxqI,GAAG4lB,OAAOknC,OAAO,CAAE5pD,SAD1B,EAAnBvT,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EACP,CAAC,CAAC,CAC7E,EACA+lC,YAAa,WACX,IAAI1+B,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,EAAIqd,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAOpC,EAAOm+H,UAAUrM,YAAY,MAAO,EAAIl9G,EAAW+L,WAAW3gB,EAAOm+H,UAAU5mE,SAASj6B,YAAY1+B,CAAI,CAAC,CAAE,CACpH,CAAC,CAAC,CACJ,EACAkzH,YAAa,WACX,IAAIugB,EAA2B,EAAnB96I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAChF,OAAOyI,EAAOm+H,UAAU9gG,UAAU,EAAEy0F,YAAYugB,CAAK,CACvD,EACAp7E,WAAY,SAAoBz5B,GAC9B,OAAOA,GAAQx9B,EAAOq9B,UAAU,EAAE45B,WAAWz5B,CAAI,CACnD,EACAg0B,WAAY,WACV,OAAOxxD,EAAOm+H,UAAU3G,QAC1B,EACAn6F,UAAW,WACT,OAAOr9B,EAAOm+H,UAAU3G,SAASn6F,UAAU,CAC7C,EACA+0G,UAAW,SAAmB5kH,GAC5B,OAAOxtB,EAAOm+H,UAAU3G,SAAS4a,UAAU5kH,CAAM,CACnD,EACA+M,SAAU,SAAkBxV,GAC1B,OAAO/kB,EAAOm+H,UAAU3G,SAASj9F,SAASxV,CAAK,CACjD,EACAoxC,eAAgB,SAAwBvnD,GACtC,OAAOA,EAAK5O,EAAOm+H,UAAU3G,SAASn6F,UAAU,EAAE84B,eAAevnD,CAAE,EAAI,IACzE,EACAw3B,UAAW,WACT,OAAOpmC,EAAOm+H,UAAU3G,SAAS9hE,WAAW,CAC9C,EACAzwB,WAAY,SAAoBvO,GAC9B,OAAO12B,EAAOm+H,UAAU3G,SAASvyF,WAAWvO,CAAI,CAClD,EACA4pB,MAAO,WACL,OAAOtgD,EAAOm+H,UAAU9gG,UAAU,EAAEijB,MAAM,CAC5C,EACAgyF,SAAU,SAAkBlzI,GAC1B,OAAOA,EAAI4wD,SAAShwD,EAAOm+H,UAAU3G,QAAQ,CAC/C,CAEF,CAAC,EAEGphI,KAAKw7I,cACPx7I,KAAK+nI,UAAU7gG,YAAY,CACzBphB,IAAK9lB,KAAKga,IAAI,QAAQ,EAAE8L,IACxB6kH,cAAeh7H,EAAMrL,QAAQyL,WAAW,KAAK,EAAEunD,cAAc,EAAEC,QAAQ,CACzE,CAAC,GAGIv3D,KAAK+nI,SACd,CACF,EAAE,EAEKl9B,CACT,IAAE,EAAIo2B,EAAW38H,SAASujG,EAAY+C,UAAU,CAAC,CAEjD,EAAE,CAAChW,aAAa,IAAIi1C,uBAAuB,IAAIl4E,mBAAmB,IAAIo8C,wBAAwB,IAAIj8F,eAAe,IAAIm9F,2BAA2B,IAAInqC,4BAA4B,IAAIqqC,8BAA8B,IAAIv7E,kBAAkB,GAAG,GAAGuoH,IAAI,CAAC,SAASv9I,EAAQU,EAAOJ,GAC3Q6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAUUgB,EAVNqP,EAAuBxX,EAAQ,2BAA2B,EAE9D,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAKzc7G,EAAQoF,QAAU,CAChBogB,QAAS,CACP03H,qBACMr1I,EAAOiF,EAAkB,YAC3B,IAAIiL,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E4R,EAAUkE,EAAMlE,QAChBlN,EAAQoR,EAAMpR,MACdE,EAAQkR,EAAMlR,MAEduN,EAAO,GACX,IACEA,EAAOvF,MAAM,EAAIqI,EAAqBI,qBAAqBzD,CAAO,EAAEi8C,cAAc,CAChF8e,QAASjoE,EAAQ,IAAME,EACvB2U,OAAQ7U,CACV,CAAC,CAGH,CAFE,MAAOxH,IAGT,OAAOiV,EAAKtK,IAAI,SAAUjD,GACxB,MAAO,CAAEyS,GAAIzS,EAAOqR,KAAMrR,CAAM,CAClC,CAAC,CACH,CAAC,EAED,WACE,OAAOgB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAIJ,CACF,CAEA,EAAE,CAACuX,4BAA4B,GAAG,GAAG2jI,IAAI,CAAC,SAASz9I,EAAQU,EAAOJ,GAClE6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAMD7G,EAAQoF,QAAU,CAChB+b,SAAU,CACRqkC,SAAU,WACR,OAAO1kD,KAAKiO,SAAW,EAAI,CAAC,CAC9B,EACAb,SAAU,WACR,MAAO,CAAA,IAAUpN,KAAK6I,MAAMqF,SAAS4C,KACvC,EACA7C,SAAU,WACR,OAAOjO,KAAK6I,MAAMoF,QACpB,EACAquI,aAAc,WACZ,OAAOt8I,KAAK6I,MAAMm7C,MAAQhkD,KAAK6I,MAAMm7C,KAAKlpC,QAAQxC,KAAK,CACzD,EACA6L,SAAU,WACR,MAAO,CAACnkB,KAAKiO,UAAY,CAAC,UAAW,SAASxE,SAASzJ,KAAK+jD,YAAY,CAC1E,EACAA,aAAc,WACZ,OAAO/jD,KAAK6I,MAAMC,MAAMC,QAAQ2oB,QAAU1xB,KAAK6I,MAAMC,MAAMC,QAAQ2oB,QAAQ7oB,MAAQ,IACrF,CACF,EACA6b,QAAS,CAKP2pC,WAAY,SAAoB/tB,GAC9BtgC,KAAK6I,MAAMC,MAAMC,QAAQ2oB,QAAQ7oB,MAAQy3B,EAAO,UAAY,OAC9D,EACAwjB,aAAc,WACZ9jD,KAAK6I,MAAMm7C,KAAKl2C,QAAU,CAAC9N,KAAK6I,MAAMm7C,KAAKl2C,OAC7C,EAGAokD,aAAc,SAAsB/vB,GAClCniC,KAAK6I,MAAM9C,MAAQo8B,EAAM16B,OAAO1B,MAChC/F,KAAK0N,OAAO,CACd,EAGAA,OAAQ,WACN1N,KAAKsN,QAAQ4M,SAAS,EAGtBla,KAAKsN,QAAQY,SAAS,EAEtBlO,KAAKsN,QAAQivI,UAAU,EAEvBv8I,KAAKoO,MAAM,cAAepO,KAAK6I,KAAK,CACtC,EACAmnC,UAAW,YACb,CACF,CAEA,EAAE,IAAIwsG,IAAI,CAAC,SAAS59I,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAMD7G,EAAQoF,QAAU,CAChBqJ,QAAS,WAMP3N,KAAKy8I,cAAgB,CACnB/wD,MAAO,EACPgxD,UAAW,IACb,CACF,EAGAh4H,QAAS,CAMP6nB,YAAa,WACX,IAAI3hC,EAAQ5K,KAER28I,EAA+B,EAAnBx7I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAChFihC,EAAUjhC,UAAU,GAEnBnB,KAAKy8I,gBAIVz8I,KAAKy8I,cAAc/wD,OAAS,EACvB1rF,KAAKy8I,cAAcC,YAEtB18I,KAAKy8I,cAAcC,UAAY98I,WAAW,WACpC6I,KAAAA,IAAck0I,EAAU/xI,EAAM6xI,cAAc/wD,QAC9CixD,EAAU/xI,EAAM6xI,cAAc/wD,OAAOvsF,KAAKijC,CAAO,EAEnDx3B,EAAMgyI,kBAAkB,CAC1B,EAAG,GAAG,GAEV,EACAA,kBAAmB,WACjB58I,KAAKy8I,cAAc/wD,MAAQ,EAC3B1rF,KAAKy8I,cAAcC,UAAY,IACjC,EACAG,kBAAmB,WACjB78I,KAAK48I,kBAAkB,EACvB58I,KAAKy8I,cAAgB,IACvB,CACF,EAEAnuG,cAAe,WACbtuC,KAAK68I,kBAAkB,CACzB,CACF,CAEA,EAAE,IAAIC,IAAI,CAAC,SAASl+I,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAMD7G,EAAQoF,QAAU,CAChBogB,QAAS,CACPq4H,gBAAiB,WAIf,OAHIt0I,KAAAA,IAAczI,KAAKg9I,iBACrBh9I,KAAKg9I,eAAiBp+I,EAAQ,0BAA0B,GAEnDoB,KAAKg9I,cACd,EACA9nE,aAAc,SAAsBrvE,GAClC,OAAO7F,KAAK+8I,gBAAgB,EAAEn3I,QAAQC,CAAK,CAC7C,EACAY,SAAU,SAAkBZ,GAC1B,OAAO7F,KAAK+8I,gBAAgB,EAAEt2I,SAASZ,CAAK,CAC9C,EACAa,OAAQ,SAAgBb,GACtB,OAAO7F,KAAK+8I,gBAAgB,EAAEr2I,OAAOb,CAAK,CAC5C,EACAc,QAAS,SAAiBd,GACxB,OAAO7F,KAAK+8I,gBAAgB,EAAEp2I,QAAQd,CAAK,CAC7C,EACAe,QAAS,SAAiBf,GACxB,OAAO7F,KAAK+8I,gBAAgB,EAAEn2I,QAAQf,CAAK,CAC7C,EACAgB,MAAO,SAAehB,GACpB,OAAO7F,KAAK+8I,gBAAgB,EAAEl2I,MAAMhB,CAAK,CAC3C,EACAo3I,mBAAoB,SAA4Bl3I,GAC9C,OAAO7E,MAAMkF,QAAQL,CAAK,GAAK,CAACA,EAAM3G,OAAS,GAAK2G,CACtD,CACF,CACF,CAEA,EAAE,CAACkwC,2BAA2B,CAAC,GAAGinG,IAAI,CAAC,SAASt+I,EAAQU,EAAOJ,GAC/D6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAMD7G,EAAQoF,QAAU,CAChBgP,KAAM,WACJ,MAAO,CACLxC,MAAO,CAAA,CACT,CACF,EAEA4T,QAAS,CACP20B,cAAe,SAAuBvwC,GACpC9I,KAAKqxF,WAAWjwF,KAAK0H,CAAK,CAC5B,EACAswC,YAAa,SAAqBtwC,GAChC9I,KAAK0Z,QAAQ5Q,CAAK,CACpB,EAGA4Q,QAAS,SAAiB5Q,GACxB,IAsCQwqF,EAtCJ1oF,EAAQ5K,KAEZ,GAAI8I,EAEF,GAAIA,EAAMoF,SAAS6M,UACjB,GAAI,CAACjS,EAAMoF,SAASC,SAClB,GAAKrF,EAAMoF,SAASsM,MAMb,CACL1R,EAAM/C,MAAQ,KACd+C,EAAMoF,SAAS8M,eAAiB,CAAA,EAChClS,EAAMoF,SAAS4C,MAAQ,CAAA,EACvBhI,EAAMoF,SAASilF,OAAS,CAAA,EAExB,IADA,IAAIgqD,EAAyB,GACpB1+I,EAAIqK,EAAMoF,SAAS6M,SAAS3b,OAAQX,CAAC,IAAK,CACjD,IAAI8D,EAAOuG,EAAMoF,SAAS6M,SAAStc,GAC9BuB,KAAKqxF,WAAW9uF,GAAM2L,SAASsM,OAClC2iI,EAAuB/7I,KAAKmB,CAAI,CAEpC,CACI46I,EAAuB/9I,OAAS,GAClC+9I,EAAuBlpI,QAAQ,SAAU1R,GACvCqI,EAAMymF,WAAW9uF,GAAM2L,SAAS8M,eAAiB,CAAA,EACjDpQ,EAAMymF,WAAW9uF,GAAM2L,SAAS4C,MAAQ,CAAA,EACxClR,WAAW,WACTgL,EAAMymF,WAAW9uF,GAAM2L,SAAS4C,MAAQlG,EAAMymF,WAAW9uF,GAAM2L,SAASilF,OACxEvoF,EAAM/B,MAAMiI,MAAQlG,EAAM/B,MAAMiI,OAASlG,EAAMymF,WAAW9uF,GAAM2L,SAAS4C,KAC3E,CAAC,CACH,CAAC,CAEL,MA3BEhI,EAAMoF,SAASilF,OAASrqF,EAAMoF,SAAS4C,MACvChI,EAAMoF,SAAS8M,eAAiBlS,EAAMoF,SAAS6M,SAASua,OAAO,SAAUs8C,EAAUwhB,GACjF,OAAOxhB,GAAYhnE,EAAMymF,WAAW+B,GAAWllF,SAASsM,KAC1D,EAAG,CAAA,CAAI,EACP1R,EAAMoF,SAAS4C,MAAQhI,EAAMoF,SAAS8M,gBAAkBlS,EAAMoF,SAAS4C,KAwB3E,MAEUhI,EAAMoF,SAASsM,OAAU1R,CAAAA,EAAMoF,SAASgN,WAAapS,CAAAA,EAAMoF,SAAS+M,YAC1Eq4E,EAAaxqF,EAAMoF,SAASgN,WAAapS,EAAMoF,SAAS+M,UAC5DnS,EAAMoF,SAAS4C,MAAQhI,EAAMoF,SAASgN,UAAYlb,KAAKqxF,WAAWvoF,EAAMoF,SAASgN,WAAWhN,SAASsM,OAAS,CAAI1R,EAAM/C,MAAQ,CAAI/F,KAAKqxF,WAAWvoF,EAAMoF,SAASgN,WAAWnV,MAAQ/F,KAAKqxF,WAAWvoF,EAAMoF,SAAS+M,WAAW/M,SAASsM,OAAS,CAAI1R,EAAM/C,MAAQ,CAAI/F,KAAKqxF,WAAWvoF,EAAMoF,SAAS+M,WAAWlV,MAC9S+C,EAAMoF,SAAS4C,QACjB9Q,KAAKqxF,WAAWiC,GAAYplF,SAAS4C,MAAQ,CAAA,IAInD9Q,KAAK8Q,MAAQ/I,OAAOa,OAAO5I,KAAKqxF,UAAU,EAAE/7D,OAAO,SAAUgL,EAAMx3B,GACjE,OAAOw3B,GAAQx3B,EAAMoF,SAAS4C,KAChC,EAAG,CAAA,CAAI,CACT,CACF,EACAnD,QAAS,WACP3N,KAAKqxF,WAAa,EACpB,EACA/iF,UAAW,WACTtO,KAAKqxF,WAAa,IACpB,CACF,CAEA,EAAE,IAAI+rD,IAAI,CAAC,SAASx+I,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI2J,EAAO9Q,EAAQ,cAAc,EAE7B+Q,GAE4BvL,EAFGsL,IAEkBtL,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAE3FlF,EAAQoF,QAAU,CAChBogB,QAAS,CACP6xB,UAAW,WACTv2C,KAAK8N,QAAU,CAAC9N,KAAK8N,QACrB9N,KAAKoU,MAAMy6B,WAAW7uC,KAAK8N,OAAO,CACpC,CACF,EACAH,QAAS,WACP,IAAI2F,EAAOtT,KAAKsT,KACZq3H,EAAgBh7H,EAAMrL,QAAQyL,WAAW,KAAK,EAAEunD,cAAc,EAAEC,QAAQ,EACxE5oC,EAAQ,KAAA,EACZ,OAAQrb,EAAKxN,MACX,IAAK,QACL,IAAK,aACH6oB,EAAQ,CAAC,IAAInd,GAAGmd,MAAM4vC,MAAM,CAC1BpjC,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBx1D,OAAQ,EACRzzB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,CAAC,IAAK,IAAK,IAAK,EAAK,CAAC,EACvDyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,CAAC,EAAG,EAAG,EAAG,GAAMiH,MAAO,CAAE,CAAC,CACjE,CAAC,CACH,CAAC,EAAG,IAAI1R,GAAGmd,MAAM4vC,MAAM,CACrBpjC,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBx1D,OAAQ,EACRzzB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,CAAC,IAAK,IAAK,IAAK,EAAK,CAAC,EACvDyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,CAAC,EAAG,EAAG,EAAG,GAAMiH,MAAO,CAAE,CAAC,CACjE,CAAC,CACH,CAAC,GACD,MACF,IAAK,OACL,IAAK,kBACL,IAAK,UACL,IAAK,eACHyL,EAAQ,IAAInd,GAAGmd,MAAM4vC,MAAM,CACzB/yB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,0BAA2B,CAAC,EAC7DyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,CAAC,EAAG,EAAG,EAAG,GAAMiH,MAAO,CAAE,CAAC,CACjE,CAAC,CAEL,CACAljB,KAAKoU,MAAQ,IAAI5C,GAAG4C,MAAMkqD,OAAO,CAC/BlnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAC3B5pD,UAAU,IAAIlD,GAAGimB,OAAO8P,SAAUmjG,aAAap3H,EAAM,CAAEm0B,kBAAmBkjG,CAAc,CAAC,CAC3F,CAAC,EACD78H,QAAS,CAAC,CAAC9N,KAAK8N,QAChB6gB,MAAOA,CACT,CAAC,EACDhf,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAEopD,SAAS55D,KAAKoU,KAAK,CAC9D,EACAk6B,cAAe,WACb3+B,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAE08G,YAAYltH,KAAKoU,KAAK,CACjE,CACF,CAKA,EAAE,CAACtC,eAAe,GAAG,GAAGurI,IAAI,CAAC,SAASz+I,EAAQU,EAAOJ,GACrD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ6N,OAAS7N,EAAQo+I,kBAAoBp+I,EAAQ8N,eAAiB9N,EAAQglD,aAAehlD,EAAQq+I,iBAAmBr+I,EAAQwtD,aAAextD,EAAQutD,YAAcvtD,EAAQkmD,YAAclmD,EAAQi3C,SAAWj3C,EAAQs4C,WAAat4C,EAAQw0E,YAAcjrE,KAAAA,EAEzP,IAEI+0I,EAAiB15I,EAFDlF,EAAQ,qBAAqB,CAEQ,EAIrD6+I,EAAW35I,EAFDlF,EAAQ,eAAe,CAEQ,EAIzC8+I,EAAU55I,EAFDlF,EAAQ,cAAc,CAEQ,EAIvC++I,EAAQ75I,EAFDlF,EAAQ,YAAY,CAEQ,EAInCuoE,EAAWrjE,EAFDlF,EAAQ,eAAe,CAEQ,EAIzCg/I,EAAW95I,EAFDlF,EAAQ,eAAe,CAEQ,EAIzCi/I,EAAW/5I,EAFAlF,EAAQ,gBAAgB,CAEO,EAI1Ck/I,EAAeh6I,EAFDlF,EAAQ,oBAAoB,CAEO,EAIjDm/I,EAAWj6I,EAFDlF,EAAQ,eAAe,CAEQ,EAIzCo/I,EAAcl6I,EAFDlF,EAAQ,mBAAmB,CAEO,EAEnD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAM9F,IAAI2I,EAAS,CACXuwI,kBAAmBE,EAAel5I,QAClCovE,YAAa+pE,EAASn5I,QACtBkzC,WAAYkmG,EAAQp5I,QACpB6xC,SAAUwnG,EAAMr5I,QAChB8gD,YAAa+hB,EAAS7iE,QACtBmoD,YAAamxF,EAASt5I,QACtBooD,aAAcmxF,EAASv5I,QACvBi5I,iBAAkBO,EAAax5I,QAC/B4/C,aAAc65F,EAASz5I,QACvB0I,eAAgBgxI,EAAY15I,OAC9B,EACApF,EAAQw0E,YAAc+pE,EAASn5I,QAC/BpF,EAAQs4C,WAAakmG,EAAQp5I,QAC7BpF,EAAQi3C,SAAWwnG,EAAMr5I,QACzBpF,EAAQkmD,YAAc+hB,EAAS7iE,QAC/BpF,EAAQutD,YAAcmxF,EAASt5I,QAC/BpF,EAAQwtD,aAAemxF,EAASv5I,QAChCpF,EAAQq+I,iBAAmBO,EAAax5I,QACxCpF,EAAQglD,aAAe65F,EAASz5I,QAChCpF,EAAQ8N,eAAiBgxI,EAAY15I,QACrCpF,EAAQo+I,kBAAoBE,EAAel5I,QAC3CpF,EAAQ6N,OAASA,EACjB7N,EAAQoF,QAAUyI,CAElB,EAAE,CAACkxI,sBAAsB,IAAIC,oBAAoB,IAAIC,gBAAgB,IAAIC,qBAAqB,IAAIC,aAAa,IAAIC,eAAe,IAAIrvE,gBAAgB,IAAIsvE,gBAAgB,IAAIC,iBAAiB,IAAIC,gBAAgB,GAAG,GAAGC,IAAI,CAAC,SAAS9/I,EAAQU,EAAOJ,GACtP6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIT,EAA4B,YAAlB,OAAOC,QAAoD,UAA3B,OAAOA,OAAOC,SAAwB,SAAUpB,GAAO,OAAO,OAAOA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,YAAlB,OAAOmB,QAAyBnB,EAAIqB,cAAgBF,QAAUnB,IAAQmB,OAAOlE,UAAY,SAAW,OAAO+C,CAAK,EAO3QlF,EAAQoF,QAAU,CAChB+b,SAAU,CACRq3B,SAAU,WACR,OAAO13C,KAAK+F,OAAQ/F,KAAK+F,MAAM6c,MAAM,GAAG,EAAE2wB,IAAI,CAChD,CACF,EACA7uB,QAAS,CACPi6H,QAAS,SAAiB54I,GACxB,MAAA,EAAIA,CAAAA,GAAS,YAA+B,KAAA,IAAVA,EAAwB,YAAcT,EAAQS,CAAK,IAAMgC,SAAWhC,EAAMN,aAClG,CAACM,EAAM2wC,UAGnB,EACAe,aAAc,SAAsBf,GAClC,IAAI56B,EAAQ,CACVhW,KAAM,KACNiD,QAAS,EACX,EAEA,OAAQ2tC,GACN,IAAK,YACL,IAAK,YACL,IAAK,aACL,IAAK,YACH56B,EAAMhW,KAAO,QACb,MACF,IAAK,kBACHgW,EAAMhW,KAAO,MACb,MACF,IAAK,YACL,IAAK,YACL,IAAK,iBACL,IAAK,kBACL,IAAK,kBACHgW,EAAMhW,KAAO,QACbgW,EAAM/S,QAAQ0uB,OAASif,EACvB,MACF,IAAK,mBACL,IAAK,kBACH56B,EAAMhW,KAAO,MACb,MACF,IAAK,qBACL,IAAK,0CACHgW,EAAMhW,KAAO,OACb,MACF,IAAK,4BACL,IAAK,iDACHgW,EAAMhW,KAAO,QACb,MACF,IAAK,4EACL,IAAK,gCACL,IAAK,kDACHgW,EAAMhW,KAAO,MACb,MACF,QACEgW,EAAMhW,KAAO,QACjB,CACA,OAAOgW,CACT,CACF,CACF,CAEA,EAAE,IAAI8iI,IAAI,CAAC,SAAShgJ,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI2J,EAAO9Q,EAAQ,cAAc,EAE7B+Q,GAM4BvL,EANGsL,IAMkBtL,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAJvFivE,EAAYz0E,EAAQ,gBAAgB,EAEpC6/C,EAAY7/C,EAAQ,gBAAgB,EAIxC,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAKzc,IAYQgB,EAZJ83I,EAAa,CACf1mE,SAAU9E,EAAU8E,SACpBj5B,SAAUT,EAAUS,QACtB,EAEAhgD,EAAQoF,QAAU,CAChBqJ,QAAS,WACP,IAAImxI,EAAe9+I,KAAKsgF,WAAau+D,EAAW7+I,KAAKsgF,YAAcu+D,EAAW1mE,SAC9En4E,KAAK++I,YAAc/+I,KAAKwjB,OAASs7H,EAAa9+I,KAAKwjB,OAAOwe,KAAKhiC,IAAI,EAAGA,KAAKg/I,SAAS,EAAI,KACxFrvI,EAAMrL,QAAQzC,GAAG,SAAU7B,KAAK++I,WAAW,CAC7C,EACA3yH,SACMrlB,EAAOiF,EAAkB,YAC3B+B,MAAM/N,KAAKgO,UAAU,EACjBhO,KAAKwjB,QACPxjB,KAAKwjB,OAAO,CAEhB,CAAC,EAED,WACE,OAAOzc,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,GAIFmtC,cAAe,WACb3+B,EAAMrL,QAAQtC,IAAI,SAAUhC,KAAK++I,WAAW,EAC5C/+I,KAAK++I,YAAc,KACnB/+I,KAAKg/I,UAAY,IACnB,CACF,CAEA,EAAE,CAACltI,eAAe,IAAIqtC,iBAAiB,IAAI26B,iBAAiB,GAAG,GAAGmlE,IAAI,CAAC,SAASrgJ,EAAQU,EAAOJ,GAK/F,SAAS8M,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAuC3b,IACJkR,EA3BAlQ,EAjBVgB,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EASD7G,EAAQoF,QAAU,CAChBogB,QAAS,CACP0rC,YAAa,WACX,OAAOvlD,OAAOC,WAAWC,KAAKC,MAAQ,IACxC,EACAsiD,cACMvmD,EAAOiF,EAAkB,UAAWjG,GACtC/F,KAAK6I,MAAM9C,MAAQ,SAAWA,EAAQ,KAAOA,EAE7CgI,MAAM/N,KAAKgO,UAAU,EACrBhO,KAAK0N,OAAO,CACd,CAAC,EAED,SAAsBgd,GACpB,OAAO3jB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,GAIFuwD,SAAU,SAAkB3rD,GAC1B,OAAO,OAASA,EAAQ,OAASA,CACnC,EACAm5I,YAAa,WACXl/I,KAAK6I,MAAMC,MAAMC,QAAQH,OAAO+hB,OAAO,CAAC,CAC1C,CACF,EACAtK,SAAU,CACRgtC,aAAc,WACZ,MAAO,wBAA0BrtD,KAAK6I,MAAMC,MAAMhD,MAAQ9F,KAAK6I,MAAMC,MAAMC,QAAQo2I,YACrF,CACF,EACAhyI,MAAO,CACLC,UACM6J,EAAQjL,EAAkB,UAAWjG,GACvCgI,MAAM/N,KAAKgO,UAAU,EACjBhO,KAAKutD,SACPvtD,KAAKutD,QAAQj6C,KAAK,SAAS,EAAE8rI,WAAWr5I,EAAQ,WAAa,eAAe,wBAAwB,CAExG,CAAC,EAED,SAAkBqwB,GAChB,OAAOnf,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,CACF,CAEA,EAAE,IAAIk+I,IAAI,CAAC,SAASzgJ,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAEI8F,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInDuoE,EAAWrjE,EAFDlF,EAAQ,eAAe,CAEQ,EAE7C,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAO9FlF,EAAQoF,QAAU,CAChByI,OAAQ,CAACo6D,EAAS7iE,SAClBogB,QAAS,CACPzK,SAAU,WACRja,KAAKutD,QAAQ3pB,IAAI5jC,KAAK6I,MAAM9C,KAAK,EAAE4uC,QAAQ,QAAQ,CACrD,EACAnxB,OAAQ,WACFxjB,KAAKutD,SAAW,CAAC1hD,EAAcvH,QAAQu5C,UACzC79C,KAAKutD,QAAQA,QAAQ,OAAO,CAEhC,CACF,EACAjf,cAAe,WAETtuC,KAAKutD,UACPvtD,KAAKutD,QAAQA,QAAQ,SAAS,EAE9BvtD,KAAKutD,QAAQvrD,IAAI,EACjBhC,KAAKutD,QAAU,KAEnB,CACF,CAEA,EAAE,CAAC0hB,gBAAgB,IAAIxgE,oBAAoB,GAAG,GAAG6wI,IAAI,CAAC,SAAS1gJ,EAAQU,EAAOJ,GAC9E6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAMD7G,EAAQoF,QAAU,CAChBgP,KAAM,WACJ,MAAO,CACLi1B,QAAS,CAAA,CACX,CACF,EAEA7jB,QAAS,CACP6/B,cAAe,WACbvkD,KAAKuoC,QAAU,CAAA,EACfvoC,KAAK0N,OAAO,CACd,EACA82C,kBAAmB,SAA2Bz+C,IAGhD,EACAoH,MAAO,CACLK,cAAe,SAAoBzH,GAC7B/F,KAAKuoC,QACPvoC,KAAKuoC,QAAU,CAAA,EAEfvoC,KAAKwkD,kBAAkBz+C,CAAK,CAEhC,CACF,CACF,CAEA,EAAE,IAAIw5I,IAAI,CAAC,SAAS3gJ,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIqY,EAAgBxf,EAAQ,eAAe,EAEvCk/H,EAAal/H,EAAQ,YAAY,EAUjCgrG,EAAqB,KANOxlG,EAFS05H,IAEY15H,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,GAMlDE,QAAQ,CAAE2vF,QAAS,CACxDziE,OAAQ,aACRo8D,QAAS,YACX,CAAE,CAAC,EACLgc,EAAmBjoG,QAAUyc,EAAcq+E,YAE3Cv9F,EAAQoF,QAAUslG,CAElB,EAAE,CAACn2E,gBAAgB,IAAImhE,aAAa,GAAG,GAAG4qD,IAAI,CAAC,SAAS5gJ,EAAQU,EAAOJ,GACvE6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI8vC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3P2W,EAAgBxf,EAAQ,eAAe,EAIvCiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAEnC6gJ,EAAW7gJ,EAAQ,eAAe,EAElC00E,EAAwB10E,EAAQ,4BAA4B,EAE5D01B,EAAO11B,EAAQ,WAAW,EAE1B4f,EAAa5f,EAAQ,iBAAiB,EAE1C,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAI9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAMzc,IAIMgB,EAyoBE0nI,EApFAG,EArDA9mD,EAtDA43D,EAlDA/iF,EA/CAjN,EAzDAta,EA/FAjhB,EAxEA/J,EA3EA5S,EA1BAP,EAvCJ1Y,EADWK,EAAQ,UAAU,EAChBL,EAEbohJ,GACE54I,EAAOiF,EAAkB,YAC3B,IAEI4zI,EAAY7xI,MAAM5B,QAAQke,WAFI,EAAnBlpB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAElC,EAEjD,OAAIy+I,EAAU5pH,KAAK,SAAU53B,GAC3B,MAAO,cAAgBA,EAAEixD,MAC3B,CAAC,EACQuwF,EAAU5rI,OAAO,SAAU5V,GAChC,MAAO,cAAgBA,EAAEixD,MAC3B,CAAC,EAAErmD,IAAI,SAAU5K,GACf,OAAOA,EAAE2H,KACX,CAAC,EAGIoG,QAAQE,OAAOuzI,EAAU5rI,OAAO,SAAU5V,GAC/C,MAAO,aAAeA,EAAEixD,MAC1B,CAAC,EAAErmD,IAAI,SAAU5K,GACf,OAAOA,EAAEyhJ,MACX,CAAC,CAAC,CACJ,CAAC,EAEM,WACL,OAAO94I,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,GAGFjC,EAAQoF,QAAU,CAQhB0S,SACMC,EAAQjL,EAAkB,UAAW8zI,GACvC,IAAI/2I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC9E4+I,EAAkBh3I,EAAQi3C,OAE1BggG,EAAmBj3I,EAAQw3C,QAC3BA,EAA+B93C,KAAAA,IAArBu3I,EAAiC,GAAKA,EAEhD/lH,EAAUj6B,KAAK8/I,GAJcr3I,KAAAA,IAApBs3I,EAAgC,GAAKA,CAIP,EAI3C,OAHIx/F,GACF5wC,EAAMrL,QAAQqxF,gBAAgB17D,EAASsmB,CAAO,EAEzCxyC,MAAMA,MAAMksB,CACrB,CAAC,EAED,SAAiB2G,GACf,OAAO3pB,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,GASF8+I,qBACMzoI,EAAQxL,EAAkB,YAC5B,IAAIiT,EAA2B,EAAnB9d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E+E,EAAc+Y,EAAM/Y,YACpBg6I,EAAiBjhI,EAAMkhI,SACvBA,EAA8B13I,KAAAA,IAAnBy3I,EAA+B,GAAKA,EAC/CE,EAAoBnhI,EAAMs4G,YAC1BA,EAAoC9uH,KAAAA,IAAtB23I,GAA0CA,EACxDC,EAAwBphI,EAAM8sH,sBAC9BA,EAAkDtjI,KAAAA,IAA1B43I,EAAsCjiI,EAAci+E,sBAAwBgkD,EACpGC,EAAoBrhI,EAAMg4G,YAC1BA,EAAoCxuH,KAAAA,IAAtB63I,GAAyCA,EACvD/rI,EAAgB0K,EAAM1K,cAEtB4gB,EAAWxlB,EAAMrL,QAAQyL,WAAW,SAAS,EAAElH,MAAMssB,SAASC,OAAOY,KAAK,SAAUT,GACtF,OAAOA,EAAEzF,QACX,CAAC,EACG5c,GAAS,EAAIogE,EAAsBc,sBAAsB,CAC3DC,UAAW,CAAA,EACX8iD,gBAAiB,IAAMgpB,EAAS/gJ,OAChCi4H,QAAS,CAAA,EACT6gB,IAAKiI,EAAS/gJ,OAAS+gJ,EAASn3I,IAAI,SAAUwP,GAC5C,OAAOA,CACT,CAAC,EAAI/P,KAAAA,CACP,CAAC,EACD,IACE,MAAO,CACL6wB,OAAQ,CAAA,EACRxzB,KAAM,MACN09C,MAAO,CACLt9C,YAAaA,EACbJ,KAAM,cACNqvB,SAAU,CACRruB,KAAMquB,GAAYgrH,EAAkB,EAAlBA,EAAS/gJ,SAAa,IAAM8T,EAAO9T,QAAU8T,CAAAA,EAAO,GAAGilI,WAAW,IACpFlhB,EACAjjH,OAAQ,CACN4jH,SAAUziG,CACZ,CACF,CACF,EACA7hB,OAAQ,CAAC6hB,GAA8B,EAAlBgrH,EAAS/gJ,UAAe,MAAO,EAAIof,EAAW+L,WAAWvqB,KAAKsU,oCAAoCpB,EAAQ,CAC7HqkH,YAAaA,EACbhjH,cAAeA,EACfw3H,sBAAuBA,EACvB7lI,YAAaA,CACf,CAAC,CAAC,IAAM,IAAIykF,QAAQ,SAAU3rE,GACxBuhI,EAAavhI,EAAM1L,KAEvB,OAD0B7K,KAAAA,IAAf83I,EAA2B,GAAKA,CAE7C,CAAC,CAEH,CAIF,CAHE,MAAO9zI,GAEP,MAAMA,CACR,CACF,CAAC,EAED,WACE,OAAO+K,EAAMlW,MAAMtB,KAAMmB,SAAS,CACpC,GAeFq/I,cACMp2H,EAAQpe,EAAkB,YAC5B,IAAI+S,EAA2B,EAAnB5d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E0kC,EAAO9mB,EAAM8mB,KACb46G,EAAsB1hI,EAAMxK,cAC5BA,EAAwC9L,KAAAA,IAAxBg4I,EAAoC50I,EAAcvH,QAAQwc,QAAQjY,MAAM0L,eAAiB,EAAIksI,EAC7GC,EAAqB3hI,EAAM04G,aAC3BA,EAAsChvH,KAAAA,IAAvBi4I,EAAmC,GAAKA,EACvDC,EAAoB5hI,EAAMw4G,YAC1BA,EAAoC9uH,KAAAA,IAAtBk4I,GAA0CA,EACxDC,EAAkB7hI,EAAMo7D,UACxBA,EAAgC1xE,KAAAA,IAApBm4I,EAAgC,CAAEtpB,UAAW,CAAEhf,IAAK,KAAM,CAAE,EAAIsoC,EAC5EC,EAAwB9hI,EAAM24G,gBAC9BA,EAA4CjvH,KAAAA,IAA1Bo4I,EAAsC,KAAOA,EAC/DC,EAAoB/hI,EAAMk4G,YAC1BA,EAAoCxuH,KAAAA,IAAtBq4I,GAAyCA,EACvDC,EAAwBhiI,EAAMm4G,mBAC9BA,EAA+CzuH,KAAAA,IAA1Bs4I,EAAsC,CAAE5pB,gBAAiB,CAAA,EAAMC,WAAY,CAAA,EAAMC,QAAS,CAAA,CAAK,EAAI0pB,EAExH5rH,EAAWxlB,EAAMrL,QAAQyL,WAAW,SAAS,EAAElH,MAAMssB,SAASC,OAAOY,KAAK,SAAUT,GACtF,OAAOA,EAAEzF,QACX,CAAC,EACGA,EAAWqF,GAAa,WAAa,OAAOuiG,GAAkBA,EAElE,IACE,MAAO,CACLp+F,OAAQ,CAAA,EACRxzB,KAAM,MACN09C,MAAO,CACL3d,KAAMA,EACN//B,KAAM,OACN2xH,aAAcA,EACdtiG,SAAU,CACRruB,IAAKmwH,EACLjjH,OAAQ,CACN4jH,SAAU9nG,CACZ,CACF,CACF,EACAxc,MAAO,CAAC6hB,IAAY,MAAOn1B,KAAKghJ,kCAEhC,EAAI1tE,EAAsBc,sBAAsB8iD,EAAoB/8C,CAAS,EAE7E,CACE1Z,SAAUjvD,GAAGkvD,KAAK8yD,QAAQytB,WAAWp7G,CAAI,EACzCtxB,cAAeA,EACfkjH,aAAcA,EACdF,YAAaA,EACbx8D,WAAYprD,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAE00D,QAAQ,EAAE5N,cAAc,CAC/E,CAAC,IAAM,IAAIqzB,QAAQ,SAAUv2D,GACvB8sH,EAAa9sH,EAAM9gB,KAEvB,OAD0B7K,KAAAA,IAAfy4I,EAA2B,GAAKA,CAE7C,CAAC,CACH,CAIF,CAHE,MAAOz0I,GAEP,MAAMA,CACR,CACF,CAAC,EAED,WACE,OAAO2d,EAAM9oB,MAAMtB,KAAMmB,SAAS,CACpC,GASFggJ,iBACMhtH,EAAQnoB,EAAkB,YAC5B,IAAIkoB,EAA4B,EAAnB/yB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E0S,EAAUqgB,EAAOrgB,QACjButI,EAAuBltH,EAAO3f,cAC9BA,EAAyC9L,KAAAA,IAAzB24I,EAAqCv1I,EAAcvH,QAAQwc,QAAQjY,MAAM0L,eAAiB,EAAI6sI,EAC9GC,EAAsBntH,EAAOujG,aAC7BA,EAAuChvH,KAAAA,IAAxB44I,EAAoC,GAAKA,EACxDC,EAAqBptH,EAAOqjG,YAC5BA,EAAqC9uH,KAAAA,IAAvB64I,GAA2CA,EACzDC,EAAmBrtH,EAAOimD,UAC1BA,EAAiC1xE,KAAAA,IAArB84I,EAAiC,CAAEjqB,UAAW,CAAEhf,IAAK,KAAM,CAAE,EAAIipC,EAC7EC,EAAmBttH,EAAO0D,UAC1BA,EAAiCnvB,KAAAA,IAArB+4I,EAAiC,GAAKA,EAClDC,EAAwBvtH,EAAOwjG,gBAC/BA,EAA4CjvH,KAAAA,IAA1Bg5I,EAAsC,KAAOA,EAC/DC,EAAkBxtH,EAAOiB,SACzBA,EAA+B1sB,KAAAA,IAApBi5I,EAAgC,CAC7C56I,IAAK,CAAA,EACLkN,OAAQ,CACN4jH,SAAU,CAAA,CACZ,CACF,EAAI8pB,EACAC,EAAcztH,EAAOpuB,KACrBA,EAAuB2C,KAAAA,IAAhBk5I,EAA4B,UAAYA,EAE/ClhF,EAAW5sD,EAAQyzB,YAAY,EAEnC,IACE,MAAO,CACLhO,OAAQ,CAAA,EACRxzB,KAAM,MACN2G,MAAO,CAACg0D,EACRjd,MAAO,CACL/a,IAAK94B,EAAMrL,QAAQyL,WAAW,SAAS,EAAElH,MAAMssB,SAASC,OAAOY,KAAK,SAAUT,GAC5E,OAAOA,EAAEzF,QACX,CAAC,EAAIjc,EAAQ0S,MAAM,EAAI1S,EAAQmG,IAAIoE,EAAc8/D,OAAO,EACxDzd,SAAUA,EACV7oC,UAAWA,EACX9xB,KAAMA,EACN2xH,aAAcA,EACdtiG,SAAUA,CACZ,EACApS,YAAa,CAAC09C,GAAY,CACxB36D,KAAM,UACNgV,QAAS8c,EAAY,MAAQr5B,EAAE,4CAA4C,EAC3EqjJ,YAAa,CAAA,EACb9wH,UAAW,CAAA,CACb,EACAxd,OAAO,MAAOtT,KAAKghJ,kCAEnB,EAAI1tE,EAAsBc,sBAAsBv+B,EAAS,GAAI,WAAc,OAAO6hF,EAAkB,CAAEE,SAAU,CAACF,CAAgB,EAAI,CAAEP,gBAAiB,CAAA,CAAK,EAAG,CAC9JC,WAAY,CAAA,EACZC,QAAS,CAAA,CACX,CAAC,EAAGl9C,CAAS,EAEb,CACE1Z,SAAUA,EACV82D,YAAaA,EACbhjH,cAAeA,EACfkjH,aAAcA,EACd18D,WAAYlvD,EAAcvH,QAAQwc,QAAQw2C,cAAc,CAC1D,CAAC,IAAM,IAAIqzB,QAAQ,SAAUx1C,GACvB0sG,EAAc1sG,EAAO7hC,KAEzB,OAD2B7K,KAAAA,IAAhBo5I,EAA4B,GAAKA,CAE9C,CAAC,CACH,CAIF,CAHE,MAAOp1I,GAEP,MAAMA,CACR,CACF,CAAC,EAED,WACE,OAAO0nB,EAAM7yB,MAAMtB,KAAMmB,SAAS,CACpC,GAmBF2gJ,mBACM1sG,EAASppC,EAAkB,YAC7B,IAAIjD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAChFiT,MAAOA,MACPJ,OAAQA,OACRshF,IAAK,CAAA,EACLL,SAAUA,SACV1gF,cAAeA,cACf+rC,UAAW,EACX8O,SAAUA,QACZ,EACA,OAAOpjD,EAAkB,YACvB,IAAIoI,EAAQrL,EAAQqL,MAChB6jB,GAxUZ,CAAkC7zB,EAAKs2B,KAAQ,IAA0Bj8B,EAAtBgJ,EAAS,GAAI,IAAShJ,KAAK2F,EAA8B,GAAnBs2B,EAAK4X,QAAQ7zC,CAAC,GAAuBsJ,OAAO1G,UAAU4I,eAAe9K,KAAKiF,EAAK3F,CAAC,IAAagJ,EAAOhJ,GAAK2F,EAAI3F,IAAM,OAAOgJ,CAAQ,GAwU7KsB,EAAS,CAAC,QAAQ,EAIxD,OAFAkvB,EAAOjkB,OAAS,GAAG1T,OAAO23B,EAAOjkB,MAAM,EAEhC,CACLV,MAAM,MAAOnH,QAAQke,WAAW,GAAG/pB,OAAO8T,CAAK,EAAEpL,IAAI,SAAUusB,EAAG92B,GAChE,OAAO82B,EAAEwsH,eAAelsG,EAAS,GAAI5d,EAAQ,CAAEjkB,OAAQikB,EAAOjkB,OAAOvV,EAAG,CAAC,CAAC,CAC5E,CAAC,CAAC,GAAGuV,OAAO,SAAUsW,GACpB,MAAO,cAAgBA,EAAE+kC,MAC3B,CAAC,EAAErmD,IAAI,WACL,IACIjD,GAD4B,EAAnB5E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC9D4E,MAEnB,OAAIgD,EAAQusF,IACH,CAAEhiF,KAAMvN,CAAM,EAEnB7E,MAAMkF,QAAQL,EAAMuN,IAAI,GAAyB,EAApBvN,EAAMuN,KAAKlU,OACnC2G,EAAMuN,KAAK,GADpB,KAAA,CAGF,CAAC,EACDkwC,MAAO,CACL19C,KAAM,SACNgR,OAAQ/N,EAAQiL,MAClB,EACAlO,KAAM,KACR,CACF,CAAC,EAAE,CACL,CAAC,EAED,WACE,OAAOsvC,EAAO9zC,MAAMtB,KAAMmB,SAAS,CACrC,GAaF6gJ,eACMtyF,EAAS1jD,EAAkB,YAC7B,IAAIogD,EAA4B,EAAnBjrD,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EiT,EAAQg4C,EAAOh4C,MACf6tI,EAAmB71F,EAAO9L,UAC1BA,EAAiC73C,KAAAA,IAArBw5I,EAAiC,EAAIA,EACjDC,EAAc91F,EAAOo9B,KACrBA,EAAuB/gF,KAAAA,IAAhBy5I,EAA4B,GAAKA,EAExCxtI,EAAW,GACf,IAEEA,GAAYN,IAAS,MAAOA,EAAM+tI,iBAAiB,CAAE34D,KAAMA,EAAMlpC,UAAWA,CAAU,CAAC,IAAM,IAAIt3C,IAAI,SAAUtK,GAC7G,IAAI6Z,EAAa9P,KAAAA,IAAc/J,EAAE6Z,WAAa7Z,EAAE6Z,WAAa,GAEzD6pI,GADJ7pI,EAAW6F,EAAc8/D,SAAWx/E,EAAE8Z,GACzB,IAAIhH,GAAGgvD,QAAQ9hE,EAAE+hE,UAAY,IAAIjvD,GAAGkvD,KAAKhiE,EAAE+hE,SAAS36D,MAAMpH,EAAE+hE,SAASv6D,WAAW,CAAC,GAG9F,OAFAk8I,EAAO/kB,cAAc9kH,CAAU,EAC/B6pI,EAAOxhF,MAAMliE,EAAE8Z,EAAE,EACV4pI,CACT,CAAC,CAGH,CAFE,MAAO/jJ,IAGT,MAAO,CACLiV,KAAM,CAAC,CACLc,MAAOA,EACPM,SAAUA,CACZ,GACA8uC,MAAO,CAAE19C,KAAM,QAAS,CAC1B,CACF,CAAC,EAED,WACE,OAAO4pD,EAAOpuD,MAAMtB,KAAMmB,SAAS,CACrC,GAaFkhJ,qBACM1lF,EAAS3wD,EAAkB,YAC7B,IAAIpB,EAAQ5K,KAERosF,EAA4B,EAAnBjrF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EmhJ,EAAgBl2D,EAAOl5E,OACvBA,EAA2BzK,KAAAA,IAAlB65I,EAA8B,GAAKA,EAC5CC,EAAcn2D,EAAO5C,KACrBA,EAAuB/gF,KAAAA,IAAhB85I,EAA4B,GAAKA,EACxCC,EAAmBp2D,EAAO9rC,UAC1BA,EAAiC73C,KAAAA,IAArB+5I,EAAiC,EAAIA,EAEjDlvI,EAAO,GACX,IACEA,GAAO,MAAOnH,QAAQqrB,IAAItkB,EAAOlK,IAAI,SAAUoL,EAAO3V,GACpD,OAAOmM,EAAM,eAAe,CAAEwJ,MAAOA,EAAOo1E,KAAMA,EAAK/qF,GAAI6hD,UAAWA,CAAU,CAAC,CACnF,CAAC,CAAC,GAAGt3C,IAAI,SAAUwL,GACjB,OAAOA,EAASlB,IAClB,CAAC,CAGH,CAFE,MAAOjV,IAGT,MAAO,CACLiV,KAAMA,EACNkwC,MAAO,CAAE19C,KAAM,QAAS,CAC1B,CACF,CAAC,EAED,WACE,OAAO62D,EAAOr7D,MAAMtB,KAAMmB,SAAS,CACrC,GAoBFshJ,yBACM/C,EAAS1zI,EAAkB,YAC7B,IAAIisB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEjF,IACE,IAAIqT,EAAWzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CACjCha,IAAK,GAAKja,EAAcvH,QAAQwc,QAAQ4wD,OAAO,aAAa,EAAIz5C,EAAOjlB,SAAW,IAClF+sB,YAAa,mBACbzsB,KAAMwT,KAAKuB,UAAU4P,CAAM,CAC7B,CAAC,EAED,OAAOzjB,EAAS8kB,OAAS9kB,EAAS4gB,OAAO9hB,KAAKoB,UAAY,GAAK,IAIjE,CAHE,MAAOrW,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CACF,CAAC,EAED,WACE,OAAOqhJ,EAAOp+I,MAAMtB,KAAMmB,SAAS,CACrC,GAoBFuhJ,6BAA8B,WAC5B,IAAIzqH,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEjF,OAAOmzB,EAAK+E,IAAIyG,KAAK,CACnBha,IAAK,wBAA0Bja,EAAcvH,QAAQwc,QAAQyF,MAAM,EAAI,IACvEwZ,YAAa,mBACbzsB,KAAMwT,KAAKuB,UAAU4P,CAAM,CAC7B,CAAC,CACH,EAMA0qH,aACM76D,EAAS97E,EAAkB,YAC7B,IAAI42I,EAA4B,EAAnBzhJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E2kB,EAAM88H,EAAO98H,IACb+8H,EAAgBD,EAAO5rH,OACvBA,EAA2BvuB,KAAAA,IAAlBo6I,EAA8B,MAAQA,EAC/CC,EAAgBF,EAAO3qH,OACvBA,EAA2BxvB,KAAAA,IAAlBq6I,EAA8B,GAAKA,EAC5CC,EAAiBH,EAAOjqH,QACxBA,EAA6BlwB,KAAAA,IAAnBs6I,EAA+B,GAAKA,EAEnC,QAAX/rH,IACFlR,EAAM,IAAIC,IAAID,CAAG,EACjB/d,OAAO2yB,KAAKzC,CAAM,EAAEhkB,QAAQ,SAAUhV,GACpC,OAAO6mB,EAAIE,aAAaC,IAAIhnB,EAAGg5B,EAAOh5B,EAAE,CAC1C,CAAC,EACD6mB,EAAMA,EAAIxf,SAAS,GAErB,IACE,MAAO,CACLkO,SAAUzG,MAAMumB,EAAK+E,IAAIyG,KAAK,CAC5BxsB,KAAMwT,KAAKuB,UAAU,CAAEvC,IAAKA,EAAKmS,OAAQA,EAAQU,QAASA,EAAS3B,OAAQA,CAAO,CAAC,EACnF+I,YAAa,mBACbja,IAAK,GAAKjb,OAAOC,WAAW4tG,QAC9B,CAAC,EACDplG,KAAMwT,KAAKuB,UAAU,CAAEvC,IAAKA,EAAKmS,OAAQA,EAAQU,QAASA,EAAS3B,OAAQA,CAAO,CAAC,CACrF,CAGF,CAFE,MAAO34B,IAGX,CAAC,EAED,WACE,OAAOypF,EAAOxmF,MAAMtB,KAAMmB,SAAS,CACrC,GASF6hJ,aAAc,aAUdC,uBACMrU,EAAS5iI,EAAkB,YAC7B,IACI8Z,GAD4B,EAAnB3kB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAChE2kB,IAEjB,IACE,OAAO/X,MAAMumB,EAAK+E,IAAIyG,KAAK,CACzBha,IAAK,GAAKjb,OAAOC,WAAW8tG,gBAC5B74E,YAAa,mBACbzsB,KAAMwT,KAAKuB,UAAU,CAAEvC,IAAKA,EAAKxY,QAAS,KAAM,CAAC,CACnD,CAAC,CAGH,CAFE,MAAOjP,IAGX,CAAC,EAED,WACE,OAAOuwI,EAAOttI,MAAMtB,KAAMmB,SAAS,CACrC,GAqBFmT,oCAAqC,SAA6CpB,GAChF,IAiBI0H,EACA+vH,EACAt+D,EAnBAqiE,EAA4B,EAAnBvtI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E+E,EAAcwoI,EAAOxoI,YACrBg9I,EAAuBxU,EAAOn6H,cAC9BA,EAAyC9L,KAAAA,IAAzBy6I,EAAqC,GAAKA,EAC1DC,EAAwBzU,EAAO3C,sBAC/BA,EAAkDtjI,KAAAA,IAA1B06I,EAAsC/kI,EAAci+E,sBAAwB8mD,EACpGC,EAAqB1U,EAAOnX,YAC5BA,EAAqC9uH,KAAAA,IAAvB26I,GAA2CA,EACzDC,EAAmB3U,EAAOnB,UAC1BA,EAAiC9kI,KAAAA,IAArB46I,GAAwCA,EAGxD,OAAI,IAAMnwI,EAAO9T,QACR,EAAIof,EAAW+8E,YAAYpvF,QAAQC,QAAQ8G,CAAM,CAAC,GAGvDlK,EAAM2G,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAC7CoK,EAAO5R,EAAIu8D,QAAQ,EACnBolE,EAAgB3hI,EAAIk8D,QAAQ,EAAE5N,cAAc,EAC5C+U,EAAarjE,EAAIk8D,QAAQ,EAAEoH,cAAc,GAEtC,EAAI9tD,EAAW+8E,YAAYvvF,EAAkB,YAClD,OAAO+B,MAAM4xI,EAAoB53I,OAAOa,OAAO2uH,GAAc,EAAIkoB,EAAS6D,SAASpwI,EAAQ,SAAUqiB,GACnG,OAAOA,EAAE8uG,cAAc,EAAI,IAAM9uG,EAAEguH,WAAW,EAAI,IAAMhuH,EAAEiuH,gBAAgB,CAC5E,CAAC,EAAItwI,CAAM,EAAElK,IAAI,SAAUkK,GACzB,OAAO,EAAIsL,EAAW+L,WAAW,GAAGjqB,OAAO4S,CAAM,EAAE,GAAGswC,MAAM+zE,EAAc,CAAEhjH,cAAeA,EAAerO,YAAaA,EAAa6lI,sBAAuBA,EAAuBpB,cAAeA,EAAe/vH,KAAMA,EAAMyxD,WAAYA,EAAYkhE,UAAWA,EAAWr6H,OAAQA,CAAO,EAAI,CAAEqB,cAAeA,EAAerO,YAAaA,EAAa6lI,sBAAuBA,EAAuBpB,cAAeA,EAAe/vH,KAAMA,EAAMyxD,WAAYA,CAAW,CAAC,CAAC,CAC1c,CAAC,CAAC,CACJ,CAAC,CAAC,EACJ,EAgBA20E,kCACMvS,EAASziI,EAAkB,UAAWkH,GACxC,IAeIqlD,EAfAi2E,EAA4B,EAAnBrtI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7Es/D,EAAW+tE,EAAO/tE,SAClB1F,EAAayzE,EAAOzzE,WACpB0oF,EAAsBjV,EAAO/W,aAC7BA,EAAuChvH,KAAAA,IAAxBg7I,EAAoC,GAAKA,EACxDC,EAAqBlV,EAAOjX,YAC5BA,EAAqC9uH,KAAAA,IAAvBi7I,GAA2CA,EACzDC,EAAuBnV,EAAOj6H,cAC9BA,EAAyC9L,KAAAA,IAAzBk7I,EAAqC,GAAKA,EAG9D,OAAI,IAAMzwI,EAAO9T,OACR,IAGLm5D,EAASwC,EAAWxD,QAAQ,EAEzBxpD,MAAM4xI,EAAoB53I,OAAOa,OAAO2uH,GAAc,EAAIkoB,EAAS6D,SAASpwI,EAAQ,SAAUqiB,GACnG,OAAOA,EAAEiuH,gBAAgB,EAAI,IAAMjuH,EAAE+hC,cAAc,EAAEC,QAAQ,CAC/D,CAAC,EAAIrkD,CAAM,EAAElK,IAAI,SAAUkK,GACzB,IAAIkB,EAAQ,GAAG9T,OAAO4S,CAAM,EAAE,GAC1Bi0B,EAAM/yB,EAAMkjD,cAAc,EAAEC,QAAQ,EACpCvjD,EAAS,CACXilB,OAAQw+F,EACR3xH,KAAM,WAENC,MAAOwyD,IAAWpxB,EAAMs5B,EAAWA,EAASp5B,MAAM,EAAE31B,UAAU6mD,EAAQpxB,CAAG,CAC3E,EACA,OAAO,EAAI3oB,EAAW+L,WAAWnW,EAAMovC,MAAM+zE,EAAc,CAAEvjH,OAAQA,EAAQO,cAAeA,EAAerB,OAAQA,CAAO,EAAI,CAAEc,OAAQA,EAAQO,cAAeA,EAAekjH,aAAcA,CAAa,CAAC,CAAC,CAC7M,CAAC,CAAC,EACJ,CAAC,EAED,SAA0CmsB,GACxC,OAAOnV,EAAOntI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,CAEA,EAAE,CAACsyB,gBAAgB,IAAIlY,WAAW,IAAIzJ,eAAe,IAAIrD,oBAAoB,IAAIkwB,YAAY,IAAIk7C,6BAA6B,IAAIgqE,gBAAgB,IAAIjwH,kBAAkB,GAAG,GAAGkwH,IAAI,CAAC,SAASllJ,EAAQU,EAAOJ,GAC3M6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI8vC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PnC,EAA4B,YAAlB,OAAOC,QAAoD,UAA3B,OAAOA,OAAOC,SAAwB,SAAUpB,GAAO,OAAO,OAAOA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,YAAlB,OAAOmB,QAAyBnB,EAAIqB,cAAgBF,QAAUnB,IAAQmB,OAAOlE,UAAY,SAAW,OAAO+C,CAAK,EAEvQgD,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAItVZ,EAAOiF,EAAkB,YAC6C,IAClEiL,EADNlJ,MAAM5B,QAAQke,YAAYxe,EAAcvH,QAAQ8d,cAAgB,IAAIpZ,KAC9DiO,EAAQjL,EAAkB,UAAWse,GACnCA,EAAEnI,mBAAmB7D,EAAeha,SAAWgmB,EAAEnI,mBAAmB9D,EAAW/Z,QACjFyJ,MAAM,EAAIyQ,EAAW+L,WAAWD,EAAEnI,QAAQqI,QAAQ,CAAC,EAEnDhX,EAAE43F,IAAI7nD,aAAa,UAAU,EAAE94B,MAAM,EAAEjQ,MAAM,CAEjD,CAAC,EAEM,SAAUkQ,GACf,OAAOzT,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,EACC,CAAC,EACJ0K,EAAcvH,QAAQ8d,aAAauI,OAAO,EAAG9e,EAAcvH,QAAQ8d,aAAahjB,MAAM,CACxF,CAAC,EAhBH,IACM2H,EADFg9I,EAkBK,WACL,OAAOh9I,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAUEid,EAAgBxf,EAAQ,eAAe,EAIvCoxF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/C0f,EAAiBxa,EAFDlF,EAAQ,eAAe,CAEc,EAIrDyf,EAAava,EAFDlF,EAAQ,WAAW,CAEc,EAI7CiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInDolJ,EAAWlgJ,EAFDlF,EAAQ,iBAAiB,CAEM,EAEzC2f,EAAkB3f,EAAQ,sBAAsB,EAEhD8G,EAAa9G,EAAQ,iBAAiB,EAEtC4f,EAAa5f,EAAQ,iBAAiB,EAEtCm0C,EAAuBn0C,EAAQ,2BAA2B,EAE1DuoG,EAAiBvoG,EAAQ,qBAAqB,EAElD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAQ9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAGzc,IAAIk+I,EAAa,GAGbC,EAAW,CACbC,OAAQ,KACRjgI,QAAS,KACTvE,SAAU,IACZ,EAEA,SAASykI,IACP,IAAIv7I,EAAQgD,EAAcvH,QAAQqb,SAE9B0kI,EAAcx7I,EAAMw7I,YACpBC,EAAgB,QAAUz7I,EAAMw7I,YAAc,UAAY,MAC1DE,EAAe/wI,EAAE,eAAe,EAChC69G,EAASkzB,EAAanlJ,QAAUmlJ,EAAalzB,OAAO,EAAE7vF,KAEtDgjH,GADQD,EAAanlJ,QAAUmlJ,EAAa,GAAGlhH,sBAAsB,EAAEngB,OAChDmuG,EACvBozB,EAAgBjxI,EAAE,MAAM,EAAE,GAAG6vB,sBAAsB,EAAEngB,MAAQshI,EAC7DE,EAAiBlxI,EAAErQ,QAAQ,EAAEwhJ,YAAY,EAAInxI,EAAE,gBAAgB,EAAEmxI,YAAY,EAE7EC,EAAe,KAAA,EACfC,EAAgB,KAAA,EAChBC,EAAiB,KAAA,EACjBC,EAAkB,KAAA,EAElBC,EAAcn5I,EAAcvH,QAAQke,IAAIC,OAAO5W,EAAcvH,QAAQke,IAAIC,OAAOC,WAAWC,YAA4B,MAAhB9Z,EAAM+Z,MAAgB,QAAU,UAAY,QACnJqiI,EAAep5I,EAAcvH,QAAQke,IAAIC,OAAO5W,EAAcvH,QAAQke,IAAIC,OAAOC,WAAWC,WAAW,MAAQ9Z,EAAM+Z,MAAQ,QAAU,UACvIk8C,GAAiC,MAAxBj2D,EAAMga,eAA0BmiI,EAA6B,IAAfC,GAAsB,IAK/EJ,EAJE,MAAQh8I,EAAM+Z,OAGhBgiI,EAAeH,GAFfK,EAAiBj8I,EAAMq8I,iBAAmBn7H,KAAKlU,IAAI4uI,EAAgB3lF,EAAO1gD,EAAcmF,SAASC,OAAOrB,QAAQvM,GAAG,EAAI,GACvHmvI,EAAkBL,IAIlBI,EAAiBL,EACjBM,EAAkBl8I,EAAMq8I,iBAAmBn7H,KAAKlU,IAAI6uI,EAAiB5lF,EAAO1gD,EAAcmF,SAASC,OAAOrB,QAAQvM,GAAG,EAAI,EACzHgvI,EAAe/7I,EAAMq8I,kBAA8B,GAAVpmF,EAAc,EAAI2lF,EAC3CC,EAAiBK,GAEnCl8I,EAAMw7I,GAAalhI,MAAMD,MAAQ0hI,EACjC/7I,EAAMw7I,GAAalhI,MAAMC,OAASyhI,EAClCh8I,EAAMy7I,GAAenhI,MAAMD,MAAQ4hI,EACnCj8I,EAAMy7I,GAAenhI,MAAMC,OAAS2hI,CACtC,CAKA,SAASI,IACP,IAAIC,EAAY5xI,EAAE,UAAU,EACxB6xI,EAAe,EAEfC,EAAkB9xI,EAAE,uBAAuB,EAC3CwxI,EAAcn5I,EAAcvH,QAAQke,IAAIC,OAAO5W,EAAcvH,QAAQke,IAAIC,OAAOC,WAAWC,YAAqD,MAAzC9W,EAAcvH,QAAQqb,SAASiD,MAAgB,QAAU,UAAY,QAWhL,OAVIwiI,GAAav5I,EAAcvH,QAAQqb,SAASulI,kBAAoBF,EAC9DM,GAAmBA,EAAgBtlE,GAAG,UAAU,IAC9CulE,EAAcD,EAAgBzzB,WAAW,EAC7CuzB,EAAUniJ,IAAI,eAAgBsiJ,EAAc,CAAC,EAC7CF,EAAeE,EAAc,IAG3BC,EAAeF,EAAgBzzB,WAAW,EAC9CuzB,EAAUniJ,IAAI,eAAiE,MAAjD4I,EAAcvH,QAAQqb,SAASkD,cAAwB2iI,EAAe,EAAI,EAAE,GAErG,CACLH,aAAcA,EACdI,cAfkB,CAgBpB,CACF,CA4BAvmJ,EAAQoF,QAAU,KAAe21F,IAC/B9xF,IAqlCQikF,EAzGAhgC,EAxCAsD,EArUAx7B,EA1DAC,EApOAnV,EAxCWm4F,EA3BXl4F,EArYS7W,EAuGPgjG,EAvG+B,GAA0B,YAAtB,OAAO9iG,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAyG1M,SAAS8iG,EAAI5iG,GACX4nF,IAEIxlF,EAII4M,EApHsC,GA8G9BxX,gBAAMorG,EA4ItB,OA1IIxgG,GA9GR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GA8GpMrJ,MAAOorG,EAAIjiG,WAAapB,OAAOqB,eAAegiG,CAAG,GAAGjsG,KAAKa,KAAMwI,CAAI,CAAC,GAErGyrF,QAAU,CACd1pB,YACM/yD,EAAQxL,EAAkB,YAC5B,IAiEQwM,EAjEJzP,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAmB9E8jJ,GAjBJjlJ,KAAKmC,KAAK,cAAe,CAAA,CAAI,EAGzBnC,KAAK0lJ,mBACP1lJ,KAAK8oB,iBAAiB,EAGxB/f,EAAQoZ,QAAUpZ,EAAQoZ,SAAW,KACrCpZ,EAAQxH,MAAQwH,EAAQxH,OAAS,GACjCwH,EAAQ3H,MAAO,CAAA,IAAS2H,EAAQ3H,MAAQ,CAAA,IAAU2H,EAAQ3H,OAAO2H,EAAQ3H,KACzE2H,EAAQiwC,KAAO1sB,SAAS+qF,IAAM,IAAMtuG,EAAQiwC,KAC5CjwC,EAAQ6Z,MAAQ7Z,EAAQ6Z,OAAS,IACjC7Z,EAAQ48I,aAAc,CAAA,IAAS58I,EAAQ48I,aAAe,CAAA,IAAU58I,EAAQ48I,cAAc58I,EAAQ48I,YAC9F58I,EAAQia,UAAY,CAAA,IAASja,EAAQia,WAAa,CAAA,IAAUja,EAAQia,WAAYja,EAAQia,UAIrEnX,EAAcvH,QAAQke,IAAIC,OAAO5W,EAAcvH,QAAQke,IAAIC,OAAOC,WAAWC,WAAW,MAAQ9W,EAAcvH,QAAQqb,SAASiD,MAAQ,QAAU,WAKhKuf,GAJJ35B,EAAKwwC,KAAqBvwC,KAAAA,IAAdD,EAAKwwC,KAAqBxwC,EAAKwwC,KAAOisG,EAGlDz8I,EAAKpH,KAAOoH,EAAKpH,MAAQ,CAAA,EACC,MAAdoH,EAAKwwC,KAAe,oBAAsB,gBAiBlD4sG,GAdJ79I,OAAO+tC,OAAOjqC,EAAcvH,QAAQqb,SAASwC,QAAS,CACpD5gB,MAAOiH,EAAKjH,MACZqhB,MAAOna,KAAAA,IAAcD,EAAKoa,MAAQpa,EAAKoa,MAAQ,KAC/CiO,SAAUpoB,KAAAA,IAAcD,EAAKqoB,UAAWroB,EAAKqoB,SAC7C80H,YAAal9I,KAAAA,IAAcD,EAAKm9I,aAAcn9I,EAAKm9I,YACnDvjI,aAAcpiB,KAAKujD,aAAa,UAAU,EAAEnhC,aAC5CuM,MAAOlmB,KAAAA,IAAcD,EAAKmmB,MAAQnmB,EAAKmmB,MAAQ,GAC/Ck3H,YAAap9I,KAAAA,IAAcD,EAAKq9I,YAAcr9I,EAAKq9I,YAAc,GACjE7hI,WAAYvb,KAAAA,IAAcD,EAAKwb,YAAaxb,EAAKwb,UACnD,CAAC,EAGDhkB,KAAK8lJ,UAAU,UAAWt9I,CAAI,EAEfxI,KAAKujD,aAAa,UAAU,GAOvCphC,GAJC3Z,EAAKpH,OACR2M,MAAMg2I,EAAe,GAGTv7I,EAAK2Z,SACfs/D,EAAW15E,OAAO+tC,OAAOttC,EAAM,CAAEiiB,OAAQm7H,EAASpmE,kBAAkB/3D,IAAK7B,OAAQ,CAAA,CAAK,CAAC,EAC3FggI,EAASn7H,OAASg3D,EAASh3D,OAKvBtI,aAAmB4jI,QAAU,UAAa,OAAO5jI,GAC/C8f,EAAK,UAAa,OAAO9f,EAAU3O,EAAE2O,CAAO,EAAE/iB,OAASoU,EAAE,SAAW2O,EAAU,SAAS,EAAI3O,EAAE2O,CAAO,EAAIA,EAC5G3O,EAAEoyI,EAASn7H,MAAM,EAAE7E,OAAOqc,CAAE,EAC5Bp2B,EAAcvH,QAAQ8d,aAAahhB,KAAK,CAAE+gB,QAAS8f,EAAIl5B,QAAS04E,CAAS,CAAC,IAKnEt/D,EAAQqkE,OAAS,YAAe,OAAOrkE,EAAQqkE,OAKhD,CAAC,KAHDhuE,EAAK3M,EAAcvH,QAAQ8d,aAAa+5C,UAAU,SAAU7xC,GAC9D,OAAOA,EAAEnI,QAAQoE,OAASpE,EAAQoE,MAAM,IAAM+D,EAAEnI,QAAQoE,MAAM,CAChE,CAAC,KAECxY,MAAM,EAAIyQ,EAAW+L,WAAW1e,EAAcvH,QAAQ8d,aAAa5J,GAAI2J,QAAQqI,QAAQ,CAAC,EACxF3e,EAAcvH,QAAQ8d,aAAauI,OAAOnS,EAAI,CAAC,GAGjDzK,MAAM,EAAIyQ,EAAW+L,WAAWpI,EAAQqkE,MAAMo/D,EAASn7H,OAAQg3D,EAAS77D,QAAU,CAAA,CAAK,CAAC,EACxFpS,EAAEoyI,EAASn7H,MAAM,EAAE+wE,SAAS,GAM1BoqD,EAASn7H,OAAO/mB,YAAYye,CAAO,EACnCtW,EAAcvH,QAAQ8d,aAAahhB,KAAK,CAAE+gB,QAASA,EAASpZ,QAAS04E,CAAS,CAAC,GAGrFvgF,MAAMimB,KAAKy+H,EAASpmE,kBAAkB/3D,IAAIiZ,QAAQ,EACjDzsB,QAAQ,SAAUguB,EAAIxjC,EAAGK,GACxB,OAAOmjC,EAAGtT,MAAMhB,QAAUlvB,IAAMK,EAAEM,OAAS,EAAI,QAAU,MAC3D,CAAC,EAEDwmJ,EAASl/D,QAAQ,CAAA,CAAI,EAErB1mF,KAAKgmJ,kBAAkB7jH,CAAK,CAC9B,CAAC,EAED,WACE,OAAO3qB,EAAMlW,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,EAEAyJ,EAAMq7I,QAAU,CAAA,EAIhBr7I,EAAMs7I,aAAe,CAAA,EAErBt7I,EAAM86I,kBAAoB,CAAA,EAE1B96I,EAAMw1B,OAAS+lH,QAEfv7I,EAAMy6B,OAAS,CACb4oD,QAAS,SAAiBnzE,GAExBlQ,EAAMo1B,gBAAgB,CAAEl6B,KAAM,UAAWgV,QAASA,EAASgW,UADxB,EAAnB3vB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EACC,CAAC,CACnF,EACAsL,MAAO,SAAeqO,GAEpBlQ,EAAMo1B,gBAAgB,CAAEl6B,KAAM,QAASgV,QAASA,EAASgW,UADtB,EAAnB3vB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EACD,CAAC,CACjF,EACAqL,KAAM,SAAcsO,GAElBlQ,EAAMo1B,gBAAgB,CAAEl6B,KAAM,OAAQgV,QAASA,EAASgW,UADrB,EAAnB3vB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EACF,CAAC,CAChF,EACAuvD,QAAS,SAAiB51C,GACxBlQ,EAAMo1B,gBAAgB,CAAEl6B,KAAM,UAAWgV,QAASA,EAASgW,UAAW,CAAA,CAAK,CAAC,CAC9E,CACF,EAGAlmB,EAAMw7I,mBAAqB,MAEpBx7I,EA1PiF,MAAM,IAAIrC,UAAU,mCAAmC,CA2PjJ,CA0KI,SAAS+jB,IACP,OAAO6qF,EAAU71G,MAAMtB,KAAMmB,SAAS,CACxC,CA04BJ,OA7yC+MiH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAyP/dlB,EAAagkG,EAAK,CAAC,CACjBnjG,IAAK,eACLlC,MAAO,SAAsBslB,EAAW45B,GACtC,IAAIl8C,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9EklJ,EAAW,CAAA,EAgBf,OAfIphG,GAA4D,CAAC,EAA9Cl9C,OAAO2yB,KAAKwpH,CAAQ,EAAE5xG,QAAQ2S,CAAW,IAEtD,YAAcA,GACX34B,SAAS+qF,KAAO,CAAA,IAAUhsF,EAAUyG,SACvCjmB,EAAcvH,QAAQ4f,QAAQjX,WAAW7L,KAAKiqB,CAAS,EACvD,IAAKlhB,IAAIC,OAAOxL,EAAQ,4BAA4B,CAAE,GAAE,CAAEysB,UAAWA,EAAW7iB,KAAMO,CAAQ,CAAC,EAAEye,OAAO,GAE1G6+H,EAAW,CAAA,GACFnC,EAASj/F,KAClBohG,EAAWnC,EAASj/F,GAAaqrC,cAAc,CAACjlE,GAAYtiB,CAAO,IAGnEs9I,GACFrmJ,KAAK0wF,aAAarlE,CAAS,EAEtB,CAAA,CACT,CAMF,EAAG,CACDpjB,IAAK,iBACLlC,MAAO,WAGL/F,KAAKkmJ,aAFyB,EAAnB/kJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EAG5E,CACF,EAAG,CACD8G,IAAK,eACLlC,MAAO,SAAsBslB,GAC3B,IAAI7S,EAAK6S,EAAU9E,MAAM,EACrB9d,KAAAA,IAAcw7I,EAAWzrI,KAC3ByrI,EAAWzrI,GAAM6S,EAErB,CACF,EAAG,CACDpjB,IAAK,eACLlC,MAAO,SAAsByS,GAC3B,OAAOyrI,EAAWzrI,EACpB,CACF,EAAG,CACDvQ,IAAK,gBACLlC,MAAO,WACL,OAAOk+I,CACT,CACF,EAAG,CACDh8I,IAAK,QACLlC,MAAO,WACL,IAAI6D,EAAS5J,KAETsmJ,EAAU,CAAA,EACVC,EAAc,CAAA,EAClB,SAASC,IACPD,EAAc,CAAA,EACdE,EAAW,CACb,CAIA,IAAIA,EAAa,SAASA,IACpB,CAAA,IAASF,GAEXD,EAAU,EADVC,EAAc,CAAA,GAEd38I,EAAOqgB,QAAQ,QAAQ,EACvB6tD,sBAAsB2uE,CAAU,GAEhCH,EAAU,CAAA,CAEd,EAGAz6I,EAAcvH,QAAQqb,SAAS6J,aAAexpB,KAAKulE,QAAQ,CAAEhgD,QAAS,UAAW44D,KAAM,OAAQ,CAAC,EAEhGn+E,KAAKiqB,QAAQ,EAGbzW,EAAE3I,MAAM,EAAE2Y,OAAO,WAEX,CAAA,IAAU8iI,GACZE,EAAc,CAElB,CAAC,EAGDhzI,EAAE,eAAe,EAAE3R,GAAG,gBAAiB,SAAUsgC,GAE3CA,EAAM16B,SAAWzH,OACnBwT,EAAExT,IAAI,EAAE20C,QAAQ,WAAW,EAC3B6xG,EAAc,EAElB,CAAC,EAEDxmJ,KAAKmC,KAAK,OAAO,EACjBnC,KAAKimJ,QAAU,CAAA,CACjB,CACF,EAAG,CACDh+I,IAAK,UACLlC,MAAO,WACL,IAAIwR,EAASvX,KAEb,OAAO,IAAImM,QAAQ,SAAUC,GAC3B,OAAOmL,EAAO0uI,QAAU75I,EAAQ,EAAImL,EAAOxV,KAAK,QAASqK,CAAO,CAClE,CAAC,CACH,CACF,EAAG,CACDnE,IAAK,aAQLlC,MAAO,SAAoB2gJ,GACrBr7H,EAAYrrB,KAAKujD,aAAamjG,CAAW,EAC7C,OAAOr7H,GAAaA,EAAUtb,WAAW,CAC3C,CAaF,EAAG,CACD9H,IAAK,kBACLlC,OACMkZ,EAAQjT,EAAkB,UAAW26I,GACvC,IAAI59I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAElFnB,KAAKowE,kBAAkB,CAAA,CAAI,EAE3B,IACEriE,MAAM44I,EAAY59I,CAAO,CAG3B,CAFE,MAAO1K,GACP2B,KAAKggC,gBAAgB,CAAEl6B,KAAM,QAASgV,QAASzc,GAAK,eAAgB0yB,YAAa,CAAC,CAAC1yB,CAAE,CAAC,CACxF,CACAwN,EAAcvH,QAAQ6gC,SAAW,CAAA,EACjCt5B,EAAcvH,QAAQ6gC,SAAW,CAAA,EAEjCnlC,KAAKowE,kBAAkB,CAAA,CAAK,CAC9B,CAAC,EAED,SAAyBj0C,GACvB,OAAOld,EAAM3d,MAAMtB,KAAMmB,SAAS,CACpC,EAOJ,EAAG,CACD8G,IAAK,WACLlC,OAAiBoxG,EAUf,WACA,OAAO7qF,SAAS+qF,GAClB,EAPE/qF,EAAShmB,SAAW,WAClB,OAAO6wG,EAAU7wG,SAAS,CAC5B,EAEOgmB,EAIX,EAAG,CACDrkB,IAAK,eACLlC,MAAO,SAAsBD,GAC3B,OAAOqE,IAAI9I,UAAUgwC,YAAYC,aAAaxrC,CAAI,CACpD,CAIF,EAAG,CACDmC,IAAK,kBACLlC,MAAO,WACL,OAAO8E,OAAOC,WAAWwa,UAAYza,OAAOC,WAAW0tG,MACzD,CAYF,EAAG,CACDvwG,IAAK,kBACLlC,OACMiZ,EAAQhT,EAAkB,UAAWiuB,GACvC,IAAI2sH,EAA4B,EAAnBzlJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAI7E0lJ,GAAM,EAAItoI,EAAgBiB,gBAAgB,EAG9C,GAAI,WAAaxf,KAAKomJ,mBACpB,OAAOpC,EAAS1/I,QAAQqxF,gBAAgB17D,EAAS2sH,CAAM,EAIzD5mJ,KAAKowE,kBAAkB,CAAA,CAAI,EAG3B,IAAI+J,EAAY,CAAC,WAAY,WAAW1wE,SAASnE,EAAQshJ,EAAOn1H,IAAI,CAAC,EAkBjEne,GAhBJvL,OAAO+tC,OAAO8wG,EAAQ/wG,EAAS,CAC7BskC,UAAWA,CAAAA,GAAYysE,EAAOn1H,KAC9B3qB,IAAK,CAAA,CACP,EAAGqzE,EAAY,GAAKysE,EAAOn1H,IAAI,CAAC,EAG5BzxB,KAAK8mJ,iBACP/4I,MAAM/N,KAAK8mJ,eAAe,GAIvBF,EAAO9/I,KACV9G,KAAKqiE,iBAAiBukF,EAAOrlJ,OAAS,EAAE,EAI/B,IAEPi5G,EAAO,CAAA,EAGXx6G,KAAK8mJ,eAAiB96I,EAAkB,YACtC,OAAOwuG,EAAO,CAAA,CAChB,CAAC,EAGDx6G,KAAK+mJ,KAAOF,EAEZ,IAEOrsC,IACHlnG,EAAOvF,MAAMksB,GAIX,CAACugF,GAAQosC,EAAO1uG,SAClBnqC,MAAM64I,EAAO1uG,OAAO5kC,CAAI,GAItB,CAACknG,GAAQlnG,EAAKyP,aAChB/iB,KAAKggC,gBAAgB,CACnBl6B,KAAMwN,EAAKyP,YAAYjd,KACvBgV,QAASxH,EAAKyP,YAAYjI,QAC1BgW,UAAWxd,EAAKyP,YAAY+N,SAC9B,CAAC,EAGH,IAAIW,EAAQ+oF,GAAQ,YAAe,OAAOosC,EAAOzsE,UAAqC,CAAA,IAAUysE,EAAOzsE,UAA1CysE,EAAOzsE,UAAU7mE,CAAI,EAG9E,CAACknG,GAAQ/oF,IACVzxB,KAAK+P,WAAW,cAAc,GAAK/P,KAAKqiE,iBAAiBukF,EAAOrlJ,OAAS,EAAE,GAAGylJ,iBAAiB1zI,EAAM,CAAExM,IAAK8/I,EAAO9/I,GAAI,CAAC,EAGtH0zG,GAAS/oF,IACZzxB,KAAK8mJ,eAAiB9mJ,KAAK2oB,aAAaqZ,KAAKhiC,IAAI,GAI/C,CAACw6G,GAAQosC,EAAOzuG,OAClByuG,EAAOzuG,MAAM7kC,CAAI,CAUrB,CARE,MAAOjV,GAEP2B,KAAKggC,gBAAgB,CACnBl6B,KAAM,QACNgV,QAndX,SAASmsI,EAAex6I,GACvB,IAOMpO,EAPFyH,GAAO,EAAIJ,EAAWO,WAAWwG,CAAK,EAE1C,MAAI,UAAY3G,EACP,YAAc2G,EAAMqO,QAGzB,WAAahV,GAAQ2G,EAAMsvG,cAAgB,CAAA,IAAUtvG,EAAMsvG,aAAaziF,SACtEj7B,EAAIoO,EAAMsvG,aAAatvG,OACjBzN,MAAQ,IAAIsc,YAAY,EAAI,KAAOjd,EAAEiV,MAAQ,IAAM,KAAOjV,EAAEyc,SAAW,IAG/E,WAAahV,GAAQ2G,EAAMytH,aACtBztH,EAAMytH,aAGX,UAAYp0H,EACP2G,EAAMzD,IACJi+I,CACR,EAAE5uI,KAAK,GAAG,EAGN5L,GAAS,cAClB,EA4boCpO,CAAC,EACzB0yB,YAAa,CAAA,CACf,CAAC,EACDhjB,MAAM/N,KAAK2oB,aAAa,CAC1B,CAEA3oB,KAAK8mJ,eAAiB,KAEtB9mJ,KAAKowE,kBAAkBy2E,IAAQ7mJ,KAAK+mJ,IAAI,CAC1C,CAAC,EAED,SAAyB59G,GACvB,OAAOnqB,EAAM1d,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,EAAG,CACD8G,IAAK,WACLlC,MAAO,WACL,IAAIgD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG9EsuF,EADW7wF,EAAQ,qBAAqB,EACf6wF,cAIzBy3D,EAAwC,IAAxBn+I,EAAQm+I,eAAyDz3D,GAAf1mF,CAAO,EAW7E,OAVA/I,KAAKuqE,WAAW,CACdvxB,KAAMjwC,EAAQiwC,KACd72B,QAAS+kI,EACTtkI,MAAOna,KAAAA,IAAcM,EAAQ6Z,MAAQ7Z,EAAQ6Z,MAAQ,IACrDP,MAAOtZ,EAAQsZ,MACfjhB,KAAM,CAAC,CAAC2H,EAAQ3H,KAChB4iB,WAAY,CAAC,CAACjb,EAAQib,WACtB6M,SAAU,CAAA,CACZ,CAAC,EAEMq2H,EAAcn3I,WAAW,CAClC,CAOF,EAAG,CACD9H,IAAK,YACLlC,MAAO,WACL,IACIohJ,GAD2B,EAAnBhmJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC1DoyC,IAClBA,EAAoB9qC,KAAAA,IAAd0+I,GAAkCA,EAIxCxB,GAFJ3lJ,KAAKmC,KAAK,YAAa,CAAA,CAAK,EAEV,CAACoxC,GAAO1nC,EAAcvH,QAAQqb,SAASwC,QAAQwjI,aAA4E,EAA7D95I,EAAcvH,QAAQqb,SAASwC,QAAQC,aAAahjB,SAGhIm0C,GAAOoyG,IACT3lJ,KAAK6oB,WAAW,EAIb0qB,GAAQoyG,GACX3lJ,KAAK2oB,aAAa,EAGpB3oB,KAAKkU,SAAS,CAAA,CAAK,CACrB,CACF,EAAG,CACDjM,IAAK,iBACLlC,MAAO,SAAwBquB,GAC7B,IAAI7O,EAAU6O,EAAM7O,QAChB6hI,EAAUhzH,EAAMgzH,QAEpB5zI,EAAE+R,CAAO,EAAE6hI,EAAU,WAAa,eAAe,cAAc,CACjE,CACF,EAAG,CACDn/I,IAAK,iBACLlC,MAAO,SAAwBqhJ,GAC7Bv7I,EAAcvH,QAAQqb,SAASwC,QAAQgC,SAAWijI,CACpD,CACF,EAAG,CACDn/I,IAAK,eACLlC,MAAO,WAGL/F,KAAKqnJ,eAAe,CAClB9hI,QAAS,gCACT6hI,QAJ+B,EAAnBjmJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EAK7E,CAAC,CACH,CAMF,EAAG,CACD8G,IAAK,eACLlC,MAAO,WACL8F,EAAcvH,QAAQ4f,QAAQjX,WAAWgH,QAAQ,SAAUtV,GACzD,OAAOA,EAAE6sB,QAAQ,GAAK7sB,EAAEkK,MAAM+xF,8BAAgCj8F,EAAE+sB,aAAe/sB,EAAEgnB,MAAM,CAAE4F,KAAM,CAAA,CAAM,CAAC,CACxG,CAAC,CACH,CACF,EAAG,CACDtjB,IAAK,mBAILlC,MAAO,SAA0BxE,EAAOyvD,GACtC,IAAI4R,EAAe5iE,KAAKujD,aAAa,cAAc,EAAExzC,WAAW,EAkBhE,OAhBA6yD,EAAa0kF,WAAW,EAEpBt2F,GACF4R,EAAaokF,iBAAiBh2F,CAAO,EAIvChxD,KAAKuqE,WAAW,CACdpoD,QAASniB,KAAKujD,aAAa,cAAc,EACzChiD,MAAO,aACP8gB,MAAO,CAAE9gB,MAAO,aAAcozC,QAAS,IAAK,EAC5CvzC,KAAMpB,KAAKkmJ,aACXpiI,WAAYviB,EACZy3C,KAAM1sB,SAAS+qF,IAAM,IAAM5uG,KAAAA,CAC7B,CAAC,EAEMm6D,CACT,CAMF,EAAG,CACD36D,IAAK,gBACLlC,MAAO,SAAuBwZ,GAC5B1T,EAAcvH,QAAQ8a,YAAYhe,KAAKme,CAAI,CAC7C,CACF,EAAG,CACDtX,IAAK,YACLlC,OACMouB,EAAQnoB,EAAkB,UAAWmW,GACvC,IA4BQ3J,EA5BJhQ,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAK3E02B,GAHJhsB,EAAcvH,QAAQ4f,QAAQ3iB,MAAQ4gB,EAAQ5gB,MAC9CsK,EAAcvH,QAAQ4f,QAAQuG,OAAS,gCAEzB5e,EAAcvH,QAAQ4f,QAAQ9B,aAAa+2C,GAAG,CAAC,CAAC,GAM1DpwD,GAJA8uB,GACFrkB,EAAEqkB,EAAQ1V,QAAQ4hE,cAAct8D,GAAG,EAAEg+B,KAAK,EAG9B5P,EAAS,CAAEprB,OAAQ,+BAAgC,EAAGjiB,CAAI,GACpEiiB,EAAS5e,EAAcvH,QAAQ4f,QAAQuG,OACvCnX,EAAOzH,EAAcvH,QAAQ4f,QAAQ9B,aAKrCD,aAAmB4jI,QAAU,UAAa,OAAO5jI,GAC/C8f,EAAK,UAAa,OAAO9f,EAAU3O,EAAE2O,CAAO,EAAE/iB,OAASoU,EAAE,SAAW2O,EAAU,SAAS,EAAI3O,EAAE2O,CAAO,EAAIA,EAC5G3O,EAAEiX,CAAM,EAAE7E,OAAOqc,CAAE,EACnB3uB,EAAKlS,KAAK,CAAE+gB,QAAS8f,EAAIl5B,QAASA,CAAQ,CAAC,IAKpCoZ,EAAQqkE,OAAS,YAAe,OAAOrkE,EAAQqkE,OAKhD,CAAC,KAHDhuE,EAAKlF,EAAK6oD,UAAU,SAAU7xC,GAChC,OAAOA,EAAEnI,QAAQoE,OAASpE,EAAQoE,MAAM,IAAM+D,EAAEnI,QAAQoE,MAAM,CAChE,CAAC,KAECxY,MAAM,EAAIyQ,EAAW+L,WAAWjX,EAAKkF,GAAI2J,QAAQqI,QAAQ,CAAC,EAC1DlX,EAAKqX,OAAOnS,EAAI,CAAC,GAGnBzK,MAAM,EAAIyQ,EAAW+L,WAAWpI,EAAQqkE,MAAM/7D,EAAQ1hB,EAAQ6c,QAAU,CAAA,CAAK,CAAC,EAC9EpS,EAAEiX,CAAM,EAAE+wE,SAAS,GAMjB/wE,EAAO/mB,YAAYye,CAAO,EAC1B7O,EAAKlS,KAAK,CAAE+gB,QAASA,EAASpZ,QAASA,CAAQ,CAAC,EAExD,CAAC,EAED,SAAmBw+I,GACjB,OAAOpzH,EAAM7yB,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,EAAG,CACD8G,IAAK,aACLlC,OACMmuB,EAASloB,EAAkB,YAC7B,IAYI6rB,EAZAvkB,EAAOzH,EAAcvH,QAAQ4f,QAAQ9B,aACrC9O,EAAKlU,QAAU,KAGfi3F,EAAQ/iF,EAAKiR,MAAM,CAAC,CAAC,EAAE,GAAGpC,mBACT7D,EAAeha,SAAW+xF,aAAiBh4E,EAAW/Z,QACzEyJ,MAAM,EAAIyQ,EAAW+L,WAAW8rE,EAAM7rE,QAAQ,CAAC,EAE/ChX,EAAE3H,EAAcvH,QAAQ4f,QAAQuG,MAAM,EAAEjQ,MAAM,EAElClH,EAAKigC,IAAI,GAEnB1b,EAAUhsB,EAAcvH,QAAQ4f,QAAQ9B,aAAa+2C,GAAG,CAAC,CAAC,KAE5D3lD,EAAEqkB,EAAQ1V,QAAQ4hE,cAAct8D,GAAG,EAAEgK,KAAK,EAC1C5lB,EAAcvH,QAAQ4f,QAAQ3iB,MAAQs2B,EAAQ1V,QAAQ5gB,OAE1D,CAAC,EAED,WACE,OAAO2yB,EAAO5yB,MAAMtB,KAAMmB,SAAS,CACrC,EAOJ,EAAG,CACD8G,IAAK,kBACLlC,MAAO,WACL,IAAIovC,EAA4B,EAAnBh0C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EI,EAAQ4zC,EAAO5zC,MACfovB,EAAWwkB,EAAOxkB,SAClB7V,EAAUq6B,EAAOr6B,QACjBhV,EAAOqvC,EAAOrvC,KACd+oB,EAAWsmB,EAAOtmB,SAClBjU,EAAOu6B,EAAOv6B,KACdgW,EAAYukB,EAAOvkB,UACnBJ,EAAW2kB,EAAO3kB,SAClBg3H,EAAqBryG,EAAOpkB,YAC5BA,EAAqCtoB,KAAAA,IAAvB++I,GAA2CA,EACzD32H,EAAWskB,EAAOtkB,SAClBC,EAAYqkB,EAAOrkB,UACnB22H,EAAetyG,EAAOhkB,MACtBA,EAAyB1oB,KAAAA,IAAjBg/I,EAA6B,GAAKA,EAC1CC,EAAmBvyG,EAAOlkB,UAC1BA,EAAiCxoB,KAAAA,IAArBi/I,EAAiC,KAAOA,EAwBxD,OAtBA1nJ,KAAK8oB,iBAAiB,EAEtBlpB,WAAW,WACTmI,OAAO+tC,OAAOjqC,EAAcvH,QAAQqb,SAASoD,YAAa,CACxDvK,IAAI,EAAI+F,EAAgBiB,gBAAgB,EACxCiS,KAAM,CAAA,EACN3W,QAASA,EACTiW,YAAaA,EACbxvB,MAAOA,EACPovB,SAAUA,EACV9B,SAAUA,EACV2B,SAAUA,EACV1qB,KAAMA,EACN8U,KAAMA,EACNkW,UAAWA,EACXD,SAAUA,EACVD,UAAWA,EACXO,MAAOA,EACPF,UAAWA,CACb,CAAC,CACH,CAAC,EAEMplB,EAAcvH,QAAQqb,SAASoD,WACxC,CACF,EAAG,CACD9a,IAAK,mBACLlC,MAAO,WACLgC,OAAO+tC,OAAOjqC,EAAcvH,QAAQqb,SAASoD,YAAa,CACxDvK,GAAI,KACJiZ,KAAM,CAAA,EACNV,YAAa,CAAA,EACbjW,QAAS,EACX,CAAC,CACH,CAIF,EAAG,CACD7S,IAAK,kBACLlC,MAAO,WAGL,OAAO/F,KAAKogC,OAAOA,OAFc,EAAnBj/B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAEjD,CACnC,CACF,EAAG,CACD8G,IAAK,cACLlC,MAAO,WACL,IAAIgD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9E8kD,EAAYl9C,EAAQk9C,WAAa,OACjCztC,EAAKzP,EAAQyP,IAAM,cACnB61E,EAAQtlF,EAAQslF,OAAS,UACzB1/D,EAAQ5lB,EAAQ4lB,OAAS,GACzB+zG,EAAc35H,EAAQ25H,YAAe,gCAAmC,GACxEn0C,EAASxlF,EAAQwlF,OAAU,eAAkB,GAC5C/6E,EAAE,IAAMgF,CAAE,EAAEpZ,QACfoU,EAAEyyC,CAAS,EAAEooC,GAAOlvF,KAAKqU,EAAEyyC,CAAS,EAAG,YAAcztC,EAAK,4BAA8BmW,EAAQ,YAAc+zG,EAAc,yBAA2B/zG,EAAQ,YAAc4/D,EAAS,gBAAgB,CAE1M,CACF,EAAG,CACDtmF,IAAK,cACLlC,MAAO,WAGLyN,EAAE,KAF0B,EAAnBrS,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,cAEnE,EAAE6F,OAAO,CACrB,CAIF,EAAG,CACDiB,IAAK,gBACLlC,MAAO,WACD5C,CAAAA,SAASmkB,KAAKyD,UAAUC,SAAS,cAAc,IAExC7nB,SAASmkB,KAAKyD,UAAUC,SAAS,kBAAkB,GAAKngB,OAAO4V,YAAc,KACtFzgB,KAAKmrB,YAAY,EAEjBnrB,KAAKmsF,YAAY,CAErB,CAMF,EAAG,CACDlkF,IAAK,gBACLlC,MAAO,WACL,IAAIqvC,EAA4B,EAAnBj0C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EwmJ,EAAiBvyG,EAAO7vB,QAExBqiI,EAAcxyG,EAAO3jB,KACrBA,EAAuBhpB,KAAAA,IAAhBm/I,GAAmCA,EAE9Cp0I,EAJiC/K,KAAAA,IAAnBk/I,EAA+B,oBAAsBA,CAI1D,EAAEjiI,MAAM+L,EAAO,OAAS,MAAM,CACzC,CACF,EAAG,CACDxpB,IAAK,iBACLlC,MAAO,WAGL8F,EAAcvH,QAAQke,IAAI0B,QAAQC,SAFvBhjB,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,EAG5E,CAIF,EAAG,CACD8G,IAAK,cACLlC,MAAO,WACL,IAAIgD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAKlF,OAHAnB,KAAKowE,kBAAkB,CAAA,CAAK,EAC5BrnE,EAAQiwC,KAAO1sB,SAAS+qF,IAAM,IAAMtuG,EAAQiwC,KAC5Ch5C,KAAKuqE,WAAWxhE,CAAO,EAChB,CAAA,CACT,CAQF,EAAG,CACDd,IAAK,cACLlC,MAAO,WACL,IAAIgD,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAElF4H,EAAQiwC,KAAO1sB,SAAS+qF,IAAM,IAAMtuG,EAAQiwC,KAC5CjwC,EAAQ3H,KAAO,CAAA,EACfpB,KAAKuqE,WAAWxhE,CAAO,CACzB,CAIF,EAAG,CACDd,IAAK,mBACLlC,MAAO,WACL,OAAO8F,EAAcvH,QAAQqb,SAASwC,QAAQC,aAAahjB,MAC7D,CAOF,EAAG,CACD6I,IAAK,2BACLlC,MAAO,WACL,IAAIyC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE3EghB,EAAUtW,EAAcvH,QAAQqb,SAASwC,QAAQC,aAAa+2C,GAAG,CAAC,CAAC,GAAK,KACxEh3C,GAAW3Z,EAAKjH,QAClB4gB,EAAQpZ,QAAQxH,MAAQiH,EAAKjH,OAE3B4gB,GAAW3Z,EAAK6Z,QAClBF,EAAQpZ,QAAQsZ,MAAQ7Z,EAAK6Z,MAEjC,CACF,EAAG,CACDpa,IAAK,oBACLlC,MAAO,WACL,OAAO8F,EAAcvH,QAAQqb,SAASwC,QAAQC,aAAa+2C,GAAG,CAAC,CAAC,GAAK,IACvE,CAQF,EAAG,CACDlxD,IAAK,oBACLlC,MAAO,WACL,IAAIy2D,EAA4B,EAAnBr7D,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E0mJ,EAAkBrrF,EAAO36C,SACzBA,EAA+BpZ,KAAAA,IAApBo/I,EAAgC,GAAKA,EAChD9yG,EAAOynB,EAAOznB,KACdgH,EAAMygB,EAAOzgB,IAEbvzC,EAAO,CACTqZ,SAAUA,GAAY3gB,MAAMkF,QAAQyb,CAAQ,GAAKA,EACjDk6B,IAAKA,EACLhH,KAAMA,CACR,EACA,OAAO,IAAIz2B,EAAeha,QAAQuxC,EAAS,GAAIrtC,EAAM,CACnDgQ,GAAI,eACJjX,MAAOiH,EAAKjH,OAAS,OACrBi+E,kBAAmB,IAAKr1E,IAAIC,OAAOxL,EAAQ,6BAA6B,CAAE,GAAE,CAC1Em2C,KAAMvsC,EAAKusC,KACXlsC,MAAO,CACLkoE,WAAYvoE,EAAKqZ,WAAY,EAAIkxB,EAAqBkB,qBAAqB,GAAGjrC,IAAI,SAAU/J,GAC1F,MAAO,CACLsC,MAAOtC,EAAEsC,MACT+zC,YAAar2C,EAAEq2C,YACfv0B,UAAW9hB,EAAE8hB,UACbyc,IAAKv+B,EAAEu+B,IACPue,IAAKvzC,EAAKuzC,KAAO,WACf,IAAIv9C,EAAuB,EAAnB2C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E,OAAO,EAAIqd,EAAW+8E,YAAYvvF,EAAkB,YAClD,IAAI8Z,EAAM/X,MAAMq9F,EAAIr7F,WAAW,KAAK,EAAE2kC,+BAA8B,EAAIyyD,EAAekD,eAAe7rG,EAAEg/B,GAAG,CAAC,EAC5G,IACEtR,QAAQC,aAAa,KAAM,KAAMrG,CAAG,CAGtC,CAFE,MAAOznB,IAERmjB,SAASuW,QAAQjS,CAAG,CACvB,CAAC,CAAC,CACJ,CACF,CACF,CAAC,CACH,CACF,CAAC,CACH,CAAC,CAAC,EAAEimD,qBAAqB,EAAEvkD,OAAO,EAAEC,GACtC,CACF,EAAG,CACDxf,IAAK,oBACLlC,MAAO,WAGL/F,KAAK0lJ,kBAFMvkJ,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,EAG5E,CAMF,EAAG,CACD8G,IAAK,iBACLlC,MAAO,WACL8E,OAAOC,WAAWC,KAAO,IAC3B,CAMF,EAAG,CACD9C,IAAK,iBACLlC,MAAO,WACL8E,OAAOC,WAAW+W,SAAW,EAC/B,CACF,EAAG,CACD5Z,IAAK,oBACLlC,MAAO,WACL,IAAI2rB,EAA6B,EAAnBvwB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,GAG7E,OADA0K,EAAcvH,QAAQqb,SAASwC,QAAQuP,QAAUA,IAC/B,IAAIvlB,QAAQ,SAAUC,GACtC,OAAOxM,WAAWwM,EAAS,GAAG,CAChC,CAAC,CACH,CACF,EAAG,CACDnE,IAAK,wBACLlC,MAAO,WACL,IAAI8C,EAAQgD,EAAcvH,QAAQqb,SAC9BgD,EAAa9W,EAAcvH,QAAQke,IAAIC,OAAO5W,EAAcvH,QAAQke,IAAIC,OAAOC,WAAWC,WAE9FA,GAA4B,MAAhB9Z,EAAM+Z,MAAgB,QAAU,UAAY,QAAU,CAACD,GAA4B,MAAhB9Z,EAAM+Z,MAAgB,QAAU,UAAY,QAC3H5iB,KAAKgmJ,kBAAkB,CACzB,CAIF,EAAG,CACD/9I,IAAK,cACLlC,MAAO,SAAqBu6B,GAC1B,IAAI2kH,EAAep5I,EAAcvH,QAAQke,IAAIC,OAAO5W,EAAcvH,QAAQke,IAAIC,OAAOC,WAAWC,WAAW,MAAQ9W,EAAcvH,QAAQqb,SAASiD,MAAQ,QAAU,UAIpK,OAHA/W,EAAcvH,QAAQqb,SAASulI,iBAAmB,CAAC5kH,EACnDtgC,KAAKiqB,QAAQ,cAAc,EAEpBg7H,CACT,CACF,EAAG,CACDh9I,IAAK,eACLlC,OACM2pD,EAAS1jD,EAAkB,YAC7BhM,KAAKmC,KAAK,eAAgB,CAAA,CAAK,EAE/B,IAAI0G,EAAQgD,EAAcvH,QAAQqb,SAC9B4L,EAA2C,EAApC1iB,EAAMsZ,QAAQC,aAAahjB,OAqBtC,OAlBImsB,IACavrB,KAAKujD,aAAa,UAAU,EAClCmjC,QAAQ,CAAA,CAAK,EACtBq9D,EAAe,GAIbx4H,GAAQ,QAAU1iB,EAAMw7I,cAC1Bt2I,MAAMg2I,EAAe,EACrBl7I,EAAMga,cAAgB,GAGpB0I,IACF1iB,EAAMq8I,iBAAmB,CAAA,EACzBllJ,KAAKiqB,QAAQ,eAAe,EAC5Blc,MAAM5D,IAAInJ,SAAS,GAGdhB,KAAKujD,aAAa,KAAK,CAChC,CAAC,EAED,WACE,OAAOmM,EAAOpuD,MAAMtB,KAAMmB,SAAS,CACrC,EAOJ,EAAG,CACD8G,IAAK,aACLlC,OACMqmD,EAASpgD,EAAkB,YAE7B,IAIIsH,EAqBA6O,EAzBJ,OAAKtW,EAAcvH,QAAQqb,SAASwC,QAAQC,aAAahjB,QAKrDoJ,GADA8K,EAAOtT,KAAKujD,aAAa,UAAU,EAAEnhC,aAAa+2C,GAAG,CAAC,CAAC,GAC3CpwD,QAEhBhB,OAAO+tC,OAAOjqC,EAAcvH,QAAQqb,SAASwC,QAAS,CACpD5gB,MAAOiH,EAAKjH,MACZqhB,MAAOna,KAAAA,IAAcD,EAAKoa,MAAQpa,EAAKoa,MAAQ,KAC/CiO,SAAUpoB,KAAAA,IAAcD,EAAKqoB,UAAWroB,EAAKqoB,SAC7C80H,YAAal9I,KAAAA,IAAcD,EAAKm9I,aAAcn9I,EAAKm9I,YACnDvjI,aAAcpiB,KAAKujD,aAAa,UAAU,EAAEnhC,aAC5CuM,MAAOlmB,KAAAA,IAAcD,EAAKmmB,MAAQnmB,EAAKmmB,MAAQ,GAC/Ck3H,YAAap9I,KAAAA,IAAcD,EAAKq9I,YAAcr9I,EAAKq9I,YAAc,GACjE7hI,WAAYvb,KAAAA,IAAcD,EAAKwb,YAAaxb,EAAKwb,UACnD,CAAC,EAEDhkB,KAAK8lJ,UAAU,UAAWxyI,EAAKvK,OAAO,EAElC8C,EAAcvH,QAAQ8d,aAAahjB,QAAU,EAAjD,KAAA,IAKI+iB,EAAUtW,EAAcvH,QAAQ8d,aAAamC,MAAM,CAAC,CAAC,EAAE,GAAGpC,mBAEvC7D,EAAeha,SAAW6d,aAAmB9D,EAAW/Z,QAC7EyJ,MAAM,EAAIyQ,EAAW+L,WAAWpI,EAAQqI,QAAQ,CAAC,EAEjDhX,EAAExT,KAAKujD,aAAa,UAAU,EAAE94B,MAAM,EAAEjQ,MAAM,EAGhD3O,EAAcvH,QAAQ8d,aAAamxB,IAAI,EAEvCryC,MAAMimB,KAAKnnB,KAAKujD,aAAa,UAAU,EAAEi8B,kBAAkB/3D,IAAIiZ,QAAQ,EACtEzsB,QAAQ,SAAUguB,EAAIxjC,EAAGK,GACxB,OAAOmjC,EAAGtT,MAAMhB,QAAUlvB,IAAMK,EAAEM,OAAS,EAAI,QAAU,MAC3D,CAAC,EAEDyM,EAAcvH,QAAQqb,SAASkD,cAAgBvP,EAAKvK,QAAQiwC,KAE5Dh5C,KAAKiqB,QAAQ,aAAa,EAEnBjqB,KAAKujD,aAAa,UAAU,EAAEnhC,aAAa+2C,GAAG,CAAC,CAAC,IA3C9ChtD,QAAQE,OAAO,CA4C1B,CAAC,EAED,WACE,OAAO+/C,EAAO9qD,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,mBACLlC,MAAO,WACL,MAAO,CAAC5C,SAASmkB,KAAKyD,UAAUC,SAAS,kBAAkB,CAC7D,CACF,EAAG,CACD/iB,IAAK,WACLlC,MAAO,WACL,IAAIu6B,EAA0B,EAAnBn/B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,GACtE2Z,EAAU3Z,UAAU,GAEpB2O,EAAa9P,KAAK+P,WAAW,KAAK,EAClCuwB,EACFxwB,EAAWm8D,mBAAmBnxD,CAAO,EAErChL,EAAW+8D,kBAAkB,CAEjC,CACF,EAAG,CACD5kE,IAAK,cACLlC,MAAO,WACL5C,SAASmkB,KAAKyD,UAAUjkB,IAAI,cAAc,EAC1C3D,SAASmkB,KAAKyD,UAAU/jB,OAAO,kBAAkB,EACjD6E,EAAcvH,QAAQke,IAAI0B,QAAQqH,KAAO,CAAA,CAC3C,CACF,EAAG,CACDtjB,IAAK,cACLlC,MAAO,WACL5C,SAASmkB,KAAKyD,UAAU/jB,OAAO,cAAc,EAC7C7D,SAASmkB,KAAKyD,UAAUjkB,IAAI,kBAAkB,EAC9C+E,EAAcvH,QAAQke,IAAI0B,QAAQqH,KAAO,CAAA,CAC3C,CACF,EAAG,CACDtjB,IAAK,UACLlC,MAAO,SAAiB42D,GACtB,IAAIp3C,EAAUo3C,EAAOp3C,QACjB44D,EAAOxhB,EAAOwhB,KAElB,GAAI54D,GAAW44D,EACb,OAAOtyE,EAAcvH,QAAQ6e,MAAMoC,GAAS44D,EAEhD,CAMF,EAAG,CACDl2E,IAAK,YACLlC,OACMqmF,EAASpgF,EAAkB,UAAW87I,GACxC,IAAI/+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9E0H,EAAQgD,EAAcvH,QAAQqb,SAE9BooI,EAAgBh/I,EAAQiwC,KACxBA,EAAyBvwC,KAAAA,IAAlBs/I,EAA8BD,GAAYj/I,EAAMw7I,YAAc,IAAM,GAAK0D,EAChFC,EAAiBj/I,EAAQ6Z,MACzBA,EAA2Bna,KAAAA,IAAnBu/I,EAA+B,IAAMA,EAGjDn/I,EAAMi/I,GAAUj2H,MAAQi2H,GAAYj/I,EAAMw7I,aAAc57I,KAAAA,IAAcM,EAAQ8oB,OAAgB9oB,EAAQ8oB,MAMlF,GAHAi2H,GAAYj/I,EAAMw7I,YAAc,IAAMrrG,EAAOA,IAI/DnwC,EAAMq8I,iBAAmB,CAAA,EACzBr8I,EAAM+Z,MAAQna,KAAAA,IAAcma,EAAQA,EAAQ/Z,EAAM+Z,MAClD/Z,EAAMga,cAAgBpa,KAAAA,IAAcuwC,EAAOA,EAAOnwC,EAAMmwC,KACxDh5C,KAAKiqB,QAAQ,IAKX,QAAUphB,EAAMw7I,cAClBt2I,MAAMg2I,EAAe,EACrBl7I,EAAMga,cAAgB,GAGxBha,EAAMq8I,iBAAmB,CAAA,EAEzBllJ,KAAKiqB,QAAQ,EAEblc,MAAM5D,IAAInJ,SAAS,EACrB,CAAC,EAED,SAAmBinJ,GACjB,OAAO77D,EAAO9qF,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,oBACLlC,MAAO,WACL,IAAI6nD,EAAS5tD,KAETmiC,EAA2B,EAAnBhhC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,KAEhF22E,sBAAsB,WACpB,IAAIowE,EAAgB/C,EAAgB,EAChCE,EAAe6C,EAAc7C,cAAgB,EAC7CI,EAAgByC,EAAczC,eAAiB,EAS/C0C,GANJ/D,EAAa,EACbx2F,EAAO79C,WAAW,KAAK,EAAE0S,OAAO,CAC9BS,MAAOrX,EAAcvH,QAAQqb,SAAS3W,IAAIma,MAAMD,MAAQmiI,EACxDjiI,OAAQvX,EAAcvH,QAAQqb,SAAS3W,IAAIma,MAAMC,OAASqiI,CAC5D,CAAC,EAEiB55I,EAAcvH,QAAQqb,SAASwC,QAAQgB,MAAMD,MAAQmiI,GAGvEl7I,IAAInJ,SAAS,WAEX,IAAIihC,EAAK2rB,EAAOrK,aAAa,UAAU,EAAEi8B,kBAAkB/3D,IACvDrE,EAAS6e,EAAGjF,cAAcsG,eAC1BrB,EAAGjF,cAAcvX,cAAc,oBAAoB,GAAK,IAAIujB,cAAgB,KAAO/G,EAAGjF,cAAcvX,cAAc,qBAAqB,GAAK,IAAIujB,cAAgB,GAAK,GACzK/G,EAAGtT,MAAMvL,OAASA,EAAS,KACvB6e,EAAGyxB,aACLzxB,EAAGyxB,WAAW/kC,MAAMvL,OAASA,EAAS,MAExCvX,EAAcvH,QAAQ8d,aAAanO,QAAQ,SAAUqW,GAE/C,YAAc,OAAOA,EAAEnI,QAAQM,QACjC6H,EAAEnI,QAAQM,OAAqB,GAAd0lI,EAAmB/kI,CAAM,CAE9C,CAAC,CACH,CAAC,EAEG+e,GACFviC,WAAW,WACTguD,EAAOzrD,KAAKggC,CAAK,CACnB,CAAC,CAEL,CAAC,CACH,CAMF,EAAG,CACDl6B,IAAK,UACLlC,MAAO,WACL,IAAIo8B,EAA2B,EAAnBhhC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,KAE5E+mJ,EAAgB/C,EAAgB,EACpCf,EAAa8D,EAAc7C,YAAyC,EACpErlJ,KAAKgmJ,kBAAkB7jH,CAAK,CAC9B,CACF,EAAE,EAEKipE,CACT,GAAEpb,EAAY1rF,OAAQ,EAEtB,EAAE,CAAC8jJ,8BAA8B,GAAGprC,6BAA6B,IAAIvP,sBAAsB,IAAIj6E,gBAAgB,IAAIC,gBAAgB,IAAImhE,aAAa,IAAIlhE,YAAY,IAAIkqF,kBAAkB,IAAInvG,oBAAoB,IAAI+mC,4BAA4B,IAAIq5D,sBAAsB,IAAIl7E,uBAAuB,IAAIC,kBAAkB,IAAI1sB,kBAAkB,GAAG,GAAGmhJ,IAAI,CAAC,SAASzpJ,EAAQU,EAAOJ,GACtX6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIiJ,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAUtVZ,EAAOiF,EAAkB,UAAW0E,GAGtC,OAFAA,GAAO,EAAI43I,EAAeC,eAAe73I,CAAI,EAC7C3C,MAAM+kC,EAAcxuC,QAAQiwC,mBAAmB7jC,CAAI,EAC5CA,CACT,CAAC,EALH,IACM3J,EADFyhJ,EAOK,SAA2B99H,GAChC,OAAO3jB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAqCE6uF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/C+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInCiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD2+D,EAAYz5D,EAFDlF,EAAQ,eAAe,CAES,EAI3Ck0C,EAAgBhvC,EAFDlF,EAAQ,mBAAmB,CAES,EAEnD0pJ,EAAiB1pJ,EAAQ,qBAAqB,EAE9CyX,EAA8BzX,EAAQ,kCAAkC,EAExE2f,EAAkB3f,EAAQ,sBAAsB,EAEpD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAASqkJ,EAAyBrkJ,EAAKs2B,GAAQ,IAA0Bj8B,EAAtBgJ,EAAS,GAAI,IAAShJ,KAAK2F,EAA8B,GAAnBs2B,EAAK4X,QAAQ7zC,CAAC,GAAuBsJ,OAAO1G,UAAU4I,eAAe9K,KAAKiF,EAAK3F,CAAC,IAAagJ,EAAOhJ,GAAK2F,EAAI3F,IAAM,OAAOgJ,CAAQ,CAE3N,SAAS4oF,EAA2BnnF,EAAM/J,GAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,CAE/O,SAASlB,EAAUC,EAAUE,GAAc,GAA0B,YAAtB,OAAOA,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAAKF,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,EAAY,CAI7e,SAAS8nF,EAAgB1nF,EAAUrB,GAAe,GAAI,EAAEqB,aAAoBrB,GAAgB,MAAM,IAAIkB,UAAU,mCAAmC,CAAK,CAExJ,SAASyD,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAoBvcqB,EAAashJ,EAAqB,CAAC,CACjCzgJ,IAAK,OACLlC,OACMkR,EAAQjL,EAAkB,YAmB5B,IAlBA,IACI8U,GAD2B,EAAnB3f,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC5D2f,QAUhB5N,GARJnF,MAAM4B,EAAMrL,QAAQo4D,QAAQ,EAE5B18D,KAAK2rG,SAAW,CACdjsF,IAAK,IAAIipI,EACTniH,QAAS,IAAIoiH,CACf,EAGa9nI,EAAQjY,MAAMqK,OAAOlK,IAAI,SAAUusB,GAC9C,MAAO,CAAE/c,GAAI+c,EAAE/c,GAAIjW,KAAMgzB,EAAEhzB,IAAK,CAClC,CAAC,GAGGsmJ,EAAe9gJ,OAAO2yB,KAAK16B,KAAK2rG,QAAQ,EAEnCltG,EAAI,EAAGA,EAAIoqJ,EAAazpJ,OAAQX,CAAC,GAAI,CAC5C,IAAI6O,EAAUtN,KAAK2rG,SAASk9C,EAAapqJ,IAErCgK,KAAAA,IAAc6E,EAAQm9D,UAAU,GAClCn9D,EAAQw7I,UAAU51I,CAAM,EAE1BnF,MAAMT,EAAQ+5D,KAAK,EACnB/5D,EAAQzL,GAAG,WAAY7B,KAAK+oJ,2BAA2B,CACzD,CAGA/oJ,KAAKgpJ,YAAY,CACfxwI,GAAI,KACJijB,OAAQ,YACRjnB,SAAU,CAAE8kB,OAAQ,CAAA,EAAMhmB,KAAM,CAAEJ,OAAQA,CAAO,CAAE,CACrD,CAAC,EAEDrI,OAAOqe,iBAAiB,UAAWlpB,KAAKipJ,WAAY,CAAA,CAAK,CAC3D,CAAC,EAED,WACE,OAAOhyI,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,EAOJ,EAAG,CACD8G,IAAK,8BACLlC,MAAO,SAAqCkZ,GAC1C,IAAIwc,EAASxc,EAAMwc,OAGnBz7B,KAAKgpJ,YAAY,CAAExwI,GAAI,KAAMijB,OAAQA,EAAQjnB,SAF9ByK,EAAMzK,QAE2C,CAAC,CACnE,CAWF,EAAG,CACDvM,IAAK,kBACLlC,OACMiZ,EAAQhT,EAAkB,UAAWk9I,GACvC,IAEIC,EAAa,KAAA,EACbC,GAH6B,EAAnBjoJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAGpDs6B,OAC1BA,EAA6BhzB,KAAAA,IAApB2gJ,EAAgC,cAAgBA,EAEzDh/H,EAAQrc,MAAMm7I,EACd5vH,EAASlP,EAAMkP,OACfy1B,EAAa3kC,EAAM9W,KACnBA,EAAsB7K,KAAAA,IAAfsmD,EAA2B,GAAKA,EAEvCs6F,EAAS,IAAI73I,GAAGimB,OAAO8P,QAC3B,IACE4hH,EAAa71I,EAAKtK,IAAI,SAAU+V,GAC9B,IA/Ga3a,EA+GTgQ,EAAQ2K,EAAM3K,MACdM,EAAWqK,EAAMrK,SACrB,OAjHatQ,EAiHU,GAjHL6D,EAiHSmM,EAAMmS,MAAM,EAjHhBxgB,EAiHmB,CAAE2O,SAAU20I,EAAOC,cAAc50I,CAAQ,CAAE,EAjHjDzM,KAAO7D,EAAO2D,OAAOC,eAAe5D,EAAK6D,EAAK,CAAElC,MAAOA,EAAO6B,WAAY,CAAA,EAAMC,aAAc,CAAA,EAAMC,SAAU,CAAA,CAAK,CAAC,EAAY1D,EAAI6D,GAAOlC,EAAgB3B,CAkHjM,CAAC,CAKH,CAJE,MAAO/F,GAEPi7B,EAAS,CAAA,EACT6vH,EAAa9qJ,CACf,CAEA2B,KAAKgpJ,YAAY,CACfxwI,GAAI,KACJijB,OAAQA,EACRjnB,SAAU,CAAE8kB,OAAQA,EAAQhmB,KAAM61I,CAAW,CAC/C,CAAC,CACH,CAAC,EAED,SAAyBpwH,GACvB,OAAO/Z,EAAM1d,MAAMtB,KAAMmB,SAAS,CACpC,EASJ,EAAG,CACD8G,IAAK,cACLlC,MAAO,WAGD8E,OAAO4f,QACT5f,OAAO4f,OAAOu+H,YAHiB,EAAnB7nJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG7C,GAAG,CAE1C,CACF,EAAG,CACD8G,IAAK,qBACLlC,OACMouB,EAAQnoB,EAAkB,YAC5B,IAAIpB,EAAQ5K,KAER25B,EAAW,GAKf,OAJA5xB,OAAO2yB,KAAK16B,KAAKupJ,cAAc,EAAEt1I,QAAQ,SAAUuE,GACjDmhB,EAASv4B,KAAKwJ,EAAM+gG,SAAS/gG,EAAM2+I,eAAe/wI,GAAI4pB,SAASo4E,KAAK,CAAC,EACrE,OAAO5vG,EAAM2+I,eAAe/wI,EAC9B,CAAC,EACMrM,QAAQke,WAAWsP,CAAQ,CACpC,CAAC,EAED,WACE,OAAOxF,EAAM7yB,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,EAAG,CACD8G,IAAK,aAMLlC,OACMmuB,EAASloB,EAAkB,UAAWmE,GACxC,GAAIA,GAAOA,EAAImD,KAAM,CACnB,IAAIk2I,EAAYr5I,EAAImD,KAChBm2I,EAAeD,EAAUhxI,GACzBA,EAAsB/P,KAAAA,IAAjBghJ,GAA6B,EAAIlrI,EAAgBiB,gBAAgB,EAAIiqI,EAC1EC,EAAmBF,EAAUG,OAC7BA,EAA8BlhJ,KAAAA,IAArBihJ,GAAwCA,EACjDjuH,EAAS+tH,EAAU/tH,OACnBxD,EAASuxH,EAAUl2I,KAEnBgtD,GAAU7kC,GAAU,IAAI7Y,MAAM,GAAG,EACjC29C,EAAUvxD,EAAesxD,EAAQ,CAAC,EAClCl+B,EAAUm+B,EAAQ,GAClBvpC,EAASupC,EAAQ,GAEjBjnC,EAAS,CAAA,EACThmB,EAAO,KAAA,EACX,IACE,IAAIs2I,EAAW5pJ,KAAK2rG,SAASvpE,GAASynH,SAAS,EAC3CD,GAAYD,IACd57I,MAAM/N,KAAK8pJ,mBAAmB,GAE5BF,IACF5pJ,KAAKupJ,eAAe/wI,GAAM,CAAE4pB,QAASA,CAAQ,EAC7C9uB,EAAOvF,MAAM/N,KAAK2rG,SAASvpE,GAASpL,GAAQiB,CAAM,EAClDqB,EAAS,CAAA,EAMb,CAJE,MAAOj7B,GAEPi7B,EAAS,CAAA,EACThmB,EAAOjV,CACT,CACA2B,KAAKgpJ,YAAY,CACfxwI,GAAIA,EACJijB,OAAQA,EACRjnB,SAAU,CAAE8kB,OAAQA,EAAQhmB,KAAMA,CAAK,CACzC,CAAC,EACD,OAAOtT,KAAKupJ,eAAe/wI,EAC7B,CACF,CAAC,EAED,SAAoB+hB,GAClB,OAAOrG,EAAO5yB,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,QACLlC,OACMovC,EAASnpC,EAAkB,YAE7B,IADA,IAAI68I,EAAe9gJ,OAAO2yB,KAAK16B,KAAK2rG,QAAQ,EACnCltG,EAAI,EAAGA,EAAIoqJ,EAAazpJ,OAAQX,CAAC,GACxCuB,KAAK2rG,SAASk9C,EAAapqJ,IAAIuD,IAAI,WAAYhC,KAAK+oJ,2BAA2B,EAEjFh7I,MAAM/N,KAAK8pJ,mBAAmB,EAC9Bj/I,OAAOue,oBAAoB,UAAWppB,KAAKipJ,WAAY,CAAA,CAAK,CAC9D,CAAC,EAED,WACE,OAAO9zG,EAAO7zC,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAE,EA7OJ,IA8NUg0C,EAvDAjhB,EAzBAC,EAvDAnV,EArEA/H,EAlBNyxI,EA+OKA,EA9OP,SAASA,IACPt4D,EAAgBpwF,KAAM0oJ,CAAmB,EAEzC1oJ,KAAKupJ,eAAiB,GACtBvpJ,KAAKipJ,WAAajpJ,KAAKipJ,WAAWjnH,KAAKhiC,IAAI,EAC3CA,KAAK+oJ,4BAA8B/oJ,KAAK+oJ,4BAA4B/mH,KAAKhiC,IAAI,CAC/E,CAiPAmI,EAAU4hJ,EAqUV/5D,EAAY1rF,OArU2B,EAuDvC8C,EAAa2iJ,EAAmB,CAAC,CAC/B9hJ,IAAK,OACLlC,OACMqvC,EAASppC,EAAkB,YAC7B,IAiBQyjD,EAjBJl4C,EAASvX,KAGTgqJ,GAD4B,EAAnB7oJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACtD+R,OAG3BlT,KAAKkT,OAF0BzK,KAAAA,IAAlBuhJ,EAA8B,GAAKA,EAI3Cn+I,EAAcvH,QAAQq3G,qBAAqBlyG,SAASzJ,KAAKkzG,UAAU,KAGpE9sE,EAASm3B,EAAUj5D,QAAQgiC,UAAUtmC,KAAKkzG,UAAU,IAEtDlzG,KAAKiqJ,iBAAiB7jH,EAAOs8B,OAAO,CAAC,EACrC1iE,KAAKi6C,SAAS,CAAA,CAAI,GAElBsjB,EAAUj5D,QAAQkyD,QAAQ,kBACpB/G,EAASzjD,EAAkB,UAAWo6B,GACxCr4B,MAAMq4B,EAAOs2B,QAAQ,EACjBt2B,EAAOgE,QAAQ,IAAM7yB,EAAO27F,aAC9B37F,EAAO0yI,iBAAiB7jH,EAAOs8B,OAAO,CAAC,EACvCnrD,EAAO0iC,SAAS,CAAA,CAAI,EAExB,CAAC,EAEM,SAAU/d,GACf,OAAOuzB,EAAOnuD,MAAMtB,KAAMmB,SAAS,CACrC,EACC,EAEP,CAAC,EAED,WACE,OAAOi0C,EAAO9zC,MAAMtB,KAAMmB,SAAS,CACrC,EAaJ,EAAG,CACD8G,IAAK,mBACLlC,MAAO,WAGL/F,KAAKkqJ,cAFwB,EAAnB/oJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGhF,CAUF,EAAG,CACD8G,IAAK,kBACLlC,MAAO,WACL,OAAO/F,KAAKkqJ,aACd,CAcF,EAAG,CACDjiJ,IAAK,gBACLlC,MAAO,SAAuB2pD,GAC5B,IAAIzP,EAAeyP,EAAOzP,aACtBkqG,EAAiBz6F,EAAO06F,QACxBA,EAA6B3hJ,KAAAA,IAAnB0hJ,EAA+BnqJ,KAAKkT,OAAOlK,IAAI,SAAUusB,GACrE,OAAOA,EAAE/c,EACX,CAAC,EAAI2xI,EAEL,OAAOlqG,EAAe,GAAG3/C,OAAO2/C,CAAY,EAAImqG,CAClD,CACF,EAAG,CACDniJ,IAAK,gBAQLlC,OACM42D,EAAS3wD,EAAkB,UAAWogD,GACxC,IAAIh4C,EAAQg4C,EAAOh4C,MACfP,EAAUu4C,EAAOv4C,QACjBhO,EAAQgO,EAAQhO,MAChBE,EAAQ8N,EAAQ9N,MAWhB0rI,GAPS1jI,MAFWnP,EAAQ,eAAe,EAAE0F,QAEZ0S,QAAQ,kBAAmB,CAC9DgpC,OAAQ,CACN5rC,MAAOA,EACPJ,QAAQ,EAAIqC,EAA4B6B,4BAA4B,CAAErS,MAAOA,EAAOE,MAAOA,EAAOoS,SAAU,IAAK,CAAC,CACpH,EACAooC,QAAS,CAAA,CACX,CAAC,GACwBjtC,KAGzB,OAF2B7K,KAAAA,IAAhBgpI,EAA4B,GAAKA,CAG9C,CAAC,EAED,SAAuB70G,GACrB,OAAO+/B,EAAOr7D,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,2BAcLlC,OACM25I,EAAS1zI,EAAkB,YAiB7B,IAhBA,IAAI87E,EAA4B,EAAnB3mF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E0S,EAAUi0E,EAAOj0E,QACjBw2I,EAAsBviE,EAAO7nC,aAC7BA,EAAuCx3C,KAAAA,IAAxB4hJ,EAAoC,GAAKA,EACxDC,EAAcxiE,EAAO0C,KACrBA,EAAuB/hF,KAAAA,IAAhB6hJ,GAAoCA,EAC3CC,EAAmBziE,EAAOvQ,UAC1BA,EAAiC9uE,KAAAA,IAArB8hJ,GAAyCA,EAErD/1I,EAAW,CACb0lD,MAAO,CAAA,EACPxlD,SAAU,GACVurC,aAAc,IAChB,EACIva,EAAcua,EAAa7gD,OAC3BX,EAAI,EACD,CAAC+V,EAAS0lD,OAASz7D,EAAIinC,GAAa,CACzC,IAAItxB,EAAQpU,KAAK8gB,QAAQ3N,aAAa8sC,EAAaxhD,EAAE,EACrD,IACE,IAAI6U,EAAOc,IAAS,MAAOpU,KAAKwqJ,cAAc,CAAEp2I,MAAOA,EAAOP,QAASA,CAAQ,CAAC,GAC5Ea,EAAWpB,EAAKlU,QAAUkU,EAAK,GAAGoB,SAItC,GAHAF,EAAS0lD,MAAQxlD,GAA8B,EAAlBA,EAAStV,QAAc,CAAC,CAACsV,EAAShL,KAAK,SAAUhL,GAC5E,OAAOA,EAAE4oC,YAAY,CACvB,CAAC,EACG,CAAC5yB,GAAY,CAACF,EAAS0lD,MACzB,KAAM,mBAER1lD,EAASE,SAAWA,EACpBF,EAASyrC,aAAeA,EAAaxhD,GACjC+rF,IACFz8E,MAAM/N,KAAK8P,WAAWqyD,eAAeztD,EAAU,CAAE6iE,UAAWA,CAAU,CAAC,EAI3E,CAFE,MAAOl5E,GACPI,CAAC,EACH,CACF,CAKA,OAHK+V,EAAS0lD,OACZl6D,KAAKsnF,aAAatnF,KAAK8P,WAAWgR,QAAQjY,MAAM82D,UAAU,EAErDnrD,CACT,CAAC,EAED,WACE,OAAOkrI,EAAOp+I,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,YACLlC,MAAO,WAGL/F,KAAKkT,OAF2B,EAAnB/R,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGnF,CACF,EAAG,CACD8G,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKkT,MACd,CAQF,EAAG,CACDjL,IAAK,WACLlC,MAAO,WAGL/F,KAAKsvE,MAFyB,EAAnBnuE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,EAG5E,CACF,EAAG,CACD8G,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAKsvE,KACd,CAUF,EAAG,CACDrnE,IAAK,OACLlC,OACM68I,EAAS52I,EAAkB,aAAe,EAE9C,WACE,OAAO42I,EAAOthJ,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,QACLlC,MAAO,YACT,EAAE,EAnUJ,IAiTU68I,EApGAlD,EA3CA/iF,EAvGAvnB,EA3DN20G,EAqUKA,EAlUP,SAASA,IACP35D,EAAgBpwF,KAAM+pJ,CAAiB,EAKvC,IAAIngJ,EAASymF,EAA2BrwF,MAAO+pJ,EAAkB5gJ,WAAapB,OAAOqB,eAAe2gJ,CAAiB,GAAG5qJ,KAAKa,IAAI,CAAC,EAmClI,OAjCA4J,EAAO0lE,MAAQ,CAAA,EAKf1lE,EAAOkG,WAAaH,EAAMrL,QAAQyL,WAAW,KAAK,EAKlDnG,EAAOkX,QAAUjV,EAAcvH,QAAQwc,QAKvClX,EAAOsJ,OAASzK,KAAAA,EAShBmB,EAAOspG,WAOPtpG,EAAOsgJ,cAAgB,GAEhBtgJ,CACT,CAiSAzB,EAAUwgJ,EAqRVoB,CArRwC,EAqBxC3iJ,EAAauhJ,EAAY,CAAC,CACxB1gJ,IAAK,OACLlC,MAAO,WACL,IAAImqD,EAASlwD,KAEb,OAAO,IAAImM,QAAQ,SAAUC,GAC3B8jD,EAAOpgD,WAAW/N,KAAK,QAAS,WAC9BmuD,EAAO8iE,KAAO9iE,EAAOpgD,WAAWU,OAAO,EACvC0/C,EAAOu6F,QAAUv6F,EAAOpgD,WAAWG,OAAO,EAC1CigD,EAAOw6F,YAAY/hC,WAAW3yD,QAAU9F,EAAOpgD,WAAWsmD,oBAAoB,CAAEtwD,KAAM,YAAa,CAAC,EACpGoqD,EAAOjW,SAAS,CAAA,CAAI,EACpB7tC,EAAQ,CACV,CAAC,CACH,CAAC,CACH,CAMF,EAAG,CACDnE,IAAK,UACLlC,OACM4oI,EAAS3iI,EAAkB,UAAW4iI,GACpC+b,EAAiB/b,EAAOgc,QAI5B,OADAj7I,EAAMrL,QAAQ8hJ,mBAFmB39I,KAAAA,IAAnBkiJ,GAAsCA,EAEP,SAAW,MACjD,EACT,CAAC,EAED,SAAiBE,GACf,OAAOlc,EAAOrtI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,aACLlC,OACMysI,EAASxmI,EAAkB,UAAW0iI,GACxC,IAAIjyE,EAASz8D,KAET8qJ,EAAiBpc,EAAOkc,QACKniJ,KAAAA,IAAnBqiJ,GAAsCA,EAQpD9qJ,KAAK0qJ,YAAY/hC,WAAW3yD,QAAQ+0F,sBAAsB/+I,EAAkB,YAC1E,IAAIwI,EAAW,KAAA,EACf,IACEA,EAAW,CAAE8kB,OAAQ,CAAA,EAAMhmB,KAAMvF,MAAM0uD,EAAO3sD,WAAWwpH,eAAe,CAAE,CAM5E,CALE,MAAOj7H,GAEPmW,EAAW,CAAE8kB,OAAQ,CAAA,EAAOhmB,KAAMjV,CAAE,CACtC,CAAE,QACAo+D,EAAOt6D,KAAK,WAAY,CAAEqS,SAAUA,EAAUinB,OAAQ,gBAAiB,CAAC,CAC1E,CACF,CAAC,CAAC,EAdAz7B,KAAK0qJ,YAAY/hC,WAAW3yD,QAAQg1F,0BAA0B,CAelE,CAAC,EAED,SAAoBC,GAClB,OAAOzY,EAAOlxI,MAAMtB,KAAMmB,SAAS,CACrC,EAcJ,EAAG,CACD8G,IAAK,YACLlC,OACMyoI,EAASxiI,EAAkB,YAC7B,IAAIisB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7EotF,EAASvuF,KAAK8P,WAAWisH,UAAU,EACvC,OAAItzH,KAAAA,IAAcwvB,EAAOvnB,KAChBc,GAAGC,KAAKC,UAAU68E,EAAQvuF,KAAK8P,WAAWwmD,QAAQ,EAAG,MAAOkyF,EAAkBvwH,EAAOvnB,IAAI,CAAE,EAE7F69E,CACT,CAAC,EAED,WACE,OAAOigD,EAAOltI,MAAMtB,KAAMmB,SAAS,CACrC,EAeJ,EAAG,CACD8G,IAAK,oBACLlC,OACMwoI,EAASviI,EAAkB,YAC7B,IAAIisB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E+pJ,EAAsBjzH,EAAO/xB,YAC7BA,EAAsCuC,KAAAA,IAAxByiJ,EAAoC,GAAKA,EACvDx6I,EAAOunB,EAAOvnB,KAGlB,OAAMxK,GAAehF,MAAMkF,QAAQF,CAAW,GAAK,IAAMA,EAAY9G,QAGjEqJ,KAAAA,IAAciI,IAEhBA,EAAO3C,MAAMy6I,EAAkB93I,CAAI,EACnCxK,EAAcsL,GAAGC,KAAKC,UAAUxL,EAAawK,EAAM1Q,KAAK8P,WAAWwmD,QAAQ,CAAC,GAE9Et2D,KAAK8P,WAAWq7I,OAAOjlJ,CAAW,EAC3BA,GAREiG,QAAQE,OAAOnG,CAAW,CASrC,CAAC,EAED,WACE,OAAOqoI,EAAOjtI,MAAMtB,KAAMmB,SAAS,CACrC,EAcJ,EAAG,CACD8G,IAAK,YACLlC,OACMqlJ,EAASp/I,EAAkB,YAC7B,IAAIisB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE7Eq+D,EAASx/D,KAAK8P,WAAWoW,aAAa,EAE1C,OAAIzd,KAAAA,IAAcwvB,EAAOvnB,KAChBc,GAAGC,KAAKiuD,gBAAgBF,EAAQx/D,KAAK8P,WAAWwmD,QAAQ,EAAG,MAAOkyF,EAAkBvwH,EAAOvnB,IAAI,CAAE,EAEnG8uD,CACT,CAAC,EAED,WACE,OAAO4rF,EAAO9pJ,MAAMtB,KAAMmB,SAAS,CACrC,EAaJ,EAAG,CACD8G,IAAK,eACLlC,OACMuoI,EAAStiI,EAAkB,YAC7B,IAAIisB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EkqJ,EAAiBpzH,EAAOunC,OACxBA,EAA4B/2D,KAAAA,IAAnB4iJ,EAA+B,GAAKA,EAC7C36I,EAAOunB,EAAOvnB,KAGlB,OAAM8uD,GAAUt+D,MAAMkF,QAAQo5D,CAAM,GAAK,IAAMA,EAAOpgE,QAIlDqJ,KAAAA,IAAciI,GAChBA,EAAO83I,EAAkB93I,CAAI,EAC7B8uD,EAAShuD,GAAGC,KAAKiuD,gBAAgBF,EAAQ9uD,EAAM1Q,KAAK8P,WAAWwmD,QAAQ,CAAC,GAExEt2D,KAAK8P,WAAW81B,SAAS45B,CAAM,EAE1BA,GATErzD,QAAQE,OAAOmzD,CAAM,CAUhC,CAAC,EAED,WACE,OAAO8uE,EAAOhtI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,gBAaLlC,OACMsoI,EAASriI,EAAkB,YAC7B,IAAIisB,EAA4B,EAAnB92B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E8+C,EAAehoB,EAAOgoB,aACtBpsC,EAAUokB,EAAOpkB,QACjBy3I,EAAoBrzH,EAAOs/C,UAC3BA,EAAkC9uE,KAAAA,IAAtB6iJ,GAA0CA,EAG1DrrG,EAAejgD,KAAKurJ,cAAc,CAAEtrG,aAAcA,CAAa,CAAC,EAShE,OAPelyC,MAAM/N,KAAKwrJ,yBAAyB,CACjDvrG,aAAcA,EACdpsC,QAASA,EACT22E,KAAM,CAAA,EACNjT,UAAWA,CACb,CAAC,GAEet3B,YAClB,CAAC,EAED,WACE,OAAOouF,EAAO/sI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAE,EAnRJ,IAyPUktI,EAzCAC,EA7BA8c,EAtCA7c,EA9BAC,EA5CAgE,EAtBA7D,EA7CNga,EAqRKA,EAlRP,SAASA,IACPv4D,EAAgBpwF,KAAM2oJ,CAAU,EAEhC,IAAI/6F,EAASyiC,EAA2BrwF,MAAO2oJ,EAAWx/I,WAAapB,OAAOqB,eAAeu/I,CAAU,GAAGxpJ,KAAKa,IAAI,CAAC,EAMpH,OAJA4tD,EAAO88F,YAAc,CACnB/hC,WAAY,CAAE3yD,QAAS,IAAK,EAC5By1F,UAAW,CAAEz1F,QAAS,IAAK,CAC7B,EACOpI,CACT,CAiRAzlD,EAAUygJ,EAieVmB,CAje6C,EA2H7C3iJ,EAAawhJ,EAAgB,CAAC,CAC5B3gJ,IAAK,cACLlC,OACM6tI,EAAS5nI,EAAkB,UAAWiiI,GACxC,IAAI3/D,EAAStuE,KAET0mC,EAAYunG,EAAOvnG,UACnBt6B,EAAU6hI,EAAO7hI,QACjBC,EAAS4hI,EAAO5hI,OAGpBrM,KAAK0rJ,eAAeviE,GAAK98E,EAGzBrM,KAAKkqJ,cAAcyB,cAAc,CAC/BxiE,GAAI,CAEFz8E,KAAM,SAAck/I,GAElBt9E,EAAOo9E,eAAeviE,GAAK/8E,EAC3BkiE,EAAOo9E,eAAezrG,aAAe2rG,EAAQrlI,MAAM,EACnD+nD,EAAOo9E,eAAej/I,MAAQ,KAE9B6hE,EAAO47E,cAAc2B,UAAU,CACjC,EAEAp/I,MAAO,SAAem/I,EAASE,GAC7Bx9E,EAAOo9E,eAAeviE,GAAK98E,EAC3BiiE,EAAOo9E,eAAezrG,aAAe2rG,EAAQrlI,MAAM,EACnD+nD,EAAOo9E,eAAej/I,MAAQq/I,CAChC,CACF,CACF,CAAC,EAGD9rJ,KAAKkqJ,cAAczjH,UAAU,CAAEC,UAAWA,CAAU,CAAC,EAErD1mC,KAAK+rJ,UAAY,CAAA,CACnB,CAAC,EAED,SAAqBxZ,GACnB,OAAOqB,EAAOtyI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,aACLlC,OACMiuI,EAAShoI,EAAkB,YAC7B,IAAIxD,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE3EqH,EAAKy3C,eACPlyC,MAAM/N,KAAKgsJ,YAAYxjJ,EAAKy3C,YAAY,EAE5C,CAAC,EAED,WACE,OAAO+zF,EAAO1yI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,qBACLlC,MAAO,SAA4Bo8B,GACjC,IAEIxF,EAAU38B,KAAKisJ,oBAAoB9pH,GAFN,EAAnBhhC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAE7B,EAGrD,OAFAnB,KAAKkqJ,cAAcgC,UAAU/pH,EAAOxF,CAAO,EAC3C38B,KAAKmsJ,eAAe/qJ,KAAK,CAAE+gC,MAAOA,EAAOxF,QAASA,CAAQ,CAAC,EACpDA,CACT,CACF,EAAG,CACD10B,IAAK,uBAMLlC,MAAO,WACL,IAAI4oE,EAAS3uE,KAEbA,KAAKmsJ,eAAel4I,QAAQ,SAAUqW,GACpCqkD,EAAOu7E,cAAckC,YAAY9hI,EAAE6X,MAAO7X,EAAEqS,OAAO,CACrD,CAAC,CACH,CACF,EAAG,CACD10B,IAAK,MAYLlC,MAAO,WACL,IAKMsmJ,EALFtY,EAAU/zI,KAEVi5B,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEjF,OAAO,IAAIgL,SACLkgJ,EAASrgJ,EAAkB,UAAWI,EAASC,GAEjD,GAAI0nI,EAAQgY,UACV,OAAO1/I,EAAO,EAKhB,IAAIigJ,EAAmBrzH,EAAOgnB,aAG1B1nC,EAFOkwI,EAAyBxvH,EAAQ,CAAC,eAAe,EAEtC1gB,WAGlB0nC,EAAe8zF,EAAQwX,cAAc,CACvCtrG,aAAcqsG,EACdlC,QAASrW,EAAQmW,cAAcqC,oBAAoB,CACrD,CAAC,EAMG7lH,GAHJ34B,MAAMgmI,EAAQyY,YAAY,CAAE9lH,UAAWuZ,EAAc7zC,QAASA,EAASC,OAAQA,CAAO,CAAC,GAGvE,MAAO0nI,EAAQxtG,aAAa0Z,EAAc,CACxD4jC,MAAOkwD,EAAQ96G,OAAO4qD,MAAM/8E,IAC5B2lJ,iBAAkB,CAAA,EAClBhxH,OAAQ,MACR3L,SAAU,IAAMmwB,EAAa7gD,MAC/B,CAAC,GAAG4U,OAAO,SAAU/U,GACnB,MAAO,cAAgBA,EAAEowD,MAC3B,CAAC,EAAErmD,IAAI,SAAU/J,GACf,OAAOA,EAAE8G,KACX,CAAC,GAGI4J,EAAMrL,QAAQuqF,iBAAiB,GAClCl/E,EAAMrL,QAAQ6mB,YAAY,EAIxB,IAAMub,EAAUtnC,QAAUsnC,EAAU,IACtCA,EAAU,GAAGgmH,cAAchmH,EAAU,GAAGimH,YAAY,YAAY,CAAC,EAInE5Y,EAAQ6Y,mBAAmB,aAAc,CAAEr0I,WAAYA,EAAYmuB,UAAWA,CAAU,CAAC,EACzFqtG,EAAQ6Y,mBAAmB,oBAAqB,CAAE3sG,aAAcA,CAAa,CAAC,CAChF,CAAC,EAEM,SAAU4sG,EAAMtZ,GACrB,OAAO8Y,EAAO/qJ,MAAMtB,KAAMmB,SAAS,CACrC,EACC,CACL,CAUF,EAAG,CACD8G,IAAK,SACLlC,OACMioI,EAAShiI,EAAkB,YAC7B,IAKM2oI,EALFI,EAAU/0I,KAEVi5B,EAA4B,EAAnB93B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEjF,OAAO,IAAIgL,SACLwoI,EAAS3oI,EAAkB,UAAWI,EAASC,GAEjD,IAOIwH,EAOAW,EAdJ,MAAIugI,CAAAA,EAAQgX,YAIRO,EAAmBrzH,EAAOgnB,aAG1BpsC,EAFO40I,EAAyBxvH,EAAQ,CAAC,eAAe,EAEzCplB,QAEfosC,EAAe80F,EAAQwW,cAAc,CACvCtrG,aAAcqsG,EACdlC,QAASrV,EAAQmV,cAAcqC,oBAAoB,CACrD,CAAC,GAEG/3I,EAAWzG,MAAMgnI,EAAQyW,yBAAyB,CACpDvrG,aAAcA,EACdpsC,QAASA,EACT22E,KAAM,CAAA,EACNjT,UAAW,CAAA,EACXznD,SAAU,IAAMmwB,EAAa7gD,MAC/B,CAAC,GAGa86D,QAIdnsD,MAAMgnI,EAAQyX,YAAY,CAAE9lH,UAAW,CAAClyB,EAASyrC,cAAe7zC,QAASA,EAASC,OAAQA,CAAO,CAAC,EAGlG0B,MAAMgnI,EAAQxuG,aAAa,CAAC/xB,EAASyrC,cAAe,CAClDpsC,QAASA,EACTgwE,MAAOkxD,EAAQ97G,OAAO4qD,MAAMxoE,OAC5BoxI,iBAAkB,CAAA,EAClBhxH,OAAQ,QACV,CAAC,EAEI9rB,EAAMrL,QAAQuqF,iBAAiB,GAClCl/E,EAAMrL,QAAQ6mB,YAAY,EAX5Bpd,KAcAgnI,EAAQ6X,mBAAmB,oBAAqB,CAAE3sG,aAAc,CAACzrC,EAASyrC,aAAc,CAAC,GAjBhF5zC,EAAO,CAkBlB,CAAC,EAEM,SAAUonI,EAAMqZ,GACrB,OAAOnY,EAAOrzI,MAAMtB,KAAMmB,SAAS,CACrC,EACC,CACL,CAAC,EAED,WACE,OAAO6sI,EAAO1sI,MAAMtB,KAAMmB,SAAS,CACrC,EASJ,EAAG,CACD8G,IAAK,SACLlC,MAAO,YAWT,EAAG,CACDkC,IAAK,eACLlC,OACM+uI,EAAS9oI,EAAkB,YAC7B,IAAI6pI,EAAU71I,KAEVigD,EAAkC,EAAnB9+C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACnF4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC9E4rJ,EAAmBhkJ,EAAQ0yB,OAC3BA,EAA8BhzB,KAAAA,IAArBskJ,EAAiC,MAAQA,EAClDl5I,EAAU9K,EAAQ8K,QAElBG,EAAS,GAEb,OADAjL,EAAQiL,OAASA,EACTynB,GACN,IAAK,MACHznB,EAAOw3H,WAAa,CAAA,EAAK,MAC3B,IAAK,SACHx3H,EAAOnO,MAAQgO,EAAQhO,MAAQ,OAASgO,EAAQ9N,KACpD,CACA,IAAI4zB,EAAW,GAIf,OAHAsmB,EAAahsC,QAAQ,SAAUuE,GAC7BmhB,EAASv4B,KAAKy0I,EAAQqU,cAAc3jH,aAAa/tB,EAAIzP,CAAO,CAAC,CAC/D,CAAC,EACMgF,MAAM5B,QAAQke,WAAWsP,CAAQ,CAC1C,CAAC,EAED,WACE,OAAOm7G,EAAOxzI,MAAMtB,KAAMmB,SAAS,CACrC,EAaJ,EAAG,CACD8G,IAAK,cACLlC,OACMgoI,EAAS/hI,EAAkB,UAAWi0C,GACxC,IAAI+sG,EAAUhtJ,KAEV25B,EAAW,GACfsmB,EAAahsC,QAAQ,SAAUuE,GAC7BmhB,EAASv4B,KAAK4rJ,EAAQ9C,cAAc8B,YAAYxzI,CAAE,CAAC,CACrD,CAAC,EACDzK,MAAM5B,QAAQke,WAAWsP,CAAQ,EACjC35B,KAAKkqD,MAAM,CACb,CAAC,EAED,SAAqB+iG,GACnB,OAAOlf,EAAOzsI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,OACLlC,MAAO,WACL,IAAImnJ,EAAUltJ,KAEd,OAAO,IAAImM,QAAQ,SAAUC,GAC3B8gJ,EAAQhD,cAAc2B,UAAU,EAChCl8I,EAAMrL,QAAQ6nF,YAAY,EAC1B+gE,EAAQnrJ,KAAK,QAASqK,CAAO,CAC/B,CAAC,CACH,CAMF,EAAG,CACDnE,IAAK,QACLlC,MAAO,WACL/F,KAAKkqJ,cAAciD,aAAa,EAChCntJ,KAAK+rJ,UAAY,CAAA,EACjB/rJ,KAAK0rJ,eAAiB,CACpBviE,GAAI,KACJlpC,aAAc,KACdxzC,MAAO,IACT,EACAzM,KAAKotJ,qBAAqB,EAC1BptJ,KAAKmC,KAAK,OAAO,CACnB,CACF,EAAE,EA/dJ,IAibU4rI,EA1CA+G,EArFA9G,EAhIAgG,EAnDAJ,EA/HNgV,EAieKA,EA9dP,SAASA,IACPx4D,EAAgBpwF,KAAM4oJ,CAAc,EAEpC,IAAIj7E,EAAS0iB,EAA2BrwF,MAAO4oJ,EAAez/I,WAAapB,OAAOqB,eAAew/I,CAAc,GAAGzpJ,KAAKa,IAAI,CAAC,EA4G5H,OA1GA2tE,EAAOulC,WAAa,UAEpBvlC,EAAOw+E,eAAiB,GAExBx+E,EAAOo+E,UAAY,CAAA,EAEnBp+E,EAAO+9E,eAAiB,CACtBviE,GAAI,KACJlpC,aAAc,KACdxzC,MAAO,IACT,EAEAkhE,EAAO10C,OAAS,CACd4qD,MAAO,CACL/8E,IAAK,CACHqd,SAAU,CAAC,CAAE3L,GAAI,eAAgB,EAAG,CAAEA,GAAI,cAAe,EAAG,CAAEA,GAAI,qBAAsB,EAAG,CAAEA,GAAI,YAAa,EAAG,CAAEA,GAAI,cAAe,EAAG,CAAEA,GAAI,eAAgB,EACjK,EACA6C,OAAQ,CACN8I,SAAU,CAAC,CAAE3L,GAAI,YAAa,EAAG,CAAEA,GAAI,cAAe,EAAG,CAAEA,GAAI,eAAgB,EAAG,CAAEA,GAAI,qBAAsB,EAAG,CAAEA,GAAI,YAAa,EAAG,CAAEA,GAAI,cAAe,EAAG,CAAEA,GAAI,eAAgB,EACvL,EACA+nB,OAAQ,CACN8N,QAAS,CAAC,CAAE71B,GAAI,gBAAiBzP,QAAS,CAAEuH,OAAQ,CAAA,CAAK,CAAE,EAC7D,CACF,CACF,EAKAq9D,EAAOs+E,oBAAsB,CAE3BoB,QAAS,SAAiBjf,GACxB,IAAIkf,EAAalf,EAAOkf,WACpBC,EAAwBnf,EAAOof,iBAC/BA,EAA6C/kJ,KAAAA,IAA1B8kJ,EAAsC,GAAKA,EAClE,OAAO,SAAUjtH,GAEX,CAAA,IAAUA,IACZqtC,EAAO+9E,eAAezrG,aAAe,KACrC0tB,EAAO+9E,eAAej/I,MAAQ,MAEhC6gJ,EAAWG,WAAW,CAACntH,CAAI,EAC3BktH,EAAiBv5I,QAAQ,SAAU23I,GACjC,OAAOA,EAAQ8B,WAAW,CAACptH,CAAI,CACjC,CAAC,CACH,CACF,EAEAqtH,QAAS,aAGTC,WAAY,SAAoBzkE,GAC9B,OAAO,WACLA,EAAG,CACL,CACF,EAEA0kE,WAAY,WACV,IAAI1f,EAA4B,EAAnBhtI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EoX,EAAa41H,EAAO51H,WACpBmuB,EAAYynG,EAAOznG,UAEvB,OAAO,SAAU7yB,GAEf9L,OAAO2yB,KAAKniB,CAAU,EAAEtE,QAAQ,SAAUhV,GACxC,OAAO4U,EAAQoS,IAAIhnB,EAAGsZ,EAAWtZ,EAAE,CACrC,CAAC,EAED,IAAIquJ,EAAa,KAAA,EACbE,EAAmB,GAEvB9mH,EAAUzyB,QAAQ,SAAU1V,GAC1B,IAAIwzB,EAAOxzB,EAAEouJ,YAAY,YAAY,EACjC56H,EAAK+7H,SAAS,GAChB/7H,EAAK07H,WAAW,CAAA,CAAK,EACrBH,EAAav7H,IAEbxzB,EAAEmvJ,WAAW,CAAA,CAAK,EAClBF,EAAiBpsJ,KAAK7C,CAAC,EAE3B,CAAC,EAGGovE,EAAOw+E,eAAeziJ,KAAK,SAAUrL,GACvC,MAAO,YAAcA,EAAE8jC,KACzB,CAAC,GACCwrC,EAAOi/E,mBAAmB,aAAcj/E,EAAOi/E,mBAAmB,UAAW,CAAEU,WAAYA,EAAYE,iBAAkBA,CAAiB,CAAC,CAAC,CAEhJ,CACF,EAEAO,kBAAmB,SAA2B7f,GAC5C,IAAIjuF,EAAeiuF,EAAOjuF,aAC1B,OAAO,WAEL0tB,EAAO+9E,eAAeviE,GAAG,CACvBlpC,aAAc0tB,EAAO+9E,eAAezrG,aACpCxzC,MAAOkhE,EAAO+9E,eAAej/I,KAC/B,CAAC,EAEDkhE,EAAOqgF,WAAW,CAAE/tG,aAAcA,CAAa,CAAC,CAClD,CACF,CAEF,EAEO0tB,CACT,CAiXFzuE,EAAQoF,QAAU,IAAIokJ,CAEtB,EAAE,CAAC9zD,aAAa,IAAI3/E,gBAAgB,IAAInD,eAAe,IAAIrD,oBAAoB,IAAIg2D,gBAAgB,IAAIlvB,oBAAoB,IAAI98B,mCAAmC,IAAIkb,uBAAuB,IAAIs6H,sBAAsB,GAAG,GAAGC,IAAI,CAAC,SAAStvJ,EAAQU,EAAOJ,GAC1P6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIiJ,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oBnB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAIkuC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAO3P0mJ,EAAgBrqJ,EAFDlF,EAAQ,aAAa,CAEe,EAInDoxF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/CiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD2+D,EAAYz5D,EAFDlF,EAAQ,eAAe,CAES,EAI3Ck0C,EAAgBhvC,EAFDlF,EAAQ,mBAAmB,CAES,EAEnDw4D,EAA6Bx4D,EAAQ,iCAAiC,EAEtE8+D,EAAuB9+D,EAAQ,2BAA2B,EAE1D+nG,EAAsB/nG,EAAQ,0BAA0B,EAExDgoG,EAAyBhoG,EAAQ,6BAA6B,EAE9DioG,EAAuBjoG,EAAQ,2BAA2B,EAE1D00E,EAAwB10E,EAAQ,4BAA4B,EAE5DooE,EAA0BpoE,EAAQ,8BAA8B,EAEhEqoE,EAA0BroE,EAAQ,8BAA8B,EAEhE2f,EAAkB3f,EAAQ,sBAAsB,EAEhDy0E,EAAYz0E,EAAQ,gBAAgB,EAEpCqyE,EAA0BryE,EAAQ,8BAA8B,EAIhE0tH,EAAuBxoH,EAFDlF,EAAQ,iCAAiC,CAEE,EAIjE8T,EAA+B5O,EAFDlF,EAAQ,6CAA6C,CAEF,EAEjFwvJ,EAAWxvJ,EAAQ,sBAAsB,EAEzCyvJ,EAAsBzvJ,EAAQ,iCAAiC,EAE/D0vJ,EAAqB1vJ,EAAQ,gCAAgC,EAE7D2vJ,EAAgB3vJ,EAAQ,2BAA2B,EAEnD4vJ,EAAqB5vJ,EAAQ,gCAAgC,EAE7D4oG,EAAkB5oG,EAAQ,6BAA6B,EAIvD4T,EAAS1O,EAFDlF,EAAQ,eAAe,CAEM,EAIrC0nG,EAAgBxiG,EAFAlF,EAAQ,sBAAsB,CAEM,EAIpD+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAInC6vJ,EAA0B3qJ,EAFDlF,EAAQ,sCAAsC,CAEA,EAIvE8vJ,EAAwB5qJ,EAFDlF,EAAQ,oCAAoC,CAEA,EAEnE6gJ,EAAW7gJ,EAAQ,eAAe,EAElC0oG,EAAc1oG,EAAQ,kBAAkB,EAExCwX,EAAuBxX,EAAQ,2BAA2B,EAE1Dg/D,EAAoBh/D,EAAQ,wBAAwB,EAEpDkpG,EAAelpG,EAAQ,wBAAwB,EAEnD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAI9F,SAAS6uC,EAAmBhkC,GAAO,GAAI/N,MAAMkF,QAAQ6I,CAAG,EAAG,CAAE,IAAK,IAAIxQ,EAAI,EAAGyoB,EAAOhmB,MAAM+N,EAAI7P,MAAM,EAAGX,EAAIwQ,EAAI7P,OAAQX,CAAC,GAAMyoB,EAAKzoB,GAAKwQ,EAAIxQ,GAAM,OAAOyoB,CAAM,CAAS,OAAOhmB,MAAMimB,KAAKlY,CAAG,CAAK,CAQlM,SAASjD,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAKzc,IAAI4oJ,EAAM,CACR7rB,QAAS,IACTj3B,SAAU,GACV+iD,WAAY,GACZt6E,cAAe,KACfu6E,OAAQ,GACR54B,eAAgB,GAChB64B,mBAAoB,CAAA,EACpB57I,OAAQnL,OAAO+tC,OAAO,IAAIk6C,EAAY1rF,QAAQ,CAAE2vF,QAAS,CACrDimB,eAAgB,SAAwBhwC,GACtCykF,EAAIE,OAAO3kF,EAAM3jD,MAAM,GAAK2jD,CAC9B,EACA6kF,kBAAmB,SAA2B7kF,GACxCA,GACF,OAAOykF,EAAIz7I,OAAO27I,OAAO3kF,EAAM3jD,MAAM,EAEzC,CACF,CAAE,CAAC,EAAG,CACNpT,aAAc,SAAsBqF,GAClC,OAAOzQ,OAAOa,OAAO+lJ,EAAIE,MAAM,EAAE7lJ,IAAI,SAAU42B,GAC7C,OAAOA,EAAEzsB,aAAaqF,CAAE,CAC1B,CAAC,EAAE9O,KAAK,SAAU6rB,GAChB,OAAOA,CACT,CAAC,CACH,EACAk1C,UAAW,SAAmBz2D,GAC5B,OAAOjM,OAAOa,OAAO+lJ,EAAIE,MAAM,EAAElkE,QAAQ,SAAU/qD,GACjD,OAAOA,EAAE6qC,UAAUz2D,CAAM,CAC3B,CAAC,CACH,EACA+jH,wBAAyB,WACvB,OAAOhwH,OAAOa,OAAO+lJ,EAAIE,MAAM,EAAE76I,OAAO,SAAU4rB,GAChD,OAAOA,EAAEk3F,YAAY,CACvB,CAAC,CACH,EACA18F,eAAgB,SAAwB5hB,GACtC,OAAOm2I,EAAIE,OAAOr2I,EACpB,EACAw2I,gBAAiB,WACf,OAAOjnJ,OAAOa,OAAO+lJ,EAAIE,MAAM,CACjC,CACF,CAAC,CACH,EAKI15B,EAAW,CACb85B,aAAgB,WACd,IAAIzmJ,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,IAAImrH,EAAqBhoH,QAAQuxC,EAAS,GAAIrtC,EAAM,CAAEgJ,GAAI,IAAIA,GAAGwkD,QAAQk5F,aAAa1mJ,CAAI,CAAE,CAAC,CAAC,CACvG,EACAgiF,KAAQ,WACN,IAAIhiF,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,IAAImrH,EAAqBhoH,QAAQuxC,EAAS,GAAIrtC,EAAM,CAAEgJ,GAAI,IAAIA,GAAGwkD,QAAQm5F,KAAK3mJ,CAAI,CAAE,CAAC,CAAC,CAC/F,EACA66G,UAAa,WACX,IAAI76G,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,IAAImrH,EAAqBhoH,QAAQuxC,EAAS,GAAIrtC,EAAM,CAAEgJ,GAAI,IAAIA,GAAGwkD,QAAQo5F,UAAU5mJ,CAAI,CAAE,CAAC,CAAC,CACpG,EACAojE,SAAY,WACV,IAAIpjE,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,IAAImrH,EAAqBhoH,QAAQuxC,EAAS,GAAIrtC,EAAM,CAAEgJ,GAAI,IAAIA,GAAGwkD,QAAQq5F,YAAY7mJ,CAAI,CAAE,CAAC,CAAC,CACtG,EAEAg7G,YAAe,WAEb,OAAO,IAAI8I,EAAqBhoH,QAAQ,CAAEihB,SAAS,IAAKpb,IAAIC,OAAOqkJ,EAAwBnqJ,OAAQ,IAAIkjB,OAAO,EAAEC,IAAK+kG,SAAU,kCAAmC,CAAC,CACrK,EACAvuD,UAAa,WACX,IAAIz1D,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,IAAImrH,EAAqBhoH,QAAQ,CAAEihB,QAAS,IAAKpb,IAAIC,OAAOskJ,EAAsBpqJ,OAAQ,GAAE,CAAE+2F,UAAW7yF,EAAKywB,MAAO,CAAC,EAAEzR,OAAO,EAAEC,IAAKmmE,QAAS,CAAA,CAAM,CAAC,CAC/J,EACA0hE,QAAW,WAET,OAAO,IAAIhjC,EAAqBhoH,QAAQuxC,EAAS,GADnB,EAAnB10C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACpB,CACzDoB,KAAM,UACNiqH,SAAU,cACVtkG,MAAO,IACP4lG,iBAAkBt8G,GAAGyB,YAAYmjH,QACjCpI,YAAa,eACbuD,SAAU,SAAkBxqH,GAC1B,IAAI6D,EAAQ5K,KAER0wG,EAAS3pG,EAAK2pG,OAGd,UAAYA,IAEd1wG,KAAKuvJ,iBAAmB,KACxBvvJ,KAAKkwH,aAAaruH,GAAG,WAAY,SAAUxD,GACzC,OAAOuM,EAAM2kJ,iBAAmBlxJ,EAAEkT,UACpC,CAAC,EACDvR,KAAKkwH,aAAaruH,GAAG,SAAU,SAAUxD,GACvCuM,EAAMyrD,cAAc,CAAEvwD,KAAM,UAAW05D,OAAQhuD,GAAGguD,OAAO+2D,eAAe,CAAC3rH,EAAM2kJ,iBAAkBlxJ,EAAEkT,WAAW,CAAE,CAAC,EACjH3G,EAAM2kJ,iBAAmB,KACrB3kJ,EAAMulH,eACRvlH,EAAMyhB,OAAO,CAEjB,CAAC,EAEL,CACF,CAAC,CAAC,CACJ,EACAm3B,MAAS,WACP,IAAIh7C,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO,IAAImrH,EAAqBhoH,QAAQuxC,EAAS,GAAIrtC,EAAM,CACzDolF,QAAS,CAAA,EACTrrF,KAAM,QACNiqH,SAAU,gCACVtkG,MAAO1f,EAAK0f,OAAS,IACrBgnG,SAAU,CAAA,EACVpB,iBAAkBp7G,EAA6BpO,QAC/C0pH,YAAa,UACbuD,SAAU,SAAkBt6G,GAC1B,IAMMgI,EAwBAhX,EA9BF2B,EAAS5J,KAETgJ,EAAMiO,EAAMjO,IACZ0nG,EAASz5F,EAAMy5F,OAEnB1wG,KAAKwvJ,SAAWxvJ,KAAKwvJ,WACfvwI,EAAQjT,EAAkB,UAAWwL,GACnCtR,EAAcsR,EAAMtR,YAExByJ,EAAMrL,QAAQ4nF,aAAa,EAC3B,IACE,IAAIprE,EAAUjV,EAAcvH,QAAQwc,QACpC/S,MAAMyE,EAAOlO,QAAQ0S,QAAQ,oBAAqB,CAChDgpC,OAAQ,CACN95C,YAAaA,EACbqO,cAAeuM,EAAQjY,MAAM0L,eAAiB,EAC9Cw3H,sBAAuBjrH,EAAQ2uI,uBAAuB,EACtDl4B,YAAa,GAAGj3H,OAAOwgB,EAAQjY,MAAM2uH,gBAAgB,EAAE/tH,SAASG,EAAOrH,IAAI,CAC7E,CACF,CAAC,CAGH,CAFE,MAAOlE,IAGX,CAAC,EAEM,SAAU89B,GACf,OAAOld,EAAM3d,MAAMtB,KAAMmB,SAAS,CACpC,GAEE,WAAauvG,IACXzoG,EAAM,KACVjI,KAAK6B,GAAG,UAAW,SAAUmd,GAGvB,CAAA,IAFUA,EAAM8c,SAGlBtqB,GAAGI,WAAWC,QAAQ5J,CAAG,EACzBA,EAAM,MACG,OAASA,GAAOe,IACzBf,EAAM2B,EAAO8lJ,eAAe,EAAE7tJ,GAAG,UAAU,EAAIwxE,EAAU8E,UAAU,SAAU95E,GAC3E,OAAOuL,EAAO4lJ,SAAS,CAAEtpJ,YAAa7H,EAAEkT,UAAW,CAAC,CACtD,CAAC,CAAC,EAEN,CAAC,EACDvR,KAAKw2H,YAAY,CAAE1F,UAAW,SAAUjC,SAAU7uH,KAAK6B,GAAG,SAAU7B,KAAKwvJ,QAAQ,CAAE,CAAC,EAExF,CACF,CAAC,CAAC,CACJ,EACAntC,QAAW+rC,EAASn5B,QACpBhS,YAAeorC,EAAoBhiC,mBACnCsjC,WAAcrB,EAAmBx0B,kBACjC81B,UAAa,WAEX,OAAO,IAAItjC,EAAqBhoH,QAAQuxC,EAAS,GADnB,EAAnB10C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACpB,CAAEqrH,SAAU,mCAAoCtkG,MAAO,IAAU3lB,KAAM,WAAYgvH,SAAU,SAAkBlzH,GACtK,IAAIkZ,EAASvX,KAET,UAAY3B,EAAEqyG,QAAQl9F,EAAExT,KAAKulB,OAAO,EAAE1jB,GAAG,QAAS,WACpD,OAAO0V,EAAO8+C,cAAc,UAAU,CACxC,CAAC,CACH,CACF,CAAC,CAAC,CACJ,EACAyvC,QAAW0B,EAAgBqrB,eAC3Bg9B,cAAiB,WACf,IAAIrnJ,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/E,OAAO4G,OAAO+tC,OAAO,IAAItkC,GAAGwkD,QAAQ85F,cAAcj6G,EAAS,GAAIrtC,EAAM,CAAEf,OAAQe,EAAKf,QAAU,wBAAyB,CAAC,CAAC,EAAG,CAAEmmF,QAAS,CAAA,CAAK,CAAC,CAC/I,EACA9uB,MAASyvF,EAAcr2B,aACvB/J,QAAW7B,EAAqBhoH,QAChCqkH,WAAc6lC,EAAmBv1B,iBACnC,EAeI82B,GAVJ56B,EAAoB,UAAIA,EAAoB,UAC5CA,EAAmB,SAAIA,EAAkB,QACzCA,EAAe,KAAIA,EAAkB,QACrCA,EAAiB,OAAIA,EAAkB,QACvCA,EAAwB,cAAIA,EAAqB,WACjDA,EAAoB,UAAIA,EAAkB,QAC1CA,EAAwB,cAAIA,EAAkB,QAC9CA,EAA6B,mBAAIA,EAAkB,QACnDA,EAAyB,eAAIA,EAAkB,SAEpBl7B,IACzB9xF,IAihFQ4lI,EAzWAC,EAvIAqe,EArHArY,EAxuBAtF,EAjEAC,EAzDA7mD,EA1xCS1/E,EAgNP2nJ,EAhN+B,GAA0B,YAAtB,OAAOznJ,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EAkN1M,SAASynJ,IACP3/D,IAEIxiC,EAuaIzY,EAhoBsC,GAuN9Bn1C,gBAAM+vJ,EAypBtB,OAvpBIniG,GAvNR,CAAoC1kD,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAuNnMrJ,MAAO+vJ,EAAW5mJ,WAAapB,OAAOqB,eAAe2mJ,CAAU,GAAG5wJ,KAAKa,IAAI,CAAC,GAE7G6I,MAAQ,CACb46H,SAAU,IACV59F,KAAM,GACNwvB,SAAU,GACVgX,WAAY,KACZkiB,OAAQ,KACR78D,QAAS,CAAA,EACTme,OAAQ,CAAA,EACRivB,MAAO,EACPxJ,SAAU,CAAE9oD,KAAM,KAAMmiB,MAAO,IAAK,EACpCknC,SAAU,CAAC,SACb,EAOAjI,EAAO6kD,OAAS,IAAItmG,QAAQ,SAAU6uD,GACpC,OAAOpN,EAAO7rD,KAAK,YAAai5D,CAAG,CACrC,CAAC,EAEDpN,EAAO+b,OAAS,KAEhB/b,EAAOnmD,OAAS,MAEhBmmD,EAAOloB,YAAc,EAErBkoB,EAAO9sC,QAAUjV,EAAcvH,QAAQwc,QAEvC8sC,EAAOoiG,UAAY,GAEnBpiG,EAAOv3B,QAAU,CACf2H,KAAM,GACNiyH,IAAK,GACLC,aAAc,GACdC,gBAAiB,GACjBh7H,SAAU,EACZ,EAKAy4B,EAAOwiG,sBAAwB,GAM/BxiG,EAAOyiG,eAAiB,CAEtBC,UAAW,IAAI9+I,GAAG4C,MAAMkqD,OAAO,CAC7BlnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OACtB3vC,MAAO,IAAInd,GAAGmd,MAAM4vC,MAAM,CACxBpjC,MAAO,IAAI3pB,GAAGmd,MAAMkwC,KAAK,CACvB3gC,QAAS,EACTnQ,IAAK,4CACL+wC,MAAO,EACT,CAAC,CACH,CAAC,CACH,CAAC,EAEDyxF,OAAQ,CACNC,eAAgB,CAAEv0I,MAAOxT,KAAAA,CAAU,EACnCgoJ,eAAgB,CAAEx0I,MAAO,KAAM,CACjC,EAEAu0I,eAAgB,IAAIh/I,GAAG4C,MAAMkqD,OAAO,CAClClnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OACtB3vC,MAAO,SAAeyY,GACpB,MAAO,EAAC,EAAIy/D,EAAqBiC,qBAAqB,CACpDhiE,aAAcM,EAAKE,YAAY,EAAE1hC,QAAQ,EACzCqW,MAAO2xC,EAAOyiG,eAAeE,OAAOC,eAAev0I,MACnDuvB,KAAM,CAAA,CACR,CAAC,EACH,CACF,CAAC,EAEDilH,eAAgB,IAAIj/I,GAAG4C,MAAMkqD,OAAO,CAClClnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OACtB3vC,MAAO,SAAeyY,GACpB,MAAO,EAAC,EAAIy/D,EAAqBiC,qBAAqB,CACpDhiE,aAAcM,EAAKE,YAAY,EAAE1hC,QAAQ,EACzCqW,MAAO2xC,EAAOyiG,eAAeE,OAAOE,eAAex0I,MACnDuvB,KAAM,CAAA,CACR,CAAC,EACH,CACF,CAAC,CAEH,EAEAoiB,EAAO8iG,kBAAoB,GAE3B9iG,EAAO+iG,YAAc,CACnB7qJ,KAAM,aACN8qJ,MAAO,GACPxoF,MAAO,GACPtJ,MAAO,KACPqJ,SAAU,KACVwoC,SAAU,IACZ,EAEA/iD,EAAO30B,OAASpuB,OAAOC,WAEvB8iD,EAAOijG,mBAAqB,EAE5BjjG,EAAOkjG,QAAU,KAEjBljG,EAAOmjG,iBAAmBnjG,EAAOmjG,iBAAiB/uH,KAAK4rB,CAAM,EAC7DA,EAAOojG,eAAiBpjG,EAAOojG,eAAehvH,KAAK4rB,CAAM,EACzDA,EAAOqjG,iBAAmBrjG,EAAOqjG,iBAAiBjvH,KAAK4rB,CAAM,EAC7DA,EAAOsjG,iBAAmBtjG,EAAOsjG,iBAAiBlvH,KAAK4rB,CAAM,EAC7DA,EAAOujG,gBAAkBvjG,EAAOujG,gBAAgBnvH,KAAK4rB,CAAM,EAE3DA,EAAOwjG,WAAa,CAClB5/I,GAAI,GACJq9I,OAAQ,GACR9+B,UAAW,EACb,EAEAniE,EAAO9sC,QAAQ01C,QAAQ,eAAgB5I,EAAOujG,eAAe,EAE7DvjG,EAAO6iD,UAAY,CACjB4gD,gCAAiC,CAC/B/qE,IAAK,WACH14B,EAAO0jG,iCAAiChwJ,MAAMssD,EAAQzsD,SAAS,CACjE,EACAqvD,MAAO,GACT,CACF,EAEA5C,EAAOqmC,QAAU,CACfs9D,cAAe,WACb,IAAIrhG,EAASlwD,KAETwxJ,EAAUxxJ,KAAKi5B,OACfw4H,EAA2BD,EAAQC,yBACnCC,EAA2BF,EAAQE,yBAInC9wC,EAAc6wC,CAAAA,CAAAA,IAA2BC,EAA2B,YAAcA,EAA2B,KAAOD,EAA2B,OAAS,sDAAwDA,EAA2B,WAY/O,GAVAzxJ,KAAK2xJ,aAAa,EAAE19I,QAAQ,SAAUshB,GACpC,OAAOA,EAAE0R,UAAU,EAAEmhG,gBAAgBxnB,CAAW,CAClD,CAAC,GAGGA,IAAe,EAAIttC,EAAsBc,sBAAsB,CAAE0jE,UAAW,CAAA,CAAK,CAAC,EAAE14I,SACtFY,KAAKwQ,OAAO,EAAEomH,WAAW,IAAIplH,GAAGwkD,QAAQ47F,YAAY,CAAElmI,YAAa,CAAA,EAAOjkB,OAAQ,iBAAkB,CAAC,CAAC,EAInGzH,KAAKi5B,QAAWj5B,KAAKi5B,OAAO+kC,YAsPjC,OAjPIA,EAAc98D,MAAMkF,QAAQpG,KAAKi5B,OAAO+kC,WAAW,EAAIh+D,KAAKi5B,OAAO+kC,YAAY1oC,OAAO,SAAUx2B,EAAGmK,GAC3F,OAAVnK,EAAEmK,GAAK,GAAUnK,CACnB,EAAG,EAAE,EACHkB,KAAKi5B,OAAO+kC,YAEdj2D,OAAO8f,QAAQm2C,CAAW,EAAE/pD,QAAQ,SAAUmW,GAC5C,IA8BUwiD,EACA58D,EACA6hJ,EAMA77F,EAtCNj3C,EAAQ/P,EAAeob,EAAO,CAAC,EAC/BtkB,EAAOiZ,EAAM,GACb+yI,EAAS/yI,EAAM,GACfka,EAAoBxwB,KAAAA,IAAXqpJ,EAAuB,GAAKA,EAEzC,OAAQhsJ,GACN,IAAK,OACHoqD,EAAO6hG,iBAAiBjsJ,CAAI,EAC5B,MAEF,IAAK,UACEwmB,SAAS+qF,KACZnnD,EAAO6hG,iBAAiBjsJ,EAAM,EAAE,EAAEjE,GAAG,UAAW,SAAUxD,GACxD,OAAO6xD,EAAOyZ,OAAOxE,IAAI9mE,EAAEmhE,MAAM,CACnC,CAAC,EAEH,MAEF,IAAK,eACHtP,EAAO6hG,iBAAiBjsJ,EAAM,CAC5BiD,QAAS,CACPmf,MAAO,IACPs3C,OAAQtP,EAAOpvC,QAAQjY,MAAM82D,UAC/B,CACF,CAAC,EACD,MAEF,IAAK,gBACErzC,SAAS+qF,MAERzqC,EAAU,YAAc1c,EAAOoH,cAAc,EAAEmhE,SAAS,EACxDzoH,EAAUkgD,EAAOoG,QAAQ,EAOzBN,EAAU9F,EAAO6hG,iBAAiBjsJ,EAAM,CAC1CgB,IAAK,EAPH+qJ,EAAmB,SAA0BnhJ,EAAMshJ,GACrD,MAAI,cAAgBthJ,EACXc,GAAGD,WAAWkmB,OAAOjmB,GAAGC,KAAKC,UAAUsgJ,EAAQhiJ,EAAS,WAAW,EAAG,qCAAkD,CAAC,EAE3HwB,GAAGD,WAAWkmB,OAAOu6H,EAAQ,KAAUplF,EAAU,MAAQ,KAAO,WAAaA,EAAU,MAAQ,KAAO,YAAoBl8D,EAAO,KAASk8D,EAAU,EAAI,CAAC,CAClK,GAGE7jE,QAAS,CACP8oJ,iBAAkBA,EAAiB7vH,KAAK,KAAMhyB,CAAO,EACrDiiJ,cAAe,CAAA,EACfl3F,WAAY7K,EAAOjgD,OAAO,CAC5B,CACF,CAAC,EACG,cAAgBD,GAClBgmD,EAAQn0D,GAAG,cAAe,SAAUxD,GAClC,OAAO23D,EAAQk8F,oBAAoBL,EAAiB7vH,KAAK,KAAM3jC,EAAEqS,IAAI,CAAC,CACxE,CAAC,GAGL,MAEF,IAAK,aACL,IAAK,gBACE4b,SAAS+qF,MACRnnD,EAAOkG,oBAAoB,YAAY,EACzClG,EAAOkG,oBAAoB,YAAY,EAAE2+D,QAAQjvH,CAAI,EAErDoqD,EAAO6hG,iBAAiB,aAAc,CACpChpJ,QAAS,CACP4+B,MAAO,CAAC7hC,GACRoN,OAAQ,GAAG5S,OAAO2yC,EAAmB07G,EAAIz7I,OAAOu3D,UAAU,CAAC,EAAGx3B,EAAmBid,EAAO75B,QAAQlB,QAAQ,CAAC,CAC3G,CACF,CAAC,GAGL,MAEF,IAAK,QACH+6B,EAAO6hG,iBAAiBjsJ,EAAM,CAC5BgB,IAAK,CAAA,EACLiC,QAAS,CACP8oJ,iBAAkBrgJ,GAAGD,WAAW4gJ,eAAe,CAAC,EAChDp3F,WAAY7K,EAAOjgD,OAAO,EAC1Bqc,SAAUA,SAAS+qF,GACrB,CACF,CAAC,EACD,MAEF,IAAK,QACHnnD,EAAO6hG,iBAAiBjsJ,EAAM,CAC5BgB,IAAK,CAAA,EACLg1B,QAAS,CAAA,CACX,CAAC,EACD,MAEF,IAAK,iBACL,IAAK,YACL,IAAK,gBACL,IAAK,qBACExP,SAAS+qF,MACRnnD,EAAOkG,oBAAoB,SAAS,EACtClG,EAAOkG,oBAAoB,SAAS,EAAE2+D,QAAQjvH,CAAI,EAElDoqD,EAAO6hG,iBAAiB,UAAW,CACjChpJ,QAAS,CACP4+B,MAAO,CAAC7hC,EACV,CACF,CAAC,GAGL,MAEF,IAAK,aACHoqD,EAAO6hG,iBAAiBjsJ,EAAM,EAAE,EAChC,MAEF,IAAK,YACHoqD,EAAO6hG,iBAAiBjsJ,EAAM,CAC5BgB,IAAK,CAAA,EACLiC,QAAS,CACP8lB,SAAU,IACZ,CACF,CAAC,EACD,MAEF,IAAK,WACC,CAACvC,SAAS+qF,KAAOxsG,OAAOC,WAAWksF,kBACrC,EAAIsQ,EAAY7nC,YAAY50D,OAAOC,WAAWksF,eAAe,EAAErqF,KAAK,SAAUmU,GAE5E,IAAI9X,EAAMknD,EAAO1/C,OAAO,EACpB60D,EAAO,IAAI7zD,GAAG4gJ,KAAKliG,EAAOmiG,sBAAsB,CAAEvxI,QAASA,EAASoC,MAAO,IAAKE,OAAQ,GAAI,CAAC,CAAC,EAClGiiD,EAAKxjE,GAAG,gBAAiB,WACvB,IAAIg2B,EAAUwtC,EAAK02D,UAAU,EACzBxtC,EAASvlF,EAAIk8D,QAAQ,EAAEotF,gBAAgBz6H,CAAO,EAC9C02D,EAAO,KAAO12D,EAAQ,IAAM02D,EAAO,KAAO12D,EAAQ,IACpDwtC,EAAK4nD,UAAU1+B,CAAM,CAEzB,CAAC,EACDr+B,EAAO6hG,iBAAiBjsJ,EAAM,CAC5BgB,IAAK,CAAA,EACLiC,QAAS,CACPs8D,KAAMA,EACNx2C,SAAU,KACV5D,UAAW,CAAA,EACXrD,UAAW,uCACX2qI,cAAe/+I,EAAE,gBAAkB7D,EAAMrL,QAAQgtC,aAAa,YAAY,EAAI,WAAW,EAAE,GAC3FppB,MAAO1U,EAAE,gBAAkB7D,EAAMrL,QAAQgtC,aAAa,aAAa,EAAI,WAAW,EAAE,GACpFp+B,OAAQnL,OAAO8f,QAEf/G,EAAQsZ,eAAe,EAAEqwC,UAAU,CAAEtH,SAAU,CAAA,EAAM20E,UAAW,CAAA,CAAM,CAAC,EAAExiH,OAAO,SAAUyE,EAAOxE,GAC/F,IAAI/c,EAAK+c,EAAEiuH,gBAAgB,EAG3B,OAFAzpH,EAAMvhB,GAAMuhB,EAAMvhB,IAAO,GACzBuhB,EAAMvhB,GAAIpX,KAAKm0B,CAAC,EACTwE,CACT,EAAG,EAAE,GAAK,EAAE,EAAE/wB,IAAI,SAAUorB,GAC1B,IAAID,EAAQnlB,EAAeolB,EAAO,CAAC,EAC/B5b,EAAK2b,EAAM,GACXjhB,EAASihB,EAAM,GAKfq+H,EAAW,IAHA5zJ,EAAQ,uBAAuB,EACnBk8D,aAEI,CAC7Bh1C,IAAKhF,EAAQjY,MAAM4pJ,OACnBj6I,GAAI,kBAAoBA,EACxBoqH,MAAO1vH,EAAO,GAAGrK,MAAM+5H,KACzB,CAAC,EAID,OAHA1vH,EAAO03D,QAAQ,EAAE32D,QAAQ,SAAUshB,GACjC,OAAOi9H,EAAS54F,SAASrkC,CAAC,CAC5B,CAAC,EACMi9H,EAASp3F,WAAW,CAAA,CAAI,CACjC,CAAC,EAAEwP,QAAQ,CACb,CACF,CAAC,EAEDznE,SAASsiB,cAAc,+BAA+B,EAAEkJ,MAAM6S,KAAO,QACtD,IAAI0tD,iBAAiB,SAAUC,GAC5CA,EAAUl7E,QAAQ,SAAUm7E,GACtB,UAAYA,EAASC,gBACvBlsF,SAASsiB,cAAc,+BAA+B,EAAEkJ,MAAM6S,KAAO4tD,EAAS3nF,OAAOsjB,UAAUC,SAAS,cAAc,EAAI,OAAS,QAEvI,CAAC,CACH,CAAC,EACQ+jE,QAAQ5rF,SAASsiB,cAAc,wBAAwB,EAAG,CAAE3R,WAAY,CAAA,CAAK,CAAC,CACzF,CAAC,EAAEwD,MAAM,SAAUjZ,IAElB,EAEH,MAEF,IAAK,YACL,IAAK,YACH6xD,EAAO6hG,iBAAiBjsJ,EAAM,CAC5BgB,IAAK,CAAA,EACLiC,QAAS,CAAEkwB,OAAQA,CAAO,CAC5B,CAAC,EACD,MAEF,IAAK,cACHi3B,EAAO6hG,iBAAiBjsJ,CAAI,EAAEjE,GAAG,SAAS,EAAIwxE,EAAU8E,UAAU,SAAU95E,GAC1E,OAAO6xD,EAAOwiG,WAAWr0J,EAAE6H,WAAW,CACxC,CAAC,CAAC,EACF,MAEF,IAAK,YACEomB,SAAS+qF,KACZnnD,EAAO6hG,iBAAiBjsJ,EAAM,EAAE,EAAEjE,GAAG,WAAY,WAC/C,OAAOquD,EAAO0lE,kBAAkB,CAClC,CAAC,EAEH,MAEF,IAAK,SACL,IAAK,OACEtpG,SAAS+qF,MACRnnD,EAAOkG,oBAAoB,SAAS,EACtClG,EAAOkG,oBAAoB,SAAS,EAAE2+D,QAAQjvH,CAAI,EAElDoqD,EAAO6hG,iBAAiB,UAAW,CACjChpJ,QAAS,CACPxG,KAAM,UACNiqH,SAAU,iCACV7kF,MAAO,CAAC7hC,GACR2oH,wBAAyB,CACvB1zD,WAAY7K,EAAOoH,cAAc,EACjCtT,KAAM,4BAA8Bl+C,EAAO,OAC7C,CACF,CACF,CAAC,GAGL,MAKF,IAAK,cACH0N,EAAE,+BAA+B,EAAEoS,OAAOsqC,EAAO6hG,iBAAiBjsJ,EAAM,CAAEgB,IAAK,CAAA,CAAM,CAAC,EAAEye,OAAO,CAGnG,CACF,CAAC,EACMvlB,KAAK+1D,eAAe,CAC7B,EACA48F,WAAY,WACV,IACIC,GAD4B,EAAnBzxJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAClD21D,WAC3BA,EAAmCruD,KAAAA,IAAtBmqJ,GAA0CA,EAEvDC,EAAQ,CACVr6I,GAAI,WAAa49B,KAAKC,IAAI,EAC1BrtC,IAAK,KACL8tD,WAAYA,CACd,EAEA,OADA92D,KAAK6I,MAAMwsD,SAASj0D,KAAKyxJ,CAAK,EACvBA,CACT,EACAC,UAAW,SAAmBxyH,GAC5BtgC,KAAK6I,MAAMgnC,OAASvP,CACtB,EAIAyyH,aACM59G,EAASnpC,EAAkB,UAAWkX,EAAOE,GAC/C,IAOItM,EAEAk8I,EACAC,EACAC,EACAC,EACAnB,EA0DAhpJ,EAqCAoqJ,EACAC,EA7GA52F,EAASz8D,KAET,IAAMkjB,GAAS,IAAME,IAOrB4vI,EAAa,GAFbl8I,EAAS,IAAIm0D,gBAAgBzpD,SAAS1K,MAAM,GAEnBkD,IAAI,YAAY,GAAK,GAC9Ci5I,EAAan8I,EAAOkD,IAAI,YAAY,EACpCk5I,EAAcp8I,EAAOkD,IAAI,aAAa,EACtCm5I,EAAmBr8I,EAAOkD,IAAI,KAAK,EACnCg4I,EAAS,CACXnhJ,IAAKqxD,WAAWprD,EAAOkD,IAAI,KAAK,CAAC,EACjCpJ,IAAKsxD,WAAWprD,EAAOkD,IAAI,KAAK,CAAC,EACjCuoB,EAAG2/B,WAAWprD,EAAOkD,IAAI,GAAG,CAAC,EAC7Bo+C,EAAG8J,WAAWprD,EAAOkD,IAAI,GAAG,CAAC,CAC/B,EAEIha,KAAK2pE,QACP3pE,KAAK2pE,OAAO4W,QAAQ,EAGlB+yE,EAAQ,IAAI9hJ,GAAG+hJ,IAAI,CACrB1nD,SAAUr6F,GAAGwkD,QAAQ6hD,SAAS,CAAE+I,YAAa,CAAA,EAAOp2B,KAAM,CAAA,EAAOgpE,cAAe,CAAEC,SAAU,CAAA,EAAMjnC,SAAU,sCAAuC,CAAE,CAAC,EACtJ5gB,aAAcp6F,GAAGyB,YAAY4kG,SAAS,EAAEztG,OAAO,CAAC,IAAIoH,GAAGyB,YAAYygJ,WAAW,CAAEv5E,UAAW3oE,GAAGupF,OAAO5gB,UAAUw5E,uBAAwB,CAAC,EAAE,EAC1IC,QAAS,CAAA,EACTC,oBAAqB1wJ,SACrBsE,OAAQzH,KAAKyH,OACb49D,KAAM,IAAI7zD,GAAG4gJ,KAAKpyJ,KAAKqyJ,sBAAsB,CAC3CnvI,MAAOA,EACPE,OAAQA,EACRtC,QAAS9gB,KAAK8gB,QACdskB,WAAYtuB,EAAOkD,IAAI,YAAY,CACrC,CAAC,CAAC,CACJ,CAAC,EAEDha,KAAK2pE,OAAS,CACZ3gE,IAAKsqJ,EACL9iJ,OAAQ,WACN,OAAOisD,EAAOkN,OAAO3gE,GACvB,EACAk8D,QAAS,WACP,OAAOzI,EAAOkN,OAAO3gE,IAAIk8D,QAAQ,CACnC,EACA4uF,QAAS,WACP,OAAOr3F,EAAOkN,OAAO3gE,IAAIk8D,QAAQ,EAAE4uF,QAAQ,CAC7C,EACAxnF,cAAe,WACb,OAAO7P,EAAOkN,OAAO3gE,IAAIk8D,QAAQ,EAAEoH,cAAc,CACnD,EACAyvD,UAAW,WACT,OAAOt/D,EAAOkN,OAAO3gE,IAAIk8D,QAAQ,EAAE62D,UAAU,CAC/C,EACAx7C,QAAS,WACH9jB,EAAOkN,OAAO3gE,MAChByzD,EAAOkN,OAAO3gE,IAAI+qJ,QAAQ,EAAEt3F,EAAOkN,OAAO3gE,IAAM,KAEpD,EACAmiJ,OAAQnrJ,KAAKmrJ,OAAOnpH,KAAKhiC,IAAI,EAC7Bg0J,KAAMh0J,KAAKg0J,KAAKhyH,KAAKhiC,IAAI,EACzBmlE,IAAKnlE,KAAKi0J,KAAKjyH,KAAKhiC,IAAI,EAExBk0J,gBAAiB,SAAyB3xJ,GACxC,OAAOk6D,EAAOzzD,IAAIyhE,UAAU,EAAE0pF,SAAS,EAAG13F,EAAOzzD,IAAIyhE,UAAU,EAAE/gE,KAAK,SAAU6rB,GAC9E,OAAOhzB,IAASgzB,EAAEvb,IAAI,MAAM,CAC9B,CAAC,CAAC,CACJ,CACF,GAEIhR,EAAMhJ,KAAK2pE,OAAOn5D,OAAO,GAGzB4jJ,gBAAgB,EAAE5rE,SAAS,EAAE9+E,KAAK,SAAUjL,GAC9C,OAAOA,aAAa+S,GAAGyB,YAAYohJ,eACrC,CAAC,EAAE5iC,UAAU,CAAA,CAAK,EAgCd2hC,EAlCJpqJ,KAKAA,EAAInH,GAAG,QAAS,SAAUuzC,GACxB,IAAI7jC,EAAa6jC,EAAO7jC,WAEpBmyF,EAAS,IAAIlyF,GAAG4C,MAAMkqD,OAAO,CAC/BlnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAAE5pD,SAAU,CAAC,IAAIlD,GAAGgvD,QAAQ,CAAEC,SAAU,IAAIjvD,GAAGkvD,KAAKC,MAAMpvD,CAAU,CAAE,CAAC,EAAG,CAAC,EACxGod,MAAO,IAAInd,GAAGmd,MAAM4vC,KACtB,CAAC,EACGtT,EAAQ,CAAC,IAAI7U,KAEbk+G,EAAW5wD,EAAO7hG,GAAG,cAAe,SAAU26D,GAChD,IAEI+3F,EAFa/3F,EAAOg4F,WAECxuE,KAAO/6B,EAC5BwL,EAAQjlD,GAAGijJ,OAAOC,QAAQH,EALjB,IAKmC,EAChD7wD,EAAOv/D,SAAS,IAAI3yB,GAAGmd,MAAM4vC,MAAM,CACjCpjC,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBx1D,OAAQ,GAAKxI,EACbjrB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,CAAC,IAAK,IAAK,IAAK,GAAI,CAAC,EACtDyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,CAAC,IAAK,IAAK,IAAK,GAAIiH,MAAO,MAAQ,EAAIuzC,EAAO,CAAC,CACtF,CAAC,CACH,CAAC,CAAC,EAZW,KAaT89F,IACFvrJ,EAAIkkH,YAAYxpB,CAAM,EACtBlyF,GAAGI,WAAWC,QAAQyiJ,CAAQ,EAElC,CAAC,EACDtrJ,EAAI4wD,SAAS8pC,CAAM,CACrB,CAAC,EAGG2vD,EAAW,CAAA,GAGf,IAAIlpJ,KAAMyD,OAAO,WACf,MAAO,CAAC6uD,EAAOk4F,4BAA4B,EAAGp3F,EAAUj5D,QAAQgiC,UAAU,SAAS,GAAKi3B,EAAUj5D,QAAQgiC,UAAU,SAAS,EAAEsuH,cAAc,EAC/I,EAAG,SAAUnlG,GACX,IAAIC,EAAS1gD,EAAeygD,EAAQ,CAAC,EACjCuG,EAAUtG,EAAO,GAIrB2jG,EAAW,EADXD,EAAiBp9F,IACM,CAHNtG,EAAO,GAIxB1mD,EAAI2lH,YAAY,EAAE5jG,UAAUsB,OAAO,UAAWgnI,CAAQ,EACtDrqJ,EAAIorJ,gBAAgB,EAAE5rE,SAAS,EAAE9+E,KAAK,SAAUjL,GAC9C,OAAOA,aAAa+S,GAAGyB,YAAYohJ,eACrC,CAAC,EAAE5iC,UAAU4hC,CAAQ,CACvB,CAAC,EAOG3yF,EApBJ,KAcA13D,EAAInH,GAAG,CAAC,cAAe,aAAc,SAAUxD,GAE7C2K,EAAI2lH,YAAY,EAAE5jG,UAAUsB,OAAO,cAAehuB,EAAU,eAAVA,EAAEyH,MAA2BstJ,GAAoBA,EAAe1D,eAAe,YAAal+I,GAAGyB,YAAYmjH,QAAS,EACtKptH,EAAI2lH,YAAY,EAAE5jG,UAAUsB,OAAO,UAAqB,aAAVhuB,EAAEyH,MAAuButJ,CAAQ,CACjF,CAAC,EAGGH,EACFnlJ,MAAM/N,KAAK60J,UAAU3B,CAAW,EACvBC,EACTplJ,MAAM/N,KAAK80J,kBAAkB3B,CAAgB,EACnCniJ,MAAMghJ,EAAOnhJ,GAAG,GAAMG,MAAMghJ,EAAOphJ,GAAG,EAEtCI,MAAMghJ,EAAOzvH,CAAC,GAAMvxB,MAAMghJ,EAAO55F,CAAC,IAC5CsI,EAAO,IAAIlvD,GAAGkvD,KAAKC,MAAM,CAACqxF,EAAOzvH,EAAGyvH,EAAO55F,EAAE,GAF7CsI,EAAO,IAAIlvD,GAAGkvD,KAAKC,MAAMnvD,GAAGC,KAAKC,UAAU,CAACsgJ,EAAOphJ,IAAKohJ,EAAOnhJ,KAAM,YAAa7Q,KAAKs2D,QAAQ,CAAC,CAAC,EAK/FoK,GAAQA,EAAK6iE,UAAU,IACzBx1H,MAAM/N,KAAK8gE,eAAeJ,CAAI,GAI5B,GAAMsyF,GACRhzJ,KAAKqwJ,eAAeC,UAAUrpH,UAAU,EAAE45B,WAAW,IAAIrvD,GAAGgvD,QAAQ,CAAEC,SAAU,IAAIjvD,GAAGkvD,KAAKC,MAAM3gE,KAAK+7H,UAAU,CAAC,CAAE,CAAC,CAAC,EAIpH,QAAUk3B,IACZjzJ,KAAKi5B,OAAO+kC,YAAc,IAI5B2wF,EAAI7rB,QAAU/4G,KAAKnU,KAAI,EAAIoxD,EAAwBkG,wBAAwBltE,KAAKwQ,OAAO,EAAE00D,QAAQ,EAAE6vF,uBAAuB/0J,KAAK8gB,QAAQjY,MAAM82D,WAAY3/D,KAAKwQ,OAAO,EAAE+0D,QAAQ,CAAC,EAAGvlE,KAAKysE,YAAY,CAAC,EAAGkiF,EAAI7rB,OAAO,EAEnN9iI,KAAK6I,MAAM+R,KAAO5a,KAAK2pE,OAAO3gE,IAAIu8D,QAAQ,EAC1CvlE,KAAK6I,MAAM46H,SAAWzjI,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAE5N,cAAc,EAAEmhE,SAAS,EAErEz4H,KAAKi5B,OAAO+7H,kBACdxhJ,EAAE,IAAMxT,KAAKyH,MAAM,EAAExE,IAAI,mBAAoBjD,KAAKi5B,OAAO+7H,gBAAgB,EAG3ExhJ,EAAExT,KAAK2pE,OAAO3gE,IAAI2lH,YAAY,CAAC,EAAEyD,QAAQ,8EAA8E,EAEvHpyH,KAAK2pE,OAAO3gE,IAAIorJ,gBAAgB,EAAEngJ,QAAQ,SAAUghJ,GAClD,OAAOx4F,EAAOy4F,kBAAkBD,CAAG,CACrC,CAAC,EACDj1J,KAAK2pE,OAAO3gE,IAAIorJ,gBAAgB,EAAEvyJ,GAAG,MAAO,SAAUozJ,GACpD,OAAOx4F,EAAOy4F,kBAAkBD,EAAI1vI,OAAO,CAC7C,CAAC,EAEDvlB,KAAK8wJ,QAAU,IAAIt/I,GAAGyiH,QAAQ,CAC5BplG,SAAU,KACVqlG,YAAa,gBACb3uG,QAASpiB,SAASo8B,eAAe,QAAQ,EACzC41H,UAAW,CAAA,CACb,CAAC,EAEDn1J,KAAK2pE,OAAO3gE,IAAImrH,WAAWn0H,KAAK8wJ,OAAO,EAGvC9wJ,KAAK2pE,OAAO3gE,IAAIyhE,UAAU,EAAE5oE,GAAG,MAAO,SAAUxD,GAC1CwkE,EAASpG,EAAO24F,eAAe,CACjChhJ,MAAO/V,EAAEknB,QACTs9C,OAAQxkE,EAAEknB,QAAQvL,IAAI,SAAS,GAAK,WAAa3b,EAAEknB,QAAQvL,IAAI,UAAU,EAAI,EAAIvR,KAAAA,CACnF,CAAC,EACGg0D,EAAO4zF,eAAeC,WACxB7zF,EAAO4zF,eAAeC,UAAU7qH,UAAUo9B,EAAS,CAAC,EAElDpG,EAAO4zF,eAAeG,gBACxB/zF,EAAO4zF,eAAeG,eAAe/qH,UAAUo9B,EAAS,CAAC,EAEvDpG,EAAO4zF,eAAeI,gBACxBh0F,EAAO4zF,eAAeI,eAAehrH,UAAUo9B,EAAS,CAAC,CAE7D,CAAC,EAED7iE,KAAK2pE,OAAO3gE,IAAIyhE,UAAU,EAAE5oE,GAAG,SAAU,SAAUxD,GAC7CA,EAAEknB,QAAQ8vI,UAAU,IAAM54F,EAAO/2B,aACnC+2B,EAAO/2B,WAAW,EAEtB,CAAC,EAED1lC,KAAK6I,MAAMg9B,KAAO7lC,KAAK6pF,WAAW,EAClC7pF,KAAK6I,MAAMwjE,WAAarsE,KAAK2pE,OAAO2C,cAAc,EAClDtsE,KAAK6I,MAAM0lF,OAASvuF,KAAK2pE,OAAOoyD,UAAU,EAC1C/7H,KAAKs1J,gBAAgB,EACrBt1J,KAAKu1J,iBAAiB,EAGtB5G,EAAIz7I,OAAO87I,gBAAgB,EAAE/6I,QAAQjU,KAAKw1J,8BAA8BxzH,KAAKhiC,IAAI,CAAC,EAClF2uJ,EAAIz7I,OAAOsjD,QAAQ,iBAAkBx2D,KAAKw1J,8BAA8BxzH,KAAKhiC,IAAI,CAAC,EAClF2uJ,EAAIz7I,OAAOsjD,QAAQ,oBAAqBx2D,KAAKy1J,+BAA+BzzH,KAAKhiC,IAAI,CAAC,EAEtFA,KAAKmC,KAAK,WAAW,EACrBnC,KAAKuxJ,cAAc,EACnBvxJ,KAAKmC,KAAK,OAAO,EACnB,CAAC,EAED,SAAqBuzJ,EAAM7K,GACzB,OAAO11G,EAAO7zC,MAAMtB,KAAMmB,SAAS,CACrC,GAIFw0J,aAAc,SAAsBC,KAGpCC,kBAAmB,SAA2BzhJ,KAE9C0hJ,oBAAqB,SAA6B1hJ,IACpD,EAEAw5C,EAAO/rD,GAAG,iBAAkB+rD,EAAOsjG,gBAAgB,EAC5CtjG,EAh3BiF,MAAM,IAAIrlD,UAAU,mCAAmC,CAi3BjJ,CAwrEA,OAriG+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAo3B/dlB,EAAa2oJ,EAAY,CAAC,CACxB9nJ,IAAK,mBACLlC,MAAO,SAA0B48H,EAAatnH,GAC5C,IAAIsyD,EAAS3tE,KAETqb,GACFrb,KAAK2xJ,aAAa,EAAE19I,QAAQ,SAAUshB,GACpC,OAAOA,EAAEla,OAAOsyD,EAAO9kE,MAAO85H,CAAW,CAC3C,CAAC,CAEL,CAQF,EAAG,CACD16H,IAAK,mBACLlC,MAAO,WACD,IAAM/F,KAAK6wJ,qBACb7wJ,KAAKmC,KAAK,WAAW,EACrBwN,EAAMrL,QAAQyxJ,YAAY,CAAE9vG,UAAWzyC,EAAE,cAAc,EAAGgF,GAAI,iBAAkBmW,MAAO,aAAc,CAAC,GAExG3uB,KAAK6wJ,oBAAsB,CAC7B,CAMF,EAAG,CACD5oJ,IAAK,iBACLlC,MAAO,WACL/F,EAAAA,KAAK6wJ,mBACD,IAAM7wJ,KAAK6wJ,qBACb7wJ,KAAKmC,KAAK,SAAS,EACnBwN,EAAMrL,QAAQ0xJ,YAAY,gBAAgB,EAE9C,CAMF,EAAG,CACD/tJ,IAAK,mBACLlC,MAAO,WAEA/F,KAAK8gB,QAAQjY,MAAMotJ,wBAGnBj2J,KAAKixJ,iBAAiBiF,QACzBvmJ,EAAMrL,QAAQ+gC,OAAO4oD,QAAQ,wBAAwB,EACrDjuF,KAAKixJ,iBAAiBiF,MAAQ,CAAA,GAEhCl2J,KAAKgxJ,eAAe,EACtB,CAQF,EAAG,CACD/oJ,IAAK,UACLlC,MAAO,WACL,OAAO/F,KAAKyyG,MACd,CACF,EAAG,CACDxqG,IAAK,mBACLlC,MAAO,WACL,IAAIuoE,EAAStuE,KAETm2J,EAAgBn2J,KAAK8gB,QAAQjY,MAAMqtB,oBAEvCl2B,KAAKoxJ,WAAW5/I,GAAGyC,QAAQ,SAAUklE,GACnC,OAAO3nE,GAAGI,WAAWC,QAAQsnE,CAAC,CAChC,CAAC,EACDn5E,KAAKoxJ,WAAW5/I,GAAGpQ,KAAKpB,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAErjE,GAAG,oBAAqB,WACxEysE,EAAOzlE,MAAMg9B,KAAOyoC,EAAOub,WAAW,EACtCvb,EAAOzlE,MAAMwjE,WAAaiC,EAAO3E,OAAO2C,cAAc,EACtDgC,EAAOzlE,MAAM0lF,OAASjgB,EAAO3E,OAAOoyD,UAAU,EAC9CztD,EAAO6iF,gBAAgB,EACnBgF,GACF7nF,EAAO+iF,gCAAgC,CAE3C,CAAC,CAAC,EACE8E,EACFn2J,KAAKoxJ,WAAW5/I,GAAGpQ,KAAKpB,KAAK2pE,OAAO3gE,IAAInH,GAAG,UAAW,WACpD,OAAOysE,EAAO+iF,gCAAgC,CAChD,CAAC,CAAC,EAGFrxJ,KAAKqxJ,gCAAgC,CAEzC,CAMF,EAAG,CACDppJ,IAAK,QACLlC,MAAO,WACL/F,KAAKiC,eAAe,iBAAkBjC,KAAKkxJ,gBAAgB,EAC3DlxJ,KAAKoxJ,WAAW5/I,GAAGyC,QAAQ,SAAUhM,GACnC,OAAOuJ,GAAGI,WAAWC,QAAQ5J,CAAG,CAClC,CAAC,EACDjI,KAAKoxJ,WAAW5/I,GAAGmZ,OAAO,CAAC,EAC3BgkI,EAAIz7I,OAAO87I,gBAAgB,EAAE/6I,QAAQjU,KAAKy1J,+BAA+BzzH,KAAKhiC,IAAI,CAAC,CACrF,CAMF,EAAG,CACDiI,IAAK,cACLlC,MAAO,WACL,IAAIqmD,EAA4B,EAAnBjrD,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7Es1D,EAAQrK,EAAOqK,MACf2/F,EAAgBhqG,EAAOl5C,OACvBA,EAA2BzK,KAAAA,IAAlB2tJ,EAA8B,GAAKA,EAC5CC,EAAkBjqG,EAAOwK,SACzBA,EAA+BnuD,KAAAA,IAApB4tJ,GAAwCA,EAEnDxD,EAAQ7yJ,KAAK6I,MAAMwsD,SAAS8D,GAAG,CAAC,CAAC,EACjCkM,EAAOrlE,KAAKwQ,OAAO,EAAE00D,QAAQ,EAE7BoxF,EAAS1/F,EAAWyO,EAAO,CAC7BtK,WAAYsK,EAAK/N,cAAc,EAC/Bi3B,OAAQlpB,EAAK02D,UAAU,EACvB1vD,WAAYrsE,KAAKssE,cAAc,CACjC,EA0BA,OAvBAumF,EAAM7pJ,IAAM,IAAIwI,GAAG+hJ,IAAI,CACrB1nD,SAAUr6F,GAAGwkD,QAAQ6hD,SAAS,CAAE+I,YAAa,CAAA,EAAOp2B,KAAM,CAAA,CAAM,CAAC,EACjEohB,aAAcp6F,GAAGyB,YAAY4kG,SAAS,EACtC+7C,QAAS,CAAA,EACTvuF,KAAMixF,aAAkB9kJ,GAAG4gJ,KAAOkE,EAAS,IAAI9kJ,GAAG4gJ,KAAKkE,CAAM,EAC7DzC,oBAAqB1wJ,SACrBsE,OAAQorJ,EAAMr6I,EAChB,CAAC,EAGGi+C,IACE8/F,EAAqB1D,EAAM7pJ,IAAIu8D,QAAQ,EAEvC7J,EADsB1sD,EAAeunJ,EAAoB,CAAC,EAClC,GAG5B1D,EAAM7pJ,IAAIwtJ,QAAQ,CAAC96F,EAAGA,EAAIjF,EAAM,IAGjCvjD,GAAU,IAAIe,QAAQ,SAAUshB,GAC/B,OAAOs9H,EAAM7pJ,IAAI4wD,SAASrkC,CAAC,CAC7B,CAAC,EAEMs9H,EAAM7pJ,GACf,CAMF,EAAG,CACDf,IAAK,gBACLlC,MAAO,SAAuByS,GAC5B,IAAI/Z,GAAKuB,KAAK6I,MAAMwsD,UAAY,IAAI8G,UAAU,SAAUpoB,GACtD,OAAOv7B,IAAOu7B,EAAEv7B,EAClB,CAAC,EACG,CAAC,IAAM/Z,GACTuB,KAAK6I,MAAMwsD,SAAS1qC,OAAOlsB,EAAG,CAAC,CAEnC,CAMF,EAAG,CACDwJ,IAAK,iBACLlC,MAAO,WACL,IAAI42D,EAA4B,EAAnBx7D,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E6H,EAAM2zD,EAAO3zD,IAGjB,OAAO,IAAImD,QAAQ,SAAUC,EAASC,GACpC,IACE,IAAIujE,EAASp8D,EAAExK,EAAMA,EAAI2lH,YAAY,EAAIn7G,EAAE,oBAAoB,EAAEwxD,KAAK,EAAEtkC,SAAS,cAAc,EAAE,EAAE,EAAEA,SAAS,QAAQ,EAAE,GACpH+1H,UAAUC,WACZtqJ,EAAQwjE,EAAO+mF,SAAS,CAAC,EAEzB/mF,EAAOgnF,OAAO,SAAU99H,GACtB,OAAO1sB,EAAQ0sB,CAAI,CACrB,CAAC,CAKL,CAHE,MAAOz6B,GAEPgO,EAAOhO,CAAC,CACV,CACF,CAAC,CACH,CACF,EAAG,CACD4J,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK8gB,OACd,CACF,EAAG,CACD7Y,IAAK,SACLlC,MAAO,WACL,IACE,OAAO/F,KAAK2pE,OAAO3gE,GAGrB,CAFE,MAAO3K,IAGX,CACF,EAAG,CACD4J,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAK8gB,QAAQw2C,cAAc,CACpC,CACF,EAAG,CACDrvD,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAMgnC,MACpB,CACF,EAAG,CACD5nC,IAAK,SACLlC,MAAO,WACL,OAAO/F,KAAK8gB,QAAQw2C,cAAc,EAAEC,QAAQ,CAC9C,CACF,EAAG,CACDtvD,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAK2pE,OAAO3gE,IAAI2lH,YAAY,CACrC,CACF,EAAG,CACD1mH,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAEoH,cAAc,CACjD,CACF,EAAG,CACDrkE,IAAK,UACLlC,MAAO,WACL,OAAO/F,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAE5N,cAAc,EAAEC,QAAQ,CAC3D,CAQF,EAAG,CACDtvD,IAAK,aACLlC,MAAO,SAAoBG,GACzB,IAAIyoE,EAAS3uE,KAETwwB,EAA8B,EAAnBrvB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAEnFnB,KAAK8wJ,QAAQ/8B,YAAY7tH,CAAW,EACpCtG,WAAW,WACT,OAAO+uE,EAAOmiF,QAAQ/8B,YAAY,CACpC,EAAGvjG,CAAQ,CACb,CAMF,EAAG,CACDvoB,IAAK,iBACLlC,MAAO,SAAwBxD,GAC7B,OAAOvC,KAAKwQ,OAAO,EAAEi6D,UAAU,EAAE+d,SAAS,EAAE9+E,KAAK,SAAU6rB,GACzD,OAAOhzB,IAASgzB,EAAEvb,IAAI,MAAM,CAC9B,CAAC,CACH,CAMF,EAAG,CACD/R,IAAK,eACLlC,MAAO,SAAsByS,GAC3B,OAAOxY,KAAKwQ,OAAO,EAAEi6D,UAAU,EAAE+d,SAAS,EAAE9+E,KAAK,SAAU6rB,GACzD,OAAO/c,IAAO+c,EAAEvb,IAAI,IAAI,CAC1B,CAAC,CACH,CAQF,EAAG,CACD/R,IAAK,wCACLlC,MAAO,SAA+CgN,EAAS7M,GAC7D,IAAI2wJ,EAAgB,KAAA,EAChBniJ,EAAW,GACX1L,EAAMhJ,KAAKwQ,OAAO,EAClBunD,EAAc/3D,KAAKmT,aAAaJ,CAAO,EAC3C,GAAI7R,MAAMkF,QAAQF,CAAW,GAC3B,GAAI,IAAMA,EAAY9G,OAAQ,CACxBs7H,EAAQ1xH,EAAIgyH,uBAAuB90H,CAAW,EAClD8C,EAAI6zH,sBAAsBnC,EAAO,SAAU7mH,GACzC,OAAOa,EAAStT,KAAKyS,CAAO,CAC9B,EAAG,CACDipH,YAAa,SAAqB1oH,GAChC,OAAOA,IAAU2jD,CACnB,CACF,CAAC,CACH,MAAO,GAAI,IAAM7xD,EAAY9G,OAE3B,OADAy3J,EAAgBrlJ,GAAGkvD,KAAK8yD,QAAQytB,WAAW/6I,CAAW,EAC9C6xD,EAAYtyD,aAClB,KAAKqiG,EAAa+C,YAChBn2F,EAAWqjD,EAAY++F,uBAAuBD,CAAa,EAC3D,MACF,KAAKrlJ,GAAG4C,MAAMkqD,OACZvG,EAAY9wB,UAAU,EAAEC,YAAY,EAAEjzB,QAAQ,SAAUvV,GACtD,OAAOm4J,EAAcE,iBAAiBr4J,EAAE4oC,YAAY,EAAEi8F,UAAU,CAAC,GAAK7uH,EAAStT,KAAK1C,CAAC,CACvF,CAAC,CAEL,CACF,MACK,GAAIwH,aAAuBsL,GAAGkvD,KAAK8yD,SAAWttH,aAAuBsL,GAAGkvD,KAAKs2F,aAElF,OADAH,EAAgB3wJ,EACR6xD,EAAYtyD,aAClB,KAAKqiG,EAAa+C,YAChBn2F,EAAWqjD,EAAY++F,uBAAuBD,CAAa,EAC3D,MACF,KAAKrlJ,GAAG4C,MAAMkqD,OACZvG,EAAY9wB,UAAU,EAAEC,YAAY,EAAEjzB,QAAQ,SAAUvV,GACtD,OAAOm4J,EAAcE,iBAAiBljJ,QAAQyzB,YAAY,EAAEi8F,UAAU,CAAC,GAAK7uH,EAAStT,KAAK1C,CAAC,CAC7F,CAAC,CAEL,CAEF,OAAOgW,CACT,CAMF,EAAG,CACDzM,IAAK,6BACLlC,MAAO,WACL,IAAIguI,EAAU/zI,KAEVosF,EAA4B,EAAnBjrF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EiT,EAAQg4E,EAAOh4E,MACflO,EAAckmF,EAAOlmF,YAEzB,OAAO,IAAIiG,QAAQ,SAAUC,EAASC,GACpC+H,EAAMovC,MAAM,CACVt9C,YAAaA,EACbykI,cAAeoJ,EAAQz8E,cAAc,EACrC+U,WAAY0nE,EAAQznE,cAAc,CACpC,CAAC,EAAE3/D,KAAK,SAAU6H,GAChB,OAAOpI,EAAQoI,CAAQ,CACzB,CAAC,EAAEG,KAAK,SAAUtW,GACAgO,EAAOhO,CAAC,CAC1B,CAAC,CACH,CAAC,CACH,CAUF,EAAG,CACD4J,IAAK,mBACLlC,MAAO,SAA0BD,GAC/B,IAAI45I,EAA4B,EAAnBv+I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EqX,EAAKknI,EAAOlnI,GACZ1K,EAAU4xI,EAAO5xI,QACjBmpJ,EAAavX,EAAO54I,IACpBA,EAAqB2B,KAAAA,IAAfwuJ,GAAkCA,EACxCC,EAAiBxX,EAAO5jH,QAExBq7H,EAAiBzX,EAAO32I,QAGxBitD,EAAUm/D,EAASrvH,GAAQ,IAAIqvH,EAASrvH,GAAM+vC,EAAS,CAAE/vC,KAAMA,EAAMg2B,QAJxCrzB,KAAAA,IAAnByuJ,GAAuCA,CAIqC,EAFzDzuJ,KAAAA,IAAnB0uJ,EAA+B,GAAKA,CAEkD,CAAC,EAAI1uJ,KAAAA,EAOzG,OANIA,KAAAA,IAAcqF,IAChBA,EAAUkoD,CAAAA,EAAQhmB,WAAYgmB,EAAQhmB,UAAU,GAE9CgmB,GACFh2D,KAAK42H,WAAWp+G,GAAM1S,EAAMA,EAAMkwD,EAASlvD,EAAKgH,CAAO,EAElDkoD,CACT,CACF,EAAG,CACD/tD,IAAK,oBACLlC,MAAO,WACLyN,EAAE,iBAAiB,EAAEkS,MAAM,MAAM,EACjC1lB,KAAKmC,KAAK,kBAAkB,CAC9B,CACF,EAAG,CACD8F,IAAK,YACLlC,MAAO,WACL,OAAO/F,KAAKwQ,OAAO,EAAE00D,QAAQ,EAAE62D,UAAU,CAC3C,CAMF,EAAG,CACD9zH,IAAK,YACLlC,OACM+hF,EAAS97E,EAAkB,YAC7B,IAGIorJ,GAHiC,EAAnBj2J,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAGjDyhB,MAFF,EAAnBzhB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEhC,EAChDk2J,EAAsBroJ,EAAeooJ,EAAoB,CAAC,EAC1DrkJ,EAAUskJ,EAAoB,GAC9B5uH,EAAM4uH,EAAoB,GAE1B5uJ,KAAAA,IAAcsK,GAAWtK,KAAAA,IAAcggC,IAyBvC50B,GAFAP,EAAuB7K,KAAAA,KADvBmpI,GAlBS7jI,MAAMyE,EAAOlO,QAAQ0S,QAAQ,cAAe,CACvDgpC,OAAQ,CACN5rC,MAAOpU,KAAK8gB,QAAQ3N,aAAaJ,CAAO,EACxCy2E,KAAM,CAAC/gD,EACT,EACA8X,QAAS,CACP9uB,KAAM,CACJC,QAAS,CAAA,EACTyoD,UAAW,WACT,IACIm9E,GAD4B,EAAnBn2J,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACxDmS,KACrBA,EAAuB7K,KAAAA,IAAhB6uJ,EAA4B,GAAKA,EAE5C,OAAOhkJ,EAAK,IAAgC,EAA1BA,EAAK,GAAGoB,SAAStV,MACrC,CACF,CACF,CACF,CAAC,GACwBkU,MACc,GAAKs+H,GAEzB,IAAMt+H,EAAK,GAAGoB,SAAS,MAGxC3G,MAAM/N,KAAKmiE,eAAe,CAACtuD,EAAQ,EAEvC,CAAC,EAED,WACE,OAAOi0E,EAAOxmF,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,oBACLlC,OACM4oI,EAAS3iI,EAAkB,YAC7B,IAAImnJ,EAAsC,EAAnBhyJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE3F,IACE,IAUIo2J,EAIAnjJ,EAEAhW,EAYAsW,EA5BA8iJ,EAAwBrE,EAAiBvwI,MAAM,GAAG,EAClD60I,EAAyBzoJ,EAAewoJ,EAAuB,CAAC,EAChEh/I,EAAKi/I,EAAuB,GAC5BzjJ,EAASyjJ,EAAuB,GAE/Bj/I,GAAOxE,IASRI,GAJAmjJ,EAASv3J,KAAK8gB,QAAQ2pD,UAAU,EAAE/gE,KAAK,SAAU6rB,GACnD,OAAO/c,IAAO+c,EAAE/c,IAAMA,IAAO+c,EAAEhzB,MAAQiW,IAAO+c,EAAE65G,QAClD,CAAC,IAEqBpvI,KAAK8gB,QAAQ3N,aAAaokJ,EAAO/+I,EAAE,EAcrD9D,GAZAtW,EAAIm5J,IAAU,MAAO/kJ,EAAOlO,QAAQ0S,QAAQ,kBAAmB,CACjEgpC,OAAQ,CACN5rC,MAAOA,EACPJ,QAAQ,EAAIi9D,EAAwBe,wBAAwB,CAAE59D,MAAOA,EAAOJ,OAAQA,CAAO,CAAC,CAC9F,EACAusC,QAAS,CACP9uB,KAAM,CACJC,QAAS,CAAA,CACX,CACF,CACF,CAAC,KAEmBtzB,EAAEkV,MAAQlV,EAAEkV,KAAK,IAAMlV,EAAEkV,KAAK,GAAGoB,WAGnD1U,KAAKmiE,eAAeztD,CAAQ,CAIhC,CAFE,MAAOrW,IAGX,CAAC,EAED,WACE,OAAOswI,EAAOrtI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,eACLlC,MAAO,WACL,IAAIiD,EAAMhJ,KAAKwQ,OAAO,EACtB,OAAOxH,EAAIk8D,QAAQ,EAAEI,gBAAgBt8D,EAAIu8D,QAAQ,CAAC,CACpD,CASF,EAAG,CACDt9D,IAAK,gCACLlC,OACM2oI,EAAS1iI,EAAkB,UAAW8Z,EAAKpV,GAC7CoV,EAAM,IAAIC,IAAID,CAAG,EACjB,IAAIyiB,EAAU9/B,KAAAA,IAAciI,GAAQA,IAAS1Q,KAAKs2D,QAAQ,EAK1D,OAJI/tB,IACFx6B,MAAM+kC,EAAcxuC,QAAQiwC,mBAAmB7jC,CAAI,GAErDoV,EAAIE,aAAaC,IAAI,cAAesiB,EAAU/2B,GAAGC,KAAKiuD,gBAAgB1/D,KAAKkmB,aAAa,EAAGlmB,KAAKs2D,QAAQ,EAAG5lD,CAAI,EAAI1Q,KAAKkmB,aAAa,GAAG5f,SAAS,CAAC,EAC3Iwf,EAAIxf,SAAS,CACtB,CAAC,EAED,SAAuCoxJ,EAAM7K,GAC3C,OAAOne,EAAOptI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,sBACLlC,MAAO,SAA6BD,GAKlC,MAHI,UAAa,OAAOA,IACtBA,EAAOA,EAAKA,OAEN9F,KAAKgwJ,UAAUtmJ,KAAK,SAAU/K,GACpC,OAAOmH,IAASnH,EAAEmH,IACpB,CAAC,GAAK,IAAIkwD,OACZ,CAUF,EAAG,CACD/tD,IAAK,aACLlC,MAAO,SAAoByS,EAAI1S,EAAMkwD,GACnC,IAAI++E,EAAU/0I,KAEV23J,EAAmBx2J,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAClF2M,EAAU3M,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAsBzEy2J,GApBJ53J,KAAK2pE,OAAO3gE,IAAI4tH,WAAW5gE,CAAO,EAElCA,EAAQn0D,GAAG,UAAW,SAAUxD,GAC9B,OAAO02I,EAAQ5yI,KAAK,qBAAsB9D,CAAC,CAC7C,CAAC,EAED2B,KAAKgwJ,UAAU5uJ,KAAK,CAAEoX,GAAIA,EAAI1S,KAAMA,EAAMkwD,QAASA,EAASloD,QAASA,EAAS8nJ,WAAY+B,GAAoB7pJ,CAAQ,CAAC,EAEvHkoD,EAAQn0D,GAAG,eAAgB,SAAU2wI,GACnC,IAAIojB,EAAapjB,EAAO/qI,OAEpBynH,EAAW,EAAG0mC,CAAAA,EAAWvlJ,YAAculJ,CAAAA,EAAWvlJ,WAAW,GAC7D6+G,GACF6lB,EAAQqb,sBAAsBn8I,QAAQ,SAAUghJ,GAC9C,OAAOA,EAAIxjC,UAAU,CAAA,CAAK,CAC5B,CAAC,EAEHsjB,EAAQ4gB,aAAaC,EAAY,CAAE1mC,SAAUA,CAAS,CAAC,CACzD,CAAC,EAEmB17G,EAAEwiD,EAAQzwC,OAAO,EAAE7b,KAAK,QAAQ,GAEpDkuJ,EAAcr0H,QAAQ,CACpBs0H,UAAW,OACX5xG,UAAW,OACXtR,QAAShlC,EAAMrL,QAAQgoB,SAAS,EAAI,QAAU,OAChD,CAAC,EAGG3c,EAAMrL,QAAQgoB,SAAS,GACzBsrI,EAAc/1J,GAAG,mBAAoB,WACnC,IAAIg0I,EAAU71I,KAEdJ,WAAW,WACT,OAAO4T,EAAEqiI,CAAO,EAAEtyG,QAAQ,MAAM,CAClC,EAAG,GAAG,CACR,CAAC,EAGCo0H,GAAoB,CAAC7pJ,IACvBkoD,EAAQzwC,QAAQoJ,MAAMhB,QAAU,QAG9BgqI,GACFnkJ,EAAE,mBAAmB,EAAEoS,OAAOowC,EAAQzwC,OAAO,EAK3C,CAAA,KAFJopI,EAAI9iD,SAAS/lG,GAAQkwD,GAEC43B,SACpB+gE,EAAIC,WAAWxtJ,KAAK,CAAEoX,GAAI1S,EAAMgyJ,OAAQ9hG,EAAQ6gE,UAAU,CAAE,CAAC,EAG3D,CAAA,IAAU7gE,EAAQ43B,SAAW53B,EAAQ6gE,UAAU,GACjD7gE,EAAQ26D,UAAU9kH,EAAcvH,QAAQktB,MAAM,CAElD,CACF,EAAG,CACDvpB,IAAK,eACLlC,MAAO,SAAsB4hC,GAC3B,IAAIqlH,EAAUhtJ,KAEdA,KAAKgwJ,UAAU/7I,QAAQ,SAAUtV,GAC/B,OAAOquJ,EAAQrjF,OAAO3gE,IAAI+uJ,cAAcp5J,EAAEq3D,OAAO,CACnD,CAAC,EACDh2D,KAAKgwJ,UAAU/7I,QAAQ,SAAUtV,GAC/BA,EAAEmP,QAAU,CAAC65B,GAAiC,CAAC,EAAzBA,EAAM2K,QAAQ3zC,EAAEmH,IAAI,GAAgBnH,EAAEmP,QACxDnP,EAAEmP,SACJk/I,EAAQrjF,OAAO3gE,IAAI4tH,WAAWj4H,EAAEq3D,OAAO,CAE3C,CAAC,CACH,CACF,EAAG,CACD/tD,IAAK,iBACLlC,MAAO,WACL,OAAO/F,KAAKgwJ,SACd,CAMF,EAAG,CACD/nJ,IAAK,oBACLlC,MAAO,SAA2ByS,GAChC,IAAI00I,EAAUltJ,KAEdA,KAAKgwJ,UAAUtmJ,KAAK,SAAU/K,EAAGF,GAC/B,GAAI+Z,IAAO7Z,EAAE6Z,GAMX,OALA00I,EAAQ8C,UAAUrlI,OAAOlsB,EAAG,CAAC,EAC7ByuJ,EAAQvjF,OAAO3gE,IAAI+uJ,cAAcp5J,EAAEq3D,OAAO,EACtCr3D,EAAEq3D,QAAQgiG,aACZr5J,EAAEq3D,QAAQgiG,YAAY,EAEjB,CAAA,CAEX,CAAC,CACH,CACF,EAAG,CACD/vJ,IAAK,gBACLlC,MAAO,SAAuBD,GAC5B,IAAImyJ,EAAUj4J,KAEdA,KAAKgwJ,UAAUtmJ,KAAK,SAAU/K,EAAGF,GAC/B,GAAIqH,IAASnH,EAAEmH,KAMb,OALAmyJ,EAAQjI,UAAUrlI,OAAOlsB,EAAG,CAAC,EAC7Bw5J,EAAQtuF,OAAO3gE,IAAI+uJ,cAAcp5J,EAAEq3D,OAAO,EACtCr3D,EAAEq3D,QAAQgiG,aACZr5J,EAAEq3D,QAAQgiG,YAAY,EAEjB,CAAA,CAEX,CAAC,CACH,CAQF,EAAG,CACD/vJ,IAAK,oBACLlC,MAAO,WACL,IACImyJ,GAD4B,EAAnB/2J,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACvD8mB,MACtBA,EAAyBxf,KAAAA,IAAjByvJ,GAAoCA,EAEhDl4J,KAAKgwJ,UAAU/7I,QAAQ,SAAUtV,GAC3BA,EAAEq3D,QAAQ5lD,WAAazR,EAAEq3D,QAAQ5lD,UAAU,IAC7CzR,EAAEq3D,QAAQ3pC,OAAO,CAAA,CAAK,EAClBpE,IACFtY,EAAMrL,QAAQqkB,aAAa,CAGjC,CAAC,CACH,CACF,EAAG,CACD1gB,IAAK,sBACLlC,MAAO,WACL/F,KAAKm4J,kBAAkB,CAAElwI,MAAO,CAAA,CAAM,CAAC,CACzC,CAOF,EAAG,CACDhgB,IAAK,0BACLlC,MAAO,WACL,IAAIu6B,EAAOn/B,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAE1EnB,KAAKgwJ,UAAUh8I,OAAO,SAAUrV,GAC9B,OAAOA,EAAEq3D,QAAQ3lD,YAAc1R,EAAEq3D,QAAQ3lD,WAAW,CACtD,CAAC,EAAE4D,QAAQ,SAAUtV,GACnBA,EAAEq3D,QAAQ5lD,UAAU,GAAKzR,EAAEq3D,QAAQ3pC,OAAO,EAC1C1tB,EAAEq3D,QAAQ11B,EAAO,UAAY,UAAU,CACzC,CAAC,CACH,CACF,EAAG,CACDr4B,IAAK,mCACLlC,MAAO,WACL,IAGMiD,EAIA68B,EAPwB,EAAnB1kC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,CAAAA,UAAU,KAOpE0kC,GAHAjrB,GADA5R,EAAMhJ,KAAKwQ,OAAO,IACJxH,EAAIu8D,QAAQ,EAAEvxD,OAAO,SAAU/K,GAC/C,OAAW,EAAJA,CACT,CAAC,GAAK,OACa,IAAM2R,EAAKxb,OAAS4J,EAAIk8D,QAAQ,EAAEI,gBAAgB1qD,CAAI,EAAI5a,KAAK8gB,QAAQjY,MAAM82D,WAChG3/D,KAAK2xJ,aAAa,EAAE19I,QAAQ,SAAUshB,GACpC,OAAOA,EAAE87H,+BACX,CAAC,GAAK97H,EAAE87H,gCAAgC,CACtClqH,IAAKnnC,KAAKs2D,QAAQ,EAElBzwB,KAA6D,QAAvD78B,EAAIk8D,QAAQ,EAAE5N,cAAc,EAAE8R,mBAAmB,EAAc,CAACvjC,EAAK,GAAIA,EAAK,GAAIA,EAAK,GAAIA,EAAK,IAAMA,CAC9G,CAAC,EACD7lC,KAAKmC,KAAK,0BAA0B,EAExC,CACF,EAAG,CACD8F,IAAK,uBACLlC,MAAO,SAA8ByS,GACnC,OAAOxY,KAAK2xJ,aAAa,EAAEjoJ,KAAK,SAAU6rB,GACxC,OAAOA,EAAE6iI,gBAAgB,EAAE1uJ,KAAK,SAAU6rB,GACxC,OAAO/c,IAAO+c,EAAEhP,MAAM,CACxB,CAAC,CACH,CAAC,CACH,CACF,EAAG,CACDte,IAAK,eACLlC,MAAO,WACL,OAAO/F,KAAKq2B,QAAQ45H,GACtB,CACF,EAAG,CACDhoJ,IAAK,gBACLlC,MAAO,WACL,OAAO/F,KAAKq2B,QAAQ2H,IACtB,CACF,EAAG,CACD/1B,IAAK,sBACLlC,MAAO,SAA6BqO,GAClC,OAAOpU,KAAK2xJ,aAAa,EAAEjoJ,KAAK,SAAU2uJ,GACxC,MAAO,SAAWjkJ,EAAMovI,gBAAgB,IAAM6U,EAAG9xI,MAAM,CACzD,CAAC,CACH,CACF,EAAG,CACDte,IAAK,kBACLlC,MAAO,SAAyByS,GAC9B,OAAOm2I,EAAIz7I,OAAOC,aAAaqF,CAAE,CACnC,CAWF,EAAG,CACDvQ,IAAK,wBACLlC,MAAO,WACL,IAAIyoI,EAA4B,EAAnBrtI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E2f,EAAU0tH,EAAO1tH,QACjBoC,EAAQsrH,EAAOtrH,MACfE,EAASorH,EAAOprH,OAChBgiB,EAAaopG,EAAOppG,WAEpBu6B,EAAav6B,EAAaA,EAAWxiB,MAAM,GAAG,EAAE5Z,IAAI,SAAU49B,GAChE,MAAO,CAAIA,CACb,CAAC,EAAI9lB,EAAQjY,MAAM82D,WACfH,EAAS1+C,EAAQjY,MAAM22D,OAC3B,MAAO,CACLA,OAAQA,EACRzE,WAAY/6D,KAAKs3D,cAAc,EAC/Bi3B,OAAQ/8E,GAAGguD,OAAOu8D,UAAUp8D,CAAU,EACtC8kE,cAAe16G,KAAKlU,IAAIrE,GAAGguD,OAAO+pE,SAAS/pE,CAAM,EAAIt8C,EAAO1R,GAAGguD,OAAO84F,UAAU94F,CAAM,EAAIp8C,CAAM,EAChGipD,WAAYtiD,KAAKlU,IAAIrE,GAAGguD,OAAO+pE,SAAS5pE,CAAU,EAAIz8C,EAAO1R,GAAGguD,OAAO84F,UAAU34F,CAAU,EAAIv8C,CAAM,CACvG,CACF,CACF,EAAG,CACDnb,IAAK,cACLlC,MAAO,WACL,OAAO/F,KAAK6I,MAAM46H,QACpB,CAIF,EAAG,CACDx7H,IAAK,iCACLlC,MAAO,SAAwCmkE,GAC7C,IAAI1xD,EAAK0xD,EAAM3jD,MAAM,EACjBvmB,KAAKoxJ,WAAWvC,OAAOr2I,KACzBxY,KAAKoxJ,WAAWvC,OAAOr2I,GAAIvE,QAAQ,SAAU9D,GAC3CpI,OAAO8f,QAAQ1X,CAAG,EAAE8D,QAAQ,SAAUs6H,GACpC,IAAI6c,EAASp8I,EAAeu/H,EAAQ,CAAC,EACjCpsG,EAAQipH,EAAO,GAGnB,OAAOlhF,EAAMojB,GAAGnrD,EAFNipH,EAAO,EAES,CAC5B,CAAC,CACH,CAAC,EACD,OAAOprJ,KAAKoxJ,WAAWvC,OAAOr2I,GAElC,CAIF,EAAG,CACDvQ,IAAK,gCACLlC,MAAO,SAAuCmkE,GAC5C,IAAIquF,EAAUv4J,KAEVwY,EAAK0xD,EAAM3jD,MAAM,EAErBvmB,KAAKoxJ,WAAWvC,OAAOr2I,GAAM,GAG7B0xD,EAAMO,UAAU,EAAEx2D,QAAQ,SAAUshB,GAClC,MAAO,WAAaA,EAAE3vB,QAAQ,GAAK2yJ,EAAQC,cAAcjjI,EAAEkmH,YAAY,CAAC,CAC1E,CAAC,EAEDz7I,KAAKoxJ,WAAWvC,OAAOr2I,GAAIpX,KAAK,CAC9Bw4D,SAAUsQ,EAAM1T,QAAQ,WAAY,SAAUjhC,GAC5C,WAAaA,EAAE3vB,QAAQ,GAAK2yJ,EAAQC,cAAcjjI,EAAEkmH,YAAY,CAAC,CACnE,CAAC,CACH,CAAC,EACDz7I,KAAKoxJ,WAAWvC,OAAOr2I,GAAIpX,KAAK,CAC9B8rH,YAAahjD,EAAM1T,QAAQ,cAAe,SAAUjhC,GAClD,WAAaA,EAAE3vB,QAAQ,GAAK2yJ,EAAQ5uF,OAAO3gE,IAAIkkH,YAAY33F,EAAE6lC,WAAW,CAAC,CAC3E,CAAC,CACH,CAAC,CACH,CAIF,EAAG,CACDnzD,IAAK,kBACLlC,MAAO,WACL,IAAI0yJ,EAAUz4J,KAGV04J,GAAU,EAAIplF,EAAsBc,sBAAsB,CAAE0jE,UAAW,CAAA,CAAK,CAAC,EAa7E5kI,GAZJwlJ,EAAQzkJ,QAAQ,SAAUshB,GACxB,IAAIyI,EAAOzI,EAAEkmH,YAAY,EACzBgd,EAAQE,0BAA0B36H,CAAI,EACtCy6H,EAAQpiI,QAAQ2H,KAAKzI,EAAEhP,MAAM,GAAKyX,CACpC,CAAC,EAEDj2B,OAAOa,OAAO8vJ,EAAQt5J,OAASY,KAAKq2B,QAAQ2H,KAAO,EAAE,EAAE4sC,QAAQ,EAAE32D,QAAQ,SAAUshB,GACjFA,EAAEla,OAAOo9I,EAAQ5vJ,MAAO4vJ,EAAQ/H,iBAAiB,EACjD+H,EAAQD,cAAcjjI,CAAC,CACzB,CAAC,GAGY,EAAI+9C,EAAsBc,sBAAsB,CAAE0jE,UAAW,CAAA,EAAOC,YAAa,CAAA,CAAM,CAAC,GAQjGh1I,GALJmQ,EAAOe,QAAQ,SAAUshB,GACvB,OAAOA,EAAEqjI,iBAAiBH,EAAQnhG,cAAc,CAAC,CACnD,CAAC,EAGW,IACRuhG,EAAY,GAEhB9wJ,OAAO8f,SAGP,EAAI43H,EAAS6D,SAASpwI,EAAQ,SAAUkB,GACtC,IAAIoE,EAAKpE,EAAMovI,gBAAgB,EAC/B,OAAIpvI,EAAM0kJ,cAAc,GACtB/1J,EAAMyV,GAAM/P,KAAAA,IAAc1F,EAAMyV,GAAM,EAAIzV,EAAMyV,GAAM,EAC/CA,EAAK,IAAMzV,EAAMyV,IAEnB/P,KAAAA,IAAc1F,EAAMyV,GAAMA,EAAKA,EAAK,KAAOzV,EAAMyV,GAAM,EAChE,CAAC,CAAC,EAAEvE,QAAQ,SAAUq6H,GACpB,IAAID,EAASr/H,EAAes/H,EAAQ,CAAC,EACjC91H,EAAK61H,EAAO,GACZn7H,EAASm7H,EAAO,GAEhBj6H,EAAQlB,EAAO,IAAM,GACrBs/I,EAAWp+I,EAAMqnI,YAAY,CAC/BjjI,GAAI,SAAWA,EACfuiD,WAAY09F,EAAQnhG,cAAc,EAElC7/B,OAAQ,IAAMvkB,EAAO9T,OAASgV,EAAM2kJ,UAAU,EAAI,IACpD,EAAG,IAAM7lJ,EAAO9T,OAAS,GAAKq5J,EAAQ/H,iBAAiB,EACvDx9I,EAAO03D,QAAQ,EAAE32D,QAAQ,SAAUshB,GACjC,OAAOi9H,EAAS54F,SAASrkC,CAAC,CAC5B,CAAC,EACDsjI,EAAUz3J,KAAKoxJ,CAAQ,EACvBiG,EAAQE,0BAA0BnG,CAAQ,CAC5C,CAAC,EAEDqG,EAAUjuF,QAAQ,EAAE32D,QAAQ,SAAUshB,GACpCkjI,EAAQpiI,QAAQ45H,IAAI7uJ,KAAKm0B,CAAC,EAC1BkjI,EAAQD,cAAcjjI,CAAC,CACzB,CAAC,EAEDv1B,KAAKmxJ,gBAAgB,GAGP,EAAI79E,EAAsBc,sBAAsB,CAAE2jE,YAAa,CAAA,CAAK,CAAC,EAE3E9jI,QAAQ,SAAUshB,GACxBA,EAAEqjI,iBAAiBH,EAAQnhG,cAAc,CAAC,EAAEmhG,EAAQD,cAAcjjI,EAAEkmH,YAAY,CAAC,CACnF,CAAC,EAGGzyI,EAAMhJ,KAAKwQ,OAAO,EACtBxH,EAAI4wD,SAAS55D,KAAKqwJ,eAAeC,SAAS,EAC1CtnJ,EAAI4wD,SAAS55D,KAAKqwJ,eAAeI,cAAc,EAC/CznJ,EAAI4wD,SAAS55D,KAAKqwJ,eAAeG,cAAc,EAG/CrC,EAAc7pJ,QAAQqiB,QAAQ,gBAAgB,EAAEha,KAAK,SAAUspH,GAC7DluH,OAAO8f,QAAQouG,GAAkB,EAAE,EAAEhiH,QAAQ,SAAUm6H,GACrD,IAAID,EAASn/H,EAAeo/H,EAAQ,CAAC,EACjC51H,EAAK21H,EAAO,GACZ/5H,EAAQ+5H,EAAO,GAEfhzE,EAAU,IAAI3pD,GAAG4C,MAAMkqD,OAAO,CAChClnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAAE5pD,UAAU,IAAIlD,GAAGimB,OAAO8P,SAAUmjG,aAAat2H,EAAMM,QAAQ,CAAE,CAAC,CACjG,CAAC,EACDymD,EAAQl1C,IAAI,OAAQzN,CAAE,EACtBigJ,EAAQ5+F,iBAAiBsB,EAAStlB,EAAS,GAAIzhC,EAAMrL,QAAS,CAAEu+E,aAAc,CAAA,CAAM,CAAC,CAAC,CACxF,CAAC,CACH,CAAC,CACH,CACF,EAAG,CACDr/E,IAAK,uBACLlC,MAAO,SAA8BD,GAG/BA,GAAQ9F,KAAKqwJ,eAAevqJ,KAC9B9F,KAAKqwJ,eAAeE,OAAOzqJ,GAHE,EAAnB3E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAKlF,CACF,EAAG,CACD8G,IAAK,eACLlC,MAAO,WACL,IAAIizJ,EAAUh5J,KAEd+H,OAAO2yB,KAAK16B,KAAKq2B,QAAQ2H,IAAI,EAAE/pB,QAAQ,SAAUuE,GAC/C,OAAOwgJ,EAAQrvF,OAAO3gE,IAAIkkH,YAAY8rC,EAAQ3iI,QAAQ2H,KAAKxlB,GAAI4iD,WAAW,CAAC,CAC7E,CAAC,EACDp7D,KAAK2xJ,aAAa,EAAE19I,QAAQ,SAAUshB,GACpCyjI,EAAQC,4BAA4B1jI,CAAC,EAAEyjI,EAAQrvF,OAAO3gE,IAAIkkH,YAAY33F,EAAE6lC,WAAW,CAAC,CACtF,CAAC,EACDp7D,KAAKq2B,QAAQ45H,IAAM,GAEnBjwJ,KAAKq2B,QAAQlB,SAASlhB,QAAQ,SAAUG,GACtC4kJ,EAAQvnH,oBAAoBr9B,EAAM4F,IAAI,MAAM,CAAC,CAC/C,CAAC,EACDha,KAAKq2B,QAAQlB,SAASxK,OAAO,CAAC,EAE9B3qB,KAAKqwJ,eAAeC,UAAUrpH,UAAU,EAAEijB,MAAM,EAChDlqD,KAAKqwJ,eAAeG,eAAevpH,UAAU,EAAEijB,MAAM,EACrDlqD,KAAKqwJ,eAAeI,eAAexpH,UAAU,EAAEijB,MAAM,EACrDlqD,KAAKwQ,OAAO,EAAE08G,YAAYltH,KAAKqwJ,eAAeC,SAAS,EACvDtwJ,KAAKwQ,OAAO,EAAE08G,YAAYltH,KAAKqwJ,eAAeG,cAAc,EAC5DxwJ,KAAKwQ,OAAO,EAAE08G,YAAYltH,KAAKqwJ,eAAeI,cAAc,CAC9D,CAIF,EAAG,CACDxoJ,IAAK,iBACLlC,MAAO,SAAwBmoI,GAC7B,IAAI95H,EAAQ85H,EAAO95H,MACf8kJ,EAAgBhrB,EAAOrrE,OACvBA,EAA2Bp6D,KAAAA,IAAlBywJ,EAA8Bl5J,KAAK0lC,aAAe,EAAIwzH,EAInE,OAFA9kJ,EAAMqxB,UAAUo9B,CAAM,EACtB7iE,KAAKmC,KAAK,mBAAoB,CAAEiS,MAAOA,EAAOyuD,OAAQA,CAAO,CAAC,EACvDA,CACT,CAOF,EAAG,CACD56D,IAAK,gBACLlC,MAAO,SAAuBqO,GACxB+mD,EAAU/mD,EAAMgnD,WAAW,EAC3BD,GACFn7D,KAAKwQ,OAAO,EAAEopD,SAASuB,CAAO,CAElC,CAMF,EAAG,CACDlzD,IAAK,iBACLlC,MAAO,SAAwBqO,GAC7BA,EAAMwkJ,iBAAiB54J,KAAKs3D,cAAc,CAAC,EAC3C,IAAIk7F,EAAWp+I,EAAMqnI,YAAY,CAC/BjjI,GAAI,SAAWpE,EAAMovI,gBAAgB,EACrCzoF,WAAY/6D,KAAKs3D,cAAc,CACjC,EAAGt3D,KAAK0wJ,iBAAiB,EAEzB,OADA8B,EAAS54F,SAASxlD,CAAK,EAChBo+I,CACT,CAWF,EAAG,CACDvqJ,IAAK,iBACLlC,MAAO,SAAwBqO,GAC7B,IAAIrL,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAEomF,MAAO,CAAA,CAAM,EAG7F4xE,GAD4B,EAAnBh4J,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACjD40J,YAC5BA,EAAqCttJ,KAAAA,IAAvB0wJ,GAA0CA,EAmB5D,OAhBIpwJ,EAAQw+E,QACVx+E,EAAQqwJ,SAAWhjH,KAAKC,IAAI,GAE1B0/G,IAAgB3hJ,EAAM8vH,0BACxB9vH,EAAM8vH,uBAAyB6xB,IAE7B3hJ,EAAMvS,GAAG,YAAa7B,KAAK+wJ,gBAAgB,EAC3C38I,EAAMvS,GAAG,UAAW7B,KAAKgxJ,cAAc,EACvC58I,EAAMvS,GAAG,YAAa7B,KAAKixJ,gBAAgB,IAE3C78I,EAAMpS,IAAI,YAAahC,KAAK+wJ,gBAAgB,EAC5C38I,EAAMpS,IAAI,UAAWhC,KAAKgxJ,cAAc,EACxC58I,EAAMpS,IAAI,YAAahC,KAAKixJ,gBAAgB,IAGhD78I,EAAMiH,OAAOrb,KAAK6I,MAAOE,CAAO,EACzBqL,CACT,CAIF,EAAG,CACDnM,IAAK,kBACLlC,MAAO,WACL,IAAIszJ,EAAUr5J,KAEVwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE/EnB,KAAK2xJ,aAAa,EAAE19I,QAAQ,SAAUshB,GACpC,OAAO8jI,EAAQC,eAAe/jI,EAAG/sB,CAAI,CACvC,CAAC,EACDT,OAAOa,OAAO5I,KAAKu5J,cAAc,CAAC,EAAEtlJ,QAAQ,SAAUshB,GACpD,OAAOA,EAAEla,OAAOg+I,EAAQxwJ,MAAOwwJ,EAAQ3I,iBAAiB,CAC1D,CAAC,CACH,CAIF,EAAG,CACDzoJ,IAAK,4BACLlC,MAAO,SAAmCqO,GACxC,IAAIolJ,EAAUx5J,KAEVupC,EAAepoC,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAElFiT,EAAMvS,GAAG,YAAa7B,KAAK+wJ,gBAAgB,EAC3C38I,EAAMvS,GAAG,UAAW7B,KAAKgxJ,cAAc,EACvC58I,EAAMvS,GAAG,YAAa7B,KAAKixJ,gBAAgB,EAEvC1nH,IACDroC,MAAMkF,QAAQgO,EAAMlB,MAAM,EAAIkB,EAAMlB,OAAS,IAAIe,QAAQ,SAAUshB,GAClEA,EAAE02D,SAAS,SAAU,WACnB,OAAOutE,EAAQF,eAAellJ,EAAO,CAAEmzE,MAAO,CAAA,CAAK,CAAC,CACtD,CAAC,EACDhyD,EAAE1zB,GAAG,oBAAqB,WACxB,OAAO23J,EAAQF,eAAellJ,EAAO,CAAEmzE,MAAO,CAAA,CAAK,CAAC,CACtD,CAAC,CACH,CAAC,CAEL,CAIF,EAAG,CACDt/E,IAAK,8BACLlC,MAAO,SAAqCqO,GAC1C,IAAIm1B,EAAkC,EAAnBpoC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,GAElFiT,EAAMk5E,GAAG,YAAattF,KAAK+wJ,gBAAgB,EAC3C38I,EAAMk5E,GAAG,UAAWttF,KAAKgxJ,cAAc,EACvC58I,EAAMk5E,GAAG,YAAattF,KAAKixJ,gBAAgB,EAEvC1nH,IACDroC,MAAMkF,QAAQgO,EAAMlB,MAAM,EAAIkB,EAAMlB,OAAS,IAAIe,QAAQ,SAAUshB,GAClEA,EAAE+3D,GAAG,QAAQ,EACb/3D,EAAEigF,YAAY,mBAAmB,CACnC,CAAC,CAEL,CACF,EAAG,CACDvtG,IAAK,YACLlC,MAAO,SAAmB0zJ,GACxBz5J,KAAKyH,OAASgyJ,CAChB,CACF,EAAG,CACDxxJ,IAAK,8BACLlC,MAAO,WACL,OAAQ/F,KAAKgwJ,UAAUtmJ,KAAK,SAAU/K,GACpC,OAAOA,EAAEq3D,SAAWr3D,EAAEq3D,QAAQ5lD,WAAazR,EAAEq3D,QAAQ5lD,UAAU,CACjE,CAAC,GAAK,IAAI4lD,OACZ,CAaF,EAAG,CACD/tD,IAAK,iBACLlC,MAAO,SAAwBkN,GAC7B,IAAIlK,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAEmP,OAAQ,CAAA,EAAM2X,MAAO,CAAA,CAAK,EAC1GyxI,EAAkB3wJ,EAAQuH,OAC1BA,EAA6B7H,KAAAA,IAApBixJ,GAAuCA,EAEhD1jG,EAAUh2D,KAAK20J,4BAA4B,EAC3C74H,EAAUk6B,GAAWA,EAAQ5lD,WAAa4lD,EAAQ5lD,UAAU,GAAK,CAAA,EAQrE,OAP0B4lD,CAAAA,GAAWA,CAAAA,EAAQ3lD,YAAa2lD,EAAQ3lD,WAAW,IAClDC,GACzBtQ,KAAKm4J,kBAAkBpvJ,CAAO,EAEhC/I,KAAKwQ,OAAO,EAAE2D,eAAelB,CAAW,EACxCA,EAAYw+G,UAAUnhH,CAAM,EAC5BtQ,KAAKowJ,sBAAsBhvJ,KAAK6R,CAAW,EACpC,CACL+iD,QAASA,EACTl6B,QAASA,CACX,CACF,CACF,EAAG,CACD7zB,IAAK,oBACLlC,MAAO,SAA2BkN,GAC5BA,GACFA,EAAYw+G,UAAU,CAAA,CAAK,EAE7BzxH,KAAK2pE,OAAO3gE,IAAI4L,kBAAkB3B,CAAW,EAC7CjT,KAAKowJ,sBAAwBpwJ,KAAKowJ,sBAAsBp8I,OAAO,SAAUk8G,GACvE,OAAOj9G,IAAgBi9G,CACzB,CAAC,CACH,CACF,EAAG,CACDjoH,IAAK,oBACLlC,MAAO,SAA2BkN,GAChC,IAAI0mJ,EAAU35J,KAEdiT,EAAYpR,GAAG,gBAAiB,SAAUxD,GACpCA,EAAEoJ,kBAAkB+J,GAAGyB,YAAYkpH,SAAW99H,EAAEoJ,OAAOmyJ,UAAU,GACnED,EAAQx3J,KAAK,oBAAqB9D,EAAEoJ,MAAM,CAE9C,CAAC,CACH,CASF,EAAG,CACDQ,IAAK,cACLlC,MAAO,WACL,IAAI6tI,EAA4B,EAAnBzyI,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EqL,EAAOonI,EAAOpnI,KACdmiB,EAAQilH,EAAOjlH,MAEnB3uB,KAAK6I,MAAMysD,SAAS9oD,KAAOA,EAC3BxM,KAAK6I,MAAMysD,SAAS3mC,MAAQA,GAAS3uB,KAAK6I,MAAMysD,SAAS3mC,KAC3D,CAOF,EAAG,CACD1mB,IAAK,SACLlC,MAAO,SAAgBwL,GACrB,IAAIi5E,EAA0B,EAAnBrpF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAE3EkkE,EAAOrlE,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EACnCG,EAAK4nD,UAAU17G,CAAU,EACzB8zD,EAAKw0F,QAAQrvE,CAAI,CACnB,CACF,EAAG,CACDviF,IAAK,OACLlC,MAAO,SAAcG,EAAaskF,GAChC,IAAIsvE,EAAU34J,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAEzEkkE,EAAOrlE,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EACnCslB,EAAOA,GAAQ,EAEXsvE,EACFz0F,EAAKy0F,QAAQ,CAAEtpI,SAAU,IAAK+9D,OAAQroF,CAAY,EAAGskF,EAAO,CAAEA,KAAMA,EAAMh6D,SAAU,GAAI,EAAI,CAAEA,SAAU,IAAK67C,WAAYhH,EAAKiH,cAAc,CAAE,CAAC,EAE/IjH,EAAK4nD,UAAU/mH,CAAW,EAGxBskF,GAAQ,CAACsvE,GACXz0F,EAAKw0F,QAAQrvE,CAAI,CAErB,CAUF,EAAG,CACDviF,IAAK,UACLlC,OACMiuI,EAAShoI,EAAkB,UAAW9F,EAAammE,GACrD,IAAI0tF,EAAU/5J,KAEV85J,EAAU34J,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,GAG7EkrE,EAAaA,GAAcrsE,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAEoH,cAAc,EAEnEv+D,MAAM,IAAI5B,QAAQ,SAAU6uD,GAE1B++F,EAAQpwF,OAAO3gE,IAAIk8D,QAAQ,EAAEnjE,KAAK,gBAAiB,WACjD,OAAOnC,WAAWo7D,EAAK,GAAG,CAC5B,CAAC,EAEG8+F,EACFC,EAAQpwF,OAAO3gE,IAAIk8D,QAAQ,EAAE40F,QAAQ,CAAEtpI,SAAU,IAAK+9D,OAAQroF,CAAY,EAAG,CAAEsqB,SAAU,IAAK67C,WAAYA,CAAW,CAAC,GAEtH0tF,EAAQpwF,OAAO3gE,IAAIk8D,QAAQ,EAAE+nD,UAAU/mH,CAAW,EAClD6zJ,EAAQpwF,OAAO3gE,IAAIk8D,QAAQ,EAAEyzD,cAActsD,CAAU,EAEzD,CAAC,CACH,CAAC,EAED,SAAiB4oE,EAAMC,GACrB,OAAOlB,EAAO1yI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,mCACLlC,MAAO,WACL,IAEIy5D,EAAS,KAAA,EACTw6F,EAAQ,KAAA,EACRv5F,EAAW,KAAA,EACXv6D,EAAc,GAclB,IAnBkC,EAAnB/E,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAM1E6S,OAAO,SAAUtV,GACxB,OAAOA,EAAE4oC,YAAc5oC,EAAE4oC,YAAY,EAAI5oC,EAAE+hE,QAC7C,CAAC,EAAExsD,QAAQ,SAAUvV,GACnB,IAAIgiE,EAAOhiE,EAAE4oC,YAAc5oC,EAAE4oC,YAAY,EAAI5oC,EAAE+hE,SAC3Cw5F,EAAav5F,aAAgBlvD,GAAGkvD,KAAK0oC,SACrC8wD,EAAQD,EAAa,GAAG35J,OAAO2yC,EAAmBytB,EAAK6iE,UAAU,CAAC,CAAC,EAAI7kI,EAAEmnC,KAGzEmsH,GAFJxyF,EAAShuD,GAAGguD,OAAOp1D,OAAO3B,KAAAA,IAAc+2D,EAAS06F,EAAQ16F,EAAQ06F,CAAK,EACtEF,EAAQA,IAAgBC,EAAav5F,EAAK96D,QAAQ,EAAI86D,EAAK56D,MAC9Cm0J,EAAav5F,EAAK+yD,eAAe,EAAI/yD,EAAKx6D,aACvDA,EAAY9E,KAAK4wJ,CAAM,CACzB,CAAC,EAGwB,EAArB9rJ,EAAY9G,OAAY,CAC1B,IAAI+6J,EAAWH,EAAMvwJ,SAAS,OAAO,EACrC,IACEg3D,EAAW,IAAIjvD,GAAGkvD,KAAKy5F,EAAWH,EAAQ,QAAUA,GAAOG,EAAWj0J,EAAYizB,KAAK,EAAIjzB,CAAW,EACtGs5D,EAAS/2D,KAAAA,IAAc+2D,EAASiB,EAAS8iE,UAAU,EAAI/jE,CAGzD,CAFE,MAAOnhE,IAGX,CAEA,MAAO,CACLmhE,OAAQA,EACRiB,SAAUA,CACZ,CACF,CACF,EAAG,CACDx4D,IAAK,oBACLlC,MAAO,SAA2B2O,GAChC,IAAI3L,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG9Es/D,EADwBzgE,KAAKo6J,iCAAiC1lJ,CAAQ,EACrC+rD,SAIrC13D,EAAQyhF,KAAO,CAAA,EACfxqF,KAAK0qF,kBAAkBjqB,EAAU13D,CAAO,CAC1C,CACF,EAAG,CACDd,IAAK,iBACLlC,MAAO,SAAwB06D,GAC7B,IAAI13D,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAEo2E,UAAW,CAAA,CAAM,EAEjG/X,EAASiB,GAAYA,EAAS8iE,UAAU,EAI5C,OAHIx6H,EAAQwuE,WAAa/X,IACvBz2D,EAAQsxJ,kBAAoB55F,GAEvBzgE,KAAKsnF,aAAa9nB,EAAQz2D,CAAO,CAC1C,CACF,EAAG,CACDd,IAAK,iBACLlC,MAAO,SAAwB2O,GAC7B,IAAI3L,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAEo2E,UAAW,CAAA,CAAM,EAEjG+iF,EAAyBt6J,KAAKo6J,iCAAiC1lJ,CAAQ,EACvE+rD,EAAW65F,EAAuB75F,SAClCjB,EAAS86F,EAAuB96F,OAKpC,OAHIz2D,EAAQwuE,WAAa/X,IACvBz2D,EAAQsxJ,kBAAoB55F,GAEvBzgE,KAAKsnF,aAAa9nB,EAAQz2D,CAAO,CAC1C,CAWF,EAAG,CACDd,IAAK,eACLlC,OACMsmJ,EAASrgJ,EAAkB,UAAWwzD,GACxC,IAAIz2D,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAGlF,GAAI,CAACq+D,EACH,OAAOrzD,QAAQC,QAAQ,EAGzB,IAgBUmuJ,EAhBNvxJ,EAAMhJ,KAAKwQ,OAAO,EAElB67D,EAAa,KAAA,EAIfA,EADE,CAAA,IAAU76D,GAAGguD,OAAOg7F,eAAex6J,KAAK8gB,QAAQjY,MAAM22D,OAAQA,CAAM,EACzDx2D,EAAIk8D,QAAQ,EAAE6vF,uBAAuB/0J,KAAK8gB,QAAQjY,MAAM22D,OAAQx2D,EAAIu8D,QAAQ,CAAC,EAInF,CAAA,IAASx8D,EAAQw+E,MACTv+E,EAAIk8D,QAAQ,EAAE6vF,uBAAuBv1F,EAAQx2D,EAAIu8D,QAAQ,CAAC,GAKjEg1F,EAAOvxJ,EAAIk8D,QAAQ,EAAEoH,cAAc,IAGnBD,EADPtiD,KAAKlU,IAAI7M,EAAIk8D,QAAQ,EAAE6vF,uBAAuBv1F,EAAQx2D,EAAIu8D,QAAQ,CAAC,GAAG,EAAI0B,EAAwBsG,wBAAwBohF,EAAI7rB,QAAS9iI,KAAKysE,YAAY,CAAC,CAAC,IAC9HJ,EAAPkuF,EAAoBA,EAAOluF,EAGnEt+D,MAAM/N,KAAKy6J,QAAQjpJ,GAAGguD,OAAOu8D,UAAUv8D,CAAM,EAAG6M,CAAU,EAEtDtjE,EAAQsxJ,oBACVtsJ,MAAM/N,KAAK0qF,kBAAkB3hF,EAAQsxJ,kBAAmB,CAAE7vE,KAAM,CAAA,EAAOh6D,SAAUznB,EAAQynB,QAAS,CAAC,EAEvG,CAAC,EAED,SAAsBkqI,GACpB,OAAOrO,EAAO/qJ,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,WACLlC,MAAO,SAAkB8/B,GACvB,IAAIn1B,EAA0B,EAAnBvP,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAKnB,KAAKs2D,QAAQ,EAE5FzwB,EAAOn1B,IAAS1Q,KAAKs2D,QAAQ,EAAIzwB,EAAOr0B,GAAGC,KAAKiuD,gBAAgB75B,EAAMn1B,EAAM1Q,KAAKs2D,QAAQ,CAAC,EAE1Ft2D,KAAK2pE,OAAOxE,IAAI3zD,GAAGguD,OAAOg7F,eAAex6J,KAAK8gB,QAAQjY,MAAM22D,OAAQ35B,CAAI,EAAIA,EAAO7lC,KAAK8gB,QAAQjY,MAAM22D,MAAM,CAC9G,CAMF,EAAG,CACDv3D,IAAK,OACLlC,MAAO,SAAc06D,GACnB,IAAI13D,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9EkkE,EAAOrlE,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EACrB,WAAc,OAAOn8D,EAAQ+wJ,SAAU/wJ,CAAAA,EAAQ+wJ,UAG3Dz0F,EAAKy0F,QAAQ,CAAEtpI,SAAU,IAAK+9D,OAAQlpB,EAAK02D,UAAU,CAAE,CAAC,EACxD12D,EAAKy0F,QAAQ,CAAEtpI,SAAU,IAAK67C,WAAYhH,EAAKiH,cAAc,CAAE,CAAC,GAGlE,OAAOvjE,EAAQ+wJ,QAEfz0F,EAAKF,IAAI1E,EAAU5qB,EAAS,GAAI9sC,EAAS,CACvC4xJ,oBAAqBlyJ,KAAAA,IAAcM,EAAQ4xJ,qBAAsB5xJ,EAAQ4xJ,oBACzE//I,KAAM5a,KAAK2pE,OAAO3gE,IAAIu8D,QAAQ,CAChC,CAAC,CAAC,CACJ,CAUF,EAAG,CACDt9D,IAAK,uBACLlC,MAAO,WACL,IAAI01B,EAA4B,EAAnBt6B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAC7EqH,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAK3Ei2B,GAHA5uB,EAAKyT,OACPjc,KAAK46J,qBAAqB,iBAAkB,CAAE3+I,MAAOzT,EAAKyT,KAAM,CAAC,EAEtDjc,KAAKqwJ,eAAeI,eAAexpH,UAAU,GAC1D,OAAQxL,GACN,IAAK,MACHrE,EAAOypC,WAAWr4D,EAAKqL,OAAO,EAAE,MAClC,IAAK,SACHujB,EAAO4oC,cAAcx3D,EAAKqL,OAAO,EAAE,MACrC,IAAK,SACHujB,EAAO2oC,eAAev3D,EAAKqL,QAAQ0S,MAAM,CAAC,EAAEgtG,YAAY/qH,EAAKqL,QAAQyzB,YAAY,CAAC,EAAE,MACtF,IAAK,QACHlQ,EAAO8yB,MAAM,CACjB,CACF,CAMF,EAAG,CACDjiD,IAAK,kBACLlC,MAAO,WAGL/F,KAAKqwJ,eAAeI,eAAe5hH,WAFrB1tC,EAAmB,EAAnBA,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,KAAmBA,UAAU,EAExB,CACvD,CAcF,EAAG,CACD8G,IAAK,oBACLlC,OACMioI,EAAShiI,EAAkB,UAAW6uJ,GACxC,IA2BMlmB,EA3BF5rI,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9EqvB,EAAWznB,EAAQynB,UAAY,IAC/BsqI,EAAS96J,KAAKqwJ,eAAeG,eAC7B/qG,EAAO,YAAe,OAAO18C,EAAQ08C,KAAO18C,EAAQ08C,KAAO,KAC3D8xB,EAAY,WAAc,OAAOxuE,EAAQwuE,WAAYxuE,EAAQwuE,UAC7DiT,EAAO,WAAc,OAAOzhF,EAAQyhF,MAAOzhF,EAAQyhF,KACnD/pB,EAAWo6F,aAAuBrpJ,GAAGkvD,KAAK0oC,SAAWyxD,GAAc,IAAIrpJ,GAAGimB,OAAO8P,SAAUwzH,aAAaF,CAAW,EASvH,GAPA76J,KAAKyqF,uBAAuB,EAC5BzqF,KAAK46J,qBAAqB,iBAAkB,CAAE3+I,MAAOlT,EAAQkT,KAAM,CAAC,EAEhEuuE,IACFz8E,MAAM/N,KAAKsnF,aAAa7mB,EAAS8iE,UAAU,CAAC,GAGzChsD,EAUL,OANIxuE,EAAQ4lB,OACVmsI,EAAO32H,SAASp7B,EAAQ4lB,KAAK,EAG/BmsI,EAAO7zH,UAAU,EAAE45B,WAAW,IAAIrvD,GAAGgvD,QAAQ,CAAEC,SAAUA,CAAS,CAAC,CAAC,EAE7D,IAAIt0D,SACLwoI,EAAS3oI,EAAkB,UAAWI,GAE/B,SAAL+8E,IACF2xE,EAAO7zH,UAAU,EAAEijB,MAAM,EAErBnhD,EAAQ4lB,OACVmsI,EAAO32H,SAAS,SAAUiD,GACxB,MAAO,EAAC,EAAIy/D,EAAqBiC,qBAAqB,CAAEhiE,aAAcM,EAAKE,YAAY,EAAE1hC,QAAQ,EAAGqW,MAAOlT,EAAQkT,MAAOuvB,KAAM,CAAA,CAAK,CAAC,EACxI,CAAC,EAEEia,IACHkpG,EAAIG,mBAAqB,CAAA,GAE3B1iJ,EAAQ,CACV,CAEIq5C,GACFA,EAAK0jC,CAAE,EAGL34D,GAAYA,IAAaynD,EAAAA,GAAY,CAACxyB,IACxCkpG,EAAIG,mBAAqB,CAAA,EACzBlvJ,WAAWupF,EAAI34D,CAAQ,EAE3B,CAAC,EAEM,SAAUwqI,GACf,OAAOrmB,EAAOrzI,MAAMtB,KAAMmB,SAAS,CACrC,EACC,CACL,CAAC,EAED,SAA2B85J,GACzB,OAAOjtB,EAAO1sI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,yBACLlC,MAAO,WACA4oJ,EAAIG,oBACP9uJ,KAAKqwJ,eAAeG,eAAevpH,UAAU,EAAEijB,MAAM,EAGvDlqD,KAAKqwJ,eAAeE,OAAOC,eAAiB,CAAEv0I,MAAOxT,KAAAA,CAAU,CACjE,CAOF,EAAG,CACDR,IAAK,aACLlC,MAAO,WAGL/F,KAAKmxJ,gBAF4B,EAAnBhwJ,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAEomF,MAAO,CAAA,CAAK,CAEpE,CAC9B,CAIF,EAAG,CACDt/E,IAAK,SACLlC,MAAO,SAAgB+uI,GACrB,IAAI5xH,EAAQ4xH,EAAO5xH,MACfE,EAAS0xH,EAAO1xH,OAEhB6e,EAAK9+B,SAASo8B,eAAev/B,KAAKyH,MAAM,EAOxCyzJ,GALAj5H,IACFA,EAAGtT,MAAMvL,OAASA,EAAS,KAC3B6e,EAAGtT,MAAMzL,MAAQA,EAAQ,MAGXA,GAAS,GAAKE,GAAU,GACpC+3I,EAAa,CAAC,CAACn7J,KAAK2pE,OAEpBwxF,GAAc,CAACD,IACjBl7J,KAAKwQ,OAAO,EAAE4qJ,WAAW,EACzBp7J,KAAK6I,MAAMwsD,SAASphD,QAAQ,SAAUs4D,GACpC,OAAOA,EAAEvjE,IAAIoyJ,WAAW,CAC1B,CAAC,EACDp7J,KAAK6I,MAAMg9B,KAAO7lC,KAAK6pF,WAAW,EAClC7pF,KAAK6I,MAAMwjE,WAAarsE,KAAK2pE,OAAO2C,cAAc,EAClDtsE,KAAK6I,MAAM0lF,OAASvuF,KAAK2pE,OAAOoyD,UAAU,EAC1C/7H,KAAKmxJ,gBAAgB,GAGlBgK,GACHn7J,KAAK+yJ,YAAY7vI,EAAOE,CAAM,EAGhCpjB,KAAK8yJ,UAAUoI,CAAS,CAC1B,CACF,EAAG,CACDjzJ,IAAK,aACLlC,MAAO,WACL,OAAO/F,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAEI,gBAAgBtlE,KAAK2pE,OAAO3gE,IAAIu8D,QAAQ,CAAC,CAC5E,CACF,EAAG,CACDt9D,IAAK,wBACLlC,MAAO,WACL,IAAIyC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE3E6H,EAAMhJ,KAAK2pE,OAAO3gE,IAClBqyJ,EAAY,KAAA,EACZC,EAAa,KAAA,EAEb9yJ,EAAK4/D,QAIHkzF,EAFG,UADC9yJ,EAAK1C,MAETu1J,EAAY,CAAC7yJ,EAAK4/D,MAAM,GAAI5/D,EAAK4/D,MAAM,IAC1B,CAAC5/D,EAAK4/D,MAAM,GAAI5/D,EAAK4/D,MAAM,MAIxCizF,EAAYryJ,EAAIgyH,uBAAuB,CAACxyH,EAAK4/D,MAAM,GAAI5/D,EAAK4/D,MAAM,GAAG,EACxDp/D,EAAIgyH,uBAAuB,CAACxyH,EAAK4/D,MAAM,GAAI5/D,EAAK4/D,MAAM,GAAG,GAG1EpoE,KAAK2wJ,YAAYvoF,MAAM,GAAKizF,EAAU,GAAK7pJ,GAAGqJ,IAAI0gJ,mBAClDv7J,KAAK2wJ,YAAYvoF,MAAM,GAAKizF,EAAU,GAAK7pJ,GAAGqJ,IAAI0gJ,mBAClDv7J,KAAK2wJ,YAAYvoF,MAAM,GAAKkzF,EAAW,GAAK9pJ,GAAGqJ,IAAI0gJ,mBACnDv7J,KAAK2wJ,YAAYvoF,MAAM,GAAKkzF,EAAW,GAAK9pJ,GAAGqJ,IAAI0gJ,oBAGrDv7J,KAAK2wJ,YAAY7xF,MAAQ,CAAC,KAAMr2D,KAAAA,GAAWgB,SAASjB,EAAKs2D,KAAK,EAAI9+D,KAAK2wJ,YAAY7xF,OAAS,EAAIt2D,EAAKs2D,MACrG9+D,KAAK2wJ,YAAYxoF,SAAW,CAAC,KAAM1/D,KAAAA,GAAWgB,SAASjB,EAAK2/D,QAAQ,EAAInoE,KAAK2wJ,YAAYxoF,UAAY,EAAI3/D,EAAK2/D,SAE1GnoE,KAAK2wJ,YAAYC,OACnB5nJ,EAAIwjB,OAAO,CAEf,CAIF,EAAG,CACDvkB,IAAK,qBACLlC,MAAO,SAA4B+U,GACjC,IAII0gJ,EACAC,EACAC,EACAC,EACAxzF,EARAyzF,EAAU57J,KAGVgJ,EAAMhJ,KAAK2pE,OAAO3gE,IAOtBhJ,KAAK6sE,kBAAkB,EACvB7sE,KAAK2wJ,YAAYhgD,SAAW3nG,EAAInH,GAAG,cAAe,SAAUxD,GAC1D,IAAI85F,EAAM95F,EAAE+jC,QACRxnB,EAAOghJ,EAAQprJ,OAAO,EAAE+0D,QAAQ,EAEhCniD,EAASxI,EAAK,GAAKpJ,GAAGqJ,IAAI0gJ,mBAC1Br4I,EAAQtI,EAAK,GAAKpJ,GAAGqJ,IAAI0gJ,mBAC7BK,EAAQjL,YAAYC,MAAQ,CAAC,EAAG,EAAG1tI,EAAOE,GAC1C+0E,EAAI0jE,QAAQ,EACZ1jE,EAAI2jE,UAAU,EAEd3jE,EAAI4jE,OAAO,EAAG,CAAC,EACf5jE,EAAI6jE,OAAO94I,EAAO,CAAC,EACnBi1E,EAAI6jE,OAAO94I,EAAOE,CAAM,EACxB+0E,EAAI6jE,OAAO,EAAG54I,CAAM,EACpB+0E,EAAI6jE,OAAO,EAAG,CAAC,EACf7jE,EAAI8jE,UAAU,EAEVL,EAAQjL,YAAYvoF,MAAMhpE,SAC5B+4F,EAAIlmB,KAAK,EACTupF,EAAQI,EAAQjL,YAAYvoF,MAAM,GAClCszF,EAAQE,EAAQjL,YAAYvoF,MAAM,GAClCqzF,EAAQG,EAAQjL,YAAYvoF,MAAM,GAClCuzF,EAAQC,EAAQjL,YAAYvoF,MAAM,GAClCD,EAAWyzF,EAAQjL,YAAYxoF,SACvByzF,EAAQjL,YAAY7xF,MAE5Bq5B,EAAI+jE,WAAWT,EAAQD,GAAS,GAAIG,EAAQD,GAAS,CAAC,EACtDvjE,EAAIgkE,OAAOh0F,EAAWp+C,KAAKo1C,GAAK,GAAG,EACnCg5B,EAAI4jE,OAAS,EAACN,EAAQD,GAAS,GAAKG,EAAQD,GAAS,CAAC,EACtDvjE,EAAI6jE,QAAQP,EAAQD,GAAS,GAAIG,EAAQD,GAAS,CAAC,EACnDvjE,EAAI6jE,QAAQP,EAAQD,GAAS,EAAK,EAACG,EAAQD,GAAS,CAAE,EACtDvjE,EAAI6jE,OAAS,EAACP,EAAQD,GAAS,EAAM,EAACG,EAAQD,GAAS,CAAE,EACzDvjE,EAAI6jE,OAAS,EAACP,EAAQD,GAAS,GAAKG,EAAQD,GAAS,CAAC,EACtDvjE,EAAI8jE,UAAU,GAGhB9jE,EAAIikE,UAAY,uBAChBjkE,EAAI3sD,KAAK,EACL1wB,IACFq9E,EAAI7hD,KAAO,kBACX6hD,EAAIikE,UAAY,UAChBjkE,EAAIkkE,UAAY,SAChBvhJ,EAAQ8H,MAAM,IAAI,EAAE3O,QAAQ,SAAU8/B,EAAGt1C,GACvC,OAAO05F,EAAImkE,SAASvoH,EAAG7wB,EAAQ,EAAGE,EAAS,EAAI,GAAK3kB,CAAC,CACvD,CAAC,GAEH05F,EAAI0jE,QAAQ,CACd,CAAC,CACH,CACF,EAAG,CACD5zJ,IAAK,oBACLlC,MAAO,WACD/F,KAAK2wJ,YAAYhgD,WACnBn/F,GAAGI,WAAWC,QAAQ7R,KAAK2wJ,YAAYhgD,QAAQ,EAE3C3wG,KAAK2wJ,YAAYvoF,MAAMhpE,SACzBY,KAAK2wJ,YAAc,CACjB7qJ,KAAM,aACN8qJ,MAAO,GACPxoF,MAAO,GACPtJ,MAAO,KACPqJ,SAAU,IACZ,GAEFnoE,KAAK2wJ,YAAYhgD,SAAW,MAE9B3wG,KAAKwQ,OAAO,EAAEgc,OAAO,CACvB,CAQF,EAAG,CACDvkB,IAAK,sBACLlC,MAAO,SAA6BxD,GAClC,IAAIg6J,EAAUv8J,KAEVoU,EAAQpU,KAAKgkC,eAAezhC,CAAI,EAChCuD,EAAOsO,EAAMq1B,OAAS,SAE1B95B,EAAMrL,QAAQyL,WAAW,cAAc,EAAE8zD,sBAAsBzvD,CAAK,EACpEzE,EAAMrL,QAAQyL,WAAW,SAAS,EAAE0hC,oBAAoB,CAAElvC,KAAMA,EAAMuD,KAAMA,CAAK,CAAC,EAElF9F,KAAK2pE,OAAO3gE,IAAIkkH,YAAY94G,CAAK,EAE7B,WAAatO,IACf9F,KAAKoxJ,WAAWrhC,UAAUxtH,GAAM0R,QAAQ,SAAUuoJ,GAChD,OAAOA,EAAQ,CACjB,CAAC,EACD,OAAOx8J,KAAKoxJ,WAAWrhC,UAAUxtH,IAI/B,WAAauD,GACfqoJ,EAAc7pJ,QAAQqiB,QAAQ,gBAAgB,EAAEha,KAAK,SAAUspH,GAEzD1zH,KADJ0zH,EAAiBA,GAAkB,KAEjC,OAAOA,EAAe1zH,GAExB4rJ,EAAc7pJ,QAAQ8jB,QAAQ,iBAAkB6tG,CAAc,CAChE,CAAC,EAGC,WAAanwH,IACf9F,KAAKq2B,QAAQ85H,gBAAkBnwJ,KAAKq2B,QAAQ85H,gBAAgBn8I,OAAO,SAAUuhB,GAC3E,GAAIhzB,IAASgzB,EAAEhzB,KACb,MAAO,CAAA,EAETwF,OAAOa,OAAO+lJ,EAAI9iD,QAAQ,EAAE53F,QAAQ,SAAUtV,GAC5C,OAAOA,EAAE89J,uBAAyB99J,EAAE89J,sBAAsBlnI,CAAC,CAC7D,CAAC,EACGA,IAAMo5H,EAAIr6E,gBACZq6E,EAAIr6E,cAAgB,KAExB,CAAC,GAGC,QAAUxuE,IACZ9F,KAAKq2B,QAAQ65H,aAAelwJ,KAAKq2B,QAAQ65H,aAAal8I,OAAO,SAAUuhB,GACrE,GAAIA,EAAEhP,MAAM,IAAMnS,EAAMoE,GACtB,MAAO,CAAA,EAET+jJ,EAAQtD,4BAA4B1jI,EAAGnhB,EAAMm1B,YAAY,CAC3D,CAAC,GAGHvpC,KAAKq2B,QAAQlB,SAAWn1B,KAAKq2B,QAAQlB,SAASnhB,OAAO,SAAUuhB,GAC7D,OAAOA,EAAEvb,IAAI,IAAI,IAAM5F,EAAM4F,IAAI,IAAI,CACvC,CAAC,EAEDha,KAAK81J,oBAAoB1hJ,CAAK,EAE9BpU,KAAKmC,KAAK,wBAAyBI,CAAI,CACzC,CAQF,EAAG,CACD0F,IAAK,0BACLlC,MAAO,WACL,OAAO/F,KAAKq2B,QAAQ85H,eACtB,CAOF,EAAG,CACDloJ,IAAK,oBACLlC,MAAO,WACL,OAAO/F,KAAKq2B,QAAQlB,QACtB,CAmBF,EAAG,CACDltB,IAAK,mBACLlC,OACMgoI,EAAS/hI,EAAkB,UAAW0wJ,GACxC,IAAIC,EAAU38J,KAEV+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAI9Eg6D,EAAUuhG,EAActhG,WAAashG,EAActhG,WAAW,EAAIshG,EAOlE3kG,GANAoD,IAAYuhG,IACdvhG,EAAQl1C,IAAI,KAAMy2I,EAAcn2I,MAAM,CAAC,EACvC40C,EAAQl1C,IAAI,OAAQy2I,EAAcn2I,MAAM,CAAC,GAE3Cm2I,EAAgBvhG,EAEE,KAAA,GAQlB,GANApyD,EAAQ8lB,SAAWpmB,KAAAA,IAAcM,EAAQ8lB,SAAW,MAAQ9lB,EAAQ8lB,SACpE9lB,EAAQm1B,QAAUz1B,KAAAA,IAAcM,EAAQm1B,QAAU,EAAIn1B,EAAQm1B,QAC9Dn1B,EAAQ+E,QAAUrF,KAAAA,IAAcM,EAAQ+E,SAAW/E,EAAQ+E,QAC3D/E,EAAQkvD,WAAaxvD,KAAAA,IAAcM,EAAQkvD,YAAclvD,EAAQkvD,WAG7DykG,aAAyBlrJ,GAAG4C,MAAMkqD,OAAQ,CAE5Co+F,EAAcz2I,IAAI,KAAMy2I,EAAc1iJ,IAAI,IAAI,IAAK,EAAIuE,EAAgBiB,gBAAgB,CAAC,GAExFu4C,EAAc2kG,GACF1oJ,OAAS,CACnB1D,OAAQ,CAAA,CACV,EACAynD,EAAYl8B,UAAY,CACtBvrB,OAAQ,CAAA,EACRoE,SAAU,EACZ,EAEI3L,EAAQkT,OAASlT,EAAQlD,OAC3BkyD,EAAY5zB,SAASp8B,OAAO+tC,OAAO,SAAU1O,GAC3Cr+B,EAAQkT,MAAQlT,EAAQkT,MAAMu8C,KAAO,QAAU,CAACzvD,EAAQkT,MAAMu8C,KAAKp6D,EAAG2K,EAAQkT,MAAMu8C,KAAK7nB,EAAG5nC,EAAQkT,MAAMu8C,KAAK7hD,EAAG5N,EAAQkT,MAAMu8C,KAAK15D,GAAGuZ,KAAK,EAAI,IAAMtP,EAAQkT,MAC/J,IAAI6qB,EAAeM,EAAKE,YAAY,EAAE1hC,QAAQ,EAC1CqW,EAAQlT,EAAQkT,MAEhB0S,EAAQ,KAAA,EAkCZ,OAjCI,EAAI+uC,EAAqB0F,qBAAqBt8B,CAAY,EAE5DnY,EAAQ,IAAInd,GAAGmd,MAAM4vC,MAAM,CACzBpjC,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBjpF,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOA,CAAM,CAAC,EACxCyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOA,EAAOiH,MAAO,CAAE,CAAC,EACtD+7C,OAAQ,CACV,CAAC,CACH,CAAC,GACQ,EAAI0nC,EAAoB8C,oBAAoB3iE,CAAY,EAEjEnY,EAAQ,IAAInd,GAAGmd,MAAM4vC,MAAM,CACzBG,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOA,EAAOiH,MAAO,CAAE,CAAC,CACxD,CAAC,GACQ,EAAI0jF,EAAuB8C,uBAAuB5iE,CAAY,IAEvEnY,EAAQ,IAAInd,GAAGmd,MAAM4vC,MAAM,CACzB/yB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAO,uBAAwB,CAAC,EAC1DyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOA,EAAOiH,MAAO,CAAE,CAAC,CACxD,CAAC,GAICna,EAAQlD,OACV8oB,EAAMiuI,QAAQ,IAAIprJ,GAAGmd,MAAM6vC,KAAK,CAC9BpnD,KAAM,GAAKgwB,EAAKptB,IAAIjR,EAAQlD,KAAK,EACjCywC,KAAM,OACNwoB,MAAO,EACPL,QAAS,GACTjzB,KAAM,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOlT,EAAQkT,KAAM,CAAC,EAChDyiD,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,OAAQiH,MAAO,CAAE,CAAC,CACzD,CAAC,CAAC,EAEGyL,CACT,EAAG,CAAEuV,aAAcn7B,CAAQ,CAAC,CAAC,EAG3BkT,EAAQ,KAAA,EACZ,IACE,IAAI0S,EAAQ+tI,EAAcz4H,SAAS,EACnChoB,EAAQ0S,EAAMuV,aAAevV,EAAMuV,aAAajoB,MAAQ,MAG1D,CAFE,MAAO5d,IAITq+J,EAAgB,CACdlkJ,GAAIkkJ,EAAc1iJ,IAAI,IAAI,EAC1BzX,KAAMw1D,EAAY/9C,IAAI,MAAM,GAAK+9C,EAAY/9C,IAAI,IAAI,EACrDuvB,aAAc,CAAA,EACdhoC,MAAOw2D,EAAY/9C,IAAI,MAAM,GAAK+9C,EAAY/9C,IAAI,IAAI,EACtD+3B,UAAW,CAAA,EACX5c,SAAU,CAAA,EACVgS,IAAKp+B,EAAQo+B,IACbrhC,KAAMiD,EAAQjD,KACd2jC,MAAO,SACP37B,QAAS/E,EAAQ+E,QACjBtE,QAAS,CAAA,EACTqlB,SAAU9lB,EAAQ8lB,SAClBqP,QAASn1B,EAAQm1B,QACjBjiB,MAAOA,GAAS,OAChBjI,OAAQ+jD,EAAY/jD,OACpB6nB,UAAWk8B,EAAYl8B,UAEvBm1G,iBAAkB,CAAA,EAClB7rG,SAAUp8B,EAAQo8B,UAAY,CAAA,EAe9BmG,YAAaviC,EAAQuiC,WACvB,CACF,CAGIoxH,aAAyBlrJ,GAAG4C,MAAMu7D,QACpC+sF,EAAclkJ,GAAKkkJ,EAAc1iJ,IAAI,IAAI,EACzC0iJ,EAAc3qH,UAAY,CAAA,EAC1B2qH,EAAcnzH,aAAe,CAAA,EAC7BmzH,EAAcn6J,KAAOm6J,EAAc1iJ,IAAI,MAAM,EAC7C0iJ,EAAcn7J,MAAQm7J,EAAc1iJ,IAAI,MAAM,EAC9C0iJ,EAAcjzH,MAAQ,MACtBizH,EAAcx+H,QAAUn1B,EAAQm1B,QAChCw+H,EAAc7tI,SAAW9lB,EAAQ8lB,SACjC6tI,EAAcvnI,SAAW,CAAA,EACzBunI,EAAclzJ,QAAUT,EAAQ+E,SAI9B9N,KAAKgkC,eAAe04H,EAAcn6J,IAAI,GACxCoN,EAAMrL,QAAQ+gC,OAAO4oD,QAAQ,iBAAkB,CAAA,CAAK,EAGtD,IAiBIv5E,EACA8qD,EAlBA15D,EAAO42J,EAAcjzH,OAASizH,EAAc52J,KAE5CsO,EAAQ,CACVghB,OAAU2iC,EACVx6B,IAAOm/H,CACT,EAAE52J,KAAS,MAAO,EAAIsxD,EAA2BuC,2BAA2B,CAC1Ep3D,KAAMm6J,EAAcn6J,KACpBuD,KAAMA,EACNqhC,IAAKu1H,EAAcv1H,IACnB7zB,KAAMopJ,EAAcppJ,IACtB,CAAC,GAGD,OAAKc,GAIDM,EAAW,WAAa5O,GAAQsO,EAAM6yB,UAAU,EAAEC,YAAY,GAAK,GACnEs4B,EAAS,WAAa15D,GAAQsO,EAAM6yB,UAAU,EAAEs8F,UAAU,GAAK,GAGnE7uH,EAAST,QAAQ,SAAUvV,EAAGD,GAC5B,OAAOC,EAAEkiE,MAAMniE,CAAC,CAClB,CAAC,EAEGiW,EAAStV,SACXs9J,EAAc51H,aAAepyB,EAAS,GAAG4yB,YAAY,EAAE1hC,QAAQ,EAC/D82J,EAAc5sI,SAAW,CAAA,GAGvB0vC,EAAOpgE,SACTs9J,EAAc72H,KAAO,CAAEC,KAAM05B,EAAO,GAAIz5B,KAAMy5B,EAAO,GAAIx5B,KAAMw5B,EAAO,GAAIv5B,KAAMu5B,EAAO,EAAG,GAG5FprD,EAAM6R,IAAI,WAAYld,EAAQ8lB,QAAQ,EACtCza,EAAM81B,WAAWnhC,EAAQm1B,OAAO,EAChC9pB,EAAMy6B,WAAW9lC,EAAQ+E,OAAO,EAGhC4uJ,EAAcz2I,IAAMy2I,EAAcz2I,KAAO,SAAUnnB,EAAGwrB,GACpD,OAAOoyI,EAAc59J,GAAKwrB,CAC5B,EACAoyI,EAAc1iJ,IAAM0iJ,EAAc1iJ,KAAO,SAAUlb,GACjD,OAAO49J,EAAc59J,EACvB,EACA49J,EAAcn2I,MAAQm2I,EAAcn2I,OAAS,WAC3C,OAAOm2I,EAAclkJ,EACvB,EACAkkJ,EAActyH,QAAUsyH,EAActyH,SAAW,WAC/C,OAAOsyH,EAAcn6J,IACvB,EACAm6J,EAAc71H,gBAAkB61H,EAAc71H,iBAAmB,WAC/D,OAAO61H,EAAc51H,YACvB,EACA41H,EAAc5mC,oBAAsB4mC,EAAc5mC,qBAAuB,SAAUvpD,GACjF,OAAOmwF,EAAc1rB,iBAAmBzkE,CAC1C,EACAmwF,EAAczsH,oBAAsBysH,EAAczsH,qBAAuB,WACvE,OAAOysH,EAAc1rB,gBACvB,EACA0rB,EAAcvkB,WAAaukB,EAAcvkB,YAAc,WACrD,OAAOukB,EAAc5sI,QACvB,EACA4sI,EAAcG,YAAcH,EAAcG,aAAe,SAAUj9H,GACjE,OAAO88H,EAAc5sI,SAAW8P,CAClC,EACA88H,EAAc5lC,YAAc4lC,EAAc5lC,aAAe,WACvD,MAAO,CAAC,CAAC/+D,CACX,EACA2kG,EAAc1sH,UAAY0sH,EAAc1sH,WAAa,WAInD,OAHI+nB,IACF2kG,EAAc5uJ,QAAUiqD,EAAYuH,WAAW,GAE1Co9F,EAAc5uJ,OACvB,EACA4uJ,EAAc7tH,WAAa6tH,EAAc7tH,YAAc,SAAU5lC,GAC3D8uD,GACFA,EAAYlpB,WAAW5lC,CAAC,EAE1ByzJ,EAAc5uJ,QAAU7E,CAC1B,EAEAjJ,KAAK2pE,OAAO3gE,IAAI4wD,SAASxlD,CAAK,EAE9BpU,KAAKq2B,QAAQlB,SAAS/zB,KAAKgT,CAAK,EAE5B,WAAatO,GACf9F,KAAKq2B,QAAQ85H,gBAAgB/uJ,KAAKs7J,CAAa,EAI7C,QAAU52J,IACZ9F,KAAKq2B,QAAQ65H,aAAa9uJ,KAAKs7J,CAAa,EAC5C18J,KAAK24J,0BAA0B+D,EAAe,CAAA,CAAK,GAGjD3kG,GAAe,CAAA,IAAUhvD,EAAQkvD,YACnCk2F,EAAc7pJ,QAAQqiB,QAAQ,gBAAgB,EAAEha,KAAK,SAAUspH,GA19FzE,IAA8BhuH,EAAKlC,EA29FvBooJ,EAAc7pJ,QAAQ8jB,QAAQ,iBAAkBytB,EAAS,GAAIogF,GAAkB,IA39FlE7xH,EA29FsF,GA39FjF6D,EA29FqF8vD,EAAY/9C,IAAI,MAAM,EA39FtGjU,EA29FyG,CAC9H2O,UAAU,IAAIlD,GAAGimB,OAAO8P,SAAU+hH,cAAcvxF,EAAY9wB,UAAU,EAAEC,YAAY,CAAC,EACrFn+B,QAASA,CACX,EA99FoCd,KAAO7D,EAAO2D,OAAOC,eAAe5D,EAAK6D,EAAK,CAAElC,MAAOA,EAAO6B,WAAY,CAAA,EAAMC,aAAc,CAAA,EAAMC,SAAU,CAAA,CAAK,CAAC,EAAY1D,EAAI6D,GAAOlC,EAAgB3B,EA89F7L,CAAC,CACL,CAAC,EAGHuL,EAAMrL,QAAQyL,WAAW,cAAc,EAAE+yD,oBAAoB1uD,CAAK,EAClEzE,EAAMrL,QAAQyL,WAAW,SAAS,EAAE8pD,iBAAiB,CAAEzlD,MAAOsoJ,EAAe52J,KAAMA,CAAK,CAAC,EAGrF,WAAaA,IACf9F,KAAKoxJ,WAAWrhC,UAAU2sC,EAAcn6J,MAAQ,GAChDwF,OAAOa,OAAO+lJ,EAAI9iD,QAAQ,EAAE53F,QAAQ,SAAUtV,GAC5C,OAAOA,EAAEm+J,oBAAsBn+J,EAAEm+J,mBAAmB,CAAE1oJ,MAAOsoJ,EAAe1lC,UAAW2lC,EAAQvL,WAAWrhC,UAAU2sC,EAAcn6J,KAAM,CAAC,CAC3I,CAAC,GAGCi9D,GAAUz2D,EAAQu+E,cACpBtnF,KAAK2pE,OAAO3gE,IAAIk8D,QAAQ,EAAEC,IAAI3F,CAAM,EAGtCx/D,KAAK61J,kBAAkBzhJ,CAAK,EAErBA,GA5GEjI,QAAQE,OAAO,CA6G1B,CAAC,EAED,SAA0B0wJ,GACxB,OAAOhvB,EAAOzsI,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,EAAG,CACD8G,IAAK,YACLlC,MAAO,SAAmBxD,GACxB4H,IAAI6yJ,OAAOhjJ,IAAIzX,CAAI,CACrB,CAQF,EAAG,CACD0F,IAAK,cACLlC,MAAO,SAAqBqO,GAC1B,IAAIoE,EAAK,UAAa,OAAOpE,EAAQA,EAAQA,GAASA,EAAMmS,MAAM,EAG9DooI,EAAIr6E,eAAiB97D,IAAOm2I,EAAIr6E,cAAc/tD,MAAM,IACtD/N,EAAK,MAGPpE,GAAQ,EAAIgC,EAAqBI,qBAAqBgC,CAAE,GAAKxY,KAAKk2H,wBAAwB,EAAExsH,KAAK,SAAU6rB,GACzG,OAAO/c,IAAO+c,EAAEhP,MAAM,CACxB,CAAC,GAGD,EAAIq3C,EAAkBqF,kBAAkB,EAAE3iE,OAAON,KAAKk2H,wBAAwB,CAAC,EAAEjiH,QAAQ,SAAUshB,GACjG,OAAOA,EAAEsnI,YAAYtnI,EAAEhP,MAAM,IAAM/N,CAAE,CACvC,CAAC,EAEDm2I,EAAIr6E,cAAgBlgE,GAASA,EAAM+jI,WAAW,EAAI/jI,EAAQ,KAE1DrM,OAAOa,OAAO+lJ,EAAI9iD,QAAQ,EAAE53F,QAAQ,SAAUtV,GAC5C,OAAOA,EAAEs+J,eAAiBt+J,EAAEs+J,cAActO,EAAIr6E,aAAa,CAC7D,CAAC,CACH,CAMF,EAAG,CACDrsE,IAAK,mBACLlC,MAAO,WACL,OAAO4oJ,EAAIr6E,aACb,CACF,EAAE,EAEKy7E,CACT,GAAE//D,EAAY1rF,OAAO,GAKrBgiG,EAAchiG,QAAQ2nF,SAAS,UAAW,WACxC,OAAO0iE,EAAIC,WAAW36I,QAAQ,SAAUtV,GACtCA,EAAEm5J,OAASnJ,EAAI9iD,SAASltG,EAAE6Z,IAAIq+G,UAAU,EAAE83B,EAAI9iD,SAASltG,EAAE6Z,IAAIm4G,UAAU,CAAA,CAAK,CAC9E,CAAC,CACH,CAAC,EAGDrqB,EAAchiG,QAAQ2nF,SAAS,SAAU,WACvC,OAAO0iE,EAAIC,WAAW36I,QAAQ,SAAUkhI,GACtC,IAAI38H,EAAK28H,EAAO38H,GAEhB,OAAOm2I,EAAI9iD,SAASrzF,GAAIm4G,UADXwkB,EAAO2iB,MACoB,CAC1C,CAAC,CACH,CAAC,EAED54J,EAAQoF,QAAU,CAEhByrJ,WAAYA,EAEZ1nD,wBAAyBsmD,EAAIz7I,MAC/B,CAEA,EAAE,CAACgqJ,qCAAqC,GAAGC,uCAAuC,GAAGvoE,aAAa,IAAIwoE,YAAc,cAAcC,kCAAkC,IAAI7vC,kCAAkC,IAAI7f,8BAA8B,IAAI2vD,uBAAuB,IAAIC,4BAA4B,IAAIC,iCAAiC,IAAIC,iCAAiC,IAAI1oJ,8CAA8C,IAAIooD,wBAAwB,IAAI6wC,yBAAyB,IAAIC,uBAAuB,IAAIh5F,gBAAgB,IAAInD,eAAe,IAAIrD,oBAAoB,IAAIg2D,gBAAgB,IAAIlvB,oBAAoB,IAAIw9B,+BAA+B,IAAIy7B,4BAA4B,IAAIpxC,kCAAkC,IAAI1kD,4BAA4B,IAAImsD,yBAAyB,IAAIgV,6BAA6B,IAAI80B,mBAAmB,IAAIz/B,+BAA+B,IAAIC,+BAA+B,IAAIx7C,uBAAuB,IAAIkwH,gBAAgB,IAAI50C,2BAA2B,IAAInqC,4BAA4B,IAAIqqC,8BAA8B,IAAIr1B,iBAAiB,GAAG,GAAG4jF,IAAI,CAAC,SAAS9+J,EAAQU,EAAOJ,GAC9kC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI8vC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE3PL,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAE5V,IAAI0sB,EAAez1B,EAAQ,cAAc,EAIrC+Q,EAAQ7L,EAFDlF,EAAQ,cAAc,CAEM,EAEnCwf,EAAgBxf,EAAQ,eAAe,EAIvCoxF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/C0f,EAAiBxa,EAFDlF,EAAQ,eAAe,CAEc,EAIrD8T,EAA+B5O,EAFDlF,EAAQ,6CAA6C,CAEF,EAIjFiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInD4T,EAAS1O,EAFDlF,EAAQ,eAAe,CAEM,EAIrCk+E,EAAsCh5E,EAFDlF,EAAQ,kDAAkD,CAEA,EAI/F++J,EAAgD75J,EAFDlF,EAAQ,4DAA4D,CAEA,EAEnH+7E,EAAwC/7E,EAAQ,4CAA4C,EAE5FqoG,EAAcroG,EAAQ,kBAAkB,EAExCooG,EAAUpoG,EAAQ,cAAc,EAEhCsoE,EAActoE,EAAQ,kBAAkB,EAExCyiC,EAAgBziC,EAAQ,oBAAoB,EAE5Cy0E,EAAYz0E,EAAQ,gBAAgB,EAEpC2f,EAAkB3f,EAAQ,sBAAsB,EAEhDw2D,EAAWx2D,EAAQ,eAAe,EAElCwX,EAAuBxX,EAAQ,2BAA2B,EAE1Dg/J,EAAUh/J,EAAQ,kBAAkB,EAEpCkpG,EAAelpG,EAAQ,wBAAwB,EAEnD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAezc,IACIxH,EADWK,EAAQ,UAAU,EAChBL,EAiCjBW,EAAQoF,QAAU,KAAe21F,IAC/B9xF,IAmsDQw0D,EAhRAlN,EA39CSrnD,EAwCPy1J,EAxC+B,GAA0B,YAAtB,OAAOv1J,GAA4C,OAAfA,EAAuB,MAAM,IAAIC,UAAU,2DAA6D,OAAOD,CAAU,EA0C1M,SAASu1J,IACPztE,IAKIxlF,EAsjBEkzJ,EA1mBwC,GA+C9B99J,gBAAM69J,EAgmBtB,OA3lBIjzJ,GAlDR,CAAoC1B,EAAM/J,KAAQ,GAAK+J,EAAiG,MAAO/J,CAAAA,GAAyB,UAAhB,OAAOA,GAAqC,YAAhB,OAAOA,EAA8B+J,EAAP/J,EAAnK,MAAM,IAAIkK,eAAe,2DAA2D,CAA4F,GAkDpMrJ,MAAO69J,EAAoB10J,WAAapB,OAAOqB,eAAey0J,CAAmB,GAAG1+J,KAAKa,IAAI,CAAC,GAE/Hi0F,QAAU,CAgBd+yD,iBAAkB,SAA0B+W,GAC1C,IAoBMpiI,EAGAqiI,EAvBFp0J,EAAS5J,KAET+I,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAE2F,IAAK,CAAA,CAAM,EAoC3F45D,GAhCCq9F,EAAczqJ,OAAMyqJ,EAAczqJ,KAAO,IACzCyqJ,EAAcv6G,QAAOu6G,EAAcv6G,MAAQ,CAAEruB,SAAU,CAAEruB,IAAK,CAAA,EAAOkN,OAAQ,CAAE4jH,SAAU,CAAA,CAAM,CAAE,CAAE,GACnGmmC,EAAcv6G,MAAMruB,WAAU4oI,EAAcv6G,MAAMruB,SAAW,CAAEruB,IAAK,CAAA,EAAOkN,OAAQ,CAAE4jH,SAAU,CAAA,CAAM,CAAE,GAGxG,CAAA,IAAU7uH,EAAQjC,MAEpB9G,KAAKsnJ,WAAW,EAChBtnJ,KAAK6I,MAAM26C,MAAQu6G,EAAcv6G,MACjCxjD,KAAK6I,MAAM/C,KAAOi4J,EAAcj4J,MAI9B,CAAA,IAASi4J,EAAcv6G,MAAMruB,SAASruB,KAAO,CAAA,IAAUiC,EAAQjC,MAC7D60B,EAAUhsB,EAAMrL,QAAQyL,WAAW,SAAS,EAG5CiuJ,EAAkBD,EAAcv6G,MAAMruB,SAASnhB,OAAO4jH,SAG1D53H,KAAKi+J,cAAchqJ,QAAQ,SAAUG,GACnC,IAAIoE,EAAKpE,EAAM4F,IAAI,IAAI,EAEnB5F,EAAMkrD,WAAW,GAAK,CAAC72D,KAAAA,EAAW,CAAC,EAAEkzB,EAAQ9yB,MAAMssB,SAASC,OAAO1rB,KAAK,SAAU6rB,GACpF,OAAOA,EAAE/c,KAAOA,CAClB,CAAC,GAAK,IAAIsX,UAAUrmB,SAASu0J,CAAe,GAC1CD,EAAczqJ,KAAK,iBAAmBkF,EACpC,UAAY,QAAQ5O,EAAOs0J,uCAAuC9pJ,EAAO2pJ,EAAcv6G,KAAK,CAAC,CAEnG,CAAC,GAGQ,CAAA,IAAUz6C,EAAQjC,KAAO,CAClCZ,YAAe,KAAOlG,KAAK6I,MAAM26C,MAAMt9C,aAAe,IAAI9G,QAAU,IAAIoS,GAAGkvD,KAAKC,MAAM3gE,KAAK6I,MAAM26C,MAAMt9C,WAAW,EAClH2/B,KAAQ,KAAO7lC,KAAK6I,MAAM26C,MAAM3d,MAAQ,IAAIzmC,QAAUoS,GAAGkvD,KAAK8yD,QAAQytB,WAAWjhJ,KAAK6I,MAAM26C,MAAM3d,IAAI,EACtGiC,QAAW9nC,KAAK6I,MAAM26C,MAAMid,SAC5B09F,YAAen+J,KAAK6I,MAAM26C,MAAMid,SAChCijC,OAAU1jG,KAAK6I,MAAM26C,MAAMid,QAC7B,EAAEzgE,KAAK6I,MAAM26C,MAAM19C,OAefoN,GAZAwtD,KACE7sD,EAAU,IAAIrC,GAAGgvD,QAAQE,CAAI,GACzBE,MAAMn4D,KAAAA,CAAS,EACvBzI,KAAKo+J,kBAAkBn3H,UAAU,EAAEijB,MAAM,EACzCv6C,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAE08G,YAAYltH,KAAKo+J,iBAAiB,EAC3Ep+J,KAAKo+J,kBAAkBn3H,UAAU,EAAE45B,WAAWhtD,CAAO,EACrDlE,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAEopD,SAAS55D,KAAKo+J,iBAAiB,EACxEp+J,KAAKo+J,kBAAkB34H,UAAU91B,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAEi6D,UAAU,EAAEwlE,UAAU,CAAC,GAKtF8tB,EAAczqJ,KAAKq3E,QAAQ,SAAUrgE,GAChD,MAAO,GAAGhqB,OAAOgqB,CAAC,CACpB,CAAC,EAAEtW,OAAO,SAAUsW,GAClB,OAAOA,IAAM7hB,KAAAA,IAAc6hB,EAAEoqD,SAAWxzE,MAAMkF,QAAQkkB,EAAE5V,QAAQ,GAAyB,EAApB4V,EAAE5V,SAAStV,OAClF,CAAC,EAAE4J,IAAI,WACL,IAAIjC,EAA0B,EAAnB5F,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3EiT,EAAQrN,EAAKqN,MACbM,EAAW3N,EAAK2N,SAChBggE,EAAU3tE,EAAK2tE,QACfjoE,EAAQ1F,EAAK0F,MAEb4xJ,EAAWjqJ,aAAiBwpJ,EAAQtxG,MACpCgyG,EAAYlqJ,aAAiB5C,GAAG4C,MAAMkqD,OACtCigG,EAAY,UAAa,OAAOnqJ,GAASA,aAAiB63B,OAE1DuyH,EAAa,KAAA,EAEjB,GAAID,EACFC,EAAaZ,EAAQtxG,MAAMyD,WAAWinF,YACjC,GAAIqnB,EACT,IACEG,EAAapqJ,EAAMiiI,cAAc,CAGnC,CAFE,MAAO5pI,IAKX,IAAIlK,EAAOg8J,GAAanqJ,EAAMwO,MAAM,GAAG,EAEnCpK,GAAM6lJ,EAAWjqJ,EAAMmS,MAAM,EAAI9d,KAAAA,KAAe61J,EAAYlqJ,EAAM4F,IAAI,IAAI,EAAIvR,KAAAA,KAAe81J,EAAYnqJ,EAAQ3L,KAAAA,GAEjHqL,EAAa,KAAA,EACb2qJ,EAAa,KAAA,EAsBbC,GAdA,EAJF5qJ,EADGY,GAAaA,EAAStV,OAKtB0U,EAJU,KAIIM,aAAiBwpJ,EAAQtxG,QAC1CmyG,EAAarqJ,EAAMsgI,cAAc,EAAE1rI,IAAI,SAAU22B,GAC/C,MAAO,QAAU/1B,EAAOf,MAAM/C,KAAO+vC,EAAS,GAAIlW,EAAM,CAAEp9B,KAAMo9B,EAAKp9B,KAAKw1B,QAAQ,KAAM,GAAG,CAAE,CAAC,EAAI4H,CACpG,CAAC,GAGC,CAAC7rB,GAAcM,aAAiB5C,GAAG4C,MAAMkqD,SAC3CmgG,EAAarqJ,EAAML,cAAc,IAG/B,CAACD,GAAc,UAAa,OAAOM,GAASA,aAAiB63B,UAC/DwyH,EAAa/pJ,EAAS,GAAKA,EAAS,GAAGX,cAAc,EAAI,KAGvC,CAACD,GAAcM,aAAiBwpJ,EAAQtxG,OAASmyG,GAAc,IAAIzqJ,OAAO,SAAU2rB,GACtG,IACE,MAAO,MAAQA,EAAKp9B,KAAK,IAAMwO,OAAOy9D,UAAU,CAAI7uC,EAAKp9B,KAAK,EAAE,CAGlE,CAFE,MAAOlE,GACP,MAAO,CAAA,CACT,CACF,CAAC,EAAE2K,IAAI,SAAU22B,GACf,MAAO,CAAE2jB,MAAO3jB,EAAKp9B,KAAKw1B,QAAQ,IAAK,EAAE,EAAGx1B,KAAMo9B,EAAKp9B,IAAK,CAC9D,CAAC,GAmBG2qB,GAjBA,CAACpZ,GAAc4qJ,EAAat/J,QAC9BsV,EAAST,QAAQ,SAAUvV,GAEzB,IAAIwuB,EAAQnlB,OAAO2yB,KAAKh8B,EAAEqV,cAAc,CAAC,EACzC2qJ,EAAazqJ,QAAQ,SAAU0qJ,GAC7BzxI,EAAMxjB,KAAK,SAAUi2B,GACnB,GAAIA,IAASg/H,EAAUr7G,MAErB,OADA5kD,EAAEunB,IAAI04I,EAAUp8J,KAAM7D,EAAEsb,IAAI2lB,CAAI,CAAC,EAC1B,CAAA,CAEX,CAAC,CACH,CAAC,CACH,CAAC,EAKS,CAAC7rB,IAAc,EAAI6mE,EAAsCa,sCAAsCzzE,OAAO2yB,KAAKhmB,EAAS,aAAclD,GAAGgvD,QAAU9rD,EAAS,GAAGX,cAAc,EAAIW,EAAS,GAAG6D,UAAU,CAAC,GAE3MzE,EAAAA,IACU2qJ,GAAkC,EAApBA,EAAWr/J,OAAaq/J,EAAWzqJ,OAAO,SAAU2rB,GAC7E,MAAkC,CAAC,EAA5BzS,EAAMolB,QAAQ3S,EAAKp9B,IAAI,CAChC,CAAC,EAAI2qB,EAAMlkB,IAAI,SAAU41J,GACvB,MAAO,CACLr8J,KAAMq8J,EACN12I,MAAO02I,EACPntI,KAAMrT,EAAc8/D,UAAY0gF,GAAe,CAACn2J,KAAAA,EAAW,OAAQ,MAAO,MAAO,OAAQ,kBAAkBgB,SAAS+0J,CAAU,EAC9H14J,KAAM,SACR,CACF,CAAC,GAGCqvB,EAAWmpI,GAAaC,EACxBvoF,EAAYqoF,GAAYjqJ,EAAM6mC,iBAAiB,GAAK7mC,EAAMitE,6BAA6B,EAE3F,GAAIrL,GAAa90E,MAAMkF,QAAQwD,EAAOslI,WAAW96H,EAAMmS,MAAM,EAAE,GAA+C,EAA1C3c,EAAOslI,WAAW96H,EAAMmS,MAAM,GAAGnnB,OAAY,CAC/G,IAAI00D,EAA6B,CAAA,EAC7BC,EAAqB,CAAA,EACrBC,EAAkBvrD,KAAAA,EAEtB,IACE,IAAK,IAA+CwrD,EAA3CC,EAAa8hB,EAAUzwE,OAAOC,UAAU,EAAW,EAAEsuD,GAA8BG,EAASC,EAAWzkD,KAAK,GAAG/C,MAAOonD,EAA6B,CAAA,EAG1J+qG,CAlOhB,SAASA,EAAkB/kI,GACzB,GAAIA,EAAKjD,MAAO,CACd,IAAIP,EAA4B,CAAA,EAC5BC,EAAoB,CAAA,EACpBC,EAAiB/tB,KAAAA,EAErB,IACE,IAAK,IAA+CguB,EAA3CC,EAAYoD,EAAKjD,MAAMtxB,OAAOC,UAAU,EAAU,EAAE8wB,GAA6BG,EAAQC,EAAUjnB,KAAK,GAAG/C,MAAO4pB,EAA4B,CAAA,EAGrJuoI,EAFYpoI,EAAM1wB,KAEK,CAe3B,CAbE,MAAO6G,GACP2pB,EAAoB,CAAA,EACpBC,EAAiB5pB,CACnB,CAAE,QACA,IACM,CAAC0pB,GAA6BI,EAAUI,QAC1CJ,EAAUI,OAAO,CAMrB,CAJE,QACA,GAAIP,EACF,MAAMC,CAEV,CACF,CACF,MAAWsD,EAAKv3B,OACdu3B,EAAK4lB,SAAW,CAAA,EAEpB,EAmM2BuU,EAAOluD,KAEI,CAe1B,CAbE,MAAO6G,GACPmnD,EAAqB,CAAA,EACrBC,EAAkBpnD,CACpB,CAAE,QACA,IACM,CAACknD,GAA8BI,EAAWp9B,QAC5Co9B,EAAWp9B,OAAO,CAMtB,CAJE,QACA,GAAIi9B,EACF,MAAMC,CAEV,CACF,CACF,CAGA,MAAO,CACLx7C,GAAIA,EACJ1E,WAAYA,EACZqhB,SAAUA,EACVzgB,UAAW,CAACggE,GAAWhgE,GAAY,IAAI1L,IAAI,SAAUtK,GACnD,MAAO,CACL8Z,GAAI2c,GAAuBz2B,aAAa8S,GAAGgvD,QAAU9hE,EAAE6nB,MAAM,EAAI7nB,EAAE8Z,GACnE1E,WAAYpV,aAAa8S,GAAGgvD,QAAU9hE,EAAEqV,cAAc,EAAIrV,EAAE6Z,WAC5DkoD,SAAU/hE,aAAa8S,GAAGgvD,QAAU9hE,EAAE4oC,YAAY,EAAI5oC,EAAE+hE,SACxD5kC,UAAWn9B,EAAEm9B,UACbpK,KAAM,CAAA,CACR,CACF,CAAC,EACD6lD,YAAap2E,MAAMkF,QAAQsO,CAAQ,GAAK,CAACggE,GAAWhgE,EAASshB,KAAK,SAAUt3B,GAC1E,OAAOA,aAAa8S,GAAGgvD,QAAU9hE,EAAE4oC,YAAY,EAAI5oC,EAAE+hE,QACvD,CAAC,EACDiX,cAAex2E,MAAMkF,QAAQsO,CAAQ,GAAK,CAACggE,GAAWhgE,EAAStV,QAAU0U,EAAWkiB,KAAK,SAAU2J,GACjG,MAAO,UAAYA,EAAK75B,IAC1B,CAAC,EACD4rB,QAAS,CAAA,EACTD,KAAM,CAAA,EACNkmD,WAAY,CAAA,EACZY,mBAAoB,CAAEjoE,OAAQ,CAAA,CAAM,EACpCgoE,gBAAiB,CAAEhoE,OAAQ,CAAA,CAAM,EACjCrC,SAAUowJ,GAAWjqJ,EAAM+xB,WAAW,EACtCk9B,UAAWg7F,GAAWjqJ,EAAMkvD,YAAY,EACxClsC,OAAQinI,EAAWjqJ,EAAM6yB,UAAU,EAAIx+B,KAAAA,EACvCiwE,WAAY2lF,EAAWjqJ,EAAMiwH,cAAc,EAAI57H,KAAAA,EAC/CmrE,YAAayqF,EAAWjqJ,EAAM2xH,eAAe,EAAI,GACjD1tD,UAAWgmF,EAAWjqJ,EAAMypE,uBAAuB,EAAI,GACvD7I,cAAegB,EAAY,CACzBA,UAAWA,EAEXljE,OAAQsB,EAAM06C,UAAU,EAAE96C,OAAO,SAAUtV,GACzC,OAAOA,EAAE+yB,IACX,CAAC,EAAEnxB,QAAQY,MAAMkF,QAAQsO,CAAQ,GAAK,CAACggE,GAA6B,EAAlBhgE,EAAStV,QAAc0U,GAAc,IAAIE,OAAO,SAAU2rB,GAC1G,OAAOvrB,EAAM06C,UAAU,EAAE94B,KAAK,SAAUt3B,GACtC,OAAOA,EAAE6D,OAASo9B,EAAKp9B,IACzB,CAAC,CACH,CAAC,CAAC,CACJ,EAAIkG,KAAAA,EACJq2J,oBAAqBT,GAAYC,GAAaC,EAAY,GAAK91J,KAAAA,EAC/DuL,OAAQqqJ,GAAY,CAAC,CAAC,MAAO,MAAO,QAAQ50J,SAAS+0J,CAAU,EAAIpqJ,EAAMvL,MAAMmL,OAAS,GACxF6nB,UAAWwiI,GAAY,CAAC,CAAC,MAAO,MAAO,QAAQ50J,SAAS+0J,CAAU,GAAKpqJ,EAAMvL,MAAMgzB,WAAayiI,GAAalqJ,EAAMynB,WAAa,GAChIt6B,MAAO88J,GAAYjqJ,EAAMoQ,SAAS,GAAK85I,GAAalqJ,EAAM4F,IAAI,MAAM,GAAKukJ,GAAah8J,IAAuB,EAAdA,EAAKnD,OAAamD,EAAKgiB,MAAM,EAAGhiB,EAAKnD,OAAS,CAAC,EAAEiZ,KAAK,GAAG,EAAIjE,IAAU3L,KAAAA,EACtKi/D,MAAO99D,EAAOm1J,OAAO/qJ,OAAO,SAAUlV,GACpC,OAAOA,EAAE4oE,MAAMznB,eAAiBznC,CAClC,CAAC,EACDk8D,QAASA,GAAW,KACpBjoE,MAAOA,GAAS,GAChBmlC,IAAKzc,GAAY/gB,EAAMvL,MAAM+oC,GAC/B,CACF,CAAC,GAED5xC,KAAKg/J,cAAc9rJ,EAAQnK,CAAO,CACpC,EASAi2J,cAAe,WACb,IAAIznJ,EAASvX,KAETkT,EAA4B,EAAnB/R,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAE2F,IAAK,CAAA,CAAM,EAE3F,CAAA,IAAUiC,EAAQjC,KAGpBoM,EAAOwD,KAAK,SAAU5X,EAAG6X,GACvB,OAAO7X,EAAEq2B,SAAW,EAAI5d,EAAO0nJ,iBAAiB3sH,QAAQxzC,EAAE0Z,EAAE,EAAIjB,EAAO0nJ,iBAAiB3sH,QAAQ37B,EAAE6B,EAAE,EAAI,EAAI,CAAC,CAC/G,CAAC,EAGHtF,EAAOe,QAAQ,SAAUshB,GACvB,OAAOxsB,EAAQjC,IAAMyQ,EAAO2nJ,0BAA0B3pI,CAAC,EAAIhe,EAAO1O,MAAMqK,OAAO9R,KAAKm0B,CAAC,CACvF,CAAC,EACDv1B,KAAKu7E,oBAAoBroE,EAAQ,CAAEpM,IAAKiC,EAAQjC,GAAI,CAAC,EACrD9G,KAAK6I,MAAM0/B,QAAU,CAAA,CACvB,EAQAgoD,aAAc,SAAsBllE,GAClCrrB,KAAK6I,MAAMoE,WAAW7L,KAAKiqB,CAAS,CACtC,EASA8zI,oBAAqB,SAA6Bp8F,EAAS7vD,KAQ3D6kE,WAAY,SAAoBxyD,KAMhC65I,eAAgB,aAQhBC,kBAAmB,SAA2BjrJ,GAC5C,IAAIw5C,EAAS5tD,KAEbA,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IAAIvE,QAAQ,SAAUwnB,GACnD,OAAOA,EAAO/tB,QAAU+tB,EAAO/tB,OAAO0G,CAAK,CAC7C,CAAC,GAEAA,EAAMM,UAAY,IAAIT,QAAQ,SAAU+D,EAAG+4F,GAC1C,IAAIh/E,EAAO67B,EAAO/kD,MAAMiwE,mBAAmB1kE,EAAMoE,IAC7C/P,KAAAA,IAAcspB,IAGdtpB,KAAAA,IAAcspB,EAAKg/E,IACrB5mG,IAAI8b,IAAI8L,EAAMg/E,EAAK,IAAI,EAEzBh/E,EAAKg/E,GAAO,KACd,CAAC,CACH,EAMAuuD,qBAAsB,aAMtB7/E,YAAa,WACX,IAAIxoE,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACpE8V,EAAM7C,KAEpB,EAWAyiE,uBAAwB,WACtB,IAAIr/D,EAA2B,EAAnBrW,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACrEqW,EAAM+T,IAInB,EAWA40C,6BAA8B,SAAsC/rD,EAAOP,GACzE7T,KAAKk/J,0BAA0B,CAAE1mJ,GAAIpE,EAAMoE,GAAI2c,SAAU/gB,EAAM+gB,SAAUzgB,SAAU,CAACb,EAAS,CAAC,CAChG,CACF,EAKAjJ,EAAM20J,4BAA8B,GAKpC30J,EAAMskI,WAAa,GAKnBtkI,EAAMm0J,OAAS,GAKfn0J,EAAM40J,aAAe,GAKrB50J,EAAM/B,MAAQ,CAEZg4B,OAAQp4B,KAAAA,IAAcoD,EAAcvH,QAAQyG,KAAKyN,GAKjDvL,WAAY,GAKZiG,OAAQ,GAKRq1B,QAAS,CAAA,EAKTib,MAAO,KAMP19C,KAAM,MAmBN8yE,cAAe,GAKfI,YAAa,GAMbF,mBAAoB,GAOpB2mF,0BAA2B,GAK3BhnF,gBAAiB,GAKjB7B,oBAAqB,GAKrBhC,uBAAwB,EAE1B,EAKAhqE,EAAMqzJ,cAAgB,GAKtBrzJ,EAAM80J,mCAAqC,CAKzClnJ,GAAI,KAKJvF,YAAa,KAKb2iJ,WAAY,KAKZ+J,mBAAoB,IAEtB,EAKA/0J,EAAMg1J,UAAY,CAChBC,KAAM,aACN3nF,0BAA2B,CAAE9Z,MAAO,CAAA,CAAM,EAC1CiZ,uBAAwB,CAAEjZ,MAAO,CAAA,CAAM,EACvC0hG,aAAc,CAAE1hG,MAAO,CAAA,CAAM,CAC/B,EAQAxzD,EAAMwzJ,kBAAoB,IAAI5sJ,GAAG4C,MAAMkqD,OAAO,CAC5ClnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OACtB3vC,MAAO,SAAeyY,GACpB,OAAO,IAAI51B,GAAGmd,MAAM4vC,MAAM,UAAYn3B,EAAKE,YAAY,EAAE1hC,QAAQ,EAAI,CAAEwR,KAAM,IAAI5F,GAAGmd,MAAM6vC,KAAK,CAAEhzB,KAAM,IAAIh6B,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,OAAQ,CAAC,EAAG7E,KAAM,IAAUk/B,KAAM,gCAAiCmoB,QAAS,CAAC,EAAG,CAAC,CAAE,EAAI,CAAEC,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAO,OAAQ,CAAC,CAAE,CAAC,CAChR,CACF,CAAC,EAKDrR,EAAMm1J,SAAWl0J,EAAcvH,QAAQwc,QAKvClW,EAAMq0J,kBACAnB,EAAW,GAUflzJ,EAAMm1J,SAASl3J,MAAMuwB,WAAWnlB,QATjB,SAAS2lB,EAASpE,IAC9BA,EAAKqB,OAAS,CAACrB,IAAOvhB,QAAQ,SAAU3V,GACnCA,EAAEka,GACJslJ,EAAS18J,KAAK9C,EAAEka,EAAE,EAElBohB,EAASt7B,CAAC,CAEd,CAAC,CACH,CACgD,EACzCw/J,GAMTlzJ,EAAMo1J,cAAcp1J,EAAMm1J,QAAQ,EAKlCn1J,EAAMm0J,OAASn0J,EAAMm1J,SAAS/3F,SAAS,EAAEh0D,OAAO,SAAU/U,GACxD,OAAOA,EAAEyoE,KACX,CAAC,GAAK,GAKN/3D,EAAMrL,QAAQ2nF,SAAS,aAAc,SAAUljF,GACzC,MAAQA,EAAQiwC,MAAQrpC,EAAMrL,QAAQgoB,SAAS,IACjD1hB,EAAMg1J,UAAU1nF,0BAA0B9Z,MAAQ,CAAA,EAClDxzD,EAAMg1J,UAAUvoF,uBAAuBjZ,MAAQ,CAAA,EAC/CxzD,EAAMg1J,UAAUE,aAAa1hG,MAAQ,CAAA,EAEzC,CAAC,EAEMxzD,EA/oBiF,MAAM,IAAIrC,UAAU,mCAAmC,CAgpBjJ,CA+iDA,OA3rE+MH,EAAS/G,UAAY0G,OAAOuB,OAAOhB,GAAcA,EAAWjH,UAAW,CAAEoE,YAAa,CAAEM,MAAOqC,EAAUR,WAAY,CAAA,EAAOE,SAAU,CAAA,EAAMD,aAAc,CAAA,CAAK,CAAE,CAAC,EAAOS,IAAYP,OAAOwB,eAAiBxB,OAAOwB,eAAenB,EAAUE,CAAU,EAAIF,EAASe,UAAYb,GAmpB/dlB,EAAay2J,EAAqB,CAAC,CACjC51J,IAAK,mBACLlC,MAAO,WAGL/F,KAAKw/J,aAF6B,EAAnBr+J,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,EAGrF,CAeF,EAAG,CACD8G,IAAK,0BACLlC,MAAO,WACL,IAAIkZ,EAA2B,EAAnB9d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E8+J,EAAWhhJ,EAAMzG,GACjBA,EAAkB/P,KAAAA,IAAbw3J,GAAyB,EAAI1hJ,EAAgBiB,gBAAgB,EAAIygJ,EACtEltJ,EAAUkM,EAAMlM,QAChBsY,EAAYpM,EAAMoM,UAClB60I,EAAajhJ,EAAMnZ,KACnBA,EAAsB2C,KAAAA,IAAfy3J,EAA2B,UAAYA,EAC9CC,EAAiBlhJ,EAAM4P,SACvBA,EAA8BpmB,KAAAA,IAAnB03J,EAA+B,QAAUA,EASxD,OAPI13J,KAAAA,IAAczI,KAAK6I,MAAM+rE,uBAAuB7hE,KAClD/S,KAAK6I,MAAM+rE,uBAAuB7hE,GAAW,CAC3CqB,MAAO,CAAE8jC,OAAQ,GAAIC,MAAO,EAAG,EAC/BtkC,QAAS,CAAEqkC,OAAQ,GAAIC,MAAO,EAAG,CACnC,GAEFn4C,KAAK6I,MAAM+rE,uBAAuB7hE,GAASjN,GAAM+oB,GAAUztB,KAAK,CAAEoX,GAAIA,EAAI6S,UAAWA,CAAU,CAAC,EACzF7S,CACT,CAYF,EAAG,CACDvQ,IAAK,4BACLlC,MAAO,SAAmCq6J,GACxC,IAYMC,EAZFnwG,EAASlwD,KAEToU,EAAQpU,KAAK6I,MAAMqK,OAAOxJ,KAAK,SAAU6rB,GAC3C,OAAOA,EAAE/c,KAAO4nJ,EAAc5nJ,EAChC,CAAC,EACD8nJ,iBAAmBF,EAAc1rJ,UAAY,GAC7CygB,UAAYn1B,KAAK6I,MAAMqK,OAAOxJ,KAAK,SAAU6rB,GAC3C,OAAOA,EAAE/c,KAAO4nJ,EAAc5nJ,EAChC,CAAC,GAAK,IAAI2c,UACVk0D,aAAej1E,GAAyC,GAA/BA,EAAMM,UAAY,IAAItV,UAGzCihK,EAAejsJ,EAAMM,SAAS1L,IAAI,SAAUtK,GAC9C,OAAOy2B,SAAWz2B,EAAE8Z,GAAK9Z,EAAEoV,WAAWsK,EAAc8/D,QACtD,CAAC,EACDoiF,iBAAiBrsJ,QAAQ,SAAUmzB,GACjC,IAAIm5H,EAAarwG,EAAOswG,cAAcp5H,EAAMjS,QAAQ,EAChDkrI,EAAarqI,KAAK,SAAUxd,GAC9B,OAAOA,IAAO+nJ,CAChB,CAAC,GAEC3gK,WAAW,WACT,OAAO,OAAOswD,EAAOrnD,MAAM+tE,oBAAoB1mB,EAAOymB,SAASviE,EAAOgzB,CAAI,EAC5E,CAAC,EACDhzB,EAAMM,UAAYN,EAAMM,UAAY,IAAIV,OAAO,SAAUtV,GACvD,OAAOwxD,EAAOswG,cAAc9hK,EAAGy2B,QAAQ,IAAMorI,CAC/C,CAAC,GAGDnsJ,EAAMM,SAAStT,KAAKgmC,CAAI,CAE5B,CAAC,GAEAhzB,EAAMM,UAAY,IAAIT,QAAQ,SAAUJ,GACvC,IAAIoX,EAA4C,GAA/B7W,EAAMM,UAAY,IAAItV,OACnC4mE,EAAM9V,EAAOrnD,MAAM+tE,oBAAoB1mB,EAAOymB,SAASviE,EAAOP,CAAO,GACrEmyD,GACFpmE,WAAW,WACT,OAAOomE,EAAI/6C,UAAYA,CACzB,CAAC,CAEL,CAAC,GAIC7W,GAAS,KAAOA,EAAMM,UAAY,IAAItV,QAExCQ,WAAW,WACTswD,EAAOrnD,MAAMqK,OAASg9C,EAAOrnD,MAAMqK,OAAOc,OAAO,SAAUuhB,GACzD,OAAOA,EAAE/c,KAAOpE,EAAMoE,EACxB,CAAC,EACD03C,EAAOu6B,uBAAuBr2E,CAAK,EACnC87C,EAAOuwG,wCAAwC,CAAA,CAAI,CACrD,CAAC,EAIC,IAAMzgK,KAAK6I,MAAMqK,OAAO9T,QAC1BuQ,EAAMrL,QAAQyL,WAAW,KAAK,EAAEioE,kBAAkBh4E,KAAK6I,MAAMqK,OAAO,GAAGwB,SAAU,CAAE8b,SAAUynD,EAAAA,CAAS,CAAC,EAGzGj4E,KAAKq/J,kBAAkBjrJ,CAAK,CAC9B,CAYF,EAAG,CACDnM,IAAK,WACLlC,MAAO,SAAkBqO,EAAOP,EAAS4iE,GACvC,OAAO,MAASA,EAAiDriE,EAAMoE,GAAK,IAAM3E,EAAQ2E,GAAK,IAAMi+D,EAAiBriE,EAAMoE,GAAK,IAAM3E,EAAQ2E,EACjJ,CASF,EAAG,CACDvQ,IAAK,sBACLlC,MAAO,SAA6BmN,GAClC,IAAIupD,EAASz8D,MAEoB,EAAnBmB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,CAAE2F,IAAK,CAAA,CAAM,GAEnFA,MAKZ9G,KAAKu/J,4BAA8B,GAGnCrsJ,EAAOe,QAAQ,SAAUG,GAIvBqoD,EAAO5zD,MAAM4vE,gBAAgBrkE,EAAMoE,IAAMrO,IAAIq5D,WAAW,CAAEn4C,UAAW,KAAM4N,OAAQ,IAAK,CAAC,EACzFwjC,EAAO5zD,MAAMiwE,mBAAmB1kE,EAAMoE,IAAMrO,IAAIq5D,WAAW3tB,EAAS,GAAI30C,OAAOkT,EAAMM,UAAY,IAAItV,MAAM,EAAEosC,KAAK,IAAI,CAAC,CAAC,EACxHixB,EAAO5zD,MAAM42J,0BAA0BrrJ,EAAMoE,IAAMrO,IAAIq5D,WAAW3tB,EAAS,GAAI30C,OAAOkT,EAAMM,UAAY,IAAItV,MAAM,EAAEosC,KAAK,IAAI,CAAC,CAAC,EAC/HixB,EAAO5zD,MAAM+vE,cAAcxkE,EAAMoE,IAAMikD,EAAO5zD,MAAM+vE,cAAcxkE,EAAMoE,KAAO,GAN/E,IA4PMmkB,EApPF49C,EAAkB,IAAMnmE,EAAMikE,UAAUj5E,SAAWgV,EAAMikE,WAAa,IAAIlf,GAAG,CAAC,EAC9EuZ,GAAajW,EAAOyyE,WAAW96H,EAAMoE,KAAO,IAAIxE,OAAO,SAAU5V,GACnE,MAAO,SAAWA,EAAE0H,IACtB,CAAC,EACGq8E,EAAmBzP,EAAU1pE,IAAI,SAAU5K,GAC7C,OAAOq+D,EAAO+iG,aAAa91J,KAAK,SAAU8O,GACxC,OAAOA,IAAOpa,EAAE4kD,gBAClB,CAAC,CACH,CAAC,EAAEhvC,OAAOqL,OAAO,EAEbk7D,IACFnmE,EAAMmmE,GAAmBpwE,IAAIq5D,WAAW,CAAElzD,OAAQ,CAAA,CAAM,CAAC,GAI9B,EAAzB8D,EAAMikE,UAAUj5E,SAClBq9D,EAAO5zD,MAAMmwE,YAAYV,gBAAkB7b,EAAO5zD,MAAMmwE,YAAYV,iBAAmB,GACvF7b,EAAO5zD,MAAMmwE,YAAYV,gBAAgBlkE,EAAMoE,IAAM,CACnD6/D,UAAWjkE,EAAMikE,UAAUrvE,IAAI,SAAUyuB,GACvC,MAAO,CACLjf,GAAI,YAAcif,EAAS,WAC3B0N,SAAU,CAAA,EACV1N,OAAQA,EACRtJ,MAAOxe,EAAMrL,QAAQgtC,aAAa7Z,CAAM,EACxCisC,KAAM,yBAA2BjsC,EACjCskB,IAAK,SAAa3nC,EAAOP,EAAS4nB,EAAQ/S,EAAO+qC,GAE/CgJ,EAAOiZ,iBAAiBj+C,EAAQrjB,EAAOP,EAAS4nB,EAAQ/S,EAAO+qC,CAAI,EAC/D,YAAcgJ,EAAO5zD,MAAM26C,MAAM19C,OAC/B46J,EAAkBjkG,EAAO5zD,MAAM+vE,cAAcxkE,EAAMoE,IAAI9O,KAAK,SAAU5K,GACxE,MAAO,cAAgBA,EAAE0Z,EAC3B,CAAC,GACeujC,IAAI3nC,EAAOP,EAAS6sJ,EAAiBh4I,EAAO+qC,CAAI,CAEpE,CACF,CACF,CAAC,CACH,IAGDktG,EAAwBlkG,EAAO5zD,MAAM+vE,cAAcxkE,EAAMoE,KAAKpX,KAAKE,MAAMq/J,GAz2BtD1xJ,IAAO,GAAI/N,MAAMkF,QAAQ6I,CAAG,EAAG,CAAE,IAAK,IAAIxQ,EAAI,EAAGyoB,EAAOhmB,MAAM+N,EAAI7P,MAAM,EAAGX,EAAIwQ,EAAI7P,OAAQX,CAAC,GAAMyoB,EAAKzoB,GAAKwQ,EAAIxQ,GAAM,OAAOyoB,CAAM,CAAS,OAAOhmB,MAAMimB,KAAKlY,CAAG,CAAK,GAy2BtE,CAGpHmF,EAAMkjE,aAAe,CACnB9+D,GAAI,eACJ2xB,UAAW,CAAA,EACXhc,MAAOxe,EAAMrL,QAAQgtC,aAAa,QAAQ,EAC1CoyB,KAAM,qDACN3nB,KAAK,EAAIs3B,EAAU8E,UAAU1b,EAAOqjG,aAAa99H,KAAKy6B,CAAM,CAAC,CAC/D,EAGAiW,EAAUtzE,QAAU,CAClBoZ,GAAI,uBACJ2V,MAAOxe,EAAMrL,QAAQgtC,aAAa,UAAU,EAC5CoyB,KAAM,+CACN3nB,IAAK,SAAa3nC,EAAOP,EAAS4nB,GAChC9rB,EAAMrL,QAAQ2+E,yBAAyB,CAAE5gE,MAAO,CAAEjL,KAAM,CAAA,EAAM7V,MAAO6S,EAAM7S,KAAM,CAAE,CAAC,EACpFoO,EAAMrL,QAAQs8J,YAAY,CACxBz+I,QAAS,IAAI7D,EAAeha,QAAQ,CAClCk7E,kBAAmB,IAAKr1E,IAAIC,OAAOxL,EAAQ,8BAA8B,CAAE,GAAE,CAC3E8zE,UAAWj3C,EAAOi3C,UAClByP,iBAAkB1mD,EAAO0mD,iBACzBtuE,QAASA,EACTO,MAAOA,CACT,CAAC,CACH,CAAC,EACDuxI,YAAa,CAAA,EACbpkJ,MAAO,yBACPiX,GAAI,+BACJ6J,MAAO,CACL9gB,MAAO,yBACPozC,QAAS,IACX,EACA9jB,SAAU,CAAA,CACZ,CAAC,CACH,EAEA6hD,UAAWA,EACXyP,iBAAkBA,CACpB,EAGAA,EAAiB/iF,QAAU,CACzBoZ,GAAI,uBACJ0+D,OAAQ,CAAA,EACR/oD,MAAOxe,EAAMrL,QAAQgtC,aAAa,OAAO,EACzCzoC,MAAOsB,IAAIq5D,WAAW,CAAE1nC,QAAS1nB,EAAMM,SAAS4gB,OAAO,SAAUx2B,EAAGkZ,EAAGvZ,GACvD,OAAZK,EAAEL,GAAK,KAAYK,CACrB,EAAG,EAAE,CAAE,CAAC,EACV4kE,KAAM,sDACN3nB,KAAK,EAAIs3B,EAAU8E,UAAU,SAAU/jE,EAAOP,EAAS4nB,EAAQ/S,EAAOu9B,GACpExqB,EAAO5yB,MAAMizB,QAAQpT,GAAS,CAAC+S,EAAO5yB,MAAMizB,QAAQpT,GAChD+S,EAAO5yB,MAAMizB,QAAQpT,GACvB+zC,EAAOt6D,KAAK,aAAcggF,EAAkBl8B,EAAW,CACrDysB,UAAWjW,EAAOyyE,WAAW96H,EAAMoE,IACnCiwB,IAAK50B,EAAQC,WAAWsK,EAAc8/D,SACtC96D,OAAQ,GACV,CAAC,EAEDq5C,EAAOimB,UAAUz8B,CAAS,CAE9B,CAAC,CACH,EAGAwW,EAAOsiG,OAAO/qJ,OAAO,SAAUlV,GAC7B,OAAOA,EAAE4oE,MAAMznB,eAAiB7rC,EAAMoE,EACxC,CAAC,EAAEpZ,QAAU,CACXoZ,GAAI,aACJ2sB,SAAU,CAAA,EACVhX,MAAOxe,EAAMrL,QAAQgtC,aAAa,OAAO,EACzCoyB,KAAM,qBACN3nB,IAAK0gB,EAAO4N,WAAWroC,KAAKy6B,CAAM,CACpC,EAGA8d,GAAmB,CACjB/hE,GAAI,YAAc+hE,EAAkB,WACpCp1C,SAAU,CAAA,EACVt8B,MAAOsB,IAAIq5D,WAAW,CAAE1nC,QAAS1nB,EAAMM,SAAS4gB,OAAO,SAAUx2B,EAAGkZ,EAAGvZ,GACvD,OAAZK,EAAEL,GAAK,KAAYK,CACrB,EAAG,EAAE,CAAE,CAAC,EACVqvB,MAAOxe,EAAMrL,QAAQgtC,aAAa,UAAU,EAC5CoyB,KAAM,yBAA2B6W,EACjCx+B,IAAK,SAAa3nC,EAAOP,EAAS4nB,EAAQ/S,EAAOu9B,GAC/CxqB,EAAO5yB,MAAMizB,QAAQpT,GAAS,CAAC+S,EAAO5yB,MAAMizB,QAAQpT,GAChD+S,EAAO5yB,MAAMizB,QAAQpT,GACvB+zC,EAAOiZ,iBAAiB6E,EAAiBnmE,EAAOP,EAAS4nB,EAAQ/S,EAAO,QAAU6xD,EAAkBt0B,EAAU,GAAG1b,UAAY,IAAI,EAEjIkyB,EAAOkH,iCAAiC,CAAEj7C,MAAOA,EAAO+S,OAAQA,EAAQrnB,MAAOA,CAAM,CAAC,CAE1F,CACF,EAGyB,EAAzBA,EAAMikE,UAAUj5E,QAAc,CAC5BoZ,GAAI,YACJ2sB,SAAU,CAAA,EACVhX,MAAOxe,EAAMrL,QAAQgtC,aAAa,UAAU,EAC5CzoC,MAAOsB,IAAIq5D,WAAW,CAAE1nC,QAAS1nB,EAAMM,SAAS4gB,OAAO,SAAUx2B,EAAGkZ,EAAGvZ,GACvD,OAAZK,EAAEL,GAAK,KAAYK,CACrB,EAAG,EAAE,CAAE,CAAC,EACV2kE,WAAY,CAAA,EACZC,KAAM,YACNh2D,OAAQ,SAAgBsR,GACtB,IAAI2uD,EAAS3tE,KAEEgf,EAAMtK,SAEZT,QAAQ,SAAU+D,EAAGvZ,GAC5B,OAAOgK,KAAAA,IAAcklE,EAAO9kE,MAAMizB,QAAQr9B,GAAK41B,EAAauG,GAAGgQ,KAAK+iC,EAAO9kE,MAAMizB,QAASr9B,EAAG,CAAA,CAAK,EAAIkvE,EAAO9kE,MAAMizB,QAAQr9B,GAAK,CAAA,CAClI,CAAC,CACH,EAEAs9C,IAAK,SAAa3nC,EAAOP,EAAS4nB,EAAQ/S,GACxC+S,EAAO5yB,MAAMizB,QAAQpT,GAAS,CAAC+S,EAAO5yB,MAAMizB,QAAQpT,GACpD+zC,EAAOkH,iCAAiC,CAAEvvD,MAAOA,EAAOsU,MAAOA,EAAO+S,OAAQA,EAAQpQ,UAAWoQ,EAAO5yB,MAAMizB,QAAQpT,GAASo0D,EAAoCx4E,QAAU,IAAK,CAAC,CACrL,CACF,GAGC,iBAAmB8P,EAAMoE,IAAM,CAACpE,EAAM+gB,UAAY,SAAW/gB,EAAMgjB,QAAU,IAAItxB,OAAS,CACzF0S,GAAI,0BACJ2xB,UAAW,CAAA,EACXhc,MAAOxe,EAAMrL,QAAQgtC,aAAa,cAAc,EAChD3iB,MAAO,CAAE1S,MAAO,KAAM,EACtBynD,KAAM,iEACN3nB,IAAK0gB,EAAO0D,6BAA6Bn+B,KAAKy6B,CAAM,CACtD,EAGAroD,EAAMw9B,KAAOnpC,KAAAA,IAAc2L,EAAMynB,UAAUvrB,QAAU,CACnDkI,GAAI,YACJ2V,MAAOxe,EAAMrL,QAAQgtC,aAAa,SAAS,EAC3CoyB,KAAM,mDACN76D,MAAOsB,IAAIq5D,WAAW,CAAE1nC,QAAS1nB,EAAMM,SAAS4gB,OAAO,SAAUx2B,EAAGkZ,EAAGvZ,GACvD,OAAZK,EAAEL,GAAK,KAAYK,CACrB,EAAG,EAAE,CAAE,CAAC,EAEVuoE,KAAM,WACJ,IAUMkwF,EAVFntI,EAA2B,EAAnBjpB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E0S,EAAUuW,EAAMvW,QAChB6U,EAAQ0B,EAAM1B,MACd+S,EAASrR,EAAMqR,OAEfrnB,EAAM+gB,UAAY1sB,KAAAA,IAAc2L,EAAMynB,UAAUvrB,OAElDmrB,EAAO5yB,MAAMizB,QAAQpT,GAAS7U,EAAQgoB,UAAU/L,SACvCjc,GAAWpL,KAAAA,IAAc2L,EAAMynB,UAAUvrB,SAE9CinJ,GAAS,EAAInhJ,EAAqBI,qBAAqBpC,EAAMoE,EAAE,EACnEijB,EAAO5yB,MAAMizB,QAAQpT,GAErB6uI,EAAO1uJ,MAAMmL,OAAO1D,QAAU,MAAQinJ,EAAO1uJ,MAAMmL,OAAO6jB,SAE1D0/H,EAAO1rE,gBAAgBh4E,EAAU4oD,EAAO+jG,cAAc3sJ,EAASO,EAAM+gB,QAAQ,EAAI,IAAI,EAEzF,EAEAznB,OAAQ,SAAgBqR,GACtB,IAAIuvD,EAAStuE,KAEE+e,EAAMrK,SACZT,QAAQ,SAAU+D,EAAG0Q,GAC5B,OAAOjgB,KAAAA,IAAc6lE,EAAOzlE,MAAMizB,QAAQpT,IAAU2L,EAAauG,GAAGgQ,KAAK0jC,EAAOzlE,MAAMizB,QAASpT,EAAO,CAAA,CAAK,CAC7G,CAAC,CACH,EAEAqzB,KAAK,EAAIs3B,EAAU8E,UAAU1b,EAAOqZ,eAAe9zC,KAAKy6B,CAAM,CAAC,CACjE,EAGAroD,EAAMkjE,aAAe,CAACljE,EAAM+gB,UAAY,SAAW/gB,EAAMgjB,QAAU,IAAItxB,MAAQ,CAC7E0S,GAAI,mBACJ2V,MAAOxe,EAAMrL,QAAQgtC,aAAa,WAAW,EAC7CoyB,KAAM,0DACNwW,YAAa,CAAExW,KAAM,iEAAkElzC,SAAU,GAAK,EACtGurB,IAAK,SAAa3nC,EAAOP,EAAS4nB,GAChC,IAAI3V,EAAM,IAAIC,IAAIvE,SAASC,IAAI,EAC/BqE,EAAIE,aAAaC,IAAI,cAAe7R,EAAMoE,GAAK,IAAM3E,EAAQC,WAAWsK,EAAc8/D,QAAQ,GAC9F,EAAI9oB,EAASpwB,SAASlf,EAAIxf,SAAS,CAAC,EACpCm1B,EAAOolI,aAAe,CAAA,CACxB,CACF,EAGAzsJ,EAAMnG,UAAY,CAAA,IAAUmG,EAAMivD,WAAa,CAC7C7qD,GAAI,UACJ2V,MAAOxe,EAAMrL,QAAQgtC,aAAa,QAAQ,EAC1CoyB,KAAM,uBACN3nB,IAAK,SAAa3nC,EAAOP,GACvB,OAAO4oD,EAAOgjB,YAAY,CAAErrE,MAAOA,EAAOP,QAASA,CAAQ,CAAC,CAC9D,CACF,GAAGG,OAAOqL,OAAO,CAAC,CAAC,EAGfjL,EAAM+gB,UAAY/gB,EAAMw9B,KAAOnpC,KAAAA,IAAc2L,EAAMynB,UAAUvrB,OAC/D8D,EAAMM,SAAST,QAAQ,SAAUvV,GAC/B,OAAOA,EAAEm9B,WAAaznB,EAAMynB,UAAUnnB,SAAShL,KAAK,SAAUk2B,GAC5D,OAAOlhC,EAAE8Z,KAAOonB,EAAErZ,MAAM,CAC1B,CAAC,GAAK,CAAEsV,UAAW,CAAE/L,SAAU,CAAA,CAAM,CAAE,GAAG+L,SAC5C,CAAC,EACQ,CAACznB,EAAM+gB,UAAY/gB,EAAMw9B,KAAOnpC,KAAAA,IAAc2L,EAAMynB,UAAUvrB,SACnEqsB,EAAU,WACZ,OAAOvoB,EAAMM,SAAST,QAAQ,SAAU+D,EAAGvZ,GACzC,OAAOg+D,EAAO5zD,MAAM+vE,cAAcxkE,EAAMoE,IAAI9O,KAAK,SAAU5K,GACzD,MAAgB,cAATA,EAAE0Z,EACX,CAAC,EAAE3P,MAAMizB,QAAQr9B,GAAK,CAAA,CACxB,CAAC,CACH,GACA,EAAI2X,EAAqBI,qBAAqBpC,EAAMoE,EAAE,EAAE3W,GAAG,iBAAkB86B,CAAO,EACpF8/B,EAAO8iG,4BAA4Bn+J,KAAK,CAAEgT,OAAO,EAAIgC,EAAqBI,qBAAqBpC,EAAMoE,EAAE,EAAG2pB,MAAO,iBAAkBxF,QAASA,CAAQ,CAAC,EAEzJ,CAAC,EAED38B,KAAKm/J,oBAAoBn/J,KAAK6I,MAAM+vE,cAAe54E,KAAK6I,MAAMqK,MAAM,EACtE,CAWF,EAAG,CACDjL,IAAK,qBACLlC,MAAO,WACL,IAAIquB,EAA2B,EAAnBjzB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EiT,EAAQggB,EAAMhgB,MACdoE,EAAK4b,EAAM5b,GAEf,GAAIxY,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IACjC,OAAOxY,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IAAI9O,KAAK,SAAU+xB,GACvD,OAAOA,EAAOjjB,KAAOA,CACvB,CAAC,CAEL,CAYF,EAAG,CACDvQ,IAAK,mCACLlC,MAAO,WACL,IAAIouB,EAA2B,EAAnBhzB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EiT,EAAQ+f,EAAM/f,MACdqnB,EAAStH,EAAMsH,OACf/S,EAAQyL,EAAMzL,MACdo4I,EAAkB3sI,EAAM9I,UACxBA,EAAgC5iB,KAAAA,IAApBq4J,EAAgC,KAAOA,EAEnDj9E,EAAQ7jF,KAAK6I,MAAMiwE,mBAAmB1kE,EAAMoE,IAC5CyjI,EAAQj8I,KAAK6I,MAAM42J,0BAA0BrrJ,EAAMoE,IACvDyjI,EAAMvzH,GAAS2C,EAAYoQ,EAAS,KACpCooD,EAAMn7D,GAAS2C,EAGXw4D,EAAMn7D,IACV+S,EAAOjjB,KAAOyjI,EAAMvzH,GAAOlQ,IAC3ByjI,EAAMvzH,GAAO+6C,aAETw4E,EAAMvzH,GAAO7f,MAAMizB,QAAQpT,GAAS,CAAA,EAE1C,CAWF,EAAG,CACDzgB,IAAK,6BACLlC,MAAO,SAAoCmuB,GACzC,IA3oCwBjsB,EA2oCpBuQ,EAAK0b,EAAO1b,GACZpE,EAAQ8f,EAAO9f,MACf2sJ,EAAgB7sI,EAAO+E,OAEvBwC,EAASvH,EAAOuH,OAEfrnB,IAGLpU,KAAK6I,MAAMmwE,YAAYxgE,IAppCJpU,EAopC0B,GAppCrB6D,EAopCyBmM,EAAMoE,GAppC1BzS,EA8oCE0C,KAAAA,IAAlBs4J,EAA8B,GAAKA,EA9oCN94J,KAAO7D,EAAO2D,OAAOC,eAAe5D,EAAK6D,EAAK,CAAElC,MAAOA,EAAO6B,WAAY,CAAA,EAAMC,aAAc,CAAA,EAAMC,SAAU,CAAA,CAAK,CAAC,EAAY1D,EAAI6D,GAAOlC,EAAgB3B,GAqpCjMq3B,KACFz7B,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IAAMxY,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,KAAO,GAC3ExY,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IAAIpX,KAAKq6B,CAAM,EAElD,CAUF,EAAG,CACDxzB,IAAK,qBACLlC,MAAO,WACL,IAAIovC,EAA4B,EAAnBh0C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EiT,EAAQ+gC,EAAO/gC,MACf4sJ,EAAmB7rH,EAAO9pB,UAE1B41I,EAAgB9rH,EAAOlc,OACvBA,EAA2BxwB,KAAAA,IAAlBw4J,EAA8B,KAAOA,EAElDjhK,KAAK6I,MAAM4vE,gBAAgBrkE,EAAMoE,IAAI6S,UAJA5iB,KAAAA,IAArBu4J,EAAiC,KAAOA,EAKxDhhK,KAAK6I,MAAM4vE,gBAAgBrkE,EAAMoE,IAAIygB,OAASA,CAChD,CACF,EAAG,CACDhxB,IAAK,QAMLlC,MAAO,WACL/F,KAAK4/J,UAAUC,KAAK,EAEpB7/J,KAAKu/J,4BAA4BtrJ,QAAQ,SAAU7P,GACjD,OAAOA,EAAIgQ,MAAMpS,IAAIoC,EAAI+9B,MAAO/9B,EAAIu4B,OAAO,CAC7C,CAAC,EACD38B,KAAKu/J,4BAA8B,GACnC5vJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAE06E,uBAAuB,EACvDzqF,KAAKo+J,kBAAkBn3H,UAAU,EAAEijB,MAAM,EACzClqD,KAAKygK,wCAAwC,CAAA,CAAI,EACjDzgK,KAAK4/J,UAAY,CACfC,KAAM,aACN3nF,0BAA2B,CAAE9Z,MAAO,CAAA,CAAM,EAC1CiZ,uBAAwB,CAAEjZ,MAAO,CAAA,CAAM,EACvC0hG,aAAc,CAAE1hG,MAAO,CAAA,CAAM,CAC/B,EACAp+D,KAAKsnJ,WAAW,EAChBtnJ,KAAKo/J,eAAe,EACpBp/J,KAAKo+J,kBAAkBn3H,UAAU,EAAEijB,MAAM,EACzCv6C,EAAMrL,QAAQyL,WAAW,KAAK,EAAES,OAAO,EAAE08G,YAAYltH,KAAKo+J,iBAAiB,CAC7E,CAQF,EAAG,CACDn2J,IAAK,mBACLlC,MAAO,WACL,OAAO,IAAM/F,KAAK6I,MAAMqK,OAAO9T,MACjC,CAQF,EAAG,CACD6I,IAAK,0CACLlC,MAAO,SAAiDsmB,GACtD,IAAIpZ,EAAcjT,KAAK0/J,mCAEnB,OAASzsJ,EAAY0sJ,oBACvBhwJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAE/N,IAAI,qBAAsBiR,EAAY0sJ,kBAAkB,EAItF,OAAS1sJ,EAAYA,aACvBtD,EAAMrL,QAAQyL,WAAW,KAAK,EAAE6E,kBAAkB3B,EAAYA,WAAW,EAIvE,OAASA,EAAY2iJ,YACvB3iJ,EAAY2iJ,WAAWvpI,OAAOA,CAAM,EAItCtkB,OAAO+tC,OAAO7iC,EAAa,CACzBA,YAAa,KACbuF,GAAI,KACJmnJ,mBAAoB,KACpB/J,WAAY,IACd,CAAC,CACH,CAQF,EAAG,CACD3tJ,IAAK,kCACLlC,MAAO,SAAyCqO,GAC9C,IA8BM8sJ,EAUE1kG,EAxCJmS,EAAS3uE,KAETiT,EAAcjT,KAAK0/J,mCAEnByB,EAAc,CAAC,CAAC,KAAM/sJ,EAAMoE,IAAI/O,SAASwJ,EAAYuF,EAAE,EACvD4oJ,EAAYD,GAAenhK,KAAK6I,MAAMqK,OAAOxJ,KAAK,SAAU6rB,GAC9D,OAAOA,EAAE/c,KAAOvF,EAAYuF,EAC9B,CAAC,EAGG2oJ,GAAeC,IACjBA,EAAU7oF,mBAAmBjoE,OAAS,CAAA,GAIpC6wJ,GAAeluJ,EAAYA,aAC7BtD,EAAMrL,QAAQyL,WAAW,KAAK,EAAE6E,kBAAkB3B,EAAYA,WAAW,EAI3EA,EAAYuF,GAAKpE,EAAMoE,GAEvBpE,EAAMmkE,mBAAmBjoE,OAAS,CAAC8D,EAAMmkE,mBAAmBjoE,OAExD,CAAA,IAAU8D,EAAMmkE,mBAAmBjoE,OACrCtQ,KAAKygK,wCAAwC,CAAA,CAAI,GAGjDzgK,KAAKs/J,qBAAqB,EAEtB4B,GAAkBlhK,KAAK6I,MAAMqK,OAAOxJ,KAAK,SAAU6rB,GACrD,OAAOA,EAAE/c,KAAOpE,EAAMoE,EACxB,CAAC,GAAK,IAAI2c,SAEVliB,EAAY2iJ,WAAa3iJ,EAAY2iJ,YAAcjmJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAE4kJ,4BAA4B,GAAK,KACpH1hJ,EAAYA,YAAc,IAAIP,EAA6BpO,QAE3DqL,EAAMrL,QAAQyL,WAAW,KAAK,EAAEoE,eAAelB,EAAYA,YAAa,CAAEgV,MAAO,CAAA,CAAM,CAAC,EAExFhV,EAAYA,YAAYpR,GAAG,UACrB26D,EAASxwD,EAAkB,UAAWopC,GACpClvC,EAAckvC,EAAO7jC,WAErB2vJ,EAEFvyF,EAAOq4E,iBAAiB,CACtB1zI,KAAM,CAACq7D,EAAOuvF,uCAAuCvvF,EAAOsvF,cAAcv0J,KAAK,SAAUT,GACvF,OAAOmL,EAAMoE,KAAOvP,EAAE+Q,IAAI,IAAI,CAChC,CAAC,EAAG,CAAE9T,YAAaA,CAAY,CAAC,GAChCs9C,MAAO,CAAEt9C,YAAaA,CAAY,CACpC,EAAG,CAAEY,IAAK,CAAA,CAAK,CAAC,EAEhBiH,MAAMyE,EAAOlO,QAAQ0S,QAAQ,oBAAqB,CAChDgpC,OAAQ,CACN95C,YAAaA,EACb6lI,sBAAuBp9D,EAAOoxF,SAAStQ,uBAAuB,EAC9DtP,SAAU,CAAC/rI,EAAMoE,IACjB++G,YAAa,CAAA,CACf,EACAh3E,QAAS,CACP9uB,KAAM,CAAE3qB,IAAK,CAAA,CAAK,CACpB,CACF,CAAC,CAEL,CAAC,EAEM,SAAU+jJ,GACf,OAAOruF,EAAOl7D,MAAMtB,KAAMmB,SAAS,CACrC,EACC,EAEH8R,EAAY0sJ,mBAAqB,SAAUxvJ,GACrCA,EAAI1I,OAAO2I,UAAU,GAAKD,EAAI1I,OAAO4I,WAAW,IAClD+D,EAAMmkE,mBAAmBjoE,OAAS,CAAA,EAEtC,EAEAX,EAAMrL,QAAQyL,WAAW,KAAK,EAAEhO,KAAK,qBAAsBkR,EAAY0sJ,kBAAkB,EAE7F,CAMF,EAAG,CACD13J,IAAK,4BACLlC,MAAO,WACL/F,KAAK6I,MAAMqK,OAAOe,QAAQ,SAAUshB,GAC9BA,EAAEgjD,qBACJhjD,EAAEgjD,mBAAmBjoE,OAAS,CAAA,EAElC,CAAC,EACDtQ,KAAKygK,wCAAwC,CAC/C,CASF,EAAG,CACDx4J,IAAK,4BACLlC,MAAO,SAAmCqO,GACxC,IAAIrL,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAElF4H,EAAQwuE,UAAY,CAACv3E,KAAKqhK,iBAAiB,EACvCrhK,KAAK4/J,UAAU1nF,0BAA0B9Z,MAC3Cp+D,KAAK4/J,UAAUC,KAAOlwJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAEoyD,eAAengC,KAAKryB,EAAMrL,QAAQyL,WAAW,KAAK,EAAGqE,EAAMM,UAAY,GAAI3L,CAAO,EAExI4G,EAAMrL,QAAQyL,WAAW,KAAK,EAAEoyD,eAAe/tD,EAAMM,UAAY,GAAI3L,CAAO,CAEhF,CASF,EAAG,CACDd,IAAK,yBACLlC,MAAO,SAAgCqO,GACrC,IAAIrL,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9EnB,KAAK4/J,UAAUvoF,uBAAuBjZ,MACxCp+D,KAAK4/J,UAAUC,KAAOlwJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAEioE,kBAAkBh2C,KAAKryB,EAAMrL,QAAQyL,WAAW,KAAK,EAAGqE,EAAMM,UAAY,GAAI3L,CAAO,EAE3I4G,EAAMrL,QAAQyL,WAAW,KAAK,EAAEioE,kBAAkB5jE,EAAMM,UAAY,GAAI3L,CAAO,CAEnF,CAMF,EAAG,CACDd,IAAK,aACLlC,MAAO,WACL/F,KAAK6I,MAAMqK,OAAOyX,OAAO,CAAC,EAC1B3qB,KAAK6I,MAAM26C,MAAQ,KACnBxjD,KAAK6I,MAAMy4J,WAAa,GACxBthK,KAAK6I,MAAM0/B,QAAU,CAAA,EAErBxgC,OAAOa,OAAO5I,KAAK6I,MAAM+vE,aAAa,EAAE3kE,QAAQ,SAAUshB,GACxD,OAAOA,EAAEthB,QAAQ,SAAUnV,GACzB,OAAOA,EAAEorD,OAASprD,EAAEorD,MAAM,CAC5B,CAAC,CACH,CAAC,EACDlqD,KAAK6I,MAAM+vE,cAAgB,GAC3B54E,KAAK6I,MAAMmwE,YAAc,GACzBh5E,KAAK6I,MAAM4vE,gBAAkB,GAC7Bz4E,KAAK6I,MAAMiwE,mBAAqB,GAChC94E,KAAK6I,MAAM+tE,oBAAsB,GACjC52E,KAAKygK,wCAAwC,CAC/C,CAMF,EAAG,CACDx4J,IAAK,WACLlC,MAAO,WACL,OAAO/F,KAAK6I,KACd,CAQF,EAAG,CACDZ,IAAK,WACLlC,MAAO,SAAkB8C,GACvB7I,KAAK6I,MAAQA,CACf,CAQF,EAAG,CACDZ,IAAK,gBACLlC,MAAO,SAAuB+a,GAC5B9gB,KAAKkvI,YAAcpuH,EAAQynE,aAAa,GAAK,IAAIjzD,OAAO,SAAUyE,EAAO37B,GAGvE,OAFA27B,EAAM37B,EAAEmwD,iBAAmBx0B,EAAM37B,EAAEmwD,kBAAoB,GACvDx0B,EAAM37B,EAAEmwD,iBAAiBntD,KAAKhD,CAAC,EACxB27B,CACT,EAAG,EAAE,CACP,CAQF,EAAG,CACD9xB,IAAK,WACLlC,MAAO,SAAkBu7J,GACvBthK,KAAK6I,MAAMy4J,WAAaA,GAAc,EACxC,CAYF,EAAG,CACDr5J,IAAK,UACLlC,OACM0pD,EAASzjD,EAAkB,UAAWu1J,EAAUntJ,EAAOP,EAAS6U,EAAOu9B,GAOzE,IACMxqB,EAPF,sBAAwB8lI,GAC1BvhK,KAAK0qF,kBAAkBt2E,EAAOP,EAAS6U,CAAK,EAE1C,2BAA6B64I,GAC/BvhK,KAAKyqF,uBAAuBr2E,EAAOP,EAAS6U,CAAK,EAE/CtU,GAASpU,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,OACtCijB,EAASz7B,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IAAI9O,KAAK,SAAU83J,GAC7D,OAAOA,EAAYhpJ,KAAO+oJ,CAC5B,CAAC,IACa9lI,EAAOsgB,MACnBhuC,MAAM0tB,EAAOsgB,IAAI3nC,EAAOP,EAAS4nB,EAAQ/S,EAAOu9B,CAAS,GAEvDxqB,IAAUA,EAAO+0C,QACf1qD,EAAM2V,EAAO+0C,MAAMz4C,QAAQ,WAAY,SAAUgc,EAAG9rC,GACtD,OAAO4L,EAAQC,WAAW7J,eAAehC,CAAG,EAAI4L,EAAQC,WAAW7L,GAAO,EAC5E,CAAC,IACU,KAAO6d,GAChBnW,EAAMrL,QAAQmsE,KAAK3qD,CAAG,CAI9B,CAAC,EAED,SAAiB27I,EAAM7d,EAAM8d,EAAMC,EAAMxvB,GACvC,OAAO1iF,EAAOnuD,MAAMtB,KAAMmB,SAAS,CACrC,EAWJ,EAAG,CACD8G,IAAK,sBACLlC,MAAO,SAA6BgyD,GAC7B/3D,KAAKi+J,cAAcx0J,SAASsuD,CAAW,GAC1C/3D,KAAKi+J,cAAc78J,KAAK22D,CAAW,CAEvC,CAQF,EAAG,CACD9vD,IAAK,wBACLlC,MAAO,SAA+BgyD,GACpC,IAAIg8E,EAAU/zI,KAEdA,KAAKi+J,cAAgBj+J,KAAKi+J,cAAcjqJ,OAAO,SAAU4tJ,GAIvD,OAHA7tB,EAAQlrI,MAAMqK,OAAS6gI,EAAQlrI,MAAMqK,OAAOc,OAAO,SAAUuhB,GAC3D,OAAOA,EAAE/c,KAAOu/C,EAAY/9C,IAAI,IAAI,CACtC,CAAC,EACM4nJ,IAAO7pG,CAChB,CAAC,CACH,CAWF,EAAG,CACD9vD,IAAK,yCACLlC,MAAO,SAAgDgyD,GACrD,IAAIvU,EAA2B,EAAnBriD,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E+E,EAAcs9C,EAAMt9C,YACpB2/B,EAAO2d,EAAM3d,KACb46B,EAAWjd,EAAMid,SACjBohG,EAAsBr+G,EAAMi0E,aAC5BA,EAAuChvH,KAAAA,IAAxBo5J,EAAoC,GAAKA,EAExDntJ,EAAW,GAEXotJ,EAAa57J,GAAehF,MAAMkF,QAAQF,CAAW,EACrD67J,EAAWl8H,GAAQ3kC,MAAMkF,QAAQy/B,CAAI,EAiBrCm8H,GAdAF,GACFnyJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAE45D,OAAO3gE,IAAI6zH,sBAAsBltH,EAAMrL,QAAQyL,WAAW,KAAK,EAAE45D,OAAO3gE,IAAIgyH,uBAAuB90H,CAAW,EAAG,SAAUxH,GACzJgW,EAAStT,KAAK1C,CAAC,CACjB,EAAG,CAAEo+H,YAAa,SAAqBvnG,GACnC,OAAOA,IAAMwiC,CACf,CAAE,CAAC,GAML0I,EAFEshG,GAAY,CAACD,EAEJtwJ,GAAGkvD,KAAK8yD,QAAQytB,WAAWp7G,CAAI,EAG9B46B,aAAoBjvD,GAAGkvD,KAAK8yD,SAAW/yD,aAAoBjvD,GAAGkvD,KAAKs2F,cAsBjF,OAnBIgL,GAAW,CAACF,GAAch6D,EAAa+C,cAAgB9yC,EAAYtyD,YACrEiP,EAAWqjD,EAAY++F,uBAAuBr2F,CAAQ,EAC7CuhG,GAAW,CAACF,GAActwJ,GAAG4C,MAAMkqD,SAAWvG,EAAYtyD,aACnEsyD,EAAY9wB,UAAU,EAAEC,YAAY,EAAEjzB,QAAQ,SAAUvV,GACtD,IAAIoI,EAAM,KAAA,EACV,OAAQ2wH,EAAa3H,eACnB,IAAK,aACHhpH,GAAM,EAAImgG,EAAYiC,YAAYzoC,EAAU/hE,EAAE4oC,YAAY,CAAC,EAAE,MAC/D,IAAK,SACHxgC,GAAM,EAAIkgG,EAAQiC,QAAQxoC,EAAU/hE,EAAE4oC,YAAY,CAAC,EAAE,MACvD,QACExgC,EAAM25D,EAASs2F,iBAAiBr4J,EAAE4oC,YAAY,EAAEi8F,UAAU,CAAC,CAC/D,CACI,CAAA,IAASz8H,GACX4N,EAAStT,KAAK1C,CAAC,CAEnB,CAAC,EAGI,CACLgW,SAAUA,EACVN,MAAO2jD,CACT,CACF,CAMF,EAAG,CACD9vD,IAAK,oBACLlC,MAAO,WACL,IAAI2pD,EAA4B,EAAnBvuD,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E8gK,EAAevyG,EAAOgY,MACtBA,EAAyBj/D,KAAAA,IAAjBw5J,EAA6B,GAAKA,EAC1CC,EAAkBxyG,EAAOh7C,SACzBA,EAA+BjM,KAAAA,IAApBy5J,EAAgC,GAAKA,EAEhDr8J,EAAQ6hE,EAAMA,OAASA,EAAMA,MAAMjnB,WAAainB,EAAMA,MAAMjnB,WAAa,MAC7E,OAAO,EAAIymB,EAAYmD,YAAY,CACjCxkE,MAAOA,EACP+C,OAAQ8L,EAAS1L,IAAI,SAAUo+B,GAC7B,OAAOA,EAAKtzB,WAAW,QAAUjO,EAAQuY,EAAc8/D,QAAUr4E,EACnE,CAAC,EACDohB,SAAUygD,EAAMnlE,KAChB4iC,SAAU,CAAA,CACZ,CAAC,EAAEx4B,KAAK,SAAUy/C,GACZtmC,EAAMsmC,EAAOtmC,IACjB,OAAOnW,EAAMrL,QAAQ69J,gBAAgB9gI,EAAckE,aAAc,CAAEzf,IAAKA,EAAK4xB,SAAUgwB,EAAMnlE,KAAMm0C,UAAW,iBAAkB,CAAC,CACnI,CAAC,CACH,CAUF,EAAG,CACDzuC,IAAK,YACLlC,MAAO,SAAmB65C,EAAKqG,EAAWw8B,GACxCziF,KAAKmC,KAAK,aAAcy9C,EAAKqG,EAAWw8B,CAAY,CACtD,CAQF,EAAG,CACDx6E,IAAK,YACLlC,MAAO,SAAmBkgD,GACxBjmD,KAAKmC,KAAK,aAAc8jD,CAAS,CACnC,CASF,EAAG,CACDh+C,IAAK,aACLlC,MAAO,SAAoBqO,EAAOP,GAChC,IAaImsC,EAbA+0F,EAAU/0I,KAEV0U,EAAWb,EAAU,CAACA,GAAWO,EAAMM,SACvC0tJ,EAAapiK,KAAK++J,OAAO/qJ,OAAO,SAAUlV,GAC5C,OAAOA,EAAE4oE,MAAMznB,eAAiB7rC,EAAMoE,EACxC,CAAC,EAGG4pJ,EAAWhjK,QAAU,EACvBY,KAAKqiK,kBAAkB,CAAE3tJ,SAAUA,EAAUgzD,MAAO06F,EAAW,EAAG,CAAC,GAIjEpiH,EAAS,GAEboiH,EAAWnuJ,QAAQ,SAAUyzD,EAAOh/C,GAClC,IAAIlQ,GAAK,EAAI+F,EAAgBiB,gBAAgB,EAG7CwgC,GAFAA,GAAU,cAAgBxnC,EAAK,sBAAwBkQ,EAAQ,6DAA+Dg/C,EAAMnlE,KAAO,OACjI,eAAiBiW,EAAK,KAAOkvD,EAAMnlE,KACnC,cACZ,CAAC,EAEDoN,EAAMrL,QAAQojB,gBAAgB,CAC5BnmB,MAAOhD,EAAE,iCAAiC,EAC1Cuc,QAASklC,EACTh4B,QAAS,CACP0oC,QAAS,CACPxoC,MAAO,KACPN,UAAW,cACXO,SAAU,WACR,IAAIO,EAAQlV,EAAE,gCAAgC,EAAEmsB,KAAK,iBAAiB,EACtE,GAAIl3B,KAAAA,IAAcigB,EAChB,MAAO,CAAA,EAETqsH,EAAQstB,kBAAkB,CAAE3tJ,SAAUA,EAAUgzD,MAAO06F,EAAW15I,EAAO,CAAC,CAC5E,CACF,CACF,CACF,CAAC,EACH,CAQF,EAAG,CACDzgB,IAAK,2BACLlC,MAAO,SAAkCqO,GACvCA,EAAMkkE,gBAAgBhoE,OAAS,CAAC8D,EAAMkkE,gBAAgBhoE,OACtDtQ,KAAKsiK,mBAAmB,CACtBluJ,MAAOA,EACPiX,UAAWjX,EAAMkkE,gBAAgBhoE,OAASwsE,EAAoCx4E,QAAU,KACxF20B,OAAQ7kB,EAAMkkE,gBAAgBhoE,OAASulC,EAAS,GAAI71C,KAAK6I,MAAMmwE,YAAYV,gBAAgBlkE,EAAMoE,IAAK,CAEpG6/D,UAAWr4E,KAAK6I,MAAMmwE,YAAYV,gBAAgBlkE,EAAMoE,IAAI6/D,UAAUrkE,OAAO,SAAUsW,GACrF,MAAO,QAAUA,EAAEmN,MACrB,CAAC,CACH,CAAC,EAAI,IACP,CAAC,CACH,CAaF,EAAG,CACDxvB,IAAK,mBACLlC,OACM42D,EAAS3wD,EAAkB,UAAWlG,EAAMsO,GAC9C,IAiCMg4E,EAjCF13E,EAA8B,EAAnBvT,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC/Es6B,EAASt6B,UAAU,GAEnB00I,EAAU71I,KAEV0oB,EAAQvnB,UAAU,GAClBsyD,EAAOtyD,UAAU,GAOjBohK,GAJA7tJ,GAAY,CAACxT,MAAMkF,QAAQsO,CAAQ,IACrCA,EAAW,CAACA,IAGK1U,KAAK6I,MAAM26C,OAC1BA,EAAyB/6C,KAAAA,IAAjB85J,EAA6B,GAAKA,EAE1CjvJ,EAAO,CACTk2E,KAAM90E,EAAS1L,IAAI,SAAUtK,GAC3B,OAAOA,EAAEoV,WAAWsK,EAAc8/D,QACpC,CAAC,EAAE7lE,KAAK,GAAG,CACb,EAYImqJ,GATA,QAAU18J,IACZwN,EAAKmgD,KAAOA,GASR24B,EAASpgF,EAAkB,YAIP,EAAlB0I,EAAStV,SACXgV,EAAMkkE,gBAAgBhoE,OAJQ,EAAnBnP,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,IAAmBA,UAAU,GAK1E00I,EAAQysB,mBAAmB,CAAEluJ,MAAOA,CAAM,CAAC,GAG7CrG,MAAM4B,EAAMrL,QAAQ69J,gBAAgB,WAClC,IAAIziB,EAA4B,EAAnBv+I,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7EiT,EAAQsrI,EAAOtrI,MACftO,EAAO45I,EAAO55I,KACdwN,EAAOosI,EAAOpsI,KAElB,OAAO,EAAI8C,EAAqBI,qBAAqBpC,EAAMoE,EAAE,EAAE+4H,oCAAoCzrI,EAAM,CAAEwN,KAAMA,CAAK,CAAC,GAAKnH,QAAQC,QAAQ,CAC9I,EAAG,CACDgI,MAAOA,EACPtO,KAAMA,EACNwN,KAAMA,CACR,CAAC,EAnBD,IAqBImvJ,EAAmB5sB,EAAQhtI,MAAM+vE,cAAcxkE,EAAMoE,IAAI9O,KAAK,SAAU+xB,GAC1E,MAAO,cAAgBA,EAAOjjB,EAChC,CAAC,EAGqB,EAAlB9D,EAAStV,QAAcqJ,KAAAA,IAAcg6J,IACvCruJ,EAAMtO,GAAMwK,OAAS,CAAA,EACrBulI,EAAQysB,mBAAmB,CAAEluJ,MAAOA,CAAM,CAAC,GAIvB,EAAlBM,EAAStV,QAAcqJ,KAAAA,IAAcg6J,IACvCruJ,EAAMkkE,gBAAgBhoE,OAAS,CAAA,GAI7BoE,EAAStV,QAAU,GAAKqJ,KAAAA,IAAcg6J,IACxChnI,EAAO5yB,MAAMizB,QAAQpT,GAAS,CAAA,GAI5BhU,EAAStV,QAAU,GAAKqJ,KAAAA,IAAcg6J,IACxCA,EAAiB55J,MAAMizB,QAAQpT,GAAS,CAAA,GAItChU,EAAStV,QAAU,GACrBy2I,EAAQlyE,iCAAiC,CAAEj7C,MAAOA,EAAO+S,OAAQA,EAAQrnB,MAAOA,CAAM,CAAC,CAE3F,CAAC,EAEM,WACL,OAAOg4E,EAAO9qF,MAAMtB,KAAMmB,SAAS,CACrC,GAIE,YAAcqiD,EAAM19C,KACtBiI,MAAMy0J,EAAY,GAKhBC,EAAmBziK,KAAK6I,MAAM+vE,cAAcxkE,EAAMoE,IAAI9O,KAAK,SAAU+xB,GACvE,MAAqB,cAAdA,EAAOjjB,EAChB,CAAC,EAEGygB,EAAS,CACX4iD,QAAS,CAAC,CACRrjE,IAAI,EAAI+F,EAAgBiB,gBAAgB,EACxC1Z,KAAM,UACNoiB,MAAO,gEACT,EAAG,CACD1P,IAAI,EAAI+F,EAAgBiB,gBAAgB,EACxC1Z,KAAM,UACNoiB,MAAO,wEACT,GAEAid,SAAU,SAAkBr/B,GACtB,YAAcA,GAEhBwN,EAAKovJ,iBAAmBtuJ,EAAMoE,GAC9BlF,EAAKqvJ,QAAUn/G,EAAM/a,MAGrB,OAAOn1B,EAAKqvJ,QACZ,OAAOrvJ,EAAKovJ,kBAEdF,EAAY,CAAA,CAAI,CAClB,CACF,EAGI,IAAM9tJ,EAAStV,QAAUqJ,KAAAA,IAAcg6J,IACzChnI,EAAO5yB,MAAMizB,QAAQpT,GAAS,CAAA,GAI5B,IAAMhU,EAAStV,SACjBY,KAAK6I,MAAMmwE,YAAY2kF,EAA8Cr5J,QAAQ/B,MAAQvC,KAAK6I,MAAMmwE,YAAY5kE,EAAMoE,KAAO,GACzHxY,KAAK6I,MAAMmwE,YAAY2kF,EAA8Cr5J,QAAQ/B,MAAM6R,EAAMoE,IAAMygB,EAC/Fj5B,KAAK2jE,iCAAiC,CACpCvvD,MAAOA,EACPsU,MAAOA,EACP+S,OAAQA,EACRpQ,UAAWsyI,EAA8Cr5J,OAC3D,CAAC,GAICmE,KAAAA,IAAcg6J,GAAoB,IAAM/tJ,EAAStV,SACnDgV,EAAMtO,GAAMwK,OAAS,CAAC8D,EAAMtO,GAAMwK,QAIhC,IAAMoE,EAAStV,SACbwjK,EAAaH,GAAoBruJ,EAAMtO,GAAMwK,QAAU7H,KAAAA,IAAcg6J,EACzEziK,KAAKsiK,mBAAmB,CACtBluJ,MAAOA,EACPiX,UAAWu3I,EAAajF,EAA8Cr5J,QAAU,KAChF20B,OAAQ2pI,EAAa3pI,EAAS,IAChC,CAAC,GAEL,CAAC,EAED,SAA0By+H,EAAM7K,GAC9B,OAAOlwF,EAAOr7D,MAAMtB,KAAMmB,SAAS,CACrC,EAYJ,EAAG,CACD8G,IAAK,eACLlC,MAAO,SAAsBqO,EAAOP,GAClC,IAAIm5I,EAAUhtJ,KAET6T,EAAQ4sD,WAGTzgE,KAAK4/J,UAAUE,aAAa1hG,MAC9Bp+D,KAAK4/J,UAAUC,KAAOlwJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAE/P,KAAKqhK,iBAAiB,EAAI,iBAAmB,qBAAqBr/H,KAAKryB,EAAMrL,QAAQyL,WAAW,KAAK,EAAG/P,KAAKqhK,iBAAiB,EAAI,CAACxtJ,GAAWA,EAAQ4sD,SAAUzgE,KAAKqhK,iBAAiB,EAAI,GAAK,CAAEtuJ,QAASqB,EAAMoE,GAAIgY,SAAU,IAAK,CAAC,EAE1R5wB,WAAW,WACT,OAAO+P,EAAMrL,QAAQyL,WAAW,KAAK,EAAEi9I,EAAQqU,iBAAiB,EAAI,iBAAmB,qBAAqBrU,EAAQqU,iBAAiB,EAAI,CAACxtJ,GAAWA,EAAQ4sD,SAAUusF,EAAQqU,iBAAiB,EAAI,GAAK,CAAEtuJ,QAASqB,EAAMoE,GAAIgY,SAAU,IAAK,CAAC,CAChP,CAAC,EAEL,CASF,EAAG,CACDvoB,IAAK,oBACLlC,MAAO,SAA2BqO,EAAOP,GACnCA,EAAQ4sD,UACV9wD,EAAMrL,QAAQyL,WAAW,KAAK,EAAE26E,kBAAkB72E,EAAQ4sD,SAAU,CAAE1tD,QAASqB,EAAMoE,GAAIgyE,KAAM,CAAA,EAAOh6D,SAAUynD,EAAAA,CAAS,CAAC,CAE9H,CAQF,EAAG,CACDhwE,IAAK,yBACLlC,MAAO,SAAgCqO,GACrCzE,EAAMrL,QAAQyL,WAAW,KAAK,EAAE06E,uBAAuB,EACnDzqF,KAAKqhK,iBAAiB,GACxB1xJ,EAAMrL,QAAQyL,WAAW,KAAK,EAAEioE,kBAAkB5jE,EAAMM,SAAU,CAAE8b,SAAUynD,EAAAA,CAAS,CAAC,CAE5F,CAUF,EAAG,CACDhwE,IAAK,eACLlC,MAAO,WACL,IAAI+hF,EAA4B,EAAnB3mF,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7Eu+C,EAAWooC,EAAOpoC,SAClB3sC,EAAU+0E,EAAO/0E,QACjBc,EAAUi0E,EAAOj0E,QAEjBgvJ,EAAkB7iK,KAAK+/J,SAASp9G,gBAAgBjD,EAASn9C,IAAI,EACjEoN,EAAMrL,QAAQs8J,YAAY,CACxBz+I,QAAS,IAAI7D,EAAeha,QAAQ,CAClCk7E,kBAAmB,IAAKr1E,IAAIC,OAAOxL,EAAQ,8BAA8B,CAAE,GAAE,CAC3EqjF,YAAa,WACbvP,UAAW,CAACmwF,GACZ1gF,iBAAkBniF,KAAKw/J,aAAa91J,KAAK,SAAU4c,GACjD,OAAOA,GAAOu8I,EAAgB7/G,gBAChC,CAAC,EAAI,CAAC6/G,EAAgB7/G,kBAAoB,GAC1C8+B,WAAY9hF,KAAK+/J,SAASp9G,gBAAgBjD,EAASojH,YAAY,EAC/D1uJ,MAAO,CAAEoE,GAAIzF,CAAQ,EACrBc,QAASA,CACX,CAAC,CACH,CAAC,EACDwO,MAAO,CACL9gB,MAAOshK,EAAgBtgK,KACvB6U,KAAM,CAAA,CACR,EACA7V,MAAOshK,EAAgBtgK,KACvB6U,KAAM,CAAA,EACNyZ,SAAU,CAAA,CACZ,CAAC,CACH,CACF,EAAG,CACD5oB,IAAK,gBAQLlC,MAAO,SAAuB8N,EAASshB,GACrC,OAAOA,EAAWthB,EAAQ2E,GAAK3E,EAAQC,WAAWsK,EAAc8/D,QAClE,CAaF,EAAG,CACDj2E,IAAK,iBACLlC,MAAO,SAAwBqO,EAAOP,EAAS4nB,EAAQ/S,GACrD,IAqCMq6I,EAGAx7E,EAGJiC,EACAu0C,EAEIrB,EACAjqD,EA4DAuwF,EAGAC,EAIJC,EAlHE51J,EAAUqC,EAAMrL,QAAQyL,WAAW,cAAc,EACjD/G,EAAM2G,EAAMrL,QAAQyL,WAAW,KAAK,EAGpCozJ,EAAe71J,EAAQkzJ,cAAcx+H,KAAK10B,CAAO,EACjDouB,EAAqBpuB,EAAQouB,mBAAmBsG,KAAK10B,CAAO,EAE5D81J,EAAiB36J,KAAAA,IAAcoL,GAAWpL,KAAAA,IAAcgzB,GAAUhzB,KAAAA,IAAcigB,EAChF26I,EAAUD,EAAiB1nI,EAAmB,CAAEtnB,MAAOA,EAAOoE,GAAI,WAAY,CAAC,EAAIijB,EACnFK,EAAUsnI,GAAkBr7J,OAAOa,OAAOy6J,EAAQx6J,MAAMizB,OAAO,EAAExG,OAAO,SAAUguI,EAAM/I,GAC1F,OAAO+I,GAAQ/I,CACjB,EAAG,CAAA,CAAI,EACH1iJ,EAASurJ,EAAiBhvJ,EAAM+gB,SAAW/gB,GAAQ,EAAIgC,EAAqBI,qBAAqBpC,EAAMoE,EAAE,GAAKlL,EAAQzE,MAAMqK,OAAOxJ,KAAK,SAAU6rB,GACpJ,OAAOA,EAAE/c,KAAOpE,EAAMoE,EACxB,CAAC,GAAK,IAAI2c,SAAoB/gB,GAAQ,EAAIgC,EAAqBI,qBAAqBpC,EAAMoE,EAAE,EACxF9D,EAAW0uJ,EAAiBhvJ,EAAMM,UAAYN,EAAMM,SAAStV,OAASgV,EAAMM,SAAW,GAAK,CAACb,GAC7FokB,EAASmrI,EAAiB,CAC5B55E,KAAwB,EAAlB90E,EAAStV,OAAasV,EAAS1L,IAAI,SAAUtK,GACjD,OAAOmZ,EAAOsd,SAAWz2B,EAAE8Z,GAAK9Z,EAAEoV,WAAWsK,EAAc8/D,QAC7D,CAAC,EAAI,KACLxpE,SAAUA,EACV6yE,MAAOzrD,EAAU,SAAW,KAC9B,EAAI,CACF0tD,KAAM,CAAC31E,EAAUsvJ,EAAatvJ,EAASgE,EAAOsd,QAAQ,EAAI,MAC1DzgB,SAAUA,EACVgU,MAAOA,EACP6+D,MAAO9+E,KAAAA,CACT,EAEK26J,IACHC,EAAQx6J,MAAMizB,QAAQpT,GAAS,CAAC26I,EAAQx6J,MAAMizB,QAAQpT,IAMnDtU,EAAM+gB,UAAa,CAAC,KAAM1sB,KAAAA,GAAWgB,SAASwuB,EAAOuxD,IAAI,IACxDu5E,EAAUlrJ,EACV2xE,EAAOvxD,EAAOuxD,KACdu0C,EAAY9lG,EAAOvjB,SACnB6yE,EAAQtvD,EAAOsvD,MAGnBiC,EAAOtoF,MAAMkF,QAAQojF,CAAI,EAAIA,EAAO,CAACA,GACrCu0C,EAAY78H,MAAMkF,QAAQ23H,CAAS,EAAIA,EAAY,CAACA,GAEhDrB,EAAU,GACVjqD,EAAU,GAEd+W,EAAKv1E,QAAQ,SAAUw0B,EAAKsoE,GAC1B,IAAIl9F,EAAUkqH,EAAUhtB,GACpBwyD,EAAcR,EAAQl6J,MAAMmL,OAAO1D,QAAUyyJ,EAAQl3E,gBAAgBpjD,CAAG,EAGxE,CAAC86H,GAAe1vJ,GAAWA,EAAQ4sD,UAAY,CAACsiG,EAAQn3E,sBAAsBnjD,CAAG,GACnFs6H,EAAQj4E,sBAAsB,CAAEtyE,GAAIiwB,EAAK50B,QAASA,CAAQ,CAAC,EAIzDpL,KAAAA,IAAc8+E,GAChBw7E,EAAQQ,EAAc,sBAAwB,uBAAuB96H,CAAG,EAItE,QAAU8+C,GAAUg8E,GACtB7mC,EAAQt7H,KAAKqnC,CAAG,EAId,WAAa8+C,GACf9U,EAAQrxE,KAAKqnC,CAAG,CAEpB,CAAC,EAEDs6H,EAAQS,qBAAqB9mC,EAAS,CAAA,CAAK,EAC3CqmC,EAAQU,qBAAqBhxF,EAAS,CAAA,CAAK,GAE1CswF,EAAQl6J,MAAMmL,OAAO1D,OAASyyJ,EAAQpwB,kBAAkB,EAAIxmI,QAAQC,QAAQ,GAAGO,KAAK,WACnF,IACIuG,EADwBvD,EAAMrL,QAAQyL,WAAW,cAAc,EAAEoR,SAAS,EAC3CjO,OAKnCs2E,EAAKv1E,QAAQ,SAAUw0B,EAAKsoE,GACtB2yD,EAAe,CAACX,EAAQl3E,gBAAgBpjD,CAAG,GAAKs6H,EAAQl6J,MAAMmL,OAAO1D,QAA4C,EAAlCyyJ,EAAQ/4E,iBAAiB,EAAEpvE,MAAY1H,EAAOxJ,KAAK,SAAU6rB,GAC9I,OAAOA,EAAE/c,KAAOuqJ,EAAQx8I,MAAM,CAChC,CAAC,EACGm9I,GACFA,EAAahvJ,SAASiW,OAAOliB,KAAAA,IAAcigB,EAAQqoF,EAAMroF,EAAO,CAAC,CAErE,CAAC,EAED1f,EAAIyhF,uBAAuB,EAGvB,IAAMv3E,EAAO9T,QAAW8T,EAAO,GAAGwB,SAAStV,QAC7C8T,EAAOyX,OAAO,CAAC,CAEnB,CAAC,GAMCvW,EAAM+gB,UAAY,CAAC,CAAC,KAAM1sB,KAAAA,GAAWgB,SAASwuB,EAAOuxD,IAAI,IAEvDw5E,EAAUnrJ,EACV8rJ,EAAQ1rI,EAAOuxD,KACf05E,EAAajrI,EAAOvjB,SACpBuuJ,EAAShrI,EAAOsvD,MAIpB27E,EAAahiK,MAAMkF,QAAQ88J,CAAU,EAAIA,EAAa,CAACA,GAGnDz6J,KAAAA,IAAcu6J,EAAQnnI,UAAUnnB,WAElCsuJ,EAAQnnI,UAAUnnB,SAAW,IAG/BivJ,EAAM1vJ,QAAQ,SAAUw0B,EAAKhqC,GAC3B,IAOM2oC,EACAtzB,EARFD,EAAUqvJ,EAAWzkK,GAGrBgK,KAAAA,IAAcu6J,EAAQnnI,UAAUnnB,SAAShL,KAAK,SAAUhL,GAC1D,OAAOA,EAAE6nB,MAAM,IAAMkiB,CACvB,CAAC,IAGK30B,GADAszB,EAAOvzB,GACcC,WAErBD,EAAQ4sD,WACVr5B,EAAO,IAAI51B,GAAGgvD,QAAQ3sD,EAAQ4sD,QAAQ,GACjCG,MAAMn4B,CAAG,EAEhB1gC,OAAO2yB,KAAK5mB,CAAU,EAAEG,QAAQ,SAAU0rB,GACxC,OAAOyH,EAAKnhB,IAAI0Z,EAAM7rB,EAAW6rB,EAAK,CACxC,CAAC,EACDyH,EAAKk5F,UAAY0iC,EAAQxqJ,GACzB4uB,EAAKvL,UAAYhoB,EAAQgoB,UACzBmnI,EAAQnnI,UAAUnnB,SAAStT,KAAKgmC,CAAI,GAKlC,QAAU67H,GAAUpvJ,EAAQgoB,UAAU/L,UAAY,WAAamzI,GAAU,CAACpvJ,EAAQgoB,UAAU/L,WAKhGjc,EAAQgoB,UAAU/L,SAAW,CAACjc,EAAQgoB,UAAU/L,SAGhD9mB,EAAI+yB,qBAAqBloB,EAAQgoB,UAAU/L,SAAW,MAAQ,SAAU,CACtEjc,QAASmvJ,EAAQnnI,UAAUnnB,SAAShL,KAAK,SAAUk6J,GACjD,OAAOn7H,IAAQm7H,EAAiBr9I,MAAM,CACxC,CAAC,CACH,CAAC,EACH,CAAC,EAGDy8I,EAAQnnI,UAAUvrB,OAAS0yJ,EAAQnnI,UAAUnnB,SAAS4gB,OAAO,SAAUoK,EAAK7rB,GAC1E,OAAO6rB,GAAO7rB,EAAQgoB,UAAU/L,QAClC,EAAG,CAAA,CAAK,GAGNszI,GACFhvJ,EAAMM,SAAST,QAAQ,SAAUvV,EAAGD,GAClC,OAAO4kK,EAAQx6J,MAAMizB,QAAQr9B,GAAK,CAACq9B,CACrC,CAAC,CAEL,CACF,EAAE,EAEK+hI,CACT,GAAE7tE,EAAY1rF,OAAQ,EAEtB,EAAE,CAACu8E,mDAAmD,GAAGgjF,6DAA6D,GAAGC,+BAA+B,IAAItwI,gBAAgB,IAAIC,gBAAgB,IAAIiL,eAAe,IAAInjB,WAAW,IAAIq5E,aAAa,IAAI7/E,8CAA8C,IAAI48C,mBAAmB,IAAIq8C,yBAAyB,IAAI/4F,gBAAgB,IAAInD,eAAe,IAAIrD,oBAAoB,IAAIyoD,gBAAgB,IAAIrrB,qBAAqB,IAAI6vC,6CAA6C,IAAIhjE,4BAA4B,IAAIib,uBAAuB,IAAIo7E,mBAAmB,IAAI3/B,mBAAmB,IAAI0K,iBAAiB,IAAI01B,eAAe,GAAG,GAAGu0D,IAAI,CAAC,SAASnlK,EAAQU,EAAOJ,GAC1qB6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIqB,EAAiW,SAAUC,EAAaC,EAAYC,GAAiJ,OAA9HD,GAAYE,EAAiBH,EAAYhG,UAAWiG,CAAU,EAAOC,GAAaC,EAAiBH,EAAaE,CAAW,EAAUF,CAAa,EAA5gB,SAASG,EAAiBC,EAAQC,GAAS,IAAK,IAAIjJ,EAAI,EAAGA,EAAIiJ,EAAMtI,OAAQX,CAAC,GAAI,CAAE,IAAIkJ,EAAaD,EAAMjJ,GAAIkJ,EAAWC,WAAaD,EAAWC,YAAc,CAAA,EAAOD,EAAWE,aAAe,CAAA,EAAU,UAAWF,IAAYA,EAAWG,SAAW,CAAA,GAAMC,OAAOC,eAAeP,EAAQE,EAAWM,IAAKN,CAAU,CAAG,CAAE,CAM5V,IAqEUZ,EArENutB,EAAO11B,EAAQ,WAAW,EAE9B,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAmCvc,SAAS+jG,IAjCuC,GAAI,EAkClC9pG,gBAAM8pG,GAlCkE,MAAM,IAAIvhG,UAAU,mCAAmC,EA2C/IvI,KAAKgkK,MAAQ,EACf,CAZF9kK,EAAQoF,SA8BN8C,EAAa0iG,EAAa,CAAC,CACzB7hG,IAAK,UACLlC,OACMgB,EAAOiF,EAAkB,YAC3B,IAAIpB,EAAQ5K,KAERwI,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E8iK,EAAez7J,EAAKwuB,OACpBA,EAA0BvuB,KAAAA,IAAjBw7J,EAA6B,MAAQA,EAC9CC,EAAe17J,EAAKyvB,OACpBA,EAA0BxvB,KAAAA,IAAjBy7J,EAA6B,GAAKA,EAC3Cp+I,EAAMtd,EAAKsd,IACXq+I,EAAU37J,EAAK27J,QACfC,EAAiB57J,EAAK8rJ,SACtBA,EAA8B7rJ,KAAAA,IAAnB27J,EAA+B,IAAOA,EACjDC,EAAgB77J,EAAKhI,QACrBA,EAA4BiI,KAAAA,IAAlB47J,EAA8BpsF,EAAAA,EAAWosF,EACnDC,EAAiB97J,EAAKmoG,SACtBA,EAA8BloG,KAAAA,IAAnB67J,EAA+B,aAAiBA,EAE/D,IACE,IAAI9vJ,EAAW,QAAUwiB,EAASjpB,MAAMumB,EAAK+E,IAAIrf,IAAI,CACnD8L,IAAKA,EACLmS,OAAQA,CACV,CAAC,EAAIlqB,MAAMumB,EAAK+E,IAAIyG,KAAK,CACvBha,IAAKA,EACLxS,KAAM2kB,EAAO3kB,MAAQ,GACrBysB,YAAa9H,EAAO8H,aAAe,kBACrC,CAAC,EACGzG,EAAS9kB,EAAS8kB,OAClBirI,EAAU/vJ,EAAS+vJ,QAEvB,GAAIjrI,CAAAA,EAyCF,OAAOntB,QAAQE,OAAOmI,CAAQ,EAxC9B,IAAIgwJ,EAAaC,YAAYz4J,EAAkB,YAG7C,GAAc,GADdxL,GAAoB8zJ,GACH,CACf,IAAIoQ,EAAY,KAAA,EAChB,IACEA,EAAY32J,MAAMumB,EAAK+E,IAAIrf,IAAI,CAC7B8L,IAAK,GAAKq+I,EAAUI,CACtB,CAAC,CAIH,CAHE,MAAOlmK,GACPqmK,EAAYrmK,CAEd,CACAsyG,EAAS,CACP4zD,QAASA,EACT/jK,QAAS,CAAA,EACTgU,SAAUkwJ,CACZ,CAAC,CACH,MACE/zD,EAAS,CACPnwG,QAAS,CAAA,CACX,CAAC,EACDoK,EAAM+5J,SAAS,CACbJ,QAASA,CACX,CAAC,CAEL,CAAC,EAAGjQ,CAAQ,EAGZt0J,KAAKgkK,MAAM5iK,KAAK,CACdmjK,QAASA,EACTC,WAAYA,CACd,CAAC,EAGD7zD,EAAS,CACP4zD,QAASA,EACT/vJ,SAAUA,CACZ,CAAC,CAOL,CAHE,MAAOnW,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CACF,CAAC,EAED,WACE,OAAO0I,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAIJ,EAAG,CACD8G,IAAK,WASLlC,MAAO,WACL,IAAIyC,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE3E0oG,EAAO7pG,KAAKgkK,MAAMt6J,KAAK,SAAUnL,GACnC,OAAOiK,EAAK+7J,UAAYhmK,EAAEgmK,OAC5B,CAAC,EACG16D,GACF+6D,cAAc/6D,EAAK26D,UAAU,CAEjC,CACF,EAAG,CACDv8J,IAAK,QAMLlC,MAAO,WACL,IAAI6D,EAAS5J,KAEbA,KAAKgkK,MAAM/vJ,QAAQ,SAAUuD,GACvBqtJ,EAASrtJ,EAAMqtJ,OACnB,OAAOj7J,EAAO+6J,SAAS,CAAEE,OAAQA,CAAO,CAAC,CAC3C,CAAC,EAED7kK,KAAKgkK,MAAMr5I,OAAO,CAAC,CACrB,CACF,EAAE,EA1Jc,IA4JTm/E,EAGT,EAAE,CAACnrE,YAAY,GAAG,GAAGmmI,IAAI,CAAC,SAASlmK,EAAQU,EAAOJ,GAClD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI+3H,EAAal/H,EAAQ,YAAY,EAEjCoxF,GAE4B5rF,EAFS05H,IAEY15H,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAMvF2gK,EAAQ56J,IAAIq5D,WAAW,CAKzB8L,MAAO,CAAA,EAKP1qD,OAAQ/Z,OAAO8V,MAAQ9V,OAAO3B,KAK9BsoB,OAAQilI,UAAUuO,OAKlBnnH,SAAUvxB,SAAS+qF,IAKnBlyE,SAAU,CAAA,EAKV8/H,OAAQ,CAAA,EAKRjqI,YAAa,KAKbntB,SAAU,KAKVke,IAAK,KAOL4F,QAAS,GAGT06E,eAAgB,GAGhBsP,qBAAsB,GAKtB5wG,KAAM,KAKN/B,IAAK,CACH0H,KAAM,GACNmuC,KAAM,QACR,EAKAr8B,IAAK,CAEH9C,IAAK,CAIHyE,SAAU,CAAA,CACZ,EAEAD,QAAS,CAIPC,SAAU,CAAA,EAKVoH,KAAM,CAAA,CACR,EAEA9I,OAAQ,CAINC,UAAW,MAKXhD,IAAK,EAEP,CAEF,EAKAgb,KAAM,CACJ09E,WAAY,CACV4hB,OAAQvxH,KAAAA,EACRugI,KAAMvgI,KAAAA,CACR,CACF,EAKA8vB,OAAQ,CACNC,YAAa/vB,KAAAA,CACf,EAKAgpE,aAAc,CACZ1uE,MAAO,GACPqvE,SAAUtrD,KAAKC,MAAMlc,OAAO6b,aAAaC,QAAQ,sBAAsB,GAAK,IAAI,CAClF,EAKAvH,YAAa,GAKb8E,QAAS,CACP3iB,MAAO,GACP0L,WAAY,GAEZwd,OAAQ,KAERrI,aAAc,EAChB,EAEAA,aAAc,GAKdzC,SAAU,CACR0kI,YAAa,MAEbxhI,cAAe,EAEfiH,QAAS,CACPmhC,MAAO,CAAA,EACPshB,EAAK,CAAA,EACLtjE,EAAK,CAAA,CACP,EAEA2Z,MAAO,IAEP5Z,IAAK,CACHma,MAAO,CACLD,MAAO,EACPE,OAAQ,CACV,EACAyO,MAAO,CAAA,CACT,EAEA1P,QAAS,CACPuP,QAAS,CAAA,EACTvN,SAAU,CAAA,EACVhB,MAAO,CACLD,MAAO,EACPE,OAAQ,CACV,EAEAI,OAAQ,CACN+oD,EAAK,CAAEvzB,KAAM,CAAE,EACf/vC,EAAK,CAAE+vC,KAAM,CAAE,CACjB,EACAnnB,MAAO,CAAA,EACP7N,WAAY,CAAA,EACZkhJ,MAAO,GACPr0I,SAAU,CAAA,EACV80H,YAAa,CAAA,EACbvjI,aAAc,EAChB,EACAW,YAAa,CACXvK,GAAI,KACJiZ,KAAM,CAAA,EACNlwB,MAAO,KACPuZ,QAAS,KACT+T,SAAU,KACV/oB,KAAM,KACN8qB,UAAW,KACXu0I,UAAW,KACXr0I,UAAW,KACXC,YAAa,CAAA,EACbI,MAAO,CACLtR,OAAQ,KACRyH,KAAM,KACN+J,OAAQ,IACV,CACF,EAEApkB,WAAY,CACVjE,IAAK,KACLmZ,QAAS,IACX,CACF,EAEAgB,MAAO,CACLe,QAAS,CACPhB,MAAO,CACT,CACF,EAGAlY,KAAM,CACJ2mB,QAAS,EACX,EAGA7Q,QAAS,IAAIkvE,EAAY1rF,QAGzBq3B,QAAS,GAGToU,gBAAiB,CAAA,CAEnB,CAAC,EAKD7wC,EAAQoF,QAAUygK,CAElB,EAAE,CAACnwE,aAAa,GAAG,GAAGwwE,IAAI,CAAC,SAASxmK,EAAQU,EAAOJ,GACnD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI+3H,EAAal/H,EAAQ,YAAY,EAEjCoxF,GAE4B5rF,EAFS05H,IAEY15H,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAS3F,IAAIihK,EAAU,GAKdnmK,EAAQoF,QAAUyD,OAAO+tC,OAAO,IAAIk6C,EAAY1rF,QAAW,CAAE2vF,QAAS,CAElE6e,eAAgB,SAAwB1sE,GACtCi/H,EAAQj/H,EAAO7jC,MAAQ8iK,EAAQj/H,EAAO7jC,OAAS6jC,CACjD,CACF,EAEAE,UAAW,SAAmB/jC,GAC5B,OAAO8iK,EAAQ9iK,EACjB,CACF,CAAC,CAED,EAAE,CAACqyF,aAAa,GAAG,GAAG0wE,IAAI,CAAC,SAAS1mK,EAAQU,EAAOJ,GACnD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAiDQgB,EAjDJuhJ,EAAiB1pJ,EAAQ,qBAAqB,EAElD,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAWzc7G,EAAQoF,QAAU,CAChB0V,IAAK,WACH,IAOMvI,EAPF01B,EAAyB,EAAnBhmC,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE1ElC,EAAIuS,GAAGC,KAAKuI,IAAImtB,EAAIz2B,IAAI,EAkB5B,OAjBKzR,IACCkoC,EAAIo+H,OACNA,MAAMC,KAAKr+H,EAAIz2B,KAAMy2B,EAAIo+H,KAAK,EAE5B9zJ,EAAO,CACTzS,KAAMmoC,EAAIz2B,KACV8uD,OAAQr4B,EAAIq4B,OACZimG,gBAAiBt+H,EAAIu+H,aAAe,MAAQ,MAC5C14F,MAAO7lC,EAAIw+H,WAAa,UAAY,GACtC,GAEA1mK,EADI,IAAIuS,GAAGC,KAAKm0J,WAAWn0J,CAAI,GAC7B23D,mBAAqB,WACrB,OAAO33D,EAAKg0J,eACd,EACAj0J,GAAGC,KAAKo0J,cAAc5mK,CAAC,EACvBuS,GAAGC,KAAK8zJ,MAAMlf,SAASkf,KAAK,GAEvBtmK,CACT,EAYAs1C,oBACMxtC,EAAOiF,EAAkB,UAAW0E,GACtC,IAAIzR,EAAIuS,GAAGC,KAAKuI,IAAItJ,CAAI,GAAKjI,KAAAA,EAG7B,GAAI,CAACxJ,EAAG,CACN,IAAIgY,EAAQlJ,MAAM,MAAO2qB,MAAM,QAAUhoB,EAAKkS,MAAM,GAAG,EAAE,GAAK,GAAG,GAAGkjJ,KAAK,EACrExsI,EAASriB,EAAMqiB,OACfhmB,EAAO2D,EAAM3D,KAEjB,GAAIgmB,EACFhmB,EAAK5C,MAAO,EAAI43I,EAAeC,eAAej1I,EAAK5C,IAAI,EACvDzR,EAAIe,KAAKga,IAAI1G,CAAI,EACjB9B,GAAGC,KAAK8zJ,MAAMlf,SAASkf,KAAK,CAGhC,CAEA,OAAOtmK,CACT,CAAC,EAED,SAA4Bm3B,GAC1B,OAAOrvB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAIJ,CAEA,EAAE,CAAC8sJ,sBAAsB,GAAG,GAAG8X,IAAI,CAAC,SAASnnK,EAAQU,EAAOJ,GAC5D6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQm6B,IAAM5wB,KAAAA,EAEd,IAAIuG,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAE7oB6V,EAAgBxf,EAAQ,eAAe,EAEvCyiC,EAAgBziC,EAAQ,oBAAoB,EAEhD,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAEzc,IAsJQmuB,EApGA1c,EAzCAzQ,EATE7H,EAAQm6B,IAAM,CAQtBrf,KACMjT,EAAOiF,EAAkB,YAC3B,IAAIiL,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E2kB,EAAM7O,EAAM6O,IACZkgJ,EAAe/uJ,EAAMghB,OACrBA,EAA0BxvB,KAAAA,IAAjBu9J,EAA6B,GAAKA,EAC3CC,EAAShvJ,EAAMgvJ,OAEnB,GAAI,CAACngJ,EACH,OAAO3Z,QAAQE,OAAO,QAAQ,EAGhC4rB,EAAS,IAAIgzC,gBAAgBnkD,KAAKC,MAAMD,KAAKuB,UAAU4P,GAAU,EAAE,CAAC,CAAC,EAAE3xB,SAAS,EAE5EkO,EAAWzG,MAAM,MAAO2qB,MAAM5S,GAAOmS,EAAS,IAAM,IAAMA,EAAQ,CAAEguI,OAAQA,CAAO,CAAC,GAAG7uJ,KAAK,EAGhG,IACE,OAAO0P,KAAKC,MAAMvS,CAAQ,CAG5B,CAFE,MAAOnW,GACP,OAAOmW,CACT,CACF,CAAC,EAED,WACE,OAAOzN,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,GAeF2+B,MACMtoB,EAAQxL,EAAkB,YAC5B,IAAIiT,EAA2B,EAAnB9d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E2kB,EAAM7G,EAAM6G,IACZxS,EAAO2L,EAAM3L,KACb4yJ,EAAiBjnJ,EAAMknJ,SACvBA,EAA8B19J,KAAAA,IAAnBy9J,GAAuCA,EAClDnmI,EAAc9gB,EAAM8gB,YACpBkmI,EAAShnJ,EAAMgnJ,OAiBfzxJ,GAfA2xJ,GACFA,EAAW,IAAI3sC,SACfzxH,OAAO8f,QAAQvU,CAAI,EAAEW,QAAQ,SAAU+K,GACrC,IAAIoL,EAAQpb,EAAegQ,EAAO,CAAC,EAC/B/W,EAAMmiB,EAAM,GAGhB,OAAO+7I,EAASvgJ,OAAO3d,EAFXmiB,EAAM,EAEe,CACnC,CAAC,GAID+7I,EAHUpmI,EAGC,UAAa,OAAOzsB,EAAOA,EAAOwT,KAAKuB,UAAU/U,GAAQ,EAAE,EAF3D,IAAI23D,gBAAgBnkD,KAAKC,MAAMD,KAAKuB,UAAU/U,GAAQ,EAAE,CAAC,CAAC,EAAEhN,SAAS,EAKnEyH,MAAM,MAAO2qB,MAAM5S,EAAK,CACrCkR,OAAQ,OACR1P,KAAM6+I,EACNxtI,QAAS,CACPC,eAAgBmH,GAAe,mCACjC,EACAkmI,OAAQA,CACV,CAAC,GAAG7uJ,KAAK,GAGT,IACE,OAAO0P,KAAKC,MAAMvS,CAAQ,CAG5B,CAFE,MAAOnW,GACP,OAAOmW,CACT,CACF,CAAC,EAED,WACE,OAAOgD,EAAMlW,MAAMtB,KAAMmB,SAAS,CACpC,GAIFmhF,aAAc,WACZ,IASMluD,EATFrV,EAA2B,EAAnB5d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E2kB,EAAM/G,EAAM+G,IACZxS,EAAOyL,EAAMzL,KACb8yJ,EAAmBrnJ,EAAMyjE,WACzBA,EAAkC/5E,KAAAA,IAArB29J,EAAiC,OAASA,EACvDH,EAASlnJ,EAAMknJ,OAEfzlK,EAAU,KAAA,EACd,OAAO,IAAI2L,SACLioB,EAAQpoB,EAAkB,UAAWI,EAASC,GAChD,IAeE,OAdA7L,EAAUZ,WAAW,WACnByM,EAAO,SAAS,CAClB,EAAG+R,EAAcwwD,OAAO,GAExB,EAAIvtC,EAAckE,cAAc,CAC9Bzf,IAAK,QAAU08D,EAAa,GAAK18D,GAAOxS,EAAO,IAAM,IAAI23D,gBAAgBnkD,KAAKC,MAAMD,KAAKuB,UAAU/U,GAAQ,EAAE,CAAC,CAAC,EAAEhN,SAAS,EAAI,IAAMwf,EACpI6S,QAAS,CACPC,eAAgB,mBAChBytI,gCAAiC,qBACnC,EACArvI,OAAQwrD,EACRlvE,KAAMA,GAAQwT,KAAKuB,UAAU/U,CAAI,EACjC2yJ,OAAQA,CACV,CAAC,EACM75J,EAAQ,CAKjB,CAJE,MAAO/N,GACP,OAAOgO,EAAOhO,CAAC,CACjB,CAAE,QACAwB,aAAaW,CAAO,CACtB,CACF,CAAC,EAEM,SAAUu4B,EAAKQ,GACpB,OAAOnF,EAAM9yB,MAAMtB,KAAMmB,SAAS,CACpC,EACC,CACL,EAcAo/B,QACMrM,EAASloB,EAAkB,UAAWmoB,GACxC,IAAIrO,EAAMqO,EAAMrO,IACZwgJ,EAAanyI,EAAM7gB,KAEnB2yJ,EAAS9xI,EAAM8xI,OAEnB,OAAO,MAAOvtI,MAAM5S,EAAK,CACvBkR,OAAQ,SACR1P,KAAMR,KAAKuB,UALa5f,KAAAA,IAAf69J,EAA2B,GAAKA,CAKhB,EACzBL,OAAQA,CACV,CAAC,GAAGH,KAAK,CACX,CAAC,EAED,SAAiBvrI,GACf,OAAOrG,EAAO5yB,MAAMtB,KAAMmB,SAAS,CACrC,EAIJ,CAEA,EAAE,CAACsyB,gBAAgB,IAAIoY,qBAAqB,GAAG,GAAG06H,IAAI,CAAC,SAAS3nK,EAAQU,EAAOJ,GAC/E6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQsjE,6BAqBR,WACE,IAAIz7D,EAA0B,EAAnB5F,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E0S,EAAU9M,EAAK8M,QACfizB,EAAe//B,EAAK+/B,aAExB,IAAK,EAAIy/D,EAAcoD,cAAc7iE,CAAY,EAAjD,CAKA,IAAI25B,EAAW5sD,EAAQyzB,YAAY,EAC/B0qH,EAASvxF,EAASgzD,eAAe,EAErC,OAAQ3sF,GAAgB25B,EAAS76D,QAAQ,GAGvC,KAAKwY,EAAck+E,eAAeqB,OAClC,KAAKv/E,EAAck+E,eAAesB,OAClC,KAAKx/E,EAAck+E,eAAeuB,QAClC,KAAKz/E,EAAck+E,eAAewB,SAChCjqF,EAAQyzB,YAAY,EAAEk/H,eAAeC,EAAgBzU,CAAM,CAAC,EAC5D,MAGF,KAAK5zI,EAAck+E,eAAe0B,YAClC,KAAK5/E,EAAck+E,eAAe2B,YAClC,KAAK7/E,EAAck+E,eAAe4B,aAClC,KAAK9/E,EAAck+E,eAAe6B,cAElC,KAAK//E,EAAck+E,eAAe+B,YAClC,KAAKjgF,EAAck+E,eAAegC,YAClC,KAAKlgF,EAAck+E,eAAeiC,aAClC,KAAKngF,EAAck+E,eAAekC,cAClC,KAAKpgF,EAAck+E,eAAeoC,MAClC,KAAKtgF,EAAck+E,eAAeqC,MAClC,KAAKvgF,EAAck+E,eAAesC,OAClC,KAAKxgF,EAAck+E,eAAeuC,QAChCmzD,EAAO/9I,QACEwyJ,CACR,EACD5yJ,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,EAC3C,MAMF,KAAK5zI,EAAck+E,eAAeyC,iBAClC,KAAK3gF,EAAck+E,eAAe0C,iBAClC,KAAK5gF,EAAck+E,eAAe2C,kBAClC,KAAK7gF,EAAck+E,eAAe4C,mBAClC,KAAK9gF,EAAck+E,eAAe8C,WAClC,KAAKhhF,EAAck+E,eAAe+C,WAClC,KAAKjhF,EAAck+E,eAAegD,YAClC,KAAKlhF,EAAck+E,eAAeiD,aAChCyyD,EAAO/9I,QAAQ,SAAUshB,GACvB,OAAOA,EAAEthB,QACAwyJ,CACR,CACH,CAAC,EACD5yJ,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,EAC3C,MAKF,KAAK5zI,EAAck+E,eAAemD,SAClC,KAAKrhF,EAAck+E,eAAeoD,SAClC,KAAKthF,EAAck+E,eAAeqD,UAClC,KAAKvhF,EAAck+E,eAAesD,WAChCoyD,EAAO,GAAG/9I,QACDwyJ,CACR,EACD5yJ,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,EAC3C,MAMF,KAAK5zI,EAAck+E,eAAewD,cAClC,KAAK1hF,EAAck+E,eAAeyD,cAClC,KAAK3hF,EAAck+E,eAAeoqE,cAClC,KAAKtoJ,EAAck+E,eAAe2D,gBAChC+xD,EAAO/9I,QAAQ,SAAU0yJ,GACvB,OAAOA,EAAK,GAAG1yJ,QACNwyJ,CACR,CACH,CAAC,EACD5yJ,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,CAM/C,CAvFA,CAyFA,OAAOn+I,CACT,EArHA,IAAIuK,EAAgBxf,EAAQ,eAAe,EAEvC2nG,EAAgB3nG,EAAQ,oBAAoB,EAOhD,SAAS6nK,EAAgBzU,GAIvB,OAHI,IAAMA,EAAO5yJ,QACf4yJ,EAAO5wJ,KAAK,CAAC,EAER4wJ,CACT,CAyGA,EAAE,CAACv+H,gBAAgB,IAAIu7E,qBAAqB,GAAG,GAAG43D,IAAI,CAAC,SAAShoK,EAAQU,EAAOJ,GAC/E6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ6pG,oBAOR,WACE,IAAI89D,EAAkC,EAAnB1lK,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACnF2lK,EAAkC,EAAnB3lK,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAEvF,OAAO0lK,EAAa,KAAOC,EAAa,IAAMD,EAAa,KAAOC,EAAa,EACjF,CAEA,EAAE,IAAIC,IAAI,CAAC,SAASnoK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ8+B,KAIR,SAAcgpI,EAAIC,EAAgBC,GAGhC,IAAIC,EAAShmK,UAAUimK,OAAOD,OAC9B,GAAIA,EAAOE,YAIT,OAAOF,EAAOE,YAAY5hK,YAAYnE,MAAM0lK,EAAI9lK,MAAMG,UAAUkjB,MAAMplB,KAAKgC,UAAW,CAAC,CAAC,EAK1F,IAHA,IAAIF,EAAOC,MAAMG,UAAUkjB,MAAMplB,KAAKgC,UAAW,CAAC,EAC9CmmK,EAAc,CAAA,EAETC,EAAOP,EAAGvhK,YAAa8hK,EAAMA,EAAOA,EAAKF,aAAeE,EAAKF,YAAY5hK,YAChF,GAAI8hK,EAAKlmK,UAAU4lK,KAAoBE,EACrCG,EAAc,CAAA,OACT,GAAIA,EACT,OAAOC,EAAKlmK,UAAU4lK,GAAgB3lK,MAAM0lK,EAAI/lK,CAAI,EAOxD,CAAA,GAAI+lK,EAAGC,KAAoBE,EAEzB,OAAOH,EAAGvhK,YAAYpE,UAAU4lK,GAAgB3lK,MAAM0lK,EAAI/lK,CAAI,EAE9D,MAAMlC,MAAM,uEAA4E,CAC1F,CACF,CAEA,EAAE,IAAIyoK,IAAI,CAAC,SAAS5oK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ0pG,cAQR,WACE,IAAI3sF,EAA2B,EAAnB9a,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,UAEhF,MAAO,CAAC8hC,SAAShnB,EAAM4kH,OAAO,EAAG,CAAC,EAAG,EAAE,EAAG59F,SAAShnB,EAAM4kH,OAAO,EAAG,CAAC,EAAG,EAAE,EAAG59F,SAAShnB,EAAM4kH,OAAO,EAAG,CAAC,EAAG,EAAE,EAC7G,CAEA,EAAE,IAAI4mC,IAAI,CAAC,SAAS7oK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQihD,wBAMR,SAAiCtsC,GAC/B,OAAO,IAAIrC,GAAGimB,OAAO8P,SAAUmgI,mBAAmB7zJ,CAAO,CAC3D,CAEA,EAAE,IAAI8zJ,IAAI,CAAC,SAAS/oK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQgM,kCAQR,SAA2CD,GAEzC,IAAI28J,GADJ38J,EAAiBA,EAAe8sB,QAAQ,KAAM,GAAG,GACbvxB,MAAM,IAAI,EAC1CohK,GAAkBA,EAAexoK,OAAS,IAC5C6L,EAAiBA,EAAe8sB,QAAQ,KAAM,GAAG,GAEnD,OAAO9sB,CACT,CAEA,EAAE,IAAI48J,IAAI,CAAC,SAASjpK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQujE,2BAYR,SAAoChC,EAAUqnG,GAC5C,IAAIC,EAAYtnG,EAAS76D,QAAQ,EAEjC,GAAI,CAACkiK,GAAkBA,IAAmBC,EACxC,OAAOtnG,EAGT,IAAIunG,GAAa,EAAIthE,EAAiB8C,iBAAiBu+D,CAAS,EAC5DE,GAAW,EAAIvhE,EAAiB8C,iBAAiBs+D,CAAc,EAEnE,GAAIE,CAAAA,GAAeC,EAgBnB,OAAKD,GAAcC,CAAAA,EAIZxnG,EAHE,IAAIjvD,GAAGkvD,KAAK,QAAUqnG,GAAW,CAACtnG,EAASgzD,eAAe,EAAE,EAhBnE,OAAQhzD,EAAS76D,QAAQ,GACvB,KAAKwY,EAAck+E,eAAeuD,aAChC,OAAOp/B,EAASynG,YAAY,EAC9B,KAAK9pJ,EAAck+E,eAAe6C,UAElC,KAAK/gF,EAAck+E,eAAewC,gBAChC,OAAOr+B,EAAS0nG,eAAe,EACjC,KAAK/pJ,EAAck+E,eAAeyB,WAChC,OAAOt9B,EAAS2nG,UAAU,CAG9B,CACA,MAAO,EAQX,EAzCA,IAAIhqJ,EAAgBxf,EAAQ,eAAe,EAEvC8nG,EAAmB9nG,EAAQ,uBAAuB,CAyCtD,EAAE,CAAC60B,gBAAgB,IAAIy7E,wBAAwB,GAAG,GAAGm5D,IAAI,CAAC,SAASzpK,EAAQU,EAAOJ,GAClF6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+oF,sBAIR,SAA+BnhD,EAAc5gC,GAE3C,OAAQ4gC,GAEN,KAAK1oB,EAAck+E,eAAekD,QAClC,KAAKphF,EAAck+E,eAAemD,SAClC,KAAKrhF,EAAck+E,eAAeoD,SAClC,KAAKthF,EAAck+E,eAAeqD,UAClC,KAAKvhF,EAAck+E,eAAesD,WAChC,OAAO,IAAIpuF,GAAGkvD,KAAK8yD,QAAQttH,CAAW,EAExC,KAAKkY,EAAck+E,eAAeuD,aAClC,KAAKzhF,EAAck+E,eAAewD,cAClC,KAAK1hF,EAAck+E,eAAeyD,cAClC,KAAK3hF,EAAck+E,eAAe0D,eAClC,KAAK5hF,EAAck+E,eAAe2D,gBAChC,OAAO,IAAIzuF,GAAGkvD,KAAKs2F,aAAa9wJ,CAAW,EAE7C,KAAKkY,EAAck+E,eAAe8B,WAClC,KAAKhgF,EAAck+E,eAAe+B,YAClC,KAAKjgF,EAAck+E,eAAegC,YAClC,KAAKlgF,EAAck+E,eAAeiC,aAClC,KAAKngF,EAAck+E,eAAekC,cAClC,KAAKpgF,EAAck+E,eAAemC,KAClC,KAAKrgF,EAAck+E,eAAeoC,MAClC,KAAKtgF,EAAck+E,eAAeqC,MAClC,KAAKvgF,EAAck+E,eAAesC,OAClC,KAAKxgF,EAAck+E,eAAeuC,QAChC,OAAO,IAAIrtF,GAAGkvD,KAAKgzD,WAAWxtH,CAAW,EAE3C,KAAKkY,EAAck+E,eAAe6C,UAClC,KAAK/gF,EAAck+E,eAAe8C,WAClC,KAAKhhF,EAAck+E,eAAe+C,WAClC,KAAKjhF,EAAck+E,eAAegD,YAClC,KAAKlhF,EAAck+E,eAAeiD,aAClC,KAAKnhF,EAAck+E,eAAewC,gBAClC,KAAK1gF,EAAck+E,eAAeyC,iBAClC,KAAK3gF,EAAck+E,eAAe0C,iBAClC,KAAK5gF,EAAck+E,eAAe2C,kBAClC,KAAK7gF,EAAck+E,eAAe4C,mBAChC,OAAO,IAAI1tF,GAAGkvD,KAAK4nG,gBAAgBpiK,CAAW,EAEhD,KAAKkY,EAAck+E,eAAeoB,MAClC,KAAKt/E,EAAck+E,eAAeqB,OAClC,KAAKv/E,EAAck+E,eAAesB,OAClC,KAAKx/E,EAAck+E,eAAeuB,QAClC,KAAKz/E,EAAck+E,eAAewB,SAChC,OAAO,IAAItsF,GAAGkvD,KAAKC,MAAMz6D,CAAW,EAEtC,KAAKkY,EAAck+E,eAAeyB,WAClC,KAAK3/E,EAAck+E,eAAe0B,YAClC,KAAK5/E,EAAck+E,eAAe2B,YAClC,KAAK7/E,EAAck+E,eAAe4B,aAClC,KAAK9/E,EAAck+E,eAAe6B,cAChC,OAAO,IAAI3sF,GAAGkvD,KAAK6nG,WAAWriK,CAAW,EAE3C,QAEE,OAAO,IAAIsL,GAAGkvD,KAAKC,MAAMz6D,CAAW,CAExC,CACF,EA/DA,IAAIkY,EAAgBxf,EAAQ,eAAe,CAiE3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAG+0I,IAAI,CAAC,SAAS5pK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ8lC,QACR,SAAiBlf,GACf,IAAI2iJ,EAAYtlK,SAASC,cAAc,OAAO,EAC9CD,SAASmkB,KAAK5jB,YAAY+kK,CAAS,EACnCA,EAAU1iK,MAAQ+f,EAClB2iJ,EAAU5sJ,OAAO,EACjB1Y,SAAS8hC,YAAY,MAAM,EAC3B9hC,SAASmkB,KAAK3jB,YAAY8kK,CAAS,CACrC,CAEA,EAAE,IAAIC,IAAI,CAAC,SAAS9pK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQm2F,uBAUR,SAAgCtuF,GAC9B,IAAIqN,EAAQrN,EAAKqN,MACbu0J,EAAc5hK,EAAKi5C,OACnBA,EAAyBv3C,KAAAA,IAAhBkgK,EAA4B,GAAKA,EAG1C9+H,EAAU,KAAA,EAkBV71B,EAhBSgsC,EAAOh3C,IAAI,SAAUiO,EAAOxY,GACvC,IAAI23E,EAAYn/D,EAAMm/D,UAClBrwE,EAAQkR,EAAMlR,MACdoS,EAAWlB,EAAMkB,SACjBC,EAAUnB,EAAMmB,QAGpB,OAAIlX,MAAMkF,QAAQgwE,CAAS,EAClBA,EAAUptE,IAAI,SAAU22B,EAAM1nB,GACnC,OAAO,EAAI5B,EAA4B6B,4BAA4B,CAAErS,MAAO85B,EAAM55B,MAAOA,EAAMkS,GAAIE,SAAUA,EAAUC,QAAS,IAAK,CAAC,CACxI,CAAC,EAAEC,KAAK,OAAO,GAAK,IAGL,EAAJ5Z,EAAQ,IAAMuhD,EAAOvhD,EAAI,GAAG2Z,QAAU,IAAM,KAAM,EAAI/B,EAA4B6B,4BAA4B,CAAErS,MAAOuwE,EAAWrwE,MAAOA,EAAOoS,SAAUA,EAAUC,QAASA,CAAQ,CAAC,CACrM,CAAC,EAEmBC,KAAK,EAAE,GAAK5P,KAAAA,EAOhC,OALAohC,EAAU,GAAGvpC,OAAO8T,CAAK,EAAEpL,IAAI,WAC7B,OAAOgL,CACT,CAAC,EAGM9S,MAAMkF,QAAQgO,CAAK,EAAIy1B,EAAUA,EAAQ,EAClD,EAxCA,IAAIxzB,EAA8BzX,EAAQ,kCAAkC,CA0C5E,EAAE,CAAC6Z,mCAAmC,GAAG,GAAGmwJ,IAAI,CAAC,SAAShqK,EAAQU,EAAOJ,GACzE6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIiJ,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAI7oB6V,GAFJlf,EAAQ8yE,uBAMR,SAAgCjrE,GAC1B8hK,EAAc9hK,EAAKiN,OACnBA,EAAyBvL,KAAAA,IAAhBogK,EAA4B,GAAKA,EAwB9C,OAtBA70J,EAAS4+D,EAAUt9C,OAAO,SAAUoK,EAAKzoB,GACnCO,EAAQxI,EAAeiI,EAAO,CAAC,EAC3BO,EAAM,GACVw+E,EAAKx+E,EAAM,GAEf,OAAOkoB,EAAI3H,QAAQ,IAAI+wI,OAAO,OAAS9yE,EAAK,OAAQ,GAAG,EAAG,GAAKA,CAAE,EAChEj+D,QAAQ,IAAI+wI,OAAO,IAAO9yE,EAAI,GAAG,EAAG,GAAKA,CAAE,EAC3Cj+D,QAAQ,IAAI+wI,OAAO9yE,EAAK,IAAM,GAAG,EAAG,GAAKA,CAAE,CAC9C,EACEhiF,CAAM,EAAE+jB,QAAQ,MAAO,EAAE,EAAEA,QAAQ,KAAM,EAAE,EAC7C/jB,EAAS4+D,EAAUt9C,OAAO,SAAUoK,EAAKzgB,GACvC,IAAID,EAAQhQ,EAAeiQ,EAAO,CAAC,EAC/Bk6D,EAAIn6D,EAAM,GACVg3E,EAAKh3E,EAAM,GAEf,OAAO0gB,EAAI3H,QAAQ,IAAI+wI,OAAO9yE,EAAI,GAAG,EAAG,CAAC,MAAO,MAAMvsF,SAASusF,CAAE,EAAI,IAAM7c,EAAI,IAAM,IAAMA,EAAI,GAAG,CACpG,EAAGnlE,CAAM,EAER4O,MAAM,GAAG,EAAE5Z,IAAI,SAAUC,EAAGxK,GAC3B,OAAO,IAAOA,EAAI,GAAK,EAAIo6B,mBAAmB5vB,CAAC,EAAIA,CACrD,CAAC,EAAEoP,KAAK,GAAG,CAGb,EA/BoBzZ,EAAQ,eAAe,GAEvCg0E,EAAY7qE,OAAO8f,QAAQzJ,EAAcwmE,2BAA2B,CA+BxE,EAAE,CAACnxD,gBAAgB,GAAG,GAAGs1I,IAAI,CAAC,SAASnqK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ4sG,qBAiBR,WACE,IAAI/kG,EAA0B,EAAnB5F,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E6H,EAAMjC,EAAKiC,IACX6K,EAAU9M,EAAK8M,QAIf0R,EAAUpiB,SAASC,cAAc,KAAK,EAGtCmgC,GAFJhe,EAAQqC,UAAY,4BAEN,IAAIpW,GAAGyiH,QAAQ,CAC3B1uG,QAASA,EACT8rG,OAAQ,CAAC,EAAG,CAAC,IACb6C,YAAa,eACf,CAAC,GAID,OAFAlrH,EAAImrH,WAAW5wF,CAAO,EAEf,CACLA,QAASA,EACTylI,QAASn1J,EAAQyzB,YAAY,EAAEzlC,GAAG,SAAU,SAAUxD,GACpD,IAAI2zJ,EAAS,KAAA,EACTtxF,EAAOriE,EAAEoJ,OAUTszD,GARA2F,aAAgBlvD,GAAGkvD,KAAK8yD,QAC1Bw+B,EAAStxF,EAAKuoG,iBAAiB,EAAEx1C,eAAe,EACvC/yD,aAAgBlvD,GAAGkvD,KAAKs2F,aACjChF,EAAStxF,EAAKwoG,kBAAkB,EAAEz1C,eAAe,EAAE,IAC1C/yD,aAAgBlvD,GAAGkvD,KAAKgzD,YAAchzD,aAAgBlvD,GAAGkvD,KAAK4nG,mBACvEtW,EAAStxF,EAAKyoG,kBAAkB,GAGjBngK,EAAIk8D,QAAQ,EAAE5N,cAAc,GACzC8xG,GAAU,EAAIziE,EAAoB8C,oBAAoB/oC,EAAK96D,QAAQ,CAAC,EACpEo8J,GAAU,EAAIp7D,EAAuB8C,uBAAuBhpC,EAAK96D,QAAQ,CAAC,EAC1Eu0J,GAAW,EAAIzzD,EAAiB8C,iBAAiB9oC,EAAK96D,QAAQ,CAAC,EAC/DyjK,EAAY,cAAgBtuG,EAAWxD,QAAQ,GAAK,YAAcwD,EAAW09D,SAAS,EACtF6wC,EAAW,GAcXC,GAZAvH,GAAW7H,IACZz5F,EAAKwnG,YAAY,GAAK,IAAIj0J,QAAQ,SAAUhV,GAC3C,OAAOA,EAAEuqK,cAAc,EAAE/1C,eAAe,EAAEx/G,QAAQ,SAAU+9I,GAC1D,OAAOsX,EAASloK,KAAK4wJ,CAAM,CAC7B,CAAC,CACH,CAAC,EAGCgQ,GAAW,CAAC7H,IACdmP,EAAW5oG,EAAK8oG,cAAc,EAAE/1C,eAAe,GAGrCuuC,GAA6B,EAAlBsH,EAASlqK,OAAa,IAAIoS,GAAGkvD,KAAKgzD,WAAW41C,CAAQ,EAAI5oG,GAE5EthE,EAASgqK,GAAWpH,GAA6B,EAAlBsH,EAASlqK,OAAaiqK,EAAY73J,GAAGi4J,OAAOx5B,UAAUs5B,EAAO,CAAExuG,WAAYA,EAAWxD,QAAQ,CAAE,CAAC,GAAI,EAAImvC,EAAiB8C,iBAAiB+/D,EAAM3jK,QAAQ,CAAC,EAAI2jK,EAAMpB,eAAe,EAAE7yI,OAAO,SAAUo0I,EAAaC,GACpP,OAAOD,EAAeC,EAAa15B,UAAU,CAC/C,EAAG,CAAC,EAAIs5B,EAAMt5B,UAAU,EAAIxnI,KAAAA,EAExB06G,EAAO6+C,EAAUj4I,KAAKC,MAAMq/I,EAAY73J,GAAGi4J,OAAOG,QAAQlpG,EAAM,CAAE3F,WAAYA,EAAWxD,QAAQ,CAAE,CAAC,EAAImJ,EAAKkpG,QAAQ,CAAC,EAAInhK,KAAAA,EAE1HA,KAAAA,IAAcrJ,IAChBA,EAAS,aAAeyM,EAAcvH,QAAQ0E,IAAI61C,KAAgB,YAATz/C,EAAwB,MAAiB,IAATA,GAAiB2qB,KAAKC,MAAM5qB,EAAS,IAAO,GAAG,EAAI,KAAK80E,QAAQ,CAAC,EAAI,OAASnqD,KAAKC,MAAe,IAAT5qB,CAAY,EAAI,KAAK80E,QAAQ,CAAC,EAAI,MAGlNzrE,KAAAA,IAAc06G,IAChBA,EAAO,aAAet3G,EAAcvH,QAAQ0E,IAAI61C,KAAc,sBAAPskE,EAA0F,SAA0B,IAAPA,GAAkBp5F,KAAKC,MAAMm5F,EAAO,IAAU,GAAG,EAAI,KAAKjvC,QAAQ,CAAC,EAAI,mBAAqBnqD,KAAKC,MAAa,IAAPm5F,CAAU,EAAI,KAAKjvC,QAAQ,CAAC,EAAI,kBAG7S3uD,EAAQglB,WAAa9hC,KAAAA,IAAc06G,EAAO,SAAWA,EAAO,QAAU,KAAO16G,KAAAA,IAAc06G,GAAQ16G,KAAAA,IAAcrJ,EAAS,mFAAuF,KAAOqJ,KAAAA,IAAcrJ,EAASA,EAAS,IACxPmkC,EAAQwwF,YAAYi+B,CAAM,CAC5B,CAAC,CACH,CACF,EAtFA,IAAIn1G,EAAej+C,EAAQ,mBAAmB,EAE1CiN,GAQ4BzH,EARWy4C,IAQUz4C,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EANvFuiG,EAAsB/nG,EAAQ,0BAA0B,EAExDgoG,EAAyBhoG,EAAQ,6BAA6B,EAE9D8nG,EAAmB9nG,EAAQ,uBAAuB,CAgFtD,EAAE,CAAC6P,oBAAoB,IAAIwgG,2BAA2B,IAAIC,wBAAwB,IAAIC,8BAA8B,GAAG,GAAG06D,IAAI,CAAC,SAASjrK,EAAQU,EAAOJ,GACvJ6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQqjF,mBAaR,SAA4Bx7E,GAC1B,IAAI+iK,EAAa/iK,EAAKqN,MAClBA,EAAuB3L,KAAAA,IAAfqhK,EAA2B,GAAKA,EACxCC,EAAgBhjK,EAAK24C,SACrBA,EAA6Bj3C,KAAAA,IAAlBshK,EAA8B,GAAKA,EAC9CthI,EAAM1hC,EAAK0hC,IACXuhI,EAAYjjK,EAAKjB,KACjBA,EAAqB2C,KAAAA,IAAduhK,EAA0B,OAASA,EAC1CC,EAAiBljK,EAAKu5C,UACtBA,EAA+B73C,KAAAA,IAAnBwhK,EAA+B,EAAIA,EAEnD,OAAOp+J,EAAcvH,QAAQwc,QAAQ3N,aAAa1K,KAAAA,IAAci3C,EAASgpC,OAASt0E,EAAMoE,KAAOknC,EAAS6O,gBAAkB7O,EAASsD,iBAAmBtD,EAAS6O,gBAAkBn6C,EAAMoE,KAAOknC,EAASgpC,OAAShpC,EAAS/e,MAAQ+e,EAASgpC,MAAM,EAAEhX,OAAO5rE,CAAI,EAAI,sBAAwB45C,EAASlnC,GAAK,KAAM,EAAI0xJ,EAAoBC,oBAAoB1hI,CAAG,EAAI,cAAgB6X,CAClX,EAvBA,IAAIzD,EAAej+C,EAAQ,mBAAmB,EAE1CiN,GAI4BzH,EAJWy4C,IAIUz4C,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAFvF8lK,EAAsBtrK,EAAQ,0BAA0B,CAqB5D,EAAE,CAAC6P,oBAAoB,IAAI27J,2BAA2B,GAAG,GAAGC,IAAI,CAAC,SAASzrK,EAAQU,EAAOJ,GACzF6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ4pG,oBAYR,WACE,IAAI/hG,EAA0B,EAAnB5F,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E2lC,EAAe//B,EAAK+/B,aACpBwjI,EAAavjK,EAAKkV,MAClBA,EAAuBxT,KAAAA,IAAf6hK,EAA2B,iBAAmBA,EACtDC,EAAYxjK,EAAKykC,KACjBA,EAAqB/iC,KAAAA,IAAd8hK,GAAiCA,EAE5C,OAAQzjI,GAEN,IAAK,aACL,IAAK,kBACH,OAAO,IAAIt1B,GAAGmd,MAAM4vC,MAAM,CACxBG,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOA,EAAOiH,MAAO,CAAE,CAAC,CACxD,CAAC,EAEH,IAAK,QACL,IAAK,aACH,OAAO,IAAI1R,GAAGmd,MAAM4vC,MAAM,CACxBpjC,MAAO,IAAI3pB,GAAGmd,MAAM8lG,OAAO,CACzBx1D,OAAQ,EACRzzB,KAAMA,GAAQ,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOA,CAAM,CAAC,EAChDyiD,OAAQ,CAAClzB,GAAQ,IAAIh6B,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOA,EAAOiH,MAAO,CAAE,CAAC,CACjE,CAAC,EACDG,OAAQ40D,EAAAA,CACV,CAAC,EAEH,IAAK,eACL,IAAK,UACH,OAAO,IAAIzmE,GAAGmd,MAAM4vC,MAAM,CACxBG,OAAQ,IAAIltD,GAAGmd,MAAMgwC,OAAO,CAAE1iD,MAAOA,EAAOiH,MAAO,CAAE,CAAC,EACtDsoB,KAAMA,GAAQ,IAAIh6B,GAAGmd,MAAMiwC,KAAK,CAAE3iD,MAAOzK,GAAGyK,MAAMuuJ,SAAS,GAAGlqK,QAzC1C2O,IAAO,GAAI/N,MAAMkF,QAAQ6I,CAAG,EAAG,CAAE,IAAK,IAAIxQ,EAAI,EAAGyoB,EAAOhmB,MAAM+N,EAAI7P,MAAM,EAAGX,EAAIwQ,EAAI7P,OAAQX,CAAC,GAAMyoB,EAAKzoB,GAAKwQ,EAAIxQ,GAAM,OAAOyoB,CAAM,CAAS,OAAOhmB,MAAMimB,KAAKlY,CAAG,CAAK,GAyClGuC,GAAGyK,MAAMwuJ,QAAQxuJ,CAAK,CAAC,CAAC,EAAE0O,OAAO,EAAG,CAAC,EAAErqB,OAAO,GAAG,CAAC,CAAE,CAAC,CAC/I,CAAC,EAEH,QAEE,OAAO,IAEX,CACF,CAEA,EAAE,IAAIoqK,IAAI,CAAC,SAAS9rK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQgZ,2BAaR,SAAoCnR,GAClC,IAAIlB,EAAQkB,EAAKlB,MAEb8kK,EAAgB5jK,EAAKoR,SACrBA,EAA6B1P,KAAAA,IAAlBkiK,EAA8B,KAAOA,EAChDC,EAAe7jK,EAAKqR,QACpBA,EAA2B3P,KAAAA,IAAjBmiK,EAA6B,KAAOA,EAElD,MAAO,GAAGtqK,OANEyG,EAAKhB,KAMK,EAAEiD,IAAI,SAAUC,GACpC,OAAOpD,EAAQ,IAAMsS,EAAS5R,YAAY,EAAI,IAAMsyB,mBAAmB5vB,CAAC,CAC1E,CAAC,EAAEoP,KAAK,IAAMD,EAAU,GAAG,CAC7B,CAEA,EAAE,IAAIyyJ,IAAI,CAAC,SAASjsK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQy6D,0BAA4BlxD,KAAAA,EAG9B1B,EAAOiF,EAAkB,UAAWzJ,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,GAChE,IACE,OAAOvF,MAAM,IAAI5B,SACX8K,EAAQjL,EAAkB,UAAWI,EAASC,GAChD,IAAI62F,EAAM,IAAI4nE,MAEVC,GADJ7nE,EAAIlwE,KAAK,MAAO1f,EAAK03J,YAAY13J,CAAI,CAAE,EACxB4vF,EAAI1xD,KAAK,QAAQ,GAO5By5H,EAAUF,EAASA,EAAS3rK,OAAS,GACrC6rK,EACF7+J,EAAQ8+J,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOs8I,EAAQE,OAAO,EAAG,IAAI35J,GAAGimB,OAAO2zI,IAAI,CAAEC,cAAe,CAAA,CAAM,CAAC,EAAG,WAAW,CAAC,EAEhIh/J,EAAO,CAEX,CAAC,EAEM,SAAUkuB,EAAKM,GACpB,OAAO5jB,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,EACC,CAIL,CAHE,MAAO9C,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CA1B2B,IACnB4Y,CA0BV,CAAC,EA9BH,IACMlQ,EAqCAyQ,EAwCAwH,EA9EFssJ,EAgCK,SAAyB5gJ,EAAI0L,EAAKwK,EAAK7H,EAAKQ,GACjD,OAAOxyB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAGEoqK,GACE/zJ,EAAQxL,EAAkB,UAAWzJ,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,GACjE,IACE,OAAOvF,MAAM,IAAI5B,SACX8S,EAAQjT,EAAkB,UAAWI,EAASC,GAChD+4G,IAAI,MAAO9xG,EAAK03J,YAAY13J,CAAI,CAAE,EAAE3G,KAAK,SAAU89H,GACjDr+H,EAAQ8+J,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAO7H,KAAKuB,UAAUoiH,CAAO,EAAG,IAAIj5H,GAAGimB,OAAO8P,QAAQ,EAAE,EAAG,WAAW,CAAC,CACvH,CAAC,EAAEjwB,MAAM,SAAUjZ,GACDgO,EAAOhO,CAAC,CAC1B,CAAC,CACH,CAAC,EAEM,SAAUq3J,EAAM7K,GACrB,OAAO5rI,EAAM3d,MAAMtB,KAAMmB,SAAS,CACpC,EACC,CAIL,CAHE,MAAO9C,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CAhB2B,IACnB4gB,CAgBV,CAAC,EAEM,SAAyBid,EAAKC,EAAKS,EAAMuM,EAAMguC,GACpD,OAAO3/D,EAAMlW,MAAMtB,KAAMmB,SAAS,CACpC,GAkDEid,GAlC4Blf,EAAQy6D,2BAClC36C,EAAQhT,EAAkB,YAC5B,IAAIoe,EAA2B,EAAnBjpB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EoB,EAAO6nB,EAAM7nB,KACbuD,EAAOskB,EAAMtkB,KACbqhC,EAAM/c,EAAM+c,IACZoxB,EAASnuC,EAAMmuC,OACfjlD,EAAO8W,EAAM9W,KACbqb,EAAQvE,EAAMuE,MAElB,OAAQ7oB,GACN,IAAK,MACH,OAAOolK,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,EAAM,IAAI9B,GAAGimB,OAAO+zI,GAAK,EAC/E,IAAK,MACH,OAAON,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,EAAM,IAAI9B,GAAGimB,OAAOg0I,iBAAmB,EAC7F,IAAK,UACH,OAAOP,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,EAAM,IAAI9B,GAAGimB,OAAO8P,OAAS,EACnF,IAAK,MACH,OAAO2jI,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,EAAM,IAAI9B,GAAGimB,OAAO2zI,IAAI,CAAEC,cAAe,CAAA,CAAM,CAAC,EAAG,WAAW,EACpH,IAAK,MACIK,IAgDUnpK,EAhDMA,EAgDA4kC,EAhDMA,EAgDDoxB,EAhDMA,EAgDE5pC,EAhDMA,EAgDCrb,EAhDMA,EAiDnDqlB,EAAUrlB,EAAKqlB,QACf2/B,EAAYhlD,EAAKglD,UACjB1vD,EAAS0K,EAAK1K,OACd25B,EAAIjvB,EAAKivB,EACT61B,EAAI9kD,EAAK8kD,EAGT1jD,EAAW,GACXi3J,EAAY,GAmChB,OAjCA/iK,EAAOqL,QAAQ,SAAUivC,EAAKx6B,GAC5B,IAGMxiB,EAHFqS,EAAa,GACbqzJ,EAAY1oH,EAAItgC,MAAM01C,CAAS,EAC/BszG,EAAUxsK,SAAWu5B,EAAQv5B,QAC3B8G,EAAc,GAClB0lK,EAAU33J,QAAQ,SAAUlO,EAAO2iB,GAC7B7iB,EAAQ8yB,EAAQjQ,GAChB7iB,IAAU08B,IACZr8B,EAAY,GAAK,CAAIH,GAEnBF,IAAUuyD,IACZlyD,EAAY,GAAK,CAAIH,GAEvBwS,EAAW1S,GAASE,CACtB,CAAC,EAEG0C,KAAAA,IAAcvC,EAAYwD,KAAK,SAAU3D,GAC3C,OAAOgL,OAAOC,MAAMjL,CAAK,CAC3B,CAAC,IACK06D,EAAW,IAAIjvD,GAAGkvD,KAAKC,MAAMz6D,CAAW,EACxCihC,IAAQoxB,GACVkI,EAAS/uD,UAAUy1B,EAAKoxB,CAAM,GAE5B1kD,EAAU,IAAIrC,GAAGgvD,QAAQC,CAAQ,GAC7BG,MAAMl4C,CAAK,EACnB7U,EAAQwpH,cAAc9kH,CAAU,EAChC7D,EAAStT,KAAKyS,CAAO,IAGvB83J,EAAUvqK,KAAK,CAAE8hD,IAAKx6B,EAAQ,EAAG3iB,MAAO6C,EAAO8f,EAAO,CAAC,CAE3D,CAAC,EAEG,IAAMhU,EAAStV,OACV+M,QAAQE,OAAO,GAGpBs/J,EAAUvsK,QACZgsG,IAAIprE,gBAAgB,CAClBl6B,KAAM,UACNgV,QAAS,gDACTqW,MAAO,CACLE,OAAQ,CACNpK,SAAU,sQACV3T,KAAM,WACJ,MAAO,CACLq4J,UAAWA,CACb,CACF,CACF,CACF,EACA76I,UAAW,CAAA,CACb,CAAC,EAGI,IAAItf,GAAG4C,MAAMkqD,OAAO,CACzBlnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAAE5pD,SAAUA,CAAS,CAAC,EACnDnS,KAAMA,EACNspK,QAASlzI,EACTngB,IAAI,EAAI+F,EAAgBiB,gBAAgB,EACxCmP,MAAOA,CACT,CAAC,GAvHG,IAAK,MACH,OAAO28I,EAAgB/oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,CAAI,EACvD,IAAK,MACH,OAAOi4J,EAAgBhpK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,CAAI,CACzD,CAEF,CAAC,EAEM,WACL,OAAO0L,EAAM1d,MAAMtB,KAAMmB,SAAS,CACpC,GAGkBvC,EAAQ,eAAe,GAEvC2f,EAAkB3f,EAAQ,kBAAkB,EAEhD,SAASoN,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CAEzc,SAASmlK,EAAmB3oK,EAAM4kC,EAAKoxB,EAAQ5pC,EAAOrb,EAAMmkB,EAAQ/mB,GAG9DgE,EAAW+iB,EAAOizG,aAAap3H,EAAM,CAAEs3H,eAF3Cl6H,EAAOjI,KAAAA,IAAciI,EAAOy2B,EAAMz2B,EAE+B+2B,kBAAmB8wB,GAAU7nD,CAAK,CAAC,EAGpG,GAAI,IAAMgE,EAAStV,OAWnB,OANIq4B,aAAkBjmB,GAAGimB,OAAO2zI,KAC9B12J,EAAST,QAAQ,SAAUvV,GACzB,OAAOA,EAAEotK,MAAM,UAAU,CAC3B,CAAC,EAGI,IAAIt6J,GAAG4C,MAAMkqD,OAAO,CACzBlnC,OAAQ,IAAI5lB,GAAG4lB,OAAOknC,OAAO,CAAE5pD,SAAUA,CAAS,CAAC,EACnDnS,KAAMA,EACNspK,QAAS9jK,OAAO2yB,KAAKhmB,EAAS,GAAGX,cAAc,CAAC,EAAEC,OAAO,SAAU8iF,GACjE,OAAO14E,EAAcm+E,gBAAgBjqD,QAAQwkD,CAAI,EAAI,CACvD,CAAC,EACDt+E,IAAI,EAAI+F,EAAgBiB,gBAAgB,EACxCmP,MAAOA,CACT,CAAC,CACH,CA6EA,EAAE,CAACo9I,mBAAmB,IAAIt4I,gBAAgB,GAAG,GAAGu4I,IAAI,CAAC,SAASptK,EAAQU,EAAOJ,GAC7E6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQggD,SAKR,SAAkB+sH,GAChB,IAAIz7G,EAA2B,EAAnBrvD,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAE5EX,EAAU,KAAA,EACd,OAAO,WACL,IAAK,IAAIy1F,EAAO90F,UAAU/B,OAAQ6B,EAAOC,MAAM+0F,CAAI,EAAGC,EAAO,EAAGA,EAAOD,EAAMC,CAAI,GAC/Ej1F,EAAKi1F,GAAQ/0F,UAAU+0F,GAGzBr2F,aAAaW,CAAO,EACpBA,EAAUZ,WAAW,WACnB,OAAOqsK,EAAK3qK,MAAMmH,KAAAA,EAAWxH,CAAI,CACnC,EAAGuvD,CAAK,CACV,CACF,CAEA,EAAE,IAAI07G,IAAI,CAAC,SAASttK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQiqG,SAKR,SAAkBgjE,EAAIC,GACpB,OAAOriJ,KAAKsiJ,KAAKtiJ,KAAK0/G,IAAI2iC,EAAG,GAAKD,EAAG,GAAI,CAAC,EAAIpiJ,KAAK0/G,IAAI2iC,EAAG,GAAKD,EAAG,GAAI,CAAC,CAAC,CAC1E,CAEA,EAAE,IAAIG,IAAI,CAAC,SAAS1tK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAUD,IA4C2BkG,EA3CrBlF,EADa7H,EAAQqmC,cA4CAt5B,EA3CI,YAC3B,IAAIgL,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5Eu2C,EAAWzgC,EAAMygC,SACjBv1B,EAAUlL,EAAMkL,QAChB2D,EAAM7O,EAAM6O,IACZymJ,EAAgBt1J,EAAM0hB,QACtBA,EAA4BlwB,KAAAA,IAAlB8jK,EAA8B,GAAKA,EAC7CC,EAAev1J,EAAM+f,OACrBA,EAA0BvuB,KAAAA,IAAjB+jK,EAA6B,MAAQA,EAC9Cl5J,EAAO2D,EAAM3D,KACbm5J,EAAkBx1J,EAAMy/B,UACxBA,EAAgCjuC,KAAAA,IAApBgkK,EAAgC,aAAeA,EAC3DxG,EAAShvJ,EAAMgvJ,OAEfntI,EAAO3W,GAAW,IAAIuqJ,KAAK,CAACvqJ,GAAU,CAAErc,KAAM4wC,CAAU,CAAC,EAEzDpsB,EAAI,CAACnI,GAAW2D,IAAO,MAAO4S,MAAM5S,EAAK,CAC3ChgB,KAAM4wC,EACN/d,QAASA,EACTrR,KAAMhU,EACN0jB,OAAQA,EACRivI,OAAQA,CACV,CAAC,IAAM,GAEP,GAAI,CAAC9jJ,IAAY,MAAQmI,EAAE+kC,QAAU,MAAQ/kC,EAAE+kC,QAC7C,MAAM,MAAO/kC,EAAEw7I,KAAK,GAAGhrJ,QAGrBqH,CAAAA,GAAW,MAAQmI,EAAE+kC,UACnBvwD,EAAIqE,SAASC,cAAc,GAAG,GAChCC,aAAa,OAAQwH,OAAOkb,IAAI0S,gBAAgBK,IAAQ,MAAOxO,EAAEwO,KAAK,EAAE,CAAC,EAC3Eh6B,EAAEuE,aAAa,WAAYq0C,IAAaptB,EAAEqO,QAAQ3e,IAAI,qBAAqB,GAAK,8BAA8B4I,MAAM,WAAW,EAAEu2C,GAAG,CAAC,CAAC,EACtIr6D,EAAE6tK,QAAQC,YAAc,CAACl2H,GAAapsB,EAAEqO,QAAQ3e,IAAI,cAAc,EAAGlb,EAAEqmC,SAAUrmC,EAAE2iB,MAAMpJ,KAAK,GAAG,EACjGvZ,EAAE6mB,MAAM,EAGZ,EApCI5e,EA2CkC,WAAc,IAAImF,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EAL7b,WACL,OAAOgB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,EAKF,EAAE,IAAI0rK,IAAI,CAAC,SAASjuK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIT,EAA4B,YAAlB,OAAOC,QAAoD,UAA3B,OAAOA,OAAOC,SAAwB,SAAUpB,GAAO,OAAO,OAAOA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,YAAlB,OAAOmB,QAAyBnB,EAAIqB,cAAgBF,QAAUnB,IAAQmB,OAAOlE,UAAY,SAAW,OAAO+C,CAAK,EAE3QlF,EAAQkiE,cAkCR,SAASA,EAAch9D,EAAKqmB,GAC1B,IAAIuwC,EAAyB,EAAnB75D,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAE9E,IAAK,IAAI8G,KAAO7D,EAAK,CACnB,IAAI0oK,EAAWriJ,EAASA,EAAS,IAAMxiB,EAAMA,EACzC,WAAa3C,EAAQlB,EAAI6D,EAAI,EAC/Bm5D,EAAch9D,EAAI6D,GAAM6kK,EAAU9xG,CAAG,EAErCA,EAAI8xG,GAAY1oK,EAAI6D,EAExB,CACA,OAAO+yD,CACT,CAEA,EAAE,IAAI+xG,IAAI,CAAC,SAASnuK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQs8E,qCASR,WACE,IAAIjjE,EAAgC,EAAnBpX,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAErF,OAAQD,MAAMkF,QAAQmS,CAAU,EAAIA,EAAaxQ,OAAO2yB,KAAKniB,CAAU,GAAGvE,OAAO,SAAU/U,GACzF,MAAO,CAACmf,EAAcm+E,gBAAgB9yF,SAASxK,CAAC,CAClD,CAAC,CACH,EAbA,IAAImf,EAAgBxf,EAAQ,eAAe,CAe3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGu5I,IAAI,CAAC,SAASpuK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQsX,oBAWR,SAA6BgC,GAC3B,OAAOzQ,OAAOa,OAAOiD,EAAcvH,QAAQq3B,OAAO,EAAE3yB,IAAI,SAAU42B,GAChE,OAAOA,EAAEzsB,aAAaqF,CAAE,CAC1B,CAAC,EAAE9O,KAAK,SAAU6rB,GAChB,OAAOA,CACT,CAAC,CACH,EAfA,IAAIsnB,EAAej+C,EAAQ,mBAAmB,EAE1CiN,GAE4BzH,EAFWy4C,IAEUz4C,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAa3F,EAAE,CAACqK,oBAAoB,GAAG,GAAGw+J,IAAI,CAAC,SAASruK,EAAQU,EAAOJ,GAC1D6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+jE,iBAWR,SAA0BjvD,GACxB,IAAIjL,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAElF,OAAO4G,OAAOa,OAAOiD,EAAcvH,QAAQq3B,OAAO,EAAEgvD,QAAQ,SAAU/qD,GACpE,OAAOA,EAAE6qC,UAAUz2D,EAAQjL,CAAO,CACpC,CAAC,CACH,EAfA,IAAI8zC,EAAej+C,EAAQ,mBAAmB,EAE1CiN,GAE4BzH,EAFWy4C,IAEUz4C,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAa3F,EAAE,CAACqK,oBAAoB,GAAG,GAAGy+J,IAAI,CAAC,SAAStuK,EAAQU,EAAOJ,GAC1D6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQgmF,sBAAwBz8E,KAAAA,EAEhC,IA2D2BwD,EArDrBgL,EANFjI,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAK7oB28E,EAAwBhmF,EAAQgmF,uBAsDTj5E,EArDK,UAAWlF,GACvC,IAAI8B,EAAQ9B,EAAK8B,MACbhD,EAAQkB,EAAKlB,MACbioE,EAAU/mE,EAAK+mE,QAGnB,IAEE,OAAO,MAAO3hE,QAAQke,WAAWxhB,EAAM28E,cAAcx8E,IAAI,SAAUusB,GACjE,OAAOA,EAAEy5B,cAAc,CACrB8e,QAASA,EACT7e,WAAYppD,EACZupD,SAAUvpD,EACVA,MAAOq/E,EAAsBr/E,MAAM,CACjCgD,MAAOA,EAEPhD,MAAOioE,CAAAA,IAAmBjlE,EAAMm8E,WAAWt7E,KAAK,SAAUjL,GACxD,OAAOA,EAAE23E,YAAcvwE,CACzB,CAAC,GAAK,IAAIo/E,YAAcp/E,EACxBiN,OAAQ,EACV,CAAC,CACH,CAAC,CACH,CAAC,CAAC,GAAGkB,OAAO,SAAUsW,GACpB,MAAO,cAAgBA,EAAE+kC,MAC3B,CAAC,EAAE/5B,OAAO,SAAUoK,EAAKpV,GACvB,OAAOoV,EAAIp/B,OAAOgqB,EAAEvkB,MAAMuN,MAAQ,EAAE,CACtC,EAAG,EAAE,EACJtK,IAAI,SAAUwO,GACb,IAAIyH,EAAQjQ,EAAewI,EAAO,CAAC,EAC/BzR,EAAQkZ,EAAM,GAGlB,MAAO,CAAEhX,IAFCgX,EAAM,GAEGlZ,MAAOA,CAAM,CAClC,CAAC,CAGH,CAFE,MAAO1H,IAIT,MAAO,EACT,EAvCI4Y,EAqDkC,WAAc,IAAI/K,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EAZ7b,SAA+B2kB,GACpC,OAAOzT,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,GAQEid,EAAgBxf,EAAQ,eAAe,EAI3CsmF,EAAsBr/E,MAAQ,WAC5B,IAAImZ,EAA2B,EAAnB7d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E0H,EAAQmW,EAAMnW,MACdhD,EAAQmZ,EAAMnZ,MACdsnK,EAAenuJ,EAAMlM,OACrBA,EAA0BrK,KAAAA,IAAjB0kK,EAA6B,GAAKA,EAE/CtnK,EAAQgD,EAAMm8E,WAAWt7E,KAAK,SAAUjL,GACtC,OAAOA,EAAE23E,YAAcvwE,CACzB,CAAC,EACG4kB,EAAS5hB,EAAMm8E,WAAWt7E,KAAK,SAAUjL,GAC3C,OAAOA,EAAE23E,YAAcvwE,EAAMo/E,UAC/B,CAAC,EAGD,OAAKx6D,GAAUrM,EAAcqmE,kBAAoBh6D,EAAO1kB,OAKpD0C,KAAAA,IAAcgiB,EAAO1kB,OACvB+M,EAAOwH,QAAQmQ,EAAO2rD,UAAY,IAAM3rD,EAAOtS,SAAS5R,YAAY,EAAI,IAAM2sC,UAAUzoB,EAAO1kB,KAAK,GAAK+M,EAAO1T,OAAS,IAAMqrB,EAAOrS,QAAU,GAAG,EAI9I8sE,EAAsBr/E,MAAM,CAAEgD,MAAOA,EAAOiK,OAAQA,EAAQjN,MAAO4kB,EAAO2rD,SAAU,CAAC,IATlFtjE,GAAU,IAAIuF,KAAK,GAAK5P,KAAAA,CAUpC,CAEA,EAAE,CAACgrB,gBAAgB,GAAG,GAAG25I,IAAI,CAAC,SAASxuK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQgzF,qBAAuBzpF,KAAAA,EAcJvJ,EAAQgzF,sBAwERjmF,EAvEI,YAC3B,IAAIgL,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E0E,EAAQoR,EAAMpR,MACdgO,EAAUoD,EAAMpD,QAChBosC,EAAehpC,EAAMgpC,aACrB2wC,EAAa35E,EAAM25E,WAEnBkC,EAAuBjtF,EAAMiD,MAAMC,QACnCskK,EAAwBv6E,EAAqB9/E,SAC7CA,EAAqCvK,KAAAA,IAA1B4kK,EAAsCptH,EAAeotH,EAChE5/J,EAAqBqlF,EAAqBrlF,mBAC1CikB,EAAUohE,EAAqBphE,QAC/BtX,EAAgB04E,EAAqBxuF,QAMzC,GAAKmJ,EAAL,CAIAikB,EAAQ7oB,MAAQ,UAGhB,IAEE,IAAI9C,EAAQgI,MAAMyE,EAAOlO,QAAQ0S,QAAQ,6BAA8B,CACrEgpC,OAAQ,CACNS,WAAY56C,EAAMtD,KAClByQ,SAAUA,EACVitC,aAAcA,EACdC,WAAW,EAAIX,EAAyBY,yBAAyBtsC,CAAO,EACxEysC,UAAW,EACXtzB,WAAYvf,EAAmBuf,WAC/BvC,OAAQmmE,GAAc,CACpB1wC,WAAW,EAAIX,EAAyBY,yBAAyBywC,EAAW/8E,OAAO,EACnFosC,aAAc2wC,EAAW3wC,aACzBK,UAAW,CACb,CACF,EACAC,QAAS,CAAA,CACX,CAAC,EAID,OAFA16C,EAAME,MAAQA,CAWhB,CARE,MAAO1H,GAKP,OAJIoK,KAAAA,IAAc2R,IAChBvU,EAAME,MAAQqU,GAGTjO,QAAQE,OAAOhO,CAAC,CACzB,CAAE,QACAqzB,EAAQ7oB,MAAQ,OAClB,CAnCA,CAoCF,EAxDI9B,EAuEkC,WAAc,IAAImF,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EAb7b,WACL,OAAOgB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,GA7DF,IAwE2B8K,EAvErBlF,EA+DFumK,EAAQ1uK,EAAQ,eAAe,EAE/B4T,GAI4BpO,EAJIkpK,IAIiBlpK,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAFvFm7C,EAA2B3gD,EAAQ,+BAA+B,CAMtE,EAAE,CAACqW,gBAAgB,IAAIssC,gCAAgC,GAAG,GAAGgsH,IAAI,CAAC,SAAS3uK,EAAQU,EAAOJ,GAC1F6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQkzF,oBAAsB3pF,KAAAA,EAcJvJ,EAAQkzF,qBAmFPnmF,EAlFI,YAC3B,IAAIgL,EAA2B,EAAnB9V,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E0E,EAAQoR,EAAMpR,MACdgO,EAAUoD,EAAMpD,QAChBosC,EAAehpC,EAAMgpC,aACrB2wC,EAAa35E,EAAM25E,WAEnBkC,EAAuBjtF,EAAMiD,MAAMC,QACnCd,EAAM6qF,EAAqB7qF,IAC3BlC,EAAQ+sF,EAAqB/sF,MAC7BsnK,EAAwBv6E,EAAqB9/E,SAC7CA,EAAqCvK,KAAAA,IAA1B4kK,EAAsCptH,EAAeotH,EAChEh7E,EAAoBS,EAAqBT,kBACzC3gE,EAAUohE,EAAqBphE,QAC/Bjb,EAAeq8E,EAAqBr8E,aAMxC,GAAK47E,EAAL,CAIA3gE,EAAQ7oB,MAAQ,UAEhB,IAEE,IAAI6L,EAAW3G,MAAMyE,EAAOlO,QAAQ0S,QAAQ,wBAAyB,CACnEgpC,OAAQ,CACNS,WAAY56C,EAAMtD,KAClByQ,SAAUA,EACVitC,aAAcA,EACdC,WAAW,EAAIX,EAAyBY,yBAAyBtsC,CAAO,EACxE4W,OAAQmmE,GAAc,CACpB1wC,WAAW,EAAIX,EAAyBY,yBAAyBywC,EAAW/8E,OAAO,EACnFosC,aAAc2wC,EAAW3wC,aACzBK,UAAW,CACb,EACAA,UAAW,EACXtzB,WAAYqlE,EAAkBrlE,WAC9BoiC,SAAU,CAAC3mD,KAAAA,EAAW,CAAA,GAAOgB,SAASgN,CAAY,EAAIxO,EAAMlC,CAC9D,EACAw6C,QAAS,CAAA,CACX,CAAC,EAED,GAAI,wBAA0B16C,EAAMiD,MAAMhD,KAAM,CAC9CD,EAAMiD,MAAMC,QAAQH,OAAS,GAG7B,IADA,IAAIA,EAAS,GACJnK,EAAI,EAAGA,EAAIiW,EAAStV,OAAQX,CAAC,GACpCmK,EAAOxH,KAAK,CACV6G,IAAKyM,EAASjW,GAAG8Z,WAAWxS,GAC5BA,MAAO2O,EAASjW,GAAG8Z,WAAWtQ,EAChC,CAAC,EAGHpC,EAAMiD,MAAMC,QAAQH,OAASA,CAC/B,CAEA,OAAO8L,CAMT,CALE,MAAOrW,GAEP,OAAO8N,QAAQE,OAAOhO,CAAC,CACzB,CAAE,QACAqzB,EAAQ7oB,MAAQ,OAClB,CA5CA,CA6CF,EAnEI9B,EAkFkC,WAAc,IAAImF,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EAb7b,WACL,OAAOgB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,GAxEF,IAmF2B8K,EAlFrBlF,EA0EFumK,EAAQ1uK,EAAQ,eAAe,EAE/B4T,GAI4BpO,EAJIkpK,IAIiBlpK,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAFvFm7C,EAA2B3gD,EAAQ,+BAA+B,CAMtE,EAAE,CAACqW,gBAAgB,IAAIssC,gCAAgC,GAAG,GAAGisH,IAAI,CAAC,SAAS5uK,EAAQU,EAAOJ,GAC1F6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQkhD,wCAaR,SAAiDvsC,GAC/C,OAAOA,EAAQC,WAAW2sD,SAE1B,IAAI8B,EAAW,IAAI/wD,GAAGgvD,QAAQ3sD,EAAQ4sD,QAAQ,EAC1CloD,EAAa,GAWjB,OATA,EAAIoiE,EAAsCa,sCAAsC3nE,EAAQC,UAAU,EAAEE,OAAO,SAAU/U,GACnH,OAAOmf,EAAc8/D,UAAYj/E,CACnC,CAAC,EAAEgV,QAAQ,SAAUhV,GACnB,OAAOsZ,EAAWtZ,GAAK4U,EAAQC,WAAW7U,EAC5C,CAAC,EAEDsjE,EAAS86D,cAAc9kH,CAAU,EACjCgqD,EAAS3B,MAAM/sD,EAAQC,WAAWsK,EAAc8/D,QAAQ,GAEjD,EAAI3+B,EAAyBY,yBAAyBoiB,CAAQ,CACvE,EA3BA,IAAInkD,EAAgBxf,EAAQ,eAAe,EAEvC+7E,EAAwC/7E,EAAQ,4CAA4C,EAE5F2gD,EAA2B3gD,EAAQ,+BAA+B,CAyBtE,EAAE,CAAC60B,gBAAgB,IAAI8tB,gCAAgC,IAAIm6B,6CAA6C,GAAG,GAAG+xF,IAAI,CAAC,SAAS7uK,EAAQU,EAAOJ,GAC3I6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+0C,oBASR,WAEE,OADAppC,OAAOC,WAAW+W,SACXhX,OAAOC,WAAW+W,SAAS7N,OAAO,SAAU/U,GACjD,MAAK,CAAC,KAAMwJ,KAAAA,GAAWgB,SAASxK,EAAEyuK,QAAQ,EAGtCzuK,EAAAA,EAAEuZ,KAAO3M,EAAcvH,QAAQwc,QAAQyF,MAAM,GAAK1b,OAAOC,WAAWksF,iBAAmB/3F,EAAEu+B,MAAQ3yB,OAAOC,WAAWksF,kBAGhH/3F,EALEA,EAAEyuK,QAMb,CAAC,EAAEh3J,KAAK,SAAU5X,EAAG6X,GACnB,OAAQ7X,EAAEyC,OAAS,IAAI84G,cAAc1jG,EAAEpV,KAAK,CAC9C,CAAC,CACH,EApBA,IAAIs7C,EAAej+C,EAAQ,mBAAmB,EAE1CiN,GAE4BzH,EAFWy4C,IAEUz4C,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAkB3F,EAAE,CAACqK,oBAAoB,GAAG,GAAGk/J,IAAI,CAAC,SAAS/uK,EAAQU,EAAOJ,GAC1D6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAI8vC,EAAW9tC,OAAO+tC,QAAU,SAAUruC,GAAU,IAAK,IAAIhJ,EAAI,EAAGA,EAAI0C,UAAU/B,OAAQX,CAAC,GAAI,CAAE,IAAoCwJ,EAAhCmvB,EAASj2B,UAAU1C,GAAI,IAASwJ,KAAOmvB,EAAcrvB,OAAO1G,UAAU4I,eAAe9K,KAAKi4B,EAAQnvB,CAAG,IAAKR,EAAOQ,GAAOmvB,EAAOnvB,GAAU,CAAE,OAAOR,CAAQ,EAE/PvI,EAAQk1E,qBAOR,WACE,IAAIpgE,EAA4B,EAAnB7S,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC7E4H,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAQlF,OANA6S,EAAS6hC,EAAS,CAChBstB,SAAU,CAAA,CACZ,EAAGnvD,CAAM,EAEqBpV,EAAQ,cAAc,EAAE0F,QAAQ+jG,wBAE/B0vB,wBAAwB,EAAEptC,QAAQ,SAAU/qD,GACzE,OAAOA,EAAE6qC,UAAUz2D,EAAQjL,CAAO,CACpC,CAAC,CACH,CAEA,EAAE,CAACmlG,eAAe,GAAG,GAAG0/D,IAAI,CAAC,SAAShvK,EAAQU,EAAOJ,GACrD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQqqG,cAOR,SAAuBziE,GAErB,OAAQA,GAEN,KAAK1oB,EAAck+E,eAAe+B,YAClC,KAAKjgF,EAAck+E,eAAegC,YAClC,KAAKlgF,EAAck+E,eAAeiC,aAClC,KAAKngF,EAAck+E,eAAekC,cAClC,KAAKpgF,EAAck+E,eAAemC,KAClC,KAAKrgF,EAAck+E,eAAeoC,MAClC,KAAKtgF,EAAck+E,eAAeqC,MAClC,KAAKvgF,EAAck+E,eAAesC,OAClC,KAAKxgF,EAAck+E,eAAeuC,QAChC,MAAO,aAET,KAAKzgF,EAAck+E,eAAeyC,iBAClC,KAAK3gF,EAAck+E,eAAe0C,iBAClC,KAAK5gF,EAAck+E,eAAe2C,kBAClC,KAAK7gF,EAAck+E,eAAe4C,mBAClC,KAAK9gF,EAAck+E,eAAe6C,UAClC,KAAK/gF,EAAck+E,eAAe8C,WAClC,KAAKhhF,EAAck+E,eAAe+C,WAClC,KAAKjhF,EAAck+E,eAAegD,YAClC,KAAKlhF,EAAck+E,eAAeiD,aAChC,MAAO,kBAET,KAAKnhF,EAAck+E,eAAeoB,MAClC,KAAKt/E,EAAck+E,eAAeqB,OAClC,KAAKv/E,EAAck+E,eAAesB,OAClC,KAAKx/E,EAAck+E,eAAeuB,QAClC,KAAKz/E,EAAck+E,eAAewB,SAChC,MAAO,QAET,KAAK1/E,EAAck+E,eAAeyB,WAClC,KAAK3/E,EAAck+E,eAAe0B,YAClC,KAAK5/E,EAAck+E,eAAe2B,YAClC,KAAK7/E,EAAck+E,eAAe4B,aAClC,KAAK9/E,EAAck+E,eAAe6B,cAChC,MAAO,aAET,KAAK//E,EAAck+E,eAAekD,QAClC,KAAKphF,EAAck+E,eAAemD,SAClC,KAAKrhF,EAAck+E,eAAeoD,SAClC,KAAKthF,EAAck+E,eAAeqD,UAClC,KAAKvhF,EAAck+E,eAAesD,WAChC,MAAO,UAET,KAAKxhF,EAAck+E,eAAeuD,aAClC,KAAKzhF,EAAck+E,eAAewD,cAClC,KAAK1hF,EAAck+E,eAAeyD,cAClC,KAAK3hF,EAAck+E,eAAe0D,eAClC,KAAK5hF,EAAck+E,eAAe2D,gBAChC,MAAO,eAET,QAEE,OAAOn5D,CACX,CACF,EA/DA,IAAI1oB,EAAgBxf,EAAQ,eAAe,CAiE3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGo6I,IAAI,CAAC,SAASjvK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQugE,WAAah3D,KAAAA,EAErB,IA2S2BwD,EA/RrBuL,EAZFxI,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EA6Q7oB6V,GAlQalf,EAAQugE,YAgSExzD,EA/RK,UAAWuxB,GACvC,IAgBIvE,EAEAQ,EAQEH,EACAhmB,EA4CFwN,EAvEA/X,EAA6B,EAAnB5H,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAG9E2sK,EAAiBjjK,OAAOC,WAAW+W,SAASnY,KAAK,SAAUzK,GAC7D,OAAOu+B,IAAQv+B,EAAEu+B,GACnB,CAAC,EAGD,OAAKswI,IAUDr0I,GAFAR,EAAS,CAAC80I,EAASvwI,KAAQ,MAAOlJ,EAAK+E,IAAIrf,IAAI,CAAE8L,IAAK,GAAKjb,OAAOC,WAAW8V,KAAKyzB,QAAUxpC,OAAOC,WAAW8V,KAAKqY,OAAS,IAAMpuB,OAAOC,WAAW0N,GAAK,IAAMs1J,EAAehoK,KAAO,IAAMgoK,EAAet1J,GAAK,OAASs1J,EAAepzB,QAC3O,CAAC,KACyB3xI,EAAQ0wB,WAAa1xB,OAAOa,OAAOqwB,EAAOC,UAAU,EAAEC,KAAK,EAAEzvB,KAAK,SAAUuV,GAEpG,OADYA,EAAMkO,QACDpkB,EAAQ0wB,SAC3B,CAAC,KAKKH,GADAta,EAAQjR,MAAMumB,EAAK+E,IAAIrf,IAAI,CAAE8L,IAAK,IAAMgoJ,EAAehoK,KAAO,iBAAmBgoK,EAAet1J,GAAK,IAAMzP,EAAQ0wB,SAAU,CAAC,GAC/GH,OACfhmB,EAAO0L,EAAM1L,KAEbgmB,KACFL,EAAOG,WAAa9lB,EACpBmmB,EAAUu0I,WAAa16J,EACvBmmB,EAAUn1B,QAAU,CAAA,GAIxBypK,EAASvwI,GAAOz1B,OAAO+tC,OAAOi4H,EAASvwI,IAAQ,GAAIz1B,OAAO+tC,OAAOg4H,EAAgB70I,CAAM,CAAC,EACxF80I,EAASvwI,GAAOz1B,OAAO+tC,OAAOi4H,EAASvwI,GAAM,CAC3Ci1H,OAAQ,GAAK5nJ,OAAOC,WAAW8V,KAAKyzB,QAAUxpC,OAAOC,WAAW8V,KAAK03F,IAAM,IAAMztG,OAAOC,WAAW0N,GAAK,IAAMu1J,EAASvwI,GAAK13B,KAAO,IAAMioK,EAASvwI,GAAKhlB,GAAK,IAE5Jk6D,WAAYq7F,EAASvwI,GAAKk1C,WAAa,IAAI1pE,IAAI,SAAU5K,GAUvD,MATI,QAAUA,EAAE0H,MACdioK,EAASvwI,GAAKtqB,OAAOxJ,KAAK,SAAU6rB,GAClC,GAAIA,EAAE/c,KAAOpa,EAAE4kD,iBAGb,OAFA5kD,EAAEmE,KAAOgzB,EAAEhzB,KACXnE,EAAEgxI,SAAW75G,EAAE65G,SACR,CAAA,CAEX,CAAC,EAEIhxI,CACT,CAAC,EAEDs+B,YAAaqxI,EAASvwI,GAAKywI,iBAAmBF,EAASvwI,GAAK0wI,cAAgB,SAC5E72I,WAAY02I,EAASvwI,GAAKnG,YAAc,MACxC82I,uBAAwBJ,EAASvwI,GAAK2wI,wBAA0B,gBAChEhvI,uBAAwB4uI,EAASvwI,GAAK2B,wBAA0B,YAChE4sG,sBAAuBgiC,EAASvwI,GAAKuuG,uBAAyB3tH,EAAci+E,sBAC5El1D,IAAKinI,EAAeL,EAASvwI,GAAK2J,GAAG,EACrCnS,WAAY+4I,EAASvwI,GAAKxI,WAEzBhhB,OAAO,SAAUuhB,GAChB,MAAO,SAAWA,EAAE6F,YAAavvB,EAAcvH,QAAQo2B,KAAK09E,WAAW4wB,IACzE,CAAC,EAAEhgI,IAAI,SAAUusB,GACf,OAAOxtB,OAAO+tC,OAAOvgB,EAAG,CACtBznB,QAASynB,EAAE/c,IAAM+c,EAAE/c,MAAQ,OAAS3M,EAAcvH,QAAQ02B,YAAcnvB,EAAcvH,QAAQ02B,YAAc+yI,EAASvwI,GAAKL,gBAAkB,CAAC,CAAC5H,EAAE0I,MAChJu0C,UAAW,CAAA,CACb,CAAC,CACH,CAAC,CACH,CAAC,EAqFc,SAAS54C,EAAS/C,GAsB/B,IArBA,IAqBSp4B,EAAI,EAAGA,EAAIo4B,EAAMz3B,OAAQX,CAAC,IArBRA,IACzB,IAAIq7B,EAAOjD,EAAMp4B,GAEbgK,KAAAA,IAAcqxB,EAAKthB,IACrBsI,EAAQjY,MAAMqK,OAAOe,QAAQ,SAAUshB,GACrC,GAAIuE,EAAKthB,KAAO+c,EAAE/c,GAKhB,OAJAshB,EAAKv3B,KAAOgzB,EAAEhzB,KACdgzB,EAAEqwG,OAAS9kH,EAAQjY,MAAM4pJ,OACzBl9H,EAAEzU,QAAUA,EACZgZ,EAAKr7B,GAAKsJ,OAAO+tC,OAAOvgB,EAAGuE,CAAI,EACxB,CAAA,CAEX,CAAC,EAEC54B,MAAMkF,QAAQ0zB,EAAKjD,KAAK,IAE1BiD,EAAKv4B,MAAQu4B,EAAKv3B,KAClBq3B,EAASE,EAAKjD,KAAK,EAEvB,GAGQp4B,CAAC,CAEX,GA5GIqiB,EAAU/Y,OAAO+tC,OAAO,IAAIk6C,EAAY1rF,QAAW,CACrD2vF,QAAS,CACPl5D,aAAc,SAAsBviB,GAClC,IAAI5N,EAAQ5K,KAEZ6K,OAAOC,WAAWkqB,WAAW/gB,QAAQ,SAAUshB,GAC7C3qB,EAAMyjK,aAAal7J,aAAaoiB,EAAE/c,EAAE,EAAEq2B,WAAWr2B,IAAO+c,EAAE/c,EAAE,EAC5D+c,EAAEznB,QAAU0K,IAAO+c,EAAE/c,EACvB,CAAC,CACH,CACF,EACA3P,MAAOklK,EAASvwI,GAEhB5c,KAAM,CACJsY,WAAY,IAAM60I,EAASvwI,GAAK13B,KAAO,iBAAmBioK,EAASvwI,GAAKhlB,GAAK,IAC7E81J,YAAaP,EAASvwI,GAAKi7E,UAAY,QAAUs1D,EAASvwI,GAAK13B,KAAO,IAAMioK,EAASvwI,GAAKhlB,GAAK,IAC/F4zB,aAAc2hI,EAASvwI,GAAKi7E,UAAY,gBAAkBs1D,EAASvwI,GAAK13B,KAAO,IAAMioK,EAASvwI,GAAKhlB,GAAK,GAC1G,EACAk8G,YAAa5hF,EAAcxuC,QAAQ0V,IAAIo0J,EAAeL,EAASvwI,GAAK2J,GAAG,CAAC,EACxEknI,aAAc,IAAIzmE,EAAa+C,YAC/B8kD,uBAAwB,WACtB,OAAO3uI,EAAQjY,MAAMkjI,qBACvB,EACAxjD,aAAc,WACZ,OAAOznE,EAAQjY,MAAM6pE,SACvB,EACA/vB,gBAAiB,SAAyBnqC,GACxC,OAAOsI,EAAQjY,MAAM6pE,UAAUhpE,KAAK,SAAUtL,GAC5C,OAAOoa,IAAOpa,EAAEoa,EAClB,CAAC,CACH,EACArF,aAAc,SAAsBqF,GAClC,OAAOsI,EAAQutJ,aAAal7J,aAAaqF,CAAE,CAC7C,EACAiyD,UAAW,WACT,MAAO,GAAGnqE,OAAO2yC,EAAmBnyB,EAAQjY,MAAMqK,MAAM,EAAG+/B,EAAmBnyB,EAAQjY,MAAMmsB,UAAU,CAAC,CACzG,EACA7T,SAAU,WACR,OAAOL,EAAQjY,KACjB,EACAm/D,SAAU,WACR,OAAOlnD,EAAQjY,MAAMk/D,OAAS,EAChC,EACAxhD,MAAO,WACL,OAAOzF,EAAQjY,MAAM2P,EACvB,EACA5S,QAAS,WACP,OAAOkb,EAAQjY,MAAM/C,IACvB,EACAsnG,OAAQ,WACN,OAAOtsF,EAAQjY,MAAM20B,GACvB,EACA4M,QAAS,WACP,OAAOtpB,EAAQjY,MAAMtG,IACvB,EACA0N,OAAQ,WACN,OAAO6Q,EAAQ4zG,YAAYn9D,QAAQ,CACrC,EACAD,cAAe,WACb,OAAOx2C,EAAQ4zG,WACjB,EACAt6F,eAAgB,WACd,OAAOtZ,EAAQutJ,YACjB,EACA38F,OAAQ,SAAgB5rE,GACtB,OAAOgb,EAAQF,KAAK9a,EACtB,EAMAyoK,gBAAiB,WACf,IACItmK,GAD2B,EAAnB9G,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAChE8G,IAEhB,OAAOA,EAAM6Y,EAAQjY,MAAMqK,OAAOc,OAAO,SAAUuhB,GACjD,OAAO9sB,KAAAA,IAAc8sB,EAAEttB,EACzB,CAAC,EAAI6Y,EAAQjY,MAAMqK,MACrB,CACF,CAAC,GA8BgBrK,MAAMuwB,UAAU,EAGjCtY,EAAQutJ,aAAaG,WAAW,CAC9Bh2J,GAAIsI,EAAQjY,MAAM20B,IAClBu9B,WAAYj6C,EAAQ4zG,YACpBl1D,OAAQ1+C,EAAQjY,MAAM22D,OACtBG,WAAY7+C,EAAQjY,MAAM82D,WAC1BimE,OAAQ9kH,EAAQjY,MAAM4pJ,OACtB92H,QAAS9wB,OAAOC,WAAWksF,kBAAoBl2E,EAAQjY,MAAM20B,GAC/D,CAAC,EAKD1c,EAAQutJ,aAAaz2B,UAAU92H,EAAQ2pD,UAAU,EAAEkgB,QAAQ,SAAUp1D,GACnE,IAAI0D,EAASlxB,OAAO+tC,OAAOvgB,EAAG,CAC5B4R,IAAKinI,EAAe74I,EAAE4R,GAAG,EACzB4zB,WAAYxlC,EAAE4R,IAAM2L,EAAcxuC,QAAQ0V,IAAIub,EAAE4R,GAAG,EAAIrmB,EAAQ4zG,YAC/Dr9F,WAAYvW,EAAQjY,MAAMwuB,WAC1By8G,kBAAmBhzH,EAAQjY,MAAMirI,iBACnC,CAAC,EAGGnD,EAAY13G,EAAOmC,WAAa,KAAOnC,EAAO7B,QAAU6B,EAAO7B,OAAOtxB,MAG1E,MAAI,eAAiBmzB,EAAO8N,cAAgB,CAAC,eAAgB,gBAAiB,aAAc,kBAAmB,WAAY,qBAAsB,cAAe,WAAY,aAAat9B,SAASknI,CAAS,EAClM,IAAI9oC,EAAY+C,WAAW3xE,EAAQ,CAAEnY,QAASA,CAAQ,CAAC,EAI5D,CAAC,UAAW,oBAAoBrX,SAASknI,CAAS,GAAK,CAAC,QAAS,YAAYlnI,SAASwvB,EAAOmC,UAAU,EAClG,IAAI0sE,EAAa+C,YAAY5xE,EAAQ,CAAEnY,QAASA,CAAQ,CAAC,EAI9DmY,EAAO8N,cAAgB,eAAiB9N,EAAO8N,cAAgB,CAAC,UAAW,sBAAuB,eAAgB,gBAAiB,aAAc,kBAAmB,WAAY,qBAAsB,cAAe,WAAY,aAAat9B,SAASknI,CAAS,GAKhQ,CAAC13G,EAAO8N,cAAgB,CAAC,UAAW,sBAAuB,YAAa,WAAY,WAAY,YAAa,kBAAmB,mBAAoB,YAAa,wBAAwBt9B,SAASknI,CAAS,EACtM,IAAI89B,EAAYztC,WAAW/nG,EAAQ,CAAEnY,QAASA,CAAQ,CAAC,EAI5D,CAAC,MAAO,OAAQ,MAAO,kBAAmB,OAAQ,OAAOrX,SAASwvB,EAAOmC,UAAU,EAC9E,IAAIqzI,EAAYztC,WAAW/nG,EAAQ,CAAEnY,QAASA,EAASunH,YAAapvG,EAAOmC,UAAW,CAAC,EAIzF,EACT,CAAC,CAAC,EAGFta,EAAQutJ,aAAaK,iBAAiB5tJ,EAAQjY,MAAMtG,KAAM,CACxD62B,WAAYtY,EAAQjY,MAAMuwB,WAC1BkB,SAAU,kBAAoBxZ,EAAQjY,MAAMslK,sBAC9C,CAAC,GAGArtJ,EAAQjY,MAAMiO,QAAU,IAAI7C,QAAQ,SAAU2rB,GAC7C,OAAOA,EAAEi2D,gBAAkB,KAC7B,CAAC,EAGM/0E,GA9OE3U,QAAQE,OAAO,uBAAuB,CA+OjD,EA1PImL,EA+RkC,WAAc,IAAItL,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EAnC7b,SAAoBqwB,GACzB,OAAO5e,EAAMlW,MAAMtB,KAAMmB,SAAS,CACpC,GAGkBvC,EAAQ,eAAe,GAIvCoxF,EAAclsF,EAFDlF,EAAQ,YAAY,CAEc,EAI/CiN,EAAgB/H,EAFDlF,EAAQ,mBAAmB,CAES,EAInDk0C,EAAgBhvC,EAFDlF,EAAQ,mBAAmB,CAES,EAEnD0pJ,EAAiB1pJ,EAAQ,qBAAqB,EAE9C01B,EAAO11B,EAAQ,WAAW,EAE1BipG,EAAcjpG,EAAQ,uBAAuB,EAE7CkpG,EAAelpG,EAAQ,wBAAwB,EAE/C6vK,EAAc7vK,EAAQ,uBAAuB,EAE7CgpG,EAAehpG,EAAQ,wBAAwB,EAEnD,SAASkF,EAAuBM,GAAO,OAAOA,GAAOA,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,CAAG,CAE9F,SAAS6uC,EAAmBhkC,GAAO,GAAI/N,MAAMkF,QAAQ6I,CAAG,EAAG,CAAE,IAAK,IAAIxQ,EAAI,EAAGyoB,EAAOhmB,MAAM+N,EAAI7P,MAAM,EAAGX,EAAIwQ,EAAI7P,OAAQX,CAAC,GAAMyoB,EAAKzoB,GAAKwQ,EAAIxQ,GAAM,OAAOyoB,CAAM,CAAS,OAAOhmB,MAAMimB,KAAKlY,CAAG,CAAK,CAIlMlH,OAAO8f,QAAQ,CACb+iF,WAAY/C,EAAY+C,WACxBC,YAAa/C,EAAa+C,YAC1Bm2B,WAAYytC,EAAYztC,UAC1B,CAAC,EAAE/sH,QAAQ,SAAUlN,GACfkQ,EAAQjI,EAAejI,EAAM,CAAC,EAC1BkQ,EAAM,EAIhB,CAAC,EAGD,IAAI82J,EAAW,GAOf,SAASK,EAAejnI,GAGtB,MAAI,CAAC1+B,KAAAA,EAAW,MAAMgB,SAAS09B,CAAG,EACzBA,EAILA,GAAOA,EAAIz2B,MACby2B,EAAIz2B,MAAO,EAAI43I,EAAeC,eAAephH,EAAIz2B,IAAI,EAC9Cy2B,GAGF,CACLz2B,MAAM,EAAI43I,EAAeC,eAAephH,CAAG,EAC3Co+H,MAAO,GACPG,aAAc,CAAA,EACdC,WAAY,CAAA,CACd,CACF,CAEA,EAAE,CAAClyI,gBAAgB,IAAImhE,aAAa,IAAIz3B,wBAAwB,IAAI2wC,yBAAyB,IAAIC,wBAAwB,IAAIC,yBAAyB,IAAIv/F,oBAAoB,IAAI8mC,oBAAoB,IAAI5W,YAAY,IAAIsvH,sBAAsB,GAAG,GAAG0gB,IAAI,CAAC,SAAS/vK,EAAQU,EAAOJ,GACnR6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQqrG,sBAER,SAA+B/sE,GAC7B,OAAO3yB,OAAOC,WAAW+W,SAASnY,KAAK,SAAUzK,GAC/C,OAAOu+B,IAAQv+B,EAAEu+B,GACnB,CAAC,CACH,CAEA,EAAE,IAAIoxI,IAAI,CAAC,SAAShwK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQmrG,cAMR,SAAuB7sE,GACrB,IAAI1c,EAAUjW,OAAOC,WAAW+W,SAASnY,KAAK,SAAUzK,GACtD,OAAOu+B,IAAQv+B,EAAEu+B,GACnB,CAAC,EACD,IACE,MAAO,GAAK,IAAIzX,IAAIlb,OAAOC,WAAW8V,KAAKyzB,OAAO,EAAIvzB,EAAQgF,GAIhE,CAHE,MAAOznB,GAEP,MAAO,GAAKmjB,SAASizB,OAAS5pC,OAAOC,WAAW8V,KAAKyzB,QAAUvzB,EAAQgF,GACzE,CACF,CAEA,EAAE,IAAI+oJ,IAAI,CAAC,SAASjwK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC1C6G,MAAO,CAAA,CACV,CAAC,EACD7G,EAAQquE,uBAIR,SAAgCzO,GAC7B,IAAIkO,EAA2B,EAAnB7rE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAGhF,OAAO,IAAe,GAAT29D,EAAe,EAAMA,EAAQA,GAAS1gD,EAAc69E,gBAAgBjvB,GAAS5uD,EAAc89E,cAC3G,EAPA,IAAI99E,EAAgBxf,EAAQ,eAAe,CAS3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGq7I,IAAI,CAAC,SAASlwK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQguE,uBAIR,SAAgCb,GAC9B,IAAIW,EAA2B,EAAnB7rE,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAEhF,OAAO4oB,KAAKC,MAAMqiD,EAAajuD,EAAc69E,gBAAgBjvB,GAAS5uD,EAAc89E,aAAa,CACnG,EANA,IAAI99E,EAAgBxf,EAAQ,eAAe,CAQ3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGs7I,IAAI,CAAC,SAASnwK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQsgB,eAGR,WACE,OAAQ29G,GAAQ,GAAK,IAAM/mF,KAAKC,IAAI,CACtC,EAJA,IAAI8mF,EAAO,CAMX,EAAE,IAAI6xC,IAAI,CAAC,SAASpwK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ2kI,kBAMR,SAA2BzvH,GACzB,IAAIgkB,EAAY,KAAA,EACZC,EAAa,KAAA,EAgBjB,OAfCjkB,EAAMg5B,cAAc,GAAK,IAAIn5B,QAAQ,SAAUlN,GAC9C,IAAIyC,EAAUzC,EAAKyC,QAEfkkC,EAAU3mC,EAAK2mC,QAGflkC,IAJWzC,EAAK6mC,WAOhBpkC,EACF4uB,GAAa3vB,KAAAA,IAAc2vB,EAAYhkB,EAAMutH,gBAAgB,EAAI,IAAMvpG,EAAY,KAAOsV,EAE1FrV,GAAc5vB,KAAAA,IAAc4vB,EAAajkB,EAAMutH,gBAAgB,EAAI,IAAMtpG,EAAa,KAAOqV,EAEjG,CAAC,EACM,CACLtV,UAAWA,EACXC,WAAYA,CACd,CACF,CAEA,EAAE,IAAI42I,IAAI,CAAC,SAASrwK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQokJ,QAMR,SAAiBxiJ,EAAOouK,GACtB,OAAOpuK,EAAMw0B,OAAO,SAAUgE,EAAQ/Z,GACpC,IAAItX,EAAMinK,EAAM3vJ,CAAI,EAKpB,OAJK+Z,EAAOrxB,KACVqxB,EAAOrxB,GAAO,IAEhBqxB,EAAOrxB,GAAK7G,KAAKme,CAAI,EACd+Z,CACT,EAAG,EAAE,CACP,CAEA,EAAE,IAAI61I,IAAI,CAAC,SAASvwK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQwpG,QAIR,SAAiB0mE,EAAWC,GAC1B,SAASC,KACTA,EAASjuK,UAAYguK,EAAWhuK,UAChC+tK,EAAU/H,YAAcgI,EAAWhuK,UACnC+tK,EAAU/tK,UAAY,IAAIiuK,EAC1BF,EAAU/tK,UAAUoE,YAAc2pK,CACpC,CAEA,EAAE,IAAIG,IAAI,CAAC,SAAS3wK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQgqG,WAWR,SAAoBzoC,EAAU+uG,GAC5B,IAAIC,EAAa,IAAIC,KAAKC,GAAGC,UAC7B,OAAOH,EAAWI,KAAKpvG,CAAQ,EAAEyoC,WAAWumE,EAAWI,KAAKL,CAAe,CAAC,CAC9E,CAEA,EAAE,IAAIM,IAAI,CAAC,SAASlxK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQyqG,aAIR,SAAsB7iE,GACpB,MAAO,CAAC1oB,EAAck+E,eAAeqB,OAAQv/E,EAAck+E,eAAesB,OAAQx/E,EAAck+E,eAAeuB,QAASz/E,EAAck+E,eAAewB,SAAU1/E,EAAck+E,eAAe0B,YAAa5/E,EAAck+E,eAAe2B,YAAa7/E,EAAck+E,eAAe4B,aAAc9/E,EAAck+E,eAAe6B,cAAe//E,EAAck+E,eAAe+B,YAAajgF,EAAck+E,eAAegC,YAAalgF,EAAck+E,eAAeiC,aAAcngF,EAAck+E,eAAekC,cAAepgF,EAAck+E,eAAeyC,iBAAkB3gF,EAAck+E,eAAe0C,iBAAkB5gF,EAAck+E,eAAe2C,kBAAmB7gF,EAAck+E,eAAe4C,mBAAoB9gF,EAAck+E,eAAeoC,MAAOtgF,EAAck+E,eAAeqC,MAAOvgF,EAAck+E,eAAesC,OAAQxgF,EAAck+E,eAAeuC,QAASzgF,EAAck+E,eAAe8C,WAAYhhF,EAAck+E,eAAe+C,WAAYjhF,EAAck+E,eAAegD,YAAalhF,EAAck+E,eAAeiD,aAAcnhF,EAAck+E,eAAemD,SAAUrhF,EAAck+E,eAAeoD,SAAUthF,EAAck+E,eAAeqD,UAAWvhF,EAAck+E,eAAesD,WAAYxhF,EAAck+E,eAAewD,cAAe1hF,EAAck+E,eAAeyD,cAAe3hF,EAAck+E,eAAe0D,eAAgB5hF,EAAck+E,eAAe2D,iBAAiBv2F,KAAK,SAAUqmK,GAC70C,OAAOA,IAAWjpI,CACpB,CAAC,CACH,EANA,IAAI1oB,EAAgBxf,EAAQ,eAAe,CAQ3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGu8I,IAAI,CAAC,SAASpxK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQuqG,mBAQR,SAA4B3iE,GAC1B,MAAO,CAAC1oB,EAAck+E,eAAe8B,WAAYhgF,EAAck+E,eAAe+B,YAAajgF,EAAck+E,eAAegC,YAAalgF,EAAck+E,eAAeiC,aAAcngF,EAAck+E,eAAekC,cAAepgF,EAAck+E,eAAewC,gBAAiB1gF,EAAck+E,eAAeyC,iBAAkB3gF,EAAck+E,eAAe0C,iBAAkB5gF,EAAck+E,eAAe2C,kBAAmB7gF,EAAck+E,eAAe4C,mBAAoB9gF,EAAck+E,eAAemC,KAAMrgF,EAAck+E,eAAeoC,MAAOtgF,EAAck+E,eAAeqC,MAAOvgF,EAAck+E,eAAesC,OAAQxgF,EAAck+E,eAAeuC,QAASzgF,EAAck+E,eAAe6C,UAAW/gF,EAAck+E,eAAe8C,WAAYhhF,EAAck+E,eAAe+C,WAAYjhF,EAAck+E,eAAegD,YAAalhF,EAAck+E,eAAeiD,cAAc91F,SAASq9B,CAAY,CACr2B,EARA,IAAI1oB,EAAgBxf,EAAQ,eAAe,CAU3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGw8I,IAAI,CAAC,SAASrxK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQsqG,gBAOR,SAAyB1iE,GACvB,MAAO,CAAC1oB,EAAck+E,eAAeyB,WAAY3/E,EAAck+E,eAAe0B,YAAa5/E,EAAck+E,eAAe4B,aAAc9/E,EAAck+E,eAAe2B,YAAa7/E,EAAck+E,eAAe6B,cAAe//E,EAAck+E,eAAewC,gBAAiB1gF,EAAck+E,eAAeyC,iBAAkB3gF,EAAck+E,eAAe0C,iBAAkB5gF,EAAck+E,eAAe2C,kBAAmB7gF,EAAck+E,eAAe4C,mBAAoB9gF,EAAck+E,eAAe6C,UAAW/gF,EAAck+E,eAAe8C,WAAYhhF,EAAck+E,eAAe+C,WAAYjhF,EAAck+E,eAAegD,YAAalhF,EAAck+E,eAAeiD,aAAcnhF,EAAck+E,eAAeuD,aAAczhF,EAAck+E,eAAewD,cAAe1hF,EAAck+E,eAAeyD,cAAe3hF,EAAck+E,eAAe0D,eAAgB5hF,EAAck+E,eAAe2D,iBAAiBx2F,SAASq9B,CAAY,CAC74B,EAPA,IAAI1oB,EAAgBxf,EAAQ,eAAe,CAS3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGy8I,IAAI,CAAC,SAAStxK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQkkE,oBAQR,SAA6Bt8B,GAC3B,MAAO,CAAC1oB,EAAck+E,eAAeoB,MAAOt/E,EAAck+E,eAAeqB,OAAQv/E,EAAck+E,eAAesB,OAAQx/E,EAAck+E,eAAeuB,QAASz/E,EAAck+E,eAAewB,SAAU1/E,EAAck+E,eAAeyB,WAAY3/E,EAAck+E,eAAe0B,YAAa5/E,EAAck+E,eAAe2B,YAAa7/E,EAAck+E,eAAe4B,aAAc9/E,EAAck+E,eAAe6B,eAAe10F,SAASq9B,CAAY,CAC9a,EARA,IAAI1oB,EAAgBxf,EAAQ,eAAe,CAU3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAG08I,IAAI,CAAC,SAASvxK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQwqG,sBAQR,SAA+B5iE,GAC7B,MAAO,CAAC1oB,EAAck+E,eAAekD,QAASphF,EAAck+E,eAAemD,SAAUrhF,EAAck+E,eAAeoD,SAAUthF,EAAck+E,eAAeqD,UAAWvhF,EAAck+E,eAAesD,WAAYxhF,EAAck+E,eAAeuD,aAAczhF,EAAck+E,eAAewD,cAAe1hF,EAAck+E,eAAeyD,cAAe3hF,EAAck+E,eAAe0D,eAAgB5hF,EAAck+E,eAAe2D,iBAAiBx2F,SAASq9B,CAAY,CAClc,EARA,IAAI1oB,EAAgBxf,EAAQ,eAAe,CAU3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAG28I,IAAI,CAAC,SAASxxK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ6B,KACR,YAEA,EAAE,IAAIsvK,IAAI,CAAC,SAASzxK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQqpJ,cAMR,SAAuB73I,GACrB,GAAI,UAAa,OAAOA,EACtB,MAAO,QAAUA,EAGnB,GAAI,MADJA,EAAOA,EAAKqnB,QAAQ,aAAc,EAAE,GAElC,MAAO,QAAUkL,SAASvyB,CAAI,CAElC,CAEA,EAAE,IAAI4/J,IAAI,CAAC,SAAS1xK,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQu1I,gBAUR,WACE,IAAI87B,EAAqC,EAAnBpvK,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GACtFqvK,EAAoBrvK,UAAU,GAGlC,GAAIovK,GAA4C,EAAzBA,EAAgBnxK,OACrC,OAAOmxK,EAAgBv8J,OAAO,SAAU2rB,GACtC,MAA2D,CAAC,EAArD53B,OAAO2yB,KAAK81I,CAAiB,EAAEl+H,QAAQ3S,EAAKp9B,IAAI,CACzD,CAAC,EAEH,OAAOwF,OAAO2yB,KAAK81I,CAAiB,EAAEx8J,OAAO,SAAUzR,GACrD,MAAO,CAAC,IAAM6b,EAAcm+E,gBAAgBjqD,QAAQ/vC,CAAI,CAC1D,CAAC,EAAEyG,IAAI,SAAUynK,GACf,MAAO,CAAEluK,KAAMkuK,EAAuBvoJ,MAAOuoJ,CAAsB,CACrE,CAAC,CACH,EAvBA,IAAIryJ,EAAgBxf,EAAQ,eAAe,CAyB3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAGi9I,IAAI,CAAC,SAAS9xK,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQg8E,eAAiBzyE,KAAAA,EAEzB,IAAInD,EAA4B,YAAlB,OAAOC,QAAoD,UAA3B,OAAOA,OAAOC,SAAwB,SAAUpB,GAAO,OAAO,OAAOA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,YAAlB,OAAOmB,QAAyBnB,EAAIqB,cAAgBF,QAAUnB,IAAQmB,OAAOlE,UAAY,SAAW,OAAO+C,CAAK,EAEvQ4K,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAS7oB6V,EAAgBxf,EAAQ,eAAe,EAEvC8Q,EAAO9Q,EAAQ,cAAc,EAE7B+Q,GAc4BvL,EAdGsL,IAckBtL,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAZvFq7I,EAAW7gJ,EAAQ,eAAe,EAElC2nG,EAAgB3nG,EAAQ,oBAAoB,EAE5C4nG,EAAmC5nG,EAAQ,uCAAuC,EAElFsrK,EAAsBtrK,EAAQ,0BAA0B,EAExD+xK,EAAmB/xK,EAAQ,uBAAuB,EAElD2jE,EAAW3jE,EAAQ,oBAAoB,EAI3C,SAAS0X,EAAgBlS,EAAK6D,EAAKlC,GAAakC,KAAO7D,EAAO2D,OAAOC,eAAe5D,EAAK6D,EAAK,CAAElC,MAAOA,EAAO6B,WAAY,CAAA,EAAMC,aAAc,CAAA,EAAMC,SAAU,CAAA,CAAK,CAAC,EAAY1D,EAAI6D,GAAOlC,CAAqB,CAEhN,IACIxH,EADWK,EAAQ,UAAU,EAChBL,EAmBbqyK,GAjBJ7oK,OAAO8f,QAAQ,CACbq2D,QAAS9/D,EAAc8/D,QACvBktB,IAAKz7F,EAAMrL,QACXk8D,QAAS+B,EAAS/B,QAClBjiE,EAAGA,EACHorG,aAAcpD,EAAcoD,aAC5BL,gCAAiC9C,EAAiC8C,gCAClE6gE,mBAAoBD,EAAoBC,mBACxC0G,gBAAiBF,EAAiBE,eACpC,CAAC,EAAE58J,QAAQ,SAAUlN,GACfkQ,EAAQjI,EAAejI,EAAM,CAAC,EAC1BkQ,EAAM,EAIhB,CAAC,EAEmB,+BAKhBikE,EAAiBh8E,EAAQg8E,eAAiB,CAG5ClhE,IAAK,SAAalU,GAChB,OAAQA,GAEN,IAAK,YACH,OAAO,WACL,IACI2G,GAD0B,EAAnBtL,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC9DsL,MAEjB,MAAO,CACLsa,MAAO,WACL,IACI+pJ,GAD2B,EAAnB3vK,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACzD2E,KACnBA,EAAsB2C,KAAAA,IAAfqoK,EAA2B,eAAiBA,EAGvD,MAAI,iBAAmBhrK,GAAQ2G,GAASA,EAAMsvG,cAAgBtvG,EAAMsvG,aAAatvG,MAAMqO,QAC9ErO,EAAMsvG,aAAatvG,MAAMqO,QAI9B,iBAAmBhV,GAAQ2G,GAASA,EAAMu9F,OACrC+mE,EAAsBtkK,EAAMu9F,MAAM,EAIvC,WAAalkG,GAAQ,UAAa,OAAO2G,EACpCA,EAIL,WAAa3G,EACRirK,EAAsBtkK,CAAK,EAI7BlO,EAAE,oBAAoB,CAC/B,CACF,CACF,EAEF,IAAK,iBACH,OAAO,WAGL,QAF8B,EAAnB4C,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAElEuT,UAAY,IAAI1L,IAAI,SAAUtK,GACzC,IAAImV,EAAU,IAAI0uD,EAAS/B,QAG3B,OAFA3sD,EAAQwpH,cAAc3+H,EAAE6Z,UAAU,EAClC1E,EAAQ+sD,MAAMliE,EAAE8Z,EAAE,EACX3E,CACT,CAAC,CACH,EAEF,IAAK,iBACH,OAAO,WACL,IAAIoL,EAA2B,EAAnB9d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EmS,EAAO2L,EAAM3L,KACbc,EAAQ6K,EAAM7K,MAElB,IACE,OAAO,IAAI5C,GAAGimB,OAAOg0I,kBAAkB,CAAEv4J,OAAQkB,EAAM48J,sBAAsB,CAAE,CAAC,EAAEtmC,aAElF,OAASp3H,EAAKutH,OAAO,EAAG,CAAC,EAAIvtH,EAAKsP,MAAM,QAAQ,EAAE5O,OAAO,SAAUi9J,GACjE,MAAQ,4BAA4B9/F,KAAK8/F,CAAI,GAAK,sBAAsB9/F,KAAK8/F,CAAI,CAEnF,CAAC,EAAEjoK,IAAI,SAAUioK,GACf,OAAOA,EAAKpwC,OAAOowC,EAAK3+H,QAAQ,OAAO,CAAC,CAC1C,CAAC,EAAEiB,IAAI,EAAIjgC,CAAI,CAIjB,CAHE,MAAOjV,GAEP,MAAO,EACT,CACF,EAEF,IAAK,qBACL,IAAK,kBACH,OAAO,SAAUiV,EAAMvK,GACrB,IACE,OAAO,IAAIyI,GAAGimB,OAAO8P,QAAQ,CAC3B2pI,aAAc,WACdtmC,eAAgB7hI,EAAQo+B,IACxBM,kBAAmB1+B,EAAQwvD,QAAUxvD,EAAQo+B,GAC/C,CAAC,EAAEujG,aAAa,UAAa,OAAOp3H,EAAOwT,KAAKC,MAAMzT,CAAI,EAAIA,CAAI,CAIpE,CAHE,MAAOjV,GAEP,MAAO,EACT,CACF,EAEF,IAAK,mBACH,OAAO,WACL,IAAI2gB,EAA2B,EAAnB7d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EqT,EAAWwK,EAAMxK,SACjBokD,EAAc55C,EAAM45C,YACpBu4G,EAAenyJ,EAAM9L,OACrBA,EAA0BzK,KAAAA,IAAjB0oK,EAA6B,GAAKA,EAC3CC,EAAYpyJ,EAAMue,IAClBA,EAAoB90B,KAAAA,IAAd2oK,GAAiCA,EAEvCC,EAAiBn+J,EAAOlK,IAAI,SAAUoL,GACxC,MAAO,CAAEA,MAAOA,EAAOM,SAAU,EAAG,CACtC,CAAC,EACGopJ,EAAW5qJ,EAAOlK,IAAI,SAAUusB,GAClC,OAAOgI,EAAMhI,EAAEosG,gBAAgB,EAAIpsG,EAAE63G,gBAAgB,CACvD,CAAC,EAyBD,OAvBC54H,EAAW,IAAIhD,GAAGimB,OAAO8P,QAAQ,CAChC2pI,aAAc,WACdI,sBAAuB14G,EAAYxkD,OAASwkD,EAAY5vD,GAC1D,CAAC,EAAE0hI,aAAal2H,CAAQ,EAAI,IAAIR,OAAO,SAAUH,GAC/C,IAAIwrH,EAAYxrH,EAAQ0S,MAAM,EAC1BgrJ,GAAU,EAAIrH,EAAoBC,oBAAoB9qC,CAAS,EAE/D32G,EAAQ22G,GAAakyC,EAAU,EAAIzT,EAASxrH,QAAQ+sF,CAAS,EAEjE,GAAI,CAAC,IAAM32G,EACT,MAAO,CAAA,EAET,IAAIhhB,EAAQmM,EAAQE,cAAc,EAClCF,EAAQoS,IAAI7H,EAAc8/D,QAASqzF,CAAO,EAE1CF,EAAe3oJ,GAAOtU,MAAM06C,UAAU,EAAE96C,OAAO,SAAUtV,GACvD,OAAOA,EAAE+yB,MAAQhpB,KAAAA,IAAcf,EAAMhJ,EAAE6D,OAASkG,KAAAA,IAAcf,EAAMhJ,EAAEwpB,MACxE,CAAC,EAAEjU,QAAQ,SAAUvV,GACnB,OAAOmV,EAAQoS,IAAIvnB,EAAE6D,KAAMmF,EAAMhJ,EAAEwpB,MAAM,CAC3C,CAAC,EAEDmpJ,EAAe3oJ,GAAOhU,SAAStT,KAAKyS,CAAO,CAC7C,CAAC,EACMw9J,CACT,EAEF,IAAK,sBACH,OAAO,WACL,IAAIjnJ,EAA2B,EAAnBjpB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E+R,EAASkX,EAAMlX,OACfsB,EAAW4V,EAAM5V,SAErB,OAAOA,EAAWtB,EAAOlK,IAAI,SAAUoL,GACrC,MAAO,CACLA,MAAOA,EACPM,SAAUwmE,EAAelhE,IAAI,oBAAoB,EAAExF,EAAU,EAAE,CACjE,CACF,CAAC,EAAI,EACP,EAEF,IAAK,aACL,IAAK,YACH,OAAO,WACL,IAAIuK,EAA2B,EAAnB5d,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5E+R,EAAS6L,EAAM7L,OACfsB,EAAWuK,EAAMvK,SAErB,OAAOtB,EAAOlK,IAAI,SAAUoL,GAC1B,MAAO,CACLA,MAAOA,EACPsgE,QAASlgE,CACX,CACF,CAAC,CACH,EAEF,IAAK,WACH,OAAO,SAAU4f,GACf,IAAIlhB,EAASkhB,EAAMlhB,OACfsB,EAAW4f,EAAM5f,SAErB,OAAOtB,EAAOlK,IAAI,SAAUoL,GAC1B,MAAO,CACLA,MAAOA,EACPM,SAAUwmE,EAAelhE,IAAI,gBAAgB,EAAE,CAAE1G,KAAMkB,EAAUJ,MAAOlB,EAAO,EAAG,CAAC,CACrF,CACF,CAAC,CACH,EAEF,IAAK,0BACH,OAAO,WACL,IAwEIiiF,EACAq8E,EAzEAr9I,EAA2B,EAAnBhzB,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC5EqT,EAAW2f,EAAM3f,SACjBokD,EAAczkC,EAAMykC,YACpB1lD,EAASihB,EAAMjhB,OACfu+J,EAAYt9I,EAAMoJ,IAClBA,EAAoB90B,KAAAA,IAAdgpK,GAAiCA,EACvCC,EAAWv9I,EAAM3b,GACjBA,EAAkB/P,KAAAA,IAAbipK,GAAiCA,EAsBtCC,GAdAn9J,GAJFA,EADEA,CAAAA,GAAY,UAAa,OAAOA,GAAcA,aAAoBy3B,OAKlEz3B,GAJS,IAAIo9J,eAAgBC,kBAAkBr9J,CAAQ,IAK9CtB,EAAOoiB,OAAO,SAAUoK,EAAKtrB,EAAO3V,GACzC+Z,GAAM+kB,GAAOnpB,EAAMixH,iBAAiB,EAAIjxH,EAAMmS,MAAM,EAAInS,EAAMg2B,QAAQ,GAAGrS,QAAQ,aAAc,SAAU6H,GAC3G,MAAQ,MAAMuxC,KAAKvxC,CAAC,GAAK,CAACrC,EAAM,IAAM,EAExC,CAAC,EAID,OAHKA,IACH/kB,EAAKA,EAAGuf,QAAQ,UAAW,EAAE,EAAE+tG,WAAW,IAAK,GAAG,GAE7CpmG,EAAI3H,QAAQ,IAAI+wI,OAAO,OAAStwJ,EAAI,GAAG,EAAG,YAAc/Z,CAAC,CAClE,EAAG+V,CAAQ,IAIctT,MAAMimB,KAAK3S,EAASs9J,SAAS,2CAA2C,CAAC,EAAE99J,OAAO,SAAUgE,EAAGvZ,GACxH,OAAO,GAAMA,EAAI,CACnB,CAAC,EAeGszK,GALAv9J,GANFA,EADEm9J,EACSA,EAASr8I,OAAO,SAAUoK,EAAKh2B,GACxC,OAAOg2B,EAAI3H,QAAQ,IAAI+wI,OAAOp/J,EAAK,GAAI,GAAG,EAAG,OAASknK,EAAgBlnK,EAAK,GAAKA,EAAK,EAAE,CACzF,EAAG8K,CAAQ,EAITA,IACSA,EAASujB,QAAQ,IAAI+wI,OAAO78H,OAAO+lI,aAAa,CAAC,EAAG,GAAG,EAAG,GAAG,EAI/D,IAAIC,MACXnM,EAAOiM,EAAKG,aAAa19J,CAAQ,EAGrC,OAAKsxJ,GAQDA,EAAKqM,wBAA0BrM,EAAKqM,uBAAuBC,kBAC7DziK,EAAMrL,QAAQ07B,gBAAgB,CAC5Bl6B,KAAM,UACNirB,YAAa,CAAA,EACbjW,QAAS5H,EAAO,GAAGk3B,QAAQ,EAAI,MAAQ07H,EAAKqM,uBAAuBC,gBACrE,CAAC,EAIEtM,EAAKuM,mBAAsBvM,EAAKuM,kBAAkBC,eAKnDn9E,EAAS,GACTq8E,EAAwB,GAAGlxK,OAAOwlK,EAAKuM,kBAAkBC,aAAa,EAE1Ep/J,EAAOe,QAAQ,SAAUG,EAAO3V,GAC9B,IAqDMqU,EArDFvQ,EAAOiW,EAAKpE,EAAMmS,MAAM,EAAI,QAAU9nB,EAyCtC8zK,GAvCJzM,EAAKuM,kBAAkBC,cAAgBd,EAAsBx9J,OAAO,SAAUtV,GAC5E,OAAOA,EAAE6D,EACX,CAAC,EAAEyG,IAAI,SAAUtK,GACf,IAaM8zK,EAbFC,EAAK/zK,EAAE6D,GACPo1B,EAASj5B,EAAEg0K,SAWf,MATA,GAAGpyK,OAAOmyK,CAAE,EAAEx+J,QAAQ,SAAU0+J,GAE9BA,EAAIC,KAAOD,EAAIC,MAAQD,EAAIC,KAAKhwJ,MAAM,GAAG,EAAE,GAC3C+vJ,EAAIv0J,EAAc8/D,SAAW,CAC3Bw0F,SAAU/6I,EACVk7I,OAAQF,EAAIC,IACd,CACF,CAAC,EAEG1xK,MAAMkF,QAAQqsK,CAAE,GACdD,GAAU,EAAI/yB,EAAS6D,SAASmvB,EAAI,SAAU/zK,GAChD,OAAOqJ,OAAO2yB,KAAKh8B,CAAC,CACtB,CAAC,EAIoC,EAA9BqJ,OAAO2yB,KAAK83I,CAAO,EAAEpzK,OAAa2I,OAAO2yB,KAAK83I,CAAO,EAAExpK,IAAI,SAAUf,EAAKygB,GAC/E,OAAO8pJ,EAAQvqK,GAAKe,IAAI,SAAU6K,EAASi/J,GACzC,IAEO5+I,EAAS,GAAhB,OAAoB5d,EAAgB4d,EAAQ,QAAUxL,EAAQ,IAAMoqJ,EAAWj/J,CAAO,EAAGyC,EAAgB4d,EAAQ,WAAYyD,CAAM,EAAGzD,CACxI,CAAC,CACH,CAAC,EAAEiF,KAAK,EACRs5I,EAAGzpK,IAAI,SAAUtK,GACf,IAEOy2C,EAAS,GAAhB,OAAoB7+B,EAAgB6+B,EAAQ5yC,EAAM7D,CAAC,EAAG4X,EAAgB6+B,EAAQ,WAAYxd,CAAM,EAAGwd,CACrG,CAAC,GAEMz2C,CAEX,CAAC,EAAEy6B,KAAK,EAEE44I,EAAKgB,aAAajN,CAAI,GAC5BkN,GAAa,IAAIxhK,GAAGimB,OAAOg0I,mBAAoB/gC,aAAa6nC,CAAG,EAG/DU,EAAqC,EAApBD,EAAW5zK,QAC7B,CAAC,CAAC4zK,EAAW,GAAG1rI,YAAY,GAC5BsxB,EAAYxkD,OACZwkD,EAAYxkD,MAAMmjD,QAAQ,IAAMqB,EAAY5vD,IAAIuuD,QAAQ,EAInC,EAApBy7G,EAAW5zK,QAAcuyK,IACvB7+J,EAAS/K,OAAO2yB,KAAKs4I,EAAW,GAAGj/J,cAAc,CAAC,EAAEC,OAAO,SAAU/U,GACvE,MAAO,CAAC,IAAMA,EAAEqzC,QAAQs+H,CAAa,CACvC,CAAC,EACDoC,EAAW/+J,QAAQ,SAAUvV,GAC3BoU,EAAOmB,QAAQ,SAAUghE,GACvB,IAAIi+F,EAAUvB,EAASjoK,KAAK,SAAUA,GACpC,MAAO,GAAKA,EAAK,GAAKA,EAAK,KAAOurE,EAAOl9C,QAAQ64I,EAAe,EAAE,CACpE,CAAC,EACDlyK,EAAEunB,IAAIitJ,EAAQ,GAAGn7I,QAAQ,OAAQ,EAAE,EAAG,GAAGz3B,OAAO5B,EAAEsb,IAAIi7D,CAAM,CAAC,EAAE,EAAE,EACjEv2E,EAAEotK,MAAM72F,CAAM,CAChB,CAAC,CACH,CAAC,GAICg+F,GACFD,EAAW/+J,QAAQ,SAAUvV,GAC3B,OAAOA,EAAE60H,YAAY70H,EAAE4oC,YAAY,EAAE51B,UAAUknD,EAAYxkD,MAAMmjD,QAAQ,EAAGqB,EAAY5vD,IAAIuuD,QAAQ,CAAC,CAAC,CACxG,CAAC,EAIC07G,GAAkB,QAAUr6G,EAAYxkD,OAA4BwkD,EAAY5vD,KAAKogE,mBAAmB,EAAEy3D,OAAO,EAAG,CAAC,GACvHmyC,EAAW/+J,QAAQ,SAAUvV,GAC3B,OAAOA,EAAE60H,aAAY,EAAIo9C,EAAiBE,iBAAiBnyK,EAAE4oC,YAAY,CAAC,CAAC,CAC7E,CAAC,EAMClzB,EAAMopE,WAAW,GAAK,EAAC,EAAI+oB,EAAcoD,cAAcv1F,EAAMyyB,gBAAgB,CAAC,GAChFmsI,EAAW/+J,QAAQ,SAAUvV,GAC3B,OAAO,EAAI8nG,EAAiC8C,iCAAiC,CAAEz1F,QAASnV,CAAE,CAAC,CAC7F,CAAC,EAGHy2F,EAAO76E,QAAQ,CAAElG,MAAOA,EAAOM,SAAUs+J,CAAW,CAAC,CACvD,CAAC,EAEM79E,GArGE,IAjBA,CAAC,CACN/gF,MAAOlB,EAAO,GACdwB,SAAU,EACZ,EAoHJ,EAEF,QACE,OAAO,WACL,IACIy+J,GAD4B,EAAnBhyK,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IACtD+R,OAG3B,OAF+BzK,KAAAA,IAAlB0qK,EAA8B,GAAKA,GAElCnqK,IAAI,SAAUoL,GAC1B,MAAO,CAAEA,MAAOA,EAAOsgE,QAASn2E,EAAE,8BAA8B,CAAE,CACpE,CAAC,CACH,CAEJ,CACF,CACF,EAKA,SAASwyK,EAAsBqC,EAA/B,GACMp7G,EAAmC,EAAnB72D,UAAU/B,QAA+BqJ,KAAAA,IAD/D,EAAA,EAC0F,qBAExF,IACE,IAAIof,EAAU9f,OAAO8f,QAAQurJ,CAAW,EACpCC,EAAQxrJ,EAAQne,KAAK,SAAU8yD,GAC7B/M,EAASzgD,EAAewtD,EAAQ,CAAC,EACjCv0D,EAAMwnD,EAAO,GAGjB,MAAO,WAAaxnD,CACtB,CAAC,EAEGynD,EAAS2jH,GAASxrJ,EAAQ,GAE1B9hB,EADSiJ,EAAe0gD,EAAQ,CAAC,EAClB,GAKnB,OAAK2jH,GAAUnyK,MAAMkF,QAAQL,CAAK,GAAK,YAA+B,KAAA,IAAVA,EAAwB,YAAcT,EAAQS,CAAK,IAK3GstK,GAAS,UAAa,OAAOttK,IAC/BiyD,EAAgB,IAAMnwC,EAAQne,KAAK,SAAUizD,GAI3C,MAAO,WAHM3tD,EAAe2tD,EAAQ,CAAC,EACpB,EAGnB,CAAC,EAAE,GAAK,KAAO52D,GAIbstK,GAAS,UAAa,OAAOttK,IAC/BiyD,EAAgBjwD,OAAO8f,QAAQ9hB,CAAK,EAAEuvB,OAAO,SAAUxa,EAAS4kI,GAC9D,IAAI53D,EAAS94E,EAAe0wI,EAAQ,CAAC,EACjC75I,EAAQiiF,EAAO,GACfr7E,EAAQq7E,EAAO,GAEnB,MAAO,GAAKhtE,EAAUjV,EAAQ,KAAO3E,MAAMkF,QAAQqG,CAAK,EAAIA,EAAM,GAAKA,GAAS,IAClF,EAAG,EAAE,GAIH4mK,EACKr7G,EAAcjgC,QAAQ,SAAU,EAAE,EAD3C,KAAA,GAzBSg5I,EAAsBhrK,EAAOiyD,CAAa,CA8BrD,CAFE,MAAO35D,IAGX,CAEA,EAAE,CAACo1B,gBAAgB,IAAIlY,WAAW,IAAIqyF,qBAAqB,IAAI97F,eAAe,IAAI+xI,gBAAgB,IAAI70C,qBAAqB,IAAIK,wCAAwC,IAAIikE,wBAAwB,IAAIlJ,2BAA2B,GAAG,GAAGmJ,IAAI,CAAC,SAAS30K,EAAQU,EAAOJ,GACrQ6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQmrE,WAgDR,WACE,IAAI7hE,EAA0B,EAAnBrH,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E61B,EAA4B,EAAnB71B,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,MAE7E+oE,EAAQr+D,EAAcvH,QAAQwc,QAAQsZ,eAAe,EACrDo5I,EAA6B,EAArBhrK,EAAKI,OAAOxJ,OACxB,OAAOq0K,EAAMz8I,GAAQ,CACnBlR,IAAKokD,EAAMxlC,UAAU,EACrBgS,UAAW,kBACXze,OAAQ,CACNizC,QAAS,MACTC,QAAS,QACTC,QAAS,gBACTsoG,WAAYlrK,EAAK3C,OAAS2tK,EAAQ,QAAU,KAAOhrK,EAAKI,OAAOI,IAAI,SAAUC,GAC3E,MAAO,IAAOA,EAAI,GACpB,CAAC,EAAEoP,KAAK,GAAKm7J,EAAQ,IAAM,IAC3BnoG,SAAU7iE,EAAKye,SACfuR,YAAa3sB,EAAcvH,QAAQi0B,OAAOC,YAC1Cm7I,SAAUnrK,EAAK28B,SAAW,EAAI18B,KAAAA,CAChC,CACF,CAAC,CACH,EAnEA,IAAIo0C,EAAej+C,EAAQ,mBAAmB,EAE1CiN,GAE4BzH,EAFWy4C,IAEUz4C,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAE3F,SAAS4H,EAAkBC,GAAM,OAAO,WAAc,IAAIC,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,CAAG,CA+Dzc,IA8CQkZ,EArCAhI,EATJw8J,EAAQ,CAQVt8I,MACMlgB,EAAQjL,EAAkB,UAAWjF,GACvC,IAAI+e,EAAM/e,EAAK+e,IACX8tJ,EAAc7sK,EAAKkxB,OAEnBye,EAAY3vC,EAAK2vC,UAEjBliC,EAAWzG,MAAM2qB,MAAM5S,EAAK,CAC9BkR,OAAQ,OACR2B,QAAS,CAAEC,eAAgB,kDAAmD,EAC9EtR,KAAM,IAAI2jD,iBANiBxiE,KAAAA,IAAhBmrK,EAA4B,GAAKA,IAMR,EAAE,EAAEttK,SAAS,CACnD,CAAC,EACD,GAAKkO,EAASs3D,GAId,MAAO,CACLp1B,UAAWA,EACXxjC,OAAQ,CAAA,EACR4S,IAAKC,IAAI0S,gBAAgB,MAAOjkB,EAASskB,KAAK,CAAE,CAClD,EANE,MAAM,IAAI/5B,MAAM,MAAQyV,EAAS66C,OAAS,wBAA0B,gBAAgB,CAOxF,CAAC,EAED,SAAczuB,GACZ,OAAO3pB,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,GAYF+1B,KACMjY,EAAQjT,EAAkB,UAAWwL,GACvC,IAAIsO,EAAMtO,EAAMsO,IACZ+tJ,EAAer8J,EAAMygB,OAErBye,EAAYl/B,EAAMk/B,UAEtB,MAAO,CACL5wB,IAAKA,EAAM,IAAM,IAAImlD,iBAJOxiE,KAAAA,IAAjBorK,EAA6B,GAAKA,IAIE,EAAE,EAAEvtK,SAAS,EAC5D4M,OAAQ,CAAA,EACRwjC,UAAWA,CACb,CACF,CAAC,EAED,SAAa3d,GACX,OAAO9Z,EAAM3d,MAAMtB,KAAMmB,SAAS,CACpC,EAIJ,CAEA,EAAE,CAACsN,oBAAoB,GAAG,GAAGqlK,IAAI,CAAC,SAASl1K,EAAQU,EAAOJ,GAC1D6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQqrB,UAWR,SAAmB0P,GACjB,GAAIA,aAAmB9tB,QACrB,OAAO8tB,EAET,OAAKA,GAAYA,EAAQttB,KAIlB,IAAIR,QAAQ,SAAUC,EAASC,GACpC4tB,EAAQttB,KAAKP,CAAO,EAAEuI,KAAKtI,CAAM,CACnC,CAAC,GALC+/F,KAAAA,EACOjgG,QAAQE,OAAO,eAAe,EAKzC,EArBAnN,EAAQq8F,WA6BR,SAAoBthE,GAClB,GAAIxxB,KAAAA,IAAcwxB,EAEhB,OAAOzmB,EAAE29F,SAAS,SAAU7mF,GAC1B,OAAOA,EAAEje,OAAO,eAAe,CACjC,CAAC,EAAE4tB,QAAQ,EAEb,GAAIA,EAAQixB,OACV,OAAOjxB,EAET,OAAOzmB,EAAE29F,UAAS,KArCOllG,EAsCM,UAAWqe,GACtC,IACEA,EAAEle,QAAQ,MAAO6tB,aAAmB9tB,QAAU8tB,EAAUA,EAAQ,CAAE,CAGpE,CAFE,MAAO57B,GACUisB,EAAEje,OAAOhO,CAAC,CAC7B,CACF,EANA,IAtCuB4N,EAsCnBlF,EAtCgC,WAAc,IAAImF,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EA8Clc,OAAO,SAAU2kB,GACf,OAAO3jB,EAAKzF,MAAMtB,KAAMmB,SAAS,CACnC,CACF,GAAE,CAAC,EAAE84B,QAAQ,CACf,CAEA,EAAE,IAAI85I,IAAI,CAAC,SAASn1K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQmzE,OAAS5pE,KAAAA,EASJvJ,EAAQmzE,QA+DMpmE,EA9DK,UAAWlF,GACvC,IAAIhB,EAAQgB,EAAKhB,MACbmiB,EAAQnhB,EAAKmhB,MACbC,EAAWphB,EAAKohB,SAIhBmlJ,EAAQ,CACVvnK,MAAOA,EACPyS,IAAI,EAAI+F,EAAgBiB,gBAAgB,CAC1C,EAEIw0J,EAAW,IAAI7pK,IAAI,CACrB8c,SAAU,2CAA6CiB,EAAQ,gQAC/D5U,KAAM,WACJ,OAAOg6J,CACT,CACF,CAAC,EAID,IAAInhK,QAAQ,SAAUC,EAASC,GAe7B,IAAI4nK,EAbKtkK,EAAMrL,QAAQojB,gBAAgB,CACrC5M,QAASk5J,EAASxsJ,OAAO,EAAEC,IAC3BE,YAAa,CAAA,EACbK,QAAS,CACP8jD,GAAI,CAAE5jD,MAAO,KAAMN,UAAW,cAAeO,SAAU,WACnD,OAAO/b,EAAQkhK,EAAMvnK,KAAK,CAC5B,CAAE,EACJkhH,OAAQ,CAAE/+F,MAAO,SAAUN,UAAW,aAAcO,SAAU,WAC1D,OAAO9b,EAAO,CAChB,CAAE,CACN,CACF,CAAC,EAEkB3C,KAAK,oBAAoB,EAC5CuqK,EAAMn9E,KAAK,WAAY,IAAMw2E,EAAMvnK,MAAMuS,KAAK,EAAElZ,MAAM,EACtD40K,EAASpmK,OAAO,QAAS,SAAU7H,GACjCkuK,EAAMn9E,KAAK,WAAY,IAAM/wF,EAAMuS,KAAK,EAAElZ,MAAM,CAClD,CAAC,CACH,CAAC,EAAEuN,KAAKwb,CAAQ,EAAE+jF,QAAQ,WACxB8nE,EAASv4E,SAAS,EAElB6xE,EADA0G,EAAW,IAGb,CAAC,CACH,EA/CI/8J,EA8DkC,WAAc,IAAI/K,EAAMD,EAAG3K,MAAMtB,KAAMmB,SAAS,EAAG,OAAO,IAAIgL,QAAQ,SAAUC,EAASC,GAA4S,OAAlS,SAASC,EAAKrE,EAAKsE,GAAO,IAAM,IAAIC,EAAON,EAAIjE,GAAKsE,CAAG,EAAOxG,EAAQyG,EAAKzG,KAAgD,CAAvC,MAAO0G,GAAwB,OAAfJ,KAAAA,EAAOI,CAAK,CAAW,CAAE,GAAID,CAAAA,EAAKE,KAAiC,OAAOP,QAAQC,QAAQrG,CAAK,EAAE4G,KAAK,SAAU5G,GAASuG,EAAK,OAAQvG,CAAK,CAAG,EAAG,SAAU6G,GAAON,EAAK,QAASM,CAAG,CAAG,CAAC,EAA7IR,EAAQrG,CAAK,CAAqI,EAAc,MAAM,CAAG,CAAC,CAAG,EAb7b,SAAgB2kB,GACrB,OAAOzT,EAAM3V,MAAMtB,KAAMmB,SAAS,CACpC,GApDF,IA+D2B8K,EA9DrBgL,EAsDFvH,EAAO9Q,EAAQ,cAAc,EAE7B+Q,GAI4BvL,EAJGsL,IAIkBtL,EAAIC,WAAaD,EAAM,CAAEE,QAASF,CAAI,EAFvFma,EAAkB3f,EAAQ,sBAAsB,CAMpD,EAAE,CAACkT,eAAe,IAAI6hB,uBAAuB,GAAG,GAAGugJ,IAAI,CAAC,SAASt1K,EAAQU,EAAOJ,GAChF6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ6sG,qBASR,SAA8BhlG,GAC5B,IAAIiC,EAAMjC,EAAKiC,IACXu6B,EAAUx8B,EAAKw8B,QACfylI,EAAUjiK,EAAKiiK,QAEnBhgK,EAAIgrH,cAAczwF,CAAO,EACzB/xB,GAAGI,WAAWC,QAAQm3J,CAAO,CAC/B,CAEA,EAAE,IAAImL,IAAI,CAAC,SAASv1K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQoqG,gCAOR,WACE,IACIz1F,GAD0B,EAAnB1S,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAC5D0S,QAEf4sD,EAAW5sD,EAAQyzB,YAAY,EAGnC,GAAKm5B,EAAL,CAIA,IAAIuxF,EAASvxF,EAASgzD,eAAe,EAErC,OAAQhzD,EAAS76D,QAAQ,GAGvB,KAAKwY,EAAck+E,eAAeoB,MAC5B,IAAMs0D,EAAO5yJ,SACf4yJ,EAAOrnI,OAAO,CAAC,EACf9W,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,GAE7C,MAGF,KAAK5zI,EAAck+E,eAAeyB,WAElC,KAAK3/E,EAAck+E,eAAe8B,WAClC,KAAKhgF,EAAck+E,eAAemC,KAChCuzD,EAAO/9I,QAAQ,SAAUtV,GACvB,OAAOA,EAAEgsB,OAAO,CAAC,CACnB,CAAC,EACD9W,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,EAC3C,MAMF,KAAK5zI,EAAck+E,eAAewC,gBAClC,KAAK1gF,EAAck+E,eAAe6C,UAChC6yD,EAAO/9I,QAAQ,SAAU+zB,GACvB,OAAOA,EAAK/zB,QAAQ,SAAUtV,GAC5B,OAAOA,EAAEgsB,OAAO,CAAC,CACnB,CAAC,CACH,CAAC,EACD9W,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,EAC3C,MAKF,KAAK5zI,EAAck+E,eAAekD,QAChCwyD,EAAO,GAAG/9I,QAAQ,SAAUtV,GAC1B,OAAOA,EAAEgsB,OAAO,CAAC,CACnB,CAAC,EACD9W,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,EAC3C,MAMF,KAAK5zI,EAAck+E,eAAeuD,aAChCmyD,EAAO/9I,QAAQ,SAAU0yJ,GACvB,OAAOA,EAAK,GAAG1yJ,QAAQ,SAAUtV,GAC/B,OAAOA,EAAEgsB,OAAO,CAAC,CACnB,CAAC,CACH,CAAC,EACD9W,EAAQyzB,YAAY,EAAEk/H,eAAexU,CAAM,CAM/C,CAjEA,CAmEA,OAAOn+I,CACT,EAlFA,IAAIuK,EAAgBxf,EAAQ,eAAe,CAoF3C,EAAE,CAAC60B,gBAAgB,GAAG,GAAG2gJ,IAAI,CAAC,SAASx1K,EAAQU,EAAOJ,GACtD6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIiJ,EAAgb,SAAUC,EAAKxQ,GAAK,GAAIyC,MAAMkF,QAAQ6I,CAAG,EAAK,OAAOA,EAAY,GAAI1J,OAAOC,YAAYuC,OAAOkH,CAAG,EAAG,CAASC,IAAnezQ,EAAsfA,EAA7e0Q,EAAO,GAAQC,EAAK,CAAA,EAAUC,EAAK,CAAA,EAAWC,EAAK7G,KAAAA,EAAW,IAAM,IAAK,IAAiC8G,EAA7BC,EAAKP,EAAI1J,OAAOC,UAAU,EAAO,EAAE4J,GAAMG,EAAKC,EAAGC,KAAK,GAAG/C,QAAoByC,EAAK/N,KAAKmO,EAAGxJ,KAAK,EAAOtH,CAAAA,GAAK0Q,EAAK/P,SAAWX,GAA3D2Q,EAAK,CAAA,GAAkM,CAA9H,MAAOxC,GAAOyC,EAAK,CAAA,EAAMC,EAAK1C,CAAK,CAAE,QAAU,IAAU,CAACwC,GAAMI,EAAW,QAAGA,EAAW,OAAE,CAAiC,CAA5B,QAAU,GAAIH,EAAI,MAAMC,CAAI,CAAE,CAAE,OAAOH,CAAoJ,CAAS,MAAM,IAAI5G,UAAU,sDAAsD,CAAK,EAEjpBrJ,EAAQ2xK,gBAIR,SAAyBpwG,GAEvB,OADAA,EAAS+lG,eAIX,SAAS6N,EAAeriB,GACtBA,EAAOtoJ,KAAK,SAAU/K,GACpB,IAEMy5D,EACA71B,EAHN,GAAI,CAACrhC,MAAMkF,QAAQzH,CAAC,EAMlB,OALI21K,EAAUtlK,EAAegjJ,EAAQ,CAAC,EAClC55F,EAAIk8G,EAAQ,GACZ/xI,EAAI+xI,EAAQ,GAEhBtiB,EAAO,GAAKzvH,EAAEyvH,EAAO,GAAK55F,EACnB,CAAA,EAETi8G,EAAe11K,CAAC,CAClB,CAAC,EACD,OAAOqzJ,CACT,EAjByCvxF,EAASgzD,eAAe,CAAC,CAAC,EAC1DhzD,CACT,CAiBA,EAAE,IAAI8zG,IAAI,CAAC,SAAS31K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQqiB,WASR,SAAoBizJ,EAAMC,GACxB,IACE,OAAO,IAAI1uJ,IAAIyuJ,CAAI,EAAE//H,SAAW,IAAI1uB,IAAI0uJ,CAAI,EAAEhgI,MAIhD,CAHE,MAAOp2C,GAEP,MAAO,CAAA,CACT,CACF,CAEA,EAAE,IAAIq2K,IAAI,CAAC,SAAS91K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQirK,mBACR,SAA4B1hI,GACtB,UAAa,OAAOA,GAAO13B,OAAOC,MAAM,CAAIy3B,CAAG,IAEjDA,GADAA,EAAMA,EAAI7lB,MAAM,GAAG,GACTu2C,GAAG,IAAM1wB,EAAIrpC,OAAS,EAAI,CAAC,GAEvC,OAAOqpC,CACT,CAEA,EAAE,IAAIksI,IAAI,CAAC,SAAS/1K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQorG,mBAER,SAA4BhnD,GAC1B,IAAIxiC,EAAUjW,OAAOC,WAAW+W,SAASnY,KAAK,SAAUzK,GACtD,OAAOqkD,EAAM9lB,MAAQv+B,EAAEu+B,GACzB,CAAC,EACG1c,IACFA,EAAQgF,IAAM,IAAMw9B,EAAMvO,MAAQ,IAAMuO,EAAMx9B,IAElD,CAEA,EAAE,IAAI8uJ,IAAI,CAAC,SAASh2K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAED,IAAIT,EAA4B,YAAlB,OAAOC,QAAoD,UAA3B,OAAOA,OAAOC,SAAwB,SAAUpB,GAAO,OAAO,OAAOA,CAAK,EAAI,SAAUA,GAAO,OAAOA,GAAyB,YAAlB,OAAOmB,QAAyBnB,EAAIqB,cAAgBF,QAAUnB,IAAQmB,OAAOlE,UAAY,SAAW,OAAO+C,CAAK,EAIvQsiG,GAFJxnG,EAAQ8pG,aAiBR,SAASA,IACP,IAAIjiG,EAA0B,EAAnB5F,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,GAC3E0S,EAAU9M,EAAK8M,QACfghK,EAAe9tK,EAAK8tK,aAExB,IAAIC,EAAa,CACfjhK,QAASA,EAAQyzB,YAAY,EAC7B1kB,MAAOiyJ,EAAavtI,YAAY,CAClC,EAEA,GAAI,eAAiBwtI,EAAWlyJ,MAAMhd,QAAQ,EAC5C,MAAO,GAIT,IAAImvK,EAA4B,GAChC,IAAI1rB,EAAS,IAAIqmB,KAAKC,GAAGC,UACzB,IAAIzV,GAAW,EAAIzzD,EAAiB8C,iBAAiBsrE,EAAWjhK,QAAQjO,QAAQ,CAAC,EAC7EwjK,GAAU,EAAIziE,EAAoB8C,oBAAoBqrE,EAAWjhK,QAAQjO,QAAQ,CAAC,EAClFo8J,GAAU,EAAIp7D,EAAuB8C,uBAAuBorE,EAAWjhK,QAAQjO,QAAQ,CAAC,EAC5F,IAAIovK,EAAiBhT,IAAY7H,EAAW2a,EAAWjhK,QAAQq0J,YAAY,EAAI4M,EAAWjhK,SAC1F,IAAIohK,EAAsB7L,IAAYjP,EAAW2a,EAAWjhK,QAAQs0J,eAAe,EAAI2M,EAAWjhK,SAGlG,CAAA,IACMqhK,EADF/a,IAAaiP,GAAWpH,KACtBkT,EAAYlT,EAAUxwJ,GAAGkvD,KAAKs2F,aAAexlJ,GAAGkvD,KAAK4nG,iBACxDtG,EAAUgT,EAAiBC,GAAqBhhK,QAAQ,SAAUwsD,GACjE,IAAI00G,EAAgBnsE,EAAa,CAAE6rE,aAAcA,EAAchhK,QAAS,IAAIrC,GAAGgvD,QAAQ,CAAEC,SAAUA,CAAS,CAAC,CAAE,CAAC,EACrF,EAAvB00G,EAAc/1K,OAChB+1K,EAAclhK,QAAQ,SAAUwsD,GAC9B,OAAOA,GAAYs0G,EAA0B3zK,KAAK,IAAI8zK,EAAU,CAACz0G,EAASgzD,eAAe,EAAE,CAAC,CAC9F,CAAC,EAEDshD,EAA0B3zK,KAAK,IAAI8zK,EAAU,CAACz0G,EAASgzD,eAAe,EAAE,CAAC,CAE7E,CAAC,EACH,CAGA,GAAIuuC,GAAW,CAAC7H,EAAU,CACxB,IAAIib,EAAuD3sK,KAAAA,IAA7CusK,EAAevhD,eAAe,EAAE,GAAG,GAAG,GAChD4hD,EAAyBhsB,EAAOwmB,KAAKmF,CAAc,EACnDM,EAAiCjsB,EAAOwmB,KAAKmF,EAAexL,cAAc,CAAC,CAAC,EAC5E+L,EAAgBlsB,EAAOwmB,KAAKiF,EAAWlyJ,KAAK,EAC5C4yJ,EAAe,KAAA,EAEnB,GAA0C,EAAtCR,EAAeS,mBAAmB,EAAO,CAE3C,IADA,IAAIC,EAAuB,KAAA,EAClBhtJ,EAAQ,EAAGA,EAAQssJ,EAAeS,mBAAmB,EAAG/sJ,CAAK,GAAI,CACxE,IAAIitJ,EAAWtsB,EAAOwmB,KAAKmF,EAAexL,cAAc9gJ,CAAK,CAAC,EAC9DgtJ,EAAuBjtK,KAAAA,IAAcitK,EAAuBC,EAAWD,EAAqBn2C,MAAMo2C,CAAQ,CAC5G,EAEAH,EAAe,IAAI9F,KAAKkG,UAAUC,WAAWC,aAEhChvK,IAAI4uK,CAAoB,EAErC,IAAIK,EAAmB,KAAA,EAEvBP,EAAatN,YAAY,EAAE8N,QAAQ,EAAE/hK,QAAQ,SAAU6zB,GACrD,OAAOiuI,EAAmBttK,KAAAA,IAAcstK,EAAmBjuI,EAAUiuI,EAAiBx2C,MAAMz3F,CAAO,CACrG,CAAC,EAED0tI,EAAeO,CACjB,CAEIX,IAEFJ,EAAevhD,eAAe,EAAE,GAAGx/G,QAAQ,SAAUtV,EAAGF,GACtD,OAAO62K,EAA+B7hD,eAAe,EAAEh1H,GAAG+qI,EAAI7qI,EAAE,EAClE,CAAC,EAED42K,EAAc9hD,eAAe,EAAEx/G,QAAQ,SAAU1C,GAC/C,OAAOA,EAAWi4H,EAAI,CACxB,CAAC,GAGCjK,EAAQ+1C,EAA+B/1C,MAAMg2C,CAAa,EAC1DU,EAAc,IAAIvG,KAAKkG,UAAUC,WAAWC,YAI5CI,GAFJD,EAAYnvK,IAAIy4H,CAAK,EAEN02C,EAAY/N,YAAY,EAAE8N,QAAQ,GAE3B,EAAlBE,EAAS92K,QACX82K,EAASjiK,QAAQ,SAAU6zB,GAKzB,IACM24B,EACA01G,EAMEC,EAZJZ,IACF1tI,EAAUA,EAAQuuI,WAAWb,CAAY,GAGvCH,EAAuBnsE,WAAWphE,EAAQmhI,iBAAiB,CAAC,IAC1DxoG,EAAW4oF,EAAOitB,MAAMxuI,CAAO,EAC/BquI,EAAqBruI,EAAQ2rF,eAAe,EAE5C2hD,IACFe,EAAmBliK,QAAQ,SAAUtV,EAAGF,GACtC,OAAOE,EAAE6qI,GAAY/gI,KAAAA,IAAR9J,EAAE6qI,EAAkB2sC,EAAyB,IAAN13K,EAAUA,EAAI,EAAIA,EAAI,GAAOE,GAAJ6qI,CAC/E,CAAC,EACG4sC,EAAe,GACnB31G,EAASgzD,eAAe,EAAE,GAAGx/G,QAAQ,SAAUtV,EAAGF,GAChDE,EAAEyC,KAAK+0K,EAAmB13K,GAAG+qI,CAAC,EAC9B4sC,EAAah1K,KAAKzC,CAAC,CACrB,CAAC,EACD8hE,EAAS+lG,eAAe,CAAC4P,EAAa,GAGpCG,EAAY,EAAC,EAAI7vE,EAAiB8C,iBAAiB/oC,EAAS76D,QAAQ,CAAC,EAErEu0J,EACF4a,EAA0B3zK,KAAK,IAAIoQ,GAAGkvD,KAAKs2F,aAAauf,EAAY,CAAC91G,EAASgzD,eAAe,GAAKhzD,EAASgzD,eAAe,CAAC,CAAC,EAExH8iD,EACFxB,EAA0B3zK,KAAKq/D,CAAQ,EAEvCA,EAASgzD,eAAe,EAAEx/G,QAAQ,SAAUtV,GAC1C,OAAOo2K,EAA0B3zK,KAAK,IAAIoQ,GAAGkvD,KAAK8yD,QAAQ70H,CAAC,CAAC,CAC9D,CAAC,EAIT,CAAC,CAEL,CAGA,GAAIyqK,GAAW,CAACjP,EAAU,CACpBqc,GAAO,KACT,IAAIjB,EAAgBT,EAAWlyJ,MAC3B+mJ,EAAemL,EAAWjhK,QAC1BuhK,EAAU3sK,KAAAA,IAAckhK,EAAal2C,eAAe,EAAE,GAAG,GACzDgjD,EAAW,CAAA,EACXC,EAAmB,GACnBC,EAAc,IAAIjH,KAAKC,GAAGiH,UAC1BC,EAAY,IAAIrlK,GAAGimB,OAAO00G,IAC1BsjC,EAAa,IAAIC,KAAKC,GAAGC,UACzBkH,EAAYH,EAAY9G,KAAKgH,EAAUzqC,cAAcmpC,CAAa,CAAC,EACnEwB,EAAgBF,EAAUzqC,cAAcu9B,CAAY,EAEpDyL,IACF2B,EAAgBA,EAAch/I,QAAQ,KAAM,EAAE,GAWhD,IAvBA,IAgBIi/I,GAAoBC,EADPN,EAAY9G,KAAKkH,CAAa,GACZtjD,eAAe,EAC9CyjD,EAAkB,IAAIxH,KAAKhvG,KAAKy2G,gBAChCC,EAAoB,GAEpBC,EAAW,KAAA,EACXC,EAAa,KAAA,EAER74K,EAAI,EAAGA,EAAIu4K,EAAkB53K,OAAS,EAAGX,CAAC,GAAI,CACrD64K,EAAaN,EAAkBv4K,GAC/B44K,EAAWL,EAAkBv4K,EAAI,GAE7B22K,IACFkC,EAAW9tC,EAAImgC,EAAal2C,eAAe,EAAEh1H,GAAG,GAChD44K,EAAS7tC,EAAImgC,EAAal2C,eAAe,EAAEh1H,EAAI,GAAG,IAIpD,IAAI84K,EAAUL,EAAgBM,iBAAiB,CAACF,EAAYD,EAAS,EACjEI,EAAuBF,EAAQG,aAAaZ,CAAS,EAAErjD,eAAe,EAE1EgjD,EAAWA,GAA0C,EAA9BgB,EAAqBr4K,OAE5Cq4K,EAAqBxjK,QAAQ,SAAU0jK,GACjCvC,IACFuC,EAAWnuC,EAAI8tC,EAAW9tC,GAG5B,IAGMtjI,EAHF0xK,EAAiBnI,EAAW6G,MAAMY,EAAgBM,kBAAkBJ,EAAkBh4K,OAASg4K,EAAoB,IAAI92K,OAAO,CAACg3K,EAAYK,EAAW,CAAC,CAAC,EAExJvC,IACElvK,EAAc0xK,EAAenkD,eAAe,EAChDmkD,EAAepR,eAAe,CAAC,GAAGlmK,OAAO2yC,EAAmB/sC,EAAY,EAAE,EAAG,CAACoxK,EAAW9tC,EAAE,EAAG,GAAGlpI,OAAO2yC,EAAmB/sC,EAAY,EAAE,EAAG,CAACyxK,EAAWnuC,EAAE,EAAE,GAG1J4tC,EAAkBh4K,SACpBg4K,EAAoB,IAGtBV,EAAiBt1K,KAAKw2K,CAAc,EAEpCN,EAAaK,CACf,CAAC,EAEDP,EAAoBA,EAAkB92K,OAAO,CAACg3K,EAAYD,EAAS,CACrE,CAEA,IAAIQ,EAAapI,EAAW6G,MAAMY,EAAgBM,iBAAiBJ,CAAiB,CAAC,EAYrF,OAVIhC,GACFyC,EAAWrR,eAAe4Q,EAAkBpuK,IAAI,SAAU8uK,EAAkBpvJ,GACtEnX,EAAasmK,EAAWpkD,eAAe,EAAE/qG,GAE7C,OADAnX,EAAWnQ,KAAK02K,EAAiBtuC,CAAC,EAC3Bj4H,CACT,CAAC,CAAC,EAGJmlK,EAAiBt1K,KAAKy2K,CAAU,EAEzB,CACL5uK,EAAGwtK,EAAWC,EAAmB,EACnC,CACF,GAAE,EAEF,GAAoE,YAA/C,KAAA,IAATF,EAAuB,YAAclxK,EAAQkxK,CAAI,GAAiB,OAAOA,EAAKvtK,CAC5F,CAEA,OAAO8rK,CACT,EAjOuBn2K,EAAQ,uBAAuB,GAElDgoG,EAAyBhoG,EAAQ,6BAA6B,EAE9D+nG,EAAsB/nG,EAAQ,0BAA0B,EAE5D,SAASq0C,EAAmBhkC,GAAO,GAAI/N,MAAMkF,QAAQ6I,CAAG,EAAG,CAAE,IAAK,IAAIxQ,EAAI,EAAGyoB,EAAOhmB,MAAM+N,EAAI7P,MAAM,EAAGX,EAAIwQ,EAAI7P,OAAQX,CAAC,GAAMyoB,EAAKzoB,GAAKwQ,EAAIxQ,GAAM,OAAOyoB,CAAM,CAAS,OAAOhmB,MAAMimB,KAAKlY,CAAG,CAAK,CA6NlM,EAAE,CAACggG,2BAA2B,IAAIC,wBAAwB,IAAIC,8BAA8B,GAAG,GAAG4oE,IAAI,CAAC,SAASn5K,EAAQU,EAAOJ,GAC/H6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQi5E,SAIR,SAAkBmO,GAChB,IAAI91B,EAA2B,EAAnBrvD,UAAU/B,QAA+BqJ,KAAAA,IAAjBtH,UAAU,GAAmBA,UAAU,GAAK,IAE5E62K,EAAW,KAAA,EACf,OAAO,WACL,IAAIC,EAAeD,EACnBA,EAAW5hI,KAAKC,IAAI,GACC5tC,KAAAA,IAAjBwvK,GACyBznH,EAA1BwnH,EAAWC,IAEZ3xF,EAAIhlF,MAAMmH,KAAAA,EAAWtH,SAAS,CAElC,CACF,CAEA,EAAE,IAAI+2K,IAAI,CAAC,SAASt5K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+G,UACR,SAAmBF,GACjB,OAAOgC,OAAO1G,UAAUiF,SAASnH,KAAK4G,CAAK,EAAEwe,MAAM,EAAG,CAAC,CAAC,CAC1D,CAEA,EAAE,IAAI4zJ,IAAI,CAAC,SAASv5K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQo7I,QASR,SAAiB89B,EAAW53K,GAC1B,OAAO,IAAI2L,QAAQ,SAAUC,EAASC,GACxB,SAARuP,IACGw8J,EAAU,IAGfxT,cAActQ,CAAQ,EACtBloJ,EAAQ,EACV,CANA,IAOIkoJ,EAAWmQ,YAAY7oJ,EAAO,GAAG,EACrCA,EAAM,EACFpb,GACFZ,WAAW,WACTglK,cAActQ,CAAQ,EAAEjoJ,EAAO,CACjC,EAAG7L,CAAO,CAEd,CAAC,CACH,CAEA,EAAE,IAAI63K,IAAI,CAAC,SAASz5K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EACD7G,EAAQ+pG,OAUR,SAAgBxoC,EAAU+uG,GACxB,IAAIC,EAAa,IAAIC,KAAKC,GAAGC,UAC7B,OAAOH,EAAWI,KAAKL,CAAe,EAAEvmE,OAAOwmE,EAAWI,KAAKpvG,CAAQ,CAAC,CAC1E,CAEA,EAAE,IAAI63G,IAAI,CAAC,SAAS15K,EAAQU,EAAOJ,GACnC6I,OAAOC,eAAe9I,EAAS,aAAc,CAC3C6G,MAAO,CAAA,CACT,CAAC,EAGD7G,EAAQoF,QAAU,gBAElB,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI"} \ No newline at end of file