You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

328 lines
28KB

  1. (self["webpackChunk"] = self["webpackChunk"] || []).push([["adminlte-field-filemanager"],{
  2. /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/field/filemanager/app.filemanager.js":
  3. /*!****************************************************************************************************!*\
  4. !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/field/filemanager/app.filemanager.js ***!
  5. \****************************************************************************************************/
  6. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  7. "use strict";
  8. __webpack_require__.r(__webpack_exports__);
  9. /* harmony import */ var core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.function.bind.js */ "./node_modules/core-js/modules/es.function.bind.js");
  10. /* harmony import */ var core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_function_bind_js__WEBPACK_IMPORTED_MODULE_0__);
  11. /* harmony import */ var _form_scss__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./form.scss */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/field/filemanager/form.scss");
  12. $(document).ready(function () {
  13. initFileManager();
  14. });
  15. $('.field-collection').bind('collection-add-item', function () {
  16. initFileManager();
  17. });
  18. function initFileManager() {
  19. $('.lc-filemanager-delete').off('click');
  20. $('.lc-filemanager-delete').on('click', function (e) {
  21. var $field = $(this);
  22. $('#' + $field.data('id')).val("");
  23. $('#' + $field.data('id') + '_preview').prop('src', "");
  24. $('#' + $field.data('id') + '_preview_text').html('Aucun fichier');
  25. });
  26. $('.lc-filemanager-open').off('click');
  27. $('.lc-filemanager-open').on('click', function (e) {
  28. var $field = $(this);
  29. $('#lc-filemanager-frame').off('load');
  30. $("#lc-filemanager-frame").on('load', function () {
  31. $('#lc-filemanager-frame').contents().on('click', '.select', function () {
  32. var path = $(this).attr('data-path');
  33. $('#' + $field.data('id')).val(path);
  34. $('#' + $field.data('id') + '_preview').prop('src', path);
  35. $('#' + $field.data('id') + '_preview_text').html(path);
  36. $('#lc-filemanager-modal').modal('hide');
  37. });
  38. });
  39. $("#lc-filemanager-frame").prop('src', $field.data('target'));
  40. $('#lc-filemanager-modal').modal('show');
  41. });
  42. }
  43. /***/ }),
  44. /***/ "./node_modules/core-js/internals/a-function.js":
  45. /*!******************************************************!*\
  46. !*** ./node_modules/core-js/internals/a-function.js ***!
  47. \******************************************************/
  48. /***/ ((module) => {
  49. module.exports = function (it) {
  50. if (typeof it != 'function') {
  51. throw TypeError(String(it) + ' is not a function');
  52. } return it;
  53. };
  54. /***/ }),
  55. /***/ "./node_modules/core-js/internals/an-object.js":
  56. /*!*****************************************************!*\
  57. !*** ./node_modules/core-js/internals/an-object.js ***!
  58. \*****************************************************/
  59. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  60. var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
  61. module.exports = function (it) {
  62. if (!isObject(it)) {
  63. throw TypeError(String(it) + ' is not an object');
  64. } return it;
  65. };
  66. /***/ }),
  67. /***/ "./node_modules/core-js/internals/descriptors.js":
  68. /*!*******************************************************!*\
  69. !*** ./node_modules/core-js/internals/descriptors.js ***!
  70. \*******************************************************/
  71. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  72. var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
  73. // Detect IE8's incomplete defineProperty implementation
  74. module.exports = !fails(function () {
  75. // eslint-disable-next-line es/no-object-defineproperty -- required for testing
  76. return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;
  77. });
  78. /***/ }),
  79. /***/ "./node_modules/core-js/internals/document-create-element.js":
  80. /*!*******************************************************************!*\
  81. !*** ./node_modules/core-js/internals/document-create-element.js ***!
  82. \*******************************************************************/
  83. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  84. var global = __webpack_require__(/*! ../internals/global */ "./node_modules/core-js/internals/global.js");
  85. var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
  86. var document = global.document;
  87. // typeof document.createElement is 'object' in old IE
  88. var EXISTS = isObject(document) && isObject(document.createElement);
  89. module.exports = function (it) {
  90. return EXISTS ? document.createElement(it) : {};
  91. };
  92. /***/ }),
  93. /***/ "./node_modules/core-js/internals/fails.js":
  94. /*!*************************************************!*\
  95. !*** ./node_modules/core-js/internals/fails.js ***!
  96. \*************************************************/
  97. /***/ ((module) => {
  98. module.exports = function (exec) {
  99. try {
  100. return !!exec();
  101. } catch (error) {
  102. return true;
  103. }
  104. };
  105. /***/ }),
  106. /***/ "./node_modules/core-js/internals/function-bind.js":
  107. /*!*********************************************************!*\
  108. !*** ./node_modules/core-js/internals/function-bind.js ***!
  109. \*********************************************************/
  110. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  111. "use strict";
  112. var aFunction = __webpack_require__(/*! ../internals/a-function */ "./node_modules/core-js/internals/a-function.js");
  113. var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
  114. var slice = [].slice;
  115. var factories = {};
  116. var construct = function (C, argsLength, args) {
  117. if (!(argsLength in factories)) {
  118. for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';
  119. // eslint-disable-next-line no-new-func -- we have no proper alternatives, IE8- only
  120. factories[argsLength] = Function('C,a', 'return new C(' + list.join(',') + ')');
  121. } return factories[argsLength](C, args);
  122. };
  123. // `Function.prototype.bind` method implementation
  124. // https://tc39.es/ecma262/#sec-function.prototype.bind
  125. module.exports = Function.bind || function bind(that /* , ...args */) {
  126. var fn = aFunction(this);
  127. var partArgs = slice.call(arguments, 1);
  128. var boundFunction = function bound(/* args... */) {
  129. var args = partArgs.concat(slice.call(arguments));
  130. return this instanceof boundFunction ? construct(fn, args.length, args) : fn.apply(that, args);
  131. };
  132. if (isObject(fn.prototype)) boundFunction.prototype = fn.prototype;
  133. return boundFunction;
  134. };
  135. /***/ }),
  136. /***/ "./node_modules/core-js/internals/global.js":
  137. /*!**************************************************!*\
  138. !*** ./node_modules/core-js/internals/global.js ***!
  139. \**************************************************/
  140. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  141. var check = function (it) {
  142. return it && it.Math == Math && it;
  143. };
  144. // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
  145. module.exports =
  146. // eslint-disable-next-line es/no-global-this -- safe
  147. check(typeof globalThis == 'object' && globalThis) ||
  148. check(typeof window == 'object' && window) ||
  149. // eslint-disable-next-line no-restricted-globals -- safe
  150. check(typeof self == 'object' && self) ||
  151. check(typeof __webpack_require__.g == 'object' && __webpack_require__.g) ||
  152. // eslint-disable-next-line no-new-func -- fallback
  153. (function () { return this; })() || Function('return this')();
  154. /***/ }),
  155. /***/ "./node_modules/core-js/internals/ie8-dom-define.js":
  156. /*!**********************************************************!*\
  157. !*** ./node_modules/core-js/internals/ie8-dom-define.js ***!
  158. \**********************************************************/
  159. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  160. var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
  161. var fails = __webpack_require__(/*! ../internals/fails */ "./node_modules/core-js/internals/fails.js");
  162. var createElement = __webpack_require__(/*! ../internals/document-create-element */ "./node_modules/core-js/internals/document-create-element.js");
  163. // Thank's IE8 for his funny defineProperty
  164. module.exports = !DESCRIPTORS && !fails(function () {
  165. // eslint-disable-next-line es/no-object-defineproperty -- requied for testing
  166. return Object.defineProperty(createElement('div'), 'a', {
  167. get: function () { return 7; }
  168. }).a != 7;
  169. });
  170. /***/ }),
  171. /***/ "./node_modules/core-js/internals/is-object.js":
  172. /*!*****************************************************!*\
  173. !*** ./node_modules/core-js/internals/is-object.js ***!
  174. \*****************************************************/
  175. /***/ ((module) => {
  176. module.exports = function (it) {
  177. return typeof it === 'object' ? it !== null : typeof it === 'function';
  178. };
  179. /***/ }),
  180. /***/ "./node_modules/core-js/internals/object-define-property.js":
  181. /*!******************************************************************!*\
  182. !*** ./node_modules/core-js/internals/object-define-property.js ***!
  183. \******************************************************************/
  184. /***/ ((__unused_webpack_module, exports, __webpack_require__) => {
  185. var DESCRIPTORS = __webpack_require__(/*! ../internals/descriptors */ "./node_modules/core-js/internals/descriptors.js");
  186. var IE8_DOM_DEFINE = __webpack_require__(/*! ../internals/ie8-dom-define */ "./node_modules/core-js/internals/ie8-dom-define.js");
  187. var anObject = __webpack_require__(/*! ../internals/an-object */ "./node_modules/core-js/internals/an-object.js");
  188. var toPrimitive = __webpack_require__(/*! ../internals/to-primitive */ "./node_modules/core-js/internals/to-primitive.js");
  189. // eslint-disable-next-line es/no-object-defineproperty -- safe
  190. var $defineProperty = Object.defineProperty;
  191. // `Object.defineProperty` method
  192. // https://tc39.es/ecma262/#sec-object.defineproperty
  193. exports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {
  194. anObject(O);
  195. P = toPrimitive(P, true);
  196. anObject(Attributes);
  197. if (IE8_DOM_DEFINE) try {
  198. return $defineProperty(O, P, Attributes);
  199. } catch (error) { /* empty */ }
  200. if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');
  201. if ('value' in Attributes) O[P] = Attributes.value;
  202. return O;
  203. };
  204. /***/ }),
  205. /***/ "./node_modules/core-js/internals/to-primitive.js":
  206. /*!********************************************************!*\
  207. !*** ./node_modules/core-js/internals/to-primitive.js ***!
  208. \********************************************************/
  209. /***/ ((module, __unused_webpack_exports, __webpack_require__) => {
  210. var isObject = __webpack_require__(/*! ../internals/is-object */ "./node_modules/core-js/internals/is-object.js");
  211. // `ToPrimitive` abstract operation
  212. // https://tc39.es/ecma262/#sec-toprimitive
  213. // instead of the ES6 spec version, we didn't implement @@toPrimitive case
  214. // and the second argument - flag - preferred type is a string
  215. module.exports = function (input, PREFERRED_STRING) {
  216. if (!isObject(input)) return input;
  217. var fn, val;
  218. if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
  219. if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;
  220. if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;
  221. throw TypeError("Can't convert object to primitive value");
  222. };
  223. /***/ }),
  224. /***/ "./node_modules/core-js/modules/es.function.bind.js":
  225. /*!**********************************************************!*\
  226. !*** ./node_modules/core-js/modules/es.function.bind.js ***!
  227. \**********************************************************/
  228. /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
  229. var $ = __webpack_require__(/*! ../internals/export */ "./node_modules/core-js/internals/export.js");
  230. var bind = __webpack_require__(/*! ../internals/function-bind */ "./node_modules/core-js/internals/function-bind.js");
  231. // `Function.prototype.bind` method
  232. // https://tc39.es/ecma262/#sec-function.prototype.bind
  233. $({ target: 'Function', proto: true }, {
  234. bind: bind
  235. });
  236. /***/ }),
  237. /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/field/filemanager/form.scss":
  238. /*!*******************************************************************************************!*\
  239. !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/field/filemanager/form.scss ***!
  240. \*******************************************************************************************/
  241. /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
  242. "use strict";
  243. __webpack_require__.r(__webpack_exports__);
  244. // extracted by mini-css-extract-plugin
  245. /***/ })
  246. },
  247. /******/ __webpack_require__ => { // webpackRuntimeModules
  248. /******/ "use strict";
  249. /******/
  250. /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
  251. /******/ __webpack_require__.O(0, ["vendors-node_modules_core-js_internals_export_js"], () => (__webpack_exec__("../LaClicBundle/SovBundle/Resources/assets/app/adminlte/field/filemanager/app.filemanager.js")));
  252. /******/ var __webpack_exports__ = __webpack_require__.O();
  253. /******/ }
  254. ]);
  255. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9maWVsZC9maWxlbWFuYWdlci9hcHAuZmlsZW1hbmFnZXIuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2EtZnVuY3Rpb24uanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2FuLW9iamVjdC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZGVzY3JpcHRvcnMuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvaW50ZXJuYWxzL2RvY3VtZW50LWNyZWF0ZS1lbGVtZW50LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9mYWlscy5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZnVuY3Rpb24tYmluZC5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvZ2xvYmFsLmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9pZTgtZG9tLWRlZmluZS5qcyIsIndlYnBhY2s6Ly8vLi9ub2RlX21vZHVsZXMvY29yZS1qcy9pbnRlcm5hbHMvaXMtb2JqZWN0LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy9vYmplY3QtZGVmaW5lLXByb3BlcnR5LmpzIiwid2VicGFjazovLy8uL25vZGVfbW9kdWxlcy9jb3JlLWpzL2ludGVybmFscy90by1wcmltaXRpdmUuanMiLCJ3ZWJwYWNrOi8vLy4vbm9kZV9tb2R1bGVzL2NvcmUtanMvbW9kdWxlcy9lcy5mdW5jdGlvbi5iaW5kLmpzIiwid2VicGFjazovLy8uLi9MYUNsaWNCdW5kbGUvU292QnVuZGxlL1Jlc291cmNlcy9hc3NldHMvYXBwL2FkbWlubHRlL2ZpZWxkL2ZpbGVtYW5hZ2VyL2Zvcm0uc2NzcyJdLCJuYW1lcyI6WyIkIiwiZG9jdW1lbnQiLCJyZWFkeSIsImluaXRGaWxlTWFuYWdlciIsImJpbmQiLCJvZmYiLCJvbiIsImUiLCIkZmllbGQiLCJkYXRhIiwidmFsIiwicHJvcCIsImh0bWwiLCJjb250ZW50cyIsInBhdGgiLCJhdHRyIiwibW9kYWwiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7O0FBQ0E7QUFFQUEsQ0FBQyxDQUFDQyxRQUFELENBQUQsQ0FBWUMsS0FBWixDQUFrQixZQUFZO0FBQzFCQyxpQkFBZTtBQUNsQixDQUZEO0FBSUFILENBQUMsQ0FBQyxtQkFBRCxDQUFELENBQXVCSSxJQUF2QixDQUE0QixxQkFBNUIsRUFBbUQsWUFBVztBQUMxREQsaUJBQWU7QUFDbEIsQ0FGRDs7QUFJQSxTQUFTQSxlQUFULEdBQTJCO0FBQ3ZCSCxHQUFDLENBQUMsd0JBQUQsQ0FBRCxDQUE0QkssR0FBNUIsQ0FBZ0MsT0FBaEM7QUFDQUwsR0FBQyxDQUFDLHdCQUFELENBQUQsQ0FBNEJNLEVBQTVCLENBQStCLE9BQS9CLEVBQXdDLFVBQVVDLENBQVYsRUFBYTtBQUNqRCxRQUFJQyxNQUFNLEdBQUdSLENBQUMsQ0FBQyxJQUFELENBQWQ7QUFDQUEsS0FBQyxDQUFDLE1BQU1RLE1BQU0sQ0FBQ0MsSUFBUCxDQUFZLElBQVosQ0FBUCxDQUFELENBQTJCQyxHQUEzQixDQUErQixFQUEvQjtBQUNBVixLQUFDLENBQUMsTUFBTVEsTUFBTSxDQUFDQyxJQUFQLENBQVksSUFBWixDQUFOLEdBQTBCLFVBQTNCLENBQUQsQ0FBd0NFLElBQXhDLENBQTZDLEtBQTdDLEVBQW1ELEVBQW5EO0FBQ0FYLEtBQUMsQ0FBQyxNQUFNUSxNQUFNLENBQUNDLElBQVAsQ0FBWSxJQUFaLENBQU4sR0FBMEIsZUFBM0IsQ0FBRCxDQUE2Q0csSUFBN0MsQ0FBa0QsZUFBbEQ7QUFDSCxHQUxEO0FBTUFaLEdBQUMsQ0FBQyxzQkFBRCxDQUFELENBQTBCSyxHQUExQixDQUE4QixPQUE5QjtBQUNBTCxHQUFDLENBQUMsc0JBQUQsQ0FBRCxDQUEwQk0sRUFBMUIsQ0FBNkIsT0FBN0IsRUFBc0MsVUFBVUMsQ0FBVixFQUFhO0FBQy9DLFFBQUlDLE1BQU0sR0FBR1IsQ0FBQyxDQUFDLElBQUQsQ0FBZDtBQUNBQSxLQUFDLENBQUMsdUJBQUQsQ0FBRCxDQUEyQkssR0FBM0IsQ0FBK0IsTUFBL0I7QUFDQUwsS0FBQyxDQUFDLHVCQUFELENBQUQsQ0FBMkJNLEVBQTNCLENBQThCLE1BQTlCLEVBQXNDLFlBQVk7QUFDOUNOLE9BQUMsQ0FBQyx1QkFBRCxDQUFELENBQTJCYSxRQUEzQixHQUFzQ1AsRUFBdEMsQ0FBeUMsT0FBekMsRUFBa0QsU0FBbEQsRUFBNkQsWUFBWTtBQUNyRSxZQUFJUSxJQUFJLEdBQUdkLENBQUMsQ0FBQyxJQUFELENBQUQsQ0FBUWUsSUFBUixDQUFhLFdBQWIsQ0FBWDtBQUNBZixTQUFDLENBQUMsTUFBTVEsTUFBTSxDQUFDQyxJQUFQLENBQVksSUFBWixDQUFQLENBQUQsQ0FBMkJDLEdBQTNCLENBQStCSSxJQUEvQjtBQUNBZCxTQUFDLENBQUMsTUFBTVEsTUFBTSxDQUFDQyxJQUFQLENBQVksSUFBWixDQUFOLEdBQTBCLFVBQTNCLENBQUQsQ0FBd0NFLElBQXhDLENBQTZDLEtBQTdDLEVBQW1ERyxJQUFuRDtBQUNBZCxTQUFDLENBQUMsTUFBTVEsTUFBTSxDQUFDQyxJQUFQLENBQVksSUFBWixDQUFOLEdBQTBCLGVBQTNCLENBQUQsQ0FBNkNHLElBQTdDLENBQWtERSxJQUFsRDtBQUNBZCxTQUFDLENBQUMsdUJBQUQsQ0FBRCxDQUEyQmdCLEtBQTNCLENBQWlDLE1BQWpDO0FBQ0gsT0FORDtBQU9ILEtBUkQ7QUFTQWhCLEtBQUMsQ0FBQyx1QkFBRCxDQUFELENBQTJCVyxJQUEzQixDQUFnQyxLQUFoQyxFQUF1Q0gsTUFBTSxDQUFDQyxJQUFQLENBQVksUUFBWixDQUF2QztBQUNBVCxLQUFDLENBQUMsdUJBQUQsQ0FBRCxDQUEyQmdCLEtBQTNCLENBQWlDLE1BQWpDO0FBQ0gsR0FkRDtBQWdCSCxDOzs7Ozs7Ozs7O0FDcENEO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7Ozs7Ozs7Ozs7QUNKQSxlQUFlLG1CQUFPLENBQUMsNkVBQXdCOztBQUUvQztBQUNBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7Ozs7Ozs7Ozs7O0FDTkEsWUFBWSxtQkFBTyxDQUFDLHFFQUFvQjs7QUFFeEM7QUFDQTtBQUNBO0FBQ0EsaUNBQWlDLE1BQU0sbUJBQW1CLFVBQVUsRUFBRSxFQUFFO0FBQ3hFLENBQUM7Ozs7Ozs7Ozs7O0FDTkQsYUFBYSxtQkFBTyxDQUFDLHVFQUFxQjtBQUMxQyxlQUFlLG1CQUFPLENBQUMsNkVBQXdCOztBQUUvQztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOzs7Ozs7Ozs7OztBQ1RBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ05hO0FBQ2IsZ0JBQWdCLG1CQUFPLENBQUMsK0VBQXlCO0FBQ2pELGVBQWUsbUJBQU8sQ0FBQyw2RUFBd0I7O0FBRS9DO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDhCQUE4QixnQkFBZ0I7QUFDOUM7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FDMUJBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGVBQWUscUJBQU0sZ0JBQWdCLHFCQUFNO0FBQzNDO0FBQ0EsZ0JBQWdCLGFBQWEsRUFBRTs7Ozs7Ozs7Ozs7QUNiL0Isa0JBQWtCLG1CQUFPLENBQUMsaUZBQTBCO0FBQ3BELFlBQVksbUJBQU8sQ0FBQyxxRUFBb0I7QUFDeEMsb0JBQW9CLG1CQUFPLENBQUMseUdBQXNDOztBQUVsRTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixVQUFVO0FBQ2hDLEdBQUc7QUFDSCxDQUFDOzs7Ozs7Ozs7OztBQ1ZEO0FBQ0E7QUFDQTs7Ozs7Ozs7Ozs7QUNGQSxrQkFBa0IsbUJBQU8sQ0FBQyxpRkFBMEI7QUFDcEQscUJBQXFCLG1CQUFPLENBQUMsdUZBQTZCO0FBQzFELGVBQWUsbUJBQU8sQ0FBQyw2RUFBd0I7QUFDL0Msa0JBQWtCLG1CQUFPLENBQUMsbUZBQTJCOztBQUVyRDtBQUNBOztBQUVBO0FBQ0E7QUFDQSxTQUFTO0FBQ1Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUcsZ0JBQWdCO0FBQ25CO0FBQ0E7QUFDQTtBQUNBOzs7Ozs7Ozs7OztBQ3BCQSxlQUFlLG1CQUFPLENBQUMsNkVBQXdCOztBQUUvQztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7Ozs7Ozs7Ozs7O0FDYkEsUUFBUSxtQkFBTyxDQUFDLHVFQUFxQjtBQUNyQyxXQUFXLG1CQUFPLENBQUMscUZBQTRCOztBQUUvQztBQUNBO0FBQ0EsR0FBRyxrQ0FBa0M7QUFDckM7QUFDQSxDQUFDOzs7Ozs7Ozs7Ozs7O0FDUEQiLCJmaWxlIjoiYWRtaW5sdGUtZmllbGQtZmlsZW1hbmFnZXIuZDgzMDJmYjcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcbmltcG9ydCBcIi4vZm9ybS5zY3NzXCJcblxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCkge1xuICAgIGluaXRGaWxlTWFuYWdlcigpO1xufSk7XG5cbiQoJy5maWVsZC1jb2xsZWN0aW9uJykuYmluZCgnY29sbGVjdGlvbi1hZGQtaXRlbScsIGZ1bmN0aW9uICgpe1xuICAgIGluaXRGaWxlTWFuYWdlcigpO1xufSk7XG5cbmZ1bmN0aW9uIGluaXRGaWxlTWFuYWdlcigpIHtcbiAgICAkKCcubGMtZmlsZW1hbmFnZXItZGVsZXRlJykub2ZmKCdjbGljaycpO1xuICAgICQoJy5sYy1maWxlbWFuYWdlci1kZWxldGUnKS5vbignY2xpY2snLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICBsZXQgJGZpZWxkID0gJCh0aGlzKTtcbiAgICAgICAgJCgnIycgKyAkZmllbGQuZGF0YSgnaWQnKSkudmFsKFwiXCIpO1xuICAgICAgICAkKCcjJyArICRmaWVsZC5kYXRhKCdpZCcpICsgJ19wcmV2aWV3JykucHJvcCgnc3JjJyxcIlwiKTtcbiAgICAgICAgJCgnIycgKyAkZmllbGQuZGF0YSgnaWQnKSArICdfcHJldmlld190ZXh0JykuaHRtbCgnQXVjdW4gZmljaGllcicpO1xuICAgIH0pO1xuICAgICQoJy5sYy1maWxlbWFuYWdlci1vcGVuJykub2ZmKCdjbGljaycpO1xuICAgICQoJy5sYy1maWxlbWFuYWdlci1vcGVuJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICAgICAgbGV0ICRmaWVsZCA9ICQodGhpcyk7XG4gICAgICAgICQoJyNsYy1maWxlbWFuYWdlci1mcmFtZScpLm9mZignbG9hZCcpO1xuICAgICAgICAkKFwiI2xjLWZpbGVtYW5hZ2VyLWZyYW1lXCIpLm9uKCdsb2FkJywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJCgnI2xjLWZpbGVtYW5hZ2VyLWZyYW1lJykuY29udGVudHMoKS5vbignY2xpY2snLCAnLnNlbGVjdCcsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICB2YXIgcGF0aCA9ICQodGhpcykuYXR0cignZGF0YS1wYXRoJylcbiAgICAgICAgICAgICAgICAkKCcjJyArICRmaWVsZC5kYXRhKCdpZCcpKS52YWwocGF0aCk7XG4gICAgICAgICAgICAgICAgJCgnIycgKyAkZmllbGQuZGF0YSgnaWQnKSArICdfcHJldmlldycpLnByb3AoJ3NyYycscGF0aCk7XG4gICAgICAgICAgICAgICAgJCgnIycgKyAkZmllbGQuZGF0YSgnaWQnKSArICdfcHJldmlld190ZXh0JykuaHRtbChwYXRoKTtcbiAgICAgICAgICAgICAgICAkKCcjbGMtZmlsZW1hbmFnZXItbW9kYWwnKS5tb2RhbCgnaGlkZScpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICAkKFwiI2xjLWZpbGVtYW5hZ2VyLWZyYW1lXCIpLnByb3AoJ3NyYycsICRmaWVsZC5kYXRhKCd0YXJnZXQnKSk7XG4gICAgICAgICQoJyNsYy1maWxlbWFuYWdlci1tb2RhbCcpLm1vZGFsKCdzaG93Jyk7XG4gICAgfSk7XG5cbn1cbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICh0eXBlb2YgaXQgIT0gJ2Z1bmN0aW9uJykge1xuICAgIHRocm93IFR5cGVFcnJvcihTdHJpbmcoaXQpICsgJyBpcyBub3QgYSBmdW5jdGlvbicpO1xuICB9IHJldHVybiBpdDtcbn07XG4iLCJ2YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtb2JqZWN0Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIGlmICghaXNPYmplY3QoaXQpKSB7XG4gICAgdGhyb3cgVHlwZUVycm9yKFN0cmluZyhpdCkgKyAnIGlzIG5vdCBhbiBvYmplY3QnKTtcbiAgfSByZXR1cm4gaXQ7XG59O1xuIiwidmFyIGZhaWxzID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2ZhaWxzJyk7XG5cbi8vIERldGVjdCBJRTgncyBpbmNvbXBsZXRlIGRlZmluZVByb3BlcnR5IGltcGxlbWVudGF0aW9uXG5tb2R1bGUuZXhwb3J0cyA9ICFmYWlscyhmdW5jdGlvbiAoKSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBlcy9uby1vYmplY3QtZGVmaW5lcHJvcGVydHkgLS0gcmVxdWlyZWQgZm9yIHRlc3RpbmdcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwgMSwgeyBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIDc7IH0gfSlbMV0gIT0gNztcbn0pO1xuIiwidmFyIGdsb2JhbCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9nbG9iYWwnKTtcbnZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1vYmplY3QnKTtcblxudmFyIGRvY3VtZW50ID0gZ2xvYmFsLmRvY3VtZW50O1xuLy8gdHlwZW9mIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQgaXMgJ29iamVjdCcgaW4gb2xkIElFXG52YXIgRVhJU1RTID0gaXNPYmplY3QoZG9jdW1lbnQpICYmIGlzT2JqZWN0KGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gRVhJU1RTID8gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChpdCkgOiB7fTtcbn07XG4iLCJtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChleGVjKSB7XG4gIHRyeSB7XG4gICAgcmV0dXJuICEhZXhlYygpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59O1xuIiwiJ3VzZSBzdHJpY3QnO1xudmFyIGFGdW5jdGlvbiA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hLWZ1bmN0aW9uJyk7XG52YXIgaXNPYmplY3QgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaXMtb2JqZWN0Jyk7XG5cbnZhciBzbGljZSA9IFtdLnNsaWNlO1xudmFyIGZhY3RvcmllcyA9IHt9O1xuXG52YXIgY29uc3RydWN0ID0gZnVuY3Rpb24gKEMsIGFyZ3NMZW5ndGgsIGFyZ3MpIHtcbiAgaWYgKCEoYXJnc0xlbmd0aCBpbiBmYWN0b3JpZXMpKSB7XG4gICAgZm9yICh2YXIgbGlzdCA9IFtdLCBpID0gMDsgaSA8IGFyZ3NMZW5ndGg7IGkrKykgbGlzdFtpXSA9ICdhWycgKyBpICsgJ10nO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1uZXctZnVuYyAtLSB3ZSBoYXZlIG5vIHByb3BlciBhbHRlcm5hdGl2ZXMsIElFOC0gb25seVxuICAgIGZhY3Rvcmllc1thcmdzTGVuZ3RoXSA9IEZ1bmN0aW9uKCdDLGEnLCAncmV0dXJuIG5ldyBDKCcgKyBsaXN0LmpvaW4oJywnKSArICcpJyk7XG4gIH0gcmV0dXJuIGZhY3Rvcmllc1thcmdzTGVuZ3RoXShDLCBhcmdzKTtcbn07XG5cbi8vIGBGdW5jdGlvbi5wcm90b3R5cGUuYmluZGAgbWV0aG9kIGltcGxlbWVudGF0aW9uXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kXG5tb2R1bGUuZXhwb3J0cyA9IEZ1bmN0aW9uLmJpbmQgfHwgZnVuY3Rpb24gYmluZCh0aGF0IC8qICwgLi4uYXJncyAqLykge1xuICB2YXIgZm4gPSBhRnVuY3Rpb24odGhpcyk7XG4gIHZhciBwYXJ0QXJncyA9IHNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcbiAgdmFyIGJvdW5kRnVuY3Rpb24gPSBmdW5jdGlvbiBib3VuZCgvKiBhcmdzLi4uICovKSB7XG4gICAgdmFyIGFyZ3MgPSBwYXJ0QXJncy5jb25jYXQoc2xpY2UuY2FsbChhcmd1bWVudHMpKTtcbiAgICByZXR1cm4gdGhpcyBpbnN0YW5jZW9mIGJvdW5kRnVuY3Rpb24gPyBjb25zdHJ1Y3QoZm4sIGFyZ3MubGVuZ3RoLCBhcmdzKSA6IGZuLmFwcGx5KHRoYXQsIGFyZ3MpO1xuICB9O1xuICBpZiAoaXNPYmplY3QoZm4ucHJvdG90eXBlKSkgYm91bmRGdW5jdGlvbi5wcm90b3R5cGUgPSBmbi5wcm90b3R5cGU7XG4gIHJldHVybiBib3VuZEZ1bmN0aW9uO1xufTtcbiIsInZhciBjaGVjayA9IGZ1bmN0aW9uIChpdCkge1xuICByZXR1cm4gaXQgJiYgaXQuTWF0aCA9PSBNYXRoICYmIGl0O1xufTtcblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL3psb2lyb2NrL2NvcmUtanMvaXNzdWVzLzg2I2lzc3VlY29tbWVudC0xMTU3NTkwMjhcbm1vZHVsZS5leHBvcnRzID1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVzL25vLWdsb2JhbC10aGlzIC0tIHNhZmVcbiAgY2hlY2sodHlwZW9mIGdsb2JhbFRoaXMgPT0gJ29iamVjdCcgJiYgZ2xvYmFsVGhpcykgfHxcbiAgY2hlY2sodHlwZW9mIHdpbmRvdyA9PSAnb2JqZWN0JyAmJiB3aW5kb3cpIHx8XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWdsb2JhbHMgLS0gc2FmZVxuICBjaGVjayh0eXBlb2Ygc2VsZiA9PSAnb2JqZWN0JyAmJiBzZWxmKSB8fFxuICBjaGVjayh0eXBlb2YgZ2xvYmFsID09ICdvYmplY3QnICYmIGdsb2JhbCkgfHxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW5ldy1mdW5jIC0tIGZhbGxiYWNrXG4gIChmdW5jdGlvbiAoKSB7IHJldHVybiB0aGlzOyB9KSgpIHx8IEZ1bmN0aW9uKCdyZXR1cm4gdGhpcycpKCk7XG4iLCJ2YXIgREVTQ1JJUFRPUlMgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZGVzY3JpcHRvcnMnKTtcbnZhciBmYWlscyA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9mYWlscycpO1xudmFyIGNyZWF0ZUVsZW1lbnQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZG9jdW1lbnQtY3JlYXRlLWVsZW1lbnQnKTtcblxuLy8gVGhhbmsncyBJRTggZm9yIGhpcyBmdW5ueSBkZWZpbmVQcm9wZXJ0eVxubW9kdWxlLmV4cG9ydHMgPSAhREVTQ1JJUFRPUlMgJiYgIWZhaWxzKGZ1bmN0aW9uICgpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVzL25vLW9iamVjdC1kZWZpbmVwcm9wZXJ0eSAtLSByZXF1aWVkIGZvciB0ZXN0aW5nXG4gIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoY3JlYXRlRWxlbWVudCgnZGl2JyksICdhJywge1xuICAgIGdldDogZnVuY3Rpb24gKCkgeyByZXR1cm4gNzsgfVxuICB9KS5hICE9IDc7XG59KTtcbiIsIm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGl0KSB7XG4gIHJldHVybiB0eXBlb2YgaXQgPT09ICdvYmplY3QnID8gaXQgIT09IG51bGwgOiB0eXBlb2YgaXQgPT09ICdmdW5jdGlvbic7XG59O1xuIiwidmFyIERFU0NSSVBUT1JTID0gcmVxdWlyZSgnLi4vaW50ZXJuYWxzL2Rlc2NyaXB0b3JzJyk7XG52YXIgSUU4X0RPTV9ERUZJTkUgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvaWU4LWRvbS1kZWZpbmUnKTtcbnZhciBhbk9iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9hbi1vYmplY3QnKTtcbnZhciB0b1ByaW1pdGl2ZSA9IHJlcXVpcmUoJy4uL2ludGVybmFscy90by1wcmltaXRpdmUnKTtcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGVzL25vLW9iamVjdC1kZWZpbmVwcm9wZXJ0eSAtLSBzYWZlXG52YXIgJGRlZmluZVByb3BlcnR5ID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xuXG4vLyBgT2JqZWN0LmRlZmluZVByb3BlcnR5YCBtZXRob2Rcbi8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtb2JqZWN0LmRlZmluZXByb3BlcnR5XG5leHBvcnRzLmYgPSBERVNDUklQVE9SUyA/ICRkZWZpbmVQcm9wZXJ0eSA6IGZ1bmN0aW9uIGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpIHtcbiAgYW5PYmplY3QoTyk7XG4gIFAgPSB0b1ByaW1pdGl2ZShQLCB0cnVlKTtcbiAgYW5PYmplY3QoQXR0cmlidXRlcyk7XG4gIGlmIChJRThfRE9NX0RFRklORSkgdHJ5IHtcbiAgICByZXR1cm4gJGRlZmluZVByb3BlcnR5KE8sIFAsIEF0dHJpYnV0ZXMpO1xuICB9IGNhdGNoIChlcnJvcikgeyAvKiBlbXB0eSAqLyB9XG4gIGlmICgnZ2V0JyBpbiBBdHRyaWJ1dGVzIHx8ICdzZXQnIGluIEF0dHJpYnV0ZXMpIHRocm93IFR5cGVFcnJvcignQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgaWYgKCd2YWx1ZScgaW4gQXR0cmlidXRlcykgT1tQXSA9IEF0dHJpYnV0ZXMudmFsdWU7XG4gIHJldHVybiBPO1xufTtcbiIsInZhciBpc09iamVjdCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9pcy1vYmplY3QnKTtcblxuLy8gYFRvUHJpbWl0aXZlYCBhYnN0cmFjdCBvcGVyYXRpb25cbi8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtdG9wcmltaXRpdmVcbi8vIGluc3RlYWQgb2YgdGhlIEVTNiBzcGVjIHZlcnNpb24sIHdlIGRpZG4ndCBpbXBsZW1lbnQgQEB0b1ByaW1pdGl2ZSBjYXNlXG4vLyBhbmQgdGhlIHNlY29uZCBhcmd1bWVudCAtIGZsYWcgLSBwcmVmZXJyZWQgdHlwZSBpcyBhIHN0cmluZ1xubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoaW5wdXQsIFBSRUZFUlJFRF9TVFJJTkcpIHtcbiAgaWYgKCFpc09iamVjdChpbnB1dCkpIHJldHVybiBpbnB1dDtcbiAgdmFyIGZuLCB2YWw7XG4gIGlmIChQUkVGRVJSRURfU1RSSU5HICYmIHR5cGVvZiAoZm4gPSBpbnB1dC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpbnB1dCkpKSByZXR1cm4gdmFsO1xuICBpZiAodHlwZW9mIChmbiA9IGlucHV0LnZhbHVlT2YpID09ICdmdW5jdGlvbicgJiYgIWlzT2JqZWN0KHZhbCA9IGZuLmNhbGwoaW5wdXQpKSkgcmV0dXJuIHZhbDtcbiAgaWYgKCFQUkVGRVJSRURfU1RSSU5HICYmIHR5cGVvZiAoZm4gPSBpbnB1dC50b1N0cmluZykgPT0gJ2Z1bmN0aW9uJyAmJiAhaXNPYmplY3QodmFsID0gZm4uY2FsbChpbnB1dCkpKSByZXR1cm4gdmFsO1xuICB0aHJvdyBUeXBlRXJyb3IoXCJDYW4ndCBjb252ZXJ0IG9iamVjdCB0byBwcmltaXRpdmUgdmFsdWVcIik7XG59O1xuIiwidmFyICQgPSByZXF1aXJlKCcuLi9pbnRlcm5hbHMvZXhwb3J0Jyk7XG52YXIgYmluZCA9IHJlcXVpcmUoJy4uL2ludGVybmFscy9mdW5jdGlvbi1iaW5kJyk7XG5cbi8vIGBGdW5jdGlvbi5wcm90b3R5cGUuYmluZGAgbWV0aG9kXG4vLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kXG4kKHsgdGFyZ2V0OiAnRnVuY3Rpb24nLCBwcm90bzogdHJ1ZSB9LCB7XG4gIGJpbmQ6IGJpbmRcbn0pO1xuIiwiLy8gZXh0cmFjdGVkIGJ5IG1pbmktY3NzLWV4dHJhY3QtcGx1Z2luXG5leHBvcnQge307Il0sInNvdXJjZVJvb3QiOiIifQ==