/******/ (function(modules) { // webpackBootstrap
/******/ 	// install a JSONP callback for chunk loading
/******/ 	function webpackJsonpCallback(data) {
/******/ 		var chunkIds = data[0];
/******/ 		var moreModules = data[1];
/******/ 		var executeModules = data[2];
/******/
/******/ 		// add "moreModules" to the modules object,
/******/ 		// then flag all "chunkIds" as loaded and fire callback
/******/ 		var moduleId, chunkId, i = 0, resolves = [];
/******/ 		for(;i < chunkIds.length; i++) {
/******/ 			chunkId = chunkIds[i];
/******/ 			if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {
/******/ 				resolves.push(installedChunks[chunkId][0]);
/******/ 			}
/******/ 			installedChunks[chunkId] = 0;
/******/ 		}
/******/ 		for(moduleId in moreModules) {
/******/ 			if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
/******/ 				modules[moduleId] = moreModules[moduleId];
/******/ 			}
/******/ 		}
/******/ 		if(parentJsonpFunction) parentJsonpFunction(data);
/******/
/******/ 		while(resolves.length) {
/******/ 			resolves.shift()();
/******/ 		}
/******/
/******/ 		// add entry modules from loaded chunk to deferred list
/******/ 		deferredModules.push.apply(deferredModules, executeModules || []);
/******/
/******/ 		// run deferred modules when all chunks ready
/******/ 		return checkDeferredModules();
/******/ 	};
/******/ 	function checkDeferredModules() {
/******/ 		var result;
/******/ 		for(var i = 0; i < deferredModules.length; i++) {
/******/ 			var deferredModule = deferredModules[i];
/******/ 			var fulfilled = true;
/******/ 			for(var j = 1; j < deferredModule.length; j++) {
/******/ 				var depId = deferredModule[j];
/******/ 				if(installedChunks[depId] !== 0) fulfilled = false;
/******/ 			}
/******/ 			if(fulfilled) {
/******/ 				deferredModules.splice(i--, 1);
/******/ 				result = __webpack_require__(__webpack_require__.s = deferredModule[0]);
/******/ 			}
/******/ 		}
/******/
/******/ 		return result;
/******/ 	}
/******/
/******/ 	// The module cache
/******/ 	var installedModules = {};
/******/
/******/ 	// object to store loaded and loading chunks
/******/ 	// undefined = chunk not loaded, null = chunk preloaded/prefetched
/******/ 	// Promise = chunk loading, 0 = chunk loaded
/******/ 	var installedChunks = {
/******/ 		"site": 0
/******/ 	};
/******/
/******/ 	var deferredModules = [];
/******/
/******/ 	// The require function
/******/ 	function __webpack_require__(moduleId) {
/******/
/******/ 		// Check if module is in cache
/******/ 		if(installedModules[moduleId]) {
/******/ 			return installedModules[moduleId].exports;
/******/ 		}
/******/ 		// Create a new module (and put it into the cache)
/******/ 		var module = installedModules[moduleId] = {
/******/ 			i: moduleId,
/******/ 			l: false,
/******/ 			exports: {}
/******/ 		};
/******/
/******/ 		// Execute the module function
/******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ 		// Flag the module as loaded
/******/ 		module.l = true;
/******/
/******/ 		// Return the exports of the module
/******/ 		return module.exports;
/******/ 	}
/******/
/******/
/******/ 	// expose the modules object (__webpack_modules__)
/******/ 	__webpack_require__.m = modules;
/******/
/******/ 	// expose the module cache
/******/ 	__webpack_require__.c = installedModules;
/******/
/******/ 	// define getter function for harmony exports
/******/ 	__webpack_require__.d = function(exports, name, getter) {
/******/ 		if(!__webpack_require__.o(exports, name)) {
/******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
/******/ 		}
/******/ 	};
/******/
/******/ 	// define __esModule on exports
/******/ 	__webpack_require__.r = function(exports) {
/******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
/******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
/******/ 		}
/******/ 		Object.defineProperty(exports, '__esModule', { value: true });
/******/ 	};
/******/
/******/ 	// create a fake namespace object
/******/ 	// mode & 1: value is a module id, require it
/******/ 	// mode & 2: merge all properties of value into the ns
/******/ 	// mode & 4: return value when already ns object
/******/ 	// mode & 8|1: behave like require
/******/ 	__webpack_require__.t = function(value, mode) {
/******/ 		if(mode & 1) value = __webpack_require__(value);
/******/ 		if(mode & 8) return value;
/******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
/******/ 		var ns = Object.create(null);
/******/ 		__webpack_require__.r(ns);
/******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
/******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
/******/ 		return ns;
/******/ 	};
/******/
/******/ 	// getDefaultExport function for compatibility with non-harmony modules
/******/ 	__webpack_require__.n = function(module) {
/******/ 		var getter = module && module.__esModule ?
/******/ 			function getDefault() { return module['default']; } :
/******/ 			function getModuleExports() { return module; };
/******/ 		__webpack_require__.d(getter, 'a', getter);
/******/ 		return getter;
/******/ 	};
/******/
/******/ 	// Object.prototype.hasOwnProperty.call
/******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ 	// __webpack_public_path__
/******/ 	__webpack_require__.p = "";
/******/
/******/ 	var jsonpArray = window["webpackJsonp"] = window["webpackJsonp"] || [];
/******/ 	var oldJsonpFunction = jsonpArray.push.bind(jsonpArray);
/******/ 	jsonpArray.push = webpackJsonpCallback;
/******/ 	jsonpArray = jsonpArray.slice();
/******/ 	for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);
/******/ 	var parentJsonpFunction = oldJsonpFunction;
/******/
/******/
/******/ 	// add entry module to deferred list
/******/ 	deferredModules.push(["./app/main.js","vendor"]);
/******/ 	// run deferred modules when ready
/******/ 	return checkDeferredModules();
/******/ })
/************************************************************************/
/******/ ({

/***/ "./app/fields/array.js":
/*!*****************************!*\
  !*** ./app/fields/array.js ***!
  \*****************************/
/*! exports provided: default, Instance */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ArrayField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Instance\", function() { return Instance; });\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 sortablejs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\nvar body = jquery__WEBPACK_IMPORTED_MODULE_0___default()('body');\nvar Template = /*#__PURE__*/function () {\n  function Template(container) {\n    _classCallCheck(this, Template);\n    this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n    if (this.getName() === undefined) {\n      this.container = this.container.closest('[data-grav-array-name]');\n    }\n  }\n  return _createClass(Template, [{\n    key: \"getName\",\n    value: function getName() {\n      return this.container.data('grav-array-name') || '';\n    }\n  }, {\n    key: \"getKeyPlaceholder\",\n    value: function getKeyPlaceholder() {\n      return this.container.data('grav-array-keyname') || 'Key';\n    }\n  }, {\n    key: \"getValuePlaceholder\",\n    value: function getValuePlaceholder() {\n      return this.container.data('grav-array-valuename') || 'Value';\n    }\n  }, {\n    key: \"isValueOnly\",\n    value: function isValueOnly() {\n      return this.container.find('[data-grav-array-mode=\"value_only\"]:first').length || false;\n    }\n  }, {\n    key: \"isTextArea\",\n    value: function isTextArea() {\n      return this.container.data('grav-array-textarea') || false;\n    }\n  }, {\n    key: \"shouldBeDisabled\",\n    value: function shouldBeDisabled() {\n      // check for toggleables, if field is toggleable and it's not enabled, render disabled\n      var toggle = this.container.closest('.form-field').find('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]');\n      return toggle.length && toggle.is(':not(:checked)');\n    }\n  }, {\n    key: \"getNewRow\",\n    value: function getNewRow() {\n      var tpl = '';\n      var value = this.isTextArea() ? \"<textarea \".concat(this.shouldBeDisabled() ? 'disabled=\"disabled\"' : '', \" data-grav-array-type=\\\"value\\\" name=\\\"\\\" placeholder=\\\"\").concat(this.getValuePlaceholder(), \"\\\"></textarea>\") : \"<input \".concat(this.shouldBeDisabled() ? 'disabled=\"disabled\"' : '', \" data-grav-array-type=\\\"value\\\" type=\\\"text\\\" name=\\\"\\\" value=\\\"\\\"  placeholder=\\\"\").concat(this.getValuePlaceholder(), \"\\\" />\");\n      if (this.isValueOnly()) {\n        tpl += \"\\n            <div class=\\\"form-row array-field-value_only\\\" data-grav-array-type=\\\"row\\\">\\n                <span data-grav-array-action=\\\"sort\\\" class=\\\"fa fa-bars\\\"></span>\\n                \".concat(value, \"\\n            \");\n      } else {\n        tpl += \"\\n            <div class=\\\"form-row\\\" data-grav-array-type=\\\"row\\\">\\n                <span data-grav-array-action=\\\"sort\\\" class=\\\"fa fa-bars\\\"></span>\\n                <input \".concat(this.shouldBeDisabled() ? 'disabled=\"disabled\"' : '', \" data-grav-array-type=\\\"key\\\" type=\\\"text\\\" value=\\\"\\\" placeholder=\\\"\").concat(this.getKeyPlaceholder(), \"\\\" />\\n                \").concat(value, \"\\n            \");\n      }\n      tpl += \"\\n            <span data-grav-array-action=\\\"rem\\\" class=\\\"fa fa-minus\\\"></span>\\n            <span data-grav-array-action=\\\"add\\\" class=\\\"fa fa-plus\\\"></span>\\n        </div>\";\n      return tpl;\n    }\n  }]);\n}();\nvar ArrayField = /*#__PURE__*/function () {\n  function ArrayField() {\n    var _this = this;\n    _classCallCheck(this, ArrayField);\n    body.on('input', '[data-grav-array-type=\"key\"], [data-grav-array-type=\"value\"]', function (event) {\n      return _this.actionInput(event);\n    });\n    body.on('click touch', '[data-grav-array-action]:not([data-grav-array-action=\"sort\"])', function (event) {\n      return _this.actionEvent(event);\n    });\n    this.arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-field=\"array\"]').each(function (index, list) {\n      return _this.addArray(list);\n    });\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', this._onAddedNodes.bind(this));\n  }\n  return _createClass(ArrayField, [{\n    key: \"addArray\",\n    value: function addArray(list) {\n      list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n      list.find('[data-grav-array-type=\"container\"]').each(function (index, container) {\n        container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n        if (container.data('array-sort') || container[0].hasAttribute('data-array-nosort')) {\n          return;\n        }\n        container.data('array-sort', new sortablejs__WEBPACK_IMPORTED_MODULE_1__[\"default\"](container.get(0), {\n          handle: '.fa-bars',\n          animation: 150\n        }));\n      });\n    }\n  }, {\n    key: \"actionInput\",\n    value: function actionInput(event) {\n      var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n      var type = element.data('grav-array-type');\n      this._setTemplate(element);\n      var template = element.data('array-template');\n      var keyElement = type === 'key' ? element : element.siblings('[data-grav-array-type=\"key\"]:first');\n      var valueElement = type === 'value' ? element : element.siblings('[data-grav-array-type=\"value\"]:first');\n      var escaped_name = !template.isValueOnly() ? keyElement.val() : this.getIndexFor(element);\n      escaped_name = escaped_name.toString().replace(/\\[/g, '%5B').replace(/]/g, '%5D');\n      var name = \"\".concat(template.getName(), \"[\").concat(escaped_name, \"]\");\n      if (!template.isValueOnly() && !keyElement.val() && !valueElement.val()) {\n        valueElement.attr('name', '');\n      } else {\n        // valueElement.attr('name', !valueElement.val() ? template.getName() : name);\n        valueElement.attr('name', name);\n      }\n      this.refreshNames(template);\n    }\n  }, {\n    key: \"actionEvent\",\n    value: function actionEvent(event) {\n      event && event.preventDefault();\n      var element = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n      var action = element.data('grav-array-action');\n      var container = element.parents('[data-grav-array-type=\"container\"]');\n      this._setTemplate(element);\n      this[\"\".concat(action, \"Action\")](element);\n      var siblings = container.find('> div');\n      container[siblings.length > 1 ? 'removeClass' : 'addClass']('one-child');\n    }\n  }, {\n    key: \"addAction\",\n    value: function addAction(element) {\n      var template = element.data('array-template');\n      var row = element.closest('[data-grav-array-type=\"row\"]');\n      row.after(template.getNewRow());\n    }\n  }, {\n    key: \"remAction\",\n    value: function remAction(element) {\n      var template = element.data('array-template');\n      var row = element.closest('[data-grav-array-type=\"row\"]');\n      var isLast = !row.siblings().length;\n      if (isLast) {\n        var newRow = jquery__WEBPACK_IMPORTED_MODULE_0___default()(template.getNewRow());\n        row.after(newRow);\n        newRow.find('[data-grav-array-type=\"value\"]:last').attr('name', template.getName());\n      }\n      row.remove();\n      this.refreshNames(template);\n    }\n  }, {\n    key: \"refreshNames\",\n    value: function refreshNames(template) {\n      if (!template.isValueOnly()) {\n        return;\n      }\n      var row = template.container.find('> div > [data-grav-array-type=\"row\"]');\n      var inputs = row.find('[name]:not([name=\"\"])');\n      inputs.each(function (index, input) {\n        input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n        var name = input.attr('name');\n        name = name.replace(/\\[\\d+\\]$/, \"[\".concat(index, \"]\"));\n        input.attr('name', name);\n      });\n      if (!inputs.length) {\n        row.find('[data-grav-array-type=\"value\"]').attr('name', template.getName());\n      }\n    }\n  }, {\n    key: \"getIndexFor\",\n    value: function getIndexFor(element) {\n      var template = element.data('array-template');\n      var row = element.closest('[data-grav-array-type=\"row\"]');\n      return template.container.find(\"\".concat(template.isValueOnly() ? '> div ' : '', \" > [data-grav-array-type=\\\"row\\\"]\")).index(row);\n    }\n  }, {\n    key: \"_setTemplate\",\n    value: function _setTemplate(element) {\n      if (!element.data('array-template')) {\n        element.data('array-template', new Template(element.closest('[data-grav-array-name]')));\n      }\n    }\n  }, {\n    key: \"_onAddedNodes\",\n    value: function _onAddedNodes(event, target /* , record, instance */) {\n      var _this2 = this;\n      var arrays = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('[data-grav-field=\"array\"]');\n      if (!arrays.length) {\n        return;\n      }\n      arrays.each(function (index, list) {\n        list = jquery__WEBPACK_IMPORTED_MODULE_0___default()(list);\n        if (!~_this2.arrays.index(list)) {\n          _this2.addArray(list);\n        }\n      });\n    }\n  }]);\n}();\n\nvar Instance = new ArrayField();//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2FycmF5LmpzPzFlMzMiXSwibmFtZXMiOlsiYm9keSIsIiQiLCJUZW1wbGF0ZSIsImNvbnRhaW5lciIsIl9jbGFzc0NhbGxDaGVjayIsImdldE5hbWUiLCJ1bmRlZmluZWQiLCJjbG9zZXN0IiwiX2NyZWF0ZUNsYXNzIiwia2V5IiwidmFsdWUiLCJkYXRhIiwiZ2V0S2V5UGxhY2Vob2xkZXIiLCJnZXRWYWx1ZVBsYWNlaG9sZGVyIiwiaXNWYWx1ZU9ubHkiLCJmaW5kIiwibGVuZ3RoIiwiaXNUZXh0QXJlYSIsInNob3VsZEJlRGlzYWJsZWQiLCJ0b2dnbGUiLCJpcyIsImdldE5ld1JvdyIsInRwbCIsImNvbmNhdCIsIkFycmF5RmllbGQiLCJfdGhpcyIsIm9uIiwiZXZlbnQiLCJhY3Rpb25JbnB1dCIsImFjdGlvbkV2ZW50IiwiYXJyYXlzIiwiZWFjaCIsImluZGV4IiwibGlzdCIsImFkZEFycmF5IiwiX29uQWRkZWROb2RlcyIsImJpbmQiLCJoYXNBdHRyaWJ1dGUiLCJTb3J0YWJsZSIsImdldCIsImhhbmRsZSIsImFuaW1hdGlvbiIsImVsZW1lbnQiLCJ0YXJnZXQiLCJ0eXBlIiwiX3NldFRlbXBsYXRlIiwidGVtcGxhdGUiLCJrZXlFbGVtZW50Iiwic2libGluZ3MiLCJ2YWx1ZUVsZW1lbnQiLCJlc2NhcGVkX25hbWUiLCJ2YWwiLCJnZXRJbmRleEZvciIsInRvU3RyaW5nIiwicmVwbGFjZSIsIm5hbWUiLCJhdHRyIiwicmVmcmVzaE5hbWVzIiwicHJldmVudERlZmF1bHQiLCJhY3Rpb24iLCJwYXJlbnRzIiwiYWRkQWN0aW9uIiwicm93IiwiYWZ0ZXIiLCJyZW1BY3Rpb24iLCJpc0xhc3QiLCJuZXdSb3ciLCJyZW1vdmUiLCJpbnB1dHMiLCJpbnB1dCIsIl90aGlzMiIsIkluc3RhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBdUI7QUFDVztBQUVsQyxJQUFJQSxJQUFJLEdBQUdDLDZDQUFDLENB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O0lBQUFDLEtBQUEsRUFFRCxTQUFBbUMsYUFBYUgsT0FBTyxFQUFFO01BQ2xCLElBQUksQ0FBQ0EsT0FBTyxDQUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEVBQUU7UUFDakMrQixPQUFPLENBQUMvQixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsSUFBSVQsUUFBUSxDQUFDd0MsT0FBTyxDQUFDbkMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztNQUMzRjtJQUNKO0VBQUM7SUFBQUUsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQXlCLGNBQWNSLEtBQUssRUFBRWdCLE1BQU0sMkJBQTBCO01BQUEsSUFBQTJCLE1BQUE7TUFDakQsSUFBSXhDLE1BQU0sR0FBRzdCLDZDQUFDLENBQUMwQyxNQUFNLENBQUMsQ0FBQzVCLElBQUksQ0FBQywyQkFBMkIsQ0FBQztNQUN4RCxJQUFJLENBQUNlLE1BQU0sQ0FBQ2QsTUFBTSxFQUFFO1FBQUU7TUFBUTtNQUU5QmMsTUFBTSxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsS0FBSyxFQUFFQyxJQUFJLEVBQUs7UUFDekJBLElBQUksR0FBR2hDLDZDQUFDLENBQUNnQyxJQUFJLENBQUM7UUFDZCxJQUFJLENBQUMsQ0FBQ3FDLE1BQUksQ0FBQ3hDLE1BQU0sQ0FBQ0UsS0FBSyxDQUFDQyxJQUFJLENBQUMsRUFBRTtVQUMzQnFDLE1BQUksQ0FBQ3BDLFFBQVEsQ0FBQ0QsSUFBSSxDQUFDO1FBQ3ZCO01BQ0osQ0FBQyxDQUFDO0lBQ047RUFBQztBQUFBO0FBOUgwQjtBQWlJeEIsSUFBSXNDLFFBQVEsR0FBRyxJQUFJL0MsVUFBVSxDQUFDLENBQUMiLCJmaWxlIjoiLi9hcHAvZmllbGRzL2FycmF5LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICQgZnJvbSAnanF1ZXJ5JztcbmltcG9ydCBTb3J0YWJsZSBmcm9tICdzb3J0YWJsZWpzJztcblxubGV0IGJvZHkgPSAkKCdib2R5Jyk7XG5cbmNsYXNzIFRlbXBsYXRlIHtcbiAgICBjb25zdHJ1Y3Rvcihjb250YWluZXIpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG5cbiAgICAgICAgaWYgKHRoaXMuZ2V0TmFtZSgpID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyID0gdGhpcy5jb250YWluZXIuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1hcnJheS1uYW1lXScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0TmFtZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ2dyYXYtYXJyYXktbmFtZScpIHx8ICcnO1xuICAgIH1cblxuICAgIGdldEtleVBsYWNlaG9sZGVyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb250YWluZXIuZGF0YSgnZ3Jhdi1hcnJheS1rZXluYW1lJykgfHwgJ0tleSc7XG4gICAgfVxuXG4gICAgZ2V0VmFsdWVQbGFjZWhvbGRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ2dyYXYtYXJyYXktdmFsdWVuYW1lJykgfHwgJ1ZhbHVlJztcbiAgICB9XG5cbiAgICBpc1ZhbHVlT25seSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktbW9kZT1cInZhbHVlX29ubHlcIl06Zmlyc3QnKS5sZW5ndGggfHwgZmFsc2U7XG4gICAgfVxuXG4gICAgaXNUZXh0QXJlYSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ2dyYXYtYXJyYXktdGV4dGFyZWEnKSB8fCBmYWxzZTtcbiAgICB9XG5cbiAgICBzaG91bGRCZURpc2FibGVkKCkge1xuICAgICAgICAvLyBjaGVjayBmb3IgdG9nZ2xlYWJsZXMsIGlmIGZpZWxkIGlzIHRvZ2dsZWFibGUgYW5kIGl0J3Mgbm90IGVuYWJsZWQsIHJlbmRlciBkaXNhYmxlZFxuICAgICAgICBsZXQgdG9nZ2xlID0gdGhpcy5jb250YWluZXIuY2xvc2VzdCgnLmZvcm0tZmllbGQnKS5maW5kKCdbZGF0YS1ncmF2LWZpZWxkPVwidG9nZ2xlYWJsZVwiXSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0nKTtcbiAgICAgICAgcmV0dXJuIHRvZ2dsZS5sZW5ndGggJiYgdG9nZ2xlLmlzKCc6bm90KDpjaGVja2VkKScpO1xuICAgIH1cblxuICAgIGdldE5ld1JvdygpIHtcbiAgICAgICAgbGV0IHRwbCA9ICcnO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuaXNUZXh0QXJlYSgpXG4gICAgICAgICAgICA/IGA8dGV4dGFyZWEgJHt0aGlzLnNob3VsZEJlRGlzYWJsZWQoKSA/ICdkaXNhYmxlZD1cImRpc2FibGVkXCInIDogJyd9IGRhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIiBuYW1lPVwiXCIgcGxhY2Vob2xkZXI9XCIke3RoaXMuZ2V0VmFsdWVQbGFjZWhvbGRlcigpfVwiPjwvdGV4dGFyZWE+YFxuICAgICAgICAgICAgOiBgPGlucHV0ICR7dGhpcy5zaG91bGRCZURpc2FibGVkKCkgPyAnZGlzYWJsZWQ9XCJkaXNhYmxlZFwiJyA6ICcnfSBkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCIgdHlwZT1cInRleHRcIiBuYW1lPVwiXCIgdmFsdWU9XCJcIiAgcGxhY2Vob2xkZXI9XCIke3RoaXMuZ2V0VmFsdWVQbGFjZWhvbGRlcigpfVwiIC8+YDtcblxuICAgICAgICBpZiAodGhpcy5pc1ZhbHVlT25seSgpKSB7XG4gICAgICAgICAgICB0cGwgKz0gYFxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IGFycmF5LWZpZWxkLXZhbHVlX29ubHlcIiBkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiPlxuICAgICAgICAgICAgICAgIDxzcGFuIGRhdGEtZ3Jhdi1hcnJheS1hY3Rpb249XCJzb3J0XCIgY2xhc3M9XCJmYSBmYS1iYXJzXCI+PC9zcGFuPlxuICAgICAgICAgICAgICAgICR7dmFsdWV9XG4gICAgICAgICAgICBgO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdHBsICs9IGBcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvd1wiIGRhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cInNvcnRcIiBjbGFzcz1cImZhIGZhLWJhcnNcIj48L3NwYW4+XG4gICAgICAgICAgICAgICAgPGlucHV0ICR7dGhpcy5zaG91bGRCZURpc2FibGVkKCkgPyAnZGlzYWJsZWQ9XCJkaXNhYmxlZFwiJyA6ICcnfSBkYXRhLWdyYXYtYXJyYXktdHlwZT1cImtleVwiIHR5cGU9XCJ0ZXh0XCIgdmFsdWU9XCJcIiBwbGFjZWhvbGRlcj1cIiR7dGhpcy5nZXRLZXlQbGFjZWhvbGRlcigpfVwiIC8+XG4gICAgICAgICAgICAgICAgJHt2YWx1ZX1cbiAgICAgICAgICAgIGA7XG4gICAgICAgIH1cblxuICAgICAgICB0cGwgKz0gYFxuICAgICAgICAgICAgPHNwYW4gZGF0YS1ncmF2LWFycmF5LWFjdGlvbj1cInJlbVwiIGNsYXNzPVwiZmEgZmEtbWludXNcIj48L3NwYW4+XG4gICAgICAgICAgICA8c3BhbiBkYXRhLWdyYXYtYXJyYXktYWN0aW9uPVwiYWRkXCIgY2xhc3M9XCJmYSBmYS1wbHVzXCI+PC9zcGFuPlxuICAgICAgICA8L2Rpdj5gO1xuXG4gICAgICAgIHJldHVybiB0cGw7XG4gICAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcnJheUZpZWxkIHtcbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgYm9keS5vbignaW5wdXQnLCAnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwia2V5XCJdLCBbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJ2YWx1ZVwiXScsIChldmVudCkgPT4gdGhpcy5hY3Rpb25JbnB1dChldmVudCkpO1xuICAgICAgICBib2R5Lm9uKCdjbGljayB0b3VjaCcsICdbZGF0YS1ncmF2LWFycmF5LWFjdGlvbl06bm90KFtkYXRhLWdyYXYtYXJyYXktYWN0aW9uPVwic29ydFwiXSknLCAoZXZlbnQpID0+IHRoaXMuYWN0aW9uRXZlbnQoZXZlbnQpKTtcblxuICAgICAgICB0aGlzLmFycmF5cyA9ICQoKTtcblxuICAgICAgICAkKCdbZGF0YS1ncmF2LWZpZWxkPVwiYXJyYXlcIl0nKS5lYWNoKChpbmRleCwgbGlzdCkgPT4gdGhpcy5hZGRBcnJheShsaXN0KSk7XG4gICAgICAgICQoJ2JvZHknKS5vbignbXV0YXRpb24uX2dyYXYnLCB0aGlzLl9vbkFkZGVkTm9kZXMuYmluZCh0aGlzKSk7XG4gICAgfVxuXG4gICAgYWRkQXJyYXkobGlzdCkge1xuICAgICAgICBsaXN0ID0gJChsaXN0KTtcblxuICAgICAgICBsaXN0LmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cImNvbnRhaW5lclwiXScpLmVhY2goKGluZGV4LCBjb250YWluZXIpID0+IHtcbiAgICAgICAgICAgIGNvbnRhaW5lciA9ICQoY29udGFpbmVyKTtcbiAgICAgICAgICAgIGlmIChjb250YWluZXIuZGF0YSgnYXJyYXktc29ydCcpIHx8IGNvbnRhaW5lclswXS5oYXNBdHRyaWJ1dGUoJ2RhdGEtYXJyYXktbm9zb3J0JykpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgICAgIGNvbnRhaW5lci5kYXRhKCdhcnJheS1zb3J0JywgbmV3IFNvcnRhYmxlKGNvbnRhaW5lci5nZXQoMCksIHtcbiAgICAgICAgICAgICAgICBoYW5kbGU6ICcuZmEtYmFycycsXG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAxNTBcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgYWN0aW9uSW5wdXQoZXZlbnQpIHtcbiAgICAgICAgbGV0IGVsZW1lbnQgPSAkKGV2ZW50LnRhcmdldCk7XG4gICAgICAgIGxldCB0eXBlID0gZWxlbWVudC5kYXRhKCdncmF2LWFycmF5LXR5cGUnKTtcblxuICAgICAgICB0aGlzLl9zZXRUZW1wbGF0ZShlbGVtZW50KTtcblxuICAgICAgICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgIGxldCBrZXlFbGVtZW50ID0gdHlwZSA9PT0gJ2tleScgPyBlbGVtZW50IDogZWxlbWVudC5zaWJsaW5ncygnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwia2V5XCJdOmZpcnN0Jyk7XG4gICAgICAgIGxldCB2YWx1ZUVsZW1lbnQgPSB0eXBlID09PSAndmFsdWUnID8gZWxlbWVudCA6IGVsZW1lbnQuc2libGluZ3MoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdOmZpcnN0Jyk7XG5cbiAgICAgICAgbGV0IGVzY2FwZWRfbmFtZSA9ICF0ZW1wbGF0ZS5pc1ZhbHVlT25seSgpID8ga2V5RWxlbWVudC52YWwoKSA6IHRoaXMuZ2V0SW5kZXhGb3IoZWxlbWVudCk7XG4gICAgICAgIGVzY2FwZWRfbmFtZSA9IGVzY2FwZWRfbmFtZS50b1N0cmluZygpLnJlcGxhY2UoL1xcWy9nLCAnJTVCJykucmVwbGFjZSgvXS9nLCAnJTVEJyk7XG4gICAgICAgIGxldCBuYW1lID0gYCR7dGVtcGxhdGUuZ2V0TmFtZSgpfVske2VzY2FwZWRfbmFtZX1dYDtcblxuICAgICAgICBpZiAoIXRlbXBsYXRlLmlzVmFsdWVPbmx5KCkgJiYgKCFrZXlFbGVtZW50LnZhbCgpICYmICF2YWx1ZUVsZW1lbnQudmFsKCkpKSB7XG4gICAgICAgICAgICB2YWx1ZUVsZW1lbnQuYXR0cignbmFtZScsICcnKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHZhbHVlRWxlbWVudC5hdHRyKCduYW1lJywgIXZhbHVlRWxlbWVudC52YWwoKSA/IHRlbXBsYXRlLmdldE5hbWUoKSA6IG5hbWUpO1xuICAgICAgICAgICAgdmFsdWVFbGVtZW50LmF0dHIoJ25hbWUnLCBuYW1lKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVmcmVzaE5hbWVzKHRlbXBsYXRlKTtcbiAgICB9XG5cbiAgICBhY3Rpb25FdmVudChldmVudCkge1xuICAgICAgICBldmVudCAmJiBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBsZXQgZWxlbWVudCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGFjdGlvbiA9IGVsZW1lbnQuZGF0YSgnZ3Jhdi1hcnJheS1hY3Rpb24nKTtcbiAgICAgICAgbGV0IGNvbnRhaW5lciA9IGVsZW1lbnQucGFyZW50cygnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwiY29udGFpbmVyXCJdJyk7XG5cbiAgICAgICAgdGhpcy5fc2V0VGVtcGxhdGUoZWxlbWVudCk7XG5cbiAgICAgICAgdGhpc1tgJHthY3Rpb259QWN0aW9uYF0oZWxlbWVudCk7XG5cbiAgICAgICAgbGV0IHNpYmxpbmdzID0gY29udGFpbmVyLmZpbmQoJz4gZGl2Jyk7XG4gICAgICAgIGNvbnRhaW5lcltzaWJsaW5ncy5sZW5ndGggPiAxID8gJ3JlbW92ZUNsYXNzJyA6ICdhZGRDbGFzcyddKCdvbmUtY2hpbGQnKTtcbiAgICB9XG5cbiAgICBhZGRBY3Rpb24oZWxlbWVudCkge1xuICAgICAgICBsZXQgdGVtcGxhdGUgPSBlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJyk7XG4gICAgICAgIGxldCByb3cgPSBlbGVtZW50LmNsb3Nlc3QoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXScpO1xuXG4gICAgICAgIHJvdy5hZnRlcih0ZW1wbGF0ZS5nZXROZXdSb3coKSk7XG4gICAgfVxuXG4gICAgcmVtQWN0aW9uKGVsZW1lbnQpIHtcbiAgICAgICAgbGV0IHRlbXBsYXRlID0gZWxlbWVudC5kYXRhKCdhcnJheS10ZW1wbGF0ZScpO1xuICAgICAgICBsZXQgcm93ID0gZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LXR5cGU9XCJyb3dcIl0nKTtcbiAgICAgICAgbGV0IGlzTGFzdCA9ICFyb3cuc2libGluZ3MoKS5sZW5ndGg7XG5cbiAgICAgICAgaWYgKGlzTGFzdCkge1xuICAgICAgICAgICAgbGV0IG5ld1JvdyA9ICQodGVtcGxhdGUuZ2V0TmV3Um93KCkpO1xuICAgICAgICAgICAgcm93LmFmdGVyKG5ld1Jvdyk7XG4gICAgICAgICAgICBuZXdSb3cuZmluZCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwidmFsdWVcIl06bGFzdCcpLmF0dHIoJ25hbWUnLCB0ZW1wbGF0ZS5nZXROYW1lKCkpO1xuICAgICAgICB9XG5cbiAgICAgICAgcm93LnJlbW92ZSgpO1xuICAgICAgICB0aGlzLnJlZnJlc2hOYW1lcyh0ZW1wbGF0ZSk7XG4gICAgfVxuXG4gICAgcmVmcmVzaE5hbWVzKHRlbXBsYXRlKSB7XG4gICAgICAgIGlmICghdGVtcGxhdGUuaXNWYWx1ZU9ubHkoKSkgeyByZXR1cm47IH1cblxuICAgICAgICBsZXQgcm93ID0gdGVtcGxhdGUuY29udGFpbmVyLmZpbmQoJz4gZGl2ID4gW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdJyk7XG4gICAgICAgIGxldCBpbnB1dHMgPSByb3cuZmluZCgnW25hbWVdOm5vdChbbmFtZT1cIlwiXSknKTtcblxuICAgICAgICBpbnB1dHMuZWFjaCgoaW5kZXgsIGlucHV0KSA9PiB7XG4gICAgICAgICAgICBpbnB1dCA9ICQoaW5wdXQpO1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBpbnB1dC5hdHRyKCduYW1lJyk7XG4gICAgICAgICAgICBuYW1lID0gbmFtZS5yZXBsYWNlKC9cXFtcXGQrXFxdJC8sIGBbJHtpbmRleH1dYCk7XG4gICAgICAgICAgICBpbnB1dC5hdHRyKCduYW1lJywgbmFtZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmICghaW5wdXRzLmxlbmd0aCkge1xuICAgICAgICAgICAgcm93LmZpbmQoJ1tkYXRhLWdyYXYtYXJyYXktdHlwZT1cInZhbHVlXCJdJykuYXR0cignbmFtZScsIHRlbXBsYXRlLmdldE5hbWUoKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRJbmRleEZvcihlbGVtZW50KSB7XG4gICAgICAgIGxldCB0ZW1wbGF0ZSA9IGVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnKTtcbiAgICAgICAgbGV0IHJvdyA9IGVsZW1lbnQuY2xvc2VzdCgnW2RhdGEtZ3Jhdi1hcnJheS10eXBlPVwicm93XCJdJyk7XG5cbiAgICAgICAgcmV0dXJuIHRlbXBsYXRlLmNvbnRhaW5lci5maW5kKGAke3RlbXBsYXRlLmlzVmFsdWVPbmx5KCkgPyAnPiBkaXYgJyA6ICcnfSA+IFtkYXRhLWdyYXYtYXJyYXktdHlwZT1cInJvd1wiXWApLmluZGV4KHJvdyk7XG4gICAgfVxuXG4gICAgX3NldFRlbXBsYXRlKGVsZW1lbnQpIHtcbiAgICAgICAgaWYgKCFlbGVtZW50LmRhdGEoJ2FycmF5LXRlbXBsYXRlJykpIHtcbiAgICAgICAgICAgIGVsZW1lbnQuZGF0YSgnYXJyYXktdGVtcGxhdGUnLCBuZXcgVGVtcGxhdGUoZWxlbWVudC5jbG9zZXN0KCdbZGF0YS1ncmF2LWFycmF5LW5hbWVdJykpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9vbkFkZGVkTm9kZXMoZXZlbnQsIHRhcmdldC8qICwgcmVjb3JkLCBpbnN0YW5jZSAqLykge1xuICAgICAgICBsZXQgYXJyYXlzID0gJCh0YXJnZXQpLmZpbmQoJ1tkYXRhLWdyYXYtZmllbGQ9XCJhcnJheVwiXScpO1xuICAgICAgICBpZiAoIWFycmF5cy5sZW5ndGgpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgYXJyYXlzLmVhY2goKGluZGV4LCBsaXN0KSA9PiB7XG4gICAgICAgICAgICBsaXN0ID0gJChsaXN0KTtcbiAgICAgICAgICAgIGlmICghfnRoaXMuYXJyYXlzLmluZGV4KGxpc3QpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5hZGRBcnJheShsaXN0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxufVxuXG5leHBvcnQgbGV0IEluc3RhbmNlID0gbmV3IEFycmF5RmllbGQoKTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/fields/array.js\n");

/***/ }),

/***/ "./app/fields/file.js":
/*!****************************!*\
  !*** ./app/fields/file.js ***!
  \****************************/
/*! exports provided: default, Instances */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return FilesField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Instances\", function() { return Instances; });\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 dropzone__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! dropzone */ \"./node_modules/dropzone/dist/dropzone.js\");\n/* harmony import */ var dropzone__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(dropzone__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-form */ \"grav-form\");\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_form__WEBPACK_IMPORTED_MODULE_2__);\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\n\n\n// import EXIF from 'exif-js';\n\n\n// translations\nvar Dictionary = {\n  dictCancelUpload: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD,\n  dictCancelUploadConfirmation: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_CANCEL_UPLOAD_CONFIRMATION,\n  dictDefaultMessage: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_DEFAULT_MESSAGE,\n  dictFallbackMessage: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_FALLBACK_MESSAGE,\n  dictFallbackText: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_FALLBACK_TEXT,\n  dictFileTooBig: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_FILE_TOO_BIG,\n  dictInvalidFileType: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_INVALID_FILE_TYPE,\n  dictMaxFilesExceeded: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_MAX_FILES_EXCEEDED,\n  dictRemoveFile: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_REMOVE_FILE,\n  dictRemoveFileConfirmation: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_REMOVE_FILE_CONFIRMATION,\n  dictResponseError: grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DROPZONE_RESPONSE_ERROR\n};\ndropzone__WEBPACK_IMPORTED_MODULE_1___default.a.autoDiscover = false;\nvar DropzoneMediaConfig = {\n  createImageThumbnails: {\n    thumbnailWidth: 150\n  },\n  addRemoveLinks: false,\n  dictDefaultMessage: Dictionary.dictDefaultMessage,\n  dictRemoveFileConfirmation: Dictionary.dictRemoveFileConfirmation,\n  previewTemplate: ''\n};\n\n// window.EXIF = EXIF;\nvar FilesField = /*#__PURE__*/function () {\n  function FilesField() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref$container = _ref.container,\n      container = _ref$container === void 0 ? '.dropzone.files-upload' : _ref$container,\n      _ref$options = _ref.options,\n      options = _ref$options === void 0 ? {} : _ref$options;\n    _classCallCheck(this, FilesField);\n    this.container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n    if (!this.container.length) {\n      return;\n    }\n    this.urls = {};\n    DropzoneMediaConfig.previewTemplate = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#dropzone-template').html();\n    this.options = Object.assign({}, Dictionary, DropzoneMediaConfig, {\n      klass: this,\n      url: this.container.data('file-url-add') || grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].current_url,\n      acceptedFiles: this.container.data('media-types'),\n      init: this.initDropzone\n    }, this.container.data('dropzone-options'), options);\n    this.dropzone = new dropzone__WEBPACK_IMPORTED_MODULE_1___default.a(container, this.options);\n    this.dropzone.on('complete', this.onDropzoneComplete.bind(this));\n    this.dropzone.on('success', this.onDropzoneSuccess.bind(this));\n    this.dropzone.on('removedfile', this.onDropzoneRemovedFile.bind(this));\n    this.dropzone.on('sending', this.onDropzoneSending.bind(this));\n    this.dropzone.on('error', this.onDropzoneError.bind(this));\n  }\n  return _createClass(FilesField, [{\n    key: \"initDropzone\",\n    value: function initDropzone() {\n      var _this = this;\n      var files = this.options.klass.container.find('[data-file]');\n      var dropzone = this;\n      if (!files.length) {\n        return;\n      }\n      files.each(function (index, file) {\n        file = jquery__WEBPACK_IMPORTED_MODULE_0___default()(file);\n        var data = file.data('file');\n        var mock = {\n          name: data.name,\n          size: data.size,\n          type: data.type,\n          status: dropzone__WEBPACK_IMPORTED_MODULE_1___default.a.ADDED,\n          accepted: true,\n          url: _this.options.url,\n          removeUrl: data.remove,\n          data: data\n        };\n        dropzone.files.push(mock);\n        dropzone.options.addedfile.call(dropzone, mock);\n        if (mock.type.match(/^image\\//)) dropzone.options.thumbnail.call(dropzone, mock, data.path);\n        file.remove();\n      });\n    }\n  }, {\n    key: \"getURI\",\n    value: function getURI() {\n      return this.container.data('mediaUri') || '';\n    }\n  }, {\n    key: \"onDropzoneSending\",\n    value: function onDropzoneSending(file, xhr, formData) {\n      var form = this.container.closest('form');\n      var unique_id = form.find('[name=\"__unique_form_id__\"]');\n      formData.append('__form-name__', form.find('[name=\"__form-name__\"]').val());\n      if (unique_id.length) {\n        formData.append('__unique_form_id__', unique_id.val());\n      }\n      formData.append('__form-file-uploader__', 1);\n      formData.append('name', this.options.dotNotation);\n      formData.append('form-nonce', grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].form_nonce);\n      formData.append('task', 'filesupload');\n      formData.append('uri', this.getURI());\n    }\n  }, {\n    key: \"onDropzoneSuccess\",\n    value: function onDropzoneSuccess(file, response, xhr) {\n      if (this.options.reloadPage) {\n        global.location.reload();\n      }\n\n      // store params for removing file from session before it gets saved\n      if (response.session) {\n        file.sessionParams = response.session;\n        file.removeUrl = this.options.url;\n\n        // Touch field value to force a mutation detection\n        var input = this.container.find('[name][type=\"hidden\"]');\n        var value = input.val();\n        input.val(value + ' ');\n      }\n      return this.handleError({\n        file: file,\n        data: response,\n        mode: 'removeFile',\n        msg: \"<p>\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.FILE_ERROR_UPLOAD, \" <strong>\").concat(file.name, \"</strong></p>\\n            <pre>\").concat(response.message, \"</pre>\")\n      });\n    }\n  }, {\n    key: \"onDropzoneComplete\",\n    value: function onDropzoneComplete(file) {\n      if (!file.accepted && !file.rejected) {\n        var data = {\n          status: 'error',\n          message: \"\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.FILE_UNSUPPORTED, \": \").concat(file.name.match(/\\..+/).join(''))\n        };\n        return this.handleError({\n          file: file,\n          data: data,\n          mode: 'removeFile',\n          msg: \"<p>\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.FILE_ERROR_ADD, \" <strong>\").concat(file.name, \"</strong></p>\\n                <pre>\").concat(data.message, \"</pre>\")\n        });\n      }\n      if (this.options.reloadPage) {\n        global.location.reload();\n      }\n    }\n  }, {\n    key: \"onDropzoneRemovedFile\",\n    value: function onDropzoneRemovedFile(file) {\n      var _this2 = this;\n      if (!file.accepted || file.rejected) {\n        return;\n      }\n      var form = this.container.closest('form');\n      var unique_id = form.find('[name=\"__unique_form_id__\"]');\n      var url = file.removeUrl || this.urls[\"delete\"] || \"\".concat(location.href, \".json\");\n      var path = (url || '').match(/path:(.*)\\//);\n      var data = new FormData();\n      data.append('filename', file.name);\n      data.append('__form-name__', form.find('[name=\"__form-name__\"]').val());\n      data.append('name', this.options.dotNotation);\n      data.append('form-nonce', grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].form_nonce);\n      data.append('uri', this.getURI());\n      if (file.sessionParams) {\n        data.append('__form-file-remover__', '1');\n        data.append('session', file.sessionParams);\n      }\n      if (unique_id.length) {\n        data.append('__unique_form_id__', unique_id.val());\n      }\n      jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n        url: url,\n        data: data,\n        method: 'POST',\n        contentType: false,\n        processData: false,\n        success: function success() {\n          if (!path) {\n            return;\n          }\n          path = global.atob(path[1]);\n          var input = _this2.container.find('[name][type=\"hidden\"]');\n          var data = JSON.parse(input.val() || '{}');\n          delete data[path];\n          input.val(JSON.stringify(data));\n        }\n      });\n    }\n  }, {\n    key: \"onDropzoneError\",\n    value: function onDropzoneError(file, response, xhr) {\n      var message = xhr && response.error ? response.error.message : response;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()(file.previewElement).find('[data-dz-errormessage]').html(message);\n      return this.handleError({\n        file: file,\n        data: {\n          status: 'error'\n        },\n        msg: \"<pre>\".concat(message, \"</pre>\")\n      });\n    }\n  }, {\n    key: \"handleError\",\n    value: function handleError(options) {\n      return true;\n      /* let { file, data, mode, msg } = options;\n      if (data.status !== 'error' && data.status !== 'unauthorized') { return; }\n       switch (mode) {\n          case 'addBack':\n              if (file instanceof File) {\n                  this.dropzone.addFile.call(this.dropzone, file);\n              } else {\n                  this.dropzone.files.push(file);\n                  this.dropzone.options.addedfile.call(this.dropzone, file);\n                  this.dropzone.options.thumbnail.call(this.dropzone, file, file.extras.url);\n              }\n               break;\n          case 'removeFile':\n          default:\n              if (~this.dropzone.files.indexOf(file)) {\n                  file.rejected = true;\n                  this.dropzone.removeFile.call(this.dropzone, file, { silent: true });\n              }\n               break;\n      }\n       let modal = $('[data-remodal-id=\"generic\"]');\n      modal.find('.error-content').html(msg);\n      $.remodal.lookup[modal.data('remodal')].open(); */\n    }\n  }]);\n}();\n/*\nexport function UriToMarkdown(uri) {\n    uri = uri.replace(/@3x|@2x|@1x/, '');\n    uri = uri.replace(/\\(/g, '%28');\n    uri = uri.replace(/\\)/g, '%29');\n\n    return uri.match(/\\.(jpe?g|png|gif|svg)$/i) ? `![](${uri})` : `[${decodeURI(uri)}](${uri})`;\n}\n*/\n\nvar instances = [];\nvar cache = jquery__WEBPACK_IMPORTED_MODULE_0___default()();\nvar onAddedNodes = function onAddedNodes(event, target /* , record, instance */) {\n  var files = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target).find('.dropzone.files-upload');\n  if (!files.length) {\n    return;\n  }\n  files.each(function (index, file) {\n    file = jquery__WEBPACK_IMPORTED_MODULE_0___default()(file);\n    if (!~cache.index(file)) {\n      addNode(file);\n    }\n  });\n};\nvar addNode = function addNode(container) {\n  container = jquery__WEBPACK_IMPORTED_MODULE_0___default()(container);\n  var input = container.find('input[type=\"file\"]');\n  var settings = container.data('grav-file-settings') || {};\n  if (settings.accept && ~settings.accept.indexOf('*')) {\n    settings.accept = [''];\n  }\n  var options = {\n    url: container.data('file-url-add') || (container.closest('form').attr('action') || grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].current_url) + '.json',\n    paramName: settings.paramName || 'file',\n    dotNotation: settings.name || 'file',\n    acceptedFiles: settings.accept ? settings.accept.join(',') : input.attr('accept') || container.data('media-types'),\n    maxFilesize: settings.filesize || 256,\n    maxFiles: settings.limit || null,\n    resizeWidth: settings.resizeWidth || null,\n    resizeHeight: settings.resizeHeight || null,\n    resizeQuality: settings.resizeQuality || null,\n    accept: function accept(file, done) {\n      var resolution = settings.resolution;\n      var error = '';\n      if (!resolution) return done();\n      if (this.options.maxFiles != null && this.getAcceptedFiles().length >= this.options.maxFiles) {\n        done(this.options.dictMaxFilesExceeded.replace('{{maxFiles}}', this.options.maxFiles));\n        return this.emit('maxfilesexceeded', file);\n      }\n      var reader = new FileReader();\n      if (resolution.min || !(settings.resizeWidth || settings.resizeHeight) && resolution.max) {\n        reader.onload = function (event) {\n          var image = new Image();\n          image.src = event.target.result;\n          image.onload = function () {\n            var _this3 = this;\n            if (resolution.min) {\n              Object.keys(resolution.min).forEach(function (attr) {\n                if (_this3[attr] < resolution.min[attr]) {\n                  error += grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.RESOLUTION_MIN.replace(/{{attr}}/g, attr).replace(/{{min}}/g, resolution.min[attr]);\n                }\n              });\n            }\n            if (!(settings.resizeWidth || settings.resizeHeight)) {\n              if (resolution.max) {\n                Object.keys(resolution.max).forEach(function (attr) {\n                  if (_this3[attr] > resolution.max[attr]) {\n                    error += grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.RESOLUTION_MAX.replace(/{{attr}}/g, attr).replace(/{{max}}/g, resolution.max[attr]);\n                  }\n                });\n              }\n            }\n            done(error);\n          };\n        };\n        reader.readAsDataURL(file);\n      } else {\n        return done(error);\n      }\n    }\n  };\n  cache = cache.add(container);\n  container = container[0];\n  instances.push(new FilesField({\n    container: container,\n    options: options\n  }));\n};\nvar Instances = function () {\n  jquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()('.dropzone.files-upload').each(function (i, container) {\n      return addNode(container);\n    });\n    jquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('mutation._grav', onAddedNodes);\n  });\n  return instances;\n}();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2ZpbGUuanM/MWU4OSJdLCJuYW1lcyI6WyJEaWN0aW9uYXJ5IiwiZGljdENhbmNlbFVwbG9hZCIsInRyYW5zbGF0aW9ucyIsIlBMVUdJTl9GT1JNIiwiRFJPUFpPTkVfQ0FOQ0VMX1VQTE9BRCIsImRpY3RDYW5jZWxVcGxvYWRDb25maXJtYXRpb24iLCJEUk9QWk9ORV9DQU5DRUxfVVBMT0FEX0NPTkZJUk1BVElPTiIsImRpY3REZWZhdWx0TWVzc2FnZSIsIkRST1BaT05FX0RFRkFVTFRfTUVTU0FHRSIsImRpY3RGYWxsYmFja01lc3NhZ2UiLCJEUk9QWk9ORV9GQUxMQkFDS19NRVNTQUdFIiwiZGljdEZhbGxiYWNrVGV4dCIsIkRST1BaT05FX0ZBTExCQUNLX1RFWFQiLCJkaWN0RmlsZVRvb0JpZyIsIkRST1BaT05FX0ZJTEVfVE9PX0JJRyIsImRpY3RJbnZhbGlkRmlsZVR5cGUiLCJEUk9QWk9ORV9JTlZBTElEX0ZJTEVfVFlQRSIsImRpY3RNYXhGaWxlc0V4Y2VlZGVkIiwiRFJPUFpPTkVfTUFYX0ZJTEVTX0VYQ0VFREVEIiwiZGljdFJlbW92ZUZpbGUiLCJEUk9QWk9ORV9SRU1PVkVfRklMRSIsImRpY3RSZW1vdmVGaWxlQ29uZmlybWF0aW9uIiwiRFJPUFpPTkVfUkVNT1ZFX0ZJTEVfQ09ORklSTUFUSU9OIiwiZGljdFJlc3BvbnNlRXJyb3IiLCJEUk9QWk9ORV9SRVNQT05TRV9FUlJPUiIsIkRyb3B6b25lIiwiYXV0b0Rpc2NvdmVyIiwiRHJvcHpvbmVNZWRpYUNvbmZpZyIsImNyZWF0ZUltYWdlVGh1bWJuYWlscyIsInRodW1ibmFpbFdpZHRoIiwiYWRkUmVtb3ZlTGlua3MiLCJwcmV2aWV3VGVtcGxhdGUiLCJGaWxlc0ZpZWxkIiwiX3JlZiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9yZWYkY29udGFpbmVyIiwiY29udGFpbmVyIiwiX3JlZiRvcHRpb25zIiwib3B0aW9ucyIsIl9jbGFzc0NhbGxDaGVjayIsIiQiLCJ1cmxzIiwiaHRtbCIsIk9iamVjdCIsImFzc2lnbiIsImtsYXNzIiwidXJsIiwiZGF0YSIsImNvbmZpZyIsImN1cnJlbnRfdXJsIiwiYWNjZXB0ZWRGaWxlcyIsImluaXQiLCJpbml0RHJvcHpvbmUiLCJkcm9wem9uZSIsIm9uIiwib25Ecm9wem9uZUNvbXBsZXRlIiwiYmluZCIsIm9uRHJvcHpvbmVTdWNjZXNzIiwib25Ecm9wem9uZVJlbW92ZWRGaWxlIiwib25Ecm9wem9uZVNlbmRpbmciLCJvbkRyb3B6b25lRXJyb3IiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsIl90aGlzIiwiZmlsZXMiLCJmaW5kIiwiZWFjaCIsImluZGV4IiwiZmlsZSIsIm1vY2siLCJuYW1lIiwic2l6ZSIsInR5cGUiLCJzdGF0dXMiLCJBRERFRCIsImFjY2VwdGVkIiwicmVtb3ZlVXJsIiwicmVtb3ZlIiwicHVzaCIsImFkZGVkZmlsZSIsImNhbGwiLCJtYXRjaCIsInRodW1ibmFpbCIsInBhdGgiLCJnZXRVUkkiLCJ4aHIiLCJmb3JtRGF0YSIsImZvcm0iLCJjbG9zZXN0IiwidW5pcXVlX2lkIiwiYXBwZW5kIiwidmFsIiwiZG90Tm90YXRpb24iLCJmb3JtX25vbmNlIiwicmVzcG9uc2UiLCJyZWxvYWRQYWdlIiwiZ2xvYmFsIiwibG9jYXRpb24iLCJyZWxvYWQiLCJzZXNzaW9uIiwic2Vzc2lvblBhcmFtcyIsImlucHV0IiwiaGFuZGxlRXJyb3IiLCJtb2RlIiwibXNnIiwiY29uY2F0IiwiRklMRV9FUlJPUl9VUExPQUQiLCJtZXNzYWdlIiwicmVqZWN0ZWQiLCJGSUxFX1VOU1VQUE9SVEVEIiwiam9pbiIsIkZJTEVfRVJST1JfQUREIiwiX3RoaXMyIiwiaHJlZiIsIkZvcm1EYXRhIiwiYWpheCIsIm1ldGhvZCIsImNvbnRlbnRUeXBlIiwicHJvY2Vzc0RhdGEiLCJzdWNjZXNzIiwiYXRvYiIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImVycm9yIiwicHJldmlld0VsZW1lbnQiLCJpbnN0YW5jZXMiLCJjYWNoZSIsIm9uQWRkZWROb2RlcyIsImV2ZW50IiwidGFyZ2V0IiwiYWRkTm9kZSIsInNldHRpbmdzIiwiYWNjZXB0IiwiaW5kZXhPZiIsImF0dHIiLCJwYXJhbU5hbWUiLCJtYXhGaWxlc2l6ZSIsImZpbGVzaXplIiwibWF4RmlsZXMiLCJsaW1pdCIsInJlc2l6ZVdpZHRoIiwicmVzaXplSGVpZ2h0IiwicmVzaXplUXVhbGl0eSIsImRvbmUiLCJyZXNvbHV0aW9uIiwiZ2V0QWNjZXB0ZWRGaWxlcyIsInJlcGxhY2UiLCJlbWl0IiwicmVhZGVyIiwiRmlsZVJlYWRlciIsIm1pbiIsIm1heCIsIm9ubG9hZCIsImltYWdlIiwiSW1hZ2UiLCJzcmMiLCJyZXN1bHQiLCJfdGhpczMiLCJrZXlzIiwiZm9yRWFjaCIsIlJFU09MVVRJT05fTUlOIiwiUkVTT0xVVElPTl9NQVgiLCJyZWFkQXNEYXRhVVJMIiwiYWRkIiwiSW5zdGFuY2VzIiwiZG9jdW1lbnQiLCJyZWFkeSIsImkiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUF1QjtBQUNTO0FBQ2hDO0FBQytDOztBQUUvQztBQUNBLElBQU1BLFVBQVUsR0FBRztFQUNmQyxnQkFBZ0IsRUFBRUMsc0RBQVksQ0FBQ0MsV0FBVyxDQUFDQyxzQkFBc0I7RUFDakVDLDRCQUE0QixFQUFFSCxzREFBWSxDQUFDQyxXQUFXLENBQUNHLG1DQUFtQztFQUMxRkMsa0JBQWtCLEVBQUVMLHNEQUFZLENBQUNDLFdBQVcsQ0FBQ0ssd0JBQXdCO0VBQ3JFQyxtQkFBbUIsRUFBRVAsc0RBQVksQ0FBQ0MsV0FBVyxDQUFDTyx5QkFBeUI7RUFDdkVDLGdCQUFnQixFQUFFVCxzREFBWSxDQUFDQyxXQUFXLENBQUNTLHNCQUFzQjtFQUNqRUMsY0FBYyxFQUFFWCxzREFBWSxDQUFDQyxXQUFXLENBQUNXLHFCQUFxQjtFQUM5REMsbUJBQW1CLEVBQUViLHNEQUFZLENBQUNDLFdBQVcsQ0FBQ2EsMEJBQTBCO0VBQ3hFQyxvQkFBb0IsRUFBRWYs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QixDQUFDLE1BQU07UUFDSCxPQUFPNEUsSUFBSSxDQUFDcEIsS0FBSyxDQUFDO01BQ3RCO0lBQ0o7RUFDSixDQUFDO0VBRURHLEtBQUssR0FBR0EsS0FBSyxDQUFDcUMsR0FBRyxDQUFDakksU0FBUyxDQUFDO0VBQzVCQSxTQUFTLEdBQUdBLFNBQVMsQ0FBQyxDQUFDLENBQUM7RUFDeEIyRixTQUFTLENBQUNoRCxJQUFJLENBQUMsSUFBSWpELFVBQVUsQ0FBQztJQUFDTSxTQUFTLEVBQVRBLFNBQVM7SUFBRUUsT0FBTyxFQUFQQTtFQUFPLENBQUMsQ0FBQyxDQUFDO0FBQ3hELENBQUM7QUFFTSxJQUFJZ0ksU0FBUyxHQUFJLFlBQU07RUFDMUI5SCw2Q0FBQyxDQUFDK0gsUUFBUSxDQUFDLENBQUNDLEtBQUssQ0FBQyxZQUFNO0lBQ3BCaEksNkNBQUMsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDMkIsSUFBSSxDQUFDLFVBQUNzRyxDQUFDLEVBQUVySSxTQUFTO01BQUEsT0FBS2dHLE9BQU8sQ0FBQ2hHLFNBQVMsQ0FBQztJQUFBLEVBQUM7SUFDdEVJLDZDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNjLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRTJFLFlBQVksQ0FBQztFQUNoRCxDQUFDLENBQUM7RUFFRixPQUFPRixTQUFTO0FBQ3BCLENBQUMsQ0FBRSxDQUFDLEMiLCJmaWxlIjoiLi9hcHAvZmllbGRzL2ZpbGUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IERyb3B6b25lIGZyb20gJ2Ryb3B6b25lJztcbi8vIGltcG9ydCBFWElGIGZyb20gJ2V4aWYtanMnO1xuaW1wb3J0IHtjb25maWcsIHRyYW5zbGF0aW9uc30gZnJvbSAnZ3Jhdi1mb3JtJztcblxuLy8gdHJhbnNsYXRpb25zXG5jb25zdCBEaWN0aW9uYXJ5ID0ge1xuICAgIGRpY3RDYW5jZWxVcGxvYWQ6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9DQU5DRUxfVVBMT0FELFxuICAgIGRpY3RDYW5jZWxVcGxvYWRDb25maXJtYXRpb246IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9DQU5DRUxfVVBMT0FEX0NPTkZJUk1BVElPTixcbiAgICBkaWN0RGVmYXVsdE1lc3NhZ2U6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9ERUZBVUxUX01FU1NBR0UsXG4gICAgZGljdEZhbGxiYWNrTWVzc2FnZTogdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRST1BaT05FX0ZBTExCQUNLX01FU1NBR0UsXG4gICAgZGljdEZhbGxiYWNrVGV4dDogdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRST1BaT05FX0ZBTExCQUNLX1RFWFQsXG4gICAgZGljdEZpbGVUb29CaWc6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9GSUxFX1RPT19CSUcsXG4gICAgZGljdEludmFsaWRGaWxlVHlwZTogdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRST1BaT05FX0lOVkFMSURfRklMRV9UWVBFLFxuICAgIGRpY3RNYXhGaWxlc0V4Y2VlZGVkOiB0cmFuc2xhdGlvbnMuUExVR0lOX0ZPUk0uRFJPUFpPTkVfTUFYX0ZJTEVTX0VYQ0VFREVELFxuICAgIGRpY3RSZW1vdmVGaWxlOiB0cmFuc2xhdGlvbnMuUExVR0lOX0ZPUk0uRFJPUFpPTkVfUkVNT1ZFX0ZJTEUsXG4gICAgZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb246IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9SRU1PVkVfRklMRV9DT05GSVJNQVRJT04sXG4gICAgZGljdFJlc3BvbnNlRXJyb3I6IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5EUk9QWk9ORV9SRVNQT05TRV9FUlJPUlxufTtcblxuRHJvcHpvbmUuYXV0b0Rpc2NvdmVyID0gZmFsc2U7XG5cbmNvbnN0IERyb3B6b25lTWVkaWFDb25maWcgPSB7XG4gICAgY3JlYXRlSW1hZ2VUaHVtYm5haWxzOiB7dGh1bWJuYWlsV2lkdGg6IDE1MH0sXG4gICAgYWRkUmVtb3ZlTGlua3M6IGZhbHNlLFxuICAgIGRpY3REZWZhdWx0TWVzc2FnZTogRGljdGlvbmFyeS5kaWN0RGVmYXVsdE1lc3NhZ2UsXG4gICAgZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb246IERpY3Rpb25hcnkuZGljdFJlbW92ZUZpbGVDb25maXJtYXRpb24sXG4gICAgcHJldmlld1RlbXBsYXRlOiAnJ1xufTtcblxuLy8gd2luZG93LkVYSUYgPSBFWElGO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWxlc0ZpZWxkIHtcbiAgICBjb25zdHJ1Y3Rvcih7Y29udGFpbmVyID0gJy5kcm9wem9uZS5maWxlcy11cGxvYWQnLCBvcHRpb25zID0ge319ID0ge30pIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSAkKGNvbnRhaW5lcik7XG4gICAgICAgIGlmICghdGhpcy5jb250YWluZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVybHMgPSB7fTtcbiAgICAgICAgRHJvcHpvbmVNZWRpYUNvbmZpZy5wcmV2aWV3VGVtcGxhdGUgPSAkKCcjZHJvcHpvbmUtdGVtcGxhdGUnKS5odG1sKCk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIERpY3Rpb25hcnksIERyb3B6b25lTWVkaWFDb25maWcsIHtcbiAgICAgICAgICAgIGtsYXNzOiB0aGlzLFxuICAgICAgICAgICAgdXJsOiB0aGlzLmNvbnRhaW5lci5kYXRhKCdmaWxlLXVybC1hZGQnKSB8fCBjb25maWcuY3VycmVudF91cmwsXG4gICAgICAgICAgICBhY2NlcHRlZEZpbGVzOiB0aGlzLmNvbnRhaW5lci5kYXRhKCdtZWRpYS10eXBlcycpLFxuICAgICAgICAgICAgaW5pdDogdGhpcy5pbml0RHJvcHpvbmVcbiAgICAgICAgfSwgdGhpcy5jb250YWluZXIuZGF0YSgnZHJvcHpvbmUtb3B0aW9ucycpLCBvcHRpb25zKTtcblxuICAgICAgICB0aGlzLmRyb3B6b25lID0gbmV3IERyb3B6b25lKGNvbnRhaW5lciwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgdGhpcy5kcm9wem9uZS5vbignY29tcGxldGUnLCB0aGlzLm9uRHJvcHpvbmVDb21wbGV0ZS5iaW5kKHRoaXMpKTtcbiAgICAgICAgdGhpcy5kcm9wem9uZS5vbignc3VjY2VzcycsIHRoaXMub25Ecm9wem9uZVN1Y2Nlc3MuYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMuZHJvcHpvbmUub24oJ3JlbW92ZWRmaWxlJywgdGhpcy5vbkRyb3B6b25lUmVtb3ZlZEZpbGUuYmluZCh0aGlzKSk7XG4gICAgICAgIHRoaXMuZHJvcHpvbmUub24oJ3NlbmRpbmcnLCB0aGlzLm9uRHJvcHpvbmVTZW5kaW5nLmJpbmQodGhpcykpO1xuICAgICAgICB0aGlzLmRyb3B6b25lLm9uKCdlcnJvcicsIHRoaXMub25Ecm9wem9uZUVycm9yLmJpbmQodGhpcykpO1xuICAgIH1cblxuICAgIGluaXREcm9wem9uZSgpIHtcbiAgICAgICAgbGV0IGZpbGVzID0gdGhpcy5vcHRpb25zLmtsYXNzLmNvbnRhaW5lci5maW5kKCdbZGF0YS1maWxlXScpO1xuICAgICAgICBsZXQgZHJvcHpvbmUgPSB0aGlzO1xuICAgICAgICBpZiAoIWZpbGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlsZXMuZWFjaCgoaW5kZXgsIGZpbGUpID0+IHtcbiAgICAgICAgICAgIGZpbGUgPSAkKGZpbGUpO1xuICAgICAgICAgICAgbGV0IGRhdGEgPSBmaWxlLmRhdGEoJ2ZpbGUnKTtcbiAgICAgICAgICAgIGxldCBtb2NrID0ge1xuICAgICAgICAgICAgICAgIG5hbWU6IGRhdGEubmFtZSxcbiAgICAgICAgICAgICAgICBzaXplOiBkYXRhLnNpemUsXG4gICAgICAgICAgICAgICAgdHlwZTogZGF0YS50eXBlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogRHJvcHpvbmUuQURERUQsXG4gICAgICAgICAgICAgICAgYWNjZXB0ZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgdXJsOiB0aGlzLm9wdGlvbnMudXJsLFxuICAgICAgICAgICAgICAgIHJlbW92ZVVybDogZGF0YS5yZW1vdmUsXG4gICAgICAgICAgICAgICAgZGF0YVxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgZHJvcHpvbmUuZmlsZXMucHVzaChtb2NrKTtcbiAgICAgICAgICAgIGRyb3B6b25lLm9wdGlvbnMuYWRkZWRmaWxlLmNhbGwoZHJvcHpvbmUsIG1vY2spO1xuICAgICAgICAgICAgaWYgKG1vY2sudHlwZS5tYXRjaCgvXmltYWdlXFwvLykpIGRyb3B6b25lLm9wdGlvbnMudGh1bWJuYWlsLmNhbGwoZHJvcHpvbmUsIG1vY2ssIGRhdGEucGF0aCk7XG5cbiAgICAgICAgICAgIGZpbGUucmVtb3ZlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGdldFVSSSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29udGFpbmVyLmRhdGEoJ21lZGlhVXJpJykgfHwgJyc7XG4gICAgfVxuXG4gICAgb25Ecm9wem9uZVNlbmRpbmcoZmlsZSwgeGhyLCBmb3JtRGF0YSkge1xuICAgICAgICBjb25zdCBmb3JtID0gdGhpcy5jb250YWluZXIuY2xvc2VzdCgnZm9ybScpO1xuICAgICAgICBjb25zdCB1bmlxdWVfaWQgPSBmb3JtLmZpbmQoJ1tuYW1lPVwiX191bmlxdWVfZm9ybV9pZF9fXCJdJyk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnX19mb3JtLW5hbWVfXycsIGZvcm0uZmluZCgnW25hbWU9XCJfX2Zvcm0tbmFtZV9fXCJdJykudmFsKCkpO1xuICAgICAgICBpZiAodW5pcXVlX2lkLmxlbmd0aCkge1xuICAgICAgICAgICAgZm9ybURhdGEuYXBwZW5kKCdfX3VuaXF1ZV9mb3JtX2lkX18nLCB1bmlxdWVfaWQudmFsKCkpO1xuICAgICAgICB9XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgnX19mb3JtLWZpbGUtdXBsb2FkZXJfXycsIDEpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25hbWUnLCB0aGlzLm9wdGlvbnMuZG90Tm90YXRpb24pO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2Zvcm0tbm9uY2UnLCBjb25maWcuZm9ybV9ub25jZSk7XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZCgndGFzaycsICdmaWxlc3VwbG9hZCcpO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ3VyaScsIHRoaXMuZ2V0VVJJKCkpO1xuICAgIH1cblxuICAgIG9uRHJvcHpvbmVTdWNjZXNzKGZpbGUsIHJlc3BvbnNlLCB4aHIpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5yZWxvYWRQYWdlKSB7XG4gICAgICAgICAgICBnbG9iYWwubG9jYXRpb24ucmVsb2FkKCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBzdG9yZSBwYXJhbXMgZm9yIHJlbW92aW5nIGZpbGUgZnJvbSBzZXNzaW9uIGJlZm9yZSBpdCBnZXRzIHNhdmVkXG4gICAgICAgIGlmIChyZXNwb25zZS5zZXNzaW9uKSB7XG4gICAgICAgICAgICBmaWxlLnNlc3Npb25QYXJhbXMgPSByZXNwb25zZS5zZXNzaW9uO1xuICAgICAgICAgICAgZmlsZS5yZW1vdmVVcmwgPSB0aGlzLm9wdGlvbnMudXJsO1xuXG4gICAgICAgICAgICAvLyBUb3VjaCBmaWVsZCB2YWx1ZSB0byBmb3JjZSBhIG11dGF0aW9uIGRldGVjdGlvblxuICAgICAgICAgICAgY29uc3QgaW5wdXQgPSB0aGlzLmNvbnRhaW5lci5maW5kKCdbbmFtZV1bdHlwZT1cImhpZGRlblwiXScpO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBpbnB1dC52YWwoKTtcbiAgICAgICAgICAgIGlucHV0LnZhbCh2YWx1ZSArICcgJyk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5oYW5kbGVFcnJvcih7XG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgZGF0YTogcmVzcG9uc2UsXG4gICAgICAgICAgICBtb2RlOiAncmVtb3ZlRmlsZScsXG4gICAgICAgICAgICBtc2c6IGA8cD4ke3RyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5GSUxFX0VSUk9SX1VQTE9BRH0gPHN0cm9uZz4ke2ZpbGUubmFtZX08L3N0cm9uZz48L3A+XG4gICAgICAgICAgICA8cHJlPiR7cmVzcG9uc2UubWVzc2FnZX08L3ByZT5gXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG9uRHJvcHpvbmVDb21wbGV0ZShmaWxlKSB7XG4gICAgICAgIGlmICghZmlsZS5hY2NlcHRlZCAmJiAhZmlsZS5yZWplY3RlZCkge1xuICAgICAgICAgICAgbGV0IGRhdGEgPSB7XG4gICAgICAgICAgICAgICAgc3RhdHVzOiAnZXJyb3InLFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGAke3RyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5GSUxFX1VOU1VQUE9SVEVEfTogJHtmaWxlLm5hbWUubWF0Y2goL1xcLi4rLykuam9pbignJyl9YFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGZpbGUsXG4gICAgICAgICAgICAgICAgZGF0YSxcbiAgICAgICAgICAgICAgICBtb2RlOiAncmVtb3ZlRmlsZScsXG4gICAgICAgICAgICAgICAgbXNnOiBgPHA+JHt0cmFuc2xhdGlvbnMuUExVR0lOX0ZPUk0uRklMRV9FUlJPUl9BRER9IDxzdHJvbmc+JHtmaWxlLm5hbWV9PC9zdHJvbmc+PC9wPlxuICAgICAgICAgICAgICAgIDxwcmU+JHtkYXRhLm1lc3NhZ2V9PC9wcmU+YFxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5vcHRpb25zLnJlbG9hZFBhZ2UpIHtcbiAgICAgICAgICAgIGdsb2JhbC5sb2NhdGlvbi5yZWxvYWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uRHJvcHpvbmVSZW1vdmVkRmlsZShmaWxlLCAuLi5leHRyYSkge1xuICAgICAgICBpZiAoIWZpbGUuYWNjZXB0ZWQgfHwgZmlsZS5yZWplY3RlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCdmb3JtJyk7XG4gICAgICAgIGNvbnN0IHVuaXF1ZV9pZCA9IGZvcm0uZmluZCgnW25hbWU9XCJfX3VuaXF1ZV9mb3JtX2lkX19cIl0nKTtcbiAgICAgICAgbGV0IHVybCA9IGZpbGUucmVtb3ZlVXJsIHx8IHRoaXMudXJscy5kZWxldGUgfHwgYCR7bG9jYXRpb24uaHJlZn0uanNvbmA7XG4gICAgICAgIGxldCBwYXRoID0gKHVybCB8fCAnJykubWF0Y2goL3BhdGg6KC4qKVxcLy8pO1xuICAgICAgICBsZXQgZGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgICAgIGRhdGEuYXBwZW5kKCdmaWxlbmFtZScsIGZpbGUubmFtZSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCdfX2Zvcm0tbmFtZV9fJywgZm9ybS5maW5kKCdbbmFtZT1cIl9fZm9ybS1uYW1lX19cIl0nKS52YWwoKSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCduYW1lJywgdGhpcy5vcHRpb25zLmRvdE5vdGF0aW9uKTtcbiAgICAgICAgZGF0YS5hcHBlbmQoJ2Zvcm0tbm9uY2UnLCBjb25maWcuZm9ybV9ub25jZSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCd1cmknLCB0aGlzLmdldFVSSSgpKTtcblxuICAgICAgICBpZiAoZmlsZS5zZXNzaW9uUGFyYW1zKSB7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZCgnX19mb3JtLWZpbGUtcmVtb3Zlcl9fJywgJzEnKTtcbiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCdzZXNzaW9uJywgZmlsZS5zZXNzaW9uUGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh1bmlxdWVfaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZCgnX191bmlxdWVfZm9ybV9pZF9fJywgdW5pcXVlX2lkLnZhbCgpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgICAgICBjb250ZW50VHlwZTogZmFsc2UsXG4gICAgICAgICAgICBwcm9jZXNzRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBzdWNjZXNzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwYXRoID0gZ2xvYmFsLmF0b2IocGF0aFsxXSk7XG4gICAgICAgICAgICAgICAgbGV0IGlucHV0ID0gdGhpcy5jb250YWluZXIuZmluZCgnW25hbWVdW3R5cGU9XCJoaWRkZW5cIl0nKTtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoaW5wdXQudmFsKCkgfHwgJ3t9Jyk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGRhdGFbcGF0aF07XG4gICAgICAgICAgICAgICAgaW5wdXQudmFsKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgb25Ecm9wem9uZUVycm9yKGZpbGUsIHJlc3BvbnNlLCB4aHIpIHtcbiAgICAgICAgbGV0IG1lc3NhZ2UgPSB4aHIgJiYgcmVzcG9uc2UuZXJyb3IgPyByZXNwb25zZS5lcnJvci5tZXNzYWdlIDogcmVzcG9uc2U7XG4gICAgICAgICQoZmlsZS5wcmV2aWV3RWxlbWVudCkuZmluZCgnW2RhdGEtZHotZXJyb3JtZXNzYWdlXScpLmh0bWwobWVzc2FnZSk7XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgIGRhdGE6IHtzdGF0dXM6ICdlcnJvcid9LFxuICAgICAgICAgICAgbXNnOiBgPHByZT4ke21lc3NhZ2V9PC9wcmU+YFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBoYW5kbGVFcnJvcihvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAvKiBsZXQgeyBmaWxlLCBkYXRhLCBtb2RlLCBtc2cgfSA9IG9wdGlvbnM7XG4gICAgICAgIGlmIChkYXRhLnN0YXR1cyAhPT0gJ2Vycm9yJyAmJiBkYXRhLnN0YXR1cyAhPT0gJ3VuYXV0aG9yaXplZCcpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgc3dpdGNoIChtb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdhZGRCYWNrJzpcbiAgICAgICAgICAgICAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIEZpbGUpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5hZGRGaWxlLmNhbGwodGhpcy5kcm9wem9uZSwgZmlsZSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5maWxlcy5wdXNoKGZpbGUpO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3B6b25lLm9wdGlvbnMuYWRkZWRmaWxlLmNhbGwodGhpcy5kcm9wem9uZSwgZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcHpvbmUub3B0aW9ucy50aHVtYm5haWwuY2FsbCh0aGlzLmRyb3B6b25lLCBmaWxlLCBmaWxlLmV4dHJhcy51cmwpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAncmVtb3ZlRmlsZSc6XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIGlmICh+dGhpcy5kcm9wem9uZS5maWxlcy5pbmRleE9mKGZpbGUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGUucmVqZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3B6b25lLnJlbW92ZUZpbGUuY2FsbCh0aGlzLmRyb3B6b25lLCBmaWxlLCB7IHNpbGVudDogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBtb2RhbCA9ICQoJ1tkYXRhLXJlbW9kYWwtaWQ9XCJnZW5lcmljXCJdJyk7XG4gICAgICAgIG1vZGFsLmZpbmQoJy5lcnJvci1jb250ZW50JykuaHRtbChtc2cpO1xuICAgICAgICAkLnJlbW9kYWwubG9va3VwW21vZGFsLmRhdGEoJ3JlbW9kYWwnKV0ub3BlbigpOyAqL1xuICAgIH1cbn1cblxuLypcbmV4cG9ydCBmdW5jdGlvbiBVcmlUb01hcmtkb3duKHVyaSkge1xuICAgIHVyaSA9IHVyaS5yZXBsYWNlKC9AM3h8QDJ4fEAxeC8sICcnKTtcbiAgICB1cmkgPSB1cmkucmVwbGFjZSgvXFwoL2csICclMjgnKTtcbiAgICB1cmkgPSB1cmkucmVwbGFjZSgvXFwpL2csICclMjknKTtcblxuICAgIHJldHVybiB1cmkubWF0Y2goL1xcLihqcGU/Z3xwbmd8Z2lmfHN2ZykkL2kpID8gYCFbXSgke3VyaX0pYCA6IGBbJHtkZWNvZGVVUkkodXJpKX1dKCR7dXJpfSlgO1xufVxuKi9cblxubGV0IGluc3RhbmNlcyA9IFtdO1xubGV0IGNhY2hlID0gJCgpO1xuY29uc3Qgb25BZGRlZE5vZGVzID0gKGV2ZW50LCB0YXJnZXQvKiAsIHJlY29yZCwgaW5zdGFuY2UgKi8pID0+IHtcbiAgICBsZXQgZmlsZXMgPSAkKHRhcmdldCkuZmluZCgnLmRyb3B6b25lLmZpbGVzLXVwbG9hZCcpO1xuICAgIGlmICghZmlsZXMubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBmaWxlcy5lYWNoKChpbmRleCwgZmlsZSkgPT4ge1xuICAgICAgICBmaWxlID0gJChmaWxlKTtcbiAgICAgICAgaWYgKCF+Y2FjaGUuaW5kZXgoZmlsZSkpIHtcbiAgICAgICAgICAgIGFkZE5vZGUoZmlsZSk7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5cbmNvbnN0IGFkZE5vZGUgPSAoY29udGFpbmVyKSA9PiB7XG4gICAgY29udGFpbmVyID0gJChjb250YWluZXIpO1xuICAgIGxldCBpbnB1dCA9IGNvbnRhaW5lci5maW5kKCdpbnB1dFt0eXBlPVwiZmlsZVwiXScpO1xuICAgIGxldCBzZXR0aW5ncyA9IGNvbnRhaW5lci5kYXRhKCdncmF2LWZpbGUtc2V0dGluZ3MnKSB8fCB7fTtcblxuICAgIGlmIChzZXR0aW5ncy5hY2NlcHQgJiYgfnNldHRpbmdzLmFjY2VwdC5pbmRleE9mKCcqJykpIHtcbiAgICAgICAgc2V0dGluZ3MuYWNjZXB0ID0gWycnXTtcbiAgICB9XG5cbiAgICBsZXQgb3B0aW9ucyA9IHtcbiAgICAgICAgdXJsOiBjb250YWluZXIuZGF0YSgnZmlsZS11cmwtYWRkJykgfHwgKGNvbnRhaW5lci5jbG9zZXN0KCdmb3JtJykuYXR0cignYWN0aW9uJykgfHwgY29uZmlnLmN1cnJlbnRfdXJsKSArICcuanNvbicsXG4gICAgICAgIHBhcmFtTmFtZTogc2V0dGluZ3MucGFyYW1OYW1lIHx8ICdmaWxlJyxcbiAgICAgICAgZG90Tm90YXRpb246IHNldHRpbmdzLm5hbWUgfHwgJ2ZpbGUnLFxuICAgICAgICBhY2NlcHRlZEZpbGVzOiBzZXR0aW5ncy5hY2NlcHQgPyBzZXR0aW5ncy5hY2NlcHQuam9pbignLCcpIDogaW5wdXQuYXR0cignYWNjZXB0JykgfHwgY29udGFpbmVyLmRhdGEoJ21lZGlhLXR5cGVzJyksXG4gICAgICAgIG1heEZpbGVzaXplOiBzZXR0aW5ncy5maWxlc2l6ZSB8fCAyNTYsXG4gICAgICAgIG1heEZpbGVzOiBzZXR0aW5ncy5saW1pdCB8fCBudWxsLFxuICAgICAgICByZXNpemVXaWR0aDogc2V0dGluZ3MucmVzaXplV2lkdGggfHwgbnVsbCxcbiAgICAgICAgcmVzaXplSGVpZ2h0OiBzZXR0aW5ncy5yZXNpemVIZWlnaHQgfHwgbnVsbCxcbiAgICAgICAgcmVzaXplUXVhbGl0eTogc2V0dGluZ3MucmVzaXplUXVhbGl0eSB8fCBudWxsLFxuICAgICAgICBhY2NlcHQ6IGZ1bmN0aW9uKGZpbGUsIGRvbmUpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc29sdXRpb24gPSBzZXR0aW5ncy5yZXNvbHV0aW9uO1xuICAgICAgICAgICAgbGV0IGVycm9yID0gJyc7XG4gICAgICAgICAgICBpZiAoIXJlc29sdXRpb24pIHJldHVybiBkb25lKCk7XG5cbiAgICAgICAgICAgIGlmICgodGhpcy5vcHRpb25zLm1heEZpbGVzICE9IG51bGwpICYmICh0aGlzLmdldEFjY2VwdGVkRmlsZXMoKS5sZW5ndGggPj0gdGhpcy5vcHRpb25zLm1heEZpbGVzKSkge1xuICAgICAgICAgICAgICAgIGRvbmUodGhpcy5vcHRpb25zLmRpY3RNYXhGaWxlc0V4Y2VlZGVkLnJlcGxhY2UoJ3t7bWF4RmlsZXN9fScsIHRoaXMub3B0aW9ucy5tYXhGaWxlcykpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLmVtaXQoJ21heGZpbGVzZXhjZWVkZWQnLCBmaWxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIGlmIChyZXNvbHV0aW9uLm1pbiB8fCAoIShzZXR0aW5ncy5yZXNpemVXaWR0aCB8fCBzZXR0aW5ncy5yZXNpemVIZWlnaHQpICYmIHJlc29sdXRpb24ubWF4KSkge1xuICAgICAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbihldmVudCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpbWFnZSA9IG5ldyBJbWFnZSgpO1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5zcmMgPSBldmVudC50YXJnZXQucmVzdWx0O1xuICAgICAgICAgICAgICAgICAgICBpbWFnZS5vbmxvYWQgPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXNvbHV0aW9uLm1pbikge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlc29sdXRpb24ubWluKS5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzW2F0dHJdIDwgcmVzb2x1dGlvbi5taW5bYXR0cl0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVycm9yICs9IHRyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5SRVNPTFVUSU9OX01JTi5yZXBsYWNlKC97e2F0dHJ9fS9nLCBhdHRyKS5yZXBsYWNlKC97e21pbn19L2csIHJlc29sdXRpb24ubWluW2F0dHJdKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIShzZXR0aW5ncy5yZXNpemVXaWR0aCB8fCBzZXR0aW5ncy5yZXNpemVIZWlnaHQpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHJlc29sdXRpb24ubWF4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlc29sdXRpb24ubWF4KS5mb3JFYWNoKChhdHRyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpc1thdHRyXSA+IHJlc29sdXRpb24ubWF4W2F0dHJdKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3IgKz0gdHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLlJFU09MVVRJT05fTUFYLnJlcGxhY2UoL3t7YXR0cn19L2csIGF0dHIpLnJlcGxhY2UoL3t7bWF4fX0vZywgcmVzb2x1dGlvbi5tYXhbYXR0cl0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUoZXJyb3IpO1xuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRvbmUoZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfTtcblxuICAgIGNhY2hlID0gY2FjaGUuYWRkKGNvbnRhaW5lcik7XG4gICAgY29udGFpbmVyID0gY29udGFpbmVyWzBdO1xuICAgIGluc3RhbmNlcy5wdXNoKG5ldyBGaWxlc0ZpZWxkKHtjb250YWluZXIsIG9wdGlvbnN9KSk7XG59O1xuXG5leHBvcnQgbGV0IEluc3RhbmNlcyA9ICgoKSA9PiB7XG4gICAgJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuICAgICAgICAkKCcuZHJvcHpvbmUuZmlsZXMtdXBsb2FkJykuZWFjaCgoaSwgY29udGFpbmVyKSA9PiBhZGROb2RlKGNvbnRhaW5lcikpO1xuICAgICAgICAkKCdib2R5Jykub24oJ211dGF0aW9uLl9ncmF2Jywgb25BZGRlZE5vZGVzKTtcbiAgICB9KTtcblxuICAgIHJldHVybiBpbnN0YW5jZXM7XG59KSgpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/fields/file.js\n");

/***/ }),

/***/ "./app/fields/form.js":
/*!****************************!*\
  !*** ./app/fields/form.js ***!
  \****************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\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\nvar attachToggleables = function attachToggleables(form) {\n  form = jquery__WEBPACK_IMPORTED_MODULE_0___default()(form);\n  var query = '[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]';\n  form.on('change', query, function (event) {\n    var toggle = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n    var enabled = toggle.is(':checked');\n    var parent = toggle.closest('.form-field');\n    var label = parent.find('label.toggleable');\n    var fields = parent.find('.form-data');\n    var inputs = fields.find('input, select, textarea, button');\n    label.add(fields).css('opacity', enabled ? '' : 0.7);\n    inputs.map(function (index, input) {\n      var isSelectize = input.selectize;\n      input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(input);\n      if (isSelectize) {\n        isSelectize[enabled ? 'enable' : 'disable']();\n      } else {\n        input.prop('disabled', !enabled);\n      }\n    });\n  });\n  form.find(query).trigger('change');\n};\nvar attachDisabledFields = function attachDisabledFields(form) {\n  form = jquery__WEBPACK_IMPORTED_MODULE_0___default()(form);\n  var prefix = '.form-field-toggleable .form-data';\n  var query = [];\n  ['input', 'select', 'label[for]', 'textarea', '.selectize-control'].forEach(function (item) {\n    query.push(\"\".concat(prefix, \" \").concat(item));\n  });\n  form.on('mousedown', query.join(', '), function (event) {\n    var input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.target);\n    var isFor = input.prop('for');\n    var isSelectize = (input.hasClass('selectize-control') || input.parents('.selectize-control')).length;\n    if (isFor) {\n      input = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[id=\\\"\".concat(isFor, \"\\\"]\"));\n    }\n    if (isSelectize) {\n      input = input.closest('.selectize-control').siblings('select[name]');\n    }\n    if (!input.prop('disabled')) {\n      return true;\n    }\n    var toggle = input.closest('.form-field').find('[data-grav-field=\"toggleable\"] input[type=\"checkbox\"]');\n    toggle.trigger('click');\n  });\n};\n\n/*\nconst submitUncheckedFields = (forms) => {\n    forms = $(forms);\n    let submitted = false;\n    forms.each((index, form) => {\n        form = $(form);\n        form.on('submit', () => {\n            // workaround for MS Edge, submitting multiple forms at the same time\n            if (submitted) { return false; }\n\n            let formId = form.attr('id');\n            let unchecked = form.find('input[type=\"checkbox\"]:not(:checked):not(:disabled)');\n            let submit = form.find('[type=\"submit\"]').add(`[form=\"${formId}\"][type=\"submit\"]`);\n\n            if (!unchecked.length) { return true; }\n\n            submit.addClass('pointer-events-disabled');\n            unchecked.each((index, element) => {\n                element = $(element);\n                let name = element.prop('name');\n                let fake = $(`<input type=\"hidden\" name=\"${name}\" value=\"0\" />`);\n                form.append(fake);\n            });\n            submitted = true;\n            return true;\n        });\n    });\n};\n*/\n\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {\n  var forms = jquery__WEBPACK_IMPORTED_MODULE_0___default()('form').filter(function (form) {\n    return jquery__WEBPACK_IMPORTED_MODULE_0___default()(form).find('[name=\"__form-name__\"]');\n  });\n  if (!forms.length) {\n    return;\n  }\n  forms.each(function (index, form) {\n    attachToggleables(form);\n    attachDisabledFields(form);\n    // submitUncheckedFields(form);\n  });\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2Zvcm0uanM/YWRkYiJdLCJuYW1lcyI6WyJhdHRhY2hUb2dnbGVhYmxlcyIsImZvcm0iLCIkIiwicXVlcnkiLCJvbiIsImV2ZW50IiwidG9nZ2xlIiwidGFyZ2V0IiwiZW5hYmxlZCIsImlzIiwicGFyZW50IiwiY2xvc2VzdCIsImxhYmVsIiwiZmluZCIsImZpZWxkcyIsImlucHV0cyIsImFkZCIsImNzcyIsIm1hcCIsImluZGV4IiwiaW5wdXQiLCJpc1NlbGVjdGl6ZSIsInNlbGVjdGl6ZSIsInByb3AiLCJ0cmlnZ2VyIiwiYXR0YWNoRGlzYWJsZWRGaWVsZHMiLCJwcmVmaXgiLCJmb3JFYWNoIiwiaXRlbSIsInB1c2giLCJjb25jYXQiLCJqb2luIiwiaXNGb3IiLCJoYXNDbGFzcyIsInBhcmVudHMiLCJsZW5ndGgiLCJzaWJsaW5ncyIsImRvY3VtZW50IiwicmVhZHkiLCJmb3JtcyIsImZpbHRlciIsImVhY2giXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUF1QjtBQUV2QixJQUFNQSxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJQyxJQUFJLEVBQUs7RUFDaENBLElBQUksR0FBR0MsNkNBQUMsQ0FBQ0QsSUFBSSxDQUFDO0VBQ2QsSUFBSUUsS0FBSyxHQUFHLHVEQUF1RDtFQUVuRUYsSUFBSSxDQUFDRyxFQUFFLENBQUMsUUFBUSxFQUFFRCxLQUFLLEVBQUUsVUFBQ0UsS0FBSyxFQUFLO0lBQ2hDLElBQUlDLE1BQU0sR0FBR0osNkNBQUMsQ0FBQ0csS0FBSyxDQUFDRSxNQUFNLENBQUM7SUFDNUIsSUFBSUMsT0FBTyxHQUFHRixNQUFNLENBQUNHLEVBQUUsQ0FBQyxVQUFVLENBQUM7SUFDbkMsSUFBSUMsTUFBTSxHQUFHSixNQUFNLENBQUNLLE9BQU8sQ0FBQyxhQUFhLENBQUM7SUFDMUMsSUFBSUMsS0FBSyxHQUFHRixNQUFNLENBQUNHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQyxJ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QUNBO0FBQ0E7O0FBRUF0Qiw2Q0FBQyxDQUFDbUMsUUFBUSxDQUFDLENBQUNDLEtBQUssQ0FBQyxZQUFNO0VBQ3BCLElBQU1DLEtBQUssR0FBR3JDLDZDQUFDLENBQUMsTUFBTSxDQUFDLENBQUNzQyxNQUFNLENBQUMsVUFBQ3ZDLElBQUk7SUFBQSxPQUFLQyw2Q0FBQyxDQUFDRCxJQUFJLENBQUMsQ0FBQ1ksSUFBSSxDQUFDLHdCQUF3QixDQUFDO0VBQUEsRUFBQztFQUNoRixJQUFJLENBQUMwQixLQUFLLENBQUNKLE1BQU0sRUFBRTtJQUFFO0VBQVE7RUFFN0JJLEtBQUssQ0FBQ0UsSUFBSSxDQUFDLFVBQUN0QixLQUFLLEVBQUVsQixJQUFJLEVBQUs7SUFDeEJELGlCQUFpQixDQUFDQyxJQUFJLENBQUM7SUFDdkJ3QixvQkFBb0IsQ0FBQ3hCLElBQUksQ0FBQztJQUMxQjtFQUNKLENBQUMsQ0FBQztBQUNOLENBQUMsQ0FBQyIsImZpbGUiOiIuL2FwcC9maWVsZHMvZm9ybS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5cbmNvbnN0IGF0dGFjaFRvZ2dsZWFibGVzID0gKGZvcm0pID0+IHtcbiAgICBmb3JtID0gJChmb3JtKTtcbiAgICBsZXQgcXVlcnkgPSAnW2RhdGEtZ3Jhdi1maWVsZD1cInRvZ2dsZWFibGVcIl0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJztcblxuICAgIGZvcm0ub24oJ2NoYW5nZScsIHF1ZXJ5LCAoZXZlbnQpID0+IHtcbiAgICAgICAgbGV0IHRvZ2dsZSA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGVuYWJsZWQgPSB0b2dnbGUuaXMoJzpjaGVja2VkJyk7XG4gICAgICAgIGxldCBwYXJlbnQgPSB0b2dnbGUuY2xvc2VzdCgnLmZvcm0tZmllbGQnKTtcbiAgICAgICAgbGV0IGxhYmVsID0gcGFyZW50LmZpbmQoJ2xhYmVsLnRvZ2dsZWFibGUnKTtcbiAgICAgICAgbGV0IGZpZWxkcyA9IHBhcmVudC5maW5kKCcuZm9ybS1kYXRhJyk7XG4gICAgICAgIGxldCBpbnB1dHMgPSBmaWVsZHMuZmluZCgnaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEsIGJ1dHRvbicpO1xuXG4gICAgICAgIGxhYmVsLmFkZChmaWVsZHMpLmNzcygnb3BhY2l0eScsIGVuYWJsZWQgPyAnJyA6IDAuNyk7XG4gICAgICAgIGlucHV0cy5tYXAoKGluZGV4LCBpbnB1dCkgPT4ge1xuICAgICAgICAgICAgbGV0IGlzU2VsZWN0aXplID0gaW5wdXQuc2VsZWN0aXplO1xuICAgICAgICAgICAgaW5wdXQgPSAkKGlucHV0KTtcblxuICAgICAgICAgICAgaWYgKGlzU2VsZWN0aXplKSB7XG4gICAgICAgICAgICAgICAgaXNTZWxlY3RpemVbZW5hYmxlZCA/ICdlbmFibGUnIDogJ2Rpc2FibGUnXSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBpbnB1dC5wcm9wKCdkaXNhYmxlZCcsICFlbmFibGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBmb3JtLmZpbmQocXVlcnkpLnRyaWdnZXIoJ2NoYW5nZScpO1xufTtcblxuY29uc3QgYXR0YWNoRGlzYWJsZWRGaWVsZHMgPSAoZm9ybSkgPT4ge1xuICAgIGZvcm0gPSAkKGZvcm0pO1xuICAgIGxldCBwcmVmaXggPSAnLmZvcm0tZmllbGQtdG9nZ2xlYWJsZSAuZm9ybS1kYXRhJztcbiAgICBsZXQgcXVlcnkgPSBbXTtcblxuICAgIFsnaW5wdXQnLCAnc2VsZWN0JywgJ2xhYmVsW2Zvcl0nLCAndGV4dGFyZWEnLCAnLnNlbGVjdGl6ZS1jb250cm9sJ10uZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICBxdWVyeS5wdXNoKGAke3ByZWZpeH0gJHtpdGVtfWApO1xuICAgIH0pO1xuXG4gICAgZm9ybS5vbignbW91c2Vkb3duJywgcXVlcnkuam9pbignLCAnKSwgKGV2ZW50KSA9PiB7XG4gICAgICAgIGxldCBpbnB1dCA9ICQoZXZlbnQudGFyZ2V0KTtcbiAgICAgICAgbGV0IGlzRm9yID0gaW5wdXQucHJvcCgnZm9yJyk7XG4gICAgICAgIGxldCBpc1NlbGVjdGl6ZSA9IChpbnB1dC5oYXNDbGFzcygnc2VsZWN0aXplLWNvbnRyb2wnKSB8fCBpbnB1dC5wYXJlbnRzKCcuc2VsZWN0aXplLWNvbnRyb2wnKSkubGVuZ3RoO1xuXG4gICAgICAgIGlmIChpc0ZvcikgeyBpbnB1dCA9ICQoYFtpZD1cIiR7aXNGb3J9XCJdYCk7IH1cbiAgICAgICAgaWYgKGlzU2VsZWN0aXplKSB7IGlucHV0ID0gaW5wdXQuY2xvc2VzdCgnLnNlbGVjdGl6ZS1jb250cm9sJykuc2libGluZ3MoJ3NlbGVjdFtuYW1lXScpOyB9XG5cbiAgICAgICAgaWYgKCFpbnB1dC5wcm9wKCdkaXNhYmxlZCcpKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgICAgICAgbGV0IHRvZ2dsZSA9IGlucHV0LmNsb3Nlc3QoJy5mb3JtLWZpZWxkJykuZmluZCgnW2RhdGEtZ3Jhdi1maWVsZD1cInRvZ2dsZWFibGVcIl0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdJyk7XG4gICAgICAgIHRvZ2dsZS50cmlnZ2VyKCdjbGljaycpO1xuICAgIH0pO1xufTtcblxuLypcbmNvbnN0IHN1Ym1pdFVuY2hlY2tlZEZpZWxkcyA9IChmb3JtcykgPT4ge1xuICAgIGZvcm1zID0gJChmb3Jtcyk7XG4gICAgbGV0IHN1Ym1pdHRlZCA9IGZhbHNlO1xuICAgIGZvcm1zLmVhY2goKGluZGV4LCBmb3JtKSA9PiB7XG4gICAgICAgIGZvcm0gPSAkKGZvcm0pO1xuICAgICAgICBmb3JtLm9uKCdzdWJtaXQnLCAoKSA9PiB7XG4gICAgICAgICAgICAvLyB3b3JrYXJvdW5kIGZvciBNUyBFZGdlLCBzdWJtaXR0aW5nIG11bHRpcGxlIGZvcm1zIGF0IHRoZSBzYW1lIHRpbWVcbiAgICAgICAgICAgIGlmIChzdWJtaXR0ZWQpIHsgcmV0dXJuIGZhbHNlOyB9XG5cbiAgICAgICAgICAgIGxldCBmb3JtSWQgPSBmb3JtLmF0dHIoJ2lkJyk7XG4gICAgICAgICAgICBsZXQgdW5jaGVja2VkID0gZm9ybS5maW5kKCdpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06bm90KDpjaGVja2VkKTpub3QoOmRpc2FibGVkKScpO1xuICAgICAgICAgICAgbGV0IHN1Ym1pdCA9IGZvcm0uZmluZCgnW3R5cGU9XCJzdWJtaXRcIl0nKS5hZGQoYFtmb3JtPVwiJHtmb3JtSWR9XCJdW3R5cGU9XCJzdWJtaXRcIl1gKTtcblxuICAgICAgICAgICAgaWYgKCF1bmNoZWNrZWQubGVuZ3RoKSB7IHJldHVybiB0cnVlOyB9XG5cbiAgICAgICAgICAgIHN1Ym1pdC5hZGRDbGFzcygncG9pbnRlci1ldmVudHMtZGlzYWJsZWQnKTtcbiAgICAgICAgICAgIHVuY2hlY2tlZC5lYWNoKChpbmRleCwgZWxlbWVudCkgPT4ge1xuICAgICAgICAgICAgICAgIGVsZW1lbnQgPSAkKGVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGxldCBuYW1lID0gZWxlbWVudC5wcm9wKCduYW1lJyk7XG4gICAgICAgICAgICAgICAgbGV0IGZha2UgPSAkKGA8aW5wdXQgdHlwZT1cImhpZGRlblwiIG5hbWU9XCIke25hbWV9XCIgdmFsdWU9XCIwXCIgLz5gKTtcbiAgICAgICAgICAgICAgICBmb3JtLmFwcGVuZChmYWtlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgc3VibWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9KTtcbiAgICB9KTtcbn07XG4qL1xuXG4kKGRvY3VtZW50KS5yZWFkeSgoKSA9PiB7XG4gICAgY29uc3QgZm9ybXMgPSAkKCdmb3JtJykuZmlsdGVyKChmb3JtKSA9PiAkKGZvcm0pLmZpbmQoJ1tuYW1lPVwiX19mb3JtLW5hbWVfX1wiXScpKTtcbiAgICBpZiAoIWZvcm1zLmxlbmd0aCkgeyByZXR1cm47IH1cblxuICAgIGZvcm1zLmVhY2goKGluZGV4LCBmb3JtKSA9PiB7XG4gICAgICAgIGF0dGFjaFRvZ2dsZWFibGVzKGZvcm0pO1xuICAgICAgICBhdHRhY2hEaXNhYmxlZEZpZWxkcyhmb3JtKTtcbiAgICAgICAgLy8gc3VibWl0VW5jaGVja2VkRmllbGRzKGZvcm0pO1xuICAgIH0pO1xufSk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/fields/form.js\n");

/***/ }),

/***/ "./app/fields/index.js":
/*!*****************************!*\
  !*** ./app/fields/index.js ***!
  \*****************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form */ \"./app/fields/form.js\");\n/* harmony import */ var _file__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file */ \"./app/fields/file.js\");\n/* harmony import */ var _array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./array */ \"./app/fields/array.js\");\n/* harmony import */ var _media__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./media */ \"./app/fields/media.js\");\n/* harmony import */ var _tabs__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tabs */ \"./app/fields/tabs.js\");\n\n\n\n\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n  FileInstances: _file__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n  ArrayInstances: _array__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n  Media: {\n    PageMedia: _media__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n    PageMediaInstances: _media__WEBPACK_IMPORTED_MODULE_3__[\"Instance\"]\n  }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL2luZGV4LmpzPzE4OGEiXSwibmFtZXMiOlsiRmlsZUluc3RhbmNlcyIsIkFycmF5SW5zdGFuY2VzIiwiTWVkaWEiLCJQYWdlTWVkaWEiLCJQYWdlTWVkaWFJbnN0YW5jZXMiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFnQjtBQUNtQjtBQUNFO0FBQytCO0FBQ3BEO0FBRUQ7RUFBRUEsYUFBYSxFQUFiQSw2Q0FBYTtFQUFFQyxjQUFjLEVBQWRBLDhDQUFjO0VBQUVDLEtBQUssRUFBRTtJQUFFQyxTQUFTLEVBQVRBLDhDQUFTO0lBQUVDLGtCQUFrQixFQUFsQkEsK0NBQWtCQTtFQUFDO0FBQUUsQ0FBQyIsImZpbGUiOiIuL2FwcC9maWVsZHMvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4vZm9ybSc7XG5pbXBvcnQgRmlsZUluc3RhbmNlcyBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IEFycmF5SW5zdGFuY2VzIGZyb20gJy4vYXJyYXknO1xuaW1wb3J0IFBhZ2VNZWRpYSwgeyBJbnN0YW5jZSBhcyBQYWdlTWVkaWFJbnN0YW5jZXMgfSBmcm9tICcuL21lZGlhJztcbmltcG9ydCAnLi90YWJzJztcblxuZXhwb3J0IGRlZmF1bHQgeyBGaWxlSW5zdGFuY2VzLCBBcnJheUluc3RhbmNlcywgTWVkaWE6IHsgUGFnZU1lZGlhLCBQYWdlTWVkaWFJbnN0YW5jZXMgfSB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/fields/index.js\n");

/***/ }),

/***/ "./app/fields/media.js":
/*!*****************************!*\
  !*** ./app/fields/media.js ***!
  \*****************************/
/*! exports provided: default, Instance */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return PageMedia; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Instance\", function() { return Instance; });\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 _file__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./file */ \"./app/fields/file.js\");\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! grav-form */ \"grav-form\");\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(grav_form__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var sortablejs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! sortablejs */ \"./node_modules/sortablejs/modular/sortable.esm.js\");\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\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, _toPropertyKey(descriptor.key), descriptor); } }\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, \"prototype\", { writable: false }); return Constructor; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } else if (call !== void 0) { throw new TypeError(\"Derived constructors may only return object or undefined\"); } return _assertThisInitialized(self); }\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _get() { if (typeof Reflect !== \"undefined\" && Reflect.get) { _get = Reflect.get.bind(); } else { _get = function _get(target, property, receiver) { var base = _superPropBase(target, property); if (!base) return; var desc = Object.getOwnPropertyDescriptor(base, property); if (desc.get) { return desc.get.call(arguments.length < 3 ? target : receiver); } return desc.value; }; } return _get.apply(this, arguments); }\nfunction _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, \"prototype\", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\n\n\n\nvar template = \"\\n    <div class=\\\"dz-preview dz-file-preview\\\">\\n      <div class=\\\"dz-details\\\">\\n        <div class=\\\"dz-filename\\\"><span data-dz-name></span></div>\\n        <div class=\\\"dz-size\\\" data-dz-size></div>\\n        <img data-dz-thumbnail />\\n      </div>\\n      <div class=\\\"dz-progress\\\"><span class=\\\"dz-upload\\\" data-dz-uploadprogress></span></div>\\n      <div class=\\\"dz-success-mark\\\"><span>\\u2714</span></div>\\n      <div class=\\\"dz-error-mark\\\"><span>\\u2718</span></div>\\n      <div class=\\\"dz-error-message\\\"><span data-dz-errormessage></span></div>\\n      <a class=\\\"dz-remove\\\" title=\\\"\".concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DELETE, \"\\\" href=\\\"javascript:undefined;\\\" data-dz-remove>\").concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"translations\"].PLUGIN_FORM.DELETE, \"</a>\\n    </div>\").trim();\nvar PageMedia = /*#__PURE__*/function (_FilesField) {\n  function PageMedia() {\n    var _this;\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n      _ref$container = _ref.container,\n      container = _ref$container === void 0 ? '#grav-dropzone' : _ref$container,\n      _ref$options = _ref.options,\n      options = _ref$options === void 0 ? {} : _ref$options;\n    _classCallCheck(this, PageMedia);\n    var previewTemplate = jquery__WEBPACK_IMPORTED_MODULE_0___default()('#dropzone-media-template').html() || template;\n    options = Object.assign(options, {\n      previewTemplate: previewTemplate\n    });\n    _this = _callSuper(this, PageMedia, [{\n      container: container,\n      options: options\n    }]);\n    if (!_this.container.length) {\n      return _possibleConstructorReturn(_this);\n    }\n    _this.urls = {\n      fetch: \"\".concat(_this.container.data('media-url'), \"/task\").concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].param_sep, \"listmedia\"),\n      add: \"\".concat(_this.container.data('media-url'), \"/task\").concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].param_sep, \"addmedia\"),\n      \"delete\": \"\".concat(_this.container.data('media-url'), \"/task\").concat(grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].param_sep, \"delmedia\")\n    };\n    _this.dropzone.options.url = _this.urls.add;\n    if (typeof _this.options.fetchMedia === 'undefined' || _this.options.fetchMedia) {\n      _this.fetchMedia();\n    }\n    var field = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[name=\\\"\".concat(_this.container.data('dropzone-field'), \"\\\"]\"));\n    if (field.length) {\n      _this.sortable = new sortablejs__WEBPACK_IMPORTED_MODULE_3__[\"default\"](_this.container.get(0), {\n        animation: 150,\n        // forceFallback: true,\n        setData: function setData(dataTransfer, target) {\n          target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(target);\n          _this.dropzone.disable();\n          target.addClass('hide-backface');\n          dataTransfer.effectAllowed = 'copy';\n        },\n        onSort: function onSort() {\n          var names = [];\n          _this.container.find('[data-dz-name]').each(function (index, file) {\n            file = jquery__WEBPACK_IMPORTED_MODULE_0___default()(file);\n            var name = file.text().trim();\n            names.push(name);\n          });\n          field.val(names.join(','));\n        }\n      });\n    }\n    return _this;\n  }\n  _inherits(PageMedia, _FilesField);\n  return _createClass(PageMedia, [{\n    key: \"onDropzoneRemovedFile\",\n    value: function onDropzoneRemovedFile(file) {\n      var _this2 = this;\n      if (!file.accepted || file.rejected) {\n        return;\n      }\n      var form = this.container.closest('form');\n      var unique_id = form.find('[name=\"__unique_form_id__\"]');\n      var url = file.removeUrl || this.urls[\"delete\"] || \"\".concat(location.href, \".json\");\n      var path = (url || '').match(/path:(.*)\\//);\n      var data = new FormData();\n      data.append('filename', file.name);\n      data.append('__form-name__', form.find('[name=\"__form-name__\"]').val());\n      if (unique_id.length) {\n        data.append('__unique_form_id__', unique_id.val());\n      }\n      data.append('name', this.options.dotNotation);\n      data.append('form-nonce', grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].form_nonce);\n      if (file.sessionParams) {\n        data.append('__form-file-remover__', '1');\n        data.append('session', file.sessionParams);\n      }\n      jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n        url: url,\n        data: data,\n        method: 'POST',\n        contentType: false,\n        processData: false,\n        success: function success() {\n          if (!path) {\n            return;\n          }\n          path = global.atob(path[1]);\n          var input = _this2.container.find('[name][type=\"hidden\"]');\n          var data = JSON.parse(input.val() || '{}');\n          delete data[path];\n          input.val(JSON.stringify(data));\n        }\n      });\n    }\n  }, {\n    key: \"fetchMedia\",\n    value: function fetchMedia() {\n      var _this3 = this;\n      var order = this.container.closest('.form-field').find('[name=\"data[header][media_order]\"]').val();\n      var data = {\n        order: order\n      };\n      var url = this.urls.fetch;\n      jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n        url: url,\n        method: 'POST',\n        data: data,\n        success: function success(response) {\n          if (typeof response === 'string' || response instanceof String) {\n            return false;\n          }\n          response = response.results;\n          Object.keys(response).forEach(function (name) {\n            var data = response[name];\n            var mock = {\n              name: name,\n              size: data.size,\n              accepted: true,\n              extras: data\n            };\n            _this3.dropzone.files.push(mock);\n            _this3.dropzone.options.addedfile.call(_this3.dropzone, mock);\n            _this3.dropzone.options.thumbnail.call(_this3.dropzone, mock, data.url);\n          });\n          _this3.container.find('.dz-preview').prop('draggable', 'true');\n        }\n      });\n\n      /*\n      request(url, { method: 'post', body }, (response) => {\n          let results = response.results;\n           Object.keys(results).forEach((name) => {\n              let data = results[name];\n              let mock = { name, size: data.size, accepted: true, extras: data };\n               this.dropzone.files.push(mock);\n              this.dropzone.options.addedfile.call(this.dropzone, mock);\n              this.dropzone.options.thumbnail.call(this.dropzone, mock, data.url);\n          });\n           this.container.find('.dz-preview').prop('draggable', 'true');\n      });*/\n    }\n  }, {\n    key: \"onDropzoneSending\",\n    value: function onDropzoneSending(file, xhr, formData) {\n      /*\n      // Cannot call super because Safari and IE API don't implement `delete`\n      super.onDropzoneSending(file, xhr, formData);\n      formData.delete('task');\n      */\n\n      formData.append('name', this.options.dotNotation);\n      formData.append('admin-nonce', grav_form__WEBPACK_IMPORTED_MODULE_2__[\"config\"].admin_nonce);\n    }\n  }, {\n    key: \"onDropzoneComplete\",\n    value: function onDropzoneComplete(file) {\n      _get(_getPrototypeOf(PageMedia.prototype), \"onDropzoneComplete\", this).call(this, file);\n      this.sortable.options.onSort();\n\n      // accepted\n      jquery__WEBPACK_IMPORTED_MODULE_0___default()('.dz-preview').prop('draggable', 'true');\n    }\n\n    // onDropzoneRemovedFile(file, ...extra) {\n    //     super.onDropzoneRemovedFile(file, ...extra);\n    //     this.sortable.options.onSort();\n    // }\n  }]);\n}(_file__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n\nvar Instance = new PageMedia();\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../node_modules/webpack/buildin/global.js */ \"./node_modules/webpack/buildin/global.js\")))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL21lZGlhLmpzPzk5MTciXSwibmFtZXMiOlsidGVtcGxhdGUiLCJjb25jYXQiLCJ0cmFuc2xhdGlvbnMiLCJQTFVHSU5fRk9STSIsIkRFTEVURSIsInRyaW0iLCJQYWdlTWVkaWEiLCJfRmlsZXNGaWVsZCIsIl90aGlzIiwiX3JlZiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9yZWYkY29udGFpbmVyIiwiY29udGFpbmVyIiwiX3JlZiRvcHRpb25zIiwib3B0aW9ucyIsIl9jbGFzc0NhbGxDaGVjayIsInByZXZpZXdUZW1wbGF0ZSIsIiQiLCJodG1sIiwiT2JqZWN0IiwiYXNzaWduIiwiX2NhbGxTdXBlciIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuIiwidXJscyIsImZldGNoIiwiZGF0YSIsImNvbmZpZyIsInBhcmFtX3NlcCIsImFkZCIsImRyb3B6b25lIiwidXJsIiwiZmV0Y2hNZWRpYSIsImZpZWxkIiwic29ydGFibGUiLCJTb3J0YWJsZSIsImdldCIsImFuaW1hdGlvbiIsInNldERhdGEiLCJkYXRhVHJhbnNmZXIiLCJ0YXJnZXQiLCJkaXNhYmxlIiwiYWRkQ2xhc3MiLCJlZmZlY3RBbGxvd2VkIiwib25Tb3J0IiwibmFtZXMiLCJmaW5kIiwiZWFjaCIsImluZGV4IiwiZmlsZSIsIm5hbWUiLCJ0ZXh0IiwicHVzaCIsInZhbCIsImpvaW4iLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsIm9uRHJvcHpvbmVSZW1vdmVkRmlsZSIsIl90aGlzMiIsImFjY2VwdGVkIiwicmVqZWN0ZWQiLCJmb3JtIiwiY2xvc2VzdCIsInVuaXF1ZV9pZCIsInJlbW92ZVVybCIsImxvY2F0aW9uIiwiaHJlZiIsInBhdGgiLCJtYXRjaCIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiZG90Tm90YXRpb24iLCJmb3JtX25vbmNlIiwic2Vzc2lvblBhcmFtcyIsImFqYXgiLCJtZXRob2QiLCJjb250ZW50VHlwZSIsInByb2Nlc3NEYXRhIiwic3VjY2VzcyIsImdsb2JhbCIsImF0b2IiLCJpbnB1dCIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsIl90aGlzMyIsIm9yZGVyIiwicmVzcG9uc2UiLCJTdHJpbmciLCJyZXN1bHRzIiwia2V5cyIsImZvckVhY2giLCJtb2NrIiwic2l6ZSIsImV4dHJhcyIsImZpbGVzIiwiYWRkZWRmaWxlIiwiY2FsbCIsInRodW1ibmFpbCIsInByb3AiLCJvbkRyb3B6b25lU2VuZGluZyIsInhociIsImZvcm1EYXRhIiwiYWRtaW5fbm9uY2UiLCJvbkRyb3B6b25lQ29tcGxldGUiLCJfZ2V0IiwiX2dldFByb3RvdHlwZU9mIiwicHJvdG90eXBlIiwiRmlsZXNGaWVsZCIsIkluc3RhbmNlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBdUI7QUFDUztBQUNpQjtBQUNmO0FBRWxDLElBQU1BLFFBQVEsR0FBRyxxbEJBQUFDLE1BQUEsQ0FXbUJDLHNEQUFZLENBQUNDLFdBQVcsQ0FBQ0MsTUFBTSx1REFBQUgsTUFBQSxDQUFpREMsc0RBQVksQ0FBQ0MsV0FBVyxDQUFDQyxNQUFNLHNCQUN2SUMsSUFBSSxDQUFDLENBQUM7QUFBQyxJQUVFQyxTQUFTLDBCQUFBQyxXQUFBO0VBQzFCLFNBQUFELFVBQUEsRUFBaUU7SUFBQSxJQUFBRSxLQUFBO0lBQUEsSUFBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBSixDQUFDLENBQUM7TUFBQUcsY0FBQSxHQUFBSixJQUFBLENBQWpESyxTQUFTO01BQVRBLFNBQVMsR0FBQUQsY0FBQSxjQUFHLGdCQUFnQixHQUFBQSxjQUFBO01BQUFFLFlBQUEsR0FBQU4sSUFBQSxDQUFFTyxPQUFPO01BQVBBLE9BQU8sR0FBQUQsWUFBQSxjQUFHLENBQUMsQ0FBQyxHQUFBQSxZQUFBO0lBQUFFLGVBQUEsT0FBQVgsU0FBQTtJQUNwRCxJQUFNWSxlQUFlLEdBQUdDLDZDQUFDLENBQUMsMEJBQTBCLENBQUMsQ0FBQ0MsSUFBSSxDQUFDLENBQUMsSUFBSXBCLFFBQVE7SUFDeEVnQixPQUFPLEdBQUdLLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDTixPQUFPLEVBQUU7TUFBRUUsZUFBZSxFQUFmQTtJQUFnQixDQUFDLENBQUM7SUFDckRWLEtBQUEsR0FBQWUsVUFBQSxPQUFBakIsU0FBQSxHQUFNO01BQUVRLFNBQVMsRUFBVEEsU0FBUztNQUFFRSxPQUFPLEVBQVBBO0lBQVEsQ0FBQztJQUM1QixJQUFJLENBQUNSLEtBQUEsQ0FBS00sU0FBUyxDQUFDSCxNQUFNLEVBQUU7TUFBRSxPQUFBYSwwQkFBQSxDQUFBaEIsS0FBQTtJQUFRO0lBRXRDQSxLQUFBLENBQUtpQixJQUFJLEdBQUc7TUFDUkMsS0FBSyxLQUFBekIsTUFBQSxDQUFLTyxLQUFBLENBQUtNLFNBQVMsQ0FBQ2EsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFBMUIsTUFBQSxDQUFRMkIsZ0RBQU0sQ0FBQ0MsU0FBUyxjQUFXO01BQzdFQyxHQUFHLEtBQUE3QixNQUFBLENBQUtPLEtBQUEsQ0FBS00sU0FBUyxDQUFDYSxJQUFJLENBQUMsV0FBVyxDQUFDLFdBQUExQixNQUFBLENBQVEyQixnREFBTSxDQUFDQyxTQUFTLGFBQVU7TUFDMUUsYUFBQTVCLE1BQUEsQ0FBV08sS0FBQSxDQUFLTSxTQUFTLENBQUNhLElBQUksQ0FBQyxXQUFXLENBQUMsV0FBQTFCLE1BQUEsQ0FBUTJCLGdEQUFNLENBQUNDLFNBQVM7SUFDdkUsQ0FBQztJQUVEckIsS0FBQSxDQUFLdUIsUUFBUSxDQUFDZixPQUFPLENBQUNnQixHQUFHLEdBQUd4QixLQUFBLENBQUtpQixJQUFJLENBQUNLLEdBQUc7SUFFekMsSUFBSSxPQUFPdEIsS0FBQSxDQUFLUSxPQUFPLENBQUNpQixVQUFVLEtBQUssV0FBVyxJQUFJekIsS0FBQSxDQUFLUSxPQUFPLENBQUNpQixVQUFVLEVBQUU7TUFDM0V6QixLQUFBLENBQUt5QixVQUFVLENBQUMsQ0FBQztJQUNyQjtJQUVBLElBQU1DLEtBQUssR0FBR2YsNkNBQUMsWUFBQWxCLE1BQUEsQ0FBV08sS0FBQSxDQUFLTSxTQUFTLENBQUNhLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFJLENBQUM7SUFFcEUsSUFBSU8sS0FBSyxDQUFDdkIsTUFBTSxFQUFFO01BQ2RILEtBQUEsQ0FBSzJCLFFBQVEsR0FBRyxJQUFJQyxrREFBUSxDQUFDNUIsS0FBQSxDQUFLTSxTQUFTLENBQUN1QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7UUFDaERDLFNBQVMsRUFBRSxHQUFHO1FBQ2Q7UUFDQUMsT0FBTyxFQUFFLFNBQUFBLFFBQUNDLFlBQVksRUFBRUMsTUFBTSxFQUFLO1VBQy9CQSxNQUFNLEdBQUd0Qiw2Q0FBQyxDQUFDc0IsTUFBTSxDQUFDO1VBQ2xCakMsS0FBQSxDQUFLdUIsUUFBUSxDQUFDVyxPQUFPLENBQUMsQ0FBQztVQUN2QkQsTUFBTSxDQUFDRSxRQUFRLENBQUMsZUFBZSxDQUFDO1VBQ2hDSCxZQUFZLENBQUNJLGFBQWEsR0FBRyxNQUFNO1FBQ3ZDLENBQUM7UUFDREMsTUFBTSxFQUFFLFNBQUFBLE9BQUEsRUFBTTtVQUNWLElBQUlDLEtBQUssR0FBRyxFQUFFO1VBQ2R0QyxLQUFBLENBQUtNLFNBQVMsQ0FBQ2lDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDQyxJQUFJLENBQUMsVUFBQ0MsS0FBSyxFQUFFQyxJQUFJLEVBQUs7WUFDeERBLElBQUksR0FBRy9CLDZDQUFDLENBQUMrQixJQUFJLENBQUM7WUFDZCxJQUFNQyxJQUFJLEdBQUdELElBQUksQ0FBQ0UsSUFBSSxDQUFDLENBQUMsQ0FBQy9DLElBQUksQ0FBQyxDQUFDO1lBQy9CeUMsS0FBSyxDQUFDTyxJQUFJLENBQUNGLElBQUksQ0FBQztVQUNwQixDQUFDLENBQUM7VUFFRmpCLEtBQUssQ0FBQ29CLEdBQUcsQ0FBQ1IsS0FBSyxDQUFDUyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUI7TUFDSixDQUFDLENBQUM7SUFDTjtJQUFDLE9BQUEvQyxLQUFBO0VBQ0w7RUFBQ2dELFNBQUEsQ0FBQWxELFNBQUEsRUFBQUMsV0FBQTtFQUFBLE9BQUFrRCxZQUFBLENBQUFuRCxTQUFBO0lBQUFvRCxHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBQyxzQkFBc0JWLElBQUksRUFBWTtNQUFBLElBQUFXLE1BQUE7TUFDbEMsSUFBSSxDQUFDWCxJQUFJLENBQUNZLFFBQVEsSUFBSVosSUFBSSxDQUFDYSxRQUFRLEVBQUU7UUFBRTtNQUFRO01BQy9DLElBQU1DLElBQUksR0FBRyxJQUFJLENBQUNsRCxTQUFTLENBQUNtRCxPQUFPLENBQUMsTUFBTSxDQUFDO01BQzNDLElBQU1DLFNBQVMsR0FBR0YsSUFBSSxDQUFDakIsSUFBSSxDQUFDLDZCQUE2QixDQUFDO01BQzFELElBQUlmLEdBQUcsR0FBR2tCLElBQUksQ0FBQ2lCLFNBQVMsSUFBSSxJQUFJLENBQUMxQyxJQUFJLFVBQU8sT0FBQXhCLE1BQUEsQ0FBT21FLFFBQVEsQ0FBQ0MsSUFBSSxVQUFPO01BQ3ZFLElBQUlDLElBQUksR0FBRyxDQUFDdEMsR0FBRyxJQUFJLEVBQUUsRUFBRXVDLEtBQUssQ0FBQyxhQUFhLENBQUM7TUFDM0MsSUFBSTVDLElBQUksR0FBRyxJQUFJNkMsUUFBUSxDQUFDLENBQUM7TUFFekI3QyxJQUFJLENBQUM4QyxNQUFNLENBQUMsVUFBVSxFQUFFdkIsSUFBSSxDQUFDQyxJQUFJLENBQUM7TUFDbEN4QixJQUFJLENBQUM4QyxNQUFNLENBQUMsZUFBZSxFQUFFVCxJQUFJLENBQUNqQixJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQ08sR0FBRyxDQUFDLENBQUMsQ0FBQztNQUN2RSxJQUFJWSxTQUFTLENBQUN2RCxNQUFNLEVBQUU7UUFDbEJnQixJQUFJLENBQUM4QyxNQUFNLENBQUMsb0JBQW9CLEVBQUVQLFNBQVMsQ0FBQ1osR0FBRyxDQUFDLENBQUMsQ0FBQztNQUN0RDtNQUNBM0IsSUFBSSxDQUFDOEMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUN6RCxPQUFPLENBQUMwRCxXQUFXLENBQUM7TUFDN0MvQyxJQUFJLENBQUM4QyxNQUFNLENBQUMsWUFBWSxFQUFFN0MsZ0RBQU0sQ0FBQytDLFVBQVUsQ0FBQztNQUU1QyxJQUFJekIsSUFBSSxDQUFDMEIsYUFBYSxFQUFFO1FBQ3BCakQsSUFBSSxDQUFDOEMsTUFBTSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsQ0FBQztRQUN6QzlDLElBQUksQ0FBQzhDLE1BQU0sQ0FBQyxTQUFTLEVBQUV2QixJQUFJLENBQUMwQixhQUFhLENBQUM7TUFDOUM7TUFFQXpELDZDQUFDLENBQUMwRCxJQUFJLENBQUM7UUFDSDdDLEdBQUcsRUFBSEEsR0FBRztRQUNITCxJQUFJLEVBQUpBLElBQUk7UUFDSm1ELE1BQU0sRUFBRSxNQUFNO1FBQ2RDLFdBQVcsRUFBRSxLQUFLO1FBQ2xCQyxXQUFXLEVBQUUsS0FBSztRQUNsQkMsT0FBTyxFQUFFLFNBQUFBLFFBQUEsRUFBTTtVQUNYLElBQUksQ0FBQ1gsSUFBSSxFQUFFO1lBQUU7VUFBUTtVQUVyQkEsSUFBSSxHQUFHWSxNQUFNLENBQUNDLElBQUksQ0FBQ2IsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1VBQzNCLElBQUljLEtBQUssR0FBR3ZCLE1BQUksQ0FBQy9DLFNBQVMsQ0FBQ2lDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQztVQUN4RCxJQUFJcEIsSUFBSSxHQUFHMEQsSUFBSSxDQUFDQyxLQUFLLENBQUNGLEtBQUssQ0FBQzlCLEdBQUcsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO1VBQzFDLE9BQU8zQixJQUFJLENBQUMyQyxJQUFJLENBQUM7VUFDakJjLEtBQUssQ0FBQzlCLEdBQUcsQ0FBQytCLElBQUksQ0FBQ0UsU0FBUyxDQUFDNUQsSUFBSSxDQUFDLENBQUM7UUFDbkM7TUFDSixDQUFDLENBQUM7SUFDTjtFQUFDO0lBQUErQixHQUFBO0lBQUFDLEtBQUEsRUFFRCxTQUFBMUIsV0FBQSxFQUFhO01BQUEsSUFBQXVELE1BQUE7TUFDVCxJQUFNQyxLQUFLLEdBQUcsSUFBSSxDQUFDM0UsU0FBUyxDQUFDbUQsT0FBTyxDQUFDLGFBQWEsQ0FBQyxDQUFDbEIsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLENBQUNPLEdBQUcsQ0FBQyxDQUFDO01BQ3BHLElBQU0zQixJQUFJLEdBQUc7UUFBRThELEtBQUssRUFBTEE7TUFBTSxDQUFDO01BQ3RCLElBQUl6RCxHQUFHLEdBQUcsSUFBSSxDQUFDUCxJQUFJLENBQUNDLEtBQUs7TUFFekJQLDZDQUFDLENBQUMwRCxJQUFJLENBQUM7UUFDSDdDLEdBQUcsRUFBSEEsR0FBRztRQUNIOEMsTUFBTSxFQUFFLE1BQU07UUFDZG5ELElBQUksRUFBSkEsSUFBSTtRQUNKc0QsT0FBTyxFQUFFLFNBQUFBLFFBQUNTLFFBQVEsRUFBSztVQUNuQixJQUFJLE9BQU9BLFFBQVEsS0FBSyxRQUFRLElBQUlBLFFBQVEsWUFBWUMsTUFBTSxFQUFFO1lBQzVELE9BQU8sS0FBSztVQUNoQjtVQUVBRCxRQUFRLEdBQUdBLFFBQVEsQ0FBQ0UsT0FBTztVQUMzQnZFLE1BQU0sQ0FBQ3dFLElBQUksQ0FBQ0gsUUFBUSxDQUFDLENBQUNJLE9BQU8sQ0FBQyxVQUFDM0MsSUFBSSxFQUFLO1lBQ3BDLElBQUl4QixJQUFJLEdBQUcrRCxRQUFRLENBQUN2QyxJQUFJLENBQUM7WUFDekIsSUFBSTRDLElBQUksR0FBRztjQUFFNUMsSUFBSSxFQUFKQSxJQUFJO2NBQUU2QyxJQUFJLEVBQUVyRSxJQUFJLENBQUNxRSxJQUFJO2NBQUVsQyxRQUFRLEVBQUUsSUFBSTtjQUFFbUMsTUFBTSxFQUFFdEU7WUFBSyxDQUFDO1lBRWxFNkQsTUFBSSxDQUFDekQsUUFBUSxDQUFDbUUsS0FBSyxDQUFDN0MsSUFBSSxDQUFDMEMsSUFBSSxDQUFDO1lBQzlCUCxNQUFJLENBQUN6RCxRQUFRLENBQUNmLE9BQU8sQ0FBQ21GLFNBQVMsQ0FBQ0MsSUFBSSxDQUFDWixNQUFJLENBQUN6RCxRQUFRLEVBQUVnRSxJQUFJLENBQUM7WUFDekRQLE1BQUksQ0FBQ3pELFFBQVEsQ0FBQ2YsT0FBTyxDQUFDcUYsU0FBUyxDQUFDRCxJQUFJLENBQUNaLE1BQUksQ0FBQ3pELFFBQVEsRUFBRWdFLElBQUksRUFBRXBFLElBQUksQ0FBQ0ssR0FBRyxDQUFDO1VBQ3ZFLENBQUMsQ0FBQztVQUVGd0QsTUFBSSxDQUFDMUUsU0FBUyxDQUFDaUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDdUQsSUFBSSxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUM7UUFDaEU7TUFDSixDQUFDLENBQUM7O01BRUY7QUFDUjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBSUk7RUFBQztJQUFBNUMsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQTRDLGtCQUFrQnJELElBQUksRUFBRXNELEdBQUcsRUFBRUMsUUFBUSxFQUFFO01BQ25DO0FBQ1I7QUFDQTtBQUNBO0FBQ0E7O01BRVFBLFFBQVEsQ0FBQ2hDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDekQsT0FBTyxDQUFDMEQsV0FBVyxDQUFDO01BQ2pEK0IsUUFBUSxDQUFDaEMsTUFBTSxDQUFDLGFBQWEsRUFBRTdDLGdEQUFNLENBQUM4RSxXQUFXLENBQUM7SUFDdEQ7RUFBQztJQUFBaEQsR0FBQTtJQUFBQyxLQUFBLEVBRUQsU0FBQWdELG1CQUFtQnpELElBQUksRUFBRTtNQUNyQjBELElBQUEsQ0FBQUMsZUFBQSxDQUFBdkcsU0FBQSxDQUFBd0csU0FBQSwrQkFBQVYsSUFBQSxPQUF5QmxELElBQUk7TUFDN0IsSUFBSSxDQUFDZixRQUFRLENBQUNuQixPQUFPLENBQUM2QixNQUFNLENBQUMsQ0FBQzs7TUFFOUI7TUFDQTFCLDZDQUFDLENBQUMsYUFBYSxDQUFDLENBQUNtRixJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sQ0FBQztJQUM5Qzs7SUFFQTtJQUNBO0lBQ0E7SUFDQTtFQUFBO0FBQUEsRUF2Sm1DUyw2Q0FBVTtBQUFuQjtBQTBKdkIsSUFBSUMsUUFBUSxHQUFHLElBQUkxRyxTQUFTLENBQUMsQ0FBQyxDIiwiZmlsZSI6Ii4vYXBwL2ZpZWxkcy9tZWRpYS5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5pbXBvcnQgRmlsZXNGaWVsZCBmcm9tICcuL2ZpbGUnO1xuaW1wb3J0IHsgY29uZmlnLCB0cmFuc2xhdGlvbnMgfSBmcm9tICdncmF2LWZvcm0nO1xuaW1wb3J0IFNvcnRhYmxlIGZyb20gJ3NvcnRhYmxlanMnO1xuXG5jb25zdCB0ZW1wbGF0ZSA9IGBcbiAgICA8ZGl2IGNsYXNzPVwiZHotcHJldmlldyBkei1maWxlLXByZXZpZXdcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkei1kZXRhaWxzXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkei1maWxlbmFtZVwiPjxzcGFuIGRhdGEtZHotbmFtZT48L3NwYW4+PC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkei1zaXplXCIgZGF0YS1kei1zaXplPjwvZGl2PlxuICAgICAgICA8aW1nIGRhdGEtZHotdGh1bWJuYWlsIC8+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkei1wcm9ncmVzc1wiPjxzcGFuIGNsYXNzPVwiZHotdXBsb2FkXCIgZGF0YS1kei11cGxvYWRwcm9ncmVzcz48L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHotc3VjY2Vzcy1tYXJrXCI+PHNwYW4+4pyUPC9zcGFuPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImR6LWVycm9yLW1hcmtcIj48c3Bhbj7inJg8L3NwYW4+PC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiZHotZXJyb3ItbWVzc2FnZVwiPjxzcGFuIGRhdGEtZHotZXJyb3JtZXNzYWdlPjwvc3Bhbj48L2Rpdj5cbiAgICAgIDxhIGNsYXNzPVwiZHotcmVtb3ZlXCIgdGl0bGU9XCIke3RyYW5zbGF0aW9ucy5QTFVHSU5fRk9STS5ERUxFVEV9XCIgaHJlZj1cImphdmFzY3JpcHQ6dW5kZWZpbmVkO1wiIGRhdGEtZHotcmVtb3ZlPiR7dHJhbnNsYXRpb25zLlBMVUdJTl9GT1JNLkRFTEVURX08L2E+XG4gICAgPC9kaXY+YC50cmltKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhZ2VNZWRpYSBleHRlbmRzIEZpbGVzRmllbGQge1xuICAgIGNvbnN0cnVjdG9yKHsgY29udGFpbmVyID0gJyNncmF2LWRyb3B6b25lJywgb3B0aW9ucyA9IHt9IH0gPSB7fSkge1xuICAgICAgICBjb25zdCBwcmV2aWV3VGVtcGxhdGUgPSAkKCcjZHJvcHpvbmUtbWVkaWEtdGVtcGxhdGUnKS5odG1sKCkgfHwgdGVtcGxhdGU7XG4gICAgICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKG9wdGlvbnMsIHsgcHJldmlld1RlbXBsYXRlIH0pO1xuICAgICAgICBzdXBlcih7IGNvbnRhaW5lciwgb3B0aW9ucyB9KTtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRhaW5lci5sZW5ndGgpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgdGhpcy51cmxzID0ge1xuICAgICAgICAgICAgZmV0Y2g6IGAke3RoaXMuY29udGFpbmVyLmRhdGEoJ21lZGlhLXVybCcpfS90YXNrJHtjb25maWcucGFyYW1fc2VwfWxpc3RtZWRpYWAsXG4gICAgICAgICAgICBhZGQ6IGAke3RoaXMuY29udGFpbmVyLmRhdGEoJ21lZGlhLXVybCcpfS90YXNrJHtjb25maWcucGFyYW1fc2VwfWFkZG1lZGlhYCxcbiAgICAgICAgICAgIGRlbGV0ZTogYCR7dGhpcy5jb250YWluZXIuZGF0YSgnbWVkaWEtdXJsJyl9L3Rhc2ske2NvbmZpZy5wYXJhbV9zZXB9ZGVsbWVkaWFgXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5kcm9wem9uZS5vcHRpb25zLnVybCA9IHRoaXMudXJscy5hZGQ7XG5cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMuZmV0Y2hNZWRpYSA9PT0gJ3VuZGVmaW5lZCcgfHwgdGhpcy5vcHRpb25zLmZldGNoTWVkaWEpIHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hNZWRpYSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZmllbGQgPSAkKGBbbmFtZT1cIiR7dGhpcy5jb250YWluZXIuZGF0YSgnZHJvcHpvbmUtZmllbGQnKX1cIl1gKTtcblxuICAgICAgICBpZiAoZmllbGQubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLnNvcnRhYmxlID0gbmV3IFNvcnRhYmxlKHRoaXMuY29udGFpbmVyLmdldCgwKSwge1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogMTUwLFxuICAgICAgICAgICAgICAgIC8vIGZvcmNlRmFsbGJhY2s6IHRydWUsXG4gICAgICAgICAgICAgICAgc2V0RGF0YTogKGRhdGFUcmFuc2ZlciwgdGFyZ2V0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldCA9ICQodGFyZ2V0KTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5kaXNhYmxlKCk7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldC5hZGRDbGFzcygnaGlkZS1iYWNrZmFjZScpO1xuICAgICAgICAgICAgICAgICAgICBkYXRhVHJhbnNmZXIuZWZmZWN0QWxsb3dlZCA9ICdjb3B5JztcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIG9uU29ydDogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgbmFtZXMgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250YWluZXIuZmluZCgnW2RhdGEtZHotbmFtZV0nKS5lYWNoKChpbmRleCwgZmlsZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmlsZSA9ICQoZmlsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBuYW1lID0gZmlsZS50ZXh0KCkudHJpbSgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZXMucHVzaChuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICAgICAgZmllbGQudmFsKG5hbWVzLmpvaW4oJywnKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRyb3B6b25lUmVtb3ZlZEZpbGUoZmlsZSwgLi4uZXh0cmEpIHtcbiAgICAgICAgaWYgKCFmaWxlLmFjY2VwdGVkIHx8IGZpbGUucmVqZWN0ZWQpIHsgcmV0dXJuOyB9XG4gICAgICAgIGNvbnN0IGZvcm0gPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCdmb3JtJyk7XG4gICAgICAgIGNvbnN0IHVuaXF1ZV9pZCA9IGZvcm0uZmluZCgnW25hbWU9XCJfX3VuaXF1ZV9mb3JtX2lkX19cIl0nKTtcbiAgICAgICAgbGV0IHVybCA9IGZpbGUucmVtb3ZlVXJsIHx8IHRoaXMudXJscy5kZWxldGUgfHwgYCR7bG9jYXRpb24uaHJlZn0uanNvbmA7XG4gICAgICAgIGxldCBwYXRoID0gKHVybCB8fCAnJykubWF0Y2goL3BhdGg6KC4qKVxcLy8pO1xuICAgICAgICBsZXQgZGF0YSA9IG5ldyBGb3JtRGF0YSgpO1xuXG4gICAgICAgIGRhdGEuYXBwZW5kKCdmaWxlbmFtZScsIGZpbGUubmFtZSk7XG4gICAgICAgIGRhdGEuYXBwZW5kKCdfX2Zvcm0tbmFtZV9fJywgZm9ybS5maW5kKCdbbmFtZT1cIl9fZm9ybS1uYW1lX19cIl0nKS52YWwoKSk7XG4gICAgICAgIGlmICh1bmlxdWVfaWQubGVuZ3RoKSB7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZCgnX191bmlxdWVfZm9ybV9pZF9fJywgdW5pcXVlX2lkLnZhbCgpKTtcbiAgICAgICAgfVxuICAgICAgICBkYXRhLmFwcGVuZCgnbmFtZScsIHRoaXMub3B0aW9ucy5kb3ROb3RhdGlvbik7XG4gICAgICAgIGRhdGEuYXBwZW5kKCdmb3JtLW5vbmNlJywgY29uZmlnLmZvcm1fbm9uY2UpO1xuXG4gICAgICAgIGlmIChmaWxlLnNlc3Npb25QYXJhbXMpIHtcbiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCdfX2Zvcm0tZmlsZS1yZW1vdmVyX18nLCAnMScpO1xuICAgICAgICAgICAgZGF0YS5hcHBlbmQoJ3Nlc3Npb24nLCBmaWxlLnNlc3Npb25QYXJhbXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHVybCxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiBmYWxzZSxcbiAgICAgICAgICAgIHByb2Nlc3NEYXRhOiBmYWxzZSxcbiAgICAgICAgICAgIHN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXBhdGgpIHsgcmV0dXJuOyB9XG5cbiAgICAgICAgICAgICAgICBwYXRoID0gZ2xvYmFsLmF0b2IocGF0aFsxXSk7XG4gICAgICAgICAgICAgICAgbGV0IGlucHV0ID0gdGhpcy5jb250YWluZXIuZmluZCgnW25hbWVdW3R5cGU9XCJoaWRkZW5cIl0nKTtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IEpTT04ucGFyc2UoaW5wdXQudmFsKCkgfHwgJ3t9Jyk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGRhdGFbcGF0aF07XG4gICAgICAgICAgICAgICAgaW5wdXQudmFsKEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmV0Y2hNZWRpYSgpIHtcbiAgICAgICAgY29uc3Qgb3JkZXIgPSB0aGlzLmNvbnRhaW5lci5jbG9zZXN0KCcuZm9ybS1maWVsZCcpLmZpbmQoJ1tuYW1lPVwiZGF0YVtoZWFkZXJdW21lZGlhX29yZGVyXVwiXScpLnZhbCgpO1xuICAgICAgICBjb25zdCBkYXRhID0geyBvcmRlciB9O1xuICAgICAgICBsZXQgdXJsID0gdGhpcy51cmxzLmZldGNoO1xuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmwsXG4gICAgICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgICAgIGRhdGEsXG4gICAgICAgICAgICBzdWNjZXNzOiAocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlc3BvbnNlID09PSAnc3RyaW5nJyB8fCByZXNwb25zZSBpbnN0YW5jZW9mIFN0cmluZykge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcmVzcG9uc2UgPSByZXNwb25zZS5yZXN1bHRzO1xuICAgICAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlc3BvbnNlKS5mb3JFYWNoKChuYW1lKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBkYXRhID0gcmVzcG9uc2VbbmFtZV07XG4gICAgICAgICAgICAgICAgICAgIGxldCBtb2NrID0geyBuYW1lLCBzaXplOiBkYXRhLnNpemUsIGFjY2VwdGVkOiB0cnVlLCBleHRyYXM6IGRhdGEgfTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRyb3B6b25lLmZpbGVzLnB1c2gobW9jayk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZHJvcHpvbmUub3B0aW9ucy5hZGRlZGZpbGUuY2FsbCh0aGlzLmRyb3B6b25lLCBtb2NrKTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5vcHRpb25zLnRodW1ibmFpbC5jYWxsKHRoaXMuZHJvcHpvbmUsIG1vY2ssIGRhdGEudXJsKTtcbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmZpbmQoJy5kei1wcmV2aWV3JykucHJvcCgnZHJhZ2dhYmxlJywgJ3RydWUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgLypcbiAgICAgICAgcmVxdWVzdCh1cmwsIHsgbWV0aG9kOiAncG9zdCcsIGJvZHkgfSwgKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgICAgICBsZXQgcmVzdWx0cyA9IHJlc3BvbnNlLnJlc3VsdHM7XG5cbiAgICAgICAgICAgIE9iamVjdC5rZXlzKHJlc3VsdHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgZGF0YSA9IHJlc3VsdHNbbmFtZV07XG4gICAgICAgICAgICAgICAgbGV0IG1vY2sgPSB7IG5hbWUsIHNpemU6IGRhdGEuc2l6ZSwgYWNjZXB0ZWQ6IHRydWUsIGV4dHJhczogZGF0YSB9O1xuXG4gICAgICAgICAgICAgICAgdGhpcy5kcm9wem9uZS5maWxlcy5wdXNoKG1vY2spO1xuICAgICAgICAgICAgICAgIHRoaXMuZHJvcHpvbmUub3B0aW9ucy5hZGRlZGZpbGUuY2FsbCh0aGlzLmRyb3B6b25lLCBtb2NrKTtcbiAgICAgICAgICAgICAgICB0aGlzLmRyb3B6b25lLm9wdGlvbnMudGh1bWJuYWlsLmNhbGwodGhpcy5kcm9wem9uZSwgbW9jaywgZGF0YS51cmwpO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHRoaXMuY29udGFpbmVyLmZpbmQoJy5kei1wcmV2aWV3JykucHJvcCgnZHJhZ2dhYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfSk7Ki9cbiAgICB9XG5cbiAgICBvbkRyb3B6b25lU2VuZGluZyhmaWxlLCB4aHIsIGZvcm1EYXRhKSB7XG4gICAgICAgIC8qXG4gICAgICAgIC8vIENhbm5vdCBjYWxsIHN1cGVyIGJlY2F1c2UgU2FmYXJpIGFuZCBJRSBBUEkgZG9uJ3QgaW1wbGVtZW50IGBkZWxldGVgXG4gICAgICAgIHN1cGVyLm9uRHJvcHpvbmVTZW5kaW5nKGZpbGUsIHhociwgZm9ybURhdGEpO1xuICAgICAgICBmb3JtRGF0YS5kZWxldGUoJ3Rhc2snKTtcbiAgICAgICAgKi9cblxuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ25hbWUnLCB0aGlzLm9wdGlvbnMuZG90Tm90YXRpb24pO1xuICAgICAgICBmb3JtRGF0YS5hcHBlbmQoJ2FkbWluLW5vbmNlJywgY29uZmlnLmFkbWluX25vbmNlKTtcbiAgICB9XG5cbiAgICBvbkRyb3B6b25lQ29tcGxldGUoZmlsZSkge1xuICAgICAgICBzdXBlci5vbkRyb3B6b25lQ29tcGxldGUoZmlsZSk7XG4gICAgICAgIHRoaXMuc29ydGFibGUub3B0aW9ucy5vblNvcnQoKTtcblxuICAgICAgICAvLyBhY2NlcHRlZFxuICAgICAgICAkKCcuZHotcHJldmlldycpLnByb3AoJ2RyYWdnYWJsZScsICd0cnVlJyk7XG4gICAgfVxuXG4gICAgLy8gb25Ecm9wem9uZVJlbW92ZWRGaWxlKGZpbGUsIC4uLmV4dHJhKSB7XG4gICAgLy8gICAgIHN1cGVyLm9uRHJvcHpvbmVSZW1vdmVkRmlsZShmaWxlLCAuLi5leHRyYSk7XG4gICAgLy8gICAgIHRoaXMuc29ydGFibGUub3B0aW9ucy5vblNvcnQoKTtcbiAgICAvLyB9XG59XG5cbmV4cG9ydCBsZXQgSW5zdGFuY2UgPSBuZXcgUGFnZU1lZGlhKCk7XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./app/fields/media.js\n");

/***/ }),

/***/ "./app/fields/tabs.js":
/*!****************************!*\
  !*** ./app/fields/tabs.js ***!
  \****************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\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\njquery__WEBPACK_IMPORTED_MODULE_0___default()('body').on('touchstart click', '[data-tabid]', function (event) {\n  event && event.stopPropagation();\n  var target = jquery__WEBPACK_IMPORTED_MODULE_0___default()(event.currentTarget);\n  var panel = jquery__WEBPACK_IMPORTED_MODULE_0___default()(\"[id=\\\"\".concat(target.data('tabid'), \"\\\"]\"));\n  target.siblings('[data-tabid]').removeClass('active');\n  target.addClass('active');\n  panel.siblings('[id]').removeClass('active');\n  panel.addClass('active');\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvZmllbGRzL3RhYnMuanM/NGRlZSJdLCJuYW1lcyI6WyIkIiwib24iLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInRhcmdldCIsImN1cnJlbnRUYXJnZXQiLCJwYW5lbCIsImNvbmNhdCIsImRhdGEiLCJzaWJsaW5ncyIsInJlbW92ZUNsYXNzIiwiYWRkQ2xhc3MiXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUF1QjtBQUV2QkEsNkNBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQ0MsRUFBRSxDQUFDLGtCQUFrQixFQUFFLGNBQWMsRUFBRSxVQUFDQyxLQUFLLEVBQUs7RUFDeERBLEtBQUssSUFBSUEsS0FBSyxDQUFDQyxlQUFlLENBQUMsQ0FBQztFQUNoQyxJQUFJQyxNQUFNLEdBQUdKLDZDQUFDLENBQUNFLEtBQUssQ0FBQ0csYUFBYSxDQUFDO0VBRW5DLElBQU1DLEtBQUssR0FBR04sNkNBQUMsVUFBQU8sTUFBQSxDQUFTSCxNQUFNLENBQUNJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBSSxDQUFDO0VBRWpESixNQUFNLENBQUNLLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQztFQUNyRE4sTUFBTSxDQUFDTyxRQUFRLENBQUMsUUFBUSxDQUFDO0VBRXpCTCxLQUFLLENBQUNHLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQ0MsV0FBVyxDQUFDLFFBQVEsQ0FBQztFQUM1Q0osS0FBSyxDQUFDSyxRQUFRLENBQUMsUUFBUSxDQUFDO0FBQzVCLENBQUMsQ0FBQyIsImZpbGUiOiIuL2FwcC9maWVsZHMvdGFicy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAkIGZyb20gJ2pxdWVyeSc7XG5cbiQoJ2JvZHknKS5vbigndG91Y2hzdGFydCBjbGljaycsICdbZGF0YS10YWJpZF0nLCAoZXZlbnQpID0+IHtcbiAgICBldmVudCAmJiBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBsZXQgdGFyZ2V0ID0gJChldmVudC5jdXJyZW50VGFyZ2V0KTtcblxuICAgIGNvbnN0IHBhbmVsID0gJChgW2lkPVwiJHt0YXJnZXQuZGF0YSgndGFiaWQnKX1cIl1gKTtcblxuICAgIHRhcmdldC5zaWJsaW5ncygnW2RhdGEtdGFiaWRdJykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpO1xuICAgIHRhcmdldC5hZGRDbGFzcygnYWN0aXZlJyk7XG5cbiAgICBwYW5lbC5zaWJsaW5ncygnW2lkXScpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKTtcbiAgICBwYW5lbC5hZGRDbGFzcygnYWN0aXZlJyk7XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/fields/tabs.js\n");

/***/ }),

/***/ "./app/main.js":
/*!*********************!*\
  !*** ./app/main.js ***!
  \*********************/
/*! exports provided: Instances */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _fields__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fields */ \"./app/fields/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Instances\", function() { return _fields__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _utils_keep_alive__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./utils/keep-alive */ \"./app/utils/keep-alive.js\");\n\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvbWFpbi5qcz9mMTYxIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBaUM7QUFDTCIsImZpbGUiOiIuL2FwcC9tYWluLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEluc3RhbmNlcyBmcm9tICcuL2ZpZWxkcyc7XG5pbXBvcnQgJy4vdXRpbHMva2VlcC1hbGl2ZSc7XG5cbmV4cG9ydCB7IEluc3RhbmNlcyB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./app/main.js\n");

/***/ }),

/***/ "./app/utils/keep-alive.js":
/*!*********************************!*\
  !*** ./app/utils/keep-alive.js ***!
  \*********************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {

"use strict";
eval("__webpack_require__.r(__webpack_exports__);\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 grav_form__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! grav-form */ \"grav-form\");\n/* harmony import */ var grav_form__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(grav_form__WEBPACK_IMPORTED_MODULE_1__);\n\n\nvar MAX_SAFE_DELAY = 2147483647;\njquery__WEBPACK_IMPORTED_MODULE_0___default()(document).ready(function () {\n  var keepAlive = jquery__WEBPACK_IMPORTED_MODULE_0___default()('[data-grav-keepalive]');\n  if (keepAlive.length) {\n    var timeout = grav_form__WEBPACK_IMPORTED_MODULE_1__[\"config\"].session_timeout / 1.5 * 1000;\n    setInterval(function () {\n      jquery__WEBPACK_IMPORTED_MODULE_0___default.a.ajax({\n        url: \"\".concat(grav_form__WEBPACK_IMPORTED_MODULE_1__[\"config\"].base_url_relative, \"/task\").concat(grav_form__WEBPACK_IMPORTED_MODULE_1__[\"config\"].param_sep, \"keep-alive\")\n      });\n    }, Math.min(timeout, MAX_SAFE_DELAY));\n  }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hcHAvdXRpbHMva2VlcC1hbGl2ZS5qcz9iMjJmIl0sIm5hbWVzIjpbIk1BWF9TQUZFX0RFTEFZIiwiJCIsImRvY3VtZW50IiwicmVhZHkiLCJrZWVwQWxpdmUiLCJsZW5ndGgiLCJ0aW1lb3V0IiwiY29uZmlnIiwic2Vzc2lvbl90aW1lb3V0Iiwic2V0SW50ZXJ2YWwiLCJhamF4IiwidXJsIiwiY29uY2F0IiwiYmFzZV91cmxfcmVsYXRpdmUiLCJwYXJhbV9zZXAiLCJNYXRoIiwibWluIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQXVCO0FBQ1U7QUFFakMsSUFBTUEsY0FBYyxHQUFHLFVBQVU7QUFFakNDLDZDQUFDLENBQUNDLFFBQVEsQ0FBQyxDQUFDQyxLQUFLLENBQUMsWUFBTTtFQUNwQixJQUFNQyxTQUFTLEdBQUdILDZDQUFDLENBQUMsdUJBQXVCLENBQUM7RUFFNUMsSUFBSUcsU0FBUyxDQUFDQyxNQUFNLEVBQUU7SUFDbEIsSUFBTUMsT0FBTyxHQUFHQyxnREFBTSxDQUFDQyxlQUFlLEdBQUcsR0FBRyxHQUFHLElBQUk7SUFDbkRDLFdBQVcsQ0FBQyxZQUFNO01BQ2RSLDZDQUFDLENBQUNTLElBQUksQ0FBQztRQUNIQyxHQUFHLEtBQUFDLE1BQUEsQ0FBS0wsZ0RBQU0sQ0FBQ00saUJBQWlCLFdBQUFELE1BQUEsQ0FBUUwsZ0RBQU0sQ0FBQ08sU0FBUztNQUM1RCxDQUFDLENBQUM7SUFDTixDQUFDLEVBQUVDLElBQUksQ0FBQ0MsR0FBRyxDQUFDVixPQUFPLEVBQUVOLGNBQWMsQ0FBQyxDQUFDO0VBQ3pDO0FBQ0osQ0FBQyxDQUFDIiwiZmlsZSI6Ii4vYXBwL3V0aWxzL2tlZXAtYWxpdmUuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJCBmcm9tICdqcXVlcnknO1xuaW1wb3J0IHtjb25maWd9IGZyb20gJ2dyYXYtZm9ybSc7XG5cbmNvbnN0IE1BWF9TQUZFX0RFTEFZID0gMjE0NzQ4MzY0NztcblxuJChkb2N1bWVudCkucmVhZHkoKCkgPT4ge1xuICAgIGNvbnN0IGtlZXBBbGl2ZSA9ICQoJ1tkYXRhLWdyYXYta2VlcGFsaXZlXScpO1xuXG4gICAgaWYgKGtlZXBBbGl2ZS5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgdGltZW91dCA9IGNvbmZpZy5zZXNzaW9uX3RpbWVvdXQgLyAxLjUgKiAxMDAwO1xuICAgICAgICBzZXRJbnRlcnZhbCgoKSA9PiB7XG4gICAgICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgICAgIHVybDogYCR7Y29uZmlnLmJhc2VfdXJsX3JlbGF0aXZlfS90YXNrJHtjb25maWcucGFyYW1fc2VwfWtlZXAtYWxpdmVgXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSwgTWF0aC5taW4odGltZW91dCwgTUFYX1NBRkVfREVMQVkpKTtcbiAgICB9XG59KTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./app/utils/keep-alive.js\n");

/***/ }),

/***/ "grav-form":
/*!***************************!*\
  !*** external "GravForm" ***!
  \***************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = GravForm;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJHcmF2Rm9ybVwiPzFkNmQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEiLCJmaWxlIjoiZ3Jhdi1mb3JtLmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBHcmF2Rm9ybTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///grav-form\n");

/***/ }),

/***/ "jquery":
/*!*************************!*\
  !*** external "jQuery" ***!
  \*************************/
/*! no static exports found */
/***/ (function(module, exports) {

eval("module.exports = jQuery;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vZXh0ZXJuYWwgXCJqUXVlcnlcIj9jZDBjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBIiwiZmlsZSI6ImpxdWVyeS5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0galF1ZXJ5OyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///jquery\n");

/***/ })

/******/ });