{"ast":null,"code":"\"use strict\";\n\nvar _regeneratorRuntime = require(\"@babel/runtime/regenerator\");\n\nvar _classCallCheck = require(\"@babel/runtime/helpers/classCallCheck\");\n\nvar _createClass = require(\"@babel/runtime/helpers/createClass\");\n\nvar _possibleConstructorReturn = require(\"@babel/runtime/helpers/possibleConstructorReturn\");\n\nvar _getPrototypeOf = require(\"@babel/runtime/helpers/getPrototypeOf\");\n\nvar _inherits = require(\"@babel/runtime/helpers/inherits\");\n\nvar _slicedToArray = require(\"@babel/runtime/helpers/slicedToArray\");\n\nfunction _createSuper(Derived) { return function () { var Super = _getPrototypeOf(Derived), result; if (_isNativeReflectConstruct()) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nvar _interopRequireWildcard3 = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.render = render;\nexports.renderError = renderError;\nexports[\"default\"] = exports.emitter = exports.router = exports.version = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _interopRequireWildcard2 = _interopRequireDefault(require(\"@babel/runtime/helpers/interopRequireWildcard\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _reactDom = _interopRequireDefault(require(\"react-dom\"));\n\nvar _headManager = _interopRequireDefault(require(\"./head-manager\"));\n\nvar _router = require(\"next/router\");\n\nvar _mitt = _interopRequireDefault(require(\"../next-server/lib/mitt\"));\n\nvar _utils = require(\"../next-server/lib/utils\");\n\nvar _pageLoader = _interopRequireDefault(require(\"./page-loader\"));\n\nvar envConfig = _interopRequireWildcard3(require(\"../next-server/lib/runtime-config\"));\n\nvar _headManagerContext = require(\"../next-server/lib/head-manager-context\");\n\nvar _routerContext = require(\"../next-server/lib/router-context\");\n\nvar _querystring = require(\"querystring\");\n\nvar _isDynamic = require(\"../next-server/lib/router/utils/is-dynamic\");\n\nvar _performanceRelayer = require(\"./performance-relayer\");\n/* global location */\n\n\nif (!('finally' in Promise.prototype)) {\n  // eslint-disable-next-line no-extend-native\n  Promise.prototype[\"finally\"] = require('finally-polyfill');\n}\n\nvar data = JSON.parse(document.getElementById('__NEXT_DATA__').textContent);\nwindow.__NEXT_DATA__ = data;\nvar version = \"9.3.1\";\nexports.version = version;\nvar props = data.props,\n    err = data.err,\n    page = data.page,\n    query = data.query,\n    buildId = data.buildId,\n    assetPrefix = data.assetPrefix,\n    runtimeConfig = data.runtimeConfig,\n    dynamicIds = data.dynamicIds,\n    isFallback = data.isFallback;\nvar prefix = assetPrefix || ''; // With dynamic assetPrefix it's no longer possible to set assetPrefix at the build time\n// So, this is how we do it in the client side at runtime\n\n__webpack_public_path__ = prefix + \"/_next/\"; //eslint-disable-line\n// Initialize next/config with the environment configuration\n\nenvConfig.setConfig({\n  serverRuntimeConfig: {},\n  publicRuntimeConfig: runtimeConfig || {}\n});\nvar asPath = (0, _utils.getURL)();\nvar pageLoader = new _pageLoader[\"default\"](buildId, prefix);\n\nvar register = function register(_ref) {\n  var _ref2 = _slicedToArray(_ref, 2),\n      r = _ref2[0],\n      f = _ref2[1];\n\n  return pageLoader.registerPage(r, f);\n};\n\nif (window.__NEXT_P) {\n  window.__NEXT_P.map(register);\n}\n\nwindow.__NEXT_P = [];\nwindow.__NEXT_P.push = register;\nvar updateHead = (0, _headManager[\"default\"])();\nvar appElement = document.getElementById('__next');\nvar lastAppProps;\nvar webpackHMR;\nvar router;\nexports.router = router;\nvar ErrorComponent;\nvar Component;\nvar App, onPerfEntry;\n\nvar Container = /*#__PURE__*/function (_react$default$Compon) {\n  _inherits(Container, _react$default$Compon);\n\n  var _super = _createSuper(Container);\n\n  function Container() {\n    _classCallCheck(this, Container);\n\n    return _super.apply(this, arguments);\n  }\n\n  _createClass(Container, [{\n    key: \"componentDidCatch\",\n    value: function componentDidCatch(err, info) {\n      this.props.fn(err, info);\n    }\n  }, {\n    key: \"componentDidMount\",\n    value: function componentDidMount() {\n      this.scrollToHash();\n\n      if (process.env.__NEXT_PLUGINS) {\n        // eslint-disable-next-line\n        Promise.resolve().then(function () {\n          return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=unstable-post-hydration!'));\n        }).then(function (mod) {\n          return mod[\"default\"]();\n        })[\"catch\"](function (err) {\n          console.error('Error calling post-hydration for plugins', err);\n        });\n      } // We need to replace the router state if:\n      // - the page was (auto) exported and has a query string or search (hash)\n      // - it was auto exported and is a dynamic route (to provide params)\n      // - if it is a client-side skeleton (fallback render)\n\n\n      if (router.isSsr && (isFallback || data.nextExport && ((0, _isDynamic.isDynamicRoute)(router.pathname) || location.search) || props.__N_SSG && location.search)) {\n        // update query on mount for exported pages\n        router.replace(router.pathname + '?' + (0, _querystring.stringify)((0, _extends2[\"default\"])({}, router.query, {}, (0, _querystring.parse)(location.search.substr(1)))), asPath, {\n          // WARNING: `_h` is an internal option for handing Next.js\n          // client-side hydration. Your app should _never_ use this property.\n          // It may change at any time without notice.\n          _h: 1,\n          // Fallback pages must trigger the data fetch, so the transition is\n          // not shallow.\n          // Other pages (strictly updating query) happens shallowly, as data\n          // requirements would already be present.\n          shallow: !isFallback\n        });\n      }\n\n      if (process.env.__NEXT_TEST_MODE) {\n        window.__NEXT_HYDRATED = true;\n\n        if (window.__NEXT_HYDRATED_CB) {\n          window.__NEXT_HYDRATED_CB();\n        }\n      }\n    }\n  }, {\n    key: \"componentDidUpdate\",\n    value: function componentDidUpdate() {\n      this.scrollToHash();\n    }\n  }, {\n    key: \"scrollToHash\",\n    value: function scrollToHash() {\n      var _location = location,\n          hash = _location.hash;\n      hash = hash && hash.substring(1);\n      if (!hash) return;\n      var el = document.getElementById(hash);\n      if (!el) return; // If we call scrollIntoView() in here without a setTimeout\n      // it won't scroll properly.\n\n      setTimeout(function () {\n        return el.scrollIntoView();\n      }, 0);\n    }\n  }, {\n    key: \"render\",\n    value: function render() {\n      return this.props.children;\n    }\n  }]);\n\n  return Container;\n}(_react[\"default\"].Component);\n\nvar emitter = (0, _mitt[\"default\"])();\nexports.emitter = emitter;\n\nvar _default = function _default(_temp) {\n  var _ref, passedWebpackHMR, _await$pageLoader$loa, app, mod, initialErr, _await$pageLoader$loa2, _require, isValidElementType, renderCtx;\n\n  return _regeneratorRuntime.async(function _default$(_context) {\n    while (1) {\n      switch (_context.prev = _context.next) {\n        case 0:\n          _ref = _temp === void 0 ? {} : _temp, passedWebpackHMR = _ref.webpackHMR; // This makes sure this specific lines are removed in production\n\n          if (false) {\n            webpackHMR = passedWebpackHMR;\n          }\n\n          _context.next = 4;\n          return _regeneratorRuntime.awrap(pageLoader.loadPageScript('/_app'));\n\n        case 4:\n          _await$pageLoader$loa = _context.sent;\n          app = _await$pageLoader$loa.page;\n          mod = _await$pageLoader$loa.mod;\n          App = app;\n\n          if (mod && mod.unstable_onPerformanceData) {\n            onPerfEntry = function onPerfEntry(_ref2) {\n              var name = _ref2.name,\n                  startTime = _ref2.startTime,\n                  value = _ref2.value,\n                  duration = _ref2.duration,\n                  entryType = _ref2.entryType;\n              mod.unstable_onPerformanceData({\n                name: name,\n                startTime: startTime,\n                value: value,\n                duration: duration,\n                entryType: entryType\n              });\n            };\n          }\n\n          initialErr = err;\n          _context.prev = 10;\n          ;\n          _context.next = 14;\n          return _regeneratorRuntime.awrap(pageLoader.loadPage(page));\n\n        case 14:\n          _await$pageLoader$loa2 = _context.sent;\n          Component = _await$pageLoader$loa2.page;\n\n          if (!false) {\n            _context.next = 20;\n            break;\n          }\n\n          _require = require('react-is'), isValidElementType = _require.isValidElementType;\n\n          if (isValidElementType(Component)) {\n            _context.next = 20;\n            break;\n          }\n\n          throw new Error(\"The default export is not a React Component in page: \\\"\" + page + \"\\\"\");\n\n        case 20:\n          _context.next = 25;\n          break;\n\n        case 22:\n          _context.prev = 22;\n          _context.t0 = _context[\"catch\"](10);\n          // This catches errors like throwing in the top level of a module\n          initialErr = _context.t0;\n\n        case 25:\n          if (!window.__NEXT_PRELOADREADY) {\n            _context.next = 28;\n            break;\n          }\n\n          _context.next = 28;\n          return _regeneratorRuntime.awrap(window.__NEXT_PRELOADREADY(dynamicIds));\n\n        case 28:\n          exports.router = router = (0, _router.createRouter)(page, query, asPath, {\n            initialProps: props,\n            pageLoader: pageLoader,\n            App: App,\n            Component: Component,\n            wrapApp: wrapApp,\n            err: initialErr,\n            isFallback: isFallback,\n            subscription: function subscription(_ref3, App) {\n              var Component = _ref3.Component,\n                  props = _ref3.props,\n                  err = _ref3.err;\n              render({\n                App: App,\n                Component: Component,\n                props: props,\n                err: err\n              });\n            }\n          }); // call init-client middleware\n\n          if (process.env.__NEXT_PLUGINS) {\n            // eslint-disable-next-line\n            Promise.resolve().then(function () {\n              return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-init-client!'));\n            }).then(function (mod) {\n              return mod[\"default\"]({\n                router: router\n              });\n            })[\"catch\"](function (err) {\n              console.error('Error calling client-init for plugins', err);\n            });\n          }\n\n          renderCtx = {\n            App: App,\n            Component: Component,\n            props: props,\n            err: initialErr\n          };\n\n          if (!true) {\n            _context.next = 34;\n            break;\n          }\n\n          render(renderCtx);\n          return _context.abrupt(\"return\", emitter);\n\n        case 34:\n          if (!false) {\n            _context.next = 36;\n            break;\n          }\n\n          return _context.abrupt(\"return\", {\n            emitter: emitter,\n            render: render,\n            renderCtx: renderCtx\n          });\n\n        case 36:\n        case \"end\":\n          return _context.stop();\n      }\n    }\n  }, null, null, [[10, 22]], Promise);\n};\n\nexports[\"default\"] = _default;\n\nfunction render(props) {\n  return _regeneratorRuntime.async(function render$(_context2) {\n    while (1) {\n      switch (_context2.prev = _context2.next) {\n        case 0:\n          if (!props.err) {\n            _context2.next = 4;\n            break;\n          }\n\n          _context2.next = 3;\n          return _regeneratorRuntime.awrap(renderError(props));\n\n        case 3:\n          return _context2.abrupt(\"return\");\n\n        case 4:\n          _context2.prev = 4;\n          _context2.next = 7;\n          return _regeneratorRuntime.awrap(doRender(props));\n\n        case 7:\n          _context2.next = 13;\n          break;\n\n        case 9:\n          _context2.prev = 9;\n          _context2.t0 = _context2[\"catch\"](4);\n          _context2.next = 13;\n          return _regeneratorRuntime.awrap(renderError((0, _extends2[\"default\"])({}, props, {\n            err: _context2.t0\n          })));\n\n        case 13:\n        case \"end\":\n          return _context2.stop();\n      }\n    }\n  }, null, null, [[4, 9]], Promise);\n} // This method handles all runtime and debug errors.\n// 404 and 500 errors are special kind of errors\n// and they are still handle via the main render method.\n\n\nfunction renderError(props) {\n  var App, err, _await$pageLoader$loa3, AppTree, appCtx, initProps;\n\n  return _regeneratorRuntime.async(function renderError$(_context3) {\n    while (1) {\n      switch (_context3.prev = _context3.next) {\n        case 0:\n          App = props.App, err = props.err; // In development runtime errors are caught by react-error-overlay\n          // In production we catch runtime errors using componentDidCatch which will trigger renderError\n\n          if (!false) {\n            _context3.next = 3;\n            break;\n          }\n\n          return _context3.abrupt(\"return\", webpackHMR.reportRuntimeError(webpackHMR.prepareError(err)));\n\n        case 3:\n          if (process.env.__NEXT_PLUGINS) {\n            // eslint-disable-next-line\n            Promise.resolve().then(function () {\n              return (0, _interopRequireWildcard2[\"default\"])(require('next-plugin-loader?middleware=on-error-client!'));\n            }).then(function (mod) {\n              return mod[\"default\"]({\n                err: err\n              });\n            })[\"catch\"](function (err) {\n              console.error('error calling on-error-client for plugins', err);\n            });\n          } // Make sure we log the error to the console, otherwise users can't track down issues.\n\n\n          console.error(err);\n          _context3.next = 7;\n          return _regeneratorRuntime.awrap(pageLoader.loadPage('/_error'));\n\n        case 7:\n          _await$pageLoader$loa3 = _context3.sent;\n          ErrorComponent = _await$pageLoader$loa3.page;\n          // In production we do a normal render with the `ErrorComponent` as component.\n          // If we've gotten here upon initial render, we can use the props from the server.\n          // Otherwise, we need to call `getInitialProps` on `App` before mounting.\n          AppTree = wrapApp(App);\n          appCtx = {\n            Component: ErrorComponent,\n            AppTree: AppTree,\n            router: router,\n            ctx: {\n              err: err,\n              pathname: page,\n              query: query,\n              asPath: asPath,\n              AppTree: AppTree\n            }\n          };\n\n          if (!props.props) {\n            _context3.next = 15;\n            break;\n          }\n\n          _context3.t0 = props.props;\n          _context3.next = 18;\n          break;\n\n        case 15:\n          _context3.next = 17;\n          return _regeneratorRuntime.awrap((0, _utils.loadGetInitialProps)(App, appCtx));\n\n        case 17:\n          _context3.t0 = _context3.sent;\n\n        case 18:\n          initProps = _context3.t0;\n          _context3.next = 21;\n          return _regeneratorRuntime.awrap(doRender((0, _extends2[\"default\"])({}, props, {\n            err: err,\n            Component: ErrorComponent,\n            props: initProps\n          })));\n\n        case 21:\n        case \"end\":\n          return _context3.stop();\n      }\n    }\n  }, null, null, null, Promise);\n} // If hydrate does not exist, eg in preact.\n\n\nvar isInitialRender = typeof _reactDom[\"default\"].hydrate === 'function';\nvar reactRoot = null;\n\nfunction renderReactElement(reactEl, domEl) {\n  if (process.env.__NEXT_REACT_MODE !== 'legacy') {\n    if (!reactRoot) {\n      var opts = {\n        hydrate: true\n      };\n      reactRoot = process.env.__NEXT_REACT_MODE === 'concurrent' ? _reactDom[\"default\"].createRoot(domEl, opts) : _reactDom[\"default\"].createBlockingRoot(domEl, opts);\n    }\n\n    reactRoot.render(reactEl);\n  } else {\n    // mark start of hydrate/render\n    if (_utils.ST) {\n      performance.mark('beforeRender');\n    } // The check for `.hydrate` is there to support React alternatives like preact\n\n\n    if (isInitialRender) {\n      _reactDom[\"default\"].hydrate(reactEl, domEl, markHydrateComplete);\n\n      isInitialRender = false;\n    } else {\n      _reactDom[\"default\"].render(reactEl, domEl, markRenderComplete);\n    }\n  }\n\n  if (onPerfEntry && _utils.ST) {\n    try {\n      (0, _performanceRelayer.observeLayoutShift)(onPerfEntry);\n      (0, _performanceRelayer.observeLargestContentfulPaint)(onPerfEntry);\n      (0, _performanceRelayer.observePaint)(onPerfEntry);\n    } catch (e) {\n      window.addEventListener('load', function () {\n        performance.getEntriesByType('paint').forEach(onPerfEntry);\n      });\n    }\n  }\n}\n\nfunction markHydrateComplete() {\n  if (!_utils.ST) return;\n  performance.mark('afterHydrate'); // mark end of hydration\n\n  performance.measure('Next.js-before-hydration', 'navigationStart', 'beforeRender');\n  performance.measure('Next.js-hydration', 'beforeRender', 'afterHydrate');\n\n  if (onPerfEntry) {\n    performance.getEntriesByName('Next.js-hydration').forEach(onPerfEntry);\n    performance.getEntriesByName('beforeRender').forEach(onPerfEntry);\n  }\n\n  clearMarks();\n}\n\nfunction markRenderComplete() {\n  if (!_utils.ST) return;\n  performance.mark('afterRender'); // mark end of render\n\n  var navStartEntries = performance.getEntriesByName('routeChange', 'mark');\n\n  if (!navStartEntries.length) {\n    return;\n  }\n\n  performance.measure('Next.js-route-change-to-render', navStartEntries[0].name, 'beforeRender');\n  performance.measure('Next.js-render', 'beforeRender', 'afterRender');\n\n  if (onPerfEntry) {\n    performance.getEntriesByName('Next.js-render').forEach(onPerfEntry);\n    performance.getEntriesByName('Next.js-route-change-to-render').forEach(onPerfEntry);\n  }\n\n  clearMarks();\n}\n\nfunction clearMarks() {\n  ;\n  ['beforeRender', 'afterHydrate', 'afterRender', 'routeChange'].forEach(function (mark) {\n    return performance.clearMarks(mark);\n  });\n  ['Next.js-before-hydration', 'Next.js-hydration', 'Next.js-route-change-to-render', 'Next.js-render'].forEach(function (measure) {\n    return performance.clearMeasures(measure);\n  });\n}\n\nfunction AppContainer(_ref4) {\n  var children = _ref4.children;\n  return _react[\"default\"].createElement(Container, {\n    fn: function fn(error) {\n      return renderError({\n        App: App,\n        err: error\n      })[\"catch\"](function (err) {\n        return console.error('Error rendering page: ', err);\n      });\n    }\n  }, _react[\"default\"].createElement(_routerContext.RouterContext.Provider, {\n    value: (0, _router.makePublicRouterInstance)(router)\n  }, _react[\"default\"].createElement(_headManagerContext.HeadManagerContext.Provider, {\n    value: updateHead\n  }, children)));\n}\n\nvar wrapApp = function wrapApp(App) {\n  return function (props) {\n    var appProps = (0, _extends2[\"default\"])({}, props, {\n      Component: Component,\n      err: err,\n      router: router\n    });\n    return _react[\"default\"].createElement(AppContainer, null, _react[\"default\"].createElement(App, appProps));\n  };\n};\n\nfunction doRender(_ref5) {\n  var App, Component, props, err, _router2, pathname, _query, _asPath, AppTree, appCtx, appProps, elem;\n\n  return _regeneratorRuntime.async(function doRender$(_context4) {\n    while (1) {\n      switch (_context4.prev = _context4.next) {\n        case 0:\n          App = _ref5.App, Component = _ref5.Component, props = _ref5.props, err = _ref5.err; // Usual getInitialProps fetching is handled in next/router\n          // this is for when ErrorComponent gets replaced by Component by HMR\n\n          if (!(!props && Component && Component !== ErrorComponent && lastAppProps.Component === ErrorComponent)) {\n            _context4.next = 8;\n            break;\n          }\n\n          _router2 = router, pathname = _router2.pathname, _query = _router2.query, _asPath = _router2.asPath;\n          AppTree = wrapApp(App);\n          appCtx = {\n            router: router,\n            AppTree: AppTree,\n            Component: ErrorComponent,\n            ctx: {\n              err: err,\n              pathname: pathname,\n              query: _query,\n              asPath: _asPath,\n              AppTree: AppTree\n            }\n          };\n          _context4.next = 7;\n          return _regeneratorRuntime.awrap((0, _utils.loadGetInitialProps)(App, appCtx));\n\n        case 7:\n          props = _context4.sent;\n\n        case 8:\n          Component = Component || lastAppProps.Component;\n          props = props || lastAppProps.props;\n          appProps = (0, _extends2[\"default\"])({}, props, {\n            Component: Component,\n            err: err,\n            router: router\n          }); // lastAppProps has to be set before ReactDom.render to account for ReactDom throwing an error.\n\n          lastAppProps = appProps;\n          emitter.emit('before-reactdom-render', {\n            Component: Component,\n            ErrorComponent: ErrorComponent,\n            appProps: appProps\n          });\n          elem = _react[\"default\"].createElement(AppContainer, null, _react[\"default\"].createElement(App, appProps)); // We catch runtime errors using componentDidCatch which will trigger renderError\n\n          renderReactElement(process.env.__NEXT_STRICT_MODE ? _react[\"default\"].createElement(_react[\"default\"].StrictMode, null, elem) : elem, appElement);\n          emitter.emit('after-reactdom-render', {\n            Component: Component,\n            ErrorComponent: ErrorComponent,\n            appProps: appProps\n          });\n\n        case 16:\n        case \"end\":\n          return _context4.stop();\n      }\n    }\n  }, null, null, null, Promise);\n}","map":null,"metadata":{},"sourceType":"script"}