diff --git a/CHANGELOG.md b/CHANGELOG.md
index acb43730..038ec8bd 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+# v1.10.9
+## mm/dd/2021
+
+1. [](#bugfix)
+ * Fixed issue where Adding a new page and canceling from within Editing would alter the Parent location of the edited page [#2067](https://github.com/getgrav/grav-plugin-admin/issues/2067)
+
# v1.10.8
## 03/19/2021
diff --git a/themes/grav/app/forms/fields/parents.js b/themes/grav/app/forms/fields/parents.js
index f551041e..d4eac036 100644
--- a/themes/grav/app/forms/fields/parents.js
+++ b/themes/grav/app/forms/fields/parents.js
@@ -198,6 +198,7 @@ $(document).on('click', '[data-parents]', (event) => {
const target = $(event.currentTarget);
let field = target.closest('.parents-wrapper').find('input[name]');
let fieldName = field.attr('name');
+ let selectedField = null;
if (!field.length) {
fieldName = target.data('parents');
@@ -235,7 +236,7 @@ $(document).on('click', '[data-parents]', (event) => {
}
modal.data('parents', Instances[`${fieldName}-${modal.data('remodalId')}`]);
-
+ modal.data('parents-selectedField', field);
}
});
});
@@ -244,6 +245,7 @@ $(document).on('click', '[data-parents]', (event) => {
$(document).on('click', '[data-remodal-id].parents-container [data-parents-select]', (event) => {
const modal = $(event.currentTarget).closest('[data-remodal-id]');
const parents = modal.data('parents');
+ const selectedField = modal.data('parentsSelectedField');
const finder = parents.finder;
const field = parents.field;
const parentLabel = parents.parentLabel;
@@ -252,11 +254,19 @@ $(document).on('click', '[data-remodal-id].parents-container [data-parents-selec
const value = selection._item[finder.config.valueKey];
const name = selection._item[finder.config.labelKey];
- field.val(value);
- parentLabel.text(value);
- parentName.text(name);
- finder.config.defaultPath = value;
+ console.log('click [data-parents-select]', selectedField);
+ if (selectedField.closest('.remodal').length) {
+ const index = field.index(selectedField) - 1;
+ selectedField.val(value);
+ $(parentLabel[index]).text(value);
+ $(parentName[index]).text(name);
+ } else {
+ field.val(value);
+ parentLabel.text(value);
+ parentName.text(name);
+ finder.config.defaultPath = value;
+ }
const remodal = $.remodal.lookup[$(`[data-remodal-id="${modal.data('remodalId')}"]`).data('remodal')];
remodal.close();
});
diff --git a/themes/grav/js/admin.min.js b/themes/grav/js/admin.min.js
index ebd0f804..54049b8e 100644
--- a/themes/grav/js/admin.min.js
+++ b/themes/grav/js/admin.min.js
@@ -226,7 +226,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var jque
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Instances\": () => /* binding */ Instances,\n/* harmony export */ \"default\": () => /* binding */ Parents,\n/* harmony export */ \"b64_encode_unicode\": () => /* binding */ b64_encode_unicode,\n/* harmony export */ \"b64_decode_unicode\": () => /* binding */ b64_decode_unicode\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_finderjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/finderjs */ \"./app/utils/finderjs.js\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_2__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\nvar XHRUUID = 0;\nvar Instances = {};\n\nvar Parents = /*#__PURE__*/function () {\n function Parents(container, field, data) {\n var _this = this;\n\n _classCallCheck(this, Parents);\n\n this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n this.fieldName = field.attr('name');\n this.field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[name=\\\"\".concat(this.fieldName, \"\\\"]\"));\n this.data = data;\n this.parentLabel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-parents-field-label=\\\"\".concat(this.fieldName, \"\\\"]\"));\n this.parentName = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-parents-field-name=\\\"\".concat(this.fieldName, \"\\\"]\"));\n var dataLoad = this.dataLoad;\n this.finder = new _utils_finderjs__WEBPACK_IMPORTED_MODULE_1__.default(this.container, function (parent, callback) {\n return dataLoad.call(_this, parent, callback);\n }, {\n labelKey: 'name',\n defaultPath: this.field.val(),\n createItemContent: function createItemContent(item) {\n return Parents.createItemContent(this.config, item);\n }\n });\n /*\n this.finder.$emitter.on('leaf-selected', (item) => {\n console.log('selected', item);\n this.finder.emit('create-column', () => this.createSimpleColumn(item));\n });\n this.finder.$emitter.on('item-selected', (selected) => {\n console.log('selected', selected);\n // for future use only - create column-card creation for file with details like in macOS finder\n // this.finder.$emitter('create-column', () => this.createSimpleColumn(selected));\n }); */\n\n this.finder.$emitter.on('column-created', function () {\n _this.container[0].scrollLeft = _this.container[0].scrollWidth - _this.container[0].clientWidth;\n });\n }\n\n _createClass(Parents, [{\n key: \"createSimpleColumn\",\n value: function createSimpleColumn(item) {}\n }, {\n key: \"dataLoad\",\n value: function dataLoad(parent, callback) {\n var _this2 = this;\n\n if (!parent) {\n return callback(this.data);\n }\n\n if (parent.type !== 'dir' || !parent['has-children']) {\n return false;\n }\n\n var UUID = ++XHRUUID;\n this.startLoader();\n jquery__WEBPACK_IMPORTED_MODULE_0___default().ajax({\n url: \"\".concat(grav_config__WEBPACK_IMPORTED_MODULE_2__.config.current_url),\n method: 'post',\n data: Object.assign({}, getExtraFormData(this.container), {\n route: b64_encode_unicode(parent.value),\n field: this.field.data('fieldName'),\n action: 'getLevelListing',\n 'admin-nonce': grav_config__WEBPACK_IMPORTED_MODULE_2__.config.admin_nonce\n }),\n success: function success(response) {\n _this2.stopLoader();\n\n if (response.status === 'error') {\n _this2.finder.$emitter.emit('create-column', Parents.createErrorColumn(response.message)[0]);\n\n return false;\n } // stale request\n\n\n if (UUID !== XHRUUID) {\n return false;\n }\n\n return callback(response.data);\n }\n });\n }\n }, {\n key: \"startLoader\",\n value: function startLoader() {\n this.loadingIndicator = Parents.createLoadingColumn();\n this.finder.$emitter.emit('create-column', this.loadingIndicator[0]);\n return this.loadingIndicator;\n }\n }, {\n key: \"stopLoader\",\n value: function stopLoader() {\n return this.loadingIndicator && this.loadingIndicator.remove();\n }\n }], [{\n key: \"createItemContent\",\n value: function createItemContent(config, item) {\n var frag = document.createDocumentFragment();\n var label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\"));\n var infoContainer = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var iconPrepend = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var iconAppend = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var badge = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var prependClasses = ['fa'];\n var appendClasses = ['fa']; // prepend icon\n\n if (item.children || item.type === 'dir') {\n prependClasses.push('fa-folder');\n } else if (item.type === 'root') {\n prependClasses.push('fa-sitemap');\n } else if (item.type === 'file') {\n prependClasses.push('fa-file-o');\n }\n\n iconPrepend.addClass(prependClasses.join(' ')); // text label\n\n label.text(item[config.labelKey]).prepend(iconPrepend);\n label.appendTo(frag); // append icon\n\n if (item.children || item['has-children']) {\n appendClasses.push('fa-caret-right');\n badge.text(item.size || item.count || 0);\n badge.appendTo(infoContainer);\n }\n\n iconAppend.addClass(appendClasses.join(' '));\n iconAppend.appendTo(infoContainer);\n infoContainer.appendTo(frag);\n return frag;\n }\n }, {\n key: \"createLoadingColumn\",\n value: function createLoadingColumn() {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\\n
\\n \");\n }\n }, {\n key: \"createErrorColumn\",\n value: function createErrorColumn(error) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\\n \\n
\\n \\n \".concat(error, \"\\n
\\n
\\n \"));\n }\n }]);\n\n return Parents;\n}();\n\n\nvar b64_encode_unicode = function b64_encode_unicode(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function toSolidBytes(match, p1) {\n return String.fromCharCode('0x' + p1);\n }));\n};\nvar b64_decode_unicode = function b64_decode_unicode(str) {\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n};\n\nvar getExtraFormData = function getExtraFormData(container) {\n var form = container.closest('form');\n\n if (container.closest('[data-remodal-id]').length) {\n form = jquery__WEBPACK_IMPORTED_MODULE_0___default()('form#blueprints');\n }\n\n var data = {};\n var unique_id = form.find('[name=\"__unique_form_id__\"]');\n data['__form-name__'] = form.find('[name=\"__form-name__\"]').val();\n data['form-nonce'] = form.find('[name=\"form-nonce\"]').val();\n\n if (unique_id.length) {\n data['__unique_form_id__'] = unique_id.val();\n }\n\n return data;\n};\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).on('click', '[data-parents]', function (event) {\n event.preventDefault();\n event.stopPropagation();\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var field = target.closest('.parents-wrapper').find('input[name]');\n var fieldName = field.attr('name');\n\n if (!field.length) {\n fieldName = target.data('parents');\n field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[name=\\\"\".concat(target.data('parents'), \"\\\"]\")).first();\n }\n\n var modal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-remodal-id=\\\"\".concat(target.data('remodalTarget') || 'parents', \"\\\"]\"));\n var loader = modal.find('.grav-loading');\n var content = modal.find('.parents-content');\n loader.css('display', 'block');\n content.html('');\n jquery__WEBPACK_IMPORTED_MODULE_0___default().ajax({\n url: \"\".concat(grav_config__WEBPACK_IMPORTED_MODULE_2__.config.current_url),\n method: 'post',\n data: Object.assign({}, getExtraFormData(target), {\n route: b64_encode_unicode(field.val()),\n field: field.data('fieldName'),\n action: 'getLevelListing',\n 'admin-nonce': grav_config__WEBPACK_IMPORTED_MODULE_2__.config.admin_nonce,\n initial: true\n }),\n success: function success(response) {\n loader.css('display', 'none');\n\n if (response.status === 'error') {\n content.html(response.message);\n return true;\n }\n\n if (!Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))]) {\n Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))] = new Parents(content, field, response.data);\n } else {\n Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))].finder.reload(response.data);\n }\n\n modal.data('parents', Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))]);\n }\n });\n}); // apply finder selection to field\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).on('click', '[data-remodal-id].parents-container [data-parents-select]', function (event) {\n var modal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget).closest('[data-remodal-id]');\n var parents = modal.data('parents');\n var finder = parents.finder;\n var field = parents.field;\n var parentLabel = parents.parentLabel;\n var parentName = parents.parentName;\n var selection = finder.findLastActive().item[0];\n var value = selection._item[finder.config.valueKey];\n var name = selection._item[finder.config.labelKey];\n field.val(value);\n parentLabel.text(value);\n parentName.text(name);\n finder.config.defaultPath = value;\n var remodal = (jquery__WEBPACK_IMPORTED_MODULE_0___default().remodal.lookup)[jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-remodal-id=\\\"\".concat(modal.data('remodalId'), \"\\\"]\")).data('remodal')];\n remodal.close();\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9wYXJlbnRzLmpzPzQ5YzgiXSwibmFtZXMiOlsiWEhSVVVJRCIsIkluc3RhbmNlcyIsIlBhcmVudHMiLCJjb250YWluZXIiLCJmaWVsZCIsImRhdGEiLCIkIiwiZmllbGROYW1lIiwiYXR0ciIsInBhcmVudExhYmVsIiwicGFyZW50TmFtZSIsImRhdGFMb2FkIiwiZmluZGVyIiwiRmluZGVyIiwicGFyZW50IiwiY2FsbGJhY2siLCJjYWxsIiwibGFiZWxLZXkiLCJkZWZhdWx0UGF0aCIsInZhbCIsImNyZWF0ZUl0ZW1Db250ZW50IiwiaXRlbSIsImNvbmZpZyIsIiRlbWl0dGVyIiwib24iLCJzY3JvbGxMZWZ0Iiwic2Nyb2xsV2lkdGgiLCJjbGllbnRXaWR0aCIsInR5cGUiLCJVVUlEIiwic3RhcnRMb2FkZXIiLCJ1cmwiLCJncmF2Q29uZmlnIiwibWV0aG9kIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0RXh0cmFGb3JtRGF0YSIsInJvdXRlIiwiYjY0X2VuY29kZV91bmljb2RlIiwidmFsdWUiLCJhY3Rpb24iLCJhZG1pbl9ub25jZSIsInN1Y2Nlc3MiLCJyZXNwb25zZSIsInN0b3BMb2FkZXIiLCJzdGF0dXMiLCJlbWl0IiwiY3JlYXRlRXJyb3JDb2x1bW4iLCJtZXNzYWdlIiwibG9hZGluZ0luZGljYXRvciIsImNyZWF0ZUxvYWRpbmdDb2x1bW4iLCJyZW1vdmUiLCJmcmFnIiwiZG9jdW1lbnQiLCJjcmVhdGVEb2N1bWVudEZyYWdtZW50IiwibGFiZWwiLCJpbmZvQ29udGFpbmVyIiwiaWNvblByZXBlbmQiLCJpY29uQXBwZW5kIiwiYmFkZ2UiLCJwcmVwZW5kQ2xhc3NlcyIsImFwcGVuZENsYXNzZXMiLCJjaGlsZHJlbiIsInB1c2giLCJhZGRDbGFzcyIsImpvaW4iLCJ0ZXh0IiwicHJlcGVuZCIsImFwcGVuZFRvIiwic2l6ZSIsImNvdW50IiwiZXJyb3IiLCJzdHIiLCJidG9hIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInRvU29saWRCeXRlcyIsIm1hdGNoIiwicDEiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJiNjRfZGVjb2RlX3VuaWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJhdG9iIiwic3BsaXQiLCJtYXAiLCJjIiwiY2hhckNvZGVBdCIsInRvU3RyaW5nIiwic2xpY2UiLCJmb3JtIiwiY2xvc2VzdCIsImxlbmd0aCIsInVuaXF1ZV9pZCIsImZpbmQiLCJldmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsImZpcnN0IiwibW9kYWwiLCJsb2FkZXIiLCJjb250ZW50IiwiY3NzIiwiaHRtbCIsImluaXRpYWwiLCJyZWxvYWQiLCJwYXJlbnRzIiwic2VsZWN0aW9uIiwiZmluZExhc3RBY3RpdmUiLCJfaXRlbSIsInZhbHVlS2V5IiwibmFtZSIsInJlbW9kYWwiLCJjbG9zZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBRUEsSUFBSUEsT0FBTyxHQUFHLENBQWQ7QUFDTyxJQUFNQyxTQUFTLEdBQUcsRUFBbEI7O0lBRWNDLE87QUFDakIsbUJBQVlDLFNBQVosRUFBdUJDLEtBQXZCLEVBQThCQyxJQUE5QixFQUFvQztBQUFBOztBQUFBOztBQUNoQyxTQUFLRixTQUFMLEdBQWlCRyw2Q0FBQyxDQUFDSCxTQUFELENBQWxCO0FBQ0EsU0FBS0ksU0FBTCxHQUFpQkgsS0FBSyxDQUFDSSxJQUFOLENBQVcsTUFBWCxDQUFqQjtBQUNBLFNBQUtKLEtBQUwsR0FBYUUsNkNBQUMsbUJBQVcsS0FBS0MsU0FBaEIsU0FBZDtBQUNBLFNBQUtGLElBQUwsR0FBWUEsSUFBWjtBQUNBLFNBQUtJLFdBQUwsR0FBbUJILDZDQUFDLHVDQUErQixLQUFLQyxTQUFwQyxTQUFwQjtBQUNBLFNBQUtHLFVBQUwsR0FBa0JKLDZDQUFDLHNDQUE4QixLQUFLQyxTQUFuQyxTQUFuQjtBQUVBLFFBQU1JLFFBQVEsR0FBRyxLQUFLQSxRQUF0QjtBQUVBLFNBQUtDLE1BQUwsR0FBYyxJQUFJQyxvREFBSixDQUNWLEtBQUtWLFNBREssRUFFVixVQUFDVyxNQUFELEVBQVNDLFFBQVQsRUFBc0I7QUFDbEIsYUFBT0osUUFBUSxDQUFDSyxJQUFULENBQWMsS0FBZCxFQUFvQkYsTUFBcEIsRUFBNEJDLFFBQTVCLENBQVA7QUFDSCxLQUpTLEVBS1Y7QUFDSUUsY0FBUSxFQUFFLE1BRGQ7QUFFSUMsaUJBQVcsRUFBRSxLQUFLZCxLQUFMLENBQVdlLEdBQVgsRUFGakI7QUFHSUMsdUJBQWlCLEVBQUUsMkJBQVNDLElBQVQsRUFBZTtBQUM5QixlQUFPbkIsT0FBTyxDQUFDa0IsaUJBQVIsQ0FBMEIsS0FBS0UsTUFBL0IsRUFBdUNELElBQXZDLENBQVA7QUFDSDtBQUxMLEtBTFUsQ0FBZDtBQWNBO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUdRLFNBQUtULE1BQUwsQ0FBWVcsUUFBWixDQUFxQkMsRUFBckIsQ0FBd0IsZ0JBQXhCLEVBQTBDLFlBQU07QUFDNUMsV0FBSSxDQUFDckIsU0FBTCxDQUFlLENBQWYsRUFBa0JzQixVQUFsQixHQUErQixLQUFJLENBQUN0QixTQUFMLENBQWUsQ0FBZixFQUFrQnVCLFdBQWxCLEdBQWdDLEtBQUksQ0FBQ3ZCLFNBQUwsQ0FBZSxDQUFmLEVBQWtCd0IsV0FBakY7QUFDSCxLQUZEO0FBR0g7Ozs7dUNBK0RrQk4sSSxFQUFNLENBQUU7Ozs2QkFFbEJQLE0sRUFBUUMsUSxFQUFVO0FBQUE7O0FBQ3ZCLFVBQUksQ0FBQ0QsTUFBTCxFQUFhO0FBQ1QsZUFBT0MsUUFBUSxDQUFDLEtBQUtWLElBQU4sQ0FBZjtBQUNIOztBQUVELFVBQUlTLE1BQU0sQ0FBQ2MsSUFBUCxLQUFnQixLQUFoQixJQUF5QixDQUFDZCxNQUFNLENBQUMsY0FBRCxDQUFwQyxFQUFzRDtBQUNsRCxlQUFPLEtBQVA7QUFDSDs7QUFFRCxVQUFNZSxJQUFJLEdBQUcsRUFBRTdCLE9BQWY7QUFDQSxXQUFLOEIsV0FBTDtBQUVBeEIsd0RBQUEsQ0FBTztBQUNIeUIsV0FBRyxZQUFLQywyREFBTCxDQURBO0FBRUhDLGNBQU0sRUFBRSxNQUZMO0FBR0g1QixZQUFJLEVBQUU2QixNQUFNLENBQUNDLE1BQVAsQ0FBYyxFQUFkLEVBQWtCQyxnQkFBZ0IsQ0FBQyxLQUFLakMsU0FBTixDQUFsQyxFQUFvRDtBQUN0RGtDLGVBQUssRUFBRUMsa0JBQWtCLENBQUN4QixNQUFNLENBQUN5QixLQUFSLENBRDZCO0FBRXREbkMsZUFBSyxFQUFFLEtBQUtBLEtBQUwsQ0FBV0MsSUFBWCxDQUFnQixXQUFoQixDQUYrQztBQUd0RG1DLGdCQUFNLEVBQUUsaUJBSDhDO0FBSXRELHlCQUFlUiwyREFBc0JTO0FBSmlCLFNBQXBELENBSEg7QUFTSEMsZUFBTyxFQUFFLGlCQUFDQyxRQUFELEVBQWM7QUFDbkIsZ0JBQUksQ0FBQ0MsVUFBTDs7QUFFQSxjQUFJRCxRQUFRLENBQUNFLE1BQVQsS0FBb0IsT0FBeEIsRUFBaUM7QUFDN0Isa0JBQUksQ0FBQ2pDLE1BQUwsQ0FBWVcsUUFBWixDQUFxQnVCLElBQXJCLENBQTBCLGVBQTFCLEVBQTJDNUMsT0FBTyxDQUFDNkMsaUJBQVIsQ0FBMEJKLFFBQVEsQ0FBQ0ssT0FBbkMsRUFBNEMsQ0FBNUMsQ0FBM0M7O0FBQ0EsbUJBQU8sS0FBUDtBQUNILFdBTmtCLENBT25COzs7QUFDQSxjQUFJbkIsSUFBSSxLQUFLN0IsT0FBYixFQUFzQjtBQUNsQixtQkFBTyxLQUFQO0FBQ0g7O0FBRUQsaUJBQU9lLFFBQVEsQ0FBQzRCLFFBQVEsQ0FBQ3RDLElBQVYsQ0FBZjtBQUNIO0FBdEJFLE9BQVA7QUF3Qkg7OztrQ0FFYTtBQUNWLFdBQUs0QyxnQkFBTCxHQUF3Qi9DLE9BQU8sQ0FBQ2dELG1CQUFSLEVBQXhCO0FBQ0EsV0FBS3RDLE1BQUwsQ0FBWVcsUUFBWixDQUFxQnVCLElBQXJCLENBQTBCLGVBQTFCLEVBQTJDLEtBQUtHLGdCQUFMLENBQXNCLENBQXRCLENBQTNDO0FBRUEsYUFBTyxLQUFLQSxnQkFBWjtBQUNIOzs7aUNBRVk7QUFDVCxhQUFPLEtBQUtBLGdCQUFMLElBQXlCLEtBQUtBLGdCQUFMLENBQXNCRSxNQUF0QixFQUFoQztBQUNIOzs7c0NBOUd3QjdCLE0sRUFBUUQsSSxFQUFNO0FBQ25DLFVBQU0rQixJQUFJLEdBQUdDLFFBQVEsQ0FBQ0Msc0JBQVQsRUFBYjtBQUVBLFVBQU1DLEtBQUssR0FBR2pELDZDQUFDLHlCQUFpQmUsSUFBSSxDQUFDQyxNQUFNLENBQUNMLFFBQVIsQ0FBckIsV0FBZjtBQUNBLFVBQU11QyxhQUFhLEdBQUdsRCw2Q0FBQyxDQUFDLGlDQUFELENBQXZCO0FBQ0EsVUFBTW1ELFdBQVcsR0FBR25ELDZDQUFDLENBQUMsT0FBRCxDQUFyQjtBQUNBLFVBQU1vRCxVQUFVLEdBQUdwRCw2Q0FBQyxDQUFDLE9BQUQsQ0FBcEI7QUFDQSxVQUFNcUQsS0FBSyxHQUFHckQsNkNBQUMsQ0FBQyx3QkFBRCxDQUFmO0FBQ0EsVUFBTXNELGNBQWMsR0FBRyxDQUFDLElBQUQsQ0FBdkI7QUFDQSxVQUFNQyxhQUFhLEdBQUcsQ0FBQyxJQUFELENBQXRCLENBVG1DLENBV25DOztBQUNBLFVBQUl4QyxJQUFJLENBQUN5QyxRQUFMLElBQWlCekMsSUFBSSxDQUFDTyxJQUFMLEtBQWMsS0FBbkMsRUFBMEM7QUFDdENnQyxzQkFBYyxDQUFDRyxJQUFmLENBQW9CLFdBQXBCO0FBQ0gsT0FGRCxNQUVPLElBQUkxQyxJQUFJLENBQUNPLElBQUwsS0FBYyxNQUFsQixFQUEwQjtBQUM3QmdDLHNCQUFjLENBQUNHLElBQWYsQ0FBb0IsWUFBcEI7QUFDSCxPQUZNLE1BRUEsSUFBSTFDLElBQUksQ0FBQ08sSUFBTCxLQUFjLE1BQWxCLEVBQTBCO0FBQzdCZ0Msc0JBQWMsQ0FBQ0csSUFBZixDQUFvQixXQUFwQjtBQUNIOztBQUVETixpQkFBVyxDQUFDTyxRQUFaLENBQXFCSixjQUFjLENBQUNLLElBQWYsQ0FBb0IsR0FBcEIsQ0FBckIsRUFwQm1DLENBc0JuQzs7QUFDQVYsV0FBSyxDQUFDVyxJQUFOLENBQVc3QyxJQUFJLENBQUNDLE1BQU0sQ0FBQ0wsUUFBUixDQUFmLEVBQWtDa0QsT0FBbEMsQ0FBMENWLFdBQTFDO0FBQ0FGLFdBQUssQ0FBQ2EsUUFBTixDQUFlaEIsSUFBZixFQXhCbUMsQ0EwQm5DOztBQUNBLFVBQUkvQixJQUFJLENBQUN5QyxRQUFMLElBQWlCekMsSUFBSSxDQUFDLGNBQUQsQ0FBekIsRUFBMkM7QUFDdkN3QyxxQkFBYSxDQUFDRSxJQUFkLENBQW1CLGdCQUFuQjtBQUNBSixhQUFLLENBQUNPLElBQU4sQ0FBVzdDLElBQUksQ0FBQ2dELElBQUwsSUFBYWhELElBQUksQ0FBQ2lELEtBQWxCLElBQTJCLENBQXRDO0FBQ0FYLGFBQUssQ0FBQ1MsUUFBTixDQUFlWixhQUFmO0FBQ0g7O0FBRURFLGdCQUFVLENBQUNNLFFBQVgsQ0FBb0JILGFBQWEsQ0FBQ0ksSUFBZCxDQUFtQixHQUFuQixDQUFwQjtBQUNBUCxnQkFBVSxDQUFDVSxRQUFYLENBQW9CWixhQUFwQjtBQUNBQSxtQkFBYSxDQUFDWSxRQUFkLENBQXVCaEIsSUFBdkI7QUFFQSxhQUFPQSxJQUFQO0FBQ0g7OzswQ0FFNEI7QUFDekIsYUFBTzlDLDZDQUFDLGlSQUFSO0FBT0g7OztzQ0FFd0JpRSxLLEVBQU87QUFDNUIsYUFBT2pFLDZDQUFDLDROQUlZaUUsS0FKWixtRUFBUjtBQVFIOzs7Ozs7O0FBc0RFLElBQU1qQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQXFCLENBQUNrQyxHQUFELEVBQVM7QUFDdkMsU0FBT0MsSUFBSSxDQUFDQyxrQkFBa0IsQ0FBQ0YsR0FBRCxDQUFsQixDQUF3QkcsT0FBeEIsQ0FBZ0MsaUJBQWhDLEVBQ1IsU0FBU0MsWUFBVCxDQUFzQkMsS0FBdEIsRUFBNkJDLEVBQTdCLEVBQWlDO0FBQzdCLFdBQU9DLE1BQU0sQ0FBQ0MsWUFBUCxDQUFvQixPQUFPRixFQUEzQixDQUFQO0FBQ0gsR0FITyxDQUFELENBQVg7QUFJSCxDQUxNO0FBT0EsSUFBTUcsa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFxQixDQUFDVCxHQUFELEVBQVM7QUFDdkMsU0FBT1Usa0JBQWtCLENBQUNDLElBQUksQ0FBQ1gsR0FBRCxDQUFKLENBQVVZLEtBQVYsQ0FBZ0IsRUFBaEIsRUFBb0JDLEdBQXBCLENBQXdCLFVBQVNDLENBQVQsRUFBWTtBQUMxRCxXQUFPLE1BQU0sQ0FBQyxPQUFPQSxDQUFDLENBQUNDLFVBQUYsQ0FBYSxDQUFiLEVBQWdCQyxRQUFoQixDQUF5QixFQUF6QixDQUFSLEVBQXNDQyxLQUF0QyxDQUE0QyxDQUFDLENBQTdDLENBQWI7QUFDSCxHQUZ5QixFQUV2QnhCLElBRnVCLENBRWxCLEVBRmtCLENBQUQsQ0FBekI7QUFHSCxDQUpNOztBQU1QLElBQU03QixnQkFBZ0IsR0FBRyxTQUFuQkEsZ0JBQW1CLENBQUNqQyxTQUFELEVBQWU7QUFDcEMsTUFBSXVGLElBQUksR0FBR3ZGLFNBQVMsQ0FBQ3dGLE9BQVYsQ0FBa0IsTUFBbEIsQ0FBWDs7QUFDQSxNQUFJeEYsU0FBUyxDQUFDd0YsT0FBVixDQUFrQixtQkFBbEIsRUFBdUNDLE1BQTNDLEVBQW1EO0FBQy9DRixRQUFJLEdBQUdwRiw2Q0FBQyxDQUFDLGlCQUFELENBQVI7QUFDSDs7QUFDRCxNQUFNRCxJQUFJLEdBQUcsRUFBYjtBQUNBLE1BQU13RixTQUFTLEdBQUdILElBQUksQ0FBQ0ksSUFBTCxDQUFVLDZCQUFWLENBQWxCO0FBRUF6RixNQUFJLENBQUMsZUFBRCxDQUFKLEdBQXdCcUYsSUFBSSxDQUFDSSxJQUFMLENBQVUsd0JBQVYsRUFBb0MzRSxHQUFwQyxFQUF4QjtBQUNBZCxNQUFJLENBQUMsWUFBRCxDQUFKLEdBQXFCcUYsSUFBSSxDQUFDSSxJQUFMLENBQVUscUJBQVYsRUFBaUMzRSxHQUFqQyxFQUFyQjs7QUFFQSxNQUFJMEUsU0FBUyxDQUFDRCxNQUFkLEVBQXNCO0FBQ2xCdkYsUUFBSSxDQUFDLG9CQUFELENBQUosR0FBNkJ3RixTQUFTLENBQUMxRSxHQUFWLEVBQTdCO0FBQ0g7O0FBRUQsU0FBT2QsSUFBUDtBQUNILENBaEJEOztBQWtCQUMsNkNBQUMsQ0FBQytDLFFBQUQsQ0FBRCxDQUFZN0IsRUFBWixDQUFlLE9BQWYsRUFBd0IsZ0JBQXhCLEVBQTBDLFVBQUN1RSxLQUFELEVBQVc7QUFDakRBLE9BQUssQ0FBQ0MsY0FBTjtBQUNBRCxPQUFLLENBQUNFLGVBQU47QUFFQSxNQUFNQyxNQUFNLEdBQUc1Riw2Q0FBQyxDQUFDeUYsS0FBSyxDQUFDSSxhQUFQLENBQWhCO0FBQ0EsTUFBSS9GLEtBQUssR0FBRzhGLE1BQU0sQ0FBQ1AsT0FBUCxDQUFlLGtCQUFmLEVBQW1DRyxJQUFuQyxDQUF3QyxhQUF4QyxDQUFaO0FBQ0EsTUFBSXZGLFNBQVMsR0FBR0gsS0FBSyxDQUFDSSxJQUFOLENBQVcsTUFBWCxDQUFoQjs7QUFFQSxNQUFJLENBQUNKLEtBQUssQ0FBQ3dGLE1BQVgsRUFBbUI7QUFDZnJGLGFBQVMsR0FBRzJGLE1BQU0sQ0FBQzdGLElBQVAsQ0FBWSxTQUFaLENBQVo7QUFDQUQsU0FBSyxHQUFHRSw2Q0FBQyxtQkFBVzRGLE1BQU0sQ0FBQzdGLElBQVAsQ0FBWSxTQUFaLENBQVgsU0FBRCxDQUF3QytGLEtBQXhDLEVBQVI7QUFDSDs7QUFFRCxNQUFNQyxLQUFLLEdBQUcvRiw2Q0FBQyw4QkFBc0I0RixNQUFNLENBQUM3RixJQUFQLENBQVksZUFBWixLQUFnQyxTQUF0RCxTQUFmO0FBQ0EsTUFBTWlHLE1BQU0sR0FBR0QsS0FBSyxDQUFDUCxJQUFOLENBQVcsZUFBWCxDQUFmO0FBQ0EsTUFBTVMsT0FBTyxHQUFHRixLQUFLLENBQUNQLElBQU4sQ0FBVyxrQkFBWCxDQUFoQjtBQUVBUSxRQUFNLENBQUNFLEdBQVAsQ0FBVyxTQUFYLEVBQXNCLE9BQXRCO0FBQ0FELFNBQU8sQ0FBQ0UsSUFBUixDQUFhLEVBQWI7QUFDQW5HLG9EQUFBLENBQU87QUFDSHlCLE9BQUcsWUFBS0MsMkRBQUwsQ0FEQTtBQUVIQyxVQUFNLEVBQUUsTUFGTDtBQUdINUIsUUFBSSxFQUFFNkIsTUFBTSxDQUFDQyxNQUFQLENBQWMsRUFBZCxFQUFrQkMsZ0JBQWdCLENBQUM4RCxNQUFELENBQWxDLEVBQTRDO0FBQzlDN0QsV0FBSyxFQUFFQyxrQkFBa0IsQ0FBQ2xDLEtBQUssQ0FBQ2UsR0FBTixFQUFELENBRHFCO0FBRTlDZixXQUFLLEVBQUVBLEtBQUssQ0FBQ0MsSUFBTixDQUFXLFdBQVgsQ0FGdUM7QUFHOUNtQyxZQUFNLEVBQUUsaUJBSHNDO0FBSTlDLHFCQUFlUiwyREFKK0I7QUFLOUMwRSxhQUFPLEVBQUU7QUFMcUMsS0FBNUMsQ0FISDtBQVVIaEUsV0FWRyxtQkFVS0MsUUFWTCxFQVVlO0FBQ2QyRCxZQUFNLENBQUNFLEdBQVAsQ0FBVyxTQUFYLEVBQXNCLE1BQXRCOztBQUVBLFVBQUk3RCxRQUFRLENBQUNFLE1BQVQsS0FBb0IsT0FBeEIsRUFBaUM7QUFDN0IwRCxlQUFPLENBQUNFLElBQVIsQ0FBYTlELFFBQVEsQ0FBQ0ssT0FBdEI7QUFDQSxlQUFPLElBQVA7QUFDSDs7QUFFRCxVQUFJLENBQUMvQyxTQUFTLFdBQUlNLFNBQUosY0FBaUI4RixLQUFLLENBQUNoRyxJQUFOLENBQVcsV0FBWCxDQUFqQixFQUFkLEVBQTJEO0FBQ3ZESixpQkFBUyxXQUFJTSxTQUFKLGNBQWlCOEYsS0FBSyxDQUFDaEcsSUFBTixDQUFXLFdBQVgsQ0FBakIsRUFBVCxHQUF1RCxJQUFJSCxPQUFKLENBQVlxRyxPQUFaLEVBQXFCbkcsS0FBckIsRUFBNEJ1QyxRQUFRLENBQUN0QyxJQUFyQyxDQUF2RDtBQUNILE9BRkQsTUFFTztBQUNISixpQkFBUyxXQUFJTSxTQUFKLGNBQWlCOEYsS0FBSyxDQUFDaEcsSUFBTixDQUFXLFdBQVgsQ0FBakIsRUFBVCxDQUFxRE8sTUFBckQsQ0FBNEQrRixNQUE1RCxDQUFtRWhFLFFBQVEsQ0FBQ3RDLElBQTVFO0FBQ0g7O0FBRURnRyxXQUFLLENBQUNoRyxJQUFOLENBQVcsU0FBWCxFQUFzQkosU0FBUyxXQUFJTSxTQUFKLGNBQWlCOEYsS0FBSyxDQUFDaEcsSUFBTixDQUFXLFdBQVgsQ0FBakIsRUFBL0I7QUFFSDtBQTFCRSxHQUFQO0FBNEJILENBL0NELEUsQ0FpREE7O0FBQ0FDLDZDQUFDLENBQUMrQyxRQUFELENBQUQsQ0FBWTdCLEVBQVosQ0FBZSxPQUFmLEVBQXdCLDJEQUF4QixFQUFxRixVQUFDdUUsS0FBRCxFQUFXO0FBQzVGLE1BQU1NLEtBQUssR0FBRy9GLDZDQUFDLENBQUN5RixLQUFLLENBQUNJLGFBQVAsQ0FBRCxDQUF1QlIsT0FBdkIsQ0FBK0IsbUJBQS9CLENBQWQ7QUFDQSxNQUFNaUIsT0FBTyxHQUFHUCxLQUFLLENBQUNoRyxJQUFOLENBQVcsU0FBWCxDQUFoQjtBQUNBLE1BQU1PLE1BQU0sR0FBR2dHLE9BQU8sQ0FBQ2hHLE1BQXZCO0FBQ0EsTUFBTVIsS0FBSyxHQUFHd0csT0FBTyxDQUFDeEcsS0FBdEI7QUFDQSxNQUFNSyxXQUFXLEdBQUdtRyxPQUFPLENBQUNuRyxXQUE1QjtBQUNBLE1BQU1DLFVBQVUsR0FBR2tHLE9BQU8sQ0FBQ2xHLFVBQTNCO0FBQ0EsTUFBTW1HLFNBQVMsR0FBR2pHLE1BQU0sQ0FBQ2tHLGNBQVAsR0FBd0J6RixJQUF4QixDQUE2QixDQUE3QixDQUFsQjtBQUNBLE1BQU1rQixLQUFLLEdBQUdzRSxTQUFTLENBQUNFLEtBQVYsQ0FBZ0JuRyxNQUFNLENBQUNVLE1BQVAsQ0FBYzBGLFFBQTlCLENBQWQ7QUFDQSxNQUFNQyxJQUFJLEdBQUdKLFNBQVMsQ0FBQ0UsS0FBVixDQUFnQm5HLE1BQU0sQ0FBQ1UsTUFBUCxDQUFjTCxRQUE5QixDQUFiO0FBRUFiLE9BQUssQ0FBQ2UsR0FBTixDQUFVb0IsS0FBVjtBQUNBOUIsYUFBVyxDQUFDeUQsSUFBWixDQUFpQjNCLEtBQWpCO0FBQ0E3QixZQUFVLENBQUN3RCxJQUFYLENBQWdCK0MsSUFBaEI7QUFDQXJHLFFBQU0sQ0FBQ1UsTUFBUCxDQUFjSixXQUFkLEdBQTRCcUIsS0FBNUI7QUFFQSxNQUFNMkUsT0FBTyxHQUFHNUcsOERBQUEsQ0FBaUJBLDZDQUFDLDhCQUFzQitGLEtBQUssQ0FBQ2hHLElBQU4sQ0FBVyxXQUFYLENBQXRCLFNBQUQsQ0FBb0RBLElBQXBELENBQXlELFNBQXpELENBQWpCLENBQWhCO0FBQ0E2RyxTQUFPLENBQUNDLEtBQVI7QUFDSCxDQWxCRCIsImZpbGUiOiIuL2FwcC9mb3Jtcy9maWVsZHMvcGFyZW50cy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgRmluZGVyIGZyb20gJy4uLy4uL3V0aWxzL2ZpbmRlcmpzJztcbmltcG9ydCB7IGNvbmZpZyBhcyBncmF2Q29uZmlnIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuXG5sZXQgWEhSVVVJRCA9IDA7XG5leHBvcnQgY29uc3QgSW5zdGFuY2VzID0ge307XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcmVudHMge1xuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lciwgZmllbGQsIGRhdGEpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuZmllbGROYW1lID0gZmllbGQuYXR0cignbmFtZScpO1xuICAgICAgICB0aGlzLmZpZWxkID0gJChgW25hbWU9XCIke3RoaXMuZmllbGROYW1lfVwiXWApO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnBhcmVudExhYmVsID0gJChgW2RhdGEtcGFyZW50cy1maWVsZC1sYWJlbD1cIiR7dGhpcy5maWVsZE5hbWV9XCJdYCk7XG4gICAgICAgIHRoaXMucGFyZW50TmFtZSA9ICQoYFtkYXRhLXBhcmVudHMtZmllbGQtbmFtZT1cIiR7dGhpcy5maWVsZE5hbWV9XCJdYCk7XG5cbiAgICAgICAgY29uc3QgZGF0YUxvYWQgPSB0aGlzLmRhdGFMb2FkO1xuXG4gICAgICAgIHRoaXMuZmluZGVyID0gbmV3IEZpbmRlcihcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLFxuICAgICAgICAgICAgKHBhcmVudCwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YUxvYWQuY2FsbCh0aGlzLCBwYXJlbnQsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWxLZXk6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0UGF0aDogdGhpcy5maWVsZC52YWwoKSxcbiAgICAgICAgICAgICAgICBjcmVhdGVJdGVtQ29udGVudDogZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUGFyZW50cy5jcmVhdGVJdGVtQ29udGVudCh0aGlzLmNvbmZpZywgaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIC8qXG4gICAgICAgIHRoaXMuZmluZGVyLiRlbWl0dGVyLm9uKCdsZWFmLXNlbGVjdGVkJywgKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWxlY3RlZCcsIGl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5maW5kZXIuZW1pdCgnY3JlYXRlLWNvbHVtbicsICgpID0+IHRoaXMuY3JlYXRlU2ltcGxlQ29sdW1uKGl0ZW0pKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maW5kZXIuJGVtaXR0ZXIub24oJ2l0ZW0tc2VsZWN0ZWQnLCAoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWxlY3RlZCcsIHNlbGVjdGVkKTtcbiAgICAgICAgICAgIC8vIGZvciBmdXR1cmUgdXNlIG9ubHkgLSBjcmVhdGUgY29sdW1uLWNhcmQgY3JlYXRpb24gZm9yIGZpbGUgd2l0aCBkZXRhaWxzIGxpa2UgaW4gbWFjT1MgZmluZGVyXG4gICAgICAgICAgICAvLyB0aGlzLmZpbmRlci4kZW1pdHRlcignY3JlYXRlLWNvbHVtbicsICgpID0+IHRoaXMuY3JlYXRlU2ltcGxlQ29sdW1uKHNlbGVjdGVkKSk7XG4gICAgICAgIH0pOyAqL1xuXG4gICAgICAgIHRoaXMuZmluZGVyLiRlbWl0dGVyLm9uKCdjb2x1bW4tY3JlYXRlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyWzBdLnNjcm9sbExlZnQgPSB0aGlzLmNvbnRhaW5lclswXS5zY3JvbGxXaWR0aCAtIHRoaXMuY29udGFpbmVyWzBdLmNsaWVudFdpZHRoO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlSXRlbUNvbnRlbnQoY29uZmlnLCBpdGVtKSB7XG4gICAgICAgIGNvbnN0IGZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICAgICAgY29uc3QgbGFiZWwgPSAkKGA8c3BhbiB0aXRsZT1cIiR7aXRlbVtjb25maWcubGFiZWxLZXldfVwiIC8+YCk7XG4gICAgICAgIGNvbnN0IGluZm9Db250YWluZXIgPSAkKCc8c3BhbiBjbGFzcz1cImluZm8tY29udGFpbmVyXCIgLz4nKTtcbiAgICAgICAgY29uc3QgaWNvblByZXBlbmQgPSAkKCc8aSAvPicpO1xuICAgICAgICBjb25zdCBpY29uQXBwZW5kID0gJCgnPGkgLz4nKTtcbiAgICAgICAgY29uc3QgYmFkZ2UgPSAkKCc8c3BhbiBjbGFzcz1cImJhZGdlXCIgLz4nKTtcbiAgICAgICAgY29uc3QgcHJlcGVuZENsYXNzZXMgPSBbJ2ZhJ107XG4gICAgICAgIGNvbnN0IGFwcGVuZENsYXNzZXMgPSBbJ2ZhJ107XG5cbiAgICAgICAgLy8gcHJlcGVuZCBpY29uXG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuIHx8IGl0ZW0udHlwZSA9PT0gJ2RpcicpIHtcbiAgICAgICAgICAgIHByZXBlbmRDbGFzc2VzLnB1c2goJ2ZhLWZvbGRlcicpO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udHlwZSA9PT0gJ3Jvb3QnKSB7XG4gICAgICAgICAgICBwcmVwZW5kQ2xhc3Nlcy5wdXNoKCdmYS1zaXRlbWFwJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09PSAnZmlsZScpIHtcbiAgICAgICAgICAgIHByZXBlbmRDbGFzc2VzLnB1c2goJ2ZhLWZpbGUtbycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWNvblByZXBlbmQuYWRkQ2xhc3MocHJlcGVuZENsYXNzZXMuam9pbignICcpKTtcblxuICAgICAgICAvLyB0ZXh0IGxhYmVsXG4gICAgICAgIGxhYmVsLnRleHQoaXRlbVtjb25maWcubGFiZWxLZXldKS5wcmVwZW5kKGljb25QcmVwZW5kKTtcbiAgICAgICAgbGFiZWwuYXBwZW5kVG8oZnJhZyk7XG5cbiAgICAgICAgLy8gYXBwZW5kIGljb25cbiAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gfHwgaXRlbVsnaGFzLWNoaWxkcmVuJ10pIHtcbiAgICAgICAgICAgIGFwcGVuZENsYXNzZXMucHVzaCgnZmEtY2FyZXQtcmlnaHQnKTtcbiAgICAgICAgICAgIGJhZGdlLnRleHQoaXRlbS5zaXplIHx8IGl0ZW0uY291bnQgfHwgMCk7XG4gICAgICAgICAgICBiYWRnZS5hcHBlbmRUbyhpbmZvQ29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGljb25BcHBlbmQuYWRkQ2xhc3MoYXBwZW5kQ2xhc3Nlcy5qb2luKCcgJykpO1xuICAgICAgICBpY29uQXBwZW5kLmFwcGVuZFRvKGluZm9Db250YWluZXIpO1xuICAgICAgICBpbmZvQ29udGFpbmVyLmFwcGVuZFRvKGZyYWcpO1xuXG4gICAgICAgIHJldHVybiBmcmFnO1xuICAgIH1cblxuICAgIHN0YXRpYyBjcmVhdGVMb2FkaW5nQ29sdW1uKCkge1xuICAgICAgICByZXR1cm4gJChgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmpzLWNvbCBsZWFmLWNvbFwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVhZi1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYXYtbG9hZGluZ1wiPjxkaXYgY2xhc3M9XCJncmF2LWxvYWRlclwiPkxvYWRpbmcuLi48L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlRXJyb3JDb2x1bW4oZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuICQoYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZqcy1jb2wgbGVhZi1jb2xcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW47XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlYWYtcm93IGVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZncgZmEtd2FybmluZ1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtlcnJvcn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYCk7XG4gICAgfVxuXG4gICAgY3JlYXRlU2ltcGxlQ29sdW1uKGl0ZW0pIHt9XG5cbiAgICBkYXRhTG9hZChwYXJlbnQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGlmICghcGFyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJlbnQudHlwZSAhPT0gJ2RpcicgfHwgIXBhcmVudFsnaGFzLWNoaWxkcmVuJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFVVSUQgPSArK1hIUlVVSUQ7XG4gICAgICAgIHRoaXMuc3RhcnRMb2FkZXIoKTtcblxuICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgdXJsOiBgJHtncmF2Q29uZmlnLmN1cnJlbnRfdXJsfWAsXG4gICAgICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgICAgIGRhdGE6IE9iamVjdC5hc3NpZ24oe30sIGdldEV4dHJhRm9ybURhdGEodGhpcy5jb250YWluZXIpLCB7XG4gICAgICAgICAgICAgICAgcm91dGU6IGI2NF9lbmNvZGVfdW5pY29kZShwYXJlbnQudmFsdWUpLFxuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLmRhdGEoJ2ZpZWxkTmFtZScpLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2dldExldmVsTGlzdGluZycsXG4gICAgICAgICAgICAgICAgJ2FkbWluLW5vbmNlJzogZ3JhdkNvbmZpZy5hZG1pbl9ub25jZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdWNjZXNzOiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3BMb2FkZXIoKTtcblxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kZXIuJGVtaXR0ZXIuZW1pdCgnY3JlYXRlLWNvbHVtbicsIFBhcmVudHMuY3JlYXRlRXJyb3JDb2x1bW4ocmVzcG9uc2UubWVzc2FnZSlbMF0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHN0YWxlIHJlcXVlc3RcbiAgICAgICAgICAgICAgICBpZiAoVVVJRCAhPT0gWEhSVVVJRCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGFydExvYWRlcigpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nSW5kaWNhdG9yID0gUGFyZW50cy5jcmVhdGVMb2FkaW5nQ29sdW1uKCk7XG4gICAgICAgIHRoaXMuZmluZGVyLiRlbWl0dGVyLmVtaXQoJ2NyZWF0ZS1jb2x1bW4nLCB0aGlzLmxvYWRpbmdJbmRpY2F0b3JbMF0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdJbmRpY2F0b3I7XG4gICAgfVxuXG4gICAgc3RvcExvYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZ0luZGljYXRvciAmJiB0aGlzLmxvYWRpbmdJbmRpY2F0b3IucmVtb3ZlKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgYjY0X2VuY29kZV91bmljb2RlID0gKHN0cikgPT4ge1xuICAgIHJldHVybiBidG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoLyUoWzAtOUEtRl17Mn0pL2csXG4gICAgICAgIGZ1bmN0aW9uIHRvU29saWRCeXRlcyhtYXRjaCwgcDEpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCcweCcgKyBwMSk7XG4gICAgICAgIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBiNjRfZGVjb2RlX3VuaWNvZGUgPSAoc3RyKSA9PiB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhdG9iKHN0cikuc3BsaXQoJycpLm1hcChmdW5jdGlvbihjKSB7XG4gICAgICAgIHJldHVybiAnJScgKyAoJzAwJyArIGMuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKTtcbiAgICB9KS5qb2luKCcnKSk7XG59O1xuXG5jb25zdCBnZXRFeHRyYUZvcm1EYXRhID0gKGNvbnRhaW5lcikgPT4ge1xuICAgIGxldCBmb3JtID0gY29udGFpbmVyLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICBpZiAoY29udGFpbmVyLmNsb3Nlc3QoJ1tkYXRhLXJlbW9kYWwtaWRdJykubGVuZ3RoKSB7XG4gICAgICAgIGZvcm0gPSAkKCdmb3JtI2JsdWVwcmludHMnKTtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IHt9O1xuICAgIGNvbnN0IHVuaXF1ZV9pZCA9IGZvcm0uZmluZCgnW25hbWU9XCJfX3VuaXF1ZV9mb3JtX2lkX19cIl0nKTtcblxuICAgIGRhdGFbJ19fZm9ybS1uYW1lX18nXSA9IGZvcm0uZmluZCgnW25hbWU9XCJfX2Zvcm0tbmFtZV9fXCJdJykudmFsKCk7XG4gICAgZGF0YVsnZm9ybS1ub25jZSddID0gZm9ybS5maW5kKCdbbmFtZT1cImZvcm0tbm9uY2VcIl0nKS52YWwoKTtcblxuICAgIGlmICh1bmlxdWVfaWQubGVuZ3RoKSB7XG4gICAgICAgIGRhdGFbJ19fdW5pcXVlX2Zvcm1faWRfXyddID0gdW5pcXVlX2lkLnZhbCgpO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuJChkb2N1bWVudCkub24oJ2NsaWNrJywgJ1tkYXRhLXBhcmVudHNdJywgKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgbGV0IGZpZWxkID0gdGFyZ2V0LmNsb3Nlc3QoJy5wYXJlbnRzLXdyYXBwZXInKS5maW5kKCdpbnB1dFtuYW1lXScpO1xuICAgIGxldCBmaWVsZE5hbWUgPSBmaWVsZC5hdHRyKCduYW1lJyk7XG5cbiAgICBpZiAoIWZpZWxkLmxlbmd0aCkge1xuICAgICAgICBmaWVsZE5hbWUgPSB0YXJnZXQuZGF0YSgncGFyZW50cycpO1xuICAgICAgICBmaWVsZCA9ICQoYFtuYW1lPVwiJHt0YXJnZXQuZGF0YSgncGFyZW50cycpfVwiXWApLmZpcnN0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgbW9kYWwgPSAkKGBbZGF0YS1yZW1vZGFsLWlkPVwiJHt0YXJnZXQuZGF0YSgncmVtb2RhbFRhcmdldCcpIHx8ICdwYXJlbnRzJ31cIl1gKTtcbiAgICBjb25zdCBsb2FkZXIgPSBtb2RhbC5maW5kKCcuZ3Jhdi1sb2FkaW5nJyk7XG4gICAgY29uc3QgY29udGVudCA9IG1vZGFsLmZpbmQoJy5wYXJlbnRzLWNvbnRlbnQnKTtcblxuICAgIGxvYWRlci5jc3MoJ2Rpc3BsYXknLCAnYmxvY2snKTtcbiAgICBjb250ZW50Lmh0bWwoJycpO1xuICAgICQuYWpheCh7XG4gICAgICAgIHVybDogYCR7Z3JhdkNvbmZpZy5jdXJyZW50X3VybH1gLFxuICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgZGF0YTogT2JqZWN0LmFzc2lnbih7fSwgZ2V0RXh0cmFGb3JtRGF0YSh0YXJnZXQpLCB7XG4gICAgICAgICAgICByb3V0ZTogYjY0X2VuY29kZV91bmljb2RlKGZpZWxkLnZhbCgpKSxcbiAgICAgICAgICAgIGZpZWxkOiBmaWVsZC5kYXRhKCdmaWVsZE5hbWUnKSxcbiAgICAgICAgICAgIGFjdGlvbjogJ2dldExldmVsTGlzdGluZycsXG4gICAgICAgICAgICAnYWRtaW4tbm9uY2UnOiBncmF2Q29uZmlnLmFkbWluX25vbmNlLFxuICAgICAgICAgICAgaW5pdGlhbDogdHJ1ZVxuICAgICAgICB9KSxcbiAgICAgICAgc3VjY2VzcyhyZXNwb25zZSkge1xuICAgICAgICAgICAgbG9hZGVyLmNzcygnZGlzcGxheScsICdub25lJyk7XG5cbiAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICBjb250ZW50Lmh0bWwocmVzcG9uc2UubWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghSW5zdGFuY2VzW2Ake2ZpZWxkTmFtZX0tJHttb2RhbC5kYXRhKCdyZW1vZGFsSWQnKX1gXSkge1xuICAgICAgICAgICAgICAgIEluc3RhbmNlc1tgJHtmaWVsZE5hbWV9LSR7bW9kYWwuZGF0YSgncmVtb2RhbElkJyl9YF0gPSBuZXcgUGFyZW50cyhjb250ZW50LCBmaWVsZCwgcmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIEluc3RhbmNlc1tgJHtmaWVsZE5hbWV9LSR7bW9kYWwuZGF0YSgncmVtb2RhbElkJyl9YF0uZmluZGVyLnJlbG9hZChyZXNwb25zZS5kYXRhKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbW9kYWwuZGF0YSgncGFyZW50cycsIEluc3RhbmNlc1tgJHtmaWVsZE5hbWV9LSR7bW9kYWwuZGF0YSgncmVtb2RhbElkJyl9YF0pO1xuXG4gICAgICAgIH1cbiAgICB9KTtcbn0pO1xuXG4vLyBhcHBseSBmaW5kZXIgc2VsZWN0aW9uIHRvIGZpZWxkXG4kKGRvY3VtZW50KS5vbignY2xpY2snLCAnW2RhdGEtcmVtb2RhbC1pZF0ucGFyZW50cy1jb250YWluZXIgW2RhdGEtcGFyZW50cy1zZWxlY3RdJywgKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSAkKGV2ZW50LmN1cnJlbnRUYXJnZXQpLmNsb3Nlc3QoJ1tkYXRhLXJlbW9kYWwtaWRdJyk7XG4gICAgY29uc3QgcGFyZW50cyA9IG1vZGFsLmRhdGEoJ3BhcmVudHMnKTtcbiAgICBjb25zdCBmaW5kZXIgPSBwYXJlbnRzLmZpbmRlcjtcbiAgICBjb25zdCBmaWVsZCA9IHBhcmVudHMuZmllbGQ7XG4gICAgY29uc3QgcGFyZW50TGFiZWwgPSBwYXJlbnRzLnBhcmVudExhYmVsO1xuICAgIGNvbnN0IHBhcmVudE5hbWUgPSBwYXJlbnRzLnBhcmVudE5hbWU7XG4gICAgY29uc3Qgc2VsZWN0aW9uID0gZmluZGVyLmZpbmRMYXN0QWN0aXZlKCkuaXRlbVswXTtcbiAgICBjb25zdCB2YWx1ZSA9IHNlbGVjdGlvbi5faXRlbVtmaW5kZXIuY29uZmlnLnZhbHVlS2V5XTtcbiAgICBjb25zdCBuYW1lID0gc2VsZWN0aW9uLl9pdGVtW2ZpbmRlci5jb25maWcubGFiZWxLZXldO1xuXG4gICAgZmllbGQudmFsKHZhbHVlKTtcbiAgICBwYXJlbnRMYWJlbC50ZXh0KHZhbHVlKTtcbiAgICBwYXJlbnROYW1lLnRleHQobmFtZSk7XG4gICAgZmluZGVyLmNvbmZpZy5kZWZhdWx0UGF0aCA9IHZhbHVlO1xuXG4gICAgY29uc3QgcmVtb2RhbCA9ICQucmVtb2RhbC5sb29rdXBbJChgW2RhdGEtcmVtb2RhbC1pZD1cIiR7bW9kYWwuZGF0YSgncmVtb2RhbElkJyl9XCJdYCkuZGF0YSgncmVtb2RhbCcpXTtcbiAgICByZW1vZGFsLmNsb3NlKCk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/forms/fields/parents.js\n");
+eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"Instances\": () => /* binding */ Instances,\n/* harmony export */ \"default\": () => /* binding */ Parents,\n/* harmony export */ \"b64_encode_unicode\": () => /* binding */ b64_encode_unicode,\n/* harmony export */ \"b64_decode_unicode\": () => /* binding */ b64_decode_unicode\n/* harmony export */ });\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ \"jquery\");\n/* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_finderjs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/finderjs */ \"./app/utils/finderjs.js\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-config */ \"grav-config\");\n/* harmony import */ var grav_config__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_config__WEBPACK_IMPORTED_MODULE_2__);\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _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); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n\n\n\nvar XHRUUID = 0;\nvar Instances = {};\n\nvar Parents = /*#__PURE__*/function () {\n function Parents(container, field, data) {\n var _this = this;\n\n _classCallCheck(this, Parents);\n\n this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n this.fieldName = field.attr('name');\n this.field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[name=\\\"\".concat(this.fieldName, \"\\\"]\"));\n this.data = data;\n this.parentLabel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-parents-field-label=\\\"\".concat(this.fieldName, \"\\\"]\"));\n this.parentName = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-parents-field-name=\\\"\".concat(this.fieldName, \"\\\"]\"));\n var dataLoad = this.dataLoad;\n this.finder = new _utils_finderjs__WEBPACK_IMPORTED_MODULE_1__.default(this.container, function (parent, callback) {\n return dataLoad.call(_this, parent, callback);\n }, {\n labelKey: 'name',\n defaultPath: this.field.val(),\n createItemContent: function createItemContent(item) {\n return Parents.createItemContent(this.config, item);\n }\n });\n /*\n this.finder.$emitter.on('leaf-selected', (item) => {\n console.log('selected', item);\n this.finder.emit('create-column', () => this.createSimpleColumn(item));\n });\n this.finder.$emitter.on('item-selected', (selected) => {\n console.log('selected', selected);\n // for future use only - create column-card creation for file with details like in macOS finder\n // this.finder.$emitter('create-column', () => this.createSimpleColumn(selected));\n }); */\n\n this.finder.$emitter.on('column-created', function () {\n _this.container[0].scrollLeft = _this.container[0].scrollWidth - _this.container[0].clientWidth;\n });\n }\n\n _createClass(Parents, [{\n key: \"createSimpleColumn\",\n value: function createSimpleColumn(item) {}\n }, {\n key: \"dataLoad\",\n value: function dataLoad(parent, callback) {\n var _this2 = this;\n\n if (!parent) {\n return callback(this.data);\n }\n\n if (parent.type !== 'dir' || !parent['has-children']) {\n return false;\n }\n\n var UUID = ++XHRUUID;\n this.startLoader();\n jquery__WEBPACK_IMPORTED_MODULE_0___default().ajax({\n url: \"\".concat(grav_config__WEBPACK_IMPORTED_MODULE_2__.config.current_url),\n method: 'post',\n data: Object.assign({}, getExtraFormData(this.container), {\n route: b64_encode_unicode(parent.value),\n field: this.field.data('fieldName'),\n action: 'getLevelListing',\n 'admin-nonce': grav_config__WEBPACK_IMPORTED_MODULE_2__.config.admin_nonce\n }),\n success: function success(response) {\n _this2.stopLoader();\n\n if (response.status === 'error') {\n _this2.finder.$emitter.emit('create-column', Parents.createErrorColumn(response.message)[0]);\n\n return false;\n } // stale request\n\n\n if (UUID !== XHRUUID) {\n return false;\n }\n\n return callback(response.data);\n }\n });\n }\n }, {\n key: \"startLoader\",\n value: function startLoader() {\n this.loadingIndicator = Parents.createLoadingColumn();\n this.finder.$emitter.emit('create-column', this.loadingIndicator[0]);\n return this.loadingIndicator;\n }\n }, {\n key: \"stopLoader\",\n value: function stopLoader() {\n return this.loadingIndicator && this.loadingIndicator.remove();\n }\n }], [{\n key: \"createItemContent\",\n value: function createItemContent(config, item) {\n var frag = document.createDocumentFragment();\n var label = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\"));\n var infoContainer = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var iconPrepend = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var iconAppend = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var badge = jquery__WEBPACK_IMPORTED_MODULE_0___default()('');\n var prependClasses = ['fa'];\n var appendClasses = ['fa']; // prepend icon\n\n if (item.children || item.type === 'dir') {\n prependClasses.push('fa-folder');\n } else if (item.type === 'root') {\n prependClasses.push('fa-sitemap');\n } else if (item.type === 'file') {\n prependClasses.push('fa-file-o');\n }\n\n iconPrepend.addClass(prependClasses.join(' ')); // text label\n\n label.text(item[config.labelKey]).prepend(iconPrepend);\n label.appendTo(frag); // append icon\n\n if (item.children || item['has-children']) {\n appendClasses.push('fa-caret-right');\n badge.text(item.size || item.count || 0);\n badge.appendTo(infoContainer);\n }\n\n iconAppend.addClass(appendClasses.join(' '));\n iconAppend.appendTo(infoContainer);\n infoContainer.appendTo(frag);\n return frag;\n }\n }, {\n key: \"createLoadingColumn\",\n value: function createLoadingColumn() {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\\n \\n \");\n }\n }, {\n key: \"createErrorColumn\",\n value: function createErrorColumn(error) {\n return jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"\\n \\n
\\n \\n \".concat(error, \"\\n
\\n
\\n \"));\n }\n }]);\n\n return Parents;\n}();\n\n\nvar b64_encode_unicode = function b64_encode_unicode(str) {\n return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function toSolidBytes(match, p1) {\n return String.fromCharCode('0x' + p1);\n }));\n};\nvar b64_decode_unicode = function b64_decode_unicode(str) {\n return decodeURIComponent(atob(str).split('').map(function (c) {\n return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\n }).join(''));\n};\n\nvar getExtraFormData = function getExtraFormData(container) {\n var form = container.closest('form');\n\n if (container.closest('[data-remodal-id]').length) {\n form = jquery__WEBPACK_IMPORTED_MODULE_0___default()('form#blueprints');\n }\n\n var data = {};\n var unique_id = form.find('[name=\"__unique_form_id__\"]');\n data['__form-name__'] = form.find('[name=\"__form-name__\"]').val();\n data['form-nonce'] = form.find('[name=\"form-nonce\"]').val();\n\n if (unique_id.length) {\n data['__unique_form_id__'] = unique_id.val();\n }\n\n return data;\n};\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).on('click', '[data-parents]', function (event) {\n event.preventDefault();\n event.stopPropagation();\n var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n var field = target.closest('.parents-wrapper').find('input[name]');\n var fieldName = field.attr('name');\n var selectedField = null;\n\n if (!field.length) {\n fieldName = target.data('parents');\n field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[name=\\\"\".concat(target.data('parents'), \"\\\"]\")).first();\n }\n\n var modal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-remodal-id=\\\"\".concat(target.data('remodalTarget') || 'parents', \"\\\"]\"));\n var loader = modal.find('.grav-loading');\n var content = modal.find('.parents-content');\n loader.css('display', 'block');\n content.html('');\n jquery__WEBPACK_IMPORTED_MODULE_0___default().ajax({\n url: \"\".concat(grav_config__WEBPACK_IMPORTED_MODULE_2__.config.current_url),\n method: 'post',\n data: Object.assign({}, getExtraFormData(target), {\n route: b64_encode_unicode(field.val()),\n field: field.data('fieldName'),\n action: 'getLevelListing',\n 'admin-nonce': grav_config__WEBPACK_IMPORTED_MODULE_2__.config.admin_nonce,\n initial: true\n }),\n success: function success(response) {\n loader.css('display', 'none');\n\n if (response.status === 'error') {\n content.html(response.message);\n return true;\n }\n\n if (!Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))]) {\n Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))] = new Parents(content, field, response.data);\n } else {\n Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))].finder.reload(response.data);\n }\n\n modal.data('parents', Instances[\"\".concat(fieldName, \"-\").concat(modal.data('remodalId'))]);\n modal.data('parents-selectedField', field);\n }\n });\n}); // apply finder selection to field\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).on('click', '[data-remodal-id].parents-container [data-parents-select]', function (event) {\n var modal = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget).closest('[data-remodal-id]');\n var parents = modal.data('parents');\n var selectedField = modal.data('parentsSelectedField');\n var finder = parents.finder;\n var field = parents.field;\n var parentLabel = parents.parentLabel;\n var parentName = parents.parentName;\n var selection = finder.findLastActive().item[0];\n var value = selection._item[finder.config.valueKey];\n var name = selection._item[finder.config.labelKey];\n console.log('click [data-parents-select]', selectedField);\n\n if (selectedField.closest('.remodal').length) {\n var index = field.index(selectedField) - 1;\n selectedField.val(value);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(parentLabel[index]).text(value);\n jquery__WEBPACK_IMPORTED_MODULE_0___default()(parentName[index]).text(name);\n } else {\n field.val(value);\n parentLabel.text(value);\n parentName.text(name);\n finder.config.defaultPath = value;\n }\n\n var remodal = (jquery__WEBPACK_IMPORTED_MODULE_0___default().remodal.lookup)[jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[data-remodal-id=\\\"\".concat(modal.data('remodalId'), \"\\\"]\")).data('remodal')];\n remodal.close();\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9HcmF2Ly4vYXBwL2Zvcm1zL2ZpZWxkcy9wYXJlbnRzLmpzPzQ5YzgiXSwibmFtZXMiOlsiWEhSVVVJRCIsIkluc3RhbmNlcyIsIlBhcmVudHMiLCJjb250YWluZXIiLCJmaWVsZCIsImRhdGEiLCIkIiwiZmllbGROYW1lIiwiYXR0ciIsInBhcmVudExhYmVsIiwicGFyZW50TmFtZSIsImRhdGFMb2FkIiwiZmluZGVyIiwiRmluZGVyIiwicGFyZW50IiwiY2FsbGJhY2siLCJjYWxsIiwibGFiZWxLZXkiLCJkZWZhdWx0UGF0aCIsInZhbCIsImNyZWF0ZUl0ZW1Db250ZW50IiwiaXRlbSIsImNvbmZpZyIsIiRlbWl0dGVyIiwib24iLCJzY3JvbGxMZWZ0Iiwic2Nyb2xsV2lkdGgiLCJjbGllbnRXaWR0aCIsInR5cGUiLCJVVUlEIiwic3RhcnRMb2FkZXIiLCJ1cmwiLCJncmF2Q29uZmlnIiwibWV0aG9kIiwiT2JqZWN0IiwiYXNzaWduIiwiZ2V0RXh0cmFGb3JtRGF0YSIsInJvdXRlIiwiYjY0X2VuY29kZV91bmljb2RlIiwidmFsdWUiLCJhY3Rpb24iLCJhZG1pbl9ub25jZSIsInN1Y2Nlc3MiLCJyZXNwb25zZSIsInN0b3BMb2FkZXIiLCJzdGF0dXMiLCJlbWl0IiwiY3JlYXRlRXJyb3JDb2x1bW4iLCJtZXNzYWdlIiwibG9hZGluZ0luZGljYXRvciIsImNyZWF0ZUxvYWRpbmdDb2x1bW4iLCJyZW1vdmUiLCJmcmFnIiwiZG9jdW1lbnQiLCJjcmVhdGVEb2N1bWVudEZyYWdtZW50IiwibGFiZWwiLCJpbmZvQ29udGFpbmVyIiwiaWNvblByZXBlbmQiLCJpY29uQXBwZW5kIiwiYmFkZ2UiLCJwcmVwZW5kQ2xhc3NlcyIsImFwcGVuZENsYXNzZXMiLCJjaGlsZHJlbiIsInB1c2giLCJhZGRDbGFzcyIsImpvaW4iLCJ0ZXh0IiwicHJlcGVuZCIsImFwcGVuZFRvIiwic2l6ZSIsImNvdW50IiwiZXJyb3IiLCJzdHIiLCJidG9hIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwicmVwbGFjZSIsInRvU29saWRCeXRlcyIsIm1hdGNoIiwicDEiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJiNjRfZGVjb2RlX3VuaWNvZGUiLCJkZWNvZGVVUklDb21wb25lbnQiLCJhdG9iIiwic3BsaXQiLCJtYXAiLCJjIiwiY2hhckNvZGVBdCIsInRvU3RyaW5nIiwic2xpY2UiLCJmb3JtIiwiY2xvc2VzdCIsImxlbmd0aCIsInVuaXF1ZV9pZCIsImZpbmQiLCJldmVudCIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwidGFyZ2V0IiwiY3VycmVudFRhcmdldCIsInNlbGVjdGVkRmllbGQiLCJmaXJzdCIsIm1vZGFsIiwibG9hZGVyIiwiY29udGVudCIsImNzcyIsImh0bWwiLCJpbml0aWFsIiwicmVsb2FkIiwicGFyZW50cyIsInNlbGVjdGlvbiIsImZpbmRMYXN0QWN0aXZlIiwiX2l0ZW0iLCJ2YWx1ZUtleSIsIm5hbWUiLCJjb25zb2xlIiwibG9nIiwiaW5kZXgiLCJyZW1vZGFsIiwiY2xvc2UiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUVBLElBQUlBLE9BQU8sR0FBRyxDQUFkO0FBQ08sSUFBTUMsU0FBUyxHQUFHLEVBQWxCOztJQUVjQyxPO0FBQ2pCLG1CQUFZQyxTQUFaLEVBQXVCQyxLQUF2QixFQUE4QkMsSUFBOUIsRUFBb0M7QUFBQTs7QUFBQTs7QUFDaEMsU0FBS0YsU0FBTCxHQUFpQkcsNkNBQUMsQ0FBQ0gsU0FBRCxDQUFsQjtBQUNBLFNBQUtJLFNBQUwsR0FBaUJILEtBQUssQ0FBQ0ksSUFBTixDQUFXLE1BQVgsQ0FBakI7QUFDQSxTQUFLSixLQUFMLEdBQWFFLDZDQUFDLG1CQUFXLEtBQUtDLFNBQWhCLFNBQWQ7QUFDQSxTQUFLRixJQUFMLEdBQVlBLElBQVo7QUFDQSxTQUFLSSxXQUFMLEdBQW1CSCw2Q0FBQyx1Q0FBK0IsS0FBS0MsU0FBcEMsU0FBcEI7QUFDQSxTQUFLRyxVQUFMLEdB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LGFBQWEsQ0FBQ1QsT0FBZCxDQUFzQixVQUF0QixFQUFrQ0MsTUFBdEMsRUFBOEM7QUFDMUMsUUFBTXlCLEtBQUssR0FBR2pILEtBQUssQ0FBQ2lILEtBQU4sQ0FBWWpCLGFBQVosSUFBNkIsQ0FBM0M7QUFDQUEsaUJBQWEsQ0FBQ2pGLEdBQWQsQ0FBa0JvQixLQUFsQjtBQUNBakMsaURBQUMsQ0FBQ0csV0FBVyxDQUFDNEcsS0FBRCxDQUFaLENBQUQsQ0FBc0JuRCxJQUF0QixDQUEyQjNCLEtBQTNCO0FBQ0FqQyxpREFBQyxDQUFDSSxVQUFVLENBQUMyRyxLQUFELENBQVgsQ0FBRCxDQUFxQm5ELElBQXJCLENBQTBCZ0QsSUFBMUI7QUFDSCxHQUxELE1BS087QUFDSDlHLFNBQUssQ0FBQ2UsR0FBTixDQUFVb0IsS0FBVjtBQUNBOUIsZUFBVyxDQUFDeUQsSUFBWixDQUFpQjNCLEtBQWpCO0FBQ0E3QixjQUFVLENBQUN3RCxJQUFYLENBQWdCZ0QsSUFBaEI7QUFDQXRHLFVBQU0sQ0FBQ1UsTUFBUCxDQUFjSixXQUFkLEdBQTRCcUIsS0FBNUI7QUFFSDs7QUFDRCxNQUFNK0UsT0FBTyxHQUFHaEgsOERBQUEsQ0FBaUJBLDZDQUFDLDhCQUFzQmdHLEtBQUssQ0FBQ2pHLElBQU4sQ0FBVyxXQUFYLENBQXRCLFNBQUQsQ0FBb0RBLElBQXBELENBQXlELFNBQXpELENBQWpCLENBQWhCO0FBQ0FpSCxTQUFPLENBQUNDLEtBQVI7QUFDSCxDQTNCRCIsImZpbGUiOiIuL2FwcC9mb3Jtcy9maWVsZHMvcGFyZW50cy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgRmluZGVyIGZyb20gJy4uLy4uL3V0aWxzL2ZpbmRlcmpzJztcbmltcG9ydCB7IGNvbmZpZyBhcyBncmF2Q29uZmlnIH0gZnJvbSAnZ3Jhdi1jb25maWcnO1xuXG5sZXQgWEhSVVVJRCA9IDA7XG5leHBvcnQgY29uc3QgSW5zdGFuY2VzID0ge307XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcmVudHMge1xuICAgIGNvbnN0cnVjdG9yKGNvbnRhaW5lciwgZmllbGQsIGRhdGEpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgIHRoaXMuZmllbGROYW1lID0gZmllbGQuYXR0cignbmFtZScpO1xuICAgICAgICB0aGlzLmZpZWxkID0gJChgW25hbWU9XCIke3RoaXMuZmllbGROYW1lfVwiXWApO1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICB0aGlzLnBhcmVudExhYmVsID0gJChgW2RhdGEtcGFyZW50cy1maWVsZC1sYWJlbD1cIiR7dGhpcy5maWVsZE5hbWV9XCJdYCk7XG4gICAgICAgIHRoaXMucGFyZW50TmFtZSA9ICQoYFtkYXRhLXBhcmVudHMtZmllbGQtbmFtZT1cIiR7dGhpcy5maWVsZE5hbWV9XCJdYCk7XG5cbiAgICAgICAgY29uc3QgZGF0YUxvYWQgPSB0aGlzLmRhdGFMb2FkO1xuXG4gICAgICAgIHRoaXMuZmluZGVyID0gbmV3IEZpbmRlcihcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLFxuICAgICAgICAgICAgKHBhcmVudCwgY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGF0YUxvYWQuY2FsbCh0aGlzLCBwYXJlbnQsIGNhbGxiYWNrKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgbGFiZWxLZXk6ICduYW1lJyxcbiAgICAgICAgICAgICAgICBkZWZhdWx0UGF0aDogdGhpcy5maWVsZC52YWwoKSxcbiAgICAgICAgICAgICAgICBjcmVhdGVJdGVtQ29udGVudDogZnVuY3Rpb24oaXRlbSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gUGFyZW50cy5jcmVhdGVJdGVtQ29udGVudCh0aGlzLmNvbmZpZywgaXRlbSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApO1xuXG4gICAgICAgIC8qXG4gICAgICAgIHRoaXMuZmluZGVyLiRlbWl0dGVyLm9uKCdsZWFmLXNlbGVjdGVkJywgKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWxlY3RlZCcsIGl0ZW0pO1xuICAgICAgICAgICAgdGhpcy5maW5kZXIuZW1pdCgnY3JlYXRlLWNvbHVtbicsICgpID0+IHRoaXMuY3JlYXRlU2ltcGxlQ29sdW1uKGl0ZW0pKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5maW5kZXIuJGVtaXR0ZXIub24oJ2l0ZW0tc2VsZWN0ZWQnLCAoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdzZWxlY3RlZCcsIHNlbGVjdGVkKTtcbiAgICAgICAgICAgIC8vIGZvciBmdXR1cmUgdXNlIG9ubHkgLSBjcmVhdGUgY29sdW1uLWNhcmQgY3JlYXRpb24gZm9yIGZpbGUgd2l0aCBkZXRhaWxzIGxpa2UgaW4gbWFjT1MgZmluZGVyXG4gICAgICAgICAgICAvLyB0aGlzLmZpbmRlci4kZW1pdHRlcignY3JlYXRlLWNvbHVtbicsICgpID0+IHRoaXMuY3JlYXRlU2ltcGxlQ29sdW1uKHNlbGVjdGVkKSk7XG4gICAgICAgIH0pOyAqL1xuXG4gICAgICAgIHRoaXMuZmluZGVyLiRlbWl0dGVyLm9uKCdjb2x1bW4tY3JlYXRlZCcsICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyWzBdLnNjcm9sbExlZnQgPSB0aGlzLmNvbnRhaW5lclswXS5zY3JvbGxXaWR0aCAtIHRoaXMuY29udGFpbmVyWzBdLmNsaWVudFdpZHRoO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlSXRlbUNvbnRlbnQoY29uZmlnLCBpdGVtKSB7XG4gICAgICAgIGNvbnN0IGZyYWcgPSBkb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCk7XG5cbiAgICAgICAgY29uc3QgbGFiZWwgPSAkKGA8c3BhbiB0aXRsZT1cIiR7aXRlbVtjb25maWcubGFiZWxLZXldfVwiIC8+YCk7XG4gICAgICAgIGNvbnN0IGluZm9Db250YWluZXIgPSAkKCc8c3BhbiBjbGFzcz1cImluZm8tY29udGFpbmVyXCIgLz4nKTtcbiAgICAgICAgY29uc3QgaWNvblByZXBlbmQgPSAkKCc8aSAvPicpO1xuICAgICAgICBjb25zdCBpY29uQXBwZW5kID0gJCgnPGkgLz4nKTtcbiAgICAgICAgY29uc3QgYmFkZ2UgPSAkKCc8c3BhbiBjbGFzcz1cImJhZGdlXCIgLz4nKTtcbiAgICAgICAgY29uc3QgcHJlcGVuZENsYXNzZXMgPSBbJ2ZhJ107XG4gICAgICAgIGNvbnN0IGFwcGVuZENsYXNzZXMgPSBbJ2ZhJ107XG5cbiAgICAgICAgLy8gcHJlcGVuZCBpY29uXG4gICAgICAgIGlmIChpdGVtLmNoaWxkcmVuIHx8IGl0ZW0udHlwZSA9PT0gJ2RpcicpIHtcbiAgICAgICAgICAgIHByZXBlbmRDbGFzc2VzLnB1c2goJ2ZhLWZvbGRlcicpO1xuICAgICAgICB9IGVsc2UgaWYgKGl0ZW0udHlwZSA9PT0gJ3Jvb3QnKSB7XG4gICAgICAgICAgICBwcmVwZW5kQ2xhc3Nlcy5wdXNoKCdmYS1zaXRlbWFwJyk7XG4gICAgICAgIH0gZWxzZSBpZiAoaXRlbS50eXBlID09PSAnZmlsZScpIHtcbiAgICAgICAgICAgIHByZXBlbmRDbGFzc2VzLnB1c2goJ2ZhLWZpbGUtbycpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWNvblByZXBlbmQuYWRkQ2xhc3MocHJlcGVuZENsYXNzZXMuam9pbignICcpKTtcblxuICAgICAgICAvLyB0ZXh0IGxhYmVsXG4gICAgICAgIGxhYmVsLnRleHQoaXRlbVtjb25maWcubGFiZWxLZXldKS5wcmVwZW5kKGljb25QcmVwZW5kKTtcbiAgICAgICAgbGFiZWwuYXBwZW5kVG8oZnJhZyk7XG5cbiAgICAgICAgLy8gYXBwZW5kIGljb25cbiAgICAgICAgaWYgKGl0ZW0uY2hpbGRyZW4gfHwgaXRlbVsnaGFzLWNoaWxkcmVuJ10pIHtcbiAgICAgICAgICAgIGFwcGVuZENsYXNzZXMucHVzaCgnZmEtY2FyZXQtcmlnaHQnKTtcbiAgICAgICAgICAgIGJhZGdlLnRleHQoaXRlbS5zaXplIHx8IGl0ZW0uY291bnQgfHwgMCk7XG4gICAgICAgICAgICBiYWRnZS5hcHBlbmRUbyhpbmZvQ29udGFpbmVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGljb25BcHBlbmQuYWRkQ2xhc3MoYXBwZW5kQ2xhc3Nlcy5qb2luKCcgJykpO1xuICAgICAgICBpY29uQXBwZW5kLmFwcGVuZFRvKGluZm9Db250YWluZXIpO1xuICAgICAgICBpbmZvQ29udGFpbmVyLmFwcGVuZFRvKGZyYWcpO1xuXG4gICAgICAgIHJldHVybiBmcmFnO1xuICAgIH1cblxuICAgIHN0YXRpYyBjcmVhdGVMb2FkaW5nQ29sdW1uKCkge1xuICAgICAgICByZXR1cm4gJChgXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmpzLWNvbCBsZWFmLWNvbFwiIHN0eWxlPVwib3ZlcmZsb3c6IGhpZGRlbjtcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibGVhZi1yb3dcIj5cbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImdyYXYtbG9hZGluZ1wiPjxkaXYgY2xhc3M9XCJncmF2LWxvYWRlclwiPkxvYWRpbmcuLi48L2Rpdj48L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICBgKTtcbiAgICB9XG5cbiAgICBzdGF0aWMgY3JlYXRlRXJyb3JDb2x1bW4oZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuICQoYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZqcy1jb2wgbGVhZi1jb2xcIiBzdHlsZT1cIm92ZXJmbG93OiBoaWRkZW47XCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxlYWYtcm93IGVycm9yXCI+XG4gICAgICAgICAgICAgICAgICAgIDxpIGNsYXNzPVwiZmEgZmEtZncgZmEtd2FybmluZ1wiPjwvaT5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+JHtlcnJvcn08L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgYCk7XG4gICAgfVxuXG4gICAgY3JlYXRlU2ltcGxlQ29sdW1uKGl0ZW0pIHt9XG5cbiAgICBkYXRhTG9hZChwYXJlbnQsIGNhbGxiYWNrKSB7XG4gICAgICAgIGlmICghcGFyZW50KSB7XG4gICAgICAgICAgICByZXR1cm4gY2FsbGJhY2sodGhpcy5kYXRhKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJlbnQudHlwZSAhPT0gJ2RpcicgfHwgIXBhcmVudFsnaGFzLWNoaWxkcmVuJ10pIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IFVVSUQgPSArK1hIUlVVSUQ7XG4gICAgICAgIHRoaXMuc3RhcnRMb2FkZXIoKTtcblxuICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgdXJsOiBgJHtncmF2Q29uZmlnLmN1cnJlbnRfdXJsfWAsXG4gICAgICAgICAgICBtZXRob2Q6ICdwb3N0JyxcbiAgICAgICAgICAgIGRhdGE6IE9iamVjdC5hc3NpZ24oe30sIGdldEV4dHJhRm9ybURhdGEodGhpcy5jb250YWluZXIpLCB7XG4gICAgICAgICAgICAgICAgcm91dGU6IGI2NF9lbmNvZGVfdW5pY29kZShwYXJlbnQudmFsdWUpLFxuICAgICAgICAgICAgICAgIGZpZWxkOiB0aGlzLmZpZWxkLmRhdGEoJ2ZpZWxkTmFtZScpLFxuICAgICAgICAgICAgICAgIGFjdGlvbjogJ2dldExldmVsTGlzdGluZycsXG4gICAgICAgICAgICAgICAgJ2FkbWluLW5vbmNlJzogZ3JhdkNvbmZpZy5hZG1pbl9ub25jZVxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICBzdWNjZXNzOiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3BMb2FkZXIoKTtcblxuICAgICAgICAgICAgICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09ICdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5maW5kZXIuJGVtaXR0ZXIuZW1pdCgnY3JlYXRlLWNvbHVtbicsIFBhcmVudHMuY3JlYXRlRXJyb3JDb2x1bW4ocmVzcG9uc2UubWVzc2FnZSlbMF0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8vIHN0YWxlIHJlcXVlc3RcbiAgICAgICAgICAgICAgICBpZiAoVVVJRCAhPT0gWEhSVVVJRCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmV0dXJuIGNhbGxiYWNrKHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBzdGFydExvYWRlcigpIHtcbiAgICAgICAgdGhpcy5sb2FkaW5nSW5kaWNhdG9yID0gUGFyZW50cy5jcmVhdGVMb2FkaW5nQ29sdW1uKCk7XG4gICAgICAgIHRoaXMuZmluZGVyLiRlbWl0dGVyLmVtaXQoJ2NyZWF0ZS1jb2x1bW4nLCB0aGlzLmxvYWRpbmdJbmRpY2F0b3JbMF0pO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmxvYWRpbmdJbmRpY2F0b3I7XG4gICAgfVxuXG4gICAgc3RvcExvYWRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubG9hZGluZ0luZGljYXRvciAmJiB0aGlzLmxvYWRpbmdJbmRpY2F0b3IucmVtb3ZlKCk7XG4gICAgfVxufVxuXG5leHBvcnQgY29uc3QgYjY0X2VuY29kZV91bmljb2RlID0gKHN0cikgPT4ge1xuICAgIHJldHVybiBidG9hKGVuY29kZVVSSUNvbXBvbmVudChzdHIpLnJlcGxhY2UoLyUoWzAtOUEtRl17Mn0pL2csXG4gICAgICAgIGZ1bmN0aW9uIHRvU29saWRCeXRlcyhtYXRjaCwgcDEpIHtcbiAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKCcweCcgKyBwMSk7XG4gICAgICAgIH0pKTtcbn07XG5cbmV4cG9ydCBjb25zdCBiNjRfZGVjb2RlX3VuaWNvZGUgPSAoc3RyKSA9PiB7XG4gICAgcmV0dXJuIGRlY29kZVVSSUNvbXBvbmVudChhdG9iKHN0cikuc3BsaXQoJycpLm1hcChmdW5jdGlvbihjKSB7XG4gICAgICAgIHJldHVybiAnJScgKyAoJzAwJyArIGMuY2hhckNvZGVBdCgwKS50b1N0cmluZygxNikpLnNsaWNlKC0yKTtcbiAgICB9KS5qb2luKCcnKSk7XG59O1xuXG5jb25zdCBnZXRFeHRyYUZvcm1EYXRhID0gKGNvbnRhaW5lcikgPT4ge1xuICAgIGxldCBmb3JtID0gY29udGFpbmVyLmNsb3Nlc3QoJ2Zvcm0nKTtcbiAgICBpZiAoY29udGFpbmVyLmNsb3Nlc3QoJ1tkYXRhLXJlbW9kYWwtaWRdJykubGVuZ3RoKSB7XG4gICAgICAgIGZvcm0gPSAkKCdmb3JtI2JsdWVwcmludHMnKTtcbiAgICB9XG4gICAgY29uc3QgZGF0YSA9IHt9O1xuICAgIGNvbnN0IHVuaXF1ZV9pZCA9IGZvcm0uZmluZCgnW25hbWU9XCJfX3VuaXF1ZV9mb3JtX2lkX19cIl0nKTtcblxuICAgIGRhdGFbJ19fZm9ybS1uYW1lX18nXSA9IGZvcm0uZmluZCgnW25hbWU9XCJfX2Zvcm0tbmFtZV9fXCJdJykudmFsKCk7XG4gICAgZGF0YVsnZm9ybS1ub25jZSddID0gZm9ybS5maW5kKCdbbmFtZT1cImZvcm0tbm9uY2VcIl0nKS52YWwoKTtcblxuICAgIGlmICh1bmlxdWVfaWQubGVuZ3RoKSB7XG4gICAgICAgIGRhdGFbJ19fdW5pcXVlX2Zvcm1faWRfXyddID0gdW5pcXVlX2lkLnZhbCgpO1xuICAgIH1cblxuICAgIHJldHVybiBkYXRhO1xufTtcblxuJChkb2N1bWVudCkub24oJ2NsaWNrJywgJ1tkYXRhLXBhcmVudHNdJywgKGV2ZW50KSA9PiB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcblxuICAgIGNvbnN0IHRhcmdldCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCk7XG4gICAgbGV0IGZpZWxkID0gdGFyZ2V0LmNsb3Nlc3QoJy5wYXJlbnRzLXdyYXBwZXInKS5maW5kKCdpbnB1dFtuYW1lXScpO1xuICAgIGxldCBmaWVsZE5hbWUgPSBmaWVsZC5hdHRyKCduYW1lJyk7XG4gICAgbGV0IHNlbGVjdGVkRmllbGQgPSBudWxsO1xuXG4gICAgaWYgKCFmaWVsZC5sZW5ndGgpIHtcbiAgICAgICAgZmllbGROYW1lID0gdGFyZ2V0LmRhdGEoJ3BhcmVudHMnKTtcbiAgICAgICAgZmllbGQgPSAkKGBbbmFtZT1cIiR7dGFyZ2V0LmRhdGEoJ3BhcmVudHMnKX1cIl1gKS5maXJzdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsID0gJChgW2RhdGEtcmVtb2RhbC1pZD1cIiR7dGFyZ2V0LmRhdGEoJ3JlbW9kYWxUYXJnZXQnKSB8fCAncGFyZW50cyd9XCJdYCk7XG4gICAgY29uc3QgbG9hZGVyID0gbW9kYWwuZmluZCgnLmdyYXYtbG9hZGluZycpO1xuICAgIGNvbnN0IGNvbnRlbnQgPSBtb2RhbC5maW5kKCcucGFyZW50cy1jb250ZW50Jyk7XG5cbiAgICBsb2FkZXIuY3NzKCdkaXNwbGF5JywgJ2Jsb2NrJyk7XG4gICAgY29udGVudC5odG1sKCcnKTtcbiAgICAkLmFqYXgoe1xuICAgICAgICB1cmw6IGAke2dyYXZDb25maWcuY3VycmVudF91cmx9YCxcbiAgICAgICAgbWV0aG9kOiAncG9zdCcsXG4gICAgICAgIGRhdGE6IE9iamVjdC5hc3NpZ24oe30sIGdldEV4dHJhRm9ybURhdGEodGFyZ2V0KSwge1xuICAgICAgICAgICAgcm91dGU6IGI2NF9lbmNvZGVfdW5pY29kZShmaWVsZC52YWwoKSksXG4gICAgICAgICAgICBmaWVsZDogZmllbGQuZGF0YSgnZmllbGROYW1lJyksXG4gICAgICAgICAgICBhY3Rpb246ICdnZXRMZXZlbExpc3RpbmcnLFxuICAgICAgICAgICAgJ2FkbWluLW5vbmNlJzogZ3JhdkNvbmZpZy5hZG1pbl9ub25jZSxcbiAgICAgICAgICAgIGluaXRpYWw6IHRydWVcbiAgICAgICAgfSksXG4gICAgICAgIHN1Y2Nlc3MocmVzcG9uc2UpIHtcbiAgICAgICAgICAgIGxvYWRlci5jc3MoJ2Rpc3BsYXknLCAnbm9uZScpO1xuXG4gICAgICAgICAgICBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSAnZXJyb3InKSB7XG4gICAgICAgICAgICAgICAgY29udGVudC5odG1sKHJlc3BvbnNlLm1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIUluc3RhbmNlc1tgJHtmaWVsZE5hbWV9LSR7bW9kYWwuZGF0YSgncmVtb2RhbElkJyl9YF0pIHtcbiAgICAgICAgICAgICAgICBJbnN0YW5jZXNbYCR7ZmllbGROYW1lfS0ke21vZGFsLmRhdGEoJ3JlbW9kYWxJZCcpfWBdID0gbmV3IFBhcmVudHMoY29udGVudCwgZmllbGQsIHJlc3BvbnNlLmRhdGEpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBJbnN0YW5jZXNbYCR7ZmllbGROYW1lfS0ke21vZGFsLmRhdGEoJ3JlbW9kYWxJZCcpfWBdLmZpbmRlci5yZWxvYWQocmVzcG9uc2UuZGF0YSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG1vZGFsLmRhdGEoJ3BhcmVudHMnLCBJbnN0YW5jZXNbYCR7ZmllbGROYW1lfS0ke21vZGFsLmRhdGEoJ3JlbW9kYWxJZCcpfWBdKTtcbiAgICAgICAgICAgIG1vZGFsLmRhdGEoJ3BhcmVudHMtc2VsZWN0ZWRGaWVsZCcsIGZpZWxkKTtcbiAgICAgICAgfVxuICAgIH0pO1xufSk7XG5cbi8vIGFwcGx5IGZpbmRlciBzZWxlY3Rpb24gdG8gZmllbGRcbiQoZG9jdW1lbnQpLm9uKCdjbGljaycsICdbZGF0YS1yZW1vZGFsLWlkXS5wYXJlbnRzLWNvbnRhaW5lciBbZGF0YS1wYXJlbnRzLXNlbGVjdF0nLCAoZXZlbnQpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9ICQoZXZlbnQuY3VycmVudFRhcmdldCkuY2xvc2VzdCgnW2RhdGEtcmVtb2RhbC1pZF0nKTtcbiAgICBjb25zdCBwYXJlbnRzID0gbW9kYWwuZGF0YSgncGFyZW50cycpO1xuICAgIGNvbnN0IHNlbGVjdGVkRmllbGQgPSBtb2RhbC5kYXRhKCdwYXJlbnRzU2VsZWN0ZWRGaWVsZCcpO1xuICAgIGNvbnN0IGZpbmRlciA9IHBhcmVudHMuZmluZGVyO1xuICAgIGNvbnN0IGZpZWxkID0gcGFyZW50cy5maWVsZDtcbiAgICBjb25zdCBwYXJlbnRMYWJlbCA9IHBhcmVudHMucGFyZW50TGFiZWw7XG4gICAgY29uc3QgcGFyZW50TmFtZSA9IHBhcmVudHMucGFyZW50TmFtZTtcbiAgICBjb25zdCBzZWxlY3Rpb24gPSBmaW5kZXIuZmluZExhc3RBY3RpdmUoKS5pdGVtWzBdO1xuICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0aW9uLl9pdGVtW2ZpbmRlci5jb25maWcudmFsdWVLZXldO1xuICAgIGNvbnN0IG5hbWUgPSBzZWxlY3Rpb24uX2l0ZW1bZmluZGVyLmNvbmZpZy5sYWJlbEtleV07XG5cbiAgICBjb25zb2xlLmxvZygnY2xpY2sgW2RhdGEtcGFyZW50cy1zZWxlY3RdJywgc2VsZWN0ZWRGaWVsZCk7XG4gICAgaWYgKHNlbGVjdGVkRmllbGQuY2xvc2VzdCgnLnJlbW9kYWwnKS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgaW5kZXggPSBmaWVsZC5pbmRleChzZWxlY3RlZEZpZWxkKSAtIDE7XG4gICAgICAgIHNlbGVjdGVkRmllbGQudmFsKHZhbHVlKTtcbiAgICAgICAgJChwYXJlbnRMYWJlbFtpbmRleF0pLnRleHQodmFsdWUpO1xuICAgICAgICAkKHBhcmVudE5hbWVbaW5kZXhdKS50ZXh0KG5hbWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGZpZWxkLnZhbCh2YWx1ZSk7XG4gICAgICAgIHBhcmVudExhYmVsLnRleHQodmFsdWUpO1xuICAgICAgICBwYXJlbnROYW1lLnRleHQobmFtZSk7XG4gICAgICAgIGZpbmRlci5jb25maWcuZGVmYXVsdFBhdGggPSB2YWx1ZTtcblxuICAgIH1cbiAgICBjb25zdCByZW1vZGFsID0gJC5yZW1vZGFsLmxvb2t1cFskKGBbZGF0YS1yZW1vZGFsLWlkPVwiJHttb2RhbC5kYXRhKCdyZW1vZGFsSWQnKX1cIl1gKS5kYXRhKCdyZW1vZGFsJyldO1xuICAgIHJlbW9kYWwuY2xvc2UoKTtcbn0pO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/forms/fields/parents.js\n");
/***/ }),