diff --git a/.gitignore b/.gitignore index f41e2e3..9726ca0 100644 --- a/.gitignore +++ b/.gitignore @@ -73,3 +73,5 @@ Homestead.yaml /public/images/supplierLogo/* /public/attachments/* /database/csv/* +/.gitea/workflows/deploy.yml +/.claude/settings.local.json diff --git a/public/js/admin.js b/public/js/admin.js index f4e6c55..241193d 100644 --- a/public/js/admin.js +++ b/public/js/admin.js @@ -15,7 +15,7 @@ \*****************************************/ () { -eval("{window.Dashboard = function () {\n var Opts = {\n active: false,\n containerCssSelector: \".dashboard\",\n testFileMod: false,\n isAdmin: false,\n URL: {\n create: '',\n store: '',\n getDataTableContent: '',\n destroy: ''\n }\n };\n var root = this;\n /*\r\n * Constructor\r\n */\n this.construct = function (options) {\n debug('Dashboard constructor called');\n $.extend(Opts, options);\n };\n this.getOpts = function () {\n return Opts;\n };\n this.init = function (options) {\n console.log('Dashboard init called');\n $.extend(Opts, options);\n /*\r\n APP.setOpts({\r\n afterLoadMainContent:root.initEditor,\r\n })\r\n */\n /*\r\n Init list view\r\n */\n root.initEditorButtons();\n };\n this.initEditorButtons = function () {\n $('.DashboardEditable button.edit').off('click');\n $('.DashboardEditable button.edit').on('click', function () {\n root.initEditor();\n $('.btnGroupEdit').toggleClass('d-none');\n $('.btnGroupModify').toggleClass('d-none');\n });\n $('.DashboardEditable button.btnSave').off('click');\n $('.DashboardEditable button.btnSave').on('click', function () {\n /*$('.btnGroupEdit').toggleClass('d-none');\r\n $('.btnGroupModify').toggleClass('d-none');\r\n */\n root.saveCustomContent();\n //tinymce.activeEditor.isDirty() //true when modified\n });\n $('.DashboardEditable button.btnCancel').off('click');\n $('.DashboardEditable button.btnCancel').on('click', function () {\n $('.btnGroupEdit').toggleClass('d-none');\n $('.btnGroupModify').toggleClass('d-none');\n root.removeEditor();\n });\n };\n this.saveCustomContent = function () {\n var ajaxData = new FormData($('.dashboardForm')[0]);\n ajaxData.append('stored_data', tinymce.activeEditor.getContent());\n var ajaxUrl = Opts.URL.update.replace('%id%', $('div.dashboardCustomContent').data('id'));\n ajaxData.append('_method', 'PUT');\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n type: 'POST',\n contentType: false,\n processData: false,\n beforeSend: function beforeSend() {},\n success: function success(data) {\n Toast.create({\n title: \"Siekeres mentés!\",\n message: 'Új tartalom elmentve.',\n status: TOAST_STATUS.INFO,\n timeout: 5000\n });\n },\n error: function error(data) {\n console.log(data.responseJSON);\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n });\n };\n this.loadTinymce = function () {\n $.getScript('https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js', function () {\n root.initEditor();\n });\n };\n this.removeEditor = function (options) {\n if (typeof tinymce !== \"undefined\") {\n tinymce.remove();\n }\n };\n this.initEditor = function (options) {\n if (typeof tinymce === \"undefined\") {\n root.loadTinymce();\n return;\n }\n tinymce.init({\n selector: 'div.dashboardCustomContent',\n // Replace this CSS selector to match the placeholder element for TinyMCE\n language: 'hu_HU',\n plugins: 'code table lists',\n toolbar: ' undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table'\n\n /*\r\n toolbar: 'customInsertButton | undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\r\n setup: function (editor) {\r\n editor.ui.registry.addButton('customInsertButton', {\r\n text: 'My Button',\r\n onAction: function (_) {\r\n editor.insertContent(' It\\'s my button! ');\r\n }});\r\n }\r\n */\n });\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJEYXNoYm9hcmQiLCJPcHRzIiwiYWN0aXZlIiwiY29udGFpbmVyQ3NzU2VsZWN0b3IiLCJ0ZXN0RmlsZU1vZCIsImlzQWRtaW4iLCJVUkwiLCJjcmVhdGUiLCJzdG9yZSIsImdldERhdGFUYWJsZUNvbnRlbnQiLCJkZXN0cm95Iiwicm9vdCIsImNvbnN0cnVjdCIsIm9wdGlvbnMiLCJkZWJ1ZyIsIiQiLCJleHRlbmQiLCJnZXRPcHRzIiwiaW5pdCIsImNvbnNvbGUiLCJsb2ciLCJpbml0RWRpdG9yQnV0dG9ucyIsIm9mZiIsIm9uIiwiaW5pdEVkaXRvciIsInRvZ2dsZUNsYXNzIiwic2F2ZUN1c3RvbUNvbnRlbnQiLCJyZW1vdmVFZGl0b3IiLCJhamF4RGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwidGlueW1jZSIsImFjdGl2ZUVkaXRvciIsImdldENvbnRlbnQiLCJhamF4VXJsIiwidXBkYXRlIiwicmVwbGFjZSIsImRhdGEiLCJhamF4IiwidXJsIiwidHlwZSIsImNvbnRlbnRUeXBlIiwicHJvY2Vzc0RhdGEiLCJiZWZvcmVTZW5kIiwic3VjY2VzcyIsIlRvYXN0IiwidGl0bGUiLCJtZXNzYWdlIiwic3RhdHVzIiwiVE9BU1RfU1RBVFVTIiwiSU5GTyIsInRpbWVvdXQiLCJlcnJvciIsInJlc3BvbnNlSlNPTiIsImFqYXhFcnJvckZpZWxkSGFuZGxlciIsImxvYWRUaW55bWNlIiwiZ2V0U2NyaXB0IiwicmVtb3ZlIiwic2VsZWN0b3IiLCJsYW5ndWFnZSIsInBsdWdpbnMiLCJ0b29sYmFyIl0sInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9hZG1pbi9kYXNoYm9hcmQuanM/ZTBkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJ3aW5kb3cuRGFzaGJvYXJkPWZ1bmN0aW9uICgpIHtcclxuICAgIGxldCBPcHRzID0ge1xyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgY29udGFpbmVyQ3NzU2VsZWN0b3I6XCIuZGFzaGJvYXJkXCIsXHJcbiAgICAgICAgdGVzdEZpbGVNb2Q6ZmFsc2UsXHJcbiAgICAgICAgaXNBZG1pbjpmYWxzZSxcclxuICAgICAgICBVUkw6e1xyXG4gICAgICAgICAgICBjcmVhdGU6JycsXHJcbiAgICAgICAgICAgIHN0b3JlOicnLFxyXG4gICAgICAgICAgICBnZXREYXRhVGFibGVDb250ZW50OicnLFxyXG4gICAgICAgICAgICBkZXN0cm95OicnLFxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBsZXQgcm9vdCA9IHRoaXM7XHJcbiAgICAvKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgdGhpcy5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAob3B0aW9ucykge1xyXG4gICAgICAgIGRlYnVnKCdEYXNoYm9hcmQgY29uc3RydWN0b3IgY2FsbGVkJyk7XHJcbiAgICAgICAgJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5nZXRPcHRzPWZ1bmN0aW9uICgpe1xyXG4gICAgICAgIHJldHVybiBPcHRzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnRGFzaGJvYXJkIGluaXQgY2FsbGVkJyk7XHJcbiAgICAgICAgJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XHJcbi8qXHJcbiAgICAgICAgQVBQLnNldE9wdHMoe1xyXG4gICAgICAgICAgICBhZnRlckxvYWRNYWluQ29udGVudDpyb290LmluaXRFZGl0b3IsXHJcbiAgICAgICAgfSlcclxuKi9cclxuICAgICAgICAvKlxyXG4gICAgICAgIEluaXQgbGlzdCB2aWV3XHJcbiAgICAgICAgKi9cclxuICAgICAgICByb290LmluaXRFZGl0b3JCdXR0b25zKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0RWRpdG9yQnV0dG9ucz1mdW5jdGlvbiAoKXtcclxuICAgICAgICAkKCcuRGFzaGJvYXJkRWRpdGFibGUgYnV0dG9uLmVkaXQnKS5vZmYoJ2NsaWNrJyk7XHJcbiAgICAgICAgJCgnLkRhc2hib2FyZEVkaXRhYmxlIGJ1dHRvbi5lZGl0Jykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcclxuICAgICAgICAgICAgcm9vdC5pbml0RWRpdG9yKCk7XHJcbiAgICAgICAgICAgICQoJy5idG5Hcm91cEVkaXQnKS50b2dnbGVDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgICAgICQoJy5idG5Hcm91cE1vZGlmeScpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICAgICAgJCgnLkRhc2hib2FyZEVkaXRhYmxlIGJ1dHRvbi5idG5TYXZlJykub2ZmKCdjbGljaycpO1xyXG4gICAgICAgICQoJy5EYXNoYm9hcmRFZGl0YWJsZSBidXR0b24uYnRuU2F2ZScpLm9uKCdjbGljaycsZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgICAgIC8qJCgnLmJ0bkdyb3VwRWRpdCcpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgJCgnLmJ0bkdyb3VwTW9kaWZ5JykudG9nZ2xlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICByb290LnNhdmVDdXN0b21Db250ZW50KCk7XHJcbiAgICAgICAgICAgIC8vdGlueW1jZS5hY3RpdmVFZGl0b3IuaXNEaXJ0eSgpIC8vdHJ1ZSB3aGVuIG1vZGlmaWVkXHJcbiAgICAgICAgfSk7XHJcblxyXG5cclxuXHJcbiAgICAgICAgJCgnLkRhc2hib2FyZEVkaXRhYmxlIGJ1dHRvbi5idG5DYW5jZWwnKS5vZmYoJ2NsaWNrJyk7XHJcbiAgICAgICAgJCgnLkRhc2hib2FyZEVkaXRhYmxlIGJ1dHRvbi5idG5DYW5jZWwnKS5vbignY2xpY2snLGZ1bmN0aW9uICgpe1xyXG5cclxuICAgICAgICAgICAgJCgnLmJ0bkdyb3VwRWRpdCcpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgJCgnLmJ0bkdyb3VwTW9kaWZ5JykudG9nZ2xlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICByb290LnJlbW92ZUVkaXRvcigpO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNhdmVDdXN0b21Db250ZW50PWZ1bmN0aW9uICgpe1xyXG4gICAgICAgIGxldCBhamF4RGF0YT0gbmV3IEZvcm1EYXRhKCQoJy5kYXNoYm9hcmRGb3JtJylbMF0pO1xyXG4gICAgICAgIGFqYXhEYXRhLmFwcGVuZCgnc3RvcmVkX2RhdGEnLHRpbnltY2UuYWN0aXZlRWRpdG9yLmdldENvbnRlbnQoKSk7XHJcbiAgICAgICAgbGV0IGFqYXhVcmw9T3B0cy5VUkwudXBkYXRlLnJlcGxhY2UoJyVpZCUnLCQoJ2Rpdi5kYXNoYm9hcmRDdXN0b21Db250ZW50JykuZGF0YSgnaWQnKSk7XHJcbiAgICAgICAgYWpheERhdGEuYXBwZW5kKCdfbWV0aG9kJywnUFVUJyk7XHJcbiAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgdXJsOmFqYXhVcmwsXHJcbiAgICAgICAgICAgIGRhdGE6YWpheERhdGEsXHJcbiAgICAgICAgICAgIHR5cGU6J1BPU1QnLFxyXG4gICAgICAgICAgICBjb250ZW50VHlwZTpmYWxzZSxcclxuICAgICAgICAgICAgcHJvY2Vzc0RhdGE6IGZhbHNlLFxyXG4gICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbigpIHtcclxuXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIFRvYXN0LmNyZWF0ZSh7IHRpdGxlOiBcIlNpZWtlcmVzIG1lbnTDqXMhXCIsIG1lc3NhZ2U6ICfDmmogdGFydGFsb20gZWxtZW50dmUuJywgc3RhdHVzOiBUT0FTVF9TVEFUVVMuSU5GTywgdGltZW91dDogNTAwMCB9KTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEucmVzcG9uc2VKU09OKTtcclxuICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihkYXRhLnJlc3BvbnNlSlNPTi5lcnJvcik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWRUaW55bWNlPSBmdW5jdGlvbiAoKXtcclxuICAgICAgICAkLmdldFNjcmlwdCgnaHR0cHM6Ly9jZG4udGlueS5jbG91ZC8xL25vLWFwaS1rZXkvdGlueW1jZS81L3RpbnltY2UubWluLmpzJyxmdW5jdGlvbiAoKXtcclxuICAgICAgICAgICByb290LmluaXRFZGl0b3IoKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHRoaXMucmVtb3ZlRWRpdG9yID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuICAgICAgICBpZih0eXBlb2YgdGlueW1jZSE9PVwidW5kZWZpbmVkXCIpe1xyXG4gICAgICAgICAgICB0aW55bWNlLnJlbW92ZSgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuaW5pdEVkaXRvciA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcblxyXG4gICAgICAgIGlmKHR5cGVvZiB0aW55bWNlPT09XCJ1bmRlZmluZWRcIil7XHJcbiAgICAgICAgICAgIHJvb3QubG9hZFRpbnltY2UoKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGlueW1jZS5pbml0KHtcclxuICAgICAgICAgICAgc2VsZWN0b3I6ICdkaXYuZGFzaGJvYXJkQ3VzdG9tQ29udGVudCcsIC8vIFJlcGxhY2UgdGhpcyBDU1Mgc2VsZWN0b3IgdG8gbWF0Y2ggdGhlIHBsYWNlaG9sZGVyIGVsZW1lbnQgZm9yIFRpbnlNQ0VcclxuICAgICAgICAgICAgbGFuZ3VhZ2U6ICdodV9IVScsXHJcbiAgICAgICAgICAgIHBsdWdpbnM6ICdjb2RlIHRhYmxlIGxpc3RzJyxcclxuICAgICAgICAgICAgdG9vbGJhcjogJyB1bmRvIHJlZG8gfCBmb3JtYXRzZWxlY3R8IGJvbGQgaXRhbGljIHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgfCBpbmRlbnQgb3V0ZGVudCB8IGJ1bGxpc3QgbnVtbGlzdCB8IGNvZGUgfCB0YWJsZScsXHJcblxyXG4vKlxyXG4gICAgICAgICAgICB0b29sYmFyOiAnY3VzdG9tSW5zZXJ0QnV0dG9uIHwgdW5kbyByZWRvIHwgZm9ybWF0c2VsZWN0fCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IHwgaW5kZW50IG91dGRlbnQgfCBidWxsaXN0IG51bWxpc3QgfCBjb2RlIHwgdGFibGUnLFxyXG4gICAgICAgICAgICBzZXR1cDogZnVuY3Rpb24gKGVkaXRvcikge1xyXG4gICAgICAgICAgICAgICAgZWRpdG9yLnVpLnJlZ2lzdHJ5LmFkZEJ1dHRvbignY3VzdG9tSW5zZXJ0QnV0dG9uJywge1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICdNeSBCdXR0b24nLFxyXG4gICAgICAgICAgICAgICAgICAgIG9uQWN0aW9uOiBmdW5jdGlvbiAoXykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBlZGl0b3IuaW5zZXJ0Q29udGVudCgnJm5ic3A7PHN0cm9uZz5JdFxcJ3MgbXkgYnV0dG9uITwvc3Ryb25nPiZuYnNwOycpO1xyXG4gICAgICAgICAgICAgICAgICAgIH19KTtcclxuICAgICAgICAgICAgfVxyXG4qL1xyXG5cclxuICAgICAgICB9KTtcclxuICAgIH1cclxufTtcclxuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxTQUFTLEdBQUMsWUFBWTtFQUN6QixJQUFJQyxJQUFJLEdBQUc7SUFDUEMsTUFBTSxFQUFFLEtBQUs7SUFDYkMsb0JBQW9CLEVBQUMsWUFBWTtJQUNqQ0MsV0FBVyxFQUFDLEtBQUs7SUFD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UUFBUTtNQUNiWSxJQUFJLEVBQUMsTUFBTTtNQUNYQyxXQUFXLEVBQUMsS0FBSztNQUNqQkMsV0FBVyxFQUFFLEtBQUs7TUFDbEJDLFVBQVUsRUFBRSxTQUFaQSxVQUFVQSxDQUFBLEVBQWEsQ0FFdkIsQ0FBQztNQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBV1AsSUFBSSxFQUFFO1FBQ3BCUSxLQUFLLENBQUN0QyxNQUFNLENBQUM7VUFBRXVDLEtBQUssRUFBRSxrQkFBa0I7VUFBRUMsT0FBTyxFQUFFLHVCQUF1QjtVQUFFQyxNQUFNLEVBQUVDLFlBQVksQ0FBQ0MsSUFBSTtVQUFFQyxPQUFPLEVBQUU7UUFBSyxDQUFDLENBQUM7TUFDM0gsQ0FBQztNQUNEQyxLQUFLLEVBQUUsU0FBUEEsS0FBS0EsQ0FBV2YsSUFBSSxFQUFFO1FBQ2xCbEIsT0FBTyxDQUFDQyxHQUFHLENBQUNpQixJQUFJLENBQUNnQixZQUFZLENBQUM7UUFDOUJDLHFCQUFxQixDQUFDakIsSUFBSSxDQUFDZ0IsWUFBWSxDQUFDRCxLQUFLLENBQUM7TUFDbEQ7SUFDSixDQUFDLENBQUM7RUFFTixDQUFDO0VBRUQsSUFBSSxDQUFDRyxXQUFXLEdBQUUsWUFBVztJQUN6QnhDLENBQUMsQ0FBQ3lDLFNBQVMsQ0FBQyw4REFBOEQsRUFBQyxZQUFXO01BQ25GN0MsSUFBSSxDQUFDYSxVQUFVLENBQUMsQ0FBQztJQUNwQixDQUFDLENBQUM7RUFDTixDQUFDO0VBQ0QsSUFBSSxDQUFDRyxZQUFZLEdBQUcsVUFBVWQsT0FBTyxFQUFFO0lBQ25DLElBQUcsT0FBT2tCLE9BQU8sS0FBRyxXQUFXLEVBQUM7TUFDNUJBLE9BQU8sQ0FBQzBCLE1BQU0sQ0FBQyxDQUFDO0lBQ3BCO0VBQ0osQ0FBQztFQUNELElBQUksQ0FBQ2pDLFVBQVUsR0FBRyxVQUFVWCxPQUFPLEVBQUU7SUFFakMsSUFBRyxPQUFPa0IsT0FBTyxLQUFHLFdBQVcsRUFBQztNQUM1QnBCLElBQUksQ0FBQzRDLFdBQVcsQ0FBQyxDQUFDO01BQ2xCO0lBQ0o7SUFFQXhCLE9BQU8sQ0FBQ2IsSUFBSSxDQUFDO01BQ1R3QyxRQUFRLEVBQUUsNEJBQTRCO01BQUU7TUFDeENDLFFBQVEsRUFBRSxPQUFPO01BQ2pCQyxPQUFPLEVBQUUsa0JBQWtCO01BQzNCQyxPQUFPLEVBQUU7O01BRXJCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBRVEsQ0FBQyxDQUFDO0VBQ04sQ0FBQztBQUNMLENBQUMiLCJpZ25vcmVMaXN0IjpbXSwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL2FkbWluL2Rhc2hib2FyZC5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/admin/dashboard.js\n\n}"); +eval("{window.Dashboard = function () {\n var Opts = {\n active: false,\n containerCssSelector: \".dashboard\",\n testFileMod: false,\n isAdmin: false,\n URL: {\n create: '',\n store: '',\n getDataTableContent: '',\n destroy: ''\n }\n };\n var root = this;\n /*\n * Constructor\n */\n this.construct = function (options) {\n debug('Dashboard constructor called');\n $.extend(Opts, options);\n };\n this.getOpts = function () {\n return Opts;\n };\n this.init = function (options) {\n console.log('Dashboard init called');\n $.extend(Opts, options);\n /*\n APP.setOpts({\n afterLoadMainContent:root.initEditor,\n })\n */\n /*\n Init list view\n */\n root.initEditorButtons();\n };\n this.initEditorButtons = function () {\n $('.DashboardEditable button.edit').off('click');\n $('.DashboardEditable button.edit').on('click', function () {\n root.initEditor();\n $('.btnGroupEdit').toggleClass('d-none');\n $('.btnGroupModify').toggleClass('d-none');\n });\n $('.DashboardEditable button.btnSave').off('click');\n $('.DashboardEditable button.btnSave').on('click', function () {\n /*$('.btnGroupEdit').toggleClass('d-none');\n $('.btnGroupModify').toggleClass('d-none');\n */\n root.saveCustomContent();\n //tinymce.activeEditor.isDirty() //true when modified\n });\n $('.DashboardEditable button.btnCancel').off('click');\n $('.DashboardEditable button.btnCancel').on('click', function () {\n $('.btnGroupEdit').toggleClass('d-none');\n $('.btnGroupModify').toggleClass('d-none');\n root.removeEditor();\n });\n };\n this.saveCustomContent = function () {\n var ajaxData = new FormData($('.dashboardForm')[0]);\n ajaxData.append('stored_data', tinymce.activeEditor.getContent());\n var ajaxUrl = Opts.URL.update.replace('%id%', $('div.dashboardCustomContent').data('id'));\n ajaxData.append('_method', 'PUT');\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n type: 'POST',\n contentType: false,\n processData: false,\n beforeSend: function beforeSend() {},\n success: function success(data) {\n Toast.create({\n title: \"Siekeres mentés!\",\n message: 'Új tartalom elmentve.',\n status: TOAST_STATUS.INFO,\n timeout: 5000\n });\n },\n error: function error(data) {\n console.log(data.responseJSON);\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n });\n };\n this.loadTinymce = function () {\n $.getScript('https://cdn.tiny.cloud/1/no-api-key/tinymce/5/tinymce.min.js', function () {\n root.initEditor();\n });\n };\n this.removeEditor = function (options) {\n if (typeof tinymce !== \"undefined\") {\n tinymce.remove();\n }\n };\n this.initEditor = function (options) {\n if (typeof tinymce === \"undefined\") {\n root.loadTinymce();\n return;\n }\n tinymce.init({\n selector: 'div.dashboardCustomContent',\n // Replace this CSS selector to match the placeholder element for TinyMCE\n language: 'hu_HU',\n plugins: 'code table lists',\n toolbar: ' undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table'\n\n /*\n toolbar: 'customInsertButton | undo redo | formatselect| bold italic | alignleft aligncenter alignright | indent outdent | bullist numlist | code | table',\n setup: function (editor) {\n editor.ui.registry.addButton('customInsertButton', {\n text: 'My Button',\n onAction: function (_) {\n editor.insertContent(' It\\'s my button! ');\n }});\n }\n */\n });\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJEYXNoYm9hcmQiLCJPcHRzIiwiYWN0aXZlIiwiY29udGFpbmVyQ3NzU2VsZWN0b3IiLCJ0ZXN0RmlsZU1vZCIsImlzQWRtaW4iLCJVUkwiLCJjcmVhdGUiLCJzdG9yZSIsImdldERhdGFUYWJsZUNvbnRlbnQiLCJkZXN0cm95Iiwicm9vdCIsImNvbnN0cnVjdCIsIm9wdGlvbnMiLCJkZWJ1ZyIsIiQiLCJleHRlbmQiLCJnZXRPcHRzIiwiaW5pdCIsImNvbnNvbGUiLCJsb2ciLCJpbml0RWRpdG9yQnV0dG9ucyIsIm9mZiIsIm9uIiwiaW5pdEVkaXRvciIsInRvZ2dsZUNsYXNzIiwic2F2ZUN1c3RvbUNvbnRlbnQiLCJyZW1vdmVFZGl0b3IiLCJhamF4RGF0YSIsIkZvcm1EYXRhIiwiYXBwZW5kIiwidGlueW1jZSIsImFjdGl2ZUVkaXRvciIsImdldENvbnRlbnQiLCJhamF4VXJsIiwidXBkYXRlIiwicmVwbGFjZSIsImRhdGEiLCJhamF4IiwidXJsIiwidHlwZSIsImNvbnRlbnRUeXBlIiwicHJvY2Vzc0RhdGEiLCJiZWZvcmVTZW5kIiwic3VjY2VzcyIsIlRvYXN0IiwidGl0bGUiLCJtZXNzYWdlIiwic3RhdHVzIiwiVE9BU1RfU1RBVFVTIiwiSU5GTyIsInRpbWVvdXQiLCJlcnJvciIsInJlc3BvbnNlSlNPTiIsImFqYXhFcnJvckZpZWxkSGFuZGxlciIsImxvYWRUaW55bWNlIiwiZ2V0U2NyaXB0IiwicmVtb3ZlIiwic2VsZWN0b3IiLCJsYW5ndWFnZSIsInBsdWdpbnMiLCJ0b29sYmFyIl0sInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9hZG1pbi9kYXNoYm9hcmQuanM/ZTBkOSJdLCJzb3VyY2VzQ29udGVudCI6WyJ3aW5kb3cuRGFzaGJvYXJkPWZ1bmN0aW9uICgpIHtcbiAgICBsZXQgT3B0cyA9IHtcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcbiAgICAgICAgY29udGFpbmVyQ3NzU2VsZWN0b3I6XCIuZGFzaGJvYXJkXCIsXG4gICAgICAgIHRlc3RGaWxlTW9kOmZhbHNlLFxuICAgICAgICBpc0FkbWluOmZhbHNlLFxuICAgICAgICBVUkw6e1xuICAgICAgICAgICAgY3JlYXRlOicnLFxuICAgICAgICAgICAgc3RvcmU6JycsXG4gICAgICAgICAgICBnZXREYXRhVGFibGVDb250ZW50OicnLFxuICAgICAgICAgICAgZGVzdHJveTonJyxcbiAgICAgICAgfVxuICAgIH07XG4gICAgbGV0IHJvb3QgPSB0aGlzO1xuICAgIC8qXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICB0aGlzLmNvbnN0cnVjdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgICAgIGRlYnVnKCdEYXNoYm9hcmQgY29uc3RydWN0b3IgY2FsbGVkJyk7XG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xuICAgIH07XG4gICAgdGhpcy5nZXRPcHRzPWZ1bmN0aW9uICgpe1xuICAgICAgICByZXR1cm4gT3B0cztcbiAgICB9XG4gICAgdGhpcy5pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ0Rhc2hib2FyZCBpbml0IGNhbGxlZCcpO1xuICAgICAgICAkLmV4dGVuZChPcHRzLCBvcHRpb25zKTtcbi8qXG4gICAgICAgIEFQUC5zZXRPcHRzKHtcbiAgICAgICAgICAgIGFmdGVyTG9hZE1haW5Db250ZW50OnJvb3QuaW5pdEVkaXRvcixcbiAgICAgICAgfSlcbiovXG4gICAgICAgIC8qXG4gICAgICAgIEluaXQgbGlzdCB2aWV3XG4gICAgICAgICovXG4gICAgICAgIHJvb3QuaW5pdEVkaXRvckJ1dHRvbnMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmluaXRFZGl0b3JCdXR0b25zPWZ1bmN0aW9uICgpe1xuICAgICAgICAkKCcuRGFzaGJvYXJkRWRpdGFibGUgYnV0dG9uLmVkaXQnKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICQoJy5EYXNoYm9hcmRFZGl0YWJsZSBidXR0b24uZWRpdCcpLm9uKCdjbGljaycsZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICByb290LmluaXRFZGl0b3IoKTtcbiAgICAgICAgICAgICQoJy5idG5Hcm91cEVkaXQnKS50b2dnbGVDbGFzcygnZC1ub25lJyk7XG4gICAgICAgICAgICAkKCcuYnRuR3JvdXBNb2RpZnknKS50b2dnbGVDbGFzcygnZC1ub25lJyk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoJy5EYXNoYm9hcmRFZGl0YWJsZSBidXR0b24uYnRuU2F2ZScpLm9mZignY2xpY2snKTtcbiAgICAgICAgJCgnLkRhc2hib2FyZEVkaXRhYmxlIGJ1dHRvbi5idG5TYXZlJykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgIC8qJCgnLmJ0bkdyb3VwRWRpdCcpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICQoJy5idG5Hcm91cE1vZGlmeScpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICovXG4gICAgICAgICAgICByb290LnNhdmVDdXN0b21Db250ZW50KCk7XG4gICAgICAgICAgICAvL3RpbnltY2UuYWN0aXZlRWRpdG9yLmlzRGlydHkoKSAvL3RydWUgd2hlbiBtb2RpZmllZFxuICAgICAgICB9KTtcblxuXG5cbiAgICAgICAgJCgnLkRhc2hib2FyZEVkaXRhYmxlIGJ1dHRvbi5idG5DYW5jZWwnKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICQoJy5EYXNoYm9hcmRFZGl0YWJsZSBidXR0b24uYnRuQ2FuY2VsJykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcblxuICAgICAgICAgICAgJCgnLmJ0bkdyb3VwRWRpdCcpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICQoJy5idG5Hcm91cE1vZGlmeScpLnRvZ2dsZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgIHJvb3QucmVtb3ZlRWRpdG9yKCk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgdGhpcy5zYXZlQ3VzdG9tQ29udGVudD1mdW5jdGlvbiAoKXtcbiAgICAgICAgbGV0IGFqYXhEYXRhPSBuZXcgRm9ybURhdGEoJCgnLmRhc2hib2FyZEZvcm0nKVswXSk7XG4gICAgICAgIGFqYXhEYXRhLmFwcGVuZCgnc3RvcmVkX2RhdGEnLHRpbnltY2UuYWN0aXZlRWRpdG9yLmdldENvbnRlbnQoKSk7XG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLnVwZGF0ZS5yZXBsYWNlKCclaWQlJywkKCdkaXYuZGFzaGJvYXJkQ3VzdG9tQ29udGVudCcpLmRhdGEoJ2lkJykpO1xuICAgICAgICBhamF4RGF0YS5hcHBlbmQoJ19tZXRob2QnLCdQVVQnKTtcbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHVybDphamF4VXJsLFxuICAgICAgICAgICAgZGF0YTphamF4RGF0YSxcbiAgICAgICAgICAgIHR5cGU6J1BPU1QnLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ZmFsc2UsXG4gICAgICAgICAgICBwcm9jZXNzRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbigpIHtcblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBUb2FzdC5jcmVhdGUoeyB0aXRsZTogXCJTaWVrZXJlcyBtZW50w6lzIVwiLCBtZXNzYWdlOiAnw5pqIHRhcnRhbG9tIGVsbWVudHZlLicsIHN0YXR1czogVE9BU1RfU1RBVFVTLklORk8sIHRpbWVvdXQ6IDUwMDAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhLnJlc3BvbnNlSlNPTik7XG4gICAgICAgICAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKGRhdGEucmVzcG9uc2VKU09OLmVycm9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgIH1cblxuICAgIHRoaXMubG9hZFRpbnltY2U9IGZ1bmN0aW9uICgpe1xuICAgICAgICAkLmdldFNjcmlwdCgnaHR0cHM6Ly9jZG4udGlueS5jbG91ZC8xL25vLWFwaS1rZXkvdGlueW1jZS81L3RpbnltY2UubWluLmpzJyxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgcm9vdC5pbml0RWRpdG9yKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICB0aGlzLnJlbW92ZUVkaXRvciA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgICAgIGlmKHR5cGVvZiB0aW55bWNlIT09XCJ1bmRlZmluZWRcIil7XG4gICAgICAgICAgICB0aW55bWNlLnJlbW92ZSgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5pdEVkaXRvciA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG5cbiAgICAgICAgaWYodHlwZW9mIHRpbnltY2U9PT1cInVuZGVmaW5lZFwiKXtcbiAgICAgICAgICAgIHJvb3QubG9hZFRpbnltY2UoKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRpbnltY2UuaW5pdCh7XG4gICAgICAgICAgICBzZWxlY3RvcjogJ2Rpdi5kYXNoYm9hcmRDdXN0b21Db250ZW50JywgLy8gUmVwbGFjZSB0aGlzIENTUyBzZWxlY3RvciB0byBtYXRjaCB0aGUgcGxhY2Vob2xkZXIgZWxlbWVudCBmb3IgVGlueU1DRVxuICAgICAgICAgICAgbGFuZ3VhZ2U6ICdodV9IVScsXG4gICAgICAgICAgICBwbHVnaW5zOiAnY29kZSB0YWJsZSBsaXN0cycsXG4gICAgICAgICAgICB0b29sYmFyOiAnIHVuZG8gcmVkbyB8IGZvcm1hdHNlbGVjdHwgYm9sZCBpdGFsaWMgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCB8IGluZGVudCBvdXRkZW50IHwgYnVsbGlzdCBudW1saXN0IHwgY29kZSB8IHRhYmxlJyxcblxuLypcbiAgICAgICAgICAgIHRvb2xiYXI6ICdjdXN0b21JbnNlcnRCdXR0b24gfCB1bmRvIHJlZG8gfCBmb3JtYXRzZWxlY3R8IGJvbGQgaXRhbGljIHwgYWxpZ25sZWZ0IGFsaWduY2VudGVyIGFsaWducmlnaHQgfCBpbmRlbnQgb3V0ZGVudCB8IGJ1bGxpc3QgbnVtbGlzdCB8IGNvZGUgfCB0YWJsZScsXG4gICAgICAgICAgICBzZXR1cDogZnVuY3Rpb24gKGVkaXRvcikge1xuICAgICAgICAgICAgICAgIGVkaXRvci51aS5yZWdpc3RyeS5hZGRCdXR0b24oJ2N1c3RvbUluc2VydEJ1dHRvbicsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ015IEJ1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgIG9uQWN0aW9uOiBmdW5jdGlvbiAoXykge1xuICAgICAgICAgICAgICAgICAgICAgICAgZWRpdG9yLmluc2VydENvbnRlbnQoJyZuYnNwOzxzdHJvbmc+SXRcXCdzIG15IGJ1dHRvbiE8L3N0cm9uZz4mbmJzcDsnKTtcbiAgICAgICAgICAgICAgICAgICAgfX0pO1xuICAgICAgICAgICAgfVxuKi9cblxuICAgICAgICB9KTtcbiAgICB9XG59O1xuIl0sIm1hcHBpbmdzIjoiQUFBQUEsTUFBTSxDQUFDQyxTQUFTLEdBQUMsWUFBWTtFQUN6QixJQUFJQyxJQUFJLEdBQUc7SUFDUEMsTUFBTSxFQUFFLEtBQUs7SUFDYkMsb0JBQW9CLEVBQUMsWUFBWTtJQUNqQ0MsV0FBVyxFQUFDLEtBQUs7SUFDakJDLE9BQU8sRUFBQyxLQUFLO0lBQ2JDLEdBQUcsRUFBQztNQUNBQyxNQUFNLEVBQUMsRUFBRTtNQUNUQyxLQUFLLEVBQUMsRUFBRTtNQUNSQyxtQkFBbUIsRUFBQyxFQUFFO01BQ3RCQyxPQUFPLEVBQUM7SUFDWjtFQUNKLENBQUM7RUFDRCxJQUFJQyxJQUFJLEdBQUcsSUFBSTtFQUNmO0FBQ0o7QUFDQTtFQUNJLElBQUksQ0FBQ0MsU0FBUyxHQUFHLFVBQVVDLE9BQU8sRUFBRTtJQUNoQ0MsS0FBSyxDQUFDLDhCQUE4QixDQUFDO0lBQ3JDQyxDQUFDLENB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\n//# sourceURL=webpack-internal:///./resources/js/admin/dashboard.js\n\n}"); /***/ }, @@ -25,7 +25,7 @@ eval("{window.Dashboard = function () {\n var Opts = {\n active: false,\n \*****************************************/ () { -eval("{window.PriceListAdmin = function (options, ProfitCenterItem) {\n /*\r\n * Variables accessible\r\n * in the class\r\n */\n var Opts = {\n active: false,\n containerCssSelector: \".priceListForm\",\n testFileMod: false,\n URL: {\n create: '',\n store: '',\n getDataTableContent: '',\n destroy: ''\n }\n };\n var PriceList = {};\n var root = this;\n var dataTableCSSSelector = null;\n\n /*\r\n * Constructor\r\n */\n this.construct = function (options) {\n debug('PriceListAdmin constructor called');\n $.extend(Opts, options);\n };\n var errorRowPointer = null;\n var errorRowCount = 0;\n this.initErrorNavigationButton = function () {\n errorRowCount = $('.statusError').length;\n errorRowPointer = null;\n $('.priceListForm .buttonPrevError .buttonNextError').off('click');\n $('.priceListForm .buttonPrevError').on('click', function () {\n if (errorRowPointer == null) {\n errorRowPointer = 0;\n } else {\n if (errorRowPointer > 0) {\n errorRowPointer--;\n } else {\n return;\n }\n }\n $('.statusError').removeClass('highlightedErrorRow');\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\n });\n $('.priceListForm .buttonNextError').off('click');\n $('.priceListForm .buttonNextError').on('click', function () {\n if (errorRowPointer == null) {\n errorRowPointer = 0;\n } else {\n if (errorRowPointer < errorRowCount - 1) {\n errorRowPointer++;\n } else {\n return;\n }\n }\n $('.statusError').removeClass('highlightedErrorRow');\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\n });\n };\n this.selectedUploadFileToggle = function (fileInput) {\n /*\r\n console.log(fileInput.attr('name'));\r\n console.log(fileInput[0].files[0]);\r\n console.log(fileInput[0].files[0].name);\r\n */\n if (fileInput) {\n $('.containerFileUpload').addClass('d-none');\n if (fileInput[0].files[0]) {\n $('.containerUploadedFileName').text(fileInput[0].files[0].name);\n }\n $('.containerFileUploadStarted').removeClass('d-none');\n $('.containerUploadedSpinner').removeClass('d-none');\n } else {\n $('.containerUploadedFileName').text('');\n $('.containerFileUploadStarted').addClass('d-none');\n $('.uploadStatusRow').addClass('d-none');\n $('.priceListTable > tbody').empty();\n $('.containerFileUpload').removeClass('d-none');\n }\n };\n this.clickNewPriceListCallBack = function () {\n root.initViewDetails();\n };\n this.clickNewPriceList = function () {\n APP.loadMainContent(Opts.URL.create, root.clickNewPriceListCallBack);\n };\n this.datatableRowActionButtonClick = function (event) {\n var node = $(event[0].currentTarget);\n var row = $(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n //_token\n var ajaxData = {};\n var ajaxUrl = Opts.URL.destroy.replace('%id%', rowData.id);\n ajaxData._token = $('input[name=_token]').val();\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n method: \"DELETE\",\n success: function success(data) {\n if (data.success == true) {\n row.remove().draw();\n }\n }\n });\n /*\r\n */\n };\n this.initViewList = function (options) {\n debug('listview inicialization');\n dataTableCSSSelector = Opts.containerCssSelector + ' .dataTable'; //\n\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableActionButtonClickCallBack: root.clickNewPriceList,\n datatableRowActionButtonClickCallBack: root.datatableRowActionButtonClick\n });\n APP.dataTablePriceList = $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n var buttons = APP.datatableAddRowTrashButton(0, arguments);\n //buttons+=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n }\n }\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons: {\n buttons: [\n //'createState', 'savedStates',\n 'excel', 'pdf', {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n }, /**/\n\n {\n text: 'Új felvitele',\n className: 'btn btn-success newItem',\n attr: {\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n }\r\n */\n 'data': 'newItem'\n },\n init: function init(api, node, config) {\n $(node).removeClass('ui-button');\n },\n action: function action(e, dt, node, config) {\n APP.datatableActionButtonClickCallBack(arguments);\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\n }\n }]\n },\n \"columns\": [{\n \"data\": \"id\"\n }, {\n \"data\": \"supplierName\"\n }, {\n \"data\": \"available\"\n }, {\n \"data\": \"created_at\"\n }, {\n \"data\": \"note\"\n }, null],\n \"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n };\n this.initViewDetails = function (options) {\n $(Opts.containerCssSelector + ' .datePickerClick').off('click');\n $(Opts.containerCssSelector + ' .datePickerClick').on('click', function () {\n $(Opts.containerCssSelector + ' .datePicker').datepicker('show');\n });\n $(Opts.containerCssSelector + ' .datePicker').datepicker({\n dateFormat: 'yy-mm-dd',\n onSelect: function onSelect(dateText) {\n console.log(dateText);\n $('.selectedDateText').text(dateText.replaceAll('-', '.'));\n $('input[name=\"availableDate\"]').val(dateText);\n }\n });\n $(Opts.containerCssSelector + ' .buttonNewUpload').off('click');\n $(Opts.containerCssSelector + ' .buttonNewUpload').on('click', function () {\n root.selectedUploadFileToggle();\n });\n $(Opts.containerCssSelector + ' .buttonUpload').off('click');\n $(Opts.containerCssSelector + ' .buttonUpload').on('click', function () {\n console.log('------------------');\n root.selectedUploadFileToggle();\n var data = new FormData($('.priceListForm')[0]);\n if ($('.supplierSelect').val().length < 1) {\n Toast.create({\n title: \"Hiba!\",\n message: 'Adjon meg beszállítót!',\n status: TOAST_STATUS.DANGER,\n timeout: 10000\n });\n return;\n }\n var fileInput = $('#inputGroupPriceListFile');\n console.log(fileInput[0].files.length < 1);\n\n /* teszteles miatt kikapcsolva a fajl ellenorzes\r\n */\n if (!Opts.testFileMod) {\n console.log(fileInput[0].files.length < 1);\n if (fileInput[0].files.length < 1) {\n Toast.create({\n title: \"Hiba!\",\n message: 'Vállaszon ki fájlt!',\n status: TOAST_STATUS.DANGER,\n timeout: 10000\n });\n return;\n }\n }\n data.append(fileInput.attr('name'), fileInput[0].files[0]);\n root.selectedUploadFileToggle(fileInput);\n $.ajax({\n url: Opts.URL.store,\n data: data,\n type: 'POST',\n contentType: false,\n processData: false,\n beforeSend: function beforeSend() {},\n success: function success(data) {\n console.log(data);\n if (data.success == true) {\n root.processCheckedPriceListResponse(data);\n }\n },\n error: function error(data) {\n console.log(data.responseJSON);\n root.selectedUploadFileToggle();\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n });\n });\n $(Opts.containerCssSelector + ' .buttonFinalization').on('click', function () {\n var data = new FormData($('.priceListForm')[0]);\n var fileInput = $('#inputGroupPriceListFile');\n data.append(fileInput.attr('name'), fileInput[0].files[0]);\n data.append('finalization', 1);\n $.ajax({\n url: Opts.URL.store,\n data: data,\n type: 'POST',\n contentType: false,\n processData: false,\n beforeSend: function beforeSend() {},\n success: function success(data) {\n console.log(data);\n if (data.success) {\n $('.priceListTable tbody tr').remove();\n $('.uploadStatusRow >.canFinish').hide();\n $('.uploadStatusRow').addClass('d-none');\n $('.priceListTable tbody').append(' Árlistát elmentettük.');\n }\n /*\r\n if(data.success==1){\r\n root.processCheckedPriceListResponse(data);\r\n }\r\n */\n },\n error: function error(data) {\n console.log(data.responseJSON);\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n });\n });\n };\n this.init = function (options) {\n console.log('PriceListAdmin init called');\n $.extend(Opts, options);\n console.log('Opt extended');\n console.log(Opts);\n /*\r\n Init list view\r\n */\n console.log('call list view Init');\n root.initViewList(options);\n };\n this.getOpts = function () {\n return Opts;\n };\n var priceListHasError = false;\n this.processCheckedPriceListResponse = function (responseData) {\n priceListHasError = false;\n root.processCheckedPriceListResponseRows(responseData.rows);\n if (priceListHasError) {\n $('.uploadStatusRow >.canFinish').hide();\n $('.uploadStatusRow >.canFinishError').show();\n root.initErrorNavigationButton();\n } else {\n $('.uploadStatusRow >.canFinish').show();\n $('.uploadStatusRow >.canFinishError').hide();\n }\n $('.uploadStatusRow').removeClass('d-none');\n $('.containerUploadedSpinner').addClass('d-none');\n };\n this.processCheckedPriceListResponseRows = function (responseRowsData) {\n console.log('processingRows');\n for (var key in responseRowsData) {\n var rowData = responseRowsData[key];\n var templateData = rowData.originalData;\n templateData.rowNum = rowData.rowNum;\n var template = $('template[data-name=\"priceListTableRow\"]').html();\n var render = Mustache.render(template, templateData);\n $('.priceListTable tbody').append(render);\n $('tr[data-rownum=' + rowData.rowNum + ']').addClass('status' + $.ucFirst(rowData.status));\n root.processResponseRowErrors(rowData.error, rowData.rowNum);\n if (rowData.changed) {\n root.processResponseRowChanged(rowData.changed, rowData.rowNum);\n }\n }\n };\n this.processResponseRowChanged = function (changedArray, rowNum) {\n if (changedArray.length < 1) {\n return;\n }\n console.log(changedArray);\n //fields error resz\n var trNode = $('tr[data-rownum=' + rowNum + ']');\n for (var key in changedArray) {\n var tdNode = trNode.find('td[data-pointer=\"' + key + '\"]');\n tdNode.addClass('bg-primary');\n var changedTxtNode = $(document.createElement(\"span\")).text(changedArray[key].old).addClass('fieldChanged');\n tdNode.append(changedTxtNode);\n }\n };\n this.processResponseRowErrors = function (errorArray, rowNum) {\n if (errorArray.length < 1) {\n return;\n }\n //general error resz\n console.log(errorArray);\n priceListHasError = true;\n\n //fields error resz\n if (typeof errorArray.fields == 'undefined') {\n return;\n }\n var trNode = $('tr[data-rownum=' + rowNum + ']');\n for (var key in errorArray.fields) {\n var tdNode = trNode.find('td[data-pointer=\"' + key + '\"]');\n tdNode.addClass('bg-danger');\n var errorTxtNode = $(document.createElement(\"span\")).text(errorArray.fields[key]).addClass('fieldError');\n tdNode.append(errorTxtNode);\n }\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJQcmljZUxpc3RBZG1pbiIsIm9wdGlvbnMiLCJQcm9maXRDZW50ZXJJdGVtIiwiT3B0cyIsImFjdGl2ZSIsImNvbnRhaW5lckNzc1NlbGVjdG9yIiwidGVzdEZpbGVNb2QiLCJVUkwiLCJjcmVhdGUiLCJzdG9yZSIsImdldERhdGFUYWJsZUNvbnRlbnQiLCJkZXN0cm95IiwiUHJpY2VMaXN0Iiwicm9vdCIsImRhdGFUYWJsZUNTU1NlbGVjdG9yIiwiY29uc3RydWN0IiwiZGVidWciLCIkIiwiZXh0ZW5kIiwiZXJyb3JSb3dQb2ludGVyIiwiZXJyb3JSb3dDb3VudCIsImluaXRFcnJvck5hdmlnYXRpb25CdXR0b24iLCJsZW5ndGgiLCJvZmYiLCJvbiIsInJlbW92ZUNsYXNzIiwic2Nyb2xsVG9wIiwicG9zaXRpb24iLCJ0b3AiLCJhZGRDbGFzcyIsInNlbGVjdGVkVXBsb2FkRmlsZVRvZ2dsZSIsImZpbGVJbnB1dCIsImZpbGVzIiwidGV4dCIsIm5hbWUiLCJlbXB0eSIsImNsaWNrTmV3UHJpY2VMaXN0Q2FsbEJhY2siLCJpbml0Vmlld0RldGFpbHMiLCJjbGlja05ld1ByaWNlTGlzdCIsIkFQUCIsImxvYWRNYWluQ29udGVudCIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrIiwiZXZlbnQiLCJub2RlIiwiY3VycmVudFRhcmdldCIsInJvdyIsIkRhdGFUYWJsZSIsInBhcmVudHMiLCJyb3dEYXRhIiwiZGF0YSIsImFqYXhEYXRhIiwiYWpheFVybCIsInJlcGxhY2UiLCJpZCIsIl90b2tlbiIsInZhbCIsImFqYXgiLCJ1cmwiLCJtZXRob2QiLCJzdWNjZXNzIiwicmVtb3ZlIiwiZHJhdyIsImluaXRWaWV3TGlzdCIsImNvbE51bSIsInNldE9wdHMiLCJkYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrIiwiZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjayIsImRhdGFUYWJsZVByaWNlTGlzdCIsImxhbmd1YWdlIiwicmVuZGVyIiwidHlwZSIsImJ1dHRvbnMiLCJkYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbiIsImFyZ3VtZW50cyIsImF1dG9QcmludCIsImNsYXNzTmFtZSIsImF0dHIiLCJpbml0IiwiYXBpIiwiY29uZmlnIiwiYWN0aW9uIiwiZSIsImR0IiwiZHJhd0NhbGxiYWNrIiwic2V0dGluZ3MiLCJkYXRhdGFibGVBZGRSb3dBY3Rpb24iLCJkYXRlcGlja2VyIiwiZGF0ZUZvcm1hdCIsIm9uU2VsZWN0IiwiZGF0ZVRleHQiLCJjb25zb2xlIiwibG9nIiwicmVwbGFjZUFsbCIsIkZvcm1EYXRhIiwiVG9hc3QiLCJ0aXRsZSIsIm1lc3NhZ2UiLCJzdGF0dXMiLCJUT0FTVF9TVEFUVVMiLCJEQU5HRVIiLCJ0aW1lb3V0IiwiYXBwZW5kIiwiY29udGVudFR5cGUiLCJwcm9jZXNzRGF0YSIsImJlZm9yZVNlbmQiLCJwcm9jZXNzQ2hlY2tlZFByaWNlTGlzdFJlc3BvbnNlIiwiZXJyb3IiLCJyZXNwb25zZUpTT04iLCJhamF4RXJyb3JGaWVsZEhhbmRsZXIiLCJoaWRlIiwiZ2V0T3B0cyIsInByaWNlTGlzdEhhc0Vycm9yIiwicmVzcG9uc2VEYXRhIiwicHJvY2Vzc0NoZWNrZWRQcmljZUxpc3RSZXNwb25zZVJvd3MiLCJyb3dzIiwic2hvdyIsInJlc3BvbnNlUm93c0RhdGEiLCJrZXkiLCJ0ZW1wbGF0ZURhdGEiLCJvcmlnaW5hbERhdGEiLCJyb3dOdW0iLCJ0ZW1wbGF0ZSIsImh0bWwiLCJNdXN0YWNoZSIsInVjRmlyc3QiLCJwcm9jZXNzUmVzcG9uc2VSb3dFcnJvcnMiLCJjaGFuZ2VkIiwicHJvY2Vzc1Jlc3BvbnNlUm93Q2hhbmdlZCIsImNoYW5nZWRBcnJheSIsInRyTm9kZSIsInRkTm9kZSIsImZpbmQiLCJjaGFuZ2VkVHh0Tm9kZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIm9sZCIsImVycm9yQXJyYXkiLCJmaWVsZHMiLCJlcnJvclR4dE5vZGUiXSwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FkbWluL3ByaWNlTGlzdC5qcz9jYWQ2Il0sInNvdXJjZXNDb250ZW50IjpbIndpbmRvdy5QcmljZUxpc3RBZG1pbj1mdW5jdGlvbiAob3B0aW9ucyxQcm9maXRDZW50ZXJJdGVtKSB7XHJcbiAgICAvKlxyXG4gICAgICogVmFyaWFibGVzIGFjY2Vzc2libGVcclxuICAgICAqIGluIHRoZSBjbGFzc1xyXG4gICAgICovXHJcbiAgICBsZXQgT3B0cyA9IHtcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGNvbnRhaW5lckNzc1NlbGVjdG9yOlwiLnByaWNlTGlzdEZvcm1cIixcclxuICAgICAgICB0ZXN0RmlsZU1vZDpmYWxzZSxcclxuICAgICAgICBVUkw6e1xyXG4gICAgICAgICAgICBjcmVhdGU6JycsXHJcbiAgICAgICAgICAgIHN0b3JlOicnLFxyXG4gICAgICAgICAgICBnZXREYXRhVGFibGVDb250ZW50OicnLFxyXG4gICAgICAgICAgICBkZXN0cm95OicnLFxyXG4gICAgICAgIH1cclxuICAgIH07XHJcbiAgICBsZXQgUHJpY2VMaXN0ID0ge307XHJcbiAgICBsZXQgcm9vdCA9IHRoaXM7XHJcbiAgICBsZXQgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9bnVsbDtcclxuXHJcblxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICovXHJcbiAgICB0aGlzLmNvbnN0cnVjdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcbiAgICAgICAgZGVidWcoJ1ByaWNlTGlzdEFkbWluIGNvbnN0cnVjdG9yIGNhbGxlZCcpO1xyXG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xyXG4gICAgfTtcclxuXHJcbiAgICBsZXQgZXJyb3JSb3dQb2ludGVyPW51bGw7XHJcbiAgICBsZXQgZXJyb3JSb3dDb3VudD0wO1xyXG5cclxuICAgIHRoaXMuaW5pdEVycm9yTmF2aWdhdGlvbkJ1dHRvbj1mdW5jdGlvbiAoKXtcclxuXHJcbiAgICAgICAgZXJyb3JSb3dDb3VudD0kKCcuc3RhdHVzRXJyb3InKS5sZW5ndGg7XHJcbiAgICAgICAgZXJyb3JSb3dQb2ludGVyPW51bGw7XHJcbiAgICAgICAgJCgnLnByaWNlTGlzdEZvcm0gLmJ1dHRvblByZXZFcnJvciAuYnV0dG9uTmV4dEVycm9yJykub2ZmKCdjbGljaycpXHJcbiAgICAgICAgJCgnLnByaWNlTGlzdEZvcm0gLmJ1dHRvblByZXZFcnJvcicpLm9uKCdjbGljaycsZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgICAgIGlmKGVycm9yUm93UG9pbnRlcj09bnVsbCl7XHJcbiAgICAgICAgICAgICAgICBlcnJvclJvd1BvaW50ZXI9MDtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBpZihlcnJvclJvd1BvaW50ZXI+MCl7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JSb3dQb2ludGVyLS07XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtyZXR1cm47fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICQoJy5zdGF0dXNFcnJvcicpLnJlbW92ZUNsYXNzKCdoaWdobGlnaHRlZEVycm9yUm93Jyk7XHJcbiAgICAgICAgICAgICQoJy5wcmljZUxpc3RUYWJsZVdyYXBwZXInKS5zY3JvbGxUb3AoJCgkKCcuc3RhdHVzRXJyb3InKVtlcnJvclJvd1BvaW50ZXJdKS5wb3NpdGlvbigpLnRvcCk7XHJcbiAgICAgICAgICAgICQoJCgnLnN0YXR1c0Vycm9yJylbZXJyb3JSb3dQb2ludGVyXSkuYWRkQ2xhc3MoJ2hpZ2hsaWdodGVkRXJyb3JSb3cnKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAkKCcucHJpY2VMaXN0Rm9ybSAuYnV0dG9uTmV4dEVycm9yJykub2ZmKCdjbGljaycpO1xyXG4gICAgICAgICQoJy5wcmljZUxpc3RGb3JtIC5idXR0b25OZXh0RXJyb3InKS5vbignY2xpY2snLGZ1bmN0aW9uICgpe1xyXG4gICAgICAgICAgICBpZihlcnJvclJvd1BvaW50ZXI9PW51bGwpe1xyXG4gICAgICAgICAgICAgICAgZXJyb3JSb3dQb2ludGVyPTA7XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgaWYoZXJyb3JSb3dQb2ludGVyPGVycm9yUm93Q291bnQtMSl7XHJcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JSb3dQb2ludGVyKys7XHJcbiAgICAgICAgICAgICAgICB9ZWxzZXtyZXR1cm47fVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICQoJy5zdGF0dXNFcnJvcicpLnJlbW92ZUNsYXNzKCdoaWdobGlnaHRlZEVycm9yUm93Jyk7XHJcbiAgICAgICAgICAgICQoJy5wcmljZUxpc3RUYWJsZVdyYXBwZXInKS5zY3JvbGxUb3AoJCgkKCcuc3RhdHVzRXJyb3InKVtlcnJvclJvd1BvaW50ZXJdKS5wb3NpdGlvbigpLnRvcCk7XHJcbiAgICAgICAgICAgICQoJCgnLnN0YXR1c0Vycm9yJylbZXJyb3JSb3dQb2ludGVyXSkuYWRkQ2xhc3MoJ2hpZ2hsaWdodGVkRXJyb3JSb3cnKTtcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZFVwbG9hZEZpbGVUb2dnbGU9ZnVuY3Rpb24gKGZpbGVJbnB1dCl7XHJcbiAgICAgICAgLypcclxuICAgICAgICBjb25zb2xlLmxvZyhmaWxlSW5wdXQuYXR0cignbmFtZScpKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhmaWxlSW5wdXRbMF0uZmlsZXNbMF0pO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGZpbGVJbnB1dFswXS5maWxlc1swXS5uYW1lKTtcclxuICAgICAgICAqL1xyXG4gICAgICAgIGlmKGZpbGVJbnB1dCl7XHJcbiAgICAgICAgICAgICQoJy5jb250YWluZXJGaWxlVXBsb2FkJykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICBpZihmaWxlSW5wdXRbMF0uZmlsZXNbMF0pe1xyXG4gICAgICAgICAgICAgICAgJCgnLmNvbnRhaW5lclVwbG9hZGVkRmlsZU5hbWUnKS50ZXh0KGZpbGVJbnB1dFswXS5maWxlc1swXS5uYW1lKTtcclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgJCgnLmNvbnRhaW5lckZpbGVVcGxvYWRTdGFydGVkJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICAkKCcuY29udGFpbmVyVXBsb2FkZWRTcGlubmVyJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAkKCcuY29udGFpbmVyVXBsb2FkZWRGaWxlTmFtZScpLnRleHQoJycpO1xyXG4gICAgICAgICAgICAkKCcuY29udGFpbmVyRmlsZVVwbG9hZFN0YXJ0ZWQnKS5hZGRDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgICAgICQoJy51cGxvYWRTdGF0dXNSb3cnKS5hZGRDbGFzcygnZC1ub25lJyk7XHJcblxyXG4gICAgICAgICAgICAkKCcucHJpY2VMaXN0VGFibGUgPiB0Ym9keScpLmVtcHR5KCk7XHJcbiAgICAgICAgICAgICQoJy5jb250YWluZXJGaWxlVXBsb2FkJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsaWNrTmV3UHJpY2VMaXN0Q2FsbEJhY2s9ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJvb3QuaW5pdFZpZXdEZXRhaWxzKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNsaWNrTmV3UHJpY2VMaXN0PWZ1bmN0aW9uKCl7XHJcbiAgICAgICAgQVBQLmxvYWRNYWluQ29udGVudChPcHRzLlVSTC5jcmVhdGUscm9vdC5jbGlja05ld1ByaWNlTGlzdENhbGxCYWNrKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2s9ZnVuY3Rpb24oZXZlbnQpe1xyXG4gICAgICAgIGxldCBub2RlPSQoZXZlbnRbMF0uY3VycmVudFRhcmdldCk7XHJcbiAgICAgICAgbGV0IHJvdz0kKGRhdGFUYWJsZUNTU1NlbGVjdG9yKS5EYXRhVGFibGUoKS5yb3cobm9kZS5wYXJlbnRzKCd0cicpKTtcclxuICAgICAgICBsZXQgcm93RGF0YT1yb3cuZGF0YSgpO1xyXG4gICAgICAgIC8vX3Rva2VuXHJcbiAgICAgICAgbGV0IGFqYXhEYXRhPXt9O1xyXG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLmRlc3Ryb3kucmVwbGFjZSgnJWlkJScscm93RGF0YS5pZCk7XHJcbiAgICAgICAgYWpheERhdGEuX3Rva2VuPSQoJ2lucHV0W25hbWU9X3Rva2VuXScpLnZhbCgpO1xyXG4gICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgIHVybDphamF4VXJsLFxyXG4gICAgICAgICAgICBkYXRhOmFqYXhEYXRhLFxyXG4gICAgICAgICAgICBtZXRob2Q6XCJERUxFVEVcIixcclxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbiAoZGF0YSl7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLnN1Y2Nlc3M9PXRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHJvdy5yZW1vdmUoKS5kcmF3KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgIH0pO1xyXG4vKlxyXG4qL1xyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0Vmlld0xpc3QgPSBmdW5jdGlvbiAob3B0aW9ucykge1xyXG4gICAgICAgIGRlYnVnKCdsaXN0dmlldyBpbmljaWFsaXphdGlvbicpO1xyXG4gICAgICAgIGRhdGFUYWJsZUNTU1NlbGVjdG9yPU9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuZGF0YVRhYmxlJzsgLy9cclxuXHJcbiAgICAgICAgbGV0IGNvbE51bT0kKGRhdGFUYWJsZUNTU1NlbGVjdG9yKycgdGhlYWQgdGgnKS5sZW5ndGg7IC8vYnV0dG9ucyBpbnNlcnQgcG9zaXRpb24gbmVlZFxyXG4gICAgICAgIEFQUC5zZXRPcHRzKHtcclxuICAgICAgICAgICAgZGF0YXRhYmxlQWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjazpyb290LmNsaWNrTmV3UHJpY2VMaXN0LFxyXG4gICAgICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnJvb3QuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2ssXHJcblxyXG4gICAgICAgIH0pXHJcblxyXG5cclxuICAgICAgICBBUFAuZGF0YVRhYmxlUHJpY2VMaXN0PSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgge1xyXG4gICAgICAgICAgICBsYW5ndWFnZToge1xyXG4gICAgICAgICAgICAgICAgdXJsOiAnLy9jZG4uZGF0YXRhYmxlcy5uZXQvcGx1Zy1pbnMvMS4xMC4yNC9pMThuL0h1bmdhcmlhbi5qc29uJ1xyXG4gICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgLy9cImFqYXhcIjogXCJ7e2Fzc2V0KCdleGFwbWxlMi5qc29uJyl9fVwiLFxyXG4gICAgICAgICAgICBcImFqYXhcIjogT3B0cy5VUkwuZ2V0RGF0YVRhYmxlQ29udGVudCxcclxuICAgICAgICAgICAgXCJjb2x1bW5EZWZzXCI6IFtcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogY29sTnVtLTEsXHJcbiAgICAgICAgICAgICAgICAgICAgXCJyZW5kZXJcIjogZnVuY3Rpb24gKCBkYXRhLCB0eXBlLCByb3cgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCBidXR0b25zPUFQUC5kYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbigwLGFyZ3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYnV0dG9ucys9QVBQLmRhdGF0YWJsZUFkZFJvd0VkaXRCdXR0b24oMCxhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnV0dG9ucztcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC8veyBcInZpc2libGVcIjogZmFsc2UsICBcInRhcmdldHNcIjogWyAwIF0gfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBidXR0b25zOntcclxuXHJcbiAgICAgICAgICAgICAgICBidXR0b25zOiBbXHJcbiAgICAgICAgICAgICAgICAgICAgLy8nY3JlYXRlU3RhdGUnLCAnc2F2ZWRTdGF0ZXMnLFxyXG4gICAgICAgICAgICAgICAgICAgICdleGNlbCcsJ3BkZicsXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQ6ICdwcmludCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vdGV4dDogJ1ByaW50IGN1cnJlbnQgcGFnZScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICd0aXRsZSc6ICd0aXRsZSBjdXN0b20gdGV4dCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlVG9wJzogJ01lc3NhZ2UgT24gVG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgYXV0b1ByaW50OiB0cnVlXHJcbiAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAvKiovXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ8OaaiBmZWx2aXRlbGUnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdidG4gYnRuLXN1Y2Nlc3MgbmV3SXRlbScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF0dHI6e1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhOntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYToxLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOjJcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdkYXRhJzonbmV3SXRlbSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24oYXBpLCBub2RlLCBjb25maWcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICQobm9kZSkucmVtb3ZlQ2xhc3MoJ3VpLWJ1dHRvbicpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnVuY3Rpb24gKCBlLCBkdCwgbm9kZSwgY29uZmlnICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQVBQLmRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2soYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNvbnNvbGUubG9nKGUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGR0KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhub2RlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhjb25maWcpOyovXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBcImNvbHVtbnNcIjogW1xyXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJpZFwiIH0sXHJcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcInN1cHBsaWVyTmFtZVwiIH0sXHJcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImF2YWlsYWJsZVwiIH0sXHJcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImNyZWF0ZWRfYXRcIiB9LFxyXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJub3RlXCIgfSxcclxuICAgICAgICAgICAgICAgIG51bGwsXHJcbiAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgIFwic3RhdGVTYXZlXCI6IHRydWUsXHJcbiAgICAgICAgICAgIFwiZHJhd0NhbGxiYWNrXCI6IGZ1bmN0aW9uKCBzZXR0aW5ncyApIHtcclxuICAgICAgICAgICAgICAgIEFQUC5kYXRhdGFibGVBZGRSb3dBY3Rpb24oZGF0YVRhYmxlQ1NTU2VsZWN0b3IpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSApO1xyXG5cclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pbml0Vmlld0RldGFpbHMgPSBmdW5jdGlvbiAob3B0aW9ucykge1xyXG4gICAgICAgICQoT3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5kYXRlUGlja2VyQ2xpY2snKS5vZmYoJ2NsaWNrJyk7XHJcbiAgICAgICAgJChPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmRhdGVQaWNrZXJDbGljaycpLm9uKCdjbGljaycsZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgJChPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmRhdGVQaWNrZXInKS5kYXRlcGlja2VyKCdzaG93Jyk7XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoT3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5kYXRlUGlja2VyJykuZGF0ZXBpY2tlcih7XHJcbiAgICAgICAgICAgIGRhdGVGb3JtYXQ6ICd5eS1tbS1kZCcsXHJcbiAgICAgICAgICAgIG9uU2VsZWN0OmZ1bmN0aW9uIChkYXRlVGV4dCl7XHJcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRlVGV4dCk7XHJcbiAgICAgICAgICAgICAgICAkKCcuc2VsZWN0ZWREYXRlVGV4dCcpLnRleHQoZGF0ZVRleHQucmVwbGFjZUFsbCgnLScsJy4nKSk7XHJcblxyXG4gICAgICAgICAgICAgICAgJCgnaW5wdXRbbmFtZT1cImF2YWlsYWJsZURhdGVcIl0nKS52YWwoZGF0ZVRleHQpO1xyXG5cclxuICAgICAgICAgICAgfSxcclxuXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoT3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5idXR0b25OZXdVcGxvYWQnKS5vZmYoJ2NsaWNrJyk7XHJcbiAgICAgICAgJChPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmJ1dHRvbk5ld1VwbG9hZCcpLm9uKCdjbGljaycsZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgICAgIHJvb3Quc2VsZWN0ZWRVcGxvYWRGaWxlVG9nZ2xlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgJChPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmJ1dHRvblVwbG9hZCcpLm9mZignY2xpY2snKTtcclxuICAgICAgICAkKE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuYnV0dG9uVXBsb2FkJykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJy0tLS0tLS0tLS0tLS0tLS0tLScpO1xyXG4gICAgICAgICAgICByb290LnNlbGVjdGVkVXBsb2FkRmlsZVRvZ2dsZSgpO1xyXG5cclxuICAgICAgICAgICAgbGV0IGRhdGE9IG5ldyBGb3JtRGF0YSgkKCcucHJpY2VMaXN0Rm9ybScpWzBdKTtcclxuICAgICAgICAgICAgaWYoJCgnLnN1cHBsaWVyU2VsZWN0JykudmFsKCkubGVuZ3RoPDEpe1xyXG4gICAgICAgICAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiSGliYSFcIiwgbWVzc2FnZTogJ0Fkam9uIG1lZyBiZXN6w6FsbMOtdMOzdCEnLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5EQU5HRVIsIHRpbWVvdXQ6IDEwMDAwIH0pO1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGxldCBmaWxlSW5wdXQ9JCgnI2lucHV0R3JvdXBQcmljZUxpc3RGaWxlJyk7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGZpbGVJbnB1dFswXS5maWxlcy5sZW5ndGg8MSk7XHJcblxyXG4gICAgICAgICAgICAvKiB0ZXN6dGVsZXMgbWlhdHQga2lrYXBjc29sdmEgYSBmYWpsIGVsbGVub3J6ZXNcclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgaWYoIU9wdHMudGVzdEZpbGVNb2Qpe1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZmlsZUlucHV0WzBdLmZpbGVzLmxlbmd0aDwxKTtcclxuICAgICAgICAgICAgICAgIGlmKGZpbGVJbnB1dFswXS5maWxlcy5sZW5ndGg8MSl7XHJcbiAgICAgICAgICAgICAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiSGliYSFcIiwgbWVzc2FnZTogJ1bDoWxsYXN6b24ga2kgZsOhamx0IScsIHN0YXR1czogVE9BU1RfU1RBVFVTLkRBTkdFUiwgdGltZW91dDogMTAwMDAgfSk7XHJcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBkYXRhLmFwcGVuZChmaWxlSW5wdXQuYXR0cignbmFtZScpLGZpbGVJbnB1dFswXS5maWxlc1swXSk7XHJcbiAgICAgICAgICAgIHJvb3Quc2VsZWN0ZWRVcGxvYWRGaWxlVG9nZ2xlKGZpbGVJbnB1dCk7XHJcblxyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgdXJsOk9wdHMuVVJMLnN0b3JlLFxyXG4gICAgICAgICAgICAgICAgZGF0YTpkYXRhLFxyXG4gICAgICAgICAgICAgICAgdHlwZTonUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBjb250ZW50VHlwZTpmYWxzZSxcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NEYXRhOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGJlZm9yZVNlbmQ6IGZ1bmN0aW9uKCkge1xyXG5cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5zdWNjZXNzPT10cnVlKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcm9vdC5wcm9jZXNzQ2hlY2tlZFByaWNlTGlzdFJlc3BvbnNlKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGRhdGEucmVzcG9uc2VKU09OKTtcclxuICAgICAgICAgICAgICAgICAgICByb290LnNlbGVjdGVkVXBsb2FkRmlsZVRvZ2dsZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihkYXRhLnJlc3BvbnNlSlNPTi5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICQoT3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5idXR0b25GaW5hbGl6YXRpb24nKS5vbignY2xpY2snLGZ1bmN0aW9uICgpe1xyXG4gICAgICAgICAgICBsZXQgZGF0YT0gbmV3IEZvcm1EYXRhKCQoJy5wcmljZUxpc3RGb3JtJylbMF0pO1xyXG4gICAgICAgICAgICBsZXQgZmlsZUlucHV0PSQoJyNpbnB1dEdyb3VwUHJpY2VMaXN0RmlsZScpO1xyXG4gICAgICAgICAgICBkYXRhLmFwcGVuZChmaWxlSW5wdXQuYXR0cignbmFtZScpLGZpbGVJbnB1dFswXS5maWxlc1swXSk7XHJcbiAgICAgICAgICAgIGRhdGEuYXBwZW5kKCdmaW5hbGl6YXRpb24nLDEpO1xyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgdXJsOk9wdHMuVVJMLnN0b3JlLFxyXG4gICAgICAgICAgICAgICAgZGF0YTpkYXRhLFxyXG4gICAgICAgICAgICAgICAgdHlwZTonUE9TVCcsXHJcbiAgICAgICAgICAgICAgICBjb250ZW50VHlwZTpmYWxzZSxcclxuICAgICAgICAgICAgICAgIHByb2Nlc3NEYXRhOiBmYWxzZSxcclxuICAgICAgICAgICAgICAgIGJlZm9yZVNlbmQ6IGZ1bmN0aW9uKCkge1xyXG5cclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5zdWNjZXNzKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnByaWNlTGlzdFRhYmxlIHRib2R5IHRyJykucmVtb3ZlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51cGxvYWRTdGF0dXNSb3cgPi5jYW5GaW5pc2gnKS5oaWRlKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51cGxvYWRTdGF0dXNSb3cnKS5hZGRDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy5wcmljZUxpc3RUYWJsZSB0Ym9keScpLmFwcGVuZCgnPHRyPjx0ZCBjb2xzcGFuPVwiOTlcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjsnICtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgZm9udC1zaXplOiAyZW07XCI+IMOBcmxpc3TDoXQgZWxtZW50ZXR0w7xrLjwvdGQ+PC90cj4nKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLnN1Y2Nlc3M9PTEpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByb290LnByb2Nlc3NDaGVja2VkUHJpY2VMaXN0UmVzcG9uc2UoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAqL1xyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbihkYXRhKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YS5yZXNwb25zZUpTT04pO1xyXG4gICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihkYXRhLnJlc3BvbnNlSlNPTi5lcnJvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ1ByaWNlTGlzdEFkbWluIGluaXQgY2FsbGVkJyk7XHJcbiAgICAgICAgJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ09wdCBleHRlbmRlZCcpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKE9wdHMpO1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgSW5pdCBsaXN0IHZpZXdcclxuICAgICAgICAqL1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjYWxsIGxpc3QgdmlldyBJbml0Jyk7XHJcbiAgICAgICAgcm9vdC5pbml0Vmlld0xpc3Qob3B0aW9ucyk7XHJcblxyXG5cclxuICAgIH1cclxuICAgIHRoaXMuZ2V0T3B0cz1mdW5jdGlvbiAoKXtcclxuICAgICAgICByZXR1cm4gT3B0cztcclxuICAgIH1cclxuICAgIGxldCBwcmljZUxpc3RIYXNFcnJvcj1mYWxzZTtcclxuXHJcbiAgICB0aGlzLnByb2Nlc3NDaGVja2VkUHJpY2VMaXN0UmVzcG9uc2U9ZnVuY3Rpb24gKHJlc3BvbnNlRGF0YSl7XHJcbiAgICAgICAgcHJpY2VMaXN0SGFzRXJyb3I9ZmFsc2U7XHJcbiAgICAgICAgcm9vdC5wcm9jZXNzQ2hlY2tlZFByaWNlTGlzdFJlc3BvbnNlUm93cyhyZXNwb25zZURhdGEucm93cyk7XHJcbiAgICAgICAgaWYocHJpY2VMaXN0SGFzRXJyb3Ipe1xyXG4gICAgICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93ID4uY2FuRmluaXNoJykuaGlkZSgpO1xyXG4gICAgICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93ID4uY2FuRmluaXNoRXJyb3InKS5zaG93KCk7XHJcbiAgICAgICAgICAgIHJvb3QuaW5pdEVycm9yTmF2aWdhdGlvbkJ1dHRvbigpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93ID4uY2FuRmluaXNoJykuc2hvdygpO1xyXG4gICAgICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93ID4uY2FuRmluaXNoRXJyb3InKS5oaWRlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICQoJy51cGxvYWRTdGF0dXNSb3cnKS5yZW1vdmVDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgJCgnLmNvbnRhaW5lclVwbG9hZGVkU3Bpbm5lcicpLmFkZENsYXNzKCdkLW5vbmUnKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnByb2Nlc3NDaGVja2VkUHJpY2VMaXN0UmVzcG9uc2VSb3dzPWZ1bmN0aW9uIChyZXNwb25zZVJvd3NEYXRhKXtcclxuICAgICAgICBjb25zb2xlLmxvZygncHJvY2Vzc2luZ1Jvd3MnKTtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gcmVzcG9uc2VSb3dzRGF0YSkge1xyXG4gICAgICAgICAgICBsZXQgcm93RGF0YT1yZXNwb25zZVJvd3NEYXRhW2tleV07XHJcbiAgICAgICAgICAgIGxldCB0ZW1wbGF0ZURhdGE9cm93RGF0YS5vcmlnaW5hbERhdGE7XHJcbiAgICAgICAgICAgIHRlbXBsYXRlRGF0YS5yb3dOdW09cm93RGF0YS5yb3dOdW07XHJcbiAgICAgICAgICAgIGxldCB0ZW1wbGF0ZT0kKCd0ZW1wbGF0ZVtkYXRhLW5hbWU9XCJwcmljZUxpc3RUYWJsZVJvd1wiXScpLmh0bWwoKVxyXG4gICAgICAgICAgICBsZXQgcmVuZGVyPU11c3RhY2hlLnJlbmRlcih0ZW1wbGF0ZSx0ZW1wbGF0ZURhdGEpO1xyXG4gICAgICAgICAgICAkKCcucHJpY2VMaXN0VGFibGUgdGJvZHknKS5hcHBlbmQocmVuZGVyKTtcclxuICAgICAgICAgICAgJCgndHJbZGF0YS1yb3dudW09Jytyb3dEYXRhLnJvd051bSsnXScpLmFkZENsYXNzKCdzdGF0dXMnKyQudWNGaXJzdChyb3dEYXRhLnN0YXR1cykpO1xyXG4gICAgICAgICAgICByb290LnByb2Nlc3NSZXNwb25zZVJvd0Vycm9ycyhyb3dEYXRhLmVycm9yLHJvd0RhdGEucm93TnVtKTtcclxuICAgICAgICAgICAgaWYocm93RGF0YS5jaGFuZ2VkKXtcclxuICAgICAgICAgICAgICAgIHJvb3QucHJvY2Vzc1Jlc3BvbnNlUm93Q2hhbmdlZChyb3dEYXRhLmNoYW5nZWQscm93RGF0YS5yb3dOdW0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9jZXNzUmVzcG9uc2VSb3dDaGFuZ2VkPWZ1bmN0aW9uIChjaGFuZ2VkQXJyYXkscm93TnVtKXtcclxuICAgICAgICBpZihjaGFuZ2VkQXJyYXkubGVuZ3RoPDEpe1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGNvbnNvbGUubG9nKGNoYW5nZWRBcnJheSk7XHJcbiAgICAgICAgLy9maWVsZHMgZXJyb3IgcmVzelxyXG4gICAgICAgIGxldCB0ck5vZGU9JCgndHJbZGF0YS1yb3dudW09Jytyb3dOdW0rJ10nKTtcclxuICAgICAgICBmb3IgKGxldCBrZXkgaW4gY2hhbmdlZEFycmF5KSB7XHJcbiAgICAgICAgICAgIGxldCB0ZE5vZGU9dHJOb2RlLmZpbmQoJ3RkW2RhdGEtcG9pbnRlcj1cIicra2V5KydcIl0nKTtcclxuICAgICAgICAgICAgdGROb2RlLmFkZENsYXNzKCdiZy1wcmltYXJ5Jyk7XHJcbiAgICAgICAgICAgIGxldCBjaGFuZ2VkVHh0Tm9kZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpKS50ZXh0KGNoYW5nZWRBcnJheVtrZXldLm9sZCkuYWRkQ2xhc3MoJ2ZpZWxkQ2hhbmdlZCcpO1xyXG4gICAgICAgICAgICB0ZE5vZGUuYXBwZW5kKGNoYW5nZWRUeHROb2RlKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5wcm9jZXNzUmVzcG9uc2VSb3dFcnJvcnM9ZnVuY3Rpb24gKGVycm9yQXJyYXkscm93TnVtKXtcclxuICAgICAgICBpZihlcnJvckFycmF5Lmxlbmd0aDwxKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAvL2dlbmVyYWwgZXJyb3IgcmVzelxyXG4gICAgICAgIGNvbnNvbGUubG9nKGVycm9yQXJyYXkpO1xyXG4gICAgICAgIHByaWNlTGlzdEhhc0Vycm9yID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgLy9maWVsZHMgZXJyb3IgcmVzelxyXG4gICAgICAgIGlmKHR5cGVvZiBlcnJvckFycmF5LmZpZWxkcyA9PSd1bmRlZmluZWQnKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgdHJOb2RlPSQoJ3RyW2RhdGEtcm93bnVtPScrcm93TnVtKyddJyk7XHJcbiAgICAgICAgZm9yIChsZXQga2V5IGluIGVycm9yQXJyYXkuZmllbGRzKSB7XHJcbiAgICAgICAgICAgIGxldCB0ZE5vZGU9dHJOb2RlLmZpbmQoJ3RkW2RhdGEtcG9pbnRlcj1cIicra2V5KydcIl0nKTtcclxuICAgICAgICAgICAgdGROb2RlLmFkZENsYXNzKCdiZy1kYW5nZXInKTtcclxuICAgICAgICAgICAgbGV0IGVycm9yVHh0Tm9kZT0kKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoXCJzcGFuXCIpKS50ZXh0KGVycm9yQXJyYXkuZmllbGRzW2tleV0pLmFkZENsYXNzKCdmaWVsZEVycm9yJyk7XHJcbiAgICAgICAgICAgIHRkTm9kZS5hcHBlbmQoZXJyb3JUeHROb2RlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn07XHJcbiJdLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsY0FBYyxHQUFDLFVBQVVDLE9BQU8sRUFBQ0MsZ0JBQWdCLEVBQUU7RUFDdEQ7QUFDSjtBQUNBO0FBQ0E7RUFDSSxJQUFJQyxJQUFJLEdBQUc7SUFDUEMsTUFBTSxFQUFFLEtBQUs7SUFDYkMsb0JBQW9CLEVBQUMsZ0JBQWdCO0lBQ3JDQyxXQUFXLEVBQUMsS0FBSztJQUNqQkMsR0FBRyxFQUFDO01BQ0FDLE1BQU0sRUFBQyxFQUFFO01BQ1RDLEtBQUssRUFBQyxFQUFFO01BQ1JDLG1CQUFtQixFQUFDLEVBQUU7TUFDdEJDLE9BQU8sRUFBQztJQUNaO0VBQ0osQ0FBQztFQUNELElBQUlDLFNBQVMsR0FBRyxDQUFDLENBQUM7RUFDbEIsSUFBSUMsSUFBSSxHQUFHLElBQUk7RUFDZixJQUFJQyxvQkFBb0IsR0FBQyxJQUFJOztFQUk3QjtBQUNKO0FBQ0E7RUFDSSxJQUFJLENBQUNDLFNBQVMsR0FBRyxVQUFVZCxPQUFPLEVBQUU7SUFDaENlLEtBQUssQ0FBQyxt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\n//# sourceURL=webpack-internal:///./resources/js/admin/priceList.js\n\n}"); +eval("{window.PriceListAdmin = function (options, ProfitCenterItem) {\n /*\n * Variables accessible\n * in the class\n */\n var Opts = {\n active: false,\n containerCssSelector: \".priceListForm\",\n testFileMod: false,\n URL: {\n create: '',\n store: '',\n getDataTableContent: '',\n destroy: ''\n }\n };\n var PriceList = {};\n var root = this;\n var dataTableCSSSelector = null;\n\n /*\n * Constructor\n */\n this.construct = function (options) {\n debug('PriceListAdmin constructor called');\n $.extend(Opts, options);\n };\n var errorRowPointer = null;\n var errorRowCount = 0;\n this.initErrorNavigationButton = function () {\n errorRowCount = $('.statusError').length;\n errorRowPointer = null;\n $('.priceListForm .buttonPrevError .buttonNextError').off('click');\n $('.priceListForm .buttonPrevError').on('click', function () {\n if (errorRowPointer == null) {\n errorRowPointer = 0;\n } else {\n if (errorRowPointer > 0) {\n errorRowPointer--;\n } else {\n return;\n }\n }\n $('.statusError').removeClass('highlightedErrorRow');\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\n });\n $('.priceListForm .buttonNextError').off('click');\n $('.priceListForm .buttonNextError').on('click', function () {\n if (errorRowPointer == null) {\n errorRowPointer = 0;\n } else {\n if (errorRowPointer < errorRowCount - 1) {\n errorRowPointer++;\n } else {\n return;\n }\n }\n $('.statusError').removeClass('highlightedErrorRow');\n $('.priceListTableWrapper').scrollTop($($('.statusError')[errorRowPointer]).position().top);\n $($('.statusError')[errorRowPointer]).addClass('highlightedErrorRow');\n });\n };\n this.selectedUploadFileToggle = function (fileInput) {\n /*\n console.log(fileInput.attr('name'));\n console.log(fileInput[0].files[0]);\n console.log(fileInput[0].files[0].name);\n */\n if (fileInput) {\n $('.containerFileUpload').addClass('d-none');\n if (fileInput[0].files[0]) {\n $('.containerUploadedFileName').text(fileInput[0].files[0].name);\n }\n $('.containerFileUploadStarted').removeClass('d-none');\n $('.containerUploadedSpinner').removeClass('d-none');\n } else {\n $('.containerUploadedFileName').text('');\n $('.containerFileUploadStarted').addClass('d-none');\n $('.uploadStatusRow').addClass('d-none');\n $('.priceListTable > tbody').empty();\n $('.containerFileUpload').removeClass('d-none');\n }\n };\n this.clickNewPriceListCallBack = function () {\n root.initViewDetails();\n };\n this.clickNewPriceList = function () {\n APP.loadMainContent(Opts.URL.create, root.clickNewPriceListCallBack);\n };\n this.datatableRowActionButtonClick = function (event) {\n var node = $(event[0].currentTarget);\n var row = $(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n //_token\n var ajaxData = {};\n var ajaxUrl = Opts.URL.destroy.replace('%id%', rowData.id);\n ajaxData._token = $('input[name=_token]').val();\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n method: \"DELETE\",\n success: function success(data) {\n if (data.success == true) {\n row.remove().draw();\n }\n }\n });\n /*\n */\n };\n this.initViewList = function (options) {\n debug('listview inicialization');\n dataTableCSSSelector = Opts.containerCssSelector + ' .dataTable'; //\n\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableActionButtonClickCallBack: root.clickNewPriceList,\n datatableRowActionButtonClickCallBack: root.datatableRowActionButtonClick\n });\n APP.dataTablePriceList = $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n var buttons = APP.datatableAddRowTrashButton(0, arguments);\n //buttons+=APP.datatableAddRowEditButton(0,arguments);\n return buttons;\n }\n }\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons: {\n buttons: [\n //'createState', 'savedStates',\n 'excel', 'pdf', {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n }, /**/\n\n {\n text: 'Új felvitele',\n className: 'btn btn-success newItem',\n attr: {\n /*\n data:{\n a:1,\n b:2\n }\n */\n 'data': 'newItem'\n },\n init: function init(api, node, config) {\n $(node).removeClass('ui-button');\n },\n action: function action(e, dt, node, config) {\n APP.datatableActionButtonClickCallBack(arguments);\n /* console.log(e);\n console.log(dt);\n console.log(node);\n console.log(config);*/\n }\n }]\n },\n \"columns\": [{\n \"data\": \"id\"\n }, {\n \"data\": \"supplierName\"\n }, {\n \"data\": \"available\"\n }, {\n \"data\": \"created_at\"\n }, {\n \"data\": \"note\"\n }, null],\n \"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n };\n this.initViewDetails = function (options) {\n $(Opts.containerCssSelector + ' .datePickerClick').off('click');\n $(Opts.containerCssSelector + ' .datePickerClick').on('click', function () {\n $(Opts.containerCssSelector + ' .datePicker').datepicker('show');\n });\n $(Opts.containerCssSelector + ' .datePicker').datepicker({\n dateFormat: 'yy-mm-dd',\n onSelect: function onSelect(dateText) {\n console.log(dateText);\n $('.selectedDateText').text(dateText.replaceAll('-', '.'));\n $('input[name=\"availableDate\"]').val(dateText);\n }\n });\n $(Opts.containerCssSelector + ' .buttonNewUpload').off('click');\n $(Opts.containerCssSelector + ' .buttonNewUpload').on('click', function () {\n root.selectedUploadFileToggle();\n });\n $(Opts.containerCssSelector + ' .buttonUpload').off('click');\n $(Opts.containerCssSelector + ' .buttonUpload').on('click', function () {\n console.log('------------------');\n root.selectedUploadFileToggle();\n var data = new FormData($('.priceListForm')[0]);\n if ($('.supplierSelect').val().length < 1) {\n Toast.create({\n title: \"Hiba!\",\n message: 'Adjon meg beszállítót!',\n status: TOAST_STATUS.DANGER,\n timeout: 10000\n });\n return;\n }\n var fileInput = $('#inputGroupPriceListFile');\n console.log(fileInput[0].files.length < 1);\n\n /* teszteles miatt kikapcsolva a fajl ellenorzes\n */\n if (!Opts.testFileMod) {\n console.log(fileInput[0].files.length < 1);\n if (fileInput[0].files.length < 1) {\n Toast.create({\n title: \"Hiba!\",\n message: 'Vállaszon ki fájlt!',\n status: TOAST_STATUS.DANGER,\n timeout: 10000\n });\n return;\n }\n }\n data.append(fileInput.attr('name'), fileInput[0].files[0]);\n root.selectedUploadFileToggle(fileInput);\n $.ajax({\n url: Opts.URL.store,\n data: data,\n type: 'POST',\n contentType: false,\n processData: false,\n beforeSend: function beforeSend() {},\n success: function success(data) {\n console.log(data);\n if (data.success == true) {\n root.processCheckedPriceListResponse(data);\n }\n },\n error: function error(data) {\n console.log(data.responseJSON);\n root.selectedUploadFileToggle();\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n });\n });\n $(Opts.containerCssSelector + ' .buttonFinalization').on('click', function () {\n var data = new FormData($('.priceListForm')[0]);\n var fileInput = $('#inputGroupPriceListFile');\n data.append(fileInput.attr('name'), fileInput[0].files[0]);\n data.append('finalization', 1);\n $.ajax({\n url: Opts.URL.store,\n data: data,\n type: 'POST',\n contentType: false,\n processData: false,\n beforeSend: function beforeSend() {},\n success: function success(data) {\n console.log(data);\n if (data.success) {\n $('.priceListTable tbody tr').remove();\n $('.uploadStatusRow >.canFinish').hide();\n $('.uploadStatusRow').addClass('d-none');\n $('.priceListTable tbody').append(' Árlistát elmentettük.');\n }\n /*\n if(data.success==1){\n root.processCheckedPriceListResponse(data);\n }\n */\n },\n error: function error(data) {\n console.log(data.responseJSON);\n ajaxErrorFieldHandler(data.responseJSON.error);\n }\n });\n });\n };\n this.init = function (options) {\n console.log('PriceListAdmin init called');\n $.extend(Opts, options);\n console.log('Opt extended');\n console.log(Opts);\n /*\n Init list view\n */\n console.log('call list view Init');\n root.initViewList(options);\n };\n this.getOpts = function () {\n return Opts;\n };\n var priceListHasError = false;\n this.processCheckedPriceListResponse = function (responseData) {\n priceListHasError = false;\n root.processCheckedPriceListResponseRows(responseData.rows);\n if (priceListHasError) {\n $('.uploadStatusRow >.canFinish').hide();\n $('.uploadStatusRow >.canFinishError').show();\n root.initErrorNavigationButton();\n } else {\n $('.uploadStatusRow >.canFinish').show();\n $('.uploadStatusRow >.canFinishError').hide();\n }\n $('.uploadStatusRow').removeClass('d-none');\n $('.containerUploadedSpinner').addClass('d-none');\n };\n this.processCheckedPriceListResponseRows = function (responseRowsData) {\n console.log('processingRows');\n for (var key in responseRowsData) {\n var rowData = responseRowsData[key];\n var templateData = rowData.originalData;\n templateData.rowNum = rowData.rowNum;\n var template = $('template[data-name=\"priceListTableRow\"]').html();\n var render = Mustache.render(template, templateData);\n $('.priceListTable tbody').append(render);\n $('tr[data-rownum=' + rowData.rowNum + ']').addClass('status' + $.ucFirst(rowData.status));\n root.processResponseRowErrors(rowData.error, rowData.rowNum);\n if (rowData.changed) {\n root.processResponseRowChanged(rowData.changed, rowData.rowNum);\n }\n }\n };\n this.processResponseRowChanged = function (changedArray, rowNum) {\n if (changedArray.length < 1) {\n return;\n }\n console.log(changedArray);\n //fields error resz\n var trNode = $('tr[data-rownum=' + rowNum + ']');\n for (var key in changedArray) {\n var tdNode = trNode.find('td[data-pointer=\"' + key + '\"]');\n tdNode.addClass('bg-primary');\n var changedTxtNode = $(document.createElement(\"span\")).text(changedArray[key].old).addClass('fieldChanged');\n tdNode.append(changedTxtNode);\n }\n };\n this.processResponseRowErrors = function (errorArray, rowNum) {\n if (errorArray.length < 1) {\n return;\n }\n //general error resz\n console.log(errorArray);\n priceListHasError = true;\n\n //fields error resz\n if (typeof errorArray.fields == 'undefined') {\n return;\n }\n var trNode = $('tr[data-rownum=' + rowNum + ']');\n for (var key in errorArray.fields) {\n var tdNode = trNode.find('td[data-pointer=\"' + key + '\"]');\n tdNode.addClass('bg-danger');\n var errorTxtNode = $(document.createElement(\"span\")).text(errorArray.fields[key]).addClass('fieldError');\n tdNode.append(errorTxtNode);\n }\n };\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJQcmljZUxpc3RBZG1pbiIsIm9wdGlvbnMiLCJQcm9maXRDZW50ZXJJdGVtIiwiT3B0cyIsImFjdGl2ZSIsImNvbnRhaW5lckNzc1NlbGVjdG9yIiwidGVzdEZpbGVNb2QiLCJVUkwiLCJjcmVhdGUiLCJzdG9yZSIsImdldERhdGFUYWJsZUNvbnRlbnQiLCJkZXN0cm95IiwiUHJpY2VMaXN0Iiwicm9vdCIsImRhdGFUYWJsZUNTU1NlbGVjdG9yIiwiY29uc3RydWN0IiwiZGVidWciLCIkIiwiZXh0ZW5kIiwiZXJyb3JSb3dQb2ludGVyIiwiZXJyb3JSb3dDb3VudCIsImluaXRFcnJvck5hdmlnYXRpb25CdXR0b24iLCJsZW5ndGgiLCJvZmYiLCJvbiIsInJlbW92ZUNsYXNzIiwic2Nyb2xsVG9wIiwicG9zaXRpb24iLCJ0b3AiLCJhZGRDbGFzcyIsInNlbGVjdGVkVXBsb2FkRmlsZVRvZ2dsZSIsImZpbGVJbnB1dCIsImZpbGVzIiwidGV4dCIsIm5hbWUiLCJlbXB0eSIsImNsaWNrTmV3UHJpY2VMaXN0Q2FsbEJhY2siLCJpbml0Vmlld0RldGFpbHMiLCJjbGlja05ld1ByaWNlTGlzdCIsIkFQUCIsImxvYWRNYWluQ29udGVudCIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrIiwiZXZlbnQiLCJub2RlIiwiY3VycmVudFRhcmdldCIsInJvdyIsIkRhdGFUYWJsZSIsInBhcmVudHMiLCJyb3dEYXRhIiwiZGF0YSIsImFqYXhEYXRhIiwiYWpheFVybCIsInJlcGxhY2UiLCJpZCIsIl90b2tlbiIsInZhbCIsImFqYXgiLCJ1cmwiLCJtZXRob2QiLCJzdWNjZXNzIiwicmVtb3ZlIiwiZHJhdyIsImluaXRWaWV3TGlzdCIsImNvbE51bSIsInNldE9wdHMiLCJkYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrIiwiZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjayIsImRhdGFUYWJsZVByaWNlTGlzdCIsImxhbmd1YWdlIiwicmVuZGVyIiwidHlwZSIsImJ1dHRvbnMiLCJkYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbiIsImFyZ3VtZW50cyIsImF1dG9QcmludCIsImNsYXNzTmFtZSIsImF0dHIiLCJpbml0IiwiYXBpIiwiY29uZmlnIiwiYWN0aW9uIiwiZSIsImR0IiwiZHJhd0NhbGxiYWNrIiwic2V0dGluZ3MiLCJkYXRhdGFibGVBZGRSb3dBY3Rpb24iLCJkYXRlcGlja2VyIiwiZGF0ZUZvcm1hdCIsIm9uU2VsZWN0IiwiZGF0ZVRleHQiLCJjb25zb2xlIiwibG9nIiwicmVwbGFjZUFsbCIsIkZvcm1EYXRhIiwiVG9hc3QiLCJ0aXRsZSIsIm1lc3NhZ2UiLCJzdGF0dXMiLCJUT0FTVF9TVEFUVVMiLCJEQU5HRVIiLCJ0aW1lb3V0IiwiYXBwZW5kIiwiY29udGVudFR5cGUiLCJwcm9jZXNzRGF0YSIsImJlZm9yZVNlbmQiLCJwcm9jZXNzQ2hlY2tlZFByaWNlTGlzdFJlc3BvbnNlIiwiZXJyb3IiLCJyZXNwb25zZUpTT04iLCJhamF4RXJyb3JGaWVsZEhhbmRsZXIiLCJoaWRlIiwiZ2V0T3B0cyIsInByaWNlTGlzdEhhc0Vycm9yIiwicmVzcG9uc2VEYXRhIiwicHJvY2Vzc0NoZWNrZWRQcmljZUxpc3RSZXNwb25zZVJvd3MiLCJyb3dzIiwic2hvdyIsInJlc3BvbnNlUm93c0RhdGEiLCJrZXkiLCJ0ZW1wbGF0ZURhdGEiLCJvcmlnaW5hbERhdGEiLCJyb3dOdW0iLCJ0ZW1wbGF0ZSIsImh0bWwiLCJNdXN0YWNoZSIsInVjRmlyc3QiLCJwcm9jZXNzUmVzcG9uc2VSb3dFcnJvcnMiLCJjaGFuZ2VkIiwicHJvY2Vzc1Jlc3BvbnNlUm93Q2hhbmdlZCIsImNoYW5nZWRBcnJheSIsInRyTm9kZSIsInRkTm9kZSIsImZpbmQiLCJjaGFuZ2VkVHh0Tm9kZSIsImRvY3VtZW50IiwiY3JlYXRlRWxlbWVudCIsIm9sZCIsImVycm9yQXJyYXkiLCJmaWVsZHMiLCJlcnJvclR4dE5vZGUiXSwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FkbWluL3ByaWNlTGlzdC5qcz9jYWQ2Il0sInNvdXJjZXNDb250ZW50IjpbIndpbmRvdy5QcmljZUxpc3RBZG1pbj1mdW5jdGlvbiAob3B0aW9ucyxQcm9maXRDZW50ZXJJdGVtKSB7XG4gICAgLypcbiAgICAgKiBWYXJpYWJsZXMgYWNjZXNzaWJsZVxuICAgICAqIGluIHRoZSBjbGFzc1xuICAgICAqL1xuICAgIGxldCBPcHRzID0ge1xuICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICBjb250YWluZXJDc3NTZWxlY3RvcjpcIi5wcmljZUxpc3RGb3JtXCIsXG4gICAgICAgIHRlc3RGaWxlTW9kOmZhbHNlLFxuICAgICAgICBVUkw6e1xuICAgICAgICAgICAgY3JlYXRlOicnLFxuICAgICAgICAgICAgc3RvcmU6JycsXG4gICAgICAgICAgICBnZXREYXRhVGFibGVDb250ZW50OicnLFxuICAgICAgICAgICAgZGVzdHJveTonJyxcbiAgICAgICAgfVxuICAgIH07XG4gICAgbGV0IFByaWNlTGlzdCA9IHt9O1xuICAgIGxldCByb290ID0gdGhpcztcbiAgICBsZXQgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9bnVsbDtcblxuXG5cbiAgICAvKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICovXG4gICAgdGhpcy5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgICBkZWJ1ZygnUHJpY2VMaXN0QWRtaW4gY29uc3RydWN0b3IgY2FsbGVkJyk7XG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xuICAgIH07XG5cbiAgICBsZXQgZXJyb3JSb3dQb2ludGVyPW51bGw7XG4gICAgbGV0IGVycm9yUm93Q291bnQ9MDtcblxuICAgIHRoaXMuaW5pdEVycm9yTmF2aWdhdGlvbkJ1dHRvbj1mdW5jdGlvbiAoKXtcblxuICAgICAgICBlcnJvclJvd0NvdW50PSQoJy5zdGF0dXNFcnJvcicpLmxlbmd0aDtcbiAgICAgICAgZXJyb3JSb3dQb2ludGVyPW51bGw7XG4gICAgICAgICQoJy5wcmljZUxpc3RGb3JtIC5idXR0b25QcmV2RXJyb3IgLmJ1dHRvbk5leHRFcnJvcicpLm9mZignY2xpY2snKVxuICAgICAgICAkKCcucHJpY2VMaXN0Rm9ybSAuYnV0dG9uUHJldkVycm9yJykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgIGlmKGVycm9yUm93UG9pbnRlcj09bnVsbCl7XG4gICAgICAgICAgICAgICAgZXJyb3JSb3dQb2ludGVyPTA7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBpZihlcnJvclJvd1BvaW50ZXI+MCl7XG4gICAgICAgICAgICAgICAgICAgIGVycm9yUm93UG9pbnRlci0tO1xuICAgICAgICAgICAgICAgIH1lbHNle3JldHVybjt9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkKCcuc3RhdHVzRXJyb3InKS5yZW1vdmVDbGFzcygnaGlnaGxpZ2h0ZWRFcnJvclJvdycpO1xuICAgICAgICAgICAgJCgnLnByaWNlTGlzdFRhYmxlV3JhcHBlcicpLnNjcm9sbFRvcCgkKCQoJy5zdGF0dXNFcnJvcicpW2Vycm9yUm93UG9pbnRlcl0pLnBvc2l0aW9uKCkudG9wKTtcbiAgICAgICAgICAgICQoJCgnLnN0YXR1c0Vycm9yJylbZXJyb3JSb3dQb2ludGVyXSkuYWRkQ2xhc3MoJ2hpZ2hsaWdodGVkRXJyb3JSb3cnKTtcbiAgICAgICAgfSk7XG4gICAgICAgICQoJy5wcmljZUxpc3RGb3JtIC5idXR0b25OZXh0RXJyb3InKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICQoJy5wcmljZUxpc3RGb3JtIC5idXR0b25OZXh0RXJyb3InKS5vbignY2xpY2snLGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgaWYoZXJyb3JSb3dQb2ludGVyPT1udWxsKXtcbiAgICAgICAgICAgICAgICBlcnJvclJvd1BvaW50ZXI9MDtcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIGlmKGVycm9yUm93UG9pbnRlcjxlcnJvclJvd0NvdW50LTEpe1xuICAgICAgICAgICAgICAgICAgICBlcnJvclJvd1BvaW50ZXIrKztcbiAgICAgICAgICAgICAgICB9ZWxzZXtyZXR1cm47fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJCgnLnN0YXR1c0Vycm9yJykucmVtb3ZlQ2xhc3MoJ2hpZ2hsaWdodGVkRXJyb3JSb3cnKTtcbiAgICAgICAgICAgICQoJy5wcmljZUxpc3RUYWJsZVdyYXBwZXInKS5zY3JvbGxUb3AoJCgkKCcuc3RhdHVzRXJyb3InKVtlcnJvclJvd1BvaW50ZXJdKS5wb3NpdGlvbigpLnRvcCk7XG4gICAgICAgICAgICAkKCQoJy5zdGF0dXNFcnJvcicpW2Vycm9yUm93UG9pbnRlcl0pLmFkZENsYXNzKCdoaWdobGlnaHRlZEVycm9yUm93Jyk7XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZFVwbG9hZEZpbGVUb2dnbGU9ZnVuY3Rpb24gKGZpbGVJbnB1dCl7XG4gICAgICAgIC8qXG4gICAgICAgIGNvbnNvbGUubG9nKGZpbGVJbnB1dC5hdHRyKCduYW1lJykpO1xuICAgICAgICBjb25zb2xlLmxvZyhmaWxlSW5wdXRbMF0uZmlsZXNbMF0pO1xuICAgICAgICBjb25zb2xlLmxvZyhmaWxlSW5wdXRbMF0uZmlsZXNbMF0ubmFtZSk7XG4gICAgICAgICovXG4gICAgICAgIGlmKGZpbGVJbnB1dCl7XG4gICAgICAgICAgICAkKCcuY29udGFpbmVyRmlsZVVwbG9hZCcpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgIGlmKGZpbGVJbnB1dFswXS5maWxlc1swXSl7XG4gICAgICAgICAgICAgICAgJCgnLmNvbnRhaW5lclVwbG9hZGVkRmlsZU5hbWUnKS50ZXh0KGZpbGVJbnB1dFswXS5maWxlc1swXS5uYW1lKTtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJCgnLmNvbnRhaW5lckZpbGVVcGxvYWRTdGFydGVkJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAgICAgJCgnLmNvbnRhaW5lclVwbG9hZGVkU3Bpbm5lcicpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAkKCcuY29udGFpbmVyVXBsb2FkZWRGaWxlTmFtZScpLnRleHQoJycpO1xuICAgICAgICAgICAgJCgnLmNvbnRhaW5lckZpbGVVcGxvYWRTdGFydGVkJykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAgICAgJCgnLnVwbG9hZFN0YXR1c1JvdycpLmFkZENsYXNzKCdkLW5vbmUnKTtcblxuICAgICAgICAgICAgJCgnLnByaWNlTGlzdFRhYmxlID4gdGJvZHknKS5lbXB0eSgpO1xuICAgICAgICAgICAgJCgnLmNvbnRhaW5lckZpbGVVcGxvYWQnKS5yZW1vdmVDbGFzcygnZC1ub25lJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmNsaWNrTmV3UHJpY2VMaXN0Q2FsbEJhY2s9ZnVuY3Rpb24gKCkge1xuICAgICAgICByb290LmluaXRWaWV3RGV0YWlscygpO1xuICAgIH1cbiAgICB0aGlzLmNsaWNrTmV3UHJpY2VMaXN0PWZ1bmN0aW9uKCl7XG4gICAgICAgIEFQUC5sb2FkTWFpbkNvbnRlbnQoT3B0cy5VUkwuY3JlYXRlLHJvb3QuY2xpY2tOZXdQcmljZUxpc3RDYWxsQmFjayk7XG4gICAgfVxuICAgIHRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2s9ZnVuY3Rpb24oZXZlbnQpe1xuICAgICAgICBsZXQgbm9kZT0kKGV2ZW50WzBdLmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICBsZXQgcm93PSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgpLnJvdyhub2RlLnBhcmVudHMoJ3RyJykpO1xuICAgICAgICBsZXQgcm93RGF0YT1yb3cuZGF0YSgpO1xuICAgICAgICAvL190b2tlblxuICAgICAgICBsZXQgYWpheERhdGE9e307XG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLmRlc3Ryb3kucmVwbGFjZSgnJWlkJScscm93RGF0YS5pZCk7XG4gICAgICAgIGFqYXhEYXRhLl90b2tlbj0kKCdpbnB1dFtuYW1lPV90b2tlbl0nKS52YWwoKTtcbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHVybDphamF4VXJsLFxuICAgICAgICAgICAgZGF0YTphamF4RGF0YSxcbiAgICAgICAgICAgIG1ldGhvZDpcIkRFTEVURVwiLFxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbiAoZGF0YSl7XG4gICAgICAgICAgICAgICAgaWYoZGF0YS5zdWNjZXNzPT10cnVlKXtcbiAgICAgICAgICAgICAgICAgICAgcm93LnJlbW92ZSgpLmRyYXcoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgfSk7XG4vKlxuKi9cblxuXG4gICAgfVxuXG4gICAgdGhpcy5pbml0Vmlld0xpc3QgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgaW5pY2lhbGl6YXRpb24nKTtcbiAgICAgICAgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9T3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5kYXRhVGFibGUnOyAvL1xuXG4gICAgICAgIGxldCBjb2xOdW09JChkYXRhVGFibGVDU1NTZWxlY3RvcisnIHRoZWFkIHRoJykubGVuZ3RoOyAvL2J1dHRvbnMgaW5zZXJ0IHBvc2l0aW9uIG5lZWRcbiAgICAgICAgQVBQLnNldE9wdHMoe1xuICAgICAgICAgICAgZGF0YXRhYmxlQWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjazpyb290LmNsaWNrTmV3UHJpY2VMaXN0LFxuICAgICAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjazpyb290LmRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrLFxuXG4gICAgICAgIH0pXG5cblxuICAgICAgICBBUFAuZGF0YVRhYmxlUHJpY2VMaXN0PSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgge1xuICAgICAgICAgICAgbGFuZ3VhZ2U6IHtcbiAgICAgICAgICAgICAgICB1cmw6ICcvL2Nkbi5kYXRhdGFibGVzLm5ldC9wbHVnLWlucy8xLjEwLjI0L2kxOG4vSHVuZ2FyaWFuLmpzb24nXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvL1wiYWpheFwiOiBcInt7YXNzZXQoJ2V4YXBtbGUyLmpzb24nKX19XCIsXG4gICAgICAgICAgICBcImFqYXhcIjogT3B0cy5VUkwuZ2V0RGF0YVRhYmxlQ29udGVudCxcbiAgICAgICAgICAgIFwiY29sdW1uRGVmc1wiOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogY29sTnVtLTEsXG4gICAgICAgICAgICAgICAgICAgIFwicmVuZGVyXCI6IGZ1bmN0aW9uICggZGF0YSwgdHlwZSwgcm93ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ1dHRvbnM9QVBQLmRhdGF0YWJsZUFkZFJvd1RyYXNoQnV0dG9uKDAsYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vYnV0dG9ucys9QVBQLmRhdGF0YWJsZUFkZFJvd0VkaXRCdXR0b24oMCxhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGJ1dHRvbnM7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAvL3sgXCJ2aXNpYmxlXCI6IGZhbHNlLCAgXCJ0YXJnZXRzXCI6IFsgMCBdIH1cbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBidXR0b25zOntcblxuICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICAgICAgICAgLy8nY3JlYXRlU3RhdGUnLCAnc2F2ZWRTdGF0ZXMnLFxuICAgICAgICAgICAgICAgICAgICAnZXhjZWwnLCdwZGYnLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQ6ICdwcmludCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RleHQ6ICdQcmludCBjdXJyZW50IHBhZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RpdGxlJzogJ3RpdGxlIGN1c3RvbSB0ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlVG9wJzogJ01lc3NhZ2UgT24gVG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9QcmludDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvKiovXG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ8OaaiBmZWx2aXRlbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1zdWNjZXNzIG5ld0l0ZW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cjp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhOjEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOjJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YSc6J25ld0l0ZW0nXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24oYXBpLCBub2RlLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG5vZGUpLnJlbW92ZUNsYXNzKCd1aS1idXR0b24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnVuY3Rpb24gKCBlLCBkdCwgbm9kZSwgY29uZmlnICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQUC5kYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrKGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGR0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGNvbmZpZyk7Ki9cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiY29sdW1uc1wiOiBbXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJpZFwiIH0sXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJzdXBwbGllck5hbWVcIiB9LFxuICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwiYXZhaWxhYmxlXCIgfSxcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImNyZWF0ZWRfYXRcIiB9LFxuICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwibm90ZVwiIH0sXG4gICAgICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIF0sXG4gICAgICAgICAgICBcInN0YXRlU2F2ZVwiOiB0cnVlLFxuICAgICAgICAgICAgXCJkcmF3Q2FsbGJhY2tcIjogZnVuY3Rpb24oIHNldHRpbmdzICkge1xuICAgICAgICAgICAgICAgIEFQUC5kYXRhdGFibGVBZGRSb3dBY3Rpb24oZGF0YVRhYmxlQ1NTU2VsZWN0b3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICk7XG5cblxuICAgIH1cblxuICAgIHRoaXMuaW5pdFZpZXdEZXRhaWxzID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgICAgJChPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmRhdGVQaWNrZXJDbGljaycpLm9mZignY2xpY2snKTtcbiAgICAgICAgJChPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmRhdGVQaWNrZXJDbGljaycpLm9uKCdjbGljaycsZnVuY3Rpb24oKXtcbiAgICAgICAgICAgICQoT3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5kYXRlUGlja2VyJykuZGF0ZXBpY2tlcignc2hvdycpO1xuICAgICAgICB9KTtcblxuICAgICAgICAkKE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuZGF0ZVBpY2tlcicpLmRhdGVwaWNrZXIoe1xuICAgICAgICAgICAgZGF0ZUZvcm1hdDogJ3l5LW1tLWRkJyxcbiAgICAgICAgICAgIG9uU2VsZWN0OmZ1bmN0aW9uIChkYXRlVGV4dCl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0ZVRleHQpO1xuICAgICAgICAgICAgICAgICQoJy5zZWxlY3RlZERhdGVUZXh0JykudGV4dChkYXRlVGV4dC5yZXBsYWNlQWxsKCctJywnLicpKTtcblxuICAgICAgICAgICAgICAgICQoJ2lucHV0W25hbWU9XCJhdmFpbGFibGVEYXRlXCJdJykudmFsKGRhdGVUZXh0KTtcblxuICAgICAgICAgICAgfSxcblxuICAgICAgICB9KTtcblxuICAgICAgICAkKE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuYnV0dG9uTmV3VXBsb2FkJykub2ZmKCdjbGljaycpO1xuICAgICAgICAkKE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuYnV0dG9uTmV3VXBsb2FkJykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgIHJvb3Quc2VsZWN0ZWRVcGxvYWRGaWxlVG9nZ2xlKCk7XG4gICAgICAgIH0pO1xuICAgICAgICAkKE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuYnV0dG9uVXBsb2FkJykub2ZmKCdjbGljaycpO1xuICAgICAgICAkKE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuYnV0dG9uVXBsb2FkJykub24oJ2NsaWNrJyxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCctLS0tLS0tLS0tLS0tLS0tLS0nKTtcbiAgICAgICAgICAgIHJvb3Quc2VsZWN0ZWRVcGxvYWRGaWxlVG9nZ2xlKCk7XG5cbiAgICAgICAgICAgIGxldCBkYXRhPSBuZXcgRm9ybURhdGEoJCgnLnByaWNlTGlzdEZvcm0nKVswXSk7XG4gICAgICAgICAgICBpZigkKCcuc3VwcGxpZXJTZWxlY3QnKS52YWwoKS5sZW5ndGg8MSl7XG4gICAgICAgICAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiSGliYSFcIiwgbWVzc2FnZTogJ0Fkam9uIG1lZyBiZXN6w6FsbMOtdMOzdCEnLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5EQU5HRVIsIHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxldCBmaWxlSW5wdXQ9JCgnI2lucHV0R3JvdXBQcmljZUxpc3RGaWxlJyk7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhmaWxlSW5wdXRbMF0uZmlsZXMubGVuZ3RoPDEpO1xuXG4gICAgICAgICAgICAvKiB0ZXN6dGVsZXMgbWlhdHQga2lrYXBjc29sdmEgYSBmYWpsIGVsbGVub3J6ZXNcbiAgICAgICAgICAgICovXG4gICAgICAgICAgICBpZighT3B0cy50ZXN0RmlsZU1vZCl7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coZmlsZUlucHV0WzBdLmZpbGVzLmxlbmd0aDwxKTtcbiAgICAgICAgICAgICAgICBpZihmaWxlSW5wdXRbMF0uZmlsZXMubGVuZ3RoPDEpe1xuICAgICAgICAgICAgICAgICAgICBUb2FzdC5jcmVhdGUoeyB0aXRsZTogXCJIaWJhIVwiLCBtZXNzYWdlOiAnVsOhbGxhc3pvbiBraSBmw6FqbHQhJywgc3RhdHVzOiBUT0FTVF9TVEFUVVMuREFOR0VSLCB0aW1lb3V0OiAxMDAwMCB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGF0YS5hcHBlbmQoZmlsZUlucHV0LmF0dHIoJ25hbWUnKSxmaWxlSW5wdXRbMF0uZmlsZXNbMF0pO1xuICAgICAgICAgICAgcm9vdC5zZWxlY3RlZFVwbG9hZEZpbGVUb2dnbGUoZmlsZUlucHV0KTtcblxuICAgICAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgICAgICB1cmw6T3B0cy5VUkwuc3RvcmUsXG4gICAgICAgICAgICAgICAgZGF0YTpkYXRhLFxuICAgICAgICAgICAgICAgIHR5cGU6J1BPU1QnLFxuICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOmZhbHNlLFxuICAgICAgICAgICAgICAgIHByb2Nlc3NEYXRhOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBiZWZvcmVTZW5kOiBmdW5jdGlvbigpIHtcblxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24oZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgaWYoZGF0YS5zdWNjZXNzPT10cnVlKXtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJvb3QucHJvY2Vzc0NoZWNrZWRQcmljZUxpc3RSZXNwb25zZShkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YS5yZXNwb25zZUpTT04pO1xuICAgICAgICAgICAgICAgICAgICByb290LnNlbGVjdGVkVXBsb2FkRmlsZVRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoZGF0YS5yZXNwb25zZUpTT04uZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgICAgICQoT3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5idXR0b25GaW5hbGl6YXRpb24nKS5vbignY2xpY2snLGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgbGV0IGRhdGE9IG5ldyBGb3JtRGF0YSgkKCcucHJpY2VMaXN0Rm9ybScpWzBdKTtcbiAgICAgICAgICAgIGxldCBmaWxlSW5wdXQ9JCgnI2lucHV0R3JvdXBQcmljZUxpc3RGaWxlJyk7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZChmaWxlSW5wdXQuYXR0cignbmFtZScpLGZpbGVJbnB1dFswXS5maWxlc1swXSk7XG4gICAgICAgICAgICBkYXRhLmFwcGVuZCgnZmluYWxpemF0aW9uJywxKTtcbiAgICAgICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICAgICAgdXJsOk9wdHMuVVJMLnN0b3JlLFxuICAgICAgICAgICAgICAgIGRhdGE6ZGF0YSxcbiAgICAgICAgICAgICAgICB0eXBlOidQT1NUJyxcbiAgICAgICAgICAgICAgICBjb250ZW50VHlwZTpmYWxzZSxcbiAgICAgICAgICAgICAgICBwcm9jZXNzRGF0YTogZmFsc2UsXG4gICAgICAgICAgICAgICAgYmVmb3JlU2VuZDogZnVuY3Rpb24oKSB7XG5cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YSk7XG4gICAgICAgICAgICAgICAgICAgIGlmKGRhdGEuc3VjY2Vzcyl7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKCcucHJpY2VMaXN0VGFibGUgdGJvZHkgdHInKS5yZW1vdmUoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQoJy51cGxvYWRTdGF0dXNSb3cgPi5jYW5GaW5pc2gnKS5oaWRlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93JykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgJCgnLnByaWNlTGlzdFRhYmxlIHRib2R5JykuYXBwZW5kKCc8dHI+PHRkIGNvbHNwYW49XCI5OVwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyOycgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAgZm9udC1zaXplOiAyZW07XCI+IMOBcmxpc3TDoXQgZWxtZW50ZXR0w7xrLjwvdGQ+PC90cj4nKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAvKlxuICAgICAgICAgICAgICAgICAgICBpZihkYXRhLnN1Y2Nlc3M9PTEpe1xuICAgICAgICAgICAgICAgICAgICAgICAgcm9vdC5wcm9jZXNzQ2hlY2tlZFByaWNlTGlzdFJlc3BvbnNlKGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coZGF0YS5yZXNwb25zZUpTT04pO1xuICAgICAgICAgICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoZGF0YS5yZXNwb25zZUpTT04uZXJyb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgdGhpcy5pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgICAgY29uc29sZS5sb2coJ1ByaWNlTGlzdEFkbWluIGluaXQgY2FsbGVkJyk7XG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xuICAgICAgICBjb25zb2xlLmxvZygnT3B0IGV4dGVuZGVkJyk7XG4gICAgICAgIGNvbnNvbGUubG9nKE9wdHMpO1xuICAgICAgICAvKlxuICAgICAgICBJbml0IGxpc3Qgdmlld1xuICAgICAgICAqL1xuICAgICAgICBjb25zb2xlLmxvZygnY2FsbCBsaXN0IHZpZXcgSW5pdCcpO1xuICAgICAgICByb290LmluaXRWaWV3TGlzdChvcHRpb25zKTtcblxuXG4gICAgfVxuICAgIHRoaXMuZ2V0T3B0cz1mdW5jdGlvbiAoKXtcbiAgICAgICAgcmV0dXJuIE9wdHM7XG4gICAgfVxuICAgIGxldCBwcmljZUxpc3RIYXNFcnJvcj1mYWxzZTtcblxuICAgIHRoaXMucHJvY2Vzc0NoZWNrZWRQcmljZUxpc3RSZXNwb25zZT1mdW5jdGlvbiAocmVzcG9uc2VEYXRhKXtcbiAgICAgICAgcHJpY2VMaXN0SGFzRXJyb3I9ZmFsc2U7XG4gICAgICAgIHJvb3QucHJvY2Vzc0NoZWNrZWRQcmljZUxpc3RSZXNwb25zZVJvd3MocmVzcG9uc2VEYXRhLnJvd3MpO1xuICAgICAgICBpZihwcmljZUxpc3RIYXNFcnJvcil7XG4gICAgICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93ID4uY2FuRmluaXNoJykuaGlkZSgpO1xuICAgICAgICAgICAgJCgnLnVwbG9hZFN0YXR1c1JvdyA+LmNhbkZpbmlzaEVycm9yJykuc2hvdygpO1xuICAgICAgICAgICAgcm9vdC5pbml0RXJyb3JOYXZpZ2F0aW9uQnV0dG9uKCk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgJCgnLnVwbG9hZFN0YXR1c1JvdyA+LmNhbkZpbmlzaCcpLnNob3coKTtcbiAgICAgICAgICAgICQoJy51cGxvYWRTdGF0dXNSb3cgPi5jYW5GaW5pc2hFcnJvcicpLmhpZGUoKTtcbiAgICAgICAgfVxuICAgICAgICAkKCcudXBsb2FkU3RhdHVzUm93JykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAkKCcuY29udGFpbmVyVXBsb2FkZWRTcGlubmVyJykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xuICAgIH1cblxuICAgIHRoaXMucHJvY2Vzc0NoZWNrZWRQcmljZUxpc3RSZXNwb25zZVJvd3M9ZnVuY3Rpb24gKHJlc3BvbnNlUm93c0RhdGEpe1xuICAgICAgICBjb25zb2xlLmxvZygncHJvY2Vzc2luZ1Jvd3MnKTtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIHJlc3BvbnNlUm93c0RhdGEpIHtcbiAgICAgICAgICAgIGxldCByb3dEYXRhPXJlc3BvbnNlUm93c0RhdGFba2V5XTtcbiAgICAgICAgICAgIGxldCB0ZW1wbGF0ZURhdGE9cm93RGF0YS5vcmlnaW5hbERhdGE7XG4gICAgICAgICAgICB0ZW1wbGF0ZURhdGEucm93TnVtPXJvd0RhdGEucm93TnVtO1xuICAgICAgICAgICAgbGV0IHRlbXBsYXRlPSQoJ3RlbXBsYXRlW2RhdGEtbmFtZT1cInByaWNlTGlzdFRhYmxlUm93XCJdJykuaHRtbCgpXG4gICAgICAgICAgICBsZXQgcmVuZGVyPU11c3RhY2hlLnJlbmRlcih0ZW1wbGF0ZSx0ZW1wbGF0ZURhdGEpO1xuICAgICAgICAgICAgJCgnLnByaWNlTGlzdFRhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XG4gICAgICAgICAgICAkKCd0cltkYXRhLXJvd251bT0nK3Jvd0RhdGEucm93TnVtKyddJykuYWRkQ2xhc3MoJ3N0YXR1cycrJC51Y0ZpcnN0KHJvd0RhdGEuc3RhdHVzKSk7XG4gICAgICAgICAgICByb290LnByb2Nlc3NSZXNwb25zZVJvd0Vycm9ycyhyb3dEYXRhLmVycm9yLHJvd0RhdGEucm93TnVtKTtcbiAgICAgICAgICAgIGlmKHJvd0RhdGEuY2hhbmdlZCl7XG4gICAgICAgICAgICAgICAgcm9vdC5wcm9jZXNzUmVzcG9uc2VSb3dDaGFuZ2VkKHJvd0RhdGEuY2hhbmdlZCxyb3dEYXRhLnJvd051bSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5wcm9jZXNzUmVzcG9uc2VSb3dDaGFuZ2VkPWZ1bmN0aW9uIChjaGFuZ2VkQXJyYXkscm93TnVtKXtcbiAgICAgICAgaWYoY2hhbmdlZEFycmF5Lmxlbmd0aDwxKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zb2xlLmxvZyhjaGFuZ2VkQXJyYXkpO1xuICAgICAgICAvL2ZpZWxkcyBlcnJvciByZXN6XG4gICAgICAgIGxldCB0ck5vZGU9JCgndHJbZGF0YS1yb3dudW09Jytyb3dOdW0rJ10nKTtcbiAgICAgICAgZm9yIChsZXQga2V5IGluIGNoYW5nZWRBcnJheSkge1xuICAgICAgICAgICAgbGV0IHRkTm9kZT10ck5vZGUuZmluZCgndGRbZGF0YS1wb2ludGVyPVwiJytrZXkrJ1wiXScpO1xuICAgICAgICAgICAgdGROb2RlLmFkZENsYXNzKCdiZy1wcmltYXJ5Jyk7XG4gICAgICAgICAgICBsZXQgY2hhbmdlZFR4dE5vZGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKSkudGV4dChjaGFuZ2VkQXJyYXlba2V5XS5vbGQpLmFkZENsYXNzKCdmaWVsZENoYW5nZWQnKTtcbiAgICAgICAgICAgIHRkTm9kZS5hcHBlbmQoY2hhbmdlZFR4dE5vZGUpO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgdGhpcy5wcm9jZXNzUmVzcG9uc2VSb3dFcnJvcnM9ZnVuY3Rpb24gKGVycm9yQXJyYXkscm93TnVtKXtcbiAgICAgICAgaWYoZXJyb3JBcnJheS5sZW5ndGg8MSl7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy9nZW5lcmFsIGVycm9yIHJlc3pcbiAgICAgICAgY29uc29sZS5sb2coZXJyb3JBcnJheSk7XG4gICAgICAgIHByaWNlTGlzdEhhc0Vycm9yID0gdHJ1ZTtcblxuICAgICAgICAvL2ZpZWxkcyBlcnJvciByZXN6XG4gICAgICAgIGlmKHR5cGVvZiBlcnJvckFycmF5LmZpZWxkcyA9PSd1bmRlZmluZWQnKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgdHJOb2RlPSQoJ3RyW2RhdGEtcm93bnVtPScrcm93TnVtKyddJyk7XG4gICAgICAgIGZvciAobGV0IGtleSBpbiBlcnJvckFycmF5LmZpZWxkcykge1xuICAgICAgICAgICAgbGV0IHRkTm9kZT10ck5vZGUuZmluZCgndGRbZGF0YS1wb2ludGVyPVwiJytrZXkrJ1wiXScpO1xuICAgICAgICAgICAgdGROb2RlLmFkZENsYXNzKCdiZy1kYW5nZXInKTtcbiAgICAgICAgICAgIGxldCBlcnJvclR4dE5vZGU9JChkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwic3BhblwiKSkudGV4dChlcnJvckFycmF5LmZpZWxkc1trZXldKS5hZGRDbGFzcygnZmllbGRFcnJvcicpO1xuICAgICAgICAgICAgdGROb2RlLmFwcGVuZChlcnJvclR4dE5vZGUpO1xuICAgICAgICB9XG4gICAgfVxufTtcbiJdLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsY0FBYyxHQUFDLFVBQVVDLE9BQU8sRUFBQ0MsZ0JBQWdCLEVBQUU7RUFDdEQ7QUFDSjtBQUNBO0FBQ0E7RUFDSSxJQUFJQyxJQUFJLEdBQUc7SUFDUEMsTUFBTSxFQUFFLEtBQUs7SUFDYkMsb0JBQW9CLEVBQUMsZ0JBQWdCO0lBQ3JDQyxXQUFXLEVBQUMsS0FBSztJQUNqQkMsR0FBRyxFQUFDO01BQ0FDLE1BQU0sRUFBQyxFQUFFO01BQ1RDLEtBQUssRUFBQyxFQUFFO01BQ1JDLG1CQUFtQixFQUFDLEVBQUU7TUFDdEJDLE9BQU8sRUFBQztJQUNaO0VBQ0osQ0FBQztFQUNELElBQUlDLFNBQVMsR0FBRyxDQUFDLENBQUM7RUFDbEIsSUFBSUMsSUFBSSxHQUFHLElBQUk7RUFDZixJQUFJ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QUFNLEdBQUNELE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLG1CQUFtQixHQUFDZCxHQUFHLEdBQUMsSUFBSSxDQUFDO01BQ3BEYSxNQUFNLENBQUNyRyxRQUFRLENBQUMsWUFBWSxDQUFDO01BQzdCLElBQUl1RyxjQUFjLEdBQUNuSCxDQUFDLENBQUNvSCxRQUFRLENBQUNDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDckcsSUFBSSxDQUFDK0YsWUFBWSxDQUFDWCxHQUFHLENBQUMsQ0FBQ2tCLEdBQUcsQ0FBQyxDQUFDMUcsUUFBUSxDQUFDLGNBQWMsQ0FBQztNQUN6R3FHLE1BQU0sQ0FBQzdCLE1BQU0sQ0FBQytCLGNBQWMsQ0FBQztJQUNqQztFQUVKLENBQUM7RUFDRCxJQUFJLENBQUNQLHdCQUF3QixHQUFDLFVBQVVXLFVBQVUsRUFBQ2hCLE1BQU0sRUFBQztJQUN0RCxJQUFHZ0IsVUFBVSxDQUFDbEgsTUFBTSxHQUFDLENBQUMsRUFBQztNQUNuQjtJQUNKO0lBQ0E7SUFDQW9FLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDNkMsVUFBVSxDQUFDO0lBQ3ZCekIsaUJBQWlCLEdBQUcsSUFBSTs7SUFFeEI7SUFDQSxJQUFHLE9BQU95QixVQUFVLENBQUNDLE1BQU0sSUFBRyxXQUFXLEVBQUM7TUFDdEM7SUFDSjtJQUNBLElBQUlSLE1BQU0sR0FBQ2hILENBQUMsQ0FBQyxpQkFBaUIsR0FBQ3VHLE1BQU0sR0FBQyxHQUFHLENBQUM7SUFDMUMsS0FBSyxJQUFJSCxHQUFHLElBQUltQixVQUFVLENBQUNDLE1BQU0sRUFBRTtNQUMvQixJQUFJUCxNQUFNLEdBQUNELE1BQU0sQ0FBQ0UsSUFBSSxDQUFDLG1CQUFtQixHQUFDZCxHQUFHLEdBQUMsSUFBSSxDQUFDO01BQ3BEYSxNQUFNLENBQUNyRyxRQUFRLENBQUMsV0FBVyxDQUFDO01BQzVCLElBQUk2RyxZQUFZLEdBQUN6SCxDQUFDLENBQUNvSCxRQUFRLENBQUNDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDckcsSUFBSSxDQUFDdUcsVUFBVSxDQUFDQyxNQUFNLENBQUNwQixHQUFHLENBQUMsQ0FBQyxDQUFDeEYsUUFBUSxDQUFDLFlBQVksQ0FBQztNQUN0R3FHLE1BQU0sQ0FBQzdCLE1BQU0sQ0FBQ3FDLFlBQVksQ0FBQztJQUMvQjtFQUNKLENBQUM7QUFDTCxDQUFDIiwiaWdub3JlTGlzdCI6W10sImZpbGUiOiIuL3Jlc291cmNlcy9qcy9hZG1pbi9wcmljZUxpc3QuanMiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/admin/priceList.js\n\n}"); /***/ }, @@ -55,7 +55,7 @@ eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"fun \********************************************/ () { -eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nif (typeof DataModelProfitCenter === 'undefined') {\n var _DataModelProfitCenter = /*#__PURE__*/function (_DataModel) {\n /*\r\n * Constructor\r\n */\n function _DataModelProfitCenter(data, options) {\n var _this;\n _classCallCheck(this, _DataModelProfitCenter);\n _this = _callSuper(this, _DataModelProfitCenter, [data, options]);\n if (typeof _this.contact === \"undefined\") {\n _this.contact = [];\n }\n if (typeof _this.address === \"undefined\") {\n _this.address = [];\n }\n console.log(_this.constructor.name + ' constructor called');\n return _this;\n }\n _inherits(_DataModelProfitCenter, _DataModel);\n return _createClass(_DataModelProfitCenter);\n }(DataModel);\n ;\n window.DataModelProfitCenter = _DataModelProfitCenter;\n}\nwindow.ProfitCenterAdmin = function (options, ProfitCenterItem) {\n /*\r\n * Variables accessible\r\n * in the class\r\n */\n var Opts = {\n token: null,\n containerCssSelector: '.containerProfitCenter',\n testMode: false,\n URL: {\n getDataTableContent: '',\n index: '',\n show: '',\n edit: '',\n create: '',\n store: '',\n update: '',\n destroy: ''\n },\n dataTable: {\n orderDirective: [1, 'asc']\n },\n onAfterInitViewDetails: function onAfterInitViewDetails() {}\n };\n var ProfitCenter = {};\n var root = this;\n var contactPopupWorkflow = 'new';\n var addressPopupWorkflow = 'new';\n var CSSSelectorForm = '';\n var dataTableCSSSelector = '';\n /*\r\n * Constructor\r\n */\n this.construct = function (options, ProfitCenterItem) {\n console.log('ProfitCenterAdmin constructor called');\n $.extend(Opts, options);\n if (!ProfitCenterItem) {\n console.log('ProfitCentert letre kellet hozni ');\n if (!APP.ProfitCenter) {\n APP.ProfitCenter = new window.DataModelProfitCenter();\n }\n root.ProfitCenter = APP.ProfitCenter;\n }\n CSSSelectorForm = Opts.containerCssSelector + ' .profitCenterForm';\n };\n this.getOpts = function () {\n return Opts;\n };\n this.getData = function () {\n return root.ProfitCenter;\n };\n this.init = function (options, ProfitCenterItem) {\n $.extend(Opts, options);\n if (Opts.testMode) {\n return root.testMode();\n }\n if (ProfitCenterItem) {\n root.ProfitCenter = ProfitCenterItem;\n }\n root.initViewList();\n };\n this.clickNew = function () {\n debug('clickNew');\n APP.loadMainContent(Opts.URL.create, root.clickNewCallBack);\n };\n this.clickNewCallBack = function () {\n debug('callbackNew');\n root.ProfitCenter = new window.DataModelProfitCenter();\n root.initViewDetails();\n };\n this.initViewDetails = function (options, SupplierItem) {\n debug('**call initViewDetails ');\n /**\r\n * Contact Popup setup\r\n */\n if (!APP.ContactPopUp) {\n console.log('nincs APP.ContactPopUp');\n APP.ContactPopUp = new window.ContactPopUp();\n } else {\n console.log('mar van APP.ContactPopUp');\n }\n APP.ContactPopUp.init({\n active: true,\n onAfterSave: root.contactAction\n });\n root.renderContact();\n $(CSSSelectorForm + ' .buttonNewContact').bind('click', function () {\n APP.ProfitCenterAdmin.setContactPopupWorkflow('new');\n APP.ContactPopUp.clearData();\n APP.ContactPopUp.show();\n });\n /**\r\n * Address Popup setup\r\n */\n if (!APP.AddressPopUp) {\n console.log('nincs APP.AddressPopUp');\n APP.AddressPopUp = new window.AddressPopUp();\n } else {\n console.log('mar van APP.AddressPopUp');\n }\n APP.AddressPopUp.init({\n active: true,\n onAfterSave: root.addressAction\n });\n root.renderAddress();\n $(CSSSelectorForm + ' .buttonNewAddress').bind('click', function () {\n APP.ProfitCenterAdmin.setAddressPopupWorkflow('new');\n APP.AddressPopUp.clearData();\n APP.AddressPopUp.show();\n });\n /**\r\n *\r\n */\n\n $('[data-toggle=\"tooltip\"]').tooltip();\n initRadioButtons({\n onChange: function onChange(value, node) {\n debug(value);\n debug(node);\n /*\r\n if(node==='profitCenterMultiAddress'){\r\n if(value==1){\r\n $('.containerMultiAddress').removeClass('d-none');\r\n }else{\r\n $('.containerMultiAddress').addClass('d-none');\r\n }\r\n }\r\n */\n if (node === 'addressEqual') {\n if (value == 1) {\n $(CSSSelectorForm + ' .containerMultiAddress').addClass('d-none');\n $(CSSSelectorForm + ' .containerMultiAddressSwitch').addClass('d-none');\n } else {\n $(CSSSelectorForm + ' .containerMultiAddress').removeClass('d-none');\n $(CSSSelectorForm + ' .containerMultiAddressSwitch').removeClass('d-none');\n }\n }\n }\n });\n $(CSSSelectorForm + \" :input\").inputmask({\n \"onincomplete\": function onincomplete() {\n console.log($(this).data('required'));\n if ($(this).val().length > 0 || $(this).data('required') === true) {\n $(this).addClass('is-invalid');\n }\n },\n \"oncomplete\": function oncomplete() {\n $(this).removeClass('is-invalid');\n $(this).addClass('is-valid');\n },\n \"oncleared\": function oncleared() {\n console.log('cleared');\n $(this).removeClass('is-invalid');\n }\n });\n $(CSSSelectorForm + ' button.FormSaveButton').off('click');\n $(CSSSelectorForm + ' button.FormSaveButton').on('click', root.clickSaveButton);\n /*\r\n $(\"input[name=logoFile]\").change(function(){\r\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\r\n });\r\n */\n\n //Opts.onAfterInitViewDetails();\n debug('**end initViewDetails ');\n };\n this.setDetailsViewData = function () {\n debug('setDetailsViewData');\n var CSSSelectorForm = Opts.containerCssSelector + ' .profitCenterForm';\n var needToSet = ['name', 'hooreycaId', 'nameId', 'email', 'postCode', 'city', 'street', 'phone', 'mobil'];\n $.each(needToSet, function () {\n // debug(this); //alapadatok beallitasanak logolasa\n if (typeof root.ProfitCenter[this] != 'undefined') {\n /* //alapadatok beallitasanak logolasa\r\n debug(root.ProfitCenter[this]);\r\n debug(CSSSelectorForm+' input[name='+this+']');\r\n debug($(CSSSelectorForm+' input[name='+this+']'));\r\n */\n $(CSSSelectorForm + ' input[name=' + this + ']').val(root.ProfitCenter[this]);\n }\n });\n if (typeof root.ProfitCenter['note'] != 'undefined') {\n $(CSSSelectorForm + ' textarea[name=note]').val(root.ProfitCenter.note);\n }\n $(CSSSelectorForm + ' *[data-toggle=canSee][data-title=' + root.ProfitCenter.canSee + ']').click();\n $(CSSSelectorForm + ' *[data-toggle=hooreycaDataActive][data-title=' + root.ProfitCenter.hooreycaDataActive + ']').click();\n if (typeof root.ProfitCenter['logoFile'] != 'undefined' && root.ProfitCenter['logoFile']) {\n $(CSSSelectorForm + ' img.imageLogo').attr('src', root.ProfitCenter['logoFile']);\n }\n $(CSSSelectorForm + ' *[data-toggle=addressEqual][data-title=' + root.ProfitCenter.addressEqual + ']').click();\n $(CSSSelectorForm + ' *[data-toggle=multiAddress][data-title=' + root.ProfitCenter.multiAddress + ']').click();\n /*debug(root.ProfitCenter.address.length);\r\n if(root.ProfitCenter.address.length>0){\r\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title=0]').click();\r\n if(root.ProfitCenter.address.length>1){\r\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title=1]').click();\r\n }\r\n }\r\n */\n var supplier = [];\n $.each(root.ProfitCenter.suppliers, function () {\n supplier.push(this.name);\n });\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\n $.each(supplier, function () {\n $('input[value=\"' + $.escapeSelector(this) + '\"]').prop(\"checked\", true);\n });\n };\n this.resetContactTable = function () {\n $(CSSSelectorForm + ' .contactTable tbody tr').remove();\n root.renderContact();\n };\n this.renderContact = function () {\n var rowNum = 1;\n console.log('renderingContacts');\n $.each(root.ProfitCenter.getData('contact'), function () {\n var contactData = this;\n contactData.rowNum = rowNum;\n var template = $('template[data-name=\"profitCenterContactTableRow\"]').html();\n var render = Mustache.render(template, contactData);\n $('.contactTable tbody').append(render);\n rowNum++;\n });\n root.bindContactClickAction();\n };\n this.bindContactClickAction = function () {\n $('.contactTable .buttonDelete').unbind('click');\n $('.contactTable .buttonDelete').bind('click', root.contactDeleteClick);\n $('.contactTable .buttonEdit').unbind('click');\n $('.contactTable .buttonEdit').bind('click', root.contactEditClick);\n };\n this.contactDeleteClick = function (event) {\n var row = $(this).closest('tr');\n var id = row.find('input[name=contactId]').val();\n console.log(id);\n root.ProfitCenter.contact = root.ProfitCenter.contact.filter(function (value, index, arr) {\n if (value.id !== id * 1) {\n return true;\n }\n return false;\n });\n console.log(root.ProfitCenter.contact);\n row.remove();\n root.resetContactTable();\n };\n this.getContactPopupWorkflow = function () {\n return contactPopupWorkflow;\n };\n this.setContactPopupWorkflow = function (status) {\n contactPopupWorkflow = status;\n };\n this.contactEditClick = function (event) {\n console.log(this);\n var row = $(this).closest('tr');\n var id = row.find('input[name=contactId]').val();\n console.log(id);\n root.setContactPopupWorkflow('edit');\n APP.ContactPopUp.loadData(id);\n };\n this.contactAction = function (contactData) {\n console.log('nah most kellene meg valamit csinalni.');\n if (root.getContactPopupWorkflow() == 'new') {\n root.addContact(contactData);\n } else if (root.getContactPopupWorkflow() == 'edit') {\n root.editContact(contactData.id, contactData);\n }\n };\n this.addContact = function (contactData) {\n /*\r\n fel kell venni a sorba\r\n */\n root.ProfitCenter.contact.push(contactData);\n contactData.rowNum = root.ProfitCenter.contact.length;\n var template = $('template[data-name=\"profitCenterContactTableRow\"]').html();\n var render = Mustache.render(template, contactData);\n $(CSSSelectorForm + ' .contactTable tbody').append(render);\n root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({\n title: \"Kapcsolat tartó hozzáadva!\",\n message: contactData.name + \" nevű kapocsolattartó hozzáadva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n this.editContact = function (id, contactData) {\n var newContacts = [];\n $.each(root.ProfitCenter.getData('contact'), function (index) {\n if (this.id == id) {\n newContacts.push(contactData);\n } else {\n newContacts.push(this);\n }\n });\n root.ProfitCenter.contact = newContacts;\n root.resetContactTable();\n Toast.create({\n title: \"Kapcsolat adatai módosítva!\",\n message: contactData.name + \" nevű kapocsolattartó módosítva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n\n /***************\r\n *\r\n * Address function\r\n *\r\n */\n this.resetAddressTable = function () {\n $(CSSSelectorForm + ' .addressTable tbody tr').remove();\n root.renderAddress();\n };\n this.renderAddress = function () {\n var rowNum = 1;\n console.log('renderingAddress');\n $.each(root.ProfitCenter.getData('address'), function () {\n var itemData = this;\n itemData.rowNum = rowNum;\n var template = $('template[data-name=\"profitCenterAddressTableRow\"]').html();\n debug(itemData);\n var render = Mustache.render(template, itemData);\n $('.addressTable tbody').append(render);\n rowNum++;\n });\n root.bindAddressClickAction();\n };\n this.bindAddressClickAction = function () {\n $('.addressTable .buttonDelete').unbind('click');\n $('.addressTable .buttonDelete').bind('click', root.addressDeleteClick);\n $('.addressTable .buttonEdit').unbind('click');\n $('.addressTable .buttonEdit').bind('click', root.addressEditClick);\n };\n this.addressDeleteClick = function (event) {\n var row = $(this).closest('tr');\n var id = row.find('input[name=\"addressId[]\"]').val();\n console.log(id);\n root.ProfitCenter.address = root.ProfitCenter.address.filter(function (value, index, arr) {\n if (value.id != id) return true;\n });\n console.log(root.ProfitCenter.address);\n row.remove();\n root.resetAddressTable();\n };\n this.getAddressPopupWorkflow = function () {\n return addressPopupWorkflow;\n };\n this.setAddressPopupWorkflow = function (status) {\n addressPopupWorkflow = status;\n };\n this.addressEditClick = function (event) {\n console.log(this);\n var row = $(this).closest('tr');\n var id = row.find('input[name=\"addressId[]\"]').val();\n console.log(id);\n root.setAddressPopupWorkflow('edit');\n APP.AddressPopUp.loadData(id);\n };\n this.addressAction = function (itemData) {\n console.log('nah most kellene meg valamit csinalni.');\n if (root.getAddressPopupWorkflow() == 'new') {\n root.addAddress(itemData);\n } else if (root.getAddressPopupWorkflow() == 'edit') {\n root.editAddress(itemData.id, itemData);\n }\n };\n this.addAddress = function (ItemData) {\n /*\r\n fel kell venni a sorba\r\n */\n root.ProfitCenter.address.push(ItemData);\n ItemData.rowNum = root.ProfitCenter.address.length;\n var template = $('template[data-name=\"profitCenterAddressTableRow\"]').html();\n var render = Mustache.render(template, ItemData);\n $(CSSSelectorForm + ' .addressTable tbody').append(render);\n root.bindAddressClickAction();\n Toast.enableTimers(false);\n Toast.create({\n title: \"Cím hozzáadva!\",\n message: ItemData.street + \" hozzáadva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n this.editAddress = function (id, itemData) {\n var newItem = [];\n $.each(root.ProfitCenter.getData('address'), function (index) {\n if (this.id == id) {\n newItem.push(itemData);\n } else {\n newItem.push(this);\n }\n });\n root.ProfitCenter.address = newItem;\n root.resetAddressTable();\n Toast.create({\n title: \"cím adatai módosítva!\",\n message: itemData.street + \" módosítva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n this.initViewList = function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n debug('listview inicialization');\n dataTableCSSSelector = Opts.containerCssSelector + ' .dataTable'; //\n\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableActionButtonClickCallBack: root.clickNew,\n datatableRowActionButtonClickCallBack: root.datatableRowActionButtonClick\n });\n var orderDirective = Opts.dataTable.orderDirective;\n if (typeof options['orderDirective'] != 'undefined') {\n orderDirective = options['orderDirective'];\n }\n $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n var buttons = APP.datatableAddRowTrashButton(0, arguments);\n buttons += APP.datatableAddRowEditButton(0, arguments);\n return buttons;\n }\n }, {\n \"targets\": 1,\n \"render\": function render(data, type, row) {\n return type === \"sort\" ? data.latinise() : data;\n }\n }\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons: {\n buttons: ['excel', 'pdf', {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n }, /**/\n\n {\n text: 'Új felvitele',\n className: 'btn btn-success newItem',\n attr: {\n /*\r\n data:{\r\n a:1,\r\n b:2\r\n }\r\n */\n 'data': 'newItem'\n },\n init: function init(api, node, config) {\n $(node).removeClass('ui-button');\n },\n action: function action(e, dt, node, config) {\n APP.datatableActionButtonClickCallBack(arguments);\n /* console.log(e);\r\n console.log(dt);\r\n console.log(node);\r\n console.log(config);*/\n }\n }]\n },\n \"columns\": [{\n \"data\": \"id\"\n }, {\n \"data\": \"name\"\n }, {\n \"data\": \"hooreycaId\"\n }, {\n \"data\": \"nameId\"\n }, {\n \"data\": \"created_at\"\n }, null],\n \"order\": orderDirective,\n //\"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n debug('listview end');\n };\n this.datatableRowActionButtonClick = function (event) {\n debug('datatableRowActionButtonClick');\n var node = $(event[0].currentTarget);\n var row = $(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof root[actionName] === \"function\") {\n return root[actionName](rowData, node);\n }\n };\n this.datatableRowActionEdit = function (rowData, node) {\n console.log('datatableRowActionEdit Called');\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n var ajaxUrl = Opts.URL.edit.replace('%id%', rowData.id);\n /*\r\n console.log(Opts.URL);\r\n console.log(ajaxUrl);\r\n */\n APP.loadMainContent(ajaxUrl, root.initViewDetails);\n console.log('datatableRowActionEdit End');\n };\n this.datatableRowActionDelete = function (rowData, node) {\n console.log('datatableRowActionDelete Called');\n var row = $(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n var ajaxData = {};\n var ajaxUrl = Opts.URL.destroy.replace('%id%', rowData.id);\n ajaxData._token = $('input[name=_token]').val();\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n method: \"DELETE\",\n success: function success(data) {\n if (data.success == true) {\n row.remove().draw();\n }\n }\n });\n };\n this.clickSaveButton = function (event) {\n debug('Save clicked');\n event.preventDefault();\n debug(CSSSelectorForm);\n debug($(CSSSelectorForm));\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\n console.log('validaton false');\n $(CSSSelectorForm).addClass('was-validated');\n $(CSSSelectorForm)[0].reportValidity();\n Toast.create({\n title: \"Validációs hiba!\",\n message: \"Kérjük, töltse ki a kötelező mezőket!\",\n status: TOAST_STATUS.DANGER,\n timeout: 5000\n });\n event.stopPropagation();\n return;\n } else {\n console.log('validaton ok');\n $(CSSSelectorForm).removeClass('was-validated');\n //do your ajax submition here\n }\n var ajaxData = root.formDataToDataObjectAPICall(CSSSelectorForm);\n var ajaxUrl = Opts.URL.store;\n var ajaxMethod = \"POST\";\n if (root.ProfitCenter.id) {\n ajaxUrl = Opts.URL.update.replace('%id%', root.ProfitCenter.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData.append('_method', 'PUT');\n }\n /*\r\n debug(ajaxUrl);\r\n debug(ajaxMethod);\r\n debug(ajaxData.entries());\r\n for (var pair of ajaxData.entries()) {\r\n console.log(pair[0]+ ', ' + pair[1]);\r\n }\r\n */\n\n console.table(Object.fromEntries(ajaxData));\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n type: ajaxMethod,\n contentType: false,\n processData: false,\n headers: {\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\n },\n success: function success(data) {\n debug(data);\n if (data.success == true) {\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n Opts.dataTable.orderDirective = [0, 'desc'];\n Toast.create({\n title: \"Sikeres rögzítés!\",\n message: ajaxData.get('name') + \" nevű profitcenter elmentve\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n APP.loadMainContent(Opts.URL.index + '?init=0', root.initViewList);\n }\n }\n });\n };\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\n var ajaxData = new FormData($(CSSSelectorForm)[0]);\n /*\r\n $.each(ajaxData.getAll('productGroup'),function(key,value){\r\n ajaxData.append('productGroup[]',value);\r\n })\r\n */\n $.each(ajaxData.getAll('contactId'), function (key, value) {\n ajaxData.append('contactId[]', value);\n });\n ajaxData.append('_token', $('input[name=_token]').val());\n $(CSSSelectorForm + ' input[data-inputmask]').each(function () {\n var indexKey = $(this).attr('name');\n if (ajaxData.get(indexKey)) {\n ajaxData.set(indexKey, ajaxData.get(indexKey).replace(/[_ ]+$/g, \"\"));\n }\n });\n $.each(ajaxData.getAll('supplier'), function (key, value) {\n ajaxData.append('supplier[]', value);\n });\n return ajaxData;\n };\n this.construct(options, ProfitCenterItem);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhTW9kZWxQcm9maXRDZW50ZXIiLCJfRGF0YU1vZGVsIiwiX0RhdGFNb2RlbFByb2ZpdENlbnRlciIsImRhdGEiLCJvcHRpb25zIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiY29udGFjdCIsImFkZHJlc3MiLCJjb25zb2xlIiwibG9nIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwiRGF0YU1vZGVsIiwid2luZG93IiwiUHJvZml0Q2VudGVyQWRtaW4iLCJQcm9maXRDZW50ZXJJdGVtIiwiT3B0cyIsInRva2VuIiwiY29udGFpbmVyQ3NzU2VsZWN0b3IiLCJ0ZXN0TW9kZSIsIlVSTCIsImdldERhdGFUYWJsZUNvbnRlbnQiLCJpbmRleCIsInNob3ciLCJlZGl0IiwiY3JlYXRlIiwic3RvcmUiLCJ1cGRhdGUiLCJkZXN0cm95IiwiZGF0YVRhYmxlIiwib3JkZXJEaXJlY3RpdmUiLCJvbkFmdGVySW5pdFZpZXdEZXRhaWxzIiwiUHJvZml0Q2VudGVyIiwicm9vdCIsImNvbnRhY3RQb3B1cFdvcmtmbG93IiwiYWRkcmVzc1BvcHVwV29ya2Zsb3ciLCJDU1NTZWxlY3RvckZvcm0iLCJkYXRhVGFibGVDU1NTZWxlY3RvciIsImNvbnN0cnVjdCIsIiQiLCJleHRlbmQiLCJBUFAiLCJnZXRPcHRzIiwiZ2V0RGF0YSIsImluaXQiLCJpbml0Vmlld0xpc3QiLCJjbGlja05ldyIsImRlYnVnIiwibG9hZE1haW5Db250ZW50IiwiY2xpY2tOZXdDYWxsQmFjayIsImluaXRWaWV3RGV0YWlscyIsIlN1cHBsaWVySXRlbSIsIkNvbnRhY3RQb3BVcCIsImFjdGl2ZSIsIm9uQWZ0ZXJTYXZlIiwiY29udGFjdEFjdGlvbiIsInJlbmRlckNvbnRhY3QiLCJiaW5kIiwic2V0Q29udGFjdFBvcHVwV29ya2Zsb3ciLCJjbGVhckRhdGEiLCJBZGRyZXNzUG9wVXAiLCJhZGRyZXNzQWN0aW9uIiwicmVuZGVyQWRkcmVzcyIsInNldEFkZHJlc3NQb3B1cFdvcmtmbG93IiwidG9vbHRpcCIsImluaXRSYWRpb0J1dHRvbnMiLCJvbkNoYW5nZSIsInZhbHVlIiwibm9kZSIsImFkZENsYXNzIiwicmVtb3ZlQ2xhc3MiLCJpbnB1dG1hc2siLCJvbmluY29tcGxldGUiLCJ2YWwiLCJsZW5ndGgiLCJvbmNvbXBsZXRlIiwib25jbGVhcmVkIiwib2ZmIiwib24iLCJjbGlja1NhdmVCdXR0b24iLCJzZXREZXRhaWxzVmlld0RhdGEiLCJuZWVkVG9TZXQiLCJlYWNoIiwibm90ZSIsImNhblNlZSIsImNsaWNrIiwiaG9vcmV5Y2FEYXRhQWN0aXZlIiwiYXR0ciIsImFkZHJlc3NFcXVhbCIsIm11bHRpQWRkcmVzcyIsInN1cHBsaWVyIiwic3VwcGxpZXJzIiwicHVzaCIsImVzY2FwZVNlbGVjdG9yIiwicHJvcCIsInJlc2V0Q29udGFjdFRhYmxlIiwicmVtb3ZlIiwicm93TnVtIiwiY29udGFjdERhdGEiLCJ0ZW1wbGF0ZSIsImh0bWwiLCJyZW5kZXIiLCJNdXN0YWNoZSIsImFwcGVuZCIsImJpbmRDb250YWN0Q2xpY2tBY3Rpb24iLCJ1bmJpbmQiLCJjb250YWN0RGVsZXRlQ2xpY2siLCJjb250YWN0RWRpdENsaWNrIiwiZXZlbnQiLCJyb3ciLCJjbG9zZXN0IiwiaWQiLCJmaW5kIiwiZmlsdGVyIiwiYXJyIiwiZ2V0Q29udGFjdFBvcHVwV29ya2Zsb3ciLCJzdGF0dXMiLCJsb2FkRGF0YSIsImFkZENvbnRhY3QiLCJlZGl0Q29udGFjdCIsIlRvYXN0IiwiZW5hYmxlVGltZXJzIiwidGl0bGUiLCJtZXNzYWdlIiwiVE9BU1RfU1RBVFVTIiwiU1VDQ0VTUyIsInRpbWVvdXQiLCJuZXdDb250YWN0cyIsInJlc2V0QWRkcmVzc1RhYmxlIiwiaXRlbURhdGEiLCJiaW5kQWRkcmVzc0NsaWNrQWN0aW9uIiwiYWRkcmVzc0RlbGV0ZUNsaWNrIiwiYWRkcmVzc0VkaXRDbGljayIsImdldEFkZHJlc3NQb3B1cFdvcmtmbG93IiwiYWRkQWRkcmVzcyIsImVkaXRBZGRyZXNzIiwiSXRlbURhdGEiLCJzdHJlZXQiLCJuZXdJdGVtIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiY29sTnVtIiwic2V0T3B0cyIsImRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrIiwiZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2siLCJEYXRhVGFibGUiLCJsYW5ndWFnZSIsInVybCIsInR5cGUiLCJidXR0b25zIiwiZGF0YXRhYmxlQWRkUm93VHJhc2hCdXR0b24iLCJkYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uIiwibGF0aW5pc2UiLCJhdXRvUHJpbnQiLCJ0ZXh0IiwiY2xhc3NOYW1lIiwiYXBpIiwiY29uZmlnIiwiYWN0aW9uIiwiZSIsImR0IiwiZHJhd0NhbGxiYWNrIiwic2V0dGluZ3MiLCJkYXRhdGFibGVBZGRSb3dBY3Rpb24iLCJjdXJyZW50VGFyZ2V0IiwicGFyZW50cyIsInJvd0RhdGEiLCJhY3Rpb25OYW1lIiwiY2FwaXRhbGl6ZSIsImRhdGF0YWJsZVJvd0FjdGlvbkVkaXQiLCJhamF4VXJsIiwicmVwbGFjZSIsImRhdGF0YWJsZVJvd0FjdGlvbkRlbGV0ZSIsImFqYXhEYXRhIiwiX3Rva2VuIiwiYWpheCIsIm1ldGhvZCIsInN1Y2Nlc3MiLCJkcmF3IiwicHJldmVudERlZmF1bHQiLCJjaGVja1ZhbGlkaXR5IiwicmVwb3J0VmFsaWRpdHkiLCJEQU5HRVIiLCJzdG9wUHJvcGFnYXRpb24iLCJmb3JtRGF0YVRvRGF0YU9iamVjdEFQSUNhbGwiLCJhamF4TWV0aG9kIiwidGFibGUiLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImNvbnRlbnRUeXBlIiwicHJvY2Vzc0RhdGEiLCJoZWFkZXJzIiwiZ2V0IiwiRm9ybURhdGEiLCJnZXRBbGwiLCJrZXkiLCJpbmRleEtleSIsInNldCJdLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYWRtaW4vcHJvZml0Q2VudGVyLmpzP2NkMTUiXSwic291cmNlc0NvbnRlbnQiOlsiaWYodHlwZW9mIERhdGFNb2RlbFByb2ZpdENlbnRlcj09PSd1bmRlZmluZWQnKXtcclxuICAgIGNsYXNzIERhdGFNb2RlbFByb2ZpdENlbnRlciBleHRlbmRzIERhdGFNb2RlbHtcclxuXHJcbiAgICAgICAgLypcclxuICAgICAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIGNvbnN0cnVjdG9yIChkYXRhLG9wdGlvbnMpIHtcclxuICAgICAgICAgICAgc3VwZXIoZGF0YSxvcHRpb25zKVxyXG4gICAgICAgICAgICBpZih0eXBlb2YgdGhpcy5jb250YWN0ID09PVwidW5kZWZpbmVkXCIpe1xyXG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWN0PVtdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmKHR5cGVvZiB0aGlzLmFkZHJlc3MgPT09XCJ1bmRlZmluZWRcIil7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc3M9W107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2codGhpcy5jb25zdHJ1Y3Rvci5uYW1lKycgY29uc3RydWN0b3IgY2FsbGVkJyk7XHJcbiAgICAgICAgfTtcclxuICAgIH07XHJcbiAgICB3aW5kb3cuRGF0YU1vZGVsUHJvZml0Q2VudGVyPURhdGFNb2RlbFByb2ZpdENlbnRlcjtcclxufVxyXG5cclxud2luZG93LlByb2ZpdENlbnRlckFkbWluPWZ1bmN0aW9uIChvcHRpb25zLFByb2ZpdENlbnRlckl0ZW0pIHtcclxuICAgIC8qXHJcbiAgICAgKiBWYXJpYWJsZXMgYWNjZXNzaWJsZVxyXG4gICAgICogaW4gdGhlIGNsYXNzXHJcbiAgICAgKi9cclxuICAgIGxldCBPcHRzID0ge1xyXG4gICAgICAgIHRva2VuOiBudWxsLFxyXG4gICAgICAgIGNvbnRhaW5lckNzc1NlbGVjdG9yOiAnLmNvbnRhaW5lclByb2ZpdENlbnRlcicsXHJcbiAgICAgICAgdGVzdE1vZGU6IGZhbHNlLFxyXG4gICAgICAgIFVSTDoge1xyXG4gICAgICAgICAgICBnZXREYXRhVGFibGVDb250ZW50OiAnJyxcclxuICAgICAgICAgICAgaW5kZXg6ICcnLFxyXG4gICAgICAgICAgICBzaG93OiAnJyxcclxuICAgICAgICAgICAgZWRpdDogJycsXHJcbiAgICAgICAgICAgIGNyZWF0ZTogJycsXHJcbiAgICAgICAgICAgIHN0b3JlOiAnJyxcclxuICAgICAgICAgICAgdXBkYXRlOiAnJyxcclxuICAgICAgICAgICAgZGVzdHJveTogJycsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBkYXRhVGFibGU6IHtcclxuICAgICAgICAgICAgb3JkZXJEaXJlY3RpdmU6IFsxLCAnYXNjJ11cclxuICAgICAgICB9LFxyXG4gICAgICAgIG9uQWZ0ZXJJbml0Vmlld0RldGFpbHM6IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgbGV0IFByb2ZpdENlbnRlciA9IHt9O1xyXG4gICAgbGV0IHJvb3QgPSB0aGlzO1xyXG4gICAgbGV0IGNvbnRhY3RQb3B1cFdvcmtmbG93ID0gJ25ldyc7XHJcbiAgICBsZXQgYWRkcmVzc1BvcHVwV29ya2Zsb3cgPSAnbmV3JztcclxuICAgIGxldCBDU1NTZWxlY3RvckZvcm09Jyc7XHJcbiAgICBsZXQgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9Jyc7XHJcbiAgICAvKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgdGhpcy5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAob3B0aW9ucywgUHJvZml0Q2VudGVySXRlbSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdQcm9maXRDZW50ZXJBZG1pbiBjb25zdHJ1Y3RvciBjYWxsZWQnKTtcclxuICAgICAgICAkLmV4dGVuZChPcHRzLCBvcHRpb25zKTtcclxuICAgICAgICBpZiAoIVByb2ZpdENlbnRlckl0ZW0pIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ1Byb2ZpdENlbnRlcnQgbGV0cmUga2VsbGV0IGhvem5pICcpO1xyXG4gICAgICAgICAgICBpZiAoIUFQUC5Qcm9maXRDZW50ZXIpIHtcclxuICAgICAgICAgICAgICAgIEFQUC5Qcm9maXRDZW50ZXIgPSBuZXcgd2luZG93LkRhdGFNb2RlbFByb2ZpdENlbnRlcigpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHJvb3QuUHJvZml0Q2VudGVyID0gQVBQLlByb2ZpdENlbnRlcjtcclxuICAgICAgICB9XHJcbiAgICAgICAgQ1NTU2VsZWN0b3JGb3JtPU9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAucHJvZml0Q2VudGVyRm9ybSc7XHJcbiAgICB9O1xyXG4gICAgdGhpcy5nZXRPcHRzID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiBPcHRzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXREYXRhPWZ1bmN0aW9uICgpe1xyXG4gICAgICAgIHJldHVybiByb290LlByb2ZpdENlbnRlcjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXQ9ZnVuY3Rpb24gKG9wdGlvbnMsUHJvZml0Q2VudGVySXRlbSl7XHJcbiAgICAgICAgJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XHJcblxyXG4gICAgICAgIGlmKE9wdHMudGVzdE1vZGUpe1xyXG4gICAgICAgICAgICByZXR1cm4gcm9vdC50ZXN0TW9kZSgpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihQcm9maXRDZW50ZXJJdGVtKXtcclxuICAgICAgICAgICAgcm9vdC5Qcm9maXRDZW50ZXI9UHJvZml0Q2VudGVySXRlbVxyXG4gICAgICAgIH1cclxuICAgICAgICByb290LmluaXRWaWV3TGlzdCgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jbGlja05ldz1mdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgZGVidWcoJ2NsaWNrTmV3Jyk7XHJcbiAgICAgICAgQVBQLmxvYWRNYWluQ29udGVudChPcHRzLlVSTC5jcmVhdGUscm9vdC5jbGlja05ld0NhbGxCYWNrKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsaWNrTmV3Q2FsbEJhY2s9ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGRlYnVnKCdjYWxsYmFja05ldycpO1xyXG4gICAgICAgIHJvb3QuUHJvZml0Q2VudGVyPW5ldyB3aW5kb3cuRGF0YU1vZGVsUHJvZml0Q2VudGVyKCk7XHJcbiAgICAgICAgcm9vdC5pbml0Vmlld0RldGFpbHMoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRWaWV3RGV0YWlscz1mdW5jdGlvbiAob3B0aW9ucyxTdXBwbGllckl0ZW0pe1xyXG4gICAgICAgIGRlYnVnKCcqKmNhbGwgaW5pdFZpZXdEZXRhaWxzICcpO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIENvbnRhY3QgUG9wdXAgc2V0dXBcclxuICAgICAgICAgKi9cclxuICAgICAgICBpZighQVBQLkNvbnRhY3RQb3BVcCl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCduaW5jcyBBUFAuQ29udGFjdFBvcFVwJylcclxuICAgICAgICAgICAgQVBQLkNvbnRhY3RQb3BVcCA9IG5ldyB3aW5kb3cuQ29udGFjdFBvcFVwKCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdtYXIgdmFuICBBUFAuQ29udGFjdFBvcFVwJylcclxuICAgICAgICB9XHJcbiAgICAgICAgQVBQLkNvbnRhY3RQb3BVcC5pbml0KHtcclxuICAgICAgICAgICAgYWN0aXZlOnRydWUsXHJcbiAgICAgICAgICAgIG9uQWZ0ZXJTYXZlOnJvb3QuY29udGFjdEFjdGlvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJvb3QucmVuZGVyQ29udGFjdCgpO1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmJ1dHRvbk5ld0NvbnRhY3QnKS5iaW5kKCdjbGljaycsZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgICAgIEFQUC5Qcm9maXRDZW50ZXJBZG1pbi5zZXRDb250YWN0UG9wdXBXb3JrZmxvdygnbmV3Jyk7XHJcbiAgICAgICAgICAgIEFQUC5Db250YWN0UG9wVXAuY2xlYXJEYXRhKCk7XHJcbiAgICAgICAgICAgIEFQUC5Db250YWN0UG9wVXAuc2hvdygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqIEFkZHJlc3MgUG9wdXAgc2V0dXBcclxuICAgICAgICAgKi9cclxuICAgICAgICBpZighQVBQLkFkZHJlc3NQb3BVcCl7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCduaW5jcyBBUFAuQWRkcmVzc1BvcFVwJylcclxuICAgICAgICAgICAgQVBQLkFkZHJlc3NQb3BVcCA9IG5ldyB3aW5kb3cuQWRkcmVzc1BvcFVwKCk7XHJcbiAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdtYXIgdmFuICBBUFAuQWRkcmVzc1BvcFVwJylcclxuICAgICAgICB9XHJcbiAgICAgICAgQVBQLkFkZHJlc3NQb3BVcC5pbml0KHtcclxuICAgICAgICAgICAgYWN0aXZlOnRydWUsXHJcbiAgICAgICAgICAgIG9uQWZ0ZXJTYXZlOnJvb3QuYWRkcmVzc0FjdGlvblxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJvb3QucmVuZGVyQWRkcmVzcygpO1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmJ1dHRvbk5ld0FkZHJlc3MnKS5iaW5kKCdjbGljaycsZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgICAgIEFQUC5Qcm9maXRDZW50ZXJBZG1pbi5zZXRBZGRyZXNzUG9wdXBXb3JrZmxvdygnbmV3Jyk7XHJcbiAgICAgICAgICAgIEFQUC5BZGRyZXNzUG9wVXAuY2xlYXJEYXRhKCk7XHJcbiAgICAgICAgICAgIEFQUC5BZGRyZXNzUG9wVXAuc2hvdygpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8qKlxyXG4gICAgICAgICAqXHJcbiAgICAgICAgICovXHJcblxyXG4gICAgICAgICQoJ1tkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIl0nKS50b29sdGlwKCk7XHJcbiAgICAgICAgaW5pdFJhZGlvQnV0dG9ucyh7XHJcbiAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiAodmFsdWUsbm9kZSkge1xyXG4gICAgICAgICAgICAgICAgZGVidWcodmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgZGVidWcobm9kZSk7XHJcbiAgICAgICAgICAgICAgICAvKlxyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYobm9kZT09PSdwcm9maXRDZW50ZXJNdWx0aUFkZHJlc3MnKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHZhbHVlPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKCcuY29udGFpbmVyTXVsdGlBZGRyZXNzJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNvbnRhaW5lck11bHRpQWRkcmVzcycpLmFkZENsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICBpZihub2RlPT09J2FkZHJlc3NFcXVhbCcpe1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHZhbHVlPT0xKXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAuY29udGFpbmVyTXVsdGlBZGRyZXNzJykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIC5jb250YWluZXJNdWx0aUFkZHJlc3NTd2l0Y2gnKS5hZGRDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmNvbnRhaW5lck11bHRpQWRkcmVzcycpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAuY29udGFpbmVyTXVsdGlBZGRyZXNzU3dpdGNoJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybStcIiA6aW5wdXRcIikuaW5wdXRtYXNrKHtcclxuICAgICAgICAgICAgXCJvbmluY29tcGxldGVcIjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJCh0aGlzKS5kYXRhKCdyZXF1aXJlZCcpKTtcclxuICAgICAgICAgICAgICAgIGlmICgkKHRoaXMpLnZhbCgpLmxlbmd0aCA+IDAgfHwgJCh0aGlzKS5kYXRhKCdyZXF1aXJlZCcpID09PSB0cnVlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnaXMtaW52YWxpZCcpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBcIm9uY29tcGxldGVcIjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygnaXMtaW52YWxpZCcpO1xyXG4gICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnaXMtdmFsaWQnKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXCJvbmNsZWFyZWRcIjogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2NsZWFyZWQnKTtcclxuICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2lzLWludmFsaWQnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIGJ1dHRvbi5Gb3JtU2F2ZUJ1dHRvbicpLm9mZignY2xpY2snKTtcclxuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIGJ1dHRvbi5Gb3JtU2F2ZUJ1dHRvbicpLm9uKCdjbGljaycscm9vdC5jbGlja1NhdmVCdXR0b24pO1xyXG4vKlxyXG4gICAgICAgICQoXCJpbnB1dFtuYW1lPWxvZ29GaWxlXVwiKS5jaGFuZ2UoZnVuY3Rpb24oKXtcclxuICAgICAgICAgICAgc2V0SW1hZ2VGcm9tTG9jYWwodGhpcyxPcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLmltYWdlTG9nbycpO1xyXG4gICAgICAgIH0pO1xyXG4qL1xyXG5cclxuICAgICAgICAvL09wdHMub25BZnRlckluaXRWaWV3RGV0YWlscygpO1xyXG4gICAgICAgIGRlYnVnKCcqKmVuZCBpbml0Vmlld0RldGFpbHMgJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldERldGFpbHNWaWV3RGF0YT1mdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgZGVidWcoJ3NldERldGFpbHNWaWV3RGF0YScpO1xyXG4gICAgICAgIGxldCBDU1NTZWxlY3RvckZvcm09T3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5wcm9maXRDZW50ZXJGb3JtJztcclxuICAgICAgICBsZXQgbmVlZFRvU2V0PVtcclxuICAgICAgICAgICAgJ25hbWUnLCdob29yZXljYUlkJywnbmFtZUlkJyxcclxuICAgICAgICAgICAgJ2VtYWlsJywncG9zdENvZGUnLCdjaXR5Jywnc3RyZWV0JywncGhvbmUnLCdtb2JpbCdcclxuICAgICAgICBdO1xyXG4gICAgICAgICQuZWFjaChuZWVkVG9TZXQsZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgICAvLyBkZWJ1Zyh0aGlzKTsgLy9hbGFwYWRhdG9rIGJlYWxsaXRhc2FuYWsgbG9nb2xhc2FcclxuICAgICAgICAgICAgaWYodHlwZW9mIHJvb3QuUHJvZml0Q2VudGVyW3RoaXNdIT0ndW5kZWZpbmVkJyl7XHJcbi8qIC8vYWxhcGFkYXRvayBiZWFsbGl0YXNhbmFrIGxvZ29sYXNhXHJcbiAgICAgICAgICAgICAgICBkZWJ1Zyhyb290LlByb2ZpdENlbnRlclt0aGlzXSk7XHJcbiAgICAgICAgICAgICAgICBkZWJ1ZyhDU1NTZWxlY3RvckZvcm0rJyBpbnB1dFtuYW1lPScrdGhpcysnXScpO1xyXG4gICAgICAgICAgICAgICAgZGVidWcoJChDU1NTZWxlY3RvckZvcm0rJyBpbnB1dFtuYW1lPScrdGhpcysnXScpKTtcclxuKi9cclxuICAgICAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgaW5wdXRbbmFtZT0nK3RoaXMrJ10nKS52YWwocm9vdC5Qcm9maXRDZW50ZXJbdGhpc10pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgICAgICBpZih0eXBlb2Ygcm9vdC5Qcm9maXRDZW50ZXJbJ25vdGUnXSE9J3VuZGVmaW5lZCcpe1xyXG4gICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIHRleHRhcmVhW25hbWU9bm90ZV0nKS52YWwocm9vdC5Qcm9maXRDZW50ZXIubm90ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgKltkYXRhLXRvZ2dsZT1jYW5TZWVdW2RhdGEtdGl0bGU9Jytyb290LlByb2ZpdENlbnRlci5jYW5TZWUrJ10nKS5jbGljaygpO1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgKltkYXRhLXRvZ2dsZT1ob29yZXljYURhdGFBY3RpdmVdW2RhdGEtdGl0bGU9Jytyb290LlByb2ZpdENlbnRlci5ob29yZXljYURhdGFBY3RpdmUrJ10nKS5jbGljaygpO1xyXG5cclxuICAgICAgICBpZih0eXBlb2Ygcm9vdC5Qcm9maXRDZW50ZXJbJ2xvZ29GaWxlJ10hPSd1bmRlZmluZWQnICYmIChyb290LlByb2ZpdENlbnRlclsnbG9nb0ZpbGUnXSkpe1xyXG4gICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIGltZy5pbWFnZUxvZ28nKS5hdHRyKCdzcmMnLHJvb3QuUHJvZml0Q2VudGVyWydsb2dvRmlsZSddKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgKltkYXRhLXRvZ2dsZT1hZGRyZXNzRXF1YWxdW2RhdGEtdGl0bGU9Jytyb290LlByb2ZpdENlbnRlci5hZGRyZXNzRXF1YWwrJ10nKS5jbGljaygpO1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgKltkYXRhLXRvZ2dsZT1tdWx0aUFkZHJlc3NdW2RhdGEtdGl0bGU9Jytyb290LlByb2ZpdENlbnRlci5tdWx0aUFkZHJlc3MrJ10nKS5jbGljaygpO1xyXG4gICAgICAgIC8qZGVidWcocm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzcy5sZW5ndGgpO1xyXG4gICAgICAgIGlmKHJvb3QuUHJvZml0Q2VudGVyLmFkZHJlc3MubGVuZ3RoPjApe1xyXG4gICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnICpbZGF0YS10b2dnbGU9YWRkcmVzc0VxdWFsXVtkYXRhLXRpdGxlPTBdJykuY2xpY2soKTtcclxuICAgICAgICAgICAgaWYocm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzcy5sZW5ndGg+MSl7XHJcbiAgICAgICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnICpbZGF0YS10b2dnbGU9bXVsdGlBZGRyZXNzXVtkYXRhLXRpdGxlPTFdJykuY2xpY2soKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICAqL1xyXG4gICAgICAgIGxldCBzdXBwbGllcj1bXTtcclxuICAgICAgICAkLmVhY2gocm9vdC5Qcm9maXRDZW50ZXIuc3VwcGxpZXJzLGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgc3VwcGxpZXIucHVzaCh0aGlzLm5hbWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIC8vJChDU1NTZWxlY3RvckZvcm0rJyAucHJvZml0Q2VudGVyU2VsZWN0JykudmFsKHByb2ZpdENlbnRlcikuY2hhbmdlKCk7XHJcbiAgICAgICAgJC5lYWNoKHN1cHBsaWVyLGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgICAgJCgnaW5wdXRbdmFsdWU9XCInKyQuZXNjYXBlU2VsZWN0b3IodGhpcykrJ1wiXScpLnByb3AoIFwiY2hlY2tlZFwiLCB0cnVlICk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5yZXNldENvbnRhY3RUYWJsZT1mdW5jdGlvbiAoKXtcclxuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIC5jb250YWN0VGFibGUgdGJvZHkgdHInKS5yZW1vdmUoKTtcclxuICAgICAgICByb290LnJlbmRlckNvbnRhY3QoKTtcclxuICAgIH1cclxuICAgIHRoaXMucmVuZGVyQ29udGFjdD1mdW5jdGlvbiAoKXtcclxuICAgICAgICBsZXQgcm93TnVtPTE7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ3JlbmRlcmluZ0NvbnRhY3RzJyk7XHJcbiAgICAgICAgJC5lYWNoKHJvb3QuUHJvZml0Q2VudGVyLmdldERhdGEoJ2NvbnRhY3QnKSxmdW5jdGlvbiAoKXtcclxuICAgICAgICAgICAgbGV0IGNvbnRhY3REYXRhPXRoaXM7XHJcbiAgICAgICAgICAgIGNvbnRhY3REYXRhLnJvd051bT1yb3dOdW07XHJcbiAgICAgICAgICAgIGxldCB0ZW1wbGF0ZT0kKCd0ZW1wbGF0ZVtkYXRhLW5hbWU9XCJwcm9maXRDZW50ZXJDb250YWN0VGFibGVSb3dcIl0nKS5odG1sKClcclxuICAgICAgICAgICAgbGV0IHJlbmRlcj1NdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsY29udGFjdERhdGEpO1xyXG4gICAgICAgICAgICAkKCcuY29udGFjdFRhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XHJcbiAgICAgICAgICAgIHJvd051bSsrO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJvb3QuYmluZENvbnRhY3RDbGlja0FjdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmluZENvbnRhY3RDbGlja0FjdGlvbiA9ZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgJCgnLmNvbnRhY3RUYWJsZSAuYnV0dG9uRGVsZXRlJykudW5iaW5kKCdjbGljaycpO1xyXG4gICAgICAgICQoJy5jb250YWN0VGFibGUgLmJ1dHRvbkRlbGV0ZScpLmJpbmQoJ2NsaWNrJyxyb290LmNvbnRhY3REZWxldGVDbGljayk7XHJcbiAgICAgICAgJCgnLmNvbnRhY3RUYWJsZSAuYnV0dG9uRWRpdCcpLnVuYmluZCgnY2xpY2snKTtcclxuICAgICAgICAkKCcuY29udGFjdFRhYmxlIC5idXR0b25FZGl0JykuYmluZCgnY2xpY2snLHJvb3QuY29udGFjdEVkaXRDbGljayk7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5jb250YWN0RGVsZXRlQ2xpY2s9ZnVuY3Rpb24gKGV2ZW50KXtcclxuICAgICAgICBsZXQgcm93PSQodGhpcykuY2xvc2VzdCgndHInKTtcclxuICAgICAgICBsZXQgaWQ9cm93LmZpbmQoJ2lucHV0W25hbWU9Y29udGFjdElkXScpLnZhbCgpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGlkKTtcclxuICAgICAgICByb290LlByb2ZpdENlbnRlci5jb250YWN0PXJvb3QuUHJvZml0Q2VudGVyLmNvbnRhY3QuZmlsdGVyKFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAodmFsdWUsaW5kZXgsYXJyKXtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pZCE9PWlkKjEpe1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAgdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY29uc29sZS5sb2cocm9vdC5Qcm9maXRDZW50ZXIuY29udGFjdCk7XHJcbiAgICAgICAgcm93LnJlbW92ZSgpO1xyXG4gICAgICAgIHJvb3QucmVzZXRDb250YWN0VGFibGUoKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0Q29udGFjdFBvcHVwV29ya2Zsb3cgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIGNvbnRhY3RQb3B1cFdvcmtmbG93O1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRDb250YWN0UG9wdXBXb3JrZmxvdyA9IGZ1bmN0aW9uIChzdGF0dXMpIHtcclxuICAgICAgICBjb250YWN0UG9wdXBXb3JrZmxvdz1zdGF0dXM7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMuY29udGFjdEVkaXRDbGljaz1mdW5jdGlvbiAoZXZlbnQpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMpO1xyXG4gICAgICAgIGxldCByb3c9JCh0aGlzKS5jbG9zZXN0KCd0cicpO1xyXG4gICAgICAgIGxldCBpZD1yb3cuZmluZCgnaW5wdXRbbmFtZT1jb250YWN0SWRdJykudmFsKCk7XHJcbiAgICAgICAgY29uc29sZS5sb2coaWQpO1xyXG4gICAgICAgIHJvb3Quc2V0Q29udGFjdFBvcHVwV29ya2Zsb3coJ2VkaXQnKTtcclxuICAgICAgICBBUFAuQ29udGFjdFBvcFVwLmxvYWREYXRhKGlkKTtcclxuICAgIH1cclxuICAgIHRoaXMuY29udGFjdEFjdGlvbj1mdW5jdGlvbiAoY29udGFjdERhdGEpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCduYWggbW9zdCBrZWxsZW5lIG1lZyB2YWxhbWl0IGNzaW5hbG5pLicpXHJcbiAgICAgICAgaWYocm9vdC5nZXRDb250YWN0UG9wdXBXb3JrZmxvdygpPT0nbmV3Jyl7XHJcbiAgICAgICAgICAgIHJvb3QuYWRkQ29udGFjdChjb250YWN0RGF0YSk7XHJcbiAgICAgICAgfWVsc2UgaWYocm9vdC5nZXRDb250YWN0UG9wdXBXb3JrZmxvdygpPT0nZWRpdCcpe1xyXG4gICAgICAgICAgICByb290LmVkaXRDb250YWN0KGNvbnRhY3REYXRhLmlkLGNvbnRhY3REYXRhKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmFkZENvbnRhY3Q9ZnVuY3Rpb24gKGNvbnRhY3REYXRhKXtcclxuICAgICAgICAvKlxyXG4gICAgICAgIGZlbCBrZWxsIHZlbm5pIGEgc29yYmFcclxuICAgICAgICAgKi9cclxuICAgICAgICByb290LlByb2ZpdENlbnRlci5jb250YWN0LnB1c2goY29udGFjdERhdGEpO1xyXG4gICAgICAgIGNvbnRhY3REYXRhLnJvd051bT1yb290LlByb2ZpdENlbnRlci5jb250YWN0Lmxlbmd0aDtcclxuICAgICAgICBsZXQgdGVtcGxhdGU9JCgndGVtcGxhdGVbZGF0YS1uYW1lPVwicHJvZml0Q2VudGVyQ29udGFjdFRhYmxlUm93XCJdJykuaHRtbCgpXHJcbiAgICAgICAgbGV0IHJlbmRlcj1NdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsY29udGFjdERhdGEpO1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmNvbnRhY3RUYWJsZSB0Ym9keScpLmFwcGVuZChyZW5kZXIpO1xyXG4gICAgICAgIHJvb3QuYmluZENvbnRhY3RDbGlja0FjdGlvbigpO1xyXG4gICAgICAgIFRvYXN0LmVuYWJsZVRpbWVycyhmYWxzZSk7XHJcbiAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiS2FwY3NvbGF0IHRhcnTDsyBob3p6w6FhZHZhIVwiLCBtZXNzYWdlOiBjb250YWN0RGF0YS5uYW1lK1wiIG5ldsWxIGthcG9jc29sYXR0YXJ0w7MgaG96esOhYWR2YVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5TVUNDRVNTLCB0aW1lb3V0OiA1MDAwIH0pO1xyXG4gICAgfVxyXG4gICAgdGhpcy5lZGl0Q29udGFjdD1mdW5jdGlvbiAoaWQsY29udGFjdERhdGEpe1xyXG5cclxuICAgICAgICBsZXQgbmV3Q29udGFjdHM9W107XHJcbiAgICAgICAgJC5lYWNoKHJvb3QuUHJvZml0Q2VudGVyLmdldERhdGEoJ2NvbnRhY3QnKSxmdW5jdGlvbiAoaW5kZXgpe1xyXG4gICAgICAgICAgICBpZih0aGlzLmlkPT1pZCl7XHJcbiAgICAgICAgICAgICAgICBuZXdDb250YWN0cy5wdXNoKGNvbnRhY3REYXRhKTtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBuZXdDb250YWN0cy5wdXNoKHRoaXMpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcm9vdC5Qcm9maXRDZW50ZXIuY29udGFjdD1uZXdDb250YWN0cztcclxuICAgICAgICByb290LnJlc2V0Q29udGFjdFRhYmxlKCk7XHJcbiAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiS2FwY3NvbGF0IGFkYXRhaSBtw7Nkb3PDrXR2YSFcIiwgbWVzc2FnZTogY29udGFjdERhdGEubmFtZStcIiBuZXbFsSBrYXBvY3NvbGF0dGFydMOzIG3Ds2Rvc8OtdHZhXCIsIHN0YXR1czogVE9BU1RfU1RBVFVTLlNVQ0NFU1MsIHRpbWVvdXQ6IDUwMDAgfSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIC8qKioqKioqKioqKioqKipcclxuICAgICAqXHJcbiAgICAgKiBBZGRyZXNzIGZ1bmN0aW9uXHJcbiAgICAgKlxyXG4gICAgICovXHJcbiAgICB0aGlzLnJlc2V0QWRkcmVzc1RhYmxlPWZ1bmN0aW9uICgpe1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmFkZHJlc3NUYWJsZSB0Ym9keSB0cicpLnJlbW92ZSgpO1xyXG4gICAgICAgIHJvb3QucmVuZGVyQWRkcmVzcygpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5yZW5kZXJBZGRyZXNzPWZ1bmN0aW9uICgpe1xyXG4gICAgICAgIGxldCByb3dOdW09MTtcclxuICAgICAgICBjb25zb2xlLmxvZygncmVuZGVyaW5nQWRkcmVzcycpO1xyXG4gICAgICAgICQuZWFjaChyb290LlByb2ZpdENlbnRlci5nZXREYXRhKCdhZGRyZXNzJyksZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgICAgIGxldCBpdGVtRGF0YT10aGlzO1xyXG4gICAgICAgICAgICBpdGVtRGF0YS5yb3dOdW09cm93TnVtO1xyXG4gICAgICAgICAgICBsZXQgdGVtcGxhdGU9JCgndGVtcGxhdGVbZGF0YS1uYW1lPVwicHJvZml0Q2VudGVyQWRkcmVzc1RhYmxlUm93XCJdJykuaHRtbCgpXHJcbiAgICAgICAgICAgIGRlYnVnKGl0ZW1EYXRhKTtcclxuICAgICAgICAgICAgbGV0IHJlbmRlcj1NdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsaXRlbURhdGEpO1xyXG4gICAgICAgICAgICAkKCcuYWRkcmVzc1RhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XHJcbiAgICAgICAgICAgIHJvd051bSsrO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHJvb3QuYmluZEFkZHJlc3NDbGlja0FjdGlvbigpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYmluZEFkZHJlc3NDbGlja0FjdGlvbiA9ZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NUYWJsZSAuYnV0dG9uRGVsZXRlJykudW5iaW5kKCdjbGljaycpO1xyXG4gICAgICAgICQoJy5hZGRyZXNzVGFibGUgLmJ1dHRvbkRlbGV0ZScpLmJpbmQoJ2NsaWNrJyxyb290LmFkZHJlc3NEZWxldGVDbGljayk7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NUYWJsZSAuYnV0dG9uRWRpdCcpLnVuYmluZCgnY2xpY2snKTtcclxuICAgICAgICAkKCcuYWRkcmVzc1RhYmxlIC5idXR0b25FZGl0JykuYmluZCgnY2xpY2snLHJvb3QuYWRkcmVzc0VkaXRDbGljayk7XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5hZGRyZXNzRGVsZXRlQ2xpY2s9ZnVuY3Rpb24gKGV2ZW50KXtcclxuICAgICAgICBsZXQgcm93PSQodGhpcykuY2xvc2VzdCgndHInKTtcclxuICAgICAgICBsZXQgaWQ9cm93LmZpbmQoJ2lucHV0W25hbWU9XCJhZGRyZXNzSWRbXVwiXScpLnZhbCgpO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKGlkKTtcclxuICAgICAgICByb290LlByb2ZpdENlbnRlci5hZGRyZXNzPXJvb3QuUHJvZml0Q2VudGVyLmFkZHJlc3MuZmlsdGVyKFxyXG4gICAgICAgICAgICBmdW5jdGlvbiAodmFsdWUsaW5kZXgsYXJyKXtcclxuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pZCE9aWQpIHJldHVybiB0cnVlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhyb290LlByb2ZpdENlbnRlci5hZGRyZXNzKTtcclxuICAgICAgICByb3cucmVtb3ZlKCk7XHJcbiAgICAgICAgcm9vdC5yZXNldEFkZHJlc3NUYWJsZSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5nZXRBZGRyZXNzUG9wdXBXb3JrZmxvdyA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZXR1cm4gYWRkcmVzc1BvcHVwV29ya2Zsb3c7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEFkZHJlc3NQb3B1cFdvcmtmbG93ID0gZnVuY3Rpb24gKHN0YXR1cykge1xyXG4gICAgICAgIGFkZHJlc3NQb3B1cFdvcmtmbG93PXN0YXR1cztcclxuICAgIH1cclxuXHJcblxyXG4gICAgdGhpcy5hZGRyZXNzRWRpdENsaWNrPWZ1bmN0aW9uIChldmVudCl7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcyk7XHJcbiAgICAgICAgbGV0IHJvdz0kKHRoaXMpLmNsb3Nlc3QoJ3RyJyk7XHJcbiAgICAgICAgbGV0IGlkPXJvdy5maW5kKCdpbnB1dFtuYW1lPVwiYWRkcmVzc0lkW11cIl0nKS52YWwoKTtcclxuICAgICAgICBjb25zb2xlLmxvZyhpZCk7XHJcbiAgICAgICAgcm9vdC5zZXRBZGRyZXNzUG9wdXBXb3JrZmxvdygnZWRpdCcpO1xyXG4gICAgICAgIEFQUC5BZGRyZXNzUG9wVXAubG9hZERhdGEoaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5hZGRyZXNzQWN0aW9uPWZ1bmN0aW9uIChpdGVtRGF0YSl7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ25haCBtb3N0IGtlbGxlbmUgbWVnIHZhbGFtaXQgY3NpbmFsbmkuJylcclxuICAgICAgICBpZihyb290LmdldEFkZHJlc3NQb3B1cFdvcmtmbG93KCk9PSduZXcnKXtcclxuICAgICAgICAgICAgcm9vdC5hZGRBZGRyZXNzKGl0ZW1EYXRhKTtcclxuICAgICAgICB9ZWxzZSBpZihyb290LmdldEFkZHJlc3NQb3B1cFdvcmtmbG93KCk9PSdlZGl0Jyl7XHJcbiAgICAgICAgICAgIHJvb3QuZWRpdEFkZHJlc3MoaXRlbURhdGEuaWQsaXRlbURhdGEpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYWRkQWRkcmVzcz1mdW5jdGlvbiAoSXRlbURhdGEpe1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgZmVsIGtlbGwgdmVubmkgYSBzb3JiYVxyXG4gICAgICAgICAqL1xyXG4gICAgICAgIHJvb3QuUHJvZml0Q2VudGVyLmFkZHJlc3MucHVzaChJdGVtRGF0YSk7XHJcbiAgICAgICAgSXRlbURhdGEucm93TnVtPXJvb3QuUHJvZml0Q2VudGVyLmFkZHJlc3MubGVuZ3RoO1xyXG4gICAgICAgIGxldCB0ZW1wbGF0ZT0kKCd0ZW1wbGF0ZVtkYXRhLW5hbWU9XCJwcm9maXRDZW50ZXJBZGRyZXNzVGFibGVSb3dcIl0nKS5odG1sKClcclxuICAgICAgICBsZXQgcmVuZGVyPU11c3RhY2hlLnJlbmRlcih0ZW1wbGF0ZSxJdGVtRGF0YSk7XHJcbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAuYWRkcmVzc1RhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XHJcbiAgICAgICAgcm9vdC5iaW5kQWRkcmVzc0NsaWNrQWN0aW9uKCk7XHJcbiAgICAgICAgVG9hc3QuZW5hYmxlVGltZXJzKGZhbHNlKTtcclxuICAgICAgICBUb2FzdC5jcmVhdGUoeyB0aXRsZTogXCJDw61tIGhvenrDoWFkdmEhXCIsIG1lc3NhZ2U6IEl0ZW1EYXRhLnN0cmVldCtcIiBob3p6w6FhZHZhXCIsIHN0YXR1czogVE9BU1RfU1RBVFVTLlNVQ0NFU1MsIHRpbWVvdXQ6IDUwMDAgfSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmVkaXRBZGRyZXNzPWZ1bmN0aW9uIChpZCxpdGVtRGF0YSl7XHJcblxyXG4gICAgICAgIGxldCBuZXdJdGVtPVtdO1xyXG4gICAgICAgICQuZWFjaChyb290LlByb2ZpdENlbnRlci5nZXREYXRhKCdhZGRyZXNzJyksZnVuY3Rpb24gKGluZGV4KXtcclxuICAgICAgICAgICAgaWYodGhpcy5pZD09aWQpe1xyXG4gICAgICAgICAgICAgICAgbmV3SXRlbS5wdXNoKGl0ZW1EYXRhKTtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICBuZXdJdGVtLnB1c2godGhpcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByb290LlByb2ZpdENlbnRlci5hZGRyZXNzPW5ld0l0ZW07XHJcbiAgICAgICAgcm9vdC5yZXNldEFkZHJlc3NUYWJsZSgpO1xyXG4gICAgICAgIFRvYXN0LmNyZWF0ZSh7IHRpdGxlOiBcImPDrW0gYWRhdGFpIG3Ds2Rvc8OtdHZhIVwiLCBtZXNzYWdlOiBpdGVtRGF0YS5zdHJlZXQrXCIgbcOzZG9zw610dmFcIiwgc3RhdHVzOiBUT0FTVF9TVEFUVVMuU1VDQ0VTUywgdGltZW91dDogNTAwMCB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRWaWV3TGlzdCA9IGZ1bmN0aW9uIChvcHRpb25zPXt9KSB7XHJcbiAgICAgICAgZGVidWcoJ2xpc3R2aWV3IGluaWNpYWxpemF0aW9uJyk7XHJcbiAgICAgICAgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9T3B0cy5jb250YWluZXJDc3NTZWxlY3RvcisnIC5kYXRhVGFibGUnOyAvL1xyXG5cclxuICAgICAgICBsZXQgY29sTnVtPSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IrJyB0aGVhZCB0aCcpLmxlbmd0aDsgLy9idXR0b25zIGluc2VydCBwb3NpdGlvbiBuZWVkXHJcbiAgICAgICAgQVBQLnNldE9wdHMoe1xyXG4gICAgICAgICAgICBkYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnJvb3QuY2xpY2tOZXcsXHJcbiAgICAgICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6cm9vdC5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayxcclxuXHJcbiAgICAgICAgfSlcclxuICAgICAgICBsZXQgb3JkZXJEaXJlY3RpdmU9T3B0cy5kYXRhVGFibGUub3JkZXJEaXJlY3RpdmU7XHJcbiAgICAgICAgaWYodHlwZW9mIG9wdGlvbnNbJ29yZGVyRGlyZWN0aXZlJ10hPSd1bmRlZmluZWQnKXtcclxuICAgICAgICAgICAgb3JkZXJEaXJlY3RpdmU9b3B0aW9uc1snb3JkZXJEaXJlY3RpdmUnXTtcclxuICAgICAgICB9XHJcbiAgICAgICAgJChkYXRhVGFibGVDU1NTZWxlY3RvcikuRGF0YVRhYmxlKCB7XHJcbiAgICAgICAgICAgIGxhbmd1YWdlOiB7XHJcbiAgICAgICAgICAgICAgICB1cmw6ICcvL2Nkbi5kYXRhdGFibGVzLm5ldC9wbHVnLWlucy8xLjEwLjI0L2kxOG4vSHVuZ2FyaWFuLmpzb24nXHJcbiAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAvL1wiYWpheFwiOiBcInt7YXNzZXQoJ2V4YXBtbGUyLmpzb24nKX19XCIsXHJcbiAgICAgICAgICAgIFwiYWpheFwiOiBPcHRzLlVSTC5nZXREYXRhVGFibGVDb250ZW50LFxyXG4gICAgICAgICAgICBcImNvbHVtbkRlZnNcIjogW1xyXG4gICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgIFwidGFyZ2V0c1wiOiBjb2xOdW0tMSxcclxuICAgICAgICAgICAgICAgICAgICBcInJlbmRlclwiOiBmdW5jdGlvbiAoIGRhdGEsIHR5cGUsIHJvdyApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ1dHRvbnM9QVBQLmRhdGF0YWJsZUFkZFJvd1RyYXNoQnV0dG9uKDAsYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYnV0dG9ucys9QVBQLmRhdGF0YWJsZUFkZFJvd0VkaXRCdXR0b24oMCxhcmd1bWVudHMpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnV0dG9ucztcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogMSxcclxuICAgICAgICAgICAgICAgICAgICBcInJlbmRlclwiOiBmdW5jdGlvbiAoIGRhdGEsIHR5cGUsIHJvdyApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHR5cGUgPT09IFwic29ydFwiID8gZGF0YS5sYXRpbmlzZSgpIDogZGF0YTtcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIC8veyBcInZpc2libGVcIjogZmFsc2UsICBcInRhcmdldHNcIjogWyAwIF0gfVxyXG4gICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICBidXR0b25zOntcclxuICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgICAgICAnZXhjZWwnLCdwZGYnLFxyXG4gICAgICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZXh0ZW5kOiAncHJpbnQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RleHQ6ICdQcmludCBjdXJyZW50IHBhZ2UnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAndGl0bGUnOiAndGl0bGUgY3VzdG9tIHRleHQnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZVRvcCc6ICdNZXNzYWdlIE9uIFRvcCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9QcmludDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgLyoqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6ICfDmmogZmVsdml0ZWxlJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1zdWNjZXNzIG5ld0l0ZW0nLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyOntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTp7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGE6MSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYjoyXHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YSc6J25ld0l0ZW0nXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGluaXQ6IGZ1bmN0aW9uKGFwaSwgbm9kZSwgY29uZmlnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG5vZGUpLnJlbW92ZUNsYXNzKCd1aS1idXR0b24nKVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb246IGZ1bmN0aW9uICggZSwgZHQsIG5vZGUsIGNvbmZpZyApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQUC5kYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrKGFyZ3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjb25zb2xlLmxvZyhlKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhkdCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobm9kZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coY29uZmlnKTsqL1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIF1cclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgXCJjb2x1bW5zXCI6IFtcclxuICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwiaWRcIiB9LFxyXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJuYW1lXCIgfSxcclxuICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwiaG9vcmV5Y2FJZFwiIH0sXHJcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcIm5hbWVJZFwiIH0sXHJcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImNyZWF0ZWRfYXRcIiB9LFxyXG4gICAgICAgICAgICAgICAgbnVsbCxcclxuICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgXCJvcmRlclwiOiBvcmRlckRpcmVjdGl2ZSxcclxuICAgICAgICAgICAgLy9cInN0YXRlU2F2ZVwiOiB0cnVlLFxyXG4gICAgICAgICAgICBcImRyYXdDYWxsYmFja1wiOiBmdW5jdGlvbiggc2V0dGluZ3MgKSB7XHJcbiAgICAgICAgICAgICAgICBBUFAuZGF0YXRhYmxlQWRkUm93QWN0aW9uKGRhdGFUYWJsZUNTU1NlbGVjdG9yKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0gKTtcclxuICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgZW5kJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrPWZ1bmN0aW9uIChldmVudCl7XHJcbiAgICAgICAgZGVidWcoJ2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrJyk7XHJcbiAgICAgICAgbGV0IG5vZGU9JChldmVudFswXS5jdXJyZW50VGFyZ2V0KTtcclxuICAgICAgICBsZXQgcm93PSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgpLnJvdyhub2RlLnBhcmVudHMoJ3RyJykpO1xyXG4gICAgICAgIGxldCByb3dEYXRhPXJvdy5kYXRhKCk7XHJcbiAgICAgICAgbGV0IGFjdGlvbk5hbWU9J2RhdGF0YWJsZVJvd0FjdGlvbicrbm9kZS5kYXRhKCdidXR0b250eXBlJykuY2FwaXRhbGl6ZSgpO1xyXG4gICAgICAgIGlmICh0eXBlb2Ygcm9vdFthY3Rpb25OYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgIHJldHVybiByb290W2FjdGlvbk5hbWVdKHJvd0RhdGEsbm9kZSlcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGF0YWJsZVJvd0FjdGlvbkVkaXQ9ZnVuY3Rpb24gKHJvd0RhdGEsbm9kZSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdkYXRhdGFibGVSb3dBY3Rpb25FZGl0IENhbGxlZCcpO1xyXG4gICAgICAgIC8vT3B0cy5vbkFmdGVySW5pdFZpZXdEZXRhaWxzPXJvb3QuYXV0b2ZpbGxEZXRhaWxzO1xyXG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLmVkaXQucmVwbGFjZSgnJWlkJScscm93RGF0YS5pZCk7XHJcbiAgICAgICAgLypcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKE9wdHMuVVJMKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGFqYXhVcmwpO1xyXG4gICAgICAgICovXHJcbiAgICAgICAgQVBQLmxvYWRNYWluQ29udGVudChhamF4VXJsLHJvb3QuaW5pdFZpZXdEZXRhaWxzKTtcclxuICAgICAgICBjb25zb2xlLmxvZygnZGF0YXRhYmxlUm93QWN0aW9uRWRpdCBFbmQnKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0YXRhYmxlUm93QWN0aW9uRGVsZXRlPWZ1bmN0aW9uIChyb3dEYXRhLG5vZGUpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnZGF0YXRhYmxlUm93QWN0aW9uRGVsZXRlIENhbGxlZCcpO1xyXG4gICAgICAgIGxldCByb3c9JChkYXRhVGFibGVDU1NTZWxlY3RvcikuRGF0YVRhYmxlKCkucm93KG5vZGUucGFyZW50cygndHInKSk7XHJcbiAgICAgICAgbGV0IGFqYXhEYXRhPXt9O1xyXG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLmRlc3Ryb3kucmVwbGFjZSgnJWlkJScscm93RGF0YS5pZCk7XHJcbiAgICAgICAgYWpheERhdGEuX3Rva2VuPSQoJ2lucHV0W25hbWU9X3Rva2VuXScpLnZhbCgpO1xyXG4gICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgIHVybDphamF4VXJsLFxyXG4gICAgICAgICAgICBkYXRhOmFqYXhEYXRhLFxyXG4gICAgICAgICAgICBtZXRob2Q6XCJERUxFVEVcIixcclxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbiAoZGF0YSl7XHJcbiAgICAgICAgICAgICAgICBpZihkYXRhLnN1Y2Nlc3M9PXRydWUpe1xyXG4gICAgICAgICAgICAgICAgICAgIHJvdy5yZW1vdmUoKS5kcmF3KCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbGlja1NhdmVCdXR0b249ZnVuY3Rpb24gKGV2ZW50KSB7XHJcbiAgICAgICAgZGVidWcoJ1NhdmUgY2xpY2tlZCcpO1xyXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICAgICAgZGVidWcoQ1NTU2VsZWN0b3JGb3JtKTtcclxuICAgICAgICBkZWJ1ZygkKENTU1NlbGVjdG9yRm9ybSkpO1xyXG4gICAgICAgIGlmICgkKENTU1NlbGVjdG9yRm9ybSlbMF0uY2hlY2tWYWxpZGl0eSgpID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygndmFsaWRhdG9uIGZhbHNlJyk7XHJcbiAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKS5hZGRDbGFzcygnd2FzLXZhbGlkYXRlZCcpO1xyXG4gICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSlbMF0ucmVwb3J0VmFsaWRpdHkoKTtcclxuICAgICAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiVmFsaWTDoWNpw7NzIGhpYmEhXCIsIG1lc3NhZ2U6IFwiS8OpcmrDvGssIHTDtmx0c2Uga2kgYSBrw7Z0ZWxlesWRIG1lesWRa2V0IVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5EQU5HRVIsIHRpbWVvdXQ6IDUwMDAgfSk7XHJcbiAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3ZhbGlkYXRvbiBvaycpO1xyXG4gICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSkucmVtb3ZlQ2xhc3MoJ3dhcy12YWxpZGF0ZWQnKTtcclxuICAgICAgICAgICAgLy9kbyB5b3VyIGFqYXggc3VibWl0aW9uIGhlcmVcclxuICAgICAgICB9XHJcbiAgICAgICAgbGV0IGFqYXhEYXRhPXJvb3QuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsKENTU1NlbGVjdG9yRm9ybSk7XHJcblxyXG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLnN0b3JlO1xyXG4gICAgICAgIGxldCBhamF4TWV0aG9kPVwiUE9TVFwiO1xyXG4gICAgICAgIGlmKHJvb3QuUHJvZml0Q2VudGVyLmlkKXtcclxuICAgICAgICAgICAgYWpheFVybD1PcHRzLlVSTC51cGRhdGUucmVwbGFjZSgnJWlkJScscm9vdC5Qcm9maXRDZW50ZXIuaWQpO1xyXG4gICAgICAgICAgICAvL2FqYXhNZXRob2Q9XCJQVVRcIjtcclxuICAgICAgICAgICAgLy9hamF4RGF0YT1uZXcgRm9ybURhdGEoJChDU1NTZWxlY3RvckZvcm0pWzBdKTtcclxuICAgICAgICAgICAgYWpheERhdGEuYXBwZW5kKCdfbWV0aG9kJywnUFVUJyk7XHJcbiAgICAgICAgfVxyXG4vKlxyXG4gICAgICAgIGRlYnVnKGFqYXhVcmwpO1xyXG4gICAgICAgIGRlYnVnKGFqYXhNZXRob2QpO1xyXG4gICAgICAgIGRlYnVnKGFqYXhEYXRhLmVudHJpZXMoKSk7XHJcbiAgICAgICAgZm9yICh2YXIgcGFpciBvZiBhamF4RGF0YS5lbnRyaWVzKCkpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2cocGFpclswXSsgJywgJyArIHBhaXJbMV0pO1xyXG4gICAgICAgIH1cclxuKi9cclxuXHJcbiAgICAgICAgY29uc29sZS50YWJsZShPYmplY3QuZnJvbUVudHJpZXMoYWpheERhdGEpKTtcclxuXHJcbiAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgdXJsOmFqYXhVcmwsXHJcbiAgICAgICAgICAgIGRhdGE6YWpheERhdGEsXHJcbiAgICAgICAgICAgIHR5cGU6YWpheE1ldGhvZCxcclxuICAgICAgICAgICAgY29udGVudFR5cGU6ZmFsc2UsXHJcbiAgICAgICAgICAgIHByb2Nlc3NEYXRhOiBmYWxzZSxcclxuICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6ICQoJ2lucHV0W25hbWU9XCJfdG9rZW5cIl0nKS52YWwoKVxyXG4gICAgICAgICAgICB9LFxyXG5cclxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbiAoZGF0YSl7XHJcbiAgICAgICAgICAgICAgICBkZWJ1ZyhkYXRhKTtcclxuICAgICAgICAgICAgICAgIGlmKGRhdGEuc3VjY2Vzcz09dHJ1ZSl7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIC8vT3B0cy5vbkFmdGVySW5pdFZpZXdEZXRhaWxzPXJvb3QuYXV0b2ZpbGxEZXRhaWxzO1xyXG4gICAgICAgICAgICAgICAgICAgIE9wdHMuZGF0YVRhYmxlLm9yZGVyRGlyZWN0aXZlPVswLCAnZGVzYyddO1xyXG4gICAgICAgICAgICAgICAgICAgIFRvYXN0LmNyZWF0ZSh7IHRpdGxlOiBcIlNpa2VyZXMgcsO2Z3rDrXTDqXMhXCIsIG1lc3NhZ2U6IGFqYXhEYXRhLmdldCgnbmFtZScpK1wiIG5ldsWxIHByb2ZpdGNlbnRlciBlbG1lbnR2ZVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5TVUNDRVNTLCB0aW1lb3V0OiA1MDAwIH0pO1xyXG4gICAgICAgICAgICAgICAgICAgIEFQUC5sb2FkTWFpbkNvbnRlbnQoT3B0cy5VUkwuaW5kZXgrJz9pbml0PTAnLHJvb3QuaW5pdFZpZXdMaXN0KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsID0gZnVuY3Rpb24gKENTU1NlbGVjdG9yRm9ybSkge1xyXG4gICAgICAgIGxldCBhamF4RGF0YT1uZXcgRm9ybURhdGEoJChDU1NTZWxlY3RvckZvcm0pWzBdKTtcclxuLypcclxuICAgICAgICAkLmVhY2goYWpheERhdGEuZ2V0QWxsKCdwcm9kdWN0R3JvdXAnKSxmdW5jdGlvbihrZXksdmFsdWUpe1xyXG4gICAgICAgICAgICBhamF4RGF0YS5hcHBlbmQoJ3Byb2R1Y3RHcm91cFtdJyx2YWx1ZSk7XHJcbiAgICAgICAgfSlcclxuKi9cclxuICAgICAgICAkLmVhY2goYWpheERhdGEuZ2V0QWxsKCdjb250YWN0SWQnKSxmdW5jdGlvbihrZXksdmFsdWUpe1xyXG4gICAgICAgICAgICBhamF4RGF0YS5hcHBlbmQoJ2NvbnRhY3RJZFtdJyx2YWx1ZSk7XHJcbiAgICAgICAgfSlcclxuXHJcbiAgICAgICAgYWpheERhdGEuYXBwZW5kKCdfdG9rZW4nLCQoJ2lucHV0W25hbWU9X3Rva2VuXScpLnZhbCgpKTtcclxuXHJcbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyBpbnB1dFtkYXRhLWlucHV0bWFza10nKS5lYWNoKGZ1bmN0aW9uICgpe1xyXG4gICAgICAgICAgICBsZXQgaW5kZXhLZXk9JCh0aGlzKS5hdHRyKCduYW1lJyk7XHJcbiAgICAgICAgICAgIGlmKGFqYXhEYXRhLmdldChpbmRleEtleSkpe1xyXG4gICAgICAgICAgICAgICAgYWpheERhdGEuc2V0KGluZGV4S2V5LGFqYXhEYXRhLmdldChpbmRleEtleSkucmVwbGFjZSgvW18gXSskL2csXCJcIikpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgJC5lYWNoKGFqYXhEYXRhLmdldEFsbCgnc3VwcGxpZXInKSxmdW5jdGlvbihrZXksdmFsdWUpe1xyXG4gICAgICAgICAgICBhamF4RGF0YS5hcHBlbmQoJ3N1cHBsaWVyW10nLHZhbHVlKTtcclxuICAgICAgICB9KVxyXG4gICAgICAgIHJldHVybiBhamF4RGF0YTtcclxuICAgIH1cclxuICAgIHRoaXMuY29uc3RydWN0KG9wdGlvbnMsIFByb2ZpdENlbnRlckl0ZW0pO1xyXG5cclxufVxyXG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFHLE9BQU9BLHFCQUFxQixLQUFHLFdBQVcsRUFBQztFQUFBLElB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S0FBSyxFQUFFLG1CQUFtQjtZQUFFQyxPQUFPLEVBQUVtRCxRQUFRLENBQUNtQixHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUMsNkJBQTZCO1lBQUU3RSxNQUFNLEVBQUVRLFlBQVksQ0FBQ0MsT0FBTztZQUFFQyxPQUFPLEVBQUU7VUFBSyxDQUFDLENBQUM7VUFDdEpyRixHQUFHLENBQUNPLGVBQWUsQ0FBQ2hDLElBQUksQ0FBQ0ksR0FBRyxDQUFDRSxLQUFLLEdBQUMsU0FBUyxFQUFDVyxJQUFJLENBQUNZLFlBQVksQ0FBQztRQUNuRTtNQUNKO0lBQ0osQ0FBQyxDQUFDO0VBQ04sQ0FBQztFQUVELElBQUksQ0FBQzRJLDJCQUEyQixHQUFHLFVBQVVySixlQUFlLEVBQUU7SUFDMUQsSUFBSTBJLFFBQVEsR0FBQyxJQUFJb0IsUUFBUSxDQUFDM0osQ0FBQyxDQUFDSCxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBQ1FHLENBQUMsQ0FBQzJDLElBQUksQ0FBQzRGLFFBQVEsQ0FBQ3FCLE1BQU0sQ0FBQyxXQUFXLENBQUMsRUFBQyxVQUFTQyxHQUFHLEVBQUNqSSxLQUFLLEVBQUM7TUFDbkQyRyxRQUFRLENBQUN2RSxNQUFNLENBQUMsYUFBYSxFQUFDcEMsS0FBSyxDQUFDO0lBQ3hDLENBQUMsQ0FBQztJQUVGMkcsUUFBUSxDQUFDdkUsTUFBTSxDQUFDLFFBQVEsRUFBQ2hFLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDa0MsR0FBRyxDQUFDLENBQUMsQ0FBQztJQUV2RGxDLENBQUMsQ0FBQ0gsZUFBZSxHQUFDLHdCQUF3QixDQUFDLENBQUM4QyxJQUFJLENBQUMsWUFBVztNQUN4RCxJQUFJbUgsUUFBUSxHQUFDOUosQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDZ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQztNQUNqQyxJQUFHdUYsUUFBUSxDQUFDbUIsR0FBRyxDQUFDSSxRQUFRLENBQUMsRUFBQztRQUN0QnZCLFFBQVEsQ0FBQ3dCLEdBQUcsQ0FBQ0QsUUFBUSxFQUFDdkIsUUFBUSxDQUFDbUIsR0FBRyxDQUFDSSxRQUFRLENBQUMsQ0FBQ3pCLE9BQU8sQ0FBQyxTQUFTLEVBQUMsRUFBRSxDQUFDLENBQUM7TUFDdkU7SUFDSixDQUFDLENBQUM7SUFDRnJJLENBQUMsQ0FBQzJDLElBQUksQ0FBQzRGLFFBQVEsQ0FBQ3FCLE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBQyxVQUFTQyxHQUFHLEVBQUNqSSxLQUFLLEVBQUM7TUFDbEQyRyxRQUFRLENBQUN2RSxNQUFNLENBQUMsWUFBWSxFQUFDcEMsS0FBSyxDQUFDO0lBQ3ZDLENBQUMsQ0FBQztJQUNGLE9BQU8yRyxRQUFRO0VBQ25CLENBQUM7RUFDRCxJQUFJLENBQUN4SSxTQUFTLENBQUN0QyxPQUFPLEVBQUVlLGdCQUFnQixDQUFDO0FBRTdDLENBQUMiLCJpZ25vcmVMaXN0IjpbXSwiZmlsZSI6Ii4vcmVzb3VyY2VzL2pzL2FkbWluL3Byb2ZpdENlbnRlci5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/admin/profitCenter.js\n\n}"); +eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nif (typeof DataModelProfitCenter === 'undefined') {\n var _DataModelProfitCenter = /*#__PURE__*/function (_DataModel) {\n /*\n * Constructor\n */\n function _DataModelProfitCenter(data, options) {\n var _this;\n _classCallCheck(this, _DataModelProfitCenter);\n _this = _callSuper(this, _DataModelProfitCenter, [data, options]);\n if (typeof _this.contact === \"undefined\") {\n _this.contact = [];\n }\n if (typeof _this.address === \"undefined\") {\n _this.address = [];\n }\n console.log(_this.constructor.name + ' constructor called');\n return _this;\n }\n _inherits(_DataModelProfitCenter, _DataModel);\n return _createClass(_DataModelProfitCenter);\n }(DataModel);\n ;\n window.DataModelProfitCenter = _DataModelProfitCenter;\n}\nwindow.ProfitCenterAdmin = function (options, ProfitCenterItem) {\n /*\n * Variables accessible\n * in the class\n */\n var Opts = {\n token: null,\n containerCssSelector: '.containerProfitCenter',\n testMode: false,\n URL: {\n getDataTableContent: '',\n index: '',\n show: '',\n edit: '',\n create: '',\n store: '',\n update: '',\n destroy: ''\n },\n dataTable: {\n orderDirective: [1, 'asc']\n },\n onAfterInitViewDetails: function onAfterInitViewDetails() {}\n };\n var ProfitCenter = {};\n var root = this;\n var contactPopupWorkflow = 'new';\n var addressPopupWorkflow = 'new';\n var CSSSelectorForm = '';\n var dataTableCSSSelector = '';\n /*\n * Constructor\n */\n this.construct = function (options, ProfitCenterItem) {\n console.log('ProfitCenterAdmin constructor called');\n $.extend(Opts, options);\n if (!ProfitCenterItem) {\n console.log('ProfitCentert letre kellet hozni ');\n if (!APP.ProfitCenter) {\n APP.ProfitCenter = new window.DataModelProfitCenter();\n }\n root.ProfitCenter = APP.ProfitCenter;\n }\n CSSSelectorForm = Opts.containerCssSelector + ' .profitCenterForm';\n };\n this.getOpts = function () {\n return Opts;\n };\n this.getData = function () {\n return root.ProfitCenter;\n };\n this.init = function (options, ProfitCenterItem) {\n $.extend(Opts, options);\n if (Opts.testMode) {\n return root.testMode();\n }\n if (ProfitCenterItem) {\n root.ProfitCenter = ProfitCenterItem;\n }\n root.initViewList();\n };\n this.clickNew = function () {\n debug('clickNew');\n APP.loadMainContent(Opts.URL.create, root.clickNewCallBack);\n };\n this.clickNewCallBack = function () {\n debug('callbackNew');\n root.ProfitCenter = new window.DataModelProfitCenter();\n root.initViewDetails();\n };\n this.initViewDetails = function (options, SupplierItem) {\n debug('**call initViewDetails ');\n /**\n * Contact Popup setup\n */\n if (!APP.ContactPopUp) {\n console.log('nincs APP.ContactPopUp');\n APP.ContactPopUp = new window.ContactPopUp();\n } else {\n console.log('mar van APP.ContactPopUp');\n }\n APP.ContactPopUp.init({\n active: true,\n onAfterSave: root.contactAction\n });\n root.renderContact();\n $(CSSSelectorForm + ' .buttonNewContact').bind('click', function () {\n APP.ProfitCenterAdmin.setContactPopupWorkflow('new');\n APP.ContactPopUp.clearData();\n APP.ContactPopUp.show();\n });\n /**\n * Address Popup setup\n */\n if (!APP.AddressPopUp) {\n console.log('nincs APP.AddressPopUp');\n APP.AddressPopUp = new window.AddressPopUp();\n } else {\n console.log('mar van APP.AddressPopUp');\n }\n APP.AddressPopUp.init({\n active: true,\n onAfterSave: root.addressAction\n });\n root.renderAddress();\n $(CSSSelectorForm + ' .buttonNewAddress').bind('click', function () {\n APP.ProfitCenterAdmin.setAddressPopupWorkflow('new');\n APP.AddressPopUp.clearData();\n APP.AddressPopUp.show();\n });\n /**\n *\n */\n\n $('[data-toggle=\"tooltip\"]').tooltip();\n initRadioButtons({\n onChange: function onChange(value, node) {\n debug(value);\n debug(node);\n /*\n if(node==='profitCenterMultiAddress'){\n if(value==1){\n $('.containerMultiAddress').removeClass('d-none');\n }else{\n $('.containerMultiAddress').addClass('d-none');\n }\n }\n */\n if (node === 'addressEqual') {\n if (value == 1) {\n $(CSSSelectorForm + ' .containerMultiAddress').addClass('d-none');\n $(CSSSelectorForm + ' .containerMultiAddressSwitch').addClass('d-none');\n } else {\n $(CSSSelectorForm + ' .containerMultiAddress').removeClass('d-none');\n $(CSSSelectorForm + ' .containerMultiAddressSwitch').removeClass('d-none');\n }\n }\n }\n });\n $(CSSSelectorForm + \" :input\").inputmask({\n \"onincomplete\": function onincomplete() {\n console.log($(this).data('required'));\n if ($(this).val().length > 0 || $(this).data('required') === true) {\n $(this).addClass('is-invalid');\n }\n },\n \"oncomplete\": function oncomplete() {\n $(this).removeClass('is-invalid');\n $(this).addClass('is-valid');\n },\n \"oncleared\": function oncleared() {\n console.log('cleared');\n $(this).removeClass('is-invalid');\n }\n });\n $(CSSSelectorForm + ' button.FormSaveButton').off('click');\n $(CSSSelectorForm + ' button.FormSaveButton').on('click', root.clickSaveButton);\n /*\n $(\"input[name=logoFile]\").change(function(){\n setImageFromLocal(this,Opts.containerCssSelector+' .imageLogo');\n });\n */\n\n //Opts.onAfterInitViewDetails();\n debug('**end initViewDetails ');\n };\n this.setDetailsViewData = function () {\n debug('setDetailsViewData');\n var CSSSelectorForm = Opts.containerCssSelector + ' .profitCenterForm';\n var needToSet = ['name', 'hooreycaId', 'nameId', 'email', 'postCode', 'city', 'street', 'phone', 'mobil'];\n $.each(needToSet, function () {\n // debug(this); //alapadatok beallitasanak logolasa\n if (typeof root.ProfitCenter[this] != 'undefined') {\n /* //alapadatok beallitasanak logolasa\n debug(root.ProfitCenter[this]);\n debug(CSSSelectorForm+' input[name='+this+']');\n debug($(CSSSelectorForm+' input[name='+this+']'));\n */\n $(CSSSelectorForm + ' input[name=' + this + ']').val(root.ProfitCenter[this]);\n }\n });\n if (typeof root.ProfitCenter['note'] != 'undefined') {\n $(CSSSelectorForm + ' textarea[name=note]').val(root.ProfitCenter.note);\n }\n $(CSSSelectorForm + ' *[data-toggle=canSee][data-title=' + root.ProfitCenter.canSee + ']').click();\n $(CSSSelectorForm + ' *[data-toggle=hooreycaDataActive][data-title=' + root.ProfitCenter.hooreycaDataActive + ']').click();\n if (typeof root.ProfitCenter['logoFile'] != 'undefined' && root.ProfitCenter['logoFile']) {\n $(CSSSelectorForm + ' img.imageLogo').attr('src', root.ProfitCenter['logoFile']);\n }\n $(CSSSelectorForm + ' *[data-toggle=addressEqual][data-title=' + root.ProfitCenter.addressEqual + ']').click();\n $(CSSSelectorForm + ' *[data-toggle=multiAddress][data-title=' + root.ProfitCenter.multiAddress + ']').click();\n /*debug(root.ProfitCenter.address.length);\n if(root.ProfitCenter.address.length>0){\n $(CSSSelectorForm+' *[data-toggle=addressEqual][data-title=0]').click();\n if(root.ProfitCenter.address.length>1){\n $(CSSSelectorForm+' *[data-toggle=multiAddress][data-title=1]').click();\n }\n }\n */\n var supplier = [];\n $.each(root.ProfitCenter.suppliers, function () {\n supplier.push(this.name);\n });\n //$(CSSSelectorForm+' .profitCenterSelect').val(profitCenter).change();\n $.each(supplier, function () {\n $('input[value=\"' + $.escapeSelector(this) + '\"]').prop(\"checked\", true);\n });\n };\n this.resetContactTable = function () {\n $(CSSSelectorForm + ' .contactTable tbody tr').remove();\n root.renderContact();\n };\n this.renderContact = function () {\n var rowNum = 1;\n console.log('renderingContacts');\n $.each(root.ProfitCenter.getData('contact'), function () {\n var contactData = this;\n contactData.rowNum = rowNum;\n var template = $('template[data-name=\"profitCenterContactTableRow\"]').html();\n var render = Mustache.render(template, contactData);\n $('.contactTable tbody').append(render);\n rowNum++;\n });\n root.bindContactClickAction();\n };\n this.bindContactClickAction = function () {\n $('.contactTable .buttonDelete').unbind('click');\n $('.contactTable .buttonDelete').bind('click', root.contactDeleteClick);\n $('.contactTable .buttonEdit').unbind('click');\n $('.contactTable .buttonEdit').bind('click', root.contactEditClick);\n };\n this.contactDeleteClick = function (event) {\n var row = $(this).closest('tr');\n var id = row.find('input[name=contactId]').val();\n console.log(id);\n root.ProfitCenter.contact = root.ProfitCenter.contact.filter(function (value, index, arr) {\n if (value.id !== id * 1) {\n return true;\n }\n return false;\n });\n console.log(root.ProfitCenter.contact);\n row.remove();\n root.resetContactTable();\n };\n this.getContactPopupWorkflow = function () {\n return contactPopupWorkflow;\n };\n this.setContactPopupWorkflow = function (status) {\n contactPopupWorkflow = status;\n };\n this.contactEditClick = function (event) {\n console.log(this);\n var row = $(this).closest('tr');\n var id = row.find('input[name=contactId]').val();\n console.log(id);\n root.setContactPopupWorkflow('edit');\n APP.ContactPopUp.loadData(id);\n };\n this.contactAction = function (contactData) {\n console.log('nah most kellene meg valamit csinalni.');\n if (root.getContactPopupWorkflow() == 'new') {\n root.addContact(contactData);\n } else if (root.getContactPopupWorkflow() == 'edit') {\n root.editContact(contactData.id, contactData);\n }\n };\n this.addContact = function (contactData) {\n /*\n fel kell venni a sorba\n */\n root.ProfitCenter.contact.push(contactData);\n contactData.rowNum = root.ProfitCenter.contact.length;\n var template = $('template[data-name=\"profitCenterContactTableRow\"]').html();\n var render = Mustache.render(template, contactData);\n $(CSSSelectorForm + ' .contactTable tbody').append(render);\n root.bindContactClickAction();\n Toast.enableTimers(false);\n Toast.create({\n title: \"Kapcsolat tartó hozzáadva!\",\n message: contactData.name + \" nevű kapocsolattartó hozzáadva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n this.editContact = function (id, contactData) {\n var newContacts = [];\n $.each(root.ProfitCenter.getData('contact'), function (index) {\n if (this.id == id) {\n newContacts.push(contactData);\n } else {\n newContacts.push(this);\n }\n });\n root.ProfitCenter.contact = newContacts;\n root.resetContactTable();\n Toast.create({\n title: \"Kapcsolat adatai módosítva!\",\n message: contactData.name + \" nevű kapocsolattartó módosítva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n\n /***************\n *\n * Address function\n *\n */\n this.resetAddressTable = function () {\n $(CSSSelectorForm + ' .addressTable tbody tr').remove();\n root.renderAddress();\n };\n this.renderAddress = function () {\n var rowNum = 1;\n console.log('renderingAddress');\n $.each(root.ProfitCenter.getData('address'), function () {\n var itemData = this;\n itemData.rowNum = rowNum;\n var template = $('template[data-name=\"profitCenterAddressTableRow\"]').html();\n debug(itemData);\n var render = Mustache.render(template, itemData);\n $('.addressTable tbody').append(render);\n rowNum++;\n });\n root.bindAddressClickAction();\n };\n this.bindAddressClickAction = function () {\n $('.addressTable .buttonDelete').unbind('click');\n $('.addressTable .buttonDelete').bind('click', root.addressDeleteClick);\n $('.addressTable .buttonEdit').unbind('click');\n $('.addressTable .buttonEdit').bind('click', root.addressEditClick);\n };\n this.addressDeleteClick = function (event) {\n var row = $(this).closest('tr');\n var id = row.find('input[name=\"addressId[]\"]').val();\n console.log(id);\n root.ProfitCenter.address = root.ProfitCenter.address.filter(function (value, index, arr) {\n if (value.id != id) return true;\n });\n console.log(root.ProfitCenter.address);\n row.remove();\n root.resetAddressTable();\n };\n this.getAddressPopupWorkflow = function () {\n return addressPopupWorkflow;\n };\n this.setAddressPopupWorkflow = function (status) {\n addressPopupWorkflow = status;\n };\n this.addressEditClick = function (event) {\n console.log(this);\n var row = $(this).closest('tr');\n var id = row.find('input[name=\"addressId[]\"]').val();\n console.log(id);\n root.setAddressPopupWorkflow('edit');\n APP.AddressPopUp.loadData(id);\n };\n this.addressAction = function (itemData) {\n console.log('nah most kellene meg valamit csinalni.');\n if (root.getAddressPopupWorkflow() == 'new') {\n root.addAddress(itemData);\n } else if (root.getAddressPopupWorkflow() == 'edit') {\n root.editAddress(itemData.id, itemData);\n }\n };\n this.addAddress = function (ItemData) {\n /*\n fel kell venni a sorba\n */\n root.ProfitCenter.address.push(ItemData);\n ItemData.rowNum = root.ProfitCenter.address.length;\n var template = $('template[data-name=\"profitCenterAddressTableRow\"]').html();\n var render = Mustache.render(template, ItemData);\n $(CSSSelectorForm + ' .addressTable tbody').append(render);\n root.bindAddressClickAction();\n Toast.enableTimers(false);\n Toast.create({\n title: \"Cím hozzáadva!\",\n message: ItemData.street + \" hozzáadva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n this.editAddress = function (id, itemData) {\n var newItem = [];\n $.each(root.ProfitCenter.getData('address'), function (index) {\n if (this.id == id) {\n newItem.push(itemData);\n } else {\n newItem.push(this);\n }\n });\n root.ProfitCenter.address = newItem;\n root.resetAddressTable();\n Toast.create({\n title: \"cím adatai módosítva!\",\n message: itemData.street + \" módosítva\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n };\n this.initViewList = function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n debug('listview inicialization');\n dataTableCSSSelector = Opts.containerCssSelector + ' .dataTable'; //\n\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n datatableActionButtonClickCallBack: root.clickNew,\n datatableRowActionButtonClickCallBack: root.datatableRowActionButtonClick\n });\n var orderDirective = Opts.dataTable.orderDirective;\n if (typeof options['orderDirective'] != 'undefined') {\n orderDirective = options['orderDirective'];\n }\n $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": Opts.URL.getDataTableContent,\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n var buttons = APP.datatableAddRowTrashButton(0, arguments);\n buttons += APP.datatableAddRowEditButton(0, arguments);\n return buttons;\n }\n }, {\n \"targets\": 1,\n \"render\": function render(data, type, row) {\n return type === \"sort\" ? data.latinise() : data;\n }\n }\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons: {\n buttons: ['excel', 'pdf', {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n }, /**/\n\n {\n text: 'Új felvitele',\n className: 'btn btn-success newItem',\n attr: {\n /*\n data:{\n a:1,\n b:2\n }\n */\n 'data': 'newItem'\n },\n init: function init(api, node, config) {\n $(node).removeClass('ui-button');\n },\n action: function action(e, dt, node, config) {\n APP.datatableActionButtonClickCallBack(arguments);\n /* console.log(e);\n console.log(dt);\n console.log(node);\n console.log(config);*/\n }\n }]\n },\n \"columns\": [{\n \"data\": \"id\"\n }, {\n \"data\": \"name\"\n }, {\n \"data\": \"hooreycaId\"\n }, {\n \"data\": \"nameId\"\n }, {\n \"data\": \"created_at\"\n }, null],\n \"order\": orderDirective,\n //\"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n debug('listview end');\n };\n this.datatableRowActionButtonClick = function (event) {\n debug('datatableRowActionButtonClick');\n var node = $(event[0].currentTarget);\n var row = $(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof root[actionName] === \"function\") {\n return root[actionName](rowData, node);\n }\n };\n this.datatableRowActionEdit = function (rowData, node) {\n console.log('datatableRowActionEdit Called');\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n var ajaxUrl = Opts.URL.edit.replace('%id%', rowData.id);\n /*\n console.log(Opts.URL);\n console.log(ajaxUrl);\n */\n APP.loadMainContent(ajaxUrl, root.initViewDetails);\n console.log('datatableRowActionEdit End');\n };\n this.datatableRowActionDelete = function (rowData, node) {\n console.log('datatableRowActionDelete Called');\n var row = $(dataTableCSSSelector).DataTable().row(node.parents('tr'));\n var ajaxData = {};\n var ajaxUrl = Opts.URL.destroy.replace('%id%', rowData.id);\n ajaxData._token = $('input[name=_token]').val();\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n method: \"DELETE\",\n success: function success(data) {\n if (data.success == true) {\n row.remove().draw();\n }\n }\n });\n };\n this.clickSaveButton = function (event) {\n debug('Save clicked');\n event.preventDefault();\n debug(CSSSelectorForm);\n debug($(CSSSelectorForm));\n if ($(CSSSelectorForm)[0].checkValidity() === false) {\n console.log('validaton false');\n $(CSSSelectorForm).addClass('was-validated');\n $(CSSSelectorForm)[0].reportValidity();\n Toast.create({\n title: \"Validációs hiba!\",\n message: \"Kérjük, töltse ki a kötelező mezőket!\",\n status: TOAST_STATUS.DANGER,\n timeout: 5000\n });\n event.stopPropagation();\n return;\n } else {\n console.log('validaton ok');\n $(CSSSelectorForm).removeClass('was-validated');\n //do your ajax submition here\n }\n var ajaxData = root.formDataToDataObjectAPICall(CSSSelectorForm);\n var ajaxUrl = Opts.URL.store;\n var ajaxMethod = \"POST\";\n if (root.ProfitCenter.id) {\n ajaxUrl = Opts.URL.update.replace('%id%', root.ProfitCenter.id);\n //ajaxMethod=\"PUT\";\n //ajaxData=new FormData($(CSSSelectorForm)[0]);\n ajaxData.append('_method', 'PUT');\n }\n /*\n debug(ajaxUrl);\n debug(ajaxMethod);\n debug(ajaxData.entries());\n for (var pair of ajaxData.entries()) {\n console.log(pair[0]+ ', ' + pair[1]);\n }\n */\n\n console.table(Object.fromEntries(ajaxData));\n $.ajax({\n url: ajaxUrl,\n data: ajaxData,\n type: ajaxMethod,\n contentType: false,\n processData: false,\n headers: {\n 'X-CSRF-TOKEN': $('input[name=\"_token\"]').val()\n },\n success: function success(data) {\n debug(data);\n if (data.success == true) {\n //Opts.onAfterInitViewDetails=root.autofillDetails;\n Opts.dataTable.orderDirective = [0, 'desc'];\n Toast.create({\n title: \"Sikeres rögzítés!\",\n message: ajaxData.get('name') + \" nevű profitcenter elmentve\",\n status: TOAST_STATUS.SUCCESS,\n timeout: 5000\n });\n APP.loadMainContent(Opts.URL.index + '?init=0', root.initViewList);\n }\n }\n });\n };\n this.formDataToDataObjectAPICall = function (CSSSelectorForm) {\n var ajaxData = new FormData($(CSSSelectorForm)[0]);\n /*\n $.each(ajaxData.getAll('productGroup'),function(key,value){\n ajaxData.append('productGroup[]',value);\n })\n */\n $.each(ajaxData.getAll('contactId'), function (key, value) {\n ajaxData.append('contactId[]', value);\n });\n ajaxData.append('_token', $('input[name=_token]').val());\n $(CSSSelectorForm + ' input[data-inputmask]').each(function () {\n var indexKey = $(this).attr('name');\n if (ajaxData.get(indexKey)) {\n ajaxData.set(indexKey, ajaxData.get(indexKey).replace(/[_ ]+$/g, \"\"));\n }\n });\n $.each(ajaxData.getAll('supplier'), function (key, value) {\n ajaxData.append('supplier[]', value);\n });\n return ajaxData;\n };\n this.construct(options, ProfitCenterItem);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEYXRhTW9kZWxQcm9maXRDZW50ZXIiLCJfRGF0YU1vZGVsIiwiX0RhdGFNb2RlbFByb2ZpdENlbnRlciIsImRhdGEiLCJvcHRpb25zIiwiX3RoaXMiLCJfY2xhc3NDYWxsQ2hlY2siLCJfY2FsbFN1cGVyIiwiY29udGFjdCIsImFkZHJlc3MiLCJjb25zb2xlIiwibG9nIiwiY29uc3RydWN0b3IiLCJuYW1lIiwiX2luaGVyaXRzIiwiX2NyZWF0ZUNsYXNzIiwiRGF0YU1vZGVsIiwid2luZG93IiwiUHJvZml0Q2VudGVyQWRtaW4iLCJQcm9maXRDZW50ZXJJdGVtIiwiT3B0cyIsInRva2VuIiwiY29udGFpbmVyQ3NzU2VsZWN0b3IiLCJ0ZXN0TW9kZSIsIlVSTCIsImdldERhdGFUYWJsZUNvbnRlbnQiLCJpbmRleCIsInNob3ciLCJlZGl0IiwiY3JlYXRlIiwic3RvcmUiLCJ1cGRhdGUiLCJkZXN0cm95IiwiZGF0YVRhYmxlIiwib3JkZXJEaXJlY3RpdmUiLCJvbkFmdGVySW5pdFZpZXdEZXRhaWxzIiwiUHJvZml0Q2VudGVyIiwicm9vdCIsImNvbnRhY3RQb3B1cFdvcmtmbG93IiwiYWRkcmVzc1BvcHVwV29ya2Zsb3ciLCJDU1NTZWxlY3RvckZvcm0iLCJkYXRhVGFibGVDU1NTZWxlY3RvciIsImNvbnN0cnVjdCIsIiQiLCJleHRlbmQiLCJBUFAiLCJnZXRPcHRzIiwiZ2V0RGF0YSIsImluaXQiLCJpbml0Vmlld0xpc3QiLCJjbGlja05ldyIsImRlYnVnIiwibG9hZE1haW5Db250ZW50IiwiY2xpY2tOZXdDYWxsQmFjayIsImluaXRWaWV3RGV0YWlscyIsIlN1cHBsaWVySXRlbSIsIkNvbnRhY3RQb3BVcCIsImFjdGl2ZSIsIm9uQWZ0ZXJTYXZlIiwiY29udGFjdEFjdGlvbiIsInJlbmRlckNvbnRhY3QiLCJiaW5kIiwic2V0Q29udGFjdFBvcHVwV29ya2Zsb3ciLCJjbGVhckRhdGEiLCJBZGRyZXNzUG9wVXAiLCJhZGRyZXNzQWN0aW9uIiwicmVuZGVyQWRkcmVzcyIsInNldEFkZHJlc3NQb3B1cFdvcmtmbG93IiwidG9vbHRpcCIsImluaXRSYWRpb0J1dHRvbnMiLCJvbkNoYW5nZSIsInZhbHVlIiwibm9kZSIsImFkZENsYXNzIiwicmVtb3ZlQ2xhc3MiLCJpbnB1dG1hc2siLCJvbmluY29tcGxldGUiLCJ2YWwiLCJsZW5ndGgiLCJvbmNvbXBsZXRlIiwib25jbGVhcmVkIiwib2ZmIiwib24iLCJjbGlja1NhdmVCdXR0b24iLCJzZXREZXRhaWxzVmlld0RhdGEiLCJuZWVkVG9TZXQiLCJlYWNoIiwibm90ZSIsImNhblNlZSIsImNsaWNrIiwiaG9vcmV5Y2FEYXRhQWN0aXZlIiwiYXR0ciIsImFkZHJlc3NFcXVhbCIsIm11bHRpQWRkcmVzcyIsInN1cHBsaWVyIiwic3VwcGxpZXJzIiwicHVzaCIsImVzY2FwZVNlbGVjdG9yIiwicHJvcCIsInJlc2V0Q29udGFjdFRhYmxlIiwicmVtb3ZlIiwicm93TnVtIiwiY29udGFjdERhdGEiLCJ0ZW1wbGF0ZSIsImh0bWwiLCJyZW5kZXIiLCJNdXN0YWNoZSIsImFwcGVuZCIsImJpbmRDb250YWN0Q2xpY2tBY3Rpb24iLCJ1bmJpbmQiLCJjb250YWN0RGVsZXRlQ2xpY2siLCJjb250YWN0RWRpdENsaWNrIiwiZXZlbnQiLCJyb3ciLCJjbG9zZXN0IiwiaWQiLCJmaW5kIiwiZmlsdGVyIiwiYXJyIiwiZ2V0Q29udGFjdFBvcHVwV29ya2Zsb3ciLCJzdGF0dXMiLCJsb2FkRGF0YSIsImFkZENvbnRhY3QiLCJlZGl0Q29udGFjdCIsIlRvYXN0IiwiZW5hYmxlVGltZXJzIiwidGl0bGUiLCJtZXNzYWdlIiwiVE9BU1RfU1RBVFVTIiwiU1VDQ0VTUyIsInRpbWVvdXQiLCJuZXdDb250YWN0cyIsInJlc2V0QWRkcmVzc1RhYmxlIiwiaXRlbURhdGEiLCJiaW5kQWRkcmVzc0NsaWNrQWN0aW9uIiwiYWRkcmVzc0RlbGV0ZUNsaWNrIiwiYWRkcmVzc0VkaXRDbGljayIsImdldEFkZHJlc3NQb3B1cFdvcmtmbG93IiwiYWRkQWRkcmVzcyIsImVkaXRBZGRyZXNzIiwiSXRlbURhdGEiLCJzdHJlZXQiLCJuZXdJdGVtIiwiYXJndW1lbnRzIiwidW5kZWZpbmVkIiwiY29sTnVtIiwic2V0T3B0cyIsImRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrIiwiZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2siLCJEYXRhVGFibGUiLCJsYW5ndWFnZSIsInVybCIsInR5cGUiLCJidXR0b25zIiwiZGF0YXRhYmxlQWRkUm93VHJhc2hCdXR0b24iLCJkYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uIiwibGF0aW5pc2UiLCJhdXRvUHJpbnQiLCJ0ZXh0IiwiY2xhc3NOYW1lIiwiYXBpIiwiY29uZmlnIiwiYWN0aW9uIiwiZSIsImR0IiwiZHJhd0NhbGxiYWNrIiwic2V0dGluZ3MiLCJkYXRhdGFibGVBZGRSb3dBY3Rpb24iLCJjdXJyZW50VGFyZ2V0IiwicGFyZW50cyIsInJvd0RhdGEiLCJhY3Rpb25OYW1lIiwiY2FwaXRhbGl6ZSIsImRhdGF0YWJsZVJvd0FjdGlvbkVkaXQiLCJhamF4VXJsIiwicmVwbGFjZSIsImRhdGF0YWJsZVJvd0FjdGlvbkRlbGV0ZSIsImFqYXhEYXRhIiwiX3Rva2VuIiwiYWpheCIsIm1ldGhvZCIsInN1Y2Nlc3MiLCJkcmF3IiwicHJldmVudERlZmF1bHQiLCJjaGVja1ZhbGlkaXR5IiwicmVwb3J0VmFsaWRpdHkiLCJEQU5HRVIiLCJzdG9wUHJvcGFnYXRpb24iLCJmb3JtRGF0YVRvRGF0YU9iamVjdEFQSUNhbGwiLCJhamF4TWV0aG9kIiwidGFibGUiLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImNvbnRlbnRUeXBlIiwicHJvY2Vzc0RhdGEiLCJoZWFkZXJzIiwiZ2V0IiwiRm9ybURhdGEiLCJnZXRBbGwiLCJrZXkiLCJpbmRleEtleSIsInNldCJdLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYWRtaW4vcHJvZml0Q2VudGVyLmpzP2NkMTUiXSwic291cmNlc0NvbnRlbnQiOlsiaWYodHlwZW9mIERhdGFNb2RlbFByb2ZpdENlbnRlcj09PSd1bmRlZmluZWQnKXtcbiAgICBjbGFzcyBEYXRhTW9kZWxQcm9maXRDZW50ZXIgZXh0ZW5kcyBEYXRhTW9kZWx7XG5cbiAgICAgICAgLypcbiAgICAgICAgICogQ29uc3RydWN0b3JcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0cnVjdG9yIChkYXRhLG9wdGlvbnMpIHtcbiAgICAgICAgICAgIHN1cGVyKGRhdGEsb3B0aW9ucylcbiAgICAgICAgICAgIGlmKHR5cGVvZiB0aGlzLmNvbnRhY3QgPT09XCJ1bmRlZmluZWRcIil7XG4gICAgICAgICAgICAgICAgdGhpcy5jb250YWN0PVtdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYodHlwZW9mIHRoaXMuYWRkcmVzcyA9PT1cInVuZGVmaW5lZFwiKXtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZHJlc3M9W107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zb2xlLmxvZyh0aGlzLmNvbnN0cnVjdG9yLm5hbWUrJyBjb25zdHJ1Y3RvciBjYWxsZWQnKTtcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIHdpbmRvdy5EYXRhTW9kZWxQcm9maXRDZW50ZXI9RGF0YU1vZGVsUHJvZml0Q2VudGVyO1xufVxuXG53aW5kb3cuUHJvZml0Q2VudGVyQWRtaW49ZnVuY3Rpb24gKG9wdGlvbnMsUHJvZml0Q2VudGVySXRlbSkge1xuICAgIC8qXG4gICAgICogVmFyaWFibGVzIGFjY2Vzc2libGVcbiAgICAgKiBpbiB0aGUgY2xhc3NcbiAgICAgKi9cbiAgICBsZXQgT3B0cyA9IHtcbiAgICAgICAgdG9rZW46IG51bGwsXG4gICAgICAgIGNvbnRhaW5lckNzc1NlbGVjdG9yOiAnLmNvbnRhaW5lclByb2ZpdENlbnRlcicsXG4gICAgICAgIHRlc3RNb2RlOiBmYWxzZSxcbiAgICAgICAgVVJMOiB7XG4gICAgICAgICAgICBnZXREYXRhVGFibGVDb250ZW50OiAnJyxcbiAgICAgICAgICAgIGluZGV4OiAnJyxcbiAgICAgICAgICAgIHNob3c6ICcnLFxuICAgICAgICAgICAgZWRpdDogJycsXG4gICAgICAgICAgICBjcmVhdGU6ICcnLFxuICAgICAgICAgICAgc3RvcmU6ICcnLFxuICAgICAgICAgICAgdXBkYXRlOiAnJyxcbiAgICAgICAgICAgIGRlc3Ryb3k6ICcnLFxuICAgICAgICB9LFxuICAgICAgICBkYXRhVGFibGU6IHtcbiAgICAgICAgICAgIG9yZGVyRGlyZWN0aXZlOiBbMSwgJ2FzYyddXG4gICAgICAgIH0sXG4gICAgICAgIG9uQWZ0ZXJJbml0Vmlld0RldGFpbHM6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgfVxuICAgIH07XG4gICAgbGV0IFByb2ZpdENlbnRlciA9IHt9O1xuICAgIGxldCByb290ID0gdGhpcztcbiAgICBsZXQgY29udGFjdFBvcHVwV29ya2Zsb3cgPSAnbmV3JztcbiAgICBsZXQgYWRkcmVzc1BvcHVwV29ya2Zsb3cgPSAnbmV3JztcbiAgICBsZXQgQ1NTU2VsZWN0b3JGb3JtPScnO1xuICAgIGxldCBkYXRhVGFibGVDU1NTZWxlY3Rvcj0nJztcbiAgICAvKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICovXG4gICAgdGhpcy5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAob3B0aW9ucywgUHJvZml0Q2VudGVySXRlbSkge1xuICAgICAgICBjb25zb2xlLmxvZygnUHJvZml0Q2VudGVyQWRtaW4gY29uc3RydWN0b3IgY2FsbGVkJyk7XG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xuICAgICAgICBpZiAoIVByb2ZpdENlbnRlckl0ZW0pIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdQcm9maXRDZW50ZXJ0IGxldHJlIGtlbGxldCBob3puaSAnKTtcbiAgICAgICAgICAgIGlmICghQVBQLlByb2ZpdENlbnRlcikge1xuICAgICAgICAgICAgICAgIEFQUC5Qcm9maXRDZW50ZXIgPSBuZXcgd2luZG93LkRhdGFNb2RlbFByb2ZpdENlbnRlcigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcm9vdC5Qcm9maXRDZW50ZXIgPSBBUFAuUHJvZml0Q2VudGVyO1xuICAgICAgICB9XG4gICAgICAgIENTU1NlbGVjdG9yRm9ybT1PcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLnByb2ZpdENlbnRlckZvcm0nO1xuICAgIH07XG4gICAgdGhpcy5nZXRPcHRzID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gT3B0cztcbiAgICB9XG4gICAgdGhpcy5nZXREYXRhPWZ1bmN0aW9uICgpe1xuICAgICAgICByZXR1cm4gcm9vdC5Qcm9maXRDZW50ZXI7XG4gICAgfVxuXG4gICAgdGhpcy5pbml0PWZ1bmN0aW9uIChvcHRpb25zLFByb2ZpdENlbnRlckl0ZW0pe1xuICAgICAgICAkLmV4dGVuZChPcHRzLCBvcHRpb25zKTtcblxuICAgICAgICBpZihPcHRzLnRlc3RNb2RlKXtcbiAgICAgICAgICAgIHJldHVybiByb290LnRlc3RNb2RlKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYoUHJvZml0Q2VudGVySXRlbSl7XG4gICAgICAgICAgICByb290LlByb2ZpdENlbnRlcj1Qcm9maXRDZW50ZXJJdGVtXG4gICAgICAgIH1cbiAgICAgICAgcm9vdC5pbml0Vmlld0xpc3QoKTtcbiAgICB9XG4gICAgdGhpcy5jbGlja05ldz1mdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlYnVnKCdjbGlja05ldycpO1xuICAgICAgICBBUFAubG9hZE1haW5Db250ZW50KE9wdHMuVVJMLmNyZWF0ZSxyb290LmNsaWNrTmV3Q2FsbEJhY2spO1xuICAgIH1cblxuICAgIHRoaXMuY2xpY2tOZXdDYWxsQmFjaz1mdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlYnVnKCdjYWxsYmFja05ldycpO1xuICAgICAgICByb290LlByb2ZpdENlbnRlcj1uZXcgd2luZG93LkRhdGFNb2RlbFByb2ZpdENlbnRlcigpO1xuICAgICAgICByb290LmluaXRWaWV3RGV0YWlscygpO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdFZpZXdEZXRhaWxzPWZ1bmN0aW9uIChvcHRpb25zLFN1cHBsaWVySXRlbSl7XG4gICAgICAgIGRlYnVnKCcqKmNhbGwgaW5pdFZpZXdEZXRhaWxzICcpO1xuICAgICAgICAvKipcbiAgICAgICAgICogQ29udGFjdCBQb3B1cCBzZXR1cFxuICAgICAgICAgKi9cbiAgICAgICAgaWYoIUFQUC5Db250YWN0UG9wVXApe1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ25pbmNzIEFQUC5Db250YWN0UG9wVXAnKVxuICAgICAgICAgICAgQVBQLkNvbnRhY3RQb3BVcCA9IG5ldyB3aW5kb3cuQ29udGFjdFBvcFVwKCk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ21hciB2YW4gIEFQUC5Db250YWN0UG9wVXAnKVxuICAgICAgICB9XG4gICAgICAgIEFQUC5Db250YWN0UG9wVXAuaW5pdCh7XG4gICAgICAgICAgICBhY3RpdmU6dHJ1ZSxcbiAgICAgICAgICAgIG9uQWZ0ZXJTYXZlOnJvb3QuY29udGFjdEFjdGlvblxuICAgICAgICB9KTtcbiAgICAgICAgcm9vdC5yZW5kZXJDb250YWN0KCk7XG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmJ1dHRvbk5ld0NvbnRhY3QnKS5iaW5kKCdjbGljaycsZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICBBUFAuUHJvZml0Q2VudGVyQWRtaW4uc2V0Q29udGFjdFBvcHVwV29ya2Zsb3coJ25ldycpO1xuICAgICAgICAgICAgQVBQLkNvbnRhY3RQb3BVcC5jbGVhckRhdGEoKTtcbiAgICAgICAgICAgIEFQUC5Db250YWN0UG9wVXAuc2hvdygpO1xuICAgICAgICB9KTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEFkZHJlc3MgUG9wdXAgc2V0dXBcbiAgICAgICAgICovXG4gICAgICAgIGlmKCFBUFAuQWRkcmVzc1BvcFVwKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCduaW5jcyBBUFAuQWRkcmVzc1BvcFVwJylcbiAgICAgICAgICAgIEFQUC5BZGRyZXNzUG9wVXAgPSBuZXcgd2luZG93LkFkZHJlc3NQb3BVcCgpO1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdtYXIgdmFuICBBUFAuQWRkcmVzc1BvcFVwJylcbiAgICAgICAgfVxuICAgICAgICBBUFAuQWRkcmVzc1BvcFVwLmluaXQoe1xuICAgICAgICAgICAgYWN0aXZlOnRydWUsXG4gICAgICAgICAgICBvbkFmdGVyU2F2ZTpyb290LmFkZHJlc3NBY3Rpb25cbiAgICAgICAgfSk7XG4gICAgICAgIHJvb3QucmVuZGVyQWRkcmVzcygpO1xuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIC5idXR0b25OZXdBZGRyZXNzJykuYmluZCgnY2xpY2snLGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgQVBQLlByb2ZpdENlbnRlckFkbWluLnNldEFkZHJlc3NQb3B1cFdvcmtmbG93KCduZXcnKTtcbiAgICAgICAgICAgIEFQUC5BZGRyZXNzUG9wVXAuY2xlYXJEYXRhKCk7XG4gICAgICAgICAgICBBUFAuQWRkcmVzc1BvcFVwLnNob3coKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8qKlxuICAgICAgICAgKlxuICAgICAgICAgKi9cblxuICAgICAgICAkKCdbZGF0YS10b2dnbGU9XCJ0b29sdGlwXCJdJykudG9vbHRpcCgpO1xuICAgICAgICBpbml0UmFkaW9CdXR0b25zKHtcbiAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiAodmFsdWUsbm9kZSkge1xuICAgICAgICAgICAgICAgIGRlYnVnKHZhbHVlKTtcbiAgICAgICAgICAgICAgICBkZWJ1Zyhub2RlKTtcbiAgICAgICAgICAgICAgICAvKlxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZihub2RlPT09J3Byb2ZpdENlbnRlck11bHRpQWRkcmVzcycpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKHZhbHVlPT0xKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNvbnRhaW5lck11bHRpQWRkcmVzcycpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgnLmNvbnRhaW5lck11bHRpQWRkcmVzcycpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICAgIGlmKG5vZGU9PT0nYWRkcmVzc0VxdWFsJyl7XG4gICAgICAgICAgICAgICAgICAgIGlmKHZhbHVlPT0xKXtcbiAgICAgICAgICAgICAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmNvbnRhaW5lck11bHRpQWRkcmVzcycpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmNvbnRhaW5lck11bHRpQWRkcmVzc1N3aXRjaCcpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIC5jb250YWluZXJNdWx0aUFkZHJlc3MnKS5yZW1vdmVDbGFzcygnZC1ub25lJyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIC5jb250YWluZXJNdWx0aUFkZHJlc3NTd2l0Y2gnKS5yZW1vdmVDbGFzcygnZC1ub25lJyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtK1wiIDppbnB1dFwiKS5pbnB1dG1hc2soe1xuICAgICAgICAgICAgXCJvbmluY29tcGxldGVcIjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCQodGhpcykuZGF0YSgncmVxdWlyZWQnKSk7XG4gICAgICAgICAgICAgICAgaWYgKCQodGhpcykudmFsKCkubGVuZ3RoID4gMCB8fCAkKHRoaXMpLmRhdGEoJ3JlcXVpcmVkJykgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5hZGRDbGFzcygnaXMtaW52YWxpZCcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcIm9uY29tcGxldGVcIjogZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2lzLWludmFsaWQnKTtcbiAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdpcy12YWxpZCcpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwib25jbGVhcmVkXCI6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnY2xlYXJlZCcpO1xuICAgICAgICAgICAgICAgICQodGhpcykucmVtb3ZlQ2xhc3MoJ2lzLWludmFsaWQnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyBidXR0b24uRm9ybVNhdmVCdXR0b24nKS5vZmYoJ2NsaWNrJyk7XG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgYnV0dG9uLkZvcm1TYXZlQnV0dG9uJykub24oJ2NsaWNrJyxyb290LmNsaWNrU2F2ZUJ1dHRvbik7XG4vKlxuICAgICAgICAkKFwiaW5wdXRbbmFtZT1sb2dvRmlsZV1cIikuY2hhbmdlKGZ1bmN0aW9uKCl7XG4gICAgICAgICAgICBzZXRJbWFnZUZyb21Mb2NhbCh0aGlzLE9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuaW1hZ2VMb2dvJyk7XG4gICAgICAgIH0pO1xuKi9cblxuICAgICAgICAvL09wdHMub25BZnRlckluaXRWaWV3RGV0YWlscygpO1xuICAgICAgICBkZWJ1ZygnKiplbmQgaW5pdFZpZXdEZXRhaWxzICcpO1xuICAgIH1cbiAgICB0aGlzLnNldERldGFpbHNWaWV3RGF0YT1mdW5jdGlvbiAoKSB7XG4gICAgICAgIGRlYnVnKCdzZXREZXRhaWxzVmlld0RhdGEnKTtcbiAgICAgICAgbGV0IENTU1NlbGVjdG9yRm9ybT1PcHRzLmNvbnRhaW5lckNzc1NlbGVjdG9yKycgLnByb2ZpdENlbnRlckZvcm0nO1xuICAgICAgICBsZXQgbmVlZFRvU2V0PVtcbiAgICAgICAgICAgICduYW1lJywnaG9vcmV5Y2FJZCcsJ25hbWVJZCcsXG4gICAgICAgICAgICAnZW1haWwnLCdwb3N0Q29kZScsJ2NpdHknLCdzdHJlZXQnLCdwaG9uZScsJ21vYmlsJ1xuICAgICAgICBdO1xuICAgICAgICAkLmVhY2gobmVlZFRvU2V0LGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIC8vIGRlYnVnKHRoaXMpOyAvL2FsYXBhZGF0b2sgYmVhbGxpdGFzYW5hayBsb2dvbGFzYVxuICAgICAgICAgICAgaWYodHlwZW9mIHJvb3QuUHJvZml0Q2VudGVyW3RoaXNdIT0ndW5kZWZpbmVkJyl7XG4vKiAvL2FsYXBhZGF0b2sgYmVhbGxpdGFzYW5hayBsb2dvbGFzYVxuICAgICAgICAgICAgICAgIGRlYnVnKHJvb3QuUHJvZml0Q2VudGVyW3RoaXNdKTtcbiAgICAgICAgICAgICAgICBkZWJ1ZyhDU1NTZWxlY3RvckZvcm0rJyBpbnB1dFtuYW1lPScrdGhpcysnXScpO1xuICAgICAgICAgICAgICAgIGRlYnVnKCQoQ1NTU2VsZWN0b3JGb3JtKycgaW5wdXRbbmFtZT0nK3RoaXMrJ10nKSk7XG4qL1xuICAgICAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgaW5wdXRbbmFtZT0nK3RoaXMrJ10nKS52YWwocm9vdC5Qcm9maXRDZW50ZXJbdGhpc10pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICBpZih0eXBlb2Ygcm9vdC5Qcm9maXRDZW50ZXJbJ25vdGUnXSE9J3VuZGVmaW5lZCcpe1xuICAgICAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyB0ZXh0YXJlYVtuYW1lPW5vdGVdJykudmFsKHJvb3QuUHJvZml0Q2VudGVyLm5vdGUpO1xuICAgICAgICB9XG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgKltkYXRhLXRvZ2dsZT1jYW5TZWVdW2RhdGEtdGl0bGU9Jytyb290LlByb2ZpdENlbnRlci5jYW5TZWUrJ10nKS5jbGljaygpO1xuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnICpbZGF0YS10b2dnbGU9aG9vcmV5Y2FEYXRhQWN0aXZlXVtkYXRhLXRpdGxlPScrcm9vdC5Qcm9maXRDZW50ZXIuaG9vcmV5Y2FEYXRhQWN0aXZlKyddJykuY2xpY2soKTtcblxuICAgICAgICBpZih0eXBlb2Ygcm9vdC5Qcm9maXRDZW50ZXJbJ2xvZ29GaWxlJ10hPSd1bmRlZmluZWQnICYmIChyb290LlByb2ZpdENlbnRlclsnbG9nb0ZpbGUnXSkpe1xuICAgICAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyBpbWcuaW1hZ2VMb2dvJykuYXR0cignc3JjJyxyb290LlByb2ZpdENlbnRlclsnbG9nb0ZpbGUnXSk7XG4gICAgICAgIH1cblxuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnICpbZGF0YS10b2dnbGU9YWRkcmVzc0VxdWFsXVtkYXRhLXRpdGxlPScrcm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzc0VxdWFsKyddJykuY2xpY2soKTtcbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAqW2RhdGEtdG9nZ2xlPW11bHRpQWRkcmVzc11bZGF0YS10aXRsZT0nK3Jvb3QuUHJvZml0Q2VudGVyLm11bHRpQWRkcmVzcysnXScpLmNsaWNrKCk7XG4gICAgICAgIC8qZGVidWcocm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzcy5sZW5ndGgpO1xuICAgICAgICBpZihyb290LlByb2ZpdENlbnRlci5hZGRyZXNzLmxlbmd0aD4wKXtcbiAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgKltkYXRhLXRvZ2dsZT1hZGRyZXNzRXF1YWxdW2RhdGEtdGl0bGU9MF0nKS5jbGljaygpO1xuICAgICAgICAgICAgaWYocm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzcy5sZW5ndGg+MSl7XG4gICAgICAgICAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAqW2RhdGEtdG9nZ2xlPW11bHRpQWRkcmVzc11bZGF0YS10aXRsZT0xXScpLmNsaWNrKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgKi9cbiAgICAgICAgbGV0IHN1cHBsaWVyPVtdO1xuICAgICAgICAkLmVhY2gocm9vdC5Qcm9maXRDZW50ZXIuc3VwcGxpZXJzLGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHN1cHBsaWVyLnB1c2godGhpcy5uYW1lKTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vJChDU1NTZWxlY3RvckZvcm0rJyAucHJvZml0Q2VudGVyU2VsZWN0JykudmFsKHByb2ZpdENlbnRlcikuY2hhbmdlKCk7XG4gICAgICAgICQuZWFjaChzdXBwbGllcixmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICAkKCdpbnB1dFt2YWx1ZT1cIicrJC5lc2NhcGVTZWxlY3Rvcih0aGlzKSsnXCJdJykucHJvcCggXCJjaGVja2VkXCIsIHRydWUgKTtcbiAgICAgICAgfSlcblxuICAgIH1cblxuICAgIHRoaXMucmVzZXRDb250YWN0VGFibGU9ZnVuY3Rpb24gKCl7XG4gICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKycgLmNvbnRhY3RUYWJsZSB0Ym9keSB0cicpLnJlbW92ZSgpO1xuICAgICAgICByb290LnJlbmRlckNvbnRhY3QoKTtcbiAgICB9XG4gICAgdGhpcy5yZW5kZXJDb250YWN0PWZ1bmN0aW9uICgpe1xuICAgICAgICBsZXQgcm93TnVtPTE7XG4gICAgICAgIGNvbnNvbGUubG9nKCdyZW5kZXJpbmdDb250YWN0cycpO1xuICAgICAgICAkLmVhY2gocm9vdC5Qcm9maXRDZW50ZXIuZ2V0RGF0YSgnY29udGFjdCcpLGZ1bmN0aW9uICgpe1xuICAgICAgICAgICAgbGV0IGNvbnRhY3REYXRhPXRoaXM7XG4gICAgICAgICAgICBjb250YWN0RGF0YS5yb3dOdW09cm93TnVtO1xuICAgICAgICAgICAgbGV0IHRlbXBsYXRlPSQoJ3RlbXBsYXRlW2RhdGEtbmFtZT1cInByb2ZpdENlbnRlckNvbnRhY3RUYWJsZVJvd1wiXScpLmh0bWwoKVxuICAgICAgICAgICAgbGV0IHJlbmRlcj1NdXN0YWNoZS5yZW5kZXIodGVtcGxhdGUsY29udGFjdERhdGEpO1xuICAgICAgICAgICAgJCgnLmNvbnRhY3RUYWJsZSB0Ym9keScpLmFwcGVuZChyZW5kZXIpO1xuICAgICAgICAgICAgcm93TnVtKys7XG4gICAgICAgIH0pO1xuICAgICAgICByb290LmJpbmRDb250YWN0Q2xpY2tBY3Rpb24oKTtcbiAgICB9XG5cbiAgICB0aGlzLmJpbmRDb250YWN0Q2xpY2tBY3Rpb24gPWZ1bmN0aW9uICgpe1xuICAgICAgICAkKCcuY29udGFjdFRhYmxlIC5idXR0b25EZWxldGUnKS51bmJpbmQoJ2NsaWNrJyk7XG4gICAgICAgICQoJy5jb250YWN0VGFibGUgLmJ1dHRvbkRlbGV0ZScpLmJpbmQoJ2NsaWNrJyxyb290LmNvbnRhY3REZWxldGVDbGljayk7XG4gICAgICAgICQoJy5jb250YWN0VGFibGUgLmJ1dHRvbkVkaXQnKS51bmJpbmQoJ2NsaWNrJyk7XG4gICAgICAgICQoJy5jb250YWN0VGFibGUgLmJ1dHRvbkVkaXQnKS5iaW5kKCdjbGljaycscm9vdC5jb250YWN0RWRpdENsaWNrKTtcblxuICAgIH1cbiAgICB0aGlzLmNvbnRhY3REZWxldGVDbGljaz1mdW5jdGlvbiAoZXZlbnQpe1xuICAgICAgICBsZXQgcm93PSQodGhpcykuY2xvc2VzdCgndHInKTtcbiAgICAgICAgbGV0IGlkPXJvdy5maW5kKCdpbnB1dFtuYW1lPWNvbnRhY3RJZF0nKS52YWwoKTtcbiAgICAgICAgY29uc29sZS5sb2coaWQpO1xuICAgICAgICByb290LlByb2ZpdENlbnRlci5jb250YWN0PXJvb3QuUHJvZml0Q2VudGVyLmNvbnRhY3QuZmlsdGVyKFxuICAgICAgICAgICAgZnVuY3Rpb24gKHZhbHVlLGluZGV4LGFycil7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlLmlkIT09aWQqMSl7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAgdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmxvZyhyb290LlByb2ZpdENlbnRlci5jb250YWN0KTtcbiAgICAgICAgcm93LnJlbW92ZSgpO1xuICAgICAgICByb290LnJlc2V0Q29udGFjdFRhYmxlKCk7XG4gICAgfVxuICAgIHRoaXMuZ2V0Q29udGFjdFBvcHVwV29ya2Zsb3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBjb250YWN0UG9wdXBXb3JrZmxvdztcbiAgICB9XG4gICAgdGhpcy5zZXRDb250YWN0UG9wdXBXb3JrZmxvdyA9IGZ1bmN0aW9uIChzdGF0dXMpIHtcbiAgICAgICAgY29udGFjdFBvcHVwV29ya2Zsb3c9c3RhdHVzO1xuICAgIH1cblxuXG4gICAgdGhpcy5jb250YWN0RWRpdENsaWNrPWZ1bmN0aW9uIChldmVudCl7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMpO1xuICAgICAgICBsZXQgcm93PSQodGhpcykuY2xvc2VzdCgndHInKTtcbiAgICAgICAgbGV0IGlkPXJvdy5maW5kKCdpbnB1dFtuYW1lPWNvbnRhY3RJZF0nKS52YWwoKTtcbiAgICAgICAgY29uc29sZS5sb2coaWQpO1xuICAgICAgICByb290LnNldENvbnRhY3RQb3B1cFdvcmtmbG93KCdlZGl0Jyk7XG4gICAgICAgIEFQUC5Db250YWN0UG9wVXAubG9hZERhdGEoaWQpO1xuICAgIH1cbiAgICB0aGlzLmNvbnRhY3RBY3Rpb249ZnVuY3Rpb24gKGNvbnRhY3REYXRhKXtcbiAgICAgICAgY29uc29sZS5sb2coJ25haCBtb3N0IGtlbGxlbmUgbWVnIHZhbGFtaXQgY3NpbmFsbmkuJylcbiAgICAgICAgaWYocm9vdC5nZXRDb250YWN0UG9wdXBXb3JrZmxvdygpPT0nbmV3Jyl7XG4gICAgICAgICAgICByb290LmFkZENvbnRhY3QoY29udGFjdERhdGEpO1xuICAgICAgICB9ZWxzZSBpZihyb290LmdldENvbnRhY3RQb3B1cFdvcmtmbG93KCk9PSdlZGl0Jyl7XG4gICAgICAgICAgICByb290LmVkaXRDb250YWN0KGNvbnRhY3REYXRhLmlkLGNvbnRhY3REYXRhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmFkZENvbnRhY3Q9ZnVuY3Rpb24gKGNvbnRhY3REYXRhKXtcbiAgICAgICAgLypcbiAgICAgICAgZmVsIGtlbGwgdmVubmkgYSBzb3JiYVxuICAgICAgICAgKi9cbiAgICAgICAgcm9vdC5Qcm9maXRDZW50ZXIuY29udGFjdC5wdXNoKGNvbnRhY3REYXRhKTtcbiAgICAgICAgY29udGFjdERhdGEucm93TnVtPXJvb3QuUHJvZml0Q2VudGVyLmNvbnRhY3QubGVuZ3RoO1xuICAgICAgICBsZXQgdGVtcGxhdGU9JCgndGVtcGxhdGVbZGF0YS1uYW1lPVwicHJvZml0Q2VudGVyQ29udGFjdFRhYmxlUm93XCJdJykuaHRtbCgpXG4gICAgICAgIGxldCByZW5kZXI9TXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLGNvbnRhY3REYXRhKTtcbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAuY29udGFjdFRhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XG4gICAgICAgIHJvb3QuYmluZENvbnRhY3RDbGlja0FjdGlvbigpO1xuICAgICAgICBUb2FzdC5lbmFibGVUaW1lcnMoZmFsc2UpO1xuICAgICAgICBUb2FzdC5jcmVhdGUoeyB0aXRsZTogXCJLYXBjc29sYXQgdGFydMOzIGhvenrDoWFkdmEhXCIsIG1lc3NhZ2U6IGNvbnRhY3REYXRhLm5hbWUrXCIgbmV2xbEga2Fwb2Nzb2xhdHRhcnTDsyBob3p6w6FhZHZhXCIsIHN0YXR1czogVE9BU1RfU1RBVFVTLlNVQ0NFU1MsIHRpbWVvdXQ6IDUwMDAgfSk7XG4gICAgfVxuICAgIHRoaXMuZWRpdENvbnRhY3Q9ZnVuY3Rpb24gKGlkLGNvbnRhY3REYXRhKXtcblxuICAgICAgICBsZXQgbmV3Q29udGFjdHM9W107XG4gICAgICAgICQuZWFjaChyb290LlByb2ZpdENlbnRlci5nZXREYXRhKCdjb250YWN0JyksZnVuY3Rpb24gKGluZGV4KXtcbiAgICAgICAgICAgIGlmKHRoaXMuaWQ9PWlkKXtcbiAgICAgICAgICAgICAgICBuZXdDb250YWN0cy5wdXNoKGNvbnRhY3REYXRhKTtcbiAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgIG5ld0NvbnRhY3RzLnB1c2godGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByb290LlByb2ZpdENlbnRlci5jb250YWN0PW5ld0NvbnRhY3RzO1xuICAgICAgICByb290LnJlc2V0Q29udGFjdFRhYmxlKCk7XG4gICAgICAgIFRvYXN0LmNyZWF0ZSh7IHRpdGxlOiBcIkthcGNzb2xhdCBhZGF0YWkgbcOzZG9zw610dmEhXCIsIG1lc3NhZ2U6IGNvbnRhY3REYXRhLm5hbWUrXCIgbmV2xbEga2Fwb2Nzb2xhdHRhcnTDsyBtw7Nkb3PDrXR2YVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5TVUNDRVNTLCB0aW1lb3V0OiA1MDAwIH0pO1xuICAgIH1cblxuXG4gICAgLyoqKioqKioqKioqKioqKlxuICAgICAqXG4gICAgICogQWRkcmVzcyBmdW5jdGlvblxuICAgICAqXG4gICAgICovXG4gICAgdGhpcy5yZXNldEFkZHJlc3NUYWJsZT1mdW5jdGlvbiAoKXtcbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAuYWRkcmVzc1RhYmxlIHRib2R5IHRyJykucmVtb3ZlKCk7XG4gICAgICAgIHJvb3QucmVuZGVyQWRkcmVzcygpO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlckFkZHJlc3M9ZnVuY3Rpb24gKCl7XG4gICAgICAgIGxldCByb3dOdW09MTtcbiAgICAgICAgY29uc29sZS5sb2coJ3JlbmRlcmluZ0FkZHJlc3MnKTtcbiAgICAgICAgJC5lYWNoKHJvb3QuUHJvZml0Q2VudGVyLmdldERhdGEoJ2FkZHJlc3MnKSxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgIGxldCBpdGVtRGF0YT10aGlzO1xuICAgICAgICAgICAgaXRlbURhdGEucm93TnVtPXJvd051bTtcbiAgICAgICAgICAgIGxldCB0ZW1wbGF0ZT0kKCd0ZW1wbGF0ZVtkYXRhLW5hbWU9XCJwcm9maXRDZW50ZXJBZGRyZXNzVGFibGVSb3dcIl0nKS5odG1sKClcbiAgICAgICAgICAgIGRlYnVnKGl0ZW1EYXRhKTtcbiAgICAgICAgICAgIGxldCByZW5kZXI9TXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLGl0ZW1EYXRhKTtcbiAgICAgICAgICAgICQoJy5hZGRyZXNzVGFibGUgdGJvZHknKS5hcHBlbmQocmVuZGVyKTtcbiAgICAgICAgICAgIHJvd051bSsrO1xuICAgICAgICB9KTtcbiAgICAgICAgcm9vdC5iaW5kQWRkcmVzc0NsaWNrQWN0aW9uKCk7XG4gICAgfVxuXG4gICAgdGhpcy5iaW5kQWRkcmVzc0NsaWNrQWN0aW9uID1mdW5jdGlvbiAoKXtcbiAgICAgICAgJCgnLmFkZHJlc3NUYWJsZSAuYnV0dG9uRGVsZXRlJykudW5iaW5kKCdjbGljaycpO1xuICAgICAgICAkKCcuYWRkcmVzc1RhYmxlIC5idXR0b25EZWxldGUnKS5iaW5kKCdjbGljaycscm9vdC5hZGRyZXNzRGVsZXRlQ2xpY2spO1xuICAgICAgICAkKCcuYWRkcmVzc1RhYmxlIC5idXR0b25FZGl0JykudW5iaW5kKCdjbGljaycpO1xuICAgICAgICAkKCcuYWRkcmVzc1RhYmxlIC5idXR0b25FZGl0JykuYmluZCgnY2xpY2snLHJvb3QuYWRkcmVzc0VkaXRDbGljayk7XG5cbiAgICB9XG4gICAgdGhpcy5hZGRyZXNzRGVsZXRlQ2xpY2s9ZnVuY3Rpb24gKGV2ZW50KXtcbiAgICAgICAgbGV0IHJvdz0kKHRoaXMpLmNsb3Nlc3QoJ3RyJyk7XG4gICAgICAgIGxldCBpZD1yb3cuZmluZCgnaW5wdXRbbmFtZT1cImFkZHJlc3NJZFtdXCJdJykudmFsKCk7XG4gICAgICAgIGNvbnNvbGUubG9nKGlkKTtcbiAgICAgICAgcm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzcz1yb290LlByb2ZpdENlbnRlci5hZGRyZXNzLmZpbHRlcihcbiAgICAgICAgICAgIGZ1bmN0aW9uICh2YWx1ZSxpbmRleCxhcnIpe1xuICAgICAgICAgICAgICAgIGlmICh2YWx1ZS5pZCE9aWQpIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBjb25zb2xlLmxvZyhyb290LlByb2ZpdENlbnRlci5hZGRyZXNzKTtcbiAgICAgICAgcm93LnJlbW92ZSgpO1xuICAgICAgICByb290LnJlc2V0QWRkcmVzc1RhYmxlKCk7XG4gICAgfVxuICAgIHRoaXMuZ2V0QWRkcmVzc1BvcHVwV29ya2Zsb3cgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBhZGRyZXNzUG9wdXBXb3JrZmxvdztcbiAgICB9XG4gICAgdGhpcy5zZXRBZGRyZXNzUG9wdXBXb3JrZmxvdyA9IGZ1bmN0aW9uIChzdGF0dXMpIHtcbiAgICAgICAgYWRkcmVzc1BvcHVwV29ya2Zsb3c9c3RhdHVzO1xuICAgIH1cblxuXG4gICAgdGhpcy5hZGRyZXNzRWRpdENsaWNrPWZ1bmN0aW9uIChldmVudCl7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMpO1xuICAgICAgICBsZXQgcm93PSQodGhpcykuY2xvc2VzdCgndHInKTtcbiAgICAgICAgbGV0IGlkPXJvdy5maW5kKCdpbnB1dFtuYW1lPVwiYWRkcmVzc0lkW11cIl0nKS52YWwoKTtcbiAgICAgICAgY29uc29sZS5sb2coaWQpO1xuICAgICAgICByb290LnNldEFkZHJlc3NQb3B1cFdvcmtmbG93KCdlZGl0Jyk7XG4gICAgICAgIEFQUC5BZGRyZXNzUG9wVXAubG9hZERhdGEoaWQpO1xuICAgIH1cbiAgICB0aGlzLmFkZHJlc3NBY3Rpb249ZnVuY3Rpb24gKGl0ZW1EYXRhKXtcbiAgICAgICAgY29uc29sZS5sb2coJ25haCBtb3N0IGtlbGxlbmUgbWVnIHZhbGFtaXQgY3NpbmFsbmkuJylcbiAgICAgICAgaWYocm9vdC5nZXRBZGRyZXNzUG9wdXBXb3JrZmxvdygpPT0nbmV3Jyl7XG4gICAgICAgICAgICByb290LmFkZEFkZHJlc3MoaXRlbURhdGEpO1xuICAgICAgICB9ZWxzZSBpZihyb290LmdldEFkZHJlc3NQb3B1cFdvcmtmbG93KCk9PSdlZGl0Jyl7XG4gICAgICAgICAgICByb290LmVkaXRBZGRyZXNzKGl0ZW1EYXRhLmlkLGl0ZW1EYXRhKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmFkZEFkZHJlc3M9ZnVuY3Rpb24gKEl0ZW1EYXRhKXtcbiAgICAgICAgLypcbiAgICAgICAgZmVsIGtlbGwgdmVubmkgYSBzb3JiYVxuICAgICAgICAgKi9cbiAgICAgICAgcm9vdC5Qcm9maXRDZW50ZXIuYWRkcmVzcy5wdXNoKEl0ZW1EYXRhKTtcbiAgICAgICAgSXRlbURhdGEucm93TnVtPXJvb3QuUHJvZml0Q2VudGVyLmFkZHJlc3MubGVuZ3RoO1xuICAgICAgICBsZXQgdGVtcGxhdGU9JCgndGVtcGxhdGVbZGF0YS1uYW1lPVwicHJvZml0Q2VudGVyQWRkcmVzc1RhYmxlUm93XCJdJykuaHRtbCgpXG4gICAgICAgIGxldCByZW5kZXI9TXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLEl0ZW1EYXRhKTtcbiAgICAgICAgJChDU1NTZWxlY3RvckZvcm0rJyAuYWRkcmVzc1RhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XG4gICAgICAgIHJvb3QuYmluZEFkZHJlc3NDbGlja0FjdGlvbigpO1xuICAgICAgICBUb2FzdC5lbmFibGVUaW1lcnMoZmFsc2UpO1xuICAgICAgICBUb2FzdC5jcmVhdGUoeyB0aXRsZTogXCJDw61tIGhvenrDoWFkdmEhXCIsIG1lc3NhZ2U6IEl0ZW1EYXRhLnN0cmVldCtcIiBob3p6w6FhZHZhXCIsIHN0YXR1czogVE9BU1RfU1RBVFVTLlNVQ0NFU1MsIHRpbWVvdXQ6IDUwMDAgfSk7XG4gICAgfVxuICAgIHRoaXMuZWRpdEFkZHJlc3M9ZnVuY3Rpb24gKGlkLGl0ZW1EYXRhKXtcblxuICAgICAgICBsZXQgbmV3SXRlbT1bXTtcbiAgICAgICAgJC5lYWNoKHJvb3QuUHJvZml0Q2VudGVyLmdldERhdGEoJ2FkZHJlc3MnKSxmdW5jdGlvbiAoaW5kZXgpe1xuICAgICAgICAgICAgaWYodGhpcy5pZD09aWQpe1xuICAgICAgICAgICAgICAgIG5ld0l0ZW0ucHVzaChpdGVtRGF0YSk7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBuZXdJdGVtLnB1c2godGhpcyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICByb290LlByb2ZpdENlbnRlci5hZGRyZXNzPW5ld0l0ZW07XG4gICAgICAgIHJvb3QucmVzZXRBZGRyZXNzVGFibGUoKTtcbiAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiY8OtbSBhZGF0YWkgbcOzZG9zw610dmEhXCIsIG1lc3NhZ2U6IGl0ZW1EYXRhLnN0cmVldCtcIiBtw7Nkb3PDrXR2YVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5TVUNDRVNTLCB0aW1lb3V0OiA1MDAwIH0pO1xuICAgIH1cblxuICAgIHRoaXMuaW5pdFZpZXdMaXN0ID0gZnVuY3Rpb24gKG9wdGlvbnM9e30pIHtcbiAgICAgICAgZGVidWcoJ2xpc3R2aWV3IGluaWNpYWxpemF0aW9uJyk7XG4gICAgICAgIGRhdGFUYWJsZUNTU1NlbGVjdG9yPU9wdHMuY29udGFpbmVyQ3NzU2VsZWN0b3IrJyAuZGF0YVRhYmxlJzsgLy9cblxuICAgICAgICBsZXQgY29sTnVtPSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IrJyB0aGVhZCB0aCcpLmxlbmd0aDsgLy9idXR0b25zIGluc2VydCBwb3NpdGlvbiBuZWVkXG4gICAgICAgIEFQUC5zZXRPcHRzKHtcbiAgICAgICAgICAgIGRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6cm9vdC5jbGlja05ldyxcbiAgICAgICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6cm9vdC5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayxcblxuICAgICAgICB9KVxuICAgICAgICBsZXQgb3JkZXJEaXJlY3RpdmU9T3B0cy5kYXRhVGFibGUub3JkZXJEaXJlY3RpdmU7XG4gICAgICAgIGlmKHR5cGVvZiBvcHRpb25zWydvcmRlckRpcmVjdGl2ZSddIT0ndW5kZWZpbmVkJyl7XG4gICAgICAgICAgICBvcmRlckRpcmVjdGl2ZT1vcHRpb25zWydvcmRlckRpcmVjdGl2ZSddO1xuICAgICAgICB9XG4gICAgICAgICQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgge1xuICAgICAgICAgICAgbGFuZ3VhZ2U6IHtcbiAgICAgICAgICAgICAgICB1cmw6ICcvL2Nkbi5kYXRhdGFibGVzLm5ldC9wbHVnLWlucy8xLjEwLjI0L2kxOG4vSHVuZ2FyaWFuLmpzb24nXG4gICAgICAgICAgICB9LFxuXG4gICAgICAgICAgICAvL1wiYWpheFwiOiBcInt7YXNzZXQoJ2V4YXBtbGUyLmpzb24nKX19XCIsXG4gICAgICAgICAgICBcImFqYXhcIjogT3B0cy5VUkwuZ2V0RGF0YVRhYmxlQ29udGVudCxcbiAgICAgICAgICAgIFwiY29sdW1uRGVmc1wiOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogY29sTnVtLTEsXG4gICAgICAgICAgICAgICAgICAgIFwicmVuZGVyXCI6IGZ1bmN0aW9uICggZGF0YSwgdHlwZSwgcm93ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ1dHRvbnM9QVBQLmRhdGF0YWJsZUFkZFJvd1RyYXNoQnV0dG9uKDAsYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJ1dHRvbnMrPUFQUC5kYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uKDAsYXJndW1lbnRzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBidXR0b25zO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogMSxcbiAgICAgICAgICAgICAgICAgICAgXCJyZW5kZXJcIjogZnVuY3Rpb24gKCBkYXRhLCB0eXBlLCByb3cgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHlwZSA9PT0gXCJzb3J0XCIgPyBkYXRhLmxhdGluaXNlKCkgOiBkYXRhO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgLy97IFwidmlzaWJsZVwiOiBmYWxzZSwgIFwidGFyZ2V0c1wiOiBbIDAgXSB9XG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgYnV0dG9uczp7XG4gICAgICAgICAgICAgICAgYnV0dG9uczogW1xuICAgICAgICAgICAgICAgICAgICAnZXhjZWwnLCdwZGYnLFxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQ6ICdwcmludCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAvL3RleHQ6ICdQcmludCBjdXJyZW50IHBhZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgJ3RpdGxlJzogJ3RpdGxlIGN1c3RvbSB0ZXh0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlVG9wJzogJ01lc3NhZ2UgT24gVG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9QcmludDogdHJ1ZVxuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAvKiovXG5cbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ8OaaiBmZWx2aXRlbGUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1zdWNjZXNzIG5ld0l0ZW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgYXR0cjp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YTp7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhOjEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiOjJcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGF0YSc6J25ld0l0ZW0nXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgaW5pdDogZnVuY3Rpb24oYXBpLCBub2RlLCBjb25maWcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkKG5vZGUpLnJlbW92ZUNsYXNzKCd1aS1idXR0b24nKVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbjogZnVuY3Rpb24gKCBlLCBkdCwgbm9kZSwgY29uZmlnICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFQUC5kYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrKGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogY29uc29sZS5sb2coZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGR0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2cobm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGNvbmZpZyk7Ki9cblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFwiY29sdW1uc1wiOiBbXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJpZFwiIH0sXG4gICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJuYW1lXCIgfSxcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImhvb3JleWNhSWRcIiB9LFxuICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwibmFtZUlkXCIgfSxcbiAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImNyZWF0ZWRfYXRcIiB9LFxuICAgICAgICAgICAgICAgIG51bGwsXG4gICAgICAgICAgICBdLFxuICAgICAgICAgICAgXCJvcmRlclwiOiBvcmRlckRpcmVjdGl2ZSxcbiAgICAgICAgICAgIC8vXCJzdGF0ZVNhdmVcIjogdHJ1ZSxcbiAgICAgICAgICAgIFwiZHJhd0NhbGxiYWNrXCI6IGZ1bmN0aW9uKCBzZXR0aW5ncyApIHtcbiAgICAgICAgICAgICAgICBBUFAuZGF0YXRhYmxlQWRkUm93QWN0aW9uKGRhdGFUYWJsZUNTU1NlbGVjdG9yKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSApO1xuICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgZW5kJyk7XG4gICAgfVxuICAgIHRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2s9ZnVuY3Rpb24gKGV2ZW50KXtcbiAgICAgICAgZGVidWcoJ2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrJyk7XG4gICAgICAgIGxldCBub2RlPSQoZXZlbnRbMF0uY3VycmVudFRhcmdldCk7XG4gICAgICAgIGxldCByb3c9JChkYXRhVGFibGVDU1NTZWxlY3RvcikuRGF0YVRhYmxlKCkucm93KG5vZGUucGFyZW50cygndHInKSk7XG4gICAgICAgIGxldCByb3dEYXRhPXJvdy5kYXRhKCk7XG4gICAgICAgIGxldCBhY3Rpb25OYW1lPSdkYXRhdGFibGVSb3dBY3Rpb24nK25vZGUuZGF0YSgnYnV0dG9udHlwZScpLmNhcGl0YWxpemUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiByb290W2FjdGlvbk5hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiByb290W2FjdGlvbk5hbWVdKHJvd0RhdGEsbm9kZSlcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmRhdGF0YWJsZVJvd0FjdGlvbkVkaXQ9ZnVuY3Rpb24gKHJvd0RhdGEsbm9kZSkge1xuICAgICAgICBjb25zb2xlLmxvZygnZGF0YXRhYmxlUm93QWN0aW9uRWRpdCBDYWxsZWQnKTtcbiAgICAgICAgLy9PcHRzLm9uQWZ0ZXJJbml0Vmlld0RldGFpbHM9cm9vdC5hdXRvZmlsbERldGFpbHM7XG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLmVkaXQucmVwbGFjZSgnJWlkJScscm93RGF0YS5pZCk7XG4gICAgICAgIC8qXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coT3B0cy5VUkwpO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKGFqYXhVcmwpO1xuICAgICAgICAqL1xuICAgICAgICBBUFAubG9hZE1haW5Db250ZW50KGFqYXhVcmwscm9vdC5pbml0Vmlld0RldGFpbHMpO1xuICAgICAgICBjb25zb2xlLmxvZygnZGF0YXRhYmxlUm93QWN0aW9uRWRpdCBFbmQnKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhdGFibGVSb3dBY3Rpb25EZWxldGU9ZnVuY3Rpb24gKHJvd0RhdGEsbm9kZSkge1xuICAgICAgICBjb25zb2xlLmxvZygnZGF0YXRhYmxlUm93QWN0aW9uRGVsZXRlIENhbGxlZCcpO1xuICAgICAgICBsZXQgcm93PSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgpLnJvdyhub2RlLnBhcmVudHMoJ3RyJykpO1xuICAgICAgICBsZXQgYWpheERhdGE9e307XG4gICAgICAgIGxldCBhamF4VXJsPU9wdHMuVVJMLmRlc3Ryb3kucmVwbGFjZSgnJWlkJScscm93RGF0YS5pZCk7XG4gICAgICAgIGFqYXhEYXRhLl90b2tlbj0kKCdpbnB1dFtuYW1lPV90b2tlbl0nKS52YWwoKTtcbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHVybDphamF4VXJsLFxuICAgICAgICAgICAgZGF0YTphamF4RGF0YSxcbiAgICAgICAgICAgIG1ldGhvZDpcIkRFTEVURVwiLFxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbiAoZGF0YSl7XG4gICAgICAgICAgICAgICAgaWYoZGF0YS5zdWNjZXNzPT10cnVlKXtcbiAgICAgICAgICAgICAgICAgICAgcm93LnJlbW92ZSgpLmRyYXcoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuXG4gICAgfVxuXG4gICAgdGhpcy5jbGlja1NhdmVCdXR0b249ZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGRlYnVnKCdTYXZlIGNsaWNrZWQnKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZGVidWcoQ1NTU2VsZWN0b3JGb3JtKTtcbiAgICAgICAgZGVidWcoJChDU1NTZWxlY3RvckZvcm0pKTtcbiAgICAgICAgaWYgKCQoQ1NTU2VsZWN0b3JGb3JtKVswXS5jaGVja1ZhbGlkaXR5KCkgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZygndmFsaWRhdG9uIGZhbHNlJyk7XG4gICAgICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSkuYWRkQ2xhc3MoJ3dhcy12YWxpZGF0ZWQnKTtcbiAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKVswXS5yZXBvcnRWYWxpZGl0eSgpO1xuICAgICAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiVmFsaWTDoWNpw7NzIGhpYmEhXCIsIG1lc3NhZ2U6IFwiS8OpcmrDvGssIHTDtmx0c2Uga2kgYSBrw7Z0ZWxlesWRIG1lesWRa2V0IVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5EQU5HRVIsIHRpbWVvdXQ6IDUwMDAgfSk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YWxpZGF0b24gb2snKTtcbiAgICAgICAgICAgICQoQ1NTU2VsZWN0b3JGb3JtKS5yZW1vdmVDbGFzcygnd2FzLXZhbGlkYXRlZCcpO1xuICAgICAgICAgICAgLy9kbyB5b3VyIGFqYXggc3VibWl0aW9uIGhlcmVcbiAgICAgICAgfVxuICAgICAgICBsZXQgYWpheERhdGE9cm9vdC5mb3JtRGF0YVRvRGF0YU9iamVjdEFQSUNhbGwoQ1NTU2VsZWN0b3JGb3JtKTtcblxuICAgICAgICBsZXQgYWpheFVybD1PcHRzLlVSTC5zdG9yZTtcbiAgICAgICAgbGV0IGFqYXhNZXRob2Q9XCJQT1NUXCI7XG4gICAgICAgIGlmKHJvb3QuUHJvZml0Q2VudGVyLmlkKXtcbiAgICAgICAgICAgIGFqYXhVcmw9T3B0cy5VUkwudXBkYXRlLnJlcGxhY2UoJyVpZCUnLHJvb3QuUHJvZml0Q2VudGVyLmlkKTtcbiAgICAgICAgICAgIC8vYWpheE1ldGhvZD1cIlBVVFwiO1xuICAgICAgICAgICAgLy9hamF4RGF0YT1uZXcgRm9ybURhdGEoJChDU1NTZWxlY3RvckZvcm0pWzBdKTtcbiAgICAgICAgICAgIGFqYXhEYXRhLmFwcGVuZCgnX21ldGhvZCcsJ1BVVCcpO1xuICAgICAgICB9XG4vKlxuICAgICAgICBkZWJ1ZyhhamF4VXJsKTtcbiAgICAgICAgZGVidWcoYWpheE1ldGhvZCk7XG4gICAgICAgIGRlYnVnKGFqYXhEYXRhLmVudHJpZXMoKSk7XG4gICAgICAgIGZvciAodmFyIHBhaXIgb2YgYWpheERhdGEuZW50cmllcygpKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhwYWlyWzBdKyAnLCAnICsgcGFpclsxXSk7XG4gICAgICAgIH1cbiovXG5cbiAgICAgICAgY29uc29sZS50YWJsZShPYmplY3QuZnJvbUVudHJpZXMoYWpheERhdGEpKTtcblxuICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgdXJsOmFqYXhVcmwsXG4gICAgICAgICAgICBkYXRhOmFqYXhEYXRhLFxuICAgICAgICAgICAgdHlwZTphamF4TWV0aG9kLFxuICAgICAgICAgICAgY29udGVudFR5cGU6ZmFsc2UsXG4gICAgICAgICAgICBwcm9jZXNzRGF0YTogZmFsc2UsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6ICQoJ2lucHV0W25hbWU9XCJfdG9rZW5cIl0nKS52YWwoKVxuICAgICAgICAgICAgfSxcblxuICAgICAgICAgICAgc3VjY2VzczpmdW5jdGlvbiAoZGF0YSl7XG4gICAgICAgICAgICAgICAgZGVidWcoZGF0YSk7XG4gICAgICAgICAgICAgICAgaWYoZGF0YS5zdWNjZXNzPT10cnVlKXtcblxuICAgICAgICAgICAgICAgICAgICAvL09wdHMub25BZnRlckluaXRWaWV3RGV0YWlscz1yb290LmF1dG9maWxsRGV0YWlscztcbiAgICAgICAgICAgICAgICAgICAgT3B0cy5kYXRhVGFibGUub3JkZXJEaXJlY3RpdmU9WzAsICdkZXNjJ107XG4gICAgICAgICAgICAgICAgICAgIFRvYXN0LmNyZWF0ZSh7IHRpdGxlOiBcIlNpa2VyZXMgcsO2Z3rDrXTDqXMhXCIsIG1lc3NhZ2U6IGFqYXhEYXRhLmdldCgnbmFtZScpK1wiIG5ldsWxIHByb2ZpdGNlbnRlciBlbG1lbnR2ZVwiLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5TVUNDRVNTLCB0aW1lb3V0OiA1MDAwIH0pO1xuICAgICAgICAgICAgICAgICAgICBBUFAubG9hZE1haW5Db250ZW50KE9wdHMuVVJMLmluZGV4Kyc/aW5pdD0wJyxyb290LmluaXRWaWV3TGlzdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCA9IGZ1bmN0aW9uIChDU1NTZWxlY3RvckZvcm0pIHtcbiAgICAgICAgbGV0IGFqYXhEYXRhPW5ldyBGb3JtRGF0YSgkKENTU1NlbGVjdG9yRm9ybSlbMF0pO1xuLypcbiAgICAgICAgJC5lYWNoKGFqYXhEYXRhLmdldEFsbCgncHJvZHVjdEdyb3VwJyksZnVuY3Rpb24oa2V5LHZhbHVlKXtcbiAgICAgICAgICAgIGFqYXhEYXRhLmFwcGVuZCgncHJvZHVjdEdyb3VwW10nLHZhbHVlKTtcbiAgICAgICAgfSlcbiovXG4gICAgICAgICQuZWFjaChhamF4RGF0YS5nZXRBbGwoJ2NvbnRhY3RJZCcpLGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgICAgICBhamF4RGF0YS5hcHBlbmQoJ2NvbnRhY3RJZFtdJyx2YWx1ZSk7XG4gICAgICAgIH0pXG5cbiAgICAgICAgYWpheERhdGEuYXBwZW5kKCdfdG9rZW4nLCQoJ2lucHV0W25hbWU9X3Rva2VuXScpLnZhbCgpKTtcblxuICAgICAgICAkKENTU1NlbGVjdG9yRm9ybSsnIGlucHV0W2RhdGEtaW5wdXRtYXNrXScpLmVhY2goZnVuY3Rpb24gKCl7XG4gICAgICAgICAgICBsZXQgaW5kZXhLZXk9JCh0aGlzKS5hdHRyKCduYW1lJyk7XG4gICAgICAgICAgICBpZihhamF4RGF0YS5nZXQoaW5kZXhLZXkpKXtcbiAgICAgICAgICAgICAgICBhamF4RGF0YS5zZXQoaW5kZXhLZXksYWpheERhdGEuZ2V0KGluZGV4S2V5KS5yZXBsYWNlKC9bXyBdKyQvZyxcIlwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICAkLmVhY2goYWpheERhdGEuZ2V0QWxsKCdzdXBwbGllcicpLGZ1bmN0aW9uKGtleSx2YWx1ZSl7XG4gICAgICAgICAgICBhamF4RGF0YS5hcHBlbmQoJ3N1cHBsaWVyW10nLHZhbHVlKTtcbiAgICAgICAgfSlcbiAgICAgICAgcmV0dXJuIGFqYXhEYXRhO1xuICAgIH1cbiAgICB0aGlzLmNvbnN0cnVjdChvcHRpb25zLCBQcm9maXRDZW50ZXJJdGVtKTtcblxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7O0FBQUEsSUFBRyxPQUFPQSxxQkFBcUIsS0FBRyxXQUFXLEVBQUM7RUFBQSxJQUNwQ0Esc0JBQXFCLDBCQUFBQyxVQUFBO0lBRXZCO0FBQ1I7QUFDQTtJQUNRLFNBQUFDLHVCQUFhQyxJQUFJLEVBQUNDLE9BQU8sRUFBRTtNQUFBLElBQUFDLEtBQUE7TUFBQUMsZUFBQSxPQUFBSixzQkFBQTtNQUN2QkcsS0FBQSxHQUFBRSxVQUFBLE9BQUFMLHNCQUFBLEdBQU1DLElBQUksRUFBQ0MsT0FBTztNQUNsQixJQUFHLE9BQU9DLEtBQUEsQ0FBS0csT0FBTyxLQUFJLFdBQVcsRUFBQztRQUNsQ0gsS0FBQSxDQUFLRyxPQUFPLEdBQUMsRUFBRTtNQUNuQjtNQUNBLElBQUcsT0FBT0gsS0FBQSxDQUFLSSxPQUFPLEtBQUksV0FBVyxFQUFDO1FBQ2xDSixLQUFBLENBQUtJLE9BQU8sR0FBQyxFQUFFO01BQ25CO01BQ0FDLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDTixLQUFBLENBQUtPLFdBQVcsQ0FBQ0MsSUFBSSxHQUFDLHFC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\n//# sourceURL=webpack-internal:///./resources/js/admin/profitCenter.js\n\n}"); /***/ }, diff --git a/public/js/app.js b/public/js/app.js index c8f168e..0f54ee8 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -15,7 +15,7 @@ \*****************************/ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("{function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n__webpack_require__(/*! ./bootstrap */ \"./resources/js/bootstrap.js\");\n\n//----------------------------------------------------------------------\n/*\r\nHelper function\r\n*/\nwindow.getMonday = function (date, dateStr) {\n if (dateStr) {\n date = new Date(dateStr);\n }\n var day = date.getDay(),\n diff = date.getDate() - day + (day == 0 ? -6 : 1); // adjust when day is sunday\n return new Date(date.setDate(diff));\n};\nwindow.debug = function (txt) {\n try {\n if (txt && _typeof(txt) === 'object' && !Array.isArray(txt)) {\n var seen = new WeakSet();\n var safeObj = JSON.parse(JSON.stringify(txt, function (key, value) {\n if (_typeof(value) === 'object' && value !== null) {\n if (seen.has(value)) return '[Circular]';\n seen.add(value);\n }\n return value;\n }));\n console.log(safeObj);\n } else {\n console.log(txt);\n }\n } catch (e) {\n console.log(txt);\n }\n};\nwindow.buildFormData = function (formData, data, parentKey) {\n if (data && _typeof(data) === 'object' && !(data instanceof Date) && !(data instanceof File)) {\n Object.keys(data).forEach(function (key) {\n buildFormData(formData, data[key], parentKey ? \"\".concat(parentKey, \"[\").concat(key, \"]\") : key);\n });\n } else {\n var value = data == null ? '' : data;\n formData.append(parentKey, value);\n }\n};\nwindow.jsonToFormData = function (data) {\n var formData = new FormData();\n buildFormData(formData, data);\n return formData;\n};\nString.prototype.capitalize = function () {\n return this.charAt(0).toUpperCase() + this.slice(1);\n};\nwindow.arrayRemove = function (arr, value) {\n return arr.filter(function (ele) {\n return ele != value;\n });\n};\nwindow.getRandomInt = function () {\n var max = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n debug(max);\n debug(min);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nwindow.setImageFromLocal = function (input, targetImgCssSelector) {\n if (input.files && input.files[0]) {\n var reader = new FileReader();\n reader.onload = function (e) {\n $(targetImgCssSelector).attr('src', e.target.result);\n };\n reader.readAsDataURL(input.files[0]);\n }\n};\n__webpack_require__(/*! ./latinise */ \"./resources/js/latinise.js\");\n\n/*\r\ndisable back button\r\n */\n$(function () {\n if (window.history && window.history.pushState) {\n window.history.pushState('', null, window.location.href);\n $(window).on('popstate', function (event) {\n // alert('Back button was pressed.');\n //document.location.href = '#';\n window.history.pushState('', document.title, window.location.href);\n //console.log('mevagy');\n event.stopPropagation();\n });\n }\n});\n//----------------------------------------------------------------------\n/*\r\ninit custom radio buttons\r\n */\nwindow.initRadioButtons = function (Options) {\n var Opts = {\n onChange: function onChange(value, node) {}\n };\n $.extend(Opts, Options);\n $('.customRadioBtnGroup .active').each(function () {\n var activeValue = $(this).data('title');\n var target = $(this).data('toggle');\n $('input[name=' + target + ']').prop('value', activeValue);\n });\n $('.customRadioBtnGroup a').unbind('click');\n $('.customRadioBtnGroup a').bind('click', function () {\n var sel = $(this).data('title');\n var tog = $(this).data('toggle');\n $('input[name=' + tog + ']').prop('value', sel);\n $('a[data-toggle=\"' + tog + '\"]').not('[data-title=\"' + sel + '\"]').removeClass('active').addClass('notActive');\n $('a[data-toggle=\"' + tog + '\"][data-title=\"' + sel + '\"]').removeClass('notActive').addClass('active');\n Opts.onChange(sel, tog);\n });\n};\n\n//----------------------------------------------------------------------\n// Defaults\n//----------------------------------------------------------------------\n$.extend(true, $.fn.dataTable.defaults, {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n lengthMenu: [[10, 25, 50, -1], ['10 sor', '25 sor', '50 sor', 'Összes']],\n buttons: {\n dom: {\n button: {\n className: 'fg-button ui-button dataTableHeaderButtons'\n }\n }\n },\n dom: '<\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr\"lBfr>' + 't' + '<\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br\"ip>'\n});\nInputmask.extendDefinitions({\n 'x': {\n validator: \"[\\.,-áéíóöőúàèìòùüűÁÉÍÓÖŐÚÀÈÌÒÙÜŰA-Za-z0-9 ]\"\n //cardinality: 1\n }\n});\n\n//----------------------------------------------------------------------\nToast.enableTimers(false);\n$.fn.select2.defaults.set('language', 'jp');\nwindow.select2CreateTag = function (params) {\n var term = $.trim(params.term);\n var count = 0;\n var existsVar = false;\n //check if there is any option already\n if ($('#keywords option').length > 0) {\n $('#keywords option').each(function () {\n if ($(this).text().toUpperCase() == term.toUpperCase()) {\n existsVar = true;\n return false;\n } else {\n existsVar = false;\n }\n });\n if (existsVar) {\n return null;\n }\n return {\n id: params.term,\n text: params.term,\n newTag: true\n };\n }\n //since select has 0 options, add new without comparing\n else {\n return {\n id: params.term,\n text: params.term,\n newTag: true\n };\n }\n};\nwindow.ajaxErrorHandler = function (xhr, ajaxOptions, thrownError) {\n debug(this);\n console.error(xhr);\n console.error(ajaxOptions);\n console.error(thrownError);\n\n // Biztonsági ellenőrzés – ha nincs responseJSON (pl. HTML válasz), megpróbáljuk parszolni\n if (!xhr.responseJSON && xhr.responseText) {\n try {\n xhr.responseJSON = JSON.parse(xhr.responseText);\n } catch (e) {\n console.error(\"Nem sikerült a responseText JSON parszolása\");\n }\n }\n\n // Biztonsági ellenőrzés – ha nincs responseJSON (pl. HTML válasz)\n if (!xhr.responseJSON) {\n ajaxErrorFieldHandler({\n 'detail': 'Váratlan szerverhiba. Kérjük próbálja újra később.'\n });\n return;\n }\n\n // Validációs hibák (422) – ezeket részletesen megjelenítjük\n if (xhr.responseJSON.errors) {\n console.error(\"d2---------------\");\n if (\"jsonapi\" in xhr.responseJSON) {\n ajaxErrorFieldHandlerJsonAPI(xhr.responseJSON.errors);\n } else {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n }\n }\n // Egyedi referencia kódos hiba (500, stb.)\n else if (xhr.responseJSON.error_ref) {\n console.error(\"error_ref: \" + xhr.responseJSON.error_ref);\n Toast.create({\n title: \"Szerverhiba\",\n message: \"Váratlan hiba történt a feldolgozás során.
\" + \"Hivatkozási kód: \" + xhr.responseJSON.error_ref + \"
\" + \"Kérjük, ezt a kódot adja meg a hibajelentésben.\",\n status: TOAST_STATUS.DANGER,\n timeout: 0\n });\n }\n // 404\n else if (xhr.status == 404) {\n console.error(\"d3---------------\");\n ajaxErrorFieldHandler({\n 'detail': 'Nincs ilyen elem.'\n });\n }\n // Egyéb ismeretlen hiba\n else {\n console.error(\"d4---------------\");\n ajaxErrorFieldHandler({\n 'detail': 'Általános hiba.'\n });\n }\n};\nwindow.ajaxErrorFieldHandlerJsonAPI = function (errors, container) {\n console.error(\"d6---------------\");\n var toastBodyHtml = '';\n var toastTitle = 'Hiba';\n console.error(errors);\n $.each(errors, function (index, value) {\n console.error(value);\n toastTitle = 'Hiba';\n toastBodyHtml = '';\n if (\"title\" in value) {\n toastTitle = value.title;\n }\n if (\"detail\" in value) {\n toastBodyHtml += '
' + value.detail + '
';\n }\n Toast.create({\n title: toastTitle,\n message: toastBodyHtml,\n status: TOAST_STATUS.DANGER,\n // SUCCESS (zöld)\n timeout: 10000\n });\n });\n};\nwindow.ajaxErrorFieldHandler = function (errors, container) {\n console.error(\"d5---------------\");\n console.error(errors);\n var toastBodyHtml = '';\n $.each(errors, function (index, value) {\n toastBodyHtml += '
' + value + '
';\n });\n Toast.create({\n title: \"Hiba!\",\n message: toastBodyHtml,\n status: TOAST_STATUS.DANGER,\n // SUCCESS (zöld)\n timeout: 10000\n });\n};\n$.ajaxSetup({\n error: ajaxErrorHandler\n});\n/*\r\ndatepicker afterShow function\r\n */\n$.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;\n$.datepicker._updateDatepicker = function (inst) {\n $.datepicker._updateDatepicker_original(inst);\n var afterShow = this._get(inst, 'afterShow');\n if (afterShow) afterShow.apply(inst.input ? inst.input[0] : null); // trigger custom callback\n};\n\n//----------------------------------------------------------------------\nwindow.EmegrendelesDefaults = {\n datatableActionButtonClickCallBack: function datatableActionButtonClickCallBack() {},\n datatableAddRowTrashButton: function datatableAddRowTrashButton(id, args) {\n return '';\n },\n datatableAddRowEditButton: function datatableAddRowEditButton(args) {\n var title = 'Adatok';\n if (typeof args[1].title !== \"undefined\") {\n title = args[1].title;\n }\n return '';\n },\n datatableAddRowViewButton: function datatableAddRowViewButton(id, args) {\n return '';\n },\n datatableAddRowAttachmentButton: function datatableAddRowAttachmentButton(id, args) {\n return '';\n },\n datatableCustomHeadButtonClickCallBack: function datatableCustomHeadButtonClickCallBack(args) {\n console.log(args);\n },\n afterLoadMainContent: function afterLoadMainContent(args) {\n console.log(args);\n }\n};\nif (typeof DataModel === 'undefined') {\n var _DataModel2 = /*#__PURE__*/function () {\n /*\r\n * Constructor\r\n */\n function _DataModel2(data, options) {\n _classCallCheck(this, _DataModel2);\n /*\r\n * Variables accessible\r\n * in the class\r\n */\n _defineProperty(this, \"Opts\", {\n active: false\n });\n $.extend(this, data);\n $.extend(this.Opts, options);\n }\n return _createClass(_DataModel2, [{\n key: \"setData\",\n value: function setData(data) {\n $.extend(this, data);\n }\n }, {\n key: \"getData\",\n value: function getData(index) {\n if (index) {\n return this[index];\n } else {\n return this;\n }\n }\n }]);\n }();\n ;\n window.DataModel = _DataModel2;\n}\nwindow.Emegrendeles = function (options) {\n /*\r\n * Variables accessible\r\n * in the class\r\n */\n var Opts = {\n myVar: 'Emegrendeles value',\n datatableAddRowTrashButton: {},\n datatableAddRowEditButton: {},\n datatableActionButtonClickCallBack: {},\n datatableRowActionButtonClickCallBack: {},\n datatableCustomHeadButtonClickCallBack: {},\n afterLoadMainContent: {},\n Url: {}\n };\n var PublicVar = {};\n var PublicVar2 = {\n 'asd': '21'\n };\n var ApiToken = null;\n var root = this;\n /*\r\n * Constructor\r\n */\n this.construct = function (options) {\n //$.extend(Opts, options);\n console.log(this.constructor.name + ' constructor called');\n $.extend(Opts, window.EmegrendelesDefaults, options);\n };\n this.setOpts = function (options) {\n $.extend(Opts, options);\n };\n this.getOpts = function () {\n return Opts;\n };\n this.datatableAddRowTrashButton = function () {\n return Opts.datatableAddRowTrashButton(arguments);\n };\n this.datatableAddRowEditButton = function () {\n return Opts.datatableAddRowEditButton(arguments);\n };\n this.datatableAddRowViewButton = function () {\n return Opts.datatableAddRowViewButton(arguments);\n };\n this.datatableAddRowAttachmentButton = function () {\n return Opts.datatableAddRowAttachmentButton(arguments);\n };\n this.afterLoadMainContent = function () {\n return Opts.afterLoadMainContent(arguments);\n };\n this.datatableActionButtonClickCallBack = function () {\n return Opts.datatableActionButtonClickCallBack(arguments);\n };\n this.datatableRowActionButtonClickCallBack = function () {\n return Opts.datatableRowActionButtonClickCallBack(arguments);\n };\n this.datatableAddRowAction = function (CSSSelector) {\n if (!CSSSelector) {\n return;\n }\n $(CSSSelector + ' tr button').off('click');\n $(CSSSelector + ' tr button').on('click', APP.datatableRowActionButtonClickCallBack);\n };\n this.datatableCustomHeadButtonClickCallBack = function () {\n return Opts.datatableCustomHeadButtonClickCallBack(arguments);\n };\n\n /*\r\n * Public method\r\n * Can be called outside class\r\n */\n this.myPublicMethod = function () {\n console.log(Opts);\n myPrivateMethod();\n };\n this.setApiToken = function (token) {\n root.ApiToken = token;\n };\n this.getApiToken = function () {\n return root.ApiToken;\n };\n\n /*\r\n * Private method\r\n * Can only be called inside class\r\n */\n var myPrivateMethod = function myPrivateMethod() {\n console.log('accessed private method');\n };\n\n /**\r\n * @param {string} itemName\r\n */\n this.setActiveNavBarItem = function (itemName) {\n $('.speedButtonNavBar li').removeClass('selected');\n $('.speedButtonNavBar li.iconholderModul' + itemName).addClass('selected');\n return this;\n };\n this.getActiveNavBarItem = function () {\n return $('.speedButtonNavBar .selected').find('a').data('name');\n };\n this.clearArchiveModuleDataTableState = function () {\n if (APP.OrderArchiveModule != undefined) {\n console.log('APP.OrderArchiveModule');\n console.log('clear');\n APP.OrderArchiveModule.dataTable.state.clear();\n }\n };\n this.navBarItemBeforepost = function () {\n console.log('navBarItemBeforepost');\n if (root.getActiveNavBarItem() !== 'activeOrder') {\n root.clearArchiveModuleDataTableState();\n }\n ;\n };\n this.navBarItemAfterPost = function () {};\n this.initNavBar = function () {\n $(\".speedButtonNavBar a:not([data-target=_blank]):not([data-no-ajax])\").bind('click', function (event) {\n console.log($(this).data().name);\n if ($(this).data('big-icon')) {\n $(\".speedButtonNavBar\").removeClass('smallicons');\n } else {\n $(\".speedButtonNavBar\").addClass('smallicons');\n }\n root.setActiveNavBarItem($(this).data().name);\n event.preventDefault();\n });\n $(\".speedButtonNavBar a:not([data-target=_blank]):not([data-no-ajax])\").ajaxlink({\n target: $('.mainContent'),\n ajaxtype: 'GET',\n afterpost: root.navBarItemAfterPost,\n beforepost: root.navBarItemBeforepost\n });\n $(\".speedButtonNavBar a[data-target=_blank], .speedButtonNavBar a[data-no-ajax]\").bind('click', function () {\n root.clearArchiveModuleDataTableState();\n });\n };\n this.loadMainContent = function (url, data, callBack) {\n if (!callBack) {\n callBack = root.afterLoadMainContent;\n } else {\n console.log('van callback');\n console.log(callBack);\n }\n $('.mainContent').load(url, data, callBack);\n };\n /*\r\n * Pass options when class instantiated\r\n */\n this.construct(options);\n};\n\n/*\r\n$.fn.ajaxlink = function(options){\r\n\r\n};\r\nimport './ajaxLink';\r\n\r\n* */\nwindow.APP = {};\n$(document).ready(function () {\n console.log('ready doc');\n //$('.datepicker').datepicker();\n Mustache.tags = ['[[', ']]'];\n // = [ '<%', '%>' ];\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,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L2pzL2FwcC5qcz9jZWQ2Il0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4vYm9vdHN0cmFwJyk7XHJcblxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8qXHJcbkhlbHBlciBmdW5jdGlvblxyXG4qL1xyXG53aW5kb3cuZ2V0TW9uZGF5PWZ1bmN0aW9uKGRhdGUsZGF0ZVN0cikge1xyXG4gICAgaWYoZGF0ZVN0cil7XHJcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGVTdHIpO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBkYXkgPSBkYXRlLmdldERheSgpLFxyXG4gICAgICAgIGRpZmYgPSBkYXRlLmdldERhdGUoKSAtIGRheSArIChkYXkgPT0gMCA/IC02OjEpOyAvLyBhZGp1c3Qgd2hlbiBkYXkgaXMgc3VuZGF5XHJcbiAgICByZXR1cm4gbmV3IERhdGUoZGF0ZS5zZXREYXRlKGRpZmYpKTtcclxufVxyXG53aW5kb3cuZGVidWc9ZnVuY3Rpb24gKHR4dClcclxue1xyXG4gICAgdHJ5IHtcclxuICAgICAgICBpZiAodHh0ICYmIHR5cGVvZiB0eHQgPT09ICdvYmplY3QnICYmICFBcnJheS5pc0FycmF5KHR4dCkpIHtcclxuICAgICAgICAgICAgY29uc3Qgc2VlbiA9IG5ldyBXZWFrU2V0KCk7XHJcbiAgICAgICAgICAgIGNvbnN0IHNhZmVPYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHR4dCwgKGtleSwgdmFsdWUpID0+IHtcclxuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlZW4uaGFzKHZhbHVlKSkgcmV0dXJuICdbQ2lyY3VsYXJdJztcclxuICAgICAgICAgICAgICAgICAgICBzZWVuLmFkZCh2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICAgICAgICAgIH0pKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coc2FmZU9iaik7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2codHh0KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBjYXRjaChlKXtcclxuICAgICAgICBjb25zb2xlLmxvZyh0eHQpO1xyXG4gICAgfVxyXG59O1xyXG5cclxud2luZG93LmJ1aWxkRm9ybURhdGE9ZnVuY3Rpb24oZm9ybURhdGEsIGRhdGEsIHBhcmVudEtleSkge1xyXG4gICAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICEoZGF0YSBpbnN0YW5jZW9mIERhdGUpICYmICEoZGF0YSBpbnN0YW5jZW9mIEZpbGUpKSB7XHJcbiAgICAgICAgT2JqZWN0LmtleXMoZGF0YSkuZm9yRWFjaChrZXkgPT4ge1xyXG4gICAgICAgICAgICBidWlsZEZvcm1EYXRhKGZvcm1EYXRhLCBkYXRhW2tleV0sIHBhcmVudEtleSA/IGAke3BhcmVudEtleX1bJHtrZXl9XWAgOiBrZXkpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IGRhdGEgPT0gbnVsbCA/ICcnIDogZGF0YTtcclxuXHJcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKHBhcmVudEtleSwgdmFsdWUpO1xyXG4gICAgfVxyXG59XHJcblxyXG53aW5kb3cuanNvblRvRm9ybURhdGE9ZnVuY3Rpb24oZGF0YSkge1xyXG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcclxuXHJcbiAgICBidWlsZEZvcm1EYXRhKGZvcm1EYXRhLCBkYXRhKTtcclxuXHJcbiAgICByZXR1cm4gZm9ybURhdGE7XHJcbn1cclxuXHJcblN0cmluZy5wcm90b3R5cGUuY2FwaXRhbGl6ZSA9IGZ1bmN0aW9uKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkgKyB0aGlzLnNsaWNlKDEpXHJcbn1cclxuXHJcbndpbmRvdy5hcnJheVJlbW92ZT1mdW5jdGlvbihhcnIsIHZhbHVlKSB7XHJcblxyXG4gICAgcmV0dXJuIGFyci5maWx0ZXIoZnVuY3Rpb24oZWxlKXtcclxuICAgICAgICByZXR1cm4gZWxlICE9IHZhbHVlO1xyXG4gICAgfSk7XHJcbn1cclxud2luZG93LmdldFJhbmRvbUludD1mdW5jdGlvbiAobWF4PU51bWJlci5NQVhfU0FGRV9JTlRFR0VSLG1pbj0wKSB7XHJcbiAgICBkZWJ1ZyhtYXgpO1xyXG4gICAgZGVidWcobWluKTtcclxuICAgIHJldHVybiBNYXRoLmZsb29yKE1hdGgucmFuZG9tKCkgKiAobWF4IC0gbWluICsgMSkpICsgbWluO1xyXG59XHJcblxyXG53aW5kb3cuc2V0SW1hZ2VGcm9tTG9jYWw9ZnVuY3Rpb24oaW5wdXQsdGFyZ2V0SW1nQ3NzU2VsZWN0b3IpIHtcclxuICAgIGlmIChpbnB1dC5maWxlcyAmJiBpbnB1dC5maWxlc1swXSkge1xyXG4gICAgICAgIGxldCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xyXG4gICAgICAgIHJlYWRlci5vbmxvYWQgPSBmdW5jdGlvbiAoZSkge1xyXG4gICAgICAgICAgICAkKHRhcmdldEltZ0Nzc1NlbGVjdG9yKS5hdHRyKCdzcmMnLCBlLnRhcmdldC5yZXN1bHQpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChpbnB1dC5maWxlc1swXSk7XHJcbiAgICB9XHJcbn1cclxuXHJcbnJlcXVpcmUoJy4vbGF0aW5pc2UnKTtcclxuXHJcbi8qXHJcbmRpc2FibGUgYmFjayBidXR0b25cclxuICovXHJcbiQoZnVuY3Rpb24oKSB7XHJcbiAgICBpZiAod2luZG93Lmhpc3RvcnkgJiYgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKSB7XHJcbiAgICAgICAgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKCcnLCBudWxsLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgJCh3aW5kb3cpLm9uKCdwb3BzdGF0ZScsIGZ1bmN0aW9uKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIC8vIGFsZXJ0KCdCYWNrIGJ1dHRvbiB3YXMgcHJlc3NlZC4nKTtcclxuICAgICAgICAgICAgLy9kb2N1bWVudC5sb2NhdGlvbi5ocmVmID0gJyMnO1xyXG4gICAgICAgICAgICB3aW5kb3cuaGlzdG9yeS5wdXNoU3RhdGUoJycsIGRvY3VtZW50LnRpdGxlLCB3aW5kb3cubG9jYXRpb24uaHJlZik7XHJcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coJ21ldmFneScpO1xyXG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxufSk7XHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4vKlxyXG5pbml0IGN1c3RvbSByYWRpbyBidXR0b25zXHJcbiAqL1xyXG53aW5kb3cuaW5pdFJhZGlvQnV0dG9ucz1mdW5jdGlvbiAoT3B0aW9ucyl7XHJcbiAgICBsZXQgT3B0cyA9IHtcclxuICAgICAgICBvbkNoYW5nZTogZnVuY3Rpb24gKHZhbHVlLG5vZGUpIHtcclxuICAgICAgICB9LFxyXG4gICAgfTtcclxuXHJcbiAgICAkLmV4dGVuZChPcHRzLCBPcHRpb25zKTtcclxuXHJcbiAgICAkKCcuY3VzdG9tUmFkaW9CdG5Hcm91cCAuYWN0aXZlJykuZWFjaChmdW5jdGlvbigpIHtcclxuICAgICAgICBsZXQgYWN0aXZlVmFsdWUgPSAkKHRoaXMpLmRhdGEoJ3RpdGxlJyk7XHJcbiAgICAgICAgbGV0IHRhcmdldCA9ICQodGhpcykuZGF0YSgndG9nZ2xlJyk7XHJcbiAgICAgICAgJCgnaW5wdXRbbmFtZT0nK3RhcmdldCsnXScpLnByb3AoJ3ZhbHVlJywgYWN0aXZlVmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgJCgnLmN1c3RvbVJhZGlvQnRuR3JvdXAgYScpLnVuYmluZCgnY2xpY2snKTtcclxuICAgICQoJy5jdXN0b21SYWRpb0J0bkdyb3VwIGEnKS5iaW5kKCdjbGljaycsZnVuY3Rpb24oKXtcclxuICAgICAgICBsZXQgc2VsID0gJCh0aGlzKS5kYXRhKCd0aXRsZScpO1xyXG4gICAgICAgIGxldCB0b2cgPSAkKHRoaXMpLmRhdGEoJ3RvZ2dsZScpO1xyXG4gICAgICAgICQoJ2lucHV0W25hbWU9Jyt0b2crJ10nKS5wcm9wKCd2YWx1ZScsIHNlbCk7XHJcbiAgICAgICAgJCgnYVtkYXRhLXRvZ2dsZT1cIicrdG9nKydcIl0nKS5ub3QoJ1tkYXRhLXRpdGxlPVwiJytzZWwrJ1wiXScpLnJlbW92ZUNsYXNzKCdhY3RpdmUnKS5hZGRDbGFzcygnbm90QWN0aXZlJyk7XHJcbiAgICAgICAgJCgnYVtkYXRhLXRvZ2dsZT1cIicrdG9nKydcIl1bZGF0YS10aXRsZT1cIicrc2VsKydcIl0nKS5yZW1vdmVDbGFzcygnbm90QWN0aXZlJykuYWRkQ2xhc3MoJ2FjdGl2ZScpO1xyXG4gICAgICAgIE9wdHMub25DaGFuZ2Uoc2VsLHRvZyk7XHJcbiAgICB9KTtcclxufVxyXG5cclxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi8vICBEZWZhdWx0c1xyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuJC5leHRlbmQoIHRydWUsICQuZm4uZGF0YVRhYmxlLmRlZmF1bHRzLCB7XHJcbiAgICBsYW5ndWFnZToge1xyXG4gICAgICAgIHVybDogJy8vY2RuLmRhdGF0YWJsZXMubmV0L3BsdWctaW5zLzEuMTAuMjQvaTE4bi9IdW5nYXJpYW4uanNvbidcclxuICAgIH0sXHJcbiAgICBsZW5ndGhNZW51OiBbXHJcbiAgICAgICAgWyAxMCwgMjUsIDUwLCAtMSBdLFxyXG4gICAgICAgIFsgJzEwIHNvcicsICcyNSBzb3InLCAnNTAgc29yJywgJ8OWc3N6ZXMnIF1cclxuICAgIF0sXHJcbiAgICBidXR0b25zOntcclxuICAgICAgICBkb206e1xyXG4gICAgICAgICAgICBidXR0b246e1xyXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOidmZy1idXR0b24gdWktYnV0dG9uIGRhdGFUYWJsZUhlYWRlckJ1dHRvbnMnXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgfSxcclxuICAgIGRvbTogJzxcImZnLXRvb2xiYXIgdWktdG9vbGJhciB1aS13aWRnZXQtaGVhZGVyIHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItdGwgdWktY29ybmVyLXRyXCJsQmZyPicrXHJcbiAgICAgICAgJ3QnK1xyXG4gICAgICAgICc8XCJmZy10b29sYmFyIHVpLXRvb2xiYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWJsIHVpLWNvcm5lci1iclwiaXA+JyxcclxuXHJcbn0gKTtcclxuSW5wdXRtYXNrLmV4dGVuZERlZmluaXRpb25zKHtcclxuICAgICd4Jzoge1xyXG4gICAgICAgIHZhbGlkYXRvcjogXCJbXFwuLC3DocOpw63Ds8O2xZHDusOgw6jDrMOyw7nDvMWxw4HDicONw5PDlsWQw5rDgMOIw4zDksOZw5zFsEEtWmEtejAtOSBdXCIsXHJcbiAgICAgICAgLy9jYXJkaW5hbGl0eTogMVxyXG4gICAgfVxyXG59KTtcclxuXHJcblxyXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuVG9hc3QuZW5hYmxlVGltZXJzKGZhbHNlKTtcclxuJC5mbi5zZWxlY3QyLmRlZmF1bHRzLnNldCgnbGFuZ3VhZ2UnLCAnanAnKTtcclxud2luZG93LnNlbGVjdDJDcmVhdGVUYWc9ZnVuY3Rpb24gKHBhcmFtcyl7XHJcbiAgICB2YXIgdGVybSA9ICQudHJpbShwYXJhbXMudGVybSk7XHJcbiAgICB2YXIgY291bnQgPSAwXHJcbiAgICB2YXIgZXhpc3RzVmFyID0gZmFsc2U7XHJcbiAgICAvL2NoZWNrIGlmIHRoZXJlIGlzIGFueSBvcHRpb24gYWxyZWFkeVxyXG4gICAgaWYoJCgnI2tleXdvcmRzIG9wdGlvbicpLmxlbmd0aCA+IDApe1xyXG4gICAgICAgICQoJyNrZXl3b3JkcyBvcHRpb24nKS5lYWNoKGZ1bmN0aW9uKCl7XHJcbiAgICAgICAgICAgIGlmICgkKHRoaXMpLnRleHQoKS50b1VwcGVyQ2FzZSgpID09IHRlcm0udG9VcHBlckNhc2UoKSkge1xyXG4gICAgICAgICAgICAgICAgZXhpc3RzVmFyID0gdHJ1ZVxyXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgIGV4aXN0c1ZhciA9IGZhbHNlXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICBpZihleGlzdHNWYXIpe1xyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgICAgaWQ6IHBhcmFtcy50ZXJtLFxyXG4gICAgICAgICAgICB0ZXh0OiBwYXJhbXMudGVybSxcclxuICAgICAgICAgICAgbmV3VGFnOiB0cnVlXHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgLy9zaW5jZSBzZWxlY3QgaGFzIDAgb3B0aW9ucywgYWRkIG5ldyB3aXRob3V0IGNvbXBhcmluZ1xyXG4gICAgZWxzZXtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBpZDogcGFyYW1zLnRlcm0sXHJcbiAgICAgICAgICAgIHRleHQ6IHBhcmFtcy50ZXJtLFxyXG4gICAgICAgICAgICBuZXdUYWc6IHRydWVcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG59XHJcblxyXG53aW5kb3cuYWpheEVycm9ySGFuZGxlcj0gZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKXtcclxuICAgIGRlYnVnKHRoaXMpO1xyXG4gICAgY29uc29sZS5lcnJvcih4aHIpO1xyXG4gICAgY29uc29sZS5lcnJvcihhamF4T3B0aW9ucyk7XHJcbiAgICBjb25zb2xlLmVycm9yKHRocm93bkVycm9yKTtcclxuXHJcbiAgICAvLyBCaXp0b25zw6FnaSBlbGxlbsWRcnrDqXMg4oCTIGhhIG5pbmNzIHJlc3BvbnNlSlNPTiAocGwuIEhUTUwgdsOhbGFzeiksIG1lZ3Byw7Niw6FsanVrIHBhcnN6b2xuaVxyXG4gICAgaWYgKCF4aHIucmVzcG9uc2VKU09OICYmIHhoci5yZXNwb25zZVRleHQpIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICB4aHIucmVzcG9uc2VKU09OID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KTtcclxuICAgICAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJOZW0gc2lrZXLDvGx0IGEgcmVzcG9uc2VUZXh0IEpTT04gcGFyc3pvbMOhc2FcIik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIEJpenRvbnPDoWdpIGVsbGVuxZFyesOpcyDigJMgaGEgbmluY3MgcmVzcG9uc2VKU09OIChwbC4gSFRNTCB2w6FsYXN6KVxyXG4gICAgaWYgKCF4aHIucmVzcG9uc2VKU09OKSB7XHJcbiAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKHsnZGV0YWlsJzogJ1bDoXJhdGxhbiBzemVydmVyaGliYS4gS8OpcmrDvGsgcHLDs2LDoWxqYSDDumpyYSBrw6lzxZFiYi4nfSk7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIFZhbGlkw6FjacOzcyBoaWLDoWsgKDQyMikg4oCTIGV6ZWtldCByw6lzemxldGVzZW4gbWVnamVsZW7DrXRqw7xrXHJcbiAgICBpZiAoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpIHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKFwiZDItLS0tLS0tLS0tLS0tLS1cIik7XHJcbiAgICAgICAgaWYoXCJqc29uYXBpXCIgaW4geGhyLnJlc3BvbnNlSlNPTil7XHJcbiAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlckpzb25BUEkoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpO1xyXG4gICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIC8vIEVneWVkaSByZWZlcmVuY2lhIGvDs2RvcyBoaWJhICg1MDAsIHN0Yi4pXHJcbiAgICBlbHNlIGlmICh4aHIucmVzcG9uc2VKU09OLmVycm9yX3JlZikge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJlcnJvcl9yZWY6IFwiICsgeGhyLnJlc3BvbnNlSlNPTi5lcnJvcl9yZWYpO1xyXG4gICAgICAgIFRvYXN0LmNyZWF0ZSh7XHJcbiAgICAgICAgICAgIHRpdGxlOiBcIlN6ZXJ2ZXJoaWJhXCIsXHJcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiVsOhcmF0bGFuIGhpYmEgdMO2cnTDqW50IGEgZmVsZG9sZ296w6FzIHNvcsOhbi48YnI+XCIgK1xyXG4gICAgICAgICAgICAgICAgICAgICBcIjxzbWFsbD5IaXZhdGtvesOhc2kga8OzZDogPHN0cm9uZz5cIiArIHhoci5yZXNwb25zZUpTT04uZXJyb3JfcmVmICsgXCI8L3N0cm9uZz48L3NtYWxsPjxicj5cIiArXHJcbiAgICAgICAgICAgICAgICAgICAgIFwiPHNtYWxsPkvDqXJqw7xrLCBlenQgYSBrw7Nkb3QgYWRqYSBtZWcgYSBoaWJhamVsZW50w6lzYmVuLjwvc21hbGw+XCIsXHJcbiAgICAgICAgICAgIHN0YXR1czogVE9BU1RfU1RBVFVTLkRBTkdFUixcclxuICAgICAgICAgICAgdGltZW91dDogMFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgLy8gNDA0XHJcbiAgICBlbHNlIGlmICh4aHIuc3RhdHVzID09IDQwNCkge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJkMy0tLS0tLS0tLS0tLS0tLVwiKTtcclxuICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeydkZXRhaWwnOidOaW5jcyBpbHllbiBlbGVtLid9KTtcclxuICAgIH1cclxuICAgIC8vIEVnecOpYiBpc21lcmV0bGVuIGhpYmFcclxuICAgIGVsc2Uge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJkNC0tLS0tLS0tLS0tLS0tLVwiKTtcclxuICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeydkZXRhaWwnOifDgWx0YWzDoW5vcyBoaWJhLid9KTtcclxuICAgIH1cclxufVxyXG53aW5kb3cuYWpheEVycm9yRmllbGRIYW5kbGVySnNvbkFQST0gZnVuY3Rpb24gKGVycm9ycywgY29udGFpbmVyKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKFwiZDYtLS0tLS0tLS0tLS0tLS1cIik7XHJcbiAgICBsZXQgdG9hc3RCb2R5SHRtbCA9ICcnO1xyXG4gICAgbGV0IHRvYXN0VGl0bGUgPSAnSGliYSc7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9ycyk7XHJcbiAgICAkLmVhY2goZXJyb3JzLCBmdW5jdGlvbiAoaW5kZXgsIHZhbHVlKSB7XHJcbiAgICAgICAgY29uc29sZS5lcnJvcih2YWx1ZSk7XHJcbiAgICAgICAgdG9hc3RUaXRsZSA9ICdIaWJhJztcclxuICAgICAgICB0b2FzdEJvZHlIdG1sID0gJyc7XHJcbiAgICAgICAgaWYoXCJ0aXRsZVwiIGluIHZhbHVlKXtcclxuICAgICAgICAgICAgdG9hc3RUaXRsZT12YWx1ZS50aXRsZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoXCJkZXRhaWxcIiBpbiB2YWx1ZSl7XHJcbiAgICAgICAgICAgIHRvYXN0Qm9keUh0bWwgKz0gJzxkaXY+JyArIHZhbHVlLmRldGFpbCArICc8ZGl2Pic7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFRvYXN0LmNyZWF0ZSh7XHJcbiAgICAgICAgICAgIHRpdGxlOiB0b2FzdFRpdGxlLFxyXG4gICAgICAgICAgICBtZXNzYWdlOiB0b2FzdEJvZHlIdG1sLFxyXG4gICAgICAgICAgICBzdGF0dXM6IFRPQVNUX1NUQVRVUy5EQU5HRVIsICAgLy8gU1VDQ0VTUyAoesO2bGQpXHJcbiAgICAgICAgICAgIHRpbWVvdXQ6IDEwMDAwXHJcbiAgICAgICAgfSk7XHJcbiAgICB9KTtcclxufVxyXG53aW5kb3cuYWpheEVycm9yRmllbGRIYW5kbGVyID0gZnVuY3Rpb24gKGVycm9ycywgY29udGFpbmVyKSB7XHJcbiAgICBjb25zb2xlLmVycm9yKFwiZDUtLS0tLS0tLS0tLS0tLS1cIik7XHJcbiAgICBjb25zb2xlLmVycm9yKGVycm9ycyk7XHJcbiAgICBsZXQgdG9hc3RCb2R5SHRtbCA9ICcnO1xyXG4gICAgJC5lYWNoKGVycm9ycywgZnVuY3Rpb24gKGluZGV4LCB2YWx1ZSkge1xyXG4gICAgICAgIHRvYXN0Qm9keUh0bWwgKz0gJzxkaXY+JyArIHZhbHVlICsgJzxkaXY+JztcclxuICAgIH0pO1xyXG5cclxuICAgIFRvYXN0LmNyZWF0ZSh7XHJcbiAgICAgICAgdGl0bGU6IFwiSGliYSFcIixcclxuICAgICAgICBtZXNzYWdlOiB0b2FzdEJvZHlIdG1sLFxyXG4gICAgICAgIHN0YXR1czogVE9BU1RfU1RBVFVTLkRBTkdFUiwgICAvLyBTVUNDRVNTICh6w7ZsZClcclxuICAgICAgICB0aW1lb3V0OiAxMDAwMFxyXG4gICAgfSk7XHJcbn1cclxuJC5hamF4U2V0dXAoe1xyXG4gICAgZXJyb3I6YWpheEVycm9ySGFuZGxlcixcclxufSk7XHJcbi8qXHJcbmRhdGVwaWNrZXIgYWZ0ZXJTaG93IGZ1bmN0aW9uXHJcbiAqL1xyXG4kLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXJfb3JpZ2luYWwgPSAkLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXI7XHJcbiQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlciA9IGZ1bmN0aW9uKGluc3QpIHtcclxuICAgICQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcl9vcmlnaW5hbChpbnN0KTtcclxuICAgIGxldCBhZnRlclNob3cgPSB0aGlzLl9nZXQoaW5zdCwgJ2FmdGVyU2hvdycpO1xyXG4gICAgaWYgKGFmdGVyU2hvdylcclxuICAgICAgICBhZnRlclNob3cuYXBwbHkoKGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WzBdIDogbnVsbCkpOyAgLy8gdHJpZ2dlciBjdXN0b20gY2FsbGJhY2tcclxufVxyXG5cclxuXHJcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG53aW5kb3cuRW1lZ3JlbmRlbGVzRGVmYXVsdHM9e1xyXG4gICAgZGF0YXRhYmxlQWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjazogZnVuY3Rpb24gKCkge30sXHJcbiAgICBkYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbjogZnVuY3Rpb24gKGlkLGFyZ3MpIHtcclxuICAgICAgICByZXR1cm4gJzxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tZGFuZ2VyIGJ1dHRvbkRlbGV0ZVwiIGRhdGEtYnV0dG9uVHlwZT1cImRlbGV0ZVwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwiYm90dG9tXCIgdGl0bGU9XCJUw7ZybMOpc1wiPicgK1xyXG4gICAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJmYXMgZmEtdHJhc2hcIj48L3NwYW4+JyArXHJcbiAgICAgICAgICAgICc8L2J1dHRvbj4nXHJcblxyXG4gICAgfSxcclxuICAgIGRhdGF0YWJsZUFkZFJvd0VkaXRCdXR0b246IGZ1bmN0aW9uIChhcmdzKSB7XHJcbiAgICAgICAgbGV0IHRpdGxlPSdBZGF0b2snO1xyXG4gICAgICAgIGlmKHR5cGVvZiBhcmdzWzFdLnRpdGxlIT09XCJ1bmRlZmluZWRcIil7XHJcbiAgICAgICAgICAgIHRpdGxlPWFyZ3NbMV0udGl0bGU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiAnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pbmZvIGJ1dHRvbkVkaXRcIiAgZGF0YS1idXR0b25UeXBlPVwiZWRpdFwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwiYm90dG9tXCIgdGl0bGU9XCInK3RpdGxlKydcIj4nICtcclxuICAgICAgICAgICAgJzxzcGFuIGNsYXNzPVwiZmFzIGZhLXBlbmNpbC1hbHRcIj48L3NwYW4+JyArXHJcbiAgICAgICAgICAgICc8L2J1dHRvbj4nXHJcblxyXG4gICAgfSxcclxuICAgIGRhdGF0YWJsZUFkZFJvd1ZpZXdCdXR0b246IGZ1bmN0aW9uIChpZCxhcmdzKSB7XHJcbiAgICAgICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGRhdGFUYWJsZVJvd0J1dHRvbiBidXR0b25WaWV3XCIgIGRhdGEtYnV0dG9uVHlwZT1cInZpZXdcIiBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLXBsYWNlbWVudD1cImJvdHRvbVwiIHRpdGxlPVwiTWVndGVraW50XCI+JyArXHJcbiAgICAgICAgICAgICc8c3BhbiBjbGFzcz1cImZhcyBmYS1leWVcIj48L3NwYW4+JyArXHJcbiAgICAgICAgICAgICc8L2J1dHRvbj4nXHJcblxyXG4gICAgfSxcclxuICAgIGRhdGF0YWJsZUFkZFJvd0F0dGFjaG1lbnRCdXR0b246IGZ1bmN0aW9uIChpZCxhcmdzKSB7XHJcbiAgICAgICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtZGFyayBkYXRhVGFibGVSb3dCdXR0b24gYnV0dG9uQXR0YWNobWVudFwiICBkYXRhLWJ1dHRvblR5cGU9XCJhdHRhY2htZW50XCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJib3R0b21cIiB0aXRsZT1cIkNzYXRvbG3DoW55XCI+JyArXHJcbiAgICAgICAgICAgICc8c3BhbiBjbGFzcz1cImZhcyBmYS1wYXBlcmNsaXBcIj48L3NwYW4+JyArXHJcbiAgICAgICAgICAgICc8L2J1dHRvbj4nXHJcblxyXG4gICAgfSxcclxuICAgIGRhdGF0YWJsZUN1c3RvbUhlYWRCdXR0b25DbGlja0NhbGxCYWNrOmZ1bmN0aW9uIChhcmdzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYXJncyk7XHJcbiAgICB9LFxyXG5cclxuICAgIGFmdGVyTG9hZE1haW5Db250ZW50OmZ1bmN0aW9uIChhcmdzKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coYXJncyk7XHJcbiAgICB9LFxyXG5cclxuXHJcbn07XHJcblxyXG5pZih0eXBlb2YgRGF0YU1vZGVsPT09J3VuZGVmaW5lZCcpe1xyXG4gICAgY2xhc3MgRGF0YU1vZGVse1xyXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogVmFyaWFibGVzIGFjY2Vzc2libGVcclxuICAgICAgICAgKiBpbiB0aGUgY2xhc3NcclxuICAgICAgICAgKi9cclxuICAgICAgICBPcHRzID0ge1xyXG4gICAgICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIC8qXHJcbiAgICAgICAgICogQ29uc3RydWN0b3JcclxuICAgICAgICAgKi9cclxuICAgICAgICBjb25zdHJ1Y3RvciAoZGF0YSxvcHRpb25zKSB7XHJcbiAgICAgICAgICAgICQuZXh0ZW5kKHRoaXMsIGRhdGEpO1xyXG4gICAgICAgICAgICAkLmV4dGVuZCh0aGlzLk9wdHMsIG9wdGlvbnMpO1xyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHNldERhdGEgKGRhdGEpe1xyXG4gICAgICAgICAgICAkLmV4dGVuZCh0aGlzLCBkYXRhKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGdldERhdGEoaW5kZXgpe1xyXG4gICAgICAgICAgICBpZihpbmRleCl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpc1tpbmRleF07XHJcbiAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9O1xyXG4gICAgd2luZG93LkRhdGFNb2RlbD1EYXRhTW9kZWw7XHJcbn1cclxuXHJcblxyXG53aW5kb3cuRW1lZ3JlbmRlbGVzID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcclxuXHJcbiAgICAvKlxyXG4gICAgICogVmFyaWFibGVzIGFjY2Vzc2libGVcclxuICAgICAqIGluIHRoZSBjbGFzc1xyXG4gICAgICovXHJcbiAgICBsZXQgT3B0cyA9IHtcclxuICAgICAgICBteVZhcjogJ0VtZWdyZW5kZWxlcyB2YWx1ZScsXHJcbiAgICAgICAgZGF0YXRhYmxlQWRkUm93VHJhc2hCdXR0b246e30sXHJcbiAgICAgICAgZGF0YXRhYmxlQWRkUm93RWRpdEJ1dHRvbjp7fSxcclxuICAgICAgICBkYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnt9LFxyXG4gICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6e30sXHJcbiAgICAgICAgZGF0YXRhYmxlQ3VzdG9tSGVhZEJ1dHRvbkNsaWNrQ2FsbEJhY2s6e30sXHJcbiAgICAgICAgYWZ0ZXJMb2FkTWFpbkNvbnRlbnQ6e30sXHJcbiAgICAgICAgVXJsOnt9LFxyXG4gICAgfTtcclxuXHJcbiAgICBjb25zdCBQdWJsaWNWYXI9e307XHJcbiAgICBsZXQgUHVibGljVmFyMj17J2FzZCc6JzIxJ307XHJcbiAgICBsZXQgQXBpVG9rZW49bnVsbDtcclxuICAgIGxldCByb290PXRoaXM7XHJcbiAgICAvKlxyXG4gICAgICogQ29uc3RydWN0b3JcclxuICAgICAqL1xyXG4gICAgdGhpcy5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAob3B0aW9ucykge1xyXG4gICAgICAgIC8vJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XHJcbiAgICAgICAgY29uc29sZS5sb2codGhpcy5jb25zdHJ1Y3Rvci5uYW1lKycgY29uc3RydWN0b3IgY2FsbGVkJyk7XHJcbiAgICAgICAgJC5leHRlbmQoT3B0cywgd2luZG93LkVtZWdyZW5kZWxlc0RlZmF1bHRzLCBvcHRpb25zKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5zZXRPcHRzPWZ1bmN0aW9uKG9wdGlvbnMpe1xyXG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZ2V0T3B0cz1mdW5jdGlvbigpe1xyXG4gICAgICAgIHJldHVybiBPcHRzO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YXRhYmxlQWRkUm93VHJhc2hCdXR0b249ZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgcmV0dXJuIE9wdHMuZGF0YXRhYmxlQWRkUm93VHJhc2hCdXR0b24oYXJndW1lbnRzKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0YXRhYmxlQWRkUm93RWRpdEJ1dHRvbj1mdW5jdGlvbiAoKXtcclxuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uKGFyZ3VtZW50cyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhdGFibGVBZGRSb3dWaWV3QnV0dG9uPWZ1bmN0aW9uICgpe1xyXG4gICAgICAgIHJldHVybiBPcHRzLmRhdGF0YWJsZUFkZFJvd1ZpZXdCdXR0b24oYXJndW1lbnRzKTtcclxuICAgIH1cclxuICAgIHRoaXMuZGF0YXRhYmxlQWRkUm93QXR0YWNobWVudEJ1dHRvbj1mdW5jdGlvbiAoKXtcclxuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVBZGRSb3dBdHRhY2htZW50QnV0dG9uKGFyZ3VtZW50cyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5hZnRlckxvYWRNYWluQ29udGVudD1mdW5jdGlvbiAoKXtcclxuICAgICAgICByZXR1cm4gT3B0cy5hZnRlckxvYWRNYWluQ29udGVudChhcmd1bWVudHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YXRhYmxlQWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjaz1mdW5jdGlvbiAoKXtcclxuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrKGFyZ3VtZW50cyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s9ZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgcmV0dXJuIE9wdHMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjayhhcmd1bWVudHMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZGF0YXRhYmxlQWRkUm93QWN0aW9uPWZ1bmN0aW9uIChDU1NTZWxlY3Rvcil7XHJcbiAgICAgICAgaWYoIUNTU1NlbGVjdG9yKXtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICAkKENTU1NlbGVjdG9yKycgdHIgYnV0dG9uJykub2ZmKCdjbGljaycpO1xyXG4gICAgICAgICQoQ1NTU2VsZWN0b3IrJyB0ciBidXR0b24nKS5vbignY2xpY2snLEFQUC5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrICk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRhdGFibGVDdXN0b21IZWFkQnV0dG9uQ2xpY2tDYWxsQmFjaz1mdW5jdGlvbiAoKXtcclxuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVDdXN0b21IZWFkQnV0dG9uQ2xpY2tDYWxsQmFjayhhcmd1bWVudHMpO1xyXG4gICAgfVxyXG5cclxuICAgIC8qXHJcbiAgICAgKiBQdWJsaWMgbWV0aG9kXHJcbiAgICAgKiBDYW4gYmUgY2FsbGVkIG91dHNpZGUgY2xhc3NcclxuICAgICAqL1xyXG4gICAgdGhpcy5teVB1YmxpY01ldGhvZCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhPcHRzKTtcclxuXHJcbiAgICAgICAgbXlQcml2YXRlTWV0aG9kKCk7XHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuc2V0QXBpVG9rZW4gPSBmdW5jdGlvbiAodG9rZW4pIHtcclxuICAgICAgICByb290LkFwaVRva2VuPXRva2VuO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmdldEFwaVRva2VuID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiByb290LkFwaVRva2VuO1xyXG4gICAgfTtcclxuXHJcbiAgICAvKlxyXG4gICAgICogUHJpdmF0ZSBtZXRob2RcclxuICAgICAqIENhbiBvbmx5IGJlIGNhbGxlZCBpbnNpZGUgY2xhc3NcclxuICAgICAqL1xyXG4gICAgY29uc3QgbXlQcml2YXRlTWV0aG9kID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdhY2Nlc3NlZCBwcml2YXRlIG1ldGhvZCcpO1xyXG4gICAgfTtcclxuXHJcbiAgICAvKipcclxuICAgICAqIEBwYXJhbSB7c3RyaW5nfSBpdGVtTmFtZVxyXG4gICAgICovXHJcbiAgICB0aGlzLnNldEFjdGl2ZU5hdkJhckl0ZW09ZnVuY3Rpb24oaXRlbU5hbWUpe1xyXG4gICAgICAgICQoJy5zcGVlZEJ1dHRvbk5hdkJhciBsaScpLnJlbW92ZUNsYXNzKCdzZWxlY3RlZCcpO1xyXG4gICAgICAgICQoJy5zcGVlZEJ1dHRvbk5hdkJhciBsaS5pY29uaG9sZGVyTW9kdWwnK2l0ZW1OYW1lKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdldEFjdGl2ZU5hdkJhckl0ZW09ZnVuY3Rpb24oKXtcclxuICAgICAgcmV0dXJuICQoJy5zcGVlZEJ1dHRvbk5hdkJhciAuc2VsZWN0ZWQnKS5maW5kKCdhJykuZGF0YSgnbmFtZScpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xlYXJBcmNoaXZlTW9kdWxlRGF0YVRhYmxlU3RhdGU9ZnVuY3Rpb24oKXtcclxuICAgICAgICBpZihBUFAuT3JkZXJBcmNoaXZlTW9kdWxlIT11bmRlZmluZWQgKXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ0FQUC5PcmRlckFyY2hpdmVNb2R1bGUnKTtcclxuICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdjbGVhcicpO1xyXG4gICAgICAgICAgICAgICAgQVBQLk9yZGVyQXJjaGl2ZU1vZHVsZS5kYXRhVGFibGUuc3RhdGUuY2xlYXIoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG4gICAgdGhpcy5uYXZCYXJJdGVtQmVmb3JlcG9zdD1mdW5jdGlvbiAoKXtcclxuICAgICAgICBjb25zb2xlLmxvZygnbmF2QmFySXRlbUJlZm9yZXBvc3QnKTtcclxuICAgICAgICBpZihyb290LmdldEFjdGl2ZU5hdkJhckl0ZW0oKSE9PSdhY3RpdmVPcmRlcicpe1xyXG4gICAgICAgICAgICByb290LmNsZWFyQXJjaGl2ZU1vZHVsZURhdGFUYWJsZVN0YXRlKCk7XHJcbiAgICAgICAgfTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5uYXZCYXJJdGVtQWZ0ZXJQb3N0PWZ1bmN0aW9uICgpe1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuaW5pdE5hdkJhcj1mdW5jdGlvbiAoKXtcclxuICAgICAgICAkKFwiLnNwZWVkQnV0dG9uTmF2QmFyIGE6bm90KFtkYXRhLXRhcmdldD1fYmxhbmtdKTpub3QoW2RhdGEtbm8tYWpheF0pXCIpLmJpbmQoJ2NsaWNrJyxmdW5jdGlvbiAoZXZlbnQpe1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZygkKHRoaXMpLmRhdGEoKS5uYW1lKTtcclxuICAgICAgICAgICAgaWYoJCh0aGlzKS5kYXRhKCdiaWctaWNvbicpKXtcclxuICAgICAgICAgICAgICAgICQoXCIuc3BlZWRCdXR0b25OYXZCYXJcIikucmVtb3ZlQ2xhc3MoJ3NtYWxsaWNvbnMnKTtcclxuICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAkKFwiLnNwZWVkQnV0dG9uTmF2QmFyXCIpLmFkZENsYXNzKCdzbWFsbGljb25zJyk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJvb3Quc2V0QWN0aXZlTmF2QmFySXRlbSgkKHRoaXMpLmRhdGEoKS5uYW1lKTtcclxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgICAgICB9KTtcclxuICAgICAgICAkKFwiLnNwZWVkQnV0dG9uTmF2QmFyIGE6bm90KFtkYXRhLXRhcmdldD1fYmxhbmtdKTpub3QoW2RhdGEtbm8tYWpheF0pXCIpLmFqYXhsaW5rKHtcclxuICAgICAgICAgICAgdGFyZ2V0OiQoJy5tYWluQ29udGVudCcpLFxyXG4gICAgICAgICAgICBhamF4dHlwZTonR0VUJyxcclxuICAgICAgICAgICAgYWZ0ZXJwb3N0OnJvb3QubmF2QmFySXRlbUFmdGVyUG9zdCxcclxuICAgICAgICAgICAgYmVmb3JlcG9zdDpyb290Lm5hdkJhckl0ZW1CZWZvcmVwb3N0LFxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgICQoXCIuc3BlZWRCdXR0b25OYXZCYXIgYVtkYXRhLXRhcmdldD1fYmxhbmtdLCAuc3BlZWRCdXR0b25OYXZCYXIgYVtkYXRhLW5vLWFqYXhdXCIpLmJpbmQoJ2NsaWNrJyxmdW5jdGlvbigpe1xyXG4gICAgICAgICAgICByb290LmNsZWFyQXJjaGl2ZU1vZHVsZURhdGFUYWJsZVN0YXRlKCk7XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5sb2FkTWFpbkNvbnRlbnQ9ZnVuY3Rpb24gKHVybCxkYXRhLGNhbGxCYWNrKXtcclxuXHJcbiAgICAgICAgaWYoIWNhbGxCYWNrKXtcclxuICAgICAgICAgICAgY2FsbEJhY2s9cm9vdC5hZnRlckxvYWRNYWluQ29udGVudDtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3ZhbiBjYWxsYmFjaycpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhjYWxsQmFjayk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgICQoJy5tYWluQ29udGVudCcpLmxvYWQoXHJcbiAgICAgICAgICAgIHVybCxkYXRhLGNhbGxCYWNrXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxuICAgIC8qXHJcbiAgICAgKiBQYXNzIG9wdGlvbnMgd2hlbiBjbGFzcyBpbnN0YW50aWF0ZWRcclxuICAgICAqL1xyXG4gICAgdGhpcy5jb25zdHJ1Y3Qob3B0aW9ucyk7XHJcbn07XHJcblxyXG5cclxuLypcclxuJC5mbi5hamF4bGluayA9IGZ1bmN0aW9uKG9wdGlvbnMpe1xyXG5cclxufTtcclxuaW1wb3J0ICcuL2FqYXhMaW5rJztcclxuXHJcbiogKi9cclxud2luZG93LkFQUD17fTtcclxuJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24gKCl7XHJcbiAgICBjb25zb2xlLmxvZygncmVhZHkgZG9jJyk7XHJcbiAgICAvLyQoJy5kYXRlcGlja2VyJykuZGF0ZXBpY2tlcigpO1xyXG4gICAgTXVzdGFjaGUudGFncyA9IFsgJ1tbJywgJ11dJyBdO1xyXG4gICAgLy8gPSBbICc8JScsICclPicgXTtcclxuXHJcbn0pO1xyXG5cclxuXHJcblxyXG4iXSwibmFtZXMiOlsicmVxdWlyZSIsIndpbmRvdyIsImdldE1vbmRheSIsImRhdGUiLCJkYXRlU3RyIiwiRGF0ZSIsImRheSIsImdldERheSIsImRpZmYiLCJnZXREYXRlIiwic2V0RGF0ZSIsImRlYnVnIiwidHh0IiwiX3R5cGVvZiIsIkFycmF5IiwiaXNBcnJheSIsInNlZW4iLCJXZWFrU2V0Iiwic2FmZU9iaiIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImtleSIsInZhbHVlIiwiaGFzIiwiYWRkIiwiY29uc29sZSIsImxvZyIsImUiLCJidWlsZEZvcm1EYXRhIiwiZm9ybURhdGEiLCJkYXRhIiwicGFyZW50S2V5IiwiRmlsZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiY29uY2F0IiwiYXBwZW5kIiwianNvblRvRm9ybURhdGEiLCJGb3JtRGF0YSIsIlN0cmluZyIsInByb3RvdHlwZSIsImNhcGl0YWxpemUiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiYXJyYXlSZW1vdmUiLCJhcnIiLCJmaWx0ZXIiLCJlbGUiLCJnZXRSYW5kb21JbnQiLCJtYXgiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwibWluIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0SW1hZ2VGcm9tTG9jYWwiLCJpbnB1dCIsInRhcmdldEltZ0Nzc1NlbGVjdG9yIiwiZmlsZXMiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiJCIsImF0dHIiLCJ0YXJnZXQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImxvY2F0aW9uIiwiaHJlZiIsIm9uIiwiZXZlbnQiLCJkb2N1bWVudCIsInRpdGxlIiwic3RvcFByb3BhZ2F0aW9uIiwiaW5pdFJhZGlvQnV0dG9ucyIsIk9wdGlvbnMiLCJPcHRzIiwib25DaGFuZ2UiLCJub2RlIiwiZXh0ZW5kIiwiZWFjaCIsImFjdGl2ZVZhbHVlIiwicHJvcCIsInVuYmluZCIsImJpbmQiLCJzZWwiLCJ0b2ciLCJub3QiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwiZm4iLCJkYXRhVGFibGUiLCJkZWZhdWx0cyIsImxhbmd1YWdlIiwidXJsIiwibGVuZ3RoTWVudSIsImJ1dHRvbnMiLCJkb20iLCJidXR0b24iLCJjbGFzc05hbWUiLCJJbnB1dG1hc2siLCJleHRlbmREZWZpbml0aW9ucyIsInZhbGlkYXRvciIsIlRvYXN0IiwiZW5hYmxlVGltZXJzIiwic2VsZWN0MiIsInNldCIsInNlbGVjdDJDcmVhdGVUYWciLCJwYXJhbXMiLCJ0ZXJtIiwidHJpbSIsImNvdW50IiwiZXhpc3RzVmFyIiwidGV4dCIsImlkIiwibmV3VGFnIiwiYWpheEVycm9ySGFuZGxlciIsInhociIsImFqYXhPcHRpb25zIiwidGhyb3duRXJyb3IiLCJlcnJvciIsInJlc3BvbnNlSlNPTiIsInJlc3BvbnNlVGV4dCIsImFqYXhFcnJvckZpZWxkSGFuZGxlciIsImVycm9ycyIsImFqYXhFcnJvckZpZWxkSGFuZGxlckpzb25BUEkiLCJlcnJvcl9yZWYiLCJjcmVhdGUiLCJtZXNzYWdlIiwic3RhdHVzIiwiVE9BU1RfU1RBVFVTIiwiREFOR0VSIiwidGltZW91dCIsImNvbnRhaW5lciIsInRvYXN0Qm9keUh0bWwiLCJ0b2FzdFRpdGxlIiwiaW5kZXgiLCJkZXRhaWwiLCJhamF4U2V0dXAiLCJkYXRlcGlja2VyIiwiX3VwZGF0ZURhdGVwaWNrZXJfb3JpZ2luYWwiLCJfdXBkYXRlRGF0ZXBpY2tlciIsImluc3QiLCJhZnRlclNob3ciLCJfZ2V0IiwiYXBwbHkiLCJFbWVncmVuZGVsZXNEZWZhdWx0cyIsImRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJkYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbiIsImFyZ3MiLCJkYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uIiwiZGF0YXRhYmxlQWRkUm93Vmlld0J1dHRvbiIsImRhdGF0YWJsZUFkZFJvd0F0dGFjaG1lbnRCdXR0b24iLCJkYXRhdGFibGVDdXN0b21IZWFkQnV0dG9uQ2xpY2tDYWxsQmFjayIsImFmdGVyTG9hZE1haW5Db250ZW50IiwiRGF0YU1vZGVsIiwiX0RhdGFNb2RlbDIiLCJvcHRpb25zIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnR5IiwiYWN0aXZlIiwiX2NyZWF0ZUNsYXNzIiwic2V0RGF0YSIsImdldERhdGEiLCJFbWVncmVuZGVsZXMiLCJteVZhciIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJVcmwiLCJQdWJsaWNWYXIiLCJQdWJsaWNWYXIyIiwiQXBpVG9rZW4iLCJyb290IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJuYW1lIiwic2V0T3B0cyIsImdldE9wdHMiLCJkYXRhdGFibGVBZGRSb3dBY3Rpb24iLCJDU1NTZWxlY3RvciIsIm9mZiIsIkFQUCIsIm15UHVibGljTWV0aG9kIiwibXlQcml2YXRlTWV0aG9kIiwic2V0QXBpVG9rZW4iLCJ0b2tlbiIsImdldEFwaVRva2VuIiwic2V0QWN0aXZlTmF2QmFySXRlbSIsIml0ZW1OYW1lIiwiZ2V0QWN0aXZlTmF2QmFySXRlbSIsImZpbmQiLCJjbGVhckFyY2hpdmVNb2R1bGVEYXRhVGFibGVTdGF0ZSIsIk9yZGVyQXJjaGl2ZU1vZHVsZSIsInN0YXRlIiwiY2xlYXIiLCJuYXZCYXJJdGVtQmVmb3JlcG9zdCIsIm5hdkJhckl0ZW1BZnRlclBvc3QiLCJpbml0TmF2QmFyIiwicHJldmVudERlZmF1bHQiLCJhamF4bGluayIsImFqYXh0eXBlIiwiYWZ0ZXJwb3N0IiwiYmVmb3JlcG9zdCIsImxvYWRNYWluQ29udGVudCIsImNhbGxCYWNrIiwibG9hZCIsInJlYWR5IiwiTXVzdGFjaGUiLCJ0YWdzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/app.js\n\n}"); +eval("{function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\n__webpack_require__(/*! ./bootstrap */ \"./resources/js/bootstrap.js\");\n\n//----------------------------------------------------------------------\n/*\nHelper function\n*/\nwindow.getMonday = function (date, dateStr) {\n if (dateStr) {\n date = new Date(dateStr);\n }\n var day = date.getDay(),\n diff = date.getDate() - day + (day == 0 ? -6 : 1); // adjust when day is sunday\n return new Date(date.setDate(diff));\n};\nwindow.debug = function (txt) {\n try {\n if (txt && _typeof(txt) === 'object' && !Array.isArray(txt)) {\n var seen = new WeakSet();\n var safeObj = JSON.parse(JSON.stringify(txt, function (key, value) {\n if (_typeof(value) === 'object' && value !== null) {\n if (seen.has(value)) return '[Circular]';\n seen.add(value);\n }\n return value;\n }));\n console.log(safeObj);\n } else {\n console.log(txt);\n }\n } catch (e) {\n console.log(txt);\n }\n};\nwindow.buildFormData = function (formData, data, parentKey) {\n if (data && _typeof(data) === 'object' && !(data instanceof Date) && !(data instanceof File)) {\n Object.keys(data).forEach(function (key) {\n buildFormData(formData, data[key], parentKey ? \"\".concat(parentKey, \"[\").concat(key, \"]\") : key);\n });\n } else {\n var value = data == null ? '' : data;\n formData.append(parentKey, value);\n }\n};\nwindow.jsonToFormData = function (data) {\n var formData = new FormData();\n buildFormData(formData, data);\n return formData;\n};\nString.prototype.capitalize = function () {\n return this.charAt(0).toUpperCase() + this.slice(1);\n};\nwindow.arrayRemove = function (arr, value) {\n return arr.filter(function (ele) {\n return ele != value;\n });\n};\nwindow.getRandomInt = function () {\n var max = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : Number.MAX_SAFE_INTEGER;\n var min = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n debug(max);\n debug(min);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nwindow.setImageFromLocal = function (input, targetImgCssSelector) {\n if (input.files && input.files[0]) {\n var reader = new FileReader();\n reader.onload = function (e) {\n $(targetImgCssSelector).attr('src', e.target.result);\n };\n reader.readAsDataURL(input.files[0]);\n }\n};\n__webpack_require__(/*! ./latinise */ \"./resources/js/latinise.js\");\n\n/*\ndisable back button\n */\n$(function () {\n if (window.history && window.history.pushState) {\n window.history.pushState('', null, window.location.href);\n $(window).on('popstate', function (event) {\n // alert('Back button was pressed.');\n //document.location.href = '#';\n window.history.pushState('', document.title, window.location.href);\n //console.log('mevagy');\n event.stopPropagation();\n });\n }\n});\n//----------------------------------------------------------------------\n/*\ninit custom radio buttons\n */\nwindow.initRadioButtons = function (Options) {\n var Opts = {\n onChange: function onChange(value, node) {}\n };\n $.extend(Opts, Options);\n $('.customRadioBtnGroup .active').each(function () {\n var activeValue = $(this).data('title');\n var target = $(this).data('toggle');\n $('input[name=' + target + ']').prop('value', activeValue);\n });\n $('.customRadioBtnGroup a').unbind('click');\n $('.customRadioBtnGroup a').bind('click', function () {\n var sel = $(this).data('title');\n var tog = $(this).data('toggle');\n $('input[name=' + tog + ']').prop('value', sel);\n $('a[data-toggle=\"' + tog + '\"]').not('[data-title=\"' + sel + '\"]').removeClass('active').addClass('notActive');\n $('a[data-toggle=\"' + tog + '\"][data-title=\"' + sel + '\"]').removeClass('notActive').addClass('active');\n Opts.onChange(sel, tog);\n });\n};\n\n//----------------------------------------------------------------------\n// Defaults\n//----------------------------------------------------------------------\n$.extend(true, $.fn.dataTable.defaults, {\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n lengthMenu: [[10, 25, 50, -1], ['10 sor', '25 sor', '50 sor', 'Összes']],\n buttons: {\n dom: {\n button: {\n className: 'fg-button ui-button dataTableHeaderButtons'\n }\n }\n },\n dom: '<\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-tl ui-corner-tr\"lBfr>' + 't' + '<\"fg-toolbar ui-toolbar ui-widget-header ui-helper-clearfix ui-corner-bl ui-corner-br\"ip>'\n});\nInputmask.extendDefinitions({\n 'x': {\n validator: \"[\\.,-áéíóöőúàèìòùüűÁÉÍÓÖŐÚÀÈÌÒÙÜŰA-Za-z0-9 ]\"\n //cardinality: 1\n }\n});\n\n//----------------------------------------------------------------------\nToast.enableTimers(false);\n$.fn.select2.defaults.set('language', 'jp');\nwindow.select2CreateTag = function (params) {\n var term = $.trim(params.term);\n var count = 0;\n var existsVar = false;\n //check if there is any option already\n if ($('#keywords option').length > 0) {\n $('#keywords option').each(function () {\n if ($(this).text().toUpperCase() == term.toUpperCase()) {\n existsVar = true;\n return false;\n } else {\n existsVar = false;\n }\n });\n if (existsVar) {\n return null;\n }\n return {\n id: params.term,\n text: params.term,\n newTag: true\n };\n }\n //since select has 0 options, add new without comparing\n else {\n return {\n id: params.term,\n text: params.term,\n newTag: true\n };\n }\n};\nwindow.ajaxErrorHandler = function (xhr, ajaxOptions, thrownError) {\n debug(this);\n console.error(xhr);\n console.error(ajaxOptions);\n console.error(thrownError);\n\n // Biztonsági ellenőrzés – ha nincs responseJSON (pl. HTML válasz), megpróbáljuk parszolni\n if (!xhr.responseJSON && xhr.responseText) {\n try {\n xhr.responseJSON = JSON.parse(xhr.responseText);\n } catch (e) {\n console.error(\"Nem sikerült a responseText JSON parszolása\");\n }\n }\n\n // Biztonsági ellenőrzés – ha nincs responseJSON (pl. HTML válasz)\n if (!xhr.responseJSON) {\n ajaxErrorFieldHandler({\n 'detail': 'Váratlan szerverhiba. Kérjük próbálja újra később.'\n });\n return;\n }\n\n // Validációs hibák (422) – ezeket részletesen megjelenítjük\n if (xhr.responseJSON.errors) {\n console.error(\"d2---------------\");\n if (\"jsonapi\" in xhr.responseJSON) {\n ajaxErrorFieldHandlerJsonAPI(xhr.responseJSON.errors);\n } else {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n }\n }\n // Egyedi referencia kódos hiba (500, stb.)\n else if (xhr.responseJSON.error_ref) {\n console.error(\"error_ref: \" + xhr.responseJSON.error_ref);\n Toast.create({\n title: \"Szerverhiba\",\n message: \"Váratlan hiba történt a feldolgozás során.
\" + \"Hivatkozási kód: \" + xhr.responseJSON.error_ref + \"
\" + \"Kérjük, ezt a kódot adja meg a hibajelentésben.\",\n status: TOAST_STATUS.DANGER,\n timeout: 0\n });\n }\n // 404\n else if (xhr.status == 404) {\n console.error(\"d3---------------\");\n ajaxErrorFieldHandler({\n 'detail': 'Nincs ilyen elem.'\n });\n }\n // Egyéb ismeretlen hiba\n else {\n console.error(\"d4---------------\");\n ajaxErrorFieldHandler({\n 'detail': 'Általános hiba.'\n });\n }\n};\nwindow.ajaxErrorFieldHandlerJsonAPI = function (errors, container) {\n console.error(\"d6---------------\");\n var toastBodyHtml = '';\n var toastTitle = 'Hiba';\n console.error(errors);\n $.each(errors, function (index, value) {\n console.error(value);\n toastTitle = 'Hiba';\n toastBodyHtml = '';\n if (\"title\" in value) {\n toastTitle = value.title;\n }\n if (\"detail\" in value) {\n toastBodyHtml += '
' + value.detail + '
';\n }\n Toast.create({\n title: toastTitle,\n message: toastBodyHtml,\n status: TOAST_STATUS.DANGER,\n // SUCCESS (zöld)\n timeout: 10000\n });\n });\n};\nwindow.ajaxErrorFieldHandler = function (errors, container) {\n console.error(\"d5---------------\");\n console.error(errors);\n var toastBodyHtml = '';\n $.each(errors, function (index, value) {\n toastBodyHtml += '
' + value + '
';\n });\n Toast.create({\n title: \"Hiba!\",\n message: toastBodyHtml,\n status: TOAST_STATUS.DANGER,\n // SUCCESS (zöld)\n timeout: 10000\n });\n};\n$.ajaxSetup({\n error: ajaxErrorHandler\n});\n/*\ndatepicker afterShow function\n */\n$.datepicker._updateDatepicker_original = $.datepicker._updateDatepicker;\n$.datepicker._updateDatepicker = function (inst) {\n $.datepicker._updateDatepicker_original(inst);\n var afterShow = this._get(inst, 'afterShow');\n if (afterShow) afterShow.apply(inst.input ? inst.input[0] : null); // trigger custom callback\n};\n\n//----------------------------------------------------------------------\nwindow.EmegrendelesDefaults = {\n datatableActionButtonClickCallBack: function datatableActionButtonClickCallBack() {},\n datatableAddRowTrashButton: function datatableAddRowTrashButton(id, args) {\n return '';\n },\n datatableAddRowEditButton: function datatableAddRowEditButton(args) {\n var title = 'Adatok';\n if (typeof args[1].title !== \"undefined\") {\n title = args[1].title;\n }\n return '';\n },\n datatableAddRowViewButton: function datatableAddRowViewButton(id, args) {\n return '';\n },\n datatableAddRowAttachmentButton: function datatableAddRowAttachmentButton(id, args) {\n return '';\n },\n datatableCustomHeadButtonClickCallBack: function datatableCustomHeadButtonClickCallBack(args) {\n console.log(args);\n },\n afterLoadMainContent: function afterLoadMainContent(args) {\n console.log(args);\n }\n};\nif (typeof DataModel === 'undefined') {\n var _DataModel2 = /*#__PURE__*/function () {\n /*\n * Constructor\n */\n function _DataModel2(data, options) {\n _classCallCheck(this, _DataModel2);\n /*\n * Variables accessible\n * in the class\n */\n _defineProperty(this, \"Opts\", {\n active: false\n });\n $.extend(this, data);\n $.extend(this.Opts, options);\n }\n return _createClass(_DataModel2, [{\n key: \"setData\",\n value: function setData(data) {\n $.extend(this, data);\n }\n }, {\n key: \"getData\",\n value: function getData(index) {\n if (index) {\n return this[index];\n } else {\n return this;\n }\n }\n }]);\n }();\n ;\n window.DataModel = _DataModel2;\n}\nwindow.Emegrendeles = function (options) {\n /*\n * Variables accessible\n * in the class\n */\n var Opts = {\n myVar: 'Emegrendeles value',\n datatableAddRowTrashButton: {},\n datatableAddRowEditButton: {},\n datatableActionButtonClickCallBack: {},\n datatableRowActionButtonClickCallBack: {},\n datatableCustomHeadButtonClickCallBack: {},\n afterLoadMainContent: {},\n Url: {}\n };\n var PublicVar = {};\n var PublicVar2 = {\n 'asd': '21'\n };\n var ApiToken = null;\n var root = this;\n /*\n * Constructor\n */\n this.construct = function (options) {\n //$.extend(Opts, options);\n console.log(this.constructor.name + ' constructor called');\n $.extend(Opts, window.EmegrendelesDefaults, options);\n };\n this.setOpts = function (options) {\n $.extend(Opts, options);\n };\n this.getOpts = function () {\n return Opts;\n };\n this.datatableAddRowTrashButton = function () {\n return Opts.datatableAddRowTrashButton(arguments);\n };\n this.datatableAddRowEditButton = function () {\n return Opts.datatableAddRowEditButton(arguments);\n };\n this.datatableAddRowViewButton = function () {\n return Opts.datatableAddRowViewButton(arguments);\n };\n this.datatableAddRowAttachmentButton = function () {\n return Opts.datatableAddRowAttachmentButton(arguments);\n };\n this.afterLoadMainContent = function () {\n return Opts.afterLoadMainContent(arguments);\n };\n this.datatableActionButtonClickCallBack = function () {\n return Opts.datatableActionButtonClickCallBack(arguments);\n };\n this.datatableRowActionButtonClickCallBack = function () {\n return Opts.datatableRowActionButtonClickCallBack(arguments);\n };\n this.datatableAddRowAction = function (CSSSelector) {\n if (!CSSSelector) {\n return;\n }\n $(CSSSelector + ' tr button').off('click');\n $(CSSSelector + ' tr button').on('click', APP.datatableRowActionButtonClickCallBack);\n };\n this.datatableCustomHeadButtonClickCallBack = function () {\n return Opts.datatableCustomHeadButtonClickCallBack(arguments);\n };\n\n /*\n * Public method\n * Can be called outside class\n */\n this.myPublicMethod = function () {\n console.log(Opts);\n myPrivateMethod();\n };\n this.setApiToken = function (token) {\n root.ApiToken = token;\n };\n this.getApiToken = function () {\n return root.ApiToken;\n };\n\n /*\n * Private method\n * Can only be called inside class\n */\n var myPrivateMethod = function myPrivateMethod() {\n console.log('accessed private method');\n };\n\n /**\n * @param {string} itemName\n */\n this.setActiveNavBarItem = function (itemName) {\n $('.speedButtonNavBar li').removeClass('selected');\n $('.speedButtonNavBar li.iconholderModul' + itemName).addClass('selected');\n return this;\n };\n this.getActiveNavBarItem = function () {\n return $('.speedButtonNavBar .selected').find('a').data('name');\n };\n this.clearArchiveModuleDataTableState = function () {\n if (APP.OrderArchiveModule != undefined) {\n console.log('APP.OrderArchiveModule');\n console.log('clear');\n APP.OrderArchiveModule.dataTable.state.clear();\n }\n };\n this.navBarItemBeforepost = function () {\n console.log('navBarItemBeforepost');\n if (root.getActiveNavBarItem() !== 'activeOrder') {\n root.clearArchiveModuleDataTableState();\n }\n ;\n };\n this.navBarItemAfterPost = function () {};\n this.initNavBar = function () {\n $(\".speedButtonNavBar a:not([data-target=_blank]):not([data-no-ajax])\").bind('click', function (event) {\n console.log($(this).data().name);\n if ($(this).data('big-icon')) {\n $(\".speedButtonNavBar\").removeClass('smallicons');\n } else {\n $(\".speedButtonNavBar\").addClass('smallicons');\n }\n root.setActiveNavBarItem($(this).data().name);\n event.preventDefault();\n });\n $(\".speedButtonNavBar a:not([data-target=_blank]):not([data-no-ajax])\").ajaxlink({\n target: $('.mainContent'),\n ajaxtype: 'GET',\n afterpost: root.navBarItemAfterPost,\n beforepost: root.navBarItemBeforepost\n });\n $(\".speedButtonNavBar a[data-target=_blank], .speedButtonNavBar a[data-no-ajax]\").bind('click', function () {\n root.clearArchiveModuleDataTableState();\n });\n };\n this.loadMainContent = function (url, data, callBack) {\n if (!callBack) {\n callBack = root.afterLoadMainContent;\n } else {\n console.log('van callback');\n console.log(callBack);\n }\n $('.mainContent').load(url, data, callBack);\n };\n /*\n * Pass options when class instantiated\n */\n this.construct(options);\n};\n\n/*\n$.fn.ajaxlink = function(options){\n\n};\nimport './ajaxLink';\n\n* */\nwindow.APP = {};\n$(document).ready(function () {\n console.log('ready doc');\n //$('.datepicker').datepicker();\n Mustache.tags = ['[[', ']]'];\n // = [ '<%', '%>' ];\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvYXBwLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQUEsbUJBQU8sQ0FBQyxnREFBYSxDQUFDOztBQUd0QjtBQUNBO0FBQ0E7QUFDQTtBQUNBQyxNQUFNLENBQUNDLFNBQVMsR0FBQyxVQUFTQyxJQUFJLEVBQUNDLE9BQU8sRUFBRTtFQUNwQyxJQUFHQSxPQUFPLEVBQUM7SUFDUEQsSUFBSSxHQUFHLElBQUlFLElBQUksQ0FBQ0QsT0FBTyxDQUFDO0VBQzVCO0VBRUEsSUFBSUUsR0FBRyxHQUFHSCxJQUFJLENBQUNJLE1BQU0sQ0FBQyxDQUFDO0lBQ25CQyxJQUFJLEdBQUdMLElBQUksQ0FBQ00sT0FBTyxDQUFDLENBQUMsR0FBR0gsR0FBRyxJQUFJQSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDckQsT0FBTyxJQUFJRCxJQUFJLENBQUNGLElBQUksQ0FBQ08sT0FBTyxDQUFDRixJQUFJLENBQUMsQ0FBQztBQUN2QyxDQUFDO0FBQ0RQLE1BQU0sQ0FBQ1UsS0FBSyxHQUFDLFVBQVVDLEdBQUcsRUFDMUI7RUFDSSxJQUFJO0lBQ0EsSUFBSUEsR0FBRyxJQUFJQyxPQUFBLENBQU9ELEdBQUcsTUFBSyxRQUFRLElBQUksQ0FBQ0UsS0FBSyxDQUFDQyxPQUFPLENBQUNILEdBQUcsQ0FBQyxFQUFFO01BQ3ZELElBQU1JLElBQUksR0FBRyxJQUFJQyxPQUFPLENBQUMsQ0FBQztNQUMxQixJQUFNQyxPQUFPLEdBQUdDLElBQUksQ0FBQ0MsS0FBSyxDQUFDRCxJQUFJLENBQUNFLFNBQVMsQ0FBQ1QsR0FBRyxFQUFFLFVBQUNVLEdBQUcsRUFBRUMsS0FBSyxFQUFLO1FBQzNELElBQUlWLE9BQUEsQ0FBT1UsS0FBSyxNQUFLLFFBQVEsSUFBSUEsS0FBSyxLQUFLLElBQUksRUFBRTtVQUM3QyxJQUFJUCxJQUFJLENBQUNRLEdBQUcsQ0FBQ0QsS0FBSyxDQUFDLEVBQUUsT0FBTyxZQUFZO1VBQ3hDUCxJQUFJLENBQUNTLEdBQUcsQ0FBQ0YsS0FBSyxDQUFDO1FBQ25CO1FBQ0EsT0FBT0EsS0FBSztNQUNoQixDQUFDLENBQUMsQ0FBQztNQUNIRyxPQUFPLENBQUNDLEdBQUcsQ0FBQ1QsT0FBTyxDQUFDO0lBQ3hCLENBQUMsTUFBTTtNQUNIUSxPQUFPLENBQUNDLEdBQUcsQ0FBQ2YsR0FBRyxDQUFDO0lBQ3BCO0VBQ0osQ0FBQyxDQUNELE9BQU1nQixDQUFDLEVBQUM7SUFDSkYsT0FBTyxDQUFDQyxHQUFHLENBQUNmLEdBQUcsQ0FBQztFQUNwQjtBQUNKLENBQUM7QUFFRFgsTUFBTSxDQUFDNEIsYUFBYSxHQUFDLFVBQVNDLFFBQVEsRUFBRUMsSUFBSSxFQUFFQyxTQUFTLEVBQUU7RUFDckQsSUFBSUQsSUFBSSxJQUFJbEIsT0FBQSxDQUFPa0IsSUFBSSxNQUFLLFFBQVEsSUFBSSxFQUFFQSxJQUFJLFlBQVkxQixJQUFJLENBQUMsSUFBSSxFQUFFMEIsSUFBSSxZQUFZRSxJQUFJLENBQUMsRUFBRTtJQUN4RkMsTUFBTSxDQUFDQyxJQUFJLENBQUNKLElBQUksQ0FBQyxDQUFDSyxPQUFPLENBQUMsVUFBQWQsR0FBRyxFQUFJO01BQzdCTyxhQUFhLENBQUNDLFFBQVEsRUFBRUMsSUFBSSxDQUFDVCxHQUFHLENBQUMsRUFBRVUsU0FBUyxNQUFBSyxNQUFBLENBQU1MLFNBQVMsT0FBQUssTUFBQSxDQUFJZixHQUFHLFNBQU1BLEdBQUcsQ0FBQztJQUNoRixDQUFDLENBQUM7RUFDTixDQUFDLE1BQU07SUFDSCxJQUFNQyxLQUFLLEdBQUdRLElBQUksSUFBSSxJQUFJLEdBQUcsRUFBRSxHQUFHQSxJQUFJO0lBRXRDRCxRQUFRLENBQUNRLE1BQU0sQ0FBQ04sU0FBUyxFQUFFVCxLQUFLLENBQUM7RUFDckM7QUFDSixDQUFDO0FBRUR0QixNQUFNLENBQUNzQyxjQUFjLEdBQUMsVUFBU1IsSUFBSSxFQUFFO0VBQ2pDLElBQU1ELFFBQVEsR0FBRyxJQUFJVSxRQUFRLENBQUMsQ0FBQztFQUUvQlgsYUFBYSxDQUFDQyxRQUFRLEVBQUVDLElBQUksQ0FBQztFQUU3QixPQUFPRCxRQUFRO0FBQ25CLENBQUM7QUFFRFcsTUFBTSxDQUFDQyxTQUFTLENBQUNDLFVBQVUsR0FBRyxZQUFXO0VBQ3JDLE9BQU8sSUFBSSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUNDLFdBQVcsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDQyxLQUFLLENBQUMsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRDdDLE1BQU0sQ0FBQzhDLFdBQVcsR0FBQyxVQUFTQyxHQUFHLEVBQUV6QixLQUFLLEVBQUU7RUFFcEMsT0FBT3lCLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDLFVBQVNDLEdBQUcsRUFBQztJQUMzQixPQUFPQSxHQUFHLElBQUkzQixLQUFLO0VBQ3ZCLENBQUMsQ0FBQztBQUNOLENBQUM7QUFDRHRCLE1BQU0sQ0FBQ2tELFlBQVksR0FBQyxZQUE2QztFQUFBLElBQW5DQyxHQUFHLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFDRyxNQUFNLENBQUNDLGdCQUFnQjtFQUFBLElBQUNDLEdBQUcsR0FBQUwsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUMsQ0FBQztFQUMzRDFDLEtBQUssQ0FBQ3lDLEdBQUcsQ0FBQztFQUNWekMsS0FBSyxDQUFDK0MsR0FBRyxDQUFDO0VBQ1YsT0FBT0MsSUFBSSxDQUFDQyxLQUFLLENBQUNELElBQUksQ0FBQ0UsTUFBTSxDQUFDLENBQUMsSUFBSVQsR0FBRyxHQUFHTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBR0EsR0FBRztBQUM1RCxDQUFDO0FBRUR6RCxNQUFNLENBQUM2RCxpQkFBaUIsR0FBQyxVQUFTQyxLQUFLLEVBQUNDLG9CQUFvQixFQUFFO0VBQzFELElBQUlELEtBQUssQ0FBQ0UsS0FBSyxJQUFJRixLQUFLLENBQUNFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRTtJQUMvQixJQUFJQyxNQUFNLEdBQUcsSUFBSUMsVUFBVSxDQUFDLENBQUM7SUFDN0JELE1BQU0sQ0FBQ0UsTUFBTSxHQUFHLFVBQVV4QyxDQUFDLEVBQUU7TUFDekJ5QyxDQUFDLENBQUNMLG9CQUFvQixDQUFDLENBQUNNLElBQUksQ0FBQyxLQUFLLEVBQUUxQyxDQUFDLENBQUMyQyxNQUFNLENBQUNDLE1BQU0sQ0FBQztJQUN4RCxDQUFDO0lBQ0ROLE1BQU0sQ0FBQ08sYUFBYSxDQUFDVixLQUFLLENBQUNFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUN4QztBQUNKLENBQUM7QUFFRGpFLG1CQUFPLENBQUMsOENBQVksQ0FBQzs7QUFFckI7QUFDQTtBQUNBO0FBQ0FxRSxDQUFDLENBQUMsWUFBVztFQUNULElBQUlwRSxNQUFNLENBQUN5RSxPQUFPLElBQUl6RSxNQUFNLENBQUN5RSxPQUFPLENBQUNDLFNBQVMsRUFBRTtJQUM1QzFFLE1BQU0sQ0FBQ3lFLE9BQU8sQ0FBQ0MsU0FBUyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUxRSxNQUFNLENBQUMyRSxRQUFRLENBQUNDLElBQUksQ0FBQztJQUN4RFIsQ0FBQyxDQUFDcEUsTUFBTSxDQUFDLENBQUM2RSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVNDLEtBQUssRUFBRTtNQUNyQztNQUNBO01BQ0E5RSxNQUFNLENBQUN5RSxPQUFPLENBQUNDLFNBQVMsQ0FBQyxFQUFFLEVBQUVLLFFBQVEsQ0FBQ0MsS0FBSyxFQUFFaEYsTUFBTSxDQUFDMkUsUUFBUSxDQUFDQyxJQUFJLENBQUM7TUFDbEU7TUFDQUUsS0FBSyxDQUFDRyxlQUFlLENBQUMsQ0FBQztJQUMzQixDQUFDLENBQUM7RUFDTjtBQUNKLENBQUMsQ0FBQztBQUNGO0FBQ0E7QUFDQTtBQUNBO0FBQ0FqRixNQUFNLENBQUNrRixnQkFBZ0IsR0FBQyxVQUFVQyxPQUFPLEVBQUM7RUFDdEMsSUFBSUMsSUFBSSxHQUFHO0lBQ1BDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFZL0QsS0FBSyxFQUFDZ0UsSUFBSSxFQUFFLENBQ2hDO0VBQ0osQ0FBQztFQUVEbEIsQ0FBQyxDQUFDbUIsTUFBTSxDQUFDSCxJQUFJLEVBQUVELE9BQU8sQ0FBQztFQUV2QmYsQ0FBQyxDQUFDLDhCQUE4QixDQUFDLENBQUNvQixJQUFJLENBQUMsWUFBVztJQUM5QyxJQUFJQyxXQUFXLEdBQUdyQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3ZDLElBQUl3QyxNQUFNLEdBQUdGLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDbkNzQyxDQUFDLENBQUMsYUFBYSxHQUFDRSxNQUFNLEdBQUMsR0FBRyxDQUFDLENBQUNvQixJQUFJLENBQUMsT0FBTyxFQUFFRCxXQUFXLENBQUM7RUFDMUQsQ0FBQyxDQUFDO0VBRUZyQixDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQ3VCLE1BQU0sQ0FBQyxPQUFPLENBQUM7RUFDM0N2QixDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQ3dCLElBQUksQ0FBQyxPQUFPLEVBQUMsWUFBVTtJQUMvQyxJQUFJQyxHQUFHLEdBQUd6QixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQy9CLElBQUlnRSxHQUFHLEdBQUcxQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ2hDc0MsQ0FBQyxDQUFDLGFBQWEsR0FBQzBCLEdBQUcsR0FBQyxHQUFHLENBQUMsQ0FBQ0osSUFBSSxDQUFDLE9BQU8sRUFBRUcsR0FBRyxDQUFDO0lBQzNDekIsQ0FBQyxDQUFDLGlCQUFpQixHQUFDMEIsR0FBRyxHQUFDLElBQUksQ0FBQyxDQUFDQyxHQUFHLENBQUMsZUFBZSxHQUFDRixHQUFHLEdBQUMsSUFBSSxDQUFDLENBQUNHLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQ0MsUUFBUSxDQUFDLFdBQVcsQ0FBQztJQUN2RzdCLENBQUMsQ0FBQyxpQkFBaUIsR0FBQzBCLEdBQUcsR0FBQyxpQkFBaUIsR0FBQ0QsR0FBRyxHQUFDLElBQUksQ0FBQyxDQUFDRyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUNDLFFBQVEsQ0FBQyxRQUFRLENBQUM7SUFDL0ZiLElBQUksQ0FBQ0MsUUFBUSxDQUFDUSxHQUFHLEVBQUNDLEdBQUcsQ0FBQztFQUMxQixDQUFDLENBQUM7QUFDTixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBMUIsQ0FBQyxDQUFDbUIsTUFBTSxDQUFFLElBQUksRUFBRW5CLENBQUMsQ0FBQzhCLEVBQUUsQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLEVBQUU7RUFDckNDLFFBQVEsRUFBRTtJQUNOQyxHQUFHLEVBQUU7RUFDVCxDQUFDO0VBQ0RDLFVBQVUsRUFBRSxDQUNSLENBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUUsRUFDbEIsQ0FBRSxRQUFRLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUUsQ0FDN0M7RUFDREMsT0FBTyxFQUFDO0lBQ0pDLEdBQUcsRUFBQztNQUNBQyxNQUFNLEVBQUM7UUFDSEMsU0FBUyxFQUFDO01BQ2Q7SUFDSjtFQUNKLENBQUM7RUFDREYsR0FBRyxFQUFFLDZGQUE2RixHQUM5RixHQUFHLEdBQ0g7QUFFUixDQUFFLENBQUM7QUFDSEcsU0FBUyxDQUFDQyxpQkFBaUIsQ0FBQztFQUN4QixHQUFHLEVBQUU7SUFDREMsU0FBUyxFQUFFO0lBQ1g7RUFDSjtBQUNKLENBQUMsQ0FBQzs7QUFHRjtBQUNBQyxLQUFLLENBQUNDLFlBQVksQ0FBQyxLQUFLLENBQUM7QUFDekI1QyxDQUFDLENBQUM4QixFQUFFLENBQUNlLE9BQU8sQ0FBQ2IsUUFBUSxDQUFDYyxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQztBQUMzQ2xILE1BQU0sQ0FBQ21ILGdCQUFnQixHQUFDLFVBQVVDLE1BQU0sRUFBQztFQUNyQyxJQUFJQyxJQUFJLEdBQUdqRCxDQUFDLENBQUNrRCxJQUFJLENBQUNGLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO0VBQzlCLElBQUlFLEtBQUssR0FBRyxDQUFDO0VBQ2IsSUFBSUMsU0FBUyxHQUFHLEtBQUs7RUFDckI7RUFDQSxJQUFHcEQsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUNmLE1BQU0sR0FBRyxDQUFDLEVBQUM7SUFDaENlLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDb0IsSUFBSSxDQUFDLFlBQVU7TUFDakMsSUFBSXBCLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ3FELElBQUksQ0FBQyxDQUFDLENBQUM3RSxXQUFXLENBQUMsQ0FBQyxJQUFJeUUsSUFBSSxDQUFDekUsV0FBVyxDQUFDLENBQUMsRUFBRTtRQUNwRDRFLFNBQVMsR0FBRyxJQUFJO1FBQ2hCLE9BQU8sS0FBSztNQUNoQixDQUFDLE1BQUk7UUFDREEsU0FBUyxHQUFHLEtBQUs7TUFDckI7SUFDSixDQUFDLENBQUM7SUFDRixJQUFHQSxTQUFTLEVBQUM7TUFDVCxPQUFPLElBQUk7SUFDZjtJQUNBLE9BQU87TUFDSEUsRUFBRSxFQUFFTixNQUFNLENBQUNDLElBQUk7TUFDZkksSUFBSSxFQUFFTCxNQUFNLENBQUNDLElBQUk7TUFDakJNLE1BQU0sRUFBRTtJQUNaLENBQUM7RUFDTDtFQUNBO0VBQUEsS0FDSTtJQUNBLE9BQU87TUFDSEQsRUFBRSxFQUFFTixNQUFNLENBQUNDLElBQUk7TUFDZkksSUFBSSxFQUFFTCxNQUFNLENBQUNDLElBQUk7TUFDakJNLE1BQU0sRUFBRTtJQUNaLENBQUM7RUFDTDtBQUVKLENBQUM7QUFFRDNILE1BQU0sQ0FBQzRILGdCQUFnQixHQUFFLFVBQVVDLEdBQUcsRUFBRUMsV0FBVyxFQUFFQyxXQUFXLEVBQUM7RUFDN0RySCxLQUFLLENBQUMsSUFBSSxDQUFDO0VBQ1hlLE9BQU8sQ0FBQ3VHLEtBQUssQ0FBQ0gsR0FBRyxDQUFDO0VBQ2xCcEcsT0FBTyxDQUFDdUcsS0FBSyxDQUFDRixXQUFXLENBQUM7RUFDMUJyRyxPQUFPLENBQUN1RyxLQUFLLENBQUNELFdBQVcsQ0FBQzs7RUFFMUI7RUFDQSxJQUFJLENBQUNGLEdBQUcsQ0FBQ0ksWUFBWSxJQUFJSixHQUFHLENBQUNLLFlBQVksRUFBRTtJQUN2QyxJQUFJO01BQ0FMLEdBQUcsQ0FBQ0ksWUFBWSxHQUFHL0csSUFBSSxDQUFDQyxLQUFLLENBQUMwRyxHQUFHLENBQUNLLFlBQVksQ0FBQztJQUNuRCxDQUFDLENBQUMsT0FBT3ZHLENBQUMsRUFBRTtNQUNSRixPQUFPLENBQUN1RyxLQUFLLENBQUMsNkNBQTZDLENBQUM7SUFDaEU7RUFDSjs7RUFFQTtFQUNBLElBQUksQ0FBQ0gsR0FBRyxDQUFDSSxZQUFZLEVBQUU7SUFDbkJFLHFCQUFxQixDQUFDO01BQUMsUUFBUSxFQUFFO0lBQW9ELENBQUMsQ0FBQztJQUN2RjtFQUNKOztFQUVBO0VBQ0EsSUFBSU4sR0FBRyxDQUFDSSxZQUFZLENBQUNHLE1BQU0sRUFBRTtJQUN6QjNHLE9BQU8sQ0FBQ3VHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQyxJQUFHLFNBQVMsSUFBSUgsR0FBRyxDQUFDSSxZQUFZLEVBQUM7TUFDN0JJLDRCQUE0QixDQUFDUixHQUFHLENBQUNJLFlBQVksQ0FBQ0csTUFBTSxDQUFDO0lBQ3pELENBQUMsTUFBSTtNQUNERCxxQkFBcUIsQ0FBQ04sR0FBRyxDQUFDSSxZQUFZLENBQUNHLE1BQU0sQ0FBQztJQUNsRDtFQUNKO0VBQ0E7RUFBQSxLQUNLLElBQUlQLEdBQUcsQ0FBQ0ksWUFBWSxDQUFDSyxTQUFTLEVBQUU7SUFDakM3RyxPQUFPLENBQUN1RyxLQUFLLENBQUMsYUFBYSxHQUFHSCxHQUFHLENBQUNJLFlBQVksQ0FBQ0ssU0FBUyxDQUFDO0lBQ3pEdkIsS0FBSyxDQUFDd0IsTUFBTSxDQUFDO01BQ1R2RCxLQUFLLEVBQUUsYUFBYTtNQUNwQndELE9BQU8sRUFBRSxnREFBZ0QsR0FDaEQsa0NBQWtDLEdBQUdYLEdBQUcsQ0FBQ0ksWUFBWSxDQUFDSyxTQUFTLEdBQUcsdUJBQXVCLEdBQ3pGLGdFQUFnRTtNQUN6RUcsTUFBTSxFQUFFQyxZQUFZLENBQUNDLE1BQU07TUFDM0JDLE9BQU8sRUFBRTtJQUNiLENBQUMsQ0FBQztFQUNOO0VBQ0E7RUFBQSxLQUNLLElBQUlmLEdBQUcsQ0FBQ1ksTUFBTSxJQUFJLEdBQUcsRUFBRTtJQUN4QmhILE9BQU8sQ0FBQ3VHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztJQUNsQ0cscUJBQXFCLENBQUM7TUFBQyxRQUFRLEVBQUM7SUFBbUIsQ0FBQyxDQUFDO0VBQ3pEO0VBQ0E7RUFBQSxLQUNLO0lBQ0QxRyxPQUFPLENBQUN1RyxLQUFLLENBQUMsbUJBQW1CLENBQUM7SUFDbENHLHFCQUFxQixDQUFDO01BQUMsUUFBUSxFQUFDO0lBQWlCLENBQUMsQ0FBQztFQUN2RDtBQUNKLENBQUM7QUFDRG5JLE1BQU0sQ0FBQ3FJLDRCQUE0QixHQUFFLFVBQVVELE1BQU0sRUFBRVMsU0FBUyxFQUFFO0VBQzlEcEgsT0FBTyxDQUFDdUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDO0VBQ2xDLElBQUljLGFBQWEsR0FBRyxFQUFFO0VBQ3RCLElBQUlDLFVBQVUsR0FBRyxNQUFNO0VBQ3ZCdEgsT0FBTyxDQUFDdUcsS0FBSyxDQUFDSSxNQUFNLENBQUM7RUFDckJoRSxDQUFDLENBQUNvQixJQUFJLENBQUM0QyxNQUFNLEVBQUUsVUFBVVksS0FBSyxFQUFFMUgsS0FBSyxFQUFFO0lBQ25DRyxPQUFPLENBQUN1RyxLQUFLLENBQUMxRyxLQUFLLENBQUM7SUFDcEJ5SCxVQUFVLEdBQUcsTUFBTTtJQUNuQkQsYUFBYSxHQUFHLEVBQUU7SUFDbEIsSUFBRyxPQUFPLElBQUl4SCxLQUFLLEVBQUM7TUFDaEJ5SCxVQUFVLEdBQUN6SCxLQUFLLENBQUMwRCxLQUFLO0lBQzFCO0lBQ0EsSUFBRyxRQUFRLElBQUkxRCxLQUFLLEVBQUM7TUFDakJ3SCxhQUFhLElBQUksT0FBTyxHQUFHeEgsS0FBSyxDQUFDMkgsTUFBTSxHQUFHLE9BQU87SUFDckQ7SUFDQWxDLEtBQUssQ0FBQ3dCLE1BQU0sQ0FBQztNQUNUdkQsS0FBSyxFQUFFK0QsVUFBVTtNQUNqQlAsT0FBTyxFQUFFTSxhQUFhO01BQ3RCTCxNQUFNLEVBQUVDLFlBQVksQ0FBQ0MsTUFBTTtNQUFJO01BQy9CQyxPQUFPLEVBQUU7SUFDYixDQUFDLENBQUM7RUFDTixDQUFDLENBQUM7QUFDTixDQUFDO0FBQ0Q1SSxNQUFNLENBQUNtSSxxQkFBcUIsR0FBRyxVQUFVQyxNQUFNLEVBQUVTLFNBQVMsRUFBRTtFQUN4RHBILE9BQU8sQ0FBQ3VHLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztFQUNsQ3ZHLE9BQU8sQ0FBQ3VHLEtBQUssQ0FBQ0ksTUFBTSxDQUFDO0VBQ3JCLElBQUlVLGFBQWEsR0FBRyxFQUFFO0VBQ3RCMUUsQ0FBQyxDQUFDb0IsSUFBSSxDQUFDNEMsTUFBTSxFQUFFLFVBQVVZLEtBQUssRUFBRTFILEtBQUssRUFBRTtJQUNuQ3dILGFBQWEsSUFBSSxPQUFPLEdBQUd4SCxLQUFLLEdBQUcsT0FBTztFQUM5QyxDQUFDLENBQUM7RUFFRnlGLEtBQUssQ0FBQ3dCLE1BQU0sQ0FBQztJQUNUdkQsS0FBSyxFQUFFLE9BQU87SUFDZHdELE9BQU8sRUFBRU0sYUFBYTtJQUN0QkwsTUFBTSxFQUFFQyxZQUFZLENBQUNDLE1BQU07SUFBSTtJQUMvQkMsT0FBTyxFQUFFO0VBQ2IsQ0FBQyxDQUFDO0FBQ04sQ0FBQztBQUNEeEUsQ0FBQyxDQUFDOEUsU0FBUyxDQUFDO0VBQ1JsQixLQUFLLEVBQUNKO0FBQ1YsQ0FBQyxDQUFDO0FBQ0Y7QUFDQTtBQUNBO0FBQ0F4RCxDQUFDLENBQUMrRSxVQUFVLENBQUNDLDBCQUEwQixHQUFHaEYsQ0FBQyxDQUFDK0UsVUFBVSxDQUFDRSxpQkFBaUI7QUFDeEVqRixDQUFDLENBQUMrRSxVQUFVLENBQUNFLGlCQUFpQixHQUFHLFVBQVNDLElBQUksRUFBRTtFQUM1Q2xGLENBQUMsQ0FBQytFLFVBQVUsQ0FBQ0MsMEJBQTBCLENBQUNFLElBQUksQ0FBQztFQUM3QyxJQUFJQyxTQUFTLEdBQUcsSUFBSSxDQUFDQyxJQUFJLENBQUNGLElBQUksRUFBRSxXQUFXLENBQUM7RUFDNUMsSUFBSUMsU0FBUyxFQUNUQSxTQUFTLENBQUNFLEtBQUssQ0FBRUgsSUFBSSxDQUFDeEYsS0FBSyxHQUFHd0YsSUFBSSxDQUFDeEYsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUssQ0FBQyxDQUFDLENBQUU7QUFDL0QsQ0FBQzs7QUFHRDtBQUNBOUQsTUFBTSxDQUFDMEosb0JBQW9CLEdBQUM7RUFDeEJDLGtDQUFrQyxFQUFFLFNBQXBDQSxrQ0FBa0NBLENBQUEsRUFBYyxDQUFDLENBQUM7RUFDbERDLDBCQUEwQixFQUFFLFNBQTVCQSwwQkFBMEJBLENBQVlsQyxFQUFFLEVBQUNtQyxJQUFJLEVBQUU7SUFDM0MsT0FBTyx5SkFBeUosR0FDNUosb0NBQW9DLEdBQ3BDLFdBQVc7RUFFbkIsQ0FBQztFQUNEQyx5QkFBeUIsRUFBRSxTQUEzQkEseUJBQXlCQSxDQUFZRCxJQUFJLEVBQUU7SUFDdkMsSUFBSTdFLEtBQUssR0FBQyxRQUFRO0lBQ2xCLElBQUcsT0FBTzZFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzdFLEtBQUssS0FBRyxXQUFXLEVBQUM7TUFDbENBLEtBQUssR0FBQzZFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzdFLEtBQUs7SUFDdkI7SUFDQSxPQUFPLDRJQUE0SSxHQUFDQSxLQUFLLEdBQUMsSUFBSSxHQUMxSix5Q0FBeUMsR0FDekMsV0FBVztFQUVuQixDQUFDO0VBQ0QrRSx5QkFBeUIsRUFBRSxTQUEzQkEseUJBQXlCQSxDQUFZckMsRUFBRSxFQUFDbUMsSUFBSSxFQUFFO0lBQzFDLE9BQU8sdUxBQXVMLEdBQzFMLGtDQUFrQyxHQUNsQyxXQUFXO0VBRW5CLENBQUM7RUFDREcsK0JBQStCLEVBQUUsU0FBakNBLCtCQUErQkEsQ0FBWXRDLEVBQUUsRUFBQ21DLElBQUksRUFBRTtJQUNoRCxPQUFPLCtMQUErTCxHQUNsTSx3Q0FBd0MsR0FDeEMsV0FBVztFQUVuQixDQUFDO0VBQ0RJLHNDQUFzQyxFQUFDLFNBQXZDQSxzQ0FBc0NBLENBQVdKLElBQUksRUFBRTtJQUNuRHBJLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDbUksSUFBSSxDQUFDO0VBQ3JCLENBQUM7RUFFREssb0JBQW9CLEVBQUMsU0FBckJBLG9CQUFvQkEsQ0FBV0wsSUFBSSxFQUFFO0lBQ2pDcEksT0FBTyxDQUFDQyxHQUFHLENBQUNtSSxJQUFJLENBQUM7RUFDckI7QUFHSixDQUFDO0FBRUQsSUFBRyxPQUFPTSxTQUFTLEtBQUcsV0FBVyxFQUFDO0VBQUEsSUFDeEJBLFdBQVM7SUFTWDtBQUNSO0FBQ0E7SUFDUSxTQUFBQyxZQUFhdEksSUFBSSxFQUFDdUksT0FBTyxFQUFFO01BQUFDLGVBQUEsT0FBQUYsV0FBQTtNQVgzQjtBQUNSO0FBQ0E7QUFDQTtNQUhRRyxlQUFBLGVBSU87UUFDSEMsTUFBTSxFQUFFO01BQ1osQ0FBQztNQU1HcEcsQ0FBQyxDQUFDbUIsTUFBTSxDQUFDLElBQUksRUFBRXpELElBQUksQ0FBQztNQUNwQnNDLENBQUMsQ0FBQ21CLE1BQU0sQ0FBQyxJQUFJLENBQUNILElBQUksRUFBRWlGLE9BQU8sQ0FBQztJQUNoQztJQUFDLE9BQUFJLFlBQUEsQ0FBQUwsV0FBQTtNQUFBL0ksR0FBQTtNQUFBQyxLQUFBLEVBRUQsU0FBQW9KLE9BQU9BLENBQUU1SSxJQUFJLEVBQUM7UUFDVnNDLENBQUMsQ0FBQ21CLE1BQU0sQ0FBQyxJQUFJLEVBQUV6RCxJQUFJLENBQUM7TUFDeEI7SUFBQztNQUFBVCxHQUFBO01BQUFDLEtBQUEsRUFFRCxTQUFBcUosT0FBT0EsQ0FBQzNCLEtBQUssRUFBQztRQUNWLElBQUdBLEtBQUssRUFBQztVQUNMLE9BQU8sSUFBSSxDQUFDQSxLQUFLLENBQUM7UUFDdEIsQ0FBQyxNQUFJO1VBQ0QsT0FBTyxJQUFJO1FBQ2Y7TUFDSjtJQUFDO0VBQUE7RUFDSjtFQUNEaEosTUFBTSxDQUFDbUssU0FBUyxHQUFDQSxXQUFTO0FBQzlCO0FBR0FuSyxNQUFNLENBQUM0SyxZQUFZLEdBQUcsVUFBVVAsT0FBTyxFQUFFO0VBRXJDO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksSUFBSWpGLElBQUksR0FBRztJQUNQeUYsS0FBSyxFQUFFLG9CQUFvQjtJQUMzQmpCLDBCQUEwQixFQUFDLENBQUMsQ0FBQztJQUM3QkUseUJBQXlCLEVBQUMsQ0FBQyxDQUFDO0lBQzVCSCxrQ0FBa0MsRUFBQyxDQUFDLENBQUM7SUFDckNtQixxQ0FBcUMsRUFBQyxDQUFDLENBQUM7SUFDeENiLHNDQUFzQyxFQUFDLENBQUMsQ0FBQztJQUN6Q0Msb0JBQW9CLEVBQUMsQ0FBQyxDQUFDO0lBQ3ZCYSxHQUFHLEVBQUMsQ0FBQztFQUNULENBQUM7RUFFRCxJQUFNQyxTQUFTLEdBQUMsQ0FBQyxDQUFDO0VBQ2xCLElBQUlDLFVBQVUsR0FBQztJQUFDLEtBQUssRUFBQztFQUFJLENBQUM7RUFDM0IsSUFBSUMsUUFBUSxHQUFDLElBQUk7RUFDakIsSUFBSUMsSUFBSSxHQUFDLElBQUk7RUFDYjtBQUNKO0FBQ0E7RUFDSSxJQUFJLENBQUNDLFNBQVMsR0FBRyxVQUFVZixPQUFPLEVBQUU7SUFDaEM7SUFDQTVJLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLElBQUksQ0FBQzJKLFdBQVcsQ0FBQ0MsSUFBSSxHQUFDLHFCQUFxQixDQUFDO0lBQ3hEbEgsQ0FBQyxDQUFDbUIsTUFBTSxDQUFDSCxJQUFJLEVBQUVwRixNQUFNLENBQUMwSixvQkFBb0IsRUFBRVcsT0FBTyxDQUFDO0VBQ3hELENBQUM7RUFFRCxJQUFJLENBQUNrQixPQUFPLEdBQUMsVUFBU2xCLE9BQU8sRUFBQztJQUMxQmpHLENBQUMsQ0FBQ21CLE1BQU0sQ0FBQ0gsSUFBSSxFQUFFaUYsT0FBTyxDQUFDO0VBQzNCLENBQUM7RUFFRCxJQUFJLENBQUNtQixPQUFPLEdBQUMsWUFBVTtJQUNuQixPQUFPcEcsSUFBSTtFQUNmLENBQUM7RUFFRCxJQUFJLENBQUN3RSwwQkFBMEIsR0FBQyxZQUFXO0lBQ3ZDLE9BQU94RSxJQUFJLENBQUN3RSwwQkFBMEIsQ0FBQ3hHLFNBQVMsQ0FBQztFQUNyRCxDQUFDO0VBQ0QsSUFBSSxDQUFDMEcseUJBQXlCLEdBQUMsWUFBVztJQUN0QyxPQUFPMUUsSUFBSSxDQUFDMEUseUJBQXlCLENBQUMxRyxTQUFTLENBQUM7RUFDcEQsQ0FBQztFQUVELElBQUksQ0FBQzJHLHlCQUF5QixHQUFDLFlBQVc7SUFDdEMsT0FBTzNFLElBQUksQ0FBQzJFLHlCQUF5QixDQUFDM0csU0FBUyxDQUFDO0VBQ3BELENBQUM7RUFDRCxJQUFJLENBQUM0RywrQkFBK0IsR0FBQyxZQUFXO0lBQzVDLE9BQU81RSxJQUFJLENBQUM0RSwrQkFBK0IsQ0FBQzVHLFNBQVMsQ0FBQztFQUMxRCxDQUFDO0VBRUQsSUFBSSxDQUFDOEcsb0JBQW9CLEdBQUMsWUFBVztJQUNqQyxPQUFPOUUsSUFBSSxDQUFDOEUsb0JBQW9CLENBQUM5RyxTQUFTLENBQUM7RUFDL0MsQ0FBQztFQUVELElBQUksQ0FBQ3VHLGtDQUFrQyxHQUFDLFlBQVc7SUFDL0MsT0FBT3ZFLElBQUksQ0FBQ3VFLGtDQUFrQyxDQUFDdkcsU0FBUyxDQUFDO0VBQzdELENBQUM7RUFDRCxJQUFJLENBQUMwSCxxQ0FBcUMsR0FBQyxZQUFXO0lBQ2xELE9BQU8xRixJQUFJLENBQUMwRixxQ0FBcUMsQ0FBQzFILFNBQVMsQ0FBQztFQUNoRSxDQUFDO0VBRUQsSUFBSSxDQUFDcUkscUJBQXFCLEdBQUMsVUFBVUMsV0FBVyxFQUFDO0lBQzdDLElBQUcsQ0FBQ0EsV0FBVyxFQUFDO01BQ1o7SUFDSjtJQUNBdEgsQ0FBQyxDQUFDc0gsV0FBVyxHQUFDLFlBQVksQ0FBQyxDQUFDQyxHQUFHLENBQUMsT0FBTyxDQUFDO0lBQ3hDdkgsQ0FBQyxDQUFDc0gsV0FBVyxHQUFDLFlBQVksQ0FBQyxDQUFDN0csRUFBRSxDQUFDLE9BQU8sRUFBQytHLEdBQUcsQ0FBQ2QscUNBQXNDLENBQUM7RUFDdEYsQ0FBQztFQUVELElBQUksQ0FBQ2Isc0NBQXNDLEdBQUMsWUFBVztJQUNuRCxPQUFPN0UsSUFBSSxDQUFDNkUsc0NBQXNDLENBQUM3RyxTQUFTLENBQUM7RUFDakUsQ0FBQzs7RUFFRDtBQUNKO0FBQ0E7QUFDQTtFQUNJLElBQUksQ0FBQ3lJLGNBQWMsR0FBRyxZQUFZO0lBQzlCcEssT0FBTyxDQUFDQyxHQUFHLENBQUMwRCxJQUFJLENBQUM7SUFFakIwRyxlQUFlLENBQUMsQ0FBQztFQUNyQixDQUFDO0VBRUQsSUFBSSxDQUFDQyxXQUFXLEdBQUcsVUFBVUMsS0FBSyxFQUFFO0lBQ2hDYixJQUFJLENBQUNELFFBQVEsR0FBQ2MsS0FBSztFQUN2QixDQUFDO0VBRUQsSUFBSSxDQUFDQyxXQUFXLEdBQUcsWUFBWTtJQUMzQixPQUFPZCxJQUFJLENBQUNELFFBQVE7RUFDeEIsQ0FBQzs7RUFFRDtBQUNKO0FBQ0E7QUFDQTtFQUNJLElBQU1ZLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBQSxFQUFlO0lBQ2hDckssT0FBTyxDQUFDQyxHQUFHLENBQUMseUJBQXlCLENBQUM7RUFDMUMsQ0FBQzs7RUFFRDtBQUNKO0FBQ0E7RUFDSSxJQUFJLENBQUN3SyxtQkFBbUIsR0FBQyxVQUFTQyxRQUFRLEVBQUM7SUFDdkMvSCxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQzRCLFdBQVcsQ0FBQyxVQUFVLENBQUM7SUFDbEQ1QixDQUFDLENBQUMsdUNBQXVDLEdBQUMrSCxRQUFRLENBQUMsQ0FBQ2xHLFFBQVEsQ0FBQyxVQUFVLENBQUM7SUFDeEUsT0FBTyxJQUFJO0VBQ2YsQ0FBQztFQUVELElBQUksQ0FBQ21HLG1CQUFtQixHQUFDLFlBQVU7SUFDakMsT0FBT2hJLENBQUMsQ0FBQyw4QkFBOEIsQ0FBQyxDQUFDaUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDdkssSUFBSSxDQUFDLE1BQU0sQ0FBQztFQUNqRSxDQUFDO0VBRUQsSUFBSSxDQUFDd0ssZ0NBQWdDLEdBQUMsWUFBVTtJQUM1QyxJQUFHVixHQUFHLENBQUNXLGtCQUFrQixJQUFFakosU0FBUyxFQUFFO01BQ2xDN0IsT0FBTyxDQUFDQyxHQUFHLENBQUMsd0JBQXdCLENBQUM7TUFDakNELE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLE9BQU8sQ0FBQztNQUNwQmtLLEdBQUcsQ0FBQ1csa0JBQWtCLENBQUNwRyxTQUFTLENBQUNxRyxLQUFLLENBQUNDLEtBQUssQ0FBQyxDQUFDO0lBQ3REO0VBRUosQ0FBQztFQUNELElBQUksQ0FBQ0Msb0JBQW9CLEdBQUMsWUFBVztJQUNqQ2pMLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLHNCQUFzQixDQUFDO0lBQ25DLElBQUd5SixJQUFJLENBQUNpQixtQkFBbUIsQ0FBQyxDQUFDLEtBQUcsYUFBYSxFQUFDO01BQzFDakIsSUFBSSxDQUFDbUIsZ0NBQWdDLENBQUMsQ0FBQztJQUMzQztJQUFDO0VBRUwsQ0FBQztFQUVELElBQUksQ0FBQ0ssbUJBQW1CLEdBQUMsWUFBVyxDQUNwQyxDQUFDO0VBRUQsSUFBSSxDQUFDQyxVQUFVLEdBQUMsWUFBVztJQUN2QnhJLENBQUMsQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDd0IsSUFBSSxDQUFDLE9BQU8sRUFBQyxVQUFVZCxLQUFLLEVBQUM7TUFDakdyRCxPQUFPLENBQUNDLEdBQUcsQ0FBQzBDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ3RDLElBQUksQ0FBQyxDQUFDLENBQUN3SixJQUFJLENBQUM7TUFDaEMsSUFBR2xILENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ3RDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBQztRQUN4QnNDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDNEIsV0FBVyxDQUFDLFlBQVksQ0FBQztNQUNyRCxDQUFDLE1BQUk7UUFDRDVCLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDNkIsUUFBUSxDQUFDLFlBQVksQ0FBQztNQUNsRDtNQUVBa0YsSUFBSSxDQUFDZSxtQkFBbUIsQ0FBQzlILENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQ3RDLElBQUksQ0FBQyxDQUFDLENBQUN3SixJQUFJLENBQUM7TUFDN0N4RyxLQUFLLENBQUMrSCxjQUFjLENBQUMsQ0FBQztJQUMxQixDQUFDLENBQUM7SUFDRnpJLENBQUMsQ0FBQyxvRUFBb0UsQ0FBQyxDQUFDMEksUUFBUSxDQUFDO01BQzdFeEksTUFBTSxFQUFDRixDQUFDLENBQUMsY0FBYyxDQUFDO01BQ3hCMkksUUFBUSxFQUFDLEtBQUs7TUFDZEMsU0FBUyxFQUFDN0IsSUFBSSxDQUFDd0IsbUJBQW1CO01BQ2xDTSxVQUFVLEVBQUM5QixJQUFJLENBQUN1QjtJQUNwQixDQUFDLENBQUM7SUFDRnRJLENBQUMsQ0FBQyw4RUFBOEUsQ0FBQyxDQUFDd0IsSUFBSSxDQUFDLE9BQU8sRUFBQyxZQUFVO01BQ3JHdUYsSUFBSSxDQUFDbUIsZ0NBQWdDLENBQUMsQ0FBQztJQUMzQyxDQUFDLENBQUM7RUFDTixDQUFDO0VBRUQsSUFBSSxDQUFDWSxlQUFlLEdBQUMsVUFBVTVHLEdBQUcsRUFBQ3hFLElBQUksRUFBQ3FMLFFBQVEsRUFBQztJQUU3QyxJQUFHLENBQUNBLFFBQVEsRUFBQztNQUNUQSxRQUFRLEdBQUNoQyxJQUFJLENBQUNqQixvQkFBb0I7SUFDdEMsQ0FBQyxNQUFJO01BQ0R6SSxPQUFPLENBQUNDLEdBQUcsQ0FBQyxjQUFjLENBQUM7TUFDM0JELE9BQU8sQ0FBQ0MsR0FBRyxDQUFDeUwsUUFBUSxDQUFDO0lBQ3pCO0lBQ0EvSSxDQUFDLENBQUMsY0FBYyxDQUFDLENBQUNnSixJQUFJLENBQ2xCOUcsR0FBRyxFQUFDeEUsSUFBSSxFQUFDcUwsUUFDYixDQUFDO0VBQ0wsQ0FBQztFQUNEO0FBQ0o7QUFDQTtFQUNJLElBQUksQ0FBQy9CLFNBQVMsQ0FBQ2YsT0FBTyxDQUFDO0FBQzNCLENBQUM7O0FBR0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQXJLLE1BQU0sQ0FBQzRMLEdBQUcsR0FBQyxDQUFDLENBQUM7QUFDYnhILENBQUMsQ0FBQ1csUUFBUSxDQUFDLENBQUNzSSxLQUFLLENBQUMsWUFBVztFQUN6QjVMLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLFdBQVcsQ0FBQztFQUN4QjtFQUNBNEwsUUFBUSxDQUFDQyxJQUFJLEdBQUcsQ0FBRSxJQUFJLEVBQUUsSUFBSSxDQUFFO0VBQzlCO0FBRUosQ0FBQyxDQUFDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2FwcC5qcz9jZWQ2Il0sInNvdXJjZXNDb250ZW50IjpbInJlcXVpcmUoJy4vYm9vdHN0cmFwJyk7XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKlxuSGVscGVyIGZ1bmN0aW9uXG4qL1xud2luZG93LmdldE1vbmRheT1mdW5jdGlvbihkYXRlLGRhdGVTdHIpIHtcbiAgICBpZihkYXRlU3RyKXtcbiAgICAgICAgZGF0ZSA9IG5ldyBEYXRlKGRhdGVTdHIpO1xuICAgIH1cblxuICAgIGxldCBkYXkgPSBkYXRlLmdldERheSgpLFxuICAgICAgICBkaWZmID0gZGF0ZS5nZXREYXRlKCkgLSBkYXkgKyAoZGF5ID09IDAgPyAtNjoxKTsgLy8gYWRqdXN0IHdoZW4gZGF5IGlzIHN1bmRheVxuICAgIHJldHVybiBuZXcgRGF0ZShkYXRlLnNldERhdGUoZGlmZikpO1xufVxud2luZG93LmRlYnVnPWZ1bmN0aW9uICh0eHQpXG57XG4gICAgdHJ5IHtcbiAgICAgICAgaWYgKHR4dCAmJiB0eXBlb2YgdHh0ID09PSAnb2JqZWN0JyAmJiAhQXJyYXkuaXNBcnJheSh0eHQpKSB7XG4gICAgICAgICAgICBjb25zdCBzZWVuID0gbmV3IFdlYWtTZXQoKTtcbiAgICAgICAgICAgIGNvbnN0IHNhZmVPYmogPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHR4dCwgKGtleSwgdmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2Vlbi5oYXModmFsdWUpKSByZXR1cm4gJ1tDaXJjdWxhcl0nO1xuICAgICAgICAgICAgICAgICAgICBzZWVuLmFkZCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKHNhZmVPYmopO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5sb2codHh0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjYXRjaChlKXtcbiAgICAgICAgY29uc29sZS5sb2codHh0KTtcbiAgICB9XG59O1xuXG53aW5kb3cuYnVpbGRGb3JtRGF0YT1mdW5jdGlvbihmb3JtRGF0YSwgZGF0YSwgcGFyZW50S2V5KSB7XG4gICAgaWYgKGRhdGEgJiYgdHlwZW9mIGRhdGEgPT09ICdvYmplY3QnICYmICEoZGF0YSBpbnN0YW5jZW9mIERhdGUpICYmICEoZGF0YSBpbnN0YW5jZW9mIEZpbGUpKSB7XG4gICAgICAgIE9iamVjdC5rZXlzKGRhdGEpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgICAgICAgIGJ1aWxkRm9ybURhdGEoZm9ybURhdGEsIGRhdGFba2V5XSwgcGFyZW50S2V5ID8gYCR7cGFyZW50S2V5fVske2tleX1dYCA6IGtleSk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gZGF0YSA9PSBudWxsID8gJycgOiBkYXRhO1xuXG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChwYXJlbnRLZXksIHZhbHVlKTtcbiAgICB9XG59XG5cbndpbmRvdy5qc29uVG9Gb3JtRGF0YT1mdW5jdGlvbihkYXRhKSB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcblxuICAgIGJ1aWxkRm9ybURhdGEoZm9ybURhdGEsIGRhdGEpO1xuXG4gICAgcmV0dXJuIGZvcm1EYXRhO1xufVxuXG5TdHJpbmcucHJvdG90eXBlLmNhcGl0YWxpemUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdGhpcy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSArIHRoaXMuc2xpY2UoMSlcbn1cblxud2luZG93LmFycmF5UmVtb3ZlPWZ1bmN0aW9uKGFyciwgdmFsdWUpIHtcblxuICAgIHJldHVybiBhcnIuZmlsdGVyKGZ1bmN0aW9uKGVsZSl7XG4gICAgICAgIHJldHVybiBlbGUgIT0gdmFsdWU7XG4gICAgfSk7XG59XG53aW5kb3cuZ2V0UmFuZG9tSW50PWZ1bmN0aW9uIChtYXg9TnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIsbWluPTApIHtcbiAgICBkZWJ1ZyhtYXgpO1xuICAgIGRlYnVnKG1pbik7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIChtYXggLSBtaW4gKyAxKSkgKyBtaW47XG59XG5cbndpbmRvdy5zZXRJbWFnZUZyb21Mb2NhbD1mdW5jdGlvbihpbnB1dCx0YXJnZXRJbWdDc3NTZWxlY3Rvcikge1xuICAgIGlmIChpbnB1dC5maWxlcyAmJiBpbnB1dC5maWxlc1swXSkge1xuICAgICAgICBsZXQgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLm9ubG9hZCA9IGZ1bmN0aW9uIChlKSB7XG4gICAgICAgICAgICAkKHRhcmdldEltZ0Nzc1NlbGVjdG9yKS5hdHRyKCdzcmMnLCBlLnRhcmdldC5yZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGlucHV0LmZpbGVzWzBdKTtcbiAgICB9XG59XG5cbnJlcXVpcmUoJy4vbGF0aW5pc2UnKTtcblxuLypcbmRpc2FibGUgYmFjayBidXR0b25cbiAqL1xuJChmdW5jdGlvbigpIHtcbiAgICBpZiAod2luZG93Lmhpc3RvcnkgJiYgd2luZG93Lmhpc3RvcnkucHVzaFN0YXRlKSB7XG4gICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSgnJywgbnVsbCwgd2luZG93LmxvY2F0aW9uLmhyZWYpO1xuICAgICAgICAkKHdpbmRvdykub24oJ3BvcHN0YXRlJywgZnVuY3Rpb24oZXZlbnQpIHtcbiAgICAgICAgICAgIC8vIGFsZXJ0KCdCYWNrIGJ1dHRvbiB3YXMgcHJlc3NlZC4nKTtcbiAgICAgICAgICAgIC8vZG9jdW1lbnQubG9jYXRpb24uaHJlZiA9ICcjJztcbiAgICAgICAgICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZSgnJywgZG9jdW1lbnQudGl0bGUsIHdpbmRvdy5sb2NhdGlvbi5ocmVmKTtcbiAgICAgICAgICAgIC8vY29uc29sZS5sb2coJ21ldmFneScpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbn0pO1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vKlxuaW5pdCBjdXN0b20gcmFkaW8gYnV0dG9uc1xuICovXG53aW5kb3cuaW5pdFJhZGlvQnV0dG9ucz1mdW5jdGlvbiAoT3B0aW9ucyl7XG4gICAgbGV0IE9wdHMgPSB7XG4gICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbiAodmFsdWUsbm9kZSkge1xuICAgICAgICB9LFxuICAgIH07XG5cbiAgICAkLmV4dGVuZChPcHRzLCBPcHRpb25zKTtcblxuICAgICQoJy5jdXN0b21SYWRpb0J0bkdyb3VwIC5hY3RpdmUnKS5lYWNoKGZ1bmN0aW9uKCkge1xuICAgICAgICBsZXQgYWN0aXZlVmFsdWUgPSAkKHRoaXMpLmRhdGEoJ3RpdGxlJyk7XG4gICAgICAgIGxldCB0YXJnZXQgPSAkKHRoaXMpLmRhdGEoJ3RvZ2dsZScpO1xuICAgICAgICAkKCdpbnB1dFtuYW1lPScrdGFyZ2V0KyddJykucHJvcCgndmFsdWUnLCBhY3RpdmVWYWx1ZSk7XG4gICAgfSk7XG5cbiAgICAkKCcuY3VzdG9tUmFkaW9CdG5Hcm91cCBhJykudW5iaW5kKCdjbGljaycpO1xuICAgICQoJy5jdXN0b21SYWRpb0J0bkdyb3VwIGEnKS5iaW5kKCdjbGljaycsZnVuY3Rpb24oKXtcbiAgICAgICAgbGV0IHNlbCA9ICQodGhpcykuZGF0YSgndGl0bGUnKTtcbiAgICAgICAgbGV0IHRvZyA9ICQodGhpcykuZGF0YSgndG9nZ2xlJyk7XG4gICAgICAgICQoJ2lucHV0W25hbWU9Jyt0b2crJ10nKS5wcm9wKCd2YWx1ZScsIHNlbCk7XG4gICAgICAgICQoJ2FbZGF0YS10b2dnbGU9XCInK3RvZysnXCJdJykubm90KCdbZGF0YS10aXRsZT1cIicrc2VsKydcIl0nKS5yZW1vdmVDbGFzcygnYWN0aXZlJykuYWRkQ2xhc3MoJ25vdEFjdGl2ZScpO1xuICAgICAgICAkKCdhW2RhdGEtdG9nZ2xlPVwiJyt0b2crJ1wiXVtkYXRhLXRpdGxlPVwiJytzZWwrJ1wiXScpLnJlbW92ZUNsYXNzKCdub3RBY3RpdmUnKS5hZGRDbGFzcygnYWN0aXZlJyk7XG4gICAgICAgIE9wdHMub25DaGFuZ2Uoc2VsLHRvZyk7XG4gICAgfSk7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gIERlZmF1bHRzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiQuZXh0ZW5kKCB0cnVlLCAkLmZuLmRhdGFUYWJsZS5kZWZhdWx0cywge1xuICAgIGxhbmd1YWdlOiB7XG4gICAgICAgIHVybDogJy8vY2RuLmRhdGF0YWJsZXMubmV0L3BsdWctaW5zLzEuMTAuMjQvaTE4bi9IdW5nYXJpYW4uanNvbidcbiAgICB9LFxuICAgIGxlbmd0aE1lbnU6IFtcbiAgICAgICAgWyAxMCwgMjUsIDUwLCAtMSBdLFxuICAgICAgICBbICcxMCBzb3InLCAnMjUgc29yJywgJzUwIHNvcicsICfDlnNzemVzJyBdXG4gICAgXSxcbiAgICBidXR0b25zOntcbiAgICAgICAgZG9tOntcbiAgICAgICAgICAgIGJ1dHRvbjp7XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lOidmZy1idXR0b24gdWktYnV0dG9uIGRhdGFUYWJsZUhlYWRlckJ1dHRvbnMnXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgfSxcbiAgICBkb206ICc8XCJmZy10b29sYmFyIHVpLXRvb2xiYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLXRsIHVpLWNvcm5lci10clwibEJmcj4nK1xuICAgICAgICAndCcrXG4gICAgICAgICc8XCJmZy10b29sYmFyIHVpLXRvb2xiYXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXggdWktY29ybmVyLWJsIHVpLWNvcm5lci1iclwiaXA+JyxcblxufSApO1xuSW5wdXRtYXNrLmV4dGVuZERlZmluaXRpb25zKHtcbiAgICAneCc6IHtcbiAgICAgICAgdmFsaWRhdG9yOiBcIltcXC4sLcOhw6nDrcOzw7bFkcO6w6DDqMOsw7LDucO8xbHDgcOJw43Dk8OWxZDDmsOAw4jDjMOSw5nDnMWwQS1aYS16MC05IF1cIixcbiAgICAgICAgLy9jYXJkaW5hbGl0eTogMVxuICAgIH1cbn0pO1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuVG9hc3QuZW5hYmxlVGltZXJzKGZhbHNlKTtcbiQuZm4uc2VsZWN0Mi5kZWZhdWx0cy5zZXQoJ2xhbmd1YWdlJywgJ2pwJyk7XG53aW5kb3cuc2VsZWN0MkNyZWF0ZVRhZz1mdW5jdGlvbiAocGFyYW1zKXtcbiAgICB2YXIgdGVybSA9ICQudHJpbShwYXJhbXMudGVybSk7XG4gICAgdmFyIGNvdW50ID0gMFxuICAgIHZhciBleGlzdHNWYXIgPSBmYWxzZTtcbiAgICAvL2NoZWNrIGlmIHRoZXJlIGlzIGFueSBvcHRpb24gYWxyZWFkeVxuICAgIGlmKCQoJyNrZXl3b3JkcyBvcHRpb24nKS5sZW5ndGggPiAwKXtcbiAgICAgICAgJCgnI2tleXdvcmRzIG9wdGlvbicpLmVhY2goZnVuY3Rpb24oKXtcbiAgICAgICAgICAgIGlmICgkKHRoaXMpLnRleHQoKS50b1VwcGVyQ2FzZSgpID09IHRlcm0udG9VcHBlckNhc2UoKSkge1xuICAgICAgICAgICAgICAgIGV4aXN0c1ZhciA9IHRydWVcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICBleGlzdHNWYXIgPSBmYWxzZVxuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYoZXhpc3RzVmFyKXtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBpZDogcGFyYW1zLnRlcm0sXG4gICAgICAgICAgICB0ZXh0OiBwYXJhbXMudGVybSxcbiAgICAgICAgICAgIG5ld1RhZzogdHJ1ZVxuICAgICAgICB9XG4gICAgfVxuICAgIC8vc2luY2Ugc2VsZWN0IGhhcyAwIG9wdGlvbnMsIGFkZCBuZXcgd2l0aG91dCBjb21wYXJpbmdcbiAgICBlbHNle1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgaWQ6IHBhcmFtcy50ZXJtLFxuICAgICAgICAgICAgdGV4dDogcGFyYW1zLnRlcm0sXG4gICAgICAgICAgICBuZXdUYWc6IHRydWVcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG53aW5kb3cuYWpheEVycm9ySGFuZGxlcj0gZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKXtcbiAgICBkZWJ1Zyh0aGlzKTtcbiAgICBjb25zb2xlLmVycm9yKHhocik7XG4gICAgY29uc29sZS5lcnJvcihhamF4T3B0aW9ucyk7XG4gICAgY29uc29sZS5lcnJvcih0aHJvd25FcnJvcik7XG5cbiAgICAvLyBCaXp0b25zw6FnaSBlbGxlbsWRcnrDqXMg4oCTIGhhIG5pbmNzIHJlc3BvbnNlSlNPTiAocGwuIEhUTUwgdsOhbGFzeiksIG1lZ3Byw7Niw6FsanVrIHBhcnN6b2xuaVxuICAgIGlmICgheGhyLnJlc3BvbnNlSlNPTiAmJiB4aHIucmVzcG9uc2VUZXh0KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICB4aHIucmVzcG9uc2VKU09OID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIk5lbSBzaWtlcsO8bHQgYSByZXNwb25zZVRleHQgSlNPTiBwYXJzem9sw6FzYVwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJpenRvbnPDoWdpIGVsbGVuxZFyesOpcyDigJMgaGEgbmluY3MgcmVzcG9uc2VKU09OIChwbC4gSFRNTCB2w6FsYXN6KVxuICAgIGlmICgheGhyLnJlc3BvbnNlSlNPTikge1xuICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeydkZXRhaWwnOiAnVsOhcmF0bGFuIHN6ZXJ2ZXJoaWJhLiBLw6lyasO8ayBwcsOzYsOhbGphIMO6anJhIGvDqXPFkWJiLid9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFZhbGlkw6FjacOzcyBoaWLDoWsgKDQyMikg4oCTIGV6ZWtldCByw6lzemxldGVzZW4gbWVnamVsZW7DrXRqw7xrXG4gICAgaWYgKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJkMi0tLS0tLS0tLS0tLS0tLVwiKTtcbiAgICAgICAgaWYoXCJqc29uYXBpXCIgaW4geGhyLnJlc3BvbnNlSlNPTil7XG4gICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXJKc29uQVBJKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKTtcbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIEVneWVkaSByZWZlcmVuY2lhIGvDs2RvcyBoaWJhICg1MDAsIHN0Yi4pXG4gICAgZWxzZSBpZiAoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcl9yZWYpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcImVycm9yX3JlZjogXCIgKyB4aHIucmVzcG9uc2VKU09OLmVycm9yX3JlZik7XG4gICAgICAgIFRvYXN0LmNyZWF0ZSh7XG4gICAgICAgICAgICB0aXRsZTogXCJTemVydmVyaGliYVwiLFxuICAgICAgICAgICAgbWVzc2FnZTogXCJWw6FyYXRsYW4gaGliYSB0w7ZydMOpbnQgYSBmZWxkb2xnb3rDoXMgc29yw6FuLjxicj5cIiArXG4gICAgICAgICAgICAgICAgICAgICBcIjxzbWFsbD5IaXZhdGtvesOhc2kga8OzZDogPHN0cm9uZz5cIiArIHhoci5yZXNwb25zZUpTT04uZXJyb3JfcmVmICsgXCI8L3N0cm9uZz48L3NtYWxsPjxicj5cIiArXG4gICAgICAgICAgICAgICAgICAgICBcIjxzbWFsbD5Lw6lyasO8aywgZXp0IGEga8OzZG90IGFkamEgbWVnIGEgaGliYWplbGVudMOpc2Jlbi48L3NtYWxsPlwiLFxuICAgICAgICAgICAgc3RhdHVzOiBUT0FTVF9TVEFUVVMuREFOR0VSLFxuICAgICAgICAgICAgdGltZW91dDogMFxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLy8gNDA0XG4gICAgZWxzZSBpZiAoeGhyLnN0YXR1cyA9PSA0MDQpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcImQzLS0tLS0tLS0tLS0tLS0tXCIpO1xuICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeydkZXRhaWwnOidOaW5jcyBpbHllbiBlbGVtLid9KTtcbiAgICB9XG4gICAgLy8gRWd5w6liIGlzbWVyZXRsZW4gaGliYVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKFwiZDQtLS0tLS0tLS0tLS0tLS1cIik7XG4gICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcih7J2RldGFpbCc6J8OBbHRhbMOhbm9zIGhpYmEuJ30pO1xuICAgIH1cbn1cbndpbmRvdy5hamF4RXJyb3JGaWVsZEhhbmRsZXJKc29uQVBJPSBmdW5jdGlvbiAoZXJyb3JzLCBjb250YWluZXIpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiZDYtLS0tLS0tLS0tLS0tLS1cIik7XG4gICAgbGV0IHRvYXN0Qm9keUh0bWwgPSAnJztcbiAgICBsZXQgdG9hc3RUaXRsZSA9ICdIaWJhJztcbiAgICBjb25zb2xlLmVycm9yKGVycm9ycyk7XG4gICAgJC5lYWNoKGVycm9ycywgZnVuY3Rpb24gKGluZGV4LCB2YWx1ZSkge1xuICAgICAgICBjb25zb2xlLmVycm9yKHZhbHVlKTtcbiAgICAgICAgdG9hc3RUaXRsZSA9ICdIaWJhJztcbiAgICAgICAgdG9hc3RCb2R5SHRtbCA9ICcnO1xuICAgICAgICBpZihcInRpdGxlXCIgaW4gdmFsdWUpe1xuICAgICAgICAgICAgdG9hc3RUaXRsZT12YWx1ZS50aXRsZTtcbiAgICAgICAgfVxuICAgICAgICBpZihcImRldGFpbFwiIGluIHZhbHVlKXtcbiAgICAgICAgICAgIHRvYXN0Qm9keUh0bWwgKz0gJzxkaXY+JyArIHZhbHVlLmRldGFpbCArICc8ZGl2Pic7XG4gICAgICAgIH1cbiAgICAgICAgVG9hc3QuY3JlYXRlKHtcbiAgICAgICAgICAgIHRpdGxlOiB0b2FzdFRpdGxlLFxuICAgICAgICAgICAgbWVzc2FnZTogdG9hc3RCb2R5SHRtbCxcbiAgICAgICAgICAgIHN0YXR1czogVE9BU1RfU1RBVFVTLkRBTkdFUiwgICAvLyBTVUNDRVNTICh6w7ZsZClcbiAgICAgICAgICAgIHRpbWVvdXQ6IDEwMDAwXG4gICAgICAgIH0pO1xuICAgIH0pO1xufVxud2luZG93LmFqYXhFcnJvckZpZWxkSGFuZGxlciA9IGZ1bmN0aW9uIChlcnJvcnMsIGNvbnRhaW5lcikge1xuICAgIGNvbnNvbGUuZXJyb3IoXCJkNS0tLS0tLS0tLS0tLS0tLVwiKTtcbiAgICBjb25zb2xlLmVycm9yKGVycm9ycyk7XG4gICAgbGV0IHRvYXN0Qm9keUh0bWwgPSAnJztcbiAgICAkLmVhY2goZXJyb3JzLCBmdW5jdGlvbiAoaW5kZXgsIHZhbHVlKSB7XG4gICAgICAgIHRvYXN0Qm9keUh0bWwgKz0gJzxkaXY+JyArIHZhbHVlICsgJzxkaXY+JztcbiAgICB9KTtcblxuICAgIFRvYXN0LmNyZWF0ZSh7XG4gICAgICAgIHRpdGxlOiBcIkhpYmEhXCIsXG4gICAgICAgIG1lc3NhZ2U6IHRvYXN0Qm9keUh0bWwsXG4gICAgICAgIHN0YXR1czogVE9BU1RfU1RBVFVTLkRBTkdFUiwgICAvLyBTVUNDRVNTICh6w7ZsZClcbiAgICAgICAgdGltZW91dDogMTAwMDBcbiAgICB9KTtcbn1cbiQuYWpheFNldHVwKHtcbiAgICBlcnJvcjphamF4RXJyb3JIYW5kbGVyLFxufSk7XG4vKlxuZGF0ZXBpY2tlciBhZnRlclNob3cgZnVuY3Rpb25cbiAqL1xuJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyX29yaWdpbmFsID0gJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyO1xuJC5kYXRlcGlja2VyLl91cGRhdGVEYXRlcGlja2VyID0gZnVuY3Rpb24oaW5zdCkge1xuICAgICQuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcl9vcmlnaW5hbChpbnN0KTtcbiAgICBsZXQgYWZ0ZXJTaG93ID0gdGhpcy5fZ2V0KGluc3QsICdhZnRlclNob3cnKTtcbiAgICBpZiAoYWZ0ZXJTaG93KVxuICAgICAgICBhZnRlclNob3cuYXBwbHkoKGluc3QuaW5wdXQgPyBpbnN0LmlucHV0WzBdIDogbnVsbCkpOyAgLy8gdHJpZ2dlciBjdXN0b20gY2FsbGJhY2tcbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbndpbmRvdy5FbWVncmVuZGVsZXNEZWZhdWx0cz17XG4gICAgZGF0YXRhYmxlQWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjazogZnVuY3Rpb24gKCkge30sXG4gICAgZGF0YXRhYmxlQWRkUm93VHJhc2hCdXR0b246IGZ1bmN0aW9uIChpZCxhcmdzKSB7XG4gICAgICAgIHJldHVybiAnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1kYW5nZXIgYnV0dG9uRGVsZXRlXCIgZGF0YS1idXR0b25UeXBlPVwiZGVsZXRlXCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJib3R0b21cIiB0aXRsZT1cIlTDtnJsw6lzXCI+JyArXG4gICAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJmYXMgZmEtdHJhc2hcIj48L3NwYW4+JyArXG4gICAgICAgICAgICAnPC9idXR0b24+J1xuXG4gICAgfSxcbiAgICBkYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uOiBmdW5jdGlvbiAoYXJncykge1xuICAgICAgICBsZXQgdGl0bGU9J0FkYXRvayc7XG4gICAgICAgIGlmKHR5cGVvZiBhcmdzWzFdLnRpdGxlIT09XCJ1bmRlZmluZWRcIil7XG4gICAgICAgICAgICB0aXRsZT1hcmdzWzFdLnRpdGxlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pbmZvIGJ1dHRvbkVkaXRcIiAgZGF0YS1idXR0b25UeXBlPVwiZWRpdFwiIGRhdGEtdG9nZ2xlPVwidG9vbHRpcFwiIGRhdGEtcGxhY2VtZW50PVwiYm90dG9tXCIgdGl0bGU9XCInK3RpdGxlKydcIj4nICtcbiAgICAgICAgICAgICc8c3BhbiBjbGFzcz1cImZhcyBmYS1wZW5jaWwtYWx0XCI+PC9zcGFuPicgK1xuICAgICAgICAgICAgJzwvYnV0dG9uPidcblxuICAgIH0sXG4gICAgZGF0YXRhYmxlQWRkUm93Vmlld0J1dHRvbjogZnVuY3Rpb24gKGlkLGFyZ3MpIHtcbiAgICAgICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtc2Vjb25kYXJ5IGRhdGFUYWJsZVJvd0J1dHRvbiBidXR0b25WaWV3XCIgIGRhdGEtYnV0dG9uVHlwZT1cInZpZXdcIiBkYXRhLXRvZ2dsZT1cInRvb2x0aXBcIiBkYXRhLXBsYWNlbWVudD1cImJvdHRvbVwiIHRpdGxlPVwiTWVndGVraW50XCI+JyArXG4gICAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJmYXMgZmEtZXllXCI+PC9zcGFuPicgK1xuICAgICAgICAgICAgJzwvYnV0dG9uPidcblxuICAgIH0sXG4gICAgZGF0YXRhYmxlQWRkUm93QXR0YWNobWVudEJ1dHRvbjogZnVuY3Rpb24gKGlkLGFyZ3MpIHtcbiAgICAgICAgcmV0dXJuICc8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0biBidG4tc20gYnRuLW91dGxpbmUtZGFyayBkYXRhVGFibGVSb3dCdXR0b24gYnV0dG9uQXR0YWNobWVudFwiICBkYXRhLWJ1dHRvblR5cGU9XCJhdHRhY2htZW50XCIgZGF0YS10b2dnbGU9XCJ0b29sdGlwXCIgZGF0YS1wbGFjZW1lbnQ9XCJib3R0b21cIiB0aXRsZT1cIkNzYXRvbG3DoW55XCI+JyArXG4gICAgICAgICAgICAnPHNwYW4gY2xhc3M9XCJmYXMgZmEtcGFwZXJjbGlwXCI+PC9zcGFuPicgK1xuICAgICAgICAgICAgJzwvYnV0dG9uPidcblxuICAgIH0sXG4gICAgZGF0YXRhYmxlQ3VzdG9tSGVhZEJ1dHRvbkNsaWNrQ2FsbEJhY2s6ZnVuY3Rpb24gKGFyZ3MpIHtcbiAgICAgICAgY29uc29sZS5sb2coYXJncyk7XG4gICAgfSxcblxuICAgIGFmdGVyTG9hZE1haW5Db250ZW50OmZ1bmN0aW9uIChhcmdzKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKGFyZ3MpO1xuICAgIH0sXG5cblxufTtcblxuaWYodHlwZW9mIERhdGFNb2RlbD09PSd1bmRlZmluZWQnKXtcbiAgICBjbGFzcyBEYXRhTW9kZWx7XG4gICAgICAgIC8qXG4gICAgICAgICAqIFZhcmlhYmxlcyBhY2Nlc3NpYmxlXG4gICAgICAgICAqIGluIHRoZSBjbGFzc1xuICAgICAgICAgKi9cbiAgICAgICAgT3B0cyA9IHtcbiAgICAgICAgICAgIGFjdGl2ZTogZmFsc2UsXG4gICAgICAgIH07XG5cbiAgICAgICAgLypcbiAgICAgICAgICogQ29uc3RydWN0b3JcbiAgICAgICAgICovXG4gICAgICAgIGNvbnN0cnVjdG9yIChkYXRhLG9wdGlvbnMpIHtcbiAgICAgICAgICAgICQuZXh0ZW5kKHRoaXMsIGRhdGEpO1xuICAgICAgICAgICAgJC5leHRlbmQodGhpcy5PcHRzLCBvcHRpb25zKTtcbiAgICAgICAgfTtcblxuICAgICAgICBzZXREYXRhIChkYXRhKXtcbiAgICAgICAgICAgICQuZXh0ZW5kKHRoaXMsIGRhdGEpO1xuICAgICAgICB9XG5cbiAgICAgICAgZ2V0RGF0YShpbmRleCl7XG4gICAgICAgICAgICBpZihpbmRleCl7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXNbaW5kZXhdO1xuICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHdpbmRvdy5EYXRhTW9kZWw9RGF0YU1vZGVsO1xufVxuXG5cbndpbmRvdy5FbWVncmVuZGVsZXMgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuXG4gICAgLypcbiAgICAgKiBWYXJpYWJsZXMgYWNjZXNzaWJsZVxuICAgICAqIGluIHRoZSBjbGFzc1xuICAgICAqL1xuICAgIGxldCBPcHRzID0ge1xuICAgICAgICBteVZhcjogJ0VtZWdyZW5kZWxlcyB2YWx1ZScsXG4gICAgICAgIGRhdGF0YWJsZUFkZFJvd1RyYXNoQnV0dG9uOnt9LFxuICAgICAgICBkYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uOnt9LFxuICAgICAgICBkYXRhdGFibGVBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnt9LFxuICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnt9LFxuICAgICAgICBkYXRhdGFibGVDdXN0b21IZWFkQnV0dG9uQ2xpY2tDYWxsQmFjazp7fSxcbiAgICAgICAgYWZ0ZXJMb2FkTWFpbkNvbnRlbnQ6e30sXG4gICAgICAgIFVybDp7fSxcbiAgICB9O1xuXG4gICAgY29uc3QgUHVibGljVmFyPXt9O1xuICAgIGxldCBQdWJsaWNWYXIyPXsnYXNkJzonMjEnfTtcbiAgICBsZXQgQXBpVG9rZW49bnVsbDtcbiAgICBsZXQgcm9vdD10aGlzO1xuICAgIC8qXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICB0aGlzLmNvbnN0cnVjdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICAgICAgIC8vJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XG4gICAgICAgIGNvbnNvbGUubG9nKHRoaXMuY29uc3RydWN0b3IubmFtZSsnIGNvbnN0cnVjdG9yIGNhbGxlZCcpO1xuICAgICAgICAkLmV4dGVuZChPcHRzLCB3aW5kb3cuRW1lZ3JlbmRlbGVzRGVmYXVsdHMsIG9wdGlvbnMpO1xuICAgIH07XG5cbiAgICB0aGlzLnNldE9wdHM9ZnVuY3Rpb24ob3B0aW9ucyl7XG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIHRoaXMuZ2V0T3B0cz1mdW5jdGlvbigpe1xuICAgICAgICByZXR1cm4gT3B0cztcbiAgICB9XG5cbiAgICB0aGlzLmRhdGF0YWJsZUFkZFJvd1RyYXNoQnV0dG9uPWZ1bmN0aW9uICgpe1xuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbihhcmd1bWVudHMpO1xuICAgIH1cbiAgICB0aGlzLmRhdGF0YWJsZUFkZFJvd0VkaXRCdXR0b249ZnVuY3Rpb24gKCl7XG4gICAgICAgIHJldHVybiBPcHRzLmRhdGF0YWJsZUFkZFJvd0VkaXRCdXR0b24oYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGF0YWJsZUFkZFJvd1ZpZXdCdXR0b249ZnVuY3Rpb24gKCl7XG4gICAgICAgIHJldHVybiBPcHRzLmRhdGF0YWJsZUFkZFJvd1ZpZXdCdXR0b24oYXJndW1lbnRzKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhdGFibGVBZGRSb3dBdHRhY2htZW50QnV0dG9uPWZ1bmN0aW9uICgpe1xuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVBZGRSb3dBdHRhY2htZW50QnV0dG9uKGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgdGhpcy5hZnRlckxvYWRNYWluQ29udGVudD1mdW5jdGlvbiAoKXtcbiAgICAgICAgcmV0dXJuIE9wdHMuYWZ0ZXJMb2FkTWFpbkNvbnRlbnQoYXJndW1lbnRzKTtcbiAgICB9XG5cbiAgICB0aGlzLmRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s9ZnVuY3Rpb24gKCl7XG4gICAgICAgIHJldHVybiBPcHRzLmRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2soYXJndW1lbnRzKTtcbiAgICB9XG4gICAgdGhpcy5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrPWZ1bmN0aW9uICgpe1xuICAgICAgICByZXR1cm4gT3B0cy5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrKGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgdGhpcy5kYXRhdGFibGVBZGRSb3dBY3Rpb249ZnVuY3Rpb24gKENTU1NlbGVjdG9yKXtcbiAgICAgICAgaWYoIUNTU1NlbGVjdG9yKXtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICAkKENTU1NlbGVjdG9yKycgdHIgYnV0dG9uJykub2ZmKCdjbGljaycpO1xuICAgICAgICAkKENTU1NlbGVjdG9yKycgdHIgYnV0dG9uJykub24oJ2NsaWNrJyxBUFAuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjayApO1xuICAgIH1cblxuICAgIHRoaXMuZGF0YXRhYmxlQ3VzdG9tSGVhZEJ1dHRvbkNsaWNrQ2FsbEJhY2s9ZnVuY3Rpb24gKCl7XG4gICAgICAgIHJldHVybiBPcHRzLmRhdGF0YWJsZUN1c3RvbUhlYWRCdXR0b25DbGlja0NhbGxCYWNrKGFyZ3VtZW50cyk7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBQdWJsaWMgbWV0aG9kXG4gICAgICogQ2FuIGJlIGNhbGxlZCBvdXRzaWRlIGNsYXNzXG4gICAgICovXG4gICAgdGhpcy5teVB1YmxpY01ldGhvZCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc29sZS5sb2coT3B0cyk7XG5cbiAgICAgICAgbXlQcml2YXRlTWV0aG9kKCk7XG4gICAgfTtcblxuICAgIHRoaXMuc2V0QXBpVG9rZW4gPSBmdW5jdGlvbiAodG9rZW4pIHtcbiAgICAgICAgcm9vdC5BcGlUb2tlbj10b2tlbjtcbiAgICB9O1xuXG4gICAgdGhpcy5nZXRBcGlUb2tlbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHJvb3QuQXBpVG9rZW47XG4gICAgfTtcblxuICAgIC8qXG4gICAgICogUHJpdmF0ZSBtZXRob2RcbiAgICAgKiBDYW4gb25seSBiZSBjYWxsZWQgaW5zaWRlIGNsYXNzXG4gICAgICovXG4gICAgY29uc3QgbXlQcml2YXRlTWV0aG9kID0gZnVuY3Rpb24gKCkge1xuICAgICAgICBjb25zb2xlLmxvZygnYWNjZXNzZWQgcHJpdmF0ZSBtZXRob2QnKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGl0ZW1OYW1lXG4gICAgICovXG4gICAgdGhpcy5zZXRBY3RpdmVOYXZCYXJJdGVtPWZ1bmN0aW9uKGl0ZW1OYW1lKXtcbiAgICAgICAgJCgnLnNwZWVkQnV0dG9uTmF2QmFyIGxpJykucmVtb3ZlQ2xhc3MoJ3NlbGVjdGVkJyk7XG4gICAgICAgICQoJy5zcGVlZEJ1dHRvbk5hdkJhciBsaS5pY29uaG9sZGVyTW9kdWwnK2l0ZW1OYW1lKS5hZGRDbGFzcygnc2VsZWN0ZWQnKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgdGhpcy5nZXRBY3RpdmVOYXZCYXJJdGVtPWZ1bmN0aW9uKCl7XG4gICAgICByZXR1cm4gJCgnLnNwZWVkQnV0dG9uTmF2QmFyIC5zZWxlY3RlZCcpLmZpbmQoJ2EnKS5kYXRhKCduYW1lJyk7XG4gICAgfVxuXG4gICAgdGhpcy5jbGVhckFyY2hpdmVNb2R1bGVEYXRhVGFibGVTdGF0ZT1mdW5jdGlvbigpe1xuICAgICAgICBpZihBUFAuT3JkZXJBcmNoaXZlTW9kdWxlIT11bmRlZmluZWQgKXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdBUFAuT3JkZXJBcmNoaXZlTW9kdWxlJyk7XG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2NsZWFyJyk7XG4gICAgICAgICAgICAgICAgQVBQLk9yZGVyQXJjaGl2ZU1vZHVsZS5kYXRhVGFibGUuc3RhdGUuY2xlYXIoKTtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIHRoaXMubmF2QmFySXRlbUJlZm9yZXBvc3Q9ZnVuY3Rpb24gKCl7XG4gICAgICAgIGNvbnNvbGUubG9nKCduYXZCYXJJdGVtQmVmb3JlcG9zdCcpO1xuICAgICAgICBpZihyb290LmdldEFjdGl2ZU5hdkJhckl0ZW0oKSE9PSdhY3RpdmVPcmRlcicpe1xuICAgICAgICAgICAgcm9vdC5jbGVhckFyY2hpdmVNb2R1bGVEYXRhVGFibGVTdGF0ZSgpO1xuICAgICAgICB9O1xuXG4gICAgfVxuXG4gICAgdGhpcy5uYXZCYXJJdGVtQWZ0ZXJQb3N0PWZ1bmN0aW9uICgpe1xuICAgIH1cblxuICAgIHRoaXMuaW5pdE5hdkJhcj1mdW5jdGlvbiAoKXtcbiAgICAgICAgJChcIi5zcGVlZEJ1dHRvbk5hdkJhciBhOm5vdChbZGF0YS10YXJnZXQ9X2JsYW5rXSk6bm90KFtkYXRhLW5vLWFqYXhdKVwiKS5iaW5kKCdjbGljaycsZnVuY3Rpb24gKGV2ZW50KXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCQodGhpcykuZGF0YSgpLm5hbWUpO1xuICAgICAgICAgICAgaWYoJCh0aGlzKS5kYXRhKCdiaWctaWNvbicpKXtcbiAgICAgICAgICAgICAgICAkKFwiLnNwZWVkQnV0dG9uTmF2QmFyXCIpLnJlbW92ZUNsYXNzKCdzbWFsbGljb25zJyk7XG4gICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAkKFwiLnNwZWVkQnV0dG9uTmF2QmFyXCIpLmFkZENsYXNzKCdzbWFsbGljb25zJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJvb3Quc2V0QWN0aXZlTmF2QmFySXRlbSgkKHRoaXMpLmRhdGEoKS5uYW1lKTtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIH0pO1xuICAgICAgICAkKFwiLnNwZWVkQnV0dG9uTmF2QmFyIGE6bm90KFtkYXRhLXRhcmdldD1fYmxhbmtdKTpub3QoW2RhdGEtbm8tYWpheF0pXCIpLmFqYXhsaW5rKHtcbiAgICAgICAgICAgIHRhcmdldDokKCcubWFpbkNvbnRlbnQnKSxcbiAgICAgICAgICAgIGFqYXh0eXBlOidHRVQnLFxuICAgICAgICAgICAgYWZ0ZXJwb3N0OnJvb3QubmF2QmFySXRlbUFmdGVyUG9zdCxcbiAgICAgICAgICAgIGJlZm9yZXBvc3Q6cm9vdC5uYXZCYXJJdGVtQmVmb3JlcG9zdCxcbiAgICAgICAgfSk7XG4gICAgICAgICQoXCIuc3BlZWRCdXR0b25OYXZCYXIgYVtkYXRhLXRhcmdldD1fYmxhbmtdLCAuc3BlZWRCdXR0b25OYXZCYXIgYVtkYXRhLW5vLWFqYXhdXCIpLmJpbmQoJ2NsaWNrJyxmdW5jdGlvbigpe1xuICAgICAgICAgICAgcm9vdC5jbGVhckFyY2hpdmVNb2R1bGVEYXRhVGFibGVTdGF0ZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmxvYWRNYWluQ29udGVudD1mdW5jdGlvbiAodXJsLGRhdGEsY2FsbEJhY2spe1xuXG4gICAgICAgIGlmKCFjYWxsQmFjayl7XG4gICAgICAgICAgICBjYWxsQmFjaz1yb290LmFmdGVyTG9hZE1haW5Db250ZW50O1xuICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKCd2YW4gY2FsbGJhY2snKTtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKGNhbGxCYWNrKTtcbiAgICAgICAgfVxuICAgICAgICAkKCcubWFpbkNvbnRlbnQnKS5sb2FkKFxuICAgICAgICAgICAgdXJsLGRhdGEsY2FsbEJhY2tcbiAgICAgICAgKTtcbiAgICB9XG4gICAgLypcbiAgICAgKiBQYXNzIG9wdGlvbnMgd2hlbiBjbGFzcyBpbnN0YW50aWF0ZWRcbiAgICAgKi9cbiAgICB0aGlzLmNvbnN0cnVjdChvcHRpb25zKTtcbn07XG5cblxuLypcbiQuZm4uYWpheGxpbmsgPSBmdW5jdGlvbihvcHRpb25zKXtcblxufTtcbmltcG9ydCAnLi9hamF4TGluayc7XG5cbiogKi9cbndpbmRvdy5BUFA9e307XG4kKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbiAoKXtcbiAgICBjb25zb2xlLmxvZygncmVhZHkgZG9jJyk7XG4gICAgLy8kKCcuZGF0ZXBpY2tlcicpLmRhdGVwaWNrZXIoKTtcbiAgICBNdXN0YWNoZS50YWdzID0gWyAnW1snLCAnXV0nIF07XG4gICAgLy8gPSBbICc8JScsICclPicgXTtcblxufSk7XG5cblxuXG4iXSwibmFtZXMiOlsicmVxdWlyZSIsIndpbmRvdyIsImdldE1vbmRheSIsImRhdGUiLCJkYXRlU3RyIiwiRGF0ZSIsImRheSIsImdldERheSIsImRpZmYiLCJnZXREYXRlIiwic2V0RGF0ZSIsImRlYnVnIiwidHh0IiwiX3R5cGVvZiIsIkFycmF5IiwiaXNBcnJheSIsInNlZW4iLCJXZWFrU2V0Iiwic2FmZU9iaiIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImtleSIsInZhbHVlIiwiaGFzIiwiYWRkIiwiY29uc29sZSIsImxvZyIsImUiLCJidWlsZEZvcm1EYXRhIiwiZm9ybURhdGEiLCJkYXRhIiwicGFyZW50S2V5IiwiRmlsZSIsIk9iamVjdCIsImtleXMiLCJmb3JFYWNoIiwiY29uY2F0IiwiYXBwZW5kIiwianNvblRvRm9ybURhdGEiLCJGb3JtRGF0YSIsIlN0cmluZyIsInByb3RvdHlwZSIsImNhcGl0YWxpemUiLCJjaGFyQXQiLCJ0b1VwcGVyQ2FzZSIsInNsaWNlIiwiYXJyYXlSZW1vdmUiLCJhcnIiLCJmaWx0ZXIiLCJlbGUiLCJnZXRSYW5kb21JbnQiLCJtYXgiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwibWluIiwiTWF0aCIsImZsb29yIiwicmFuZG9tIiwic2V0SW1hZ2VGcm9tTG9jYWwiLCJpbnB1dCIsInRhcmdldEltZ0Nzc1NlbGVjdG9yIiwiZmlsZXMiLCJyZWFkZXIiLCJGaWxlUmVhZGVyIiwib25sb2FkIiwiJCIsImF0dHIiLCJ0YXJnZXQiLCJyZXN1bHQiLCJyZWFkQXNEYXRhVVJMIiwiaGlzdG9yeSIsInB1c2hTdGF0ZSIsImxvY2F0aW9uIiwiaHJlZiIsIm9uIiwiZXZlbnQiLCJkb2N1bWVudCIsInRpdGxlIiwic3RvcFByb3BhZ2F0aW9uIiwiaW5pdFJhZGlvQnV0dG9ucyIsIk9wdGlvbnMiLCJPcHRzIiwib25DaGFuZ2UiLCJub2RlIiwiZXh0ZW5kIiwiZWFjaCIsImFjdGl2ZVZhbHVlIiwicHJvcCIsInVuYmluZCIsImJpbmQiLCJzZWwiLCJ0b2ciLCJub3QiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwiZm4iLCJkYXRhVGFibGUiLCJkZWZhdWx0cyIsImxhbmd1YWdlIiwidXJsIiwibGVuZ3RoTWVudSIsImJ1dHRvbnMiLCJkb20iLCJidXR0b24iLCJjbGFzc05hbWUiLCJJbnB1dG1hc2siLCJleHRlbmREZWZpbml0aW9ucyIsInZhbGlkYXRvciIsIlRvYXN0IiwiZW5hYmxlVGltZXJzIiwic2VsZWN0MiIsInNldCIsInNlbGVjdDJDcmVhdGVUYWciLCJwYXJhbXMiLCJ0ZXJtIiwidHJpbSIsImNvdW50IiwiZXhpc3RzVmFyIiwidGV4dCIsImlkIiwibmV3VGFnIiwiYWpheEVycm9ySGFuZGxlciIsInhociIsImFqYXhPcHRpb25zIiwidGhyb3duRXJyb3IiLCJlcnJvciIsInJlc3BvbnNlSlNPTiIsInJlc3BvbnNlVGV4dCIsImFqYXhFcnJvckZpZWxkSGFuZGxlciIsImVycm9ycyIsImFqYXhFcnJvckZpZWxkSGFuZGxlckpzb25BUEkiLCJlcnJvcl9yZWYiLCJjcmVhdGUiLCJtZXNzYWdlIiwic3RhdHVzIiwiVE9BU1RfU1RBVFVTIiwiREFOR0VSIiwidGltZW91dCIsImNvbnRhaW5lciIsInRvYXN0Qm9keUh0bWwiLCJ0b2FzdFRpdGxlIiwiaW5kZXgiLCJkZXRhaWwiLCJhamF4U2V0dXAiLCJkYXRlcGlja2VyIiwiX3VwZGF0ZURhdGVwaWNrZXJfb3JpZ2luYWwiLCJfdXBkYXRlRGF0ZXBpY2tlciIsImluc3QiLCJhZnRlclNob3ciLCJfZ2V0IiwiYXBwbHkiLCJFbWVncmVuZGVsZXNEZWZhdWx0cyIsImRhdGF0YWJsZUFjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJkYXRhdGFibGVBZGRSb3dUcmFzaEJ1dHRvbiIsImFyZ3MiLCJkYXRhdGFibGVBZGRSb3dFZGl0QnV0dG9uIiwiZGF0YXRhYmxlQWRkUm93Vmlld0J1dHRvbiIsImRhdGF0YWJsZUFkZFJvd0F0dGFjaG1lbnRCdXR0b24iLCJkYXRhdGFibGVDdXN0b21IZWFkQnV0dG9uQ2xpY2tDYWxsQmFjayIsImFmdGVyTG9hZE1haW5Db250ZW50IiwiRGF0YU1vZGVsIiwiX0RhdGFNb2RlbDIiLCJvcHRpb25zIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2RlZmluZVByb3BlcnR5IiwiYWN0aXZlIiwiX2NyZWF0ZUNsYXNzIiwic2V0RGF0YSIsImdldERhdGEiLCJFbWVncmVuZGVsZXMiLCJteVZhciIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJVcmwiLCJQdWJsaWNWYXIiLCJQdWJsaWNWYXIyIiwiQXBpVG9rZW4iLCJyb290IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJuYW1lIiwic2V0T3B0cyIsImdldE9wdHMiLCJkYXRhdGFibGVBZGRSb3dBY3Rpb24iLCJDU1NTZWxlY3RvciIsIm9mZiIsIkFQUCIsIm15UHVibGljTWV0aG9kIiwibXlQcml2YXRlTWV0aG9kIiwic2V0QXBpVG9rZW4iLCJ0b2tlbiIsImdldEFwaVRva2VuIiwic2V0QWN0aXZlTmF2QmFySXRlbSIsIml0ZW1OYW1lIiwiZ2V0QWN0aXZlTmF2QmFySXRlbSIsImZpbmQiLCJjbGVhckFyY2hpdmVNb2R1bGVEYXRhVGFibGVTdGF0ZSIsIk9yZGVyQXJjaGl2ZU1vZHVsZSIsInN0YXRlIiwiY2xlYXIiLCJuYXZCYXJJdGVtQmVmb3JlcG9zdCIsIm5hdkJhckl0ZW1BZnRlclBvc3QiLCJpbml0TmF2QmFyIiwicHJldmVudERlZmF1bHQiLCJhamF4bGluayIsImFqYXh0eXBlIiwiYWZ0ZXJwb3N0IiwiYmVmb3JlcG9zdCIsImxvYWRNYWluQ29udGVudCIsImNhbGxCYWNrIiwibG9hZCIsInJlYWR5IiwiTXVzdGFjaGUiLCJ0YWdzIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/app.js\n\n}"); /***/ }, @@ -25,7 +25,7 @@ eval("{function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeErr \***********************************/ (__unused_webpack_module, __unused_webpack_exports, __webpack_require__) { -eval("{window._ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\n/**\r\n * We'll load the axios HTTP library which allows us to easily issue requests\r\n * to our Laravel back-end. This library automatically handles sending the\r\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\r\n */\n\nwindow.axios = __webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\");\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n/**\r\n * Echo exposes an expressive API for subscribing to channels and listening\r\n * for events that are broadcast by Laravel. Echo and event broadcasting\r\n * allows your team to easily build robust real-time web applications.\r\n */\n\n// import Echo from 'laravel-echo';\n\n// window.Pusher = require('pusher-js');\n\n// window.Echo = new Echo({\n// broadcaster: 'pusher',\n// key: process.env.MIX_PUSHER_APP_KEY,\n// cluster: process.env.MIX_PUSHER_APP_CLUSTER,\n// forceTLS: true\n// });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvYm9vdHN0cmFwLmpzIiwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLENBQUMsR0FBR0MsbUJBQU8sQ0FBQywrQ0FBUSxDQUFDOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBRixNQUFNLENBQUNHLEtBQUssR0FBR0QsbUJBQU8sQ0FBQywwREFBTyxDQUFDO0FBRS9CRixNQUFNLENBQUNHLEtBQUssQ0FBQ0MsUUFBUSxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLGdCQUFnQjs7QUFFM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYm9vdHN0cmFwLmpzPzZkZTciXSwic291cmNlc0NvbnRlbnQiOlsid2luZG93Ll8gPSByZXF1aXJlKCdsb2Rhc2gnKTtcclxuXHJcbi8qKlxyXG4gKiBXZSdsbCBsb2FkIHRoZSBheGlvcyBIVFRQIGxpYnJhcnkgd2hpY2ggYWxsb3dzIHVzIHRvIGVhc2lseSBpc3N1ZSByZXF1ZXN0c1xyXG4gKiB0byBvdXIgTGFyYXZlbCBiYWNrLWVuZC4gVGhpcyBsaWJyYXJ5IGF1dG9tYXRpY2FsbHkgaGFuZGxlcyBzZW5kaW5nIHRoZVxyXG4gKiBDU1JGIHRva2VuIGFzIGEgaGVhZGVyIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiB0aGUgXCJYU1JGXCIgdG9rZW4gY29va2llLlxyXG4gKi9cclxuXHJcbndpbmRvdy5heGlvcyA9IHJlcXVpcmUoJ2F4aW9zJyk7XHJcblxyXG53aW5kb3cuYXhpb3MuZGVmYXVsdHMuaGVhZGVycy5jb21tb25bJ1gtUmVxdWVzdGVkLVdpdGgnXSA9ICdYTUxIdHRwUmVxdWVzdCc7XHJcblxyXG4vKipcclxuICogRWNobyBleHBvc2VzIGFuIGV4cHJlc3NpdmUgQVBJIGZvciBzdWJzY3JpYmluZyB0byBjaGFubmVscyBhbmQgbGlzdGVuaW5nXHJcbiAqIGZvciBldmVudHMgdGhhdCBhcmUgYnJvYWRjYXN0IGJ5IExhcmF2ZWwuIEVjaG8gYW5kIGV2ZW50IGJyb2FkY2FzdGluZ1xyXG4gKiBhbGxvd3MgeW91ciB0ZWFtIHRvIGVhc2lseSBidWlsZCByb2J1c3QgcmVhbC10aW1lIHdlYiBhcHBsaWNhdGlvbnMuXHJcbiAqL1xyXG5cclxuLy8gaW1wb3J0IEVjaG8gZnJvbSAnbGFyYXZlbC1lY2hvJztcclxuXHJcbi8vIHdpbmRvdy5QdXNoZXIgPSByZXF1aXJlKCdwdXNoZXItanMnKTtcclxuXHJcbi8vIHdpbmRvdy5FY2hvID0gbmV3IEVjaG8oe1xyXG4vLyAgICAgYnJvYWRjYXN0ZXI6ICdwdXNoZXInLFxyXG4vLyAgICAga2V5OiBwcm9jZXNzLmVudi5NSVhfUFVTSEVSX0FQUF9LRVksXHJcbi8vICAgICBjbHVzdGVyOiBwcm9jZXNzLmVudi5NSVhfUFVTSEVSX0FQUF9DTFVTVEVSLFxyXG4vLyAgICAgZm9yY2VUTFM6IHRydWVcclxuLy8gfSk7XHJcbiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJfIiwicmVxdWlyZSIsImF4aW9zIiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/bootstrap.js\n\n}"); +eval("{window._ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\n\n/**\n * We'll load the axios HTTP library which allows us to easily issue requests\n * to our Laravel back-end. This library automatically handles sending the\n * CSRF token as a header based on the value of the \"XSRF\" token cookie.\n */\n\nwindow.axios = __webpack_require__(/*! axios */ \"./node_modules/axios/dist/browser/axios.cjs\");\nwindow.axios.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';\n\n/**\n * Echo exposes an expressive API for subscribing to channels and listening\n * for events that are broadcast by Laravel. Echo and event broadcasting\n * allows your team to easily build robust real-time web applications.\n */\n\n// import Echo from 'laravel-echo';\n\n// window.Pusher = require('pusher-js');\n\n// window.Echo = new Echo({\n// broadcaster: 'pusher',\n// key: process.env.MIX_PUSHER_APP_KEY,\n// cluster: process.env.MIX_PUSHER_APP_CLUSTER,\n// forceTLS: true\n// });//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvYm9vdHN0cmFwLmpzIiwibWFwcGluZ3MiOiJBQUFBQSxNQUFNLENBQUNDLENBQUMsR0FBR0MsbUJBQU8sQ0FBQywrQ0FBUSxDQUFDOztBQUU1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBRixNQUFNLENBQUNHLEtBQUssR0FBR0QsbUJBQU8sQ0FBQywwREFBTyxDQUFDO0FBRS9CRixNQUFNLENBQUNHLEtBQUssQ0FBQ0MsUUFBUSxDQUFDQyxPQUFPLENBQUNDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLGdCQUFnQjs7QUFFM0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvYm9vdHN0cmFwLmpzPzZkZTciXSwic291cmNlc0NvbnRlbnQiOlsid2luZG93Ll8gPSByZXF1aXJlKCdsb2Rhc2gnKTtcblxuLyoqXG4gKiBXZSdsbCBsb2FkIHRoZSBheGlvcyBIVFRQIGxpYnJhcnkgd2hpY2ggYWxsb3dzIHVzIHRvIGVhc2lseSBpc3N1ZSByZXF1ZXN0c1xuICogdG8gb3VyIExhcmF2ZWwgYmFjay1lbmQuIFRoaXMgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGhhbmRsZXMgc2VuZGluZyB0aGVcbiAqIENTUkYgdG9rZW4gYXMgYSBoZWFkZXIgYmFzZWQgb24gdGhlIHZhbHVlIG9mIHRoZSBcIlhTUkZcIiB0b2tlbiBjb29raWUuXG4gKi9cblxud2luZG93LmF4aW9zID0gcmVxdWlyZSgnYXhpb3MnKTtcblxud2luZG93LmF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLVJlcXVlc3RlZC1XaXRoJ10gPSAnWE1MSHR0cFJlcXVlc3QnO1xuXG4vKipcbiAqIEVjaG8gZXhwb3NlcyBhbiBleHByZXNzaXZlIEFQSSBmb3Igc3Vic2NyaWJpbmcgdG8gY2hhbm5lbHMgYW5kIGxpc3RlbmluZ1xuICogZm9yIGV2ZW50cyB0aGF0IGFyZSBicm9hZGNhc3QgYnkgTGFyYXZlbC4gRWNobyBhbmQgZXZlbnQgYnJvYWRjYXN0aW5nXG4gKiBhbGxvd3MgeW91ciB0ZWFtIHRvIGVhc2lseSBidWlsZCByb2J1c3QgcmVhbC10aW1lIHdlYiBhcHBsaWNhdGlvbnMuXG4gKi9cblxuLy8gaW1wb3J0IEVjaG8gZnJvbSAnbGFyYXZlbC1lY2hvJztcblxuLy8gd2luZG93LlB1c2hlciA9IHJlcXVpcmUoJ3B1c2hlci1qcycpO1xuXG4vLyB3aW5kb3cuRWNobyA9IG5ldyBFY2hvKHtcbi8vICAgICBicm9hZGNhc3RlcjogJ3B1c2hlcicsXG4vLyAgICAga2V5OiBwcm9jZXNzLmVudi5NSVhfUFVTSEVSX0FQUF9LRVksXG4vLyAgICAgY2x1c3RlcjogcHJvY2Vzcy5lbnYuTUlYX1BVU0hFUl9BUFBfQ0xVU1RFUixcbi8vICAgICBmb3JjZVRMUzogdHJ1ZVxuLy8gfSk7XG4iXSwibmFtZXMiOlsid2luZG93IiwiXyIsInJlcXVpcmUiLCJheGlvcyIsImRlZmF1bHRzIiwiaGVhZGVycyIsImNvbW1vbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/bootstrap.js\n\n}"); /***/ }, @@ -35,7 +35,7 @@ eval("{window._ = __webpack_require__(/*! lodash */ \"./node_modules/lodash/loda \**********************************/ () { -eval("{var Latinise = {};\nLatinise.latin_map = {\n \"Á\": \"A\",\n \"Ă\": \"A\",\n \"Ắ\": \"A\",\n \"Ặ\": \"A\",\n \"Ằ\": \"A\",\n \"Ẳ\": \"A\",\n \"Ẵ\": \"A\",\n \"Ǎ\": \"A\",\n \"Â\": \"A\",\n \"Ấ\": \"A\",\n \"Ậ\": \"A\",\n \"Ầ\": \"A\",\n \"Ẩ\": \"A\",\n \"Ẫ\": \"A\",\n \"Ä\": \"A\",\n \"Ǟ\": \"A\",\n \"Ȧ\": \"A\",\n \"Ǡ\": \"A\",\n \"Ạ\": \"A\",\n \"Ȁ\": \"A\",\n \"À\": \"A\",\n \"Ả\": \"A\",\n \"Ȃ\": \"A\",\n \"Ā\": \"A\",\n \"Ą\": \"A\",\n \"Å\": \"A\",\n \"Ǻ\": \"A\",\n \"Ḁ\": \"A\",\n \"Ⱥ\": \"A\",\n \"Ã\": \"A\",\n \"Ꜳ\": \"AA\",\n \"Æ\": \"AE\",\n \"Ǽ\": \"AE\",\n \"Ǣ\": \"AE\",\n \"Ꜵ\": \"AO\",\n \"Ꜷ\": \"AU\",\n \"Ꜹ\": \"AV\",\n \"Ꜻ\": \"AV\",\n \"Ꜽ\": \"AY\",\n \"Ḃ\": \"B\",\n \"Ḅ\": \"B\",\n \"Ɓ\": \"B\",\n \"Ḇ\": \"B\",\n \"Ƀ\": \"B\",\n \"Ƃ\": \"B\",\n \"Ć\": \"C\",\n \"Č\": \"C\",\n \"Ç\": \"C\",\n \"Ḉ\": \"C\",\n \"Ĉ\": \"C\",\n \"Ċ\": \"C\",\n \"Ƈ\": \"C\",\n \"Ȼ\": \"C\",\n \"Ď\": \"D\",\n \"Ḑ\": \"D\",\n \"Ḓ\": \"D\",\n \"Ḋ\": \"D\",\n \"Ḍ\": \"D\",\n \"Ɗ\": \"D\",\n \"Ḏ\": \"D\",\n \"Dz\": \"D\",\n \"Dž\": \"D\",\n \"Đ\": \"D\",\n \"Ƌ\": \"D\",\n \"DZ\": \"DZ\",\n \"DŽ\": \"DZ\",\n \"É\": \"E\",\n \"Ĕ\": \"E\",\n \"Ě\": \"E\",\n \"Ȩ\": \"E\",\n \"Ḝ\": \"E\",\n \"Ê\": \"E\",\n \"Ế\": \"E\",\n \"Ệ\": \"E\",\n \"Ề\": \"E\",\n \"Ể\": \"E\",\n \"Ễ\": \"E\",\n \"Ḙ\": \"E\",\n \"Ë\": \"E\",\n \"Ė\": \"E\",\n \"Ẹ\": \"E\",\n \"Ȅ\": \"E\",\n \"È\": \"E\",\n \"Ẻ\": \"E\",\n \"Ȇ\": \"E\",\n \"Ē\": \"E\",\n \"Ḗ\": \"E\",\n \"Ḕ\": \"E\",\n \"Ę\": \"E\",\n \"Ɇ\": \"E\",\n \"Ẽ\": \"E\",\n \"Ḛ\": \"E\",\n \"Ꝫ\": \"ET\",\n \"Ḟ\": \"F\",\n \"Ƒ\": \"F\",\n \"Ǵ\": \"G\",\n \"Ğ\": \"G\",\n \"Ǧ\": \"G\",\n \"Ģ\": \"G\",\n \"Ĝ\": \"G\",\n \"Ġ\": \"G\",\n \"Ɠ\": \"G\",\n \"Ḡ\": \"G\",\n \"Ǥ\": \"G\",\n \"Ḫ\": \"H\",\n \"Ȟ\": \"H\",\n \"Ḩ\": \"H\",\n \"Ĥ\": \"H\",\n \"Ⱨ\": \"H\",\n \"Ḧ\": \"H\",\n \"Ḣ\": \"H\",\n \"Ḥ\": \"H\",\n \"Ħ\": \"H\",\n \"Í\": \"I\",\n \"Ĭ\": \"I\",\n \"Ǐ\": \"I\",\n \"Î\": \"I\",\n \"Ï\": \"I\",\n \"Ḯ\": \"I\",\n \"İ\": \"I\",\n \"Ị\": \"I\",\n \"Ȉ\": \"I\",\n \"Ì\": \"I\",\n \"Ỉ\": \"I\",\n \"Ȋ\": \"I\",\n \"Ī\": \"I\",\n \"Į\": \"I\",\n \"Ɨ\": \"I\",\n \"Ĩ\": \"I\",\n \"Ḭ\": \"I\",\n \"Ꝺ\": \"D\",\n \"Ꝼ\": \"F\",\n \"Ᵹ\": \"G\",\n \"Ꞃ\": \"R\",\n \"Ꞅ\": \"S\",\n \"Ꞇ\": \"T\",\n \"Ꝭ\": \"IS\",\n \"Ĵ\": \"J\",\n \"Ɉ\": \"J\",\n \"Ḱ\": \"K\",\n \"Ǩ\": \"K\",\n \"Ķ\": \"K\",\n \"Ⱪ\": \"K\",\n \"Ꝃ\": \"K\",\n \"Ḳ\": \"K\",\n \"Ƙ\": \"K\",\n \"Ḵ\": \"K\",\n \"Ꝁ\": \"K\",\n \"Ꝅ\": \"K\",\n \"Ĺ\": \"L\",\n \"Ƚ\": \"L\",\n \"Ľ\": \"L\",\n \"Ļ\": \"L\",\n \"Ḽ\": \"L\",\n \"Ḷ\": \"L\",\n \"Ḹ\": \"L\",\n \"Ⱡ\": \"L\",\n \"Ꝉ\": \"L\",\n \"Ḻ\": \"L\",\n \"Ŀ\": \"L\",\n \"Ɫ\": \"L\",\n \"Lj\": \"L\",\n \"Ł\": \"L\",\n \"LJ\": \"LJ\",\n \"Ḿ\": \"M\",\n \"Ṁ\": \"M\",\n \"Ṃ\": \"M\",\n \"Ɱ\": \"M\",\n \"Ń\": \"N\",\n \"Ň\": \"N\",\n \"Ņ\": \"N\",\n \"Ṋ\": \"N\",\n \"Ṅ\": \"N\",\n \"Ṇ\": \"N\",\n \"Ǹ\": \"N\",\n \"Ɲ\": \"N\",\n \"Ṉ\": \"N\",\n \"Ƞ\": \"N\",\n \"Nj\": \"N\",\n \"Ñ\": \"N\",\n \"NJ\": \"NJ\",\n \"Ó\": \"O\",\n \"Ŏ\": \"O\",\n \"Ǒ\": \"O\",\n \"Ô\": \"O\",\n \"Ố\": \"O\",\n \"Ộ\": \"O\",\n \"Ồ\": \"O\",\n \"Ổ\": \"O\",\n \"Ỗ\": \"O\",\n \"Ö\": \"O\",\n \"Ȫ\": \"O\",\n \"Ȯ\": \"O\",\n \"Ȱ\": \"O\",\n \"Ọ\": \"O\",\n \"Ő\": \"O\",\n \"Ȍ\": \"O\",\n \"Ò\": \"O\",\n \"Ỏ\": \"O\",\n \"Ơ\": \"O\",\n \"Ớ\": \"O\",\n \"Ợ\": \"O\",\n \"Ờ\": \"O\",\n \"Ở\": \"O\",\n \"Ỡ\": \"O\",\n \"Ȏ\": \"O\",\n \"Ꝋ\": \"O\",\n \"Ꝍ\": \"O\",\n \"Ō\": \"O\",\n \"Ṓ\": \"O\",\n \"Ṑ\": \"O\",\n \"Ɵ\": \"O\",\n \"Ǫ\": \"O\",\n \"Ǭ\": \"O\",\n \"Ø\": \"O\",\n \"Ǿ\": \"O\",\n \"Õ\": \"O\",\n \"Ṍ\": \"O\",\n \"Ṏ\": \"O\",\n \"Ȭ\": \"O\",\n \"Ƣ\": \"OI\",\n \"Ꝏ\": \"OO\",\n \"Ɛ\": \"E\",\n \"Ɔ\": \"O\",\n \"Ȣ\": \"OU\",\n \"Ṕ\": \"P\",\n \"Ṗ\": \"P\",\n \"Ꝓ\": \"P\",\n \"Ƥ\": \"P\",\n \"Ꝕ\": \"P\",\n \"Ᵽ\": \"P\",\n \"Ꝑ\": \"P\",\n \"Ꝙ\": \"Q\",\n \"Ꝗ\": \"Q\",\n \"Ŕ\": \"R\",\n \"Ř\": \"R\",\n \"Ŗ\": \"R\",\n \"Ṙ\": \"R\",\n \"Ṛ\": \"R\",\n \"Ṝ\": \"R\",\n \"Ȑ\": \"R\",\n \"Ȓ\": \"R\",\n \"Ṟ\": \"R\",\n \"Ɍ\": \"R\",\n \"Ɽ\": \"R\",\n \"Ꜿ\": \"C\",\n \"Ǝ\": \"E\",\n \"Ś\": \"S\",\n \"Ṥ\": \"S\",\n \"Š\": \"S\",\n \"Ṧ\": \"S\",\n \"Ş\": \"S\",\n \"Ŝ\": \"S\",\n \"Ș\": \"S\",\n \"Ṡ\": \"S\",\n \"Ṣ\": \"S\",\n \"Ṩ\": \"S\",\n \"Ť\": \"T\",\n \"Ţ\": \"T\",\n \"Ṱ\": \"T\",\n \"Ț\": \"T\",\n \"Ⱦ\": \"T\",\n \"Ṫ\": \"T\",\n \"Ṭ\": \"T\",\n \"Ƭ\": \"T\",\n \"Ṯ\": \"T\",\n \"Ʈ\": \"T\",\n \"Ŧ\": \"T\",\n \"Ɐ\": \"A\",\n \"Ꞁ\": \"L\",\n \"Ɯ\": \"M\",\n \"Ʌ\": \"V\",\n \"Ꜩ\": \"TZ\",\n \"Ú\": \"U\",\n \"Ŭ\": \"U\",\n \"Ǔ\": \"U\",\n \"Û\": \"U\",\n \"Ṷ\": \"U\",\n \"Ü\": \"U\",\n \"Ǘ\": \"U\",\n \"Ǚ\": \"U\",\n \"Ǜ\": \"U\",\n \"Ǖ\": \"U\",\n \"Ṳ\": \"U\",\n \"Ụ\": \"U\",\n \"Ű\": \"U\",\n \"Ȕ\": \"U\",\n \"Ù\": \"U\",\n \"Ủ\": \"U\",\n \"Ư\": \"U\",\n \"Ứ\": \"U\",\n \"Ự\": \"U\",\n \"Ừ\": \"U\",\n \"Ử\": \"U\",\n \"Ữ\": \"U\",\n \"Ȗ\": \"U\",\n \"Ū\": \"U\",\n \"Ṻ\": \"U\",\n \"Ų\": \"U\",\n \"Ů\": \"U\",\n \"Ũ\": \"U\",\n \"Ṹ\": \"U\",\n \"Ṵ\": \"U\",\n \"Ꝟ\": \"V\",\n \"Ṿ\": \"V\",\n \"Ʋ\": \"V\",\n \"Ṽ\": \"V\",\n \"Ꝡ\": \"VY\",\n \"Ẃ\": \"W\",\n \"Ŵ\": \"W\",\n \"Ẅ\": \"W\",\n \"Ẇ\": \"W\",\n \"Ẉ\": \"W\",\n \"Ẁ\": \"W\",\n \"Ⱳ\": \"W\",\n \"Ẍ\": \"X\",\n \"Ẋ\": \"X\",\n \"Ý\": \"Y\",\n \"Ŷ\": \"Y\",\n \"Ÿ\": \"Y\",\n \"Ẏ\": \"Y\",\n \"Ỵ\": \"Y\",\n \"Ỳ\": \"Y\",\n \"Ƴ\": \"Y\",\n \"Ỷ\": \"Y\",\n \"Ỿ\": \"Y\",\n \"Ȳ\": \"Y\",\n \"Ɏ\": \"Y\",\n \"Ỹ\": \"Y\",\n \"Ź\": \"Z\",\n \"Ž\": \"Z\",\n \"Ẑ\": \"Z\",\n \"Ⱬ\": \"Z\",\n \"Ż\": \"Z\",\n \"Ẓ\": \"Z\",\n \"Ȥ\": \"Z\",\n \"Ẕ\": \"Z\",\n \"Ƶ\": \"Z\",\n \"IJ\": \"IJ\",\n \"Œ\": \"OE\",\n \"ᴀ\": \"A\",\n \"ᴁ\": \"AE\",\n \"ʙ\": \"B\",\n \"ᴃ\": \"B\",\n \"ᴄ\": \"C\",\n \"ᴅ\": \"D\",\n \"ᴇ\": \"E\",\n \"ꜰ\": \"F\",\n \"ɢ\": \"G\",\n \"ʛ\": \"G\",\n \"ʜ\": \"H\",\n \"ɪ\": \"I\",\n \"ʁ\": \"R\",\n \"ᴊ\": \"J\",\n \"ᴋ\": \"K\",\n \"ʟ\": \"L\",\n \"ᴌ\": \"L\",\n \"ᴍ\": \"M\",\n \"ɴ\": \"N\",\n \"ᴏ\": \"O\",\n \"ɶ\": \"OE\",\n \"ᴐ\": \"O\",\n \"ᴕ\": \"OU\",\n \"ᴘ\": \"P\",\n \"ʀ\": \"R\",\n \"ᴎ\": \"N\",\n \"ᴙ\": \"R\",\n \"ꜱ\": \"S\",\n \"ᴛ\": \"T\",\n \"ⱻ\": \"E\",\n \"ᴚ\": \"R\",\n \"ᴜ\": \"U\",\n \"ᴠ\": \"V\",\n \"ᴡ\": \"W\",\n \"ʏ\": \"Y\",\n \"ᴢ\": \"Z\",\n \"á\": \"a\",\n \"ă\": \"a\",\n \"ắ\": \"a\",\n \"ặ\": \"a\",\n \"ằ\": \"a\",\n \"ẳ\": \"a\",\n \"ẵ\": \"a\",\n \"ǎ\": \"a\",\n \"â\": \"a\",\n \"ấ\": \"a\",\n \"ậ\": \"a\",\n \"ầ\": \"a\",\n \"ẩ\": \"a\",\n \"ẫ\": \"a\",\n \"ä\": \"a\",\n \"ǟ\": \"a\",\n \"ȧ\": \"a\",\n \"ǡ\": \"a\",\n \"ạ\": \"a\",\n \"ȁ\": \"a\",\n \"à\": \"a\",\n \"ả\": \"a\",\n \"ȃ\": \"a\",\n \"ā\": \"a\",\n \"ą\": \"a\",\n \"ᶏ\": \"a\",\n \"ẚ\": \"a\",\n \"å\": \"a\",\n \"ǻ\": \"a\",\n \"ḁ\": \"a\",\n \"ⱥ\": \"a\",\n \"ã\": \"a\",\n \"ꜳ\": \"aa\",\n \"æ\": \"ae\",\n \"ǽ\": \"ae\",\n \"ǣ\": \"ae\",\n \"ꜵ\": \"ao\",\n \"ꜷ\": \"au\",\n \"ꜹ\": \"av\",\n \"ꜻ\": \"av\",\n \"ꜽ\": \"ay\",\n \"ḃ\": \"b\",\n \"ḅ\": \"b\",\n \"ɓ\": \"b\",\n \"ḇ\": \"b\",\n \"ᵬ\": \"b\",\n \"ᶀ\": \"b\",\n \"ƀ\": \"b\",\n \"ƃ\": \"b\",\n \"ɵ\": \"o\",\n \"ć\": \"c\",\n \"č\": \"c\",\n \"ç\": \"c\",\n \"ḉ\": \"c\",\n \"ĉ\": \"c\",\n \"ɕ\": \"c\",\n \"ċ\": \"c\",\n \"ƈ\": \"c\",\n \"ȼ\": \"c\",\n \"ď\": \"d\",\n \"ḑ\": \"d\",\n \"ḓ\": \"d\",\n \"ȡ\": \"d\",\n \"ḋ\": \"d\",\n \"ḍ\": \"d\",\n \"ɗ\": \"d\",\n \"ᶑ\": \"d\",\n \"ḏ\": \"d\",\n \"ᵭ\": \"d\",\n \"ᶁ\": \"d\",\n \"đ\": \"d\",\n \"ɖ\": \"d\",\n \"ƌ\": \"d\",\n \"ı\": \"i\",\n \"ȷ\": \"j\",\n \"ɟ\": \"j\",\n \"ʄ\": \"j\",\n \"dz\": \"dz\",\n \"dž\": \"dz\",\n \"é\": \"e\",\n \"ĕ\": \"e\",\n \"ě\": \"e\",\n \"ȩ\": \"e\",\n \"ḝ\": \"e\",\n \"ê\": \"e\",\n \"ế\": \"e\",\n \"ệ\": \"e\",\n \"ề\": \"e\",\n \"ể\": \"e\",\n \"ễ\": \"e\",\n \"ḙ\": \"e\",\n \"ë\": \"e\",\n \"ė\": \"e\",\n \"ẹ\": \"e\",\n \"ȅ\": \"e\",\n \"è\": \"e\",\n \"ẻ\": \"e\",\n \"ȇ\": \"e\",\n \"ē\": \"e\",\n \"ḗ\": \"e\",\n \"ḕ\": \"e\",\n \"ⱸ\": \"e\",\n \"ę\": \"e\",\n \"ᶒ\": \"e\",\n \"ɇ\": \"e\",\n \"ẽ\": \"e\",\n \"ḛ\": \"e\",\n \"ꝫ\": \"et\",\n \"ḟ\": \"f\",\n \"ƒ\": \"f\",\n \"ᵮ\": \"f\",\n \"ᶂ\": \"f\",\n \"ǵ\": \"g\",\n \"ğ\": \"g\",\n \"ǧ\": \"g\",\n \"ģ\": \"g\",\n \"ĝ\": \"g\",\n \"ġ\": \"g\",\n \"ɠ\": \"g\",\n \"ḡ\": \"g\",\n \"ᶃ\": \"g\",\n \"ǥ\": \"g\",\n \"ḫ\": \"h\",\n \"ȟ\": \"h\",\n \"ḩ\": \"h\",\n \"ĥ\": \"h\",\n \"ⱨ\": \"h\",\n \"ḧ\": \"h\",\n \"ḣ\": \"h\",\n \"ḥ\": \"h\",\n \"ɦ\": \"h\",\n \"ẖ\": \"h\",\n \"ħ\": \"h\",\n \"ƕ\": \"hv\",\n \"í\": \"i\",\n \"ĭ\": \"i\",\n \"ǐ\": \"i\",\n \"î\": \"i\",\n \"ï\": \"i\",\n \"ḯ\": \"i\",\n \"ị\": \"i\",\n \"ȉ\": \"i\",\n \"ì\": \"i\",\n \"ỉ\": \"i\",\n \"ȋ\": \"i\",\n \"ī\": \"i\",\n \"į\": \"i\",\n \"ᶖ\": \"i\",\n \"ɨ\": \"i\",\n \"ĩ\": \"i\",\n \"ḭ\": \"i\",\n \"ꝺ\": \"d\",\n \"ꝼ\": \"f\",\n \"ᵹ\": \"g\",\n \"ꞃ\": \"r\",\n \"ꞅ\": \"s\",\n \"ꞇ\": \"t\",\n \"ꝭ\": \"is\",\n \"ǰ\": \"j\",\n \"ĵ\": \"j\",\n \"ʝ\": \"j\",\n \"ɉ\": \"j\",\n \"ḱ\": \"k\",\n \"ǩ\": \"k\",\n \"ķ\": \"k\",\n \"ⱪ\": \"k\",\n \"ꝃ\": \"k\",\n \"ḳ\": \"k\",\n \"ƙ\": \"k\",\n \"ḵ\": \"k\",\n \"ᶄ\": \"k\",\n \"ꝁ\": \"k\",\n \"ꝅ\": \"k\",\n \"ĺ\": \"l\",\n \"ƚ\": \"l\",\n \"ɬ\": \"l\",\n \"ľ\": \"l\",\n \"ļ\": \"l\",\n \"ḽ\": \"l\",\n \"ȴ\": \"l\",\n \"ḷ\": \"l\",\n \"ḹ\": \"l\",\n \"ⱡ\": \"l\",\n \"ꝉ\": \"l\",\n \"ḻ\": \"l\",\n \"ŀ\": \"l\",\n \"ɫ\": \"l\",\n \"ᶅ\": \"l\",\n \"ɭ\": \"l\",\n \"ł\": \"l\",\n \"lj\": \"lj\",\n \"ſ\": \"s\",\n \"ẜ\": \"s\",\n \"ẛ\": \"s\",\n \"ẝ\": \"s\",\n \"ḿ\": \"m\",\n \"ṁ\": \"m\",\n \"ṃ\": \"m\",\n \"ɱ\": \"m\",\n \"ᵯ\": \"m\",\n \"ᶆ\": \"m\",\n \"ń\": \"n\",\n \"ň\": \"n\",\n \"ņ\": \"n\",\n \"ṋ\": \"n\",\n \"ȵ\": \"n\",\n \"ṅ\": \"n\",\n \"ṇ\": \"n\",\n \"ǹ\": \"n\",\n \"ɲ\": \"n\",\n \"ṉ\": \"n\",\n \"ƞ\": \"n\",\n \"ᵰ\": \"n\",\n \"ᶇ\": \"n\",\n \"ɳ\": \"n\",\n \"ñ\": \"n\",\n \"nj\": \"nj\",\n \"ó\": \"o\",\n \"ŏ\": \"o\",\n \"ǒ\": \"o\",\n \"ô\": \"o\",\n \"ố\": \"o\",\n \"ộ\": \"o\",\n \"ồ\": \"o\",\n \"ổ\": \"o\",\n \"ỗ\": \"o\",\n \"ö\": \"o\",\n \"ȫ\": \"o\",\n \"ȯ\": \"o\",\n \"ȱ\": \"o\",\n \"ọ\": \"o\",\n \"ő\": \"o\",\n \"ȍ\": \"o\",\n \"ò\": \"o\",\n \"ỏ\": \"o\",\n \"ơ\": \"o\",\n \"ớ\": \"o\",\n \"ợ\": \"o\",\n \"ờ\": \"o\",\n \"ở\": \"o\",\n \"ỡ\": \"o\",\n \"ȏ\": \"o\",\n \"ꝋ\": \"o\",\n \"ꝍ\": \"o\",\n \"ⱺ\": \"o\",\n \"ō\": \"o\",\n \"ṓ\": \"o\",\n \"ṑ\": \"o\",\n \"ǫ\": \"o\",\n \"ǭ\": \"o\",\n \"ø\": \"o\",\n \"ǿ\": \"o\",\n \"õ\": \"o\",\n \"ṍ\": \"o\",\n \"ṏ\": \"o\",\n \"ȭ\": \"o\",\n \"ƣ\": \"oi\",\n \"ꝏ\": \"oo\",\n \"ɛ\": \"e\",\n \"ᶓ\": \"e\",\n \"ɔ\": \"o\",\n \"ᶗ\": \"o\",\n \"ȣ\": \"ou\",\n \"ṕ\": \"p\",\n \"ṗ\": \"p\",\n \"ꝓ\": \"p\",\n \"ƥ\": \"p\",\n \"ᵱ\": \"p\",\n \"ᶈ\": \"p\",\n \"ꝕ\": \"p\",\n \"ᵽ\": \"p\",\n \"ꝑ\": \"p\",\n \"ꝙ\": \"q\",\n \"ʠ\": \"q\",\n \"ɋ\": \"q\",\n \"ꝗ\": \"q\",\n \"ŕ\": \"r\",\n \"ř\": \"r\",\n \"ŗ\": \"r\",\n \"ṙ\": \"r\",\n \"ṛ\": \"r\",\n \"ṝ\": \"r\",\n \"ȑ\": \"r\",\n \"ɾ\": \"r\",\n \"ᵳ\": \"r\",\n \"ȓ\": \"r\",\n \"ṟ\": \"r\",\n \"ɼ\": \"r\",\n \"ᵲ\": \"r\",\n \"ᶉ\": \"r\",\n \"ɍ\": \"r\",\n \"ɽ\": \"r\",\n \"ↄ\": \"c\",\n \"ꜿ\": \"c\",\n \"ɘ\": \"e\",\n \"ɿ\": \"r\",\n \"ś\": \"s\",\n \"ṥ\": \"s\",\n \"š\": \"s\",\n \"ṧ\": \"s\",\n \"ş\": \"s\",\n \"ŝ\": \"s\",\n \"ș\": \"s\",\n \"ṡ\": \"s\",\n \"ṣ\": \"s\",\n \"ṩ\": \"s\",\n \"ʂ\": \"s\",\n \"ᵴ\": \"s\",\n \"ᶊ\": \"s\",\n \"ȿ\": \"s\",\n \"ɡ\": \"g\",\n \"ᴑ\": \"o\",\n \"ᴓ\": \"o\",\n \"ᴝ\": \"u\",\n \"ť\": \"t\",\n \"ţ\": \"t\",\n \"ṱ\": \"t\",\n \"ț\": \"t\",\n \"ȶ\": \"t\",\n \"ẗ\": \"t\",\n \"ⱦ\": \"t\",\n \"ṫ\": \"t\",\n \"ṭ\": \"t\",\n \"ƭ\": \"t\",\n \"ṯ\": \"t\",\n \"ᵵ\": \"t\",\n \"ƫ\": \"t\",\n \"ʈ\": \"t\",\n \"ŧ\": \"t\",\n \"ᵺ\": \"th\",\n \"ɐ\": \"a\",\n \"ᴂ\": \"ae\",\n \"ǝ\": \"e\",\n \"ᵷ\": \"g\",\n \"ɥ\": \"h\",\n \"ʮ\": \"h\",\n \"ʯ\": \"h\",\n \"ᴉ\": \"i\",\n \"ʞ\": \"k\",\n \"ꞁ\": \"l\",\n \"ɯ\": \"m\",\n \"ɰ\": \"m\",\n \"ᴔ\": \"oe\",\n \"ɹ\": \"r\",\n \"ɻ\": \"r\",\n \"ɺ\": \"r\",\n \"ⱹ\": \"r\",\n \"ʇ\": \"t\",\n \"ʌ\": \"v\",\n \"ʍ\": \"w\",\n \"ʎ\": \"y\",\n \"ꜩ\": \"tz\",\n \"ú\": \"u\",\n \"ŭ\": \"u\",\n \"ǔ\": \"u\",\n \"û\": \"u\",\n \"ṷ\": \"u\",\n \"ü\": \"u\",\n \"ǘ\": \"u\",\n \"ǚ\": \"u\",\n \"ǜ\": \"u\",\n \"ǖ\": \"u\",\n \"ṳ\": \"u\",\n \"ụ\": \"u\",\n \"ű\": \"u\",\n \"ȕ\": \"u\",\n \"ù\": \"u\",\n \"ủ\": \"u\",\n \"ư\": \"u\",\n \"ứ\": \"u\",\n \"ự\": \"u\",\n \"ừ\": \"u\",\n \"ử\": \"u\",\n \"ữ\": \"u\",\n \"ȗ\": \"u\",\n \"ū\": \"u\",\n \"ṻ\": \"u\",\n \"ų\": \"u\",\n \"ᶙ\": \"u\",\n \"ů\": \"u\",\n \"ũ\": \"u\",\n \"ṹ\": \"u\",\n \"ṵ\": \"u\",\n \"ᵫ\": \"ue\",\n \"ꝸ\": \"um\",\n \"ⱴ\": \"v\",\n \"ꝟ\": \"v\",\n \"ṿ\": \"v\",\n \"ʋ\": \"v\",\n \"ᶌ\": \"v\",\n \"ⱱ\": \"v\",\n \"ṽ\": \"v\",\n \"ꝡ\": \"vy\",\n \"ẃ\": \"w\",\n \"ŵ\": \"w\",\n \"ẅ\": \"w\",\n \"ẇ\": \"w\",\n \"ẉ\": \"w\",\n \"ẁ\": \"w\",\n \"ⱳ\": \"w\",\n \"ẘ\": \"w\",\n \"ẍ\": \"x\",\n \"ẋ\": \"x\",\n \"ᶍ\": \"x\",\n \"ý\": \"y\",\n \"ŷ\": \"y\",\n \"ÿ\": \"y\",\n \"ẏ\": \"y\",\n \"ỵ\": \"y\",\n \"ỳ\": \"y\",\n \"ƴ\": \"y\",\n \"ỷ\": \"y\",\n \"ỿ\": \"y\",\n \"ȳ\": \"y\",\n \"ẙ\": \"y\",\n \"ɏ\": \"y\",\n \"ỹ\": \"y\",\n \"ź\": \"z\",\n \"ž\": \"z\",\n \"ẑ\": \"z\",\n \"ʑ\": \"z\",\n \"ⱬ\": \"z\",\n \"ż\": \"z\",\n \"ẓ\": \"z\",\n \"ȥ\": \"z\",\n \"ẕ\": \"z\",\n \"ᵶ\": \"z\",\n \"ᶎ\": \"z\",\n \"ʐ\": \"z\",\n \"ƶ\": \"z\",\n \"ɀ\": \"z\",\n \"ff\": \"ff\",\n \"ffi\": \"ffi\",\n \"ffl\": \"ffl\",\n \"fi\": \"fi\",\n \"fl\": \"fl\",\n \"ij\": \"ij\",\n \"œ\": \"oe\",\n \"st\": \"st\",\n \"ₐ\": \"a\",\n \"ₑ\": \"e\",\n \"ᵢ\": \"i\",\n \"ⱼ\": \"j\",\n \"ₒ\": \"o\",\n \"ᵣ\": \"r\",\n \"ᵤ\": \"u\",\n \"ᵥ\": \"v\",\n \"ₓ\": \"x\"\n};\nString.prototype.latinise = function () {\n return this.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a) {\n return Latinise.latin_map[a] || a;\n });\n};\nString.prototype.latinize = String.prototype.latinise;\nString.prototype.isLatin = function () {\n return this == this.latinise();\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMYXRpbmlzZSIsImxhdGluX21hcCIsIlN0cmluZyIsInByb3RvdHlwZSIsImxhdGluaXNlIiwicmVwbGFjZSIsImEiLCJsYXRpbml6ZSIsImlzTGF0aW4iXSwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2xhdGluaXNlLmpzP2Y5MzgiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IExhdGluaXNlPXt9O0xhdGluaXNlLmxhdGluX21hcD17XCLDgVwiOlwiQVwiLFxyXG4gICAgXCLEglwiOlwiQVwiLFxyXG4gICAgXCLhuq5cIjpcIkFcIixcclxuICAgIFwi4bq2XCI6XCJBXCIsXHJcbiAgICBcIuG6sFwiOlwiQVwiLFxyXG4gICAgXCLhurJcIjpcIkFcIixcclxuICAgIFwi4bq0XCI6XCJBXCIsXHJcbiAgICBcIseNXCI6XCJBXCIsXHJcbiAgICBcIsOCXCI6XCJBXCIsXHJcbiAgICBcIuG6pFwiOlwiQVwiLFxyXG4gICAgXCLhuqxcIjpcIkFcIixcclxuICAgIFwi4bqmXCI6XCJBXCIsXHJcbiAgICBcIuG6qFwiOlwiQVwiLFxyXG4gICAgXCLhuqpcIjpcIkFcIixcclxuICAgIFwiw4RcIjpcIkFcIixcclxuICAgIFwix55cIjpcIkFcIixcclxuICAgIFwiyKZcIjpcIkFcIixcclxuICAgIFwix6BcIjpcIkFcIixcclxuICAgIFwi4bqgXCI6XCJBXCIsXHJcbiAgICBcIsiAXCI6XCJBXCIsXHJcbiAgICBcIsOAXCI6XCJBXCIsXHJcbiAgICBcIuG6olwiOlwiQVwiLFxyXG4gICAgXCLIglwiOlwiQVwiLFxyXG4gICAgXCLEgFwiOlwiQVwiLFxyXG4gICAgXCLEhFwiOlwiQVwiLFxyXG4gICAgXCLDhVwiOlwiQVwiLFxyXG4gICAgXCLHulwiOlwiQVwiLFxyXG4gICAgXCLhuIBcIjpcIkFcIixcclxuICAgIFwiyLpcIjpcIkFcIixcclxuICAgIFwiw4NcIjpcIkFcIixcclxuICAgIFwi6pyyXCI6XCJBQVwiLFxyXG4gICAgXCLDhlwiOlwiQUVcIixcclxuICAgIFwix7xcIjpcIkFFXCIsXHJcbiAgICBcIseiXCI6XCJBRVwiLFxyXG4gICAgXCLqnLRcIjpcIkFPXCIsXHJcbiAgICBcIuqctlwiOlwiQVVcIixcclxuICAgIFwi6py4XCI6XCJBVlwiLFxyXG4gICAgXCLqnLpcIjpcIkFWXCIsXHJcbiAgICBcIuqcvFwiOlwiQVlcIixcclxuICAgIFwi4biCXCI6XCJCXCIsXHJcbiAgICBcIuG4hFwiOlwiQlwiLFxyXG4gICAgXCLGgVwiOlwiQlwiLFxyXG4gICAgXCLhuIZcIjpcIkJcIixcclxuICAgIFwiyYNcIjpcIkJcIixcclxuICAgIFwixoJcIjpcIkJcIixcclxuICAgIFwixIZcIjpcIkNcIixcclxuICAgIFwixIxcIjpcIkNcIixcclxuICAgIFwiw4dcIjpcIkNcIixcclxuICAgIFwi4biIXCI6XCJDXCIsXHJcbiAgICBcIsSIXCI6XCJDXCIsXHJcbiAgICBcIsSKXCI6XCJDXCIsXHJcbiAgICBcIsaHXCI6XCJDXCIsXHJcbiAgICBcIsi7XCI6XCJDXCIsXHJcbiAgICBcIsSOXCI6XCJEXCIsXHJcbiAgICBcIuG4kFwiOlwiRFwiLFxyXG4gICAgXCLhuJJcIjpcIkRcIixcclxuICAgIFwi4biKXCI6XCJEXCIsXHJcbiAgICBcIuG4jFwiOlwiRFwiLFxyXG4gICAgXCLGilwiOlwiRFwiLFxyXG4gICAgXCLhuI5cIjpcIkRcIixcclxuICAgIFwix7JcIjpcIkRcIixcclxuICAgIFwix4VcIjpcIkRcIixcclxuICAgIFwixJBcIjpcIkRcIixcclxuICAgIFwixotcIjpcIkRcIixcclxuICAgIFwix7FcIjpcIkRaXCIsXHJcbiAgICBcIseEXCI6XCJEWlwiLFxyXG4gICAgXCLDiVwiOlwiRVwiLFxyXG4gICAgXCLElFwiOlwiRVwiLFxyXG4gICAgXCLEmlwiOlwiRVwiLFxyXG4gICAgXCLIqFwiOlwiRVwiLFxyXG4gICAgXCLhuJxcIjpcIkVcIixcclxuICAgIFwiw4pcIjpcIkVcIixcclxuICAgIFwi4bq+XCI6XCJFXCIsXHJcbiAgICBcIuG7hlwiOlwiRVwiLFxyXG4gICAgXCLhu4BcIjpcIkVcIixcclxuICAgIFwi4buCXCI6XCJFXCIsXHJcbiAgICBcIuG7hFwiOlwiRVwiLFxyXG4gICAgXCLhuJhcIjpcIkVcIixcclxuICAgIFwiw4tcIjpcIkVcIixcclxuICAgIFwixJZcIjpcIkVcIixcclxuICAgIFwi4bq4XCI6XCJFXCIsXHJcbiAgICBcIsiEXCI6XCJFXCIsXHJcbiAgICBcIsOIXCI6XCJFXCIsXHJcbiAgICBcIuG6ulwiOlwiRVwiLFxyXG4gICAgXCLIhlwiOlwiRVwiLFxyXG4gICAgXCLEklwiOlwiRVwiLFxyXG4gICAgXCLhuJZcIjpcIkVcIixcclxuICAgIFwi4biUXCI6XCJFXCIsXHJcbiAgICBcIsSYXCI6XCJFXCIsXHJcbiAgICBcIsmGXCI6XCJFXCIsXHJcbiAgICBcIuG6vFwiOlwiRVwiLFxyXG4gICAgXCLhuJpcIjpcIkVcIixcclxuICAgIFwi6p2qXCI6XCJFVFwiLFxyXG4gICAgXCLhuJ5cIjpcIkZcIixcclxuICAgIFwixpFcIjpcIkZcIixcclxuICAgIFwix7RcIjpcIkdcIixcclxuICAgIFwixJ5cIjpcIkdcIixcclxuICAgIFwix6ZcIjpcIkdcIixcclxuICAgIFwixKJcIjpcIkdcIixcclxuICAgIFwixJxcIjpcIkdcIixcclxuICAgIFwixKBcIjpcIkdcIixcclxuICAgIFwixpNcIjpcIkdcIixcclxuICAgIFwi4bigXCI6XCJHXCIsXHJcbiAgICBcIsekXCI6XCJHXCIsXHJcbiAgICBcIuG4qlwiOlwiSFwiLFxyXG4gICAgXCLInlwiOlwiSFwiLFxyXG4gICAgXCLhuKhcIjpcIkhcIixcclxuICAgIFwixKRcIjpcIkhcIixcclxuICAgIFwi4rGnXCI6XCJIXCIsXHJcbiAgICBcIuG4plwiOlwiSFwiLFxyXG4gICAgXCLhuKJcIjpcIkhcIixcclxuICAgIFwi4bikXCI6XCJIXCIsXHJcbiAgICBcIsSmXCI6XCJIXCIsXHJcbiAgICBcIsONXCI6XCJJXCIsXHJcbiAgICBcIsSsXCI6XCJJXCIsXHJcbiAgICBcIsePXCI6XCJJXCIsXHJcbiAgICBcIsOOXCI6XCJJXCIsXHJcbiAgICBcIsOPXCI6XCJJXCIsXHJcbiAgICBcIuG4rlwiOlwiSVwiLFxyXG4gICAgXCLEsFwiOlwiSVwiLFxyXG4gICAgXCLhu4pcIjpcIklcIixcclxuICAgIFwiyIhcIjpcIklcIixcclxuICAgIFwiw4xcIjpcIklcIixcclxuICAgIFwi4buIXCI6XCJJXCIsXHJcbiAgICBcIsiKXCI6XCJJXCIsXHJcbiAgICBcIsSqXCI6XCJJXCIsXHJcbiAgICBcIsSuXCI6XCJJXCIsXHJcbiAgICBcIsaXXCI6XCJJXCIsXHJcbiAgICBcIsSoXCI6XCJJXCIsXHJcbiAgICBcIuG4rFwiOlwiSVwiLFxyXG4gICAgXCLqnblcIjpcIkRcIixcclxuICAgIFwi6p27XCI6XCJGXCIsXHJcbiAgICBcIuqdvVwiOlwiR1wiLFxyXG4gICAgXCLqnoJcIjpcIlJcIixcclxuICAgIFwi6p6EXCI6XCJTXCIsXHJcbiAgICBcIuqehlwiOlwiVFwiLFxyXG4gICAgXCLqnaxcIjpcIklTXCIsXHJcbiAgICBcIsS0XCI6XCJKXCIsXHJcbiAgICBcIsmIXCI6XCJKXCIsXHJcbiAgICBcIuG4sFwiOlwiS1wiLFxyXG4gICAgXCLHqFwiOlwiS1wiLFxyXG4gICAgXCLEtlwiOlwiS1wiLFxyXG4gICAgXCLisalcIjpcIktcIixcclxuICAgIFwi6p2CXCI6XCJLXCIsXHJcbiAgICBcIuG4slwiOlwiS1wiLFxyXG4gICAgXCLGmFwiOlwiS1wiLFxyXG4gICAgXCLhuLRcIjpcIktcIixcclxuICAgIFwi6p2AXCI6XCJLXCIsXHJcbiAgICBcIuqdhFwiOlwiS1wiLFxyXG4gICAgXCLEuVwiOlwiTFwiLFxyXG4gICAgXCLIvVwiOlwiTFwiLFxyXG4gICAgXCLEvVwiOlwiTFwiLFxyXG4gICAgXCLEu1wiOlwiTFwiLFxyXG4gICAgXCLhuLxcIjpcIkxcIixcclxuICAgIFwi4bi2XCI6XCJMXCIsXHJcbiAgICBcIuG4uFwiOlwiTFwiLFxyXG4gICAgXCLisaBcIjpcIkxcIixcclxuICAgIFwi6p2IXCI6XCJMXCIsXHJcbiAgICBcIuG4ulwiOlwiTFwiLFxyXG4gICAgXCLEv1wiOlwiTFwiLFxyXG4gICAgXCLisaJcIjpcIkxcIixcclxuICAgIFwix4hcIjpcIkxcIixcclxuICAgIFwixYFcIjpcIkxcIixcclxuICAgIFwix4dcIjpcIkxKXCIsXHJcbiAgICBcIuG4vlwiOlwiTVwiLFxyXG4gICAgXCLhuYBcIjpcIk1cIixcclxuICAgIFwi4bmCXCI6XCJNXCIsXHJcbiAgICBcIuKxrlwiOlwiTVwiLFxyXG4gICAgXCLFg1wiOlwiTlwiLFxyXG4gICAgXCLFh1wiOlwiTlwiLFxyXG4gICAgXCLFhVwiOlwiTlwiLFxyXG4gICAgXCLhuYpcIjpcIk5cIixcclxuICAgIFwi4bmEXCI6XCJOXCIsXHJcbiAgICBcIuG5hlwiOlwiTlwiLFxyXG4gICAgXCLHuFwiOlwiTlwiLFxyXG4gICAgXCLGnVwiOlwiTlwiLFxyXG4gICAgXCLhuYhcIjpcIk5cIixcclxuICAgIFwiyKBcIjpcIk5cIixcclxuICAgIFwix4tcIjpcIk5cIixcclxuICAgIFwiw5FcIjpcIk5cIixcclxuICAgIFwix4pcIjpcIk5KXCIsXHJcbiAgICBcIsOTXCI6XCJPXCIsXHJcbiAgICBcIsWOXCI6XCJPXCIsXHJcbiAgICBcIseRXCI6XCJPXCIsXHJcbiAgICBcIsOUXCI6XCJPXCIsXHJcbiAgICBcIuG7kFwiOlwiT1wiLFxyXG4gICAgXCLhu5hcIjpcIk9cIixcclxuICAgIFwi4buSXCI6XCJPXCIsXHJcbiAgICBcIuG7lFwiOlwiT1wiLFxyXG4gICAgXCLhu5ZcIjpcIk9cIixcclxuICAgIFwiw5ZcIjpcIk9cIixcclxuICAgIFwiyKpcIjpcIk9cIixcclxuICAgIFwiyK5cIjpcIk9cIixcclxuICAgIFwiyLBcIjpcIk9cIixcclxuICAgIFwi4buMXCI6XCJPXCIsXHJcbiAgICBcIsWQXCI6XCJPXCIsXHJcbiAgICBcIsiMXCI6XCJPXCIsXHJcbiAgICBcIsOSXCI6XCJPXCIsXHJcbiAgICBcIuG7jlwiOlwiT1wiLFxyXG4gICAgXCLGoFwiOlwiT1wiLFxyXG4gICAgXCLhu5pcIjpcIk9cIixcclxuICAgIFwi4buiXCI6XCJPXCIsXHJcbiAgICBcIuG7nFwiOlwiT1wiLFxyXG4gICAgXCLhu55cIjpcIk9cIixcclxuICAgIFwi4bugXCI6XCJPXCIsXHJcbiAgICBcIsiOXCI6XCJPXCIsXHJcbiAgICBcIuqdilwiOlwiT1wiLFxyXG4gICAgXCLqnYxcIjpcIk9cIixcclxuICAgIFwixYxcIjpcIk9cIixcclxuICAgIFwi4bmSXCI6XCJPXCIsXHJcbiAgICBcIuG5kFwiOlwiT1wiLFxyXG4gICAgXCLGn1wiOlwiT1wiLFxyXG4gICAgXCLHqlwiOlwiT1wiLFxyXG4gICAgXCLHrFwiOlwiT1wiLFxyXG4gICAgXCLDmFwiOlwiT1wiLFxyXG4gICAgXCLHvlwiOlwiT1wiLFxyXG4gICAgXCLDlVwiOlwiT1wiLFxyXG4gICAgXCLhuYxcIjpcIk9cIixcclxuICAgIFwi4bmOXCI6XCJPXCIsXHJcbiAgICBcIsisXCI6XCJPXCIsXHJcbiAgICBcIsaiXCI6XCJPSVwiLFxyXG4gICAgXCLqnY5cIjpcIk9PXCIsXHJcbiAgICBcIsaQXCI6XCJFXCIsXHJcbiAgICBcIsaGXCI6XCJPXCIsXHJcbiAgICBcIsiiXCI6XCJPVVwiLFxyXG4gICAgXCLhuZRcIjpcIlBcIixcclxuICAgIFwi4bmWXCI6XCJQXCIsXHJcbiAgICBcIuqdklwiOlwiUFwiLFxyXG4gICAgXCLGpFwiOlwiUFwiLFxyXG4gICAgXCLqnZRcIjpcIlBcIixcclxuICAgIFwi4rGjXCI6XCJQXCIsXHJcbiAgICBcIuqdkFwiOlwiUFwiLFxyXG4gICAgXCLqnZhcIjpcIlFcIixcclxuICAgIFwi6p2WXCI6XCJRXCIsXHJcbiAgICBcIsWUXCI6XCJSXCIsXHJcbiAgICBcIsWYXCI6XCJSXCIsXHJcbiAgICBcIsWWXCI6XCJSXCIsXHJcbiAgICBcIuG5mFwiOlwiUlwiLFxyXG4gICAgXCLhuZpcIjpcIlJcIixcclxuICAgIFwi4bmcXCI6XCJSXCIsXHJcbiAgICBcIsiQXCI6XCJSXCIsXHJcbiAgICBcIsiSXCI6XCJSXCIsXHJcbiAgICBcIuG5nlwiOlwiUlwiLFxyXG4gICAgXCLJjFwiOlwiUlwiLFxyXG4gICAgXCLisaRcIjpcIlJcIixcclxuICAgIFwi6py+XCI6XCJDXCIsXHJcbiAgICBcIsaOXCI6XCJFXCIsXHJcbiAgICBcIsWaXCI6XCJTXCIsXHJcbiAgICBcIuG5pFwiOlwiU1wiLFxyXG4gICAgXCLFoFwiOlwiU1wiLFxyXG4gICAgXCLhuaZcIjpcIlNcIixcclxuICAgIFwixZ5cIjpcIlNcIixcclxuICAgIFwixZxcIjpcIlNcIixcclxuICAgIFwiyJhcIjpcIlNcIixcclxuICAgIFwi4bmgXCI6XCJTXCIsXHJcbiAgICBcIuG5olwiOlwiU1wiLFxyXG4gICAgXCLhuahcIjpcIlNcIixcclxuICAgIFwixaRcIjpcIlRcIixcclxuICAgIFwixaJcIjpcIlRcIixcclxuICAgIFwi4bmwXCI6XCJUXCIsXHJcbiAgICBcIsiaXCI6XCJUXCIsXHJcbiAgICBcIsi+XCI6XCJUXCIsXHJcbiAgICBcIuG5qlwiOlwiVFwiLFxyXG4gICAgXCLhuaxcIjpcIlRcIixcclxuICAgIFwixqxcIjpcIlRcIixcclxuICAgIFwi4bmuXCI6XCJUXCIsXHJcbiAgICBcIsauXCI6XCJUXCIsXHJcbiAgICBcIsWmXCI6XCJUXCIsXHJcbiAgICBcIuKxr1wiOlwiQVwiLFxyXG4gICAgXCLqnoBcIjpcIkxcIixcclxuICAgIFwixpxcIjpcIk1cIixcclxuICAgIFwiyYVcIjpcIlZcIixcclxuICAgIFwi6pyoXCI6XCJUWlwiLFxyXG4gICAgXCLDmlwiOlwiVVwiLFxyXG4gICAgXCLFrFwiOlwiVVwiLFxyXG4gICAgXCLHk1wiOlwiVVwiLFxyXG4gICAgXCLDm1wiOlwiVVwiLFxyXG4gICAgXCLhubZcIjpcIlVcIixcclxuICAgIFwiw5xcIjpcIlVcIixcclxuICAgIFwix5dcIjpcIlVcIixcclxuICAgIFwix5lcIjpcIlVcIixcclxuICAgIFwix5tcIjpcIlVcIixcclxuICAgIFwix5VcIjpcIlVcIixcclxuICAgIFwi4bmyXCI6XCJVXCIsXHJcbiAgICBcIuG7pFwiOlwiVVwiLFxyXG4gICAgXCLFsFwiOlwiVVwiLFxyXG4gICAgXCLIlFwiOlwiVVwiLFxyXG4gICAgXCLDmVwiOlwiVVwiLFxyXG4gICAgXCLhu6ZcIjpcIlVcIixcclxuICAgIFwixq9cIjpcIlVcIixcclxuICAgIFwi4buoXCI6XCJVXCIsXHJcbiAgICBcIuG7sFwiOlwiVVwiLFxyXG4gICAgXCLhu6pcIjpcIlVcIixcclxuICAgIFwi4busXCI6XCJVXCIsXHJcbiAgICBcIuG7rlwiOlwiVVwiLFxyXG4gICAgXCLIllwiOlwiVVwiLFxyXG4gICAgXCLFqlwiOlwiVVwiLFxyXG4gICAgXCLhubpcIjpcIlVcIixcclxuICAgIFwixbJcIjpcIlVcIixcclxuICAgIFwixa5cIjpcIlVcIixcclxuICAgIFwixahcIjpcIlVcIixcclxuICAgIFwi4bm4XCI6XCJVXCIsXHJcbiAgICBcIuG5tFwiOlwiVVwiLFxyXG4gICAgXCLqnZ5cIjpcIlZcIixcclxuICAgIFwi4bm+XCI6XCJWXCIsXHJcbiAgICBcIsayXCI6XCJWXCIsXHJcbiAgICBcIuG5vFwiOlwiVlwiLFxyXG4gICAgXCLqnaBcIjpcIlZZXCIsXHJcbiAgICBcIuG6glwiOlwiV1wiLFxyXG4gICAgXCLFtFwiOlwiV1wiLFxyXG4gICAgXCLhuoRcIjpcIldcIixcclxuICAgIFwi4bqGXCI6XCJXXCIsXHJcbiAgICBcIuG6iFwiOlwiV1wiLFxyXG4gICAgXCLhuoBcIjpcIldcIixcclxuICAgIFwi4rGyXCI6XCJXXCIsXHJcbiAgICBcIuG6jFwiOlwiWFwiLFxyXG4gICAgXCLhuopcIjpcIlhcIixcclxuICAgIFwiw51cIjpcIllcIixcclxuICAgIFwixbZcIjpcIllcIixcclxuICAgIFwixbhcIjpcIllcIixcclxuICAgIFwi4bqOXCI6XCJZXCIsXHJcbiAgICBcIuG7tFwiOlwiWVwiLFxyXG4gICAgXCLhu7JcIjpcIllcIixcclxuICAgIFwixrNcIjpcIllcIixcclxuICAgIFwi4bu2XCI6XCJZXCIsXHJcbiAgICBcIuG7vlwiOlwiWVwiLFxyXG4gICAgXCLIslwiOlwiWVwiLFxyXG4gICAgXCLJjlwiOlwiWVwiLFxyXG4gICAgXCLhu7hcIjpcIllcIixcclxuICAgIFwixblcIjpcIlpcIixcclxuICAgIFwixb1cIjpcIlpcIixcclxuICAgIFwi4bqQXCI6XCJaXCIsXHJcbiAgICBcIuKxq1wiOlwiWlwiLFxyXG4gICAgXCLFu1wiOlwiWlwiLFxyXG4gICAgXCLhupJcIjpcIlpcIixcclxuICAgIFwiyKRcIjpcIlpcIixcclxuICAgIFwi4bqUXCI6XCJaXCIsXHJcbiAgICBcIsa1XCI6XCJaXCIsXHJcbiAgICBcIsSyXCI6XCJJSlwiLFxyXG4gICAgXCLFklwiOlwiT0VcIixcclxuICAgIFwi4bSAXCI6XCJBXCIsXHJcbiAgICBcIuG0gVwiOlwiQUVcIixcclxuICAgIFwiyplcIjpcIkJcIixcclxuICAgIFwi4bSDXCI6XCJCXCIsXHJcbiAgICBcIuG0hFwiOlwiQ1wiLFxyXG4gICAgXCLhtIVcIjpcIkRcIixcclxuICAgIFwi4bSHXCI6XCJFXCIsXHJcbiAgICBcIuqcsFwiOlwiRlwiLFxyXG4gICAgXCLJolwiOlwiR1wiLFxyXG4gICAgXCLKm1wiOlwiR1wiLFxyXG4gICAgXCLKnFwiOlwiSFwiLFxyXG4gICAgXCLJqlwiOlwiSVwiLFxyXG4gICAgXCLKgVwiOlwiUlwiLFxyXG4gICAgXCLhtIpcIjpcIkpcIixcclxuICAgIFwi4bSLXCI6XCJLXCIsXHJcbiAgICBcIsqfXCI6XCJMXCIsXHJcbiAgICBcIuG0jFwiOlwiTFwiLFxyXG4gICAgXCLhtI1cIjpcIk1cIixcclxuICAgIFwiybRcIjpcIk5cIixcclxuICAgIFwi4bSPXCI6XCJPXCIsXHJcbiAgICBcIsm2XCI6XCJPRVwiLFxyXG4gICAgXCLhtJBcIjpcIk9cIixcclxuICAgIFwi4bSVXCI6XCJPVVwiLFxyXG4gICAgXCLhtJhcIjpcIlBcIixcclxuICAgIFwiyoBcIjpcIlJcIixcclxuICAgIFwi4bSOXCI6XCJOXCIsXHJcbiAgICBcIuG0mVwiOlwiUlwiLFxyXG4gICAgXCLqnLFcIjpcIlNcIixcclxuICAgIFwi4bSbXCI6XCJUXCIsXHJcbiAgICBcIuKxu1wiOlwiRVwiLFxyXG4gICAgXCLhtJpcIjpcIlJcIixcclxuICAgIFwi4bScXCI6XCJVXCIsXHJcbiAgICBcIuG0oFwiOlwiVlwiLFxyXG4gICAgXCLhtKFcIjpcIldcIixcclxuICAgIFwiyo9cIjpcIllcIixcclxuICAgIFwi4bSiXCI6XCJaXCIsXHJcbiAgICBcIsOhXCI6XCJhXCIsXHJcbiAgICBcIsSDXCI6XCJhXCIsXHJcbiAgICBcIuG6r1wiOlwiYVwiLFxyXG4gICAgXCLhurdcIjpcImFcIixcclxuICAgIFwi4bqxXCI6XCJhXCIsXHJcbiAgICBcIuG6s1wiOlwiYVwiLFxyXG4gICAgXCLhurVcIjpcImFcIixcclxuICAgIFwix45cIjpcImFcIixcclxuICAgIFwiw6JcIjpcImFcIixcclxuICAgIFwi4bqlXCI6XCJhXCIsXHJcbiAgICBcIuG6rVwiOlwiYVwiLFxyXG4gICAgXCLhuqdcIjpcImFcIixcclxuICAgIFwi4bqpXCI6XCJhXCIsXHJcbiAgICBcIuG6q1wiOlwiYVwiLFxyXG4gICAgXCLDpFwiOlwiYVwiLFxyXG4gICAgXCLHn1wiOlwiYVwiLFxyXG4gICAgXCLIp1wiOlwiYVwiLFxyXG4gICAgXCLHoVwiOlwiYVwiLFxyXG4gICAgXCLhuqFcIjpcImFcIixcclxuICAgIFwiyIFcIjpcImFcIixcclxuICAgIFwiw6BcIjpcImFcIixcclxuICAgIFwi4bqjXCI6XCJhXCIsXHJcbiAgICBcIsiDXCI6XCJhXCIsXHJcbiAgICBcIsSBXCI6XCJhXCIsXHJcbiAgICBcIsSFXCI6XCJhXCIsXHJcbiAgICBcIuG2j1wiOlwiYVwiLFxyXG4gICAgXCLhuppcIjpcImFcIixcclxuICAgIFwiw6VcIjpcImFcIixcclxuICAgIFwix7tcIjpcImFcIixcclxuICAgIFwi4biBXCI6XCJhXCIsXHJcbiAgICBcIuKxpVwiOlwiYVwiLFxyXG4gICAgXCLDo1wiOlwiYVwiLFxyXG4gICAgXCLqnLNcIjpcImFhXCIsXHJcbiAgICBcIsOmXCI6XCJhZVwiLFxyXG4gICAgXCLHvVwiOlwiYWVcIixcclxuICAgIFwix6NcIjpcImFlXCIsXHJcbiAgICBcIuqctVwiOlwiYW9cIixcclxuICAgIFwi6py3XCI6XCJhdVwiLFxyXG4gICAgXCLqnLlcIjpcImF2XCIsXHJcbiAgICBcIuqcu1wiOlwiYXZcIixcclxuICAgIFwi6py9XCI6XCJheVwiLFxyXG4gICAgXCLhuINcIjpcImJcIixcclxuICAgIFwi4biFXCI6XCJiXCIsXHJcbiAgICBcIsmTXCI6XCJiXCIsXHJcbiAgICBcIuG4h1wiOlwiYlwiLFxyXG4gICAgXCLhtaxcIjpcImJcIixcclxuICAgIFwi4baAXCI6XCJiXCIsXHJcbiAgICBcIsaAXCI6XCJiXCIsXHJcbiAgICBcIsaDXCI6XCJiXCIsXHJcbiAgICBcIsm1XCI6XCJvXCIsXHJcbiAgICBcIsSHXCI6XCJjXCIsXHJcbiAgICBcIsSNXCI6XCJjXCIsXHJcbiAgICBcIsOnXCI6XCJjXCIsXHJcbiAgICBcIuG4iVwiOlwiY1wiLFxyXG4gICAgXCLEiVwiOlwiY1wiLFxyXG4gICAgXCLJlVwiOlwiY1wiLFxyXG4gICAgXCLEi1wiOlwiY1wiLFxyXG4gICAgXCLGiFwiOlwiY1wiLFxyXG4gICAgXCLIvFwiOlwiY1wiLFxyXG4gICAgXCLEj1wiOlwiZFwiLFxyXG4gICAgXCLhuJFcIjpcImRcIixcclxuICAgIFwi4biTXCI6XCJkXCIsXHJcbiAgICBcIsihXCI6XCJkXCIsXHJcbiAgICBcIuG4i1wiOlwiZFwiLFxyXG4gICAgXCLhuI1cIjpcImRcIixcclxuICAgIFwiyZdcIjpcImRcIixcclxuICAgIFwi4baRXCI6XCJkXCIsXHJcbiAgICBcIuG4j1wiOlwiZFwiLFxyXG4gICAgXCLhta1cIjpcImRcIixcclxuICAgIFwi4baBXCI6XCJkXCIsXHJcbiAgICBcIsSRXCI6XCJkXCIsXHJcbiAgICBcIsmWXCI6XCJkXCIsXHJcbiAgICBcIsaMXCI6XCJkXCIsXHJcbiAgICBcIsSxXCI6XCJpXCIsXHJcbiAgICBcIsi3XCI6XCJqXCIsXHJcbiAgICBcIsmfXCI6XCJqXCIsXHJcbiAgICBcIsqEXCI6XCJqXCIsXHJcbiAgICBcIsezXCI6XCJkelwiLFxyXG4gICAgXCLHhlwiOlwiZHpcIixcclxuICAgIFwiw6lcIjpcImVcIixcclxuICAgIFwixJVcIjpcImVcIixcclxuICAgIFwixJtcIjpcImVcIixcclxuICAgIFwiyKlcIjpcImVcIixcclxuICAgIFwi4bidXCI6XCJlXCIsXHJcbiAgICBcIsOqXCI6XCJlXCIsXHJcbiAgICBcIuG6v1wiOlwiZVwiLFxyXG4gICAgXCLhu4dcIjpcImVcIixcclxuICAgIFwi4buBXCI6XCJlXCIsXHJcbiAgICBcIuG7g1wiOlwiZVwiLFxyXG4gICAgXCLhu4VcIjpcImVcIixcclxuICAgIFwi4biZXCI6XCJlXCIsXHJcbiAgICBcIsOrXCI6XCJlXCIsXHJcbiAgICBcIsSXXCI6XCJlXCIsXHJcbiAgICBcIuG6uVwiOlwiZVwiLFxyXG4gICAgXCLIhVwiOlwiZVwiLFxyXG4gICAgXCLDqFwiOlwiZVwiLFxyXG4gICAgXCLhurtcIjpcImVcIixcclxuICAgIFwiyIdcIjpcImVcIixcclxuICAgIFwixJNcIjpcImVcIixcclxuICAgIFwi4biXXCI6XCJlXCIsXHJcbiAgICBcIuG4lVwiOlwiZVwiLFxyXG4gICAgXCLisbhcIjpcImVcIixcclxuICAgIFwixJlcIjpcImVcIixcclxuICAgIFwi4baSXCI6XCJlXCIsXHJcbiAgICBcIsmHXCI6XCJlXCIsXHJcbiAgICBcIuG6vVwiOlwiZVwiLFxyXG4gICAgXCLhuJtcIjpcImVcIixcclxuICAgIFwi6p2rXCI6XCJldFwiLFxyXG4gICAgXCLhuJ9cIjpcImZcIixcclxuICAgIFwixpJcIjpcImZcIixcclxuICAgIFwi4bWuXCI6XCJmXCIsXHJcbiAgICBcIuG2glwiOlwiZlwiLFxyXG4gICAgXCLHtVwiOlwiZ1wiLFxyXG4gICAgXCLEn1wiOlwiZ1wiLFxyXG4gICAgXCLHp1wiOlwiZ1wiLFxyXG4gICAgXCLEo1wiOlwiZ1wiLFxyXG4gICAgXCLEnVwiOlwiZ1wiLFxyXG4gICAgXCLEoVwiOlwiZ1wiLFxyXG4gICAgXCLJoFwiOlwiZ1wiLFxyXG4gICAgXCLhuKFcIjpcImdcIixcclxuICAgIFwi4baDXCI6XCJnXCIsXHJcbiAgICBcIselXCI6XCJnXCIsXHJcbiAgICBcIuG4q1wiOlwiaFwiLFxyXG4gICAgXCLIn1wiOlwiaFwiLFxyXG4gICAgXCLhuKlcIjpcImhcIixcclxuICAgIFwixKVcIjpcImhcIixcclxuICAgIFwi4rGoXCI6XCJoXCIsXHJcbiAgICBcIuG4p1wiOlwiaFwiLFxyXG4gICAgXCLhuKNcIjpcImhcIixcclxuICAgIFwi4bilXCI6XCJoXCIsXHJcbiAgICBcIsmmXCI6XCJoXCIsXHJcbiAgICBcIuG6llwiOlwiaFwiLFxyXG4gICAgXCLEp1wiOlwiaFwiLFxyXG4gICAgXCLGlVwiOlwiaHZcIixcclxuICAgIFwiw61cIjpcImlcIixcclxuICAgIFwixK1cIjpcImlcIixcclxuICAgIFwix5BcIjpcImlcIixcclxuICAgIFwiw65cIjpcImlcIixcclxuICAgIFwiw69cIjpcImlcIixcclxuICAgIFwi4bivXCI6XCJpXCIsXHJcbiAgICBcIuG7i1wiOlwiaVwiLFxyXG4gICAgXCLIiVwiOlwiaVwiLFxyXG4gICAgXCLDrFwiOlwiaVwiLFxyXG4gICAgXCLhu4lcIjpcImlcIixcclxuICAgIFwiyItcIjpcImlcIixcclxuICAgIFwixKtcIjpcImlcIixcclxuICAgIFwixK9cIjpcImlcIixcclxuICAgIFwi4baWXCI6XCJpXCIsXHJcbiAgICBcIsmoXCI6XCJpXCIsXHJcbiAgICBcIsSpXCI6XCJpXCIsXHJcbiAgICBcIuG4rVwiOlwiaVwiLFxyXG4gICAgXCLqnbpcIjpcImRcIixcclxuICAgIFwi6p28XCI6XCJmXCIsXHJcbiAgICBcIuG1uVwiOlwiZ1wiLFxyXG4gICAgXCLqnoNcIjpcInJcIixcclxuICAgIFwi6p6FXCI6XCJzXCIsXHJcbiAgICBcIuqeh1wiOlwidFwiLFxyXG4gICAgXCLqna1cIjpcImlzXCIsXHJcbiAgICBcIsewXCI6XCJqXCIsXHJcbiAgICBcIsS1XCI6XCJqXCIsXHJcbiAgICBcIsqdXCI6XCJqXCIsXHJcbiAgICBcIsmJXCI6XCJqXCIsXHJcbiAgICBcIuG4sVwiOlwia1wiLFxyXG4gICAgXCLHqVwiOlwia1wiLFxyXG4gICAgXCLEt1wiOlwia1wiLFxyXG4gICAgXCLisapcIjpcImtcIixcclxuICAgIFwi6p2DXCI6XCJrXCIsXHJcbiAgICBcIuG4s1wiOlwia1wiLFxyXG4gICAgXCLGmVwiOlwia1wiLFxyXG4gICAgXCLhuLVcIjpcImtcIixcclxuICAgIFwi4baEXCI6XCJrXCIsXHJcbiAgICBcIuqdgVwiOlwia1wiLFxyXG4gICAgXCLqnYVcIjpcImtcIixcclxuICAgIFwixLpcIjpcImxcIixcclxuICAgIFwixppcIjpcImxcIixcclxuICAgIFwiyaxcIjpcImxcIixcclxuICAgIFwixL5cIjpcImxcIixcclxuICAgIFwixLxcIjpcImxcIixcclxuICAgIFwi4bi9XCI6XCJsXCIsXHJcbiAgICBcIsi0XCI6XCJsXCIsXHJcbiAgICBcIuG4t1wiOlwibFwiLFxyXG4gICAgXCLhuLlcIjpcImxcIixcclxuICAgIFwi4rGhXCI6XCJsXCIsXHJcbiAgICBcIuqdiVwiOlwibFwiLFxyXG4gICAgXCLhuLtcIjpcImxcIixcclxuICAgIFwixYBcIjpcImxcIixcclxuICAgIFwiyatcIjpcImxcIixcclxuICAgIFwi4baFXCI6XCJsXCIsXHJcbiAgICBcIsmtXCI6XCJsXCIsXHJcbiAgICBcIsWCXCI6XCJsXCIsXHJcbiAgICBcIseJXCI6XCJsalwiLFxyXG4gICAgXCLFv1wiOlwic1wiLFxyXG4gICAgXCLhupxcIjpcInNcIixcclxuICAgIFwi4bqbXCI6XCJzXCIsXHJcbiAgICBcIuG6nVwiOlwic1wiLFxyXG4gICAgXCLhuL9cIjpcIm1cIixcclxuICAgIFwi4bmBXCI6XCJtXCIsXHJcbiAgICBcIuG5g1wiOlwibVwiLFxyXG4gICAgXCLJsVwiOlwibVwiLFxyXG4gICAgXCLhta9cIjpcIm1cIixcclxuICAgIFwi4baGXCI6XCJtXCIsXHJcbiAgICBcIsWEXCI6XCJuXCIsXHJcbiAgICBcIsWIXCI6XCJuXCIsXHJcbiAgICBcIsWGXCI6XCJuXCIsXHJcbiAgICBcIuG5i1wiOlwiblwiLFxyXG4gICAgXCLItVwiOlwiblwiLFxyXG4gICAgXCLhuYVcIjpcIm5cIixcclxuICAgIFwi4bmHXCI6XCJuXCIsXHJcbiAgICBcIse5XCI6XCJuXCIsXHJcbiAgICBcIsmyXCI6XCJuXCIsXHJcbiAgICBcIuG5iVwiOlwiblwiLFxyXG4gICAgXCLGnlwiOlwiblwiLFxyXG4gICAgXCLhtbBcIjpcIm5cIixcclxuICAgIFwi4baHXCI6XCJuXCIsXHJcbiAgICBcIsmzXCI6XCJuXCIsXHJcbiAgICBcIsOxXCI6XCJuXCIsXHJcbiAgICBcIseMXCI6XCJualwiLFxyXG4gICAgXCLDs1wiOlwib1wiLFxyXG4gICAgXCLFj1wiOlwib1wiLFxyXG4gICAgXCLHklwiOlwib1wiLFxyXG4gICAgXCLDtFwiOlwib1wiLFxyXG4gICAgXCLhu5FcIjpcIm9cIixcclxuICAgIFwi4buZXCI6XCJvXCIsXHJcbiAgICBcIuG7k1wiOlwib1wiLFxyXG4gICAgXCLhu5VcIjpcIm9cIixcclxuICAgIFwi4buXXCI6XCJvXCIsXHJcbiAgICBcIsO2XCI6XCJvXCIsXHJcbiAgICBcIsirXCI6XCJvXCIsXHJcbiAgICBcIsivXCI6XCJvXCIsXHJcbiAgICBcIsixXCI6XCJvXCIsXHJcbiAgICBcIuG7jVwiOlwib1wiLFxyXG4gICAgXCLFkVwiOlwib1wiLFxyXG4gICAgXCLIjVwiOlwib1wiLFxyXG4gICAgXCLDslwiOlwib1wiLFxyXG4gICAgXCLhu49cIjpcIm9cIixcclxuICAgIFwixqFcIjpcIm9cIixcclxuICAgIFwi4bubXCI6XCJvXCIsXHJcbiAgICBcIuG7o1wiOlwib1wiLFxyXG4gICAgXCLhu51cIjpcIm9cIixcclxuICAgIFwi4bufXCI6XCJvXCIsXHJcbiAgICBcIuG7oVwiOlwib1wiLFxyXG4gICAgXCLIj1wiOlwib1wiLFxyXG4gICAgXCLqnYtcIjpcIm9cIixcclxuICAgIFwi6p2NXCI6XCJvXCIsXHJcbiAgICBcIuKxulwiOlwib1wiLFxyXG4gICAgXCLFjVwiOlwib1wiLFxyXG4gICAgXCLhuZNcIjpcIm9cIixcclxuICAgIFwi4bmRXCI6XCJvXCIsXHJcbiAgICBcIserXCI6XCJvXCIsXHJcbiAgICBcIsetXCI6XCJvXCIsXHJcbiAgICBcIsO4XCI6XCJvXCIsXHJcbiAgICBcIse/XCI6XCJvXCIsXHJcbiAgICBcIsO1XCI6XCJvXCIsXHJcbiAgICBcIuG5jVwiOlwib1wiLFxyXG4gICAgXCLhuY9cIjpcIm9cIixcclxuICAgIFwiyK1cIjpcIm9cIixcclxuICAgIFwixqNcIjpcIm9pXCIsXHJcbiAgICBcIuqdj1wiOlwib29cIixcclxuICAgIFwiyZtcIjpcImVcIixcclxuICAgIFwi4baTXCI6XCJlXCIsXHJcbiAgICBcIsmUXCI6XCJvXCIsXHJcbiAgICBcIuG2l1wiOlwib1wiLFxyXG4gICAgXCLIo1wiOlwib3VcIixcclxuICAgIFwi4bmVXCI6XCJwXCIsXHJcbiAgICBcIuG5l1wiOlwicFwiLFxyXG4gICAgXCLqnZNcIjpcInBcIixcclxuICAgIFwixqVcIjpcInBcIixcclxuICAgIFwi4bWxXCI6XCJwXCIsXHJcbiAgICBcIuG2iFwiOlwicFwiLFxyXG4gICAgXCLqnZVcIjpcInBcIixcclxuICAgIFwi4bW9XCI6XCJwXCIsXHJcbiAgICBcIuqdkVwiOlwicFwiLFxyXG4gICAgXCLqnZlcIjpcInFcIixcclxuICAgIFwiyqBcIjpcInFcIixcclxuICAgIFwiyYtcIjpcInFcIixcclxuICAgIFwi6p2XXCI6XCJxXCIsXHJcbiAgICBcIsWVXCI6XCJyXCIsXHJcbiAgICBcIsWZXCI6XCJyXCIsXHJcbiAgICBcIsWXXCI6XCJyXCIsXHJcbiAgICBcIuG5mVwiOlwiclwiLFxyXG4gICAgXCLhuZtcIjpcInJcIixcclxuICAgIFwi4bmdXCI6XCJyXCIsXHJcbiAgICBcIsiRXCI6XCJyXCIsXHJcbiAgICBcIsm+XCI6XCJyXCIsXHJcbiAgICBcIuG1s1wiOlwiclwiLFxyXG4gICAgXCLIk1wiOlwiclwiLFxyXG4gICAgXCLhuZ9cIjpcInJcIixcclxuICAgIFwiybxcIjpcInJcIixcclxuICAgIFwi4bWyXCI6XCJyXCIsXHJcbiAgICBcIuG2iVwiOlwiclwiLFxyXG4gICAgXCLJjVwiOlwiclwiLFxyXG4gICAgXCLJvVwiOlwiclwiLFxyXG4gICAgXCLihoRcIjpcImNcIixcclxuICAgIFwi6py/XCI6XCJjXCIsXHJcbiAgICBcIsmYXCI6XCJlXCIsXHJcbiAgICBcIsm/XCI6XCJyXCIsXHJcbiAgICBcIsWbXCI6XCJzXCIsXHJcbiAgICBcIuG5pVwiOlwic1wiLFxyXG4gICAgXCLFoVwiOlwic1wiLFxyXG4gICAgXCLhuadcIjpcInNcIixcclxuICAgIFwixZ9cIjpcInNcIixcclxuICAgIFwixZ1cIjpcInNcIixcclxuICAgIFwiyJlcIjpcInNcIixcclxuICAgIFwi4bmhXCI6XCJzXCIsXHJcbiAgICBcIuG5o1wiOlwic1wiLFxyXG4gICAgXCLhualcIjpcInNcIixcclxuICAgIFwiyoJcIjpcInNcIixcclxuICAgIFwi4bW0XCI6XCJzXCIsXHJcbiAgICBcIuG2ilwiOlwic1wiLFxyXG4gICAgXCLIv1wiOlwic1wiLFxyXG4gICAgXCLJoVwiOlwiZ1wiLFxyXG4gICAgXCLhtJFcIjpcIm9cIixcclxuICAgIFwi4bSTXCI6XCJvXCIsXHJcbiAgICBcIuG0nVwiOlwidVwiLFxyXG4gICAgXCLFpVwiOlwidFwiLFxyXG4gICAgXCLFo1wiOlwidFwiLFxyXG4gICAgXCLhubFcIjpcInRcIixcclxuICAgIFwiyJtcIjpcInRcIixcclxuICAgIFwiyLZcIjpcInRcIixcclxuICAgIFwi4bqXXCI6XCJ0XCIsXHJcbiAgICBcIuKxplwiOlwidFwiLFxyXG4gICAgXCLhuatcIjpcInRcIixcclxuICAgIFwi4bmtXCI6XCJ0XCIsXHJcbiAgICBcIsatXCI6XCJ0XCIsXHJcbiAgICBcIuG5r1wiOlwidFwiLFxyXG4gICAgXCLhtbVcIjpcInRcIixcclxuICAgIFwixqtcIjpcInRcIixcclxuICAgIFwiyohcIjpcInRcIixcclxuICAgIFwixadcIjpcInRcIixcclxuICAgIFwi4bW6XCI6XCJ0aFwiLFxyXG4gICAgXCLJkFwiOlwiYVwiLFxyXG4gICAgXCLhtIJcIjpcImFlXCIsXHJcbiAgICBcIsedXCI6XCJlXCIsXHJcbiAgICBcIuG1t1wiOlwiZ1wiLFxyXG4gICAgXCLJpVwiOlwiaFwiLFxyXG4gICAgXCLKrlwiOlwiaFwiLFxyXG4gICAgXCLKr1wiOlwiaFwiLFxyXG4gICAgXCLhtIlcIjpcImlcIixcclxuICAgIFwiyp5cIjpcImtcIixcclxuICAgIFwi6p6BXCI6XCJsXCIsXHJcbiAgICBcIsmvXCI6XCJtXCIsXHJcbiAgICBcIsmwXCI6XCJtXCIsXHJcbiAgICBcIuG0lFwiOlwib2VcIixcclxuICAgIFwiyblcIjpcInJcIixcclxuICAgIFwiybtcIjpcInJcIixcclxuICAgIFwiybpcIjpcInJcIixcclxuICAgIFwi4rG5XCI6XCJyXCIsXHJcbiAgICBcIsqHXCI6XCJ0XCIsXHJcbiAgICBcIsqMXCI6XCJ2XCIsXHJcbiAgICBcIsqNXCI6XCJ3XCIsXHJcbiAgICBcIsqOXCI6XCJ5XCIsXHJcbiAgICBcIuqcqVwiOlwidHpcIixcclxuICAgIFwiw7pcIjpcInVcIixcclxuICAgIFwixa1cIjpcInVcIixcclxuICAgIFwix5RcIjpcInVcIixcclxuICAgIFwiw7tcIjpcInVcIixcclxuICAgIFwi4bm3XCI6XCJ1XCIsXHJcbiAgICBcIsO8XCI6XCJ1XCIsXHJcbiAgICBcIseYXCI6XCJ1XCIsXHJcbiAgICBcIseaXCI6XCJ1XCIsXHJcbiAgICBcIsecXCI6XCJ1XCIsXHJcbiAgICBcIseWXCI6XCJ1XCIsXHJcbiAgICBcIuG5s1wiOlwidVwiLFxyXG4gICAgXCLhu6VcIjpcInVcIixcclxuICAgIFwixbFcIjpcInVcIixcclxuICAgIFwiyJVcIjpcInVcIixcclxuICAgIFwiw7lcIjpcInVcIixcclxuICAgIFwi4bunXCI6XCJ1XCIsXHJcbiAgICBcIsawXCI6XCJ1XCIsXHJcbiAgICBcIuG7qVwiOlwidVwiLFxyXG4gICAgXCLhu7FcIjpcInVcIixcclxuICAgIFwi4burXCI6XCJ1XCIsXHJcbiAgICBcIuG7rVwiOlwidVwiLFxyXG4gICAgXCLhu69cIjpcInVcIixcclxuICAgIFwiyJdcIjpcInVcIixcclxuICAgIFwixatcIjpcInVcIixcclxuICAgIFwi4bm7XCI6XCJ1XCIsXHJcbiAgICBcIsWzXCI6XCJ1XCIsXHJcbiAgICBcIuG2mVwiOlwidVwiLFxyXG4gICAgXCLFr1wiOlwidVwiLFxyXG4gICAgXCLFqVwiOlwidVwiLFxyXG4gICAgXCLhublcIjpcInVcIixcclxuICAgIFwi4bm1XCI6XCJ1XCIsXHJcbiAgICBcIuG1q1wiOlwidWVcIixcclxuICAgIFwi6p24XCI6XCJ1bVwiLFxyXG4gICAgXCLisbRcIjpcInZcIixcclxuICAgIFwi6p2fXCI6XCJ2XCIsXHJcbiAgICBcIuG5v1wiOlwidlwiLFxyXG4gICAgXCLKi1wiOlwidlwiLFxyXG4gICAgXCLhtoxcIjpcInZcIixcclxuICAgIFwi4rGxXCI6XCJ2XCIsXHJcbiAgICBcIuG5vVwiOlwidlwiLFxyXG4gICAgXCLqnaFcIjpcInZ5XCIsXHJcbiAgICBcIuG6g1wiOlwid1wiLFxyXG4gICAgXCLFtVwiOlwid1wiLFxyXG4gICAgXCLhuoVcIjpcIndcIixcclxuICAgIFwi4bqHXCI6XCJ3XCIsXHJcbiAgICBcIuG6iVwiOlwid1wiLFxyXG4gICAgXCLhuoFcIjpcIndcIixcclxuICAgIFwi4rGzXCI6XCJ3XCIsXHJcbiAgICBcIuG6mFwiOlwid1wiLFxyXG4gICAgXCLhuo1cIjpcInhcIixcclxuICAgIFwi4bqLXCI6XCJ4XCIsXHJcbiAgICBcIuG2jVwiOlwieFwiLFxyXG4gICAgXCLDvVwiOlwieVwiLFxyXG4gICAgXCLFt1wiOlwieVwiLFxyXG4gICAgXCLDv1wiOlwieVwiLFxyXG4gICAgXCLhuo9cIjpcInlcIixcclxuICAgIFwi4bu1XCI6XCJ5XCIsXHJcbiAgICBcIuG7s1wiOlwieVwiLFxyXG4gICAgXCLGtFwiOlwieVwiLFxyXG4gICAgXCLhu7dcIjpcInlcIixcclxuICAgIFwi4bu/XCI6XCJ5XCIsXHJcbiAgICBcIsizXCI6XCJ5XCIsXHJcbiAgICBcIuG6mVwiOlwieVwiLFxyXG4gICAgXCLJj1wiOlwieVwiLFxyXG4gICAgXCLhu7lcIjpcInlcIixcclxuICAgIFwixbpcIjpcInpcIixcclxuICAgIFwixb5cIjpcInpcIixcclxuICAgIFwi4bqRXCI6XCJ6XCIsXHJcbiAgICBcIsqRXCI6XCJ6XCIsXHJcbiAgICBcIuKxrFwiOlwielwiLFxyXG4gICAgXCLFvFwiOlwielwiLFxyXG4gICAgXCLhupNcIjpcInpcIixcclxuICAgIFwiyKVcIjpcInpcIixcclxuICAgIFwi4bqVXCI6XCJ6XCIsXHJcbiAgICBcIuG1tlwiOlwielwiLFxyXG4gICAgXCLhto5cIjpcInpcIixcclxuICAgIFwiypBcIjpcInpcIixcclxuICAgIFwixrZcIjpcInpcIixcclxuICAgIFwiyYBcIjpcInpcIixcclxuICAgIFwi76yAXCI6XCJmZlwiLFxyXG4gICAgXCLvrINcIjpcImZmaVwiLFxyXG4gICAgXCLvrIRcIjpcImZmbFwiLFxyXG4gICAgXCLvrIFcIjpcImZpXCIsXHJcbiAgICBcIu+sglwiOlwiZmxcIixcclxuICAgIFwixLNcIjpcImlqXCIsXHJcbiAgICBcIsWTXCI6XCJvZVwiLFxyXG4gICAgXCLvrIZcIjpcInN0XCIsXHJcbiAgICBcIuKCkFwiOlwiYVwiLFxyXG4gICAgXCLigpFcIjpcImVcIixcclxuICAgIFwi4bWiXCI6XCJpXCIsXHJcbiAgICBcIuKxvFwiOlwialwiLFxyXG4gICAgXCLigpJcIjpcIm9cIixcclxuICAgIFwi4bWjXCI6XCJyXCIsXHJcbiAgICBcIuG1pFwiOlwidVwiLFxyXG4gICAgXCLhtaVcIjpcInZcIixcclxuICAgIFwi4oKTXCI6XCJ4XCJ9O1xyXG5TdHJpbmcucHJvdG90eXBlLmxhdGluaXNlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVwbGFjZSgvW15BLVphLXowLTlcXFtcXF0gXS9nLGZ1bmN0aW9uKGEpe3JldHVybiBMYXRpbmlzZS5sYXRpbl9tYXBbYV18fGF9KX07XHJcblN0cmluZy5wcm90b3R5cGUubGF0aW5pemU9U3RyaW5nLnByb3RvdHlwZS5sYXRpbmlzZTtcclxuU3RyaW5nLnByb3RvdHlwZS5pc0xhdGluPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXM9PXRoaXMubGF0aW5pc2UoKX1cclxuIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFJQSxRQUFRLEdBQUMsQ0FBQyxDQUFDO0FBQUNBLFFBQVEsQ0FBQ0MsU0FBUyxHQUFDO0VBQUMsR0FBRyxFQUFDLEdBQUc7RUFDdkMsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEtBQUs7RUFDVCxHQUFHLEVBQUMsS0FBSztFQUNULEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDO0FBQUcsQ0FBQztBQUNaQyxNQUFNLENBQUNDLFNBQVMsQ0FBQ0MsUUFBUSxHQUFDLFlBQVU7RUFBQyxPQUFPLElBQUksQ0FBQ0MsT0FBTyxDQUFDLG9CQUFvQixFQUFDLFVBQVNDLENBQUMsRUFBQztJQUFDLE9BQU9OLFFBQVEsQ0FBQ0MsU0FBUyxDQUFDSyxDQUFDLENBQUMsSUFBRUEsQ0FBQztFQUFBLENBQUMsQ0FBQztBQUFBLENBQUM7QUFDNUhKLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDSSxRQUFRLEdBQUNMLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRO0FBQ25ERixNQUFNLENBQUNDLFNBQVMsQ0FBQ0ssT0FBTyxHQUFDLFlBQVU7RUFBQyxPQUFPLElBQUksSUFBRSxJQUFJLENBQUNKLFFBQVEsQ0FBQyxDQUFDO0FBQUEsQ0FBQyIsImlnbm9yZUxpc3QiOltdLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvbGF0aW5pc2UuanMiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/latinise.js\n\n}"); +eval("{var Latinise = {};\nLatinise.latin_map = {\n \"Á\": \"A\",\n \"Ă\": \"A\",\n \"Ắ\": \"A\",\n \"Ặ\": \"A\",\n \"Ằ\": \"A\",\n \"Ẳ\": \"A\",\n \"Ẵ\": \"A\",\n \"Ǎ\": \"A\",\n \"Â\": \"A\",\n \"Ấ\": \"A\",\n \"Ậ\": \"A\",\n \"Ầ\": \"A\",\n \"Ẩ\": \"A\",\n \"Ẫ\": \"A\",\n \"Ä\": \"A\",\n \"Ǟ\": \"A\",\n \"Ȧ\": \"A\",\n \"Ǡ\": \"A\",\n \"Ạ\": \"A\",\n \"Ȁ\": \"A\",\n \"À\": \"A\",\n \"Ả\": \"A\",\n \"Ȃ\": \"A\",\n \"Ā\": \"A\",\n \"Ą\": \"A\",\n \"Å\": \"A\",\n \"Ǻ\": \"A\",\n \"Ḁ\": \"A\",\n \"Ⱥ\": \"A\",\n \"Ã\": \"A\",\n \"Ꜳ\": \"AA\",\n \"Æ\": \"AE\",\n \"Ǽ\": \"AE\",\n \"Ǣ\": \"AE\",\n \"Ꜵ\": \"AO\",\n \"Ꜷ\": \"AU\",\n \"Ꜹ\": \"AV\",\n \"Ꜻ\": \"AV\",\n \"Ꜽ\": \"AY\",\n \"Ḃ\": \"B\",\n \"Ḅ\": \"B\",\n \"Ɓ\": \"B\",\n \"Ḇ\": \"B\",\n \"Ƀ\": \"B\",\n \"Ƃ\": \"B\",\n \"Ć\": \"C\",\n \"Č\": \"C\",\n \"Ç\": \"C\",\n \"Ḉ\": \"C\",\n \"Ĉ\": \"C\",\n \"Ċ\": \"C\",\n \"Ƈ\": \"C\",\n \"Ȼ\": \"C\",\n \"Ď\": \"D\",\n \"Ḑ\": \"D\",\n \"Ḓ\": \"D\",\n \"Ḋ\": \"D\",\n \"Ḍ\": \"D\",\n \"Ɗ\": \"D\",\n \"Ḏ\": \"D\",\n \"Dz\": \"D\",\n \"Dž\": \"D\",\n \"Đ\": \"D\",\n \"Ƌ\": \"D\",\n \"DZ\": \"DZ\",\n \"DŽ\": \"DZ\",\n \"É\": \"E\",\n \"Ĕ\": \"E\",\n \"Ě\": \"E\",\n \"Ȩ\": \"E\",\n \"Ḝ\": \"E\",\n \"Ê\": \"E\",\n \"Ế\": \"E\",\n \"Ệ\": \"E\",\n \"Ề\": \"E\",\n \"Ể\": \"E\",\n \"Ễ\": \"E\",\n \"Ḙ\": \"E\",\n \"Ë\": \"E\",\n \"Ė\": \"E\",\n \"Ẹ\": \"E\",\n \"Ȅ\": \"E\",\n \"È\": \"E\",\n \"Ẻ\": \"E\",\n \"Ȇ\": \"E\",\n \"Ē\": \"E\",\n \"Ḗ\": \"E\",\n \"Ḕ\": \"E\",\n \"Ę\": \"E\",\n \"Ɇ\": \"E\",\n \"Ẽ\": \"E\",\n \"Ḛ\": \"E\",\n \"Ꝫ\": \"ET\",\n \"Ḟ\": \"F\",\n \"Ƒ\": \"F\",\n \"Ǵ\": \"G\",\n \"Ğ\": \"G\",\n \"Ǧ\": \"G\",\n \"Ģ\": \"G\",\n \"Ĝ\": \"G\",\n \"Ġ\": \"G\",\n \"Ɠ\": \"G\",\n \"Ḡ\": \"G\",\n \"Ǥ\": \"G\",\n \"Ḫ\": \"H\",\n \"Ȟ\": \"H\",\n \"Ḩ\": \"H\",\n \"Ĥ\": \"H\",\n \"Ⱨ\": \"H\",\n \"Ḧ\": \"H\",\n \"Ḣ\": \"H\",\n \"Ḥ\": \"H\",\n \"Ħ\": \"H\",\n \"Í\": \"I\",\n \"Ĭ\": \"I\",\n \"Ǐ\": \"I\",\n \"Î\": \"I\",\n \"Ï\": \"I\",\n \"Ḯ\": \"I\",\n \"İ\": \"I\",\n \"Ị\": \"I\",\n \"Ȉ\": \"I\",\n \"Ì\": \"I\",\n \"Ỉ\": \"I\",\n \"Ȋ\": \"I\",\n \"Ī\": \"I\",\n \"Į\": \"I\",\n \"Ɨ\": \"I\",\n \"Ĩ\": \"I\",\n \"Ḭ\": \"I\",\n \"Ꝺ\": \"D\",\n \"Ꝼ\": \"F\",\n \"Ᵹ\": \"G\",\n \"Ꞃ\": \"R\",\n \"Ꞅ\": \"S\",\n \"Ꞇ\": \"T\",\n \"Ꝭ\": \"IS\",\n \"Ĵ\": \"J\",\n \"Ɉ\": \"J\",\n \"Ḱ\": \"K\",\n \"Ǩ\": \"K\",\n \"Ķ\": \"K\",\n \"Ⱪ\": \"K\",\n \"Ꝃ\": \"K\",\n \"Ḳ\": \"K\",\n \"Ƙ\": \"K\",\n \"Ḵ\": \"K\",\n \"Ꝁ\": \"K\",\n \"Ꝅ\": \"K\",\n \"Ĺ\": \"L\",\n \"Ƚ\": \"L\",\n \"Ľ\": \"L\",\n \"Ļ\": \"L\",\n \"Ḽ\": \"L\",\n \"Ḷ\": \"L\",\n \"Ḹ\": \"L\",\n \"Ⱡ\": \"L\",\n \"Ꝉ\": \"L\",\n \"Ḻ\": \"L\",\n \"Ŀ\": \"L\",\n \"Ɫ\": \"L\",\n \"Lj\": \"L\",\n \"Ł\": \"L\",\n \"LJ\": \"LJ\",\n \"Ḿ\": \"M\",\n \"Ṁ\": \"M\",\n \"Ṃ\": \"M\",\n \"Ɱ\": \"M\",\n \"Ń\": \"N\",\n \"Ň\": \"N\",\n \"Ņ\": \"N\",\n \"Ṋ\": \"N\",\n \"Ṅ\": \"N\",\n \"Ṇ\": \"N\",\n \"Ǹ\": \"N\",\n \"Ɲ\": \"N\",\n \"Ṉ\": \"N\",\n \"Ƞ\": \"N\",\n \"Nj\": \"N\",\n \"Ñ\": \"N\",\n \"NJ\": \"NJ\",\n \"Ó\": \"O\",\n \"Ŏ\": \"O\",\n \"Ǒ\": \"O\",\n \"Ô\": \"O\",\n \"Ố\": \"O\",\n \"Ộ\": \"O\",\n \"Ồ\": \"O\",\n \"Ổ\": \"O\",\n \"Ỗ\": \"O\",\n \"Ö\": \"O\",\n \"Ȫ\": \"O\",\n \"Ȯ\": \"O\",\n \"Ȱ\": \"O\",\n \"Ọ\": \"O\",\n \"Ő\": \"O\",\n \"Ȍ\": \"O\",\n \"Ò\": \"O\",\n \"Ỏ\": \"O\",\n \"Ơ\": \"O\",\n \"Ớ\": \"O\",\n \"Ợ\": \"O\",\n \"Ờ\": \"O\",\n \"Ở\": \"O\",\n \"Ỡ\": \"O\",\n \"Ȏ\": \"O\",\n \"Ꝋ\": \"O\",\n \"Ꝍ\": \"O\",\n \"Ō\": \"O\",\n \"Ṓ\": \"O\",\n \"Ṑ\": \"O\",\n \"Ɵ\": \"O\",\n \"Ǫ\": \"O\",\n \"Ǭ\": \"O\",\n \"Ø\": \"O\",\n \"Ǿ\": \"O\",\n \"Õ\": \"O\",\n \"Ṍ\": \"O\",\n \"Ṏ\": \"O\",\n \"Ȭ\": \"O\",\n \"Ƣ\": \"OI\",\n \"Ꝏ\": \"OO\",\n \"Ɛ\": \"E\",\n \"Ɔ\": \"O\",\n \"Ȣ\": \"OU\",\n \"Ṕ\": \"P\",\n \"Ṗ\": \"P\",\n \"Ꝓ\": \"P\",\n \"Ƥ\": \"P\",\n \"Ꝕ\": \"P\",\n \"Ᵽ\": \"P\",\n \"Ꝑ\": \"P\",\n \"Ꝙ\": \"Q\",\n \"Ꝗ\": \"Q\",\n \"Ŕ\": \"R\",\n \"Ř\": \"R\",\n \"Ŗ\": \"R\",\n \"Ṙ\": \"R\",\n \"Ṛ\": \"R\",\n \"Ṝ\": \"R\",\n \"Ȑ\": \"R\",\n \"Ȓ\": \"R\",\n \"Ṟ\": \"R\",\n \"Ɍ\": \"R\",\n \"Ɽ\": \"R\",\n \"Ꜿ\": \"C\",\n \"Ǝ\": \"E\",\n \"Ś\": \"S\",\n \"Ṥ\": \"S\",\n \"Š\": \"S\",\n \"Ṧ\": \"S\",\n \"Ş\": \"S\",\n \"Ŝ\": \"S\",\n \"Ș\": \"S\",\n \"Ṡ\": \"S\",\n \"Ṣ\": \"S\",\n \"Ṩ\": \"S\",\n \"Ť\": \"T\",\n \"Ţ\": \"T\",\n \"Ṱ\": \"T\",\n \"Ț\": \"T\",\n \"Ⱦ\": \"T\",\n \"Ṫ\": \"T\",\n \"Ṭ\": \"T\",\n \"Ƭ\": \"T\",\n \"Ṯ\": \"T\",\n \"Ʈ\": \"T\",\n \"Ŧ\": \"T\",\n \"Ɐ\": \"A\",\n \"Ꞁ\": \"L\",\n \"Ɯ\": \"M\",\n \"Ʌ\": \"V\",\n \"Ꜩ\": \"TZ\",\n \"Ú\": \"U\",\n \"Ŭ\": \"U\",\n \"Ǔ\": \"U\",\n \"Û\": \"U\",\n \"Ṷ\": \"U\",\n \"Ü\": \"U\",\n \"Ǘ\": \"U\",\n \"Ǚ\": \"U\",\n \"Ǜ\": \"U\",\n \"Ǖ\": \"U\",\n \"Ṳ\": \"U\",\n \"Ụ\": \"U\",\n \"Ű\": \"U\",\n \"Ȕ\": \"U\",\n \"Ù\": \"U\",\n \"Ủ\": \"U\",\n \"Ư\": \"U\",\n \"Ứ\": \"U\",\n \"Ự\": \"U\",\n \"Ừ\": \"U\",\n \"Ử\": \"U\",\n \"Ữ\": \"U\",\n \"Ȗ\": \"U\",\n \"Ū\": \"U\",\n \"Ṻ\": \"U\",\n \"Ų\": \"U\",\n \"Ů\": \"U\",\n \"Ũ\": \"U\",\n \"Ṹ\": \"U\",\n \"Ṵ\": \"U\",\n \"Ꝟ\": \"V\",\n \"Ṿ\": \"V\",\n \"Ʋ\": \"V\",\n \"Ṽ\": \"V\",\n \"Ꝡ\": \"VY\",\n \"Ẃ\": \"W\",\n \"Ŵ\": \"W\",\n \"Ẅ\": \"W\",\n \"Ẇ\": \"W\",\n \"Ẉ\": \"W\",\n \"Ẁ\": \"W\",\n \"Ⱳ\": \"W\",\n \"Ẍ\": \"X\",\n \"Ẋ\": \"X\",\n \"Ý\": \"Y\",\n \"Ŷ\": \"Y\",\n \"Ÿ\": \"Y\",\n \"Ẏ\": \"Y\",\n \"Ỵ\": \"Y\",\n \"Ỳ\": \"Y\",\n \"Ƴ\": \"Y\",\n \"Ỷ\": \"Y\",\n \"Ỿ\": \"Y\",\n \"Ȳ\": \"Y\",\n \"Ɏ\": \"Y\",\n \"Ỹ\": \"Y\",\n \"Ź\": \"Z\",\n \"Ž\": \"Z\",\n \"Ẑ\": \"Z\",\n \"Ⱬ\": \"Z\",\n \"Ż\": \"Z\",\n \"Ẓ\": \"Z\",\n \"Ȥ\": \"Z\",\n \"Ẕ\": \"Z\",\n \"Ƶ\": \"Z\",\n \"IJ\": \"IJ\",\n \"Œ\": \"OE\",\n \"ᴀ\": \"A\",\n \"ᴁ\": \"AE\",\n \"ʙ\": \"B\",\n \"ᴃ\": \"B\",\n \"ᴄ\": \"C\",\n \"ᴅ\": \"D\",\n \"ᴇ\": \"E\",\n \"ꜰ\": \"F\",\n \"ɢ\": \"G\",\n \"ʛ\": \"G\",\n \"ʜ\": \"H\",\n \"ɪ\": \"I\",\n \"ʁ\": \"R\",\n \"ᴊ\": \"J\",\n \"ᴋ\": \"K\",\n \"ʟ\": \"L\",\n \"ᴌ\": \"L\",\n \"ᴍ\": \"M\",\n \"ɴ\": \"N\",\n \"ᴏ\": \"O\",\n \"ɶ\": \"OE\",\n \"ᴐ\": \"O\",\n \"ᴕ\": \"OU\",\n \"ᴘ\": \"P\",\n \"ʀ\": \"R\",\n \"ᴎ\": \"N\",\n \"ᴙ\": \"R\",\n \"ꜱ\": \"S\",\n \"ᴛ\": \"T\",\n \"ⱻ\": \"E\",\n \"ᴚ\": \"R\",\n \"ᴜ\": \"U\",\n \"ᴠ\": \"V\",\n \"ᴡ\": \"W\",\n \"ʏ\": \"Y\",\n \"ᴢ\": \"Z\",\n \"á\": \"a\",\n \"ă\": \"a\",\n \"ắ\": \"a\",\n \"ặ\": \"a\",\n \"ằ\": \"a\",\n \"ẳ\": \"a\",\n \"ẵ\": \"a\",\n \"ǎ\": \"a\",\n \"â\": \"a\",\n \"ấ\": \"a\",\n \"ậ\": \"a\",\n \"ầ\": \"a\",\n \"ẩ\": \"a\",\n \"ẫ\": \"a\",\n \"ä\": \"a\",\n \"ǟ\": \"a\",\n \"ȧ\": \"a\",\n \"ǡ\": \"a\",\n \"ạ\": \"a\",\n \"ȁ\": \"a\",\n \"à\": \"a\",\n \"ả\": \"a\",\n \"ȃ\": \"a\",\n \"ā\": \"a\",\n \"ą\": \"a\",\n \"ᶏ\": \"a\",\n \"ẚ\": \"a\",\n \"å\": \"a\",\n \"ǻ\": \"a\",\n \"ḁ\": \"a\",\n \"ⱥ\": \"a\",\n \"ã\": \"a\",\n \"ꜳ\": \"aa\",\n \"æ\": \"ae\",\n \"ǽ\": \"ae\",\n \"ǣ\": \"ae\",\n \"ꜵ\": \"ao\",\n \"ꜷ\": \"au\",\n \"ꜹ\": \"av\",\n \"ꜻ\": \"av\",\n \"ꜽ\": \"ay\",\n \"ḃ\": \"b\",\n \"ḅ\": \"b\",\n \"ɓ\": \"b\",\n \"ḇ\": \"b\",\n \"ᵬ\": \"b\",\n \"ᶀ\": \"b\",\n \"ƀ\": \"b\",\n \"ƃ\": \"b\",\n \"ɵ\": \"o\",\n \"ć\": \"c\",\n \"č\": \"c\",\n \"ç\": \"c\",\n \"ḉ\": \"c\",\n \"ĉ\": \"c\",\n \"ɕ\": \"c\",\n \"ċ\": \"c\",\n \"ƈ\": \"c\",\n \"ȼ\": \"c\",\n \"ď\": \"d\",\n \"ḑ\": \"d\",\n \"ḓ\": \"d\",\n \"ȡ\": \"d\",\n \"ḋ\": \"d\",\n \"ḍ\": \"d\",\n \"ɗ\": \"d\",\n \"ᶑ\": \"d\",\n \"ḏ\": \"d\",\n \"ᵭ\": \"d\",\n \"ᶁ\": \"d\",\n \"đ\": \"d\",\n \"ɖ\": \"d\",\n \"ƌ\": \"d\",\n \"ı\": \"i\",\n \"ȷ\": \"j\",\n \"ɟ\": \"j\",\n \"ʄ\": \"j\",\n \"dz\": \"dz\",\n \"dž\": \"dz\",\n \"é\": \"e\",\n \"ĕ\": \"e\",\n \"ě\": \"e\",\n \"ȩ\": \"e\",\n \"ḝ\": \"e\",\n \"ê\": \"e\",\n \"ế\": \"e\",\n \"ệ\": \"e\",\n \"ề\": \"e\",\n \"ể\": \"e\",\n \"ễ\": \"e\",\n \"ḙ\": \"e\",\n \"ë\": \"e\",\n \"ė\": \"e\",\n \"ẹ\": \"e\",\n \"ȅ\": \"e\",\n \"è\": \"e\",\n \"ẻ\": \"e\",\n \"ȇ\": \"e\",\n \"ē\": \"e\",\n \"ḗ\": \"e\",\n \"ḕ\": \"e\",\n \"ⱸ\": \"e\",\n \"ę\": \"e\",\n \"ᶒ\": \"e\",\n \"ɇ\": \"e\",\n \"ẽ\": \"e\",\n \"ḛ\": \"e\",\n \"ꝫ\": \"et\",\n \"ḟ\": \"f\",\n \"ƒ\": \"f\",\n \"ᵮ\": \"f\",\n \"ᶂ\": \"f\",\n \"ǵ\": \"g\",\n \"ğ\": \"g\",\n \"ǧ\": \"g\",\n \"ģ\": \"g\",\n \"ĝ\": \"g\",\n \"ġ\": \"g\",\n \"ɠ\": \"g\",\n \"ḡ\": \"g\",\n \"ᶃ\": \"g\",\n \"ǥ\": \"g\",\n \"ḫ\": \"h\",\n \"ȟ\": \"h\",\n \"ḩ\": \"h\",\n \"ĥ\": \"h\",\n \"ⱨ\": \"h\",\n \"ḧ\": \"h\",\n \"ḣ\": \"h\",\n \"ḥ\": \"h\",\n \"ɦ\": \"h\",\n \"ẖ\": \"h\",\n \"ħ\": \"h\",\n \"ƕ\": \"hv\",\n \"í\": \"i\",\n \"ĭ\": \"i\",\n \"ǐ\": \"i\",\n \"î\": \"i\",\n \"ï\": \"i\",\n \"ḯ\": \"i\",\n \"ị\": \"i\",\n \"ȉ\": \"i\",\n \"ì\": \"i\",\n \"ỉ\": \"i\",\n \"ȋ\": \"i\",\n \"ī\": \"i\",\n \"į\": \"i\",\n \"ᶖ\": \"i\",\n \"ɨ\": \"i\",\n \"ĩ\": \"i\",\n \"ḭ\": \"i\",\n \"ꝺ\": \"d\",\n \"ꝼ\": \"f\",\n \"ᵹ\": \"g\",\n \"ꞃ\": \"r\",\n \"ꞅ\": \"s\",\n \"ꞇ\": \"t\",\n \"ꝭ\": \"is\",\n \"ǰ\": \"j\",\n \"ĵ\": \"j\",\n \"ʝ\": \"j\",\n \"ɉ\": \"j\",\n \"ḱ\": \"k\",\n \"ǩ\": \"k\",\n \"ķ\": \"k\",\n \"ⱪ\": \"k\",\n \"ꝃ\": \"k\",\n \"ḳ\": \"k\",\n \"ƙ\": \"k\",\n \"ḵ\": \"k\",\n \"ᶄ\": \"k\",\n \"ꝁ\": \"k\",\n \"ꝅ\": \"k\",\n \"ĺ\": \"l\",\n \"ƚ\": \"l\",\n \"ɬ\": \"l\",\n \"ľ\": \"l\",\n \"ļ\": \"l\",\n \"ḽ\": \"l\",\n \"ȴ\": \"l\",\n \"ḷ\": \"l\",\n \"ḹ\": \"l\",\n \"ⱡ\": \"l\",\n \"ꝉ\": \"l\",\n \"ḻ\": \"l\",\n \"ŀ\": \"l\",\n \"ɫ\": \"l\",\n \"ᶅ\": \"l\",\n \"ɭ\": \"l\",\n \"ł\": \"l\",\n \"lj\": \"lj\",\n \"ſ\": \"s\",\n \"ẜ\": \"s\",\n \"ẛ\": \"s\",\n \"ẝ\": \"s\",\n \"ḿ\": \"m\",\n \"ṁ\": \"m\",\n \"ṃ\": \"m\",\n \"ɱ\": \"m\",\n \"ᵯ\": \"m\",\n \"ᶆ\": \"m\",\n \"ń\": \"n\",\n \"ň\": \"n\",\n \"ņ\": \"n\",\n \"ṋ\": \"n\",\n \"ȵ\": \"n\",\n \"ṅ\": \"n\",\n \"ṇ\": \"n\",\n \"ǹ\": \"n\",\n \"ɲ\": \"n\",\n \"ṉ\": \"n\",\n \"ƞ\": \"n\",\n \"ᵰ\": \"n\",\n \"ᶇ\": \"n\",\n \"ɳ\": \"n\",\n \"ñ\": \"n\",\n \"nj\": \"nj\",\n \"ó\": \"o\",\n \"ŏ\": \"o\",\n \"ǒ\": \"o\",\n \"ô\": \"o\",\n \"ố\": \"o\",\n \"ộ\": \"o\",\n \"ồ\": \"o\",\n \"ổ\": \"o\",\n \"ỗ\": \"o\",\n \"ö\": \"o\",\n \"ȫ\": \"o\",\n \"ȯ\": \"o\",\n \"ȱ\": \"o\",\n \"ọ\": \"o\",\n \"ő\": \"o\",\n \"ȍ\": \"o\",\n \"ò\": \"o\",\n \"ỏ\": \"o\",\n \"ơ\": \"o\",\n \"ớ\": \"o\",\n \"ợ\": \"o\",\n \"ờ\": \"o\",\n \"ở\": \"o\",\n \"ỡ\": \"o\",\n \"ȏ\": \"o\",\n \"ꝋ\": \"o\",\n \"ꝍ\": \"o\",\n \"ⱺ\": \"o\",\n \"ō\": \"o\",\n \"ṓ\": \"o\",\n \"ṑ\": \"o\",\n \"ǫ\": \"o\",\n \"ǭ\": \"o\",\n \"ø\": \"o\",\n \"ǿ\": \"o\",\n \"õ\": \"o\",\n \"ṍ\": \"o\",\n \"ṏ\": \"o\",\n \"ȭ\": \"o\",\n \"ƣ\": \"oi\",\n \"ꝏ\": \"oo\",\n \"ɛ\": \"e\",\n \"ᶓ\": \"e\",\n \"ɔ\": \"o\",\n \"ᶗ\": \"o\",\n \"ȣ\": \"ou\",\n \"ṕ\": \"p\",\n \"ṗ\": \"p\",\n \"ꝓ\": \"p\",\n \"ƥ\": \"p\",\n \"ᵱ\": \"p\",\n \"ᶈ\": \"p\",\n \"ꝕ\": \"p\",\n \"ᵽ\": \"p\",\n \"ꝑ\": \"p\",\n \"ꝙ\": \"q\",\n \"ʠ\": \"q\",\n \"ɋ\": \"q\",\n \"ꝗ\": \"q\",\n \"ŕ\": \"r\",\n \"ř\": \"r\",\n \"ŗ\": \"r\",\n \"ṙ\": \"r\",\n \"ṛ\": \"r\",\n \"ṝ\": \"r\",\n \"ȑ\": \"r\",\n \"ɾ\": \"r\",\n \"ᵳ\": \"r\",\n \"ȓ\": \"r\",\n \"ṟ\": \"r\",\n \"ɼ\": \"r\",\n \"ᵲ\": \"r\",\n \"ᶉ\": \"r\",\n \"ɍ\": \"r\",\n \"ɽ\": \"r\",\n \"ↄ\": \"c\",\n \"ꜿ\": \"c\",\n \"ɘ\": \"e\",\n \"ɿ\": \"r\",\n \"ś\": \"s\",\n \"ṥ\": \"s\",\n \"š\": \"s\",\n \"ṧ\": \"s\",\n \"ş\": \"s\",\n \"ŝ\": \"s\",\n \"ș\": \"s\",\n \"ṡ\": \"s\",\n \"ṣ\": \"s\",\n \"ṩ\": \"s\",\n \"ʂ\": \"s\",\n \"ᵴ\": \"s\",\n \"ᶊ\": \"s\",\n \"ȿ\": \"s\",\n \"ɡ\": \"g\",\n \"ᴑ\": \"o\",\n \"ᴓ\": \"o\",\n \"ᴝ\": \"u\",\n \"ť\": \"t\",\n \"ţ\": \"t\",\n \"ṱ\": \"t\",\n \"ț\": \"t\",\n \"ȶ\": \"t\",\n \"ẗ\": \"t\",\n \"ⱦ\": \"t\",\n \"ṫ\": \"t\",\n \"ṭ\": \"t\",\n \"ƭ\": \"t\",\n \"ṯ\": \"t\",\n \"ᵵ\": \"t\",\n \"ƫ\": \"t\",\n \"ʈ\": \"t\",\n \"ŧ\": \"t\",\n \"ᵺ\": \"th\",\n \"ɐ\": \"a\",\n \"ᴂ\": \"ae\",\n \"ǝ\": \"e\",\n \"ᵷ\": \"g\",\n \"ɥ\": \"h\",\n \"ʮ\": \"h\",\n \"ʯ\": \"h\",\n \"ᴉ\": \"i\",\n \"ʞ\": \"k\",\n \"ꞁ\": \"l\",\n \"ɯ\": \"m\",\n \"ɰ\": \"m\",\n \"ᴔ\": \"oe\",\n \"ɹ\": \"r\",\n \"ɻ\": \"r\",\n \"ɺ\": \"r\",\n \"ⱹ\": \"r\",\n \"ʇ\": \"t\",\n \"ʌ\": \"v\",\n \"ʍ\": \"w\",\n \"ʎ\": \"y\",\n \"ꜩ\": \"tz\",\n \"ú\": \"u\",\n \"ŭ\": \"u\",\n \"ǔ\": \"u\",\n \"û\": \"u\",\n \"ṷ\": \"u\",\n \"ü\": \"u\",\n \"ǘ\": \"u\",\n \"ǚ\": \"u\",\n \"ǜ\": \"u\",\n \"ǖ\": \"u\",\n \"ṳ\": \"u\",\n \"ụ\": \"u\",\n \"ű\": \"u\",\n \"ȕ\": \"u\",\n \"ù\": \"u\",\n \"ủ\": \"u\",\n \"ư\": \"u\",\n \"ứ\": \"u\",\n \"ự\": \"u\",\n \"ừ\": \"u\",\n \"ử\": \"u\",\n \"ữ\": \"u\",\n \"ȗ\": \"u\",\n \"ū\": \"u\",\n \"ṻ\": \"u\",\n \"ų\": \"u\",\n \"ᶙ\": \"u\",\n \"ů\": \"u\",\n \"ũ\": \"u\",\n \"ṹ\": \"u\",\n \"ṵ\": \"u\",\n \"ᵫ\": \"ue\",\n \"ꝸ\": \"um\",\n \"ⱴ\": \"v\",\n \"ꝟ\": \"v\",\n \"ṿ\": \"v\",\n \"ʋ\": \"v\",\n \"ᶌ\": \"v\",\n \"ⱱ\": \"v\",\n \"ṽ\": \"v\",\n \"ꝡ\": \"vy\",\n \"ẃ\": \"w\",\n \"ŵ\": \"w\",\n \"ẅ\": \"w\",\n \"ẇ\": \"w\",\n \"ẉ\": \"w\",\n \"ẁ\": \"w\",\n \"ⱳ\": \"w\",\n \"ẘ\": \"w\",\n \"ẍ\": \"x\",\n \"ẋ\": \"x\",\n \"ᶍ\": \"x\",\n \"ý\": \"y\",\n \"ŷ\": \"y\",\n \"ÿ\": \"y\",\n \"ẏ\": \"y\",\n \"ỵ\": \"y\",\n \"ỳ\": \"y\",\n \"ƴ\": \"y\",\n \"ỷ\": \"y\",\n \"ỿ\": \"y\",\n \"ȳ\": \"y\",\n \"ẙ\": \"y\",\n \"ɏ\": \"y\",\n \"ỹ\": \"y\",\n \"ź\": \"z\",\n \"ž\": \"z\",\n \"ẑ\": \"z\",\n \"ʑ\": \"z\",\n \"ⱬ\": \"z\",\n \"ż\": \"z\",\n \"ẓ\": \"z\",\n \"ȥ\": \"z\",\n \"ẕ\": \"z\",\n \"ᵶ\": \"z\",\n \"ᶎ\": \"z\",\n \"ʐ\": \"z\",\n \"ƶ\": \"z\",\n \"ɀ\": \"z\",\n \"ff\": \"ff\",\n \"ffi\": \"ffi\",\n \"ffl\": \"ffl\",\n \"fi\": \"fi\",\n \"fl\": \"fl\",\n \"ij\": \"ij\",\n \"œ\": \"oe\",\n \"st\": \"st\",\n \"ₐ\": \"a\",\n \"ₑ\": \"e\",\n \"ᵢ\": \"i\",\n \"ⱼ\": \"j\",\n \"ₒ\": \"o\",\n \"ᵣ\": \"r\",\n \"ᵤ\": \"u\",\n \"ᵥ\": \"v\",\n \"ₓ\": \"x\"\n};\nString.prototype.latinise = function () {\n return this.replace(/[^A-Za-z0-9\\[\\] ]/g, function (a) {\n return Latinise.latin_map[a] || a;\n });\n};\nString.prototype.latinize = String.prototype.latinise;\nString.prototype.isLatin = function () {\n return this == this.latinise();\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMYXRpbmlzZSIsImxhdGluX21hcCIsIlN0cmluZyIsInByb3RvdHlwZSIsImxhdGluaXNlIiwicmVwbGFjZSIsImEiLCJsYXRpbml6ZSIsImlzTGF0aW4iXSwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL2xhdGluaXNlLmpzP2Y5MzgiXSwic291cmNlc0NvbnRlbnQiOlsibGV0IExhdGluaXNlPXt9O0xhdGluaXNlLmxhdGluX21hcD17XCLDgVwiOlwiQVwiLFxuICAgIFwixIJcIjpcIkFcIixcbiAgICBcIuG6rlwiOlwiQVwiLFxuICAgIFwi4bq2XCI6XCJBXCIsXG4gICAgXCLhurBcIjpcIkFcIixcbiAgICBcIuG6slwiOlwiQVwiLFxuICAgIFwi4bq0XCI6XCJBXCIsXG4gICAgXCLHjVwiOlwiQVwiLFxuICAgIFwiw4JcIjpcIkFcIixcbiAgICBcIuG6pFwiOlwiQVwiLFxuICAgIFwi4bqsXCI6XCJBXCIsXG4gICAgXCLhuqZcIjpcIkFcIixcbiAgICBcIuG6qFwiOlwiQVwiLFxuICAgIFwi4bqqXCI6XCJBXCIsXG4gICAgXCLDhFwiOlwiQVwiLFxuICAgIFwix55cIjpcIkFcIixcbiAgICBcIsimXCI6XCJBXCIsXG4gICAgXCLHoFwiOlwiQVwiLFxuICAgIFwi4bqgXCI6XCJBXCIsXG4gICAgXCLIgFwiOlwiQVwiLFxuICAgIFwiw4BcIjpcIkFcIixcbiAgICBcIuG6olwiOlwiQVwiLFxuICAgIFwiyIJcIjpcIkFcIixcbiAgICBcIsSAXCI6XCJBXCIsXG4gICAgXCLEhFwiOlwiQVwiLFxuICAgIFwiw4VcIjpcIkFcIixcbiAgICBcIse6XCI6XCJBXCIsXG4gICAgXCLhuIBcIjpcIkFcIixcbiAgICBcIsi6XCI6XCJBXCIsXG4gICAgXCLDg1wiOlwiQVwiLFxuICAgIFwi6pyyXCI6XCJBQVwiLFxuICAgIFwiw4ZcIjpcIkFFXCIsXG4gICAgXCLHvFwiOlwiQUVcIixcbiAgICBcIseiXCI6XCJBRVwiLFxuICAgIFwi6py0XCI6XCJBT1wiLFxuICAgIFwi6py2XCI6XCJBVVwiLFxuICAgIFwi6py4XCI6XCJBVlwiLFxuICAgIFwi6py6XCI6XCJBVlwiLFxuICAgIFwi6py8XCI6XCJBWVwiLFxuICAgIFwi4biCXCI6XCJCXCIsXG4gICAgXCLhuIRcIjpcIkJcIixcbiAgICBcIsaBXCI6XCJCXCIsXG4gICAgXCLhuIZcIjpcIkJcIixcbiAgICBcIsmDXCI6XCJCXCIsXG4gICAgXCLGglwiOlwiQlwiLFxuICAgIFwixIZcIjpcIkNcIixcbiAgICBcIsSMXCI6XCJDXCIsXG4gICAgXCLDh1wiOlwiQ1wiLFxuICAgIFwi4biIXCI6XCJDXCIsXG4gICAgXCLEiFwiOlwiQ1wiLFxuICAgIFwixIpcIjpcIkNcIixcbiAgICBcIsaHXCI6XCJDXCIsXG4gICAgXCLIu1wiOlwiQ1wiLFxuICAgIFwixI5cIjpcIkRcIixcbiAgICBcIuG4kFwiOlwiRFwiLFxuICAgIFwi4biSXCI6XCJEXCIsXG4gICAgXCLhuIpcIjpcIkRcIixcbiAgICBcIuG4jFwiOlwiRFwiLFxuICAgIFwixopcIjpcIkRcIixcbiAgICBcIuG4jlwiOlwiRFwiLFxuICAgIFwix7JcIjpcIkRcIixcbiAgICBcIseFXCI6XCJEXCIsXG4gICAgXCLEkFwiOlwiRFwiLFxuICAgIFwixotcIjpcIkRcIixcbiAgICBcIsexXCI6XCJEWlwiLFxuICAgIFwix4RcIjpcIkRaXCIsXG4gICAgXCLDiVwiOlwiRVwiLFxuICAgIFwixJRcIjpcIkVcIixcbiAgICBcIsSaXCI6XCJFXCIsXG4gICAgXCLIqFwiOlwiRVwiLFxuICAgIFwi4bicXCI6XCJFXCIsXG4gICAgXCLDilwiOlwiRVwiLFxuICAgIFwi4bq+XCI6XCJFXCIsXG4gICAgXCLhu4ZcIjpcIkVcIixcbiAgICBcIuG7gFwiOlwiRVwiLFxuICAgIFwi4buCXCI6XCJFXCIsXG4gICAgXCLhu4RcIjpcIkVcIixcbiAgICBcIuG4mFwiOlwiRVwiLFxuICAgIFwiw4tcIjpcIkVcIixcbiAgICBcIsSWXCI6XCJFXCIsXG4gICAgXCLhurhcIjpcIkVcIixcbiAgICBcIsiEXCI6XCJFXCIsXG4gICAgXCLDiFwiOlwiRVwiLFxuICAgIFwi4bq6XCI6XCJFXCIsXG4gICAgXCLIhlwiOlwiRVwiLFxuICAgIFwixJJcIjpcIkVcIixcbiAgICBcIuG4llwiOlwiRVwiLFxuICAgIFwi4biUXCI6XCJFXCIsXG4gICAgXCLEmFwiOlwiRVwiLFxuICAgIFwiyYZcIjpcIkVcIixcbiAgICBcIuG6vFwiOlwiRVwiLFxuICAgIFwi4biaXCI6XCJFXCIsXG4gICAgXCLqnapcIjpcIkVUXCIsXG4gICAgXCLhuJ5cIjpcIkZcIixcbiAgICBcIsaRXCI6XCJGXCIsXG4gICAgXCLHtFwiOlwiR1wiLFxuICAgIFwixJ5cIjpcIkdcIixcbiAgICBcIsemXCI6XCJHXCIsXG4gICAgXCLEolwiOlwiR1wiLFxuICAgIFwixJxcIjpcIkdcIixcbiAgICBcIsSgXCI6XCJHXCIsXG4gICAgXCLGk1wiOlwiR1wiLFxuICAgIFwi4bigXCI6XCJHXCIsXG4gICAgXCLHpFwiOlwiR1wiLFxuICAgIFwi4biqXCI6XCJIXCIsXG4gICAgXCLInlwiOlwiSFwiLFxuICAgIFwi4bioXCI6XCJIXCIsXG4gICAgXCLEpFwiOlwiSFwiLFxuICAgIFwi4rGnXCI6XCJIXCIsXG4gICAgXCLhuKZcIjpcIkhcIixcbiAgICBcIuG4olwiOlwiSFwiLFxuICAgIFwi4bikXCI6XCJIXCIsXG4gICAgXCLEplwiOlwiSFwiLFxuICAgIFwiw41cIjpcIklcIixcbiAgICBcIsSsXCI6XCJJXCIsXG4gICAgXCLHj1wiOlwiSVwiLFxuICAgIFwiw45cIjpcIklcIixcbiAgICBcIsOPXCI6XCJJXCIsXG4gICAgXCLhuK5cIjpcIklcIixcbiAgICBcIsSwXCI6XCJJXCIsXG4gICAgXCLhu4pcIjpcIklcIixcbiAgICBcIsiIXCI6XCJJXCIsXG4gICAgXCLDjFwiOlwiSVwiLFxuICAgIFwi4buIXCI6XCJJXCIsXG4gICAgXCLIilwiOlwiSVwiLFxuICAgIFwixKpcIjpcIklcIixcbiAgICBcIsSuXCI6XCJJXCIsXG4gICAgXCLGl1wiOlwiSVwiLFxuICAgIFwixKhcIjpcIklcIixcbiAgICBcIuG4rFwiOlwiSVwiLFxuICAgIFwi6p25XCI6XCJEXCIsXG4gICAgXCLqnbtcIjpcIkZcIixcbiAgICBcIuqdvVwiOlwiR1wiLFxuICAgIFwi6p6CXCI6XCJSXCIsXG4gICAgXCLqnoRcIjpcIlNcIixcbiAgICBcIuqehlwiOlwiVFwiLFxuICAgIFwi6p2sXCI6XCJJU1wiLFxuICAgIFwixLRcIjpcIkpcIixcbiAgICBcIsmIXCI6XCJKXCIsXG4gICAgXCLhuLBcIjpcIktcIixcbiAgICBcIseoXCI6XCJLXCIsXG4gICAgXCLEtlwiOlwiS1wiLFxuICAgIFwi4rGpXCI6XCJLXCIsXG4gICAgXCLqnYJcIjpcIktcIixcbiAgICBcIuG4slwiOlwiS1wiLFxuICAgIFwixphcIjpcIktcIixcbiAgICBcIuG4tFwiOlwiS1wiLFxuICAgIFwi6p2AXCI6XCJLXCIsXG4gICAgXCLqnYRcIjpcIktcIixcbiAgICBcIsS5XCI6XCJMXCIsXG4gICAgXCLIvVwiOlwiTFwiLFxuICAgIFwixL1cIjpcIkxcIixcbiAgICBcIsS7XCI6XCJMXCIsXG4gICAgXCLhuLxcIjpcIkxcIixcbiAgICBcIuG4tlwiOlwiTFwiLFxuICAgIFwi4bi4XCI6XCJMXCIsXG4gICAgXCLisaBcIjpcIkxcIixcbiAgICBcIuqdiFwiOlwiTFwiLFxuICAgIFwi4bi6XCI6XCJMXCIsXG4gICAgXCLEv1wiOlwiTFwiLFxuICAgIFwi4rGiXCI6XCJMXCIsXG4gICAgXCLHiFwiOlwiTFwiLFxuICAgIFwixYFcIjpcIkxcIixcbiAgICBcIseHXCI6XCJMSlwiLFxuICAgIFwi4bi+XCI6XCJNXCIsXG4gICAgXCLhuYBcIjpcIk1cIixcbiAgICBcIuG5glwiOlwiTVwiLFxuICAgIFwi4rGuXCI6XCJNXCIsXG4gICAgXCLFg1wiOlwiTlwiLFxuICAgIFwixYdcIjpcIk5cIixcbiAgICBcIsWFXCI6XCJOXCIsXG4gICAgXCLhuYpcIjpcIk5cIixcbiAgICBcIuG5hFwiOlwiTlwiLFxuICAgIFwi4bmGXCI6XCJOXCIsXG4gICAgXCLHuFwiOlwiTlwiLFxuICAgIFwixp1cIjpcIk5cIixcbiAgICBcIuG5iFwiOlwiTlwiLFxuICAgIFwiyKBcIjpcIk5cIixcbiAgICBcIseLXCI6XCJOXCIsXG4gICAgXCLDkVwiOlwiTlwiLFxuICAgIFwix4pcIjpcIk5KXCIsXG4gICAgXCLDk1wiOlwiT1wiLFxuICAgIFwixY5cIjpcIk9cIixcbiAgICBcIseRXCI6XCJPXCIsXG4gICAgXCLDlFwiOlwiT1wiLFxuICAgIFwi4buQXCI6XCJPXCIsXG4gICAgXCLhu5hcIjpcIk9cIixcbiAgICBcIuG7klwiOlwiT1wiLFxuICAgIFwi4buUXCI6XCJPXCIsXG4gICAgXCLhu5ZcIjpcIk9cIixcbiAgICBcIsOWXCI6XCJPXCIsXG4gICAgXCLIqlwiOlwiT1wiLFxuICAgIFwiyK5cIjpcIk9cIixcbiAgICBcIsiwXCI6XCJPXCIsXG4gICAgXCLhu4xcIjpcIk9cIixcbiAgICBcIsWQXCI6XCJPXCIsXG4gICAgXCLIjFwiOlwiT1wiLFxuICAgIFwiw5JcIjpcIk9cIixcbiAgICBcIuG7jlwiOlwiT1wiLFxuICAgIFwixqBcIjpcIk9cIixcbiAgICBcIuG7mlwiOlwiT1wiLFxuICAgIFwi4buiXCI6XCJPXCIsXG4gICAgXCLhu5xcIjpcIk9cIixcbiAgICBcIuG7nlwiOlwiT1wiLFxuICAgIFwi4bugXCI6XCJPXCIsXG4gICAgXCLIjlwiOlwiT1wiLFxuICAgIFwi6p2KXCI6XCJPXCIsXG4gICAgXCLqnYxcIjpcIk9cIixcbiAgICBcIsWMXCI6XCJPXCIsXG4gICAgXCLhuZJcIjpcIk9cIixcbiAgICBcIuG5kFwiOlwiT1wiLFxuICAgIFwixp9cIjpcIk9cIixcbiAgICBcIseqXCI6XCJPXCIsXG4gICAgXCLHrFwiOlwiT1wiLFxuICAgIFwiw5hcIjpcIk9cIixcbiAgICBcIse+XCI6XCJPXCIsXG4gICAgXCLDlVwiOlwiT1wiLFxuICAgIFwi4bmMXCI6XCJPXCIsXG4gICAgXCLhuY5cIjpcIk9cIixcbiAgICBcIsisXCI6XCJPXCIsXG4gICAgXCLGolwiOlwiT0lcIixcbiAgICBcIuqdjlwiOlwiT09cIixcbiAgICBcIsaQXCI6XCJFXCIsXG4gICAgXCLGhlwiOlwiT1wiLFxuICAgIFwiyKJcIjpcIk9VXCIsXG4gICAgXCLhuZRcIjpcIlBcIixcbiAgICBcIuG5llwiOlwiUFwiLFxuICAgIFwi6p2SXCI6XCJQXCIsXG4gICAgXCLGpFwiOlwiUFwiLFxuICAgIFwi6p2UXCI6XCJQXCIsXG4gICAgXCLisaNcIjpcIlBcIixcbiAgICBcIuqdkFwiOlwiUFwiLFxuICAgIFwi6p2YXCI6XCJRXCIsXG4gICAgXCLqnZZcIjpcIlFcIixcbiAgICBcIsWUXCI6XCJSXCIsXG4gICAgXCLFmFwiOlwiUlwiLFxuICAgIFwixZZcIjpcIlJcIixcbiAgICBcIuG5mFwiOlwiUlwiLFxuICAgIFwi4bmaXCI6XCJSXCIsXG4gICAgXCLhuZxcIjpcIlJcIixcbiAgICBcIsiQXCI6XCJSXCIsXG4gICAgXCLIklwiOlwiUlwiLFxuICAgIFwi4bmeXCI6XCJSXCIsXG4gICAgXCLJjFwiOlwiUlwiLFxuICAgIFwi4rGkXCI6XCJSXCIsXG4gICAgXCLqnL5cIjpcIkNcIixcbiAgICBcIsaOXCI6XCJFXCIsXG4gICAgXCLFmlwiOlwiU1wiLFxuICAgIFwi4bmkXCI6XCJTXCIsXG4gICAgXCLFoFwiOlwiU1wiLFxuICAgIFwi4bmmXCI6XCJTXCIsXG4gICAgXCLFnlwiOlwiU1wiLFxuICAgIFwixZxcIjpcIlNcIixcbiAgICBcIsiYXCI6XCJTXCIsXG4gICAgXCLhuaBcIjpcIlNcIixcbiAgICBcIuG5olwiOlwiU1wiLFxuICAgIFwi4bmoXCI6XCJTXCIsXG4gICAgXCLFpFwiOlwiVFwiLFxuICAgIFwixaJcIjpcIlRcIixcbiAgICBcIuG5sFwiOlwiVFwiLFxuICAgIFwiyJpcIjpcIlRcIixcbiAgICBcIsi+XCI6XCJUXCIsXG4gICAgXCLhuapcIjpcIlRcIixcbiAgICBcIuG5rFwiOlwiVFwiLFxuICAgIFwixqxcIjpcIlRcIixcbiAgICBcIuG5rlwiOlwiVFwiLFxuICAgIFwixq5cIjpcIlRcIixcbiAgICBcIsWmXCI6XCJUXCIsXG4gICAgXCLisa9cIjpcIkFcIixcbiAgICBcIuqegFwiOlwiTFwiLFxuICAgIFwixpxcIjpcIk1cIixcbiAgICBcIsmFXCI6XCJWXCIsXG4gICAgXCLqnKhcIjpcIlRaXCIsXG4gICAgXCLDmlwiOlwiVVwiLFxuICAgIFwixaxcIjpcIlVcIixcbiAgICBcIseTXCI6XCJVXCIsXG4gICAgXCLDm1wiOlwiVVwiLFxuICAgIFwi4bm2XCI6XCJVXCIsXG4gICAgXCLDnFwiOlwiVVwiLFxuICAgIFwix5dcIjpcIlVcIixcbiAgICBcIseZXCI6XCJVXCIsXG4gICAgXCLHm1wiOlwiVVwiLFxuICAgIFwix5VcIjpcIlVcIixcbiAgICBcIuG5slwiOlwiVVwiLFxuICAgIFwi4bukXCI6XCJVXCIsXG4gICAgXCLFsFwiOlwiVVwiLFxuICAgIFwiyJRcIjpcIlVcIixcbiAgICBcIsOZXCI6XCJVXCIsXG4gICAgXCLhu6ZcIjpcIlVcIixcbiAgICBcIsavXCI6XCJVXCIsXG4gICAgXCLhu6hcIjpcIlVcIixcbiAgICBcIuG7sFwiOlwiVVwiLFxuICAgIFwi4buqXCI6XCJVXCIsXG4gICAgXCLhu6xcIjpcIlVcIixcbiAgICBcIuG7rlwiOlwiVVwiLFxuICAgIFwiyJZcIjpcIlVcIixcbiAgICBcIsWqXCI6XCJVXCIsXG4gICAgXCLhubpcIjpcIlVcIixcbiAgICBcIsWyXCI6XCJVXCIsXG4gICAgXCLFrlwiOlwiVVwiLFxuICAgIFwixahcIjpcIlVcIixcbiAgICBcIuG5uFwiOlwiVVwiLFxuICAgIFwi4bm0XCI6XCJVXCIsXG4gICAgXCLqnZ5cIjpcIlZcIixcbiAgICBcIuG5vlwiOlwiVlwiLFxuICAgIFwixrJcIjpcIlZcIixcbiAgICBcIuG5vFwiOlwiVlwiLFxuICAgIFwi6p2gXCI6XCJWWVwiLFxuICAgIFwi4bqCXCI6XCJXXCIsXG4gICAgXCLFtFwiOlwiV1wiLFxuICAgIFwi4bqEXCI6XCJXXCIsXG4gICAgXCLhuoZcIjpcIldcIixcbiAgICBcIuG6iFwiOlwiV1wiLFxuICAgIFwi4bqAXCI6XCJXXCIsXG4gICAgXCLisbJcIjpcIldcIixcbiAgICBcIuG6jFwiOlwiWFwiLFxuICAgIFwi4bqKXCI6XCJYXCIsXG4gICAgXCLDnVwiOlwiWVwiLFxuICAgIFwixbZcIjpcIllcIixcbiAgICBcIsW4XCI6XCJZXCIsXG4gICAgXCLhuo5cIjpcIllcIixcbiAgICBcIuG7tFwiOlwiWVwiLFxuICAgIFwi4buyXCI6XCJZXCIsXG4gICAgXCLGs1wiOlwiWVwiLFxuICAgIFwi4bu2XCI6XCJZXCIsXG4gICAgXCLhu75cIjpcIllcIixcbiAgICBcIsiyXCI6XCJZXCIsXG4gICAgXCLJjlwiOlwiWVwiLFxuICAgIFwi4bu4XCI6XCJZXCIsXG4gICAgXCLFuVwiOlwiWlwiLFxuICAgIFwixb1cIjpcIlpcIixcbiAgICBcIuG6kFwiOlwiWlwiLFxuICAgIFwi4rGrXCI6XCJaXCIsXG4gICAgXCLFu1wiOlwiWlwiLFxuICAgIFwi4bqSXCI6XCJaXCIsXG4gICAgXCLIpFwiOlwiWlwiLFxuICAgIFwi4bqUXCI6XCJaXCIsXG4gICAgXCLGtVwiOlwiWlwiLFxuICAgIFwixLJcIjpcIklKXCIsXG4gICAgXCLFklwiOlwiT0VcIixcbiAgICBcIuG0gFwiOlwiQVwiLFxuICAgIFwi4bSBXCI6XCJBRVwiLFxuICAgIFwiyplcIjpcIkJcIixcbiAgICBcIuG0g1wiOlwiQlwiLFxuICAgIFwi4bSEXCI6XCJDXCIsXG4gICAgXCLhtIVcIjpcIkRcIixcbiAgICBcIuG0h1wiOlwiRVwiLFxuICAgIFwi6pywXCI6XCJGXCIsXG4gICAgXCLJolwiOlwiR1wiLFxuICAgIFwiyptcIjpcIkdcIixcbiAgICBcIsqcXCI6XCJIXCIsXG4gICAgXCLJqlwiOlwiSVwiLFxuICAgIFwiyoFcIjpcIlJcIixcbiAgICBcIuG0ilwiOlwiSlwiLFxuICAgIFwi4bSLXCI6XCJLXCIsXG4gICAgXCLKn1wiOlwiTFwiLFxuICAgIFwi4bSMXCI6XCJMXCIsXG4gICAgXCLhtI1cIjpcIk1cIixcbiAgICBcIsm0XCI6XCJOXCIsXG4gICAgXCLhtI9cIjpcIk9cIixcbiAgICBcIsm2XCI6XCJPRVwiLFxuICAgIFwi4bSQXCI6XCJPXCIsXG4gICAgXCLhtJVcIjpcIk9VXCIsXG4gICAgXCLhtJhcIjpcIlBcIixcbiAgICBcIsqAXCI6XCJSXCIsXG4gICAgXCLhtI5cIjpcIk5cIixcbiAgICBcIuG0mVwiOlwiUlwiLFxuICAgIFwi6pyxXCI6XCJTXCIsXG4gICAgXCLhtJtcIjpcIlRcIixcbiAgICBcIuKxu1wiOlwiRVwiLFxuICAgIFwi4bSaXCI6XCJSXCIsXG4gICAgXCLhtJxcIjpcIlVcIixcbiAgICBcIuG0oFwiOlwiVlwiLFxuICAgIFwi4bShXCI6XCJXXCIsXG4gICAgXCLKj1wiOlwiWVwiLFxuICAgIFwi4bSiXCI6XCJaXCIsXG4gICAgXCLDoVwiOlwiYVwiLFxuICAgIFwixINcIjpcImFcIixcbiAgICBcIuG6r1wiOlwiYVwiLFxuICAgIFwi4bq3XCI6XCJhXCIsXG4gICAgXCLhurFcIjpcImFcIixcbiAgICBcIuG6s1wiOlwiYVwiLFxuICAgIFwi4bq1XCI6XCJhXCIsXG4gICAgXCLHjlwiOlwiYVwiLFxuICAgIFwiw6JcIjpcImFcIixcbiAgICBcIuG6pVwiOlwiYVwiLFxuICAgIFwi4bqtXCI6XCJhXCIsXG4gICAgXCLhuqdcIjpcImFcIixcbiAgICBcIuG6qVwiOlwiYVwiLFxuICAgIFwi4bqrXCI6XCJhXCIsXG4gICAgXCLDpFwiOlwiYVwiLFxuICAgIFwix59cIjpcImFcIixcbiAgICBcIsinXCI6XCJhXCIsXG4gICAgXCLHoVwiOlwiYVwiLFxuICAgIFwi4bqhXCI6XCJhXCIsXG4gICAgXCLIgVwiOlwiYVwiLFxuICAgIFwiw6BcIjpcImFcIixcbiAgICBcIuG6o1wiOlwiYVwiLFxuICAgIFwiyINcIjpcImFcIixcbiAgICBcIsSBXCI6XCJhXCIsXG4gICAgXCLEhVwiOlwiYVwiLFxuICAgIFwi4baPXCI6XCJhXCIsXG4gICAgXCLhuppcIjpcImFcIixcbiAgICBcIsOlXCI6XCJhXCIsXG4gICAgXCLHu1wiOlwiYVwiLFxuICAgIFwi4biBXCI6XCJhXCIsXG4gICAgXCLisaVcIjpcImFcIixcbiAgICBcIsOjXCI6XCJhXCIsXG4gICAgXCLqnLNcIjpcImFhXCIsXG4gICAgXCLDplwiOlwiYWVcIixcbiAgICBcIse9XCI6XCJhZVwiLFxuICAgIFwix6NcIjpcImFlXCIsXG4gICAgXCLqnLVcIjpcImFvXCIsXG4gICAgXCLqnLdcIjpcImF1XCIsXG4gICAgXCLqnLlcIjpcImF2XCIsXG4gICAgXCLqnLtcIjpcImF2XCIsXG4gICAgXCLqnL1cIjpcImF5XCIsXG4gICAgXCLhuINcIjpcImJcIixcbiAgICBcIuG4hVwiOlwiYlwiLFxuICAgIFwiyZNcIjpcImJcIixcbiAgICBcIuG4h1wiOlwiYlwiLFxuICAgIFwi4bWsXCI6XCJiXCIsXG4gICAgXCLhtoBcIjpcImJcIixcbiAgICBcIsaAXCI6XCJiXCIsXG4gICAgXCLGg1wiOlwiYlwiLFxuICAgIFwiybVcIjpcIm9cIixcbiAgICBcIsSHXCI6XCJjXCIsXG4gICAgXCLEjVwiOlwiY1wiLFxuICAgIFwiw6dcIjpcImNcIixcbiAgICBcIuG4iVwiOlwiY1wiLFxuICAgIFwixIlcIjpcImNcIixcbiAgICBcIsmVXCI6XCJjXCIsXG4gICAgXCLEi1wiOlwiY1wiLFxuICAgIFwixohcIjpcImNcIixcbiAgICBcIsi8XCI6XCJjXCIsXG4gICAgXCLEj1wiOlwiZFwiLFxuICAgIFwi4biRXCI6XCJkXCIsXG4gICAgXCLhuJNcIjpcImRcIixcbiAgICBcIsihXCI6XCJkXCIsXG4gICAgXCLhuItcIjpcImRcIixcbiAgICBcIuG4jVwiOlwiZFwiLFxuICAgIFwiyZdcIjpcImRcIixcbiAgICBcIuG2kVwiOlwiZFwiLFxuICAgIFwi4biPXCI6XCJkXCIsXG4gICAgXCLhta1cIjpcImRcIixcbiAgICBcIuG2gVwiOlwiZFwiLFxuICAgIFwixJFcIjpcImRcIixcbiAgICBcIsmWXCI6XCJkXCIsXG4gICAgXCLGjFwiOlwiZFwiLFxuICAgIFwixLFcIjpcImlcIixcbiAgICBcIsi3XCI6XCJqXCIsXG4gICAgXCLJn1wiOlwialwiLFxuICAgIFwiyoRcIjpcImpcIixcbiAgICBcIsezXCI6XCJkelwiLFxuICAgIFwix4ZcIjpcImR6XCIsXG4gICAgXCLDqVwiOlwiZVwiLFxuICAgIFwixJVcIjpcImVcIixcbiAgICBcIsSbXCI6XCJlXCIsXG4gICAgXCLIqVwiOlwiZVwiLFxuICAgIFwi4bidXCI6XCJlXCIsXG4gICAgXCLDqlwiOlwiZVwiLFxuICAgIFwi4bq/XCI6XCJlXCIsXG4gICAgXCLhu4dcIjpcImVcIixcbiAgICBcIuG7gVwiOlwiZVwiLFxuICAgIFwi4buDXCI6XCJlXCIsXG4gICAgXCLhu4VcIjpcImVcIixcbiAgICBcIuG4mVwiOlwiZVwiLFxuICAgIFwiw6tcIjpcImVcIixcbiAgICBcIsSXXCI6XCJlXCIsXG4gICAgXCLhurlcIjpcImVcIixcbiAgICBcIsiFXCI6XCJlXCIsXG4gICAgXCLDqFwiOlwiZVwiLFxuICAgIFwi4bq7XCI6XCJlXCIsXG4gICAgXCLIh1wiOlwiZVwiLFxuICAgIFwixJNcIjpcImVcIixcbiAgICBcIuG4l1wiOlwiZVwiLFxuICAgIFwi4biVXCI6XCJlXCIsXG4gICAgXCLisbhcIjpcImVcIixcbiAgICBcIsSZXCI6XCJlXCIsXG4gICAgXCLhtpJcIjpcImVcIixcbiAgICBcIsmHXCI6XCJlXCIsXG4gICAgXCLhur1cIjpcImVcIixcbiAgICBcIuG4m1wiOlwiZVwiLFxuICAgIFwi6p2rXCI6XCJldFwiLFxuICAgIFwi4bifXCI6XCJmXCIsXG4gICAgXCLGklwiOlwiZlwiLFxuICAgIFwi4bWuXCI6XCJmXCIsXG4gICAgXCLhtoJcIjpcImZcIixcbiAgICBcIse1XCI6XCJnXCIsXG4gICAgXCLEn1wiOlwiZ1wiLFxuICAgIFwix6dcIjpcImdcIixcbiAgICBcIsSjXCI6XCJnXCIsXG4gICAgXCLEnVwiOlwiZ1wiLFxuICAgIFwixKFcIjpcImdcIixcbiAgICBcIsmgXCI6XCJnXCIsXG4gICAgXCLhuKFcIjpcImdcIixcbiAgICBcIuG2g1wiOlwiZ1wiLFxuICAgIFwix6VcIjpcImdcIixcbiAgICBcIuG4q1wiOlwiaFwiLFxuICAgIFwiyJ9cIjpcImhcIixcbiAgICBcIuG4qVwiOlwiaFwiLFxuICAgIFwixKVcIjpcImhcIixcbiAgICBcIuKxqFwiOlwiaFwiLFxuICAgIFwi4binXCI6XCJoXCIsXG4gICAgXCLhuKNcIjpcImhcIixcbiAgICBcIuG4pVwiOlwiaFwiLFxuICAgIFwiyaZcIjpcImhcIixcbiAgICBcIuG6llwiOlwiaFwiLFxuICAgIFwixKdcIjpcImhcIixcbiAgICBcIsaVXCI6XCJodlwiLFxuICAgIFwiw61cIjpcImlcIixcbiAgICBcIsStXCI6XCJpXCIsXG4gICAgXCLHkFwiOlwiaVwiLFxuICAgIFwiw65cIjpcImlcIixcbiAgICBcIsOvXCI6XCJpXCIsXG4gICAgXCLhuK9cIjpcImlcIixcbiAgICBcIuG7i1wiOlwiaVwiLFxuICAgIFwiyIlcIjpcImlcIixcbiAgICBcIsOsXCI6XCJpXCIsXG4gICAgXCLhu4lcIjpcImlcIixcbiAgICBcIsiLXCI6XCJpXCIsXG4gICAgXCLEq1wiOlwiaVwiLFxuICAgIFwixK9cIjpcImlcIixcbiAgICBcIuG2llwiOlwiaVwiLFxuICAgIFwiyahcIjpcImlcIixcbiAgICBcIsSpXCI6XCJpXCIsXG4gICAgXCLhuK1cIjpcImlcIixcbiAgICBcIuqdulwiOlwiZFwiLFxuICAgIFwi6p28XCI6XCJmXCIsXG4gICAgXCLhtblcIjpcImdcIixcbiAgICBcIuqeg1wiOlwiclwiLFxuICAgIFwi6p6FXCI6XCJzXCIsXG4gICAgXCLqnodcIjpcInRcIixcbiAgICBcIuqdrVwiOlwiaXNcIixcbiAgICBcIsewXCI6XCJqXCIsXG4gICAgXCLEtVwiOlwialwiLFxuICAgIFwiyp1cIjpcImpcIixcbiAgICBcIsmJXCI6XCJqXCIsXG4gICAgXCLhuLFcIjpcImtcIixcbiAgICBcIsepXCI6XCJrXCIsXG4gICAgXCLEt1wiOlwia1wiLFxuICAgIFwi4rGqXCI6XCJrXCIsXG4gICAgXCLqnYNcIjpcImtcIixcbiAgICBcIuG4s1wiOlwia1wiLFxuICAgIFwixplcIjpcImtcIixcbiAgICBcIuG4tVwiOlwia1wiLFxuICAgIFwi4baEXCI6XCJrXCIsXG4gICAgXCLqnYFcIjpcImtcIixcbiAgICBcIuqdhVwiOlwia1wiLFxuICAgIFwixLpcIjpcImxcIixcbiAgICBcIsaaXCI6XCJsXCIsXG4gICAgXCLJrFwiOlwibFwiLFxuICAgIFwixL5cIjpcImxcIixcbiAgICBcIsS8XCI6XCJsXCIsXG4gICAgXCLhuL1cIjpcImxcIixcbiAgICBcIsi0XCI6XCJsXCIsXG4gICAgXCLhuLdcIjpcImxcIixcbiAgICBcIuG4uVwiOlwibFwiLFxuICAgIFwi4rGhXCI6XCJsXCIsXG4gICAgXCLqnYlcIjpcImxcIixcbiAgICBcIuG4u1wiOlwibFwiLFxuICAgIFwixYBcIjpcImxcIixcbiAgICBcIsmrXCI6XCJsXCIsXG4gICAgXCLhtoVcIjpcImxcIixcbiAgICBcIsmtXCI6XCJsXCIsXG4gICAgXCLFglwiOlwibFwiLFxuICAgIFwix4lcIjpcImxqXCIsXG4gICAgXCLFv1wiOlwic1wiLFxuICAgIFwi4bqcXCI6XCJzXCIsXG4gICAgXCLhuptcIjpcInNcIixcbiAgICBcIuG6nVwiOlwic1wiLFxuICAgIFwi4bi/XCI6XCJtXCIsXG4gICAgXCLhuYFcIjpcIm1cIixcbiAgICBcIuG5g1wiOlwibVwiLFxuICAgIFwiybFcIjpcIm1cIixcbiAgICBcIuG1r1wiOlwibVwiLFxuICAgIFwi4baGXCI6XCJtXCIsXG4gICAgXCLFhFwiOlwiblwiLFxuICAgIFwixYhcIjpcIm5cIixcbiAgICBcIsWGXCI6XCJuXCIsXG4gICAgXCLhuYtcIjpcIm5cIixcbiAgICBcIsi1XCI6XCJuXCIsXG4gICAgXCLhuYVcIjpcIm5cIixcbiAgICBcIuG5h1wiOlwiblwiLFxuICAgIFwix7lcIjpcIm5cIixcbiAgICBcIsmyXCI6XCJuXCIsXG4gICAgXCLhuYlcIjpcIm5cIixcbiAgICBcIsaeXCI6XCJuXCIsXG4gICAgXCLhtbBcIjpcIm5cIixcbiAgICBcIuG2h1wiOlwiblwiLFxuICAgIFwiybNcIjpcIm5cIixcbiAgICBcIsOxXCI6XCJuXCIsXG4gICAgXCLHjFwiOlwibmpcIixcbiAgICBcIsOzXCI6XCJvXCIsXG4gICAgXCLFj1wiOlwib1wiLFxuICAgIFwix5JcIjpcIm9cIixcbiAgICBcIsO0XCI6XCJvXCIsXG4gICAgXCLhu5FcIjpcIm9cIixcbiAgICBcIuG7mVwiOlwib1wiLFxuICAgIFwi4buTXCI6XCJvXCIsXG4gICAgXCLhu5VcIjpcIm9cIixcbiAgICBcIuG7l1wiOlwib1wiLFxuICAgIFwiw7ZcIjpcIm9cIixcbiAgICBcIsirXCI6XCJvXCIsXG4gICAgXCLIr1wiOlwib1wiLFxuICAgIFwiyLFcIjpcIm9cIixcbiAgICBcIuG7jVwiOlwib1wiLFxuICAgIFwixZFcIjpcIm9cIixcbiAgICBcIsiNXCI6XCJvXCIsXG4gICAgXCLDslwiOlwib1wiLFxuICAgIFwi4buPXCI6XCJvXCIsXG4gICAgXCLGoVwiOlwib1wiLFxuICAgIFwi4bubXCI6XCJvXCIsXG4gICAgXCLhu6NcIjpcIm9cIixcbiAgICBcIuG7nVwiOlwib1wiLFxuICAgIFwi4bufXCI6XCJvXCIsXG4gICAgXCLhu6FcIjpcIm9cIixcbiAgICBcIsiPXCI6XCJvXCIsXG4gICAgXCLqnYtcIjpcIm9cIixcbiAgICBcIuqdjVwiOlwib1wiLFxuICAgIFwi4rG6XCI6XCJvXCIsXG4gICAgXCLFjVwiOlwib1wiLFxuICAgIFwi4bmTXCI6XCJvXCIsXG4gICAgXCLhuZFcIjpcIm9cIixcbiAgICBcIserXCI6XCJvXCIsXG4gICAgXCLHrVwiOlwib1wiLFxuICAgIFwiw7hcIjpcIm9cIixcbiAgICBcIse/XCI6XCJvXCIsXG4gICAgXCLDtVwiOlwib1wiLFxuICAgIFwi4bmNXCI6XCJvXCIsXG4gICAgXCLhuY9cIjpcIm9cIixcbiAgICBcIsitXCI6XCJvXCIsXG4gICAgXCLGo1wiOlwib2lcIixcbiAgICBcIuqdj1wiOlwib29cIixcbiAgICBcIsmbXCI6XCJlXCIsXG4gICAgXCLhtpNcIjpcImVcIixcbiAgICBcIsmUXCI6XCJvXCIsXG4gICAgXCLhtpdcIjpcIm9cIixcbiAgICBcIsijXCI6XCJvdVwiLFxuICAgIFwi4bmVXCI6XCJwXCIsXG4gICAgXCLhuZdcIjpcInBcIixcbiAgICBcIuqdk1wiOlwicFwiLFxuICAgIFwixqVcIjpcInBcIixcbiAgICBcIuG1sVwiOlwicFwiLFxuICAgIFwi4baIXCI6XCJwXCIsXG4gICAgXCLqnZVcIjpcInBcIixcbiAgICBcIuG1vVwiOlwicFwiLFxuICAgIFwi6p2RXCI6XCJwXCIsXG4gICAgXCLqnZlcIjpcInFcIixcbiAgICBcIsqgXCI6XCJxXCIsXG4gICAgXCLJi1wiOlwicVwiLFxuICAgIFwi6p2XXCI6XCJxXCIsXG4gICAgXCLFlVwiOlwiclwiLFxuICAgIFwixZlcIjpcInJcIixcbiAgICBcIsWXXCI6XCJyXCIsXG4gICAgXCLhuZlcIjpcInJcIixcbiAgICBcIuG5m1wiOlwiclwiLFxuICAgIFwi4bmdXCI6XCJyXCIsXG4gICAgXCLIkVwiOlwiclwiLFxuICAgIFwiyb5cIjpcInJcIixcbiAgICBcIuG1s1wiOlwiclwiLFxuICAgIFwiyJNcIjpcInJcIixcbiAgICBcIuG5n1wiOlwiclwiLFxuICAgIFwiybxcIjpcInJcIixcbiAgICBcIuG1slwiOlwiclwiLFxuICAgIFwi4baJXCI6XCJyXCIsXG4gICAgXCLJjVwiOlwiclwiLFxuICAgIFwiyb1cIjpcInJcIixcbiAgICBcIuKGhFwiOlwiY1wiLFxuICAgIFwi6py/XCI6XCJjXCIsXG4gICAgXCLJmFwiOlwiZVwiLFxuICAgIFwiyb9cIjpcInJcIixcbiAgICBcIsWbXCI6XCJzXCIsXG4gICAgXCLhuaVcIjpcInNcIixcbiAgICBcIsWhXCI6XCJzXCIsXG4gICAgXCLhuadcIjpcInNcIixcbiAgICBcIsWfXCI6XCJzXCIsXG4gICAgXCLFnVwiOlwic1wiLFxuICAgIFwiyJlcIjpcInNcIixcbiAgICBcIuG5oVwiOlwic1wiLFxuICAgIFwi4bmjXCI6XCJzXCIsXG4gICAgXCLhualcIjpcInNcIixcbiAgICBcIsqCXCI6XCJzXCIsXG4gICAgXCLhtbRcIjpcInNcIixcbiAgICBcIuG2ilwiOlwic1wiLFxuICAgIFwiyL9cIjpcInNcIixcbiAgICBcIsmhXCI6XCJnXCIsXG4gICAgXCLhtJFcIjpcIm9cIixcbiAgICBcIuG0k1wiOlwib1wiLFxuICAgIFwi4bSdXCI6XCJ1XCIsXG4gICAgXCLFpVwiOlwidFwiLFxuICAgIFwixaNcIjpcInRcIixcbiAgICBcIuG5sVwiOlwidFwiLFxuICAgIFwiyJtcIjpcInRcIixcbiAgICBcIsi2XCI6XCJ0XCIsXG4gICAgXCLhupdcIjpcInRcIixcbiAgICBcIuKxplwiOlwidFwiLFxuICAgIFwi4bmrXCI6XCJ0XCIsXG4gICAgXCLhua1cIjpcInRcIixcbiAgICBcIsatXCI6XCJ0XCIsXG4gICAgXCLhua9cIjpcInRcIixcbiAgICBcIuG1tVwiOlwidFwiLFxuICAgIFwixqtcIjpcInRcIixcbiAgICBcIsqIXCI6XCJ0XCIsXG4gICAgXCLFp1wiOlwidFwiLFxuICAgIFwi4bW6XCI6XCJ0aFwiLFxuICAgIFwiyZBcIjpcImFcIixcbiAgICBcIuG0glwiOlwiYWVcIixcbiAgICBcIsedXCI6XCJlXCIsXG4gICAgXCLhtbdcIjpcImdcIixcbiAgICBcIsmlXCI6XCJoXCIsXG4gICAgXCLKrlwiOlwiaFwiLFxuICAgIFwiyq9cIjpcImhcIixcbiAgICBcIuG0iVwiOlwiaVwiLFxuICAgIFwiyp5cIjpcImtcIixcbiAgICBcIuqegVwiOlwibFwiLFxuICAgIFwiya9cIjpcIm1cIixcbiAgICBcIsmwXCI6XCJtXCIsXG4gICAgXCLhtJRcIjpcIm9lXCIsXG4gICAgXCLJuVwiOlwiclwiLFxuICAgIFwiybtcIjpcInJcIixcbiAgICBcIsm6XCI6XCJyXCIsXG4gICAgXCLisblcIjpcInJcIixcbiAgICBcIsqHXCI6XCJ0XCIsXG4gICAgXCLKjFwiOlwidlwiLFxuICAgIFwiyo1cIjpcIndcIixcbiAgICBcIsqOXCI6XCJ5XCIsXG4gICAgXCLqnKlcIjpcInR6XCIsXG4gICAgXCLDulwiOlwidVwiLFxuICAgIFwixa1cIjpcInVcIixcbiAgICBcIseUXCI6XCJ1XCIsXG4gICAgXCLDu1wiOlwidVwiLFxuICAgIFwi4bm3XCI6XCJ1XCIsXG4gICAgXCLDvFwiOlwidVwiLFxuICAgIFwix5hcIjpcInVcIixcbiAgICBcIseaXCI6XCJ1XCIsXG4gICAgXCLHnFwiOlwidVwiLFxuICAgIFwix5ZcIjpcInVcIixcbiAgICBcIuG5s1wiOlwidVwiLFxuICAgIFwi4bulXCI6XCJ1XCIsXG4gICAgXCLFsVwiOlwidVwiLFxuICAgIFwiyJVcIjpcInVcIixcbiAgICBcIsO5XCI6XCJ1XCIsXG4gICAgXCLhu6dcIjpcInVcIixcbiAgICBcIsawXCI6XCJ1XCIsXG4gICAgXCLhu6lcIjpcInVcIixcbiAgICBcIuG7sVwiOlwidVwiLFxuICAgIFwi4burXCI6XCJ1XCIsXG4gICAgXCLhu61cIjpcInVcIixcbiAgICBcIuG7r1wiOlwidVwiLFxuICAgIFwiyJdcIjpcInVcIixcbiAgICBcIsWrXCI6XCJ1XCIsXG4gICAgXCLhubtcIjpcInVcIixcbiAgICBcIsWzXCI6XCJ1XCIsXG4gICAgXCLhtplcIjpcInVcIixcbiAgICBcIsWvXCI6XCJ1XCIsXG4gICAgXCLFqVwiOlwidVwiLFxuICAgIFwi4bm5XCI6XCJ1XCIsXG4gICAgXCLhubVcIjpcInVcIixcbiAgICBcIuG1q1wiOlwidWVcIixcbiAgICBcIuqduFwiOlwidW1cIixcbiAgICBcIuKxtFwiOlwidlwiLFxuICAgIFwi6p2fXCI6XCJ2XCIsXG4gICAgXCLhub9cIjpcInZcIixcbiAgICBcIsqLXCI6XCJ2XCIsXG4gICAgXCLhtoxcIjpcInZcIixcbiAgICBcIuKxsVwiOlwidlwiLFxuICAgIFwi4bm9XCI6XCJ2XCIsXG4gICAgXCLqnaFcIjpcInZ5XCIsXG4gICAgXCLhuoNcIjpcIndcIixcbiAgICBcIsW1XCI6XCJ3XCIsXG4gICAgXCLhuoVcIjpcIndcIixcbiAgICBcIuG6h1wiOlwid1wiLFxuICAgIFwi4bqJXCI6XCJ3XCIsXG4gICAgXCLhuoFcIjpcIndcIixcbiAgICBcIuKxs1wiOlwid1wiLFxuICAgIFwi4bqYXCI6XCJ3XCIsXG4gICAgXCLhuo1cIjpcInhcIixcbiAgICBcIuG6i1wiOlwieFwiLFxuICAgIFwi4baNXCI6XCJ4XCIsXG4gICAgXCLDvVwiOlwieVwiLFxuICAgIFwixbdcIjpcInlcIixcbiAgICBcIsO/XCI6XCJ5XCIsXG4gICAgXCLhuo9cIjpcInlcIixcbiAgICBcIuG7tVwiOlwieVwiLFxuICAgIFwi4buzXCI6XCJ5XCIsXG4gICAgXCLGtFwiOlwieVwiLFxuICAgIFwi4bu3XCI6XCJ5XCIsXG4gICAgXCLhu79cIjpcInlcIixcbiAgICBcIsizXCI6XCJ5XCIsXG4gICAgXCLhuplcIjpcInlcIixcbiAgICBcIsmPXCI6XCJ5XCIsXG4gICAgXCLhu7lcIjpcInlcIixcbiAgICBcIsW6XCI6XCJ6XCIsXG4gICAgXCLFvlwiOlwielwiLFxuICAgIFwi4bqRXCI6XCJ6XCIsXG4gICAgXCLKkVwiOlwielwiLFxuICAgIFwi4rGsXCI6XCJ6XCIsXG4gICAgXCLFvFwiOlwielwiLFxuICAgIFwi4bqTXCI6XCJ6XCIsXG4gICAgXCLIpVwiOlwielwiLFxuICAgIFwi4bqVXCI6XCJ6XCIsXG4gICAgXCLhtbZcIjpcInpcIixcbiAgICBcIuG2jlwiOlwielwiLFxuICAgIFwiypBcIjpcInpcIixcbiAgICBcIsa2XCI6XCJ6XCIsXG4gICAgXCLJgFwiOlwielwiLFxuICAgIFwi76yAXCI6XCJmZlwiLFxuICAgIFwi76yDXCI6XCJmZmlcIixcbiAgICBcIu+shFwiOlwiZmZsXCIsXG4gICAgXCLvrIFcIjpcImZpXCIsXG4gICAgXCLvrIJcIjpcImZsXCIsXG4gICAgXCLEs1wiOlwiaWpcIixcbiAgICBcIsWTXCI6XCJvZVwiLFxuICAgIFwi76yGXCI6XCJzdFwiLFxuICAgIFwi4oKQXCI6XCJhXCIsXG4gICAgXCLigpFcIjpcImVcIixcbiAgICBcIuG1olwiOlwiaVwiLFxuICAgIFwi4rG8XCI6XCJqXCIsXG4gICAgXCLigpJcIjpcIm9cIixcbiAgICBcIuG1o1wiOlwiclwiLFxuICAgIFwi4bWkXCI6XCJ1XCIsXG4gICAgXCLhtaVcIjpcInZcIixcbiAgICBcIuKCk1wiOlwieFwifTtcblN0cmluZy5wcm90b3R5cGUubGF0aW5pc2U9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZXBsYWNlKC9bXkEtWmEtejAtOVxcW1xcXSBdL2csZnVuY3Rpb24oYSl7cmV0dXJuIExhdGluaXNlLmxhdGluX21hcFthXXx8YX0pfTtcblN0cmluZy5wcm90b3R5cGUubGF0aW5pemU9U3RyaW5nLnByb3RvdHlwZS5sYXRpbmlzZTtcblN0cmluZy5wcm90b3R5cGUuaXNMYXRpbj1mdW5jdGlvbigpe3JldHVybiB0aGlzPT10aGlzLmxhdGluaXNlKCl9XG4iXSwibWFwcGluZ3MiOiJBQUFBLElBQUlBLFFBQVEsR0FBQyxDQUFDLENBQUM7QUFBQ0EsUUFBUSxDQUFDQyxTQUFTLEdBQUM7RUFBQyxHQUFHLEVBQUMsR0FBRztFQUN2QyxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsS0FBSztFQUNULEdBQUcsRUFBQyxLQUFLO0VBQ1QsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxJQUFJO0VBQ1IsR0FBRyxFQUFDLElBQUk7RUFDUixHQUFHLEVBQUMsSUFBSTtFQUNSLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUMsR0FBRztFQUNQLEdBQUcsRUFBQyxHQUFHO0VBQ1AsR0FBRyxFQUFDLEdBQUc7RUFDUCxHQUFHLEVBQUM7QUFBRyxDQUFDO0FBQ1pDLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDQyxRQUFRLEdBQUMsWUFBVTtFQUFDLE9BQU8sSUFBSSxDQUFDQyxPQUFPLENBQUMsb0JBQW9CLEVBQUMsVUFBU0MsQ0FBQyxFQUFDO0lBQUMsT0FBT04sUUFBUSxDQUFDQyxTQUFTLENBQUNLLENBQUMsQ0FBQyxJQUFFQSxDQUFDO0VBQUEsQ0FBQyxDQUFDO0FBQUEsQ0FBQztBQUM1SEosTUFBTSxDQUFDQyxTQUFTLENBQUNJLFFBQVEsR0FBQ0wsTUFBTSxDQUFDQyxTQUFTLENBQUNDLFFBQVE7QUFDbkRGLE1BQU0sQ0FBQ0MsU0FBUyxDQUFDSyxPQUFPLEdBQUMsWUFBVTtFQUFDLE9BQU8sSUFBSSxJQUFFLElBQUksQ0FBQ0osUUFBUSxDQUFDLENBQUM7QUFBQSxDQUFDIiwiaWdub3JlTGlzdCI6W10sImZpbGUiOiIuL3Jlc291cmNlcy9qcy9sYXRpbmlzZS5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/latinise.js\n\n}"); /***/ }, diff --git a/public/js/components.js b/public/js/components.js index 06363d2..e695e5d 100644 --- a/public/js/components.js +++ b/public/js/components.js @@ -15,7 +15,7 @@ \*************************************************/ () { -eval("{window.AddressPopUp = function (options, itemData) {\n /*\r\n * Variables accessible\r\n * in the class\r\n */\n var Opts = {\n active: false,\n array: [],\n onAfterSave: function onAfterSave() {},\n onClose: function onClose() {}\n };\n var data = {};\n var root = this;\n /*\r\n * Constructor\r\n */\n this.construct = function (options, itemData) {\n console.log(' Address constructor called');\n };\n this.init = function (options, itemData) {\n console.log(' Address nit called');\n $.extend(Opts, options);\n $.extend(data, itemData);\n root.bindClickAction();\n };\n this.clearData = function () {\n data = {};\n root.renderForm();\n };\n this.setData = function (itemData) {\n $.extend(data, itemData);\n };\n this.show = function () {\n $('.addressModal').modal().show();\n };\n this.renderForm = function () {\n $('.addressModal input').val('');\n $('.addressModal textarea').val('');\n $.each(data, function (key, value) {\n /*\r\n console.log('key:'+key+' value:'+value);\r\n console.log('.addressModal'+' *[name=contact'+$.ucFirst(key)+']');\r\n */\n $('.addressModal' + ' *[name=address' + $.ucFirst(key) + ']').val(value);\n });\n };\n this.loadData = function (id) {\n console.log('loading id:' + id);\n $('.addressModal .spinnerDiv').removeClass('d-none');\n $('.addressModal .addressModalForm').addClass('d-none');\n $('.addressModal').modal().show();\n var url = APP.getOpts()[\"Url\"][\"addressPopup\"]['show'];\n url = url.replaceAll('*id*', id);\n $.ajax({\n url: url,\n type: 'GET',\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n success: function success(data) {\n root.setData(data);\n root.renderForm();\n $('.spinnerDiv').addClass('d-none');\n $('.addressModalForm').removeClass('d-none');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n } else {\n if (xhr.status == 404) {\n ajaxErrorFieldHandler([{\n 'detail': 'Nincs ilyen elem.'\n }]);\n } else {\n ajaxErrorFieldHandler([{\n 'detail': 'Általános hiba.'\n }]);\n }\n }\n $('.addressModal').modal('hide');\n }\n });\n return;\n // removed by dead control flow\n var contactData; \n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n };\n this.getOpts = function () {\n return Opts;\n };\n this.bindClickAction = function () {\n $('.addressModal .btn').unbind('click');\n $('.addressModal .buttonClose').bind('click', root.clickActionButtonClose);\n $('.addressModal .buttonSave').bind('click', root.clickActionButtonSave);\n };\n this.clickActionButtonClose = function (event) {\n console.log('click close');\n Opts.onClose(event, root.formDataToDataObjectAPICall());\n };\n this.save = function (data) {\n var form = $('.addressModal form');\n var url = form.attr('action');\n var ajaxType = 'POST';\n if (data.id) {\n url = APP.getOpts()[\"Url\"][\"addressPopup\"]['update'];\n url = url.replaceAll('*id*', data.id);\n ajaxType = 'PUT';\n }\n if (!data.status) {\n data.status = APP.getOpts()[\"addressPopup\"]['defaultStatus'];\n }\n debug('!!!!URL!!!!! ' + url);\n $.ajax({\n url: url,\n type: ajaxType,\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n data: data,\n success: function success(data) {\n Opts.onAfterSave(data);\n $('.addressModal').modal('toggle');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n }\n }\n });\n return false;\n };\n this.clickActionButtonSave = function (event) {\n console.log('click save');\n var itemData = root.formDataToDataObjectAPICall(),\n savedData;\n debug(itemData);\n if (savedData = root.save(itemData)) {\n return true;\n }\n return false;\n };\n this.formDataToDataObjectAPICall = function () {\n var data = new FormData(document.querySelector('.addressModal form'));\n var formJSON = Object.fromEntries(data.entries());\n /*Multiselect or checkbox to array:\r\n formJSON.multiselectName = data.getAll('multiselectName');\r\n */\n $.each(formJSON, function (item, value) {\n debug($.lcFirst(item.replace('address', '')));\n formJSON[$.lcFirst(item.replace('address', ''))] = value;\n delete formJSON[item];\n });\n if (formJSON.phone) {\n formJSON.phone = formJSON.phone.replaceAll('_', '');\n }\n if (formJSON.email) {\n formJSON.email = formJSON.email.replaceAll('_', '');\n }\n return formJSON;\n };\n this.construct(options, itemData);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9hZGRyZXNzUG9wdXAuanMiLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsWUFBWSxHQUFHLFVBQVVDLE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0VBRTlDO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksSUFBSUMsSUFBSSxHQUFHO0lBQ1BDLE1BQU0sRUFBRSxLQUFLO0lBQ2JDLEtBQUssRUFBRSxFQUFFO0lBQ1RDLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFBLEVBQWMsQ0FDekIsQ0FBQztJQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFjLENBQ3JCO0VBQ0osQ0FBQztFQUNELElBQUlDLElBQUksR0FBRyxDQUFDLENBQUM7RUFDYixJQUFJQyxJQUFJLEdBQUcsSUFBSTtFQUNmO0FBQ0o7QUFDQTtFQUNJLElBQUksQ0FBQ0MsU0FBUyxHQUFHLFVBQVVULE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0lBQ3pDUyxPQUFPLENBQUNDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztFQUM5QyxDQUFDO0VBRUQsSUFBSSxDQUFDQyxJQUFJLEdBQUcsVUFBVVosT0FBTyxFQUFDQyxRQUFRLEVBQUU7SUFDcENTLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLHNCQUFzQixDQUFDO0lBQ25DRSxDQUFDLENBQUNDLE1BQU0sQ0FBQ1osSUFBSSxFQUFFRixPQUFPLENBQUM7SUFDdkJhLENBQUMsQ0FBQ0MsTUFBTSxDQUFDUCxJQUFJLEVBQUVOLFFBQVEsQ0FBQztJQUN4Qk8sSUFBSSxDQUFDTyxlQUFlLENBQUMsQ0FBQztFQUMxQixDQUFDO0VBRUQsSUFBSSxDQUFDQyxTQUFTLEdBQUMsWUFBVztJQUN0QlQsSUFBSSxHQUFDLENBQUMsQ0FBQztJQUNQQyxJQUFJLENBQUNTLFVBQVUsQ0FBQyxDQUFDO0VBQ3JCLENBQUM7RUFFRCxJQUFJLENBQUNDLE9BQU8sR0FBQyxVQUFVakIsUUFBUSxFQUFDO0lBQzVCWSxDQUFDLENBQUNDLE1BQU0sQ0FB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QUFRO0VBQ25CLENBQUM7RUFFRCxJQUFJLENBQUN6RCxTQUFTLENBQUNULE9BQU8sRUFBQ0MsUUFBUSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9hZGRyZXNzUG9wdXAuanM/MGZhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ3aW5kb3cuQWRkcmVzc1BvcFVwID0gZnVuY3Rpb24gKG9wdGlvbnMsaXRlbURhdGEpIHtcclxuXHJcbiAgICAvKlxyXG4gICAgICogVmFyaWFibGVzIGFjY2Vzc2libGVcclxuICAgICAqIGluIHRoZSBjbGFzc1xyXG4gICAgICovXHJcbiAgICBsZXQgT3B0cyA9IHtcclxuICAgICAgICBhY3RpdmU6IGZhbHNlLFxyXG4gICAgICAgIGFycmF5OiBbXSxcclxuICAgICAgICBvbkFmdGVyU2F2ZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgb25DbG9zZTogZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgbGV0IGRhdGEgPSB7fTtcclxuICAgIGxldCByb290ID0gdGhpcztcclxuICAgIC8qXHJcbiAgICAgKiBDb25zdHJ1Y3RvclxyXG4gICAgICovXHJcbiAgICB0aGlzLmNvbnN0cnVjdCA9IGZ1bmN0aW9uIChvcHRpb25zLGl0ZW1EYXRhKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coJyBBZGRyZXNzIGNvbnN0cnVjdG9yIGNhbGxlZCcpO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmluaXQgPSBmdW5jdGlvbiAob3B0aW9ucyxpdGVtRGF0YSkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCcgQWRkcmVzcyAgbml0IGNhbGxlZCcpO1xyXG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xyXG4gICAgICAgICQuZXh0ZW5kKGRhdGEsIGl0ZW1EYXRhKTtcclxuICAgICAgICByb290LmJpbmRDbGlja0FjdGlvbigpO1xyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLmNsZWFyRGF0YT1mdW5jdGlvbiAoKXtcclxuICAgICAgICBkYXRhPXt9O1xyXG4gICAgICAgIHJvb3QucmVuZGVyRm9ybSgpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2V0RGF0YT1mdW5jdGlvbiAoaXRlbURhdGEpe1xyXG4gICAgICAgICQuZXh0ZW5kKGRhdGEsIGl0ZW1EYXRhKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNob3c9ZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICQoJy5hZGRyZXNzTW9kYWwnKS5tb2RhbCgpLnNob3coKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnJlbmRlckZvcm09ZnVuY3Rpb24gKCl7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCBpbnB1dCcpLnZhbCgnJyk7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCB0ZXh0YXJlYScpLnZhbCgnJyk7XHJcbiAgICAgICAgJC5lYWNoKGRhdGEsZnVuY3Rpb24gKGtleSx2YWx1ZSkge1xyXG4gICAgICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2tleTonK2tleSsnIHZhbHVlOicrdmFsdWUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJy5hZGRyZXNzTW9kYWwnKycgKltuYW1lPWNvbnRhY3QnKyQudWNGaXJzdChrZXkpKyddJyk7XHJcbiAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICQoJy5hZGRyZXNzTW9kYWwnKycgKltuYW1lPWFkZHJlc3MnKyQudWNGaXJzdChrZXkpKyddJykudmFsKHZhbHVlKTtcclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWREYXRhPWZ1bmN0aW9uIChpZCl7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ2xvYWRpbmcgaWQ6JytpZCk7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCAuc3Bpbm5lckRpdicpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAkKCcuYWRkcmVzc01vZGFsIC5hZGRyZXNzTW9kYWxGb3JtJykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICQoJy5hZGRyZXNzTW9kYWwnKS5tb2RhbCgpLnNob3coKTtcclxuICAgICAgICBsZXQgdXJsPUFQUC5nZXRPcHRzKClbXCJVcmxcIl1bXCJhZGRyZXNzUG9wdXBcIl1bJ3Nob3cnXTtcclxuICAgICAgICB1cmw9dXJsLnJlcGxhY2VBbGwoJyppZConLGlkKTtcclxuICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICB1cmw6IHVybCxcclxuICAgICAgICAgICAgdHlwZTogJ0dFVCcsXHJcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcclxuICAgICAgICAgICAgICAgICdYLUNTUkYtVE9LRU4nOiBBUFAuZ2V0QXBpVG9rZW4oKVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgcm9vdC5zZXREYXRhKGRhdGEpO1xyXG4gICAgICAgICAgICAgICAgcm9vdC5yZW5kZXJGb3JtKCk7XHJcbiAgICAgICAgICAgICAgICAkKCcuc3Bpbm5lckRpdicpLmFkZENsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgICAgICQoJy5hZGRyZXNzTW9kYWxGb3JtJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpO1xyXG4gICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYoeGhyLnN0YXR1cz09NDA0KXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKFt7J2RldGFpbCc6J05pbmNzIGlseWVuIGVsZW0uJ31dKTtcclxuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgICAgICAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKFt7J2RldGFpbCc6J8OBbHRhbMOhbm9zIGhpYmEuJ31dKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAkKCcuYWRkcmVzc01vZGFsJykubW9kYWwoJ2hpZGUnKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gO1xyXG4gICAgICAgIGxldCBjb250YWN0RGF0YT17XHJcbiAgICAgICAgICAgIGlkOjc2LFxyXG4gICAgICAgICAgICBuYW1lOidNaWtzw7Nuw6kgQm9yYsOpbHkgRXJ6c8OpYmV0JyxcclxuICAgICAgICAgICAgZW1haWw6J3N6YW1sYXphczFAZnVua2Npby5odScsXHJcbiAgICAgICAgICAgIHBob25lOicrMzYyMDM0MDc1MDAnXHJcbiAgICAgICAgfTtcclxuICAgICAgICByb290LnNldERhdGEoY29udGFjdERhdGEpO1xyXG4gICAgICAgIHJvb3QucmVuZGVyRm9ybSgpO1xyXG4gICAgICAgICQoJy5zcGlubmVyRGl2JykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICQoJy5hZGRyZXNzTW9kYWxGb3JtJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmdldE9wdHMgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgcmV0dXJuIE9wdHM7XHJcbiAgICB9XHJcbiAgICB0aGlzLmJpbmRDbGlja0FjdGlvbiA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAkKCcuYWRkcmVzc01vZGFsIC5idG4nKS51bmJpbmQoJ2NsaWNrJyk7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCAuYnV0dG9uQ2xvc2UnKS5iaW5kKCdjbGljaycsIHJvb3QuY2xpY2tBY3Rpb25CdXR0b25DbG9zZSk7XHJcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCAuYnV0dG9uU2F2ZScpLmJpbmQoJ2NsaWNrJywgcm9vdC5jbGlja0FjdGlvbkJ1dHRvblNhdmUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2xpY2tBY3Rpb25CdXR0b25DbG9zZSA9IGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjbGljayBjbG9zZScpO1xyXG4gICAgICAgIE9wdHMub25DbG9zZShldmVudCwgcm9vdC5mb3JtRGF0YVRvRGF0YU9iamVjdEFQSUNhbGwoKSk7XHJcbiAgICB9XHJcblxyXG5cclxuICAgIHRoaXMuc2F2ZSA9IGZ1bmN0aW9uIChkYXRhKSB7XHJcbiAgICAgICAgbGV0IGZvcm0gPSAkKCcuYWRkcmVzc01vZGFsIGZvcm0nKTtcclxuICAgICAgICBsZXQgdXJsPWZvcm0uYXR0cignYWN0aW9uJyk7XHJcbiAgICAgICAgbGV0IGFqYXhUeXBlPSdQT1NUJztcclxuICAgICAgICBpZihkYXRhLmlkKXtcclxuICAgICAgICAgICAgdXJsPUFQUC5nZXRPcHRzKClbXCJVcmxcIl1bXCJhZGRyZXNzUG9wdXBcIl1bJ3VwZGF0ZSddO1xyXG4gICAgICAgICAgICB1cmw9dXJsLnJlcGxhY2VBbGwoJyppZConLGRhdGEuaWQpO1xyXG4gICAgICAgICAgICBhamF4VHlwZT0nUFVUJztcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYoIWRhdGEuc3RhdHVzKXtcclxuICAgICAgICAgICAgZGF0YS5zdGF0dXM9QVBQLmdldE9wdHMoKVtcImFkZHJlc3NQb3B1cFwiXVsnZGVmYXVsdFN0YXR1cyddO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkZWJ1ZygnISEhIVVSTCEhISEhICcrdXJsKTtcclxuXHJcbiAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICAgIHR5cGU6IGFqYXhUeXBlLFxyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogQVBQLmdldEFwaVRva2VuKClcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZGF0YTogZGF0YSxcclxuICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIE9wdHMub25BZnRlclNhdmUoZGF0YSk7XHJcbiAgICAgICAgICAgICAgICAkKCcuYWRkcmVzc01vZGFsJykubW9kYWwoJ3RvZ2dsZScpO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpIHtcclxuICAgICAgICAgICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbGlja0FjdGlvbkJ1dHRvblNhdmUgPSBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnY2xpY2sgc2F2ZScpO1xyXG4gICAgICAgIGxldCBpdGVtRGF0YSA9IHJvb3QuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsKCksIHNhdmVkRGF0YTtcclxuICAgICAgICBkZWJ1ZyhpdGVtRGF0YSk7XHJcbiAgICAgICAgaWYoc2F2ZWREYXRhPXJvb3Quc2F2ZShpdGVtRGF0YSkpe1xyXG4gICAgICAgICAgICByZXR1cm4gIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcblxyXG5cclxuICAgIHRoaXMuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIGxldCBkYXRhID0gbmV3IEZvcm1EYXRhKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hZGRyZXNzTW9kYWwgZm9ybScpKTtcclxuICAgICAgICBsZXQgZm9ybUpTT04gPSBPYmplY3QuZnJvbUVudHJpZXMoZGF0YS5lbnRyaWVzKCkpO1xyXG4gICAgICAgIC8qTXVsdGlzZWxlY3Qgb3IgY2hlY2tib3ggdG8gYXJyYXk6XHJcbiAgICAgICAgZm9ybUpTT04ubXVsdGlzZWxlY3ROYW1lID0gZGF0YS5nZXRBbGwoJ211bHRpc2VsZWN0TmFtZScpO1xyXG4gICAgICAgICovXHJcbiAgICAgICAgJC5lYWNoKGZvcm1KU09OLCBmdW5jdGlvbiAoaXRlbSwgdmFsdWUpIHtcclxuICAgICAgICAgICAgZGVidWcoJC5sY0ZpcnN0KGl0ZW0ucmVwbGFjZSgnYWRkcmVzcycsICcnKSkpO1xyXG4gICAgICAgICAgICBmb3JtSlNPTlskLmxjRmlyc3QoaXRlbS5yZXBsYWNlKCdhZGRyZXNzJywgJycpKV0gPSB2YWx1ZTtcclxuICAgICAgICAgICAgZGVsZXRlIGZvcm1KU09OW2l0ZW1dO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmKGZvcm1KU09OLnBob25lKXtcclxuICAgICAgICAgICAgZm9ybUpTT04ucGhvbmU9Zm9ybUpTT04ucGhvbmUucmVwbGFjZUFsbCgnXycsJycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZihmb3JtSlNPTi5lbWFpbCl7XHJcbiAgICAgICAgICAgIGZvcm1KU09OLmVtYWlsPWZvcm1KU09OLmVtYWlsLnJlcGxhY2VBbGwoJ18nLCcnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGZvcm1KU09OO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY29uc3RydWN0KG9wdGlvbnMsaXRlbURhdGEpO1xyXG59XHJcbiJdLCJuYW1lcyI6WyJ3aW5kb3ciLCJBZGRyZXNzUG9wVXAiLCJvcHRpb25zIiwiaXRlbURhdGEiLCJPcHRzIiwiYWN0aXZlIiwiYXJyYXkiLCJvbkFmdGVyU2F2ZSIsIm9uQ2xvc2UiLCJkYXRhIiwicm9vdCIsImNvbnN0cnVjdCIsImNvbnNvbGUiLCJsb2ciLCJpbml0IiwiJCIsImV4dGVuZCIsImJpbmRDbGlja0FjdGlvbiIsImNsZWFyRGF0YSIsInJlbmRlckZvcm0iLCJzZXREYXRhIiwic2hvdyIsIm1vZGFsIiwidmFsIiwiZWFjaCIsImtleSIsInZhbHVlIiwidWNGaXJzdCIsImxvYWREYXRhIiwiaWQiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwidXJsIiwiQVBQIiwiZ2V0T3B0cyIsInJlcGxhY2VBbGwiLCJhamF4IiwidHlwZSIsImhlYWRlcnMiLCJnZXRBcGlUb2tlbiIsInN1Y2Nlc3MiLCJlcnJvciIsInhociIsImFqYXhPcHRpb25zIiwidGhyb3duRXJyb3IiLCJyZXNwb25zZUpTT04iLCJlcnJvcnMiLCJhamF4RXJyb3JGaWVsZEhhbmRsZXIiLCJzdGF0dXMiLCJjb250YWN0RGF0YSIsIm5hbWUiLCJlbWFpbCIsInBob25lIiwidW5iaW5kIiwiYmluZCIsImNsaWNrQWN0aW9uQnV0dG9uQ2xvc2UiLCJjbGlja0FjdGlvbkJ1dHRvblNhdmUiLCJldmVudCIsImZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCIsInNhdmUiLCJmb3JtIiwiYXR0ciIsImFqYXhUeXBlIiwiZGVidWciLCJzYXZlZERhdGEiLCJGb3JtRGF0YSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImZvcm1KU09OIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiaXRlbSIsImxjRmlyc3QiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/components/addressPopup.js\n\n}"); +eval("{window.AddressPopUp = function (options, itemData) {\n /*\n * Variables accessible\n * in the class\n */\n var Opts = {\n active: false,\n array: [],\n onAfterSave: function onAfterSave() {},\n onClose: function onClose() {}\n };\n var data = {};\n var root = this;\n /*\n * Constructor\n */\n this.construct = function (options, itemData) {\n console.log(' Address constructor called');\n };\n this.init = function (options, itemData) {\n console.log(' Address nit called');\n $.extend(Opts, options);\n $.extend(data, itemData);\n root.bindClickAction();\n };\n this.clearData = function () {\n data = {};\n root.renderForm();\n };\n this.setData = function (itemData) {\n $.extend(data, itemData);\n };\n this.show = function () {\n $('.addressModal').modal().show();\n };\n this.renderForm = function () {\n $('.addressModal input').val('');\n $('.addressModal textarea').val('');\n $.each(data, function (key, value) {\n /*\n console.log('key:'+key+' value:'+value);\n console.log('.addressModal'+' *[name=contact'+$.ucFirst(key)+']');\n */\n $('.addressModal' + ' *[name=address' + $.ucFirst(key) + ']').val(value);\n });\n };\n this.loadData = function (id) {\n console.log('loading id:' + id);\n $('.addressModal .spinnerDiv').removeClass('d-none');\n $('.addressModal .addressModalForm').addClass('d-none');\n $('.addressModal').modal().show();\n var url = APP.getOpts()[\"Url\"][\"addressPopup\"]['show'];\n url = url.replaceAll('*id*', id);\n $.ajax({\n url: url,\n type: 'GET',\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n success: function success(data) {\n root.setData(data);\n root.renderForm();\n $('.spinnerDiv').addClass('d-none');\n $('.addressModalForm').removeClass('d-none');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n } else {\n if (xhr.status == 404) {\n ajaxErrorFieldHandler([{\n 'detail': 'Nincs ilyen elem.'\n }]);\n } else {\n ajaxErrorFieldHandler([{\n 'detail': 'Általános hiba.'\n }]);\n }\n }\n $('.addressModal').modal('hide');\n }\n });\n return;\n // removed by dead control flow\n var contactData; \n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n };\n this.getOpts = function () {\n return Opts;\n };\n this.bindClickAction = function () {\n $('.addressModal .btn').unbind('click');\n $('.addressModal .buttonClose').bind('click', root.clickActionButtonClose);\n $('.addressModal .buttonSave').bind('click', root.clickActionButtonSave);\n };\n this.clickActionButtonClose = function (event) {\n console.log('click close');\n Opts.onClose(event, root.formDataToDataObjectAPICall());\n };\n this.save = function (data) {\n var form = $('.addressModal form');\n var url = form.attr('action');\n var ajaxType = 'POST';\n if (data.id) {\n url = APP.getOpts()[\"Url\"][\"addressPopup\"]['update'];\n url = url.replaceAll('*id*', data.id);\n ajaxType = 'PUT';\n }\n if (!data.status) {\n data.status = APP.getOpts()[\"addressPopup\"]['defaultStatus'];\n }\n debug('!!!!URL!!!!! ' + url);\n $.ajax({\n url: url,\n type: ajaxType,\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n data: data,\n success: function success(data) {\n Opts.onAfterSave(data);\n $('.addressModal').modal('toggle');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n }\n }\n });\n return false;\n };\n this.clickActionButtonSave = function (event) {\n console.log('click save');\n var itemData = root.formDataToDataObjectAPICall(),\n savedData;\n debug(itemData);\n if (savedData = root.save(itemData)) {\n return true;\n }\n return false;\n };\n this.formDataToDataObjectAPICall = function () {\n var data = new FormData(document.querySelector('.addressModal form'));\n var formJSON = Object.fromEntries(data.entries());\n /*Multiselect or checkbox to array:\n formJSON.multiselectName = data.getAll('multiselectName');\n */\n $.each(formJSON, function (item, value) {\n debug($.lcFirst(item.replace('address', '')));\n formJSON[$.lcFirst(item.replace('address', ''))] = value;\n delete formJSON[item];\n });\n if (formJSON.phone) {\n formJSON.phone = formJSON.phone.replaceAll('_', '');\n }\n if (formJSON.email) {\n formJSON.email = formJSON.email.replaceAll('_', '');\n }\n return formJSON;\n };\n this.construct(options, itemData);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9hZGRyZXNzUG9wdXAuanMiLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsWUFBWSxHQUFHLFVBQVVDLE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0VBRTlDO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksSUFBSUMsSUFBSSxHQUFHO0lBQ1BDLE1BQU0sRUFBRSxLQUFLO0lBQ2JDLEtBQUssRUFBRSxFQUFFO0lBQ1RDLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFBLEVBQWMsQ0FDekIsQ0FBQztJQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFjLENBQ3JCO0VBQ0osQ0FBQztFQUNELElBQUlDLElBQUksR0FBRyxDQUFDLENBQUM7RUFDYixJQUFJQyxJQUFJLEdBQUcsSUFBSTtFQUNmO0FBQ0o7QUFDQTtFQUNJLElBQUksQ0FBQ0MsU0FBUyxHQUFHLFVBQVVULE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0lBQ3pDUyxPQUFPLENBQUNDLEdBQUcsQ0FBQyw2QkFBNkIsQ0FBQztFQUM5QyxDQUFDO0VBRUQsSUFBSSxDQUFDQyxJQUFJLEdBQUcsVUFBVVosT0FBTyxFQUFDQyxRQUFRLEVBQUU7SUFDcENTLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLHNCQUFzQixDQUFDO0lBQ25DRSxDQUFDLENBQUNDLE1BQU0sQ0FBQ1osSUFBSSxFQUFFRixPQUFPLENBQUM7SUFDdkJhLENBQUMsQ0FBQ0MsTUFBTSxDQUFDUCxJQUFJLEVBQUVOLFFBQVEsQ0FBQztJQUN4Qk8sSUFBSSxDQUFDTyxlQUFlLENBQUMsQ0FBQztFQUMxQixDQUFDO0VBRUQsSUFBSSxDQUFDQyxTQUFTLEdBQUMsWUFBVztJQUN0QlQsSUFBSSxHQUFDLENBQUMsQ0FBQztJQUNQQyxJQUFJLENBQUNTLFVBQVUsQ0FBQyxDQUFDO0VBQ3JCLENBQUM7RUFFRCxJQUFJLENBQUNDLE9BQU8sR0FBQyxVQUFVakIsUUFBUSxFQUFDO0lBQzVCWSxDQUFDLENBQUNDLE1BQU0sQ0FB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QUFRO0VBQ25CLENBQUM7RUFFRCxJQUFJLENBQUN6RCxTQUFTLENBQUNULE9BQU8sRUFBQ0MsUUFBUSxDQUFDO0FBQ3BDLENBQUMiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9hZGRyZXNzUG9wdXAuanM/MGZhNCJdLCJzb3VyY2VzQ29udGVudCI6WyJ3aW5kb3cuQWRkcmVzc1BvcFVwID0gZnVuY3Rpb24gKG9wdGlvbnMsaXRlbURhdGEpIHtcblxuICAgIC8qXG4gICAgICogVmFyaWFibGVzIGFjY2Vzc2libGVcbiAgICAgKiBpbiB0aGUgY2xhc3NcbiAgICAgKi9cbiAgICBsZXQgT3B0cyA9IHtcbiAgICAgICAgYWN0aXZlOiBmYWxzZSxcbiAgICAgICAgYXJyYXk6IFtdLFxuICAgICAgICBvbkFmdGVyU2F2ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICB9LFxuICAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIH0sXG4gICAgfTtcbiAgICBsZXQgZGF0YSA9IHt9O1xuICAgIGxldCByb290ID0gdGhpcztcbiAgICAvKlxuICAgICAqIENvbnN0cnVjdG9yXG4gICAgICovXG4gICAgdGhpcy5jb25zdHJ1Y3QgPSBmdW5jdGlvbiAob3B0aW9ucyxpdGVtRGF0YSkge1xuICAgICAgICBjb25zb2xlLmxvZygnIEFkZHJlc3MgY29uc3RydWN0b3IgY2FsbGVkJyk7XG4gICAgfTtcblxuICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uIChvcHRpb25zLGl0ZW1EYXRhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCcgQWRkcmVzcyAgbml0IGNhbGxlZCcpO1xuICAgICAgICAkLmV4dGVuZChPcHRzLCBvcHRpb25zKTtcbiAgICAgICAgJC5leHRlbmQoZGF0YSwgaXRlbURhdGEpO1xuICAgICAgICByb290LmJpbmRDbGlja0FjdGlvbigpO1xuICAgIH07XG5cbiAgICB0aGlzLmNsZWFyRGF0YT1mdW5jdGlvbiAoKXtcbiAgICAgICAgZGF0YT17fTtcbiAgICAgICAgcm9vdC5yZW5kZXJGb3JtKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXREYXRhPWZ1bmN0aW9uIChpdGVtRGF0YSl7XG4gICAgICAgICQuZXh0ZW5kKGRhdGEsIGl0ZW1EYXRhKTtcbiAgICB9XG5cbiAgICB0aGlzLnNob3c9ZnVuY3Rpb24gKCkge1xuICAgICAgICAkKCcuYWRkcmVzc01vZGFsJykubW9kYWwoKS5zaG93KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJGb3JtPWZ1bmN0aW9uICgpe1xuICAgICAgICAkKCcuYWRkcmVzc01vZGFsIGlucHV0JykudmFsKCcnKTtcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCB0ZXh0YXJlYScpLnZhbCgnJyk7XG4gICAgICAgICQuZWFjaChkYXRhLGZ1bmN0aW9uIChrZXksdmFsdWUpIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2tleTonK2tleSsnIHZhbHVlOicrdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCcuYWRkcmVzc01vZGFsJysnICpbbmFtZT1jb250YWN0JyskLnVjRmlyc3Qoa2V5KSsnXScpO1xuICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICQoJy5hZGRyZXNzTW9kYWwnKycgKltuYW1lPWFkZHJlc3MnKyQudWNGaXJzdChrZXkpKyddJykudmFsKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkRGF0YT1mdW5jdGlvbiAoaWQpe1xuICAgICAgICBjb25zb2xlLmxvZygnbG9hZGluZyBpZDonK2lkKTtcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCAuc3Bpbm5lckRpdicpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCAuYWRkcmVzc01vZGFsRm9ybScpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCcpLm1vZGFsKCkuc2hvdygpO1xuICAgICAgICBsZXQgdXJsPUFQUC5nZXRPcHRzKClbXCJVcmxcIl1bXCJhZGRyZXNzUG9wdXBcIl1bJ3Nob3cnXTtcbiAgICAgICAgdXJsPXVybC5yZXBsYWNlQWxsKCcqaWQqJyxpZCk7XG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIHR5cGU6ICdHRVQnLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdYLUNTUkYtVE9LRU4nOiBBUFAuZ2V0QXBpVG9rZW4oKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uIChkYXRhKSB7XG4gICAgICAgICAgICAgICAgcm9vdC5zZXREYXRhKGRhdGEpO1xuICAgICAgICAgICAgICAgIHJvb3QucmVuZGVyRm9ybSgpO1xuICAgICAgICAgICAgICAgICQoJy5zcGlubmVyRGl2JykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAgICAgICAgICQoJy5hZGRyZXNzTW9kYWxGb3JtJykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHtcbiAgICAgICAgICAgICAgICBpZiAoeGhyLnJlc3BvbnNlSlNPTi5lcnJvcnMpIHtcbiAgICAgICAgICAgICAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKTtcbiAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgaWYoeGhyLnN0YXR1cz09NDA0KXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihbeydkZXRhaWwnOidOaW5jcyBpbHllbiBlbGVtLid9XSk7XG4gICAgICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKFt7J2RldGFpbCc6J8OBbHRhbMOhbm9zIGhpYmEuJ31dKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAkKCcuYWRkcmVzc01vZGFsJykubW9kYWwoJ2hpZGUnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gO1xuICAgICAgICBsZXQgY29udGFjdERhdGE9e1xuICAgICAgICAgICAgaWQ6NzYsXG4gICAgICAgICAgICBuYW1lOidNaWtzw7Nuw6kgQm9yYsOpbHkgRXJ6c8OpYmV0JyxcbiAgICAgICAgICAgIGVtYWlsOidzemFtbGF6YXMxQGZ1bmtjaW8uaHUnLFxuICAgICAgICAgICAgcGhvbmU6JyszNjIwMzQwNzUwMCdcbiAgICAgICAgfTtcbiAgICAgICAgcm9vdC5zZXREYXRhKGNvbnRhY3REYXRhKTtcbiAgICAgICAgcm9vdC5yZW5kZXJGb3JtKCk7XG4gICAgICAgICQoJy5zcGlubmVyRGl2JykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAkKCcuYWRkcmVzc01vZGFsRm9ybScpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcblxuICAgIH1cblxuICAgIHRoaXMuZ2V0T3B0cyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIE9wdHM7XG4gICAgfVxuICAgIHRoaXMuYmluZENsaWNrQWN0aW9uID0gZnVuY3Rpb24gKCkge1xuICAgICAgICAkKCcuYWRkcmVzc01vZGFsIC5idG4nKS51bmJpbmQoJ2NsaWNrJyk7XG4gICAgICAgICQoJy5hZGRyZXNzTW9kYWwgLmJ1dHRvbkNsb3NlJykuYmluZCgnY2xpY2snLCByb290LmNsaWNrQWN0aW9uQnV0dG9uQ2xvc2UpO1xuICAgICAgICAkKCcuYWRkcmVzc01vZGFsIC5idXR0b25TYXZlJykuYmluZCgnY2xpY2snLCByb290LmNsaWNrQWN0aW9uQnV0dG9uU2F2ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jbGlja0FjdGlvbkJ1dHRvbkNsb3NlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjbGljayBjbG9zZScpO1xuICAgICAgICBPcHRzLm9uQ2xvc2UoZXZlbnQsIHJvb3QuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsKCkpO1xuICAgIH1cblxuXG4gICAgdGhpcy5zYXZlID0gZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgbGV0IGZvcm0gPSAkKCcuYWRkcmVzc01vZGFsIGZvcm0nKTtcbiAgICAgICAgbGV0IHVybD1mb3JtLmF0dHIoJ2FjdGlvbicpO1xuICAgICAgICBsZXQgYWpheFR5cGU9J1BPU1QnO1xuICAgICAgICBpZihkYXRhLmlkKXtcbiAgICAgICAgICAgIHVybD1BUFAuZ2V0T3B0cygpW1wiVXJsXCJdW1wiYWRkcmVzc1BvcHVwXCJdWyd1cGRhdGUnXTtcbiAgICAgICAgICAgIHVybD11cmwucmVwbGFjZUFsbCgnKmlkKicsZGF0YS5pZCk7XG4gICAgICAgICAgICBhamF4VHlwZT0nUFVUJztcbiAgICAgICAgfVxuICAgICAgICBpZighZGF0YS5zdGF0dXMpe1xuICAgICAgICAgICAgZGF0YS5zdGF0dXM9QVBQLmdldE9wdHMoKVtcImFkZHJlc3NQb3B1cFwiXVsnZGVmYXVsdFN0YXR1cyddO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnKCchISEhVVJMISEhISEgJyt1cmwpO1xuXG4gICAgICAgICQuYWpheCh7XG4gICAgICAgICAgICB1cmw6IHVybCxcbiAgICAgICAgICAgIHR5cGU6IGFqYXhUeXBlLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdYLUNTUkYtVE9LRU4nOiBBUFAuZ2V0QXBpVG9rZW4oKVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRhdGE6IGRhdGEsXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgIE9wdHMub25BZnRlclNhdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgJCgnLmFkZHJlc3NNb2RhbCcpLm1vZGFsKCd0b2dnbGUnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcih4aHIucmVzcG9uc2VKU09OLmVycm9ycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuY2xpY2tBY3Rpb25CdXR0b25TYXZlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjbGljayBzYXZlJyk7XG4gICAgICAgIGxldCBpdGVtRGF0YSA9IHJvb3QuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsKCksIHNhdmVkRGF0YTtcbiAgICAgICAgZGVidWcoaXRlbURhdGEpO1xuICAgICAgICBpZihzYXZlZERhdGE9cm9vdC5zYXZlKGl0ZW1EYXRhKSl7XG4gICAgICAgICAgICByZXR1cm4gIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG5cbiAgICB0aGlzLmZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IGRhdGEgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmFkZHJlc3NNb2RhbCBmb3JtJykpO1xuICAgICAgICBsZXQgZm9ybUpTT04gPSBPYmplY3QuZnJvbUVudHJpZXMoZGF0YS5lbnRyaWVzKCkpO1xuICAgICAgICAvKk11bHRpc2VsZWN0IG9yIGNoZWNrYm94IHRvIGFycmF5OlxuICAgICAgICBmb3JtSlNPTi5tdWx0aXNlbGVjdE5hbWUgPSBkYXRhLmdldEFsbCgnbXVsdGlzZWxlY3ROYW1lJyk7XG4gICAgICAgICovXG4gICAgICAgICQuZWFjaChmb3JtSlNPTiwgZnVuY3Rpb24gKGl0ZW0sIHZhbHVlKSB7XG4gICAgICAgICAgICBkZWJ1ZygkLmxjRmlyc3QoaXRlbS5yZXBsYWNlKCdhZGRyZXNzJywgJycpKSk7XG4gICAgICAgICAgICBmb3JtSlNPTlskLmxjRmlyc3QoaXRlbS5yZXBsYWNlKCdhZGRyZXNzJywgJycpKV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIGRlbGV0ZSBmb3JtSlNPTltpdGVtXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmKGZvcm1KU09OLnBob25lKXtcbiAgICAgICAgICAgIGZvcm1KU09OLnBob25lPWZvcm1KU09OLnBob25lLnJlcGxhY2VBbGwoJ18nLCcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmb3JtSlNPTi5lbWFpbCl7XG4gICAgICAgICAgICBmb3JtSlNPTi5lbWFpbD1mb3JtSlNPTi5lbWFpbC5yZXBsYWNlQWxsKCdfJywnJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZvcm1KU09OO1xuICAgIH1cblxuICAgIHRoaXMuY29uc3RydWN0KG9wdGlvbnMsaXRlbURhdGEpO1xufVxuIl0sIm5hbWVzIjpbIndpbmRvdyIsIkFkZHJlc3NQb3BVcCIsIm9wdGlvbnMiLCJpdGVtRGF0YSIsIk9wdHMiLCJhY3RpdmUiLCJhcnJheSIsIm9uQWZ0ZXJTYXZlIiwib25DbG9zZSIsImRhdGEiLCJyb290IiwiY29uc3RydWN0IiwiY29uc29sZSIsImxvZyIsImluaXQiLCIkIiwiZXh0ZW5kIiwiYmluZENsaWNrQWN0aW9uIiwiY2xlYXJEYXRhIiwicmVuZGVyRm9ybSIsInNldERhdGEiLCJzaG93IiwibW9kYWwiLCJ2YWwiLCJlYWNoIiwia2V5IiwidmFsdWUiLCJ1Y0ZpcnN0IiwibG9hZERhdGEiLCJpZCIsInJlbW92ZUNsYXNzIiwiYWRkQ2xhc3MiLCJ1cmwiLCJBUFAiLCJnZXRPcHRzIiwicmVwbGFjZUFsbCIsImFqYXgiLCJ0eXBlIiwiaGVhZGVycyIsImdldEFwaVRva2VuIiwic3VjY2VzcyIsImVycm9yIiwieGhyIiwiYWpheE9wdGlvbnMiLCJ0aHJvd25FcnJvciIsInJlc3BvbnNlSlNPTiIsImVycm9ycyIsImFqYXhFcnJvckZpZWxkSGFuZGxlciIsInN0YXR1cyIsImNvbnRhY3REYXRhIiwibmFtZSIsImVtYWlsIiwicGhvbmUiLCJ1bmJpbmQiLCJiaW5kIiwiY2xpY2tBY3Rpb25CdXR0b25DbG9zZSIsImNsaWNrQWN0aW9uQnV0dG9uU2F2ZSIsImV2ZW50IiwiZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsIiwic2F2ZSIsImZvcm0iLCJhdHRyIiwiYWpheFR5cGUiLCJkZWJ1ZyIsInNhdmVkRGF0YSIsIkZvcm1EYXRhIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiZm9ybUpTT04iLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJpdGVtIiwibGNGaXJzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/components/addressPopup.js\n\n}"); /***/ }, @@ -25,7 +25,7 @@ eval("{window.AddressPopUp = function (options, itemData) {\n /*\r\n * Variab \*************************************************/ () { -eval("{window.ContactPopUp = function (options, itemData) {\n /*\r\n * Variables accessible\r\n * in the class\r\n */\n var Opts = {\n active: false,\n array: [],\n onAfterSave: function onAfterSave() {},\n onClose: function onClose() {}\n };\n var data = {};\n var root = this;\n /*\r\n * Constructor\r\n */\n this.construct = function (options, itemData) {\n console.log(' ContactPopUp constructor called');\n };\n this.init = function (options, itemData) {\n console.log(' ContactPopUp nit called');\n $.extend(Opts, options);\n $.extend(data, itemData);\n root.bindClickAction();\n $(\"select.contactType\").select2({\n maximumSelectionLength: 1\n });\n };\n this.clearData = function () {\n data = {};\n root.renderForm();\n };\n this.setData = function (itemData) {\n $.extend(data, itemData);\n };\n this.show = function () {\n $('.contactModal').modal().show();\n };\n this.renderForm = function () {\n $('.contactModal input').val('');\n $('.contactModal textarea').val('');\n $.each(data, function (key, value) {\n /*\r\n console.log('key:'+key+' value:'+value);\r\n console.log('.contactModal'+' *[name=contact'+$.ucFirst(key)+']');\r\n */\n $('.contactModal' + ' *[name=contact' + $.ucFirst(key) + ']').val(value);\n });\n if (data.type === undefined || data.type === null) {\n $(\"select.contactType\").select2().val();\n } else {\n $(\"select.contactType\").select2().val(data.type.split(','));\n }\n $(\"select.contactType\").select2().trigger('change');\n };\n this.loadData = function (contactId) {\n console.log('loading id:' + contactId);\n $('.contactModal .spinnerDiv').removeClass('d-none');\n $('.contactModal .contactModalForm').addClass('d-none');\n $('.contactModal').modal().show();\n var url = APP.getOpts()[\"Url\"][\"contactPopup\"]['show'];\n url = url.replaceAll('*contactId*', contactId);\n $.ajax({\n url: url,\n type: 'GET',\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n success: function success(data) {\n root.setData(data);\n root.renderForm();\n $('.spinnerDiv').addClass('d-none');\n $('.contactModalForm').removeClass('d-none');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n } else {\n if (xhr.status == 404) {\n ajaxErrorFieldHandler([{\n 'detail': 'Nincs ilyen elem.'\n }]);\n } else {\n ajaxErrorFieldHandler([{\n 'detail': 'Általános hiba.'\n }]);\n }\n }\n $('.contactModal').modal('hide');\n }\n });\n return;\n // removed by dead control flow\n var contactData; \n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n };\n this.getOpts = function () {\n return Opts;\n };\n this.bindClickAction = function () {\n $('.contactModal .btn').unbind('click');\n $('.contactModal .buttonClose').bind('click', root.clickActionButtonClose);\n $('.contactModal .buttonSave').bind('click', root.clickActionButtonSave);\n };\n this.clickActionButtonClose = function (event) {\n console.log('click close');\n Opts.onClose(event, root.formDataToDataObjectAPICall());\n };\n this.saveContact = function (contactData) {\n var form = $('.contactModal form');\n var url = form.attr('action');\n var ajaxType = 'POST';\n if (contactData.id) {\n url = APP.getOpts()[\"Url\"][\"contactPopup\"]['update'];\n\n //'{{route(\"admin.contact.update\",\"*contactId*\")}}';\n url = url.replaceAll('*contactId*', contactData.id);\n ajaxType = 'PUT';\n }\n if (!contactData.status) {\n contactData.status = APP.getOpts()[\"contactPopup\"]['defaultStatus'];\n }\n $.ajax({\n url: url,\n type: ajaxType,\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n data: contactData,\n success: function success(data) {\n Opts.onAfterSave(data);\n $('.contactModal').modal('toggle');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n }\n }\n });\n return false;\n };\n this.clickActionButtonSave = function (event) {\n console.log('click save');\n var contactData = root.formDataToDataObjectAPICall(),\n savedData;\n if (savedData = root.saveContact(contactData)) {\n Opts.onAfterSave(event, contactData);\n $('.contactModal').modal('toggle');\n return true;\n }\n return false;\n };\n this.formDataToDataObjectAPICall = function () {\n var data = new FormData(document.querySelector('.contactModal form'));\n var formJSON = Object.fromEntries(data.entries());\n /*Multiselect or checkbox to array:\r\n formJSON.multiselectName = data.getAll('multiselectName');\r\n */\n $.each(formJSON, function (item, value) {\n formJSON[$.lcFirst(item.replace('contact', ''))] = value;\n delete formJSON[item];\n });\n if (formJSON.phone) {\n formJSON.phone = formJSON.phone.replaceAll('_', '');\n }\n if (formJSON.email) {\n formJSON.email = formJSON.email.replaceAll('_', '');\n }\n formJSON.type = $(\"select.contactType\").select2().val();\n return formJSON;\n };\n this.construct(options, itemData);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9jb250YWN0UG9wdXAuanMiLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsWUFBWSxHQUFHLFVBQVVDLE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0VBRTlDO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksSUFBSUMsSUFBSSxHQUFHO0lBQ1BDLE1BQU0sRUFBRSxLQUFLO0lBQ2JDLEtBQUssRUFBRSxFQUFFO0lBQ1RDLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFBLEVBQWMsQ0FDekIsQ0FBQztJQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFjLENBQ3JCO0VBQ0osQ0FBQztFQUNELElBQUlDLElBQUksR0FBRyxDQUFDLENBQUM7RUFDYixJQUFJQyxJQUFJLEdBQUcsSUFBSTtFQUNmO0FBQ0o7QUFDQTtFQUNJLElBQUksQ0FBQ0MsU0FBUyxHQUFHLFVBQVVULE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0lBQ3pDUyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQztFQUNuRCxDQUFDO0VBRUQsSUFBSSxDQUFDQyxJQUFJLEdBQUcsVUFBVVosT0FBTyxFQUFDQyxRQUFRLEVBQUU7SUFDcENTLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLDBCQUEwQixDQUFDO0lBQ3ZDRSxDQUFDLENBQUNDLE1BQU0sQ0FBQ1osSUFBSSxFQUFFRixPQUFPLENBQUM7SUFDdkJhLENBQUMsQ0FBQ0MsTUFBTSxDQUFDUCxJQUFJLEVBQUVOLFFBQVEsQ0FBQztJQUN4Qk8sSUFBSSxDQUFDTyxlQUFlLENBQUMsQ0FBQztJQUN0QkYsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUNHLE9BQU8sQ0FBQztNQUM1QkMsc0JBQXNCLEVBQUU7SUFDNUIsQ0FBQyxDQUFDO0VBRU4sQ0FBQztFQUVELElBQUksQ0FBQ0MsU0FBUyxHQUFDLFlBQVc7SUFDdEJYLElBQUksR0FBQyxDQUFDLENBQUM7SUFDUEMsSUFBSSxDQUFDVyxVQUFVLENBQUMsQ0FBQztF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QUFDK0QsT0FBTyxDQUFDRCxJQUFJLENBQUNFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHbkQsS0FBSztNQUN4RCxPQUFPNkMsUUFBUSxDQUFDSSxJQUFJLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBQ0YsSUFBR0osUUFBUSxDQUFDZixLQUFLLEVBQUM7TUFDZGUsUUFBUSxDQUFDZixLQUFLLEdBQUNlLFFBQVEsQ0FBQ2YsS0FBSyxDQUFDakIsVUFBVSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUM7SUFDcEQ7SUFDQSxJQUFHZ0MsUUFBUSxDQUFDaEIsS0FBSyxFQUFDO01BQ2RnQixRQUFRLENBQUNoQixLQUFLLEdBQUNnQixRQUFRLENBQUNoQixLQUFLLENBQUNoQixVQUFVLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQztJQUNwRDtJQUNBZ0MsUUFBUSxDQUFDM0MsSUFBSSxHQUFDZixDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQ08sR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBT2dELFFBQVE7RUFDbkIsQ0FBQztFQUVELElBQUksQ0FBQzlELFNBQVMsQ0FBQ1QsT0FBTyxFQUFDQyxRQUFRLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL2NvbnRhY3RQb3B1cC5qcz9kZGNjIl0sInNvdXJjZXNDb250ZW50IjpbIndpbmRvdy5Db250YWN0UG9wVXAgPSBmdW5jdGlvbiAob3B0aW9ucyxpdGVtRGF0YSkge1xyXG5cclxuICAgIC8qXHJcbiAgICAgKiBWYXJpYWJsZXMgYWNjZXNzaWJsZVxyXG4gICAgICogaW4gdGhlIGNsYXNzXHJcbiAgICAgKi9cclxuICAgIGxldCBPcHRzID0ge1xyXG4gICAgICAgIGFjdGl2ZTogZmFsc2UsXHJcbiAgICAgICAgYXJyYXk6IFtdLFxyXG4gICAgICAgIG9uQWZ0ZXJTYXZlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBvbkNsb3NlOiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgfSxcclxuICAgIH07XHJcbiAgICBsZXQgZGF0YSA9IHt9O1xyXG4gICAgbGV0IHJvb3QgPSB0aGlzO1xyXG4gICAgLypcclxuICAgICAqIENvbnN0cnVjdG9yXHJcbiAgICAgKi9cclxuICAgIHRoaXMuY29uc3RydWN0ID0gZnVuY3Rpb24gKG9wdGlvbnMsaXRlbURhdGEpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnIENvbnRhY3RQb3BVcCBjb25zdHJ1Y3RvciBjYWxsZWQnKTtcclxuICAgIH07XHJcblxyXG4gICAgdGhpcy5pbml0ID0gZnVuY3Rpb24gKG9wdGlvbnMsaXRlbURhdGEpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnIENvbnRhY3RQb3BVcCBuaXQgY2FsbGVkJyk7XHJcbiAgICAgICAgJC5leHRlbmQoT3B0cywgb3B0aW9ucyk7XHJcbiAgICAgICAgJC5leHRlbmQoZGF0YSwgaXRlbURhdGEpO1xyXG4gICAgICAgIHJvb3QuYmluZENsaWNrQWN0aW9uKCk7XHJcbiAgICAgICAgJChcInNlbGVjdC5jb250YWN0VHlwZVwiKS5zZWxlY3QyKHtcclxuICAgICAgICAgICAgbWF4aW11bVNlbGVjdGlvbkxlbmd0aDogMSxcclxuICAgICAgICB9KTtcclxuXHJcbiAgICB9O1xyXG5cclxuICAgIHRoaXMuY2xlYXJEYXRhPWZ1bmN0aW9uICgpe1xyXG4gICAgICAgIGRhdGE9e307XHJcbiAgICAgICAgcm9vdC5yZW5kZXJGb3JtKCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXREYXRhPWZ1bmN0aW9uIChpdGVtRGF0YSl7XHJcbiAgICAgICAgJC5leHRlbmQoZGF0YSwgaXRlbURhdGEpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2hvdz1mdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcpLm1vZGFsKCkuc2hvdygpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMucmVuZGVyRm9ybT1mdW5jdGlvbiAoKXtcclxuICAgICAgICAkKCcuY29udGFjdE1vZGFsIGlucHV0JykudmFsKCcnKTtcclxuICAgICAgICAkKCcuY29udGFjdE1vZGFsIHRleHRhcmVhJykudmFsKCcnKTtcclxuICAgICAgICAkLmVhY2goZGF0YSxmdW5jdGlvbiAoa2V5LHZhbHVlKSB7XHJcbiAgICAgICAgICAgIC8qXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygna2V5Oicra2V5KycgdmFsdWU6Jyt2YWx1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmxvZygnLmNvbnRhY3RNb2RhbCcrJyAqW25hbWU9Y29udGFjdCcrJC51Y0ZpcnN0KGtleSkrJ10nKTtcclxuICAgICAgICAgICAgKi9cclxuICAgICAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcrJyAqW25hbWU9Y29udGFjdCcrJC51Y0ZpcnN0KGtleSkrJ10nKS52YWwodmFsdWUpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIGlmKGRhdGEudHlwZSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEudHlwZT09PW51bGwpe1xyXG4gICAgICAgICAgICAkKFwic2VsZWN0LmNvbnRhY3RUeXBlXCIpLnNlbGVjdDIoKS52YWwoKTtcclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgJChcInNlbGVjdC5jb250YWN0VHlwZVwiKS5zZWxlY3QyKCkudmFsKGRhdGEudHlwZS5zcGxpdCgnLCcpKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICQoXCJzZWxlY3QuY29udGFjdFR5cGVcIikuc2VsZWN0MigpLnRyaWdnZXIoJ2NoYW5nZScpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmxvYWREYXRhPWZ1bmN0aW9uIChjb250YWN0SWQpe1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdsb2FkaW5nIGlkOicrY29udGFjdElkKTtcclxuICAgICAgICAkKCcuY29udGFjdE1vZGFsIC5zcGlubmVyRGl2JykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xyXG4gICAgICAgICQoJy5jb250YWN0TW9kYWwgLmNvbnRhY3RNb2RhbEZvcm0nKS5hZGRDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcpLm1vZGFsKCkuc2hvdygpO1xyXG4gICAgICAgIGxldCB1cmw9QVBQLmdldE9wdHMoKVtcIlVybFwiXVtcImNvbnRhY3RQb3B1cFwiXVsnc2hvdyddO1xyXG4gICAgICAgIHVybD11cmwucmVwbGFjZUFsbCgnKmNvbnRhY3RJZConLGNvbnRhY3RJZCk7XHJcbiAgICAgICAgJC5hamF4KHtcclxuICAgICAgICAgICAgdXJsOiB1cmwsXHJcbiAgICAgICAgICAgIHR5cGU6ICdHRVQnLFxyXG4gICAgICAgICAgICBoZWFkZXJzOiB7XHJcbiAgICAgICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogQVBQLmdldEFwaVRva2VuKClcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgIHJvb3Quc2V0RGF0YShkYXRhKTtcclxuICAgICAgICAgICAgICAgIHJvb3QucmVuZGVyRm9ybSgpO1xyXG4gICAgICAgICAgICAgICAgJCgnLnNwaW5uZXJEaXYnKS5hZGRDbGFzcygnZC1ub25lJyk7XHJcbiAgICAgICAgICAgICAgICAkKCcuY29udGFjdE1vZGFsRm9ybScpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uICh4aHIsIGFqYXhPcHRpb25zLCB0aHJvd25FcnJvcikge1xyXG4gICAgICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgYWpheEVycm9yRmllbGRIYW5kbGVyKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKTtcclxuICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgIGlmKHhoci5zdGF0dXM9PTQwNCl7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihbeydkZXRhaWwnOidOaW5jcyBpbHllbiBlbGVtLid9XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfWVsc2V7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihbeydkZXRhaWwnOifDgWx0YWzDoW5vcyBoaWJhLid9XSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcpLm1vZGFsKCdoaWRlJyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgcmV0dXJuIDtcclxuICAgICAgICBsZXQgY29udGFjdERhdGE9e1xyXG4gICAgICAgICAgICBpZDo3NixcclxuICAgICAgICAgICAgbmFtZTonTWlrc8OzbsOpIEJvcmLDqWx5IEVyenPDqWJldCcsXHJcbiAgICAgICAgICAgIGVtYWlsOidzemFtbGF6YXMxQGZ1bmtjaW8uaHUnLFxyXG4gICAgICAgICAgICBwaG9uZTonKzM2MjAzNDA3NTAwJ1xyXG4gICAgICAgIH07XHJcbiAgICAgICAgcm9vdC5zZXREYXRhKGNvbnRhY3REYXRhKTtcclxuICAgICAgICByb290LnJlbmRlckZvcm0oKTtcclxuICAgICAgICAkKCcuc3Bpbm5lckRpdicpLmFkZENsYXNzKCdkLW5vbmUnKTtcclxuICAgICAgICAkKCcuY29udGFjdE1vZGFsRm9ybScpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcclxuXHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5nZXRPcHRzID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJldHVybiBPcHRzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5iaW5kQ2xpY2tBY3Rpb24gPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCAuYnRuJykudW5iaW5kKCdjbGljaycpO1xyXG4gICAgICAgICQoJy5jb250YWN0TW9kYWwgLmJ1dHRvbkNsb3NlJykuYmluZCgnY2xpY2snLCByb290LmNsaWNrQWN0aW9uQnV0dG9uQ2xvc2UpO1xyXG4gICAgICAgICQoJy5jb250YWN0TW9kYWwgLmJ1dHRvblNhdmUnKS5iaW5kKCdjbGljaycsIHJvb3QuY2xpY2tBY3Rpb25CdXR0b25TYXZlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsaWNrQWN0aW9uQnV0dG9uQ2xvc2UgPSBmdW5jdGlvbiAoZXZlbnQpIHtcclxuICAgICAgICBjb25zb2xlLmxvZygnY2xpY2sgY2xvc2UnKTtcclxuICAgICAgICBPcHRzLm9uQ2xvc2UoZXZlbnQsIHJvb3QuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsKCkpO1xyXG4gICAgfVxyXG5cclxuXHJcbiAgICB0aGlzLnNhdmVDb250YWN0ID0gZnVuY3Rpb24gKGNvbnRhY3REYXRhKSB7XHJcbiAgICAgICAgbGV0IGZvcm0gPSAkKCcuY29udGFjdE1vZGFsIGZvcm0nKTtcclxuICAgICAgICBsZXQgdXJsPWZvcm0uYXR0cignYWN0aW9uJyk7XHJcbiAgICAgICAgbGV0IGFqYXhUeXBlPSdQT1NUJztcclxuICAgICAgICBpZihjb250YWN0RGF0YS5pZCl7XHJcbiAgICAgICAgICAgIHVybD1BUFAuZ2V0T3B0cygpW1wiVXJsXCJdW1wiY29udGFjdFBvcHVwXCJdWyd1cGRhdGUnXTtcclxuXHJcbiAgICAgICAgICAgICAgICAvLyd7e3JvdXRlKFwiYWRtaW4uY29udGFjdC51cGRhdGVcIixcIipjb250YWN0SWQqXCIpfX0nO1xyXG4gICAgICAgICAgICB1cmw9dXJsLnJlcGxhY2VBbGwoJypjb250YWN0SWQqJyxjb250YWN0RGF0YS5pZCk7XHJcbiAgICAgICAgICAgIGFqYXhUeXBlPSdQVVQnO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZighY29udGFjdERhdGEuc3RhdHVzKXtcclxuICAgICAgICAgICAgY29udGFjdERhdGEuc3RhdHVzPUFQUC5nZXRPcHRzKClbXCJjb250YWN0UG9wdXBcIl1bJ2RlZmF1bHRTdGF0dXMnXTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICQuYWpheCh7XHJcbiAgICAgICAgICAgIHVybDogdXJsLFxyXG4gICAgICAgICAgICB0eXBlOiBhamF4VHlwZSxcclxuICAgICAgICAgICAgaGVhZGVyczoge1xyXG4gICAgICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6IEFQUC5nZXRBcGlUb2tlbigpXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGRhdGE6IGNvbnRhY3REYXRhLFxyXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgT3B0cy5vbkFmdGVyU2F2ZShkYXRhKTtcclxuICAgICAgICAgICAgICAgICQoJy5jb250YWN0TW9kYWwnKS5tb2RhbCgndG9nZ2xlJyk7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiBmdW5jdGlvbiAoeGhyLCBhamF4T3B0aW9ucywgdGhyb3duRXJyb3IpIHtcclxuICAgICAgICAgICAgICAgIGlmICh4aHIucmVzcG9uc2VKU09OLmVycm9ycykge1xyXG4gICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcih4aHIucmVzcG9uc2VKU09OLmVycm9ycyk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNsaWNrQWN0aW9uQnV0dG9uU2F2ZSA9IGZ1bmN0aW9uIChldmVudCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKCdjbGljayBzYXZlJyk7XHJcbiAgICAgICAgbGV0IGNvbnRhY3REYXRhID0gcm9vdC5mb3JtRGF0YVRvRGF0YU9iamVjdEFQSUNhbGwoKSwgc2F2ZWREYXRhO1xyXG4gICAgICAgIGlmKHNhdmVkRGF0YT1yb290LnNhdmVDb250YWN0KGNvbnRhY3REYXRhKSl7XHJcbiAgICAgICAgICAgIE9wdHMub25BZnRlclNhdmUoZXZlbnQsIGNvbnRhY3REYXRhKTtcclxuICAgICAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcpLm1vZGFsKCd0b2dnbGUnKTtcclxuICAgICAgICAgICAgcmV0dXJuICB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcblxyXG5cclxuXHJcbiAgICB0aGlzLmZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBsZXQgZGF0YSA9IG5ldyBGb3JtRGF0YShkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGFjdE1vZGFsIGZvcm0nKSk7XHJcbiAgICAgICAgbGV0IGZvcm1KU09OID0gT2JqZWN0LmZyb21FbnRyaWVzKGRhdGEuZW50cmllcygpKTtcclxuICAgICAgICAvKk11bHRpc2VsZWN0IG9yIGNoZWNrYm94IHRvIGFycmF5OlxyXG4gICAgICAgIGZvcm1KU09OLm11bHRpc2VsZWN0TmFtZSA9IGRhdGEuZ2V0QWxsKCdtdWx0aXNlbGVjdE5hbWUnKTtcclxuICAgICAgICAqL1xyXG4gICAgICAgICQuZWFjaChmb3JtSlNPTiwgZnVuY3Rpb24gKGl0ZW0sIHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGZvcm1KU09OWyQubGNGaXJzdChpdGVtLnJlcGxhY2UoJ2NvbnRhY3QnLCAnJykpXSA9IHZhbHVlO1xyXG4gICAgICAgICAgICBkZWxldGUgZm9ybUpTT05baXRlbV07XHJcbiAgICAgICAgfSk7XHJcbiAgICAgICAgaWYoZm9ybUpTT04ucGhvbmUpe1xyXG4gICAgICAgICAgICBmb3JtSlNPTi5waG9uZT1mb3JtSlNPTi5waG9uZS5yZXBsYWNlQWxsKCdfJywnJyk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKGZvcm1KU09OLmVtYWlsKXtcclxuICAgICAgICAgICAgZm9ybUpTT04uZW1haWw9Zm9ybUpTT04uZW1haWwucmVwbGFjZUFsbCgnXycsJycpO1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb3JtSlNPTi50eXBlPSQoXCJzZWxlY3QuY29udGFjdFR5cGVcIikuc2VsZWN0MigpLnZhbCgpO1xyXG4gICAgICAgIHJldHVybiBmb3JtSlNPTjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbnN0cnVjdChvcHRpb25zLGl0ZW1EYXRhKTtcclxufVxyXG4iXSwibmFtZXMiOlsid2luZG93IiwiQ29udGFjdFBvcFVwIiwib3B0aW9ucyIsIml0ZW1EYXRhIiwiT3B0cyIsImFjdGl2ZSIsImFycmF5Iiwib25BZnRlclNhdmUiLCJvbkNsb3NlIiwiZGF0YSIsInJvb3QiLCJjb25zdHJ1Y3QiLCJjb25zb2xlIiwibG9nIiwiaW5pdCIsIiQiLCJleHRlbmQiLCJiaW5kQ2xpY2tBY3Rpb24iLCJzZWxlY3QyIiwibWF4aW11bVNlbGVjdGlvbkxlbmd0aCIsImNsZWFyRGF0YSIsInJlbmRlckZvcm0iLCJzZXREYXRhIiwic2hvdyIsIm1vZGFsIiwidmFsIiwiZWFjaCIsImtleSIsInZhbHVlIiwidWNGaXJzdCIsInR5cGUiLCJ1bmRlZmluZWQiLCJzcGxpdCIsInRyaWdnZXIiLCJsb2FkRGF0YSIsImNvbnRhY3RJZCIsInJlbW92ZUNsYXNzIiwiYWRkQ2xhc3MiLCJ1cmwiLCJBUFAiLCJnZXRPcHRzIiwicmVwbGFjZUFsbCIsImFqYXgiLCJoZWFkZXJzIiwiZ2V0QXBpVG9rZW4iLCJzdWNjZXNzIiwiZXJyb3IiLCJ4aHIiLCJhamF4T3B0aW9ucyIsInRocm93bkVycm9yIiwicmVzcG9uc2VKU09OIiwiZXJyb3JzIiwiYWpheEVycm9yRmllbGRIYW5kbGVyIiwic3RhdHVzIiwiY29udGFjdERhdGEiLCJpZCIsIm5hbWUiLCJlbWFpbCIsInBob25lIiwidW5iaW5kIiwiYmluZCIsImNsaWNrQWN0aW9uQnV0dG9uQ2xvc2UiLCJjbGlja0FjdGlvbkJ1dHRvblNhdmUiLCJldmVudCIsImZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCIsInNhdmVDb250YWN0IiwiZm9ybSIsImF0dHIiLCJhamF4VHlwZSIsInNhdmVkRGF0YSIsIkZvcm1EYXRhIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiZm9ybUpTT04iLCJPYmplY3QiLCJmcm9tRW50cmllcyIsImVudHJpZXMiLCJpdGVtIiwibGNGaXJzdCIsInJlcGxhY2UiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./resources/js/components/contactPopup.js\n\n}"); +eval("{window.ContactPopUp = function (options, itemData) {\n /*\n * Variables accessible\n * in the class\n */\n var Opts = {\n active: false,\n array: [],\n onAfterSave: function onAfterSave() {},\n onClose: function onClose() {}\n };\n var data = {};\n var root = this;\n /*\n * Constructor\n */\n this.construct = function (options, itemData) {\n console.log(' ContactPopUp constructor called');\n };\n this.init = function (options, itemData) {\n console.log(' ContactPopUp nit called');\n $.extend(Opts, options);\n $.extend(data, itemData);\n root.bindClickAction();\n $(\"select.contactType\").select2({\n maximumSelectionLength: 1\n });\n };\n this.clearData = function () {\n data = {};\n root.renderForm();\n };\n this.setData = function (itemData) {\n $.extend(data, itemData);\n };\n this.show = function () {\n $('.contactModal').modal().show();\n };\n this.renderForm = function () {\n $('.contactModal input').val('');\n $('.contactModal textarea').val('');\n $.each(data, function (key, value) {\n /*\n console.log('key:'+key+' value:'+value);\n console.log('.contactModal'+' *[name=contact'+$.ucFirst(key)+']');\n */\n $('.contactModal' + ' *[name=contact' + $.ucFirst(key) + ']').val(value);\n });\n if (data.type === undefined || data.type === null) {\n $(\"select.contactType\").select2().val();\n } else {\n $(\"select.contactType\").select2().val(data.type.split(','));\n }\n $(\"select.contactType\").select2().trigger('change');\n };\n this.loadData = function (contactId) {\n console.log('loading id:' + contactId);\n $('.contactModal .spinnerDiv').removeClass('d-none');\n $('.contactModal .contactModalForm').addClass('d-none');\n $('.contactModal').modal().show();\n var url = APP.getOpts()[\"Url\"][\"contactPopup\"]['show'];\n url = url.replaceAll('*contactId*', contactId);\n $.ajax({\n url: url,\n type: 'GET',\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n success: function success(data) {\n root.setData(data);\n root.renderForm();\n $('.spinnerDiv').addClass('d-none');\n $('.contactModalForm').removeClass('d-none');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n } else {\n if (xhr.status == 404) {\n ajaxErrorFieldHandler([{\n 'detail': 'Nincs ilyen elem.'\n }]);\n } else {\n ajaxErrorFieldHandler([{\n 'detail': 'Általános hiba.'\n }]);\n }\n }\n $('.contactModal').modal('hide');\n }\n });\n return;\n // removed by dead control flow\n var contactData; \n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n // removed by dead control flow\n\n };\n this.getOpts = function () {\n return Opts;\n };\n this.bindClickAction = function () {\n $('.contactModal .btn').unbind('click');\n $('.contactModal .buttonClose').bind('click', root.clickActionButtonClose);\n $('.contactModal .buttonSave').bind('click', root.clickActionButtonSave);\n };\n this.clickActionButtonClose = function (event) {\n console.log('click close');\n Opts.onClose(event, root.formDataToDataObjectAPICall());\n };\n this.saveContact = function (contactData) {\n var form = $('.contactModal form');\n var url = form.attr('action');\n var ajaxType = 'POST';\n if (contactData.id) {\n url = APP.getOpts()[\"Url\"][\"contactPopup\"]['update'];\n\n //'{{route(\"admin.contact.update\",\"*contactId*\")}}';\n url = url.replaceAll('*contactId*', contactData.id);\n ajaxType = 'PUT';\n }\n if (!contactData.status) {\n contactData.status = APP.getOpts()[\"contactPopup\"]['defaultStatus'];\n }\n $.ajax({\n url: url,\n type: ajaxType,\n headers: {\n 'X-CSRF-TOKEN': APP.getApiToken()\n },\n data: contactData,\n success: function success(data) {\n Opts.onAfterSave(data);\n $('.contactModal').modal('toggle');\n },\n error: function error(xhr, ajaxOptions, thrownError) {\n if (xhr.responseJSON.errors) {\n ajaxErrorFieldHandler(xhr.responseJSON.errors);\n }\n }\n });\n return false;\n };\n this.clickActionButtonSave = function (event) {\n console.log('click save');\n var contactData = root.formDataToDataObjectAPICall(),\n savedData;\n if (savedData = root.saveContact(contactData)) {\n Opts.onAfterSave(event, contactData);\n $('.contactModal').modal('toggle');\n return true;\n }\n return false;\n };\n this.formDataToDataObjectAPICall = function () {\n var data = new FormData(document.querySelector('.contactModal form'));\n var formJSON = Object.fromEntries(data.entries());\n /*Multiselect or checkbox to array:\n formJSON.multiselectName = data.getAll('multiselectName');\n */\n $.each(formJSON, function (item, value) {\n formJSON[$.lcFirst(item.replace('contact', ''))] = value;\n delete formJSON[item];\n });\n if (formJSON.phone) {\n formJSON.phone = formJSON.phone.replaceAll('_', '');\n }\n if (formJSON.email) {\n formJSON.email = formJSON.email.replaceAll('_', '');\n }\n formJSON.type = $(\"select.contactType\").select2().val();\n return formJSON;\n };\n this.construct(options, itemData);\n};//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvY29tcG9uZW50cy9jb250YWN0UG9wdXAuanMiLCJtYXBwaW5ncyI6IkFBQUFBLE1BQU0sQ0FBQ0MsWUFBWSxHQUFHLFVBQVVDLE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0VBRTlDO0FBQ0o7QUFDQTtBQUNBO0VBQ0ksSUFBSUMsSUFBSSxHQUFHO0lBQ1BDLE1BQU0sRUFBRSxLQUFLO0lBQ2JDLEtBQUssRUFBRSxFQUFFO0lBQ1RDLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFBLEVBQWMsQ0FDekIsQ0FBQztJQUNEQyxPQUFPLEVBQUUsU0FBVEEsT0FBT0EsQ0FBQSxFQUFjLENBQ3JCO0VBQ0osQ0FBQztFQUNELElBQUlDLElBQUksR0FBRyxDQUFDLENBQUM7RUFDYixJQUFJQyxJQUFJLEdBQUcsSUFBSTtFQUNmO0FBQ0o7QUFDQTtFQUNJLElBQUksQ0FBQ0MsU0FBUyxHQUFHLFVBQVVULE9BQU8sRUFBQ0MsUUFBUSxFQUFFO0lBQ3pDUyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxrQ0FBa0MsQ0FBQztFQUNuRCxDQUFDO0VBRUQsSUFBSSxDQUFDQyxJQUFJLEdBQUcsVUFBVVosT0FBTyxFQUFDQyxRQUFRLEVBQUU7SUFDcENTLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLDBCQUEwQixDQUFDO0lBQ3ZDRSxDQUFDLENBQUNDLE1BQU0sQ0FBQ1osSUFBSSxFQUFFRixPQUFPLENBQUM7SUFDdkJhLENBQUMsQ0FBQ0MsTUFBTSxDQUFDUCxJQUFJLEVBQUVOLFFBQVEsQ0FBQztJQUN4Qk8sSUFBSSxDQUFDTyxlQUFlLENBQUMsQ0FBQztJQUN0QkYsQ0FBQyxDQUFDLG9CQUFvQixDQUFDLENBQUNHLE9BQU8sQ0FBQztNQUM1QkMsc0JBQXNCLEVBQUU7SUFDNUIsQ0FBQyxDQUFDO0VBRU4sQ0FBQztFQUVELElBQUksQ0FBQ0MsU0FBUyxHQUFDLFlBQVc7SUFDdEJYLElBQUksR0FBQyxDQUFDLENBQUM7SUFDUEMsSUFBSSxDQUFDVyxVQUFVLENBQUMsQ0FBQztF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QUFDK0QsT0FBTyxDQUFDRCxJQUFJLENBQUNFLE9BQU8sQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHbkQsS0FBSztNQUN4RCxPQUFPNkMsUUFBUSxDQUFDSSxJQUFJLENBQUM7SUFDekIsQ0FBQyxDQUFDO0lBQ0YsSUFBR0osUUFBUSxDQUFDZixLQUFLLEVBQUM7TUFDZGUsUUFBUSxDQUFDZixLQUFLLEdBQUNlLFFBQVEsQ0FBQ2YsS0FBSyxDQUFDakIsVUFBVSxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUM7SUFDcEQ7SUFDQSxJQUFHZ0MsUUFBUSxDQUFDaEIsS0FBSyxFQUFDO01BQ2RnQixRQUFRLENBQUNoQixLQUFLLEdBQUNnQixRQUFRLENBQUNoQixLQUFLLENBQUNoQixVQUFVLENBQUMsR0FBRyxFQUFDLEVBQUUsQ0FBQztJQUNwRDtJQUNBZ0MsUUFBUSxDQUFDM0MsSUFBSSxHQUFDZixDQUFDLENBQUMsb0JBQW9CLENBQUMsQ0FBQ0csT0FBTyxDQUFDLENBQUMsQ0FBQ08sR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBT2dELFFBQVE7RUFDbkIsQ0FBQztFQUVELElBQUksQ0FBQzlELFNBQVMsQ0FBQ1QsT0FBTyxFQUFDQyxRQUFRLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9jb21wb25lbnRzL2NvbnRhY3RQb3B1cC5qcz9kZGNjIl0sInNvdXJjZXNDb250ZW50IjpbIndpbmRvdy5Db250YWN0UG9wVXAgPSBmdW5jdGlvbiAob3B0aW9ucyxpdGVtRGF0YSkge1xuXG4gICAgLypcbiAgICAgKiBWYXJpYWJsZXMgYWNjZXNzaWJsZVxuICAgICAqIGluIHRoZSBjbGFzc1xuICAgICAqL1xuICAgIGxldCBPcHRzID0ge1xuICAgICAgICBhY3RpdmU6IGZhbHNlLFxuICAgICAgICBhcnJheTogW10sXG4gICAgICAgIG9uQWZ0ZXJTYXZlOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIH0sXG4gICAgICAgIG9uQ2xvc2U6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIGxldCBkYXRhID0ge307XG4gICAgbGV0IHJvb3QgPSB0aGlzO1xuICAgIC8qXG4gICAgICogQ29uc3RydWN0b3JcbiAgICAgKi9cbiAgICB0aGlzLmNvbnN0cnVjdCA9IGZ1bmN0aW9uIChvcHRpb25zLGl0ZW1EYXRhKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCcgQ29udGFjdFBvcFVwIGNvbnN0cnVjdG9yIGNhbGxlZCcpO1xuICAgIH07XG5cbiAgICB0aGlzLmluaXQgPSBmdW5jdGlvbiAob3B0aW9ucyxpdGVtRGF0YSkge1xuICAgICAgICBjb25zb2xlLmxvZygnIENvbnRhY3RQb3BVcCBuaXQgY2FsbGVkJyk7XG4gICAgICAgICQuZXh0ZW5kKE9wdHMsIG9wdGlvbnMpO1xuICAgICAgICAkLmV4dGVuZChkYXRhLCBpdGVtRGF0YSk7XG4gICAgICAgIHJvb3QuYmluZENsaWNrQWN0aW9uKCk7XG4gICAgICAgICQoXCJzZWxlY3QuY29udGFjdFR5cGVcIikuc2VsZWN0Mih7XG4gICAgICAgICAgICBtYXhpbXVtU2VsZWN0aW9uTGVuZ3RoOiAxLFxuICAgICAgICB9KTtcblxuICAgIH07XG5cbiAgICB0aGlzLmNsZWFyRGF0YT1mdW5jdGlvbiAoKXtcbiAgICAgICAgZGF0YT17fTtcbiAgICAgICAgcm9vdC5yZW5kZXJGb3JtKCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXREYXRhPWZ1bmN0aW9uIChpdGVtRGF0YSl7XG4gICAgICAgICQuZXh0ZW5kKGRhdGEsIGl0ZW1EYXRhKTtcbiAgICB9XG5cbiAgICB0aGlzLnNob3c9ZnVuY3Rpb24gKCkge1xuICAgICAgICAkKCcuY29udGFjdE1vZGFsJykubW9kYWwoKS5zaG93KCk7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXJGb3JtPWZ1bmN0aW9uICgpe1xuICAgICAgICAkKCcuY29udGFjdE1vZGFsIGlucHV0JykudmFsKCcnKTtcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCB0ZXh0YXJlYScpLnZhbCgnJyk7XG4gICAgICAgICQuZWFjaChkYXRhLGZ1bmN0aW9uIChrZXksdmFsdWUpIHtcbiAgICAgICAgICAgIC8qXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ2tleTonK2tleSsnIHZhbHVlOicrdmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCcuY29udGFjdE1vZGFsJysnICpbbmFtZT1jb250YWN0JyskLnVjRmlyc3Qoa2V5KSsnXScpO1xuICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICQoJy5jb250YWN0TW9kYWwnKycgKltuYW1lPWNvbnRhY3QnKyQudWNGaXJzdChrZXkpKyddJykudmFsKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmKGRhdGEudHlwZSA9PT0gdW5kZWZpbmVkIHx8IGRhdGEudHlwZT09PW51bGwpe1xuICAgICAgICAgICAgJChcInNlbGVjdC5jb250YWN0VHlwZVwiKS5zZWxlY3QyKCkudmFsKCk7XG4gICAgICAgIH1lbHNle1xuICAgICAgICAgICAgJChcInNlbGVjdC5jb250YWN0VHlwZVwiKS5zZWxlY3QyKCkudmFsKGRhdGEudHlwZS5zcGxpdCgnLCcpKTtcbiAgICAgICAgfVxuXG4gICAgICAgICQoXCJzZWxlY3QuY29udGFjdFR5cGVcIikuc2VsZWN0MigpLnRyaWdnZXIoJ2NoYW5nZScpO1xuXG4gICAgfVxuXG4gICAgdGhpcy5sb2FkRGF0YT1mdW5jdGlvbiAoY29udGFjdElkKXtcbiAgICAgICAgY29uc29sZS5sb2coJ2xvYWRpbmcgaWQ6Jytjb250YWN0SWQpO1xuICAgICAgICAkKCcuY29udGFjdE1vZGFsIC5zcGlubmVyRGl2JykucmVtb3ZlQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAkKCcuY29udGFjdE1vZGFsIC5jb250YWN0TW9kYWxGb3JtJykuYWRkQ2xhc3MoJ2Qtbm9uZScpO1xuICAgICAgICAkKCcuY29udGFjdE1vZGFsJykubW9kYWwoKS5zaG93KCk7XG4gICAgICAgIGxldCB1cmw9QVBQLmdldE9wdHMoKVtcIlVybFwiXVtcImNvbnRhY3RQb3B1cFwiXVsnc2hvdyddO1xuICAgICAgICB1cmw9dXJsLnJlcGxhY2VBbGwoJypjb250YWN0SWQqJyxjb250YWN0SWQpO1xuICAgICAgICAkLmFqYXgoe1xuICAgICAgICAgICAgdXJsOiB1cmwsXG4gICAgICAgICAgICB0eXBlOiAnR0VUJyxcbiAgICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICAgICAnWC1DU1JGLVRPS0VOJzogQVBQLmdldEFwaVRva2VuKClcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgIHJvb3Quc2V0RGF0YShkYXRhKTtcbiAgICAgICAgICAgICAgICByb290LnJlbmRlckZvcm0oKTtcbiAgICAgICAgICAgICAgICAkKCcuc3Bpbm5lckRpdicpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgICAgICAkKCcuY29udGFjdE1vZGFsRm9ybScpLnJlbW92ZUNsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcih4aHIucmVzcG9uc2VKU09OLmVycm9ycyk7XG4gICAgICAgICAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICAgICAgICAgIGlmKHhoci5zdGF0dXM9PTQwNCl7XG4gICAgICAgICAgICAgICAgICAgICAgICBhamF4RXJyb3JGaWVsZEhhbmRsZXIoW3snZGV0YWlsJzonTmluY3MgaWx5ZW4gZWxlbS4nfV0pO1xuICAgICAgICAgICAgICAgICAgICB9ZWxzZXtcbiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcihbeydkZXRhaWwnOifDgWx0YWzDoW5vcyBoaWJhLid9XSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcpLm1vZGFsKCdoaWRlJyk7XG4gICAgICAgICAgICB9LFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIDtcbiAgICAgICAgbGV0IGNvbnRhY3REYXRhPXtcbiAgICAgICAgICAgIGlkOjc2LFxuICAgICAgICAgICAgbmFtZTonTWlrc8OzbsOpIEJvcmLDqWx5IEVyenPDqWJldCcsXG4gICAgICAgICAgICBlbWFpbDonc3phbWxhemFzMUBmdW5rY2lvLmh1JyxcbiAgICAgICAgICAgIHBob25lOicrMzYyMDM0MDc1MDAnXG4gICAgICAgIH07XG4gICAgICAgIHJvb3Quc2V0RGF0YShjb250YWN0RGF0YSk7XG4gICAgICAgIHJvb3QucmVuZGVyRm9ybSgpO1xuICAgICAgICAkKCcuc3Bpbm5lckRpdicpLmFkZENsYXNzKCdkLW5vbmUnKTtcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbEZvcm0nKS5yZW1vdmVDbGFzcygnZC1ub25lJyk7XG5cbiAgICB9XG5cbiAgICB0aGlzLmdldE9wdHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiBPcHRzO1xuICAgIH1cbiAgICB0aGlzLmJpbmRDbGlja0FjdGlvbiA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCAuYnRuJykudW5iaW5kKCdjbGljaycpO1xuICAgICAgICAkKCcuY29udGFjdE1vZGFsIC5idXR0b25DbG9zZScpLmJpbmQoJ2NsaWNrJywgcm9vdC5jbGlja0FjdGlvbkJ1dHRvbkNsb3NlKTtcbiAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCAuYnV0dG9uU2F2ZScpLmJpbmQoJ2NsaWNrJywgcm9vdC5jbGlja0FjdGlvbkJ1dHRvblNhdmUpO1xuICAgIH1cblxuICAgIHRoaXMuY2xpY2tBY3Rpb25CdXR0b25DbG9zZSA9IGZ1bmN0aW9uIChldmVudCkge1xuICAgICAgICBjb25zb2xlLmxvZygnY2xpY2sgY2xvc2UnKTtcbiAgICAgICAgT3B0cy5vbkNsb3NlKGV2ZW50LCByb290LmZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCgpKTtcbiAgICB9XG5cblxuICAgIHRoaXMuc2F2ZUNvbnRhY3QgPSBmdW5jdGlvbiAoY29udGFjdERhdGEpIHtcbiAgICAgICAgbGV0IGZvcm0gPSAkKCcuY29udGFjdE1vZGFsIGZvcm0nKTtcbiAgICAgICAgbGV0IHVybD1mb3JtLmF0dHIoJ2FjdGlvbicpO1xuICAgICAgICBsZXQgYWpheFR5cGU9J1BPU1QnO1xuICAgICAgICBpZihjb250YWN0RGF0YS5pZCl7XG4gICAgICAgICAgICB1cmw9QVBQLmdldE9wdHMoKVtcIlVybFwiXVtcImNvbnRhY3RQb3B1cFwiXVsndXBkYXRlJ107XG5cbiAgICAgICAgICAgICAgICAvLyd7e3JvdXRlKFwiYWRtaW4uY29udGFjdC51cGRhdGVcIixcIipjb250YWN0SWQqXCIpfX0nO1xuICAgICAgICAgICAgdXJsPXVybC5yZXBsYWNlQWxsKCcqY29udGFjdElkKicsY29udGFjdERhdGEuaWQpO1xuICAgICAgICAgICAgYWpheFR5cGU9J1BVVCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYoIWNvbnRhY3REYXRhLnN0YXR1cyl7XG4gICAgICAgICAgICBjb250YWN0RGF0YS5zdGF0dXM9QVBQLmdldE9wdHMoKVtcImNvbnRhY3RQb3B1cFwiXVsnZGVmYXVsdFN0YXR1cyddO1xuICAgICAgICB9XG5cbiAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgIHVybDogdXJsLFxuICAgICAgICAgICAgdHlwZTogYWpheFR5cGUsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICAgJ1gtQ1NSRi1UT0tFTic6IEFQUC5nZXRBcGlUb2tlbigpXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZGF0YTogY29udGFjdERhdGEsXG4gICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgIE9wdHMub25BZnRlclNhdmUoZGF0YSk7XG4gICAgICAgICAgICAgICAgJCgnLmNvbnRhY3RNb2RhbCcpLm1vZGFsKCd0b2dnbGUnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24gKHhociwgYWpheE9wdGlvbnMsIHRocm93bkVycm9yKSB7XG4gICAgICAgICAgICAgICAgaWYgKHhoci5yZXNwb25zZUpTT04uZXJyb3JzKSB7XG4gICAgICAgICAgICAgICAgICAgIGFqYXhFcnJvckZpZWxkSGFuZGxlcih4aHIucmVzcG9uc2VKU09OLmVycm9ycyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRoaXMuY2xpY2tBY3Rpb25CdXR0b25TYXZlID0gZnVuY3Rpb24gKGV2ZW50KSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdjbGljayBzYXZlJyk7XG4gICAgICAgIGxldCBjb250YWN0RGF0YSA9IHJvb3QuZm9ybURhdGFUb0RhdGFPYmplY3RBUElDYWxsKCksIHNhdmVkRGF0YTtcbiAgICAgICAgaWYoc2F2ZWREYXRhPXJvb3Quc2F2ZUNvbnRhY3QoY29udGFjdERhdGEpKXtcbiAgICAgICAgICAgIE9wdHMub25BZnRlclNhdmUoZXZlbnQsIGNvbnRhY3REYXRhKTtcbiAgICAgICAgICAgICQoJy5jb250YWN0TW9kYWwnKS5tb2RhbCgndG9nZ2xlJyk7XG4gICAgICAgICAgICByZXR1cm4gIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuXG5cbiAgICB0aGlzLmZvcm1EYXRhVG9EYXRhT2JqZWN0QVBJQ2FsbCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgbGV0IGRhdGEgPSBuZXcgRm9ybURhdGEoZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLmNvbnRhY3RNb2RhbCBmb3JtJykpO1xuICAgICAgICBsZXQgZm9ybUpTT04gPSBPYmplY3QuZnJvbUVudHJpZXMoZGF0YS5lbnRyaWVzKCkpO1xuICAgICAgICAvKk11bHRpc2VsZWN0IG9yIGNoZWNrYm94IHRvIGFycmF5OlxuICAgICAgICBmb3JtSlNPTi5tdWx0aXNlbGVjdE5hbWUgPSBkYXRhLmdldEFsbCgnbXVsdGlzZWxlY3ROYW1lJyk7XG4gICAgICAgICovXG4gICAgICAgICQuZWFjaChmb3JtSlNPTiwgZnVuY3Rpb24gKGl0ZW0sIHZhbHVlKSB7XG4gICAgICAgICAgICBmb3JtSlNPTlskLmxjRmlyc3QoaXRlbS5yZXBsYWNlKCdjb250YWN0JywgJycpKV0gPSB2YWx1ZTtcbiAgICAgICAgICAgIGRlbGV0ZSBmb3JtSlNPTltpdGVtXTtcbiAgICAgICAgfSk7XG4gICAgICAgIGlmKGZvcm1KU09OLnBob25lKXtcbiAgICAgICAgICAgIGZvcm1KU09OLnBob25lPWZvcm1KU09OLnBob25lLnJlcGxhY2VBbGwoJ18nLCcnKTtcbiAgICAgICAgfVxuICAgICAgICBpZihmb3JtSlNPTi5lbWFpbCl7XG4gICAgICAgICAgICBmb3JtSlNPTi5lbWFpbD1mb3JtSlNPTi5lbWFpbC5yZXBsYWNlQWxsKCdfJywnJyk7XG4gICAgICAgIH1cbiAgICAgICAgZm9ybUpTT04udHlwZT0kKFwic2VsZWN0LmNvbnRhY3RUeXBlXCIpLnNlbGVjdDIoKS52YWwoKTtcbiAgICAgICAgcmV0dXJuIGZvcm1KU09OO1xuICAgIH1cblxuICAgIHRoaXMuY29uc3RydWN0KG9wdGlvbnMsaXRlbURhdGEpO1xufVxuIl0sIm5hbWVzIjpbIndpbmRvdyIsIkNvbnRhY3RQb3BVcCIsIm9wdGlvbnMiLCJpdGVtRGF0YSIsIk9wdHMiLCJhY3RpdmUiLCJhcnJheSIsIm9uQWZ0ZXJTYXZlIiwib25DbG9zZSIsImRhdGEiLCJyb290IiwiY29uc3RydWN0IiwiY29uc29sZSIsImxvZyIsImluaXQiLCIkIiwiZXh0ZW5kIiwiYmluZENsaWNrQWN0aW9uIiwic2VsZWN0MiIsIm1heGltdW1TZWxlY3Rpb25MZW5ndGgiLCJjbGVhckRhdGEiLCJyZW5kZXJGb3JtIiwic2V0RGF0YSIsInNob3ciLCJtb2RhbCIsInZhbCIsImVhY2giLCJrZXkiLCJ2YWx1ZSIsInVjRmlyc3QiLCJ0eXBlIiwidW5kZWZpbmVkIiwic3BsaXQiLCJ0cmlnZ2VyIiwibG9hZERhdGEiLCJjb250YWN0SWQiLCJyZW1vdmVDbGFzcyIsImFkZENsYXNzIiwidXJsIiwiQVBQIiwiZ2V0T3B0cyIsInJlcGxhY2VBbGwiLCJhamF4IiwiaGVhZGVycyIsImdldEFwaVRva2VuIiwic3VjY2VzcyIsImVycm9yIiwieGhyIiwiYWpheE9wdGlvbnMiLCJ0aHJvd25FcnJvciIsInJlc3BvbnNlSlNPTiIsImVycm9ycyIsImFqYXhFcnJvckZpZWxkSGFuZGxlciIsInN0YXR1cyIsImNvbnRhY3REYXRhIiwiaWQiLCJuYW1lIiwiZW1haWwiLCJwaG9uZSIsInVuYmluZCIsImJpbmQiLCJjbGlja0FjdGlvbkJ1dHRvbkNsb3NlIiwiY2xpY2tBY3Rpb25CdXR0b25TYXZlIiwiZXZlbnQiLCJmb3JtRGF0YVRvRGF0YU9iamVjdEFQSUNhbGwiLCJzYXZlQ29udGFjdCIsImZvcm0iLCJhdHRyIiwiYWpheFR5cGUiLCJzYXZlZERhdGEiLCJGb3JtRGF0YSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImZvcm1KU09OIiwiT2JqZWN0IiwiZnJvbUVudHJpZXMiLCJlbnRyaWVzIiwiaXRlbSIsImxjRmlyc3QiLCJyZXBsYWNlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/components/contactPopup.js\n\n}"); /***/ } diff --git a/public/js/module.js b/public/js/module.js index 3cc5173..cc1cb19 100644 --- a/public/js/module.js +++ b/public/js/module.js @@ -15,7 +15,7 @@ \*********************************************/ () { -eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar ModuleBase = /*#__PURE__*/function () {\n function ModuleBase(options, data) {\n _classCallCheck(this, ModuleBase);\n _defineProperty(this, \"Opts\", {\n testMode: false,\n CSSSelectorContainer: '',\n CSSSelectorForm: '',\n token: null,\n URL: {\n getDataTableContent: null,\n checkReadyToSend: null,\n index: null,\n show: null,\n edit: null,\n create: null,\n store: null,\n update: null,\n destroy: null\n },\n dataTable: {\n orderDirective: [1, 'asc'],\n CSSSelector: null,\n advanceSearchParameter: {}\n }\n });\n _defineProperty(this, \"data\", null);\n _defineProperty(this, \"root\", this);\n this.Opts.CSSSelectorContainer = '.container' + this.constructor.name;\n this.Opts.CSSSelectorForm = '.' + this.constructor.name + 'Form';\n this.Opts.dataTable.CSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable';\n this.root = this;\n if (data !== \"undefined\" || data != null) {\n this.data = data;\n }\n if (options != null) {\n $.extend(this.Opts, options);\n }\n }\n return _createClass(ModuleBase, [{\n key: \"init\",\n value: function init(options, data) {\n if (data !== \"undefined\" || data != null) {\n this.data = data;\n }\n if (options != null) {\n $.extend(this.Opts, options);\n }\n }\n }, {\n key: \"datatableRowActionButtonClick\",\n value: function datatableRowActionButtonClick(event, rootObj, options) {\n debug('call ModuleBase.datatableRowActionButtonClick');\n // debug(rootObj); // Removed to avoid circular structure issues in logging\n var node = $(event[0].currentTarget);\n var row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof rootObj[actionName] === \"function\") {\n return rootObj[actionName](rowData, node);\n }\n }\n }, {\n key: \"datatableRowActionAttachment\",\n value: function datatableRowActionAttachment(rowData, node, options) {\n debug('call ModuleBase.datatableRowActionAttachment ');\n var fileName = 'downloadedFile';\n if (typeof options.defaultFileName !== \"undefined\") {\n fileName = options.defaultFileName;\n }\n if (rowData.fileUrl) {\n if (rowData.fileName) {\n fileName = rowData.fileName;\n }\n $.ajax({\n url: rowData.fileUrl,\n method: 'GET',\n xhrFields: {\n responseType: 'blob'\n },\n success: function success(data) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(data);\n a.href = url;\n a.download = fileName;\n document.body.append(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n }\n });\n } else {\n Toast.create({\n title: \"Hiba!\",\n message: 'Nincs csatolt fájl!',\n status: TOAST_STATUS.DANGER,\n timeout: 10000\n });\n }\n }\n }, {\n key: \"datatableRowActionView\",\n value: function datatableRowActionView(rowData, node, rootObj, options) {\n debug('call ModuleBase.datatableRowActionView');\n var ajaxUrl = rootObj.Opts.URL.show.replace('%id%', rowData.id);\n /*\r\n console.log(Opts.URL);\r\n */\n console.log(ajaxUrl);\n APP.loadMainContent(ajaxUrl, rootObj.initViewShow);\n console.log('ModuleBase.datatableRowActionEdit End');\n }\n }]);\n}();\nwindow.ModuleBase = ModuleBase;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2R1bGVCYXNlIiwib3B0aW9ucyIsImRhdGEiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydHkiLCJ0ZXN0TW9kZSIsIkNTU1NlbGVjdG9yQ29udGFpbmVyIiwiQ1NTU2VsZWN0b3JGb3JtIiwidG9rZW4iLCJVUkwiLCJnZXREYXRhVGFibGVDb250ZW50IiwiY2hlY2tSZWFkeVRvU2VuZCIsImluZGV4Iiwic2hvdyIsImVkaXQiLCJjcmVhdGUiLCJzdG9yZSIsInVwZGF0ZSIsImRlc3Ryb3kiLCJkYXRhVGFibGUiLCJvcmRlckRpcmVjdGl2ZSIsIkNTU1NlbGVjdG9yIiwiYWR2YW5jZVNlYXJjaFBhcmFtZXRlciIsIk9wdHMiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJyb290IiwiJCIsImV4dGVuZCIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiaW5pdCIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrIiwiZXZlbnQiLCJyb290T2JqIiwiZGVidWciLCJub2RlIiwiY3VycmVudFRhcmdldCIsInJvdyIsIkRhdGFUYWJsZSIsInBhcmVudHMiLCJyb3dEYXRhIiwiYWN0aW9uTmFtZSIsImNhcGl0YWxpemUiLCJkYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50IiwiZmlsZU5hbWUiLCJkZWZhdWx0RmlsZU5hbWUiLCJmaWxlVXJsIiwiYWpheCIsInVybCIsIm1ldGhvZCIsInhockZpZWxkcyIsInJlc3BvbnNlVHlwZSIsInN1Y2Nlc3MiLCJhIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luZG93IiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiYm9keSIsImFwcGVuZCIsImNsaWNrIiwicmVtb3ZlIiwicmV2b2tlT2JqZWN0VVJMIiwiVG9hc3QiLCJ0aXRsZSIsIm1lc3NhZ2UiLCJzdGF0dXMiLCJUT0FTVF9TVEFUVVMiLCJEQU5HRVIiLCJ0aW1lb3V0IiwiZGF0YXRhYmxlUm93QWN0aW9uVmlldyIsImFqYXhVcmwiLCJyZXBsYWNlIiwiaWQiLCJjb25zb2xlIiwibG9nIiwiQVBQIiwibG9hZE1haW5Db250ZW50IiwiaW5pdFZpZXdTaG93Il0sInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9tb2R1bGVKcy9tb2R1bGVCYXNlLmpzP2MyMGIiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgTW9kdWxlQmFzZSB7XHJcbiAgICBPcHRzID0ge1xyXG4gICAgICAgIHRlc3RNb2RlOiBmYWxzZSxcclxuICAgICAgICBDU1NTZWxlY3RvckNvbnRhaW5lcjogJycsXHJcbiAgICAgICAgQ1NTU2VsZWN0b3JGb3JtOiAnJyxcclxuICAgICAgICB0b2tlbjogbnVsbCxcclxuICAgICAgICBVUkw6IHtcclxuICAgICAgICAgICAgZ2V0RGF0YVRhYmxlQ29udGVudDogbnVsbCxcclxuICAgICAgICAgICAgY2hlY2tSZWFkeVRvU2VuZDogbnVsbCxcclxuICAgICAgICAgICAgaW5kZXg6IG51bGwsXHJcbiAgICAgICAgICAgIHNob3c6IG51bGwsXHJcbiAgICAgICAgICAgIGVkaXQ6IG51bGwsXHJcbiAgICAgICAgICAgIGNyZWF0ZTogbnVsbCxcclxuICAgICAgICAgICAgc3RvcmU6IG51bGwsXHJcbiAgICAgICAgICAgIHVwZGF0ZTogbnVsbCxcclxuICAgICAgICAgICAgZGVzdHJveTogbnVsbCxcclxuICAgICAgICB9LFxyXG4gICAgICAgIGRhdGFUYWJsZToge1xyXG4gICAgICAgICAgICBvcmRlckRpcmVjdGl2ZTogWzEsICdhc2MnXSxcclxuICAgICAgICAgICAgQ1NTU2VsZWN0b3I6IG51bGwsXHJcbiAgICAgICAgICAgIGFkdmFuY2VTZWFyY2hQYXJhbWV0ZXI6e31cclxuICAgICAgICB9LFxyXG4gICAgfTtcclxuICAgIGRhdGEgPSBudWxsO1xyXG4gICAgcm9vdCA9IHRoaXM7XHJcblxyXG4gICAgY29uc3RydWN0b3Iob3B0aW9ucywgZGF0YSkge1xyXG4gICAgICAgIHRoaXMuT3B0cy5DU1NTZWxlY3RvckNvbnRhaW5lciA9ICcuY29udGFpbmVyJyArIHRoaXMuY29uc3RydWN0b3IubmFtZTtcclxuICAgICAgICB0aGlzLk9wdHMuQ1NTU2VsZWN0b3JGb3JtID0gJy4nICsgdGhpcy5jb25zdHJ1Y3Rvci5uYW1lICsgJ0Zvcm0nO1xyXG4gICAgICAgIHRoaXMuT3B0cy5kYXRhVGFibGUuQ1NTU2VsZWN0b3IgPSB0aGlzLk9wdHMuQ1NTU2VsZWN0b3JDb250YWluZXIgKyAnIC5kYXRhVGFibGUnO1xyXG4gICAgICAgIHRoaXMucm9vdCA9IHRoaXM7XHJcbiAgICAgICAgaWYgKGRhdGEgIT09IFwidW5kZWZpbmVkXCIgfHwgZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvcHRpb25zICE9IG51bGwpIHtcclxuICAgICAgICAgICAgJC5leHRlbmQodGhpcy5PcHRzLCBvcHRpb25zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdChvcHRpb25zLCBkYXRhKSB7XHJcbiAgICAgICAgaWYgKGRhdGEgIT09IFwidW5kZWZpbmVkXCIgfHwgZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YSA9IGRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChvcHRpb25zICE9IG51bGwpIHtcclxuICAgICAgICAgICAgJC5leHRlbmQodGhpcy5PcHRzLCBvcHRpb25zKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2soZXZlbnQscm9vdE9iaixvcHRpb25zKSB7XHJcbiAgICAgICAgZGVidWcoJ2NhbGwgTW9kdWxlQmFzZS5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljaycpO1xyXG4gICAgICAgIC8vIGRlYnVnKHJvb3RPYmopOyAvLyBSZW1vdmVkIHRvIGF2b2lkIGNpcmN1bGFyIHN0cnVjdHVyZSBpc3N1ZXMgaW4gbG9nZ2luZ1xyXG4gICAgICAgIGxldCBub2RlID0gJChldmVudFswXS5jdXJyZW50VGFyZ2V0KTtcclxuICAgICAgICBsZXQgcm93ID0gJChyb290T2JqLk9wdHMuZGF0YVRhYmxlLkNTU1NlbGVjdG9yKS5EYXRhVGFibGUoKS5yb3cobm9kZS5wYXJlbnRzKCd0cicpKTtcclxuICAgICAgICBsZXQgcm93RGF0YSA9IHJvdy5kYXRhKCk7XHJcbiAgICAgICAgbGV0IGFjdGlvbk5hbWUgPSAnZGF0YXRhYmxlUm93QWN0aW9uJyArIG5vZGUuZGF0YSgnYnV0dG9udHlwZScpLmNhcGl0YWxpemUoKTtcclxuICAgICAgICBpZiAodHlwZW9mIHJvb3RPYmpbYWN0aW9uTmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xyXG4gICAgICAgICAgICByZXR1cm4gcm9vdE9ialthY3Rpb25OYW1lXShyb3dEYXRhLCBub2RlKVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBkYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50KHJvd0RhdGEsbm9kZSxvcHRpb25zKSB7XHJcbiAgICAgICAgZGVidWcoJ2NhbGwgTW9kdWxlQmFzZS5kYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50ICcpO1xyXG4gICAgICAgIGxldCBmaWxlTmFtZT0nZG93bmxvYWRlZEZpbGUnO1xyXG4gICAgICAgIGlmKHR5cGVvZiBvcHRpb25zLmRlZmF1bHRGaWxlTmFtZSE9PSBcInVuZGVmaW5lZFwiKXtcclxuICAgICAgICAgICAgZmlsZU5hbWU9b3B0aW9ucy5kZWZhdWx0RmlsZU5hbWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmKHJvd0RhdGEuZmlsZVVybCl7XHJcbiAgICAgICAgICAgIGlmKHJvd0RhdGEuZmlsZU5hbWUpe1xyXG4gICAgICAgICAgICAgICAgZmlsZU5hbWU9cm93RGF0YS5maWxlTmFtZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAkLmFqYXgoe1xyXG4gICAgICAgICAgICAgICAgdXJsOiByb3dEYXRhLmZpbGVVcmwsXHJcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxyXG4gICAgICAgICAgICAgICAgeGhyRmllbGRzOiB7XHJcbiAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYidcclxuICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCBhID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xyXG4gICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChkYXRhKTtcclxuICAgICAgICAgICAgICAgICAgICBhLmhyZWYgPSB1cmw7XHJcbiAgICAgICAgICAgICAgICAgICAgYS5kb3dubG9hZCA9IGZpbGVOYW1lO1xyXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGEpO1xyXG4gICAgICAgICAgICAgICAgICAgIGEuY2xpY2soKTtcclxuICAgICAgICAgICAgICAgICAgICBhLnJlbW92ZSgpO1xyXG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICB9ZWxzZXtcclxuICAgICAgICAgICAgVG9hc3QuY3JlYXRlKHsgdGl0bGU6IFwiSGliYSFcIiwgbWVzc2FnZTogJ05pbmNzIGNzYXRvbHQgZsOhamwhJywgc3RhdHVzOiBUT0FTVF9TVEFUVVMuREFOR0VSLCB0aW1lb3V0OiAxMDAwMCB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgIGRhdGF0YWJsZVJvd0FjdGlvblZpZXcocm93RGF0YSxub2RlLHJvb3RPYmosb3B0aW9ucykge1xyXG4gICAgICAgIGRlYnVnKCdjYWxsIE1vZHVsZUJhc2UuZGF0YXRhYmxlUm93QWN0aW9uVmlldycpO1xyXG4gICAgICAgIGxldCBhamF4VXJsID0gcm9vdE9iai5PcHRzLlVSTC5zaG93LnJlcGxhY2UoJyVpZCUnLCByb3dEYXRhLmlkKTtcclxuICAgICAgICAvKlxyXG4gICAgICAgICAgICAgICAgY29uc29sZS5sb2coT3B0cy5VUkwpO1xyXG4gICAgICAgICovXHJcbiAgICAgICAgY29uc29sZS5sb2coYWpheFVybCk7XHJcbiAgICAgICAgQVBQLmxvYWRNYWluQ29udGVudChhamF4VXJsLCByb290T2JqLmluaXRWaWV3U2hvdyk7XHJcbiAgICAgICAgY29uc29sZS5sb2coJ01vZHVsZUJhc2UuZGF0YXRhYmxlUm93QWN0aW9uRWRpdCBFbmQnKTtcclxuICAgIH1cclxuXHJcbn1cclxud2luZG93Lk1vZHVsZUJhc2U9TW9kdWxlQmFzZTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0lBQU1BLFVBQVU7RUEwQlosU0FBQUEsV0FBWUMsT0FBTyxFQUFFQyxJQUFJLEVBQUU7SUFBQUMsZUFBQSxPQUFBSCxVQUFBO0lBQUFJLGVBQUEsZUF6QnBCO01BQ0hDLFFBQVEsRUFBRSxLQUFLO01BQ2ZDLG9CQUFvQixFQUFFLEVBQUU7TUFDeEJDLGVBQWUsRUFBRSxFQUFFO01BQ25CQyxLQUFLLEVBQUUsSUFBSTtNQUNYQyxHQUFHLEVBQUU7UUFDREMsbUJBQW1CLEVBQUUsSUFBSTtRQUN6QkMsZ0JBQWdCLEVBQUUsSUFBSTtRQUN0QkMsS0FBSyxFQUFFLElBQUk7UUFDWEMsSUFBSSxFQUFFLElBQUk7UUFDVkMsSUFBSSxFQUFFLElBQUk7UUFDVkMsTUFBTSxFQUFFLElBQUk7UUFDWkMsS0FBSyxFQUFFLElBQUk7UUFDWEMsTUFBTSxFQUFFLElBQUk7UUFDWkMsT0FBTyxFQUFFO01BQ2IsQ0FBQztNQUNEQyxTQUFTLEVBQUU7UUFDUEMsY0FBYyxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQztRQUMxQkMsV0FBVyxFQUFFLElBQUk7UUFDakJDLHNC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QUNBbkIsQ0FBQyxDQUFDc0IsSUFBSSxDQUFDO1VBQ0hDLEdBQUcsRUFBRVIsT0FBTyxDQUFDTSxPQUFPO1VBQ3BCRyxNQUFNLEVBQUUsS0FBSztVQUNiQyxTQUFTLEVBQUU7WUFDUEMsWUFBWSxFQUFFO1VBQ2xCLENBQUM7VUFDREMsT0FBTyxFQUFFLFNBQVRBLE9BQU9BLENBQVlwRCxJQUFJLEVBQUU7WUFDckIsSUFBSXFELENBQUMsR0FBR0MsUUFBUSxDQUFDQyxhQUFhLENBQUMsR0FBRyxDQUFDO1lBQ25DLElBQUlQLEdBQUcsR0FBR1EsTUFBTSxDQUFDakQsR0FBRyxDQUFDa0QsZUFBZSxDQUFDekQsSUFBSSxDQUFDO1lBQzFDcUQsQ0FBQyxDQUFDSyxJQUFJLEdBQUdWLEdBQUc7WUFDWkssQ0FBQyxDQUFDTSxRQUFRLEdBQUdmLFFBQVE7WUFDckJVLFFBQVEsQ0FBQ00sSUFBSSxDQUFDQyxNQUFNLENBQUNSLENBQUMsQ0FBQztZQUN2QkEsQ0FBQyxDQUFDUyxLQUFLLENBQUMsQ0FBQztZQUNUVCxDQUFDLENBQUNVLE1BQU0sQ0FBQyxDQUFDO1lBQ1ZQLE1BQU0sQ0FBQ2pELEdBQUcsQ0FBQ3lELGVBQWUsQ0FBQ2hCLEdBQUcsQ0FBQztVQUNuQztRQUNKLENBQUMsQ0FBQztNQUVOLENBQUMsTUFBSTtRQUNEaUIsS0FBSyxDQUFDcEQsTUFBTSxDQUFDO1VBQUVxRCxLQUFLLEVBQUUsT0FBTztVQUFFQyxPQUFPLEVBQUUscUJBQXFCO1VBQUVDLE1BQU0sRUFBRUMsWUFBWSxDQUFDQyxNQUFNO1VBQUVDLE9BQU8sRUFBRTtRQUFNLENBQUMsQ0FBQztNQUNqSDtJQUVKO0VBQUM7SUFBQTNDLEdBQUE7SUFBQUMsS0FBQSxFQUVELFNBQUEyQyxzQkFBc0JBLENBQUNoQyxPQUFPLEVBQUNMLElBQUksRUFBQ0YsT0FBTyxFQUFDbEMsT0FBTyxFQUFFO01BQ2pEbUMsS0FBSyxDQUFDLHdDQUF3QyxDQUFDO01BQy9DLElBQUl1QyxPQUFPLEdBQUd4QyxPQUFPLENBQUNaLElBQUksQ0FBQ2QsR0FBRyxDQUFDSSxJQUFJLENBQUMrRCxPQUFPLENBQUMsTUFBTSxFQUFFbEMsT0FBTyxDQUFDbUMsRUFBRSxDQUFDO01BQy9EO0FBQ1I7QUFDQTtNQUNRQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0osT0FBTyxDQUFDO01BQ3BCSyxHQUFHLENBQUNDLGVBQWUsQ0FBQ04sT0FBTyxFQUFFeEMsT0FBTyxDQUFDK0MsWUFBWSxDQUFDO01BQ2xESixPQUFPLENBQUNDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQztJQUN4RDtFQUFDO0FBQUE7QUFHTHJCLE1BQU0sQ0FBQzFELFVBQVUsR0FBQ0EsVUFBVSIsImlnbm9yZUxpc3QiOltdLCJmaWxlIjoiLi9yZXNvdXJjZXMvanMvbW9kdWxlSnMvbW9kdWxlQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/moduleJs/moduleBase.js\n\n}"); +eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar ModuleBase = /*#__PURE__*/function () {\n function ModuleBase(options, data) {\n _classCallCheck(this, ModuleBase);\n _defineProperty(this, \"Opts\", {\n testMode: false,\n CSSSelectorContainer: '',\n CSSSelectorForm: '',\n token: null,\n URL: {\n getDataTableContent: null,\n checkReadyToSend: null,\n index: null,\n show: null,\n edit: null,\n create: null,\n store: null,\n update: null,\n destroy: null\n },\n dataTable: {\n orderDirective: [1, 'asc'],\n CSSSelector: null,\n advanceSearchParameter: {}\n }\n });\n _defineProperty(this, \"data\", null);\n _defineProperty(this, \"root\", this);\n this.Opts.CSSSelectorContainer = '.container' + this.constructor.name;\n this.Opts.CSSSelectorForm = '.' + this.constructor.name + 'Form';\n this.Opts.dataTable.CSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable';\n this.root = this;\n if (data !== \"undefined\" || data != null) {\n this.data = data;\n }\n if (options != null) {\n $.extend(this.Opts, options);\n }\n }\n return _createClass(ModuleBase, [{\n key: \"init\",\n value: function init(options, data) {\n if (data !== \"undefined\" || data != null) {\n this.data = data;\n }\n if (options != null) {\n $.extend(this.Opts, options);\n }\n }\n }, {\n key: \"datatableRowActionButtonClick\",\n value: function datatableRowActionButtonClick(event, rootObj, options) {\n debug('call ModuleBase.datatableRowActionButtonClick');\n // debug(rootObj); // Removed to avoid circular structure issues in logging\n var node = $(event[0].currentTarget);\n var row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof rootObj[actionName] === \"function\") {\n return rootObj[actionName](rowData, node);\n }\n }\n }, {\n key: \"datatableRowActionAttachment\",\n value: function datatableRowActionAttachment(rowData, node, options) {\n debug('call ModuleBase.datatableRowActionAttachment ');\n var fileName = 'downloadedFile';\n if (typeof options.defaultFileName !== \"undefined\") {\n fileName = options.defaultFileName;\n }\n if (rowData.fileUrl) {\n if (rowData.fileName) {\n fileName = rowData.fileName;\n }\n $.ajax({\n url: rowData.fileUrl,\n method: 'GET',\n xhrFields: {\n responseType: 'blob'\n },\n success: function success(data) {\n var a = document.createElement('a');\n var url = window.URL.createObjectURL(data);\n a.href = url;\n a.download = fileName;\n document.body.append(a);\n a.click();\n a.remove();\n window.URL.revokeObjectURL(url);\n }\n });\n } else {\n Toast.create({\n title: \"Hiba!\",\n message: 'Nincs csatolt fájl!',\n status: TOAST_STATUS.DANGER,\n timeout: 10000\n });\n }\n }\n }, {\n key: \"datatableRowActionView\",\n value: function datatableRowActionView(rowData, node, rootObj, options) {\n debug('call ModuleBase.datatableRowActionView');\n var ajaxUrl = rootObj.Opts.URL.show.replace('%id%', rowData.id);\n /*\n console.log(Opts.URL);\n */\n console.log(ajaxUrl);\n APP.loadMainContent(ajaxUrl, rootObj.initViewShow);\n console.log('ModuleBase.datatableRowActionEdit End');\n }\n }]);\n}();\nwindow.ModuleBase = ModuleBase;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNb2R1bGVCYXNlIiwib3B0aW9ucyIsImRhdGEiLCJfY2xhc3NDYWxsQ2hlY2siLCJfZGVmaW5lUHJvcGVydHkiLCJ0ZXN0TW9kZSIsIkNTU1NlbGVjdG9yQ29udGFpbmVyIiwiQ1NTU2VsZWN0b3JGb3JtIiwidG9rZW4iLCJVUkwiLCJnZXREYXRhVGFibGVDb250ZW50IiwiY2hlY2tSZWFkeVRvU2VuZCIsImluZGV4Iiwic2hvdyIsImVkaXQiLCJjcmVhdGUiLCJzdG9yZSIsInVwZGF0ZSIsImRlc3Ryb3kiLCJkYXRhVGFibGUiLCJvcmRlckRpcmVjdGl2ZSIsIkNTU1NlbGVjdG9yIiwiYWR2YW5jZVNlYXJjaFBhcmFtZXRlciIsIk9wdHMiLCJjb25zdHJ1Y3RvciIsIm5hbWUiLCJyb290IiwiJCIsImV4dGVuZCIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiaW5pdCIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrIiwiZXZlbnQiLCJyb290T2JqIiwiZGVidWciLCJub2RlIiwiY3VycmVudFRhcmdldCIsInJvdyIsIkRhdGFUYWJsZSIsInBhcmVudHMiLCJyb3dEYXRhIiwiYWN0aW9uTmFtZSIsImNhcGl0YWxpemUiLCJkYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50IiwiZmlsZU5hbWUiLCJkZWZhdWx0RmlsZU5hbWUiLCJmaWxlVXJsIiwiYWpheCIsInVybCIsIm1ldGhvZCIsInhockZpZWxkcyIsInJlc3BvbnNlVHlwZSIsInN1Y2Nlc3MiLCJhIiwiZG9jdW1lbnQiLCJjcmVhdGVFbGVtZW50Iiwid2luZG93IiwiY3JlYXRlT2JqZWN0VVJMIiwiaHJlZiIsImRvd25sb2FkIiwiYm9keSIsImFwcGVuZCIsImNsaWNrIiwicmVtb3ZlIiwicmV2b2tlT2JqZWN0VVJMIiwiVG9hc3QiLCJ0aXRsZSIsIm1lc3NhZ2UiLCJzdGF0dXMiLCJUT0FTVF9TVEFUVVMiLCJEQU5HRVIiLCJ0aW1lb3V0IiwiZGF0YXRhYmxlUm93QWN0aW9uVmlldyIsImFqYXhVcmwiLCJyZXBsYWNlIiwiaWQiLCJjb25zb2xlIiwibG9nIiwiQVBQIiwibG9hZE1haW5Db250ZW50IiwiaW5pdFZpZXdTaG93Il0sInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy9qcy9tb2R1bGVKcy9tb2R1bGVCYXNlLmpzP2MyMGIiXSwic291cmNlc0NvbnRlbnQiOlsiY2xhc3MgTW9kdWxlQmFzZSB7XG4gICAgT3B0cyA9IHtcbiAgICAgICAgdGVzdE1vZGU6IGZhbHNlLFxuICAgICAgICBDU1NTZWxlY3RvckNvbnRhaW5lcjogJycsXG4gICAgICAgIENTU1NlbGVjdG9yRm9ybTogJycsXG4gICAgICAgIHRva2VuOiBudWxsLFxuICAgICAgICBVUkw6IHtcbiAgICAgICAgICAgIGdldERhdGFUYWJsZUNvbnRlbnQ6IG51bGwsXG4gICAgICAgICAgICBjaGVja1JlYWR5VG9TZW5kOiBudWxsLFxuICAgICAgICAgICAgaW5kZXg6IG51bGwsXG4gICAgICAgICAgICBzaG93OiBudWxsLFxuICAgICAgICAgICAgZWRpdDogbnVsbCxcbiAgICAgICAgICAgIGNyZWF0ZTogbnVsbCxcbiAgICAgICAgICAgIHN0b3JlOiBudWxsLFxuICAgICAgICAgICAgdXBkYXRlOiBudWxsLFxuICAgICAgICAgICAgZGVzdHJveTogbnVsbCxcbiAgICAgICAgfSxcbiAgICAgICAgZGF0YVRhYmxlOiB7XG4gICAgICAgICAgICBvcmRlckRpcmVjdGl2ZTogWzEsICdhc2MnXSxcbiAgICAgICAgICAgIENTU1NlbGVjdG9yOiBudWxsLFxuICAgICAgICAgICAgYWR2YW5jZVNlYXJjaFBhcmFtZXRlcjp7fVxuICAgICAgICB9LFxuICAgIH07XG4gICAgZGF0YSA9IG51bGw7XG4gICAgcm9vdCA9IHRoaXM7XG5cbiAgICBjb25zdHJ1Y3RvcihvcHRpb25zLCBkYXRhKSB7XG4gICAgICAgIHRoaXMuT3B0cy5DU1NTZWxlY3RvckNvbnRhaW5lciA9ICcuY29udGFpbmVyJyArIHRoaXMuY29uc3RydWN0b3IubmFtZTtcbiAgICAgICAgdGhpcy5PcHRzLkNTU1NlbGVjdG9yRm9ybSA9ICcuJyArIHRoaXMuY29uc3RydWN0b3IubmFtZSArICdGb3JtJztcbiAgICAgICAgdGhpcy5PcHRzLmRhdGFUYWJsZS5DU1NTZWxlY3RvciA9IHRoaXMuT3B0cy5DU1NTZWxlY3RvckNvbnRhaW5lciArICcgLmRhdGFUYWJsZSc7XG4gICAgICAgIHRoaXMucm9vdCA9IHRoaXM7XG4gICAgICAgIGlmIChkYXRhICE9PSBcInVuZGVmaW5lZFwiIHx8IGRhdGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICAgICAgICAkLmV4dGVuZCh0aGlzLk9wdHMsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdChvcHRpb25zLCBkYXRhKSB7XG4gICAgICAgIGlmIChkYXRhICE9PSBcInVuZGVmaW5lZFwiIHx8IGRhdGEgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5kYXRhID0gZGF0YTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0aW9ucyAhPSBudWxsKSB7XG4gICAgICAgICAgICAkLmV4dGVuZCh0aGlzLk9wdHMsIG9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2soZXZlbnQscm9vdE9iaixvcHRpb25zKSB7XG4gICAgICAgIGRlYnVnKCdjYWxsIE1vZHVsZUJhc2UuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2snKTtcbiAgICAgICAgLy8gZGVidWcocm9vdE9iaik7IC8vIFJlbW92ZWQgdG8gYXZvaWQgY2lyY3VsYXIgc3RydWN0dXJlIGlzc3VlcyBpbiBsb2dnaW5nXG4gICAgICAgIGxldCBub2RlID0gJChldmVudFswXS5jdXJyZW50VGFyZ2V0KTtcbiAgICAgICAgbGV0IHJvdyA9ICQocm9vdE9iai5PcHRzLmRhdGFUYWJsZS5DU1NTZWxlY3RvcikuRGF0YVRhYmxlKCkucm93KG5vZGUucGFyZW50cygndHInKSk7XG4gICAgICAgIGxldCByb3dEYXRhID0gcm93LmRhdGEoKTtcbiAgICAgICAgbGV0IGFjdGlvbk5hbWUgPSAnZGF0YXRhYmxlUm93QWN0aW9uJyArIG5vZGUuZGF0YSgnYnV0dG9udHlwZScpLmNhcGl0YWxpemUoKTtcbiAgICAgICAgaWYgKHR5cGVvZiByb290T2JqW2FjdGlvbk5hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIHJldHVybiByb290T2JqW2FjdGlvbk5hbWVdKHJvd0RhdGEsIG5vZGUpXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50KHJvd0RhdGEsbm9kZSxvcHRpb25zKSB7XG4gICAgICAgIGRlYnVnKCdjYWxsIE1vZHVsZUJhc2UuZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudCAnKTtcbiAgICAgICAgbGV0IGZpbGVOYW1lPSdkb3dubG9hZGVkRmlsZSc7XG4gICAgICAgIGlmKHR5cGVvZiBvcHRpb25zLmRlZmF1bHRGaWxlTmFtZSE9PSBcInVuZGVmaW5lZFwiKXtcbiAgICAgICAgICAgIGZpbGVOYW1lPW9wdGlvbnMuZGVmYXVsdEZpbGVOYW1lO1xuICAgICAgICB9XG4gICAgICAgIGlmKHJvd0RhdGEuZmlsZVVybCl7XG4gICAgICAgICAgICBpZihyb3dEYXRhLmZpbGVOYW1lKXtcbiAgICAgICAgICAgICAgICBmaWxlTmFtZT1yb3dEYXRhLmZpbGVOYW1lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJC5hamF4KHtcbiAgICAgICAgICAgICAgICB1cmw6IHJvd0RhdGEuZmlsZVVybCxcbiAgICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICAgICAgICAgIHhockZpZWxkczoge1xuICAgICAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgICAgICAgICAgICAgICAgIGxldCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgYS5ocmVmID0gdXJsO1xuICAgICAgICAgICAgICAgICAgICBhLmRvd25sb2FkID0gZmlsZU5hbWU7XG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kKGEpO1xuICAgICAgICAgICAgICAgICAgICBhLmNsaWNrKCk7XG4gICAgICAgICAgICAgICAgICAgIGEucmVtb3ZlKCk7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy5VUkwucmV2b2tlT2JqZWN0VVJMKHVybCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgfWVsc2V7XG4gICAgICAgICAgICBUb2FzdC5jcmVhdGUoeyB0aXRsZTogXCJIaWJhIVwiLCBtZXNzYWdlOiAnTmluY3MgY3NhdG9sdCBmw6FqbCEnLCBzdGF0dXM6IFRPQVNUX1NUQVRVUy5EQU5HRVIsIHRpbWVvdXQ6IDEwMDAwIH0pO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBkYXRhdGFibGVSb3dBY3Rpb25WaWV3KHJvd0RhdGEsbm9kZSxyb290T2JqLG9wdGlvbnMpIHtcbiAgICAgICAgZGVidWcoJ2NhbGwgTW9kdWxlQmFzZS5kYXRhdGFibGVSb3dBY3Rpb25WaWV3Jyk7XG4gICAgICAgIGxldCBhamF4VXJsID0gcm9vdE9iai5PcHRzLlVSTC5zaG93LnJlcGxhY2UoJyVpZCUnLCByb3dEYXRhLmlkKTtcbiAgICAgICAgLypcbiAgICAgICAgICAgICAgICBjb25zb2xlLmxvZyhPcHRzLlVSTCk7XG4gICAgICAgICovXG4gICAgICAgIGNvbnNvbGUubG9nKGFqYXhVcmwpO1xuICAgICAgICBBUFAubG9hZE1haW5Db250ZW50KGFqYXhVcmwsIHJvb3RPYmouaW5pdFZpZXdTaG93KTtcbiAgICAgICAgY29uc29sZS5sb2coJ01vZHVsZUJhc2UuZGF0YXRhYmxlUm93QWN0aW9uRWRpdCBFbmQnKTtcbiAgICB9XG5cbn1cbndpbmRvdy5Nb2R1bGVCYXNlPU1vZHVsZUJhc2U7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7SUFBTUEsVUFBVTtFQTBCWixTQUFBQSxXQUFZQyxPQUFPLEVBQUVDLElBQUksRUFBRTtJQUFBQyxlQUFBLE9BQUFILFVBQUE7SUFBQUksZUFBQSxlQXpCcEI7TUFDSEMsUUFBUSxFQUFFLEtBQUs7TUFDZkMsb0JBQW9CLEVBQUUsRUFBRTtNQUN4QkMsZUFBZSxFQUFFLEVBQUU7TUFDbkJDLEtBQUssRUFBRSxJQUFJO01BQ1hDLEdBQUcsRUFBRTtRQUNEQyxtQkFBbUIsRUFBRSxJQUFJO1FBQ3pCQyxnQkFBZ0IsRUFBRSxJQUFJO1FBQ3RCQyxLQUFLLEVBQUUsSUFBSTtRQUNYQyxJQUFJLEVBQUUsSUFBSTtRQUNWQyxJQUFJLEVBQUUsSUFBSTtRQUNWQyxNQUFNLEVBQUUsSUFBSTtRQUNaQyxLQUFLLEVBQUUsSUFBSTtRQUNYQyxNQUFNLEVBQUUsSUFBSTtRQUNaQyxPQUFPLEVBQUU7TUFDYixDQUFDO01BQ0RDLFNBQVMsRUFBRTtRQUNQQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDO1FBQzFCQyxXQUFXLEVBQUUsSUFBSTtRQUNqQkMsc0JBQXNCLEVBQUMsQ0FBQztNQUM1QjtJQUNKLENBQUM7SUFBQWxCLGVBQUEsZUFDTSxJQUFJO0lBQUFBLGVBQUEsZUFDSixJQUFJO0lBR1AsSUFBSSxDQUFDbUIsSUFBSSxDQUFDakIsb0JBQW9CLEdBQUcsWUFBWSxHQUFHLElBQUksQ0FBQ2tCLFdBQVcsQ0FBQ0MsSUFBSTtJQUNyRSxJQUFJLENBQUNGLElBQUksQ0FBQ2hCLGVBQWUsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDaUIs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\n//# sourceURL=webpack-internal:///./resources/js/moduleJs/moduleBase.js\n\n}"); /***/ }, @@ -45,7 +45,7 @@ eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"fun \********************************************/ () { -eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && \"function\" == typeof p ? function (t) { return p.apply(e, t); } : p; }\nfunction _get() { return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }\nfunction _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nif (typeof window.PriceListModule === \"undefined\") {\n var PriceListModule = /*#__PURE__*/function (_ModuleBase) {\n function PriceListModule() {\n _classCallCheck(this, PriceListModule);\n return _callSuper(this, PriceListModule, arguments);\n }\n _inherits(PriceListModule, _ModuleBase);\n return _createClass(PriceListModule, [{\n key: \"datatableRowActionAttachment\",\n value: function datatableRowActionAttachment(rowData, node) {\n debug('call datatableRowActionAttachment');\n _superPropGet(PriceListModule, \"datatableRowActionAttachment\", this, 3)([rowData, node, {\n defaultFileName: \"arlista.xls\"\n }]);\n }\n }, {\n key: \"datatableRowActionView\",\n value: function datatableRowActionView(rowData, node) {\n debug('call datatableRowActionView');\n }\n }, {\n key: \"datatableRowActionButtonClick\",\n value: function datatableRowActionButtonClick(event) {\n debug('datatableRowActionButtonClick');\n var rootObj = APP.PriceListModule;\n var node = $(event[0].currentTarget);\n var row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof rootObj[actionName] === \"function\") {\n return rootObj[actionName](rowData, node);\n }\n }\n }, {\n key: \"initViewList\",\n value: function initViewList() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n debug('listview inicialization');\n var dataTableCSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable'; //\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\n datatableRowActionButtonClickCallBack: this.datatableRowActionButtonClick\n });\n var orderDirective = this.Opts.dataTable.orderDirective;\n if (typeof options['orderDirective'] != 'undefined') {\n orderDirective = options['orderDirective'];\n }\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\n $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": {\n url: this.Opts.URL.getDataTableContent,\n data: function data(_data) {\n /*\r\n data.searchStr=dataTableSearchStr;\r\n data.groupId=selectedProductGroup;\r\n data.supplierId=Order.supplierId;\r\n data.deliveryDate=Order.deliveryDate;\r\n */\n }\n },\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n if (row.fileUrl) {\n var buttons = APP.datatableAddRowAttachmentButton(0, arguments);\n return buttons;\n } else {\n return '';\n }\n }\n }\n /* {\r\n \"targets\": 1,\r\n \"render\": function ( data, type, row ) {\r\n row=null;\r\n return type === \"sort\" ? data.latinise() : data;\r\n },\r\n },*/\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons: {\n buttons: [\n /* 'excel','pdf',\r\n {\r\n extend: 'print',\r\n //text: 'Print current page',\r\n 'title': 'title custom text',\r\n 'messageTop': 'Message On Top',\r\n autoPrint: true\r\n },\r\n */ /**/\n ]\n },\n \"columns\": [{\n \"data\": \"id\"\n }, {\n \"data\": \"supplierName\"\n }, {\n \"data\": \"available\"\n }, {\n \"data\": \"created_at\"\n }, {\n \"data\": \"note\"\n }, null],\n \"order\": orderDirective,\n //\"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n settings = null;\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n debug('listview end');\n }\n }]);\n }(ModuleBase);\n ;\n window.PriceListModule = PriceListModule;\n}\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJQcmljZUxpc3RNb2R1bGUiLCJfTW9kdWxlQmFzZSIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsImRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQiLCJyb3dEYXRhIiwibm9kZSIsImRlYnVnIiwiX3N1cGVyUHJvcEdldCIsImRlZmF1bHRGaWxlTmFtZSIsImRhdGF0YWJsZVJvd0FjdGlvblZpZXciLCJkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayIsImV2ZW50Iiwicm9vdE9iaiIsIkFQUCIsIiQiLCJjdXJyZW50VGFyZ2V0Iiwicm93IiwiT3B0cyIsImRhdGFUYWJsZSIsIkNTU1NlbGVjdG9yIiwiRGF0YVRhYmxlIiwicGFyZW50cyIsImRhdGEiLCJhY3Rpb25OYW1lIiwiY2FwaXRhbGl6ZSIsImluaXRWaWV3TGlzdCIsIm9wdGlvbnMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJkYXRhVGFibGVDU1NTZWxlY3RvciIsIkNTU1NlbGVjdG9yQ29udGFpbmVyIiwiY29sTnVtIiwic2V0T3B0cyIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJvcmRlckRpcmVjdGl2ZSIsImxhbmd1YWdlIiwidXJsIiwiVVJMIiwiZ2V0RGF0YVRhYmxlQ29udGVudCIsInJlbmRlciIsInR5cGUiLCJmaWxlVXJsIiwiYnV0dG9ucyIsImRhdGF0YWJsZUFkZFJvd0F0dGFjaG1lbnRCdXR0b24iLCJkcmF3Q2FsbGJhY2siLCJzZXR0aW5ncyIsImRhdGF0YWJsZUFkZFJvd0FjdGlvbiIsIk1vZHVsZUJhc2UiXSwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL21vZHVsZUpzL3ByaWNlTGlzdC5qcz8yYzNmIl0sInNvdXJjZXNDb250ZW50IjpbImlmKHR5cGVvZiB3aW5kb3cuUHJpY2VMaXN0TW9kdWxlID09PVwidW5kZWZpbmVkXCIpIHtcclxuICAgIGNsYXNzIFByaWNlTGlzdE1vZHVsZSBleHRlbmRzIE1vZHVsZUJhc2V7XHJcblxyXG4gICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQocm93RGF0YSxub2RlKSB7XHJcbiAgICAgICAgICAgIGRlYnVnKCdjYWxsIGRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQnKTtcclxuICAgICAgICAgICAgc3VwZXIuZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudChyb3dEYXRhLG5vZGUse2RlZmF1bHRGaWxlTmFtZTpcImFybGlzdGEueGxzXCJ9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uVmlldyhyb3dEYXRhLG5vZGUpIHtcclxuICAgICAgICAgICAgZGVidWcoJ2NhbGwgZGF0YXRhYmxlUm93QWN0aW9uVmlldycpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2soZXZlbnQpIHtcclxuICAgICAgICAgICAgZGVidWcoJ2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrJyk7XHJcbiAgICAgICAgICAgIGxldCByb290T2JqPUFQUC5QcmljZUxpc3RNb2R1bGU7XHJcbiAgICAgICAgICAgIGxldCBub2RlID0gJChldmVudFswXS5jdXJyZW50VGFyZ2V0KTtcclxuICAgICAgICAgICAgbGV0IHJvdyA9ICQocm9vdE9iai5PcHRzLmRhdGFUYWJsZS5DU1NTZWxlY3RvcikuRGF0YVRhYmxlKCkucm93KG5vZGUucGFyZW50cygndHInKSk7XHJcbiAgICAgICAgICAgIGxldCByb3dEYXRhID0gcm93LmRhdGEoKTtcclxuICAgICAgICAgICAgbGV0IGFjdGlvbk5hbWUgPSAnZGF0YXRhYmxlUm93QWN0aW9uJyArIG5vZGUuZGF0YSgnYnV0dG9udHlwZScpLmNhcGl0YWxpemUoKTtcclxuICAgICAgICAgICAgaWYgKHR5cGVvZiByb290T2JqW2FjdGlvbk5hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcclxuICAgICAgICAgICAgICAgIHJldHVybiByb290T2JqW2FjdGlvbk5hbWVdKHJvd0RhdGEsIG5vZGUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgaW5pdFZpZXdMaXN0KG9wdGlvbnM9e30pIHtcclxuICAgICAgICAgICAgZGVidWcoJ2xpc3R2aWV3IGluaWNpYWxpemF0aW9uJyk7XHJcbiAgICAgICAgICAgIGxldCBkYXRhVGFibGVDU1NTZWxlY3Rvcj10aGlzLk9wdHMuQ1NTU2VsZWN0b3JDb250YWluZXIrJyAuZGF0YVRhYmxlJzsgLy9cclxuICAgICAgICAgICAgbGV0IGNvbE51bT0kKGRhdGFUYWJsZUNTU1NlbGVjdG9yKycgdGhlYWQgdGgnKS5sZW5ndGg7IC8vYnV0dG9ucyBpbnNlcnQgcG9zaXRpb24gbmVlZFxyXG4gICAgICAgICAgICBBUFAuc2V0T3B0cyh7XHJcbiAgICAgICAgICAgICAgICAvL2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6dGhpcy5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayxcclxuICAgICAgICAgICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6dGhpcy5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayxcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgbGV0IG9yZGVyRGlyZWN0aXZlPXRoaXMuT3B0cy5kYXRhVGFibGUub3JkZXJEaXJlY3RpdmU7XHJcblxyXG4gICAgICAgICAgICBpZih0eXBlb2Ygb3B0aW9uc1snb3JkZXJEaXJlY3RpdmUnXSE9J3VuZGVmaW5lZCcpe1xyXG4gICAgICAgICAgICAgICAgb3JkZXJEaXJlY3RpdmU9b3B0aW9uc1snb3JkZXJEaXJlY3RpdmUnXTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAvL2xldCBhamF4VXJsPXRoaXMuT3B0cy5VUkwuZ2V0RGF0YVRhYmxlQ29udGVudDtcclxuICAgICAgICAgICAgJChkYXRhVGFibGVDU1NTZWxlY3RvcikuRGF0YVRhYmxlKCB7XHJcbiAgICAgICAgICAgICAgICBsYW5ndWFnZToge1xyXG4gICAgICAgICAgICAgICAgICAgIHVybDogJy8vY2RuLmRhdGF0YWJsZXMubmV0L3BsdWctaW5zLzEuMTAuMjQvaTE4bi9IdW5nYXJpYW4uanNvbidcclxuICAgICAgICAgICAgICAgIH0sXHJcblxyXG4gICAgICAgICAgICAgICAgLy9cImFqYXhcIjogXCJ7e2Fzc2V0KCdleGFwbWxlMi5qc29uJyl9fVwiLFxyXG4gICAgICAgICAgICAgICAgXCJhamF4XCI6IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6dGhpcy5PcHRzLlVSTC5nZXREYXRhVGFibGVDb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6ZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgLypcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5zZWFyY2hTdHI9ZGF0YVRhYmxlU2VhcmNoU3RyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmdyb3VwSWQ9c2VsZWN0ZWRQcm9kdWN0R3JvdXA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3VwcGxpZXJJZD1PcmRlci5zdXBwbGllcklkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhLmRlbGl2ZXJ5RGF0ZT1PcmRlci5kZWxpdmVyeURhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICovXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgIFwiY29sdW1uRGVmc1wiOiBbXHJcbiAgICAgICAgICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogY29sTnVtLTEsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicmVuZGVyXCI6IGZ1bmN0aW9uICggZGF0YSwgdHlwZSwgcm93ICkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocm93LmZpbGVVcmwpe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBidXR0b25zPUFQUC5kYXRhdGFibGVBZGRSb3dBdHRhY2htZW50QnV0dG9uKDAsYXJndW1lbnRzKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnV0dG9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAgLyoge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJyZW5kZXJcIjogZnVuY3Rpb24gKCBkYXRhLCB0eXBlLCByb3cgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb3c9bnVsbDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0eXBlID09PSBcInNvcnRcIiA/IGRhdGEubGF0aW5pc2UoKSA6IGRhdGE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgfSwqL1xyXG4gICAgICAgICAgICAgICAgICAgIC8veyBcInZpc2libGVcIjogZmFsc2UsICBcInRhcmdldHNcIjogWyAwIF0gfVxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGJ1dHRvbnM6e1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgICAgLyogICAgICAnZXhjZWwnLCdwZGYnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQ6ICdwcmludCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvL3RleHQ6ICdQcmludCBjdXJyZW50IHBhZ2UnLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RpdGxlJzogJ3RpdGxlIGN1c3RvbSB0ZXh0JyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlVG9wJzogJ01lc3NhZ2UgT24gVG9wJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9QcmludDogdHJ1ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgICAqLyAgICAgIC8qKi9cclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5zXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImlkXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcInN1cHBsaWVyTmFtZVwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJhdmFpbGFibGVcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwiY3JlYXRlZF9hdFwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJub3RlXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIFwib3JkZXJcIjogb3JkZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAvL1wic3RhdGVTYXZlXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBcImRyYXdDYWxsYmFja1wiOiBmdW5jdGlvbiggc2V0dGluZ3MgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgc2V0dGluZ3M9bnVsbDtcclxuICAgICAgICAgICAgICAgICAgICBBUFAuZGF0YXRhYmxlQWRkUm93QWN0aW9uKGRhdGFUYWJsZUNTU1NlbGVjdG9yKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSApO1xyXG4gICAgICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgZW5kJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH07XHJcbiAgICB3aW5kb3cuUHJpY2VMaXN0TW9kdWxlPVByaWNlTGlzdE1vZHVsZTtcclxufTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBRyxPQUFPQSxNQUFNLENBQUNDLGVBQWUsS0FBSSxXQUFXLEVBQUU7RUFBQSxJQUN2Q0EsZUFBZSwwQkFBQUMsV0FBQTtJQUFBLFNBQUFELGdCQUFBO01BQUFFLGVBQUEsT0FBQUYsZUFBQTtNQUFBLE9BQUFHLFVBQUEsT0FBQUgsZUFBQSxFQUFBSSxTQUFBO0lBQUE7SUFBQUMsU0FBQSxDQUFBTCxlQUFBLEVBQUFDLFdBQUE7SUFBQSxPQUFBSyxZQUFBLENBQUFOLGVBQUE7TUFBQU8sR0FBQTtNQUFBQyxLQUFBLEVBRWpCLFNBQUFDLDRCQUE0QkEsQ0FBQ0MsT0FBTyxFQUFDQyxJQUFJLEVBQUU7UUFDdkNDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQztRQUMxQ0MsYUFBQSxDQUFBYixlQUFBLDRDQUFtQ1UsT0FBTyxFQUFDQyxJQUFJLEVBQUM7VUFBQ0csZUFBZSxFQUFDO1FBQWEsQ0FBQztNQUNuRjtJQUFDO01BQUFQLEdBQUE7TUFBQUMsS0FBQSxFQUNELFNBQUFPLHNCQUFzQkEsQ0FBQ0wsT0FBTyxFQUFD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QUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7VUFDb0I7VUFBQSxDQUNIO1VBQ0RBLE9BQU8sRUFBQztZQUNKQSxPQUFPLEVBQUU7Y0FDWDtBQUNsQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQVJrQixDQVFRO1lBQUE7VUFFVixDQUFDO1VBQ0QsU0FBUyxFQUFFLENBQ1A7WUFBRSxNQUFNLEVBQUU7VUFBSyxDQUFDLEVBQ2hCO1lBQUUsTUFBTSxFQUFFO1VBQWUsQ0FBQyxFQUMxQjtZQUFFLE1BQU0sRUFBRTtVQUFZLENBQUMsRUFDdkI7WUFBRSxNQUFNLEVBQUU7VUFBYSxDQUFDLEVBQ3hCO1lBQUUsTUFBTSxFQUFFO1VBQU8sQ0FBQyxFQUNsQixJQUFJLENBQ1A7VUFDRCxPQUFPLEVBQUVSLGNBQWM7VUFDdkI7VUFDQSxjQUFjLEVBQUUsU0FBaEJVLFlBQWNBLENBQVlDLFFBQVEsRUFBRztZQUNqQ0EsUUFBUSxHQUFDLElBQUk7WUFDYmhDLEdBQUcsQ0FBQ2lDLHFCQUFxQixDQUFDakIsb0JBQW9CLENBQUM7VUFDbkQ7UUFDSixDQUFFLENBQUM7UUFDSHZCLEtBQUssQ0FBQyxjQUFjLENBQUM7TUFDekI7SUFBQztFQUFBLEVBdEd5QnlDLFVBQVU7RUF3R3ZDO0VBQ0R0RCxNQUFNLENBQUNDLGVBQWUsR0FBQ0EsZUFBZTtBQUMxQztBQUFDIiwiaWdub3JlTGlzdCI6W10sImZpbGUiOiIuL3Jlc291cmNlcy9qcy9tb2R1bGVKcy9wcmljZUxpc3QuanMiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/moduleJs/priceList.js\n\n}"); +eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && \"function\" == typeof p ? function (t) { return p.apply(e, t); } : p; }\nfunction _get() { return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }\nfunction _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nif (typeof window.PriceListModule === \"undefined\") {\n var PriceListModule = /*#__PURE__*/function (_ModuleBase) {\n function PriceListModule() {\n _classCallCheck(this, PriceListModule);\n return _callSuper(this, PriceListModule, arguments);\n }\n _inherits(PriceListModule, _ModuleBase);\n return _createClass(PriceListModule, [{\n key: \"datatableRowActionAttachment\",\n value: function datatableRowActionAttachment(rowData, node) {\n debug('call datatableRowActionAttachment');\n _superPropGet(PriceListModule, \"datatableRowActionAttachment\", this, 3)([rowData, node, {\n defaultFileName: \"arlista.xls\"\n }]);\n }\n }, {\n key: \"datatableRowActionView\",\n value: function datatableRowActionView(rowData, node) {\n debug('call datatableRowActionView');\n }\n }, {\n key: \"datatableRowActionButtonClick\",\n value: function datatableRowActionButtonClick(event) {\n debug('datatableRowActionButtonClick');\n var rootObj = APP.PriceListModule;\n var node = $(event[0].currentTarget);\n var row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof rootObj[actionName] === \"function\") {\n return rootObj[actionName](rowData, node);\n }\n }\n }, {\n key: \"initViewList\",\n value: function initViewList() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n debug('listview inicialization');\n var dataTableCSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable'; //\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\n datatableRowActionButtonClickCallBack: this.datatableRowActionButtonClick\n });\n var orderDirective = this.Opts.dataTable.orderDirective;\n if (typeof options['orderDirective'] != 'undefined') {\n orderDirective = options['orderDirective'];\n }\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\n $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n //\"ajax\": \"{{asset('exapmle2.json')}}\",\n \"ajax\": {\n url: this.Opts.URL.getDataTableContent,\n data: function data(_data) {\n /*\n data.searchStr=dataTableSearchStr;\n data.groupId=selectedProductGroup;\n data.supplierId=Order.supplierId;\n data.deliveryDate=Order.deliveryDate;\n */\n }\n },\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n if (row.fileUrl) {\n var buttons = APP.datatableAddRowAttachmentButton(0, arguments);\n return buttons;\n } else {\n return '';\n }\n }\n }\n /* {\n \"targets\": 1,\n \"render\": function ( data, type, row ) {\n row=null;\n return type === \"sort\" ? data.latinise() : data;\n },\n },*/\n //{ \"visible\": false, \"targets\": [ 0 ] }\n ],\n buttons: {\n buttons: [\n /* 'excel','pdf',\n {\n extend: 'print',\n //text: 'Print current page',\n 'title': 'title custom text',\n 'messageTop': 'Message On Top',\n autoPrint: true\n },\n */ /**/\n ]\n },\n \"columns\": [{\n \"data\": \"id\"\n }, {\n \"data\": \"supplierName\"\n }, {\n \"data\": \"available\"\n }, {\n \"data\": \"created_at\"\n }, {\n \"data\": \"note\"\n }, null],\n \"order\": orderDirective,\n //\"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n settings = null;\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n debug('listview end');\n }\n }]);\n }(ModuleBase);\n ;\n window.PriceListModule = PriceListModule;\n}\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJQcmljZUxpc3RNb2R1bGUiLCJfTW9kdWxlQmFzZSIsIl9jbGFzc0NhbGxDaGVjayIsIl9jYWxsU3VwZXIiLCJhcmd1bWVudHMiLCJfaW5oZXJpdHMiLCJfY3JlYXRlQ2xhc3MiLCJrZXkiLCJ2YWx1ZSIsImRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQiLCJyb3dEYXRhIiwibm9kZSIsImRlYnVnIiwiX3N1cGVyUHJvcEdldCIsImRlZmF1bHRGaWxlTmFtZSIsImRhdGF0YWJsZVJvd0FjdGlvblZpZXciLCJkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayIsImV2ZW50Iiwicm9vdE9iaiIsIkFQUCIsIiQiLCJjdXJyZW50VGFyZ2V0Iiwicm93IiwiT3B0cyIsImRhdGFUYWJsZSIsIkNTU1NlbGVjdG9yIiwiRGF0YVRhYmxlIiwicGFyZW50cyIsImRhdGEiLCJhY3Rpb25OYW1lIiwiY2FwaXRhbGl6ZSIsImluaXRWaWV3TGlzdCIsIm9wdGlvbnMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJkYXRhVGFibGVDU1NTZWxlY3RvciIsIkNTU1NlbGVjdG9yQ29udGFpbmVyIiwiY29sTnVtIiwic2V0T3B0cyIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJvcmRlckRpcmVjdGl2ZSIsImxhbmd1YWdlIiwidXJsIiwiVVJMIiwiZ2V0RGF0YVRhYmxlQ29udGVudCIsInJlbmRlciIsInR5cGUiLCJmaWxlVXJsIiwiYnV0dG9ucyIsImRhdGF0YWJsZUFkZFJvd0F0dGFjaG1lbnRCdXR0b24iLCJkcmF3Q2FsbGJhY2siLCJzZXR0aW5ncyIsImRhdGF0YWJsZUFkZFJvd0FjdGlvbiIsIk1vZHVsZUJhc2UiXSwic291cmNlcyI6WyJ3ZWJwYWNrOi8vLy4vcmVzb3VyY2VzL2pzL21vZHVsZUpzL3ByaWNlTGlzdC5qcz8yYzNmIl0sInNvdXJjZXNDb250ZW50IjpbImlmKHR5cGVvZiB3aW5kb3cuUHJpY2VMaXN0TW9kdWxlID09PVwidW5kZWZpbmVkXCIpIHtcbiAgICBjbGFzcyBQcmljZUxpc3RNb2R1bGUgZXh0ZW5kcyBNb2R1bGVCYXNle1xuXG4gICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQocm93RGF0YSxub2RlKSB7XG4gICAgICAgICAgICBkZWJ1ZygnY2FsbCBkYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50Jyk7XG4gICAgICAgICAgICBzdXBlci5kYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50KHJvd0RhdGEsbm9kZSx7ZGVmYXVsdEZpbGVOYW1lOlwiYXJsaXN0YS54bHNcIn0pO1xuICAgICAgICB9XG4gICAgICAgIGRhdGF0YWJsZVJvd0FjdGlvblZpZXcocm93RGF0YSxub2RlKSB7XG4gICAgICAgICAgICBkZWJ1ZygnY2FsbCBkYXRhdGFibGVSb3dBY3Rpb25WaWV3Jyk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayhldmVudCkge1xuICAgICAgICAgICAgZGVidWcoJ2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrJyk7XG4gICAgICAgICAgICBsZXQgcm9vdE9iaj1BUFAuUHJpY2VMaXN0TW9kdWxlO1xuICAgICAgICAgICAgbGV0IG5vZGUgPSAkKGV2ZW50WzBdLmN1cnJlbnRUYXJnZXQpO1xuICAgICAgICAgICAgbGV0IHJvdyA9ICQocm9vdE9iai5PcHRzLmRhdGFUYWJsZS5DU1NTZWxlY3RvcikuRGF0YVRhYmxlKCkucm93KG5vZGUucGFyZW50cygndHInKSk7XG4gICAgICAgICAgICBsZXQgcm93RGF0YSA9IHJvdy5kYXRhKCk7XG4gICAgICAgICAgICBsZXQgYWN0aW9uTmFtZSA9ICdkYXRhdGFibGVSb3dBY3Rpb24nICsgbm9kZS5kYXRhKCdidXR0b250eXBlJykuY2FwaXRhbGl6ZSgpO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByb290T2JqW2FjdGlvbk5hbWVdID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gcm9vdE9ialthY3Rpb25OYW1lXShyb3dEYXRhLCBub2RlKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGluaXRWaWV3TGlzdChvcHRpb25zPXt9KSB7XG4gICAgICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgaW5pY2lhbGl6YXRpb24nKTtcbiAgICAgICAgICAgIGxldCBkYXRhVGFibGVDU1NTZWxlY3Rvcj10aGlzLk9wdHMuQ1NTU2VsZWN0b3JDb250YWluZXIrJyAuZGF0YVRhYmxlJzsgLy9cbiAgICAgICAgICAgIGxldCBjb2xOdW09JChkYXRhVGFibGVDU1NTZWxlY3RvcisnIHRoZWFkIHRoJykubGVuZ3RoOyAvL2J1dHRvbnMgaW5zZXJ0IHBvc2l0aW9uIG5lZWRcbiAgICAgICAgICAgIEFQUC5zZXRPcHRzKHtcbiAgICAgICAgICAgICAgICAvL2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2s6dGhpcy5kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayxcbiAgICAgICAgICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2ssXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgbGV0IG9yZGVyRGlyZWN0aXZlPXRoaXMuT3B0cy5kYXRhVGFibGUub3JkZXJEaXJlY3RpdmU7XG5cbiAgICAgICAgICAgIGlmKHR5cGVvZiBvcHRpb25zWydvcmRlckRpcmVjdGl2ZSddIT0ndW5kZWZpbmVkJyl7XG4gICAgICAgICAgICAgICAgb3JkZXJEaXJlY3RpdmU9b3B0aW9uc1snb3JkZXJEaXJlY3RpdmUnXTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vbGV0IGFqYXhVcmw9dGhpcy5PcHRzLlVSTC5nZXREYXRhVGFibGVDb250ZW50O1xuICAgICAgICAgICAgJChkYXRhVGFibGVDU1NTZWxlY3RvcikuRGF0YVRhYmxlKCB7XG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2U6IHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOiAnLy9jZG4uZGF0YXRhYmxlcy5uZXQvcGx1Zy1pbnMvMS4xMC4yNC9pMThuL0h1bmdhcmlhbi5qc29uJ1xuICAgICAgICAgICAgICAgIH0sXG5cbiAgICAgICAgICAgICAgICAvL1wiYWpheFwiOiBcInt7YXNzZXQoJ2V4YXBtbGUyLmpzb24nKX19XCIsXG4gICAgICAgICAgICAgICAgXCJhamF4XCI6IHtcbiAgICAgICAgICAgICAgICAgICAgdXJsOnRoaXMuT3B0cy5VUkwuZ2V0RGF0YVRhYmxlQ29udGVudCxcbiAgICAgICAgICAgICAgICAgICAgZGF0YTpmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgLypcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc2VhcmNoU3RyPWRhdGFUYWJsZVNlYXJjaFN0cjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuZ3JvdXBJZD1zZWxlY3RlZFByb2R1Y3RHcm91cDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGEuc3VwcGxpZXJJZD1PcmRlci5zdXBwbGllcklkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YS5kZWxpdmVyeURhdGU9T3JkZXIuZGVsaXZlcnlEYXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgKi9cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5EZWZzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0YXJnZXRzXCI6IGNvbE51bS0xLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJyZW5kZXJcIjogZnVuY3Rpb24gKCBkYXRhLCB0eXBlLCByb3cgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYocm93LmZpbGVVcmwpe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYnV0dG9ucz1BUFAuZGF0YXRhYmxlQWRkUm93QXR0YWNobWVudEJ1dHRvbigwLGFyZ3VtZW50cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBidXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1lbHNle1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAvKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBcInRhcmdldHNcIjogMSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFwicmVuZGVyXCI6IGZ1bmN0aW9uICggZGF0YSwgdHlwZSwgcm93ICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvdz1udWxsO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0eXBlID09PSBcInNvcnRcIiA/IGRhdGEubGF0aW5pc2UoKSA6IGRhdGE7XG4gICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICB9LCovXG4gICAgICAgICAgICAgICAgICAgIC8veyBcInZpc2libGVcIjogZmFsc2UsICBcInRhcmdldHNcIjogWyAwIF0gfVxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgYnV0dG9uczp7XG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcbiAgICAgICAgICAgICAgICAgIC8qICAgICAgJ2V4Y2VsJywncGRmJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHRlbmQ6ICdwcmludCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy90ZXh0OiAnUHJpbnQgY3VycmVudCBwYWdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAndGl0bGUnOiAndGl0bGUgY3VzdG9tIHRleHQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdtZXNzYWdlVG9wJzogJ01lc3NhZ2UgT24gVG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvUHJpbnQ6IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAqLyAgICAgIC8qKi9cbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5zXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJpZFwiIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwic3VwcGxpZXJOYW1lXCIgfSxcbiAgICAgICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJhdmFpbGFibGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImNyZWF0ZWRfYXRcIiB9LFxuICAgICAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcIm5vdGVcIiB9LFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJvcmRlclwiOiBvcmRlckRpcmVjdGl2ZSxcbiAgICAgICAgICAgICAgICAvL1wic3RhdGVTYXZlXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgXCJkcmF3Q2FsbGJhY2tcIjogZnVuY3Rpb24oIHNldHRpbmdzICkge1xuICAgICAgICAgICAgICAgICAgICBzZXR0aW5ncz1udWxsO1xuICAgICAgICAgICAgICAgICAgICBBUFAuZGF0YXRhYmxlQWRkUm93QWN0aW9uKGRhdGFUYWJsZUNTU1NlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICk7XG4gICAgICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgZW5kJyk7XG4gICAgICAgIH1cblxuICAgIH07XG4gICAgd2luZG93LlByaWNlTGlzdE1vZHVsZT1QcmljZUxpc3RNb2R1bGU7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBRyxPQUFPQSxNQUFNLENBQUNDLGVBQWUsS0FBSSxXQUFXLEVBQUU7RUFBQSxJQUN2Q0EsZUFBZSwwQkFBQUMsV0FBQTtJQUFBLFNBQUFELGdCQUFBO01BQUFFLGVBQUEsT0FBQUYsZUFBQTtNQUFBLE9BQUFHLFVBQUEsT0FBQUgsZUFBQSxFQUFBSSxTQUFBO0lBQUE7SUFBQUMsU0FBQSxDQUFBTCxlQUFBLEVBQUFDLFdBQUE7SUFBQSxPQUFBSyxZQUFBLENBQUFOLGVBQUE7TUFBQU8sR0FBQTtNQUFBQyxLQUFBLEVBRWpCLFNBQUFDLDRCQUE0QkEsQ0FBQ0MsT0FBTyxFQUFDQyxJQUFJLEVBQUU7UUFDdkNDLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQztRQUMxQ0MsYUFBQSxDQUFBYixlQUFBLDRDQUFtQ1UsT0FBTyxFQUFDQyxJQUFJLEVBQUM7VUFBQ0csZUFBZSxFQUFDO1FBQWEsQ0FBQztNQUNuRjtJQUFDO01BQUFQLEdBQUE7TUFBQUMsS0FBQSxFQUNELFNBQUFPLHNCQUFzQkEsQ0FBQ0wsT0FBTyxFQUFDQyxJQUFJLEVBQUU7UUFDakNDLEtBQUssQ0FBQyw2QkFBNkIsQ0FBQztNQUN4QztJQUFDO01BQUFMLEdBQUE7TUFBQUMsS0FBQSxFQUVELFNBQUFRLDZCQUE2QkEsQ0FBQ0MsS0FBSyxFQUFFO1FBQ2pDTCxLQUFLLENBQUMsK0JBQStCLENBQUM7UUFDdEMsSUFBSU0sT0FBTyxHQUFDQyxHQUFHLENBQUNuQixlQUFlO1FBQy9CLElBQUlXLElBQUksR0FBR1MsQ0FBQyxDQUFDSCxLQUFL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Q0FBQyxFQUMxQjtZQUFFLE1BQU0sRUFBRTtVQUFZLENBQUMsRUFDdkI7WUFBRSxNQUFNLEVBQUU7VUFBYSxDQUFDLEVBQ3hCO1lBQUUsTUFBTSxFQUFFO1VBQU8sQ0FBQyxFQUNsQixJQUFJLENBQ1A7VUFDRCxPQUFPLEVBQUVSLGNBQWM7VUFDdkI7VUFDQSxjQUFjLEVBQUUsU0FBaEJVLFlBQWNBLENBQVlDLFFBQVEsRUFBRztZQUNqQ0EsUUFBUSxHQUFDLElBQUk7WUFDYmhDLEdBQUcsQ0FBQ2lDLHFCQUFxQixDQUFDakIsb0JBQW9CLENBQUM7VUFDbkQ7UUFDSixDQUFFLENBQUM7UUFDSHZCLEtBQUssQ0FBQyxjQUFjLENBQUM7TUFDekI7SUFBQztFQUFBLEVBdEd5QnlDLFVBQVU7RUF3R3ZDO0VBQ0R0RCxNQUFNLENBQUNDLGVBQWUsR0FBQ0EsZUFBZTtBQUMxQztBQUFDIiwiaWdub3JlTGlzdCI6W10sImZpbGUiOiIuL3Jlc291cmNlcy9qcy9tb2R1bGVKcy9wcmljZUxpc3QuanMiLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./resources/js/moduleJs/priceList.js\n\n}"); /***/ }, @@ -55,7 +55,7 @@ eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"fun \*******************************************/ () { -eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && \"function\" == typeof p ? function (t) { return p.apply(e, t); } : p; }\nfunction _get() { return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }\nfunction _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nif (typeof window.SupplierModule === \"undefined\") {\n var SupplierModule = /*#__PURE__*/function (_ModuleBase) {\n function SupplierModule() {\n _classCallCheck(this, SupplierModule);\n return _callSuper(this, SupplierModule, arguments);\n }\n _inherits(SupplierModule, _ModuleBase);\n return _createClass(SupplierModule, [{\n key: \"datatableRowActionAttachment\",\n value: function datatableRowActionAttachment(rowData, node) {\n debug('call datatableRowActionAttachment');\n _superPropGet(SupplierModule, \"datatableRowActionAttachment\", this, 3)([rowData, node, {\n defaultFileName: \"arlista.xls\"\n }]);\n }\n }, {\n key: \"datatableRowActionView\",\n value: function datatableRowActionView(rowData, node) {\n debug('call datatableRowActionView');\n _superPropGet(SupplierModule, \"datatableRowActionView\", this, 3)([rowData, node, APP.SupplierModule]);\n }\n }, {\n key: \"datatableRowActionButtonClick\",\n value: function datatableRowActionButtonClick(event) {\n debug('datatableRowActionButtonClick');\n var rootObj = APP.SupplierModule;\n var node = $(event[0].currentTarget);\n var row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof rootObj[actionName] === \"function\") {\n return rootObj[actionName](rowData, node);\n }\n }\n }, {\n key: \"initViewShow\",\n value: function initViewShow() {\n $('.productCategorySelect').select2({\n disabled: true\n });\n $('.serviceSelect').select2({\n disabled: true\n });\n APP.SupplierModule.renderContact();\n }\n }, {\n key: \"initViewList\",\n value: function initViewList() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n debug('listview inicialization');\n var dataTableCSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable'; //\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\n datatableRowActionButtonClickCallBack: this.datatableRowActionButtonClick\n });\n var orderDirective = this.Opts.dataTable.orderDirective;\n if (typeof options['orderDirective'] != 'undefined') {\n orderDirective = options['orderDirective'];\n }\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\n $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n \"ajax\": {\n url: this.Opts.URL.getDataTableContent,\n data: function data(_data) {}\n },\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n var buttons = APP.datatableAddRowViewButton(0, arguments);\n return buttons;\n }\n }],\n buttons: {\n buttons: []\n },\n \"columns\": [{\n \"data\": \"name\"\n }, {\n \"data\": \"product_group\"\n }, {\n \"data\": \"service\"\n }, {\n \"data\": \"canSeeInOrder\",\n \"render\": function render(data) {\n return data == 1 ? \"\" : \"\";\n }\n }, null],\n \"order\": orderDirective,\n //\"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n debug('listview end');\n }\n }, {\n key: \"renderContact\",\n value: function renderContact() {\n var rowNum = 1;\n console.log('renderingContacts');\n $.each(APP.Supplier.getData('contact'), function () {\n var contactData = this;\n contactData.rowNum = rowNum;\n //console.log(contactData);\n var template = $('template[data-name=\"supplierContactTableRow\"]').html();\n var render = Mustache.render(template, contactData);\n $('.contactTable tbody').append(render);\n rowNum++;\n });\n }\n }]);\n }(ModuleBase);\n ;\n window.SupplierModule = SupplierModule;\n}\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJTdXBwbGllck1vZHVsZSIsIl9Nb2R1bGVCYXNlIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsImFyZ3VtZW50cyIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudCIsInJvd0RhdGEiLCJub2RlIiwiZGVidWciLCJfc3VwZXJQcm9wR2V0IiwiZGVmYXVsdEZpbGVOYW1lIiwiZGF0YXRhYmxlUm93QWN0aW9uVmlldyIsIkFQUCIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrIiwiZXZlbnQiLCJyb290T2JqIiwiJCIsImN1cnJlbnRUYXJnZXQiLCJyb3ciLCJPcHRzIiwiZGF0YVRhYmxlIiwiQ1NTU2VsZWN0b3IiLCJEYXRhVGFibGUiLCJwYXJlbnRzIiwiZGF0YSIsImFjdGlvbk5hbWUiLCJjYXBpdGFsaXplIiwiaW5pdFZpZXdTaG93Iiwic2VsZWN0MiIsImRpc2FibGVkIiwicmVuZGVyQ29udGFjdCIsImluaXRWaWV3TGlzdCIsIm9wdGlvbnMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJkYXRhVGFibGVDU1NTZWxlY3RvciIsIkNTU1NlbGVjdG9yQ29udGFpbmVyIiwiY29sTnVtIiwic2V0T3B0cyIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJvcmRlckRpcmVjdGl2ZSIsImxhbmd1YWdlIiwidXJsIiwiVVJMIiwiZ2V0RGF0YVRhYmxlQ29udGVudCIsInJlbmRlciIsInR5cGUiLCJidXR0b25zIiwiZGF0YXRhYmxlQWRkUm93Vmlld0J1dHRvbiIsImRyYXdDYWxsYmFjayIsInNldHRpbmdzIiwiZGF0YXRhYmxlQWRkUm93QWN0aW9uIiwicm93TnVtIiwiY29uc29sZSIsImxvZyIsImVhY2giLCJTdXBwbGllciIsImdldERhdGEiLCJjb250YWN0RGF0YSIsInRlbXBsYXRlIiwiaHRtbCIsIk11c3RhY2hlIiwiYXBwZW5kIiwiTW9kdWxlQmFzZSJdLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbW9kdWxlSnMvc3VwcGxpZXIuanM/ZmY2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpZih0eXBlb2Ygd2luZG93LlN1cHBsaWVyTW9kdWxlID09PVwidW5kZWZpbmVkXCIpIHtcclxuICAgIGNsYXNzIFN1cHBsaWVyTW9kdWxlIGV4dGVuZHMgTW9kdWxlQmFzZXtcclxuXHJcbiAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudChyb3dEYXRhLG5vZGUpIHtcclxuICAgICAgICAgICAgZGVidWcoJ2NhbGwgZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudCcpO1xyXG4gICAgICAgICAgICBzdXBlci5kYXRhdGFibGVSb3dBY3Rpb25BdHRhY2htZW50KHJvd0RhdGEsbm9kZSx7ZGVmYXVsdEZpbGVOYW1lOlwiYXJsaXN0YS54bHNcIn0pO1xyXG4gICAgICAgIH1cclxuICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25WaWV3KHJvd0RhdGEsbm9kZSkge1xyXG4gICAgICAgICAgICBkZWJ1ZygnY2FsbCBkYXRhdGFibGVSb3dBY3Rpb25WaWV3Jyk7XHJcbiAgICAgICAgICAgIHN1cGVyLmRhdGF0YWJsZVJvd0FjdGlvblZpZXcocm93RGF0YSxub2RlLEFQUC5TdXBwbGllck1vZHVsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayhldmVudCkge1xyXG4gICAgICAgICAgICBkZWJ1ZygnZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2snKTtcclxuICAgICAgICAgICAgbGV0IHJvb3RPYmo9QVBQLlN1cHBsaWVyTW9kdWxlO1xyXG4gICAgICAgICAgICBsZXQgbm9kZSA9ICQoZXZlbnRbMF0uY3VycmVudFRhcmdldCk7XHJcbiAgICAgICAgICAgIGxldCByb3cgPSAkKHJvb3RPYmouT3B0cy5kYXRhVGFibGUuQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgpLnJvdyhub2RlLnBhcmVudHMoJ3RyJykpO1xyXG4gICAgICAgICAgICBsZXQgcm93RGF0YSA9IHJvdy5kYXRhKCk7XHJcbiAgICAgICAgICAgIGxldCBhY3Rpb25OYW1lID0gJ2RhdGF0YWJsZVJvd0FjdGlvbicgKyBub2RlLmRhdGEoJ2J1dHRvbnR5cGUnKS5jYXBpdGFsaXplKCk7XHJcbiAgICAgICAgICAgIGlmICh0eXBlb2Ygcm9vdE9ialthY3Rpb25OYW1lXSA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gcm9vdE9ialthY3Rpb25OYW1lXShyb3dEYXRhLCBub2RlKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGluaXRWaWV3U2hvdygpe1xyXG4gICAgICAgICAgICAkKCcucHJvZHVjdENhdGVnb3J5U2VsZWN0Jykuc2VsZWN0MihcclxuICAgICAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZDp0cnVlLFxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICAkKCcuc2VydmljZVNlbGVjdCcpLnNlbGVjdDIoXHJcbiAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6dHJ1ZSxcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuXHJcbiAgICAgICAgICAgIEFQUC5TdXBwbGllck1vZHVsZS5yZW5kZXJDb250YWN0KCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGluaXRWaWV3TGlzdChvcHRpb25zPXt9KSB7XHJcbiAgICAgICAgICAgIGRlYnVnKCdsaXN0dmlldyBpbmljaWFsaXphdGlvbicpO1xyXG4gICAgICAgICAgICBsZXQgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9dGhpcy5PcHRzLkNTU1NlbGVjdG9yQ29udGFpbmVyKycgLmRhdGFUYWJsZSc7IC8vXHJcbiAgICAgICAgICAgIGxldCBjb2xOdW09JChkYXRhVGFibGVDU1NTZWxlY3RvcisnIHRoZWFkIHRoJykubGVuZ3RoOyAvL2J1dHRvbnMgaW5zZXJ0IHBvc2l0aW9uIG5lZWRcclxuICAgICAgICAgICAgQVBQLnNldE9wdHMoe1xyXG4gICAgICAgICAgICAgICAgLy9kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2ssXHJcbiAgICAgICAgICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2ssXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgICAgIGxldCBvcmRlckRpcmVjdGl2ZT10aGlzLk9wdHMuZGF0YVRhYmxlLm9yZGVyRGlyZWN0aXZlO1xyXG5cclxuICAgICAgICAgICAgaWYodHlwZW9mIG9wdGlvbnNbJ29yZGVyRGlyZWN0aXZlJ10hPSd1bmRlZmluZWQnKXtcclxuICAgICAgICAgICAgICAgIG9yZGVyRGlyZWN0aXZlPW9wdGlvbnNbJ29yZGVyRGlyZWN0aXZlJ107XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgLy9sZXQgYWpheFVybD10aGlzLk9wdHMuVVJMLmdldERhdGFUYWJsZUNvbnRlbnQ7XHJcbiAgICAgICAgICAgICQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgge1xyXG4gICAgICAgICAgICAgICAgbGFuZ3VhZ2U6IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6ICcvL2Nkbi5kYXRhdGFibGVzLm5ldC9wbHVnLWlucy8xLjEwLjI0L2kxOG4vSHVuZ2FyaWFuLmpzb24nXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXCJhamF4XCI6IHtcclxuICAgICAgICAgICAgICAgICAgICB1cmw6dGhpcy5PcHRzLlVSTC5nZXREYXRhVGFibGVDb250ZW50LFxyXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6ZnVuY3Rpb24gKGRhdGEpIHtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5EZWZzXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFwidGFyZ2V0c1wiOiBjb2xOdW0tMSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgXCJyZW5kZXJcIjogZnVuY3Rpb24gKCBkYXRhLCB0eXBlLCByb3cgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgYnV0dG9ucz1BUFAuZGF0YXRhYmxlQWRkUm93Vmlld0J1dHRvbigwLGFyZ3VtZW50cyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYnV0dG9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIGJ1dHRvbnM6e1xyXG4gICAgICAgICAgICAgICAgICAgIGJ1dHRvbnM6IFtcclxuICAgICAgICAgICAgICAgICAgICBdXHJcbiAgICAgICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5zXCI6IFtcclxuICAgICAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcIm5hbWVcIiB9LFxyXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwicHJvZHVjdF9ncm91cFwiIH0sXHJcbiAgICAgICAgICAgICAgICAgICAgeyBcImRhdGFcIjogXCJzZXJ2aWNlXCIgfSxcclxuICAgICAgICAgICAgICAgICAgICB7IFwiZGF0YVwiOiBcImNhblNlZUluT3JkZXJcIiwgXCJyZW5kZXJcIjogZnVuY3Rpb24oZGF0YSkgeyByZXR1cm4gZGF0YSA9PSAxID8gXCI8aSBjbGFzcz1cXFwiZmFzIGZhLWNoZWNrIHRleHQtc3VjY2Vzc1xcXCI+PC9pPlwiIDogXCI8aSBjbGFzcz1cXFwiZmFzIGZhLXRpbWVzIHRleHQtZGFuZ2VyXFxcIj48L2k+XCI7IH0gfSxcclxuICAgICAgICAgICAgICAgICAgICBudWxsLFxyXG4gICAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICAgIFwib3JkZXJcIjogb3JkZXJEaXJlY3RpdmUsXHJcbiAgICAgICAgICAgICAgICAvL1wic3RhdGVTYXZlXCI6IHRydWUsXHJcbiAgICAgICAgICAgICAgICBcImRyYXdDYWxsYmFja1wiOiBmdW5jdGlvbiggc2V0dGluZ3MgKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgQVBQLmRhdGF0YWJsZUFkZFJvd0FjdGlvbihkYXRhVGFibGVDU1NTZWxlY3Rvcik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gKTtcclxuICAgICAgICAgICAgZGVidWcoJ2xpc3R2aWV3IGVuZCcpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZW5kZXJDb250YWN0KCl7XHJcbiAgICAgICAgICAgIGxldCByb3dOdW09MTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlbmRlcmluZ0NvbnRhY3RzJyk7XHJcbiAgICAgICAgICAgICQuZWFjaChBUFAuU3VwcGxpZXIuZ2V0RGF0YSgnY29udGFjdCcpLGZ1bmN0aW9uICgpe1xyXG4gICAgICAgICAgICAgICAgbGV0IGNvbnRhY3REYXRhPXRoaXM7XHJcbiAgICAgICAgICAgICAgICBjb250YWN0RGF0YS5yb3dOdW09cm93TnVtO1xyXG4gICAgICAgICAgICAgICAgLy9jb25zb2xlLmxvZyhjb250YWN0RGF0YSk7XHJcbiAgICAgICAgICAgICAgICBsZXQgdGVtcGxhdGU9JCgndGVtcGxhdGVbZGF0YS1uYW1lPVwic3VwcGxpZXJDb250YWN0VGFibGVSb3dcIl0nKS5odG1sKClcclxuICAgICAgICAgICAgICAgIGxldCByZW5kZXI9TXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLGNvbnRhY3REYXRhKTtcclxuICAgICAgICAgICAgICAgICQoJy5jb250YWN0VGFibGUgdGJvZHknKS5hcHBlbmQocmVuZGVyKTtcclxuICAgICAgICAgICAgICAgIHJvd051bSsrO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgfTtcclxuICAgIHdpbmRvdy5TdXBwbGllck1vZHVsZT1TdXBwbGllck1vZHVsZTtcclxufTtcclxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsSUFBRyxPQUFPQSxNQUFNLENBQUNDLGNBQWMsS0FBSSxXQUFXLEVBQUU7RUFBQSxJQUN0Q0EsY0FBYywwQkFBQUMsV0FBQTtJQUFBLFNBQUFELGVBQUE7TUFBQUUsZUFBQSxPQUFBRixjQUFBO01BQUEsT0FBQUcsVUFBQSxPQUFBSCxjQUFBLEVBQUFJLFNBQUE7SUFBQTtJQUFBQyxTQUFBLENBQUFMLGNBQUEsRUFBQUMsV0FBQTtJQUFBLE9BQUFLLFlBQUEsQ0FBQU4sY0FBQTtNQUFBTyxHQUFBO01BQUFDLEtBQUEsRUFFaEIsU0FBQUMsNEJBQTRCQSxDQUFDQyxPQUFPLEVBQUNDLElBQUksRUFBRTtRQUN2Q0MsS0FBSyxDQUFDLG1DQUFtQyxDQUFDO1FBQzFDQyxhQUFBLENBQUFiLGNBQUEsNENBQW1DVSxPQUFPLEVBQUNDLElBQUksRUFBQztVQUFDRyxlQUFlLEVBQUM7UUFBYSxDQUFDO01BQ25GO0lBQUM7TUFBQVAsR0FBQTtNQUFBQyxLQUFBLEVBQ0QsU0FBQU8sc0JBQXNCQSxDQUFDTCxPQUFPLEVBQUNDLElBQUksRUFBRTtRQUNqQ0MsS0FBSyxDQUFDLDZCQUE2QixDQUFDO1FBQ3BDQyxhQUFBLENBQUFiLGNBQUEsc0NBQTZCVSxPQUFPLEVBQUNDLElBQUksRUFBQ0ssR0FBRyxDQUFDaEIsY0FBYztNQUNoRTtJQUFDO01BQUFPLEdBQUE7TUFBQUMsS0FBQSxFQUVELFNBQUFTLDZCQUE2QkEsQ0FBQ0MsS0FBSyxFQUFFO1FBQ2pDTixLQUFLLENBQUMs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QUFPK0MsT0FBTztZQUNsQjtVQUNKLENBQUMsQ0FDSjtVQUNEQSxPQUFPLEVBQUM7WUFDSkEsT0FBTyxFQUFFO1VBRWIsQ0FBQztVQUNELFNBQVMsRUFBRSxDQUNQO1lBQUUsTUFBTSxFQUFFO1VBQU8sQ0FBQyxFQUNsQjtZQUFFLE1BQU0sRUFBRTtVQUFnQixDQUFDLEVBQzNCO1lBQUUsTUFBTSxFQUFFO1VBQVUsQ0FBQyxFQUNyQjtZQUFFLE1BQU0sRUFBRSxlQUFlO1lBQUUsUUFBUSxFQUFFLFNBQVZGLE1BQVFBLENBQVdyQixJQUFJLEVBQUU7Y0FBRSxPQUFPQSxJQUFJLElBQUksQ0FBQyxHQUFHLDZDQUE2QyxHQUFHLDRDQUE0QztZQUFFO1VBQUUsQ0FBQyxFQUMxSyxJQUFJLENBQ1A7VUFDRCxPQUFPLEVBQUVnQixjQUFjO1VBQ3ZCO1VBQ0EsY0FBYyxFQUFFLFNBQWhCUyxZQUFjQSxDQUFZQyxRQUFRLEVBQUc7WUFDakN0QyxHQUFHLENBQUN1QyxxQkFBcUIsQ0FBQ2hCLG9CQUFvQixDQUFDO1VBQ25EO1FBQ0osQ0FBRSxDQUFDO1FBQ0gzQixLQUFLLENBQUMsY0FBYyxDQUFDO01BQ3pCO0lBQUM7TUFBQUwsR0FBQTtNQUFBQyxLQUFBLEVBQ0QsU0FBQTBCLGFBQWFBLENBQUEsRUFBRTtRQUNYLElBQUlzQixNQUFNLEdBQUMsQ0FBQztRQUNaQyxPQUFPLENBQUNDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQztRQUNoQ3RDLENBQUMsQ0FBQ3VDLElBQUksQ0FBQzNDLEdBQUcsQ0FBQzRDLFFBQVEsQ0FBQ0MsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFDLFlBQVc7VUFDOUMsSUFBSUMsV0FBVyxHQUFDLElBQUk7VUFDcEJBLFdBQVcsQ0FBQ04sTUFBTSxHQUFDQSxNQUFNO1VBQ3pCO1VBQ0EsSUFBSU8sUUFBUSxHQUFDM0MsQ0FBQyxDQUFDLCtDQUErQyxDQUFDLENBQUM0QyxJQUFJLENBQUMsQ0FBQztVQUN0RSxJQUFJZixNQUFNLEdBQUNnQixRQUFRLENBQUNoQixNQUFNLENBQUNjLFFBQVEsRUFBQ0QsV0FBVyxDQUFDO1VBQ2hEMUMsQ0FBQyxDQUFDLHFCQUFxQixDQUFDLENBQUM4QyxNQUFNLENBQUNqQixNQUFNLENBQUM7VUFDdkNPLE1BQU0sRUFBRTtRQUNaLENBQUMsQ0FBQztNQUNOO0lBQUM7RUFBQSxFQW5Hd0JXLFVBQVU7RUFxR3RDO0VBQ0RwRSxNQUFNLENBQUNDLGNBQWMsR0FBQ0EsY0FBYztBQUN4QztBQUFDIiwiaWdub3JlTGlzdCI6W10sImZpbGUiOiIuL3Jlc291cmNlcy9qcy9tb2R1bGVKcy9zdXBwbGllci5qcyIsInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./resources/js/moduleJs/supplier.js\n\n}"); +eval("{function _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && \"function\" == typeof p ? function (t) { return p.apply(e, t); } : p; }\nfunction _get() { return _get = \"undefined\" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }\nfunction _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nif (typeof window.SupplierModule === \"undefined\") {\n var SupplierModule = /*#__PURE__*/function (_ModuleBase) {\n function SupplierModule() {\n _classCallCheck(this, SupplierModule);\n return _callSuper(this, SupplierModule, arguments);\n }\n _inherits(SupplierModule, _ModuleBase);\n return _createClass(SupplierModule, [{\n key: \"datatableRowActionAttachment\",\n value: function datatableRowActionAttachment(rowData, node) {\n debug('call datatableRowActionAttachment');\n _superPropGet(SupplierModule, \"datatableRowActionAttachment\", this, 3)([rowData, node, {\n defaultFileName: \"arlista.xls\"\n }]);\n }\n }, {\n key: \"datatableRowActionView\",\n value: function datatableRowActionView(rowData, node) {\n debug('call datatableRowActionView');\n _superPropGet(SupplierModule, \"datatableRowActionView\", this, 3)([rowData, node, APP.SupplierModule]);\n }\n }, {\n key: \"datatableRowActionButtonClick\",\n value: function datatableRowActionButtonClick(event) {\n debug('datatableRowActionButtonClick');\n var rootObj = APP.SupplierModule;\n var node = $(event[0].currentTarget);\n var row = $(rootObj.Opts.dataTable.CSSSelector).DataTable().row(node.parents('tr'));\n var rowData = row.data();\n var actionName = 'datatableRowAction' + node.data('buttontype').capitalize();\n if (typeof rootObj[actionName] === \"function\") {\n return rootObj[actionName](rowData, node);\n }\n }\n }, {\n key: \"initViewShow\",\n value: function initViewShow() {\n $('.productCategorySelect').select2({\n disabled: true\n });\n $('.serviceSelect').select2({\n disabled: true\n });\n APP.SupplierModule.renderContact();\n }\n }, {\n key: \"initViewList\",\n value: function initViewList() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n debug('listview inicialization');\n var dataTableCSSSelector = this.Opts.CSSSelectorContainer + ' .dataTable'; //\n var colNum = $(dataTableCSSSelector + ' thead th').length; //buttons insert position need\n APP.setOpts({\n //datatableRowActionButtonClickCallBack:this.datatableRowActionButtonClick,\n datatableRowActionButtonClickCallBack: this.datatableRowActionButtonClick\n });\n var orderDirective = this.Opts.dataTable.orderDirective;\n if (typeof options['orderDirective'] != 'undefined') {\n orderDirective = options['orderDirective'];\n }\n //let ajaxUrl=this.Opts.URL.getDataTableContent;\n $(dataTableCSSSelector).DataTable({\n language: {\n url: '//cdn.datatables.net/plug-ins/1.10.24/i18n/Hungarian.json'\n },\n \"ajax\": {\n url: this.Opts.URL.getDataTableContent,\n data: function data(_data) {}\n },\n \"columnDefs\": [{\n \"targets\": colNum - 1,\n \"render\": function render(data, type, row) {\n var buttons = APP.datatableAddRowViewButton(0, arguments);\n return buttons;\n }\n }],\n buttons: {\n buttons: []\n },\n \"columns\": [{\n \"data\": \"name\"\n }, {\n \"data\": \"product_group\"\n }, {\n \"data\": \"service\"\n }, {\n \"data\": \"canSeeInOrder\",\n \"render\": function render(data) {\n return data == 1 ? \"\" : \"\";\n }\n }, null],\n \"order\": orderDirective,\n //\"stateSave\": true,\n \"drawCallback\": function drawCallback(settings) {\n APP.datatableAddRowAction(dataTableCSSSelector);\n }\n });\n debug('listview end');\n }\n }, {\n key: \"renderContact\",\n value: function renderContact() {\n var rowNum = 1;\n console.log('renderingContacts');\n $.each(APP.Supplier.getData('contact'), function () {\n var contactData = this;\n contactData.rowNum = rowNum;\n //console.log(contactData);\n var template = $('template[data-name=\"supplierContactTableRow\"]').html();\n var render = Mustache.render(template, contactData);\n $('.contactTable tbody').append(render);\n rowNum++;\n });\n }\n }]);\n }(ModuleBase);\n ;\n window.SupplierModule = SupplierModule;\n}\n;//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ3aW5kb3ciLCJTdXBwbGllck1vZHVsZSIsIl9Nb2R1bGVCYXNlIiwiX2NsYXNzQ2FsbENoZWNrIiwiX2NhbGxTdXBlciIsImFyZ3VtZW50cyIsIl9pbmhlcml0cyIsIl9jcmVhdGVDbGFzcyIsImtleSIsInZhbHVlIiwiZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudCIsInJvd0RhdGEiLCJub2RlIiwiZGVidWciLCJfc3VwZXJQcm9wR2V0IiwiZGVmYXVsdEZpbGVOYW1lIiwiZGF0YXRhYmxlUm93QWN0aW9uVmlldyIsIkFQUCIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrIiwiZXZlbnQiLCJyb290T2JqIiwiJCIsImN1cnJlbnRUYXJnZXQiLCJyb3ciLCJPcHRzIiwiZGF0YVRhYmxlIiwiQ1NTU2VsZWN0b3IiLCJEYXRhVGFibGUiLCJwYXJlbnRzIiwiZGF0YSIsImFjdGlvbk5hbWUiLCJjYXBpdGFsaXplIiwiaW5pdFZpZXdTaG93Iiwic2VsZWN0MiIsImRpc2FibGVkIiwicmVuZGVyQ29udGFjdCIsImluaXRWaWV3TGlzdCIsIm9wdGlvbnMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJkYXRhVGFibGVDU1NTZWxlY3RvciIsIkNTU1NlbGVjdG9yQ29udGFpbmVyIiwiY29sTnVtIiwic2V0T3B0cyIsImRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrQ2FsbEJhY2siLCJvcmRlckRpcmVjdGl2ZSIsImxhbmd1YWdlIiwidXJsIiwiVVJMIiwiZ2V0RGF0YVRhYmxlQ29udGVudCIsInJlbmRlciIsInR5cGUiLCJidXR0b25zIiwiZGF0YXRhYmxlQWRkUm93Vmlld0J1dHRvbiIsImRyYXdDYWxsYmFjayIsInNldHRpbmdzIiwiZGF0YXRhYmxlQWRkUm93QWN0aW9uIiwicm93TnVtIiwiY29uc29sZSIsImxvZyIsImVhY2giLCJTdXBwbGllciIsImdldERhdGEiLCJjb250YWN0RGF0YSIsInRlbXBsYXRlIiwiaHRtbCIsIk11c3RhY2hlIiwiYXBwZW5kIiwiTW9kdWxlQmFzZSJdLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvanMvbW9kdWxlSnMvc3VwcGxpZXIuanM/ZmY2NCJdLCJzb3VyY2VzQ29udGVudCI6WyJpZih0eXBlb2Ygd2luZG93LlN1cHBsaWVyTW9kdWxlID09PVwidW5kZWZpbmVkXCIpIHtcbiAgICBjbGFzcyBTdXBwbGllck1vZHVsZSBleHRlbmRzIE1vZHVsZUJhc2V7XG5cbiAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uQXR0YWNobWVudChyb3dEYXRhLG5vZGUpIHtcbiAgICAgICAgICAgIGRlYnVnKCdjYWxsIGRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQnKTtcbiAgICAgICAgICAgIHN1cGVyLmRhdGF0YWJsZVJvd0FjdGlvbkF0dGFjaG1lbnQocm93RGF0YSxub2RlLHtkZWZhdWx0RmlsZU5hbWU6XCJhcmxpc3RhLnhsc1wifSk7XG4gICAgICAgIH1cbiAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uVmlldyhyb3dEYXRhLG5vZGUpIHtcbiAgICAgICAgICAgIGRlYnVnKCdjYWxsIGRhdGF0YWJsZVJvd0FjdGlvblZpZXcnKTtcbiAgICAgICAgICAgIHN1cGVyLmRhdGF0YWJsZVJvd0FjdGlvblZpZXcocm93RGF0YSxub2RlLEFQUC5TdXBwbGllck1vZHVsZSk7XG4gICAgICAgIH1cblxuICAgICAgICBkYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGljayhldmVudCkge1xuICAgICAgICAgICAgZGVidWcoJ2RhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrJyk7XG4gICAgICAgICAgICBsZXQgcm9vdE9iaj1BUFAuU3VwcGxpZXJNb2R1bGU7XG4gICAgICAgICAgICBsZXQgbm9kZSA9ICQoZXZlbnRbMF0uY3VycmVudFRhcmdldCk7XG4gICAgICAgICAgICBsZXQgcm93ID0gJChyb290T2JqLk9wdHMuZGF0YVRhYmxlLkNTU1NlbGVjdG9yKS5EYXRhVGFibGUoKS5yb3cobm9kZS5wYXJlbnRzKCd0cicpKTtcbiAgICAgICAgICAgIGxldCByb3dEYXRhID0gcm93LmRhdGEoKTtcbiAgICAgICAgICAgIGxldCBhY3Rpb25OYW1lID0gJ2RhdGF0YWJsZVJvd0FjdGlvbicgKyBub2RlLmRhdGEoJ2J1dHRvbnR5cGUnKS5jYXBpdGFsaXplKCk7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJvb3RPYmpbYWN0aW9uTmFtZV0gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiByb290T2JqW2FjdGlvbk5hbWVdKHJvd0RhdGEsIG5vZGUpXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaW5pdFZpZXdTaG93KCl7XG4gICAgICAgICAgICAkKCcucHJvZHVjdENhdGVnb3J5U2VsZWN0Jykuc2VsZWN0MihcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOnRydWUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICQoJy5zZXJ2aWNlU2VsZWN0Jykuc2VsZWN0MihcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOnRydWUsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgQVBQLlN1cHBsaWVyTW9kdWxlLnJlbmRlckNvbnRhY3QoKTtcbiAgICAgICAgfVxuICAgICAgICBpbml0Vmlld0xpc3Qob3B0aW9ucz17fSkge1xuICAgICAgICAgICAgZGVidWcoJ2xpc3R2aWV3IGluaWNpYWxpemF0aW9uJyk7XG4gICAgICAgICAgICBsZXQgZGF0YVRhYmxlQ1NTU2VsZWN0b3I9dGhpcy5PcHRzLkNTU1NlbGVjdG9yQ29udGFpbmVyKycgLmRhdGFUYWJsZSc7IC8vXG4gICAgICAgICAgICBsZXQgY29sTnVtPSQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IrJyB0aGVhZCB0aCcpLmxlbmd0aDsgLy9idXR0b25zIGluc2VydCBwb3NpdGlvbiBuZWVkXG4gICAgICAgICAgICBBUFAuc2V0T3B0cyh7XG4gICAgICAgICAgICAgICAgLy9kYXRhdGFibGVSb3dBY3Rpb25CdXR0b25DbGlja0NhbGxCYWNrOnRoaXMuZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2ssXG4gICAgICAgICAgICAgICAgZGF0YXRhYmxlUm93QWN0aW9uQnV0dG9uQ2xpY2tDYWxsQmFjazp0aGlzLmRhdGF0YWJsZVJvd0FjdGlvbkJ1dHRvbkNsaWNrLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIGxldCBvcmRlckRpcmVjdGl2ZT10aGlzLk9wdHMuZGF0YVRhYmxlLm9yZGVyRGlyZWN0aXZlO1xuXG4gICAgICAgICAgICBpZih0eXBlb2Ygb3B0aW9uc1snb3JkZXJEaXJlY3RpdmUnXSE9J3VuZGVmaW5lZCcpe1xuICAgICAgICAgICAgICAgIG9yZGVyRGlyZWN0aXZlPW9wdGlvbnNbJ29yZGVyRGlyZWN0aXZlJ107XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvL2xldCBhamF4VXJsPXRoaXMuT3B0cy5VUkwuZ2V0RGF0YVRhYmxlQ29udGVudDtcbiAgICAgICAgICAgICQoZGF0YVRhYmxlQ1NTU2VsZWN0b3IpLkRhdGFUYWJsZSgge1xuICAgICAgICAgICAgICAgIGxhbmd1YWdlOiB7XG4gICAgICAgICAgICAgICAgICAgIHVybDogJy8vY2RuLmRhdGF0YWJsZXMubmV0L3BsdWctaW5zLzEuMTAuMjQvaTE4bi9IdW5nYXJpYW4uanNvbidcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiYWpheFwiOiB7XG4gICAgICAgICAgICAgICAgICAgIHVybDp0aGlzLk9wdHMuVVJMLmdldERhdGFUYWJsZUNvbnRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGRhdGE6ZnVuY3Rpb24gKGRhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgXCJjb2x1bW5EZWZzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgXCJ0YXJnZXRzXCI6IGNvbE51bS0xLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJyZW5kZXJcIjogZnVuY3Rpb24gKCBkYXRhLCB0eXBlLCByb3cgKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGJ1dHRvbnM9QVBQLmRhdGF0YWJsZUFkZFJvd1ZpZXdCdXR0b24oMCxhcmd1bWVudHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBidXR0b25zO1xuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIGJ1dHRvbnM6e1xuICAgICAgICAgICAgICAgICAgICBidXR0b25zOiBbXG4gICAgICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIFwiY29sdW1uc1wiOiBbXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwibmFtZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwicHJvZHVjdF9ncm91cFwiIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwic2VydmljZVwiIH0sXG4gICAgICAgICAgICAgICAgICAgIHsgXCJkYXRhXCI6IFwiY2FuU2VlSW5PcmRlclwiLCBcInJlbmRlclwiOiBmdW5jdGlvbihkYXRhKSB7IHJldHVybiBkYXRhID09IDEgPyBcIjxpIGNsYXNzPVxcXCJmYXMgZmEtY2hlY2sgdGV4dC1zdWNjZXNzXFxcIj48L2k+XCIgOiBcIjxpIGNsYXNzPVxcXCJmYXMgZmEtdGltZXMgdGV4dC1kYW5nZXJcXFwiPjwvaT5cIjsgfSB9LFxuICAgICAgICAgICAgICAgICAgICBudWxsLFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgICAgXCJvcmRlclwiOiBvcmRlckRpcmVjdGl2ZSxcbiAgICAgICAgICAgICAgICAvL1wic3RhdGVTYXZlXCI6IHRydWUsXG4gICAgICAgICAgICAgICAgXCJkcmF3Q2FsbGJhY2tcIjogZnVuY3Rpb24oIHNldHRpbmdzICkge1xuICAgICAgICAgICAgICAgICAgICBBUFAuZGF0YXRhYmxlQWRkUm93QWN0aW9uKGRhdGFUYWJsZUNTU1NlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9ICk7XG4gICAgICAgICAgICBkZWJ1ZygnbGlzdHZpZXcgZW5kJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmVuZGVyQ29udGFjdCgpe1xuICAgICAgICAgICAgbGV0IHJvd051bT0xO1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ3JlbmRlcmluZ0NvbnRhY3RzJyk7XG4gICAgICAgICAgICAkLmVhY2goQVBQLlN1cHBsaWVyLmdldERhdGEoJ2NvbnRhY3QnKSxmdW5jdGlvbiAoKXtcbiAgICAgICAgICAgICAgICBsZXQgY29udGFjdERhdGE9dGhpcztcbiAgICAgICAgICAgICAgICBjb250YWN0RGF0YS5yb3dOdW09cm93TnVtO1xuICAgICAgICAgICAgICAgIC8vY29uc29sZS5sb2coY29udGFjdERhdGEpO1xuICAgICAgICAgICAgICAgIGxldCB0ZW1wbGF0ZT0kKCd0ZW1wbGF0ZVtkYXRhLW5hbWU9XCJzdXBwbGllckNvbnRhY3RUYWJsZVJvd1wiXScpLmh0bWwoKVxuICAgICAgICAgICAgICAgIGxldCByZW5kZXI9TXVzdGFjaGUucmVuZGVyKHRlbXBsYXRlLGNvbnRhY3REYXRhKTtcbiAgICAgICAgICAgICAgICAkKCcuY29udGFjdFRhYmxlIHRib2R5JykuYXBwZW5kKHJlbmRlcik7XG4gICAgICAgICAgICAgICAgcm93TnVtKys7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgfTtcbiAgICB3aW5kb3cuU3VwcGxpZXJNb2R1bGU9U3VwcGxpZXJNb2R1bGU7XG59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\n//# sourceURL=webpack-internal:///./resources/js/moduleJs/supplier.js\n\n}"); /***/ } diff --git a/public/mix-manifest.json b/public/mix-manifest.json index 8b5b800..bf5e36b 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,9 +1,9 @@ { - "/js/app.js": "/js/app.js?id=788435874adbbf8e5ddc27cc9d18e00e", - "/js/admin.js": "/js/admin.js?id=10b9adf2a7c0fa319e265e93605c0749", - "/js/module.js": "/js/module.js?id=6c18e619075de340eef4e5f108952ff0", - "/js/components.js": "/js/components.js?id=34668cee8ac371c98657beffcff579b8", - "/css/app.css": "/css/app.css?id=366d6978f145ae9341959edd6e69bed7", + "/js/app.js": "/js/app.js?id=7a4a2425eee6ffd4f5e0101c1739316f", + "/js/admin.js": "/js/admin.js?id=d9ace2bdd65b581860246e1c36d945a6", + "/js/module.js": "/js/module.js?id=fb7fa760d68528d6a6b2bfac3d8c6dcb", + "/js/components.js": "/js/components.js?id=076bf497b37978cba117523354657353", + "/css/app.css": "/css/app.css?id=602e6f191305b5b1e8a30b7b948e960d", "/fonts/vendor/bootstrap-icons/bootstrap-icons.woff2?92ea18a81d737146ff044ddb52010366": "/fonts/vendor/bootstrap-icons/bootstrap-icons.woff2?92ea18a81d737146ff044ddb52010366?id=9ad5aa740d7d5e6a0191b309b9b1986c", "/fonts/vendor/bootstrap-icons/bootstrap-icons.woff?1295669cd4e305c97f2cfc16d56614b8": "/fonts/vendor/bootstrap-icons/bootstrap-icons.woff?1295669cd4e305c97f2cfc16d56614b8?id=d1af9af6052c51b169be6c628ae99bb5", "/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.eot?23f19bb08961f37aaf692ff943823453": "/fonts/vendor/@fortawesome/fontawesome-free/webfa-brands-400.eot?23f19bb08961f37aaf692ff943823453?id=0868992b7c56298026b76b22c534eab9", @@ -41,6 +41,6 @@ "/images/vendor/jquery-ui/themes/base/ui-icons_777620_256x240.png?f423048bf942a7a33b33b1b982ecdb51": "/images/vendor/jquery-ui/themes/base/ui-icons_777620_256x240.png?f423048bf942a7a33b33b1b982ecdb51?id=7c2eb0d985914d94938ebc386ad09e37", "/images/vendor/jquery-ui/themes/base/ui-icons_cc0000_256x240.png?5cbbd560bcf30acb95dd3b0b0d61645a": "/images/vendor/jquery-ui/themes/base/ui-icons_cc0000_256x240.png?5cbbd560bcf30acb95dd3b0b0d61645a?id=e5fe3b8d656a0dcf8c574ec8eb4cb6fe", "/images/vendor/jquery-ui/themes/base/ui-icons_777777_256x240.png?f5d5fce2f36b5776eab8b314efc2dfd8": "/images/vendor/jquery-ui/themes/base/ui-icons_777777_256x240.png?f5d5fce2f36b5776eab8b314efc2dfd8?id=0c3579368edda27d14bb4910e27002b6", - "/js/customize.js": "/js/customize.js?id=31b57208bc19a039066296cd7322567f", - "/css/invoice.css": "/css/invoice.css?id=14b5784b76704d02969da9561631ed3f" + "/js/customize.js": "/js/customize.js?id=c71a536bd8503fc96a39af19ddc19549", + "/css/invoice.css": "/css/invoice.css?id=cd7279b46cbcab11c08ade08c4120576" }