|
- (self["webpackChunk"] = self["webpackChunk"] || []).push([["adminlte-common"],{
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/app.common.js":
- /*!************************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/app.common.js ***!
- \************************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! jquery */ "./node_modules/jquery/src/jquery.js");
- /* harmony import */ var jquery__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(jquery__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var adminlte_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! adminlte-js */ "./node_modules/admin-lte/dist/js/adminlte.min.js");
- /* harmony import */ var adminlte_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(adminlte_js__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var adminlte_plugin_bootstrap_js_bootstrap_min_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! adminlte-plugin/bootstrap/js/bootstrap.min.js */ "./node_modules/admin-lte/plugins/bootstrap/js/bootstrap.min.js");
- /* harmony import */ var adminlte_plugin_bootstrap_js_bootstrap_min_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(adminlte_plugin_bootstrap_js_bootstrap_min_js__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var adminlte_plugin_select2_js_select2_min_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! adminlte-plugin/select2/js/select2.min.js */ "./node_modules/admin-lte/plugins/select2/js/select2.min.js");
- /* harmony import */ var adminlte_plugin_select2_js_select2_min_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(adminlte_plugin_select2_js_select2_min_js__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var adminlte_plugin_select2_js_i18n_fr_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! adminlte-plugin/select2/js/i18n/fr.js */ "./node_modules/admin-lte/plugins/select2/js/i18n/fr.js");
- /* harmony import */ var adminlte_plugin_select2_js_i18n_fr_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(adminlte_plugin_select2_js_i18n_fr_js__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var adminlte_plugin_select2_css_select2_min_css__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! adminlte-plugin/select2/css/select2.min.css */ "./node_modules/admin-lte/plugins/select2/css/select2.min.css");
- /* harmony import */ var adminlte_plugin_select2_bootstrap4_theme_select2_bootstrap4_min_css__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! adminlte-plugin/select2-bootstrap4-theme/select2-bootstrap4.min.css */ "./node_modules/admin-lte/plugins/select2-bootstrap4-theme/select2-bootstrap4.min.css");
- /* harmony import */ var toastr_toastr_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! toastr/toastr.js */ "./node_modules/toastr/toastr.js");
- /* harmony import */ var toastr_toastr_js__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(toastr_toastr_js__WEBPACK_IMPORTED_MODULE_7__);
- /* harmony import */ var toastr_toastr_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! toastr/toastr.scss */ "./node_modules/toastr/toastr.scss");
- /* harmony import */ var _tools_tools_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../../tools/tools.js */ "../LaClicBundle/SovBundle/Resources/assets/tools/tools.js");
- /* harmony import */ var _js_notification_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./js/notification.js */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/js/notification.js");
- /* harmony import */ var _common_scss__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./common.scss */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/common.scss");
- /* harmony import */ var _common_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./common.js */ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/common.js");
- /* harmony import */ var _common_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_common_js__WEBPACK_IMPORTED_MODULE_12__);
- // JQuery
-
- __webpack_require__.g.$ = __webpack_require__.g.jQuery = $; // Adminlte
-
- // Bootstrap
-
- // Select2
-
-
-
-
- // Toastr
-
-
-
- __webpack_require__.g.toastr = (toastr_toastr_js__WEBPACK_IMPORTED_MODULE_7___default()); // Tools
-
-
- __webpack_require__.g.Tools = _tools_tools_js__WEBPACK_IMPORTED_MODULE_9__.Tools;
-
- __webpack_require__.g.Notification = _js_notification_js__WEBPACK_IMPORTED_MODULE_10__.Notification;
- _js_notification_js__WEBPACK_IMPORTED_MODULE_10__.Notification.init(); // Common
-
-
-
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/common.js":
- /*!********************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/common.js ***!
- \********************************************************************************/
- /***/ ((__unused_webpack_module, __unused_webpack_exports, __webpack_require__) => {
-
- __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
-
- /* Notifications */
- //Notification.init() ;
-
- /* Tooltip */
- $('[data-toggle="tooltip"]').tooltip();
- /* Select2 */
-
- if ($('.select2, select.form-control').length) {
- $('form .form-widget>select.form-control, .select2').each(function (i, elm) {
- if (!$(this).hasClass('disable-select2')) {
- setSelect2($(elm));
- }
- });
- $('form select.form-control').each(function (i, elm) {
- if (!$(this).hasClass('disable-select2')) {
- setSelect2($(elm));
- }
- });
- }
-
- function setSelect2($select) {
- if (typeof $select.data('select2-id') === 'undefined') {
- $select.data('init', 'set');
- var options = {
- width: "100%",
- theme: "bootstrap4",
- dropdownAutoWidth: false,
- allowClear: true,
- minimumResultsForSearch: 8
- };
-
- if ($select.data('allow-clear') == 'false') {
- options.allowClear = false;
- }
-
- if ($select.data('width')) {
- options.width = 'auto';
- }
-
- if ($select.find('option[value=""]')) {
- options.placeholder = $select.find('option[value=""]').html();
- }
- /*if($select.is(':required') == false) {
- options.allowclear = true
- }*/
-
-
- var myselect = $select.select2(options);
- myselect.on('select2:select', function (e) {
- var event = new Event('change');
- e.target.dispatchEvent(event);
- });
- myselect.on('select2:unselect', function (e) {
- var event = new Event('change');
- e.target.dispatchEvent(event);
- });
- return myselect;
- }
- }
-
- $('.action-delete').on('click', function (e) {
- e.preventDefault();
- var formAction = $(this).attr('formaction');
- $('#modal-delete').modal({
- backdrop: true,
- keyboard: true
- }).off('click', '#modal-delete-button').on('click', '#modal-delete-button', function () {
- var deleteForm = $('#delete-form');
- deleteForm.attr('action', formAction);
- deleteForm.submit();
- });
- });
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/js/notification.js":
- /*!*****************************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/js/notification.js ***!
- \*****************************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Notification": () => (/* binding */ Notification)
- /* harmony export */ });
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.includes.js */ "./node_modules/core-js/modules/es.array.includes.js");
- /* harmony import */ var core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_includes_js__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.string.includes.js */ "./node_modules/core-js/modules/es.string.includes.js");
- /* harmony import */ var core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_includes_js__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.find.js */ "./node_modules/core-js/modules/es.array.find.js");
- /* harmony import */ var core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_find_js__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_3__);
-
-
-
-
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
- var Notification = /*#__PURE__*/function () {
- function Notification() {
- _classCallCheck(this, Notification);
- }
-
- _createClass(Notification, null, [{
- key: "init",
- value: function init() {
- toastr.options.timeOut = 3000;
- toastr.options.positionClass = 'toast-bottom-right';
-
- toastr.options.onHidden = function () {
- if ($('#toast-container .toast').length == 1) {
- $('#toast-close-all').remove();
- }
- };
- }
- }, {
- key: "set",
- value: function set(notifications) {
- var currentNotifications = new Array();
-
- for (var type in notifications) {
- for (var key in notifications[type]) {
- if (!currentNotifications.includes(notifications[type][key])) {
- currentNotifications.push(notifications[type][key]);
- self.add(type, notifications[type][key]);
- }
- }
- }
- }
- }, {
- key: "add",
- value: function add(type, text) {
- toastr[type](text);
- var $container = $('#toast-container');
- var selectorButtonCloseAll = '#toast-close-all';
- var countMessages = $container.find('.toast').length;
-
- if ($(selectorButtonCloseAll).length == 0 && countMessages > 2) {
- $container.prepend('<button id="toast-close-all"><i class="fa fa-times"></i></button>');
- }
-
- $(selectorButtonCloseAll).off('click').on('click', function () {
- toastr.remove();
-
- if (countMessages == 0) {
- $('#toast-close-all').remove();
- }
- });
- }
- }]);
-
- return Notification;
- }();
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/tools/tools.js":
- /*!*****************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/tools/tools.js ***!
- \*****************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- /* harmony export */ __webpack_require__.d(__webpack_exports__, {
- /* harmony export */ "Tools": () => (/* binding */ Tools)
- /* harmony export */ });
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.filter.js */ "./node_modules/core-js/modules/es.array.filter.js");
- /* harmony import */ var core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_filter_js__WEBPACK_IMPORTED_MODULE_0__);
- /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.date.to-string.js */ "./node_modules/core-js/modules/es.date.to-string.js");
- /* harmony import */ var core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_date_to_string_js__WEBPACK_IMPORTED_MODULE_1__);
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.regexp.exec.js */ "./node_modules/core-js/modules/es.regexp.exec.js");
- /* harmony import */ var core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_regexp_exec_js__WEBPACK_IMPORTED_MODULE_2__);
- /* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/es.string.search.js */ "./node_modules/core-js/modules/es.string.search.js");
- /* harmony import */ var core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_search_js__WEBPACK_IMPORTED_MODULE_3__);
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/es.string.split.js */ "./node_modules/core-js/modules/es.string.split.js");
- /* harmony import */ var core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_split_js__WEBPACK_IMPORTED_MODULE_4__);
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/es.object.define-property.js */ "./node_modules/core-js/modules/es.object.define-property.js");
- /* harmony import */ var core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_object_define_property_js__WEBPACK_IMPORTED_MODULE_5__);
-
-
-
-
-
-
-
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
-
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
-
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
-
- var Tools = /*#__PURE__*/function () {
- function Tools() {
- _classCallCheck(this, Tools);
- }
-
- _createClass(Tools, null, [{
- key: "log",
- value: function log(value) {
- try {
- console.log(value);
- } catch (_unused) {}
- }
- }, {
- key: "arrayRemove",
- value: function arrayRemove(arr, value) {
- return arr.filter(function (ele) {
- return ele != value;
- });
- }
- }, {
- key: "toPlainText",
- value: function toPlainText(html) {
- var scratchDiv = document.createElement('div');
- scratchDiv.innerHTML = html;
- return scratchDiv.textContent;
- }
- }, {
- key: "getDateFormatted",
- value: function getDateFormatted(date, separator) {
- if (date) {
- var date = new Date(date);
-
- var _d = date.getDate(),
- d = _d > 9 ? _d : '0' + _d,
- _m = date.getMonth() + 1,
- m = _m > 9 ? _m : '0' + _m,
- formatted = d + separator + m + separator + date.getFullYear();
-
- return formatted;
- } else {
- return '';
- }
- }
- }, {
- key: "getUrlParameter",
- value: function getUrlParameter(sParam) {
- var sPageURL = window.location.search.substring(1),
- sURLVariables = sPageURL.split('&'),
- sParameterName,
- i;
-
- for (i = 0; i < sURLVariables.length; i++) {
- sParameterName = sURLVariables[i].split('=');
-
- if (sParameterName[0] === sParam) {
- return sParameterName[1] === undefined ? true : decodeURIComponent(sParameterName[1]);
- }
- }
- }
- }, {
- key: "indexOfFirstDigit",
- value: function indexOfFirstDigit(input) {
- var i = 0;
-
- for (; input[i] < '0' || input[i] > '9'; i++) {
- ;
- }
-
- return i == input.length ? -1 : i;
- }
- }, {
- key: "indexOfLastDigit",
- value: function indexOfLastDigit(input) {
- var i = input.length - 1;
-
- for (; input[i] < '0' || input[i] > '9'; i--) {
- ;
- }
-
- return i == input.length ? -1 : i;
- }
- }]);
-
- return Tools;
- }();
-
- /***/ }),
-
- /***/ "../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/common.scss":
- /*!**********************************************************************************!*\
- !*** ../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/common.scss ***!
- \**********************************************************************************/
- /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
-
- "use strict";
- __webpack_require__.r(__webpack_exports__);
- // extracted by mini-css-extract-plugin
-
-
- /***/ })
-
- },
- /******/ __webpack_require__ => { // webpackRuntimeModules
- /******/ "use strict";
- /******/
- /******/ var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
- /******/ __webpack_require__.O(0, ["vendors-node_modules_core-js_internals_a-function_js-node_modules_core-js_internals_export_js","vendors-node_modules_core-js_modules_es_array_find_js","vendors-node_modules_core-js_internals_advance-string-index_js-node_modules_core-js_internals-bed4a0","vendors-node_modules_jquery_src_jquery_js","vendors-node_modules_admin-lte_dist_js_adminlte_min_js-node_modules_admin-lte_plugins_bootstr-9c1f64"], () => (__webpack_exec__("../LaClicBundle/SovBundle/Resources/assets/app/adminlte/common/app.common.js")));
- /******/ var __webpack_exports__ = __webpack_require__.O();
- /******/ }
- ]);
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9jb21tb24vYXBwLmNvbW1vbi5qcyIsIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9jb21tb24vY29tbW9uLmpzIiwid2VicGFjazovLy8uLi9MYUNsaWNCdW5kbGUvU292QnVuZGxlL1Jlc291cmNlcy9hc3NldHMvYXBwL2FkbWlubHRlL2NvbW1vbi9qcy9ub3RpZmljYXRpb24uanMiLCJ3ZWJwYWNrOi8vLy4uL0xhQ2xpY0J1bmRsZS9Tb3ZCdW5kbGUvUmVzb3VyY2VzL2Fzc2V0cy90b29scy90b29scy5qcyIsIndlYnBhY2s6Ly8vLi4vTGFDbGljQnVuZGxlL1NvdkJ1bmRsZS9SZXNvdXJjZXMvYXNzZXRzL2FwcC9hZG1pbmx0ZS9jb21tb24vY29tbW9uLnNjc3MiXSwibmFtZXMiOlsiZ2xvYmFsIiwiJCIsImpRdWVyeSIsInRvYXN0ciIsIlRvb2xzIiwiTm90aWZpY2F0aW9uIiwidG9vbHRpcCIsImxlbmd0aCIsImVhY2giLCJpIiwiZWxtIiwiaGFzQ2xhc3MiLCJzZXRTZWxlY3QyIiwiJHNlbGVjdCIsImRhdGEiLCJvcHRpb25zIiwid2lkdGgiLCJ0aGVtZSIsImRyb3Bkb3duQXV0b1dpZHRoIiwiYWxsb3dDbGVhciIsIm1pbmltdW1SZXN1bHRzRm9yU2VhcmNoIiwiZmluZCIsInBsYWNlaG9sZGVyIiwiaHRtbCIsIm15c2VsZWN0Iiwic2VsZWN0MiIsIm9uIiwiZSIsImV2ZW50IiwiRXZlbnQiLCJ0YXJnZXQiLCJkaXNwYXRjaEV2ZW50IiwicHJldmVudERlZmF1bHQiLCJmb3JtQWN0aW9uIiwiYXR0ciIsIm1vZGFsIiwiYmFja2Ryb3AiLCJrZXlib2FyZCIsIm9mZiIsImRlbGV0ZUZvcm0iLCJzdWJtaXQiLCJ0aW1lT3V0IiwicG9zaXRpb25DbGFzcyIsIm9uSGlkZGVuIiwicmVtb3ZlIiwibm90aWZpY2F0aW9ucyIsImN1cnJlbnROb3RpZmljYXRpb25zIiwiQXJyYXkiLCJ0eXBlIiwia2V5IiwiaW5jbHVkZXMiLCJwdXNoIiwic2VsZiIsImFkZCIsInRleHQiLCIkY29udGFpbmVyIiwic2VsZWN0b3JCdXR0b25DbG9zZUFsbCIsImNvdW50TWVzc2FnZXMiLCJwcmVwZW5kIiwidmFsdWUiLCJjb25zb2xlIiwibG9nIiwiYXJyIiwiZmlsdGVyIiwiZWxlIiwic2NyYXRjaERpdiIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsImlubmVySFRNTCIsInRleHRDb250ZW50IiwiZGF0ZSIsInNlcGFyYXRvciIsIkRhdGUiLCJfZCIsImdldERhdGUiLCJkIiwiX20iLCJnZXRNb250aCIsIm0iLCJmb3JtYXR0ZWQiLCJnZXRGdWxsWWVhciIsInNQYXJhbSIsInNQYWdlVVJMIiwid2luZG93IiwibG9jYXRpb24iLCJzZWFyY2giLCJzdWJzdHJpbmciLCJzVVJMVmFyaWFibGVzIiwic3BsaXQiLCJzUGFyYW1ldGVyTmFtZSIsInVuZGVmaW5lZCIsImRlY29kZVVSSUNvbXBvbmVudCIsImlucHV0Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFDQTtBQUNBO0FBQ0FBLHFCQUFNLENBQUNDLENBQVAsR0FBV0QscUJBQU0sQ0FBQ0UsTUFBUCxHQUFnQkQsQ0FBM0IsQyxDQUVBOztDQUdBOztDQUdBOztBQUNBO0FBQ0E7QUFDQTtDQUdBOztBQUNBO0FBQ0E7QUFDQUQscUJBQU0sQ0FBQ0csTUFBUCxHQUFnQkEseURBQWhCLEMsQ0FFQTs7QUFDQTtBQUNBSCxxQkFBTSxDQUFDSSxLQUFQLEdBQWVBLGtEQUFmO0FBRUE7QUFDQUoscUJBQU0sQ0FBQ0ssWUFBUCxHQUFzQkEsOERBQXRCO0FBQ0FBLG1FQUFBLEcsQ0FFQTs7QUFDQTs7Ozs7Ozs7Ozs7OztBQzlCQTtBQUNBOztBQUVBO0FBQ0FKLENBQUMsQ0FBQyx5QkFBRCxDQUFELENB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OEM7QUFBOUM7O0FBQ0EsYUFBT0EsQ0FBQyxJQUFJbUYsS0FBSyxDQUFDckYsTUFBWCxHQUFvQixDQUFDLENBQXJCLEdBQXlCRSxDQUFoQztBQUNQO0FBM0RUOztBQUFBO0FBQUEsSTs7Ozs7Ozs7Ozs7O0FDREEiLCJmaWxlIjoiYWRtaW5sdGUtY29tbW9uLmpzIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBKUXVlcnlcbmltcG9ydCAnanF1ZXJ5Jztcbmdsb2JhbC4kID0gZ2xvYmFsLmpRdWVyeSA9ICQ7XG5cbi8vIEFkbWlubHRlXG5pbXBvcnQgJ2FkbWlubHRlLWpzJyA7XG5cbi8vIEJvb3RzdHJhcFxuaW1wb3J0ICdhZG1pbmx0ZS1wbHVnaW4vYm9vdHN0cmFwL2pzL2Jvb3RzdHJhcC5taW4uanMnO1xuXG4vLyBTZWxlY3QyXG5pbXBvcnQgJ2FkbWlubHRlLXBsdWdpbi9zZWxlY3QyL2pzL3NlbGVjdDIubWluLmpzJztcbmltcG9ydCAnYWRtaW5sdGUtcGx1Z2luL3NlbGVjdDIvanMvaTE4bi9mci5qcyc7XG5pbXBvcnQgJ2FkbWlubHRlLXBsdWdpbi9zZWxlY3QyL2Nzcy9zZWxlY3QyLm1pbi5jc3MnO1xuaW1wb3J0ICdhZG1pbmx0ZS1wbHVnaW4vc2VsZWN0Mi1ib290c3RyYXA0LXRoZW1lL3NlbGVjdDItYm9vdHN0cmFwNC5taW4uY3NzJztcblxuLy8gVG9hc3RyXG5pbXBvcnQgdG9hc3RyIGZyb20gJ3RvYXN0ci90b2FzdHIuanMnIDtcbmltcG9ydCAndG9hc3RyL3RvYXN0ci5zY3NzJyA7XG5nbG9iYWwudG9hc3RyID0gdG9hc3RyIDtcblxuLy8gVG9vbHNcbmltcG9ydCB7IFRvb2xzIH0gZnJvbSAnLi4vLi4vLi4vdG9vbHMvdG9vbHMuanMnO1xuZ2xvYmFsLlRvb2xzID0gVG9vbHM7XG5cbmltcG9ydCB7IE5vdGlmaWNhdGlvbiB9IGZyb20gJy4vanMvbm90aWZpY2F0aW9uLmpzJztcbmdsb2JhbC5Ob3RpZmljYXRpb24gPSBOb3RpZmljYXRpb247XG5Ob3RpZmljYXRpb24uaW5pdCgpIDtcblxuLy8gQ29tbW9uXG5pbXBvcnQgJy4vY29tbW9uLnNjc3MnO1xuaW1wb3J0ICcuL2NvbW1vbi5qcycgO1xuXG5cblxuXG4iLCJcbi8qIE5vdGlmaWNhdGlvbnMgKi9cbi8vTm90aWZpY2F0aW9uLmluaXQoKSA7XG5cbi8qIFRvb2x0aXAgKi9cbiQoJ1tkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIl0nKS50b29sdGlwKCk7XG5cbi8qIFNlbGVjdDIgKi9cbmlmICgkKCcuc2VsZWN0Miwgc2VsZWN0LmZvcm0tY29udHJvbCcpLmxlbmd0aCkge1xuXG4gICAgJCgnZm9ybSAuZm9ybS13aWRnZXQ+c2VsZWN0LmZvcm0tY29udHJvbCwgLnNlbGVjdDInKS5lYWNoKGZ1bmN0aW9uIChpLCBlbG0pIHtcbiAgICAgICAgaWYgKCEkKHRoaXMpLmhhc0NsYXNzKCdkaXNhYmxlLXNlbGVjdDInKSkge1xuICAgICAgICAgICAgc2V0U2VsZWN0MigkKGVsbSkpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICAkKCdmb3JtIHNlbGVjdC5mb3JtLWNvbnRyb2wnKS5lYWNoKGZ1bmN0aW9uIChpLCBlbG0pIHtcbiAgICAgICAgaWYgKCEkKHRoaXMpLmhhc0NsYXNzKCdkaXNhYmxlLXNlbGVjdDInKSkge1xuICAgICAgICAgICAgc2V0U2VsZWN0MigkKGVsbSkpO1xuICAgICAgICB9XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIHNldFNlbGVjdDIoJHNlbGVjdCkge1xuICAgIGlmICh0eXBlb2YgJHNlbGVjdC5kYXRhKCdzZWxlY3QyLWlkJykgPT09ICd1bmRlZmluZWQnKSB7XG5cbiAgICAgICAgJHNlbGVjdC5kYXRhKCdpbml0JywgJ3NldCcpXG4gICAgICAgIHZhciBvcHRpb25zID0ge1xuICAgICAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgICAgICAgdGhlbWU6IFwiYm9vdHN0cmFwNFwiLFxuICAgICAgICAgICAgZHJvcGRvd25BdXRvV2lkdGg6IGZhbHNlLFxuICAgICAgICAgICAgYWxsb3dDbGVhcjogdHJ1ZSxcbiAgICAgICAgICAgIG1pbmltdW1SZXN1bHRzRm9yU2VhcmNoOiA4XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKCRzZWxlY3QuZGF0YSgnYWxsb3ctY2xlYXInKSA9PSAnZmFsc2UnKSB7XG4gICAgICAgICAgICBvcHRpb25zLmFsbG93Q2xlYXIgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoJHNlbGVjdC5kYXRhKCd3aWR0aCcpKSB7XG4gICAgICAgICAgICBvcHRpb25zLndpZHRoID0gJ2F1dG8nXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCRzZWxlY3QuZmluZCgnb3B0aW9uW3ZhbHVlPVwiXCJdJykpIHtcbiAgICAgICAgICAgIG9wdGlvbnMucGxhY2Vob2xkZXIgPSAkc2VsZWN0LmZpbmQoJ29wdGlvblt2YWx1ZT1cIlwiXScpLmh0bWwoKVxuICAgICAgICB9XG4gICAgICAgIC8qaWYoJHNlbGVjdC5pcygnOnJlcXVpcmVkJykgPT0gZmFsc2UpIHtcbiAgICAgICAgICAgIG9wdGlvbnMuYWxsb3djbGVhciA9IHRydWVcbiAgICAgICAgfSovXG4gICAgICAgIHZhciBteXNlbGVjdCA9ICRzZWxlY3Quc2VsZWN0MihvcHRpb25zKTtcblxuICAgICAgICBteXNlbGVjdC5vbignc2VsZWN0MjpzZWxlY3QnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEV2ZW50KCdjaGFuZ2UnKTtcbiAgICAgICAgICAgIGUudGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9KTtcbiAgICAgICAgbXlzZWxlY3Qub24oJ3NlbGVjdDI6dW5zZWxlY3QnLCBmdW5jdGlvbiAoZSkge1xuICAgICAgICAgICAgdmFyIGV2ZW50ID0gbmV3IEV2ZW50KCdjaGFuZ2UnKTtcbiAgICAgICAgICAgIGUudGFyZ2V0LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgICAgICB9KTtcblxuICAgICAgICByZXR1cm4gbXlzZWxlY3Q7XG4gICAgfVxufVxuXG5cbiQoJy5hY3Rpb24tZGVsZXRlJykub24oJ2NsaWNrJywgZnVuY3Rpb24gKGUpIHtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgY29uc3QgZm9ybUFjdGlvbiA9ICQodGhpcykuYXR0cignZm9ybWFjdGlvbicpO1xuXG4gICAgJCgnI21vZGFsLWRlbGV0ZScpLm1vZGFsKHtiYWNrZHJvcDogdHJ1ZSwga2V5Ym9hcmQ6IHRydWV9KVxuICAgICAgICAub2ZmKCdjbGljaycsICcjbW9kYWwtZGVsZXRlLWJ1dHRvbicpXG4gICAgICAgIC5vbignY2xpY2snLCAnI21vZGFsLWRlbGV0ZS1idXR0b24nLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBsZXQgZGVsZXRlRm9ybSA9ICQoJyNkZWxldGUtZm9ybScpO1xuICAgICAgICAgICAgZGVsZXRlRm9ybS5hdHRyKCdhY3Rpb24nLCBmb3JtQWN0aW9uKTtcbiAgICAgICAgICAgIGRlbGV0ZUZvcm0uc3VibWl0KCk7XG4gICAgICAgIH0pO1xufSk7XG5cbiIsIlxuZXhwb3J0IGNsYXNzIE5vdGlmaWNhdGlvbiB7XG5cbiAgICBzdGF0aWMgaW5pdCgpIHtcbiAgICAgICAgdG9hc3RyLm9wdGlvbnMudGltZU91dCA9IDMwMDA7XG4gICAgICAgIHRvYXN0ci5vcHRpb25zLnBvc2l0aW9uQ2xhc3MgPSAndG9hc3QtYm90dG9tLXJpZ2h0JztcbiAgICAgICAgdG9hc3RyLm9wdGlvbnMub25IaWRkZW4gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAoJCgnI3RvYXN0LWNvbnRhaW5lciAudG9hc3QnKS5sZW5ndGggPT0gMSkge1xuICAgICAgICAgICAgICAgICQoJyN0b2FzdC1jbG9zZS1hbGwnKS5yZW1vdmUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgc2V0KG5vdGlmaWNhdGlvbnMpIHtcbiAgICAgICAgdmFyIGN1cnJlbnROb3RpZmljYXRpb25zID0gbmV3IEFycmF5KCk7XG4gICAgICAgIGZvciAodmFyIHR5cGUgaW4gbm90aWZpY2F0aW9ucykge1xuICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIG5vdGlmaWNhdGlvbnNbdHlwZV0pIHtcbiAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnROb3RpZmljYXRpb25zLmluY2x1ZGVzKG5vdGlmaWNhdGlvbnNbdHlwZV1ba2V5XSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY3VycmVudE5vdGlmaWNhdGlvbnMucHVzaChub3RpZmljYXRpb25zW3R5cGVdW2tleV0pO1xuICAgICAgICAgICAgICAgICAgICBzZWxmLmFkZCh0eXBlLCBub3RpZmljYXRpb25zW3R5cGVdW2tleV0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHN0YXRpYyBhZGQodHlwZSwgdGV4dCkge1xuXG4gICAgICAgIHRvYXN0clt0eXBlXSh0ZXh0KTtcblxuICAgICAgICBsZXQgJGNvbnRhaW5lciA9ICQoJyN0b2FzdC1jb250YWluZXInKSA7XG4gICAgICAgIGxldCBzZWxlY3RvckJ1dHRvbkNsb3NlQWxsID0gJyN0b2FzdC1jbG9zZS1hbGwnIDtcbiAgICAgICAgbGV0IGNvdW50TWVzc2FnZXMgPSAkY29udGFpbmVyLmZpbmQoJy50b2FzdCcpLmxlbmd0aCA7XG5cbiAgICAgICAgaWYgKCQoc2VsZWN0b3JCdXR0b25DbG9zZUFsbCkubGVuZ3RoID09IDAgJiYgY291bnRNZXNzYWdlcyA+IDIpIHtcbiAgICAgICAgICAgICRjb250YWluZXIucHJlcGVuZCgnPGJ1dHRvbiBpZD1cInRvYXN0LWNsb3NlLWFsbFwiPjxpIGNsYXNzPVwiZmEgZmEtdGltZXNcIj48L2k+PC9idXR0b24+Jyk7XG4gICAgICAgIH1cblxuICAgICAgICAkKHNlbGVjdG9yQnV0dG9uQ2xvc2VBbGwpLm9mZignY2xpY2snKS5vbignY2xpY2snLCBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICB0b2FzdHIucmVtb3ZlKCk7XG4gICAgICAgICAgICBpZiAoY291bnRNZXNzYWdlcyA9PSAwKSB7XG4gICAgICAgICAgICAgICAgJCgnI3RvYXN0LWNsb3NlLWFsbCcpLnJlbW92ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbn0iLCJcbmV4cG9ydCBjbGFzcyBUb29scyB7XG5cbiAgICAgICAgc3RhdGljIGxvZyh2YWx1ZSkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyh2YWx1ZSkgO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXRjaCB7fVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGFycmF5UmVtb3ZlKGFyciwgdmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gYXJyLmZpbHRlcihmdW5jdGlvbihlbGUpeyByZXR1cm4gZWxlICE9IHZhbHVlOyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyB0b1BsYWluVGV4dChodG1sKSB7XG4gICAgICAgICAgICAgICAgbGV0IHNjcmF0Y2hEaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICAgICAgICAgICAgICBzY3JhdGNoRGl2LmlubmVySFRNTCA9IGh0bWw7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNjcmF0Y2hEaXYudGV4dENvbnRlbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBzdGF0aWMgZ2V0RGF0ZUZvcm1hdHRlZChkYXRlLCBzZXBhcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBpZihkYXRlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgZGF0ZSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIF9kID0gZGF0ZS5nZXREYXRlKCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZCA9IF9kID4gOSA/IF9kIDogJzAnICsgX2QsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX20gPSBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBfbSA+IDkgPyBfbSA6ICcwJyArIF9tLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1hdHRlZCA9IGQgKyBzZXBhcmF0b3IgKyBtICsgc2VwYXJhdG9yICsgZGF0ZS5nZXRGdWxsWWVhcigpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdHRlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3RhdGljIGdldFVybFBhcmFtZXRlcihzUGFyYW0pIHtcbiAgICAgICAgICAgICAgICB2YXIgc1BhZ2VVUkwgPSB3aW5kb3cubG9jYXRpb24uc2VhcmNoLnN1YnN0cmluZygxKSxcbiAgICAgICAgICAgICAgICAgICAgc1VSTFZhcmlhYmxlcyA9IHNQYWdlVVJMLnNwbGl0KCcmJyksXG4gICAgICAgICAgICAgICAgICAgIHNQYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgICAgICAgICAgICBpO1xuXG4gICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IHNVUkxWYXJpYWJsZXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNQYXJhbWV0ZXJOYW1lID0gc1VSTFZhcmlhYmxlc1tpXS5zcGxpdCgnPScpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc1BhcmFtZXRlck5hbWVbMF0gPT09IHNQYXJhbSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gc1BhcmFtZXRlck5hbWVbMV0gPT09IHVuZGVmaW5lZCA/IHRydWUgOiBkZWNvZGVVUklDb21wb25lbnQoc1BhcmFtZXRlck5hbWVbMV0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBpbmRleE9mRmlyc3REaWdpdChpbnB1dCkge1xuICAgICAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgICAgICBmb3IgKDsgaW5wdXRbaV0gPCAnMCcgfHwgaW5wdXRbaV0gPiAnOSc7IGkrKykgO1xuICAgICAgICAgICAgICAgIHJldHVybiBpID09IGlucHV0Lmxlbmd0aCA/IC0xIDogaTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0YXRpYyBpbmRleE9mTGFzdERpZ2l0KGlucHV0KSB7XG4gICAgICAgICAgICAgICAgbGV0IGkgPSBpbnB1dC5sZW5ndGggLSAxO1xuICAgICAgICAgICAgICAgIGZvciAoOyBpbnB1dFtpXSA8ICcwJyB8fCBpbnB1dFtpXSA+ICc5JzsgaS0tKSA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGkgPT0gaW5wdXQubGVuZ3RoID8gLTEgOiBpO1xuICAgICAgICB9XG59XG4iLCIvLyBleHRyYWN0ZWQgYnkgbWluaS1jc3MtZXh0cmFjdC1wbHVnaW5cbmV4cG9ydCB7fTsiXSwic291cmNlUm9vdCI6IiJ9
|