text: webpackJsonp([0],{
  
  /***/ 162:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Router__ = __webpack_require__(113);
  // Written in this round about way for babel-transform-imports
  
  
  /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Router__["a" /* default */]);
  
  /***/ }),
  
  /***/ 165:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__jumbotron_Jumbotron__ = __webpack_require__(678);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_0__jumbotron_Jumbotron__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__navigation_NavigationBar__ = __webpack_require__(679);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_1__navigation_NavigationBar__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__backToTop_BackToTop__ = __webpack_require__(685);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_2__backToTop_BackToTop__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__animatedView_AnimatedView__ = __webpack_require__(76);
  /* unused harmony reexport AnimatedView */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__logoutRoute_LogoutRoute__ = __webpack_require__(254);
  /* unused harmony reexport LogoutRoute */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__privateRoute_PrivateRoute__ = __webpack_require__(377);
  /* unused harmony reexport PrivateRoute */
  //  weak
  
  
  
  
  
  
  
  
  /***/ }),
  
  /***/ 172:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* unused harmony export auth */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jwt_decode__ = __webpack_require__(696);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_jwt_decode___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_jwt_decode__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment__ = __webpack_require__(2);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_moment___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_moment__);
  
  
  
  
  
  var TOKEN_KEY = 'token';
  var USER_INFO = 'userInfo';
  
  var APP_PERSIST_STORES_TYPES = ['localStorage', 'sessionStorage'];
  
  var parse = JSON.parse;
  var stringify = JSON.stringify;
  
  /*
    auth object
    -> store "TOKEN_KEY"
    - default storage is "localStorage"
    - default token key is 'token'
   */
  var auth = {
    // /////////////////////////////////////////////////////////////
    // TOKEN
    // /////////////////////////////////////////////////////////////
  
    /**
     * get token from localstorage
     *
     * @param {'localStorage' | 'sessionStorage'} [fromStorage='localStorage'] specify storage
     * @param {any} [tokenKey=TOKEN_KEY]  optionnal parameter to specify a token key
     * @returns {string} token value
     */
    getToken: function getToken() {
      var fromStorage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : APP_PERSIST_STORES_TYPES[0];
      var tokenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TOKEN_KEY;
  
      // localStorage:
      if (fromStorage === APP_PERSIST_STORES_TYPES[0]) {
        return localStorage && localStorage.getItem(tokenKey) || null;
      }
      // sessionStorage:
      if (fromStorage === APP_PERSIST_STORES_TYPES[1]) {
        return sessionStorage && sessionStorage.getItem(tokenKey) || null;
      }
      // default:
      return null;
    },
  
  
    /**
    * set the token value into localstorage (managed by localforage)
    *
    * @param {string} [value=''] token value
    * @param {'localStorage' | 'sessionStorage'} [toStorage='localStorage'] specify storage
    * @param {any} [tokenKey='token'] token key
    * @returns {boolean} success/failure flag
    */
    setToken: function setToken() {
      var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
      var toStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : APP_PERSIST_STORES_TYPES[0];
      var tokenKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : TOKEN_KEY;
  
      if (!value || value.length <= 0) {
        return;
      }
      // localStorage:
      if (toStorage === APP_PERSIST_STORES_TYPES[0]) {
        if (localStorage) {
          localStorage.setItem(tokenKey, value);
        }
      }
      // sessionStorage:
      if (toStorage === APP_PERSIST_STORES_TYPES[1]) {
        if (sessionStorage) {
          sessionStorage.setItem(tokenKey, value);
        }
      }
    },
  
  
    /**
     * check
     * - if token key contains a valid token value (defined and not an empty value)
     * - if the token expiration date is passed
     *
     *
     * Note: 'isAuthenticated' just checks 'tokenKey' on store (localStorage by default or sessionStorage)
     *
     * You may think: 'ok I just put an empty token key and I have access to protected routes?''
     *    -> answer is:  YES^^
     * BUT
     * -> : your backend will not recognize a wrong token so private data or safe and you protected view could be a bit ugly without any data.
     *
     * => ON CONCLUSION: this aim of 'isAuthenticated'
     *    -> is to help for a better "user experience"  (= better than displaying a view with no data since server did not accept the user).
     *    -> it is not a security purpose (security comes from backend, since frontend is easily hackable => user has access to all your frontend)
     *
     * @param {'localStorage' | 'sessionStorage'} [fromStorage='localStorage'] specify storage
     * @param {any} [tokenKey=TOKEN_KEY] token key
     * @returns {bool} is authenticed response
     */
    isAuthenticated: function isAuthenticated() {
      var fromStorage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : APP_PERSIST_STORES_TYPES[0];
      var tokenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TOKEN_KEY;
  
      // localStorage:
      if (fromStorage === APP_PERSIST_STORES_TYPES[0]) {
        if (localStorage && localStorage.getItem(tokenKey)) {
          return true;
        } else {
          return false;
        }
      }
      // sessionStorage:
      if (fromStorage === APP_PERSIST_STORES_TYPES[1]) {
        if (sessionStorage && sessionStorage.getItem(tokenKey)) {
          return true;
        } else {
          return false;
        }
      }
      // default:
      return false;
    },
  
  
    /**
     * delete token
     *
     * @param {any} [tokenKey='token'] token key
     * @returns {bool} success/failure flag
     */
    clearToken: function clearToken() {
      var storage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : APP_PERSIST_STORES_TYPES[0];
      var tokenKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : TOKEN_KEY;
  
      // localStorage:
      if (localStorage && localStorage[tokenKey]) {
        localStorage.removeItem(tokenKey);
        return true;
      }
      // sessionStorage:
      if (sessionStorage && sessionStorage[tokenKey]) {
        sessionStorage.removeItem(tokenKey);
        return true;
      }
  
      return false;
    },
  
  
    /**
     * return expiration date from token
     *
     * @param {string} encodedToken - base 64 token received from server and stored in local storage
     * @returns {date | null} returns expiration date or null id expired props not found in decoded token
     */
    getTokenExpirationDate: function getTokenExpirationDate(encodedToken) {
      if (!encodedToken) {
        return new Date(0); // is expired
      }
  
      var token = __WEBPACK_IMPORTED_MODULE_0_jwt_decode___default()(encodedToken);
      if (!token.exp) {
        return new Date(0); // is expired
      }
  
      var expirationDate = new Date(token.exp * 1000);
      return expirationDate;
    },
  
  
    /**
     * tell is token is expired (compared to now)
     *
     * @param {string} encodedToken - base 64 token received from server and stored in local storage
     * @returns {bool} returns true if expired else false
     */
    isExpiredToken: function isExpiredToken(encodedToken) {
      var expirationDate = this.getTokenExpirationDate(encodedToken);
      var rightNow = __WEBPACK_IMPORTED_MODULE_1_moment___default()();
      var isExpiredToken = __WEBPACK_IMPORTED_MODULE_1_moment___default()(rightNow).isAfter(__WEBPACK_IMPORTED_MODULE_1_moment___default()(expirationDate));
  
      return isExpiredToken;
    },
  
  
    // /////////////////////////////////////////////////////////////
    // USER_INFO
    // /////////////////////////////////////////////////////////////
    /**
     * get user info from localstorage
     *
     * @param {'localStorage' | 'sessionStorage'} [fromStorage='localStorage'] specify storage
     * @param {any} [userInfoKey='userInfo']  optionnal parameter to specify a token key
     * @returns {string} token value
     */
    getUserInfo: function getUserInfo() {
      var fromStorage = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : APP_PERSIST_STORES_TYPES[0];
      var userInfoKey = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : USER_INFO;
  
      // localStorage:
      if (fromStorage === APP_PERSIST_STORES_TYPES[0]) {
        return localStorage && parse(localStorage.getItem(userInfoKey)) || null;
      }
      // sessionStorage:
      if (fromStorage === APP_PERSIST_STORES_TYPES[1]) {
        return sessionStorage && parse(sessionStorage.getItem(userInfoKey)) || null;
      }
      // default:
      return null;
    },
  
  
    /**
     * set the userInfo value into localstorage
     *
     * @param {object} [value=''] token value
     * @param {'localStorage' | 'sessionStorage'} [toStorage='localStorage'] specify storage
     * @param {any} [userInfoKey='userInfo'] token key
     * @returns {boolean} success/failure flag
     */
    setUserInfo: function setUserInfo() {
      var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
      var toStorage = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : APP_PERSIST_STORES_TYPES[0];
      var userInfoKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : USER_INFO;
  
      if (!value || value.length <= 0) {
        return;
      }
      // localStorage:
      if (toStorage === APP_PERSIST_STORES_TYPES[0]) {
        if (localStorage) {
          localStorage.setItem(userInfoKey, stringify(value));
        }
      }
      // sessionStorage:
      if (toStorage === APP_PERSIST_STORES_TYPES[1]) {
        if (sessionStorage) {
          sessionStorage.setItem(userInfoKey, stringify(value));
        }
      }
    },
  
  
    /**
     * delete userInfo
     *
     * @param {string} [userInfoKey='userInfo'] token key
     * @returns {bool} success/failure flag
     */
    clearUserInfo: function clearUserInfo() {
      var userInfoKey = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : USER_INFO;
  
      // localStorage:
      if (localStorage && localStorage[userInfoKey]) {
        localStorage.removeItem(userInfoKey);
      }
      // sessionStorage:
      if (sessionStorage && sessionStorage[userInfoKey]) {
        sessionStorage.removeItem(userInfoKey);
      }
    },
  
  
    // /////////////////////////////////////////////////////////////
    // COMMON
    // /////////////////////////////////////////////////////////////
  
    /**
     * forget me method: clear all
     * @returns {bool} success/failure flag
     */
    clearAllAppStorage: function clearAllAppStorage() {
      if (localStorage) {
        localStorage.clear();
      }
      if (sessionStorage) {
        sessionStorage.clear();
      }
    }
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (auth);
  
  /***/ }),
  
  /***/ 240:
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.__esModule = true;
  var canUseDOM = exports.canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);
  
  var addEventListener = exports.addEventListener = function addEventListener(node, event, listener) {
    return node.addEventListener ? node.addEventListener(event, listener, false) : node.attachEvent('on' + event, listener);
  };
  
  var removeEventListener = exports.removeEventListener = function removeEventListener(node, event, listener) {
    return node.removeEventListener ? node.removeEventListener(event, listener, false) : node.detachEvent('on' + event, listener);
  };
  
  var getConfirmation = exports.getConfirmation = function getConfirmation(message, callback) {
    return callback(window.confirm(message));
  }; // eslint-disable-line no-alert
  
  /**
   * Returns true if the HTML5 history API is supported. Taken from Modernizr.
   *
   * https://github.com/Modernizr/Modernizr/blob/master/LICENSE
   * https://github.com/Modernizr/Modernizr/blob/master/feature-detects/history.js
   * changed to avoid false negatives for Windows Phones: https://github.com/reactjs/react-router/issues/586
   */
  var supportsHistory = exports.supportsHistory = function supportsHistory() {
    var ua = window.navigator.userAgent;
  
    if ((ua.indexOf('Android 2.') !== -1 || ua.indexOf('Android 4.0') !== -1) && ua.indexOf('Mobile Safari') !== -1 && ua.indexOf('Chrome') === -1 && ua.indexOf('Windows Phone') === -1) return false;
  
    return window.history && 'pushState' in window.history;
  };
  
  /**
   * Returns true if browser fires popstate on hash change.
   * IE10 and IE11 do not.
   */
  var supportsPopStateOnHashChange = exports.supportsPopStateOnHashChange = function supportsPopStateOnHashChange() {
    return window.navigator.userAgent.indexOf('Trident') === -1;
  };
  
  /**
   * Returns false if using go(n) with hash history causes a full page reload.
   */
  var supportsGoWithoutReloadUsingHash = exports.supportsGoWithoutReloadUsingHash = function supportsGoWithoutReloadUsingHash() {
    return window.navigator.userAgent.indexOf('Firefox') === -1;
  };
  
  /**
   * Returns true if a given popstate event is an extraneous WebKit event.
   * Accounts for the fact that Chrome on iOS fires real popstate events
   * containing undefined state when pressing the back button.
   */
  var isExtraneousPopstateEvent = exports.isExtraneousPopstateEvent = function isExtraneousPopstateEvent(event) {
    return event.state === undefined && navigator.userAgent.indexOf('CriOS') === -1;
  };
  
  /***/ }),
  
  /***/ 241:
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.__esModule = true;
  
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  var _warning = __webpack_require__(15);
  
  var _warning2 = _interopRequireDefault(_warning);
  
  var _invariant = __webpack_require__(26);
  
  var _invariant2 = _interopRequireDefault(_invariant);
  
  var _LocationUtils = __webpack_require__(160);
  
  var _PathUtils = __webpack_require__(90);
  
  var _createTransitionManager = __webpack_require__(161);
  
  var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
  
  var _DOMUtils = __webpack_require__(240);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  var HashChangeEvent = 'hashchange';
  
  var HashPathCoders = {
    hashbang: {
      encodePath: function encodePath(path) {
        return path.charAt(0) === '!' ? path : '!/' + (0, _PathUtils.stripLeadingSlash)(path);
      },
      decodePath: function decodePath(path) {
        return path.charAt(0) === '!' ? path.substr(1) : path;
      }
    },
    noslash: {
      encodePath: _PathUtils.stripLeadingSlash,
      decodePath: _PathUtils.addLeadingSlash
    },
    slash: {
      encodePath: _PathUtils.addLeadingSlash,
      decodePath: _PathUtils.addLeadingSlash
    }
  };
  
  var getHashPath = function getHashPath() {
    // We can't use window.location.hash here because it's not
    // consistent across browsers - Firefox will pre-decode it!
    var href = window.location.href;
    var hashIndex = href.indexOf('#');
    return hashIndex === -1 ? '' : href.substring(hashIndex + 1);
  };
  
  var pushHashPath = function pushHashPath(path) {
    return window.location.hash = path;
  };
  
  var replaceHashPath = function replaceHashPath(path) {
    var hashIndex = window.location.href.indexOf('#');
  
    window.location.replace(window.location.href.slice(0, hashIndex >= 0 ? hashIndex : 0) + '#' + path);
  };
  
  var createHashHistory = function createHashHistory() {
    var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  
    (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Hash history needs a DOM');
  
    var globalHistory = window.history;
    var canGoWithoutReload = (0, _DOMUtils.supportsGoWithoutReloadUsingHash)();
  
    var _props$getUserConfirm = props.getUserConfirmation,
        getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,
        _props$hashType = props.hashType,
        hashType = _props$hashType === undefined ? 'slash' : _props$hashType;
  
    var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';
  
    var _HashPathCoders$hashT = HashPathCoders[hashType],
        encodePath = _HashPathCoders$hashT.encodePath,
        decodePath = _HashPathCoders$hashT.decodePath;
  
  
    var getDOMLocation = function getDOMLocation() {
      var path = decodePath(getHashPath());
  
      (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".');
  
      if (basename) path = (0, _PathUtils.stripBasename)(path, basename);
  
      return (0, _LocationUtils.createLocation)(path);
    };
  
    var transitionManager = (0, _createTransitionManager2.default)();
  
    var setState = function setState(nextState) {
      _extends(history, nextState);
  
      history.length = globalHistory.length;
  
      transitionManager.notifyListeners(history.location, history.action);
    };
  
    var forceNextPop = false;
    var ignorePath = null;
  
    var handleHashChange = function handleHashChange() {
      var path = getHashPath();
      var encodedPath = encodePath(path);
  
      if (path !== encodedPath) {
        // Ensure we always have a properly-encoded hash.
        replaceHashPath(encodedPath);
      } else {
        var location = getDOMLocation();
        var prevLocation = history.location;
  
        if (!forceNextPop && (0, _LocationUtils.locationsAreEqual)(prevLocation, location)) return; // A hashchange doesn't always == location change.
  
        if (ignorePath === (0, _PathUtils.createPath)(location)) return; // Ignore this change; we already setState in push/replace.
  
        ignorePath = null;
  
        handlePop(location);
      }
    };
  
    var handlePop = function handlePop(location) {
      if (forceNextPop) {
        forceNextPop = false;
        setState();
      } else {
        var action = 'POP';
  
        transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
          if (ok) {
            setState({ action: action, location: location });
          } else {
            revertPop(location);
          }
        });
      }
    };
  
    var revertPop = function revertPop(fromLocation) {
      var toLocation = history.location;
  
      // TODO: We could probably make this more reliable by
      // keeping a list of paths we've seen in sessionStorage.
      // Instead, we just default to 0 for paths we don't know.
  
      var toIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(toLocation));
  
      if (toIndex === -1) toIndex = 0;
  
      var fromIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(fromLocation));
  
      if (fromIndex === -1) fromIndex = 0;
  
      var delta = toIndex - fromIndex;
  
      if (delta) {
        forceNextPop = true;
        go(delta);
      }
    };
  
    // Ensure the hash is encoded properly before doing anything else.
    var path = getHashPath();
    var encodedPath = encodePath(path);
  
    if (path !== encodedPath) replaceHashPath(encodedPath);
  
    var initialLocation = getDOMLocation();
    var allPaths = [(0, _PathUtils.createPath)(initialLocation)];
  
    // Public interface
  
    var createHref = function createHref(location) {
      return '#' + encodePath(basename + (0, _PathUtils.createPath)(location));
    };
  
    var push = function push(path, state) {
      (0, _warning2.default)(state === undefined, 'Hash history cannot push state; it is ignored');
  
      var action = 'PUSH';
      var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);
  
      transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
        if (!ok) return;
  
        var path = (0, _PathUtils.createPath)(location);
        var encodedPath = encodePath(basename + path);
        var hashChanged = getHashPath() !== encodedPath;
  
        if (hashChanged) {
          // We cannot tell if a hashchange was caused by a PUSH, so we'd
          // rather setState here and ignore the hashchange. The caveat here
          // is that other hash histories in the page will consider it a POP.
          ignorePath = path;
          pushHashPath(encodedPath);
  
          var prevIndex = allPaths.lastIndexOf((0, _PathUtils.createPath)(history.location));
          var nextPaths = allPaths.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);
  
          nextPaths.push(path);
          allPaths = nextPaths;
  
          setState({ action: action, location: location });
        } else {
          (0, _warning2.default)(false, 'Hash history cannot PUSH the same path; a new entry will not be added to the history stack');
  
          setState();
        }
      });
    };
  
    var replace = function replace(path, state) {
      (0, _warning2.default)(state === undefined, 'Hash history cannot replace state; it is ignored');
  
      var action = 'REPLACE';
      var location = (0, _LocationUtils.createLocation)(path, undefined, undefined, history.location);
  
      transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
        if (!ok) return;
  
        var path = (0, _PathUtils.createPath)(location);
        var encodedPath = encodePath(basename + path);
        var hashChanged = getHashPath() !== encodedPath;
  
        if (hashChanged) {
          // We cannot tell if a hashchange was caused by a REPLACE, so we'd
          // rather setState here and ignore the hashchange. The caveat here
          // is that other hash histories in the page will consider it a POP.
          ignorePath = path;
          replaceHashPath(encodedPath);
        }
  
        var prevIndex = allPaths.indexOf((0, _PathUtils.createPath)(history.location));
  
        if (prevIndex !== -1) allPaths[prevIndex] = path;
  
        setState({ action: action, location: location });
      });
    };
  
    var go = function go(n) {
      (0, _warning2.default)(canGoWithoutReload, 'Hash history go(n) causes a full page reload in this browser');
  
      globalHistory.go(n);
    };
  
    var goBack = function goBack() {
      return go(-1);
    };
  
    var goForward = function goForward() {
      return go(1);
    };
  
    var listenerCount = 0;
  
    var checkDOMListeners = function checkDOMListeners(delta) {
      listenerCount += delta;
  
      if (listenerCount === 1) {
        (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);
      } else if (listenerCount === 0) {
        (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);
      }
    };
  
    var isBlocked = false;
  
    var block = function block() {
      var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  
      var unblock = transitionManager.setPrompt(prompt);
  
      if (!isBlocked) {
        checkDOMListeners(1);
        isBlocked = true;
      }
  
      return function () {
        if (isBlocked) {
          isBlocked = false;
          checkDOMListeners(-1);
        }
  
        return unblock();
      };
    };
  
    var listen = function listen(listener) {
      var unlisten = transitionManager.appendListener(listener);
      checkDOMListeners(1);
  
      return function () {
        checkDOMListeners(-1);
        unlisten();
      };
    };
  
    var history = {
      length: globalHistory.length,
      action: 'POP',
      location: initialLocation,
      createHref: createHref,
      push: push,
      replace: replace,
      go: go,
      goBack: goBack,
      goForward: goForward,
      block: block,
      listen: listen
    };
  
    return history;
  };
  
  exports.default = createHashHistory;
  
  /***/ }),
  
  /***/ 242:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_invariant__ = __webpack_require__(26);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_invariant___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_invariant__);
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  
  
  
  
  var isModifiedEvent = function isModifiedEvent(event) {
    return !!(event.metaKey || event.altKey || event.ctrlKey || event.shiftKey);
  };
  
  /**
   * The public API for rendering a history-aware <a>.
   */
  
  var Link = function (_React$Component) {
    _inherits(Link, _React$Component);
  
    function Link() {
      var _temp, _this, _ret;
  
      _classCallCheck(this, Link);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.handleClick = function (event) {
        if (_this.props.onClick) _this.props.onClick(event);
  
        if (!event.defaultPrevented && // onClick prevented default
        event.button === 0 && // ignore right clicks
        !_this.props.target && // let browser handle "target=_blank" etc.
        !isModifiedEvent(event) // ignore clicks with modifier keys
        ) {
            event.preventDefault();
  
            var history = _this.context.router.history;
            var _this$props = _this.props,
                replace = _this$props.replace,
                to = _this$props.to;
  
  
            if (replace) {
              history.replace(to);
            } else {
              history.push(to);
            }
          }
      }, _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    Link.prototype.render = function render() {
      var _props = this.props,
          replace = _props.replace,
          to = _props.to,
          innerRef = _props.innerRef,
          props = _objectWithoutProperties(_props, ['replace', 'to', 'innerRef']); // eslint-disable-line no-unused-vars
  
      __WEBPACK_IMPORTED_MODULE_2_invariant___default()(this.context.router, 'You should not use <Link> outside a <Router>');
  
      var href = this.context.router.history.createHref(typeof to === 'string' ? { pathname: to } : to);
  
      return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('a', _extends({}, props, { onClick: this.handleClick, href: href, ref: innerRef }));
    };
  
    return Link;
  }(__WEBPACK_IMPORTED_MODULE_0_react___default.a.Component);
  
  Link.propTypes = {
    onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
    target: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    replace: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
    to: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object]).isRequired,
    innerRef: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOfType([__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string, __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func])
  };
  Link.defaultProps = {
    replace: false
  };
  Link.contextTypes = {
    router: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
      history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
        push: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
        replace: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
        createHref: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired
      }).isRequired
    }).isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Link);
  
  /***/ }),
  
  /***/ 244:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Route__ = __webpack_require__(163);
  // Written in this round about way for babel-transform-imports
  
  
  /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Route__["a" /* default */]);
  
  /***/ }),
  
  /***/ 253:
  /***/ (function(module, exports, __webpack_require__) {
  
  var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
    Copyright (c) 2016 Jed Watson.
    Licensed under the MIT License (MIT), see
    http://jedwatson.github.io/classnames
  */
  /* global define */
  
  (function () {
  	'use strict';
  
  	var hasOwn = {}.hasOwnProperty;
  
  	function classNames () {
  		var classes = [];
  
  		for (var i = 0; i < arguments.length; i++) {
  			var arg = arguments[i];
  			if (!arg) continue;
  
  			var argType = typeof arg;
  
  			if (argType === 'string' || argType === 'number') {
  				classes.push(this && this[arg] || arg);
  			} else if (Array.isArray(arg)) {
  				classes.push(classNames.apply(this, arg));
  			} else if (argType === 'object') {
  				for (var key in arg) {
  					if (hasOwn.call(arg, key) && arg[key]) {
  						classes.push(this && this[key] || key);
  					}
  				}
  			}
  		}
  
  		return classes.join(' ');
  	}
  
  	if (typeof module !== 'undefined' && module.exports) {
  		module.exports = classNames;
  	} else if (true) {
  		// register as 'classnames', consistent with npm package name
  		!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = (function () {
  			return classNames;
  		}).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
  				__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
  	} else {
  		window.classNames = classNames;
  	}
  }());
  
  
  /***/ }),
  
  /***/ 254:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(75);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_auth__ = __webpack_require__(172);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  var LogoutRoute = function (_PureComponent) {
    _inherits(LogoutRoute, _PureComponent);
  
    function LogoutRoute() {
      _classCallCheck(this, LogoutRoute);
  
      return _possibleConstructorReturn(this, (LogoutRoute.__proto__ || Object.getPrototypeOf(LogoutRoute)).apply(this, arguments));
    }
  
    _createClass(LogoutRoute, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        __WEBPACK_IMPORTED_MODULE_3__services_auth__["a" /* default */].clearAllAppStorage();
      }
    }, {
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_2_react_router_dom__["c" /* Route */],
          this.props,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_router_dom__["b" /* Redirect */], { to: { pathname: '/login' } })
        );
      }
    }]);
  
    return LogoutRoute;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  LogoutRoute.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_router_dom__["f" /* withRouter */])(LogoutRoute));
  
  /***/ }),
  
  /***/ 377:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(75);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__services_auth__ = __webpack_require__(172);
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  var PrivateRoute = function (_Component) {
    _inherits(PrivateRoute, _Component);
  
    function PrivateRoute() {
      _classCallCheck(this, PrivateRoute);
  
      return _possibleConstructorReturn(this, (PrivateRoute.__proto__ || Object.getPrototypeOf(PrivateRoute)).apply(this, arguments));
    }
  
    _createClass(PrivateRoute, [{
      key: 'render',
      value: function render() {
        var _props = this.props,
            InnerComponent = _props.component,
            rest = _objectWithoutProperties(_props, ['component']);
  
        var location = this.props.location;
  
  
        var isUserAuthenticated = this.isAuthenticated();
        var isTokenExpired = false; // this.isExpired();
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_router_dom__["c" /* Route */], _extends({}, rest, {
          render: function render(props) {
            return !isTokenExpired && isUserAuthenticated ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(InnerComponent, props) : __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2_react_router_dom__["b" /* Redirect */], { to: { pathname: '/login', state: { from: location } } });
          }
        }));
      }
    }, {
      key: 'isAuthenticated',
      value: function isAuthenticated() {
        var checkUserHasId = function checkUserHasId(user) {
          return user && user.id;
        };
        var user = __WEBPACK_IMPORTED_MODULE_3__services_auth__["a" /* default */].getUserInfo() ? __WEBPACK_IMPORTED_MODULE_3__services_auth__["a" /* default */].getUserInfo() : null;
        var isAuthenticated = __WEBPACK_IMPORTED_MODULE_3__services_auth__["a" /* default */].getToken() && checkUserHasId(user) ? true : false;
        return isAuthenticated;
      }
    }, {
      key: 'isExpired',
      value: function isExpired() {
        return __WEBPACK_IMPORTED_MODULE_3__services_auth__["a" /* default */].isExpiredToken(__WEBPACK_IMPORTED_MODULE_3__services_auth__["a" /* default */].getToken());
      }
    }]);
  
    return PrivateRoute;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
  
  PrivateRoute.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
  
    component: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.any.isRequired,
    path: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Object(__WEBPACK_IMPORTED_MODULE_2_react_router_dom__["f" /* withRouter */])(PrivateRoute));
  
  /***/ }),
  
  /***/ 430:
  /***/ (function(module, exports, __webpack_require__) {
  
  __webpack_require__(199);
  module.exports = __webpack_require__(632);
  
  
  /***/ }),
  
  /***/ 632:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  Object.defineProperty(__webpack_exports__, "__esModule", { value: true });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom__ = __webpack_require__(23);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_dom___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react_dom__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_tap_event_plugin__ = __webpack_require__(236);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_tap_event_plugin___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_tap_event_plugin__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_hot_loader__ = __webpack_require__(237);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_hot_loader___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_react_hot_loader__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_smoothscroll_polyfill__ = __webpack_require__(655);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_smoothscroll_polyfill___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4_smoothscroll_polyfill__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Root__ = __webpack_require__(656);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_animate_css__ = __webpack_require__(876);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6_animate_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6_animate_css__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_jquery__ = __webpack_require__(198);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7_jquery___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_7_jquery__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_font_awesome_css_font_awesome_min_css__ = __webpack_require__(877);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8_font_awesome_css_font_awesome_min_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8_font_awesome_css_font_awesome_min_css__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_bootstrap_dist_css_bootstrap_min_css__ = __webpack_require__(878);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9_bootstrap_dist_css_bootstrap_min_css___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_9_bootstrap_dist_css_bootstrap_min_css__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_bootstrap_dist_js_bootstrap_min_js__ = __webpack_require__(429);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10_bootstrap_dist_js_bootstrap_min_js___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_10_bootstrap_dist_js_bootstrap_min_js__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__style_index_scss__ = __webpack_require__(879);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__style_index_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_11__style_index_scss__);
  //  weak
  
  
  
  
  
  
  
  
  
   // css is not managed by CSSModule
  
  
   // import general styles, mixins etc...
  
  // smoothscroll polyfill
  __WEBPACK_IMPORTED_MODULE_4_smoothscroll_polyfill___default.a.polyfill();
  // force polyfill (even if browser partially implements it)
  window.__forceSmoothScrollPolyfill__ = true;
  
  var ELEMENT_TO_BOOTSTRAP = 'root';
  var BootstrapedElement = document.getElementById(ELEMENT_TO_BOOTSTRAP);
  
  __WEBPACK_IMPORTED_MODULE_2_react_tap_event_plugin___default()();
  
  var renderApp = function renderApp(RootComponent) {
    Object(__WEBPACK_IMPORTED_MODULE_1_react_dom__["render"])(__WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      __WEBPACK_IMPORTED_MODULE_3_react_hot_loader__["AppContainer"],
      {
        warnings: false
      },
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(RootComponent, null)
    ), BootstrapedElement);
  };
  
  renderApp(__WEBPACK_IMPORTED_MODULE_5__Root__["a" /* default */]);
  
  if (false) {
    module.hot.accept('./Root', function () {
      var RootComponent = require('./Root').default;
      renderApp(RootComponent);
    });
  }
  
  /***/ }),
  
  /***/ 655:
  /***/ (function(module, exports, __webpack_require__) {
  
  /* smoothscroll v0.4.0 - 2018 - Dustan Kasten, Jeremias Menichelli - MIT License */
  (function () {
    'use strict';
  
    // polyfill
    function polyfill() {
      // aliases
      var w = window;
      var d = document;
  
      // return if scroll behavior is supported and polyfill is not forced
      if (
        'scrollBehavior' in d.documentElement.style &&
        w.__forceSmoothScrollPolyfill__ !== true
      ) {
        return;
      }
  
      // globals
      var Element = w.HTMLElement || w.Element;
      var SCROLL_TIME = 468;
  
      // object gathering original scroll methods
      var original = {
        scroll: w.scroll || w.scrollTo,
        scrollBy: w.scrollBy,
        elementScroll: Element.prototype.scroll || scrollElement,
        scrollIntoView: Element.prototype.scrollIntoView
      };
  
      // define timing method
      var now =
        w.performance && w.performance.now
          ? w.performance.now.bind(w.performance)
          : Date.now;
  
      /**
       * indicates if a the current browser is made by Microsoft
       * @method isMicrosoftBrowser
       * @param {String} userAgent
       * @returns {Boolean}
       */
      function isMicrosoftBrowser(userAgent) {
        var userAgentPatterns = ['MSIE ', 'Trident/', 'Edge/'];
  
        return new RegExp(userAgentPatterns.join('|')).test(userAgent);
      }
  
      /*
       * IE has rounding bug rounding down clientHeight and clientWidth and
       * rounding up scrollHeight and scrollWidth causing false positives
       * on hasScrollableSpace
       */
      var ROUNDING_TOLERANCE = isMicrosoftBrowser(w.navigator.userAgent) ? 1 : 0;
  
      /**
       * changes scroll position inside an element
       * @method scrollElement
       * @param {Number} x
       * @param {Number} y
       * @returns {undefined}
       */
      function scrollElement(x, y) {
        this.scrollLeft = x;
        this.scrollTop = y;
      }
  
      /**
       * returns result of applying ease math function to a number
       * @method ease
       * @param {Number} k
       * @returns {Number}
       */
      function ease(k) {
        return 0.5 * (1 - Math.cos(Math.PI * k));
      }
  
      /**
       * indicates if a smooth behavior should be applied
       * @method shouldBailOut
       * @param {Number|Object} firstArg
       * @returns {Boolean}
       */
      function shouldBailOut(firstArg) {
        if (
          firstArg === null ||
          typeof firstArg !== 'object' ||
          firstArg.behavior === undefined ||
          firstArg.behavior === 'auto' ||
          firstArg.behavior === 'instant'
        ) {
          // first argument is not an object/null
          // or behavior is auto, instant or undefined
          return true;
        }
  
        if (typeof firstArg === 'object' && firstArg.behavior === 'smooth') {
          // first argument is an object and behavior is smooth
          return false;
        }
  
        // throw error when behavior is not supported
        throw new TypeError(
          'behavior member of ScrollOptions ' +
            firstArg.behavior +
            ' is not a valid value for enumeration ScrollBehavior.'
        );
      }
  
      /**
       * indicates if an element has scrollable space in the provided axis
       * @method hasScrollableSpace
       * @param {Node} el
       * @param {String} axis
       * @returns {Boolean}
       */
      function hasScrollableSpace(el, axis) {
        if (axis === 'Y') {
          return el.clientHeight + ROUNDING_TOLERANCE < el.scrollHeight;
        }
  
        if (axis === 'X') {
          return el.clientWidth + ROUNDING_TOLERANCE < el.scrollWidth;
        }
      }
  
      /**
       * indicates if an element has a scrollable overflow property in the axis
       * @method canOverflow
       * @param {Node} el
       * @param {String} axis
       * @returns {Boolean}
       */
      function canOverflow(el, axis) {
        var overflowValue = w.getComputedStyle(el, null)['overflow' + axis];
  
        return overflowValue === 'auto' || overflowValue === 'scroll';
      }
  
      /**
       * indicates if an element can be scrolled in either axis
       * @method isScrollable
       * @param {Node} el
       * @param {String} axis
       * @returns {Boolean}
       */
      function isScrollable(el) {
        var isScrollableY = hasScrollableSpace(el, 'Y') && canOverflow(el, 'Y');
        var isScrollableX = hasScrollableSpace(el, 'X') && canOverflow(el, 'X');
  
        return isScrollableY || isScrollableX;
      }
  
      /**
       * finds scrollable parent of an element
       * @method findScrollableParent
       * @param {Node} el
       * @returns {Node} el
       */
      function findScrollableParent(el) {
        var isBody;
  
        do {
          el = el.parentNode;
  
          isBody = el === d.body;
        } while (isBody === false && isScrollable(el) === false);
  
        isBody = null;
  
        return el;
      }
  
      /**
       * self invoked function that, given a context, steps through scrolling
       * @method step
       * @param {Object} context
       * @returns {undefined}
       */
      function step(context) {
        var time = now();
        var value;
        var currentX;
        var currentY;
        var elapsed = (time - context.startTime) / SCROLL_TIME;
  
        // avoid elapsed times higher than one
        elapsed = elapsed > 1 ? 1 : elapsed;
  
        // apply easing to elapsed time
        value = ease(elapsed);
  
        currentX = context.startX + (context.x - context.startX) * value;
        currentY = context.startY + (context.y - context.startY) * value;
  
        context.method.call(context.scrollable, currentX, currentY);
  
        // scroll more if we have not reached our destination
        if (currentX !== context.x || currentY !== context.y) {
          w.requestAnimationFrame(step.bind(w, context));
        }
      }
  
      /**
       * scrolls window or element with a smooth behavior
       * @method smoothScroll
       * @param {Object|Node} el
       * @param {Number} x
       * @param {Number} y
       * @returns {undefined}
       */
      function smoothScroll(el, x, y) {
        var scrollable;
        var startX;
        var startY;
        var method;
        var startTime = now();
  
        // define scroll context
        if (el === d.body) {
          scrollable = w;
          startX = w.scrollX || w.pageXOffset;
          startY = w.scrollY || w.pageYOffset;
          method = original.scroll;
        } else {
          scrollable = el;
          startX = el.scrollLeft;
          startY = el.scrollTop;
          method = scrollElement;
        }
  
        // scroll looping over a frame
        step({
          scrollable: scrollable,
          method: method,
          startTime: startTime,
          startX: startX,
          startY: startY,
          x: x,
          y: y
        });
      }
  
      // ORIGINAL METHODS OVERRIDES
      // w.scroll and w.scrollTo
      w.scroll = w.scrollTo = function() {
        // avoid action when no arguments are passed
        if (arguments[0] === undefined) {
          return;
        }
  
        // avoid smooth behavior if not required
        if (shouldBailOut(arguments[0]) === true) {
          original.scroll.call(
            w,
            arguments[0].left !== undefined
              ? arguments[0].left
              : typeof arguments[0] !== 'object'
                ? arguments[0]
                : w.scrollX || w.pageXOffset,
            // use top prop, second argument if present or fallback to scrollY
            arguments[0].top !== undefined
              ? arguments[0].top
              : arguments[1] !== undefined
                ? arguments[1]
                : w.scrollY || w.pageYOffset
          );
  
          return;
        }
  
        // LET THE SMOOTHNESS BEGIN!
        smoothScroll.call(
          w,
          d.body,
          arguments[0].left !== undefined
            ? ~~arguments[0].left
            : w.scrollX || w.pageXOffset,
          arguments[0].top !== undefined
            ? ~~arguments[0].top
            : w.scrollY || w.pageYOffset
        );
      };
  
      // w.scrollBy
      w.scrollBy = function() {
        // avoid action when no arguments are passed
        if (arguments[0] === undefined) {
          return;
        }
  
        // avoid smooth behavior if not required
        if (shouldBailOut(arguments[0])) {
          original.scrollBy.call(
            w,
            arguments[0].left !== undefined
              ? arguments[0].left
              : typeof arguments[0] !== 'object' ? arguments[0] : 0,
            arguments[0].top !== undefined
              ? arguments[0].top
              : arguments[1] !== undefined ? arguments[1] : 0
          );
  
          return;
        }
  
        // LET THE SMOOTHNESS BEGIN!
        smoothScroll.call(
          w,
          d.body,
          ~~arguments[0].left + (w.scrollX || w.pageXOffset),
          ~~arguments[0].top + (w.scrollY || w.pageYOffset)
        );
      };
  
      // Element.prototype.scroll and Element.prototype.scrollTo
      Element.prototype.scroll = Element.prototype.scrollTo = function() {
        // avoid action when no arguments are passed
        if (arguments[0] === undefined) {
          return;
        }
  
        // avoid smooth behavior if not required
        if (shouldBailOut(arguments[0]) === true) {
          // if one number is passed, throw error to match Firefox implementation
          if (typeof arguments[0] === 'number' && arguments[1] === undefined) {
            throw new SyntaxError('Value could not be converted');
          }
  
          original.elementScroll.call(
            this,
            // use left prop, first number argument or fallback to scrollLeft
            arguments[0].left !== undefined
              ? ~~arguments[0].left
              : typeof arguments[0] !== 'object' ? ~~arguments[0] : this.scrollLeft,
            // use top prop, second argument or fallback to scrollTop
            arguments[0].top !== undefined
              ? ~~arguments[0].top
              : arguments[1] !== undefined ? ~~arguments[1] : this.scrollTop
          );
  
          return;
        }
  
        var left = arguments[0].left;
        var top = arguments[0].top;
  
        // LET THE SMOOTHNESS BEGIN!
        smoothScroll.call(
          this,
          this,
          typeof left === 'undefined' ? this.scrollLeft : ~~left,
          typeof top === 'undefined' ? this.scrollTop : ~~top
        );
      };
  
      // Element.prototype.scrollBy
      Element.prototype.scrollBy = function() {
        // avoid action when no arguments are passed
        if (arguments[0] === undefined) {
          return;
        }
  
        // avoid smooth behavior if not required
        if (shouldBailOut(arguments[0]) === true) {
          original.elementScroll.call(
            this,
            arguments[0].left !== undefined
              ? ~~arguments[0].left + this.scrollLeft
              : ~~arguments[0] + this.scrollLeft,
            arguments[0].top !== undefined
              ? ~~arguments[0].top + this.scrollTop
              : ~~arguments[1] + this.scrollTop
          );
  
          return;
        }
  
        this.scroll({
          left: ~~arguments[0].left + this.scrollLeft,
          top: ~~arguments[0].top + this.scrollTop,
          behavior: arguments[0].behavior
        });
      };
  
      // Element.prototype.scrollIntoView
      Element.prototype.scrollIntoView = function() {
        // avoid smooth behavior if not required
        if (shouldBailOut(arguments[0]) === true) {
          original.scrollIntoView.call(
            this,
            arguments[0] === undefined ? true : arguments[0]
          );
  
          return;
        }
  
        // LET THE SMOOTHNESS BEGIN!
        var scrollableParent = findScrollableParent(this);
        var parentRects = scrollableParent.getBoundingClientRect();
        var clientRects = this.getBoundingClientRect();
  
        if (scrollableParent !== d.body) {
          // reveal element inside parent
          smoothScroll.call(
            this,
            scrollableParent,
            scrollableParent.scrollLeft + clientRects.left - parentRects.left,
            scrollableParent.scrollTop + clientRects.top - parentRects.top
          );
  
          // reveal parent in viewport unless is fixed
          if (w.getComputedStyle(scrollableParent).position !== 'fixed') {
            w.scrollBy({
              left: parentRects.left,
              top: parentRects.top,
              behavior: 'smooth'
            });
          }
        } else {
          // reveal element in viewport
          w.scrollBy({
            left: clientRects.left,
            top: clientRects.top,
            behavior: 'smooth'
          });
        }
      };
    }
  
    if (true) {
      // commonjs
      module.exports = { polyfill: polyfill };
    } else {
      // global
      polyfill();
    }
  
  }());
  
  
  /***/ }),
  
  /***/ 656:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router_dom__ = __webpack_require__(75);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_history_createHashHistory__ = __webpack_require__(241);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_history_createHashHistory___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_history_createHashHistory__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__containers_app_App__ = __webpack_require__(677);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_scrollToTop_ScrollToTop__ = __webpack_require__(711);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__views_login_Login__ = __webpack_require__(712);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__views_pageNotFound_PageNotFound__ = __webpack_require__(874);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__components_logoutRoute_LogoutRoute__ = __webpack_require__(254);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  // #region imports
  
  
  // #region import createHistory from hashHistory or BrowserHistory:
  
  // import createHistory            from 'history/createBrowserHistory';
  // #endregion
  
  
  
   // not connected to redux (no index.js)
  
  // #endregion
  
  // #region flow types
  
  // #endregion
  
  var history = __WEBPACK_IMPORTED_MODULE_2_history_createHashHistory___default()();
  
  var Root = function (_Component) {
    _inherits(Root, _Component);
  
    function Root() {
      _classCallCheck(this, Root);
  
      return _possibleConstructorReturn(this, (Root.__proto__ || Object.getPrototypeOf(Root)).apply(this, arguments));
    }
  
    _createClass(Root, [{
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_1_react_router_dom__["d" /* Router */],
          { history: history },
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_1_react_router_dom__["e" /* Switch */],
            null,
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__["c" /* Route */], { exact: true, path: '/login', component: __WEBPACK_IMPORTED_MODULE_5__views_login_Login__["a" /* default */] }),
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__containers_app_App__["a" /* default */], null),
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_7__components_logoutRoute_LogoutRoute__["a" /* default */], { path: '/logout' }),
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router_dom__["c" /* Route */], { component: __WEBPACK_IMPORTED_MODULE_6__views_pageNotFound_PageNotFound__["a" /* default */] })
          )
        );
      }
    }]);
  
    return Root;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
  
  /* harmony default export */ __webpack_exports__["a"] = (Root);
  
  /***/ }),
  
  /***/ 657:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(15);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history_createBrowserHistory__ = __webpack_require__(659);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history_createBrowserHistory___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_history_createBrowserHistory__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(162);
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  
  
  
  
  
  
  /**
   * The public API for a <Router> that uses HTML5 history.
   */
  
  var BrowserRouter = function (_React$Component) {
    _inherits(BrowserRouter, _React$Component);
  
    function BrowserRouter() {
      var _temp, _this, _ret;
  
      _classCallCheck(this, BrowserRouter);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = __WEBPACK_IMPORTED_MODULE_3_history_createBrowserHistory___default()(_this.props), _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    BrowserRouter.prototype.componentWillMount = function componentWillMount() {
      __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, '<BrowserRouter> ignores the history prop. To use a custom history, ' + 'use `import { Router }` instead of `import { BrowserRouter as Router }`.');
    };
  
    BrowserRouter.prototype.render = function render() {
      return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__["a" /* default */], { history: this.history, children: this.props.children });
    };
  
    return BrowserRouter;
  }(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);
  
  BrowserRouter.propTypes = {
    basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,
    forceRefresh: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.bool,
    getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,
    keyLength: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.number,
    children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node
  };
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (BrowserRouter);
  
  /***/ }),
  
  /***/ 659:
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  exports.__esModule = true;
  
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  var _warning = __webpack_require__(15);
  
  var _warning2 = _interopRequireDefault(_warning);
  
  var _invariant = __webpack_require__(26);
  
  var _invariant2 = _interopRequireDefault(_invariant);
  
  var _LocationUtils = __webpack_require__(160);
  
  var _PathUtils = __webpack_require__(90);
  
  var _createTransitionManager = __webpack_require__(161);
  
  var _createTransitionManager2 = _interopRequireDefault(_createTransitionManager);
  
  var _DOMUtils = __webpack_require__(240);
  
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  
  var PopStateEvent = 'popstate';
  var HashChangeEvent = 'hashchange';
  
  var getHistoryState = function getHistoryState() {
    try {
      return window.history.state || {};
    } catch (e) {
      // IE 11 sometimes throws when accessing window.history.state
      // See https://github.com/ReactTraining/history/pull/289
      return {};
    }
  };
  
  /**
   * Creates a history object that uses the HTML5 history API including
   * pushState, replaceState, and the popstate event.
   */
  var createBrowserHistory = function createBrowserHistory() {
    var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
  
    (0, _invariant2.default)(_DOMUtils.canUseDOM, 'Browser history needs a DOM');
  
    var globalHistory = window.history;
    var canUseHistory = (0, _DOMUtils.supportsHistory)();
    var needsHashChangeListener = !(0, _DOMUtils.supportsPopStateOnHashChange)();
  
    var _props$forceRefresh = props.forceRefresh,
        forceRefresh = _props$forceRefresh === undefined ? false : _props$forceRefresh,
        _props$getUserConfirm = props.getUserConfirmation,
        getUserConfirmation = _props$getUserConfirm === undefined ? _DOMUtils.getConfirmation : _props$getUserConfirm,
        _props$keyLength = props.keyLength,
        keyLength = _props$keyLength === undefined ? 6 : _props$keyLength;
  
    var basename = props.basename ? (0, _PathUtils.stripTrailingSlash)((0, _PathUtils.addLeadingSlash)(props.basename)) : '';
  
    var getDOMLocation = function getDOMLocation(historyState) {
      var _ref = historyState || {},
          key = _ref.key,
          state = _ref.state;
  
      var _window$location = window.location,
          pathname = _window$location.pathname,
          search = _window$location.search,
          hash = _window$location.hash;
  
  
      var path = pathname + search + hash;
  
      (0, _warning2.default)(!basename || (0, _PathUtils.hasBasename)(path, basename), 'You are attempting to use a basename on a page whose URL path does not begin ' + 'with the basename. Expected path "' + path + '" to begin with "' + basename + '".');
  
      if (basename) path = (0, _PathUtils.stripBasename)(path, basename);
  
      return (0, _LocationUtils.createLocation)(path, state, key);
    };
  
    var createKey = function createKey() {
      return Math.random().toString(36).substr(2, keyLength);
    };
  
    var transitionManager = (0, _createTransitionManager2.default)();
  
    var setState = function setState(nextState) {
      _extends(history, nextState);
  
      history.length = globalHistory.length;
  
      transitionManager.notifyListeners(history.location, history.action);
    };
  
    var handlePopState = function handlePopState(event) {
      // Ignore extraneous popstate events in WebKit.
      if ((0, _DOMUtils.isExtraneousPopstateEvent)(event)) return;
  
      handlePop(getDOMLocation(event.state));
    };
  
    var handleHashChange = function handleHashChange() {
      handlePop(getDOMLocation(getHistoryState()));
    };
  
    var forceNextPop = false;
  
    var handlePop = function handlePop(location) {
      if (forceNextPop) {
        forceNextPop = false;
        setState();
      } else {
        var action = 'POP';
  
        transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
          if (ok) {
            setState({ action: action, location: location });
          } else {
            revertPop(location);
          }
        });
      }
    };
  
    var revertPop = function revertPop(fromLocation) {
      var toLocation = history.location;
  
      // TODO: We could probably make this more reliable by
      // keeping a list of keys we've seen in sessionStorage.
      // Instead, we just default to 0 for keys we don't know.
  
      var toIndex = allKeys.indexOf(toLocation.key);
  
      if (toIndex === -1) toIndex = 0;
  
      var fromIndex = allKeys.indexOf(fromLocation.key);
  
      if (fromIndex === -1) fromIndex = 0;
  
      var delta = toIndex - fromIndex;
  
      if (delta) {
        forceNextPop = true;
        go(delta);
      }
    };
  
    var initialLocation = getDOMLocation(getHistoryState());
    var allKeys = [initialLocation.key];
  
    // Public interface
  
    var createHref = function createHref(location) {
      return basename + (0, _PathUtils.createPath)(location);
    };
  
    var push = function push(path, state) {
      (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to push when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
  
      var action = 'PUSH';
      var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);
  
      transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
        if (!ok) return;
  
        var href = createHref(location);
        var key = location.key,
            state = location.state;
  
  
        if (canUseHistory) {
          globalHistory.pushState({ key: key, state: state }, null, href);
  
          if (forceRefresh) {
            window.location.href = href;
          } else {
            var prevIndex = allKeys.indexOf(history.location.key);
            var nextKeys = allKeys.slice(0, prevIndex === -1 ? 0 : prevIndex + 1);
  
            nextKeys.push(location.key);
            allKeys = nextKeys;
  
            setState({ action: action, location: location });
          }
        } else {
          (0, _warning2.default)(state === undefined, 'Browser history cannot push state in browsers that do not support HTML5 history');
  
          window.location.href = href;
        }
      });
    };
  
    var replace = function replace(path, state) {
      (0, _warning2.default)(!((typeof path === 'undefined' ? 'undefined' : _typeof(path)) === 'object' && path.state !== undefined && state !== undefined), 'You should avoid providing a 2nd state argument to replace when the 1st ' + 'argument is a location-like object that already has state; it is ignored');
  
      var action = 'REPLACE';
      var location = (0, _LocationUtils.createLocation)(path, state, createKey(), history.location);
  
      transitionManager.confirmTransitionTo(location, action, getUserConfirmation, function (ok) {
        if (!ok) return;
  
        var href = createHref(location);
        var key = location.key,
            state = location.state;
  
  
        if (canUseHistory) {
          globalHistory.replaceState({ key: key, state: state }, null, href);
  
          if (forceRefresh) {
            window.location.replace(href);
          } else {
            var prevIndex = allKeys.indexOf(history.location.key);
  
            if (prevIndex !== -1) allKeys[prevIndex] = location.key;
  
            setState({ action: action, location: location });
          }
        } else {
          (0, _warning2.default)(state === undefined, 'Browser history cannot replace state in browsers that do not support HTML5 history');
  
          window.location.replace(href);
        }
      });
    };
  
    var go = function go(n) {
      globalHistory.go(n);
    };
  
    var goBack = function goBack() {
      return go(-1);
    };
  
    var goForward = function goForward() {
      return go(1);
    };
  
    var listenerCount = 0;
  
    var checkDOMListeners = function checkDOMListeners(delta) {
      listenerCount += delta;
  
      if (listenerCount === 1) {
        (0, _DOMUtils.addEventListener)(window, PopStateEvent, handlePopState);
  
        if (needsHashChangeListener) (0, _DOMUtils.addEventListener)(window, HashChangeEvent, handleHashChange);
      } else if (listenerCount === 0) {
        (0, _DOMUtils.removeEventListener)(window, PopStateEvent, handlePopState);
  
        if (needsHashChangeListener) (0, _DOMUtils.removeEventListener)(window, HashChangeEvent, handleHashChange);
      }
    };
  
    var isBlocked = false;
  
    var block = function block() {
      var prompt = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
  
      var unblock = transitionManager.setPrompt(prompt);
  
      if (!isBlocked) {
        checkDOMListeners(1);
        isBlocked = true;
      }
  
      return function () {
        if (isBlocked) {
          isBlocked = false;
          checkDOMListeners(-1);
        }
  
        return unblock();
      };
    };
  
    var listen = function listen(listener) {
      var unlisten = transitionManager.appendListener(listener);
      checkDOMListeners(1);
  
      return function () {
        checkDOMListeners(-1);
        unlisten();
      };
    };
  
    var history = {
      length: globalHistory.length,
      action: 'POP',
      location: initialLocation,
      createHref: createHref,
      push: push,
      replace: replace,
      go: go,
      goBack: goBack,
      goForward: goForward,
      block: block,
      listen: listen
    };
  
    return history;
  };
  
  exports.default = createBrowserHistory;
  
  /***/ }),
  
  /***/ 660:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning__ = __webpack_require__(15);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_warning___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_warning__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history_createHashHistory__ = __webpack_require__(241);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_history_createHashHistory___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_history_createHashHistory__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__Router__ = __webpack_require__(162);
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  
  
  
  
  
  
  /**
   * The public API for a <Router> that uses window.location.hash.
   */
  
  var HashRouter = function (_React$Component) {
    _inherits(HashRouter, _React$Component);
  
    function HashRouter() {
      var _temp, _this, _ret;
  
      _classCallCheck(this, HashRouter);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, _React$Component.call.apply(_React$Component, [this].concat(args))), _this), _this.history = __WEBPACK_IMPORTED_MODULE_3_history_createHashHistory___default()(_this.props), _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    HashRouter.prototype.componentWillMount = function componentWillMount() {
      __WEBPACK_IMPORTED_MODULE_0_warning___default()(!this.props.history, '<HashRouter> ignores the history prop. To use a custom history, ' + 'use `import { Router }` instead of `import { HashRouter as Router }`.');
    };
  
    HashRouter.prototype.render = function render() {
      return __WEBPACK_IMPORTED_MODULE_1_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__Router__["a" /* default */], { history: this.history, children: this.props.children });
    };
  
    return HashRouter;
  }(__WEBPACK_IMPORTED_MODULE_1_react___default.a.Component);
  
  HashRouter.propTypes = {
    basename: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.string,
    getUserConfirmation: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.func,
    hashType: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.oneOf(['hashbang', 'noslash', 'slash']),
    children: __WEBPACK_IMPORTED_MODULE_2_prop_types___default.a.node
  };
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (HashRouter);
  
  /***/ }),
  
  /***/ 661:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__ = __webpack_require__(243);
  // Written in this round about way for babel-transform-imports
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_MemoryRouter__["a" /* default */]);
  
  /***/ }),
  
  /***/ 663:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Route__ = __webpack_require__(244);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__Link__ = __webpack_require__(242);
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; };
  
  function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; }
  
  
  
  
  
  
  /**
   * A <Link> wrapper that knows if it's "active" or not.
   */
  var NavLink = function NavLink(_ref) {
    var to = _ref.to,
        exact = _ref.exact,
        strict = _ref.strict,
        location = _ref.location,
        activeClassName = _ref.activeClassName,
        className = _ref.className,
        activeStyle = _ref.activeStyle,
        style = _ref.style,
        getIsActive = _ref.isActive,
        ariaCurrent = _ref.ariaCurrent,
        rest = _objectWithoutProperties(_ref, ['to', 'exact', 'strict', 'location', 'activeClassName', 'className', 'activeStyle', 'style', 'isActive', 'ariaCurrent']);
  
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__Route__["a" /* default */], {
      path: (typeof to === 'undefined' ? 'undefined' : _typeof(to)) === 'object' ? to.pathname : to,
      exact: exact,
      strict: strict,
      location: location,
      children: function children(_ref2) {
        var location = _ref2.location,
            match = _ref2.match;
  
        var isActive = !!(getIsActive ? getIsActive(match, location) : match);
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__Link__["a" /* default */], _extends({
          to: to,
          className: isActive ? [className, activeClassName].filter(function (i) {
            return i;
          }).join(' ') : className,
          style: isActive ? _extends({}, style, activeStyle) : style,
          'aria-current': isActive && ariaCurrent
        }, rest));
      }
    });
  };
  
  NavLink.propTypes = {
    to: __WEBPACK_IMPORTED_MODULE_3__Link__["a" /* default */].propTypes.to,
    exact: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
    strict: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
    activeClassName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    className: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    activeStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
    style: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object,
    isActive: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
    ariaCurrent: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf(['page', 'step', 'location', 'true'])
  };
  
  NavLink.defaultProps = {
    activeClassName: 'active',
    ariaCurrent: 'true'
  };
  
  /* unused harmony default export */ var _unused_webpack_default_export = (NavLink);
  
  /***/ }),
  
  /***/ 666:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__ = __webpack_require__(245);
  // Written in this round about way for babel-transform-imports
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Prompt__["a" /* default */]);
  
  /***/ }),
  
  /***/ 667:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__ = __webpack_require__(246);
  // Written in this round about way for babel-transform-imports
  
  
  /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Redirect__["a" /* default */]);
  
  /***/ }),
  
  /***/ 672:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__ = __webpack_require__(248);
  // Written in this round about way for babel-transform-imports
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_StaticRouter__["a" /* default */]);
  
  /***/ }),
  
  /***/ 673:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__ = __webpack_require__(249);
  // Written in this round about way for babel-transform-imports
  
  
  /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_Switch__["a" /* default */]);
  
  /***/ }),
  
  /***/ 674:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__ = __webpack_require__(114);
  // Written in this round about way for babel-transform-imports
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_matchPath__["a" /* default */]);
  
  /***/ }),
  
  /***/ 675:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__ = __webpack_require__(250);
  // Written in this round about way for babel-transform-imports
  
  
  /* harmony default export */ __webpack_exports__["a"] = (__WEBPACK_IMPORTED_MODULE_0_react_router_es_withRouter__["a" /* default */]);
  
  /***/ }),
  
  /***/ 677:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(116);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components__ = __webpack_require__(165);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__config_navigation_json__ = __webpack_require__(701);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__config_navigation_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__config_navigation_json__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__routes_MainRoutes__ = __webpack_require__(702);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__app_scss__ = __webpack_require__(710);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__app_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__app_scss__);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  
  
  var App = function (_Component) {
    _inherits(App, _Component);
  
    function App() {
      var _ref;
  
      var _temp, _this, _ret;
  
      _classCallCheck(this, App);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = App.__proto__ || Object.getPrototypeOf(App)).call.apply(_ref, [this].concat(args))), _this), _this.state = { navModel: __WEBPACK_IMPORTED_MODULE_3__config_navigation_json___default.a }, _this.handleLeftNavItemClick = function (event, viewName) {
        // something to do here?
      }, _this.handleRightNavItemClick = function (event, viewName) {}
      // something to do here?
  
      /* eslint-enable no-unused-vars*/
      , _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    _createClass(App, [{
      key: 'render',
      value: function render() {
        var navModel = this.state.navModel;
  
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'div',
          { id: 'appContainer' },
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__components__["c" /* NavigationBar */], {
            brand: navModel.brand,
            navModel: navModel,
            handleLeftNavItemClick: this.handleLeftNavItemClick,
            handleRightNavItemClick: this.handleRightNavItemClick
          }),
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'div',
            { className: 'container-fluid' },
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__routes_MainRoutes__["a" /* default */], null)
          ),
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__components__["a" /* BackToTop */], {
            minScrollY: 40,
            scrollTo: 'appContainer'
          })
        );
      }
  
      /* eslint-disable no-unused-vars*/
  
    }]);
  
    return App;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
  
  /* harmony default export */ __webpack_exports__["a"] = (Object(__WEBPACK_IMPORTED_MODULE_1_react_router__["withRouter"])(App));
  
  /***/ }),
  
  /***/ 678:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  //  weak
  
  
  
  
  var Jumbotron = function Jumbotron(props) {
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      'div',
      { className: 'jumbotron' },
      props.children
    );
  };
  
  Jumbotron.propTypes = {
    children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (Jumbotron);
  
  /***/ }),
  
  /***/ 679:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__humburger_Humburger__ = __webpack_require__(680);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__leftNav_LeftNav__ = __webpack_require__(681);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__rightNav_RightNav__ = __webpack_require__(683);
  //  weak
  
  
  
  
  
  
  
  var NavigationBar = function NavigationBar(_ref) {
    var brand = _ref.brand,
        navModel = _ref.navModel,
        handleLeftNavItemClick = _ref.handleLeftNavItemClick,
        handleRightNavItemClick = _ref.handleRightNavItemClick;
  
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      'nav',
      { className: 'navbar navbar-default' },
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
        'div',
        { className: 'containersCustom' },
        __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'div',
          { className: 'navbar-header' },
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__humburger_Humburger__["a" /* default */], null),
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'a',
            { className: 'navbar-brand' },
            brand
          )
        ),
        __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'div',
          {
            className: 'collapse navbar-collapse',
            id: 'bs-example-navbar-collapse-1' },
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'ul',
            { className: 'nav navbar-nav' },
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__leftNav_LeftNav__["a" /* default */], {
              leftLinks: navModel.leftLinks,
              onLeftNavButtonClick: handleLeftNavItemClick
            })
          ),
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'ul',
            { className: 'nav navbar-nav navbar-right' },
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_4__rightNav_RightNav__["a" /* default */], {
              rightLinks: navModel.rightLinks,
              onRightNavButtonClick: handleRightNavItemClick
            })
          )
        )
      )
    );
  };
  
  NavigationBar.propTypes = {
    brand: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    handleLeftNavItemClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
    handleRightNavItemClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func,
    navModel: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
      leftLinks: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
        label: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string.isRequired,
        link: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string.isRequired
      })).isRequired,
      rightLinks: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
        label: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string.isRequired,
        link: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string.isRequired
      })).isRequired
    })
  };
  
  NavigationBar.defaultProps = {
    brand: 'brand'
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (NavigationBar);
  
  /***/ }),
  
  /***/ 680:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  //  weak
  
  
  
  var Humburger = function Humburger() {
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      "button",
      {
        className: "navbar-toggle collapsed",
        type: "button",
        "data-toggle": "collapse",
        "data-target": "#bs-example-navbar-collapse-1" },
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
        "span",
        { className: "sr-only" },
        "Toggle navigation"
      ),
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", { className: "icon-bar" }),
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", { className: "icon-bar" }),
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement("span", { className: "icon-bar" })
    );
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (Humburger);
  
  /***/ }),
  
  /***/ 681:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__leftNavButton_LeftNavButton__ = __webpack_require__(682);
  //  weak
  
  
  
  
  
  var LeftNav = function LeftNav(_ref) {
    var leftLinks = _ref.leftLinks,
        onLeftNavButtonClick = _ref.onLeftNavButtonClick;
  
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      'ul',
      { className: 'nav navbar-nav' },
      leftLinks.map(function (aLinkBtn, index) {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__leftNavButton_LeftNavButton__["a" /* default */], {
          key: index,
          link: aLinkBtn.link,
          label: aLinkBtn.label,
          viewName: aLinkBtn.view,
          onClick: onLeftNavButtonClick
        });
      })
    );
  };
  
  LeftNav.propTypes = {
    leftLinks: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
      link: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
      label: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
      viewName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string
    })),
    onLeftNavButtonClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (LeftNav);
  
  /***/ }),
  
  /***/ 682:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(75);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  var LeftNavButton = function (_PureComponent) {
    _inherits(LeftNavButton, _PureComponent);
  
    function LeftNavButton() {
      var _ref;
  
      var _temp, _this, _ret;
  
      _classCallCheck(this, LeftNavButton);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = LeftNavButton.__proto__ || Object.getPrototypeOf(LeftNavButton)).call.apply(_ref, [this].concat(args))), _this), _this.handleLeftNavItemClick = function (event) {
        var _this$props = _this.props,
            onClick = _this$props.onClick,
            viewName = _this$props.viewName;
  
        onClick(event, viewName);
      }, _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    _createClass(LeftNavButton, [{
      key: 'render',
      value: function render() {
        var _props = this.props,
            link = _props.link,
            label = _props.label;
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'li',
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_2_react_router_dom__["a" /* Link */],
            {
              to: link,
              onClick: this.handleLeftNavItemClick },
            label
          )
        );
      }
    }]);
  
    return LeftNavButton;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  LeftNavButton.propTypes = {
    link: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    label: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    viewName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (LeftNavButton);
  
  /***/ }),
  
  /***/ 683:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__rightNavButton_RightNavButton__ = __webpack_require__(684);
  //  weak
  
  
  
  
  
  var RightNav = function RightNav(_ref) {
    var rightLinks = _ref.rightLinks,
        onRightNavButtonClick = _ref.onRightNavButtonClick;
  
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      'ul',
      { className: 'nav navbar-nav navbar-right' },
      rightLinks.map(function (aLinkBtn, index) {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_2__rightNavButton_RightNavButton__["a" /* default */], {
          key: index,
          link: aLinkBtn.link,
          label: aLinkBtn.label,
          viewName: aLinkBtn.view,
          onClick: onRightNavButtonClick
        });
      })
    );
  };
  
  RightNav.propTypes = {
    rightLinks: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.arrayOf(__WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.shape({
      link: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
      label: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
      viewName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string
    })),
    onRightNavButtonClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (RightNav);
  
  /***/ }),
  
  /***/ 684:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router_dom__ = __webpack_require__(75);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  var RightNavButton = function (_PureComponent) {
    _inherits(RightNavButton, _PureComponent);
  
    function RightNavButton() {
      var _ref;
  
      var _temp, _this, _ret;
  
      _classCallCheck(this, RightNavButton);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = RightNavButton.__proto__ || Object.getPrototypeOf(RightNavButton)).call.apply(_ref, [this].concat(args))), _this), _this.handleRightNavItemClick = function (event) {
        var _this$props = _this.props,
            onClick = _this$props.onClick,
            viewName = _this$props.viewName;
  
        onClick(event, viewName);
      }, _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    _createClass(RightNavButton, [{
      key: 'render',
      value: function render() {
        var _props = this.props,
            link = _props.link,
            label = _props.label;
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'li',
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_2_react_router_dom__["a" /* Link */],
            {
              to: link,
              onClick: this.handleRightNavItemClick },
            label
          )
        );
      }
    }]);
  
    return RightNavButton;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  RightNavButton.propTypes = {
    link: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    label: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    viewName: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string,
    onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (RightNavButton);
  
  /***/ }),
  
  /***/ 685:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__backToTopButton_BackToTopButton__ = __webpack_require__(686);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_motion__ = __webpack_require__(251);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_motion___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_react_motion__);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  /* eslint-disable no-undefined */
  
  // #region imports
  
  
  
  // #endregion
  
  // #region flow types
  
  // #endregion
  
  var BackToTop = function (_Component) {
    _inherits(BackToTop, _Component);
  
    function BackToTop() {
      var _ref;
  
      var _temp, _this, _ret;
  
      _classCallCheck(this, BackToTop);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = BackToTop.__proto__ || Object.getPrototypeOf(BackToTop)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
        windowScrollY: 0,
        showBackButton: false,
        tickingScollObserve: false
      }, _this.handleWindowScroll = function () {
        if (window) {
          var _this$state = _this.state,
              _windowScrollY = _this$state.windowScrollY,
              _tickingScollObserve = _this$state.tickingScollObserve;
          var _minScrollY = _this.props.minScrollY;
  
          /* eslint-disable no-undefined */
  
          var currentWindowScrollY = window.pageYOffset !== undefined ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;
          /* eslint-enable no-undefined */
  
          // scroll event fires to often, using window.requestAnimationFrame to limit computations
          if (!_tickingScollObserve) {
            window.requestAnimationFrame(function () {
              if (_windowScrollY !== currentWindowScrollY) {
                var shouldShowBackButton = currentWindowScrollY >= _minScrollY ? true : false;
  
                _this.setState({
                  windowScrollY: currentWindowScrollY,
                  showBackButton: shouldShowBackButton
                });
              }
              _this.setState({ tickingScollObserve: false });
            });
          }
  
          _this.setState({ tickingScollObserve: true });
        }
      }, _this.handlesOnBackButtonClick = function (event) {
        if (event) {
          event.preventDefault();
        }
        var minScrollY = _this.props.minScrollY;
        var windowScrollY = _this.state.windowScrollY;
  
  
        if (window && windowScrollY && windowScrollY > minScrollY) {
          // using here smoothscroll-polyfill
          window.scroll({ top: 0, left: 0, behavior: 'smooth' });
          // smoothScroll.scrollTo(scrollTo, this.scrollDone);
        }
      }, _this.scrollDone = function () {
        var onScrollDone = _this.props.onScrollDone;
  
        if (onScrollDone) {
          onScrollDone();
        }
      }, _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    _createClass(BackToTop, [{
      key: 'componentWillMount',
  
  
      // #region lifecycle methods
      value: function componentWillMount() {
        if (typeof window !== 'undefined') {
          window.addEventListener('scroll', this.handleWindowScroll);
        }
      }
    }, {
      key: 'componentWillUnmount',
      value: function componentWillUnmount() {
        if (typeof window !== 'undefined') {
          window.removeEventListener('scroll', this.handleWindowScroll);
        }
      }
    }, {
      key: 'render',
  
      // #endregion
      value: function render() {
        var _this2 = this;
  
        var showBackButton = this.state.showBackButton;
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_2_react_motion__["Motion"],
          { style: { x: Object(__WEBPACK_IMPORTED_MODULE_2_react_motion__["spring"])(showBackButton ? 0 : 120, __WEBPACK_IMPORTED_MODULE_2_react_motion__["presets"].stiff) } },
          function (_ref2) {
            var x = _ref2.x;
            return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1__backToTopButton_BackToTopButton__["a" /* default */], {
              position: 'bottom-right',
              onClick: _this2.handlesOnBackButtonClick,
              motionStyle: {
                WebkitTransform: 'translate3d(' + x + 'px, 0, 0)',
                transform: 'translate3d(' + x + 'px, 0, 0)'
              }
            });
          }
        );
      }
      // #endregion
  
      // #region on windows scroll callback
  
      // #endregion
  
      // #region on button click (smooth scroll)
  
    }]);
  
    return BackToTop;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
  
  BackToTop.defaultProps = {
    minScrollY: 120,
    onScrollDone: function onScrollDone() {}
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (BackToTop);
  
  /***/ }),
  
  /***/ 686:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames__ = __webpack_require__(9);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__UpIcon__ = __webpack_require__(687);
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  //  weak
  
  
  
  
  
  
  var defaultBackGroundColor = '#4A4A4A';
  var sideOffset = '-10px';
  var bottomOffset = '40px';
  var defaultWidth = '100px';
  var defaultZindex = 10;
  var defaultOpacity = 0.5;
  var defaultStyle = {
    position: 'fixed',
    right: sideOffset,
    left: '',
    bottom: bottomOffset,
    width: defaultWidth,
    zIndex: defaultZindex,
    opacity: defaultOpacity,
    backgroundColor: defaultBackGroundColor
  };
  
  var BackToTopButton = function BackToTopButton(_ref) {
    var onClick = _ref.onClick,
        position = _ref.position,
        children = _ref.children,
        motionStyle = _ref.motionStyle;
  
    var buttonStyle = setPosition(position, _extends({}, motionStyle, defaultStyle));
  
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      'button',
      {
        style: buttonStyle,
        className: __WEBPACK_IMPORTED_MODULE_2_classnames___default()({
          'btn': true
        }),
        onClick: onClick },
      !children && __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
        'div',
        { style: { marginRight: '10px' } },
        __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_3__UpIcon__["a" /* default */], { color: '#F1F1F1' })
      ),
      !!children && children
    );
  };
  
  BackToTopButton.propTypes = {
    position: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.oneOf(['bottom-left', 'bottom-right']),
    onClick: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.func.isRequired,
    children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
    motionStyle: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object
  };
  
  BackToTopButton.defaultProps = {
    position: 'bottom-right'
  };
  
  function setPosition() {
    var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'bottom-right';
    var refStyle = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultStyle;
  
    var style = _extends({}, refStyle);
  
    switch (position) {
      case 'bottom-right':
        style.right = sideOffset;
        style.left = '';
        return style;
  
      case 'bottom-left':
        style.right = '';
        style.left = sideOffset;
        return style;
  
      default:
        return refStyle;
    }
  }
  
  /* harmony default export */ __webpack_exports__["a"] = (BackToTopButton);
  
  /***/ }),
  
  /***/ 687:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  //  weak
  
  
  
  
  var UpIcon = function UpIcon(_ref) {
    var color = _ref.color;
  
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      'svg',
      {
        width: '24px',
        height: '24px',
        viewBox: '0 0 512 512',
        fill: '' + color },
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('path', { d: 'M256,213.7L256,213.7L256,213.7l174.2,167.2c4.3,4.2,11.4,4.1,15.8-0.2l30.6-29.9c4.4-4.3,4.5-11.3,0.2-15.5L264.1,131.1 c-2.2-2.2-5.2-3.2-8.1-3c-3-0.1-5.9,0.9-8.1,3L35.2,335.3c-4.3,4.2-4.2,11.2,0.2,15.5L66,380.7c4.4,4.3,11.5,4.4,15.8,0.2L256,213.7z' })
    );
  };
  
  UpIcon.propTypes = {
    color: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.string
  };
  
  UpIcon.defaultProps = {
    color: '#F1F1F1'
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (UpIcon);
  
  /***/ }),
  
  /***/ 695:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  module.exports = {"view-enter":"animatedView__view-enter___2BiqB","fadeIn":"animatedView__fadeIn___2Tjl3"};
  
  /***/ }),
  
  /***/ 696:
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var base64_url_decode = __webpack_require__(697);
  
  function InvalidTokenError(message) {
    this.message = message;
  }
  
  InvalidTokenError.prototype = new Error();
  InvalidTokenError.prototype.name = 'InvalidTokenError';
  
  module.exports = function (token,options) {
    if (typeof token !== 'string') {
      throw new InvalidTokenError('Invalid token specified');
    }
  
    options = options || {};
    var pos = options.header === true ? 0 : 1;
    try {
      return JSON.parse(base64_url_decode(token.split('.')[pos]));
    } catch (e) {
      throw new InvalidTokenError('Invalid token specified: ' + e.message);
    }
  };
  
  module.exports.InvalidTokenError = InvalidTokenError;
  
  
  /***/ }),
  
  /***/ 697:
  /***/ (function(module, exports, __webpack_require__) {
  
  var atob = __webpack_require__(698);
  
  function b64DecodeUnicode(str) {
    return decodeURIComponent(atob(str).replace(/(.)/g, function (m, p) {
      var code = p.charCodeAt(0).toString(16).toUpperCase();
      if (code.length < 2) {
        code = '0' + code;
      }
      return '%' + code;
    }));
  }
  
  module.exports = function(str) {
    var output = str.replace(/-/g, "+").replace(/_/g, "/");
    switch (output.length % 4) {
      case 0:
        break;
      case 2:
        output += "==";
        break;
      case 3:
        output += "=";
        break;
      default:
        throw "Illegal base64url string!";
    }
  
    try{
      return b64DecodeUnicode(output);
    } catch (err) {
      return atob(output);
    }
  };
  
  
  /***/ }),
  
  /***/ 698:
  /***/ (function(module, exports) {
  
  /**
   * The code was extracted from:
   * https://github.com/davidchambers/Base64.js
   */
  
  var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';
  
  function InvalidCharacterError(message) {
    this.message = message;
  }
  
  InvalidCharacterError.prototype = new Error();
  InvalidCharacterError.prototype.name = 'InvalidCharacterError';
  
  function polyfill (input) {
    var str = String(input).replace(/=+$/, '');
    if (str.length % 4 == 1) {
      throw new InvalidCharacterError("'atob' failed: The string to be decoded is not correctly encoded.");
    }
    for (
      // initialize result and counters
      var bc = 0, bs, buffer, idx = 0, output = '';
      // get next character
      buffer = str.charAt(idx++);
      // character found in table? initialize bit storage and add its ascii value;
      ~buffer && (bs = bc % 4 ? bs * 64 + buffer : buffer,
        // and if not first of each 4 characters,
        // convert the first 8 bits to one ascii character
        bc++ % 4) ? output += String.fromCharCode(255 & bs >> (-2 * bc & 6)) : 0
    ) {
      // try to find character in table (0-63, not found => -1)
      buffer = chars.indexOf(buffer);
    }
    return output;
  }
  
  
  module.exports = typeof window !== 'undefined' && window.atob && window.atob.bind(window) || polyfill;
  
  
  /***/ }),
  
  /***/ 701:
  /***/ (function(module, exports) {
  
  module.exports = {"brand":"React Bootstrap Starter","leftLinks":[],"rightLinks":[{"label":"Home","link":"/"},{"label":"Protected","link":"/protected","view":"protected","isRouteBtn":true},{"label":"About","link":"/about","view":"about","isRouteBtn":true},{"label":"Leads","link":"/leads","view":"leads","isRouteBtn":true},{"label":"Disconnect","link":"/login","view":"login","isRouteBtn":true}]}
  
  /***/ }),
  
  /***/ 702:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_react_router__ = __webpack_require__(116);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__views_home_Home__ = __webpack_require__(703);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__views_about_About__ = __webpack_require__(705);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__views_leads_Leads__ = __webpack_require__(707);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__views_protected_Protected__ = __webpack_require__(709);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__components_privateRoute_PrivateRoute__ = __webpack_require__(377);
  //  weak
  
  
  
  
  
  
  
  
  
  var MainRoutes = function MainRoutes() {
    return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
      __WEBPACK_IMPORTED_MODULE_1_react_router__["Switch"],
      null,
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router__["Route"], { exact: true, path: '/', component: __WEBPACK_IMPORTED_MODULE_2__views_home_Home__["a" /* default */] }),
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router__["Route"], { path: '/about', component: __WEBPACK_IMPORTED_MODULE_3__views_about_About__["a" /* default */] }),
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_1_react_router__["Route"], { path: '/leads', component: __WEBPACK_IMPORTED_MODULE_4__views_leads_Leads__["a" /* default */] }),
      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(__WEBPACK_IMPORTED_MODULE_6__components_privateRoute_PrivateRoute__["a" /* default */], { path: '/protected', component: __WEBPACK_IMPORTED_MODULE_5__views_protected_Protected__["a" /* default */] })
    );
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (MainRoutes);
  
  /***/ }),
  
  /***/ 703:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components__ = __webpack_require__(165);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames_bind__ = __webpack_require__(253);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_classnames_bind___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3_classnames_bind__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_react_router_dom__ = __webpack_require__(75);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__components_animatedView_AnimatedView__ = __webpack_require__(76);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__home_scss__ = __webpack_require__(704);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__home_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_6__home_scss__);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  
  
  
  // IMPORTANT: we need to bind classnames to CSSModule generated classes:
  var cx = __WEBPACK_IMPORTED_MODULE_3_classnames_bind___default.a.bind(__WEBPACK_IMPORTED_MODULE_6__home_scss___default.a);
  
  var Home = function (_PureComponent) {
    _inherits(Home, _PureComponent);
  
    function Home() {
      _classCallCheck(this, Home);
  
      return _possibleConstructorReturn(this, (Home.__proto__ || Object.getPrototypeOf(Home)).apply(this, arguments));
    }
  
    _createClass(Home, [{
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_5__components_animatedView_AnimatedView__["a" /* default */],
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_2__components__["b" /* Jumbotron */],
            null,
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
              'div',
              {
                className: __WEBPACK_IMPORTED_MODULE_6__home_scss___default.a.homeInfo
              },
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'h1',
                {
                  className: __WEBPACK_IMPORTED_MODULE_6__home_scss___default.a.mainTitle
                },
                'ReactJS 16 + Bootstrap'
              ),
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'h2',
                null,
                'with Hot Reload (',
                __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                  'i',
                  null,
                  'react-hot-loader 3.1+'
                ),
                ')!!!'
              ),
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'h2',
                null,
                'and React Router v4'
              ),
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'h2',
                null,
                'and webpack 3.x'
              ),
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'h2',
                null,
                'and CSSModule (',
                __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                  'i',
                  { className: __WEBPACK_IMPORTED_MODULE_6__home_scss___default.a.lightNote },
                  'so keep using SCSS as you did before but import your class in your components like it were JS files'
                ),
                ')'
              ),
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'h1',
                null,
                'Starter'
              ),
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'p',
                null,
                __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                  __WEBPACK_IMPORTED_MODULE_4_react_router_dom__["a" /* Link */],
                  {
                    className: 'btn btn-success btn-lg',
                    to: '/about' },
                  __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i', { className: 'fa fa-info' }),
                  '\xA0 go to about'
                )
              )
            )
          )
        );
      }
    }]);
  
    return Home;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  Home.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Home);
  
  /***/ }),
  
  /***/ 704:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  module.exports = {"homeInfo":"home__homeInfo___a8i4z","mainTitle":"home__mainTitle___3MX--","lightNote":"home__lightNote___3DxFE"};
  
  /***/ }),
  
  /***/ 705:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_animatedView_AnimatedView__ = __webpack_require__(76);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__about_scss__ = __webpack_require__(706);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__about_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__about_scss__);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  var About = function (_PureComponent) {
    _inherits(About, _PureComponent);
  
    function About() {
      _classCallCheck(this, About);
  
      return _possibleConstructorReturn(this, (About.__proto__ || Object.getPrototypeOf(About)).apply(this, arguments));
    }
  
    _createClass(About, [{
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_2__components_animatedView_AnimatedView__["a" /* default */],
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'h1',
            null,
            'About'
          )
        );
      }
    }]);
  
    return About;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  About.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (About);
  
  /***/ }),
  
  /***/ 706:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 707:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_animatedView_AnimatedView__ = __webpack_require__(76);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__leads_scss__ = __webpack_require__(708);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__leads_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__leads_scss__);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  var Leads = function (_PureComponent) {
    _inherits(Leads, _PureComponent);
  
    function Leads() {
      _classCallCheck(this, Leads);
  
      return _possibleConstructorReturn(this, (Leads.__proto__ || Object.getPrototypeOf(Leads)).apply(this, arguments));
    }
  
    _createClass(Leads, [{
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_2__components_animatedView_AnimatedView__["a" /* default */],
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'h1',
            null,
            'Leads'
          )
        );
      }
    }]);
  
    return Leads;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  Leads.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Leads);
  
  /***/ }),
  
  /***/ 708:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 709:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components_animatedView_AnimatedView__ = __webpack_require__(76);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  var Protected = function (_PureComponent) {
    _inherits(Protected, _PureComponent);
  
    function Protected() {
      _classCallCheck(this, Protected);
  
      return _possibleConstructorReturn(this, (Protected.__proto__ || Object.getPrototypeOf(Protected)).apply(this, arguments));
    }
  
    _createClass(Protected, [{
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_2__components_animatedView_AnimatedView__["a" /* default */],
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'h1',
            null,
            'Protected view'
          ),
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            'h3',
            null,
            'If you can read, it means you are authenticated'
          )
        );
      }
    }]);
  
    return Protected;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  Protected.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Protected);
  
  /***/ }),
  
  /***/ 710:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 711:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_react_router__ = __webpack_require__(116);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  var ScrollToTop = function (_Component) {
    _inherits(ScrollToTop, _Component);
  
    function ScrollToTop() {
      _classCallCheck(this, ScrollToTop);
  
      return _possibleConstructorReturn(this, (ScrollToTop.__proto__ || Object.getPrototypeOf(ScrollToTop)).apply(this, arguments));
    }
  
    _createClass(ScrollToTop, [{
      key: 'componentDidUpdate',
      value: function componentDidUpdate(prevProps) {
        if (window) {
          var prevLocation = prevProps.location;
          var nextLocation = this.props.location;
  
  
          if (prevLocation !== nextLocation) {
            window.scrollTo(0, 0);
          }
        }
      }
    }, {
      key: 'render',
      value: function render() {
        var children = this.props.children;
  
        return children;
      }
    }]);
  
    return ScrollToTop;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
  
  ScrollToTop.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
  
    children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node
  };
  
  
  /* unused harmony default export */ var _unused_webpack_default_export = (Object(__WEBPACK_IMPORTED_MODULE_2_react_router__["withRouter"])(ScrollToTop));
  
  /***/ }),
  
  /***/ 712:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios__ = __webpack_require__(378);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_axios___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_axios__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__ = __webpack_require__(384);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__login_scss__ = __webpack_require__(870);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__login_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_4__login_scss__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__services_auth__ = __webpack_require__(172);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__config_appConfig__ = __webpack_require__(871);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__services_utils_getLocationOrigin__ = __webpack_require__(872);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mock_userInfo_json__ = __webpack_require__(873);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__mock_userInfo_json___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_8__mock_userInfo_json__);
  var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };
  
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _asyncToGenerator(fn) { return function () { var gen = fn.apply(this, arguments); return new Promise(function (resolve, reject) { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then(function (value) { step("next", value); }, function (err) { step("throw", err); }); } } return step("next"); }); }; }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  // #region imports
  
  
  
  
  
  
  
  
  
  // #endregion
  
  // #region flow types
  
  // #endregion
  
  var Login = function (_PureComponent) {
    _inherits(Login, _PureComponent);
  
    function Login() {
      var _ref,
          _this2 = this;
  
      var _temp, _this, _ret;
  
      _classCallCheck(this, Login);
  
      for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
        args[_key] = arguments[_key];
      }
  
      return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = Login.__proto__ || Object.getPrototypeOf(Login)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
        email: '',
        password: '',
        isLogging: false
      }, _this.disconnectUser = function () {
        __WEBPACK_IMPORTED_MODULE_5__services_auth__["a" /* default */].clearAllAppStorage();
      }, _this.handlesOnEmailChange = function (event) {
        event.preventDefault();
        // should add some validator before setState in real use cases
        _this.setState({ email: event.target.value.trim() });
      }, _this.handlesOnPasswordChange = function (event) {
        event.preventDefault();
        // should add some validator before setState in real use cases
        _this.setState({ password: event.target.value.trim() });
      }, _this.handlesOnLogin = function () {
        var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(event) {
          var history, _this$state, email, password, userLogin, response, _response$data, token, user;
  
          return regeneratorRuntime.wrap(function _callee$(_context) {
            while (1) {
              switch (_context.prev = _context.next) {
                case 0:
                  if (event) {
                    event.preventDefault();
                  }
  
                  history = _this.props.history;
                  _this$state = _this.state, email = _this$state.email, password = _this$state.password;
                  userLogin = {
                    login: email,
                    password: password
                  };
                  _context.prev = 4;
  
                  _this.setState({ isLogging: true });
                  _context.next = 8;
                  return _this.logUser(userLogin);
  
                case 8:
                  response = _context.sent;
                  _response$data = response.data, token = _response$data.token, user = _response$data.user;
  
  
                  __WEBPACK_IMPORTED_MODULE_5__services_auth__["a" /* default */].setToken(token);
                  __WEBPACK_IMPORTED_MODULE_5__services_auth__["a" /* default */].setUserInfo(user);
                  _this.setState({ isLogging: false });
  
                  history.push({ pathname: '/' }); // back to Home
                  _context.next = 20;
                  break;
  
                case 16:
                  _context.prev = 16;
                  _context.t0 = _context['catch'](4);
  
                  _this.setState({ isLogging: false });
                  /* eslint-disable no-console */
                  console.log('login went wrong..., error: ', _context.t0);
                  /* eslint-enable no-console */
  
                case 20:
                case 'end':
                  return _context.stop();
              }
            }
          }, _callee, _this2, [[4, 16]]);
        }));
  
        return function (_x) {
          return _ref2.apply(this, arguments);
        };
      }(), _this.logUser = function () {
        var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
          var login = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
          var password = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
  
          var __SOME_LOGIN_API__, url, method, headers, options, response;
  
          return regeneratorRuntime.wrap(function _callee2$(_context2) {
            while (1) {
              switch (_context2.prev = _context2.next) {
                case 0:
                  __SOME_LOGIN_API__ = 'login';
                  url = Object(__WEBPACK_IMPORTED_MODULE_7__services_utils_getLocationOrigin__["a" /* default */])() + '/' + __SOME_LOGIN_API__;
                  method = 'post';
                  headers = {};
                  options = {
                    credentials: 'same-origin',
                    data: {
                      login: login,
                      password: password
                    }
                  };
  
                  if (!__WEBPACK_IMPORTED_MODULE_6__config_appConfig__["a" /* appConfig */].DEV_MODE) {
                    _context2.next = 7;
                    break;
                  }
  
                  return _context2.abrupt('return', new Promise(function (resolve) {
                    return setTimeout(resolve({ data: __WEBPACK_IMPORTED_MODULE_8__mock_userInfo_json___default.a }), 3000);
                  }));
  
                case 7:
                  _context2.prev = 7;
                  _context2.next = 10;
                  return __WEBPACK_IMPORTED_MODULE_2_axios___default.a.request(_extends({
                    method: method,
                    url: url,
                    withCredentials: true,
                    headers: _extends({
                      'Accept': 'application/json',
                      'Content-Type': 'application/json',
                      'Acces-Control-Allow-Origin': '*'
                    }, headers)
                  }, options));
  
                case 10:
                  response = _context2.sent;
                  return _context2.abrupt('return', Promise.resolve(response));
  
                case 14:
                  _context2.prev = 14;
                  _context2.t0 = _context2['catch'](7);
                  return _context2.abrupt('return', Promise.reject(_context2.t0));
  
                case 17:
                case 'end':
                  return _context2.stop();
              }
            }
          }, _callee2, _this2, [[7, 14]]);
        }));
  
        return function () {
          return _ref3.apply(this, arguments);
        };
      }(), _this.goHome = function (event) {
        if (event) {
          event.preventDefault();
        }
        var history = _this.props.history;
  
        history.push({ pathname: '/' });
      }, _temp), _possibleConstructorReturn(_this, _ret);
    }
  
    _createClass(Login, [{
      key: 'componentDidMount',
      value: function componentDidMount() {
        this.disconnectUser(); // diconnect user: remove token and user info
      }
    }, {
      key: 'render',
      value: function render() {
        var _state = this.state,
            email = _state.email,
            password = _state.password,
            isLogging = _state.isLogging;
  
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'div',
          { className: 'content' },
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Row"],
            null,
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
              __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Col"],
              {
                md: 4,
                mdOffset: 4,
                xs: 10,
                xsOffset: 1
              },
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'form',
                {
                  className: 'form-horizontal',
                  noValidate: true
                },
                __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                  'fieldset',
                  null,
                  __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                    'legend',
                    null,
                    'Login'
                  ),
                  __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                    'div',
                    { className: 'form-group' },
                    __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                      'label',
                      {
                        htmlFor: 'inputEmail',
                        className: 'col-lg-2 control-label' },
                      'Email'
                    ),
                    __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                      __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Col"],
                      { lg: 10 },
                      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input', {
                        type: 'text',
                        className: 'form-control',
                        id: 'inputEmail',
                        placeholder: 'Email',
                        value: email,
                        onChange: this.handlesOnEmailChange
                      })
                    )
                  ),
                  __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                    'div',
                    { className: 'form-group' },
                    __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                      'label',
                      {
                        htmlFor: 'inputPassword',
                        className: 'col-lg-2 control-label' },
                      'Password'
                    ),
                    __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                      __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Col"],
                      { lg: 10 },
                      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('input', {
                        type: 'password',
                        className: 'form-control',
                        id: 'inputPassword',
                        placeholder: 'Password',
                        value: password,
                        onChange: this.handlesOnPasswordChange
                      })
                    )
                  ),
                  __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                    'div',
                    { className: 'form-group' },
                    __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                      __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Col"],
                      {
                        lg: 10,
                        lgOffset: 2
                      },
                      __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                        __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Button"],
                        {
                          className: 'login-button btn-block',
                          bsStyle: 'primary',
                          disabled: isLogging,
                          onClick: this.handlesOnLogin },
                        isLogging ? __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                          'span',
                          null,
                          'login in... \xA0',
                          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement('i', {
                            className: 'fa fa-spinner fa-pulse fa-fw'
                          })
                        ) : __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                          'span',
                          null,
                          'Login'
                        )
                      )
                    )
                  )
                )
              )
            )
          ),
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Row"],
            null,
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
              __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Col"],
              {
                md: 4,
                mdOffset: 4,
                xs: 10,
                xsOffset: 1
              },
              __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                'div',
                { className: 'pull-right' },
                __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
                  __WEBPACK_IMPORTED_MODULE_3_react_bootstrap__["Button"],
                  {
                    bsStyle: 'info',
                    className: 'btn-block',
                    onClick: this.goHome
                  },
                  'back to home'
                )
              )
            )
          )
        );
      }
    }]);
  
    return Login;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  Login.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (Login);
  
  /***/ }),
  
  /***/ 75:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__BrowserRouter__ = __webpack_require__(657);
  /* unused harmony reexport BrowserRouter */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__HashRouter__ = __webpack_require__(660);
  /* unused harmony reexport HashRouter */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__Link__ = __webpack_require__(242);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return __WEBPACK_IMPORTED_MODULE_2__Link__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__MemoryRouter__ = __webpack_require__(661);
  /* unused harmony reexport MemoryRouter */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__NavLink__ = __webpack_require__(663);
  /* unused harmony reexport NavLink */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__Prompt__ = __webpack_require__(666);
  /* unused harmony reexport Prompt */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_6__Redirect__ = __webpack_require__(667);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return __WEBPACK_IMPORTED_MODULE_6__Redirect__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_7__Route__ = __webpack_require__(244);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return __WEBPACK_IMPORTED_MODULE_7__Route__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_8__Router__ = __webpack_require__(162);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return __WEBPACK_IMPORTED_MODULE_8__Router__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_9__StaticRouter__ = __webpack_require__(672);
  /* unused harmony reexport StaticRouter */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_10__Switch__ = __webpack_require__(673);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return __WEBPACK_IMPORTED_MODULE_10__Switch__["a"]; });
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_11__matchPath__ = __webpack_require__(674);
  /* unused harmony reexport matchPath */
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_12__withRouter__ = __webpack_require__(675);
  /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return __WEBPACK_IMPORTED_MODULE_12__withRouter__["a"]; });
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  /***/ }),
  
  /***/ 76:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames_bind__ = __webpack_require__(253);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_classnames_bind___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_2_classnames_bind__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__animatedView_scss__ = __webpack_require__(695);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__animatedView_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__animatedView_scss__);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  // IMPORTANT: we need to bind classname to CSSModule generated classes:
  var cx = __WEBPACK_IMPORTED_MODULE_2_classnames_bind___default.a.bind(__WEBPACK_IMPORTED_MODULE_3__animatedView_scss___default.a);
  
  var AnimatedView = function (_Component) {
    _inherits(AnimatedView, _Component);
  
    function AnimatedView() {
      _classCallCheck(this, AnimatedView);
  
      return _possibleConstructorReturn(this, (AnimatedView.__proto__ || Object.getPrototypeOf(AnimatedView)).apply(this, arguments));
    }
  
    _createClass(AnimatedView, [{
      key: 'render',
      value: function render() {
        var _props = this.props,
            animated = _props.animated,
            children = _props.children;
  
  
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          'section',
          {
            className: cx({
              'content': true,
              'view-enter': animated
            }) },
          children
        );
      }
    }]);
  
    return AnimatedView;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["Component"]);
  
  AnimatedView.propTypes = {
    children: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.node,
    animated: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.bool
  };
  AnimatedView.defaultProps = {
    animated: true
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (AnimatedView);
  
  /***/ }),
  
  /***/ 870:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 871:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return appConfig; });
  var appConfig = {
    DEV_MODE: true // block fetch
  };
  
  /***/ }),
  
  /***/ 872:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* unused harmony export getLocationOrigin */
  //  weak
  
  var getLocationOrigin = function getLocationOrigin() {
    if (!window.location.origin) {
      window.location.origin = window.location.protocol + '//' + window.location.hostname + (window.location.port ? ':' + window.location.port : '');
    }
    return window.location.origin;
  };
  
  /* harmony default export */ __webpack_exports__["a"] = (getLocationOrigin);
  
  /***/ }),
  
  /***/ 873:
  /***/ (function(module, exports) {
  
  module.exports = {"token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJkZW1vIiwiaWF0IjoxNTAyMzA3MzU0LCJleHAiOjE3MjMyMzIxNTQsImF1ZCI6ImRlbW8tZGVtbyIsInN1YiI6ImRlbW8iLCJHaXZlbk5hbWUiOiJKb2huIiwiU3VybmFtZSI6IkRvZSIsIkVtYWlsIjoiam9obi5kb2VAZXhhbXBsZS5jb20iLCJSb2xlIjpbIlN1cGVyIGNvb2wgZGV2IiwibWFnaWMgbWFrZXIiXX0.6FjgLCypaqmRp4tDjg_idVKIzQw16e-z_rjA3R94IqQ","user":{"id":111,"login":"john.doe@fake.mail","firstname":"John","lastname":"Doe","isAdmin":true}}
  
  /***/ }),
  
  /***/ 874:
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react__ = __webpack_require__(0);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_react___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_0_react__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types__ = __webpack_require__(3);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_prop_types___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_prop_types__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__components__ = __webpack_require__(165);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pageNotFound_scss__ = __webpack_require__(875);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__pageNotFound_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_3__pageNotFound_scss__);
  /* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__components_animatedView_AnimatedView__ = __webpack_require__(76);
  var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
  
  //  weak
  
  
  
  
  
  
  
  var PageNotFound = function (_PureComponent) {
    _inherits(PageNotFound, _PureComponent);
  
    function PageNotFound() {
      _classCallCheck(this, PageNotFound);
  
      return _possibleConstructorReturn(this, (PageNotFound.__proto__ || Object.getPrototypeOf(PageNotFound)).apply(this, arguments));
    }
  
    _createClass(PageNotFound, [{
      key: 'render',
      value: function render() {
        return __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
          __WEBPACK_IMPORTED_MODULE_4__components_animatedView_AnimatedView__["a" /* default */],
          null,
          __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
            __WEBPACK_IMPORTED_MODULE_2__components__["b" /* Jumbotron */],
            null,
            __WEBPACK_IMPORTED_MODULE_0_react___default.a.createElement(
              'h1',
              null,
              'Sorry this page does not exists...'
            )
          )
        );
      }
    }]);
  
    return PageNotFound;
  }(__WEBPACK_IMPORTED_MODULE_0_react__["PureComponent"]);
  
  PageNotFound.propTypes = {
    // react-router 4:
    match: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    location: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired,
    history: __WEBPACK_IMPORTED_MODULE_1_prop_types___default.a.object.isRequired
  };
  
  
  /* harmony default export */ __webpack_exports__["a"] = (PageNotFound);
  
  /***/ }),
  
  /***/ 875:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 876:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 877:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 878:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  
  /***/ }),
  
  /***/ 879:
  /***/ (function(module, exports) {
  
  // removed by extract-text-webpack-plugin
  module.exports = {"containersCustom":"index__containersCustom___4gEbt","invisible":"index__invisible___334e2","view-enter":"index__view-enter___LOafb","fadeIn":"index__fadeIn___yltfA"};
  
  /***/ })
  
  },[430]);
  //# sourceMappingURL=app.bundle.js.map