Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/jimfrenette/hugo-starter.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjimfrenette <jimfrenette@yahoo.com>2019-02-09 20:18:47 +0300
committerjimfrenette <jimfrenette@yahoo.com>2019-02-09 20:18:47 +0300
commitbba82334d8ed33cd4f6090cb6d688006a082794f (patch)
treea477111fa797e43b828fc837efdc7c7b991f8c94
parente1f6d328302e17f0d7982f57b0f1dda24fbf9a0f (diff)
change webpack build output path to static dir
-rw-r--r--dist/app.css198
-rw-r--r--dist/app.js931
-rw-r--r--static/dist/app.css1
-rw-r--r--static/dist/app.js1
-rw-r--r--webpack/base.config.js3
5 files changed, 5 insertions, 1129 deletions
diff --git a/dist/app.css b/dist/app.css
deleted file mode 100644
index 4e026b5..0000000
--- a/dist/app.css
+++ /dev/null
@@ -1,198 +0,0 @@
-/*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */
-/* Document
- ========================================================================== */
-/**
- * Use a better box model (opinionated).
- */
-html {
- box-sizing: border-box; }
-
-* {
- box-sizing: inherit; }
- *::before, *::after {
- box-sizing: inherit; }
-
-/**
- * Use a more readable tab size (opinionated).
- */
-:root {
- -moz-tab-size: 4;
- -o-tab-size: 4;
- tab-size: 4; }
-
-/**
- * 1. Correct the line height in all browsers.
- * 2. Prevent adjustments of font size after orientation changes in iOS.
- */
-html {
- line-height: 1.15;
- /* 1 */
- -webkit-text-size-adjust: 100%;
- /* 2 */ }
-
-/* Sections
- ========================================================================== */
-/**
- * Remove the margin in all browsers.
- */
-body {
- margin: 0;
- font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; }
-
-/**
- * Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
- */
-/* Grouping content
- ========================================================================== */
-/**
- * Add the correct height in Firefox.
- */
-hr {
- height: 0; }
-
-/* Text-level semantics
- ========================================================================== */
-/**
- * Add the correct text decoration in Chrome, Edge, and Safari.
- */
-abbr[title] {
- -webkit-text-decoration: underline dotted;
- text-decoration: underline dotted; }
-
-/**
- * Add the correct font weight in Chrome, Edge, and Safari.
- */
-b, strong {
- font-weight: bolder; }
-
-/**
- * 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
- * 2. Correct the odd `em` font sizing in all browsers.
- */
-code, kbd, samp, pre {
- font-family: SFMono-Regular, Consolas, 'Liberation Mono', Menlo, Courier, monospace;
- /* 1 */
- font-size: 1em;
- /* 2 */ }
-
-/**
- * Add the correct font size in all browsers.
- */
-small {
- font-size: 80%; }
-
-/**
- * Prevent `sub` and `sup` elements from affecting the line height in all browsers.
- */
-sub, sup {
- font-size: 75%;
- line-height: 0;
- position: relative;
- vertical-align: baseline; }
-
-sub {
- bottom: -0.25em; }
-
-sup {
- top: -0.5em; }
-
-/* Forms
- ========================================================================== */
-/**
- * 1. Change the font styles in all browsers.
- * 2. Remove the margin in Firefox and Safari.
- */
-button, input, optgroup, select, textarea {
- font-family: inherit;
- /* 1 */
- font-size: 100%;
- /* 1 */
- line-height: 1.15;
- /* 1 */
- margin: 0;
- /* 2 */ }
-
-/**
- * Remove the inheritance of text transform in Edge and Firefox.
- * 1. Remove the inheritance of text transform in Firefox.
- */
-button, select {
- /* 1 */
- text-transform: none; }
-
-/**
- * Correct the inability to style clickable types in iOS and Safari.
- */
-button, [type='button'], [type='reset'], [type='submit'] {
- -webkit-appearance: button; }
-
-/**
- * Remove the inner border and padding in Firefox.
- */
-button::-moz-focus-inner, [type='button']::-moz-focus-inner, [type='reset']::-moz-focus-inner, [type='submit']::-moz-focus-inner {
- border-style: none;
- padding: 0; }
-
-/**
- * Restore the focus styles unset by the previous rule.
- */
-button:-moz-focusring, [type='button']:-moz-focusring, [type='reset']:-moz-focusring, [type='submit']:-moz-focusring {
- outline: 1px dotted ButtonText; }
-
-/**
- * Correct the padding in Firefox.
- */
-fieldset {
- padding: 0.35em 0.75em 0.625em; }
-
-/**
- * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
- */
-legend {
- padding: 0; }
-
-/**
- * Add the correct vertical alignment in Chrome and Firefox.
- */
-progress {
- vertical-align: baseline; }
-
-/**
- * Correct the cursor style of increment and decrement buttons in Safari.
- */
-[type='number']::-webkit-inner-spin-button, [type='number']::-webkit-outer-spin-button {
- height: auto; }
-
-/**
- * 1. Correct the odd appearance in Chrome and Safari.
- * 2. Correct the outline style in Safari.
- */
-[type='search'] {
- -webkit-appearance: textfield;
- /* 1 */
- outline-offset: -2px;
- /* 2 */ }
- [type='search']::-webkit-search-decoration {
- -webkit-appearance: none; }
-
-/**
- * Remove the inner padding in Chrome and Safari on macOS.
- */
-/**
- * 1. Correct the inability to style clickable types in iOS and Safari.
- * 2. Change font properties to `inherit` in Safari.
- */
-::-webkit-file-upload-button {
- -webkit-appearance: button;
- /* 1 */
- font: inherit;
- /* 2 */ }
-
-/* Interactive
- ========================================================================== */
-/*
- * Add the correct display in Chrome and Safari.
- */
-summary {
- display: list-item; }
-
diff --git a/dist/app.js b/dist/app.js
deleted file mode 100644
index 3b1625e..0000000
--- a/dist/app.js
+++ /dev/null
@@ -1,931 +0,0 @@
-/******/ (function(modules) { // webpackBootstrap
-/******/ function hotDisposeChunk(chunkId) {
-/******/ delete installedChunks[chunkId];
-/******/ }
-/******/ var parentHotUpdateCallback = window["webpackHotUpdate"];
-/******/ window["webpackHotUpdate"] = // eslint-disable-next-line no-unused-vars
-/******/ function webpackHotUpdateCallback(chunkId, moreModules) {
-/******/ hotAddUpdateChunk(chunkId, moreModules);
-/******/ if (parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);
-/******/ } ;
-/******/
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ function hotDownloadUpdateChunk(chunkId) {
-/******/ var script = document.createElement("script");
-/******/ script.charset = "utf-8";
-/******/ script.src = __webpack_require__.p + "28d76a1-" + chunkId + "-wps-hmr.js";
-/******/ if (null) script.crossOrigin = null;
-/******/ document.head.appendChild(script);
-/******/ }
-/******/
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ function hotDownloadManifest(requestTimeout) {
-/******/ requestTimeout = requestTimeout || 10000;
-/******/ return new Promise(function(resolve, reject) {
-/******/ if (typeof XMLHttpRequest === "undefined") {
-/******/ return reject(new Error("No browser support"));
-/******/ }
-/******/ try {
-/******/ var request = new XMLHttpRequest();
-/******/ var requestPath = __webpack_require__.p + "28d76a1-wps-hmr.json";
-/******/ request.open("GET", requestPath, true);
-/******/ request.timeout = requestTimeout;
-/******/ request.send(null);
-/******/ } catch (err) {
-/******/ return reject(err);
-/******/ }
-/******/ request.onreadystatechange = function() {
-/******/ if (request.readyState !== 4) return;
-/******/ if (request.status === 0) {
-/******/ // timeout
-/******/ reject(
-/******/ new Error("Manifest request to " + requestPath + " timed out.")
-/******/ );
-/******/ } else if (request.status === 404) {
-/******/ // no update available
-/******/ resolve();
-/******/ } else if (request.status !== 200 && request.status !== 304) {
-/******/ // other failure
-/******/ reject(new Error("Manifest request to " + requestPath + " failed."));
-/******/ } else {
-/******/ // success
-/******/ try {
-/******/ var update = JSON.parse(request.responseText);
-/******/ } catch (e) {
-/******/ reject(e);
-/******/ return;
-/******/ }
-/******/ resolve(update);
-/******/ }
-/******/ };
-/******/ });
-/******/ }
-/******/
-/******/ var hotApplyOnUpdate = true;
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ var hotCurrentHash = "c81458176c8f188b2d1b";
-/******/ var hotRequestTimeout = 10000;
-/******/ var hotCurrentModuleData = {};
-/******/ var hotCurrentChildModule;
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ var hotCurrentParents = [];
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ var hotCurrentParentsTemp = [];
-/******/
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ function hotCreateRequire(moduleId) {
-/******/ var me = installedModules[moduleId];
-/******/ if (!me) return __webpack_require__;
-/******/ var fn = function(request) {
-/******/ if (me.hot.active) {
-/******/ if (installedModules[request]) {
-/******/ if (installedModules[request].parents.indexOf(moduleId) === -1) {
-/******/ installedModules[request].parents.push(moduleId);
-/******/ }
-/******/ } else {
-/******/ hotCurrentParents = [moduleId];
-/******/ hotCurrentChildModule = request;
-/******/ }
-/******/ if (me.children.indexOf(request) === -1) {
-/******/ me.children.push(request);
-/******/ }
-/******/ } else {
-/******/ console.warn(
-/******/ "[HMR] unexpected require(" +
-/******/ request +
-/******/ ") from disposed module " +
-/******/ moduleId
-/******/ );
-/******/ hotCurrentParents = [];
-/******/ }
-/******/ return __webpack_require__(request);
-/******/ };
-/******/ var ObjectFactory = function ObjectFactory(name) {
-/******/ return {
-/******/ configurable: true,
-/******/ enumerable: true,
-/******/ get: function() {
-/******/ return __webpack_require__[name];
-/******/ },
-/******/ set: function(value) {
-/******/ __webpack_require__[name] = value;
-/******/ }
-/******/ };
-/******/ };
-/******/ for (var name in __webpack_require__) {
-/******/ if (
-/******/ Object.prototype.hasOwnProperty.call(__webpack_require__, name) &&
-/******/ name !== "e" &&
-/******/ name !== "t"
-/******/ ) {
-/******/ Object.defineProperty(fn, name, ObjectFactory(name));
-/******/ }
-/******/ }
-/******/ fn.e = function(chunkId) {
-/******/ if (hotStatus === "ready") hotSetStatus("prepare");
-/******/ hotChunksLoading++;
-/******/ return __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {
-/******/ finishChunkLoading();
-/******/ throw err;
-/******/ });
-/******/
-/******/ function finishChunkLoading() {
-/******/ hotChunksLoading--;
-/******/ if (hotStatus === "prepare") {
-/******/ if (!hotWaitingFilesMap[chunkId]) {
-/******/ hotEnsureUpdateChunk(chunkId);
-/******/ }
-/******/ if (hotChunksLoading === 0 && hotWaitingFiles === 0) {
-/******/ hotUpdateDownloaded();
-/******/ }
-/******/ }
-/******/ }
-/******/ };
-/******/ fn.t = function(value, mode) {
-/******/ if (mode & 1) value = fn(value);
-/******/ return __webpack_require__.t(value, mode & ~1);
-/******/ };
-/******/ return fn;
-/******/ }
-/******/
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ function hotCreateModule(moduleId) {
-/******/ var hot = {
-/******/ // private stuff
-/******/ _acceptedDependencies: {},
-/******/ _declinedDependencies: {},
-/******/ _selfAccepted: false,
-/******/ _selfDeclined: false,
-/******/ _disposeHandlers: [],
-/******/ _main: hotCurrentChildModule !== moduleId,
-/******/
-/******/ // Module API
-/******/ active: true,
-/******/ accept: function(dep, callback) {
-/******/ if (dep === undefined) hot._selfAccepted = true;
-/******/ else if (typeof dep === "function") hot._selfAccepted = dep;
-/******/ else if (typeof dep === "object")
-/******/ for (var i = 0; i < dep.length; i++)
-/******/ hot._acceptedDependencies[dep[i]] = callback || function() {};
-/******/ else hot._acceptedDependencies[dep] = callback || function() {};
-/******/ },
-/******/ decline: function(dep) {
-/******/ if (dep === undefined) hot._selfDeclined = true;
-/******/ else if (typeof dep === "object")
-/******/ for (var i = 0; i < dep.length; i++)
-/******/ hot._declinedDependencies[dep[i]] = true;
-/******/ else hot._declinedDependencies[dep] = true;
-/******/ },
-/******/ dispose: function(callback) {
-/******/ hot._disposeHandlers.push(callback);
-/******/ },
-/******/ addDisposeHandler: function(callback) {
-/******/ hot._disposeHandlers.push(callback);
-/******/ },
-/******/ removeDisposeHandler: function(callback) {
-/******/ var idx = hot._disposeHandlers.indexOf(callback);
-/******/ if (idx >= 0) hot._disposeHandlers.splice(idx, 1);
-/******/ },
-/******/
-/******/ // Management API
-/******/ check: hotCheck,
-/******/ apply: hotApply,
-/******/ status: function(l) {
-/******/ if (!l) return hotStatus;
-/******/ hotStatusHandlers.push(l);
-/******/ },
-/******/ addStatusHandler: function(l) {
-/******/ hotStatusHandlers.push(l);
-/******/ },
-/******/ removeStatusHandler: function(l) {
-/******/ var idx = hotStatusHandlers.indexOf(l);
-/******/ if (idx >= 0) hotStatusHandlers.splice(idx, 1);
-/******/ },
-/******/
-/******/ //inherit from previous dispose call
-/******/ data: hotCurrentModuleData[moduleId]
-/******/ };
-/******/ hotCurrentChildModule = undefined;
-/******/ return hot;
-/******/ }
-/******/
-/******/ var hotStatusHandlers = [];
-/******/ var hotStatus = "idle";
-/******/
-/******/ function hotSetStatus(newStatus) {
-/******/ hotStatus = newStatus;
-/******/ for (var i = 0; i < hotStatusHandlers.length; i++)
-/******/ hotStatusHandlers[i].call(null, newStatus);
-/******/ }
-/******/
-/******/ // while downloading
-/******/ var hotWaitingFiles = 0;
-/******/ var hotChunksLoading = 0;
-/******/ var hotWaitingFilesMap = {};
-/******/ var hotRequestedFilesMap = {};
-/******/ var hotAvailableFilesMap = {};
-/******/ var hotDeferred;
-/******/
-/******/ // The update info
-/******/ var hotUpdate, hotUpdateNewHash;
-/******/
-/******/ function toModuleId(id) {
-/******/ var isNumber = +id + "" === id;
-/******/ return isNumber ? +id : id;
-/******/ }
-/******/
-/******/ function hotCheck(apply) {
-/******/ if (hotStatus !== "idle") {
-/******/ throw new Error("check() is only allowed in idle status");
-/******/ }
-/******/ hotApplyOnUpdate = apply;
-/******/ hotSetStatus("check");
-/******/ return hotDownloadManifest(hotRequestTimeout).then(function(update) {
-/******/ if (!update) {
-/******/ hotSetStatus("idle");
-/******/ return null;
-/******/ }
-/******/ hotRequestedFilesMap = {};
-/******/ hotWaitingFilesMap = {};
-/******/ hotAvailableFilesMap = update.c;
-/******/ hotUpdateNewHash = update.h;
-/******/
-/******/ hotSetStatus("prepare");
-/******/ var promise = new Promise(function(resolve, reject) {
-/******/ hotDeferred = {
-/******/ resolve: resolve,
-/******/ reject: reject
-/******/ };
-/******/ });
-/******/ hotUpdate = {};
-/******/ var chunkId = "app";
-/******/ // eslint-disable-next-line no-lone-blocks
-/******/ {
-/******/ /*globals chunkId */
-/******/ hotEnsureUpdateChunk(chunkId);
-/******/ }
-/******/ if (
-/******/ hotStatus === "prepare" &&
-/******/ hotChunksLoading === 0 &&
-/******/ hotWaitingFiles === 0
-/******/ ) {
-/******/ hotUpdateDownloaded();
-/******/ }
-/******/ return promise;
-/******/ });
-/******/ }
-/******/
-/******/ // eslint-disable-next-line no-unused-vars
-/******/ function hotAddUpdateChunk(chunkId, moreModules) {
-/******/ if (!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])
-/******/ return;
-/******/ hotRequestedFilesMap[chunkId] = false;
-/******/ for (var moduleId in moreModules) {
-/******/ if (Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {
-/******/ hotUpdate[moduleId] = moreModules[moduleId];
-/******/ }
-/******/ }
-/******/ if (--hotWaitingFiles === 0 && hotChunksLoading === 0) {
-/******/ hotUpdateDownloaded();
-/******/ }
-/******/ }
-/******/
-/******/ function hotEnsureUpdateChunk(chunkId) {
-/******/ if (!hotAvailableFilesMap[chunkId]) {
-/******/ hotWaitingFilesMap[chunkId] = true;
-/******/ } else {
-/******/ hotRequestedFilesMap[chunkId] = true;
-/******/ hotWaitingFiles++;
-/******/ hotDownloadUpdateChunk(chunkId);
-/******/ }
-/******/ }
-/******/
-/******/ function hotUpdateDownloaded() {
-/******/ hotSetStatus("ready");
-/******/ var deferred = hotDeferred;
-/******/ hotDeferred = null;
-/******/ if (!deferred) return;
-/******/ if (hotApplyOnUpdate) {
-/******/ // Wrap deferred object in Promise to mark it as a well-handled Promise to
-/******/ // avoid triggering uncaught exception warning in Chrome.
-/******/ // See https://bugs.chromium.org/p/chromium/issues/detail?id=465666
-/******/ Promise.resolve()
-/******/ .then(function() {
-/******/ return hotApply(hotApplyOnUpdate);
-/******/ })
-/******/ .then(
-/******/ function(result) {
-/******/ deferred.resolve(result);
-/******/ },
-/******/ function(err) {
-/******/ deferred.reject(err);
-/******/ }
-/******/ );
-/******/ } else {
-/******/ var outdatedModules = [];
-/******/ for (var id in hotUpdate) {
-/******/ if (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
-/******/ outdatedModules.push(toModuleId(id));
-/******/ }
-/******/ }
-/******/ deferred.resolve(outdatedModules);
-/******/ }
-/******/ }
-/******/
-/******/ function hotApply(options) {
-/******/ if (hotStatus !== "ready")
-/******/ throw new Error("apply() is only allowed in ready status");
-/******/ options = options || {};
-/******/
-/******/ var cb;
-/******/ var i;
-/******/ var j;
-/******/ var module;
-/******/ var moduleId;
-/******/
-/******/ function getAffectedStuff(updateModuleId) {
-/******/ var outdatedModules = [updateModuleId];
-/******/ var outdatedDependencies = {};
-/******/
-/******/ var queue = outdatedModules.slice().map(function(id) {
-/******/ return {
-/******/ chain: [id],
-/******/ id: id
-/******/ };
-/******/ });
-/******/ while (queue.length > 0) {
-/******/ var queueItem = queue.pop();
-/******/ var moduleId = queueItem.id;
-/******/ var chain = queueItem.chain;
-/******/ module = installedModules[moduleId];
-/******/ if (!module || module.hot._selfAccepted) continue;
-/******/ if (module.hot._selfDeclined) {
-/******/ return {
-/******/ type: "self-declined",
-/******/ chain: chain,
-/******/ moduleId: moduleId
-/******/ };
-/******/ }
-/******/ if (module.hot._main) {
-/******/ return {
-/******/ type: "unaccepted",
-/******/ chain: chain,
-/******/ moduleId: moduleId
-/******/ };
-/******/ }
-/******/ for (var i = 0; i < module.parents.length; i++) {
-/******/ var parentId = module.parents[i];
-/******/ var parent = installedModules[parentId];
-/******/ if (!parent) continue;
-/******/ if (parent.hot._declinedDependencies[moduleId]) {
-/******/ return {
-/******/ type: "declined",
-/******/ chain: chain.concat([parentId]),
-/******/ moduleId: moduleId,
-/******/ parentId: parentId
-/******/ };
-/******/ }
-/******/ if (outdatedModules.indexOf(parentId) !== -1) continue;
-/******/ if (parent.hot._acceptedDependencies[moduleId]) {
-/******/ if (!outdatedDependencies[parentId])
-/******/ outdatedDependencies[parentId] = [];
-/******/ addAllToSet(outdatedDependencies[parentId], [moduleId]);
-/******/ continue;
-/******/ }
-/******/ delete outdatedDependencies[parentId];
-/******/ outdatedModules.push(parentId);
-/******/ queue.push({
-/******/ chain: chain.concat([parentId]),
-/******/ id: parentId
-/******/ });
-/******/ }
-/******/ }
-/******/
-/******/ return {
-/******/ type: "accepted",
-/******/ moduleId: updateModuleId,
-/******/ outdatedModules: outdatedModules,
-/******/ outdatedDependencies: outdatedDependencies
-/******/ };
-/******/ }
-/******/
-/******/ function addAllToSet(a, b) {
-/******/ for (var i = 0; i < b.length; i++) {
-/******/ var item = b[i];
-/******/ if (a.indexOf(item) === -1) a.push(item);
-/******/ }
-/******/ }
-/******/
-/******/ // at begin all updates modules are outdated
-/******/ // the "outdated" status can propagate to parents if they don't accept the children
-/******/ var outdatedDependencies = {};
-/******/ var outdatedModules = [];
-/******/ var appliedUpdate = {};
-/******/
-/******/ var warnUnexpectedRequire = function warnUnexpectedRequire() {
-/******/ console.warn(
-/******/ "[HMR] unexpected require(" + result.moduleId + ") to disposed module"
-/******/ );
-/******/ };
-/******/
-/******/ for (var id in hotUpdate) {
-/******/ if (Object.prototype.hasOwnProperty.call(hotUpdate, id)) {
-/******/ moduleId = toModuleId(id);
-/******/ /** @type {TODO} */
-/******/ var result;
-/******/ if (hotUpdate[id]) {
-/******/ result = getAffectedStuff(moduleId);
-/******/ } else {
-/******/ result = {
-/******/ type: "disposed",
-/******/ moduleId: id
-/******/ };
-/******/ }
-/******/ /** @type {Error|false} */
-/******/ var abortError = false;
-/******/ var doApply = false;
-/******/ var doDispose = false;
-/******/ var chainInfo = "";
-/******/ if (result.chain) {
-/******/ chainInfo = "\nUpdate propagation: " + result.chain.join(" -> ");
-/******/ }
-/******/ switch (result.type) {
-/******/ case "self-declined":
-/******/ if (options.onDeclined) options.onDeclined(result);
-/******/ if (!options.ignoreDeclined)
-/******/ abortError = new Error(
-/******/ "Aborted because of self decline: " +
-/******/ result.moduleId +
-/******/ chainInfo
-/******/ );
-/******/ break;
-/******/ case "declined":
-/******/ if (options.onDeclined) options.onDeclined(result);
-/******/ if (!options.ignoreDeclined)
-/******/ abortError = new Error(
-/******/ "Aborted because of declined dependency: " +
-/******/ result.moduleId +
-/******/ " in " +
-/******/ result.parentId +
-/******/ chainInfo
-/******/ );
-/******/ break;
-/******/ case "unaccepted":
-/******/ if (options.onUnaccepted) options.onUnaccepted(result);
-/******/ if (!options.ignoreUnaccepted)
-/******/ abortError = new Error(
-/******/ "Aborted because " + moduleId + " is not accepted" + chainInfo
-/******/ );
-/******/ break;
-/******/ case "accepted":
-/******/ if (options.onAccepted) options.onAccepted(result);
-/******/ doApply = true;
-/******/ break;
-/******/ case "disposed":
-/******/ if (options.onDisposed) options.onDisposed(result);
-/******/ doDispose = true;
-/******/ break;
-/******/ default:
-/******/ throw new Error("Unexception type " + result.type);
-/******/ }
-/******/ if (abortError) {
-/******/ hotSetStatus("abort");
-/******/ return Promise.reject(abortError);
-/******/ }
-/******/ if (doApply) {
-/******/ appliedUpdate[moduleId] = hotUpdate[moduleId];
-/******/ addAllToSet(outdatedModules, result.outdatedModules);
-/******/ for (moduleId in result.outdatedDependencies) {
-/******/ if (
-/******/ Object.prototype.hasOwnProperty.call(
-/******/ result.outdatedDependencies,
-/******/ moduleId
-/******/ )
-/******/ ) {
-/******/ if (!outdatedDependencies[moduleId])
-/******/ outdatedDependencies[moduleId] = [];
-/******/ addAllToSet(
-/******/ outdatedDependencies[moduleId],
-/******/ result.outdatedDependencies[moduleId]
-/******/ );
-/******/ }
-/******/ }
-/******/ }
-/******/ if (doDispose) {
-/******/ addAllToSet(outdatedModules, [result.moduleId]);
-/******/ appliedUpdate[moduleId] = warnUnexpectedRequire;
-/******/ }
-/******/ }
-/******/ }
-/******/
-/******/ // Store self accepted outdated modules to require them later by the module system
-/******/ var outdatedSelfAcceptedModules = [];
-/******/ for (i = 0; i < outdatedModules.length; i++) {
-/******/ moduleId = outdatedModules[i];
-/******/ if (
-/******/ installedModules[moduleId] &&
-/******/ installedModules[moduleId].hot._selfAccepted
-/******/ )
-/******/ outdatedSelfAcceptedModules.push({
-/******/ module: moduleId,
-/******/ errorHandler: installedModules[moduleId].hot._selfAccepted
-/******/ });
-/******/ }
-/******/
-/******/ // Now in "dispose" phase
-/******/ hotSetStatus("dispose");
-/******/ Object.keys(hotAvailableFilesMap).forEach(function(chunkId) {
-/******/ if (hotAvailableFilesMap[chunkId] === false) {
-/******/ hotDisposeChunk(chunkId);
-/******/ }
-/******/ });
-/******/
-/******/ var idx;
-/******/ var queue = outdatedModules.slice();
-/******/ while (queue.length > 0) {
-/******/ moduleId = queue.pop();
-/******/ module = installedModules[moduleId];
-/******/ if (!module) continue;
-/******/
-/******/ var data = {};
-/******/
-/******/ // Call dispose handlers
-/******/ var disposeHandlers = module.hot._disposeHandlers;
-/******/ for (j = 0; j < disposeHandlers.length; j++) {
-/******/ cb = disposeHandlers[j];
-/******/ cb(data);
-/******/ }
-/******/ hotCurrentModuleData[moduleId] = data;
-/******/
-/******/ // disable module (this disables requires from this module)
-/******/ module.hot.active = false;
-/******/
-/******/ // remove module from cache
-/******/ delete installedModules[moduleId];
-/******/
-/******/ // when disposing there is no need to call dispose handler
-/******/ delete outdatedDependencies[moduleId];
-/******/
-/******/ // remove "parents" references from all children
-/******/ for (j = 0; j < module.children.length; j++) {
-/******/ var child = installedModules[module.children[j]];
-/******/ if (!child) continue;
-/******/ idx = child.parents.indexOf(moduleId);
-/******/ if (idx >= 0) {
-/******/ child.parents.splice(idx, 1);
-/******/ }
-/******/ }
-/******/ }
-/******/
-/******/ // remove outdated dependency from module children
-/******/ var dependency;
-/******/ var moduleOutdatedDependencies;
-/******/ for (moduleId in outdatedDependencies) {
-/******/ if (
-/******/ Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)
-/******/ ) {
-/******/ module = installedModules[moduleId];
-/******/ if (module) {
-/******/ moduleOutdatedDependencies = outdatedDependencies[moduleId];
-/******/ for (j = 0; j < moduleOutdatedDependencies.length; j++) {
-/******/ dependency = moduleOutdatedDependencies[j];
-/******/ idx = module.children.indexOf(dependency);
-/******/ if (idx >= 0) module.children.splice(idx, 1);
-/******/ }
-/******/ }
-/******/ }
-/******/ }
-/******/
-/******/ // Not in "apply" phase
-/******/ hotSetStatus("apply");
-/******/
-/******/ hotCurrentHash = hotUpdateNewHash;
-/******/
-/******/ // insert new code
-/******/ for (moduleId in appliedUpdate) {
-/******/ if (Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {
-/******/ modules[moduleId] = appliedUpdate[moduleId];
-/******/ }
-/******/ }
-/******/
-/******/ // call accept handlers
-/******/ var error = null;
-/******/ for (moduleId in outdatedDependencies) {
-/******/ if (
-/******/ Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)
-/******/ ) {
-/******/ module = installedModules[moduleId];
-/******/ if (module) {
-/******/ moduleOutdatedDependencies = outdatedDependencies[moduleId];
-/******/ var callbacks = [];
-/******/ for (i = 0; i < moduleOutdatedDependencies.length; i++) {
-/******/ dependency = moduleOutdatedDependencies[i];
-/******/ cb = module.hot._acceptedDependencies[dependency];
-/******/ if (cb) {
-/******/ if (callbacks.indexOf(cb) !== -1) continue;
-/******/ callbacks.push(cb);
-/******/ }
-/******/ }
-/******/ for (i = 0; i < callbacks.length; i++) {
-/******/ cb = callbacks[i];
-/******/ try {
-/******/ cb(moduleOutdatedDependencies);
-/******/ } catch (err) {
-/******/ if (options.onErrored) {
-/******/ options.onErrored({
-/******/ type: "accept-errored",
-/******/ moduleId: moduleId,
-/******/ dependencyId: moduleOutdatedDependencies[i],
-/******/ error: err
-/******/ });
-/******/ }
-/******/ if (!options.ignoreErrored) {
-/******/ if (!error) error = err;
-/******/ }
-/******/ }
-/******/ }
-/******/ }
-/******/ }
-/******/ }
-/******/
-/******/ // Load self accepted modules
-/******/ for (i = 0; i < outdatedSelfAcceptedModules.length; i++) {
-/******/ var item = outdatedSelfAcceptedModules[i];
-/******/ moduleId = item.module;
-/******/ hotCurrentParents = [moduleId];
-/******/ try {
-/******/ __webpack_require__(moduleId);
-/******/ } catch (err) {
-/******/ if (typeof item.errorHandler === "function") {
-/******/ try {
-/******/ item.errorHandler(err);
-/******/ } catch (err2) {
-/******/ if (options.onErrored) {
-/******/ options.onErrored({
-/******/ type: "self-accept-error-handler-errored",
-/******/ moduleId: moduleId,
-/******/ error: err2,
-/******/ originalError: err
-/******/ });
-/******/ }
-/******/ if (!options.ignoreErrored) {
-/******/ if (!error) error = err2;
-/******/ }
-/******/ if (!error) error = err;
-/******/ }
-/******/ } else {
-/******/ if (options.onErrored) {
-/******/ options.onErrored({
-/******/ type: "self-accept-errored",
-/******/ moduleId: moduleId,
-/******/ error: err
-/******/ });
-/******/ }
-/******/ if (!options.ignoreErrored) {
-/******/ if (!error) error = err;
-/******/ }
-/******/ }
-/******/ }
-/******/ }
-/******/
-/******/ // handle errors in accept handlers and self accepted module load
-/******/ if (error) {
-/******/ hotSetStatus("fail");
-/******/ return Promise.reject(error);
-/******/ }
-/******/
-/******/ hotSetStatus("idle");
-/******/ return new Promise(function(resolve) {
-/******/ resolve(outdatedModules);
-/******/ });
-/******/ }
-/******/
-/******/ // The module cache
-/******/ var installedModules = {};
-/******/
-/******/ // The require function
-/******/ function __webpack_require__(moduleId) {
-/******/
-/******/ // Check if module is in cache
-/******/ if(installedModules[moduleId]) {
-/******/ return installedModules[moduleId].exports;
-/******/ }
-/******/ // Create a new module (and put it into the cache)
-/******/ var module = installedModules[moduleId] = {
-/******/ i: moduleId,
-/******/ l: false,
-/******/ exports: {},
-/******/ hot: hotCreateModule(moduleId),
-/******/ parents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),
-/******/ children: []
-/******/ };
-/******/
-/******/ // Execute the module function
-/******/ modules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));
-/******/
-/******/ // Flag the module as loaded
-/******/ module.l = true;
-/******/
-/******/ // Return the exports of the module
-/******/ return module.exports;
-/******/ }
-/******/
-/******/
-/******/ // expose the modules object (__webpack_modules__)
-/******/ __webpack_require__.m = modules;
-/******/
-/******/ // expose the module cache
-/******/ __webpack_require__.c = installedModules;
-/******/
-/******/ // define getter function for harmony exports
-/******/ __webpack_require__.d = function(exports, name, getter) {
-/******/ if(!__webpack_require__.o(exports, name)) {
-/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
-/******/ }
-/******/ };
-/******/
-/******/ // define __esModule on exports
-/******/ __webpack_require__.r = function(exports) {
-/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
-/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
-/******/ }
-/******/ Object.defineProperty(exports, '__esModule', { value: true });
-/******/ };
-/******/
-/******/ // create a fake namespace object
-/******/ // mode & 1: value is a module id, require it
-/******/ // mode & 2: merge all properties of value into the ns
-/******/ // mode & 4: return value when already ns object
-/******/ // mode & 8|1: behave like require
-/******/ __webpack_require__.t = function(value, mode) {
-/******/ if(mode & 1) value = __webpack_require__(value);
-/******/ if(mode & 8) return value;
-/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
-/******/ var ns = Object.create(null);
-/******/ __webpack_require__.r(ns);
-/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
-/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
-/******/ return ns;
-/******/ };
-/******/
-/******/ // getDefaultExport function for compatibility with non-harmony modules
-/******/ __webpack_require__.n = function(module) {
-/******/ var getter = module && module.__esModule ?
-/******/ function getDefault() { return module['default']; } :
-/******/ function getModuleExports() { return module; };
-/******/ __webpack_require__.d(getter, 'a', getter);
-/******/ return getter;
-/******/ };
-/******/
-/******/ // Object.prototype.hasOwnProperty.call
-/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
-/******/
-/******/ // __webpack_public_path__
-/******/ __webpack_require__.p = "";
-/******/
-/******/ // __webpack_hash__
-/******/ __webpack_require__.h = function() { return hotCurrentHash; };
-/******/
-/******/
-/******/ // Load entry module and return exports
-/******/ return hotCreateRequire(0)(__webpack_require__.s = 0);
-/******/ })
-/************************************************************************/
-/******/ ({
-
-/***/ "../node_modules/webpack-plugin-serve/client.js":
-/*!******************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/client.js ***!
- \******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\n\n/**\n * @note This file exists merely as an easy reference for folks adding it to their configuration entries\n */\n\n(() => {\n // eslint-disable-next-line global-require\n const { run } = __webpack_require__(/*! ./lib/client/client */ \"../node_modules/webpack-plugin-serve/lib/client/client.js\");\n run(__webpack_require__.h(), {\"compress\":null,\"historyFallback\":false,\"hmr\":true,\"host\":\"localhost\",\"liveReload\":true,\"log\":{\"level\":\"info\",\"prefix\":{\"template\":\"{{level}}\"},\"name\":\"webpack-plugin-serve\"},\"open\":true,\"port\":55555,\"progress\":true,\"secure\":false,\"static\":[\"../../public/\"],\"status\":true,\"address\":\"127.0.0.1:55555\",\"compilerName\":null,\"wpsId\":\"28d76a1\"});\n})();\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2NsaWVudC5qcz82ZGM0Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFNBQVMsTUFBTSxHQUFHLG1CQUFPLENBQUMsc0ZBQXFCO0FBQy9DLE1BQU0sdUJBQWdCLEVBQUUsbVZBQVc7QUFDbkMsQ0FBQyIsImZpbGUiOiIuLi9ub2RlX21vZHVsZXMvd2VicGFjay1wbHVnaW4tc2VydmUvY2xpZW50LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgQ29weXJpZ2h0IMKpIDIwMTggQW5kcmV3IFBvd2VsbFxuXG4gIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAgTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLlxuXG4gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhpcyBTb3VyY2UgQ29kZSBGb3JtLlxuKi9cblxuLyoqXG4gKiBAbm90ZSBUaGlzIGZpbGUgZXhpc3RzIG1lcmVseSBhcyBhbiBlYXN5IHJlZmVyZW5jZSBmb3IgZm9sa3MgYWRkaW5nIGl0IHRvIHRoZWlyIGNvbmZpZ3VyYXRpb24gZW50cmllc1xuICovXG5cbigoKSA9PiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBnbG9iYWwtcmVxdWlyZVxuICBjb25zdCB7IHJ1biB9ID0gcmVxdWlyZSgnLi9saWIvY2xpZW50L2NsaWVudCcpO1xuICBydW4oX193ZWJwYWNrX2hhc2hfXywgyo7JkMm5yZRvc8edyozJucedcyk7XG59KSgpO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/client.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/ClientSocket.js":
-/*!***********************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/ClientSocket.js ***!
- \***********************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst { error, refresh, warn } = __webpack_require__(/*! ./log */ \"../node_modules/webpack-plugin-serve/lib/client/log.js\");\n\n// ignore 1008 (HTTP 400 equivalent) and 1011 (HTTP 500 equivalent)\nconst ignoreCodes = [1008, 1011];\nconst maxAttempts = 10;\n\nclass ClientSocket {\n constructor(options, ...args) {\n this.args = args;\n this.attempts = 0;\n this.eventHandlers = [];\n this.options = options;\n this.retrying = false;\n\n this.connect();\n }\n\n addEventListener(...args) {\n this.eventHandlers.push(args);\n this.socket.addEventListener(...args);\n }\n\n close() {\n this.socket.close();\n }\n\n connect() {\n if (this.socket) {\n delete this.socket;\n }\n\n this.connecting = true;\n\n this.socket = new WebSocket(...this.args);\n\n if (this.options.retry) {\n this.socket.addEventListener('close', (event) => {\n if (ignoreCodes.includes(event.code)) {\n return;\n }\n\n if (!this.retrying) {\n warn(`The WebSocket was closed and will attempt to reconnect`);\n }\n\n this.reconnect();\n });\n } else {\n this.socket.onclose = () => warn(`The client WebSocket was closed. ${refresh}`);\n }\n\n this.socket.addEventListener('open', () => {\n this.attempts = 0;\n this.retrying = false;\n });\n\n if (this.eventHandlers.length) {\n for (const [name, fn] of this.eventHandlers) {\n this.socket.addEventListener(name, fn);\n }\n }\n }\n\n reconnect() {\n this.attempts += 1;\n this.retrying = true;\n\n if (this.attempts > maxAttempts) {\n error(`The WebSocket could not be reconnected. ${refresh}`);\n this.retrying = false;\n return;\n }\n\n const timeout = 1000 * this.attempts ** 2;\n\n setTimeout(() => this.connect(this.args), timeout);\n }\n\n removeEventListener(...args) {\n const [, handler] = args;\n this.eventHandlers = this.eventHandlers.filter(([, fn]) => fn === handler);\n this.socket.removeEventListener(...args);\n }\n}\n\nmodule.exports = { ClientSocket };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvQ2xpZW50U29ja2V0LmpzP2RiNjEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTyx1QkFBdUIsR0FBRyxtQkFBTyxDQUFDLHFFQUFPOztBQUVoRDtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7O0FBRUE7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxPQUFPO0FBQ1AsS0FBSztBQUNMLDJFQUEyRSxRQUFRO0FBQ25GOztBQUVBO0FBQ0E7QUFDQTtBQUNBLEtBQUs7O0FBRUw7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLHVEQUF1RCxRQUFRO0FBQy9EO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IiLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvQ2xpZW50U29ja2V0LmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgQ29weXJpZ2h0IMKpIDIwMTggQW5kcmV3IFBvd2VsbFxuXG4gIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAgTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLlxuXG4gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhpcyBTb3VyY2UgQ29kZSBGb3JtLlxuKi9cbmNvbnN0IHsgZXJyb3IsIHJlZnJlc2gsIHdhcm4gfSA9IHJlcXVpcmUoJy4vbG9nJyk7XG5cbi8vIGlnbm9yZSAxMDA4IChIVFRQIDQwMCBlcXVpdmFsZW50KSBhbmQgMTAxMSAoSFRUUCA1MDAgZXF1aXZhbGVudClcbmNvbnN0IGlnbm9yZUNvZGVzID0gWzEwMDgsIDEwMTFdO1xuY29uc3QgbWF4QXR0ZW1wdHMgPSAxMDtcblxuY2xhc3MgQ2xpZW50U29ja2V0IHtcbiAgY29uc3RydWN0b3Iob3B0aW9ucywgLi4uYXJncykge1xuICAgIHRoaXMuYXJncyA9IGFyZ3M7XG4gICAgdGhpcy5hdHRlbXB0cyA9IDA7XG4gICAgdGhpcy5ldmVudEhhbmRsZXJzID0gW107XG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcbiAgICB0aGlzLnJldHJ5aW5nID0gZmFsc2U7XG5cbiAgICB0aGlzLmNvbm5lY3QoKTtcbiAgfVxuXG4gIGFkZEV2ZW50TGlzdGVuZXIoLi4uYXJncykge1xuICAgIHRoaXMuZXZlbnRIYW5kbGVycy5wdXNoKGFyZ3MpO1xuICAgIHRoaXMuc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoLi4uYXJncyk7XG4gIH1cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLnNvY2tldC5jbG9zZSgpO1xuICB9XG5cbiAgY29ubmVjdCgpIHtcbiAgICBpZiAodGhpcy5zb2NrZXQpIHtcbiAgICAgIGRlbGV0ZSB0aGlzLnNvY2tldDtcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3RpbmcgPSB0cnVlO1xuXG4gICAgdGhpcy5zb2NrZXQgPSBuZXcgV2ViU29ja2V0KC4uLnRoaXMuYXJncyk7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnJldHJ5KSB7XG4gICAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdjbG9zZScsIChldmVudCkgPT4ge1xuICAgICAgICBpZiAoaWdub3JlQ29kZXMuaW5jbHVkZXMoZXZlbnQuY29kZSkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucmV0cnlpbmcpIHtcbiAgICAgICAgICB3YXJuKGBUaGUgV2ViU29ja2V0IHdhcyBjbG9zZWQgYW5kIHdpbGwgYXR0ZW1wdCB0byByZWNvbm5lY3RgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucmVjb25uZWN0KCk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zb2NrZXQub25jbG9zZSA9ICgpID0+IHdhcm4oYFRoZSBjbGllbnQgV2ViU29ja2V0IHdhcyBjbG9zZWQuICR7cmVmcmVzaH1gKTtcbiAgICB9XG5cbiAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdvcGVuJywgKCkgPT4ge1xuICAgICAgdGhpcy5hdHRlbXB0cyA9IDA7XG4gICAgICB0aGlzLnJldHJ5aW5nID0gZmFsc2U7XG4gICAgfSk7XG5cbiAgICBpZiAodGhpcy5ldmVudEhhbmRsZXJzLmxlbmd0aCkge1xuICAgICAgZm9yIChjb25zdCBbbmFtZSwgZm5dIG9mIHRoaXMuZXZlbnRIYW5kbGVycykge1xuICAgICAgICB0aGlzLnNvY2tldC5hZGRFdmVudExpc3RlbmVyKG5hbWUsIGZuKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZWNvbm5lY3QoKSB7XG4gICAgdGhpcy5hdHRlbXB0cyArPSAxO1xuICAgIHRoaXMucmV0cnlpbmcgPSB0cnVlO1xuXG4gICAgaWYgKHRoaXMuYXR0ZW1wdHMgPiBtYXhBdHRlbXB0cykge1xuICAgICAgZXJyb3IoYFRoZSBXZWJTb2NrZXQgY291bGQgbm90IGJlIHJlY29ubmVjdGVkLiAke3JlZnJlc2h9YCk7XG4gICAgICB0aGlzLnJldHJ5aW5nID0gZmFsc2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdGltZW91dCA9IDEwMDAgKiB0aGlzLmF0dGVtcHRzICoqIDI7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuY29ubmVjdCh0aGlzLmFyZ3MpLCB0aW1lb3V0KTtcbiAgfVxuXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIoLi4uYXJncykge1xuICAgIGNvbnN0IFssIGhhbmRsZXJdID0gYXJncztcbiAgICB0aGlzLmV2ZW50SGFuZGxlcnMgPSB0aGlzLmV2ZW50SGFuZGxlcnMuZmlsdGVyKChbLCBmbl0pID0+IGZuID09PSBoYW5kbGVyKTtcbiAgICB0aGlzLnNvY2tldC5yZW1vdmVFdmVudExpc3RlbmVyKC4uLmFyZ3MpO1xuICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0geyBDbGllbnRTb2NrZXQgfTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/ClientSocket.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/client.js":
-/*!*****************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/client.js ***!
- \*****************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\n/* eslint-disable global-require */\nconst run = (buildHash, options) => {\n const { ClientSocket } = __webpack_require__(/*! ./ClientSocket */ \"../node_modules/webpack-plugin-serve/lib/client/ClientSocket.js\");\n const { replace } = __webpack_require__(/*! ./hmr */ \"../node_modules/webpack-plugin-serve/lib/client/hmr.js\");\n const { error, info, warn } = __webpack_require__(/*! ./log */ \"../node_modules/webpack-plugin-serve/lib/client/log.js\");\n\n const { address, client = {}, progress, secure, status } = options;\n const protocol = secure ? 'wss' : 'ws';\n const socket = new ClientSocket(client, `${protocol}://${client.address || address}/wps`);\n\n const { compilerName } = options;\n\n options.firstInstance = !window.webpackPluginServe; // eslint-disable-line no-param-reassign\n window.webpackPluginServe = window.webpackPluginServe || {\n compilers: {}\n };\n\n window.webpackPluginServe.compilers[compilerName] = {};\n\n // prevents ECONNRESET errors on the server\n window.addEventListener('beforeunload', () => socket.close());\n\n socket.addEventListener('message', (message) => {\n const { action, data = {} } = JSON.parse(message.data);\n const { errors, hash = '<?>', warnings } = data || {};\n const shortHash = hash.slice(0, 7);\n const identifier = options.compilerName ? `(Compiler: ${options.compilerName}) ` : '';\n const compiler = window.webpackPluginServe.compilers[compilerName];\n const { wpsId } = data;\n\n switch (action) {\n case 'build':\n compiler.done = false;\n break;\n case 'connected':\n info(`WebSocket connected ${identifier}`);\n break;\n case 'done':\n compiler.done = true;\n break;\n case 'problems':\n if (data.errors.length) {\n error(`${identifier}Build ${shortHash} produced errors:\\n`, errors);\n }\n if (data.warnings.length) {\n warn(`${identifier}Build ${shortHash} produced warnings:\\n`, warnings);\n }\n break;\n case 'reload':\n window.location.reload();\n break;\n case 'replace':\n // actions with a wpsId in tow indicate actions that should only be executed when the wpsId sent\n // matches the wpsId set in options. this is how we can identify multiple compilers in the\n // client.\n if (wpsId && wpsId === options.wpsId) {\n replace(buildHash, hash);\n }\n break;\n default:\n }\n });\n\n if (options.firstInstance) {\n if (progress === 'minimal') {\n const { init } = __webpack_require__(/*! ./overlays/progress-minimal */ \"../node_modules/webpack-plugin-serve/lib/client/overlays/progress-minimal.js\");\n init(options, socket);\n } else if (progress) {\n const { init } = __webpack_require__(/*! ./overlays/progress */ \"../node_modules/webpack-plugin-serve/lib/client/overlays/progress.js\");\n init(options, socket);\n }\n\n if (status) {\n const { init } = __webpack_require__(/*! ./overlays/status */ \"../node_modules/webpack-plugin-serve/lib/client/overlays/status.js\");\n init(options, socket);\n }\n\n if (true) {\n info('Hot Module Replacement is active');\n\n if (options.liveReload) {\n info('Live Reload taking precedence over Hot Module Replacement');\n }\n } else {}\n\n if (false) {}\n }\n};\n\nmodule.exports = { run };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvY2xpZW50LmpzP2NkZDciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQVMsZUFBZSxHQUFHLG1CQUFPLENBQUMsdUZBQWdCO0FBQ25ELFNBQVMsVUFBVSxHQUFHLG1CQUFPLENBQUMscUVBQU87QUFDckMsU0FBUyxvQkFBb0IsR0FBRyxtQkFBTyxDQUFDLHFFQUFPOztBQUUvQyxTQUFTLHFCQUFxQiw0QkFBNEI7QUFDMUQ7QUFDQSw2Q0FBNkMsU0FBUyxLQUFLLDBCQUEwQjs7QUFFckYsU0FBUyxlQUFlOztBQUV4QixxREFBcUQ7QUFDckQ7QUFDQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLGtCQUFrQixFQUFFO0FBQy9CLFdBQVcsaUNBQWlDO0FBQzVDO0FBQ0EsNERBQTRELHFCQUFxQjtBQUNqRjtBQUNBLFdBQVcsUUFBUTs7QUFFbkI7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG9DQUFvQyxXQUFXO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLG1CQUFtQixXQUFXLFFBQVEsVUFBVTtBQUNoRDtBQUNBO0FBQ0Esa0JBQWtCLFdBQVcsUUFBUSxVQUFVO0FBQy9DO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7O0FBRUg7QUFDQTtBQUNBLGFBQWEsT0FBTyxHQUFHLG1CQUFPLENBQUMsaUhBQTZCO0FBQzVEO0FBQ0EsS0FBSztBQUNMLGFBQWEsT0FBTyxHQUFHLG1CQUFPLENBQUMsaUdBQXFCO0FBQ3BEO0FBQ0E7O0FBRUE7QUFDQSxhQUFhLE9BQU8sR0FBRyxtQkFBTyxDQUFDLDZGQUFtQjtBQUNsRDtBQUNBOztBQUVBLFFBQVEsSUFBVTtBQUNsQjs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxLQUFLLE1BQU0sRUFFTjs7QUFFTCxRQUFRLEtBQWlDLEVBQUUsRUFFdEM7QUFDTDtBQUNBOztBQUVBLGtCQUFrQiIsImZpbGUiOiIuLi9ub2RlX21vZHVsZXMvd2VicGFjay1wbHVnaW4tc2VydmUvbGliL2NsaWVudC9jbGllbnQuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBDb3B5cmlnaHQgwqkgMjAxOCBBbmRyZXcgUG93ZWxsXG5cbiAgVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uXG5cbiAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbiAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGlzIFNvdXJjZSBDb2RlIEZvcm0uXG4qL1xuLyogZXNsaW50LWRpc2FibGUgZ2xvYmFsLXJlcXVpcmUgKi9cbmNvbnN0IHJ1biA9IChidWlsZEhhc2gsIG9wdGlvbnMpID0+IHtcbiAgY29uc3QgeyBDbGllbnRTb2NrZXQgfSA9IHJlcXVpcmUoJy4vQ2xpZW50U29ja2V0Jyk7XG4gIGNvbnN0IHsgcmVwbGFjZSB9ID0gcmVxdWlyZSgnLi9obXInKTtcbiAgY29uc3QgeyBlcnJvciwgaW5mbywgd2FybiB9ID0gcmVxdWlyZSgnLi9sb2cnKTtcblxuICBjb25zdCB7IGFkZHJlc3MsIGNsaWVudCA9IHt9LCBwcm9ncmVzcywgc2VjdXJlLCBzdGF0dXMgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IHByb3RvY29sID0gc2VjdXJlID8gJ3dzcycgOiAnd3MnO1xuICBjb25zdCBzb2NrZXQgPSBuZXcgQ2xpZW50U29ja2V0KGNsaWVudCwgYCR7cHJvdG9jb2x9Oi8vJHtjbGllbnQuYWRkcmVzcyB8fCBhZGRyZXNzfS93cHNgKTtcblxuICBjb25zdCB7IGNvbXBpbGVyTmFtZSB9ID0gb3B0aW9ucztcblxuICBvcHRpb25zLmZpcnN0SW5zdGFuY2UgPSAhd2luZG93LndlYnBhY2tQbHVnaW5TZXJ2ZTsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICB3aW5kb3cud2VicGFja1BsdWdpblNlcnZlID0gd2luZG93LndlYnBhY2tQbHVnaW5TZXJ2ZSB8fCB7XG4gICAgY29tcGlsZXJzOiB7fVxuICB9O1xuXG4gIHdpbmRvdy53ZWJwYWNrUGx1Z2luU2VydmUuY29tcGlsZXJzW2NvbXBpbGVyTmFtZV0gPSB7fTtcblxuICAvLyBwcmV2ZW50cyBFQ09OTlJFU0VUIGVycm9ycyBvbiB0aGUgc2VydmVyXG4gIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdiZWZvcmV1bmxvYWQnLCAoKSA9PiBzb2NrZXQuY2xvc2UoKSk7XG5cbiAgc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobWVzc2FnZSkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aW9uLCBkYXRhID0ge30gfSA9IEpTT04ucGFyc2UobWVzc2FnZS5kYXRhKTtcbiAgICBjb25zdCB7IGVycm9ycywgaGFzaCA9ICc8Pz4nLCB3YXJuaW5ncyB9ID0gZGF0YSB8fCB7fTtcbiAgICBjb25zdCBzaG9ydEhhc2ggPSBoYXNoLnNsaWNlKDAsIDcpO1xuICAgIGNvbnN0IGlkZW50aWZpZXIgPSBvcHRpb25zLmNvbXBpbGVyTmFtZSA/IGAoQ29tcGlsZXI6ICR7b3B0aW9ucy5jb21waWxlck5hbWV9KSBgIDogJyc7XG4gICAgY29uc3QgY29tcGlsZXIgPSB3aW5kb3cud2VicGFja1BsdWdpblNlcnZlLmNvbXBpbGVyc1tjb21waWxlck5hbWVdO1xuICAgIGNvbnN0IHsgd3BzSWQgfSA9IGRhdGE7XG5cbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgY2FzZSAnYnVpbGQnOlxuICAgICAgICBjb21waWxlci5kb25lID0gZmFsc2U7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnY29ubmVjdGVkJzpcbiAgICAgICAgaW5mbyhgV2ViU29ja2V0IGNvbm5lY3RlZCAke2lkZW50aWZpZXJ9YCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnZG9uZSc6XG4gICAgICAgIGNvbXBpbGVyLmRvbmUgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3Byb2JsZW1zJzpcbiAgICAgICAgaWYgKGRhdGEuZXJyb3JzLmxlbmd0aCkge1xuICAgICAgICAgIGVycm9yKGAke2lkZW50aWZpZXJ9QnVpbGQgJHtzaG9ydEhhc2h9IHByb2R1Y2VkIGVycm9yczpcXG5gLCBlcnJvcnMpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChkYXRhLndhcm5pbmdzLmxlbmd0aCkge1xuICAgICAgICAgIHdhcm4oYCR7aWRlbnRpZmllcn1CdWlsZCAke3Nob3J0SGFzaH0gcHJvZHVjZWQgd2FybmluZ3M6XFxuYCwgd2FybmluZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmVsb2FkJzpcbiAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JlcGxhY2UnOlxuICAgICAgICAvLyBhY3Rpb25zIHdpdGggYSB3cHNJZCBpbiB0b3cgaW5kaWNhdGUgYWN0aW9ucyB0aGF0IHNob3VsZCBvbmx5IGJlIGV4ZWN1dGVkIHdoZW4gdGhlIHdwc0lkIHNlbnRcbiAgICAgICAgLy8gbWF0Y2hlcyB0aGUgd3BzSWQgc2V0IGluIG9wdGlvbnMuIHRoaXMgaXMgaG93IHdlIGNhbiBpZGVudGlmeSBtdWx0aXBsZSBjb21waWxlcnMgaW4gdGhlXG4gICAgICAgIC8vIGNsaWVudC5cbiAgICAgICAgaWYgKHdwc0lkICYmIHdwc0lkID09PSBvcHRpb25zLndwc0lkKSB7XG4gICAgICAgICAgcmVwbGFjZShidWlsZEhhc2gsIGhhc2gpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICB9XG4gIH0pO1xuXG4gIGlmIChvcHRpb25zLmZpcnN0SW5zdGFuY2UpIHtcbiAgICBpZiAocHJvZ3Jlc3MgPT09ICdtaW5pbWFsJykge1xuICAgICAgY29uc3QgeyBpbml0IH0gPSByZXF1aXJlKCcuL292ZXJsYXlzL3Byb2dyZXNzLW1pbmltYWwnKTtcbiAgICAgIGluaXQob3B0aW9ucywgc29ja2V0KTtcbiAgICB9IGVsc2UgaWYgKHByb2dyZXNzKSB7XG4gICAgICBjb25zdCB7IGluaXQgfSA9IHJlcXVpcmUoJy4vb3ZlcmxheXMvcHJvZ3Jlc3MnKTtcbiAgICAgIGluaXQob3B0aW9ucywgc29ja2V0KTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzKSB7XG4gICAgICBjb25zdCB7IGluaXQgfSA9IHJlcXVpcmUoJy4vb3ZlcmxheXMvc3RhdHVzJyk7XG4gICAgICBpbml0KG9wdGlvbnMsIHNvY2tldCk7XG4gICAgfVxuXG4gICAgaWYgKG1vZHVsZS5ob3QpIHtcbiAgICAgIGluZm8oJ0hvdCBNb2R1bGUgUmVwbGFjZW1lbnQgaXMgYWN0aXZlJyk7XG5cbiAgICAgIGlmIChvcHRpb25zLmxpdmVSZWxvYWQpIHtcbiAgICAgICAgaW5mbygnTGl2ZSBSZWxvYWQgdGFraW5nIHByZWNlZGVuY2Ugb3ZlciBIb3QgTW9kdWxlIFJlcGxhY2VtZW50Jyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHdhcm4oJ0hvdCBNb2R1bGUgUmVwbGFjZW1lbnQgaXMgaW5hY3RpdmUnKTtcbiAgICB9XG5cbiAgICBpZiAoIW1vZHVsZS5ob3QgJiYgb3B0aW9ucy5saXZlUmVsb2FkKSB7XG4gICAgICBpbmZvKCdMaXZlIFJlbG9hZCBpcyBhY3RpdmUnKTtcbiAgICB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0geyBydW4gfTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/client.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/hmr.js":
-/*!**************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/hmr.js ***!
- \**************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst { error, info, refresh, warn } = __webpack_require__(/*! ./log */ \"../node_modules/webpack-plugin-serve/lib/client/log.js\");\n\nlet latest = true;\n\nconst hmr = {\n onUnaccepted(data) {\n warn('Change in unaccepted module(s):\\n', data);\n warn(data);\n },\n onDeclined(data) {\n warn('Change in declined module(s):\\n', data);\n },\n onErrored(data) {\n error('Error in module(s):\\n', data);\n }\n};\n\nconst replace = async (buildHash, hash) => {\n const { apply, check, status } = module.hot;\n\n if (hash) {\n // eslint-disable-next-line no-undef\n latest = hash.includes(buildHash);\n }\n\n if (!latest) {\n const hmrStatus = status();\n\n if (hmrStatus === 'abort' || hmrStatus === 'fail') {\n warn(`An HMR update was triggered, but ${hmrStatus}ed. ${refresh}`);\n return;\n }\n\n let modules;\n\n try {\n modules = await check(false);\n } catch (e) {\n // noop. this typically happens when a MultiCompiler has more than one compiler that includes\n // this script, and an update happens with a hash that isn't part of the compiler/module this\n // instance was loaded for.\n return;\n }\n\n if (!modules) {\n warn(`No modules found for replacement. ${refresh}`);\n return;\n }\n\n modules = await apply(hmr);\n\n if (modules) {\n latest = true;\n info(`Build ${hash.slice(0, 7)} replaced:\\n`, modules);\n }\n }\n};\n\nmodule.exports = { replace };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvaG1yLmpzP2M4YTQiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTyw2QkFBNkIsR0FBRyxtQkFBTyxDQUFDLHFFQUFPOztBQUV0RDs7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDtBQUNBO0FBQ0EsR0FBRztBQUNIO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0EsU0FBUyx1QkFBdUI7O0FBRWhDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQSwrQ0FBK0MsVUFBVSxNQUFNLFFBQVE7QUFDdkU7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0EsS0FBSztBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxnREFBZ0QsUUFBUTtBQUN4RDtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxvQkFBb0IsaUJBQWlCO0FBQ3JDO0FBQ0E7QUFDQTs7QUFFQSxrQkFBa0IiLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvaG1yLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgQ29weXJpZ2h0IMKpIDIwMTggQW5kcmV3IFBvd2VsbFxuXG4gIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAgTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLlxuXG4gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhpcyBTb3VyY2UgQ29kZSBGb3JtLlxuKi9cbmNvbnN0IHsgZXJyb3IsIGluZm8sIHJlZnJlc2gsIHdhcm4gfSA9IHJlcXVpcmUoJy4vbG9nJyk7XG5cbmxldCBsYXRlc3QgPSB0cnVlO1xuXG5jb25zdCBobXIgPSB7XG4gIG9uVW5hY2NlcHRlZChkYXRhKSB7XG4gICAgd2FybignQ2hhbmdlIGluIHVuYWNjZXB0ZWQgbW9kdWxlKHMpOlxcbicsIGRhdGEpO1xuICAgIHdhcm4oZGF0YSk7XG4gIH0sXG4gIG9uRGVjbGluZWQoZGF0YSkge1xuICAgIHdhcm4oJ0NoYW5nZSBpbiBkZWNsaW5lZCBtb2R1bGUocyk6XFxuJywgZGF0YSk7XG4gIH0sXG4gIG9uRXJyb3JlZChkYXRhKSB7XG4gICAgZXJyb3IoJ0Vycm9yIGluIG1vZHVsZShzKTpcXG4nLCBkYXRhKTtcbiAgfVxufTtcblxuY29uc3QgcmVwbGFjZSA9IGFzeW5jIChidWlsZEhhc2gsIGhhc2gpID0+IHtcbiAgY29uc3QgeyBhcHBseSwgY2hlY2ssIHN0YXR1cyB9ID0gbW9kdWxlLmhvdDtcblxuICBpZiAoaGFzaCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bmRlZlxuICAgIGxhdGVzdCA9IGhhc2guaW5jbHVkZXMoYnVpbGRIYXNoKTtcbiAgfVxuXG4gIGlmICghbGF0ZXN0KSB7XG4gICAgY29uc3QgaG1yU3RhdHVzID0gc3RhdHVzKCk7XG5cbiAgICBpZiAoaG1yU3RhdHVzID09PSAnYWJvcnQnIHx8IGhtclN0YXR1cyA9PT0gJ2ZhaWwnKSB7XG4gICAgICB3YXJuKGBBbiBITVIgdXBkYXRlIHdhcyB0cmlnZ2VyZWQsIGJ1dCAke2htclN0YXR1c31lZC4gJHtyZWZyZXNofWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBtb2R1bGVzO1xuXG4gICAgdHJ5IHtcbiAgICAgIG1vZHVsZXMgPSBhd2FpdCBjaGVjayhmYWxzZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gbm9vcC4gdGhpcyB0eXBpY2FsbHkgaGFwcGVucyB3aGVuIGEgTXVsdGlDb21waWxlciBoYXMgbW9yZSB0aGFuIG9uZSBjb21waWxlciB0aGF0IGluY2x1ZGVzXG4gICAgICAvLyB0aGlzIHNjcmlwdCwgYW5kIGFuIHVwZGF0ZSBoYXBwZW5zIHdpdGggYSBoYXNoIHRoYXQgaXNuJ3QgcGFydCBvZiB0aGUgY29tcGlsZXIvbW9kdWxlIHRoaXNcbiAgICAgIC8vIGluc3RhbmNlIHdhcyBsb2FkZWQgZm9yLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghbW9kdWxlcykge1xuICAgICAgd2FybihgTm8gbW9kdWxlcyBmb3VuZCBmb3IgcmVwbGFjZW1lbnQuICR7cmVmcmVzaH1gKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtb2R1bGVzID0gYXdhaXQgYXBwbHkoaG1yKTtcblxuICAgIGlmIChtb2R1bGVzKSB7XG4gICAgICBsYXRlc3QgPSB0cnVlO1xuICAgICAgaW5mbyhgQnVpbGQgJHtoYXNoLnNsaWNlKDAsIDcpfSByZXBsYWNlZDpcXG5gLCBtb2R1bGVzKTtcbiAgICB9XG4gIH1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0geyByZXBsYWNlIH07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/hmr.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/log.js":
-/*!**************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/log.js ***!
- \**************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst { error, info, warn } = console;\nconst log = {\n error: error.bind(console, '⬡ wps:'),\n info: info.bind(console, '⬡ wps:'),\n refresh: 'Please refresh the page',\n warn: warn.bind(console, '⬡ wps:')\n};\n\nmodule.exports = log;\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvbG9nLmpzP2Y5NzciXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTyxvQkFBb0I7QUFDM0I7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBIiwiZmlsZSI6Ii4uL25vZGVfbW9kdWxlcy93ZWJwYWNrLXBsdWdpbi1zZXJ2ZS9saWIvY2xpZW50L2xvZy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gIENvcHlyaWdodCDCqSAyMDE4IEFuZHJldyBQb3dlbGxcblxuICBUaGlzIFNvdXJjZSBDb2RlIEZvcm0gaXMgc3ViamVjdCB0byB0aGUgdGVybXMgb2YgdGhlIE1vemlsbGEgUHVibGljXG4gIExpY2Vuc2UsIHYuIDIuMC4gSWYgYSBjb3B5IG9mIHRoZSBNUEwgd2FzIG5vdCBkaXN0cmlidXRlZCB3aXRoIHRoaXNcbiAgZmlsZSwgWW91IGNhbiBvYnRhaW4gb25lIGF0IGh0dHA6Ly9tb3ppbGxhLm9yZy9NUEwvMi4wLy5cblxuICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZVxuICBpbmNsdWRlZCBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoaXMgU291cmNlIENvZGUgRm9ybS5cbiovXG5jb25zdCB7IGVycm9yLCBpbmZvLCB3YXJuIH0gPSBjb25zb2xlO1xuY29uc3QgbG9nID0ge1xuICBlcnJvcjogZXJyb3IuYmluZChjb25zb2xlLCAn4qyhIHdwczonKSxcbiAgaW5mbzogaW5mby5iaW5kKGNvbnNvbGUsICfirKEgd3BzOicpLFxuICByZWZyZXNoOiAnUGxlYXNlIHJlZnJlc2ggdGhlIHBhZ2UnLFxuICB3YXJuOiB3YXJuLmJpbmQoY29uc29sZSwgJ+KsoSB3cHM6Jylcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gbG9nO1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/log.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/overlays/progress-minimal.js":
-/*!************************************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/overlays/progress-minimal.js ***!
- \************************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell, Matheus Gonçalves da Silva\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst { addCss, addHtml } = __webpack_require__(/*! ./util */ \"../node_modules/webpack-plugin-serve/lib/client/overlays/util.js\");\n\nconst ns = 'wps-progress-minimal';\nconst html = `\n<div id=\"${ns}\" class=\"${ns}-hidden\">\n <div id=\"${ns}-bar\"></div>\n</div>\n`;\nconst css = `\n#${ns} {\n position: absolute;\n top: 0;\n left: 0;\n height: 4px;\n width: 100vw;\n z-index: 2147483645;\n}\n\n#${ns}-bar {\n width: 0%;\n height: 4px;\n background-color: rgb(186, 223, 172);\n transition: width 1s ease-in-out;\n}\n\n.${ns}-hidden{\n display: none;\n}\n`;\n\nconst update = (percent) => {\n const bar = document.querySelector(`#${ns}-bar`);\n bar.style.width = `${percent}%`;\n};\n\nconst reset = (wrapper) => {\n wrapper.classList.add(`${ns}-hidden`);\n setTimeout(() => update(0), 1e3);\n};\n\nconst init = (options, socket) => {\n if (options.firstInstance) {\n document.addEventListener('DOMContentLoaded', () => {\n addHtml(html);\n addCss(css);\n });\n }\n\n socket.addEventListener('message', (message) => {\n const { action, data } = JSON.parse(message.data);\n\n if (action !== 'progress') {\n return;\n }\n\n const percent = Math.floor(data.percent * 100);\n const wrapper = document.querySelector(`#${ns}`);\n\n wrapper.classList.remove(`${ns}-hidden`);\n\n if (data.percent === 1) {\n setTimeout(() => reset(wrapper), 5e3);\n }\n\n update(percent);\n });\n};\n\nmodule.exports = {\n init\n};\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvb3ZlcmxheXMvcHJvZ3Jlc3MtbWluaW1hbC5qcz82NjFjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sa0JBQWtCLEdBQUcsbUJBQU8sQ0FBQyxnRkFBUTs7QUFFNUM7QUFDQTtBQUNBLFdBQVcsR0FBRyxXQUFXLEdBQUc7QUFDNUIsYUFBYSxHQUFHO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBO0FBQ0EseUNBQXlDLEdBQUc7QUFDNUMsdUJBQXVCLFFBQVE7QUFDL0I7O0FBRUE7QUFDQSwyQkFBMkIsR0FBRztBQUM5QjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxXQUFXLGVBQWU7O0FBRTFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLCtDQUErQyxHQUFHOztBQUVsRCxnQ0FBZ0MsR0FBRzs7QUFFbkM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBO0FBQ0E7QUFDQSIsImZpbGUiOiIuLi9ub2RlX21vZHVsZXMvd2VicGFjay1wbHVnaW4tc2VydmUvbGliL2NsaWVudC9vdmVybGF5cy9wcm9ncmVzcy1taW5pbWFsLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgQ29weXJpZ2h0IMKpIDIwMTggQW5kcmV3IFBvd2VsbCwgTWF0aGV1cyBHb27Dp2FsdmVzIGRhIFNpbHZhXG5cbiAgVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uXG5cbiAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbiAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGlzIFNvdXJjZSBDb2RlIEZvcm0uXG4qL1xuY29uc3QgeyBhZGRDc3MsIGFkZEh0bWwgfSA9IHJlcXVpcmUoJy4vdXRpbCcpO1xuXG5jb25zdCBucyA9ICd3cHMtcHJvZ3Jlc3MtbWluaW1hbCc7XG5jb25zdCBodG1sID0gYFxuPGRpdiBpZD1cIiR7bnN9XCIgY2xhc3M9XCIke25zfS1oaWRkZW5cIj5cbiAgPGRpdiBpZD1cIiR7bnN9LWJhclwiPjwvZGl2PlxuPC9kaXY+XG5gO1xuY29uc3QgY3NzID0gYFxuIyR7bnN9IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGhlaWdodDogNHB4O1xuICB3aWR0aDogMTAwdnc7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDU7XG59XG5cbiMke25zfS1iYXIge1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMTg2LCAyMjMsIDE3Mik7XG4gIHRyYW5zaXRpb246IHdpZHRoIDFzIGVhc2UtaW4tb3V0O1xufVxuXG4uJHtuc30taGlkZGVue1xuICBkaXNwbGF5OiBub25lO1xufVxuYDtcblxuY29uc3QgdXBkYXRlID0gKHBlcmNlbnQpID0+IHtcbiAgY29uc3QgYmFyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9LWJhcmApO1xuICBiYXIuc3R5bGUud2lkdGggPSBgJHtwZXJjZW50fSVgO1xufTtcblxuY29uc3QgcmVzZXQgPSAod3JhcHBlcikgPT4ge1xuICB3cmFwcGVyLmNsYXNzTGlzdC5hZGQoYCR7bnN9LWhpZGRlbmApO1xuICBzZXRUaW1lb3V0KCgpID0+IHVwZGF0ZSgwKSwgMWUzKTtcbn07XG5cbmNvbnN0IGluaXQgPSAob3B0aW9ucywgc29ja2V0KSA9PiB7XG4gIGlmIChvcHRpb25zLmZpcnN0SW5zdGFuY2UpIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdET01Db250ZW50TG9hZGVkJywgKCkgPT4ge1xuICAgICAgYWRkSHRtbChodG1sKTtcbiAgICAgIGFkZENzcyhjc3MpO1xuICAgIH0pO1xuICB9XG5cbiAgc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobWVzc2FnZSkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aW9uLCBkYXRhIH0gPSBKU09OLnBhcnNlKG1lc3NhZ2UuZGF0YSk7XG5cbiAgICBpZiAoYWN0aW9uICE9PSAncHJvZ3Jlc3MnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcGVyY2VudCA9IE1hdGguZmxvb3IoZGF0YS5wZXJjZW50ICogMTAwKTtcbiAgICBjb25zdCB3cmFwcGVyID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9YCk7XG5cbiAgICB3cmFwcGVyLmNsYXNzTGlzdC5yZW1vdmUoYCR7bnN9LWhpZGRlbmApO1xuXG4gICAgaWYgKGRhdGEucGVyY2VudCA9PT0gMSkge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiByZXNldCh3cmFwcGVyKSwgNWUzKTtcbiAgICB9XG5cbiAgICB1cGRhdGUocGVyY2VudCk7XG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGluaXRcbn07XG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/overlays/progress-minimal.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/overlays/progress.js":
-/*!****************************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/overlays/progress.js ***!
- \****************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell, Matheus Gonçalves da Silva\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst { addCss, addHtml } = __webpack_require__(/*! ./util */ \"../node_modules/webpack-plugin-serve/lib/client/overlays/util.js\");\n\nconst ns = 'wps-progress';\nconst css = `\n@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700');\n\n#${ns}{\n width: 200px;\n height: 200px;\n position: absolute;\n right: 5%;\n top: 5%;\n transition: opacity .25s ease-in-out;\n z-index: 2147483645;\n}\n\n#${ns}-bg {\n fill: #282d35;\n}\n\n#${ns}-fill {\n fill: rgba(0, 0, 0, 0);\n stroke: rgb(186, 223, 172);\n stroke-dasharray: 219.99078369140625;\n stroke-dashoffset: -219.99078369140625;\n stroke-width: 10;\n transform: rotate(90deg)translate(0px, -80px);\n transition: stroke-dashoffset 1s;\n}\n\n#${ns}-percent {\n font-family: 'Open Sans';\n font-size: 18px;\n fill: #ffffff;\n}\n\n#${ns}-percent-value {\n dominant-baseline: middle;\n text-anchor: middle;\n}\n\n#${ns}-percent-super {\n fill: #bdc3c7;\n font-size: .45em;\n baseline-shift: 10%;\n}\n\n.${ns}-noselect {\n -webkit-touch-callout: none;\n -webkit-user-select: none;\n -khtml-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n cursor: default;\n}\n\n@keyframes ${ns}-hidden-display {\n\t0% {\n\t\topacity: 1;\n\t\ttransform: scale(1);\n\t\t-webkit-transform: scale(1);\n\t}\n\t99% {\n\t\tdisplay: inline-flex;\n\t\topacity: 0;\n\t\ttransform: scale(0);\n\t\t-webkit-transform: scale(0);\n\t}\n\t100% {\n\t\tdisplay: none;\n\t\topacity: 0;\n\t\ttransform: scale(0);\n\t\t-webkit-transform: scale(0);\n\t}\n}\n\n.${ns}-hidden{\n animation: ${ns}-hidden-display .3s;\n animation-fill-mode:forwards;\n display: inline-flex;\n}\n`;\n\nconst html = `\n<svg id=\"${ns}\" class=\"${ns}-noselect ${ns}-hidden\" x=\"0px\" y=\"0px\" viewBox=\"0 0 80 80\">\n <circle id=\"${ns}-bg\" cx=\"50%\" cy=\"50%\" r=\"35\"></circle>\n <path id=\"${ns}-fill\" d=\"M5,40a35,35 0 1,0 70,0a35,35 0 1,0 -70,0\" />\n <text id=\"${ns}-percent\" x=\"50%\" y=\"51%\"><tspan id=\"${ns}-percent-value\">0</tspan><tspan id=\"${ns}-percent-super\">%</tspan></text>\n</svg>\n`;\n\nconst update = (percent) => {\n const max = -219.99078369140625;\n const value = document.querySelector(`#${ns}-percent-value`);\n const track = document.querySelector(`#${ns}-fill`);\n const offset = ((100 - percent) / 100) * max;\n\n track.setAttribute('style', `stroke-dashoffset: ${offset}`);\n value.innerHTML = percent.toString();\n};\n\nconst reset = (svg) => {\n svg.classList.add(`${ns}-hidden`);\n setTimeout(() => update(0), 1e3);\n};\n\nconst init = (options, socket) => {\n if (options.firstInstance) {\n document.addEventListener('DOMContentLoaded', () => {\n addCss(css);\n addHtml(html);\n });\n }\n\n socket.addEventListener('message', (message) => {\n const { action, data } = JSON.parse(message.data);\n\n if (action !== 'progress') {\n return;\n }\n\n const percent = Math.floor(data.percent * 100);\n const svg = document.querySelector(`#${ns}`);\n\n if (!svg) {\n return;\n }\n\n // we can safely call this even if it doesn't have the class\n svg.classList.remove(`${ns}-hidden`);\n\n if (data.percent === 1) {\n setTimeout(() => reset(svg), 5e3);\n }\n\n update(percent);\n });\n};\n\nmodule.exports = { init };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvb3ZlcmxheXMvcHJvZ3Jlc3MuanM/MzFhMCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLGtCQUFrQixHQUFHLG1CQUFPLENBQUMsZ0ZBQVE7O0FBRTVDO0FBQ0E7QUFDQTs7QUFFQSxHQUFHO0FBQ0g7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTjtBQUNBOztBQUVBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYSxHQUFHO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTixlQUFlLEdBQUc7QUFDbEI7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxXQUFXLEdBQUcsV0FBVyxHQUFHLFlBQVksR0FBRztBQUMzQyxnQkFBZ0IsR0FBRztBQUNuQixjQUFjLEdBQUc7QUFDakIsY0FBYyxHQUFHLHVDQUF1QyxHQUFHLHNDQUFzQyxHQUFHO0FBQ3BHO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLDJDQUEyQyxHQUFHO0FBQzlDLDJDQUEyQyxHQUFHO0FBQzlDOztBQUVBLG9EQUFvRCxPQUFPO0FBQzNEO0FBQ0E7O0FBRUE7QUFDQSx1QkFBdUIsR0FBRztBQUMxQjtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxLQUFLO0FBQ0w7O0FBRUE7QUFDQSxXQUFXLGVBQWU7O0FBRTFCO0FBQ0E7QUFDQTs7QUFFQTtBQUNBLDJDQUEyQyxHQUFHOztBQUU5QztBQUNBO0FBQ0E7O0FBRUE7QUFDQSw0QkFBNEIsR0FBRzs7QUFFL0I7QUFDQTtBQUNBOztBQUVBO0FBQ0EsR0FBRztBQUNIOztBQUVBLGtCQUFrQiIsImZpbGUiOiIuLi9ub2RlX21vZHVsZXMvd2VicGFjay1wbHVnaW4tc2VydmUvbGliL2NsaWVudC9vdmVybGF5cy9wcm9ncmVzcy5qcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gIENvcHlyaWdodCDCqSAyMDE4IEFuZHJldyBQb3dlbGwsIE1hdGhldXMgR29uw6dhbHZlcyBkYSBTaWx2YVxuXG4gIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAgTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLlxuXG4gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhpcyBTb3VyY2UgQ29kZSBGb3JtLlxuKi9cbmNvbnN0IHsgYWRkQ3NzLCBhZGRIdG1sIH0gPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuY29uc3QgbnMgPSAnd3BzLXByb2dyZXNzJztcbmNvbnN0IGNzcyA9IGBcbkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw3MDAnKTtcblxuIyR7bnN9e1xuICB3aWR0aDogMjAwcHg7XG4gIGhlaWdodDogMjAwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDUlO1xuICB0b3A6IDUlO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IC4yNXMgZWFzZS1pbi1vdXQ7XG4gIHotaW5kZXg6IDIxNDc0ODM2NDU7XG59XG5cbiMke25zfS1iZyB7XG4gIGZpbGw6ICMyODJkMzU7XG59XG5cbiMke25zfS1maWxsIHtcbiAgZmlsbDogcmdiYSgwLCAwLCAwLCAwKTtcbiAgc3Ryb2tlOiByZ2IoMTg2LCAyMjMsIDE3Mik7XG4gIHN0cm9rZS1kYXNoYXJyYXk6IDIxOS45OTA3ODM2OTE0MDYyNTtcbiAgc3Ryb2tlLWRhc2hvZmZzZXQ6IC0yMTkuOTkwNzgzNjkxNDA2MjU7XG4gIHN0cm9rZS13aWR0aDogMTA7XG4gIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKXRyYW5zbGF0ZSgwcHgsIC04MHB4KTtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlLWRhc2hvZmZzZXQgMXM7XG59XG5cbiMke25zfS1wZXJjZW50IHtcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZpbGw6ICNmZmZmZmY7XG59XG5cbiMke25zfS1wZXJjZW50LXZhbHVlIHtcbiAgZG9taW5hbnQtYmFzZWxpbmU6IG1pZGRsZTtcbiAgdGV4dC1hbmNob3I6IG1pZGRsZTtcbn1cblxuIyR7bnN9LXBlcmNlbnQtc3VwZXIge1xuICBmaWxsOiAjYmRjM2M3O1xuICBmb250LXNpemU6IC40NWVtO1xuICBiYXNlbGluZS1zaGlmdDogMTAlO1xufVxuXG4uJHtuc30tbm9zZWxlY3Qge1xuICAtd2Via2l0LXRvdWNoLWNhbGxvdXQ6IG5vbmU7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5Aa2V5ZnJhbWVzICR7bnN9LWhpZGRlbi1kaXNwbGF5IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdFx0dHJhbnNmb3JtOiBzY2FsZSgxKTtcblx0XHQtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG5cdH1cblx0OTklIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMCk7XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuXHR9XG5cdDEwMCUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0b3BhY2l0eTogMDtcblx0XHR0cmFuc2Zvcm06IHNjYWxlKDApO1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcblx0fVxufVxuXG4uJHtuc30taGlkZGVue1xuICBhbmltYXRpb246ICR7bnN9LWhpZGRlbi1kaXNwbGF5IC4zcztcbiAgYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkcztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG59XG5gO1xuXG5jb25zdCBodG1sID0gYFxuPHN2ZyBpZD1cIiR7bnN9XCIgY2xhc3M9XCIke25zfS1ub3NlbGVjdCAke25zfS1oaWRkZW5cIiB4PVwiMHB4XCIgeT1cIjBweFwiIHZpZXdCb3g9XCIwIDAgODAgODBcIj5cbiAgPGNpcmNsZSBpZD1cIiR7bnN9LWJnXCIgY3g9XCI1MCVcIiBjeT1cIjUwJVwiIHI9XCIzNVwiPjwvY2lyY2xlPlxuICA8cGF0aCBpZD1cIiR7bnN9LWZpbGxcIiBkPVwiTTUsNDBhMzUsMzUgMCAxLDAgNzAsMGEzNSwzNSAwIDEsMCAtNzAsMFwiIC8+XG4gIDx0ZXh0IGlkPVwiJHtuc30tcGVyY2VudFwiIHg9XCI1MCVcIiB5PVwiNTElXCI+PHRzcGFuIGlkPVwiJHtuc30tcGVyY2VudC12YWx1ZVwiPjA8L3RzcGFuPjx0c3BhbiBpZD1cIiR7bnN9LXBlcmNlbnQtc3VwZXJcIj4lPC90c3Bhbj48L3RleHQ+XG48L3N2Zz5cbmA7XG5cbmNvbnN0IHVwZGF0ZSA9IChwZXJjZW50KSA9PiB7XG4gIGNvbnN0IG1heCA9IC0yMTkuOTkwNzgzNjkxNDA2MjU7XG4gIGNvbnN0IHZhbHVlID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9LXBlcmNlbnQtdmFsdWVgKTtcbiAgY29uc3QgdHJhY2sgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtuc30tZmlsbGApO1xuICBjb25zdCBvZmZzZXQgPSAoKDEwMCAtIHBlcmNlbnQpIC8gMTAwKSAqIG1heDtcblxuICB0cmFjay5zZXRBdHRyaWJ1dGUoJ3N0eWxlJywgYHN0cm9rZS1kYXNob2Zmc2V0OiAke29mZnNldH1gKTtcbiAgdmFsdWUuaW5uZXJIVE1MID0gcGVyY2VudC50b1N0cmluZygpO1xufTtcblxuY29uc3QgcmVzZXQgPSAoc3ZnKSA9PiB7XG4gIHN2Zy5jbGFzc0xpc3QuYWRkKGAke25zfS1oaWRkZW5gKTtcbiAgc2V0VGltZW91dCgoKSA9PiB1cGRhdGUoMCksIDFlMyk7XG59O1xuXG5jb25zdCBpbml0ID0gKG9wdGlvbnMsIHNvY2tldCkgPT4ge1xuICBpZiAob3B0aW9ucy5maXJzdEluc3RhbmNlKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcbiAgICAgIGFkZENzcyhjc3MpO1xuICAgICAgYWRkSHRtbChodG1sKTtcbiAgICB9KTtcbiAgfVxuXG4gIHNvY2tldC5hZGRFdmVudExpc3RlbmVyKCdtZXNzYWdlJywgKG1lc3NhZ2UpID0+IHtcbiAgICBjb25zdCB7IGFjdGlvbiwgZGF0YSB9ID0gSlNPTi5wYXJzZShtZXNzYWdlLmRhdGEpO1xuXG4gICAgaWYgKGFjdGlvbiAhPT0gJ3Byb2dyZXNzJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHBlcmNlbnQgPSBNYXRoLmZsb29yKGRhdGEucGVyY2VudCAqIDEwMCk7XG4gICAgY29uc3Qgc3ZnID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9YCk7XG5cbiAgICBpZiAoIXN2Zykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHdlIGNhbiBzYWZlbHkgY2FsbCB0aGlzIGV2ZW4gaWYgaXQgZG9lc24ndCBoYXZlIHRoZSBjbGFzc1xuICAgIHN2Zy5jbGFzc0xpc3QucmVtb3ZlKGAke25zfS1oaWRkZW5gKTtcblxuICAgIGlmIChkYXRhLnBlcmNlbnQgPT09IDEpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzZXQoc3ZnKSwgNWUzKTtcbiAgICB9XG5cbiAgICB1cGRhdGUocGVyY2VudCk7XG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7IGluaXQgfTtcbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/overlays/progress.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/overlays/status.js":
-/*!**************************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/overlays/status.js ***!
- \**************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst { addCss, addHtml, socketMessage } = __webpack_require__(/*! ./util */ \"../node_modules/webpack-plugin-serve/lib/client/overlays/util.js\");\n\nconst ns = 'wps-status';\nconst css = `\n@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,700');\n\n#${ns} {\n background: #282d35;\n border-radius: 0.6em;\n display: flex;\n flex-direction: column;\n\tfont-family: 'Open Sans', Helvetica, Arial, sans-serif;\n\tfont-size: 10px;\n height: 90%;\n min-height: 20em;\n left: 50%;\n opacity: 1;\n overflow: hidden;\n padding-bottom: 3em;\n position: absolute;\n top: 2rem;\n transform: translateX(-50%);\n transition: opacity .25s ease-in-out;\n width: 95%;\n z-index: 2147483645;\n}\n\n@keyframes ${ns}-hidden-display {\n\t0% {\n\t\topacity: 1;\n\t}\n\t99% {\n\t\tdisplay: inline-flex;\n\t\topacity: 0;\n\t}\n\t100% {\n\t\tdisplay: none;\n\t\topacity: 0;\n\t}\n}\n\n#${ns}.${ns}-hidden {\n animation: ${ns}-hidden-display .3s;\n animation-fill-mode:forwards;\n display: none;\n}\n\n#${ns}.${ns}-min {\n animation: minimize 10s;\n bottom: 2em;\n cursor: pointer;\n height: 6em;\n left: auto;\n min-height: 6em;\n padding-bottom: 0;\n position: absolute;\n right: 2em;\n top: auto;\n transform: none;\n width: 6em;\n}\n\n#${ns}.${ns}-min #${ns}-beacon {\n display: block;\n}\n\n#${ns}-title {\n color: #fff;\n font-size: 1.2em;\n font-weight: normal;\n margin: 0;\n padding: 0.6em 0;\n text-align: center;\n width: 100%;\n}\n\n#${ns}.${ns}-min #${ns}-title {\n display: none;\n}\n\n#${ns}-title-errors {\n color: #ff5f58;\n font-style: normal;\n padding-left: 1em;\n}\n\n#${ns}-title-warnings {\n color: #ffbd2e;\n font-style: normal;\n padding-left: 1em;\n}\n\n#${ns}-problems {\n overflow-y: auto;\n padding: 1em 2em;\n}\n\n#${ns}-problems pre {\n color: #ddd;\n display: block;\n font-size: 1.3em;\n\tfont-family: 'Open Sans', Helvetica, Arial, sans-serif;\n white-space: pre-wrap;\n}\n\n#${ns}-problems pre em {\n background: #ff5f58;\n border-radius: 0.3em;\n color: #641e16;\n font-style: normal;\n line-height: 3em;\n margin-right: 0.4em;\n padding: 0.1em 0.4em;\n text-transform: uppercase;\n}\n\npre#${ns}-warnings em {\n background: #ffbd2e;\n color: #3e2723;\n}\n\npre#${ns}-success {\n display: none;\n text-align: center;\n}\n\npre#${ns}-success em {\n background: #7fb900;\n color: #004d40;\n}\n\n#${ns}-problems.${ns}-success #${ns}-success {\n display: block;\n}\n\n#${ns}.${ns}-min #${ns}-problems {\n display: none;\n}\n\n#${ns}-nav {\n opacity: 0.5;\n padding: 1.2em;\n position: absolute;\n}\n\n#${ns}.${ns}-min #${ns}-nav {\n display: none;\n}\n\n#${ns}-nav:hover {\n opacity: 1;\n}\n\n#${ns}-nav div {\n background: #ff5f58;\n border-radius: 1.2em;\n cursor: pointer;\n display: inline-block;\n height: 1.2em;\n position: relative;\n width: 1.2em;\n}\n\ndiv#${ns}-min {\n background: #ffbd2e;\n margin-left: 0.8em;\n}\n\n#${ns}-beacon {\n border-radius: 3em;\n display: none;\n font-size: 10px;\n height: 3em;\n margin: 1.6em auto;\n position: relative;\n width: 3em;\n}\n\n#${ns}-beacon:before, #${ns}-beacon:after {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(127,185,0, 0.2);\n border-radius: 3em;\n opacity: 0;\n}\n\n#${ns}-beacon:before {\n animation: ${ns}-pulse 3s infinite linear;\n transform: scale(1);\n}\n\n#${ns}-beacon:after {\n animation: ${ns}-pulse 3s 2s infinite linear;\n}\n\n\n@keyframes ${ns}-pulse {\n 0% {\n opacity: 0;\n transform: scale(0.6);\n }\n 33% {\n opacity: 1;\n transform: scale(1);\n }\n 100% {\n opacity: 0;\n transform: scale(1.4);\n }\n}\n\n#${ns}-beacon mark {\n background: rgba(127, 185, 0, 1);\n border-radius: 100% 100%;\n height: 1em;\n left: 1em;\n position: absolute;\n top: 1em;\n width: 1em;\n}\n\n#${ns}-beacon.${ns}-error mark {\n background: #ff5f58;\n}\n\n#${ns}-beacon.${ns}-error:before, #${ns}-beacon.error:after {\n background: rgba(255, 95, 88, 0.2);\n}\n\n#${ns}-beacon.${ns}-warning mark {\n background: #ffbd2e;\n}\n\n#${ns}-beacon.${ns}-warning:before, #${ns}-beacon.warning:after {\n background: rgba(255, 189, 46, 0.2);\n}\n`;\n\nconst html = `\n<aside id=\"${ns}\" class=\"${ns}-hidden\" title=\"build status\">\n <figure id=\"${ns}-beacon\">\n <mark/>\n </figure>\n <nav id=\"${ns}-nav\">\n <div id=\"${ns}-close\" title=\"close\"></div>\n <div id=\"${ns}-min\" title=\"minmize\"></div>\n </nav>\n <h1 id=\"${ns}-title\">\n build status\n <em id=\"${ns}-title-errors\"></em>\n <em id=\"${ns}-title-warnings\"></em>\n </h1>\n <article id=\"${ns}-problems\">\n <pre id=\"${ns}-success\"><em>Build Successful</em></pre>\n <pre id=\"${ns}-errors\"></pre>\n <pre id=\"${ns}-warnings\"></pre>\n </article>\n</aside>\n`;\n\nconst init = (options, socket) => {\n const hidden = `${ns}-hidden`;\n let hasProblems = false;\n let aside;\n let beacon;\n let problems;\n let preErrors;\n let preWarnings;\n let titleErrors;\n let titleWarnings;\n\n const reset = () => {\n preErrors.innerHTML = '';\n preWarnings.innerHTML = '';\n problems.classList.remove(`${ns}-success`);\n beacon.className = '';\n titleErrors.innerText = '';\n titleWarnings.innerText = '';\n };\n\n const addErrors = (errors) => {\n if (errors.length) {\n problems.classList.remove(`${ns}-success`);\n beacon.classList.add(`${ns}-error`);\n\n for (const error of errors) {\n const markup = `<div><em>Error</em> in ${error}</div>`;\n addHtml(markup, preErrors);\n }\n\n titleErrors.innerText = `${errors.length} Error(s)`;\n } else {\n titleErrors.innerText = '';\n }\n aside.classList.remove(hidden);\n };\n\n const addWarnings = (warnings) => {\n if (warnings.length) {\n problems.classList.remove(`${ns}-success`);\n\n if (!beacon.classList.contains(`${ns}-error`)) {\n beacon.classList.add(`${ns}-warning`);\n }\n\n for (const warning of warnings) {\n const markup = `<div><em>Warning</em> in ${warning}</div>`;\n addHtml(markup, preWarnings);\n }\n\n titleWarnings.innerText = `${warnings.length} Warning(s)`;\n } else {\n titleWarnings.innerText = '';\n }\n\n aside.classList.remove(hidden);\n };\n\n if (options.firstInstance) {\n document.addEventListener('DOMContentLoaded', () => {\n addCss(css);\n [aside] = addHtml(html);\n beacon = document.querySelector(`#${ns}-beacon`);\n problems = document.querySelector(`#${ns}-problems`);\n preErrors = document.querySelector(`#${ns}-errors`);\n preWarnings = document.querySelector(`#${ns}-warnings`);\n titleErrors = document.querySelector(`#${ns}-title-errors`);\n titleWarnings = document.querySelector(`#${ns}-title-warnings`);\n\n const close = document.querySelector(`#${ns}-close`);\n const min = document.querySelector(`#${ns}-min`);\n\n aside.addEventListener('click', () => {\n aside.classList.remove(`${ns}-min`);\n });\n\n close.addEventListener('click', () => {\n aside.classList.add(`${ns}-hidden`);\n });\n\n min.addEventListener('click', (e) => {\n aside.classList.add(`${ns}-min`);\n e.stopImmediatePropagation();\n });\n });\n }\n\n socketMessage(socket, (action, data) => {\n if (!aside) {\n return;\n }\n\n const { compilers } = window.webpackPluginServe;\n\n switch (action) {\n case 'build':\n // clear errors and warnings when a new build begins\n reset();\n break;\n case 'problems':\n addErrors(data.errors);\n addWarnings(data.warnings);\n aside.classList.remove(hidden);\n hasProblems = data.errors.length || data.warnings.length;\n break;\n case 'replace':\n // if there's a compiler that isn't done yet, hold off and let it run the show\n for (const compilerName of Object.keys(compilers)) {\n if (!compilers[compilerName]) {\n return;\n }\n }\n\n if (hasProblems && !preErrors.children.length && !preWarnings.children.length) {\n reset();\n hasProblems = false;\n problems.classList.add(`${ns}-success`);\n aside.classList.remove(hidden);\n\n setTimeout(() => aside.classList.add(hidden), 3e3);\n }\n break;\n default:\n }\n });\n};\n\nmodule.exports = { init };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvb3ZlcmxheXMvc3RhdHVzLmpzP2Q4MzEiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0EsT0FBTyxpQ0FBaUMsR0FBRyxtQkFBTyxDQUFDLGdGQUFROztBQUUzRDtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsYUFBYSxHQUFHO0FBQ2hCO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUcsR0FBRyxHQUFHO0FBQ1osZUFBZSxHQUFHO0FBQ2xCO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUcsR0FBRyxHQUFHO0FBQ1o7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHLEdBQUcsR0FBRyxRQUFRLEdBQUc7QUFDdkI7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHO0FBQ3ZCO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsTUFBTSxHQUFHO0FBQ1Q7QUFDQTtBQUNBOztBQUVBLE1BQU0sR0FBRztBQUNUO0FBQ0E7QUFDQTs7QUFFQSxNQUFNLEdBQUc7QUFDVDtBQUNBO0FBQ0E7O0FBRUEsR0FBRyxHQUFHLFlBQVksR0FBRyxZQUFZLEdBQUc7QUFDcEM7QUFDQTs7QUFFQSxHQUFHLEdBQUcsR0FBRyxHQUFHLFFBQVEsR0FBRztBQUN2QjtBQUNBOztBQUVBLEdBQUcsR0FBRztBQUNOO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRyxHQUFHLEdBQUcsUUFBUSxHQUFHO0FBQ3ZCO0FBQ0E7O0FBRUEsR0FBRyxHQUFHO0FBQ047QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLE1BQU0sR0FBRztBQUNUO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRyxtQkFBbUIsR0FBRztBQUM1QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTixlQUFlLEdBQUc7QUFDbEI7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTixlQUFlLEdBQUc7QUFDbEI7OztBQUdBLGFBQWEsR0FBRztBQUNoQjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQSxHQUFHLEdBQUc7QUFDTjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBLEdBQUcsR0FBRyxVQUFVLEdBQUc7QUFDbkI7QUFDQTs7QUFFQSxHQUFHLEdBQUcsVUFBVSxHQUFHLGtCQUFrQixHQUFHO0FBQ3hDO0FBQ0E7O0FBRUEsR0FBRyxHQUFHLFVBQVUsR0FBRztBQUNuQjtBQUNBOztBQUVBLEdBQUcsR0FBRyxVQUFVLEdBQUcsb0JBQW9CLEdBQUc7QUFDMUM7QUFDQTtBQUNBOztBQUVBO0FBQ0EsYUFBYSxHQUFHLFdBQVcsR0FBRztBQUM5QixnQkFBZ0IsR0FBRztBQUNuQjtBQUNBO0FBQ0EsYUFBYSxHQUFHO0FBQ2hCLGVBQWUsR0FBRztBQUNsQixlQUFlLEdBQUc7QUFDbEI7QUFDQSxZQUFZLEdBQUc7QUFDZjtBQUNBLGNBQWMsR0FBRztBQUNqQixjQUFjLEdBQUc7QUFDakI7QUFDQSxpQkFBaUIsR0FBRztBQUNwQixlQUFlLEdBQUc7QUFDbEIsZUFBZSxHQUFHO0FBQ2xCLGVBQWUsR0FBRztBQUNsQjtBQUNBO0FBQ0E7O0FBRUE7QUFDQSxvQkFBb0IsR0FBRztBQUN2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBLGlDQUFpQyxHQUFHO0FBQ3BDO0FBQ0E7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQSxtQ0FBbUMsR0FBRztBQUN0Qyw4QkFBOEIsR0FBRzs7QUFFakM7QUFDQSxpREFBaUQsTUFBTTtBQUN2RDtBQUNBOztBQUVBLGlDQUFpQyxjQUFjO0FBQy9DLEtBQUs7QUFDTDtBQUNBO0FBQ0E7QUFDQTs7QUFFQTtBQUNBO0FBQ0EsbUNBQW1DLEdBQUc7O0FBRXRDLHdDQUF3QyxHQUFHO0FBQzNDLGdDQUFnQyxHQUFHO0FBQ25DOztBQUVBO0FBQ0EsbURBQW1ELFFBQVE7QUFDM0Q7QUFDQTs7QUFFQSxtQ0FBbUMsZ0JBQWdCO0FBQ25ELEtBQUs7QUFDTDtBQUNBOztBQUVBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQSwwQ0FBMEMsR0FBRztBQUM3Qyw0Q0FBNEMsR0FBRztBQUMvQyw2Q0FBNkMsR0FBRztBQUNoRCwrQ0FBK0MsR0FBRztBQUNsRCwrQ0FBK0MsR0FBRztBQUNsRCxpREFBaUQsR0FBRzs7QUFFcEQsK0NBQStDLEdBQUc7QUFDbEQsNkNBQTZDLEdBQUc7O0FBRWhEO0FBQ0Esa0NBQWtDLEdBQUc7QUFDckMsT0FBTzs7QUFFUDtBQUNBLCtCQUErQixHQUFHO0FBQ2xDLE9BQU87O0FBRVA7QUFDQSwrQkFBK0IsR0FBRztBQUNsQztBQUNBLE9BQU87QUFDUCxLQUFLO0FBQ0w7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7O0FBRUEsV0FBVyxZQUFZOztBQUV2QjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBO0FBQ0Esb0NBQW9DLEdBQUc7QUFDdkM7O0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEdBQUc7QUFDSDs7QUFFQSxrQkFBa0IiLCJmaWxlIjoiLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvb3ZlcmxheXMvc3RhdHVzLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAgQ29weXJpZ2h0IMKpIDIwMTggQW5kcmV3IFBvd2VsbFxuXG4gIFRoaXMgU291cmNlIENvZGUgRm9ybSBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBvZiB0aGUgTW96aWxsYSBQdWJsaWNcbiAgTGljZW5zZSwgdi4gMi4wLiBJZiBhIGNvcHkgb2YgdGhlIE1QTCB3YXMgbm90IGRpc3RyaWJ1dGVkIHdpdGggdGhpc1xuICBmaWxlLCBZb3UgY2FuIG9idGFpbiBvbmUgYXQgaHR0cDovL21vemlsbGEub3JnL01QTC8yLjAvLlxuXG4gIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlXG4gIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhpcyBTb3VyY2UgQ29kZSBGb3JtLlxuKi9cbmNvbnN0IHsgYWRkQ3NzLCBhZGRIdG1sLCBzb2NrZXRNZXNzYWdlIH0gPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuY29uc3QgbnMgPSAnd3BzLXN0YXR1cyc7XG5jb25zdCBjc3MgPSBgXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PU9wZW4rU2Fuczo0MDAsNzAwJyk7XG5cbiMke25zfSB7XG4gIGJhY2tncm91bmQ6ICMyODJkMzU7XG4gIGJvcmRlci1yYWRpdXM6IDAuNmVtO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXHRmb250LWZhbWlseTogJ09wZW4gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG5cdGZvbnQtc2l6ZTogMTBweDtcbiAgaGVpZ2h0OiA5MCU7XG4gIG1pbi1oZWlnaHQ6IDIwZW07XG4gIGxlZnQ6IDUwJTtcbiAgb3BhY2l0eTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDNlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDJyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuMjVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogOTUlO1xuICB6LWluZGV4OiAyMTQ3NDgzNjQ1O1xufVxuXG5Aa2V5ZnJhbWVzICR7bnN9LWhpZGRlbi1kaXNwbGF5IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblx0OTklIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG5cdDEwMCUge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0b3BhY2l0eTogMDtcblx0fVxufVxuXG4jJHtuc30uJHtuc30taGlkZGVuIHtcbiAgYW5pbWF0aW9uOiAke25zfS1oaWRkZW4tZGlzcGxheSAuM3M7XG4gIGFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiMke25zfS4ke25zfS1taW4ge1xuICBhbmltYXRpb246IG1pbmltaXplIDEwcztcbiAgYm90dG9tOiAyZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiA2ZW07XG4gIGxlZnQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDZlbTtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDJlbTtcbiAgdG9wOiBhdXRvO1xuICB0cmFuc2Zvcm06IG5vbmU7XG4gIHdpZHRoOiA2ZW07XG59XG5cbiMke25zfS4ke25zfS1taW4gIyR7bnN9LWJlYWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jJHtuc30tdGl0bGUge1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjZlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4jJHtuc30uJHtuc30tbWluICMke25zfS10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiMke25zfS10aXRsZS1lcnJvcnMge1xuICBjb2xvcjogI2ZmNWY1ODtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBwYWRkaW5nLWxlZnQ6IDFlbTtcbn1cblxuIyR7bnN9LXRpdGxlLXdhcm5pbmdzIHtcbiAgY29sb3I6ICNmZmJkMmU7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgcGFkZGluZy1sZWZ0OiAxZW07XG59XG5cbiMke25zfS1wcm9ibGVtcyB7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmc6IDFlbSAyZW07XG59XG5cbiMke25zfS1wcm9ibGVtcyBwcmUge1xuICBjb2xvcjogI2RkZDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4zZW07XG5cdGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4jJHtuc30tcHJvYmxlbXMgcHJlIGVtIHtcbiAgYmFja2dyb3VuZDogI2ZmNWY1ODtcbiAgYm9yZGVyLXJhZGl1czogMC4zZW07XG4gIGNvbG9yOiAjNjQxZTE2O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAzZW07XG4gIG1hcmdpbi1yaWdodDogMC40ZW07XG4gIHBhZGRpbmc6IDAuMWVtIDAuNGVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5wcmUjJHtuc30td2FybmluZ3MgZW0ge1xuICBiYWNrZ3JvdW5kOiAjZmZiZDJlO1xuICBjb2xvcjogIzNlMjcyMztcbn1cblxucHJlIyR7bnN9LXN1Y2Nlc3Mge1xuICBkaXNwbGF5OiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnByZSMke25zfS1zdWNjZXNzIGVtIHtcbiAgYmFja2dyb3VuZDogIzdmYjkwMDtcbiAgY29sb3I6ICMwMDRkNDA7XG59XG5cbiMke25zfS1wcm9ibGVtcy4ke25zfS1zdWNjZXNzICMke25zfS1zdWNjZXNzIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbiMke25zfS4ke25zfS1taW4gIyR7bnN9LXByb2JsZW1zIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuIyR7bnN9LW5hdiB7XG4gIG9wYWNpdHk6IDAuNTtcbiAgcGFkZGluZzogMS4yZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuIyR7bnN9LiR7bnN9LW1pbiAjJHtuc30tbmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuIyR7bnN9LW5hdjpob3ZlciB7XG4gIG9wYWNpdHk6IDE7XG59XG5cbiMke25zfS1uYXYgZGl2IHtcbiAgYmFja2dyb3VuZDogI2ZmNWY1ODtcbiAgYm9yZGVyLXJhZGl1czogMS4yZW07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEuMmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxLjJlbTtcbn1cblxuZGl2IyR7bnN9LW1pbiB7XG4gIGJhY2tncm91bmQ6ICNmZmJkMmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjhlbTtcbn1cblxuIyR7bnN9LWJlYWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDNlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBoZWlnaHQ6IDNlbTtcbiAgbWFyZ2luOiAxLjZlbSBhdXRvO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAzZW07XG59XG5cbiMke25zfS1iZWFjb246YmVmb3JlLCAjJHtuc30tYmVhY29uOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywxODUsMCwgMC4yKTtcbiAgYm9yZGVyLXJhZGl1czogM2VtO1xuICBvcGFjaXR5OiAwO1xufVxuXG4jJHtuc30tYmVhY29uOmJlZm9yZSB7XG4gIGFuaW1hdGlvbjogJHtuc30tcHVsc2UgM3MgaW5maW5pdGUgbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4jJHtuc30tYmVhY29uOmFmdGVyIHtcbiAgYW5pbWF0aW9uOiAke25zfS1wdWxzZSAzcyAycyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cblxuQGtleWZyYW1lcyAke25zfS1wdWxzZSB7XG4gIDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC42KTtcbiAgfVxuICAzMyUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS40KTtcbiAgfVxufVxuXG4jJHtuc30tYmVhY29uIG1hcmsge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMTg1LCAwLCAxKTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJSAxMDAlO1xuICBoZWlnaHQ6IDFlbTtcbiAgbGVmdDogMWVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMWVtO1xuICB3aWR0aDogMWVtO1xufVxuXG4jJHtuc30tYmVhY29uLiR7bnN9LWVycm9yIG1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmY1ZjU4O1xufVxuXG4jJHtuc30tYmVhY29uLiR7bnN9LWVycm9yOmJlZm9yZSwgIyR7bnN9LWJlYWNvbi5lcnJvcjphZnRlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCA5NSwgODgsIDAuMik7XG59XG5cbiMke25zfS1iZWFjb24uJHtuc30td2FybmluZyBtYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmYmQyZTtcbn1cblxuIyR7bnN9LWJlYWNvbi4ke25zfS13YXJuaW5nOmJlZm9yZSwgIyR7bnN9LWJlYWNvbi53YXJuaW5nOmFmdGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDE4OSwgNDYsIDAuMik7XG59XG5gO1xuXG5jb25zdCBodG1sID0gYFxuPGFzaWRlIGlkPVwiJHtuc31cIiBjbGFzcz1cIiR7bnN9LWhpZGRlblwiIHRpdGxlPVwiYnVpbGQgc3RhdHVzXCI+XG4gIDxmaWd1cmUgaWQ9XCIke25zfS1iZWFjb25cIj5cbiAgICA8bWFyay8+XG4gIDwvZmlndXJlPlxuICA8bmF2IGlkPVwiJHtuc30tbmF2XCI+XG4gICAgPGRpdiBpZD1cIiR7bnN9LWNsb3NlXCIgdGl0bGU9XCJjbG9zZVwiPjwvZGl2PlxuICAgIDxkaXYgaWQ9XCIke25zfS1taW5cIiB0aXRsZT1cIm1pbm1pemVcIj48L2Rpdj5cbiAgPC9uYXY+XG4gIDxoMSBpZD1cIiR7bnN9LXRpdGxlXCI+XG4gICAgYnVpbGQgc3RhdHVzXG4gICAgPGVtIGlkPVwiJHtuc30tdGl0bGUtZXJyb3JzXCI+PC9lbT5cbiAgICA8ZW0gaWQ9XCIke25zfS10aXRsZS13YXJuaW5nc1wiPjwvZW0+XG4gIDwvaDE+XG4gIDxhcnRpY2xlIGlkPVwiJHtuc30tcHJvYmxlbXNcIj5cbiAgICA8cHJlIGlkPVwiJHtuc30tc3VjY2Vzc1wiPjxlbT5CdWlsZCBTdWNjZXNzZnVsPC9lbT48L3ByZT5cbiAgICA8cHJlIGlkPVwiJHtuc30tZXJyb3JzXCI+PC9wcmU+XG4gICAgPHByZSBpZD1cIiR7bnN9LXdhcm5pbmdzXCI+PC9wcmU+XG4gIDwvYXJ0aWNsZT5cbjwvYXNpZGU+XG5gO1xuXG5jb25zdCBpbml0ID0gKG9wdGlvbnMsIHNvY2tldCkgPT4ge1xuICBjb25zdCBoaWRkZW4gPSBgJHtuc30taGlkZGVuYDtcbiAgbGV0IGhhc1Byb2JsZW1zID0gZmFsc2U7XG4gIGxldCBhc2lkZTtcbiAgbGV0IGJlYWNvbjtcbiAgbGV0IHByb2JsZW1zO1xuICBsZXQgcHJlRXJyb3JzO1xuICBsZXQgcHJlV2FybmluZ3M7XG4gIGxldCB0aXRsZUVycm9ycztcbiAgbGV0IHRpdGxlV2FybmluZ3M7XG5cbiAgY29uc3QgcmVzZXQgPSAoKSA9PiB7XG4gICAgcHJlRXJyb3JzLmlubmVySFRNTCA9ICcnO1xuICAgIHByZVdhcm5pbmdzLmlubmVySFRNTCA9ICcnO1xuICAgIHByb2JsZW1zLmNsYXNzTGlzdC5yZW1vdmUoYCR7bnN9LXN1Y2Nlc3NgKTtcbiAgICBiZWFjb24uY2xhc3NOYW1lID0gJyc7XG4gICAgdGl0bGVFcnJvcnMuaW5uZXJUZXh0ID0gJyc7XG4gICAgdGl0bGVXYXJuaW5ncy5pbm5lclRleHQgPSAnJztcbiAgfTtcblxuICBjb25zdCBhZGRFcnJvcnMgPSAoZXJyb3JzKSA9PiB7XG4gICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgIHByb2JsZW1zLmNsYXNzTGlzdC5yZW1vdmUoYCR7bnN9LXN1Y2Nlc3NgKTtcbiAgICAgIGJlYWNvbi5jbGFzc0xpc3QuYWRkKGAke25zfS1lcnJvcmApO1xuXG4gICAgICBmb3IgKGNvbnN0IGVycm9yIG9mIGVycm9ycykge1xuICAgICAgICBjb25zdCBtYXJrdXAgPSBgPGRpdj48ZW0+RXJyb3I8L2VtPiBpbiAke2Vycm9yfTwvZGl2PmA7XG4gICAgICAgIGFkZEh0bWwobWFya3VwLCBwcmVFcnJvcnMpO1xuICAgICAgfVxuXG4gICAgICB0aXRsZUVycm9ycy5pbm5lclRleHQgPSBgJHtlcnJvcnMubGVuZ3RofSBFcnJvcihzKWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRpdGxlRXJyb3JzLmlubmVyVGV4dCA9ICcnO1xuICAgIH1cbiAgICBhc2lkZS5jbGFzc0xpc3QucmVtb3ZlKGhpZGRlbik7XG4gIH07XG5cbiAgY29uc3QgYWRkV2FybmluZ3MgPSAod2FybmluZ3MpID0+IHtcbiAgICBpZiAod2FybmluZ3MubGVuZ3RoKSB7XG4gICAgICBwcm9ibGVtcy5jbGFzc0xpc3QucmVtb3ZlKGAke25zfS1zdWNjZXNzYCk7XG5cbiAgICAgIGlmICghYmVhY29uLmNsYXNzTGlzdC5jb250YWlucyhgJHtuc30tZXJyb3JgKSkge1xuICAgICAgICBiZWFjb24uY2xhc3NMaXN0LmFkZChgJHtuc30td2FybmluZ2ApO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IHdhcm5pbmcgb2Ygd2FybmluZ3MpIHtcbiAgICAgICAgY29uc3QgbWFya3VwID0gYDxkaXY+PGVtPldhcm5pbmc8L2VtPiBpbiAke3dhcm5pbmd9PC9kaXY+YDtcbiAgICAgICAgYWRkSHRtbChtYXJrdXAsIHByZVdhcm5pbmdzKTtcbiAgICAgIH1cblxuICAgICAgdGl0bGVXYXJuaW5ncy5pbm5lclRleHQgPSBgJHt3YXJuaW5ncy5sZW5ndGh9IFdhcm5pbmcocylgO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aXRsZVdhcm5pbmdzLmlubmVyVGV4dCA9ICcnO1xuICAgIH1cblxuICAgIGFzaWRlLmNsYXNzTGlzdC5yZW1vdmUoaGlkZGVuKTtcbiAgfTtcblxuICBpZiAob3B0aW9ucy5maXJzdEluc3RhbmNlKSB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignRE9NQ29udGVudExvYWRlZCcsICgpID0+IHtcbiAgICAgIGFkZENzcyhjc3MpO1xuICAgICAgW2FzaWRlXSA9IGFkZEh0bWwoaHRtbCk7XG4gICAgICBiZWFjb24gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtuc30tYmVhY29uYCk7XG4gICAgICBwcm9ibGVtcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke25zfS1wcm9ibGVtc2ApO1xuICAgICAgcHJlRXJyb3JzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9LWVycm9yc2ApO1xuICAgICAgcHJlV2FybmluZ3MgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKGAjJHtuc30td2FybmluZ3NgKTtcbiAgICAgIHRpdGxlRXJyb3JzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9LXRpdGxlLWVycm9yc2ApO1xuICAgICAgdGl0bGVXYXJuaW5ncyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke25zfS10aXRsZS13YXJuaW5nc2ApO1xuXG4gICAgICBjb25zdCBjbG9zZSA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYCMke25zfS1jbG9zZWApO1xuICAgICAgY29uc3QgbWluID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgIyR7bnN9LW1pbmApO1xuXG4gICAgICBhc2lkZS5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgYXNpZGUuY2xhc3NMaXN0LnJlbW92ZShgJHtuc30tbWluYCk7XG4gICAgICB9KTtcblxuICAgICAgY2xvc2UuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7XG4gICAgICAgIGFzaWRlLmNsYXNzTGlzdC5hZGQoYCR7bnN9LWhpZGRlbmApO1xuICAgICAgfSk7XG5cbiAgICAgIG1pbi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIChlKSA9PiB7XG4gICAgICAgIGFzaWRlLmNsYXNzTGlzdC5hZGQoYCR7bnN9LW1pbmApO1xuICAgICAgICBlLnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzb2NrZXRNZXNzYWdlKHNvY2tldCwgKGFjdGlvbiwgZGF0YSkgPT4ge1xuICAgIGlmICghYXNpZGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB7IGNvbXBpbGVycyB9ID0gd2luZG93LndlYnBhY2tQbHVnaW5TZXJ2ZTtcblxuICAgIHN3aXRjaCAoYWN0aW9uKSB7XG4gICAgICBjYXNlICdidWlsZCc6XG4gICAgICAgIC8vIGNsZWFyIGVycm9ycyBhbmQgd2FybmluZ3Mgd2hlbiBhIG5ldyBidWlsZCBiZWdpbnNcbiAgICAgICAgcmVzZXQoKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlICdwcm9ibGVtcyc6XG4gICAgICAgIGFkZEVycm9ycyhkYXRhLmVycm9ycyk7XG4gICAgICAgIGFkZFdhcm5pbmdzKGRhdGEud2FybmluZ3MpO1xuICAgICAgICBhc2lkZS5jbGFzc0xpc3QucmVtb3ZlKGhpZGRlbik7XG4gICAgICAgIGhhc1Byb2JsZW1zID0gZGF0YS5lcnJvcnMubGVuZ3RoIHx8IGRhdGEud2FybmluZ3MubGVuZ3RoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ3JlcGxhY2UnOlxuICAgICAgICAvLyBpZiB0aGVyZSdzIGEgY29tcGlsZXIgdGhhdCBpc24ndCBkb25lIHlldCwgaG9sZCBvZmYgYW5kIGxldCBpdCBydW4gdGhlIHNob3dcbiAgICAgICAgZm9yIChjb25zdCBjb21waWxlck5hbWUgb2YgT2JqZWN0LmtleXMoY29tcGlsZXJzKSkge1xuICAgICAgICAgIGlmICghY29tcGlsZXJzW2NvbXBpbGVyTmFtZV0pIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaGFzUHJvYmxlbXMgJiYgIXByZUVycm9ycy5jaGlsZHJlbi5sZW5ndGggJiYgIXByZVdhcm5pbmdzLmNoaWxkcmVuLmxlbmd0aCkge1xuICAgICAgICAgIHJlc2V0KCk7XG4gICAgICAgICAgaGFzUHJvYmxlbXMgPSBmYWxzZTtcbiAgICAgICAgICBwcm9ibGVtcy5jbGFzc0xpc3QuYWRkKGAke25zfS1zdWNjZXNzYCk7XG4gICAgICAgICAgYXNpZGUuY2xhc3NMaXN0LnJlbW92ZShoaWRkZW4pO1xuXG4gICAgICAgICAgc2V0VGltZW91dCgoKSA9PiBhc2lkZS5jbGFzc0xpc3QuYWRkKGhpZGRlbiksIDNlMyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgIH1cbiAgfSk7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHsgaW5pdCB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/overlays/status.js\n");
-
-/***/ }),
-
-/***/ "../node_modules/webpack-plugin-serve/lib/client/overlays/util.js":
-/*!************************************************************************!*\
- !*** ../node_modules/webpack-plugin-serve/lib/client/overlays/util.js ***!
- \************************************************************************/
-/*! no static exports found */
-/***/ (function(module, exports) {
-
-eval("/*\n Copyright © 2018 Andrew Powell\n\n This Source Code Form is subject to the terms of the Mozilla Public\n License, v. 2.0. If a copy of the MPL was not distributed with this\n file, You can obtain one at http://mozilla.org/MPL/2.0/.\n\n The above copyright notice and this permission notice shall be\n included in all copies or substantial portions of this Source Code Form.\n*/\nconst addHtml = (html, parent) => {\n const div = document.createElement('div');\n const nodes = [];\n\n div.innerHTML = html.trim();\n\n while (div.firstChild) {\n nodes.push((parent || document.body).appendChild(div.firstChild));\n }\n\n return nodes;\n};\n\nconst addCss = (css) => {\n const style = document.createElement('style');\n\n style.type = 'text/css';\n\n if (css.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n // append the stylesheet for the svg\n document.head.appendChild(style);\n};\n\nconst socketMessage = (socket, handler) => {\n socket.addEventListener('message', (message) => {\n const { action, data = {} } = JSON.parse(message.data);\n handler(action, data);\n });\n};\n\nmodule.exports = { addCss, addHtml, socketMessage };\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi4vbm9kZV9tb2R1bGVzL3dlYnBhY2stcGx1Z2luLXNlcnZlL2xpYi9jbGllbnQvb3ZlcmxheXMvdXRpbC5qcz84ZmJjIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBOztBQUVBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFFQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTs7QUFFQTtBQUNBOztBQUVBOztBQUVBO0FBQ0E7QUFDQSxHQUFHO0FBQ0g7QUFDQTs7QUFFQTtBQUNBO0FBQ0E7O0FBRUE7QUFDQTtBQUNBLFdBQVcsa0JBQWtCLEVBQUU7QUFDL0I7QUFDQSxHQUFHO0FBQ0g7O0FBRUEsa0JBQWtCIiwiZmlsZSI6Ii4uL25vZGVfbW9kdWxlcy93ZWJwYWNrLXBsdWdpbi1zZXJ2ZS9saWIvY2xpZW50L292ZXJsYXlzL3V0aWwuanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICBDb3B5cmlnaHQgwqkgMjAxOCBBbmRyZXcgUG93ZWxsXG5cbiAgVGhpcyBTb3VyY2UgQ29kZSBGb3JtIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIG9mIHRoZSBNb3ppbGxhIFB1YmxpY1xuICBMaWNlbnNlLCB2LiAyLjAuIElmIGEgY29weSBvZiB0aGUgTVBMIHdhcyBub3QgZGlzdHJpYnV0ZWQgd2l0aCB0aGlzXG4gIGZpbGUsIFlvdSBjYW4gb2J0YWluIG9uZSBhdCBodHRwOi8vbW96aWxsYS5vcmcvTVBMLzIuMC8uXG5cbiAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmVcbiAgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGlzIFNvdXJjZSBDb2RlIEZvcm0uXG4qL1xuY29uc3QgYWRkSHRtbCA9IChodG1sLCBwYXJlbnQpID0+IHtcbiAgY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gIGNvbnN0IG5vZGVzID0gW107XG5cbiAgZGl2LmlubmVySFRNTCA9IGh0bWwudHJpbSgpO1xuXG4gIHdoaWxlIChkaXYuZmlyc3RDaGlsZCkge1xuICAgIG5vZGVzLnB1c2goKHBhcmVudCB8fCBkb2N1bWVudC5ib2R5KS5hcHBlbmRDaGlsZChkaXYuZmlyc3RDaGlsZCkpO1xuICB9XG5cbiAgcmV0dXJuIG5vZGVzO1xufTtcblxuY29uc3QgYWRkQ3NzID0gKGNzcykgPT4ge1xuICBjb25zdCBzdHlsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3N0eWxlJyk7XG5cbiAgc3R5bGUudHlwZSA9ICd0ZXh0L2Nzcyc7XG5cbiAgaWYgKGNzcy5zdHlsZVNoZWV0KSB7XG4gICAgc3R5bGUuc3R5bGVTaGVldC5jc3NUZXh0ID0gY3NzO1xuICB9IGVsc2Uge1xuICAgIHN0eWxlLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGNzcykpO1xuICB9XG5cbiAgLy8gYXBwZW5kIHRoZSBzdHlsZXNoZWV0IGZvciB0aGUgc3ZnXG4gIGRvY3VtZW50LmhlYWQuYXBwZW5kQ2hpbGQoc3R5bGUpO1xufTtcblxuY29uc3Qgc29ja2V0TWVzc2FnZSA9IChzb2NrZXQsIGhhbmRsZXIpID0+IHtcbiAgc29ja2V0LmFkZEV2ZW50TGlzdGVuZXIoJ21lc3NhZ2UnLCAobWVzc2FnZSkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aW9uLCBkYXRhID0ge30gfSA9IEpTT04ucGFyc2UobWVzc2FnZS5kYXRhKTtcbiAgICBoYW5kbGVyKGFjdGlvbiwgZGF0YSk7XG4gIH0pO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSB7IGFkZENzcywgYWRkSHRtbCwgc29ja2V0TWVzc2FnZSB9O1xuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../node_modules/webpack-plugin-serve/lib/client/overlays/util.js\n");
-
-/***/ }),
-
-/***/ "./js/index.js":
-/*!*********************!*\
- !*** ./js/index.js ***!
- \*********************/
-/*! no exports provided */
-/***/ (function(module, __webpack_exports__, __webpack_require__) {
-
-"use strict";
-eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _sass_style_scss__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../sass/style.scss */ \"./sass/style.scss\");\n/* harmony import */ var _sass_style_scss__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_sass_style_scss__WEBPACK_IMPORTED_MODULE_0__);\n\nalert('test');//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9qcy9pbmRleC5qcz9lZTFjIl0sIm5hbWVzIjpbImFsZXJ0Il0sIm1hcHBpbmdzIjoiQUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBQSxLQUFLLENBQUMsTUFBRCxDQUFMIiwiZmlsZSI6Ii4vanMvaW5kZXguanMuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJy4uL3Nhc3Mvc3R5bGUuc2NzcydcblxuYWxlcnQoJ3Rlc3QnKTsiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./js/index.js\n");
-
-/***/ }),
-
-/***/ "./sass/style.scss":
-/*!*************************!*\
- !*** ./sass/style.scss ***!
- \*************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-eval("// extracted by mini-css-extract-plugin//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vLi9zYXNzL3N0eWxlLnNjc3M/NzA1OSJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSIsImZpbGUiOiIuL3Nhc3Mvc3R5bGUuc2Nzcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGV4dHJhY3RlZCBieSBtaW5pLWNzcy1leHRyYWN0LXBsdWdpbiJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///./sass/style.scss\n");
-
-/***/ }),
-
-/***/ 0:
-/*!*******************************************************!*\
- !*** multi ./js/index.js webpack-plugin-serve/client ***!
- \*******************************************************/
-/*! no static exports found */
-/***/ (function(module, exports, __webpack_require__) {
-
-__webpack_require__(/*! ./js/index.js */"./js/index.js");
-module.exports = __webpack_require__(/*! webpack-plugin-serve/client */"../node_modules/webpack-plugin-serve/client.js");
-
-
-/***/ })
-
-/******/ }); \ No newline at end of file
diff --git a/static/dist/app.css b/static/dist/app.css
new file mode 100644
index 0000000..3be6de0
--- /dev/null
+++ b/static/dist/app.css
@@ -0,0 +1 @@
+/*! modern-normalize | MIT License | https://github.com/sindresorhus/modern-normalize */html{box-sizing:border-box}*,:after,:before{box-sizing:inherit}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}hr{height:0}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{padding:0}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item} \ No newline at end of file
diff --git a/static/dist/app.js b/static/dist/app.js
new file mode 100644
index 0000000..82a2f78
--- /dev/null
+++ b/static/dist/app.js
@@ -0,0 +1 @@
+!function(r){var n={};function o(e){if(n[e])return n[e].exports;var t=n[e]={i:e,l:!1,exports:{}};return r[e].call(t.exports,t,t.exports,o),t.l=!0,t.exports}o.m=r,o.c=n,o.d=function(e,t,r){o.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},o.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.t=function(t,e){if(1&e&&(t=o(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(o.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var n in t)o.d(r,n,function(e){return t[e]}.bind(null,n));return r},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,"a",t),t},o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},o.p="",o(o.s=0)}([function(e,t,r){e.exports=r(1)},function(e,t,r){"use strict";r.r(t);r(2);alert("test")},function(e,t,r){}]); \ No newline at end of file
diff --git a/webpack/base.config.js b/webpack/base.config.js
index 9c11902..1ae80a8 100644
--- a/webpack/base.config.js
+++ b/webpack/base.config.js
@@ -9,6 +9,9 @@ module.exports = {
plugins: [
new MiniCssExtractPlugin
],
+ output: {
+ path: path.resolve(__dirname, '../static/dist')
+ },
module: {
rules: [
{