Skip to content

Commit

Permalink
v9.0.6-canary.4
Browse files Browse the repository at this point in the history
  • Loading branch information
Timer committed Sep 14, 2019
1 parent d031cf6 commit 00e0281
Show file tree
Hide file tree
Showing 5 changed files with 5 additions and 5 deletions.
2 changes: 1 addition & 1 deletion lerna.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,5 +17,5 @@
"registry": "https://registry.npmjs.org/"
}
},
"version": "9.0.6-canary.3"
"version": "9.0.6-canary.4"
}
2 changes: 1 addition & 1 deletion packages/create-next-app/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "create-next-app",
"version": "9.0.6-canary.3",
"version": "9.0.6-canary.4",
"keywords": [
"react",
"next",
Expand Down
2 changes: 1 addition & 1 deletion packages/next-bundle-analyzer/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/bundle-analyzer",
"version": "9.0.6-canary.3",
"version": "9.0.6-canary.4",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next-mdx/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@next/mdx",
"version": "9.0.6-canary.3",
"version": "9.0.6-canary.4",
"main": "index.js",
"license": "MIT",
"repository": {
Expand Down
2 changes: 1 addition & 1 deletion packages/next/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "next",
"version": "9.0.6-canary.3",
"version": "9.0.6-canary.4",
"description": "The React Framework",
"main": "./dist/server/next.js",
"license": "MIT",
Expand Down

1 comment on commit 00e0281

@ijjk
Copy link
Member

@ijjk ijjk commented on 00e0281 Sep 14, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stats from current release

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
buildDuration 14.4s 15.7s ⚠️ +1.3s
nodeModulesSize 41.5 MB 42 MB ⚠️ +519 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
main-HASH.js 18.1 kB 18.2 kB ⚠️ +104 B
main-HASH.js gzip 6.64 kB 6.66 kB ⚠️ +17 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
3gA8Op0wh1Cq..f91025da7.js 43 kB N/A N/A
3gA8Op0wh1Cq..5da7.js gzip 15.4 kB N/A N/A
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
SVLdzYjnGF5m..2b8407376.js 21.9 kB N/A N/A
SVLdzYjnGF5m..7376.js gzip 7.81 kB N/A N/A
4952ddcd88e7..2b8407376.js N/A 21.9 kB N/A
4952ddcd88e7..7376.js gzip N/A 7.81 kB N/A
de003c3a9d30..1c5d17695.js N/A 43.1 kB N/A
de003c3a9d30..7695.js gzip N/A 15.4 kB N/A
Overall change 210 kB 210 kB ⚠️ +104 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
main-HASH.module.js 16.5 kB 16.6 kB ⚠️ +96 B
main-HASH.module.js gzip 6.37 kB 6.4 kB ⚠️ +29 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
3gA8Op0wh1Cq..ed.module.js 45.4 kB N/A N/A
3gA8Op0wh1Cq..dule.js gzip 16.4 kB N/A N/A
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
de003c3a9d30..5f.module.js N/A 45.5 kB N/A
de003c3a9d30..dule.js gzip N/A 16.5 kB N/A
Overall change 189 kB 189 kB ⚠️ +96 B
Client Pages Overall decrease ✓
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_app.js 1.83 kB 1.81 kB -25 B
_app.js gzip 884 B 873 B -11 B
_error.js 12.1 kB 12 kB -69 B
_error.js gzip 4.76 kB 4.73 kB -27 B
hooks.js 12.7 kB 12.7 kB -25 B
hooks.js gzip 4.81 kB 4.79 kB -16 B
index.js 343 B 318 B -25 B
index.js gzip 237 B 222 B -15 B
link.js 8.14 kB 8.11 kB -25 B
link.js gzip 3.49 kB 3.48 kB -16 B
routerDirect.js 433 B 408 B -25 B
routerDirect.js gzip 296 B 281 B -15 B
withRouter.js 444 B 419 B -25 B
withRouter.js gzip 294 B 280 B -14 B
Overall change 36 kB 35.8 kB -219 B
Client Pages Modern Overall decrease ✓
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_app.module.js 1.73 kB 1.7 kB -25 B
_app.module.js gzip 840 B 832 B -8 B
_error.module.js 23.3 kB 23.3 kB -69 B
_error.module.js gzip 8.62 kB 8.59 kB -31 B
hooks.module.js 1.55 kB 1.52 kB -25 B
hooks.module.js gzip 804 B 793 B -11 B
index.module.js 319 B 294 B -25 B
index.module.js gzip 238 B 223 B -15 B
link.module.js 8.52 kB 8.5 kB -25 B
link.module.js gzip 3.68 kB 3.66 kB -15 B
routerDirect.module.js 419 B 394 B -25 B
routerDirect..dule.js gzip 294 B 281 B -13 B
withRouter.module.js 429 B 404 B -25 B
withRouter.m..dule.js gzip 293 B 278 B -15 B
Overall change 36.3 kB 36.1 kB -219 B
Client Build Manifests
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
index.html 3.57 kB 3.62 kB ⚠️ +49 B
index.html gzip 943 B 946 B ⚠️ +3 B
link.html 3.61 kB 3.66 kB ⚠️ +49 B
link.html gzip 951 B 953 B ⚠️ +2 B
withRouter.html 3.62 kB 3.67 kB ⚠️ +49 B
withRouter.html gzip 939 B 941 B ⚠️ +2 B
Overall change 10.8 kB 10.9 kB ⚠️ +147 B

Diffs

Diff for main-HASH.js
@@ -9,6 +9,62 @@ __webpack_require__("cHUd")('Map');
 
 /***/ }),
 
+/***/ "0IRE":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Map = __webpack_require__("LX0d");
+
+var _classCallCheck = __webpack_require__("/HRN");
+
+var _createClass = __webpack_require__("WaGi");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var DataManager =
+/*#__PURE__*/
+function () {
+  function DataManager(data) {
+    _classCallCheck(this, DataManager);
+
+    this.data = new _Map(data);
+  }
+
+  _createClass(DataManager, [{
+    key: "getData",
+    value: function getData() {
+      return this.data;
+    }
+  }, {
+    key: "get",
+    value: function get(key) {
+      return this.data.get(key);
+    }
+  }, {
+    key: "set",
+    value: function set(key, value) {
+      this.data.set(key, value);
+    }
+  }, {
+    key: "overwrite",
+    value: function overwrite(data) {
+      this.data = new _Map(data);
+    }
+  }]);
+
+  return DataManager;
+}();
+
+exports.DataManager = DataManager;
+
+/***/ }),
+
 /***/ "8iia":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -208,33 +264,7 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var runtimeConfig;
-
-exports["default"] = function () {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -305,25 +335,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -338,7 +368,7 @@ if (!window.Promise) {
 
 var data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-var version = "9.0.5";
+var version = "9.0.6-canary.4";
 exports.version = version;
 var props = data.props,
     err = data.err,
@@ -460,7 +490,7 @@ function () {
   var _ref2 = (0, _asyncToGenerator2["default"])(
   /*#__PURE__*/
   _regeneratorRuntime.mark(function _callee(_temp) {
-    var _ref, passedWebpackHMR, initialErr, _require, isValidElementType, renderCtx;
+    var _ref, passedWebpackHMR, initialErr, _require, isValidElementType, initialAsPath, renderCtx;
 
     return _regeneratorRuntime.wrap(function _callee$(_context) {
       while (1) {
@@ -517,7 +547,10 @@ function () {
             return window.__NEXT_PRELOADREADY(dynamicIds);
 
           case 22:
-            exports.router = router = (0, _router.createRouter)(page, query, asPath, {
+            // if auto prerendered and dynamic route wait to update asPath
+            // until after mount to prevent hydration mismatch
+            initialAsPath = (0, _isDynamic.isDynamicRoute)(page) && data.nextExport ? page : asPath;
+            exports.router = router = (0, _router.createRouter)(page, query, initialAsPath, {
               initialProps: props,
               pageLoader: pageLoader,
               App: App,
@@ -547,7 +580,7 @@ function () {
             render(renderCtx);
             return _context.abrupt("return", emitter);
 
-          case 26:
+          case 27:
           case "end":
             return _context.stop();
         }
@@ -742,7 +775,10 @@ function markRenderComplete() {
 }
 
 function clearMarks() {
-  performance.clearMarks();
+  ;
+  ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {
+    return performance.clearMarks(mark);
+  });
   /*
   * TODO: uncomment the following line when we have a way to
   * expose this to user code.
@@ -867,14 +903,6 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1174,62 +1202,6 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _classCallCheck = __webpack_require__("/HRN");
-
-var _createClass = __webpack_require__("WaGi");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-var DataManager =
-/*#__PURE__*/
-function () {
-  function DataManager(data) {
-    _classCallCheck(this, DataManager);
-
-    this.data = new _Map(data);
-  }
-
-  _createClass(DataManager, [{
-    key: "getData",
-    value: function getData() {
-      return this.data;
-    }
-  }, {
-    key: "get",
-    value: function get(key) {
-      return this.data.get(key);
-    }
-  }, {
-    key: "set",
-    value: function set(key, value) {
-      this.data.set(key, value);
-    }
-  }, {
-    key: "overwrite",
-    value: function overwrite(data) {
-      this.data = new _Map(data);
-    }
-  }]);
-
-  return DataManager;
-}();
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1278,7 +1250,7 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1386,6 +1358,32 @@ module.exports = function (original, length) {
 
 /***/ }),
 
+/***/ "yLiY":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var runtimeConfig;
+
+exports["default"] = function () {
+  return runtimeConfig;
+};
+
+function setConfig(configValue) {
+  runtimeConfig = configValue;
+}
+
+exports.setConfig = setConfig;
+
+/***/ }),
+
 /***/ "zmvN":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1407,7 +1405,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1425,7 +1423,7 @@ function preloadScript(url) {
   var link = document.createElement('link');
   link.rel = 'preload';
   link.crossOrigin = "anonymous";
-  link.href = url;
+  link.href = encodeURI(url);
   link.as = 'script';
   document.head.appendChild(link);
 }
@@ -1576,7 +1574,7 @@ function () {
       }
 
       script.crossOrigin = "anonymous";
-      script.src = url;
+      script.src = encodeURI(url);
 
       script.onerror = function () {
         var error = new Error("Error loading script " + url);
@@ -1597,19 +1595,14 @@ function () {
 
       var register = function register() {
         try {
-          var _regFn = regFn(),
-              error = _regFn.error,
-              page = _regFn.page;
-
-          _this5.pageCache[route] = {
-            error: error,
-            page: page
+          var mod = regFn();
+          var pageData = {
+            page: mod["default"] || mod,
+            mod: mod
           };
+          _this5.pageCache[route] = pageData;
 
-          _this5.pageRegisterEvents.emit(route, {
-            error: error,
-            page: page
-          });
+          _this5.pageRegisterEvents.emit(route, pageData);
         } catch (error) {
           _this5.pageCache[route] = {
             error: error
Diff for main-HASH.module.js
@@ -54,6 +54,47 @@ __webpack_require__("cHUd")('Map');
 
 /***/ }),
 
+/***/ "0IRE":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Map = __webpack_require__("LX0d");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+class DataManager {
+  constructor(data) {
+    this.data = new _Map(data);
+  }
+
+  getData() {
+    return this.data;
+  }
+
+  get(key) {
+    return this.data.get(key);
+  }
+
+  set(key, value) {
+    this.data.set(key, value);
+  }
+
+  overwrite(data) {
+    this.data = new _Map(data);
+  }
+
+}
+
+exports.DataManager = DataManager;
+
+/***/ }),
+
 /***/ "6/1s":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -296,33 +337,7 @@ function reactElementToDOM(_ref) {
 
 /***/ }),
 
-/***/ "HohS":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-let runtimeConfig;
-
-exports.default = () => {
-  return runtimeConfig;
-};
-
-function setConfig(configValue) {
-  runtimeConfig = configValue;
-}
-
-exports.setConfig = setConfig;
-
-/***/ }),
-
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -377,25 +392,25 @@ var _headManager = _interopRequireDefault(__webpack_require__("DqTX"));
 
 var _router = __webpack_require__("nOHt");
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 var _pageLoader = _interopRequireDefault(__webpack_require__("zmvN"));
 
-var envConfig = _interopRequireWildcard(__webpack_require__("PBx+"));
+var envConfig = _interopRequireWildcard(__webpack_require__("yLiY"));
 
-var _headManagerContext = __webpack_require__("IClC");
+var _headManagerContext = __webpack_require__("FYa8");
 
-var _dataManagerContext = __webpack_require__("qS9g");
+var _dataManagerContext = __webpack_require__("qArv");
 
-var _routerContext = __webpack_require__("9EOK");
+var _routerContext = __webpack_require__("qOIg");
 
-var _dataManager = __webpack_require__("cuFY");
+var _dataManager = __webpack_require__("0IRE");
 
 var _querystring = __webpack_require__("s4NR");
 
-var _isDynamic = __webpack_require__("kcOw");
+var _isDynamic = __webpack_require__("/jkW");
 /* global location */
 // Polyfill Promise globally
 // This is needed because Webpack's dynamic loading(common chunks) code
@@ -410,7 +425,7 @@ if (!window.Promise) {
 
 const data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);
 window.__NEXT_DATA__ = data;
-const version = "9.0.5";
+const version = "9.0.6-canary.4";
 exports.version = version;
 const {
   props,
@@ -530,9 +545,12 @@ function () {
 
     if (window.__NEXT_PRELOADREADY) {
       yield window.__NEXT_PRELOADREADY(dynamicIds);
-    }
+    } // if auto prerendered and dynamic route wait to update asPath
+    // until after mount to prevent hydration mismatch
+
 
-    exports.router = router = (0, _router.createRouter)(page, query, asPath, {
+    const initialAsPath = (0, _isDynamic.isDynamicRoute)(page) && data.nextExport ? page : asPath;
+    exports.router = router = (0, _router.createRouter)(page, query, initialAsPath, {
       initialProps: props,
       pageLoader,
       App,
@@ -684,7 +702,8 @@ function markRenderComplete() {
 }
 
 function clearMarks() {
-  performance.clearMarks();
+  ;
+  ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(mark => performance.clearMarks(mark));
   /*
   * TODO: uncomment the following line when we have a way to
   * expose this to user code.
@@ -791,14 +810,6 @@ module.exports = __webpack_require__("UDep");
 
 /***/ }),
 
-/***/ "PBx+":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("HohS")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1098,47 +1109,6 @@ module.exports = function (COLLECTION) {
 
 /***/ }),
 
-/***/ "cuFY":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Map = __webpack_require__("LX0d");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-class DataManager {
-  constructor(data) {
-    this.data = new _Map(data);
-  }
-
-  getData() {
-    return this.data;
-  }
-
-  get(key) {
-    return this.data.get(key);
-  }
-
-  set(key, value) {
-    this.data.set(key, value);
-  }
-
-  overwrite(data) {
-    this.data = new _Map(data);
-  }
-
-}
-
-exports.DataManager = DataManager;
-
-/***/ }),
-
 /***/ "dVTT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1199,7 +1169,7 @@ module.exports = function (it, TYPE) {
 
 /***/ }),
 
-/***/ "qS9g":
+/***/ "qArv":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -1305,6 +1275,32 @@ module.exports = function (original, length) {
 
 /***/ }),
 
+/***/ "yLiY":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+let runtimeConfig;
+
+exports.default = () => {
+  return runtimeConfig;
+};
+
+function setConfig(configValue) {
+  runtimeConfig = configValue;
+}
+
+exports.setConfig = setConfig;
+
+/***/ }),
+
 /***/ "zmvN":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1320,7 +1316,7 @@ var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("+oT+"));
 
 var _promise = _interopRequireDefault(__webpack_require__("eVuF"));
 
-var _mitt = _interopRequireDefault(__webpack_require__("kiME"));
+var _mitt = _interopRequireDefault(__webpack_require__("dZ6Y"));
 /* global document, window */
 
 
@@ -1338,7 +1334,7 @@ function preloadScript(url) {
   const link = document.createElement('link');
   link.rel = 'preload';
   link.crossOrigin = "anonymous";
-  link.href = url;
+  link.href = encodeURI(url);
   link.as = 'script';
   document.head.appendChild(link);
 }
@@ -1456,7 +1452,7 @@ class PageLoader {
     }
 
     script.crossOrigin = "anonymous";
-    script.src = url;
+    script.src = encodeURI(url);
 
     script.onerror = () => {
       const error = new Error("Error loading script " + url);
@@ -1473,18 +1469,13 @@ class PageLoader {
   registerPage(route, regFn) {
     const register = () => {
       try {
-        const {
-          error,
-          page
-        } = regFn();
-        this.pageCache[route] = {
-          error,
-          page
+        const mod = regFn();
+        const pageData = {
+          page: mod.default || mod,
+          mod
         };
-        this.pageRegisterEvents.emit(route, {
-          error,
-          page
-        });
+        this.pageCache[route] = pageData;
+        this.pageRegisterEvents.emit(route, pageData);
       } catch (error) {
         this.pageCache[route] = {
           error
Diff for _app.js
@@ -33,7 +33,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -192,9 +192,9 @@ function createUrl(router) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
-      var page = __webpack_require__("B5Ud")
+      var mod = __webpack_require__("B5Ud")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for _error.js
@@ -15,6 +15,51 @@ module.exports = __webpack_require__("WEpk").Set;
 
 /***/ }),
 
+/***/ "/0+H":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+var react_1 = __importDefault(__webpack_require__("q1tI"));
+
+var amp_context_1 = __webpack_require__("lwAK");
+
+function isInAmpMode() {
+  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
+      _ref$ampFirst = _ref.ampFirst,
+      ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
+      _ref$hybrid = _ref.hybrid,
+      hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
+      _ref$hasQuery = _ref.hasQuery,
+      hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+
+  return ampFirst || hybrid && hasQuery;
+}
+
+exports.isInAmpMode = isInAmpMode;
+
+function useAmp() {
+  // Don't assign the context value to a variable to save bytes
+  return isInAmpMode(react_1["default"].useContext(amp_context_1.AmpStateContext));
+}
+
+exports.useAmp = useAmp;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -38,7 +83,7 @@ exports["default"] = void 0;
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _head = _interopRequireDefault(__webpack_require__("PgRs"));
+var _head = _interopRequireDefault(__webpack_require__("8Kt/"));
 
 var statusCodes = {
   400: 'Bad Request',
@@ -142,9 +187,9 @@ var styles = {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_error", function() {
-      var page = __webpack_require__("/a9y")
+      var mod = __webpack_require__("/a9y")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
   
 
@@ -171,137 +216,164 @@ module.exports = _nonIterableSpread;
 
 /***/ }),
 
-/***/ "3JuP":
+/***/ "8Kt/":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
+var _Set = __webpack_require__("ttDY");
+
 var _Object$defineProperty = __webpack_require__("hfKm");
 
-var __importStar = this && this.__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 = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
 };
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-var React = __importStar(__webpack_require__("q1tI"));
-
-exports.AmpStateContext = React.createContext({});
-
-/***/ }),
-
-/***/ "4hZ1":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
+var react_1 = __importDefault(__webpack_require__("q1tI"));
 
-var _classCallCheck = __webpack_require__("/HRN");
+var side_effect_1 = __importDefault(__webpack_require__("Xuae"));
 
-var _possibleConstructorReturn = __webpack_require__("ZDA2");
+var amp_context_1 = __webpack_require__("lwAK");
 
-var _getPrototypeOf = __webpack_require__("/+P4");
+var head_manager_context_1 = __webpack_require__("FYa8");
 
-var _assertThisInitialized = __webpack_require__("K47E");
+var amp_1 = __webpack_require__("/0+H");
 
-var _createClass = __webpack_require__("WaGi");
+function defaultHead() {
+  var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  var head = [react_1["default"].createElement("meta", {
+    key: "charSet",
+    charSet: "utf-8"
+  })];
 
-var _inherits = __webpack_require__("N9n2");
+  if (!inAmpMode) {
+    head.push(react_1["default"].createElement("meta", {
+      key: "viewport",
+      name: "viewport",
+      content: "width=device-width,minimum-scale=1,initial-scale=1"
+    }));
+  }
 
-var _toConsumableArray = __webpack_require__("TbGu");
+  return head;
+}
 
-var _Set = __webpack_require__("ttDY");
+exports.defaultHead = defaultHead;
 
-var _Object$defineProperty = __webpack_require__("hfKm");
+function onlyReactElement(list, child) {
+  // React children can be "string" or "number" in this case we ignore them for backwards compat
+  if (typeof child === 'string' || typeof child === 'number') {
+    return list;
+  } // Adds support for React.Fragment
 
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
 
-var react_1 = __webpack_require__("q1tI");
+  if (child.type === react_1["default"].Fragment) {
+    return list.concat(react_1["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {
+      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+        return fragmentList;
+      }
 
-var isServer = false;
+      return fragmentList.concat(fragmentChild);
+    }, []));
+  }
 
-exports["default"] = function () {
-  var mountedInstances = new _Set();
-  var state;
+  return list.concat(child);
+}
 
-  function emitChange(component) {
-    state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);
+var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/
 
-    if (component.props.handleStateChange) {
-      component.props.handleStateChange(state);
+function unique() {
+  var keys = new _Set();
+  var tags = new _Set();
+  var metaTypes = new _Set();
+  var metaCategories = {};
+  return function (h) {
+    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
+      if (keys.has(h.key)) return false;
+      keys.add(h.key);
+      return true;
     }
-  }
 
-  return (
-    /*#__PURE__*/
-    function (_react_1$Component) {
-      _inherits(_class, _react_1$Component);
+    switch (h.type) {
+      case 'title':
+      case 'base':
+        if (tags.has(h.type)) return false;
+        tags.add(h.type);
+        break;
 
-      _createClass(_class, null, [{
-        key: "rewind",
-        // Used when server rendering
-        value: function rewind() {
-          var recordedState = state;
-          state = undefined;
-          mountedInstances.clear();
-          return recordedState;
+      case 'meta':
+        for (var i = 0, len = METATYPES.length; i < len; i++) {
+          var metatype = METATYPES[i];
+          if (!h.props.hasOwnProperty(metatype)) continue;
+
+          if (metatype === 'charSet') {
+            if (metaTypes.has(metatype)) return false;
+            metaTypes.add(metatype);
+          } else {
+            var category = h.props[metatype];
+            var categories = metaCategories[metatype] || new _Set();
+            if (categories.has(category)) return false;
+            categories.add(category);
+            metaCategories[metatype] = categories;
+          }
         }
-      }]);
 
-      function _class(props) {
-        var _this;
+        break;
+    }
 
-        _classCallCheck(this, _class);
+    return true;
+  };
+}
+/**
+ *
+ * @param headElement List of multiple <Head> instances
+ */
 
-        _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));
 
-        if (isServer) {
-          mountedInstances.add(_assertThisInitialized(_this));
-          emitChange(_assertThisInitialized(_this));
-        }
+function reduceComponents(headElements, props) {
+  return headElements.reduce(function (list, headElement) {
+    var headElementChildren = react_1["default"].Children.toArray(headElement.props.children);
+    return list.concat(headElementChildren);
+  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map(function (c, i) {
+    var key = c.key || i;
+    return react_1["default"].cloneElement(c, {
+      key: key
+    });
+  });
+}
 
-        return _this;
-      }
+var Effect = side_effect_1["default"]();
+/**
+ * This component injects elements to `<head>` of your page.
+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+ */
 
-      _createClass(_class, [{
-        key: "componentDidMount",
-        value: function componentDidMount() {
-          mountedInstances.add(this);
-          emitChange(this);
-        }
-      }, {
-        key: "componentDidUpdate",
-        value: function componentDidUpdate() {
-          emitChange(this);
-        }
-      }, {
-        key: "componentWillUnmount",
-        value: function componentWillUnmount() {
-          mountedInstances["delete"](this);
-          emitChange(this);
-        }
-      }, {
-        key: "render",
-        value: function render() {
-          return null;
-        }
-      }]);
+function Head(_ref) {
+  var children = _ref.children;
+  return react_1["default"].createElement(amp_context_1.AmpStateContext.Consumer, null, function (ampState) {
+    return react_1["default"].createElement(head_manager_context_1.HeadManagerContext.Consumer, null, function (updateHead) {
+      return react_1["default"].createElement(Effect, {
+        reduceComponentsToState: reduceComponents,
+        handleStateChange: updateHead,
+        inAmpMode: amp_1.isInAmpMode(ampState)
+      }, children);
+    });
+  });
+}
 
-      return _class;
-    }(react_1.Component)
-  );
-};
+Head.rewind = Effect.rewind;
+exports["default"] = Head;
 
 /***/ }),
 
@@ -366,7 +438,7 @@ module.exports = function (original) {
 
 /***/ }),
 
-/***/ "IClC":
+/***/ "FYa8":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
@@ -425,14 +497,6 @@ module.exports = _iterableToArray;
 
 /***/ }),
 
-/***/ "PgRs":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("m/Pd")
-
-
-/***/ }),
-
 /***/ "RRc/":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -731,48 +795,109 @@ module.exports = {
 
 /***/ }),
 
-/***/ "Wziy":
+/***/ "Xuae":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Object$defineProperty = __webpack_require__("hfKm");
+var _classCallCheck = __webpack_require__("/HRN");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
-};
+var _possibleConstructorReturn = __webpack_require__("ZDA2");
+
+var _getPrototypeOf = __webpack_require__("/+P4");
+
+var _assertThisInitialized = __webpack_require__("K47E");
+
+var _createClass = __webpack_require__("WaGi");
+
+var _inherits = __webpack_require__("N9n2");
+
+var _toConsumableArray = __webpack_require__("TbGu");
+
+var _Set = __webpack_require__("ttDY");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-var react_1 = __importDefault(__webpack_require__("q1tI"));
+var react_1 = __webpack_require__("q1tI");
 
-var amp_context_1 = __webpack_require__("3JuP");
+var isServer = false;
 
-function isInAmpMode() {
-  var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
-      _ref$ampFirst = _ref.ampFirst,
-      ampFirst = _ref$ampFirst === void 0 ? false : _ref$ampFirst,
-      _ref$hybrid = _ref.hybrid,
-      hybrid = _ref$hybrid === void 0 ? false : _ref$hybrid,
-      _ref$hasQuery = _ref.hasQuery,
-      hasQuery = _ref$hasQuery === void 0 ? false : _ref$hasQuery;
+exports["default"] = function () {
+  var mountedInstances = new _Set();
+  var state;
 
-  return ampFirst || hybrid && hasQuery;
-}
+  function emitChange(component) {
+    state = component.props.reduceComponentsToState(_toConsumableArray(mountedInstances), component.props);
 
-exports.isInAmpMode = isInAmpMode;
+    if (component.props.handleStateChange) {
+      component.props.handleStateChange(state);
+    }
+  }
 
-function useAmp() {
-  // Don't assign the context value to a variable to save bytes
-  return isInAmpMode(react_1["default"].useContext(amp_context_1.AmpStateContext));
-}
+  return (
+    /*#__PURE__*/
+    function (_react_1$Component) {
+      _inherits(_class, _react_1$Component);
 
-exports.useAmp = useAmp;
+      _createClass(_class, null, [{
+        key: "rewind",
+        // Used when server rendering
+        value: function rewind() {
+          var recordedState = state;
+          state = undefined;
+          mountedInstances.clear();
+          return recordedState;
+        }
+      }]);
+
+      function _class(props) {
+        var _this;
+
+        _classCallCheck(this, _class);
+
+        _this = _possibleConstructorReturn(this, _getPrototypeOf(_class).call(this, props));
+
+        if (isServer) {
+          mountedInstances.add(_assertThisInitialized(_this));
+          emitChange(_assertThisInitialized(_this));
+        }
+
+        return _this;
+      }
+
+      _createClass(_class, [{
+        key: "componentDidMount",
+        value: function componentDidMount() {
+          mountedInstances.add(this);
+          emitChange(this);
+        }
+      }, {
+        key: "componentDidUpdate",
+        value: function componentDidUpdate() {
+          emitChange(this);
+        }
+      }, {
+        key: "componentWillUnmount",
+        value: function componentWillUnmount() {
+          mountedInstances["delete"](this);
+          emitChange(this);
+        }
+      }, {
+        key: "render",
+        value: function render() {
+          return null;
+        }
+      }]);
+
+      return _class;
+    }(react_1.Component)
+  );
+};
 
 /***/ }),
 
@@ -886,164 +1011,31 @@ module.exports = __webpack_require__("WEpk").isIterable = function (it) {
 
 /***/ }),
 
-/***/ "m/Pd":
+/***/ "lwAK":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Set = __webpack_require__("ttDY");
-
 var _Object$defineProperty = __webpack_require__("hfKm");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
+var __importStar = this && this.__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;
 };
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-var react_1 = __importDefault(__webpack_require__("q1tI"));
-
-var side_effect_1 = __importDefault(__webpack_require__("4hZ1"));
-
-var amp_context_1 = __webpack_require__("3JuP");
-
-var head_manager_context_1 = __webpack_require__("IClC");
-
-var amp_1 = __webpack_require__("Wziy");
-
-function defaultHead() {
-  var inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  var head = [react_1["default"].createElement("meta", {
-    key: "charSet",
-    charSet: "utf-8"
-  })];
-
-  if (!inAmpMode) {
-    head.push(react_1["default"].createElement("meta", {
-      key: "viewport",
-      name: "viewport",
-      content: "width=device-width,minimum-scale=1,initial-scale=1"
-    }));
-  }
-
-  return head;
-}
-
-exports.defaultHead = defaultHead;
-
-function onlyReactElement(list, child) {
-  // React children can be "string" or "number" in this case we ignore them for backwards compat
-  if (typeof child === 'string' || typeof child === 'number') {
-    return list;
-  } // Adds support for React.Fragment
-
-
-  if (child.type === react_1["default"].Fragment) {
-    return list.concat(react_1["default"].Children.toArray(child.props.children).reduce(function (fragmentList, fragmentChild) {
-      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
-        return fragmentList;
-      }
-
-      return fragmentList.concat(fragmentChild);
-    }, []));
-  }
-
-  return list.concat(child);
-}
-
-var METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
-/*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/
-
-function unique() {
-  var keys = new _Set();
-  var tags = new _Set();
-  var metaTypes = new _Set();
-  var metaCategories = {};
-  return function (h) {
-    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
-      if (keys.has(h.key)) return false;
-      keys.add(h.key);
-      return true;
-    }
-
-    switch (h.type) {
-      case 'title':
-      case 'base':
-        if (tags.has(h.type)) return false;
-        tags.add(h.type);
-        break;
-
-      case 'meta':
-        for (var i = 0, len = METATYPES.length; i < len; i++) {
-          var metatype = METATYPES[i];
-          if (!h.props.hasOwnProperty(metatype)) continue;
-
-          if (metatype === 'charSet') {
-            if (metaTypes.has(metatype)) return false;
-            metaTypes.add(metatype);
-          } else {
-            var category = h.props[metatype];
-            var categories = metaCategories[metatype] || new _Set();
-            if (categories.has(category)) return false;
-            categories.add(category);
-            metaCategories[metatype] = categories;
-          }
-        }
-
-        break;
-    }
-
-    return true;
-  };
-}
-/**
- *
- * @param headElement List of multiple <Head> instances
- */
-
-
-function reduceComponents(headElements, props) {
-  return headElements.reduce(function (list, headElement) {
-    var headElementChildren = react_1["default"].Children.toArray(headElement.props.children);
-    return list.concat(headElementChildren);
-  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map(function (c, i) {
-    var key = c.key || i;
-    return react_1["default"].cloneElement(c, {
-      key: key
-    });
-  });
-}
-
-var Effect = side_effect_1["default"]();
-/**
- * This component injects elements to `<head>` of your page.
- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
- */
-
-function Head(_ref) {
-  var children = _ref.children;
-  return react_1["default"].createElement(amp_context_1.AmpStateContext.Consumer, null, function (ampState) {
-    return react_1["default"].createElement(head_manager_context_1.HeadManagerContext.Consumer, null, function (updateHead) {
-      return react_1["default"].createElement(Effect, {
-        reduceComponentsToState: reduceComponents,
-        handleStateChange: updateHead,
-        inAmpMode: amp_1.isInAmpMode(ampState)
-      }, children);
-    });
-  });
-}
+var React = __importStar(__webpack_require__("q1tI"));
 
-Head.rewind = Effect.rewind;
-exports["default"] = Head;
+exports.AmpStateContext = React.createContext({});
 
 /***/ }),
Diff for hooks.js
@@ -994,9 +994,9 @@ module.exports = __webpack_require__("jmDH") ? Object.defineProperties : functio
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/hooks", function() {
-      var page = __webpack_require__("+MDD")
+      var mod = __webpack_require__("+MDD")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for index.js
@@ -22,9 +22,9 @@ Page.getInitialProps = function () {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/", function() {
-      var page = __webpack_require__("RNiq")
+      var mod = __webpack_require__("RNiq")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for link.js
@@ -167,9 +167,9 @@ module.exports = function (TYPE, $create) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/link", function() {
-      var page = __webpack_require__("ObF3")
+      var mod = __webpack_require__("ObF3")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
   
 
@@ -435,9 +435,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
Diff for routerDirect.js
@@ -5,9 +5,9 @@
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/routerDirect", function() {
-      var page = __webpack_require__("jSAA")
+      var mod = __webpack_require__("jSAA")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for withRouter.js
@@ -30,9 +30,9 @@ useWithRouter.getInitialProps = function () {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/withRouter", function() {
-      var page = __webpack_require__("0Hlz")
+      var mod = __webpack_require__("0Hlz")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for _app.module.js
@@ -66,7 +66,7 @@ var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
 var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 
 exports.AppInitialProps = _utils.AppInitialProps;
 
@@ -197,9 +197,9 @@ function createUrl(router) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_app", function() {
-      var page = __webpack_require__("B5Ud")
+      var mod = __webpack_require__("B5Ud")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for _error.module.js
@@ -15,6 +15,48 @@ module.exports = __webpack_require__("WEpk").Set;
 
 /***/ }),
 
+/***/ "/0+H":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const react_1 = __importDefault(__webpack_require__("q1tI"));
+
+const amp_context_1 = __webpack_require__("lwAK");
+
+function isInAmpMode() {
+  let {
+    ampFirst = false,
+    hybrid = false,
+    hasQuery = false
+  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
+  return ampFirst || hybrid && hasQuery;
+}
+
+exports.isInAmpMode = isInAmpMode;
+
+function useAmp() {
+  // Don't assign the context value to a variable to save bytes
+  return isInAmpMode(react_1.default.useContext(amp_context_1.AmpStateContext));
+}
+
+exports.useAmp = useAmp;
+
+/***/ }),
+
 /***/ "/a9y":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -28,7 +70,7 @@ exports.default = void 0;
 
 var _react = _interopRequireDefault(__webpack_require__("q1tI"));
 
-var _head = _interopRequireDefault(__webpack_require__("PgRs"));
+var _head = _interopRequireDefault(__webpack_require__("8Kt/"));
 
 const statusCodes = {
   400: 'Bad Request',
@@ -121,9 +163,9 @@ const styles = {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/_error", function() {
-      var page = __webpack_require__("/a9y")
+      var mod = __webpack_require__("/a9y")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
   
 
@@ -198,103 +240,6 @@ exports.f = __webpack_require__("jmDH") ? Object.defineProperty : function defin
 
 /***/ }),
 
-/***/ "3JuP":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__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;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const React = __importStar(__webpack_require__("q1tI"));
-
-exports.AmpStateContext = React.createContext({});
-
-/***/ }),
-
-/***/ "4hZ1":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Set = __webpack_require__("ttDY");
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const react_1 = __webpack_require__("q1tI");
-
-const isServer = false;
-
-exports.default = () => {
-  const mountedInstances = new _Set();
-  let state;
-
-  function emitChange(component) {
-    state = component.props.reduceComponentsToState([...mountedInstances], component.props);
-
-    if (component.props.handleStateChange) {
-      component.props.handleStateChange(state);
-    }
-  }
-
-  return class extends react_1.Component {
-    // Used when server rendering
-    static rewind() {
-      const recordedState = state;
-      state = undefined;
-      mountedInstances.clear();
-      return recordedState;
-    }
-
-    constructor(props) {
-      super(props);
-
-      if (isServer) {
-        mountedInstances.add(this);
-        emitChange(this);
-      }
-    }
-
-    componentDidMount() {
-      mountedInstances.add(this);
-      emitChange(this);
-    }
-
-    componentDidUpdate() {
-      emitChange(this);
-    }
-
-    componentWillUnmount() {
-      mountedInstances.delete(this);
-      emitChange(this);
-    }
-
-    render() {
-      return null;
-    }
-
-  };
-};
-
-/***/ }),
-
 /***/ "5K7Z":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -404,6 +349,165 @@ var meta = module.exports = {
 
 /***/ }),
 
+/***/ "8Kt/":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Set = __webpack_require__("ttDY");
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importDefault = this && this.__importDefault || function (mod) {
+  return mod && mod.__esModule ? mod : {
+    "default": mod
+  };
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const react_1 = __importDefault(__webpack_require__("q1tI"));
+
+const side_effect_1 = __importDefault(__webpack_require__("Xuae"));
+
+const amp_context_1 = __webpack_require__("lwAK");
+
+const head_manager_context_1 = __webpack_require__("FYa8");
+
+const amp_1 = __webpack_require__("/0+H");
+
+function defaultHead() {
+  let inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
+  const head = [react_1.default.createElement("meta", {
+    key: "charSet",
+    charSet: "utf-8"
+  })];
+
+  if (!inAmpMode) {
+    head.push(react_1.default.createElement("meta", {
+      key: "viewport",
+      name: "viewport",
+      content: "width=device-width,minimum-scale=1,initial-scale=1"
+    }));
+  }
+
+  return head;
+}
+
+exports.defaultHead = defaultHead;
+
+function onlyReactElement(list, child) {
+  // React children can be "string" or "number" in this case we ignore them for backwards compat
+  if (typeof child === 'string' || typeof child === 'number') {
+    return list;
+  } // Adds support for React.Fragment
+
+
+  if (child.type === react_1.default.Fragment) {
+    return list.concat(react_1.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild) => {
+      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
+        return fragmentList;
+      }
+
+      return fragmentList.concat(fragmentChild);
+    }, []));
+  }
+
+  return list.concat(child);
+}
+
+const METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
+/*
+ returns a function for filtering head child elements
+ which shouldn't be duplicated, like <title/>
+ Also adds support for deduplicated `key` properties
+*/
+
+function unique() {
+  const keys = new _Set();
+  const tags = new _Set();
+  const metaTypes = new _Set();
+  const metaCategories = {};
+  return h => {
+    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
+      if (keys.has(h.key)) return false;
+      keys.add(h.key);
+      return true;
+    }
+
+    switch (h.type) {
+      case 'title':
+      case 'base':
+        if (tags.has(h.type)) return false;
+        tags.add(h.type);
+        break;
+
+      case 'meta':
+        for (let i = 0, len = METATYPES.length; i < len; i++) {
+          const metatype = METATYPES[i];
+          if (!h.props.hasOwnProperty(metatype)) continue;
+
+          if (metatype === 'charSet') {
+            if (metaTypes.has(metatype)) return false;
+            metaTypes.add(metatype);
+          } else {
+            const category = h.props[metatype];
+            const categories = metaCategories[metatype] || new _Set();
+            if (categories.has(category)) return false;
+            categories.add(category);
+            metaCategories[metatype] = categories;
+          }
+        }
+
+        break;
+    }
+
+    return true;
+  };
+}
+/**
+ *
+ * @param headElement List of multiple <Head> instances
+ */
+
+
+function reduceComponents(headElements, props) {
+  return headElements.reduce((list, headElement) => {
+    const headElementChildren = react_1.default.Children.toArray(headElement.props.children);
+    return list.concat(headElementChildren);
+  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map((c, i) => {
+    const key = c.key || i;
+    return react_1.default.cloneElement(c, {
+      key
+    });
+  });
+}
+
+const Effect = side_effect_1.default();
+/**
+ * This component injects elements to `<head>` of your page.
+ * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
+ */
+
+function Head(_ref) {
+  let {
+    children
+  } = _ref;
+  return react_1.default.createElement(amp_context_1.AmpStateContext.Consumer, null, ampState => react_1.default.createElement(head_manager_context_1.HeadManagerContext.Consumer, null, updateHead => react_1.default.createElement(Effect, {
+    reduceComponentsToState: reduceComponents,
+    handleStateChange: updateHead,
+    inAmpMode: amp_1.isInAmpMode(ampState)
+  }, children)));
+}
+
+Head.rewind = Effect.rewind;
+exports.default = Head;
+
+/***/ }),
+
 /***/ "8iia":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -512,6 +616,32 @@ module.exports = function (it, Constructor, name, forbiddenField) {
 
 /***/ }),
 
+/***/ "FYa8":
+/***/ (function(module, exports, __webpack_require__) {
+
+"use strict";
+
+
+var _Object$defineProperty = __webpack_require__("hfKm");
+
+var __importStar = this && this.__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;
+};
+
+_Object$defineProperty(exports, "__esModule", {
+  value: true
+});
+
+const React = __importStar(__webpack_require__("q1tI"));
+
+exports.HeadManagerContext = React.createContext(null);
+
+/***/ }),
+
 /***/ "FlQf":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -581,32 +711,6 @@ module.exports = function (it) {
 
 /***/ }),
 
-/***/ "IClC":
-/***/ (function(module, exports, __webpack_require__) {
-
-"use strict";
-
-
-var _Object$defineProperty = __webpack_require__("hfKm");
-
-var __importStar = this && this.__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;
-};
-
-_Object$defineProperty(exports, "__esModule", {
-  value: true
-});
-
-const React = __importStar(__webpack_require__("q1tI"));
-
-exports.HeadManagerContext = React.createContext(null);
-
-/***/ }),
-
 /***/ "JB68":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -911,14 +1015,6 @@ module.exports = function (it) {
 
 /***/ }),
 
-/***/ "PgRs":
-/***/ (function(module, exports, __webpack_require__) {
-
-module.exports = __webpack_require__("m/Pd")
-
-
-/***/ }),
-
 /***/ "QMMT":
 /***/ (function(module, exports, __webpack_require__) {
 
@@ -1340,59 +1436,88 @@ module.exports = {
 
 /***/ }),
 
-/***/ "Wziy":
+/***/ "XJU/":
+/***/ (function(module, exports, __webpack_require__) {
+
+var hide = __webpack_require__("NegM");
+module.exports = function (target, src, safe) {
+  for (var key in src) {
+    if (safe && target[key]) target[key] = src[key];
+    else hide(target, key, src[key]);
+  } return target;
+};
+
+
+/***/ }),
+
+/***/ "Xuae":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Object$defineProperty = __webpack_require__("hfKm");
+var _Set = __webpack_require__("ttDY");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
-};
+var _Object$defineProperty = __webpack_require__("hfKm");
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-const react_1 = __importDefault(__webpack_require__("q1tI"));
+const react_1 = __webpack_require__("q1tI");
 
-const amp_context_1 = __webpack_require__("3JuP");
+const isServer = false;
 
-function isInAmpMode() {
-  let {
-    ampFirst = false,
-    hybrid = false,
-    hasQuery = false
-  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
-  return ampFirst || hybrid && hasQuery;
-}
+exports.default = () => {
+  const mountedInstances = new _Set();
+  let state;
 
-exports.isInAmpMode = isInAmpMode;
+  function emitChange(component) {
+    state = component.props.reduceComponentsToState([...mountedInstances], component.props);
 
-function useAmp() {
-  // Don't assign the context value to a variable to save bytes
-  return isInAmpMode(react_1.default.useContext(amp_context_1.AmpStateContext));
-}
+    if (component.props.handleStateChange) {
+      component.props.handleStateChange(state);
+    }
+  }
 
-exports.useAmp = useAmp;
+  return class extends react_1.Component {
+    // Used when server rendering
+    static rewind() {
+      const recordedState = state;
+      state = undefined;
+      mountedInstances.clear();
+      return recordedState;
+    }
 
-/***/ }),
+    constructor(props) {
+      super(props);
 
-/***/ "XJU/":
-/***/ (function(module, exports, __webpack_require__) {
+      if (isServer) {
+        mountedInstances.add(this);
+        emitChange(this);
+      }
+    }
 
-var hide = __webpack_require__("NegM");
-module.exports = function (target, src, safe) {
-  for (var key in src) {
-    if (safe && target[key]) target[key] = src[key];
-    else hide(target, key, src[key]);
-  } return target;
-};
+    componentDidMount() {
+      mountedInstances.add(this);
+      emitChange(this);
+    }
+
+    componentDidUpdate() {
+      emitChange(this);
+    }
+
+    componentWillUnmount() {
+      mountedInstances.delete(this);
+      emitChange(this);
+    }
 
+    render() {
+      return null;
+    }
+
+  };
+};
 
 /***/ }),
 
@@ -1729,162 +1854,29 @@ module.exports = __webpack_require__("NegM");
 
 /***/ }),
 
-/***/ "m/Pd":
+/***/ "lwAK":
 /***/ (function(module, exports, __webpack_require__) {
 
 "use strict";
 
 
-var _Set = __webpack_require__("ttDY");
-
 var _Object$defineProperty = __webpack_require__("hfKm");
 
-var __importDefault = this && this.__importDefault || function (mod) {
-  return mod && mod.__esModule ? mod : {
-    "default": mod
-  };
+var __importStar = this && this.__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;
 };
 
 _Object$defineProperty(exports, "__esModule", {
   value: true
 });
 
-const react_1 = __importDefault(__webpack_require__("q1tI"));
-
-const side_effect_1 = __importDefault(__webpack_require__("4hZ1"));
-
-const amp_context_1 = __webpack_require__("3JuP");
-
-const head_manager_context_1 = __webpack_require__("IClC");
-
-const amp_1 = __webpack_require__("Wziy");
-
-function defaultHead() {
-  let inAmpMode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
-  const head = [react_1.default.createElement("meta", {
-    key: "charSet",
-    charSet: "utf-8"
-  })];
-
-  if (!inAmpMode) {
-    head.push(react_1.default.createElement("meta", {
-      key: "viewport",
-      name: "viewport",
-      content: "width=device-width,minimum-scale=1,initial-scale=1"
-    }));
-  }
-
-  return head;
-}
-
-exports.defaultHead = defaultHead;
-
-function onlyReactElement(list, child) {
-  // React children can be "string" or "number" in this case we ignore them for backwards compat
-  if (typeof child === 'string' || typeof child === 'number') {
-    return list;
-  } // Adds support for React.Fragment
-
-
-  if (child.type === react_1.default.Fragment) {
-    return list.concat(react_1.default.Children.toArray(child.props.children).reduce((fragmentList, fragmentChild) => {
-      if (typeof fragmentChild === 'string' || typeof fragmentChild === 'number') {
-        return fragmentList;
-      }
-
-      return fragmentList.concat(fragmentChild);
-    }, []));
-  }
-
-  return list.concat(child);
-}
-
-const METATYPES = ['name', 'httpEquiv', 'charSet', 'itemProp'];
-/*
- returns a function for filtering head child elements
- which shouldn't be duplicated, like <title/>
- Also adds support for deduplicated `key` properties
-*/
-
-function unique() {
-  const keys = new _Set();
-  const tags = new _Set();
-  const metaTypes = new _Set();
-  const metaCategories = {};
-  return h => {
-    if (h.key && typeof h.key !== 'number' && h.key.indexOf('.$') === 0) {
-      if (keys.has(h.key)) return false;
-      keys.add(h.key);
-      return true;
-    }
-
-    switch (h.type) {
-      case 'title':
-      case 'base':
-        if (tags.has(h.type)) return false;
-        tags.add(h.type);
-        break;
-
-      case 'meta':
-        for (let i = 0, len = METATYPES.length; i < len; i++) {
-          const metatype = METATYPES[i];
-          if (!h.props.hasOwnProperty(metatype)) continue;
-
-          if (metatype === 'charSet') {
-            if (metaTypes.has(metatype)) return false;
-            metaTypes.add(metatype);
-          } else {
-            const category = h.props[metatype];
-            const categories = metaCategories[metatype] || new _Set();
-            if (categories.has(category)) return false;
-            categories.add(category);
-            metaCategories[metatype] = categories;
-          }
-        }
-
-        break;
-    }
-
-    return true;
-  };
-}
-/**
- *
- * @param headElement List of multiple <Head> instances
- */
-
-
-function reduceComponents(headElements, props) {
-  return headElements.reduce((list, headElement) => {
-    const headElementChildren = react_1.default.Children.toArray(headElement.props.children);
-    return list.concat(headElementChildren);
-  }, []).reduce(onlyReactElement, []).reverse().concat(defaultHead(props.inAmpMode)).filter(unique()).reverse().map((c, i) => {
-    const key = c.key || i;
-    return react_1.default.cloneElement(c, {
-      key
-    });
-  });
-}
-
-const Effect = side_effect_1.default();
-/**
- * This component injects elements to `<head>` of your page.
- * To avoid duplicated `tags` in `<head>` you can use the `key` property, which will make sure every tag is only rendered once.
- */
-
-function Head(_ref) {
-  let {
-    children
-  } = _ref;
-  return react_1.default.createElement(amp_context_1.AmpStateContext.Consumer, null, ampState => react_1.default.createElement(head_manager_context_1.HeadManagerContext.Consumer, null, updateHead => react_1.default.createElement(Effect, {
-    reduceComponentsToState: reduceComponents,
-    handleStateChange: updateHead,
-    inAmpMode: amp_1.isInAmpMode(ampState)
-  }, children)));
-}
+const React = __importStar(__webpack_require__("q1tI"));
 
-Head.rewind = Effect.rewind;
-exports.default = Head;
+exports.AmpStateContext = React.createContext({});
 
 /***/ }),
Diff for hooks.module.js
@@ -133,9 +133,9 @@ module.exports = shouldUseNative() ? Object.assign : function (target, source) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/hooks", function() {
-      var page = __webpack_require__("+MDD")
+      var mod = __webpack_require__("+MDD")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for index.module.js
@@ -18,9 +18,9 @@ Page.getInitialProps = () => ({});
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/", function() {
-      var page = __webpack_require__("RNiq")
+      var mod = __webpack_require__("RNiq")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for link.module.js
@@ -225,9 +225,9 @@ module.exports = function (TYPE, $create) {
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/link", function() {
-      var page = __webpack_require__("ObF3")
+      var mod = __webpack_require__("ObF3")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
   
 
@@ -483,9 +483,9 @@ var _propTypes = _interopRequireDefault(__webpack_require__("17x9"));
 
 var _router = _interopRequireDefault(__webpack_require__("nOHt"));
 
-var _rewriteUrlForExport = __webpack_require__("KA3u");
+var _rewriteUrlForExport = __webpack_require__("P5f7");
 
-var _utils = __webpack_require__("Bu4q");
+var _utils = __webpack_require__("g/15");
 /* global __NEXT_DATA__ */
Diff for routerDirect.module.js
@@ -5,9 +5,9 @@
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/routerDirect", function() {
-      var page = __webpack_require__("jSAA")
+      var mod = __webpack_require__("jSAA")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for withRouter.module.js
@@ -28,9 +28,9 @@ useWithRouter.getInitialProps = () => ({});
 
 
     (window.__NEXT_P=window.__NEXT_P||[]).push(["/withRouter", function() {
-      var page = __webpack_require__("0Hlz")
+      var mod = __webpack_require__("0Hlz")
       if(false) {}
-      return { page: page.default || page }
+      return mod
     }]);
Diff for index.html
@@ -12,11 +12,11 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-bfc245da822f4d93e09f.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.148b9d567c5ec499c554.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -43,19 +43,19 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/runtime/webpack-7928590be3ef2e55b835.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-97617d800ec2b207a20a.js"
+        <script src="/_next/static/runtime/main-aaf2a46cf6229d77a673.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <script src="/_next/static/runtime/main-bfc245da822f4d93e09f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.js"
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/SVLdzYjnGF5myc9A4thIt+JFXQ=.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.8fdf0fc98410dae9bfd2.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.884fe048044e62151ce8.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.148b9d567c5ec499c554.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
Diff for link.html
@@ -14,9 +14,9 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.148b9d567c5ec499c554.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-bfc245da822f4d93e09f.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -50,15 +50,15 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/SVLdzYjnGF5myc9A4thIt+JFXQ=.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.8fdf0fc98410dae9bfd2.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.884fe048044e62151ce8.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.148b9d567c5ec499c554.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-97617d800ec2b207a20a.js"
+        <script src="/_next/static/runtime/main-aaf2a46cf6229d77a673.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <script src="/_next/static/runtime/main-bfc245da822f4d93e09f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>
Diff for withRouter.html
@@ -14,9 +14,9 @@
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <link rel="preload" href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.148b9d567c5ec499c554.module.js"
         as="script" crossorigin="anonymous" />
-        <link rel="preload" href="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <link rel="preload" href="/_next/static/runtime/main-bfc245da822f4d93e09f.module.js"
         as="script" crossorigin="anonymous" />
         <link rel="preload" href="/_next/static/BUILD_ID/_buildManifest.module.js"
         as="script" crossorigin="anonymous" />
@@ -48,15 +48,15 @@
         async="" crossorigin="anonymous" nomodule=""></script>
         <script src="/_next/static/chunks/framework.cdb73e402d876d4ac87f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/chunks/SVLdzYjnGF5myc9A4thIt+JFXQ=.155621535702fe040780.js"
+        <script src="/_next/static/chunks/4952ddcd88e7185e66c9cf40e2d848b7e27f1574.155621535702fe040780.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.8fdf0fc98410dae9bfd2.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.884fe048044e62151ce8.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/chunks/3gA8Op0wh1CqAJhwpZJvmxirMfQ=.72ab6ea1ebeafbd8c735.module.js"
+        <script src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.148b9d567c5ec499c554.module.js"
         async="" crossorigin="anonymous" type="module"></script>
-        <script src="/_next/static/runtime/main-97617d800ec2b207a20a.js"
+        <script src="/_next/static/runtime/main-aaf2a46cf6229d77a673.js"
         async="" crossorigin="anonymous" nomodule=""></script>
-        <script src="/_next/static/runtime/main-9c0b8b62a2fb27af35b2.module.js"
+        <script src="/_next/static/runtime/main-bfc245da822f4d93e09f.module.js"
         async="" crossorigin="anonymous" type="module"></script>
         <script src="/_next/static/BUILD_ID/_buildManifest.js" async=""
         crossorigin="anonymous" nomodule=""></script>

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
buildDuration 15.4s 15.7s ⚠️ +233ms
nodeModulesSize 41.5 MB 42 MB ⚠️ +519 kB
Client Bundles (main, webpack, commons) Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
main-HASH.js 18.1 kB 18.2 kB ⚠️ +104 B
main-HASH.js gzip 6.64 kB 6.66 kB ⚠️ +17 B
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
3gA8Op0wh1Cq..f91025da7.js 43 kB N/A N/A
3gA8Op0wh1Cq..5da7.js gzip 15.4 kB N/A N/A
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
SVLdzYjnGF5m..2b8407376.js 21.9 kB N/A N/A
SVLdzYjnGF5m..7376.js gzip 7.81 kB N/A N/A
4952ddcd88e7..2b8407376.js N/A 21.9 kB N/A
4952ddcd88e7..7376.js gzip N/A 7.81 kB N/A
de003c3a9d30..1c5d17695.js N/A 43.1 kB N/A
de003c3a9d30..7695.js gzip N/A 15.4 kB N/A
Overall change 210 kB 210 kB ⚠️ +104 B
Client Bundles (main, webpack, commons) Modern Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
main-HASH.module.js 16.5 kB 16.6 kB ⚠️ +96 B
main-HASH.module.js gzip 6.37 kB 6.4 kB ⚠️ +29 B
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
3gA8Op0wh1Cq..ed.module.js 45.4 kB N/A N/A
3gA8Op0wh1Cq..dule.js gzip 16.4 kB N/A N/A
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
de003c3a9d30..5f.module.js N/A 45.5 kB N/A
de003c3a9d30..dule.js gzip N/A 16.5 kB N/A
Overall change 189 kB 189 kB ⚠️ +96 B
Client Pages Overall decrease ✓
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_app.js 1.83 kB 1.81 kB -25 B
_app.js gzip 884 B 873 B -11 B
_error.js 12.1 kB 12 kB -69 B
_error.js gzip 4.76 kB 4.73 kB -27 B
hooks.js 12.7 kB 12.7 kB -25 B
hooks.js gzip 4.81 kB 4.79 kB -16 B
index.js 343 B 318 B -25 B
index.js gzip 237 B 222 B -15 B
link.js 8.14 kB 8.11 kB -25 B
link.js gzip 3.49 kB 3.48 kB -16 B
routerDirect.js 433 B 408 B -25 B
routerDirect.js gzip 296 B 281 B -15 B
withRouter.js 444 B 419 B -25 B
withRouter.js gzip 294 B 280 B -14 B
Overall change 36 kB 35.8 kB -219 B
Client Pages Modern Overall decrease ✓
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_app.module.js 1.73 kB 1.7 kB -25 B
_app.module.js gzip 840 B 832 B -8 B
_error.module.js 23.3 kB 23.3 kB -69 B
_error.module.js gzip 8.62 kB 8.59 kB -31 B
hooks.module.js 1.55 kB 1.52 kB -25 B
hooks.module.js gzip 804 B 793 B -11 B
index.module.js 319 B 294 B -25 B
index.module.js gzip 238 B 223 B -15 B
link.module.js 8.52 kB 8.5 kB -25 B
link.module.js gzip 3.68 kB 3.66 kB -15 B
routerDirect.module.js 419 B 394 B -25 B
routerDirect..dule.js gzip 294 B 281 B -13 B
withRouter.module.js 429 B 404 B -25 B
withRouter.m..dule.js gzip 293 B 278 B -15 B
Overall change 36.3 kB 36.1 kB -219 B
Client Build Manifests
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary zeit/next.js refs/tags/v9.0.6-canary.4 Change
_error.js 247 kB 248 kB ⚠️ +264 B
_error.js gzip 66.4 kB 66.2 kB -230 B
hooks.html 3.68 kB 3.73 kB ⚠️ +49 B
hooks.html gzip 969 B 971 B ⚠️ +2 B
index.js 248 kB 248 kB ⚠️ +224 B
index.js gzip 66.5 kB 66.5 kB -42 B
link.js 255 kB 255 kB ⚠️ +224 B
link.js gzip 68.8 kB 68.5 kB -314 B
routerDirect.js 248 kB 249 kB ⚠️ +224 B
routerDirect.js gzip 66.6 kB 66.5 kB -97 B
withRouter.js 248 kB 249 kB ⚠️ +224 B
withRouter.js gzip 66.6 kB 66.6 kB
Overall change 1.25 MB 1.25 MB ⚠️ +1.21 kB

Please sign in to comment.