SmartIT_Extensions/BAK/packages/homeButton/ntt.smartit.homeButton.js

241 lines
23 KiB
JavaScript

(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory();
else if(typeof define === 'function' && define.amd)
define([], factory);
else if(typeof exports === 'object')
exports["homeButton"] = factory();
else
root["ntt"] = root["ntt"] || {}, root["ntt"]["smartit"] = root["ntt"]["smartit"] || {}, root["ntt"]["smartit"]["homeButton"] = factory();
})(window, function() {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // 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 = "";
/******/
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = "./src/modules/homeButton/index.js");
/******/ })
/************************************************************************/
/******/ ({
/***/ "./src/modules/homeButton/directives/ntt-custom-home-button-directive.js":
/*!*******************************************************************************!*\
!*** ./src/modules/homeButton/directives/ntt-custom-home-button-directive.js ***!
\*******************************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
angular.module('myitsmApp').directive('customHomeButton', ['ModuleConfigService', function (ModuleConfigService) {
return {
restrict: 'A',
compile: function compile(element, attributes, transclude) {
return {
pre: function preLink(scope, iElement, iAttrs, controller) {
var hState = ModuleConfigService.getModuleConfig("homeButton")["homeButtonState"];
iAttrs.uiSref = hState;
},
post: function postLink(scope, iElement, iAttrs, controller) {}
};
}
};
}]);
/***/ }),
/***/ "./src/modules/homeButton/index.js":
/*!*****************************************!*\
!*** ./src/modules/homeButton/index.js ***!
\*****************************************/
/*! exports provided: homeButton */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "homeButton", function() { return homeButton; });
function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
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; }
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
function _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 } }); if (superClass) _setPrototypeOf(subClass, superClass); }
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
//require('./directives/ntt-custom-asset-entity-profile-link-directive');
//require('./services/custom-asset-link-service');
__webpack_require__(/*! ./directives/ntt-custom-home-button-directive */ "./src/modules/homeButton/directives/ntt-custom-home-button-directive.js"); //require('./directives/ntt-scopecontroller-ci-relations-directive');
var homeButton =
/*#__PURE__*/
function (_ntt$smartit$api$ICus) {
_inherits(homeButton, _ntt$smartit$api$ICus);
function homeButton() {
_classCallCheck(this, homeButton);
return _possibleConstructorReturn(this, _getPrototypeOf(homeButton).apply(this, arguments));
}
_createClass(homeButton, [{
key: "name",
value: function name() {
return "homeButton";
}
}, {
key: "injectTemplates",
value: function injectTemplates() {
return {
"views/navigation/header-navigation.html": [
/*{
id: "homeButton",
method: "replace",
mode: "partial",
type: "jquery",
selector: function ($jqueryTemplate) {
return $jqueryTemplate.find(".header__link");;
},
snippet: '<a custom-problem-change-link class="ticket__name-link" aria-label="{{ fullDetailsText }}" ticket="ticket">{{ fullDetailsText }}</a>',
},*/
{
id: "homeButton",
mode: "attribute",
//es soll nur ein attribute überschreiben werden
attributes: {
"add": {
"custom-home-button": ""
}
},
//method: "replace",
type: "jquery",
selector: function selector($jqueryTemplate) {
return $jqueryTemplate.find(".header__link");
} //snippet: '<scope-extender-assignment ticket="ticket" ng-If="true"></scope-extender-assignment>',
}]
};
}
}, {
key: "injectDynTemplates",
value: function injectDynTemplates() {
return {};
}
}, {
key: "templates",
value: function templates() {
return [{//origin: "views/ticket/incident-details-v2.html",
//template: "views/ticket/incident-details-v2.html"
}, {//origin: "views/ticket/task-details-v2.html",
//template: "views/ticket/task-details-v2.html"
}, {//template: "views/ticket/ticket-gtw-panel.html"
}, {//template: "views/ticket/ticket-gtw-item.html"
}, {//template: "views/ticket/ticket-gtw-item-dialog.html"
}, {//template: "views/ticket/ticket-gtw-details.html"
}, {//template: "views/ticket/ticket-gtw-item-interface.html"
}];
}
}, {
key: "i18nLocales",
value: function i18nLocales() {
return {// "de":["i18n/ntt-resources-locale_de.json"],
// "en":["i18n/ntt-resources-locale_en.json"]
};
}
}]);
return homeButton;
}(ntt.smartit.api.ICustomModule);
ntt.smartit.api.nttSmartitModules.push(new homeButton());
/***/ })
/******/ });
});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9udHQuc21hcnRpdC5ob21lQnV0dG9uL3dlYnBhY2svdW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbiIsIndlYnBhY2s6Ly9udHQuc21hcnRpdC5ob21lQnV0dG9uL3dlYnBhY2svYm9vdHN0cmFwIiwid2VicGFjazovL250dC5zbWFydGl0LmhvbWVCdXR0b24vLi9zcmMvbW9kdWxlcy9ob21lQnV0dG9uL2RpcmVjdGl2ZXMvbnR0LWN1c3RvbS1ob21lLWJ1dHRvbi1kaXJlY3RpdmUuanMiLCJ3ZWJwYWNrOi8vbnR0LnNtYXJ0aXQuaG9tZUJ1dHRvbi8uL3NyYy9tb2R1bGVzL2hvbWVCdXR0b24vaW5kZXguanMiXSwibmFtZXMiOlsiYW5ndWxhciIsIm1vZHVsZSIsImRpcmVjdGl2ZSIsIk1vZHVsZUNvbmZpZ1NlcnZpY2UiLCJyZXN0cmljdCIsImNvbXBpbGUiLCJlbGVtZW50IiwiYXR0cmlidXRlcyIsInRyYW5zY2x1ZGUiLCJwcmUiLCJwcmVMaW5rIiwic2NvcGUiLCJpRWxlbWVudCIsImlBdHRycyIsImNvbnRyb2xsZXIiLCJoU3RhdGUiLCJnZXRNb2R1bGVDb25maWciLCJ1aVNyZWYiLCJwb3N0IiwicG9zdExpbmsiLCJyZXF1aXJlIiwiaG9tZUJ1dHRvbiIsImlkIiwibW9kZSIsInR5cGUiLCJzZWxlY3RvciIsIiRqcXVlcnlUZW1wbGF0ZSIsImZpbmQiLCJudHQiLCJzbWFydGl0IiwiYXBpIiwiSUN1c3RvbU1vZHVsZSIsIm50dFNtYXJ0aXRNb2R1bGVzIiwicHVzaCJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyx1REFBdUQ7QUFDeEYsQ0FBQztBQUNELE87QUNWQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7O0FBR0E7QUFDQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGtEQUEwQyxnQ0FBZ0M7QUFDMUU7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxnRUFBd0Qsa0JBQWtCO0FBQzFFO0FBQ0EseURBQWlELGNBQWM7QUFDL0Q7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGlEQUF5QyxpQ0FBaUM7QUFDMUUsd0hBQWdILG1CQUFtQixFQUFFO0FBQ3JJO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsbUNBQTJCLDBCQUEwQixFQUFFO0FBQ3ZELHlDQUFpQyxlQUFlO0FBQ2hEO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDhEQUFzRCwrREFBK0Q7O0FBRXJIO0FBQ0E7OztBQUdBO0FBQ0E7Ozs7Ozs7Ozs7OztBQ2xGQUEsT0FBTyxDQUFDQyxNQUFSLENBQWUsV0FBZixFQUNLQyxTQURMLENBQ2Usa0JBRGYsRUFDbUMsQ0FBQyxxQkFBRCxFQUMzQixVQUFVQyxtQkFBVixFQUErQjtBQUMzQixTQUFPO0FBQ0hDLFlBQVEsRUFBRSxHQURQO0FBRUhDLFdBQU8sRUFBRSxpQkFBU0MsT0FBVCxFQUFrQkMsVUFBbEIsRUFBOEJDLFVBQTlCLEVBQXlDO0FBQzlDLGFBQU87QUFDSEMsV0FBRyxFQUFFLFNBQVNDLE9BQVQsQ0FBaUJDLEtBQWpCLEVBQXdCQyxRQUF4QixFQUFrQ0MsTUFBbEMsRUFBMENDLFVBQTFDLEVBQXNEO0FBQ3ZELGNBQUlDLE1BQU0sR0FBR1osbUJBQW1CLENBQUNhLGVBQXBCLENBQW9DLFlBQXBDLEVBQWtELGlCQUFsRCxDQUFiO0FBQ0FILGdCQUFNLENBQUNJLE1BQVAsR0FBY0YsTUFBZDtBQUNGLFNBSkM7QUFLSEcsWUFBSSxFQUFFLFNBQVNDLFFBQVQsQ0FBa0JSLEtBQWxCLEVBQXlCQyxRQUF6QixFQUFtQ0MsTUFBbkMsRUFBMkNDLFVBQTNDLEVBQXVELENBRzVEO0FBUkUsT0FBUDtBQVlIO0FBZkUsR0FBUDtBQWlCSCxDQW5CMEIsQ0FEbkMsRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNBQTtBQUNBO0FBQ0FNLG1CQUFPLENBQUMsOEhBQUQsQ0FBUCxDLENBQ0E7OztBQUVPLElBQU1DLFVBQWI7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQSwyQkFFUztBQUNMLGFBQU8sWUFBUDtBQUNEO0FBSkg7QUFBQTtBQUFBLHNDQU9vQjtBQUNoQixhQUFPO0FBQ0wsbURBQTJDO0FBQ3pDOzs7Ozs7Ozs7O0FBVUY7QUFDRUMsWUFBRSxFQUFDLFlBREw7QUFFRUMsY0FBSSxFQUFFLFdBRlI7QUFFcUI7QUFDbkJoQixvQkFBVSxFQUFFO0FBQ1IsbUJBQU87QUFDSCxvQ0FBc0I7QUFEbkI7QUFEQyxXQUhkO0FBUUU7QUFDQWlCLGNBQUksRUFBRSxRQVRSO0FBVUVDLGtCQUFRLEVBQUUsa0JBQVNDLGVBQVQsRUFBMEI7QUFDbEMsbUJBQU9BLGVBQWUsQ0FBQ0MsSUFBaEIsQ0FBcUIsZUFBckIsQ0FBUDtBQUNELFdBWkgsQ0FhRTs7QUFiRixTQVgyQztBQUR0QyxPQUFQO0FBOEJEO0FBdENIO0FBQUE7QUFBQSx5Q0F3Q3VCO0FBQ25CLGFBQU8sRUFBUDtBQUdEO0FBNUNIO0FBQUE7QUFBQSxnQ0FpRGM7QUFDVixhQUFPLENBQ0wsQ0FDRTtBQUNBO0FBRkYsT0FESyxFQUtMLENBQ0U7QUFDQTtBQUZGLE9BTEssRUFTTCxDQUNFO0FBREYsT0FUSyxFQVlMLENBQ0U7QUFERixPQVpLLEVBZUwsQ0FDRTtBQURGLE9BZkssRUFrQkwsQ0FDRTtBQURGLE9BbEJLLEVBcUJMLENBQ0U7QUFERixPQXJCSyxDQUFQO0FBeUJEO0FBM0VIO0FBQUE7QUFBQSxrQ0E2RWdCO0FBRVosYUFBTyxDQUNMO0FBQ0E7QUFGSyxPQUFQO0FBS0Q7QUFwRkg7O0FBQUE7QUFBQSxFQUFnQ0MsR0FBRyxDQUFDQyxPQUFKLENBQVlDLEdBQVosQ0FBZ0JDLGFBQWhEO0FBd0ZBSCxHQUFHLENBQUNDLE9BQUosQ0FBWUMsR0FBWixDQUFnQkUsaUJBQWhCLENBQWtDQyxJQUFsQyxDQUF1QyxJQUFJWixVQUFKLEVBQXZDLEUiLCJmaWxlIjoibnR0LnNtYXJ0aXQuaG9tZUJ1dHRvbi5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkoKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcImhvbWVCdXR0b25cIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wibnR0XCJdID0gcm9vdFtcIm50dFwiXSB8fCB7fSwgcm9vdFtcIm50dFwiXVtcInNtYXJ0aXRcIl0gPSByb290W1wibnR0XCJdW1wic21hcnRpdFwiXSB8fCB7fSwgcm9vdFtcIm50dFwiXVtcInNtYXJ0aXRcIl1bXCJob21lQnV0dG9uXCJdID0gZmFjdG9yeSgpO1xufSkod2luZG93LCBmdW5jdGlvbigpIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBnZXR0ZXIgfSk7XG4gXHRcdH1cbiBcdH07XG5cbiBcdC8vIGRlZmluZSBfX2VzTW9kdWxlIG9uIGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uciA9IGZ1bmN0aW9uKGV4cG9ydHMpIHtcbiBcdFx0aWYodHlwZW9mIFN5bWJvbCAhPT0gJ3VuZGVmaW5lZCcgJiYgU3ltYm9sLnRvU3RyaW5nVGFnKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFN5bWJvbC50b1N0cmluZ1RhZywgeyB2YWx1ZTogJ01vZHVsZScgfSk7XG4gXHRcdH1cbiBcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsICdfX2VzTW9kdWxlJywgeyB2YWx1ZTogdHJ1ZSB9KTtcbiBcdH07XG5cbiBcdC8vIGNyZWF0ZSBhIGZha2UgbmFtZXNwYWNlIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDE6IHZhbHVlIGlzIGEgbW9kdWxlIGlkLCByZXF1aXJlIGl0XG4gXHQvLyBtb2RlICYgMjogbWVyZ2UgYWxsIHByb3BlcnRpZXMgb2YgdmFsdWUgaW50byB0aGUgbnNcbiBcdC8vIG1vZGUgJiA0OiByZXR1cm4gdmFsdWUgd2hlbiBhbHJlYWR5IG5zIG9iamVjdFxuIFx0Ly8gbW9kZSAmIDh8MTogYmVoYXZlIGxpa2UgcmVxdWlyZVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy50ID0gZnVuY3Rpb24odmFsdWUsIG1vZGUpIHtcbiBcdFx0aWYobW9kZSAmIDEpIHZhbHVlID0gX193ZWJwYWNrX3JlcXVpcmVfXyh2YWx1ZSk7XG4gXHRcdGlmKG1vZGUgJiA4KSByZXR1cm4gdmFsdWU7XG4gXHRcdGlmKChtb2RlICYgNCkgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAmJiB2YWx1ZS5fX2VzTW9kdWxlKSByZXR1cm4gdmFsdWU7XG4gXHRcdHZhciBucyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18ucihucyk7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShucywgJ2RlZmF1bHQnLCB7IGVudW1lcmFibGU6IHRydWUsIHZhbHVlOiB2YWx1ZSB9KTtcbiBcdFx0aWYobW9kZSAmIDIgJiYgdHlwZW9mIHZhbHVlICE9ICdzdHJpbmcnKSBmb3IodmFyIGtleSBpbiB2YWx1ZSkgX193ZWJwYWNrX3JlcXVpcmVfXy5kKG5zLCBrZXksIGZ1bmN0aW9uKGtleSkgeyByZXR1cm4gdmFsdWVba2V5XTsgfS5iaW5kKG51bGwsIGtleSkpO1xuIFx0XHRyZXR1cm4gbnM7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gXCIuL3NyYy9tb2R1bGVzL2hvbWVCdXR0b24vaW5kZXguanNcIik7XG4iLCJhbmd1bGFyLm1vZHVsZSgnbXlpdHNtQXBwJylcclxuICAgIC5kaXJlY3RpdmUoJ2N1c3RvbUhvbWVCdXR0b24nLCBbJ01vZHVsZUNvbmZpZ1NlcnZpY2UnLFxyXG4gICAgICAgIGZ1bmN0aW9uIChNb2R1bGVDb25maWdTZXJ2aWNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICByZXN0cmljdDogJ0EnLFxyXG4gICAgICAgICAgICAgICAgY29tcGlsZTogZnVuY3Rpb24oZWxlbWVudCwgYXR0cmlidXRlcywgdHJhbnNjbHVkZSl7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJlOiBmdW5jdGlvbiBwcmVMaW5rKHNjb3BlLCBpRWxlbWVudCwgaUF0dHJzLCBjb250cm9sbGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgaFN0YXRlID0gTW9kdWxlQ29uZmlnU2VydmljZS5nZXRNb2R1bGVDb25maWcoXCJob21lQnV0dG9uXCIpW1wiaG9tZUJ1dHRvblN0YXRlXCJdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaUF0dHJzLnVpU3JlZj1oU3RhdGU7ICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc3Q6IGZ1bmN0aW9uIHBvc3RMaW5rKHNjb3BlLCBpRWxlbWVudCwgaUF0dHJzLCBjb250cm9sbGVyKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH0gXHJcbiAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgIH1dKTsiLCIvL3JlcXVpcmUoJy4vZGlyZWN0aXZlcy9udHQtY3VzdG9tLWFzc2V0LWVudGl0eS1wcm9maWxlLWxpbmstZGlyZWN0aXZlJyk7XHJcbi8vcmVxdWlyZSgnLi9zZXJ2aWNlcy9jdXN0b20tYXNzZXQtbGluay1zZXJ2aWNlJyk7XHJcbnJlcXVpcmUoJy4vZGlyZWN0aXZlcy9udHQtY3VzdG9tLWhvbWUtYnV0dG9uLWRpcmVjdGl2ZScpO1xyXG4vL3JlcXVpcmUoJy4vZGlyZWN0aXZlcy9udHQtc2NvcGVjb250cm9sbGVyLWNpLXJlbGF0aW9ucy1kaXJlY3RpdmUnKTtcclxuXHJcbmV4cG9ydCBjbGFzcyBob21lQnV0dG9uIGV4dGVuZHMgbnR0LnNtYXJ0aXQuYXBpLklDdXN0b21Nb2R1bGUge1xyXG5cclxuICBuYW1lKCkge1xyXG4gICAgcmV0dXJuIFwiaG9tZUJ1dHRvblwiO1xyXG4gIH1cclxuXHJcblxyXG4gIGluamVjdFRlbXBsYXRlcygpIHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIFwidmlld3MvbmF2aWdhdGlvbi9oZWFkZXItbmF2aWdhdGlvbi5odG1sXCI6IFtcclxuICAgICAgICAvKntcclxuICAgICAgICBpZDogXCJob21lQnV0dG9uXCIsXHJcbiAgICAgICAgbWV0aG9kOiBcInJlcGxhY2VcIixcclxuICAgICAgICBtb2RlOiBcInBhcnRpYWxcIixcclxuICAgICAgICB0eXBlOiBcImpxdWVyeVwiLFxyXG4gICAgICAgIHNlbGVjdG9yOiBmdW5jdGlvbiAoJGpxdWVyeVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICByZXR1cm4gJGpxdWVyeVRlbXBsYXRlLmZpbmQoXCIuaGVhZGVyX19saW5rXCIpOztcclxuICAgICAgICB9LFxyXG4gICAgICAgIHNuaXBwZXQ6ICc8YSBjdXN0b20tcHJvYmxlbS1jaGFuZ2UtbGluayBjbGFzcz1cInRpY2tldF9fbmFtZS1saW5rXCIgYXJpYS1sYWJlbD1cInt7IGZ1bGxEZXRhaWxzVGV4dCB9fVwiICB0aWNrZXQ9XCJ0aWNrZXRcIj57eyBmdWxsRGV0YWlsc1RleHQgfX08L2E+JyxcclxuICAgICAgfSwqL1xyXG4gICAgICB7XHJcbiAgICAgICAgaWQ6XCJob21lQnV0dG9uXCIsXHJcbiAgICAgICAgbW9kZTogXCJhdHRyaWJ1dGVcIiwgLy9lcyBzb2xsIG51ciBlaW4gYXR0cmlidXRlIMODwrxiZXJzY2hyZWliZW4gd2VyZGVuXHJcbiAgICAgICAgYXR0cmlidXRlczoge1xyXG4gICAgICAgICAgICBcImFkZFwiOiB7XHJcbiAgICAgICAgICAgICAgICBcImN1c3RvbS1ob21lLWJ1dHRvblwiOiBcIlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vbWV0aG9kOiBcInJlcGxhY2VcIixcclxuICAgICAgICB0eXBlOiBcImpxdWVyeVwiLFxyXG4gICAgICAgIHNlbGVjdG9yOiBmdW5jdGlvbigkanF1ZXJ5VGVtcGxhdGUpIHtcclxuICAgICAgICAgIHJldHVybiAkanF1ZXJ5VGVtcGxhdGUuZmluZChcIi5oZWFkZXJfX2xpbmtcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvL3NuaXBwZXQ6ICc8c2NvcGUtZXh0ZW5kZXItYXNzaWdubWVudCB0aWNrZXQ9XCJ0aWNrZXRcIiBuZy1JZj1cInRydWVcIj48L3Njb3BlLWV4dGVuZGVyLWFzc2lnbm1lbnQ+JyxcclxuICAgICAgICAgICAgXHJcbiAgICB9XVxyXG5cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGluamVjdER5blRlbXBsYXRlcygpIHtcclxuICAgIHJldHVybiB7XHJcblxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcbiAgdGVtcGxhdGVzKCkge1xyXG4gICAgcmV0dXJuIFtcclxuICAgICAge1xyXG4gICAgICAgIC8vb3JpZ2luOiBcInZpZXdzL3RpY2tldC9pbmNpZGVudC1kZXRhaWxzLXYyLmh0bWxcIixcclxuICAgICAgICAvL3RlbXBsYXRlOiBcInZpZXdzL3RpY2tldC9pbmNpZGVudC1kZXRhaWxzLXYyLmh0bWxcIlxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgLy9vcmlnaW46IFwidmlld3MvdGlja2V0L3Rhc2stZGV0YWlscy12Mi5odG1sXCIsXHJcbiAgICAgICAgLy90ZW1wbGF0ZTogXCJ2aWV3cy90aWNrZXQvdGFzay1kZXRhaWxzLXYyLmh0bWxcIlxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgLy90ZW1wbGF0ZTogXCJ2aWV3cy90aWNrZXQvdGlja2V0LWd0dy1wYW5lbC5odG1sXCJcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIC8vdGVtcGxhdGU6IFwidmlld3MvdGlja2V0L3RpY2tldC1ndHctaXRlbS5odG1sXCJcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIC8vdGVtcGxhdGU6IFwidmlld3MvdGlja2V0L3RpY2tldC1ndHctaXRlbS1kaWFsb2cuaHRtbFwiXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICAvL3RlbXBsYXRlOiBcInZpZXdzL3RpY2tldC90aWNrZXQtZ3R3LWRldGFpbHMuaHRtbFwiXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICAvL3RlbXBsYXRlOiBcInZpZXdzL3RpY2tldC90aWNrZXQtZ3R3LWl0ZW0taW50ZXJmYWNlLmh0bWxcIlxyXG4gICAgICB9XHJcbiAgICBdXHJcbiAgfVxyXG5cclxuICBpMThuTG9jYWxlcygpIHtcclxuXHJcbiAgICByZXR1cm4ge1xyXG4gICAgICAvLyBcImRlXCI6W1wiaTE4bi9udHQtcmVzb3VyY2VzLWxvY2FsZV9kZS5qc29uXCJdLFxyXG4gICAgICAvLyBcImVuXCI6W1wiaTE4bi9udHQtcmVzb3VyY2VzLWxvY2FsZV9lbi5qc29uXCJdXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbn1cclxuXHJcbm50dC5zbWFydGl0LmFwaS5udHRTbWFydGl0TW9kdWxlcy5wdXNoKG5ldyBob21lQnV0dG9uKCkpOyJdLCJzb3VyY2VSb290IjoiIn0=