diff --git a/README.md b/README.md index a8897b3..ff8c0ea 100644 --- a/README.md +++ b/README.md @@ -80,13 +80,13 @@ It comes with a very straightforward dashboard written in PHP. This is **optiona ## TODO - * Make CRUD possible from the backend for adding tasks and contacts - * Multithreading - * SMS Notifications - * Protected backend with authentication - * Create an installation script - * Raise alert when tasks are not run at the correct frequency (CRON down or other reason) - * Set a notification capping limit to prevent many notifications to be sent in case of an up-and-down host - * Add a notification history log - * Keep track of tasks response time - * Daemonize the script (instead of CRONs) \ No newline at end of file + [ ] Make CRUD possible from the backend for adding tasks and contacts + [ ] Multithreading + [ ] SMS Notifications + [ ] Protected backend with authentication + [ ] Create an installation script + [ ] Raise alert when tasks are not run at the correct frequency (CRON down or other reason) + [x] Set a notification capping limit to prevent many notifications to be sent in case of an up-and-down host + [x] Add a notification history log + [x] Keep track of tasks response time + [ ] Daemonize the script (instead of CRONs) \ No newline at end of file diff --git a/app/Console/Commands/RunMonitoring.php b/app/Console/Commands/RunMonitoring.php index bf0bbef..f6f4a0a 100644 --- a/app/Console/Commands/RunMonitoring.php +++ b/app/Console/Commands/RunMonitoring.php @@ -115,11 +115,11 @@ class RunMonitoring extends Command try { switch ($task->type) { case 'ping': - $new_status = $this->checkPing($task); + $result = $this->checkPing($task); break; case 'http': - $new_status = $this->checkHttp($task); + $result = $this->checkHttp($task); break; default: @@ -127,12 +127,14 @@ class RunMonitoring extends Command continue 2; } - $history = $this->saveHistory($task, true); + $new_status = 1; + $history = $this->saveHistory($task, true, 'success', $result['duration'] ?? null); } catch(MonitoringException $e) { $history = $this->saveHistory($task, false, $e->getMessage()); } catch(Exception $e) { + //TODO: handle system exception differently $history = $this->saveHistory($task, false, $e->getMessage()); } finally { @@ -177,7 +179,7 @@ class RunMonitoring extends Command } } - final private function saveHistory(Task $task, $status, $output = null) { + final private function saveHistory(Task $task, $status, $output = null, $duration = null) { $date = date('Y-m-d H:i:s'); // Inserting new history @@ -185,6 +187,7 @@ class RunMonitoring extends Command $insert->status = $status === true ? 1 : 0; $insert->created_at = $date; $insert->output = $output ?? ''; + $insert->duration = $duration; $insert->task_id = $task->id; if (! $insert->save()) { throw new Exception('Cannot insert history for task #'.$task->id); @@ -254,6 +257,7 @@ class RunMonitoring extends Command // Preparing cURL $opts = [ + CURLOPT_HEADER => true, CURLOPT_HTTPGET => true, CURLOPT_FRESH_CONNECT => true, CURLOPT_PROTOCOLS => CURLPROTO_HTTP | CURLPROTO_HTTPS, @@ -262,6 +266,7 @@ class RunMonitoring extends Command CURLOPT_FOLLOWLOCATION => true, CURLOPT_MAXREDIRS => 3, CURLOPT_FAILONERROR => true, + CURLOPT_CONNECTTIMEOUT => 3, CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_URL => trim($task->host) ]; @@ -269,16 +274,24 @@ class RunMonitoring extends Command $ch = curl_init(); curl_setopt_array($ch, $opts); if ($result = curl_exec($ch)) { + $duration = curl_getinfo($ch, CURLINFO_TOTAL_TIME); // We have nothing to check into the page // So for me, this is a big YES if (empty($task->params)) { - return true; + return [ + 'result' => true, + 'duration' => $duration + ]; } // We are looking for a string in the page else { if (strpos($result, $task->params) !== false) { - return true; + return [ + 'result' => true, + 'output' => 'String was found in the page', + 'duration' => $duration + ]; } else { throw new MonitoringException('Cannot find the required string into the page'); diff --git a/app/Http/Controllers/ApiController.php b/app/Http/Controllers/ApiController.php index 2917daa..3ab7d43 100644 --- a/app/Http/Controllers/ApiController.php +++ b/app/Http/Controllers/ApiController.php @@ -73,7 +73,7 @@ class ApiController extends Controller ->history() ->orderBy('created_at', 'desc') ->where('created_at', '>', $last_days->toDateString()) - ->selectRaw('id, date(created_at) as date, created_at, status') + ->selectRaw('id, date(created_at) as date, created_at, status, duration') ->get() ; diff --git a/public/js/app.js b/public/js/app.js index d0de876..bc5189d 100644 --- a/public/js/app.js +++ b/public/js/app.js @@ -376,7 +376,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\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//\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//\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n data: function data() {\n return {\n task: {\n id: null\n },\n history: null,\n notifications: null,\n refresh: null,\n loader: null,\n chart: {\n render: false,\n days: 15\n },\n series: [{\n data: []\n }],\n noData: {\n text: 'Loading...'\n },\n chartOptions: {\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'bottom',\n offsetX: -10,\n offsetY: 0\n }\n }\n }],\n xaxis: {\n categories: []\n },\n fill: {\n opacity: .9\n }\n }\n };\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n },\n refreshTask: function refreshTask(callback) {\n var _this = this;\n\n this.$http.post('/api/getTask/' + this.task.id, {\n days: this.chart.days\n }).then(function (response) {\n _this.task = response.data.task;\n _this.history = response.data.history;\n _this.notifications = response.data.notifications;\n\n _this.refreshGraph(response.data.stats);\n\n _this.loader.hide();\n }).then(function () {\n if (_this.refresh == null) {\n _this.refresh = window.setInterval(function () {\n _this.refreshTask();\n }, 10000);\n }\n }).then(function () {\n _this.loader.hide();\n });\n },\n refreshGraph: function refreshGraph(stats) {\n var xaxis = [];\n var new_data_a = [];\n var new_data_b = [];\n\n for (var date in stats) {\n xaxis.push(date);\n new_data_a.push(stats[date]['up']);\n new_data_b.push(stats[date]['down']);\n }\n\n this.chartOptions = {\n xaxis: {\n categories: xaxis,\n labels: {\n show: true,\n rotate: -45,\n rotateAlways: true\n }\n },\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n stackType: '100%'\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n }\n };\n this.series = [{\n name: 'UP',\n data: new_data_a,\n color: '#00955c'\n }, {\n name: 'DOWN',\n data: new_data_b,\n color: '#ef3232'\n }];\n this.chart.render = true;\n }\n },\n mounted: function mounted() {\n var _this$$route$params$i;\n\n this.loader = this.$loading.show();\n this.task.id = (_this$$route$params$i = this.$route.params.id) !== null && _this$$route$params$i !== void 0 ? _this$$route$params$i : null;\n\n if (this.task.id != null) {\n this.refreshTask();\n }\n },\n beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n clearTimeout(this.refresh);\n next();\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL3Rhc2tkZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUF5R0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQURBLE9BREE7QUFJQSxtQkFKQTtBQUtBLHlCQUxBO0FBTUEsbUJBTkE7QUFPQSxrQkFQQTtBQVNBO0FBQ0EscUJBREE7QUFFQTtBQUZBLE9BVEE7QUFjQTtBQUNBO0FBREEsUUFkQTtBQWlCQTtBQUNBO0FBREEsT0FqQkE7QUFvQkE7QUFDQTtBQUNBLHlCQURBO0FBRUE7QUFDQTtBQUNBLGdDQURBO0FBRUEsMEJBRkE7QUFHQTtBQUhBO0FBREE7QUFGQSxVQURBO0FBV0E7QUFDQTtBQURBLFNBWEE7QUFjQTtBQUNBO0FBREE7QUFkQTtBQXBCQTtBQXVDQSxHQXpDQTtBQTBDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQUNBOztBQUNBO0FBQ0E7QUFSQTtBQVVBLEtBWkE7QUFhQTtBQUFBOztBQUNBO0FBQ0E7QUFEQSxTQUdBLElBSEEsQ0FHQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTs7QUFDQTtBQUNBLE9BVEEsRUFVQSxJQVZBLENBVUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSxXQUZBLEVBRUEsS0FGQTtBQUdBO0FBQ0EsT0FoQkEsRUFpQkEsSUFqQkEsQ0FpQkE7QUFDQTtBQUNBLE9BbkJBO0FBb0JBLEtBbENBO0FBbUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDJCQURBO0FBRUE7QUFDQSxzQkFEQTtBQUVBLHVCQUZBO0FBR0E7QUFIQTtBQUZBLFNBREE7QUFTQTtBQUNBLHFCQURBO0FBRUEscUJBRkE7QUFHQSx1QkFIQTtBQUlBO0FBSkEsU0FUQTtBQWVBO0FBQ0EsMkJBREE7QUFFQSxvQkFGQTtBQUdBO0FBSEE7QUFmQTtBQXFCQTtBQUNBLGtCQURBO0FBRUEsd0JBRkE7QUFHQTtBQUhBLFNBS0E7QUFDQSxvQkFEQTtBQUVBLHdCQUZBO0FBR0E7QUFIQSxPQUxBO0FBV0E7QUFDQTtBQS9FQSxHQTFDQTtBQTJIQTtBQUFBOztBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsR0FsSUE7QUFtSUEsa0JBbklBLDRCQW1JQSxFQW5JQSxFQW1JQSxJQW5JQSxFQW1JQSxJQW5JQSxFQW1JQTtBQUNBO0FBQ0E7QUFDQTtBQXRJQSIsInNvdXJjZXMiOlsid2VicGFjazovLy9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlPzczYTQiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxuXHQ8ZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJjb250YWluZXJcIlxuXHRcdFx0di1pZj1cInRhc2suaWQgIT0gbnVsbFwiXG5cdFx0PlxuXHRcdFx0PGgxPlxuXHRcdFx0XHQ8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7IHRhc2sudHlwZSB9fTwvc3Bhbj4gZm9yIGhvc3QgPHNwYW4gY2xhc3M9XCJoaWdobGlnaHRcIj57eyB0YXNrLmhvc3QgfX08L3NwYW4+XG5cdFx0XHRcdDwhLS0gPHAgY2xhc3M9XCJjb250ZXh0LW1lbnVcIj48aW1nIHNyYz1cIi9pbWcvbWVudS5zdmdcIiB3aWR0aD1cIjQwXCIgLz48L3A+IC0tPlxuXHRcdFx0PC9oMT5cblxuXHRcdFx0U2hvdzpcblx0XHRcdDxzZWxlY3Rcblx0XHRcdFx0di1tb2RlbD1cImNoYXJ0LmRheXNcIlxuXHRcdFx0XHRAY2hhbmdlPVwicmVmcmVzaFRhc2tcIlxuXHRcdFx0PlxuXHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiN1wiPjcgZGF5czwvb3B0aW9uPlxuXHRcdFx0XHQ8b3B0aW9uIHZhbHVlPVwiMTVcIj4xNSBkYXlzPC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIzMFwiPjMwIGRheXM8L29wdGlvbj5cblx0XHRcdDwvc2VsZWN0PlxuXG5cdFx0XHQ8IS0tIENoYXJ0IGJsb2NrIC0tPlxuXHRcdFx0PGRpdiBpZD1cImNoYXJ0XCIgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+VXB0aW1lOiBwYXN0IHt7IGNoYXJ0LmRheXMgfX0gZGF5czwvaDM+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJibG9jay1jb250ZW50XCI+XG5cdFx0XHRcdFx0PGFwZXhjaGFydCBjbGFzcz1cImdyYXBoXCIgdi1pZj1cImNoYXJ0LnJlbmRlclwiIHR5cGU9XCJiYXJcIiBoZWlnaHQ9XCIzNTBcIiA6b3B0aW9ucz1cImNoYXJ0T3B0aW9uc1wiIDpzZXJpZXM9XCJzZXJpZXNcIj48L2FwZXhjaGFydD5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdFx0PCEtLSBIaXN0b3J5IGJhY2tsb2cgLS0+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwicm91bmRcIj5cblx0XHRcdFx0PGgzPkxhc3Qge3sgY2hhcnQuZGF5cyB9fSBkYXlzIGhpc3RvcnkgbG9nPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIiB2LWlmPVwiaGlzdG9yeVwiPlxuXHRcdFx0XHRcdDxwPjxpPlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZDwvaT48L3A+XG5cdFx0XHRcdFx0PHRhYmxlIGlkPVwidGFza3NfdGJsXCI+XG5cdFx0XHRcdFx0XHQ8dGhlYWQ+XG5cdFx0XHRcdFx0XHRcdDx0cj5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIyMCVcIj5EYXRlPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIyMCVcIj5UaW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIqXCI+T3V0cHV0PC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5TdGF0dXM8L3RoPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90aGVhZD5cblx0XHRcdFx0XHRcdDx0Ym9keT5cblx0XHRcdFx0XHRcdFx0PHRyXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCJoIGluIGhpc3RvcnlcIlxuXHRcdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJoLmlkXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoJ1lZWVktTU0tREQnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdCgnSEg6bW06c3MnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gdi1pZj1cImgub3V0cHV0XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGgub3V0cHV0IH19XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiB2LWVsc2U+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpPk5vIG91dHB1dDwvaT5cblx0XHRcdFx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZCA6Y2xhc3M9XCJzdGF0dXNUZXh0KGguc3RhdHVzKVwiPlxuXHRcdFx0XHRcdFx0XHRcdFx0PGltZyA6c3JjPVwiJy9pbWcvJytzdGF0dXNUZXh0KGguc3RhdHVzKSsnLnN2ZydcIiB3aWR0aD1cIjE2XCIgYWx0PVwiU3RhdHVzXCIgLz5cblx0XHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90Ym9keT5cblx0XHRcdFx0XHQ8L3RhYmxlPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PHAgdi1lbHNlPjxjZW50ZXI+Tm8gaGlzdG9yeSB0byBkaXNwbGF5IGhlcmU8L2NlbnRlcj48L3A+XG5cdFx0XHQ8L2Rpdj5cblxuXHRcdFx0PCEtLSBOb3RpZmljYXRpb25zIGJsb2NrIC0tPlxuXHRcdFx0PGRpdiBjbGFzcz1cInJvdW5kXCI+XG5cdFx0XHRcdDxoMz5MYXN0IHt7IGNoYXJ0LmRheXMgfX0gZGF5cyBub3RpZmljYXRpb25zIGxvZzwvaDM+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJibG9jay1jb250ZW50XCIgdi1pZj1cIm5vdGlmaWNhdGlvbnNcIj5cblx0XHRcdFx0XHQ8dGFibGUgaWQ9XCJ0YXNrc190YmxcIj5cblx0XHRcdFx0XHRcdDx0aGVhZD5cblx0XHRcdFx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjIwJVwiPkRhdGU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjIwJVwiPlRpbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIipcIj5GaXJzdG5hbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkxhc3RuYW1lPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5FbWFpbDwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+U3RhdHVzPC90aD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGhlYWQ+XG5cdFx0XHRcdFx0XHQ8dGJvZHk+XG5cdFx0XHRcdFx0XHRcdDx0clxuXHRcdFx0XHRcdFx0XHRcdHYtZm9yPVwibiBpbiBub3RpZmljYXRpb25zXCJcblx0XHRcdFx0XHRcdFx0XHR2LWJpbmQ6a2V5PVwibi5pZFwiXG5cdFx0XHRcdFx0XHRcdD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KCdZWVlZLU1NLUREJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQobi5jcmVhdGVkX2F0KS5mb3JtYXQoJ0hIOm1tOnNzJykgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3QuZmlyc3RuYW1lIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0XHQ8dGQ+e3sgbi5jb250YWN0LnN1cm5hbWUgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3QuZW1haWwgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLnN0YXR1cyB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdFx0XHQ8L3Rib2R5PlxuXHRcdFx0XHRcdDwvdGFibGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8cCB2LWVsc2U+PGNlbnRlcj5ObyBub3RpZmljYXRpb24gdG8gZGlzcGxheSBoZXJlPC9jZW50ZXI+PC9wPlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC90ZW1wbGF0ZT5cblxuPHNjcmlwdD5cblxuICAgIGV4cG9ydCBkZWZhdWx0e1xuXHRcdGRhdGE6IGZ1bmN0aW9uKCkge1xuXHRcdFx0cmV0dXJuIHtcblx0XHRcdFx0dGFzazoge1xuXHRcdFx0XHRcdGlkOiBudWxsXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGhpc3Rvcnk6IG51bGwsXG5cdFx0XHRcdG5vdGlmaWNhdGlvbnM6IG51bGwsXG5cdFx0XHRcdHJlZnJlc2g6IG51bGwsXG5cdFx0XHRcdGxvYWRlcjogbnVsbCxcblxuXHRcdFx0XHRjaGFydDoge1xuXHRcdFx0XHRcdHJlbmRlcjogZmFsc2UsXG5cdFx0XHRcdFx0ZGF5czogMTVcblx0XHRcdFx0fSxcblxuXHRcdFx0XHRzZXJpZXM6IFt7XG5cdFx0XHRcdFx0ZGF0YTogW11cblx0XHRcdFx0fV0sXG5cdFx0XHRcdG5vRGF0YToge1xuXHRcdFx0XHRcdHRleHQ6ICdMb2FkaW5nLi4uJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHRjaGFydE9wdGlvbnM6IHtcblx0XHRcdFx0XHRyZXNwb25zaXZlOiBbe1xuXHRcdFx0XHRcdFx0YnJlYWtwb2ludDogNDgwLFxuXHRcdFx0XHRcdFx0b3B0aW9uczoge1xuXHRcdFx0XHRcdFx0XHRsZWdlbmQ6IHtcblx0XHRcdFx0XHRcdFx0XHRwb3NpdGlvbjogJ2JvdHRvbScsXG5cdFx0XHRcdFx0XHRcdFx0b2Zmc2V0WDogLTEwLFxuXHRcdFx0XHRcdFx0XHRcdG9mZnNldFk6IDBcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1dLFxuXHRcdFx0XHRcdHhheGlzOiB7XG5cdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiBbXSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGZpbGw6IHtcblx0XHRcdFx0XHRcdG9wYWNpdHk6IC45XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSxcblx0XHRcdH1cblx0XHR9LFxuXHRcdG1ldGhvZHM6IHtcblx0XHRcdHN0YXR1c1RleHQ6IGZ1bmN0aW9uIChzdGF0dXMpIHtcblx0XHRcdFx0c3dpdGNoIChzdGF0dXMpIHtcblx0XHRcdFx0XHRjYXNlIDE6XG5cdFx0XHRcdFx0XHRyZXR1cm4gJ3VwJztcblx0XHRcdFx0XHRicmVhaztcblx0XHRcdFx0XHRjYXNlIDA6XG5cdFx0XHRcdFx0XHRyZXR1cm4gJ2Rvd24nO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdFx0XHRyZXR1cm4gJ3Vua25vd24nO1xuXHRcdFx0XHR9XG5cdFx0XHR9LFxuXHRcdFx0cmVmcmVzaFRhc2s6IGZ1bmN0aW9uKGNhbGxiYWNrKSB7XG5cdFx0XHRcdHRoaXMuJGh0dHAucG9zdCgnL2FwaS9nZXRUYXNrLycrdGhpcy50YXNrLmlkLCB7XG5cdFx0XHRcdFx0ZGF5czogdGhpcy5jaGFydC5kYXlzXG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKHJlc3BvbnNlID0+IHtcblx0XHRcdFx0XHR0aGlzLnRhc2sgXHRcdFx0PSByZXNwb25zZS5kYXRhLnRhc2tcblx0XHRcdFx0XHR0aGlzLmhpc3RvcnkgXHRcdD0gcmVzcG9uc2UuZGF0YS5oaXN0b3J5XG5cdFx0XHRcdFx0dGhpcy5ub3RpZmljYXRpb25zXHQ9IHJlc3BvbnNlLmRhdGEubm90aWZpY2F0aW9uc1xuXHRcdFx0XHRcdHRoaXMucmVmcmVzaEdyYXBoKHJlc3BvbnNlLmRhdGEuc3RhdHMpXG5cdFx0XHRcdFx0dGhpcy5sb2FkZXIuaGlkZSgpXG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0XHRpZiAodGhpcy5yZWZyZXNoID09IG51bGwpIHtcblx0XHRcdFx0XHRcdHRoaXMucmVmcmVzaCA9IHdpbmRvdy5zZXRJbnRlcnZhbCgoKSA9PiB7XG5cdFx0XHRcdFx0XHRcdHRoaXMucmVmcmVzaFRhc2soKVxuXHRcdFx0XHRcdFx0fSwgMTAwMDApXG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9KVxuXHRcdFx0XHQudGhlbigoKSA9PiB7XG5cdFx0XHRcdFx0dGhpcy5sb2FkZXIuaGlkZSgpXG5cdFx0XHRcdH0pXG5cdFx0XHR9LFxuXHRcdFx0cmVmcmVzaEdyYXBoOiBmdW5jdGlvbihzdGF0cykge1xuXHRcdFx0XHRsZXQgeGF4aXMgPSBbXTtcblx0XHRcdFx0bGV0IG5ld19kYXRhX2EgPSBbXTtcblx0XHRcdFx0bGV0IG5ld19kYXRhX2IgPSBbXTtcblxuXHRcdFx0XHRmb3IgKGxldCBkYXRlIGluIHN0YXRzKSB7XG5cdFx0XHRcdFx0eGF4aXMucHVzaChkYXRlKVxuXHRcdFx0XHRcdG5ld19kYXRhX2EucHVzaChzdGF0c1tkYXRlXVsndXAnXSlcblx0XHRcdFx0XHRuZXdfZGF0YV9iLnB1c2goc3RhdHNbZGF0ZV1bJ2Rvd24nXSlcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuY2hhcnRPcHRpb25zID0ge1xuXHRcdFx0XHRcdHhheGlzOiB7XG5cdFx0XHRcdFx0XHRjYXRlZ29yaWVzOiB4YXhpcyxcblx0XHRcdFx0XHRcdGxhYmVsczoge1xuXHRcdFx0XHRcdFx0XHRzaG93OiB0cnVlLFxuXHRcdFx0XHRcdFx0XHRyb3RhdGU6IC00NSxcblx0XHRcdFx0XHRcdFx0cm90YXRlQWx3YXlzOiB0cnVlLFxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0Y2hhcnQ6IHtcblx0XHRcdFx0XHRcdHR5cGU6ICdiYXInLFxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAzNTAsXG5cdFx0XHRcdFx0XHRzdGFja2VkOiB0cnVlLFxuXHRcdFx0XHRcdFx0c3RhY2tUeXBlOiAnMTAwJSdcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdFx0cG9zaXRpb246ICdyaWdodCcsXG5cdFx0XHRcdFx0XHRvZmZzZXRYOiAwLFxuXHRcdFx0XHRcdFx0b2Zmc2V0WTogNTBcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuc2VyaWVzID0gW3tcblx0XHRcdFx0XHRuYW1lOiAnVVAnLFxuXHRcdFx0XHRcdGRhdGE6IG5ld19kYXRhX2EsXG5cdFx0XHRcdFx0Y29sb3I6ICcjMDA5NTVjJ1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7XG5cdFx0XHRcdFx0bmFtZTogJ0RPV04nLFxuXHRcdFx0XHRcdGRhdGE6IG5ld19kYXRhX2IsXG5cdFx0XHRcdFx0Y29sb3I6ICcjZWYzMjMyJ1xuXHRcdFx0XHR9XVxuXG5cdFx0XHRcdHRoaXMuY2hhcnQucmVuZGVyID0gdHJ1ZVxuXHRcdFx0fSxcblx0XHR9LFxuXHRcdG1vdW50ZWQ6IGZ1bmN0aW9uKCkge1xuXHRcdFx0dGhpcy5sb2FkZXIgPSB0aGlzLiRsb2FkaW5nLnNob3coKVxuXHRcdFx0dGhpcy50YXNrLmlkID0gdGhpcy4kcm91dGUucGFyYW1zLmlkID8/IG51bGxcblxuXHRcdFx0aWYgKHRoaXMudGFzay5pZCAhPSBudWxsKSB7XG5cdFx0XHRcdHRoaXMucmVmcmVzaFRhc2soKVxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0YmVmb3JlUm91dGVMZWF2ZSh0bywgZnJvbSwgbmV4dCkge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHRoaXMucmVmcmVzaCk7XG5cdFx0XHRuZXh0KCk7XG5cdFx0fSxcbiAgICB9XG48L3NjcmlwdD5cblxuPHN0eWxlIHNjb3BlZD5cblxuPC9zdHlsZT5cbiJdLCJuYW1lcyI6W10sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=script&lang=js&\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"default\": () => (__WEBPACK_DEFAULT_EXPORT__)\n/* harmony export */ });\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//\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//\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//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n//\n/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({\n data: function data() {\n return {\n task: {\n id: null\n },\n history: null,\n notifications: null,\n refresh: null,\n loader: null,\n chart: {\n render: false,\n days: 15\n },\n series: [{\n data: []\n }],\n noData: {\n text: 'Loading...'\n },\n chartOptions: {\n responsive: [{\n breakpoint: 480,\n options: {\n legend: {\n position: 'bottom',\n offsetX: -10,\n offsetY: 0\n }\n }\n }],\n xaxis: {\n categories: []\n },\n fill: {\n opacity: .9\n }\n }\n };\n },\n methods: {\n statusText: function statusText(status) {\n switch (status) {\n case 1:\n return 'up';\n break;\n\n case 0:\n return 'down';\n break;\n\n default:\n return 'unknown';\n }\n },\n refreshTask: function refreshTask(callback) {\n var _this = this;\n\n this.$http.post('/api/getTask/' + this.task.id, {\n days: this.chart.days\n }).then(function (response) {\n _this.task = response.data.task;\n _this.history = response.data.history;\n _this.notifications = response.data.notifications;\n\n _this.refreshGraph(response.data.stats);\n\n _this.loader.hide();\n }).then(function () {\n if (_this.refresh == null) {\n _this.refresh = window.setInterval(function () {\n _this.refreshTask();\n }, 10000);\n }\n }).then(function () {\n _this.loader.hide();\n });\n },\n refreshGraph: function refreshGraph(stats) {\n var xaxis = [];\n var new_data_a = [];\n var new_data_b = [];\n\n for (var date in stats) {\n xaxis.push(date);\n new_data_a.push(stats[date]['up']);\n new_data_b.push(stats[date]['down']);\n }\n\n this.chartOptions = {\n xaxis: {\n categories: xaxis,\n labels: {\n show: true,\n rotate: -45,\n rotateAlways: true\n }\n },\n chart: {\n type: 'bar',\n height: 350,\n stacked: true,\n stackType: '100%'\n },\n legend: {\n position: 'right',\n offsetX: 0,\n offsetY: 50\n }\n };\n this.series = [{\n name: 'UP',\n data: new_data_a,\n color: '#00955c'\n }, {\n name: 'DOWN',\n data: new_data_b,\n color: '#ef3232'\n }];\n this.chart.render = true;\n }\n },\n mounted: function mounted() {\n var _this$$route$params$i;\n\n this.loader = this.$loading.show();\n this.task.id = (_this$$route$params$i = this.$route.params.id) !== null && _this$$route$params$i !== void 0 ? _this$$route$params$i : null;\n\n if (this.task.id != null) {\n this.refreshTask();\n }\n },\n beforeRouteLeave: function beforeRouteLeave(to, from, next) {\n clearTimeout(this.refresh);\n next();\n }\n});//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvYmFiZWwtbG9hZGVyL2xpYi9pbmRleC5qcz8/Y2xvbmVkUnVsZVNldC01WzBdLnJ1bGVzWzBdLnVzZVswXSEuL25vZGVfbW9kdWxlcy92dWUtbG9hZGVyL2xpYi9pbmRleC5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vcmVzb3VyY2VzL3ZpZXdzL3Rhc2tkZXRhaWxzLnZ1ZT92dWUmdHlwZT1zY3JpcHQmbGFuZz1qcyYuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQTJHQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBREEsT0FEQTtBQUlBLG1CQUpBO0FBS0EseUJBTEE7QUFNQSxtQkFOQTtBQU9BLGtCQVBBO0FBU0E7QUFDQSxxQkFEQTtBQUVBO0FBRkEsT0FUQTtBQWNBO0FBQ0E7QUFEQSxRQWRBO0FBaUJBO0FBQ0E7QUFEQSxPQWpCQTtBQW9CQTtBQUNBO0FBQ0EseUJBREE7QUFFQTtBQUNBO0FBQ0EsZ0NBREE7QUFFQSwwQkFGQTtBQUdBO0FBSEE7QUFEQTtBQUZBLFVBREE7QUFXQTtBQUNBO0FBREEsU0FYQTtBQWNBO0FBQ0E7QUFEQTtBQWRBO0FBcEJBO0FBdUNBLEdBekNBO0FBMENBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFDQTtBQUNBO0FBQ0E7O0FBQ0E7QUFDQTtBQVJBO0FBVUEsS0FaQTtBQWFBO0FBQUE7O0FBQ0E7QUFDQTtBQURBLFNBR0EsSUFIQSxDQUdBO0FBQ0E7QUFDQTtBQUNBOztBQUNBOztBQUNBO0FBQ0EsT0FUQSxFQVVBLElBVkEsQ0FVQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFdBRkEsRUFFQSxLQUZBO0FBR0E7QUFDQSxPQWhCQSxFQWlCQSxJQWpCQSxDQWlCQTtBQUNBO0FBQ0EsT0FuQkE7QUFvQkEsS0FsQ0E7QUFtQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsMkJBREE7QUFFQTtBQUNBLHNCQURBO0FBRUEsdUJBRkE7QUFHQTtBQUhBO0FBRkEsU0FEQTtBQVNBO0FBQ0EscUJBREE7QUFFQSxxQkFGQTtBQUdBLHVCQUhBO0FBSUE7QUFKQSxTQVRBO0FBZUE7QUFDQSwyQkFEQTtBQUVBLG9CQUZBO0FBR0E7QUFIQTtBQWZBO0FBcUJBO0FBQ0Esa0JBREE7QUFFQSx3QkFGQTtBQUdBO0FBSEEsU0FLQTtBQUNBLG9CQURBO0FBRUEsd0JBRkE7QUFHQTtBQUhBLE9BTEE7QUFXQTtBQUNBO0FBL0VBLEdBMUNBO0FBMkhBO0FBQUE7O0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxHQWxJQTtBQW1JQSxrQkFuSUEsNEJBbUlBLEVBbklBLEVBbUlBLElBbklBLEVBbUlBLElBbklBLEVBbUlBO0FBQ0E7QUFDQTtBQUNBO0FBdElBIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NzNhNCJdLCJzb3VyY2VzQ29udGVudCI6WyI8dGVtcGxhdGU+XG5cdDxkaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbnRhaW5lclwiXG5cdFx0XHR2LWlmPVwidGFzay5pZCAhPSBudWxsXCJcblx0XHQ+XG5cdFx0XHQ8aDE+XG5cdFx0XHRcdDxzcGFuIGNsYXNzPVwiaGlnaGxpZ2h0XCI+e3sgdGFzay50eXBlIH19PC9zcGFuPiBmb3IgaG9zdCA8c3BhbiBjbGFzcz1cImhpZ2hsaWdodFwiPnt7IHRhc2suaG9zdCB9fTwvc3Bhbj5cblx0XHRcdFx0PCEtLSA8cCBjbGFzcz1cImNvbnRleHQtbWVudVwiPjxpbWcgc3JjPVwiL2ltZy9tZW51LnN2Z1wiIHdpZHRoPVwiNDBcIiAvPjwvcD4gLS0+XG5cdFx0XHQ8L2gxPlxuXG5cdFx0XHRTaG93OlxuXHRcdFx0PHNlbGVjdFxuXHRcdFx0XHR2LW1vZGVsPVwiY2hhcnQuZGF5c1wiXG5cdFx0XHRcdEBjaGFuZ2U9XCJyZWZyZXNoVGFza1wiXG5cdFx0XHQ+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCI3XCI+NyBkYXlzPC9vcHRpb24+XG5cdFx0XHRcdDxvcHRpb24gdmFsdWU9XCIxNVwiPjE1IGRheXM8L29wdGlvbj5cblx0XHRcdFx0PG9wdGlvbiB2YWx1ZT1cIjMwXCI+MzAgZGF5czwvb3B0aW9uPlxuXHRcdFx0PC9zZWxlY3Q+XG5cblx0XHRcdDwhLS0gQ2hhcnQgYmxvY2sgLS0+XG5cdFx0XHQ8ZGl2IGlkPVwiY2hhcnRcIiBjbGFzcz1cInJvdW5kXCI+XG5cdFx0XHRcdDxoMz5VcHRpbWU6IHBhc3Qge3sgY2hhcnQuZGF5cyB9fSBkYXlzPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIj5cblx0XHRcdFx0XHQ8YXBleGNoYXJ0IGNsYXNzPVwiZ3JhcGhcIiB2LWlmPVwiY2hhcnQucmVuZGVyXCIgdHlwZT1cImJhclwiIGhlaWdodD1cIjM1MFwiIDpvcHRpb25zPVwiY2hhcnRPcHRpb25zXCIgOnNlcmllcz1cInNlcmllc1wiPjwvYXBleGNoYXJ0PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8IS0tIEhpc3RvcnkgYmFja2xvZyAtLT5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3VuZFwiPlxuXHRcdFx0XHQ8aDM+TGFzdCB7eyBjaGFydC5kYXlzIH19IGRheXMgaGlzdG9yeSBsb2c8L2gzPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiYmxvY2stY29udGVudFwiIHYtaWY9XCJoaXN0b3J5XCI+XG5cdFx0XHRcdFx0PHA+PGk+U2hvd2luZyBvbmx5IHJlY29yZHMgd2hlcmUgc3RhdHVzIGhhcyBjaGFuZ2VkPC9pPjwvcD5cblx0XHRcdFx0XHQ8dGFibGUgaWQ9XCJ0YXNrc190YmxcIj5cblx0XHRcdFx0XHRcdDx0aGVhZD5cblx0XHRcdFx0XHRcdFx0PHRyPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkRhdGU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPlRpbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIipcIj5PdXRwdXQ8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkR1cmF0aW9uPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5TdGF0dXM8L3RoPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90aGVhZD5cblx0XHRcdFx0XHRcdDx0Ym9keT5cblx0XHRcdFx0XHRcdFx0PHRyXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCJoIGluIGhpc3RvcnlcIlxuXHRcdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJoLmlkXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoJ1lZWVktTU0tREQnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdCgnSEg6bW06c3MnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPlxuXHRcdFx0XHRcdFx0XHRcdFx0PHNwYW4gdi1pZj1cImgub3V0cHV0XCI+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHt7IGgub3V0cHV0IH19XG5cdFx0XHRcdFx0XHRcdFx0XHQ8L3NwYW4+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8c3BhbiB2LWVsc2U+XG5cdFx0XHRcdFx0XHRcdFx0XHRcdDxpPk5vIG91dHB1dDwvaT5cblx0XHRcdFx0XHRcdFx0XHRcdDwvc3Bhbj5cblx0XHRcdFx0XHRcdFx0XHQ8L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBoLmR1cmF0aW9uIH19czwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkIDpjbGFzcz1cInN0YXR1c1RleHQoaC5zdGF0dXMpXCI+XG5cdFx0XHRcdFx0XHRcdFx0XHQ8aW1nIDpzcmM9XCInL2ltZy8nK3N0YXR1c1RleHQoaC5zdGF0dXMpKycuc3ZnJ1wiIHdpZHRoPVwiMTZcIiBhbHQ9XCJTdGF0dXNcIiAvPlxuXHRcdFx0XHRcdFx0XHRcdDwvdGQ+XG5cdFx0XHRcdFx0XHRcdDwvdHI+XG5cdFx0XHRcdFx0XHQ8L3Rib2R5PlxuXHRcdFx0XHRcdDwvdGFibGU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8cCB2LWVsc2U+PGNlbnRlcj5ObyBoaXN0b3J5IHRvIGRpc3BsYXkgaGVyZTwvY2VudGVyPjwvcD5cblx0XHRcdDwvZGl2PlxuXG5cdFx0XHQ8IS0tIE5vdGlmaWNhdGlvbnMgYmxvY2sgLS0+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwicm91bmRcIj5cblx0XHRcdFx0PGgzPkxhc3Qge3sgY2hhcnQuZGF5cyB9fSBkYXlzIG5vdGlmaWNhdGlvbnMgbG9nPC9oMz5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImJsb2NrLWNvbnRlbnRcIiB2LWlmPVwibm90aWZpY2F0aW9uc1wiPlxuXHRcdFx0XHRcdDx0YWJsZSBpZD1cInRhc2tzX3RibFwiPlxuXHRcdFx0XHRcdFx0PHRoZWFkPlxuXHRcdFx0XHRcdFx0XHQ8dHI+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMjAlXCI+RGF0ZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMjAlXCI+VGltZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiKlwiPkZpcnN0bmFtZTwvdGg+XG5cdFx0XHRcdFx0XHRcdFx0PHRoIHdpZHRoPVwiMTAlXCI+TGFzdG5hbWU8L3RoPlxuXHRcdFx0XHRcdFx0XHRcdDx0aCB3aWR0aD1cIjEwJVwiPkVtYWlsPC90aD5cblx0XHRcdFx0XHRcdFx0XHQ8dGggd2lkdGg9XCIxMCVcIj5TdGF0dXM8L3RoPlxuXHRcdFx0XHRcdFx0XHQ8L3RyPlxuXHRcdFx0XHRcdFx0PC90aGVhZD5cblx0XHRcdFx0XHRcdDx0Ym9keT5cblx0XHRcdFx0XHRcdFx0PHRyXG5cdFx0XHRcdFx0XHRcdFx0di1mb3I9XCJuIGluIG5vdGlmaWNhdGlvbnNcIlxuXHRcdFx0XHRcdFx0XHRcdHYtYmluZDprZXk9XCJuLmlkXCJcblx0XHRcdFx0XHRcdFx0PlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBtb21lbnQobi5jcmVhdGVkX2F0KS5mb3JtYXQoJ1lZWVktTU0tREQnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG1vbWVudChuLmNyZWF0ZWRfYXQpLmZvcm1hdCgnSEg6bW06c3MnKSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG4uY29udGFjdC5maXJzdG5hbWUgfX08L3RkPlxuXHRcdFx0XHRcdFx0XHRcdDx0ZD57eyBuLmNvbnRhY3Quc3VybmFtZSB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG4uY29udGFjdC5lbWFpbCB9fTwvdGQ+XG5cdFx0XHRcdFx0XHRcdFx0PHRkPnt7IG4uc3RhdHVzIH19PC90ZD5cblx0XHRcdFx0XHRcdFx0PC90cj5cblx0XHRcdFx0XHRcdDwvdGJvZHk+XG5cdFx0XHRcdFx0PC90YWJsZT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxwIHYtZWxzZT48Y2VudGVyPk5vIG5vdGlmaWNhdGlvbiB0byBkaXNwbGF5IGhlcmU8L2NlbnRlcj48L3A+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L3RlbXBsYXRlPlxuXG48c2NyaXB0PlxuXG4gICAgZXhwb3J0IGRlZmF1bHR7XG5cdFx0ZGF0YTogZnVuY3Rpb24oKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR0YXNrOiB7XG5cdFx0XHRcdFx0aWQ6IG51bGxcblx0XHRcdFx0fSxcblx0XHRcdFx0aGlzdG9yeTogbnVsbCxcblx0XHRcdFx0bm90aWZpY2F0aW9uczogbnVsbCxcblx0XHRcdFx0cmVmcmVzaDogbnVsbCxcblx0XHRcdFx0bG9hZGVyOiBudWxsLFxuXG5cdFx0XHRcdGNoYXJ0OiB7XG5cdFx0XHRcdFx0cmVuZGVyOiBmYWxzZSxcblx0XHRcdFx0XHRkYXlzOiAxNVxuXHRcdFx0XHR9LFxuXG5cdFx0XHRcdHNlcmllczogW3tcblx0XHRcdFx0XHRkYXRhOiBbXVxuXHRcdFx0XHR9XSxcblx0XHRcdFx0bm9EYXRhOiB7XG5cdFx0XHRcdFx0dGV4dDogJ0xvYWRpbmcuLi4nXG5cdFx0XHRcdH0sXG5cdFx0XHRcdGNoYXJ0T3B0aW9uczoge1xuXHRcdFx0XHRcdHJlc3BvbnNpdmU6IFt7XG5cdFx0XHRcdFx0XHRicmVha3BvaW50OiA0ODAsXG5cdFx0XHRcdFx0XHRvcHRpb25zOiB7XG5cdFx0XHRcdFx0XHRcdGxlZ2VuZDoge1xuXHRcdFx0XHRcdFx0XHRcdHBvc2l0aW9uOiAnYm90dG9tJyxcblx0XHRcdFx0XHRcdFx0XHRvZmZzZXRYOiAtMTAsXG5cdFx0XHRcdFx0XHRcdFx0b2Zmc2V0WTogMFxuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fV0sXG5cdFx0XHRcdFx0eGF4aXM6IHtcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IFtdLFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0ZmlsbDoge1xuXHRcdFx0XHRcdFx0b3BhY2l0eTogLjlcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9LFxuXHRcdFx0fVxuXHRcdH0sXG5cdFx0bWV0aG9kczoge1xuXHRcdFx0c3RhdHVzVGV4dDogZnVuY3Rpb24gKHN0YXR1cykge1xuXHRcdFx0XHRzd2l0Y2ggKHN0YXR1cykge1xuXHRcdFx0XHRcdGNhc2UgMTpcblx0XHRcdFx0XHRcdHJldHVybiAndXAnO1xuXHRcdFx0XHRcdGJyZWFrO1xuXHRcdFx0XHRcdGNhc2UgMDpcblx0XHRcdFx0XHRcdHJldHVybiAnZG93bic7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0ZGVmYXVsdDpcblx0XHRcdFx0XHRcdHJldHVybiAndW5rbm93bic7XG5cdFx0XHRcdH1cblx0XHRcdH0sXG5cdFx0XHRyZWZyZXNoVGFzazogZnVuY3Rpb24oY2FsbGJhY2spIHtcblx0XHRcdFx0dGhpcy4kaHR0cC5wb3N0KCcvYXBpL2dldFRhc2svJyt0aGlzLnRhc2suaWQsIHtcblx0XHRcdFx0XHRkYXlzOiB0aGlzLmNoYXJ0LmRheXNcblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4ocmVzcG9uc2UgPT4ge1xuXHRcdFx0XHRcdHRoaXMudGFzayBcdFx0XHQ9IHJlc3BvbnNlLmRhdGEudGFza1xuXHRcdFx0XHRcdHRoaXMuaGlzdG9yeSBcdFx0PSByZXNwb25zZS5kYXRhLmhpc3Rvcnlcblx0XHRcdFx0XHR0aGlzLm5vdGlmaWNhdGlvbnNcdD0gcmVzcG9uc2UuZGF0YS5ub3RpZmljYXRpb25zXG5cdFx0XHRcdFx0dGhpcy5yZWZyZXNoR3JhcGgocmVzcG9uc2UuZGF0YS5zdGF0cylcblx0XHRcdFx0XHR0aGlzLmxvYWRlci5oaWRlKClcblx0XHRcdFx0fSlcblx0XHRcdFx0LnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRcdGlmICh0aGlzLnJlZnJlc2ggPT0gbnVsbCkge1xuXHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoID0gd2luZG93LnNldEludGVydmFsKCgpID0+IHtcblx0XHRcdFx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHRcdFx0XHR9LCAxMDAwMClcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pXG5cdFx0XHRcdC50aGVuKCgpID0+IHtcblx0XHRcdFx0XHR0aGlzLmxvYWRlci5oaWRlKClcblx0XHRcdFx0fSlcblx0XHRcdH0sXG5cdFx0XHRyZWZyZXNoR3JhcGg6IGZ1bmN0aW9uKHN0YXRzKSB7XG5cdFx0XHRcdGxldCB4YXhpcyA9IFtdO1xuXHRcdFx0XHRsZXQgbmV3X2RhdGFfYSA9IFtdO1xuXHRcdFx0XHRsZXQgbmV3X2RhdGFfYiA9IFtdO1xuXG5cdFx0XHRcdGZvciAobGV0IGRhdGUgaW4gc3RhdHMpIHtcblx0XHRcdFx0XHR4YXhpcy5wdXNoKGRhdGUpXG5cdFx0XHRcdFx0bmV3X2RhdGFfYS5wdXNoKHN0YXRzW2RhdGVdWyd1cCddKVxuXHRcdFx0XHRcdG5ld19kYXRhX2IucHVzaChzdGF0c1tkYXRlXVsnZG93biddKVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0dGhpcy5jaGFydE9wdGlvbnMgPSB7XG5cdFx0XHRcdFx0eGF4aXM6IHtcblx0XHRcdFx0XHRcdGNhdGVnb3JpZXM6IHhheGlzLFxuXHRcdFx0XHRcdFx0bGFiZWxzOiB7XG5cdFx0XHRcdFx0XHRcdHNob3c6IHRydWUsXG5cdFx0XHRcdFx0XHRcdHJvdGF0ZTogLTQ1LFxuXHRcdFx0XHRcdFx0XHRyb3RhdGVBbHdheXM6IHRydWUsXG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRjaGFydDoge1xuXHRcdFx0XHRcdFx0dHlwZTogJ2JhcicsXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDM1MCxcblx0XHRcdFx0XHRcdHN0YWNrZWQ6IHRydWUsXG5cdFx0XHRcdFx0XHRzdGFja1R5cGU6ICcxMDAlJ1xuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdFx0bGVnZW5kOiB7XG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogJ3JpZ2h0Jyxcblx0XHRcdFx0XHRcdG9mZnNldFg6IDAsXG5cdFx0XHRcdFx0XHRvZmZzZXRZOiA1MFxuXHRcdFx0XHRcdH0sXG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5zZXJpZXMgPSBbe1xuXHRcdFx0XHRcdG5hbWU6ICdVUCcsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYSxcblx0XHRcdFx0XHRjb2xvcjogJyMwMDk1NWMnXG5cdFx0XHRcdH0sXG5cdFx0XHRcdHtcblx0XHRcdFx0XHRuYW1lOiAnRE9XTicsXG5cdFx0XHRcdFx0ZGF0YTogbmV3X2RhdGFfYixcblx0XHRcdFx0XHRjb2xvcjogJyNlZjMyMzInXG5cdFx0XHRcdH1dXG5cblx0XHRcdFx0dGhpcy5jaGFydC5yZW5kZXIgPSB0cnVlXG5cdFx0XHR9LFxuXHRcdH0sXG5cdFx0bW91bnRlZDogZnVuY3Rpb24oKSB7XG5cdFx0XHR0aGlzLmxvYWRlciA9IHRoaXMuJGxvYWRpbmcuc2hvdygpXG5cdFx0XHR0aGlzLnRhc2suaWQgPSB0aGlzLiRyb3V0ZS5wYXJhbXMuaWQgPz8gbnVsbFxuXG5cdFx0XHRpZiAodGhpcy50YXNrLmlkICE9IG51bGwpIHtcblx0XHRcdFx0dGhpcy5yZWZyZXNoVGFzaygpXG5cdFx0XHR9XG5cdFx0fSxcblx0XHRiZWZvcmVSb3V0ZUxlYXZlKHRvLCBmcm9tLCBuZXh0KSB7XG5cdFx0XHRjbGVhclRpbWVvdXQodGhpcy5yZWZyZXNoKTtcblx0XHRcdG5leHQoKTtcblx0XHR9LFxuICAgIH1cbjwvc2NyaXB0PlxuXG48c3R5bGUgc2NvcGVkPlxuXG48L3N0eWxlPlxuIl0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=script&lang=js&\n"); /***/ }), @@ -2334,7 +2334,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { "use strict"; -eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.task.id != null\n ? _c(\"div\", { staticClass: \"container\" }, [\n _c(\"h1\", [\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.type)),\n ]),\n _vm._v(\" for host \"),\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.host)),\n ]),\n ]),\n _vm._v(\"\\n\\n\\t\\tShow:\\n\\t\\t\"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.chart.days,\n expression: \"chart.days\",\n },\n ],\n on: {\n change: [\n function ($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function (o) {\n return o.selected\n })\n .map(function (o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.chart,\n \"days\",\n $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n )\n },\n _vm.refreshTask,\n ],\n },\n },\n [\n _c(\"option\", { attrs: { value: \"7\" } }, [_vm._v(\"7 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"15\" } }, [_vm._v(\"15 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"30\" } }, [_vm._v(\"30 days\")]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [\n _vm._v(\"Uptime: past \" + _vm._s(_vm.chart.days) + \" days\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.chart.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"bar\",\n height: \"350\",\n options: _vm.chartOptions,\n series: _vm.series,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.chart.days) + \" days history log\"),\n ]),\n _vm._v(\" \"),\n _vm.history\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.history, function (h) {\n return _c(\"tr\", { key: h.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.output\n ? _c(\"span\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(h.output) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"\n ),\n ])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No output\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", { class: _vm.statusText(h.status) }, [\n _c(\"img\", {\n attrs: {\n src:\n \"/img/\" + _vm.statusText(h.status) + \".svg\",\n width: \"16\",\n alt: \"Status\",\n },\n }),\n ]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No history to display here\")])],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\n \"Last \" + _vm._s(_vm.chart.days) + \" days notifications log\"\n ),\n ]),\n _vm._v(\" \"),\n _vm.notifications\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.notifications, function (n) {\n return _c(\"tr\", { key: n.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.firstname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.surname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.email))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.status))]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No notification to display here\")])],\n 1\n ),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"i\", [_vm._v(\"Showing only records where status has changed\")]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Output\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Firstname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Lastname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Email\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWEzNzhiZjE4JnNjb3BlZD10cnVlJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQSx5QkFBeUIsMEJBQTBCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwwQkFBMEI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLGVBQWU7QUFDZixhQUFhO0FBQ2I7QUFDQSw2QkFBNkIsU0FBUyxjQUFjO0FBQ3BEO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZTtBQUNyRDtBQUNBLDZCQUE2QixTQUFTLGVBQWU7QUFDckQ7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLCtCQUErQixlQUFlO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw4QkFBOEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFEO0FBQ0E7QUFDQSxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EscUNBQXFDLGlDQUFpQztBQUN0RTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSwrQkFBK0I7QUFDL0IsNkJBQTZCO0FBQzdCO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHNCQUFzQixzQkFBc0I7QUFDNUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFELGdDQUFnQyxTQUFTLG1CQUFtQjtBQUM1RDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsMENBQTBDLFdBQVc7QUFDckQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGNBQWM7QUFDMUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxjQUFjO0FBQzFDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQSIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL3Jlc291cmNlcy92aWV3cy90YXNrZGV0YWlscy52dWU/NjU2OSJdLCJzb3VyY2VzQ29udGVudCI6WyJ2YXIgcmVuZGVyID0gZnVuY3Rpb24gKCkge1xuICB2YXIgX3ZtID0gdGhpc1xuICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gIHJldHVybiBfYyhcImRpdlwiLCBbXG4gICAgX3ZtLnRhc2suaWQgIT0gbnVsbFxuICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImNvbnRhaW5lclwiIH0sIFtcbiAgICAgICAgICBfYyhcImgxXCIsIFtcbiAgICAgICAgICAgIF9jKFwic3BhblwiLCB7IHN0YXRpY0NsYXNzOiBcImhpZ2hsaWdodFwiIH0sIFtcbiAgICAgICAgICAgICAgX3ZtLl92KF92bS5fcyhfdm0udGFzay50eXBlKSksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBmb3IgaG9zdCBcIiksXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJoaWdobGlnaHRcIiB9LCBbXG4gICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnRhc2suaG9zdCkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiXFxuXFxuXFx0XFx0U2hvdzpcXG5cXHRcXHRcIiksXG4gICAgICAgICAgX2MoXG4gICAgICAgICAgICBcInNlbGVjdFwiLFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBkaXJlY3RpdmVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgbmFtZTogXCJtb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgcmF3TmFtZTogXCJ2LW1vZGVsXCIsXG4gICAgICAgICAgICAgICAgICB2YWx1ZTogX3ZtLmNoYXJ0LmRheXMsXG4gICAgICAgICAgICAgICAgICBleHByZXNzaW9uOiBcImNoYXJ0LmRheXNcIixcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICBvbjoge1xuICAgICAgICAgICAgICAgIGNoYW5nZTogW1xuICAgICAgICAgICAgICAgICAgZnVuY3Rpb24gKCRldmVudCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgJCRzZWxlY3RlZFZhbCA9IEFycmF5LnByb3RvdHlwZS5maWx0ZXJcbiAgICAgICAgICAgICAgICAgICAgICAuY2FsbCgkZXZlbnQudGFyZ2V0Lm9wdGlvbnMsIGZ1bmN0aW9uIChvKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gby5zZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgICAgLm1hcChmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHZhbCA9IFwiX3ZhbHVlXCIgaW4gbyA/IG8uX3ZhbHVlIDogby52YWx1ZVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZhbFxuICAgICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICAgIF92bS4kc2V0KFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5jaGFydCxcbiAgICAgICAgICAgICAgICAgICAgICBcImRheXNcIixcbiAgICAgICAgICAgICAgICAgICAgICAkZXZlbnQudGFyZ2V0Lm11bHRpcGxlID8gJCRzZWxlY3RlZFZhbCA6ICQkc2VsZWN0ZWRWYWxbMF1cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIF92bS5yZWZyZXNoVGFzayxcbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgX2MoXCJvcHRpb25cIiwgeyBhdHRyczogeyB2YWx1ZTogXCI3XCIgfSB9LCBbX3ZtLl92KFwiNyBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMTVcIiB9IH0sIFtfdm0uX3YoXCIxNSBkYXlzXCIpXSksXG4gICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiMzBcIiB9IH0sIFtfdm0uX3YoXCIzMCBkYXlzXCIpXSksXG4gICAgICAgICAgICBdXG4gICAgICAgICAgKSxcbiAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgIF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwicm91bmRcIiwgYXR0cnM6IHsgaWQ6IFwiY2hhcnRcIiB9IH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXCJVcHRpbWU6IHBhc3QgXCIgKyBfdm0uX3MoX3ZtLmNoYXJ0LmRheXMpICsgXCIgZGF5c1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF9jKFxuICAgICAgICAgICAgICBcImRpdlwiLFxuICAgICAgICAgICAgICB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LFxuICAgICAgICAgICAgICBbXG4gICAgICAgICAgICAgICAgX3ZtLmNoYXJ0LnJlbmRlclxuICAgICAgICAgICAgICAgICAgPyBfYyhcImFwZXhjaGFydFwiLCB7XG4gICAgICAgICAgICAgICAgICAgICAgc3RhdGljQ2xhc3M6IFwiZ3JhcGhcIixcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogXCJiYXJcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogXCIzNTBcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wdGlvbnM6IF92bS5jaGFydE9wdGlvbnMsXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXJpZXM6IF92bS5zZXJpZXMsXG4gICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgIDogX3ZtLl9lKCksXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIgfSwgW1xuICAgICAgICAgICAgX2MoXCJoM1wiLCBbXG4gICAgICAgICAgICAgIF92bS5fdihcIkxhc3QgXCIgKyBfdm0uX3MoX3ZtLmNoYXJ0LmRheXMpICsgXCIgZGF5cyBoaXN0b3J5IGxvZ1wiKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgIF92bS5oaXN0b3J5XG4gICAgICAgICAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSwgW1xuICAgICAgICAgICAgICAgICAgX3ZtLl9tKDApLFxuICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgIF9jKFwidGFibGVcIiwgeyBhdHRyczogeyBpZDogXCJ0YXNrc190YmxcIiB9IH0sIFtcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl9tKDEpLFxuICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgICAgICAgICBcInRib2R5XCIsXG4gICAgICAgICAgICAgICAgICAgICAgX3ZtLl9sKF92bS5oaXN0b3J5LCBmdW5jdGlvbiAoaCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIF9jKFwidHJcIiwgeyBrZXk6IGguaWQgfSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5tb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoXCJZWVlZLU1NLUREXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLm1vbWVudChoLmNyZWF0ZWRfYXQpLmZvcm1hdChcIkhIOm1tOnNzXCIpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF9jKFwidGRcIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGgub3V0cHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9jKFwic3BhblwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIiArXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fcyhoLm91dHB1dCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIlxcblxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogX2MoXCJzcGFuXCIsIFtfYyhcImlcIiwgW192bS5fdihcIk5vIG91dHB1dFwiKV0pXSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIHsgY2xhc3M6IF92bS5zdGF0dXNUZXh0KGguc3RhdHVzKSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbWdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL2ltZy9cIiArIF92bS5zdGF0dXNUZXh0KGguc3RhdHVzKSArIFwiLnN2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxNlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ6IFwiU3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfYyhcbiAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgW19jKFwiY2VudGVyXCIsIFtfdm0uX3YoXCJObyBoaXN0b3J5IHRvIGRpc3BsYXkgaGVyZVwiKV0pXSxcbiAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3VuZFwiIH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgXCJMYXN0IFwiICsgX3ZtLl9zKF92bS5jaGFydC5kYXlzKSArIFwiIGRheXMgbm90aWZpY2F0aW9ucyBsb2dcIlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLm5vdGlmaWNhdGlvbnNcbiAgICAgICAgICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfYyhcInRhYmxlXCIsIHsgYXR0cnM6IHsgaWQ6IFwidGFza3NfdGJsXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fbSgyKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0Ym9keVwiLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ubm90aWZpY2F0aW9ucywgZnVuY3Rpb24gKG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcInRyXCIsIHsga2V5OiBuLmlkIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5tb21lbnQobi5jcmVhdGVkX2F0KS5mb3JtYXQoXCJISDptbTpzc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtfdm0uX3YoX3ZtLl9zKG4uY29udGFjdC5maXJzdG5hbWUpKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtfdm0uX3YoX3ZtLl9zKG4uY29udGFjdC5zdXJuYW1lKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3QuZW1haWwpKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtfdm0uX3YoX3ZtLl9zKG4uc3RhdHVzKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfYyhcbiAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgW19jKFwiY2VudGVyXCIsIFtfdm0uX3YoXCJObyBub3RpZmljYXRpb24gdG8gZGlzcGxheSBoZXJlXCIpXSldLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgIF0pXG4gICAgICA6IF92bS5fZSgpLFxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwicFwiLCBbXG4gICAgICBfYyhcImlcIiwgW192bS5fdihcIlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZFwiKV0pLFxuICAgIF0pXG4gIH0sXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInRoZWFkXCIsIFtcbiAgICAgIF9jKFwidHJcIiwgW1xuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMjAlXCIgfSB9LCBbX3ZtLl92KFwiRGF0ZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMjAlXCIgfSB9LCBbX3ZtLl92KFwiVGltZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiKlwiIH0gfSwgW192bS5fdihcIk91dHB1dFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiU3RhdHVzXCIpXSksXG4gICAgICBdKSxcbiAgICBdKVxuICB9LFxuICBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIF92bSA9IHRoaXNcbiAgICB2YXIgX2ggPSBfdm0uJGNyZWF0ZUVsZW1lbnRcbiAgICB2YXIgX2MgPSBfdm0uX3NlbGYuX2MgfHwgX2hcbiAgICByZXR1cm4gX2MoXCJ0aGVhZFwiLCBbXG4gICAgICBfYyhcInRyXCIsIFtcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjIwJVwiIH0gfSwgW192bS5fdihcIkRhdGVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjIwJVwiIH0gfSwgW192bS5fdihcIlRpbWVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIipcIiB9IH0sIFtfdm0uX3YoXCJGaXJzdG5hbWVcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIkxhc3RuYW1lXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJFbWFpbFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiU3RhdHVzXCIpXSksXG4gICAgICBdKSxcbiAgICBdKVxuICB9LFxuXVxucmVuZGVyLl93aXRoU3RyaXBwZWQgPSB0cnVlXG5cbmV4cG9ydCB7IHJlbmRlciwgc3RhdGljUmVuZGVyRm5zIH0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=template&id=a378bf18&scoped=true&\n"); +eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ \"render\": () => (/* binding */ render),\n/* harmony export */ \"staticRenderFns\": () => (/* binding */ staticRenderFns)\n/* harmony export */ });\nvar render = function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"div\", [\n _vm.task.id != null\n ? _c(\"div\", { staticClass: \"container\" }, [\n _c(\"h1\", [\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.type)),\n ]),\n _vm._v(\" for host \"),\n _c(\"span\", { staticClass: \"highlight\" }, [\n _vm._v(_vm._s(_vm.task.host)),\n ]),\n ]),\n _vm._v(\"\\n\\n\\t\\tShow:\\n\\t\\t\"),\n _c(\n \"select\",\n {\n directives: [\n {\n name: \"model\",\n rawName: \"v-model\",\n value: _vm.chart.days,\n expression: \"chart.days\",\n },\n ],\n on: {\n change: [\n function ($event) {\n var $$selectedVal = Array.prototype.filter\n .call($event.target.options, function (o) {\n return o.selected\n })\n .map(function (o) {\n var val = \"_value\" in o ? o._value : o.value\n return val\n })\n _vm.$set(\n _vm.chart,\n \"days\",\n $event.target.multiple ? $$selectedVal : $$selectedVal[0]\n )\n },\n _vm.refreshTask,\n ],\n },\n },\n [\n _c(\"option\", { attrs: { value: \"7\" } }, [_vm._v(\"7 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"15\" } }, [_vm._v(\"15 days\")]),\n _vm._v(\" \"),\n _c(\"option\", { attrs: { value: \"30\" } }, [_vm._v(\"30 days\")]),\n ]\n ),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\", attrs: { id: \"chart\" } }, [\n _c(\"h3\", [\n _vm._v(\"Uptime: past \" + _vm._s(_vm.chart.days) + \" days\"),\n ]),\n _vm._v(\" \"),\n _c(\n \"div\",\n { staticClass: \"block-content\" },\n [\n _vm.chart.render\n ? _c(\"apexchart\", {\n staticClass: \"graph\",\n attrs: {\n type: \"bar\",\n height: \"350\",\n options: _vm.chartOptions,\n series: _vm.series,\n },\n })\n : _vm._e(),\n ],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\"Last \" + _vm._s(_vm.chart.days) + \" days history log\"),\n ]),\n _vm._v(\" \"),\n _vm.history\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _vm._m(0),\n _vm._v(\" \"),\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(1),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.history, function (h) {\n return _c(\"tr\", { key: h.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(h.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n h.output\n ? _c(\"span\", [\n _vm._v(\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\" +\n _vm._s(h.output) +\n \"\\n\\t\\t\\t\\t\\t\\t\\t\\t\"\n ),\n ])\n : _c(\"span\", [_c(\"i\", [_vm._v(\"No output\")])]),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(h.duration) + \"s\")]),\n _vm._v(\" \"),\n _c(\"td\", { class: _vm.statusText(h.status) }, [\n _c(\"img\", {\n attrs: {\n src:\n \"/img/\" + _vm.statusText(h.status) + \".svg\",\n width: \"16\",\n alt: \"Status\",\n },\n }),\n ]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No history to display here\")])],\n 1\n ),\n ]),\n _vm._v(\" \"),\n _c(\"div\", { staticClass: \"round\" }, [\n _c(\"h3\", [\n _vm._v(\n \"Last \" + _vm._s(_vm.chart.days) + \" days notifications log\"\n ),\n ]),\n _vm._v(\" \"),\n _vm.notifications\n ? _c(\"div\", { staticClass: \"block-content\" }, [\n _c(\"table\", { attrs: { id: \"tasks_tbl\" } }, [\n _vm._m(2),\n _vm._v(\" \"),\n _c(\n \"tbody\",\n _vm._l(_vm.notifications, function (n) {\n return _c(\"tr\", { key: n.id }, [\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"YYYY-MM-DD\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [\n _vm._v(\n _vm._s(\n _vm.moment(n.created_at).format(\"HH:mm:ss\")\n )\n ),\n ]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.firstname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.surname))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.contact.email))]),\n _vm._v(\" \"),\n _c(\"td\", [_vm._v(_vm._s(n.status))]),\n ])\n }),\n 0\n ),\n ]),\n ])\n : _c(\n \"p\",\n [_c(\"center\", [_vm._v(\"No notification to display here\")])],\n 1\n ),\n ]),\n ])\n : _vm._e(),\n ])\n}\nvar staticRenderFns = [\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"p\", [\n _c(\"i\", [_vm._v(\"Showing only records where status has changed\")]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Output\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Duration\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n function () {\n var _vm = this\n var _h = _vm.$createElement\n var _c = _vm._self._c || _h\n return _c(\"thead\", [\n _c(\"tr\", [\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Date\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"20%\" } }, [_vm._v(\"Time\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"*\" } }, [_vm._v(\"Firstname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Lastname\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Email\")]),\n _vm._v(\" \"),\n _c(\"th\", { attrs: { width: \"10%\" } }, [_vm._v(\"Status\")]),\n ]),\n ])\n },\n]\nrender._withStripped = true\n\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi9ub2RlX21vZHVsZXMvdnVlLWxvYWRlci9saWIvbG9hZGVycy90ZW1wbGF0ZUxvYWRlci5qcz8/dnVlLWxvYWRlci1vcHRpb25zIS4vbm9kZV9tb2R1bGVzL3Z1ZS1sb2FkZXIvbGliL2luZGV4LmpzPz92dWUtbG9hZGVyLW9wdGlvbnMhLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlP3Z1ZSZ0eXBlPXRlbXBsYXRlJmlkPWEzNzhiZjE4JnNjb3BlZD10cnVlJi5qcyIsIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9CQUFvQiwwQkFBMEI7QUFDOUM7QUFDQSx5QkFBeUIsMEJBQTBCO0FBQ25EO0FBQ0E7QUFDQTtBQUNBLHlCQUF5QiwwQkFBMEI7QUFDbkQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxpQkFBaUI7QUFDakI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSx1QkFBdUI7QUFDdkI7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUI7QUFDbkI7QUFDQTtBQUNBLGVBQWU7QUFDZixhQUFhO0FBQ2I7QUFDQSw2QkFBNkIsU0FBUyxjQUFjO0FBQ3BEO0FBQ0EsNkJBQTZCLFNBQVMsZUFBZTtBQUNyRDtBQUNBLDZCQUE2QixTQUFTLGVBQWU7QUFDckQ7QUFDQTtBQUNBO0FBQ0Esc0JBQXNCLCtCQUErQixlQUFlO0FBQ3BFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLGdCQUFnQiw4QkFBOEI7QUFDOUM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSw0QkFBNEIsOEJBQThCO0FBQzFEO0FBQ0E7QUFDQSxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHFDQUFxQyxpQ0FBaUM7QUFDdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsK0JBQStCO0FBQy9CLDZCQUE2QjtBQUM3QjtBQUNBO0FBQ0EsdUJBQXVCO0FBQ3ZCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxzQkFBc0Isc0JBQXNCO0FBQzVDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsNEJBQTRCLDhCQUE4QjtBQUMxRCxnQ0FBZ0MsU0FBUyxtQkFBbUI7QUFDNUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLDBDQUEwQyxXQUFXO0FBQ3JEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLHVCQUF1QjtBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxnQkFBZ0I7QUFDNUM7QUFDQSxtQkFBbUIsU0FBUyxjQUFjO0FBQzFDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsZ0JBQWdCO0FBQzVDO0FBQ0EsbUJBQW1CLFNBQVMsY0FBYztBQUMxQztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBLG1CQUFtQixTQUFTLGdCQUFnQjtBQUM1QztBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0EiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9yZXNvdXJjZXMvdmlld3MvdGFza2RldGFpbHMudnVlPzY1NjkiXSwic291cmNlc0NvbnRlbnQiOlsidmFyIHJlbmRlciA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIF92bSA9IHRoaXNcbiAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICByZXR1cm4gX2MoXCJkaXZcIiwgW1xuICAgIF92bS50YXNrLmlkICE9IG51bGxcbiAgICAgID8gX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJjb250YWluZXJcIiB9LCBbXG4gICAgICAgICAgX2MoXCJoMVwiLCBbXG4gICAgICAgICAgICBfYyhcInNwYW5cIiwgeyBzdGF0aWNDbGFzczogXCJoaWdobGlnaHRcIiB9LCBbXG4gICAgICAgICAgICAgIF92bS5fdihfdm0uX3MoX3ZtLnRhc2sudHlwZSkpLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgZm9yIGhvc3QgXCIpLFxuICAgICAgICAgICAgX2MoXCJzcGFuXCIsIHsgc3RhdGljQ2xhc3M6IFwiaGlnaGxpZ2h0XCIgfSwgW1xuICAgICAgICAgICAgICBfdm0uX3YoX3ZtLl9zKF92bS50YXNrLmhvc3QpKSxcbiAgICAgICAgICAgIF0pLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIF92bS5fdihcIlxcblxcblxcdFxcdFNob3c6XFxuXFx0XFx0XCIpLFxuICAgICAgICAgIF9jKFxuICAgICAgICAgICAgXCJzZWxlY3RcIixcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgZGlyZWN0aXZlczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IFwibW9kZWxcIixcbiAgICAgICAgICAgICAgICAgIHJhd05hbWU6IFwidi1tb2RlbFwiLFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IF92bS5jaGFydC5kYXlzLFxuICAgICAgICAgICAgICAgICAgZXhwcmVzc2lvbjogXCJjaGFydC5kYXlzXCIsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgb246IHtcbiAgICAgICAgICAgICAgICBjaGFuZ2U6IFtcbiAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uICgkZXZlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyICQkc2VsZWN0ZWRWYWwgPSBBcnJheS5wcm90b3R5cGUuZmlsdGVyXG4gICAgICAgICAgICAgICAgICAgICAgLmNhbGwoJGV2ZW50LnRhcmdldC5vcHRpb25zLCBmdW5jdGlvbiAobykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG8uc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgIC5tYXAoZnVuY3Rpb24gKG8pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB2YWwgPSBcIl92YWx1ZVwiIGluIG8gPyBvLl92YWx1ZSA6IG8udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2YWxcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICBfdm0uJHNldChcbiAgICAgICAgICAgICAgICAgICAgICBfdm0uY2hhcnQsXG4gICAgICAgICAgICAgICAgICAgICAgXCJkYXlzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgJGV2ZW50LnRhcmdldC5tdWx0aXBsZSA/ICQkc2VsZWN0ZWRWYWwgOiAkJHNlbGVjdGVkVmFsWzBdXG4gICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICBfdm0ucmVmcmVzaFRhc2ssXG4gICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBbXG4gICAgICAgICAgICAgIF9jKFwib3B0aW9uXCIsIHsgYXR0cnM6IHsgdmFsdWU6IFwiN1wiIH0gfSwgW192bS5fdihcIjcgZGF5c1wiKV0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcIm9wdGlvblwiLCB7IGF0dHJzOiB7IHZhbHVlOiBcIjE1XCIgfSB9LCBbX3ZtLl92KFwiMTUgZGF5c1wiKV0pLFxuICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICBfYyhcIm9wdGlvblwiLCB7IGF0dHJzOiB7IHZhbHVlOiBcIjMwXCIgfSB9LCBbX3ZtLl92KFwiMzAgZGF5c1wiKV0pLFxuICAgICAgICAgICAgXVxuICAgICAgICAgICksXG4gICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcInJvdW5kXCIsIGF0dHJzOiB7IGlkOiBcImNoYXJ0XCIgfSB9LCBbXG4gICAgICAgICAgICBfYyhcImgzXCIsIFtcbiAgICAgICAgICAgICAgX3ZtLl92KFwiVXB0aW1lOiBwYXN0IFwiICsgX3ZtLl9zKF92bS5jaGFydC5kYXlzKSArIFwiIGRheXNcIiksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfYyhcbiAgICAgICAgICAgICAgXCJkaXZcIixcbiAgICAgICAgICAgICAgeyBzdGF0aWNDbGFzczogXCJibG9jay1jb250ZW50XCIgfSxcbiAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgIF92bS5jaGFydC5yZW5kZXJcbiAgICAgICAgICAgICAgICAgID8gX2MoXCJhcGV4Y2hhcnRcIiwge1xuICAgICAgICAgICAgICAgICAgICAgIHN0YXRpY0NsYXNzOiBcImdyYXBoXCIsXG4gICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IFwiYmFyXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IFwiMzUwXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zOiBfdm0uY2hhcnRPcHRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VyaWVzOiBfdm0uc2VyaWVzLFxuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgICA6IF92bS5fZSgpLFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAxXG4gICAgICAgICAgICApLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3VuZFwiIH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXCJMYXN0IFwiICsgX3ZtLl9zKF92bS5jaGFydC5kYXlzKSArIFwiIGRheXMgaGlzdG9yeSBsb2dcIiksXG4gICAgICAgICAgICBdKSxcbiAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICBfdm0uaGlzdG9yeVxuICAgICAgICAgICAgICA/IF9jKFwiZGl2XCIsIHsgc3RhdGljQ2xhc3M6IFwiYmxvY2stY29udGVudFwiIH0sIFtcbiAgICAgICAgICAgICAgICAgIF92bS5fbSgwKSxcbiAgICAgICAgICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgICAgICAgICBfYyhcInRhYmxlXCIsIHsgYXR0cnM6IHsgaWQ6IFwidGFza3NfdGJsXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fbSgxKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0Ym9keVwiLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0uaGlzdG9yeSwgZnVuY3Rpb24gKGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcInRyXCIsIHsga2V5OiBoLmlkIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KGguY3JlYXRlZF9hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5tb21lbnQoaC5jcmVhdGVkX2F0KS5mb3JtYXQoXCJISDptbTpzc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoLm91dHB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyBfYyhcInNwYW5cIiwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5fdihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiXFxuXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIgK1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoaC5vdXRwdXQpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCJcXG5cXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9jKFwic3BhblwiLCBbX2MoXCJpXCIsIFtfdm0uX3YoXCJObyBvdXRwdXRcIildKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhoLmR1cmF0aW9uKSArIFwic1wiKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIHsgY2xhc3M6IF92bS5zdGF0dXNUZXh0KGguc3RhdHVzKSB9LCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJpbWdcIiwge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXR0cnM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiL2ltZy9cIiArIF92bS5zdGF0dXNUZXh0KGguc3RhdHVzKSArIFwiLnN2Z1wiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogXCIxNlwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHQ6IFwiU3RhdHVzXCIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBdKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfYyhcbiAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgW19jKFwiY2VudGVyXCIsIFtfdm0uX3YoXCJObyBoaXN0b3J5IHRvIGRpc3BsYXkgaGVyZVwiKV0pXSxcbiAgICAgICAgICAgICAgICAgIDFcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgIF0pLFxuICAgICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgICAgX2MoXCJkaXZcIiwgeyBzdGF0aWNDbGFzczogXCJyb3VuZFwiIH0sIFtcbiAgICAgICAgICAgIF9jKFwiaDNcIiwgW1xuICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgXCJMYXN0IFwiICsgX3ZtLl9zKF92bS5jaGFydC5kYXlzKSArIFwiIGRheXMgbm90aWZpY2F0aW9ucyBsb2dcIlxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgXSksXG4gICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgX3ZtLm5vdGlmaWNhdGlvbnNcbiAgICAgICAgICAgICAgPyBfYyhcImRpdlwiLCB7IHN0YXRpY0NsYXNzOiBcImJsb2NrLWNvbnRlbnRcIiB9LCBbXG4gICAgICAgICAgICAgICAgICBfYyhcInRhYmxlXCIsIHsgYXR0cnM6IHsgaWQ6IFwidGFza3NfdGJsXCIgfSB9LCBbXG4gICAgICAgICAgICAgICAgICAgIF92bS5fbSgyKSxcbiAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgX2MoXG4gICAgICAgICAgICAgICAgICAgICAgXCJ0Ym9keVwiLFxuICAgICAgICAgICAgICAgICAgICAgIF92bS5fbChfdm0ubm90aWZpY2F0aW9ucywgZnVuY3Rpb24gKG4pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBfYyhcInRyXCIsIHsga2V5OiBuLmlkIH0sIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl9zKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0ubW9tZW50KG4uY3JlYXRlZF9hdCkuZm9ybWF0KFwiWVlZWS1NTS1ERFwiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3MoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF92bS5tb21lbnQobi5jcmVhdGVkX2F0KS5mb3JtYXQoXCJISDptbTpzc1wiKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgICAgIF0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtfdm0uX3YoX3ZtLl9zKG4uY29udGFjdC5maXJzdG5hbWUpKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtfdm0uX3YoX3ZtLl9zKG4uY29udGFjdC5zdXJuYW1lKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgX2MoXCJ0ZFwiLCBbX3ZtLl92KF92bS5fcyhuLmNvbnRhY3QuZW1haWwpKV0pLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICBfYyhcInRkXCIsIFtfdm0uX3YoX3ZtLl9zKG4uc3RhdHVzKSldKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgXSksXG4gICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgOiBfYyhcbiAgICAgICAgICAgICAgICAgIFwicFwiLFxuICAgICAgICAgICAgICAgICAgW19jKFwiY2VudGVyXCIsIFtfdm0uX3YoXCJObyBub3RpZmljYXRpb24gdG8gZGlzcGxheSBoZXJlXCIpXSldLFxuICAgICAgICAgICAgICAgICAgMVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgXSksXG4gICAgICAgIF0pXG4gICAgICA6IF92bS5fZSgpLFxuICBdKVxufVxudmFyIHN0YXRpY1JlbmRlckZucyA9IFtcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwicFwiLCBbXG4gICAgICBfYyhcImlcIiwgW192bS5fdihcIlNob3dpbmcgb25seSByZWNvcmRzIHdoZXJlIHN0YXR1cyBoYXMgY2hhbmdlZFwiKV0pLFxuICAgIF0pXG4gIH0sXG4gIGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgX3ZtID0gdGhpc1xuICAgIHZhciBfaCA9IF92bS4kY3JlYXRlRWxlbWVudFxuICAgIHZhciBfYyA9IF92bS5fc2VsZi5fYyB8fCBfaFxuICAgIHJldHVybiBfYyhcInRoZWFkXCIsIFtcbiAgICAgIF9jKFwidHJcIiwgW1xuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiRGF0ZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiVGltZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiKlwiIH0gfSwgW192bS5fdihcIk91dHB1dFwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiRHVyYXRpb25cIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIlN0YXR1c1wiKV0pLFxuICAgICAgXSksXG4gICAgXSlcbiAgfSxcbiAgZnVuY3Rpb24gKCkge1xuICAgIHZhciBfdm0gPSB0aGlzXG4gICAgdmFyIF9oID0gX3ZtLiRjcmVhdGVFbGVtZW50XG4gICAgdmFyIF9jID0gX3ZtLl9zZWxmLl9jIHx8IF9oXG4gICAgcmV0dXJuIF9jKFwidGhlYWRcIiwgW1xuICAgICAgX2MoXCJ0clwiLCBbXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIyMCVcIiB9IH0sIFtfdm0uX3YoXCJEYXRlXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIyMCVcIiB9IH0sIFtfdm0uX3YoXCJUaW1lXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIqXCIgfSB9LCBbX3ZtLl92KFwiRmlyc3RuYW1lXCIpXSksXG4gICAgICAgIF92bS5fdihcIiBcIiksXG4gICAgICAgIF9jKFwidGhcIiwgeyBhdHRyczogeyB3aWR0aDogXCIxMCVcIiB9IH0sIFtfdm0uX3YoXCJMYXN0bmFtZVwiKV0pLFxuICAgICAgICBfdm0uX3YoXCIgXCIpLFxuICAgICAgICBfYyhcInRoXCIsIHsgYXR0cnM6IHsgd2lkdGg6IFwiMTAlXCIgfSB9LCBbX3ZtLl92KFwiRW1haWxcIildKSxcbiAgICAgICAgX3ZtLl92KFwiIFwiKSxcbiAgICAgICAgX2MoXCJ0aFwiLCB7IGF0dHJzOiB7IHdpZHRoOiBcIjEwJVwiIH0gfSwgW192bS5fdihcIlN0YXR1c1wiKV0pLFxuICAgICAgXSksXG4gICAgXSlcbiAgfSxcbl1cbnJlbmRlci5fd2l0aFN0cmlwcGVkID0gdHJ1ZVxuXG5leHBvcnQgeyByZW5kZXIsIHN0YXRpY1JlbmRlckZucyB9Il0sIm5hbWVzIjpbXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/views/taskdetails.vue?vue&type=template&id=a378bf18&scoped=true&\n"); /***/ }), diff --git a/resources/views/taskdetails.vue b/resources/views/taskdetails.vue index 96d5c9a..0ec3d3b 100644 --- a/resources/views/taskdetails.vue +++ b/resources/views/taskdetails.vue @@ -34,9 +34,10 @@
Date | -Time | +Date | +Time | Output | +Duration | Status | {{ h.duration }}s |
|
---|