(window["webpackJsonp"] = window["webpackJsonp"] || []).push([["login"],{
/***/ "./assets/css/index.css":
/*!******************************!*\
!*** ./assets/css/index.css ***!
\******************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
// extracted by mini-css-extract-plugin
/***/ }),
/***/ "./assets/js/components/login.js":
/*!***************************************!*\
!*** ./assets/js/components/login.js ***!
\***************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/**
* Created by PhpStorm
* User: daniele
* Date: 17/12/20
* Time: 09:28
*/
/* harmony default export */ __webpack_exports__["default"] = ({
passwordEvents: function passwordEvents() {
$("#togglePasswordLink").on('click', function (event) {
event.preventDefault();
if ($('#password').attr("type") === "text") {
$('#password').attr('type', 'password');
$('#togglePassword').addClass("fa-eye-slash");
$('#togglePassword').removeClass("fa-eye");
} else if ($('#password').attr("type") === "password") {
$('#password').attr('type', 'text');
$('#togglePassword').removeClass("fa-eye-slash");
$('#togglePassword').addClass("fa-eye");
}
});
},
loginSubmit: function loginSubmit(opts) {
if (opts && typeof opts.onBeforeSubmit === "function") opts.onBeforeSubmit();
var self = this;
$("#login").click(function () {
$.ajax({
url: "ajax.php?object=IWUser&tipoview=login&JSON",
type: "post",
data: $("#form").serialize(),
dataType: "json",
success: function success(json) {
self.loginOnAjaxSuccess({
json: json,
opts: opts
});
}
});
});
},
loginOnAjaxSuccess: function loginOnAjaxSuccess(opts) {
var json = opts.json;
if (opts.opts && typeof opts.opts.onSuccessCallback === "function") opts.opts.onSuccessCallback(json);
if (!json.ret) {
alert('Credenziali errate: ritentare
Invalid Username or password: try again');
return;
}
var pagedefault = json.pagedefault;
pagedefault = json.url ? json.url : !pagedefault ? document.location.href : "index.php?" + pagedefault;
window.location.href = pagedefault;
},
openModalRecuperoPwd: function openModalRecuperoPwd() {
var self = this;
$("#lost-password-link").on("click", function () {
$("#recupero_pwd_username").val("");
$("#recupero-pwd-button .spinner-border, .loading-recupero-pwd").hide();
$("#span-recupero-pwd-button").show();
var $button = $("#recupero-pwd-button");
$button.prop("disabled", false);
$button.off();
$button.on("click", function () {
self.getEmailRecuperoPassword();
});
$button.show();
$("#recupero-pwd-output-actions .output-actions").html("");
$("#recupero-pwd-output-actions").hide();
$("#popup-recupero-pwd").modal("show");
});
},
getEmailRecuperoPassword: function getEmailRecuperoPassword() {
var $form = $("#recupero-pwd-form");
var form = $form[0];
var validation = form.checkValidity();
form.classList.add('was-validated');
if (!validation) return;
$("#span-recupero-pwd-button").hide();
$("#recupero-pwd-button .spinner-border, .loading-recupero-pwd").show();
var self = this;
var company = $("#recupero_pwd_company").val();
var username = $("#recupero_pwd_username").val();
$.ajax({
url: "/recupero-password",
type: "post",
dataType: "json",
data: {
tipoview: "getEmailRecuperoPwd",
company: company,
username: username
},
success: function success(json) {
$("#recupero-pwd-output-actions .output-actions").html(json.msg);
$("#recupero-pwd-output-actions").show();
var $button = $("#recupero-pwd-button");
if (!json.ret) {
$button.prop("disabled", true);
$button.hide();
return;
}
$("#recupero-pwd-button .spinner-border, .loading-recupero-pwd").hide();
$("#span-recupero-pwd-button").show();
$button.show();
$button.off();
$button.on("click", function () {
self.sendEmailRecuperoPassword(company, username);
});
}
});
},
sendEmailRecuperoPassword: function sendEmailRecuperoPassword(company, username) {
$("#span-recupero-pwd-button").hide();
$("#recupero-pwd-button .spinner-border, .loading-recupero-pwd").show();
$.ajax({
url: "/recupero-password",
type: "post",
dataType: "json",
data: {
OP_FROM_AJAX: 1,
tipoview: "sendEmailRecuperoPwd",
company: company,
username: username
},
success: function success(json) {
$("#recupero-pwd-output-actions .output-actions").html(json.msg ? json.msg : json.out);
$("#recupero-pwd-output-actions").show();
if (json.ret) {
$("#recupero-pwd-button").hide();
return;
}
$("#recupero-pwd-button .spinner-border, .loading-recupero-pwd").hide();
$("#span-recupero-pwd-button").show();
}
});
},
checkEmailRecuperoPwd: function checkEmailRecuperoPwd() {
var self = this;
getHtmlFromAjax({
url: "ajax.php?JSON",
divname: "dialog_recupero_password",
data: {
object: "IWUser",
tipoview: "viewDialogSetEmailForPwdReset"
},
onSuccess: function onSuccess() {
dialogShow("dialog_recupero_password", function (ret) {
if (!ret) return;
$.ajax({
url: "view.php",
dataType: "json",
type: "post",
data: {
OP_FROM_AJAX: 1,
JSON: 1,
object: "IWUser",
tipoview: "saveEmailRecuperoPwd",
email: $("#email_for_pwd_reset").val()
},
success: function success(json) {
ajaxSubmitOnSuccessFunction(json, true);
if (!json.ret) self.checkEmailRecuperoPwd();
}
});
});
}
});
}
});
/***/ }),
/***/ "./assets/js/index.js":
/*!****************************!*\
!*** ./assets/js/index.js ***!
\****************************/
/*! no exports provided */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* 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");
/* 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__);
/* harmony import */ var _components_login__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./components/login */ "./assets/js/components/login.js");
/**
* Created by PhpStorm
* User: daniele
* Date: 17/12/20
* Time: 09:25
*/
__webpack_require__(/*! ../css/index.css */ "./assets/css/index.css");
$(document).ready(function () {
_components_login__WEBPACK_IMPORTED_MODULE_1__["default"].passwordEvents();
_components_login__WEBPACK_IMPORTED_MODULE_1__["default"].loginSubmit();
_components_login__WEBPACK_IMPORTED_MODULE_1__["default"].openModalRecuperoPwd();
resizeContent();
$(window).bind('resize', resizeContent);
});
/***/ })
},[["./assets/js/index.js","runtime","vendors~bootstrap_env~dettagli-fe~documenti~fullcalendar~jquery-ui_env~login","vendors~bootstrap_env~dettagli-fe~documenti~jquery-ui_env~login"]]]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9hc3NldHMvY3NzL2luZGV4LmNzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvY29tcG9uZW50cy9sb2dpbi5qcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvanMvaW5kZXguanMiXSwibmFtZXMiOlsicGFzc3dvcmRFdmVudHMiLCIkIiwib24iLCJldmVudCIsInByZXZlbnREZWZhdWx0IiwiYXR0ciIsImFkZENsYXNzIiwicmVtb3ZlQ2xhc3MiLCJsb2dpblN1Ym1pdCIsIm9wdHMiLCJvbkJlZm9yZVN1Ym1pdCIsInNlbGYiLCJjbGljayIsImFqYXgiLCJ1cmwiLCJ0eXBlIiwiZGF0YSIsInNlcmlhbGl6ZSIsImRhdGFUeXBlIiwic3VjY2VzcyIsImpzb24iLCJsb2dpbk9uQWpheFN1Y2Nlc3MiLCJvblN1Y2Nlc3NDYWxsYmFjayIsInJldCIsImFsZXJ0IiwicGFnZWRlZmF1bHQiLCJkb2N1bWVudCIsImxvY2F0aW9uIiwiaHJlZiIsIndpbmRvdyIsIm9wZW5Nb2RhbFJlY3VwZXJvUHdkIiwidmFsIiwiaGlkZSIsInNob3ciLCIkYnV0dG9uIiwicHJvcCIsIm9mZiIsImdldEVtYWlsUmVjdXBlcm9QYXNzd29yZCIsImh0bWwiLCJtb2RhbCIsIiRmb3JtIiwiZm9ybSIsInZhbGlkYXRpb24iLCJjaGVja1ZhbGlkaXR5IiwiY2xhc3NMaXN0IiwiYWRkIiwiY29tcGFueSIsInVzZXJuYW1lIiwidGlwb3ZpZXciLCJtc2ciLCJzZW5kRW1haWxSZWN1cGVyb1Bhc3N3b3JkIiwiT1BfRlJPTV9BSkFYIiwib3V0IiwiY2hlY2tFbWFpbFJlY3VwZXJvUHdkIiwiZ2V0SHRtbEZyb21BamF4IiwiZGl2bmFtZSIsIm9iamVjdCIsIm9uU3VjY2VzcyIsImRpYWxvZ1Nob3ciLCJKU09OIiwiZW1haWwiLCJhamF4U3VibWl0T25TdWNjZXNzRnVuY3Rpb24iLCJyZXF1aXJlIiwicmVhZHkiLCJMb2dpbiIsInJlc2l6ZUNvbnRlbnQiLCJiaW5kIl0sIm1h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Ii8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbiIsIi8qKlxuICogQ3JlYXRlZCBieSBQaHBTdG9ybVxuICogVXNlcjogZGFuaWVsZVxuICogRGF0ZTogMTcvMTIvMjBcbiAqIFRpbWU6IDA5OjI4XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQge1xuICAgIHBhc3N3b3JkRXZlbnRzOiBmdW5jdGlvbiAoKXtcbiAgICAgICAgJChcIiN0b2dnbGVQYXNzd29yZExpbmtcIikub24oJ2NsaWNrJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBpZigkKCcjcGFzc3dvcmQnKS5hdHRyKFwidHlwZVwiKSA9PT0gXCJ0ZXh0XCIpe1xuICAgICAgICAgICAgICAgICQoJyNwYXNzd29yZCcpLmF0dHIoJ3R5cGUnLCAncGFzc3dvcmQnKTtcbiAgICAgICAgICAgICAgICAkKCcjdG9nZ2xlUGFzc3dvcmQnKS5hZGRDbGFzcyggXCJmYS1leWUtc2xhc2hcIiApO1xuICAgICAgICAgICAgICAgICQoJyN0b2dnbGVQYXNzd29yZCcpLnJlbW92ZUNsYXNzKCBcImZhLWV5ZVwiICk7XG4gICAgICAgICAgICB9ZWxzZSBpZigkKCcjcGFzc3dvcmQnKS5hdHRyKFwidHlwZVwiKSA9PT0gXCJwYXNzd29yZFwiKXtcbiAgICAgICAgICAgICAgICAkKCcjcGFzc3dvcmQnKS5hdHRyKCd0eXBlJywgJ3RleHQnKTtcbiAgICAgICAgICAgICAgICAkKCcjdG9nZ2xlUGFzc3dvcmQnKS5yZW1vdmVDbGFzcyggXCJmYS1leWUtc2xhc2hcIiApO1xuICAgICAgICAgICAgICAgICQoJyN0b2dnbGVQYXNzd29yZCcpLmFkZENsYXNzKCBcImZhLWV5ZVwiICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0sXG5cbiAgICBsb2dpblN1Ym1pdDogZnVuY3Rpb24gKG9wdHMpe1xuICAgICAgICBpZihvcHRzICYmIHR5cGVvZiBvcHRzLm9uQmVmb3JlU3VibWl0ID09PSBcImZ1bmN0aW9uXCIpIG9wdHMub25CZWZvcmVTdWJtaXQoKTtcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgICQoXCIjbG9naW5cIikuY2xpY2soZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgICAgICB1cmw6IFwiYWpheC5waHA/b2JqZWN0PUlXVXNlciZ0aXBvdmlldz1sb2dpbiZKU09OXCIsXG4gICAgICAgICAgICAgICAgdHlwZTogXCJwb3N0XCIsXG4gICAgICAgICAgICAgICAgZGF0YTogJChcIiNmb3JtXCIpLnNlcmlhbGl6ZSgpLFxuICAgICAgICAgICAgICAgIGRhdGFUeXBlOiBcImpzb25cIixcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbikge1xuICAgICAgICAgICAgICAgICAgICBzZWxmLmxvZ2luT25BamF4U3VjY2Vzcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uOiBqc29uLFxuICAgICAgICAgICAgICAgICAgICAgICAgb3B0czogb3B0c1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcblxuICAgIGxvZ2luT25BamF4U3VjY2VzczogZnVuY3Rpb24gKG9wdHMpe1xuICAgICAgICBsZXQganNvbiA9IG9wdHMuanNvbjtcbiAgICAgICAgaWYob3B0cy5vcHRzICYmIHR5cGVvZiBvcHRzLm9wdHMub25TdWNjZXNzQ2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikgb3B0cy5vcHRzLm9uU3VjY2Vzc0NhbGxiYWNrKGpzb24pO1xuXG4gICAgICAgIGlmICghanNvbi5yZXQpIHtcbiAgICAgICAgICAgIGFsZXJ0KCdDcmVkZW56aWFsaSBlcnJhdGU6IHJpdGVudGFyZTxicj48YnI+SW52YWxpZCBVc2VybmFtZSBvciBwYXNzd29yZDogdHJ5IGFnYWluJyk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHBhZ2VkZWZhdWx0ID0ganNvbi5wYWdlZGVmYXVsdDtcbiAgICAgICAgcGFnZWRlZmF1bHQgPSBqc29uLnVybCA/IGpzb24udXJsIDogIXBhZ2VkZWZhdWx0ID8gZG9jdW1lbnQubG9jYXRpb24uaHJlZiA6IFwiaW5kZXgucGhwP1wiICsgcGFnZWRlZmF1bHQ7XG4gICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmID0gcGFnZWRlZmF1bHQ7XG4gICAgfSxcblxuICAgIG9wZW5Nb2RhbFJlY3VwZXJvUHdkOiBmdW5jdGlvbiAoKXtcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgICQoXCIjbG9zdC1wYXNzd29yZC1saW5rXCIpLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICAkKFwiI3JlY3VwZXJvX3B3ZF91c2VybmFtZVwiKS52YWwoXCJcIik7XG4gICAgICAgICAgICAkKFwiI3JlY3VwZXJvLXB3ZC1idXR0b24gLnNwaW5uZXItYm9yZGVyLCAubG9hZGluZy1yZWN1cGVyby1wd2RcIikuaGlkZSgpO1xuICAgICAgICAgICAgJChcIiNzcGFuLXJlY3VwZXJvLXB3ZC1idXR0b25cIikuc2hvdygpO1xuICAgICAgICAgICAgY29uc3QgJGJ1dHRvbiA9ICQoXCIjcmVjdXBlcm8tcHdkLWJ1dHRvblwiKTtcbiAgICAgICAgICAgICRidXR0b24ucHJvcChcImRpc2FibGVkXCIsIGZhbHNlKTtcbiAgICAgICAgICAgICRidXR0b24ub2ZmKCk7XG4gICAgICAgICAgICAkYnV0dG9uLm9uKFwiY2xpY2tcIiwgZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICAgICAgc2VsZi5nZXRFbWFpbFJlY3VwZXJvUGFzc3dvcmQoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgJGJ1dHRvbi5zaG93KCk7XG4gICAgICAgICAgICAkKFwiI3JlY3VwZXJvLXB3ZC1vdXRwdXQtYWN0aW9ucyAub3V0cHV0LWFjdGlvbnNcIikuaHRtbChcIlwiKTtcbiAgICAgICAgICAgICQoXCIjcmVjdXBlcm8tcHdkLW91dHB1dC1hY3Rpb25zXCIpLmhpZGUoKTtcblxuICAgICAgICAgICAgJChcIiNwb3B1cC1yZWN1cGVyby1wd2RcIikubW9kYWwoXCJzaG93XCIpO1xuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICBnZXRFbWFpbFJlY3VwZXJvUGFzc3dvcmQ6IGZ1bmN0aW9uICgpe1xuICAgICAgICBjb25zdCAkZm9ybSA9ICQoXCIjcmVjdXBlcm8tcHdkLWZvcm1cIik7XG4gICAgICAgIGNvbnN0IGZvcm0gPSAkZm9ybVswXTtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbiA9IGZvcm0uY2hlY2tWYWxpZGl0eSgpO1xuICAgICAgICBmb3JtLmNsYXNzTGlzdC5hZGQoJ3dhcy12YWxpZGF0ZWQnKTtcblxuICAgICAgICBpZighdmFsaWRhdGlvbikgcmV0dXJuO1xuXG4gICAgICAgICQoXCIjc3Bhbi1yZWN1cGVyby1wd2QtYnV0dG9uXCIpLmhpZGUoKTtcbiAgICAgICAgJChcIiNyZWN1cGVyby1wd2QtYnV0dG9uIC5zcGlubmVyLWJvcmRlciwgLmxvYWRpbmctcmVjdXBlcm8tcHdkXCIpLnNob3coKTtcbiAgICAgICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgICAgIGNvbnN0IGNvbXBhbnkgPSAkKFwiI3JlY3VwZXJvX3B3ZF9jb21wYW55XCIpLnZhbCgpO1xuICAgICAgICBjb25zdCB1c2VybmFtZSA9ICQoXCIjcmVjdXBlcm9fcHdkX3VzZXJuYW1lXCIpLnZhbCgpO1xuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmw6IFwiL3JlY3VwZXJvLXBhc3N3b3JkXCIsXG4gICAgICAgICAgICB0eXBlOiBcInBvc3RcIixcbiAgICAgICAgICAgIGRhdGFUeXBlOiBcImpzb25cIixcbiAgICAgICAgICAgIGRhdGE6IHt0aXBvdmlldzogXCJnZXRFbWFpbFJlY3VwZXJvUHdkXCIsIGNvbXBhbnk6IGNvbXBhbnksIHVzZXJuYW1lOiB1c2VybmFtZX0sXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbil7XG4gICAgICAgICAgICAgICAgJChcIiNyZWN1cGVyby1wd2Qtb3V0cHV0LWFjdGlvbnMgLm91dHB1dC1hY3Rpb25zXCIpLmh0bWwoanNvbi5tc2cpO1xuICAgICAgICAgICAgICAgICQoXCIjcmVjdXBlcm8tcHdkLW91dHB1dC1hY3Rpb25zXCIpLnNob3coKTtcbiAgICAgICAgICAgICAgICBjb25zdCAkYnV0dG9uID0gJChcIiNyZWN1cGVyby1wd2QtYnV0dG9uXCIpO1xuICAgICAgICAgICAgICAgIGlmKCFqc29uLnJldCl7XG4gICAgICAgICAgICAgICAgICAgICRidXR0b24ucHJvcChcImRpc2FibGVkXCIsIHRydWUpO1xuICAgICAgICAgICAgICAgICAgICAkYnV0dG9uLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICQoXCIjcmVjdXBlcm8tcHdkLWJ1dHRvbiAuc3Bpbm5lci1ib3JkZXIsIC5sb2FkaW5nLXJlY3VwZXJvLXB3ZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiNzcGFuLXJlY3VwZXJvLXB3ZC1idXR0b25cIikuc2hvdygpO1xuICAgICAgICAgICAgICAgICRidXR0b24uc2hvdygpO1xuICAgICAgICAgICAgICAgICRidXR0b24ub2ZmKCk7XG4gICAgICAgICAgICAgICAgJGJ1dHRvbi5vbihcImNsaWNrXCIsIGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgICAgICAgICBzZWxmLnNlbmRFbWFpbFJlY3VwZXJvUGFzc3dvcmQoY29tcGFueSwgdXNlcm5hbWUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgfSxcblxuICAgIHNlbmRFbWFpbFJlY3VwZXJvUGFzc3dvcmQ6IGZ1bmN0aW9uKGNvbXBhbnksIHVzZXJuYW1lKXtcbiAgICAgICAgJChcIiNzcGFuLXJlY3VwZXJvLXB3ZC1idXR0b25cIikuaGlkZSgpO1xuICAgICAgICAkKFwiI3JlY3VwZXJvLXB3ZC1idXR0b24gLnNwaW5uZXItYm9yZGVyLCAubG9hZGluZy1yZWN1cGVyby1wd2RcIikuc2hvdygpO1xuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmw6IFwiL3JlY3VwZXJvLXBhc3N3b3JkXCIsXG4gICAgICAgICAgICB0eXBlOiBcInBvc3RcIixcbiAgICAgICAgICAgIGRhdGFUeXBlOiBcImpzb25cIixcbiAgICAgICAgICAgIGRhdGE6IHtPUF9GUk9NX0FKQVg6IDEsIHRpcG92aWV3OiBcInNlbmRFbWFpbFJlY3VwZXJvUHdkXCIsIGNvbXBhbnk6IGNvbXBhbnksIHVzZXJuYW1lOiB1c2VybmFtZX0sXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoanNvbil7XG4gICAgICAgICAgICAgICAgJChcIiNyZWN1cGVyby1wd2Qtb3V0cHV0LWFjdGlvbnMgLm91dHB1dC1hY3Rpb25zXCIpLmh0bWwoanNvbi5tc2cgPyBqc29uLm1zZyA6IGpzb24ub3V0KTtcbiAgICAgICAgICAgICAgICAkKFwiI3JlY3VwZXJvLXB3ZC1vdXRwdXQtYWN0aW9uc1wiKS5zaG93KCk7XG4gICAgICAgICAgICAgICAgaWYoanNvbi5yZXQpIHtcbiAgICAgICAgICAgICAgICAgICAgJChcIiNyZWN1cGVyby1wd2QtYnV0dG9uXCIpLmhpZGUoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICQoXCIjcmVjdXBlcm8tcHdkLWJ1dHRvbiAuc3Bpbm5lci1ib3JkZXIsIC5sb2FkaW5nLXJlY3VwZXJvLXB3ZFwiKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgJChcIiNzcGFuLXJlY3VwZXJvLXB3ZC1idXR0b25cIikuc2hvdygpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgIH0sXG5cbiAgICBjaGVja0VtYWlsUmVjdXBlcm9Qd2Q6IGZ1bmN0aW9uICgpe1xuICAgICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgICAgZ2V0SHRtbEZyb21BamF4KHtcbiAgICAgICAgICAgIHVybDogXCJhamF4LnBocD9KU09OXCIsXG4gICAgICAgICAgICBkaXZuYW1lOiBcImRpYWxvZ19yZWN1cGVyb19wYXNzd29yZFwiLFxuICAgICAgICAgICAgZGF0YToge29iamVjdDogXCJJV1VzZXJcIiwgdGlwb3ZpZXc6IFwidmlld0RpYWxvZ1NldEVtYWlsRm9yUHdkUmVzZXRcIn0sXG4gICAgICAgICAgICBvblN1Y2Nlc3M6IGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgICAgIGRpYWxvZ1Nob3coXCJkaWFsb2dfcmVjdXBlcm9fcGFzc3dvcmRcIiwgZnVuY3Rpb24gKHJldCl7XG4gICAgICAgICAgICAgICAgICAgIGlmKCFyZXQpIHJldHVybjtcblxuICAgICAgICAgICAgICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsOiBcInZpZXcucGhwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogXCJqc29uXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBcInBvc3RcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE6IHtPUF9GUk9NX0FKQVg6MSwgSlNPTjogMSwgb2JqZWN0OiBcIklXVXNlclwiLCB0aXBvdmlldzogXCJzYXZlRW1haWxSZWN1cGVyb1B3ZFwiLCBlbWFpbDogJChcIiNlbWFpbF9mb3JfcHdkX3Jlc2V0XCIpLnZhbCgpfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChqc29uKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhamF4U3VibWl0T25TdWNjZXNzRnVuY3Rpb24oanNvbiwgdHJ1ZSk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighanNvbi5yZXQpIHNlbGYuY2hlY2tFbWFpbFJlY3VwZXJvUHdkKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICB9XG59IiwiLyoqXG4gKiBDcmVhdGVkIGJ5IFBocFN0b3JtXG4gKiBVc2VyOiBkYW5pZWxlXG4gKiBEYXRlOiAxNy8xMi8yMFxuICogVGltZTogMDk6MjVcbiAqL1xuaW1wb3J0IExvZ2luIGZyb20gXCIuL2NvbXBvbmVudHMvbG9naW5cIjtcbnJlcXVpcmUoXCIuLi9jc3MvaW5kZXguY3NzXCIpO1xuXG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKXtcbiAgICBMb2dpbi5wYXNzd29yZEV2ZW50cygpO1xuXG4gICAgTG9naW4ubG9naW5TdWJtaXQoKTtcbiAgICBMb2dpbi5vcGVuTW9kYWxSZWN1cGVyb1B3ZCgpO1xuXG4gICAgcmVzaXplQ29udGVudCgpO1xuICAgICQod2luZG93KS5iaW5kKCdyZXNpemUnLCByZXNpemVDb250ZW50KTtcbn0pIl0sInNvdXJjZVJvb3QiOiIifQ==