text: module.exports =
  /******/ (function(modules) { // webpackBootstrap
  /******/ 	// The module cache
  /******/ 	var installedModules = require('../../../ssr-module-cache.js');
  /******/
  /******/ 	// The require function
  /******/ 	function __webpack_require__(moduleId) {
  /******/
  /******/ 		// Check if module is in cache
  /******/ 		if(installedModules[moduleId]) {
  /******/ 			return installedModules[moduleId].exports;
  /******/ 		}
  /******/ 		// Create a new module (and put it into the cache)
  /******/ 		var module = installedModules[moduleId] = {
  /******/ 			i: moduleId,
  /******/ 			l: false,
  /******/ 			exports: {}
  /******/ 		};
  /******/
  /******/ 		// Execute the module function
  /******/ 		var threw = true;
  /******/ 		try {
  /******/ 			modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
  /******/ 			threw = false;
  /******/ 		} finally {
  /******/ 			if(threw) delete installedModules[moduleId];
  /******/ 		}
  /******/
  /******/ 		// Flag the module as loaded
  /******/ 		module.l = true;
  /******/
  /******/ 		// Return the exports of the module
  /******/ 		return module.exports;
  /******/ 	}
  /******/
  /******/
  /******/ 	// expose the modules object (__webpack_modules__)
  /******/ 	__webpack_require__.m = modules;
  /******/
  /******/ 	// expose the module cache
  /******/ 	__webpack_require__.c = installedModules;
  /******/
  /******/ 	// define getter function for harmony exports
  /******/ 	__webpack_require__.d = function(exports, name, getter) {
  /******/ 		if(!__webpack_require__.o(exports, name)) {
  /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
  /******/ 		}
  /******/ 	};
  /******/
  /******/ 	// define __esModule on exports
  /******/ 	__webpack_require__.r = function(exports) {
  /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  /******/ 		}
  /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
  /******/ 	};
  /******/
  /******/ 	// create a fake namespace object
  /******/ 	// mode & 1: value is a module id, require it
  /******/ 	// mode & 2: merge all properties of value into the ns
  /******/ 	// mode & 4: return value when already ns object
  /******/ 	// mode & 8|1: behave like require
  /******/ 	__webpack_require__.t = function(value, mode) {
  /******/ 		if(mode & 1) value = __webpack_require__(value);
  /******/ 		if(mode & 8) return value;
  /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
  /******/ 		var ns = Object.create(null);
  /******/ 		__webpack_require__.r(ns);
  /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
  /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
  /******/ 		return ns;
  /******/ 	};
  /******/
  /******/ 	// getDefaultExport function for compatibility with non-harmony modules
  /******/ 	__webpack_require__.n = function(module) {
  /******/ 		var getter = module && module.__esModule ?
  /******/ 			function getDefault() { return module['default']; } :
  /******/ 			function getModuleExports() { return module; };
  /******/ 		__webpack_require__.d(getter, 'a', getter);
  /******/ 		return getter;
  /******/ 	};
  /******/
  /******/ 	// Object.prototype.hasOwnProperty.call
  /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
  /******/
  /******/ 	// __webpack_public_path__
  /******/ 	__webpack_require__.p = "";
  /******/
  /******/
  /******/ 	// Load entry module and return exports
  /******/ 	return __webpack_require__(__webpack_require__.s = 0);
  /******/ })
  /************************************************************************/
  /******/ ({
  
  /***/ "/+P4":
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Object$getPrototypeOf = __webpack_require__("Bhuq");
  
  var _Object$setPrototypeOf = __webpack_require__("TRZx");
  
  function _getPrototypeOf(o) {
    module.exports = _getPrototypeOf = _Object$setPrototypeOf ? _Object$getPrototypeOf : function _getPrototypeOf(o) {
      return o.__proto__ || _Object$getPrototypeOf(o);
    };
    return _getPrototypeOf(o);
  }
  
  module.exports = _getPrototypeOf;
  
  /***/ }),
  
  /***/ "/+oN":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/get-prototype-of");
  
  /***/ }),
  
  /***/ "/HRN":
  /***/ (function(module, exports) {
  
  function _classCallCheck(instance, Constructor) {
    if (!(instance instanceof Constructor)) {
      throw new TypeError("Cannot call a class as a function");
    }
  }
  
  module.exports = _classCallCheck;
  
  /***/ }),
  
  /***/ 0:
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("1TCz");
  
  
  /***/ }),
  
  /***/ "1TCz":
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  
  // EXTERNAL MODULE: external "react"
  var external_react_ = __webpack_require__("cDcd");
  var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
  
  // EXTERNAL MODULE: ./node_modules/next/app.js
  var app = __webpack_require__("8Bbg");
  var app_default = /*#__PURE__*/__webpack_require__.n(app);
  
  // EXTERNAL MODULE: external "react-apollo"
  var external_react_apollo_ = __webpack_require__("MGkW");
  
  // EXTERNAL MODULE: external "redux"
  var external_redux_ = __webpack_require__("rKB8");
  
  // EXTERNAL MODULE: external "react-redux"
  var external_react_redux_ = __webpack_require__("h74D");
  
  // EXTERNAL MODULE: external "redux-thunk"
  var external_redux_thunk_ = __webpack_require__("ZSx1");
  var external_redux_thunk_default = /*#__PURE__*/__webpack_require__.n(external_redux_thunk_);
  
  // EXTERNAL MODULE: external "redux-logger"
  var external_redux_logger_ = __webpack_require__("4DCN");
  
  // EXTERNAL MODULE: external "next-redux-wrapper"
  var external_next_redux_wrapper_ = __webpack_require__("JMOJ");
  var external_next_redux_wrapper_default = /*#__PURE__*/__webpack_require__.n(external_next_redux_wrapper_);
  
  // EXTERNAL MODULE: external "js-cookie"
  var external_js_cookie_ = __webpack_require__("vmXh");
  var external_js_cookie_default = /*#__PURE__*/__webpack_require__.n(external_js_cookie_);
  
  // EXTERNAL MODULE: ./source/components/redux-constants/authentication-constant.js
  var authentication_constant = __webpack_require__("cRSR");
  
  // CONCATENATED MODULE: ./source/components/redux-reducers/authentication-reducer.js
  
  
  var user = external_js_cookie_default.a.get('authentication-token');
  var initialState = user && typeof user === 'string' && user !== "undefined" ? {
    logged: true,
    user: external_js_cookie_default.a.get('authentication-user')
  } : {
    logged: false,
    user: null
  };
  function authenticationReducer() {
    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
    var action = arguments.length > 1 ? arguments[1] : undefined;
  
    switch (action.type) {
      case authentication_constant["a" /* authenticationConstants */].authenticationRequest:
        return {
          logged: false,
          user: action.user
        };
  
      case authentication_constant["a" /* authenticationConstants */].authenticationSuccess:
        return {
          logged: true,
          user: action.user
        };
  
      case authentication_constant["a" /* authenticationConstants */].authenticationFailure:
        return {
          logged: false,
          user: action.user
        };
  
      default:
        return state;
    }
  }
  // EXTERNAL MODULE: ./source/components/redux-constants/product-constant.js
  var product_constant = __webpack_require__("S0b8");
  
  // CONCATENATED MODULE: ./source/components/redux-reducers/admin-reducer.js
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { _defineProperty(target, key, source[key]); }); } return target; }
  
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
  
  
  
  var categories = external_js_cookie_default.a.get('product-categories');
  var perfumes = external_js_cookie_default.a.get('product-perfumes');
  var weights = external_js_cookie_default.a.get('product-weights');
  var products = external_js_cookie_default.a.get('products');
  var slideshow = external_js_cookie_default.a.get('slideshow');
  var admin_reducer_initialState = categories && typeof categories === 'string' && weights && typeof weights === 'string' && perfumes && typeof perfumes === 'string' && products && typeof products === 'string' && slideshow && typeof slideshow === 'string' ? {
    categories: categories,
    weights: weights,
    perfumes: perfumes,
    products: products,
    slideshow: slideshow
  } : {
    categories: null,
    weights: null,
    perfumes: null,
    products: null,
    slideshow: null
  };
  function adminReducer() {
    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : admin_reducer_initialState;
    var action = arguments.length > 1 ? arguments[1] : undefined;
  
    switch (action.type) {
      case product_constant["a" /* productConstants */].productCategoryAddRequest:
        return _objectSpread({}, state, {
          categories: null
        });
  
      case product_constant["a" /* productConstants */].productCategoryAddSuccess:
        return _objectSpread({}, state, {
          categories: action.categories
        });
  
      case product_constant["a" /* productConstants */].productCategoryAddFailure:
        return _objectSpread({}, state, {
          categories: null
        });
  
      case product_constant["a" /* productConstants */].productPerfumeAddRequest:
        return _objectSpread({}, state, {
          perfumes: null
        });
  
      case product_constant["a" /* productConstants */].productPerfumeAddSuccess:
        return _objectSpread({}, state, {
          perfumes: action.perfumes
        });
  
      case product_constant["a" /* productConstants */].productPerfumeAddFailure:
        return _objectSpread({}, state, {
          perfumes: null
        });
  
      case product_constant["a" /* productConstants */].productWeightAddRequest:
        return _objectSpread({}, state, {
          weights: null
        });
  
      case product_constant["a" /* productConstants */].productWeightAddSuccess:
        return _objectSpread({}, state, {
          weights: action.weights
        });
  
      case product_constant["a" /* productConstants */].productWeightAddFailure:
        return _objectSpread({}, state, {
          weights: null
        });
  
      case product_constant["a" /* productConstants */].productAddRequest:
        return _objectSpread({}, state, {
          products: null
        });
  
      case product_constant["a" /* productConstants */].productAddSuccess:
        return _objectSpread({}, state, {
          products: action.products
        });
  
      case product_constant["a" /* productConstants */].productAddFailure:
        return _objectSpread({}, state, {
          products: null
        });
  
      case product_constant["a" /* productConstants */].productCategoryFetchRequest:
        return _objectSpread({}, state, {
          categories: null
        });
  
      case product_constant["a" /* productConstants */].productCategoryFetchSuccess:
        return _objectSpread({}, state, {
          categories: action.categories
        });
  
      case product_constant["a" /* productConstants */].productCategoryFetchFailure:
        return _objectSpread({}, state, {
          categories: null
        });
  
      case product_constant["a" /* productConstants */].productPerfumeFetchRequest:
        return _objectSpread({}, state, {
          perfumes: null
        });
  
      case product_constant["a" /* productConstants */].productPerfumeFetchSuccess:
        return _objectSpread({}, state, {
          perfumes: action.perfumes
        });
  
      case product_constant["a" /* productConstants */].productPerfumeFetchFailure:
        return _objectSpread({}, state, {
          perfumes: null
        });
  
      case product_constant["a" /* productConstants */].productWeightFetchRequest:
        return _objectSpread({}, state, {
          weights: null
        });
  
      case product_constant["a" /* productConstants */].productWeightFetchSuccess:
        return _objectSpread({}, state, {
          weights: action.weights
        });
  
      case product_constant["a" /* productConstants */].productWeightFetchFailure:
        return _objectSpread({}, state, {
          weights: null
        });
  
      case product_constant["a" /* productConstants */].productFetchRequest:
        return _objectSpread({}, state, {
          products: null
        });
  
      case product_constant["a" /* productConstants */].productFetchSuccess:
        return _objectSpread({}, state, {
          products: action.products
        });
  
      case product_constant["a" /* productConstants */].productFetchFailure:
        return _objectSpread({}, state, {
          products: null
        });
  
      case product_constant["a" /* productConstants */].productSlideshowAddRequest:
        return _objectSpread({}, state, {
          slideshow: null
        });
  
      case product_constant["a" /* productConstants */].productSlideshowAddSuccess:
        return _objectSpread({}, state, {
          slideshow: action.slideshow
        });
  
      case product_constant["a" /* productConstants */].productSlideshowAddFailure:
        return _objectSpread({}, state, {
          slideshow: null
        });
  
      case product_constant["a" /* productConstants */].productSlideshowFetchRequest:
        return _objectSpread({}, state, {
          slideshow: null
        });
  
      case product_constant["a" /* productConstants */].productSlideshowFetchSuccess:
        return _objectSpread({}, state, {
          slideshow: action.slideshow
        });
  
      case product_constant["a" /* productConstants */].productSldieshowFetchFailure:
        return _objectSpread({}, state, {
          slideshow: null
        });
  
      default:
        return state;
    }
  }
  // CONCATENATED MODULE: ./source/components/redux-reducers/account-reducer.js
  function accountReducer() {
    var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
    var action = arguments.length > 1 ? arguments[1] : undefined;
  
    switch (action.type) {
      default:
        return state;
    }
  }
  // EXTERNAL MODULE: external "apollo-boost"
  var external_apollo_boost_ = __webpack_require__("YvTO");
  var external_apollo_boost_default = /*#__PURE__*/__webpack_require__.n(external_apollo_boost_);
  
  // EXTERNAL MODULE: external "apollo-link-http"
  var external_apollo_link_http_ = __webpack_require__("TG1l");
  
  // EXTERNAL MODULE: external "apollo-link"
  var external_apollo_link_ = __webpack_require__("vuC2");
  
  // EXTERNAL MODULE: external "isomorphic-fetch"
  var external_isomorphic_fetch_ = __webpack_require__("W+0S");
  var external_isomorphic_fetch_default = /*#__PURE__*/__webpack_require__.n(external_isomorphic_fetch_);
  
  // CONCATENATED MODULE: ./source/components/apollo-client/apollo-initializer.js
  
  
  
  
  
  if (true) {
    global.fetch = external_isomorphic_fetch_default.a;
  }
  
  var linkGuest = new external_apollo_link_http_["HttpLink"]({
    uri: 'http://localhost:3000/v1/graphql-account',
    fetch: external_isomorphic_fetch_default.a
  });
  var linkMain = external_apollo_link_["ApolloLink"].from([linkGuest]);
  var apolloClientGuest = new external_apollo_boost_default.a({
    uri: linkMain
  });
  
  // CONCATENATED MODULE: ./pages/_app.js
  function _typeof(obj) { if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
  
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
  
  function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
  
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
  
  function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } return _assertThisInitialized(self); }
  
  function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
  
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
  
  function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
  
  function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
  
  
  
  
  
  
  
  
  
  
  
  
  
  var reduxLogger = Object(external_redux_logger_["createLogger"])();
  
  var _app_makeStore = function makeStore() {
    return Object(external_redux_["createStore"])(Object(external_redux_["combineReducers"])({
      authenticationReducer: authenticationReducer,
      accountReducer: accountReducer,
      adminReducer: adminReducer
    }), Object(external_redux_["applyMiddleware"])(external_redux_thunk_default.a, reduxLogger));
  };
  
  var _app_MuscleApplication =
  /*#__PURE__*/
  function (_App) {
    _inherits(MuscleApplication, _App);
  
    function MuscleApplication() {
      _classCallCheck(this, MuscleApplication);
  
      return _possibleConstructorReturn(this, _getPrototypeOf(MuscleApplication).apply(this, arguments));
    }
  
    _createClass(MuscleApplication, [{
      key: "render",
      value: function render() {
        var _this$props = this.props,
            Component = _this$props.Component,
            pageProps = _this$props.pageProps,
            store = _this$props.store;
        return external_react_default.a.createElement(app["Container"], null, external_react_default.a.createElement(external_react_apollo_["ApolloProvider"], {
          client: apolloClientGuest
        }, external_react_default.a.createElement(external_react_redux_["Provider"], {
          store: store
        }, external_react_default.a.createElement(Component, pageProps))));
      }
    }]);
  
    return MuscleApplication;
  }(app_default.a);
  
  /* harmony default export */ var _app = __webpack_exports__["default"] = (external_next_redux_wrapper_default()(_app_makeStore)(_app_MuscleApplication));
  
  /***/ }),
  
  /***/ "4DCN":
  /***/ (function(module, exports) {
  
  module.exports = require("redux-logger");
  
  /***/ }),
  
  /***/ "4Q3z":
  /***/ (function(module, exports) {
  
  module.exports = require("next/router");
  
  /***/ }),
  
  /***/ "8Bbg":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("B5Ud")
  
  
  /***/ }),
  
  /***/ "B5Ud":
  /***/ (function(module, exports, __webpack_require__) {
  
  "use strict";
  
  
  var _interopRequireDefault = __webpack_require__("KI45");
  
  var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
  
  var _assign = _interopRequireDefault(__webpack_require__("UXZV"));
  
  var _classCallCheck2 = _interopRequireDefault(__webpack_require__("/HRN"));
  
  var _createClass2 = _interopRequireDefault(__webpack_require__("WaGi"));
  
  var _possibleConstructorReturn2 = _interopRequireDefault(__webpack_require__("ZDA2"));
  
  var _getPrototypeOf2 = _interopRequireDefault(__webpack_require__("/+P4"));
  
  var _inherits2 = _interopRequireDefault(__webpack_require__("N9n2"));
  
  var __importStar = void 0 && (void 0).__importStar || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) {
      if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
    }
    result["default"] = mod;
    return result;
  };
  
  var __importDefault = void 0 && (void 0).__importDefault || function (mod) {
    return mod && mod.__esModule ? mod : {
      "default": mod
    };
  };
  
  Object.defineProperty(exports, "__esModule", {
    value: true
  });
  
  var react_1 = __importStar(__webpack_require__("cDcd"));
  
  var prop_types_1 = __importDefault(__webpack_require__("rf6O"));
  
  var utils_1 = __webpack_require__("p8BD");
  
  var router_1 = __webpack_require__("4Q3z");
  
  var App =
  /*#__PURE__*/
  function (_react_1$Component) {
    (0, _inherits2.default)(App, _react_1$Component);
  
    function App() {
      (0, _classCallCheck2.default)(this, App);
      return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(App).apply(this, arguments));
    }
  
    (0, _createClass2.default)(App, [{
      key: "getChildContext",
      value: function getChildContext() {
        return {
          router: router_1.makePublicRouterInstance(this.props.router)
        };
      } // Kept here for backwards compatibility.
      // When someone ended App they could call `super.componentDidCatch`. This is now deprecated.
  
    }, {
      key: "componentDidCatch",
      value: function componentDidCatch(err) {
        throw err;
      }
    }, {
      key: "render",
      value: function render() {
        var _this$props = this.props,
            router = _this$props.router,
            Component = _this$props.Component,
            pageProps = _this$props.pageProps;
        var url = createUrl(router);
        return react_1.default.createElement(Container, null, react_1.default.createElement(Component, (0, _assign.default)({}, pageProps, {
          url: url
        })));
      }
    }], [{
      key: "getInitialProps",
      value: function (_ref) {
        var Component = _ref.Component,
            router = _ref.router,
            ctx = _ref.ctx;
  
        try {
          return _promise.default.resolve(utils_1.loadGetInitialProps(Component, ctx)).then(function (pageProps) {
            return {
              pageProps: pageProps
            };
          });
        } catch (e) {
          return _promise.default.reject(e);
        }
      }
    }]);
    return App;
  }(react_1.Component);
  
  App.childContextTypes = {
    router: prop_types_1.default.object
  };
  exports.default = App;
  
  var Container =
  /*#__PURE__*/
  function (_react_1$Component2) {
    (0, _inherits2.default)(Container, _react_1$Component2);
  
    function Container() {
      (0, _classCallCheck2.default)(this, Container);
      return (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Container).apply(this, arguments));
    }
  
    (0, _createClass2.default)(Container, [{
      key: "componentDidMount",
      value: function componentDidMount() {
        this.scrollToHash();
      }
    }, {
      key: "componentDidUpdate",
      value: function componentDidUpdate() {
        this.scrollToHash();
      }
    }, {
      key: "scrollToHash",
      value: function scrollToHash() {
        var hash = window.location.hash;
        hash = hash ? hash.substring(1) : false;
        if (!hash) return;
        var el = document.getElementById(hash);
        if (!el) return; // If we call scrollIntoView() in here without a setTimeout
        // it won't scroll properly.
  
        setTimeout(function () {
          return el.scrollIntoView();
        }, 0);
      }
    }, {
      key: "render",
      value: function render() {
        return this.props.children;
      }
    }]);
    return Container;
  }(react_1.Component);
  
  exports.Container = Container;
  var warnUrl = utils_1.execOnce(function () {
    if (false) {}
  });
  
  function createUrl(router) {
    // This is to make sure we don't references the router object at call time
    var pathname = router.pathname,
        asPath = router.asPath,
        query = router.query;
    return {
      get query() {
        warnUrl();
        return query;
      },
  
      get pathname() {
        warnUrl();
        return pathname;
      },
  
      get asPath() {
        warnUrl();
        return asPath;
      },
  
      back: function back() {
        warnUrl();
        router.back();
      },
      push: function push(url, as) {
        warnUrl();
        return router.push(url, as);
      },
      pushTo: function pushTo(href, as) {
        warnUrl();
        var pushRoute = as ? href : null;
        var pushUrl = as || href;
        return router.push(pushRoute, pushUrl);
      },
      replace: function replace(url, as) {
        warnUrl();
        return router.replace(url, as);
      },
      replaceTo: function replaceTo(href, as) {
        warnUrl();
        var replaceRoute = as ? href : null;
        var replaceUrl = as || href;
        return router.replace(replaceRoute, replaceUrl);
      }
    };
  }
  
  exports.createUrl = createUrl;
  
  /***/ }),
  
  /***/ "Bhuq":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("/+oN");
  
  /***/ }),
  
  /***/ "JMOJ":
  /***/ (function(module, exports) {
  
  module.exports = require("next-redux-wrapper");
  
  /***/ }),
  
  /***/ "K47E":
  /***/ (function(module, exports) {
  
  function _assertThisInitialized(self) {
    if (self === void 0) {
      throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
    }
  
    return self;
  }
  
  module.exports = _assertThisInitialized;
  
  /***/ }),
  
  /***/ "KI45":
  /***/ (function(module, exports) {
  
  function _interopRequireDefault(obj) {
    return obj && obj.__esModule ? obj : {
      default: obj
    };
  }
  
  module.exports = _interopRequireDefault;
  
  /***/ }),
  
  /***/ "MGkW":
  /***/ (function(module, exports) {
  
  module.exports = require("react-apollo");
  
  /***/ }),
  
  /***/ "N9n2":
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Object$create = __webpack_require__("SqZg");
  
  var setPrototypeOf = __webpack_require__("vjea");
  
  function _inherits(subClass, superClass) {
    if (typeof superClass !== "function" && superClass !== null) {
      throw new TypeError("Super expression must either be null or a function");
    }
  
    subClass.prototype = _Object$create(superClass && superClass.prototype, {
      constructor: {
        value: subClass,
        writable: true,
        configurable: true
      }
    });
    if (superClass) setPrototypeOf(subClass, superClass);
  }
  
  module.exports = _inherits;
  
  /***/ }),
  
  /***/ "S0b8":
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return productConstants; });
  var productConstants = {
    productCategoryAddSuccess: 'productCategoryAddSuccess',
    productCategoryAddFailure: 'productCategoryAddFailure',
    productCategoryAddRequest: 'productCategoryAddRequest',
    productPerfumeAddSuccess: 'productPerfumeAddSuccess',
    productPerfumeAddFailure: 'productPerfumeAddFailure',
    productPerfumeAddRequest: 'productPerfumeAddRequest',
    productWeightAddSuccess: 'productWeightAddSuccess',
    productWeightAddFailure: 'productWeightAddFailure',
    productWeightAddRequest: 'productWeightAddRequest',
    productCategoryFetchSuccess: 'productCategoryFetchSuccess',
    productCategoryFetchFailure: 'productCategoryFetchFailure',
    productCategoryFetchRequest: 'productCategoryFetchRequest',
    productPerfumeFetchSuccess: 'productPerfumeFetchSuccess',
    productPerfumeFetchFailure: 'productPerfumeFetchFailure',
    productPerfumeFetchRequest: 'productPerfumeFetchRequest',
    productWeightFetchSuccess: 'productWeightFetchSuccess',
    productWeightFetchFailure: 'productWeightFetchFailure',
    productWeightFetchRequest: 'productWeightFetchRequest',
    productAddRequest: 'productAddRequest',
    productAddSuccess: 'productAddSuccess',
    productAddFailure: 'productAddFailure',
    productFetchRequest: 'productFetchRequest',
    productFetchSuccess: 'productFetchSuccess',
    productFetchFailure: 'productFetchFailure',
    productSlideshowAddRequest: 'productSlideshowAddRequest',
    productSlideshowAddSuccess: 'productSlideshowAddSuccess',
    productSlideshowAddFailure: 'productSlideshowAddFailure',
    productSlideshowFetchRequest: 'productSlideshowFetchRequest',
    productSlideshowFetchSuccess: 'productSlideshowFetchSuccess',
    productSlideshowFetchFailure: 'productSlideshowFetchFailure'
  };
  
  /***/ }),
  
  /***/ "SqZg":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("o5io");
  
  /***/ }),
  
  /***/ "TG1l":
  /***/ (function(module, exports) {
  
  module.exports = require("apollo-link-http");
  
  /***/ }),
  
  /***/ "TRZx":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("Wk4r");
  
  /***/ }),
  
  /***/ "TUA0":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/define-property");
  
  /***/ }),
  
  /***/ "UXZV":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("dGr4");
  
  /***/ }),
  
  /***/ "W+0S":
  /***/ (function(module, exports) {
  
  module.exports = require("isomorphic-fetch");
  
  /***/ }),
  
  /***/ "WaGi":
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Object$defineProperty = __webpack_require__("hfKm");
  
  function _defineProperties(target, props) {
    for (var i = 0; i < props.length; i++) {
      var descriptor = props[i];
      descriptor.enumerable = descriptor.enumerable || false;
      descriptor.configurable = true;
      if ("value" in descriptor) descriptor.writable = true;
  
      _Object$defineProperty(target, descriptor.key, descriptor);
    }
  }
  
  function _createClass(Constructor, protoProps, staticProps) {
    if (protoProps) _defineProperties(Constructor.prototype, protoProps);
    if (staticProps) _defineProperties(Constructor, staticProps);
    return Constructor;
  }
  
  module.exports = _createClass;
  
  /***/ }),
  
  /***/ "Wk4r":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/set-prototype-of");
  
  /***/ }),
  
  /***/ "XVgq":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("gHn/");
  
  /***/ }),
  
  /***/ "YvTO":
  /***/ (function(module, exports) {
  
  module.exports = require("apollo-boost");
  
  /***/ }),
  
  /***/ "Z7t5":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("vqFK");
  
  /***/ }),
  
  /***/ "ZDA2":
  /***/ (function(module, exports, __webpack_require__) {
  
  var _typeof = __webpack_require__("iZP3");
  
  var assertThisInitialized = __webpack_require__("K47E");
  
  function _possibleConstructorReturn(self, call) {
    if (call && (_typeof(call) === "object" || typeof call === "function")) {
      return call;
    }
  
    return assertThisInitialized(self);
  }
  
  module.exports = _possibleConstructorReturn;
  
  /***/ }),
  
  /***/ "ZSx1":
  /***/ (function(module, exports) {
  
  module.exports = require("redux-thunk");
  
  /***/ }),
  
  /***/ "aC71":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/promise");
  
  /***/ }),
  
  /***/ "cDcd":
  /***/ (function(module, exports) {
  
  module.exports = require("react");
  
  /***/ }),
  
  /***/ "cRSR":
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return authenticationConstants; });
  var authenticationConstants = {
    authenticationFailure: 'authenticationFailure',
    authenticationSuccess: 'authenticationSuccess',
    authenticationRequest: 'authenticationSuccess'
  };
  
  /***/ }),
  
  /***/ "dGr4":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/assign");
  
  /***/ }),
  
  /***/ "eVuF":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("aC71");
  
  /***/ }),
  
  /***/ "gHn/":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/symbol/iterator");
  
  /***/ }),
  
  /***/ "h74D":
  /***/ (function(module, exports) {
  
  module.exports = require("react-redux");
  
  /***/ }),
  
  /***/ "hfKm":
  /***/ (function(module, exports, __webpack_require__) {
  
  module.exports = __webpack_require__("TUA0");
  
  /***/ }),
  
  /***/ "iZP3":
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Symbol$iterator = __webpack_require__("XVgq");
  
  var _Symbol = __webpack_require__("Z7t5");
  
  function _typeof2(obj) { if (typeof _Symbol === "function" && typeof _Symbol$iterator === "symbol") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof2(obj); }
  
  function _typeof(obj) {
    if (typeof _Symbol === "function" && _typeof2(_Symbol$iterator) === "symbol") {
      module.exports = _typeof = function _typeof(obj) {
        return _typeof2(obj);
      };
    } else {
      module.exports = _typeof = function _typeof(obj) {
        return obj && typeof _Symbol === "function" && obj.constructor === _Symbol && obj !== _Symbol.prototype ? "symbol" : _typeof2(obj);
      };
    }
  
    return _typeof(obj);
  }
  
  module.exports = _typeof;
  
  /***/ }),
  
  /***/ "o5io":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/object/create");
  
  /***/ }),
  
  /***/ "p8BD":
  /***/ (function(module, exports) {
  
  module.exports = require("next-server/dist/lib/utils");
  
  /***/ }),
  
  /***/ "rKB8":
  /***/ (function(module, exports) {
  
  module.exports = require("redux");
  
  /***/ }),
  
  /***/ "rf6O":
  /***/ (function(module, exports) {
  
  module.exports = require("prop-types");
  
  /***/ }),
  
  /***/ "vjea":
  /***/ (function(module, exports, __webpack_require__) {
  
  var _Object$setPrototypeOf = __webpack_require__("TRZx");
  
  function _setPrototypeOf(o, p) {
    module.exports = _setPrototypeOf = _Object$setPrototypeOf || function _setPrototypeOf(o, p) {
      o.__proto__ = p;
      return o;
    };
  
    return _setPrototypeOf(o, p);
  }
  
  module.exports = _setPrototypeOf;
  
  /***/ }),
  
  /***/ "vmXh":
  /***/ (function(module, exports) {
  
  module.exports = require("js-cookie");
  
  /***/ }),
  
  /***/ "vqFK":
  /***/ (function(module, exports) {
  
  module.exports = require("core-js/library/fn/symbol");
  
  /***/ }),
  
  /***/ "vuC2":
  /***/ (function(module, exports) {
  
  module.exports = require("apollo-link");
  
  /***/ })
  
  /******/ });