@anansi/core 0.20.15 → 0.20.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -55,9 +55,8 @@ export default async function serve(entrypoint, options = {}) {
55
55
  // ASSETS
56
56
  if (options.serveAssets) {
57
57
  wrappingApp.use(async (req, res, next) => {
58
- var _req$url$substring, _req$url, _clientManifest$outpu;
59
- const filename = (_req$url$substring = (_req$url = req.url) == null ? void 0 : _req$url.substring(process.env.WEBPACK_PUBLIC_PATH.length)) != null ? _req$url$substring : '';
60
- const assetPath = path.join((_clientManifest$outpu = clientManifest.outputPath) != null ? _clientManifest$outpu : '', filename);
58
+ const filename = req.url?.substring(process.env.WEBPACK_PUBLIC_PATH.length) ?? '';
59
+ const assetPath = path.join(clientManifest.outputPath ?? '', filename);
61
60
  if (diskFs.existsSync(assetPath) && !diskFs.lstatSync(assetPath).isDirectory()) {
62
61
  try {
63
62
  res.sendFile(assetPath);
@@ -72,13 +71,11 @@ export default async function serve(entrypoint, options = {}) {
72
71
 
73
72
  // PROXIES
74
73
  if (options.serveProxy) {
75
- var _devConfig$devServer;
76
74
  const devConfig = webpackConfig({}, {
77
75
  mode: 'development'
78
76
  });
79
- if ((_devConfig$devServer = devConfig.devServer) != null && _devConfig$devServer.proxy) {
80
- var _devConfig$devServer2;
81
- const middlewares = getProxyMiddlewares((_devConfig$devServer2 = devConfig.devServer) == null ? void 0 : _devConfig$devServer2.proxy);
77
+ if (devConfig.devServer?.proxy) {
78
+ const middlewares = getProxyMiddlewares(devConfig.devServer?.proxy);
82
79
  if (middlewares) {
83
80
  wrappingApp.use(...middlewares.map(({
84
81
  middleware
@@ -140,21 +137,19 @@ export default async function serve(entrypoint, options = {}) {
140
137
  }
141
138
  await initializeApp(manifest);
142
139
  process.on('SIGINT', () => {
143
- var _server;
144
140
  loader.warn('Received SIGINT, devserver shutting down');
145
141
  if (server) console.log('Closing server');
146
- (_server = server) == null || _server.close(() => {
142
+ server?.close(() => {
147
143
  loader.info('Server closed');
148
144
  });
149
145
  process.exit(-1);
150
146
  });
151
147
  }
152
148
  function getManifestPathFromWebpackconfig(webpackConfig) {
153
- var _opts$filename, _webpackConfig$plugin, _webpackConfig$output, _webpackConfig$output2;
154
- const manifestFilename = (_opts$filename = webpackConfig == null || (_webpackConfig$plugin = webpackConfig.plugins) == null || (_webpackConfig$plugin = _webpackConfig$plugin.find(plugin => {
155
- return (plugin == null ? void 0 : plugin.constructor.name) === 'StatsWriterPlugin';
156
- })) == null || (_webpackConfig$plugin = _webpackConfig$plugin.opts) == null ? void 0 : _webpackConfig$plugin.filename) != null ? _opts$filename : 'manifest.json';
157
- const manifestPath = path.join((_webpackConfig$output = webpackConfig == null || (_webpackConfig$output2 = webpackConfig.output) == null ? void 0 : _webpackConfig$output2.path) != null ? _webpackConfig$output : '', manifestFilename);
149
+ const manifestFilename = webpackConfig?.plugins?.find(plugin => {
150
+ return plugin?.constructor.name === 'StatsWriterPlugin';
151
+ })?.opts?.filename ?? 'manifest.json';
152
+ const manifestPath = path.join(webpackConfig?.output?.path ?? '', manifestFilename);
158
153
  return manifestPath;
159
154
  }
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNvbXByZXNzIiwiZXhwcmVzcyIsImRpc2tGcyIsIm9yYSIsInBhdGgiLCJwcm9taXNpZnkiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInNlcnZlIiwib3B0aW9ucyIsIlBPUlQiLCJlbnYiLCJsb2FkZXIiLCJzdGFydCIsIndlYnBhY2tDb25maWciLCJtYW5pZmVzdFBhdGgiLCJnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyIsIm1vZGUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhhbmRsZUVycm9ycyIsImZuIiwicmVxIiwicmVzIiwibmV4dCIsIngiLCJpbml0aWFsaXplQXBwIiwiY2xpZW50TWFuaWZlc3QiLCJpbmZvIiwiZmFpbCIsIndyYXBwaW5nQXBwIiwidXNlIiwic2VydmVBc3NldHMiLCJfcmVxJHVybCRzdWJzdHJpbmciLCJfcmVxJHVybCIsIl9jbGllbnRNYW5pZmVzdCRvdXRwdSIsImZpbGVuYW1lIiwidXJsIiwic3Vic3RyaW5nIiwiV0VCUEFDS19QVUJMSUNfUEFUSCIsImxlbmd0aCIsImFzc2V0UGF0aCIsImpvaW4iLCJvdXRwdXRQYXRoIiwiZXhpc3RzU3luYyIsImxzdGF0U3luYyIsImlzRGlyZWN0b3J5Iiwic2VuZEZpbGUiLCJlIiwic2VydmVQcm94eSIsIl9kZXZDb25maWckZGV2U2VydmVyIiwiZGV2Q29uZmlnIiwiZGV2U2VydmVyIiwicHJveHkiLCJfZGV2Q29uZmlnJGRldlNlcnZlcjIiLCJtaWRkbGV3YXJlcyIsIm1hcCIsIm1pZGRsZXdhcmUiLCJyZW5kZXIiLCJjd2QiLCJkZWZhdWx0IiwiRXJyb3IiLCJnZXQiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJlcnJvciIsImxpc3RlbiIsInN5c2NhbGwiLCJpc1BpcGUiLCJwb3J0T3JQaXBlIiwiTnVtYmVyIiwiaXNOYU4iLCJiaW5kIiwiY29kZSIsIm1hbmlmZXN0Iiwid2l0aCIsInR5cGUiLCJfc2VydmVyIiwid2FybiIsImNsb3NlIiwiX29wdHMkZmlsZW5hbWUiLCJfd2VicGFja0NvbmZpZyRwbHVnaW4iLCJfd2VicGFja0NvbmZpZyRvdXRwdXQiLCJfd2VicGFja0NvbmZpZyRvdXRwdXQyIiwibWFuaWZlc3RGaWxlbmFtZSIsInBsdWdpbnMiLCJmaW5kIiwicGx1Z2luIiwiY29uc3RydWN0b3IiLCJuYW1lIiwib3B0cyIsIm91dHB1dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zY3JpcHRzL3NlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCBjb21wcmVzcyBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgZXhwcmVzcywgeyBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBkaXNrRnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2sgZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCBnZXRQcm94eU1pZGRsZXdhcmVzIGZyb20gJy4vZ2V0UHJveHlNaWRkbGV3YXJlcy5qcyc7XG5pbXBvcnQgeyBnZXRXZWJwYWNrQ29uZmlnIH0gZnJvbSAnLi9nZXRXZWJwYWNrQ29uZmlnLmpzJztcbmltcG9ydCB7IFJlbmRlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAoJ21haW4nIGluIGltcG9ydC5tZXRhKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiAke3Byb2Nlc3MuYXJndlswXX0gPHNlcnZlci1lbnRyeXBvaW50PmApO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH1cbiAgc2VydmUoZW50cnlwb2ludCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHNlcnZlKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHsgc2VydmVBc3NldHM/OiBib29sZWFuOyBzZXJ2ZVByb3h5PzogYm9vbGVhbiB9ID0ge30sXG4pIHtcbiAgY29uc3QgUE9SVCA9IHByb2Nlc3MuZW52LlBPUlQgfHwgODA4MDtcblxuICBjb25zdCBsb2FkZXIgPSBvcmEoJ0luaXRpYWxpemluZycpLnN0YXJ0KCk7XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZyA9IGF3YWl0IGdldFdlYnBhY2tDb25maWcoKTtcblxuICBjb25zdCBtYW5pZmVzdFBhdGggPSBnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyhcbiAgICB3ZWJwYWNrQ29uZmlnKHt9LCB7IG1vZGU6ICdwcm9kdWN0aW9uJyB9KSxcbiAgKTtcblxuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeShkaXNrRnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8vIFN0YXJ0IHRoZSBleHByZXNzIHNlcnZlciBhZnRlciB0aGUgZmlyc3QgY29tcGlsYXRpb25cbiAgYXN5bmMgZnVuY3Rpb24gaW5pdGlhbGl6ZUFwcChjbGllbnRNYW5pZmVzdDogd2VicGFjay5TdGF0c0NvbXBpbGF0aW9uKSB7XG4gICAgbG9hZGVyLmluZm8oJ0xhdW5jaGluZyBzZXJ2ZXInKTtcbiAgICBpZiAoIWNsaWVudE1hbmlmZXN0KSB7XG4gICAgICBsb2FkZXIuZmFpbCgnTWFuaWZlc3Qgbm90IGZvdW5kJyk7XG4gICAgICAvLyBUT0RPOiBoYW5kbGUgbW9yZSBncmFjZWZ1bGx5XG4gICAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICAgIH1cblxuICAgIGNvbnN0IHdyYXBwaW5nQXBwID0gZXhwcmVzcygpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vQHRzLWlnbm9yZVxuICAgIHdyYXBwaW5nQXBwLnVzZShjb21wcmVzcygpKTtcblxuICAgIC8vIEFTU0VUU1xuICAgIGlmIChvcHRpb25zLnNlcnZlQXNzZXRzKSB7XG4gICAgICB3cmFwcGluZ0FwcC51c2UoXG4gICAgICAgIGFzeW5jIChcbiAgICAgICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICAgICAgcmVzOiBhbnksXG4gICAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9XG4gICAgICAgICAgICByZXEudXJsPy5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgIChwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRIIGFzIHN0cmluZykubGVuZ3RoLFxuICAgICAgICAgICAgKSA/PyAnJztcbiAgICAgICAgICBjb25zdCBhc3NldFBhdGggPSBwYXRoLmpvaW4oXG4gICAgICAgICAgICBjbGllbnRNYW5pZmVzdC5vdXRwdXRQYXRoID8/ICcnLFxuICAgICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGRpc2tGcy5leGlzdHNTeW5jKGFzc2V0UGF0aCkgJiZcbiAgICAgICAgICAgICFkaXNrRnMubHN0YXRTeW5jKGFzc2V0UGF0aCkuaXNEaXJlY3RvcnkoKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmVzLnNlbmRGaWxlKGFzc2V0UGF0aCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFBST1hJRVNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZVByb3h5KSB7XG4gICAgICBjb25zdCBkZXZDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbiA9IHdlYnBhY2tDb25maWcoXG4gICAgICAgIHt9LFxuICAgICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICAgICk7XG4gICAgICBpZiAoZGV2Q29uZmlnLmRldlNlcnZlcj8ucHJveHkpIHtcbiAgICAgICAgY29uc3QgbWlkZGxld2FyZXMgPSBnZXRQcm94eU1pZGRsZXdhcmVzKGRldkNvbmZpZy5kZXZTZXJ2ZXI/LnByb3h5KTtcbiAgICAgICAgaWYgKG1pZGRsZXdhcmVzKSB7XG4gICAgICAgICAgd3JhcHBpbmdBcHAudXNlKC4uLm1pZGRsZXdhcmVzLm1hcCgoeyBtaWRkbGV3YXJlIH0pID0+IG1pZGRsZXdhcmUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNFUlZFUiBTSURFIFJFTkRFUklOR1xuICAgIGxldCByZW5kZXI6IFJlbmRlciA9IChhd2FpdCBpbXBvcnQocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGVudHJ5cG9pbnQpKSlcbiAgICAgIC5kZWZhdWx0O1xuXG4gICAgaWYgKCdkZWZhdWx0JyBpbiByZW5kZXIpIHtcbiAgICAgIHJlbmRlciA9IHJlbmRlci5kZWZhdWx0IGFzIGFueTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgZGVmYXVsdCBleHBvcnQgb2YgJHtwYXRoLmpvaW4oXG4gICAgICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICApfSBpcyBub3QgYSBmdW5jdGlvbmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHdyYXBwaW5nQXBwLmdldChcbiAgICAgICcvKicsXG4gICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICBpZiAocmVxLnVybC5lbmRzV2l0aCgnZmF2aWNvbi5pY28nKSkge1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICByZXMuc2VuZCgnbm90IGZvdW5kJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zb2NrZXQub24oJ2Vycm9yJywgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmF0YWwnLCBlcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHJlbmRlcihjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMpO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHNlcnZlciA9IHdyYXBwaW5nQXBwXG4gICAgICAubGlzdGVuKFBPUlQsICgpID0+IHtcbiAgICAgICAgbG9hZGVyLmluZm8oYExpc3RlbmluZyBhdCAke1BPUlR9Li4uYCk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zeXNjYWxsICE9PSAnbGlzdGVuJykge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzUGlwZSA9IChwb3J0T3JQaXBlOiBzdHJpbmcgfCBudW1iZXIpID0+XG4gICAgICAgICAgTnVtYmVyLmlzTmFOKHBvcnRPclBpcGUpO1xuICAgICAgICBjb25zdCBiaW5kID0gaXNQaXBlKFBPUlQpID8gJ1BpcGUgJyArIFBPUlQgOiAnUG9ydCAnICsgUE9SVDtcbiAgICAgICAgc3dpdGNoIChlcnJvci5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAnRUFDQ0VTJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIHJlcXVpcmVzIGVsZXZhdGVkIHByaXZpbGVnZXMnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlICdFQUREUklOVVNFJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIGlzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGxldCBtYW5pZmVzdCA9IGF3YWl0IGltcG9ydChtYW5pZmVzdFBhdGgsIHsgd2l0aDogeyB0eXBlOiAnanNvbicgfSB9KTtcbiAgLy8gaGFuZGxlIGluY29uc2lzdGVudCBpbXBvcnQgY29uZGl0aW9uc1xuICBpZiAoJ2RlZmF1bHQnIGluIG1hbmlmZXN0KSB7XG4gICAgbWFuaWZlc3QgPSBtYW5pZmVzdC5kZWZhdWx0O1xuICB9XG4gIGF3YWl0IGluaXRpYWxpemVBcHAobWFuaWZlc3QpO1xuXG4gIHByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHtcbiAgICBsb2FkZXIud2FybignUmVjZWl2ZWQgU0lHSU5ULCBkZXZzZXJ2ZXIgc2h1dHRpbmcgZG93bicpO1xuICAgIGlmIChzZXJ2ZXIpIGNvbnNvbGUubG9nKCdDbG9zaW5nIHNlcnZlcicpO1xuICAgIHNlcnZlcj8uY2xvc2UoKCkgPT4ge1xuICAgICAgbG9hZGVyLmluZm8oJ1NlcnZlciBjbG9zZWQnKTtcbiAgICB9KTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gIHdlYnBhY2tDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbixcbikge1xuICBjb25zdCBtYW5pZmVzdEZpbGVuYW1lOiBzdHJpbmcgPVxuICAgIChcbiAgICAgIHdlYnBhY2tDb25maWc/LnBsdWdpbnM/LmZpbmQocGx1Z2luID0+IHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbj8uY29uc3RydWN0b3IubmFtZSA9PT0gJ1N0YXRzV3JpdGVyUGx1Z2luJztcbiAgICAgIH0pIGFzIGFueVxuICAgICk/Lm9wdHM/LmZpbGVuYW1lID8/ICdtYW5pZmVzdC5qc29uJztcblxuICBjb25zdCBtYW5pZmVzdFBhdGggPSBwYXRoLmpvaW4oXG4gICAgd2VicGFja0NvbmZpZz8ub3V0cHV0Py5wYXRoID8/ICcnLFxuICAgIG1hbmlmZXN0RmlsZW5hbWUsXG4gICk7XG4gIHJldHVybiBtYW5pZmVzdFBhdGg7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0FBLE1BQU0sQ0FBQ0MsTUFBTSxHQUNYRCxNQUFNLENBQUNDLE1BQU0sSUFDYiwwQkFBMkIsU0FBU0EsTUFBTUEsQ0FBQ0MsRUFBRSxFQUFFQyxHQUFHLEVBQUU7RUFDbEQsT0FBT0gsTUFBTSxDQUFDSSxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDSixFQUFFLEVBQUVDLEdBQUcsQ0FBQztBQUN0RCxDQUFDO0FBQ0gsT0FBT0ksUUFBUSxNQUFNLGFBQWE7QUFDbEMsT0FBT0MsT0FBTyxNQUF3QixTQUFTO0FBQy9DLE9BQU9DLE1BQU0sTUFBTSxJQUFJO0FBRXZCLE9BQU9DLEdBQUcsTUFBTSxLQUFLO0FBQ3JCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQ3ZCLFNBQVNDLFNBQVMsUUFBUSxNQUFNO0FBR2hDLE9BQU8sbUNBQW1DO0FBQzFDLE9BQU9DLG1CQUFtQixNQUFNLDBCQUEwQjtBQUMxRCxTQUFTQyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFHeEQ7QUFDQSxJQUFJLE1BQU0sSUFBSUMsTUFBTSxDQUFDQyxJQUFJLEVBQUU7RUFDekIsTUFBTUMsVUFBVSxHQUFHQyxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFFbEMsSUFBSSxDQUFDRixVQUFVLEVBQUU7SUFDZkcsT0FBTyxDQUFDQyxHQUFHLENBQUMsVUFBVUgsT0FBTyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNC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
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNvbXByZXNzIiwiZXhwcmVzcyIsImRpc2tGcyIsIm9yYSIsInBhdGgiLCJwcm9taXNpZnkiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInNlcnZlIiwib3B0aW9ucyIsIlBPUlQiLCJlbnYiLCJsb2FkZXIiLCJzdGFydCIsIndlYnBhY2tDb25maWciLCJtYW5pZmVzdFBhdGgiLCJnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyIsIm1vZGUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhhbmRsZUVycm9ycyIsImZuIiwicmVxIiwicmVzIiwibmV4dCIsIngiLCJpbml0aWFsaXplQXBwIiwiY2xpZW50TWFuaWZlc3QiLCJpbmZvIiwiZmFpbCIsIndyYXBwaW5nQXBwIiwidXNlIiwic2VydmVBc3NldHMiLCJmaWxlbmFtZSIsInVybCIsInN1YnN0cmluZyIsIldFQlBBQ0tfUFVCTElDX1BBVEgiLCJsZW5ndGgiLCJhc3NldFBhdGgiLCJqb2luIiwib3V0cHV0UGF0aCIsImV4aXN0c1N5bmMiLCJsc3RhdFN5bmMiLCJpc0RpcmVjdG9yeSIsInNlbmRGaWxlIiwiZSIsInNlcnZlUHJveHkiLCJkZXZDb25maWciLCJkZXZTZXJ2ZXIiLCJwcm94eSIsIm1pZGRsZXdhcmVzIiwibWFwIiwibWlkZGxld2FyZSIsInJlbmRlciIsImN3ZCIsImRlZmF1bHQiLCJFcnJvciIsImdldCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNlbmQiLCJzb2NrZXQiLCJvbiIsImVycm9yIiwibGlzdGVuIiwic3lzY2FsbCIsImlzUGlwZSIsInBvcnRPclBpcGUiLCJOdW1iZXIiLCJpc05hTiIsImJpbmQiLCJjb2RlIiwibWFuaWZlc3QiLCJ3aXRoIiwidHlwZSIsIndhcm4iLCJjbG9zZSIsIm1hbmlmZXN0RmlsZW5hbWUiLCJwbHVnaW5zIiwiZmluZCIsInBsdWdpbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm9wdHMiLCJvdXRwdXQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9zZXJ2ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgY29tcHJlc3MgZnJvbSAnY29tcHJlc3Npb24nO1xuaW1wb3J0IGV4cHJlc3MsIHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZGlza0ZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IG9yYSBmcm9tICdvcmEnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCB3ZWJwYWNrIGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgJ2Nyb3NzLWZldGNoL2Rpc3Qvbm9kZS1wb2x5ZmlsbC5qcyc7XG5pbXBvcnQgZ2V0UHJveHlNaWRkbGV3YXJlcyBmcm9tICcuL2dldFByb3h5TWlkZGxld2FyZXMuanMnO1xuaW1wb3J0IHsgZ2V0V2VicGFja0NvbmZpZyB9IGZyb20gJy4vZ2V0V2VicGFja0NvbmZpZy5qcyc7XG5pbXBvcnQgeyBSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogJHtwcm9jZXNzLmFyZ3ZbMF19IDxzZXJ2ZXItZW50cnlwb2ludD5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG4gIHNlcnZlKGVudHJ5cG9pbnQpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBzZXJ2ZShcbiAgZW50cnlwb2ludDogc3RyaW5nLFxuICBvcHRpb25zOiB7IHNlcnZlQXNzZXRzPzogYm9vbGVhbjsgc2VydmVQcm94eT86IGJvb2xlYW4gfSA9IHt9LFxuKSB7XG4gIGNvbnN0IFBPUlQgPSBwcm9jZXNzLmVudi5QT1JUIHx8IDgwODA7XG5cbiAgY29uc3QgbG9hZGVyID0gb3JhKCdJbml0aWFsaXppbmcnKS5zdGFydCgpO1xuXG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBhd2FpdCBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gICAgd2VicGFja0NvbmZpZyh7fSwgeyBtb2RlOiAncHJvZHVjdGlvbicgfSksXG4gICk7XG5cbiAgY29uc3QgcmVhZEZpbGUgPSBwcm9taXNpZnkoZGlza0ZzLnJlYWRGaWxlKTtcbiAgbGV0IHNlcnZlcjogU2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgICBGIGV4dGVuZHMgKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICkgPT4gUHJvbWlzZTx2b2lkPixcbiAgPihmbjogRikge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBuZXh0KHgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBTdGFydCB0aGUgZXhwcmVzcyBzZXJ2ZXIgYWZ0ZXIgdGhlIGZpcnN0IGNvbXBpbGF0aW9uXG4gIGFzeW5jIGZ1bmN0aW9uIGluaXRpYWxpemVBcHAoY2xpZW50TWFuaWZlc3Q6IHdlYnBhY2suU3RhdHNDb21waWxhdGlvbikge1xuICAgIGxvYWRlci5pbmZvKCdMYXVuY2hpbmcgc2VydmVyJyk7XG4gICAgaWYgKCFjbGllbnRNYW5pZmVzdCkge1xuICAgICAgbG9hZGVyLmZhaWwoJ01hbmlmZXN0IG5vdCBmb3VuZCcpO1xuICAgICAgLy8gVE9ETzogaGFuZGxlIG1vcmUgZ3JhY2VmdWxseVxuICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICB9XG5cbiAgICBjb25zdCB3cmFwcGluZ0FwcCA9IGV4cHJlc3MoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB3cmFwcGluZ0FwcC51c2UoY29tcHJlc3MoKSk7XG5cbiAgICAvLyBBU1NFVFNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZUFzc2V0cykge1xuICAgICAgd3JhcHBpbmdBcHAudXNlKFxuICAgICAgICBhc3luYyAoXG4gICAgICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgICAgIHJlczogYW55LFxuICAgICAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlsZW5hbWUgPVxuICAgICAgICAgICAgcmVxLnVybD8uc3Vic3RyaW5nKFxuICAgICAgICAgICAgICAocHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCBhcyBzdHJpbmcpLmxlbmd0aCxcbiAgICAgICAgICAgICkgPz8gJyc7XG4gICAgICAgICAgY29uc3QgYXNzZXRQYXRoID0gcGF0aC5qb2luKFxuICAgICAgICAgICAgY2xpZW50TWFuaWZlc3Qub3V0cHV0UGF0aCA/PyAnJyxcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaXNrRnMuZXhpc3RzU3luYyhhc3NldFBhdGgpICYmXG4gICAgICAgICAgICAhZGlza0ZzLmxzdGF0U3luYyhhc3NldFBhdGgpLmlzRGlyZWN0b3J5KClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJlcy5zZW5kRmlsZShhc3NldFBhdGgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBQUk9YSUVTXG4gICAgaWYgKG9wdGlvbnMuc2VydmVQcm94eSkge1xuICAgICAgY29uc3QgZGV2Q29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24gPSB3ZWJwYWNrQ29uZmlnKFxuICAgICAgICB7fSxcbiAgICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnIH0sXG4gICAgICApO1xuICAgICAgaWYgKGRldkNvbmZpZy5kZXZTZXJ2ZXI/LnByb3h5KSB7XG4gICAgICAgIGNvbnN0IG1pZGRsZXdhcmVzID0gZ2V0UHJveHlNaWRkbGV3YXJlcyhkZXZDb25maWcuZGV2U2VydmVyPy5wcm94eSk7XG4gICAgICAgIGlmIChtaWRkbGV3YXJlcykge1xuICAgICAgICAgIHdyYXBwaW5nQXBwLnVzZSguLi5taWRkbGV3YXJlcy5tYXAoKHsgbWlkZGxld2FyZSB9KSA9PiBtaWRkbGV3YXJlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTRVJWRVIgU0lERSBSRU5ERVJJTkdcbiAgICBsZXQgcmVuZGVyOiBSZW5kZXIgPSAoYXdhaXQgaW1wb3J0KHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBlbnRyeXBvaW50KSkpXG4gICAgICAuZGVmYXVsdDtcblxuICAgIGlmICgnZGVmYXVsdCcgaW4gcmVuZGVyKSB7XG4gICAgICByZW5kZXIgPSByZW5kZXIuZGVmYXVsdCBhcyBhbnk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYGRlZmF1bHQgZXhwb3J0IG9mICR7cGF0aC5qb2luKFxuICAgICAgICAgIHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgKX0gaXMgbm90IGEgZnVuY3Rpb25gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB3cmFwcGluZ0FwcC5nZXQoXG4gICAgICAnLyonLFxuICAgICAgaGFuZGxlRXJyb3JzKGFzeW5jIGZ1bmN0aW9uIChyZXE6IGFueSwgcmVzOiBhbnkpIHtcbiAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAndGV4dC9odG1sJyk7XG4gICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhdGFsJywgZXJyb3IpO1xuICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCByZW5kZXIoY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzKTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBzZXJ2ZXIgPSB3cmFwcGluZ0FwcFxuICAgICAgLmxpc3RlbihQT1JULCAoKSA9PiB7XG4gICAgICAgIGxvYWRlci5pbmZvKGBMaXN0ZW5pbmcgYXQgJHtQT1JUfS4uLmApO1xuICAgICAgfSlcbiAgICAgIC5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xuICAgICAgICBpZiAoZXJyb3Iuc3lzY2FsbCAhPT0gJ2xpc3RlbicpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc1BpcGUgPSAocG9ydE9yUGlwZTogc3RyaW5nIHwgbnVtYmVyKSA9PlxuICAgICAgICAgIE51bWJlci5pc05hTihwb3J0T3JQaXBlKTtcbiAgICAgICAgY29uc3QgYmluZCA9IGlzUGlwZShQT1JUKSA/ICdQaXBlICcgKyBQT1JUIDogJ1BvcnQgJyArIFBPUlQ7XG4gICAgICAgIHN3aXRjaCAoZXJyb3IuY29kZSkge1xuICAgICAgICAgIGNhc2UgJ0VBQ0NFUyc6XG4gICAgICAgICAgICBsb2FkZXIuZmFpbChiaW5kICsgJyByZXF1aXJlcyBlbGV2YXRlZCBwcml2aWxlZ2VzJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgY2FzZSAnRUFERFJJTlVTRSc6XG4gICAgICAgICAgICBsb2FkZXIuZmFpbChiaW5kICsgJyBpcyBhbHJlYWR5IGluIHVzZScpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBsZXQgbWFuaWZlc3QgPSBhd2FpdCBpbXBvcnQobWFuaWZlc3RQYXRoLCB7IHdpdGg6IHsgdHlwZTogJ2pzb24nIH0gfSk7XG4gIC8vIGhhbmRsZSBpbmNvbnNpc3RlbnQgaW1wb3J0IGNvbmRpdGlvbnNcbiAgaWYgKCdkZWZhdWx0JyBpbiBtYW5pZmVzdCkge1xuICAgIG1hbmlmZXN0ID0gbWFuaWZlc3QuZGVmYXVsdDtcbiAgfVxuICBhd2FpdCBpbml0aWFsaXplQXBwKG1hbmlmZXN0KTtcblxuICBwcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgbG9hZGVyLndhcm4oJ1JlY2VpdmVkIFNJR0lOVCwgZGV2c2VydmVyIHNodXR0aW5nIGRvd24nKTtcbiAgICBpZiAoc2VydmVyKSBjb25zb2xlLmxvZygnQ2xvc2luZyBzZXJ2ZXInKTtcbiAgICBzZXJ2ZXI/LmNsb3NlKCgpID0+IHtcbiAgICAgIGxvYWRlci5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gICAgfSk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnKFxuICB3ZWJwYWNrQ29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24sXG4pIHtcbiAgY29uc3QgbWFuaWZlc3RGaWxlbmFtZTogc3RyaW5nID1cbiAgICAoXG4gICAgICB3ZWJwYWNrQ29uZmlnPy5wbHVnaW5zPy5maW5kKHBsdWdpbiA9PiB7XG4gICAgICAgIHJldHVybiBwbHVnaW4/LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdTdGF0c1dyaXRlclBsdWdpbic7XG4gICAgICB9KSBhcyBhbnlcbiAgICApPy5vcHRzPy5maWxlbmFtZSA/PyAnbWFuaWZlc3QuanNvbic7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcGF0aC5qb2luKFxuICAgIHdlYnBhY2tDb25maWc/Lm91dHB1dD8ucGF0aCA/PyAnJyxc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
@@ -27,7 +27,6 @@ if ('main' in import.meta) {
27
27
  let serverFileContents = Promise.resolve('');
28
28
  let serverEntry = '';
29
29
  export default async function startDevServer(entrypoint, env = {}) {
30
- var _webpackConfigs$;
31
30
  const webpackConfig = await getWebpackConfig();
32
31
  const log = logging.getLogger('anansi-devserver');
33
32
 
@@ -79,11 +78,10 @@ export default async function startDevServer(entrypoint, env = {}) {
79
78
  hookRequire: true
80
79
  });
81
80
  function getServerBundle(serverStats) {
82
- var _serverJson$outputPat;
83
81
  const serverJson = serverStats.toJson({
84
82
  assets: true
85
83
  });
86
- return path.join((_serverJson$outputPat = serverJson.outputPath) != null ? _serverJson$outputPat : '', 'server.js');
84
+ return path.join(serverJson.outputPath ?? '', 'server.js');
87
85
  }
88
86
  function handleErrors(fn) {
89
87
  return async function (req, res, next) {
@@ -96,16 +94,14 @@ export default async function startDevServer(entrypoint, env = {}) {
96
94
  }
97
95
  let initRender = [];
98
96
  let render = (...args) => new Promise(resolve => {
99
- var _initRender;
100
- (_initRender = initRender) == null || _initRender.push({
97
+ initRender?.push({
101
98
  args,
102
99
  resolve
103
100
  });
104
101
  });
105
102
  function importRender(stats) {
106
- var _clientStats$compilat, _serverStats$compilat;
107
103
  const [clientStats, serverStats] = stats;
108
- if (clientStats != null && (_clientStats$compilat = clientStats.compilation) != null && (_clientStats$compilat = _clientStats$compilat.errors) != null && _clientStats$compilat.length || serverStats != null && (_serverStats$compilat = serverStats.compilation) != null && (_serverStats$compilat = _serverStats$compilat.errors) != null && _serverStats$compilat.length) {
104
+ if (clientStats?.compilation?.errors?.length || serverStats?.compilation?.errors?.length) {
109
105
  log.error('Errors for client build: ' + clientStats.compilation.errors);
110
106
  log.error('Errors for server build: ' + serverStats.compilation.errors);
111
107
  // first time, rather than re-render
@@ -147,20 +143,19 @@ export default async function startDevServer(entrypoint, env = {}) {
147
143
  {
148
144
  ...webpackConfigs[0].devServer,
149
145
  devMiddleware: {
150
- ...((_webpackConfigs$ = webpackConfigs[0]) == null || (_webpackConfigs$ = _webpackConfigs$.devServer) == null ? void 0 : _webpackConfigs$.devMiddleware),
146
+ ...webpackConfigs[0]?.devServer?.devMiddleware,
151
147
  outputFileSystem: {
152
148
  ...fs,
153
149
  join: path.join
154
150
  }
155
151
  },
156
152
  setupMiddlewares: (middlewares, devServer) => {
157
- var _webpackConfigs$0$dev, _webpackConfigs$0$dev2, _devServer$app, _webpackConfigs$0$dev3;
158
153
  if (!devServer) {
159
154
  throw new Error('webpack-dev-server is not defined');
160
155
  }
161
- const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...Object.keys((_webpackConfigs$0$dev = (_webpackConfigs$0$dev2 = webpackConfigs[0].devServer) == null ? void 0 : _webpackConfigs$0$dev2.proxy) != null ? _webpackConfigs$0$dev : {})];
156
+ const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...Object.keys(webpackConfigs[0].devServer?.proxy ?? {})];
162
157
  // serve SSR for non-WEBPACK_PUBLIC_PATH
163
- (_devServer$app = devServer.app) == null || _devServer$app.get(new RegExp(`^(?!${otherRoutes.join('|')})`), handleErrors(async function (req, res) {
158
+ devServer.app?.get(new RegExp(`^(?!${otherRoutes.join('|')})`), handleErrors(async function (req, res) {
164
159
  if (req.url.endsWith('favicon.ico')) {
165
160
  res.statusCode = 404;
166
161
  res.setHeader('Content-type', 'text/html');
@@ -175,7 +170,7 @@ export default async function startDevServer(entrypoint, env = {}) {
175
170
  });
176
171
  await render(req, res);
177
172
  }));
178
- if ((_webpackConfigs$0$dev3 = webpackConfigs[0].devServer) != null && _webpackConfigs$0$dev3.setupMiddlewares) {
173
+ if (webpackConfigs[0].devServer?.setupMiddlewares) {
179
174
  return webpackConfigs[0].devServer.setupMiddlewares(middlewares, devServer);
180
175
  }
181
176
  return middlewares;
@@ -198,8 +193,7 @@ export default async function startDevServer(entrypoint, env = {}) {
198
193
  serverFileContents.then(fileText => {
199
194
  const textRows = fileText.split('\n');
200
195
  log.error('>>> Stack Context [serve entrypoint] <<<');
201
- for (const match of (_e$stack$matchAll = e.stack.matchAll(finder)) != null ? _e$stack$matchAll : []) {
202
- var _e$stack$matchAll;
196
+ for (const match of e.stack.matchAll(finder) ?? []) {
203
197
  const row = Number.parseInt(match[1]);
204
198
  const col = Number.parseInt(match[2]);
205
199
  log.error(path.basename(serverEntry) + ' ' + row + ':' + col);
@@ -231,4 +225,4 @@ export default async function startDevServer(entrypoint, env = {}) {
231
225
  });
232
226
  runServer();
233
227
  }
234
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIl93ZWJwYWNrQ29uZmlncyQiLCJ3ZWJwYWNrQ29uZmlnIiwiZ2V0TG9nZ2VyIiwidm9sdW1lIiwiZnMiLCJ1c2UiLCJmc1JlcXVpcmUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhvdEVudHJ5IiwiZW50cnlQYXRoIiwiZ2VuZXJhdGVkRW50cnlwb2ludCIsImZpbGVTeW5jIiwicG9zdGZpeCIsIndyaXRlU3luYyIsImZkIiwiY3dkIiwid2VicGFja0NvbmZpZ3MiLCJlbnRyeXBhdGgiLCJuYW1lIiwibW9kZSIsInJlcGxhY2UiLCJCUk9XU0VSU0xJU1RfRU5WIiwidGFyZ2V0IiwiY29tcGlsZXIiLCJpbnN0YWxsIiwiaG9va1JlcXVpcmUiLCJnZXRTZXJ2ZXJCdW5kbGUiLCJzZXJ2ZXJTdGF0cyIsIl9zZXJ2ZXJKc29uJG91dHB1dFBhdCIsInNlcnZlckpzb24iLCJ0b0pzb24iLCJhc3NldHMiLCJqb2luIiwib3V0cHV0UGF0aCIsImhhbmRsZUVycm9ycyIsImZuIiwicmVxIiwicmVzIiwibmV4dCIsIngiLCJpbml0UmVuZGVyIiwicmVuZGVyIiwiYXJncyIsIl9pbml0UmVuZGVyIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiX2NsaWVudFN0YXRzJGNvbXBpbGF0IiwiX3NlcnZlclN0YXRzJGNvbXBpbGF0IiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIl93ZWJwYWNrQ29uZmlncyQwJGRldiIsIl93ZWJwYWNrQ29uZmlncyQwJGRldjIiLCJfZGV2U2VydmVyJGFwcCIsIl93ZWJwYWNrQ29uZmlncyQwJGRldjMiLCJFcnJvciIsIm90aGVyUm91dGVzIiwiV0VCUEFDS19QVUJMSUNfUEFUSCIsInByb3h5IiwiYXBwIiwiZ2V0IiwiUmVnRXhwIiwidXJsIiwiZW5kc1dpdGgiLCJzdGF0dXNDb2RlIiwic2V0SGVhZGVyIiwic2VuZCIsInNvY2tldCIsIm9uIiwiY29kZSIsInJ1blNlcnZlciIsInN0YXJ0IiwiaG9va3MiLCJkb25lIiwidGFwIiwibXVsdGlTdGF0cyIsImZpbmRlciIsImZpbGVUZXh0IiwidGV4dFJvd3MiLCJzcGxpdCIsIm1hdGNoIiwiX2Ukc3RhY2skbWF0Y2hBbGwiLCJzdGFjayIsIm1hdGNoQWxsIiwicm93IiwiTnVtYmVyIiwicGFyc2VJbnQiLCJjb2wiLCJiYXNlbmFtZSIsIndyaXRlRmlsZVN5bmMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lLmpzJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogc3RhcnQtYW5hbnNpIDxlbnRyeXBvaW50LWZpbGU+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuXG4gIHN0YXJ0RGV2U2VydmVyKGVudHJ5cG9pbnQpO1xufVxuXG5sZXQgc2VydmVyRmlsZUNvbnRlbnRzOiBQcm9taXNlPHN0cmluZz4gPSBQcm9taXNlLnJlc29sdmUoJycpO1xubGV0IHNlcnZlckVudHJ5ID0gJyc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gYXdhaXQgZ2V0V2VicGFja0NvbmZpZygpO1xuXG4gIGNvbnN0IGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhbmFuc2ktZGV2c2VydmVyJyk7XG5cbiAgLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG4gIGNvbnN0IHZvbHVtZSA9IG5ldyBWb2x1bWUoKTtcbiAgY29uc3QgZnMgPSBjcmVhdGVGc0Zyb21Wb2x1bWUodm9sdW1lKTtcbiAgdWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG4gIGNvbnN0IGZzUmVxdWlyZSA9IGNyZWF0ZUZzUmVxdWlyZSh1ZnMpO1xuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeSh1ZnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLy8gR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZmlsZSBzbyB3ZSBjYW4gaG90IHJlbG9hZCBmcm9tIHRoZSByb290IG9mIHRoZSBhcHBsaWNhdGlvblxuICBmdW5jdGlvbiBob3RFbnRyeShlbnRyeVBhdGg6IHN0cmluZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vIEB0cy1pZ25vcmUgZm9yIHNvbWUgcmVhc29uIGl0J3Mgbm90IHBpY2tpbmcgdXAgdGhhdCBvdGhlciBvcHRpb25zIGFyZSBvcHRpb25hbFxuICAgIGNvbnN0IGdlbmVyYXRlZEVudHJ5cG9pbnQgPSB0bXAuZmlsZVN5bmMoeyBwb3N0Zml4OiAnLmpzJyB9KTtcbiAgICBkaXNrRnMud3JpdGVTeW5jKFxuICAgICAgZ2VuZXJhdGVkRW50cnlwb2ludC5mZCxcbiAgICAgIGBcbiAgaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG4gIGlmIChpbXBvcnQubWV0YS53ZWJwYWNrSG90KSB7XG4gICAgaW1wb3J0Lm1ldGEud2VicGFja0hvdC5hY2NlcHQoKTtcbiAgfVxuXG4gIGV4cG9ydCBkZWZhdWx0IGVudHJ5O1xuICAgIGAsXG4gICAgKTtcbiAgICByZXR1cm4gZ2VuZXJhdGVkRW50cnlwb2ludDtcbiAgfVxuXG4gIGNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBob3RFbnRyeShlbnRyeXBvaW50KS5uYW1lLFxuICAgICAgICBuYW1lOiAnY2xpZW50JyxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICApLFxuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgICAgbmFtZTogJ3NlcnZlcicsXG4gICAgICAgIEJST1dTRVJTTElTVF9FTlY6ICdjdXJyZW50IG5vZGUnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JywgdGFyZ2V0OiAnbm9kZScgfSxcbiAgICApLFxuICBdIGFzIGNvbnN0O1xuXG4gIC8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbiAgY29uc3QgY29tcGlsZXI6IE11bHRpQ29tcGlsZXIgPSB3ZWJwYWNrKHdlYnBhY2tDb25maWdzKTtcblxuICBzb3VyY2VNYXBTdXBwb3J0Lmluc3RhbGwoeyBob29rUmVxdWlyZTogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgICBjb25zdCBzZXJ2ZXJKc29uID0gc2VydmVyU3RhdHMudG9Kc29uKHsgYXNzZXRzOiB0cnVlIH0pO1xuICAgIHJldHVybiBwYXRoLmpvaW4oc2VydmVySnNvbi5vdXRwdXRQYXRoID8/ICcnLCAnc2VydmVyLmpzJyk7XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGxldCBpbml0UmVuZGVyOlxuICAgIHwgeyBhcmdzOiBQYXJhbWV0ZXJzPEJvdW5kUmVuZGVyPjsgcmVzb2x2ZTogKCkgPT4gdm9pZCB9W11cbiAgICB8IHVuZGVmaW5lZCA9IFtdO1xuICBsZXQgcmVuZGVyOiBCb3VuZFJlbmRlciA9ICguLi5hcmdzKSA9PlxuICAgIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaW5pdFJlbmRlcj8ucHVzaCh7IGFyZ3MsIHJlc29sdmUgfSk7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gaW1wb3J0UmVuZGVyKHN0YXRzOiB3ZWJwYWNrLlN0YXRzW10pIHtcbiAgICBjb25zdCBbY2xpZW50U3RhdHMsIHNlcnZlclN0YXRzXSA9IHN0YXRzO1xuICAgIGlmIChcbiAgICAgIGNsaWVudFN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGggfHxcbiAgICAgIHNlcnZlclN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBjbGllbnQgYnVpbGQ6ICcgKyBjbGllbnRTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIHNlcnZlciBidWlsZDogJyArIHNlcnZlclN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICAvLyBmaXJzdCB0aW1lLCByYXRoZXIgdGhhbiByZS1yZW5kZXJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICB9XG4gICAgICBsb2cuZXJyb3IoJ0Fib3ZlIGNvbXBpbGVyIGVycm9ycyBibG9ja2luZyByZWxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmluZm8oJ0xhdW5jaGluZyBTU1InKTtcbiAgICB9XG5cbiAgICAvLyBBU1NFVFNcbiAgICBjb25zdCBjbGllbnRNYW5pZmVzdCA9IGNsaWVudFN0YXRzLnRvSnNvbigpO1xuXG4gICAgc2VydmVyRW50cnkgPSBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHMpO1xuICAgIHNlcnZlckZpbGVDb250ZW50cyA9IHJlYWRGaWxlKHNlcnZlckVudHJ5KS50aGVuKGJ1ZiA9PiBidWYudG9TdHJpbmcoKSk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICByZW5kZXIgPSAoZnNSZXF1aXJlKHNlcnZlckVudHJ5KSBhcyBhbnkpLmRlZmF1bHQuYmluZChcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsaWVudE1hbmlmZXN0LFxuICAgICk7XG4gICAgLy8gU0VSVkVSIFNJREUgRU5UUllQT0lOVFxuICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICBpbml0UmVuZGVyLmZvckVhY2goYXN5bmMgaW5pdCA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbG9nLmluZm8oJ1Jlc29sdmluZyBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBhd2FpdCByZW5kZXIoLi4uaW5pdC5hcmdzKTtcbiAgICAgICAgICBpbml0LnJlc29sdmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZy5lcnJvcignRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbmRlciBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBsb2cuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaW5pdFJlbmRlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkZXZTZXJ2ZXIgPSBuZXcgV2VicGFja0RldlNlcnZlcihcbiAgICAvLyB3cml0ZSB0byBtZW1vcnkgZmlsZXN5c3RlbSBzbyB3ZSBjYW4gaW1wb3J0XG4gICAge1xuICAgICAgLi4ud2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLFxuICAgICAgZGV2TWlkZGxld2FyZToge1xuICAgICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXT8uZGV2U2VydmVyPy5kZXZNaWRkbGV3YXJlLFxuICAgICAgICBvdXRwdXRGaWxlU3lzdGVtOiB7XG4gICAgICAgICAgLi4uZnMsXG4gICAgICAgICAgam9pbjogcGF0aC5qb2luIGFzIGFueSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVB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
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJjb2RlIiwicnVuU2VydmVyIiwic3RhcnQiLCJob29rcyIsImRvbmUiLCJ0YXAiLCJtdWx0aVN0YXRzIiwiZmluZGVyIiwiZmlsZVRleHQiLCJ0ZXh0Um93cyIsInNwbGl0IiwibWF0Y2giLCJzdGFjayIsIm1hdGNoQWxsIiwicm93IiwiTnVtYmVyIiwicGFyc2VJbnQiLCJjb2wiLCJiYXNlbmFtZSIsIndyaXRlRmlsZVN5bmMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lLmpzJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogc3RhcnQtYW5hbnNpIDxlbnRyeXBvaW50LWZpbGU+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuXG4gIHN0YXJ0RGV2U2VydmVyKGVudHJ5cG9pbnQpO1xufVxuXG5sZXQgc2VydmVyRmlsZUNvbnRlbnRzOiBQcm9taXNlPHN0cmluZz4gPSBQcm9taXNlLnJlc29sdmUoJycpO1xubGV0IHNlcnZlckVudHJ5ID0gJyc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gYXdhaXQgZ2V0V2VicGFja0NvbmZpZygpO1xuXG4gIGNvbnN0IGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhbmFuc2ktZGV2c2VydmVyJyk7XG5cbiAgLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG4gIGNvbnN0IHZvbHVtZSA9IG5ldyBWb2x1bWUoKTtcbiAgY29uc3QgZnMgPSBjcmVhdGVGc0Zyb21Wb2x1bWUodm9sdW1lKTtcbiAgdWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG4gIGNvbnN0IGZzUmVxdWlyZSA9IGNyZWF0ZUZzUmVxdWlyZSh1ZnMpO1xuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeSh1ZnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLy8gR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZmlsZSBzbyB3ZSBjYW4gaG90IHJlbG9hZCBmcm9tIHRoZSByb290IG9mIHRoZSBhcHBsaWNhdGlvblxuICBmdW5jdGlvbiBob3RFbnRyeShlbnRyeVBhdGg6IHN0cmluZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vIEB0cy1pZ25vcmUgZm9yIHNvbWUgcmVhc29uIGl0J3Mgbm90IHBpY2tpbmcgdXAgdGhhdCBvdGhlciBvcHRpb25zIGFyZSBvcHRpb25hbFxuICAgIGNvbnN0IGdlbmVyYXRlZEVudHJ5cG9pbnQgPSB0bXAuZmlsZVN5bmMoeyBwb3N0Zml4OiAnLmpzJyB9KTtcbiAgICBkaXNrRnMud3JpdGVTeW5jKFxuICAgICAgZ2VuZXJhdGVkRW50cnlwb2ludC5mZCxcbiAgICAgIGBcbiAgaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG4gIGlmIChpbXBvcnQubWV0YS53ZWJwYWNrSG90KSB7XG4gICAgaW1wb3J0Lm1ldGEud2VicGFja0hvdC5hY2NlcHQoKTtcbiAgfVxuXG4gIGV4cG9ydCBkZWZhdWx0IGVudHJ5O1xuICAgIGAsXG4gICAgKTtcbiAgICByZXR1cm4gZ2VuZXJhdGVkRW50cnlwb2ludDtcbiAgfVxuXG4gIGNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBob3RFbnRyeShlbnRyeXBvaW50KS5uYW1lLFxuICAgICAgICBuYW1lOiAnY2xpZW50JyxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICApLFxuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgICAgbmFtZTogJ3NlcnZlcicsXG4gICAgICAgIEJST1dTRVJTTElTVF9FTlY6ICdjdXJyZW50IG5vZGUnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JywgdGFyZ2V0OiAnbm9kZScgfSxcbiAgICApLFxuICBdIGFzIGNvbnN0O1xuXG4gIC8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbiAgY29uc3QgY29tcGlsZXI6IE11bHRpQ29tcGlsZXIgPSB3ZWJwYWNrKHdlYnBhY2tDb25maWdzKTtcblxuICBzb3VyY2VNYXBTdXBwb3J0Lmluc3RhbGwoeyBob29rUmVxdWlyZTogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgICBjb25zdCBzZXJ2ZXJKc29uID0gc2VydmVyU3RhdHMudG9Kc29uKHsgYXNzZXRzOiB0cnVlIH0pO1xuICAgIHJldHVybiBwYXRoLmpvaW4oc2VydmVySnNvbi5vdXRwdXRQYXRoID8/ICcnLCAnc2VydmVyLmpzJyk7XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGxldCBpbml0UmVuZGVyOlxuICAgIHwgeyBhcmdzOiBQYXJhbWV0ZXJzPEJvdW5kUmVuZGVyPjsgcmVzb2x2ZTogKCkgPT4gdm9pZCB9W11cbiAgICB8IHVuZGVmaW5lZCA9IFtdO1xuICBsZXQgcmVuZGVyOiBCb3VuZFJlbmRlciA9ICguLi5hcmdzKSA9PlxuICAgIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaW5pdFJlbmRlcj8ucHVzaCh7IGFyZ3MsIHJlc29sdmUgfSk7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gaW1wb3J0UmVuZGVyKHN0YXRzOiB3ZWJwYWNrLlN0YXRzW10pIHtcbiAgICBjb25zdCBbY2xpZW50U3RhdHMsIHNlcnZlclN0YXRzXSA9IHN0YXRzO1xuICAgIGlmIChcbiAgICAgIGNsaWVudFN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGggfHxcbiAgICAgIHNlcnZlclN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBjbGllbnQgYnVpbGQ6ICcgKyBjbGllbnRTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIHNlcnZlciBidWlsZDogJyArIHNlcnZlclN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICAvLyBmaXJzdCB0aW1lLCByYXRoZXIgdGhhbiByZS1yZW5kZXJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICB9XG4gICAgICBsb2cuZXJyb3IoJ0Fib3ZlIGNvbXBpbGVyIGVycm9ycyBibG9ja2luZyByZWxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmluZm8oJ0xhdW5jaGluZyBTU1InKTtcbiAgICB9XG5cbiAgICAvLyBBU1NFVFNcbiAgICBjb25zdCBjbGllbnRNYW5pZmVzdCA9IGNsaWVudFN0YXRzLnRvSnNvbigpO1xuXG4gICAgc2VydmVyRW50cnkgPSBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHMpO1xuICAgIHNlcnZlckZpbGVDb250ZW50cyA9IHJlYWRGaWxlKHNlcnZlckVudHJ5KS50aGVuKGJ1ZiA9PiBidWYudG9TdHJpbmcoKSk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICByZW5kZXIgPSAoZnNSZXF1aXJlKHNlcnZlckVudHJ5KSBhcyBhbnkpLmRlZmF1bHQuYmluZChcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsaWVudE1hbmlmZXN0LFxuICAgICk7XG4gICAgLy8gU0VSVkVSIFNJREUgRU5UUllQT0lOVFxuICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICBpbml0UmVuZGVyLmZvckVhY2goYXN5bmMgaW5pdCA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbG9nLmluZm8oJ1Jlc29sdmluZyBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBhd2FpdCByZW5kZXIoLi4uaW5pdC5hcmdzKTtcbiAgICAgICAgICBpbml0LnJlc29sdmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZy5lcnJvcignRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbmRlciBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBsb2cuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaW5pdFJlbmRlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkZXZTZXJ2ZXIgPSBuZXcgV2VicGFja0RldlNlcnZlcihcbiAgICAvLyB3cml0ZSB0byBtZW1vcnkgZmlsZXN5c3RlbSBzbyB3ZSBjYW4gaW1wb3J0XG4gICAge1xuICAgICAgLi4ud2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLFxuICAgICAgZGV2TWlkZGxld2FyZToge1xuICAgICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXT8uZGV2U2VydmVyPy5kZXZNaWRkbGV3YXJlLFxuICAgICAgICBvdXRwdXRGaWxlU3lzdGVtOiB7XG4gICAgICAgICAgLi4uZnMsXG4gICAgICAgICAgam9pbjogcGF0aC5qb2luIGFzIGFueSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUVILE9BQU9JLE1BQU0sTUFBTSxJQUFJO0FBQ3ZCLFNBQVNDLGVBQWUsUUFBUSxZQUFZO0FBRTVDLFNBQVNDLGtCQUFrQixFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxPQUFPQyxJQUFJ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
@@ -55,9 +55,8 @@ export default async function serve(entrypoint, options = {}) {
55
55
  // ASSETS
56
56
  if (options.serveAssets) {
57
57
  wrappingApp.use(async (req, res, next) => {
58
- var _req$url$substring, _req$url, _clientManifest$outpu;
59
- const filename = (_req$url$substring = (_req$url = req.url) == null ? void 0 : _req$url.substring(process.env.WEBPACK_PUBLIC_PATH.length)) != null ? _req$url$substring : '';
60
- const assetPath = path.join((_clientManifest$outpu = clientManifest.outputPath) != null ? _clientManifest$outpu : '', filename);
58
+ const filename = req.url?.substring(process.env.WEBPACK_PUBLIC_PATH.length) ?? '';
59
+ const assetPath = path.join(clientManifest.outputPath ?? '', filename);
61
60
  if (diskFs.existsSync(assetPath) && !diskFs.lstatSync(assetPath).isDirectory()) {
62
61
  try {
63
62
  res.sendFile(assetPath);
@@ -72,13 +71,11 @@ export default async function serve(entrypoint, options = {}) {
72
71
 
73
72
  // PROXIES
74
73
  if (options.serveProxy) {
75
- var _devConfig$devServer;
76
74
  const devConfig = webpackConfig({}, {
77
75
  mode: 'development'
78
76
  });
79
- if ((_devConfig$devServer = devConfig.devServer) != null && _devConfig$devServer.proxy) {
80
- var _devConfig$devServer2;
81
- const middlewares = getProxyMiddlewares((_devConfig$devServer2 = devConfig.devServer) == null ? void 0 : _devConfig$devServer2.proxy);
77
+ if (devConfig.devServer?.proxy) {
78
+ const middlewares = getProxyMiddlewares(devConfig.devServer?.proxy);
82
79
  if (middlewares) {
83
80
  wrappingApp.use(...middlewares.map(({
84
81
  middleware
@@ -140,21 +137,19 @@ export default async function serve(entrypoint, options = {}) {
140
137
  }
141
138
  await initializeApp(manifest);
142
139
  process.on('SIGINT', () => {
143
- var _server;
144
140
  loader.warn('Received SIGINT, devserver shutting down');
145
141
  if (server) console.log('Closing server');
146
- (_server = server) == null || _server.close(() => {
142
+ server?.close(() => {
147
143
  loader.info('Server closed');
148
144
  });
149
145
  process.exit(-1);
150
146
  });
151
147
  }
152
148
  function getManifestPathFromWebpackconfig(webpackConfig) {
153
- var _opts$filename, _webpackConfig$plugin, _webpackConfig$output, _webpackConfig$output2;
154
- const manifestFilename = (_opts$filename = webpackConfig == null || (_webpackConfig$plugin = webpackConfig.plugins) == null || (_webpackConfig$plugin = _webpackConfig$plugin.find(plugin => {
155
- return (plugin == null ? void 0 : plugin.constructor.name) === 'StatsWriterPlugin';
156
- })) == null || (_webpackConfig$plugin = _webpackConfig$plugin.opts) == null ? void 0 : _webpackConfig$plugin.filename) != null ? _opts$filename : 'manifest.json';
157
- const manifestPath = path.join((_webpackConfig$output = webpackConfig == null || (_webpackConfig$output2 = webpackConfig.output) == null ? void 0 : _webpackConfig$output2.path) != null ? _webpackConfig$output : '', manifestFilename);
149
+ const manifestFilename = webpackConfig?.plugins?.find(plugin => {
150
+ return plugin?.constructor.name === 'StatsWriterPlugin';
151
+ })?.opts?.filename ?? 'manifest.json';
152
+ const manifestPath = path.join(webpackConfig?.output?.path ?? '', manifestFilename);
158
153
  return manifestPath;
159
154
  }
160
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNvbXByZXNzIiwiZXhwcmVzcyIsImRpc2tGcyIsIm9yYSIsInBhdGgiLCJwcm9taXNpZnkiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInNlcnZlIiwib3B0aW9ucyIsIlBPUlQiLCJlbnYiLCJsb2FkZXIiLCJzdGFydCIsIndlYnBhY2tDb25maWciLCJtYW5pZmVzdFBhdGgiLCJnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyIsIm1vZGUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhhbmRsZUVycm9ycyIsImZuIiwicmVxIiwicmVzIiwibmV4dCIsIngiLCJpbml0aWFsaXplQXBwIiwiY2xpZW50TWFuaWZlc3QiLCJpbmZvIiwiZmFpbCIsIndyYXBwaW5nQXBwIiwidXNlIiwic2VydmVBc3NldHMiLCJfcmVxJHVybCRzdWJzdHJpbmciLCJfcmVxJHVybCIsIl9jbGllbnRNYW5pZmVzdCRvdXRwdSIsImZpbGVuYW1lIiwidXJsIiwic3Vic3RyaW5nIiwiV0VCUEFDS19QVUJMSUNfUEFUSCIsImxlbmd0aCIsImFzc2V0UGF0aCIsImpvaW4iLCJvdXRwdXRQYXRoIiwiZXhpc3RzU3luYyIsImxzdGF0U3luYyIsImlzRGlyZWN0b3J5Iiwic2VuZEZpbGUiLCJlIiwic2VydmVQcm94eSIsIl9kZXZDb25maWckZGV2U2VydmVyIiwiZGV2Q29uZmlnIiwiZGV2U2VydmVyIiwicHJveHkiLCJfZGV2Q29uZmlnJGRldlNlcnZlcjIiLCJtaWRkbGV3YXJlcyIsIm1hcCIsIm1pZGRsZXdhcmUiLCJyZW5kZXIiLCJjd2QiLCJkZWZhdWx0IiwiRXJyb3IiLCJnZXQiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJlcnJvciIsImxpc3RlbiIsInN5c2NhbGwiLCJpc1BpcGUiLCJwb3J0T3JQaXBlIiwiTnVtYmVyIiwiaXNOYU4iLCJiaW5kIiwiY29kZSIsIm1hbmlmZXN0Iiwid2l0aCIsInR5cGUiLCJfc2VydmVyIiwid2FybiIsImNsb3NlIiwiX29wdHMkZmlsZW5hbWUiLCJfd2VicGFja0NvbmZpZyRwbHVnaW4iLCJfd2VicGFja0NvbmZpZyRvdXRwdXQiLCJfd2VicGFja0NvbmZpZyRvdXRwdXQyIiwibWFuaWZlc3RGaWxlbmFtZSIsInBsdWdpbnMiLCJmaW5kIiwicGx1Z2luIiwiY29uc3RydWN0b3IiLCJuYW1lIiwib3B0cyIsIm91dHB1dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3NlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCBjb21wcmVzcyBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgZXhwcmVzcywgeyBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBkaXNrRnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2sgZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCBnZXRQcm94eU1pZGRsZXdhcmVzIGZyb20gJy4vZ2V0UHJveHlNaWRkbGV3YXJlcy5qcyc7XG5pbXBvcnQgeyBnZXRXZWJwYWNrQ29uZmlnIH0gZnJvbSAnLi9nZXRXZWJwYWNrQ29uZmlnLmpzJztcbmltcG9ydCB7IFJlbmRlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAoJ21haW4nIGluIGltcG9ydC5tZXRhKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiAke3Byb2Nlc3MuYXJndlswXX0gPHNlcnZlci1lbnRyeXBvaW50PmApO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH1cbiAgc2VydmUoZW50cnlwb2ludCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHNlcnZlKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIG9wdGlvbnM6IHsgc2VydmVBc3NldHM/OiBib29sZWFuOyBzZXJ2ZVByb3h5PzogYm9vbGVhbiB9ID0ge30sXG4pIHtcbiAgY29uc3QgUE9SVCA9IHByb2Nlc3MuZW52LlBPUlQgfHwgODA4MDtcblxuICBjb25zdCBsb2FkZXIgPSBvcmEoJ0luaXRpYWxpemluZycpLnN0YXJ0KCk7XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZyA9IGF3YWl0IGdldFdlYnBhY2tDb25maWcoKTtcblxuICBjb25zdCBtYW5pZmVzdFBhdGggPSBnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyhcbiAgICB3ZWJwYWNrQ29uZmlnKHt9LCB7IG1vZGU6ICdwcm9kdWN0aW9uJyB9KSxcbiAgKTtcblxuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeShkaXNrRnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIC8vIFN0YXJ0IHRoZSBleHByZXNzIHNlcnZlciBhZnRlciB0aGUgZmlyc3QgY29tcGlsYXRpb25cbiAgYXN5bmMgZnVuY3Rpb24gaW5pdGlhbGl6ZUFwcChjbGllbnRNYW5pZmVzdDogd2VicGFjay5TdGF0c0NvbXBpbGF0aW9uKSB7XG4gICAgbG9hZGVyLmluZm8oJ0xhdW5jaGluZyBzZXJ2ZXInKTtcbiAgICBpZiAoIWNsaWVudE1hbmlmZXN0KSB7XG4gICAgICBsb2FkZXIuZmFpbCgnTWFuaWZlc3Qgbm90IGZvdW5kJyk7XG4gICAgICAvLyBUT0RPOiBoYW5kbGUgbW9yZSBncmFjZWZ1bGx5XG4gICAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICAgIH1cblxuICAgIGNvbnN0IHdyYXBwaW5nQXBwID0gZXhwcmVzcygpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vQHRzLWlnbm9yZVxuICAgIHdyYXBwaW5nQXBwLnVzZShjb21wcmVzcygpKTtcblxuICAgIC8vIEFTU0VUU1xuICAgIGlmIChvcHRpb25zLnNlcnZlQXNzZXRzKSB7XG4gICAgICB3cmFwcGluZ0FwcC51c2UoXG4gICAgICAgIGFzeW5jIChcbiAgICAgICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICAgICAgcmVzOiBhbnksXG4gICAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgICApID0+IHtcbiAgICAgICAgICBjb25zdCBmaWxlbmFtZSA9XG4gICAgICAgICAgICByZXEudXJsPy5zdWJzdHJpbmcoXG4gICAgICAgICAgICAgIChwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRIIGFzIHN0cmluZykubGVuZ3RoLFxuICAgICAgICAgICAgKSA/PyAnJztcbiAgICAgICAgICBjb25zdCBhc3NldFBhdGggPSBwYXRoLmpvaW4oXG4gICAgICAgICAgICBjbGllbnRNYW5pZmVzdC5vdXRwdXRQYXRoID8/ICcnLFxuICAgICAgICAgICAgZmlsZW5hbWUsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGRpc2tGcy5leGlzdHNTeW5jKGFzc2V0UGF0aCkgJiZcbiAgICAgICAgICAgICFkaXNrRnMubHN0YXRTeW5jKGFzc2V0UGF0aCkuaXNEaXJlY3RvcnkoKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgcmVzLnNlbmRGaWxlKGFzc2V0UGF0aCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgIHJldHVybiBuZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIC8vIFBST1hJRVNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZVByb3h5KSB7XG4gICAgICBjb25zdCBkZXZDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbiA9IHdlYnBhY2tDb25maWcoXG4gICAgICAgIHt9LFxuICAgICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICAgICk7XG4gICAgICBpZiAoZGV2Q29uZmlnLmRldlNlcnZlcj8ucHJveHkpIHtcbiAgICAgICAgY29uc3QgbWlkZGxld2FyZXMgPSBnZXRQcm94eU1pZGRsZXdhcmVzKGRldkNvbmZpZy5kZXZTZXJ2ZXI/LnByb3h5KTtcbiAgICAgICAgaWYgKG1pZGRsZXdhcmVzKSB7XG4gICAgICAgICAgd3JhcHBpbmdBcHAudXNlKC4uLm1pZGRsZXdhcmVzLm1hcCgoeyBtaWRkbGV3YXJlIH0pID0+IG1pZGRsZXdhcmUpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNFUlZFUiBTSURFIFJFTkRFUklOR1xuICAgIGxldCByZW5kZXI6IFJlbmRlciA9IChhd2FpdCBpbXBvcnQocGF0aC5qb2luKHByb2Nlc3MuY3dkKCksIGVudHJ5cG9pbnQpKSlcbiAgICAgIC5kZWZhdWx0O1xuXG4gICAgaWYgKCdkZWZhdWx0JyBpbiByZW5kZXIpIHtcbiAgICAgIHJlbmRlciA9IHJlbmRlci5kZWZhdWx0IGFzIGFueTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHJlbmRlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgZGVmYXVsdCBleHBvcnQgb2YgJHtwYXRoLmpvaW4oXG4gICAgICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgICAgICBlbnRyeXBvaW50LFxuICAgICAgICApfSBpcyBub3QgYSBmdW5jdGlvbmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIHdyYXBwaW5nQXBwLmdldChcbiAgICAgICcvKicsXG4gICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICBpZiAocmVxLnVybC5lbmRzV2l0aCgnZmF2aWNvbi5pY28nKSkge1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICByZXMuc2VuZCgnbm90IGZvdW5kJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zb2NrZXQub24oJ2Vycm9yJywgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmF0YWwnLCBlcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHJlbmRlcihjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMpO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHNlcnZlciA9IHdyYXBwaW5nQXBwXG4gICAgICAubGlzdGVuKFBPUlQsICgpID0+IHtcbiAgICAgICAgbG9hZGVyLmluZm8oYExpc3RlbmluZyBhdCAke1BPUlR9Li4uYCk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zeXNjYWxsICE9PSAnbGlzdGVuJykge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzUGlwZSA9IChwb3J0T3JQaXBlOiBzdHJpbmcgfCBudW1iZXIpID0+XG4gICAgICAgICAgTnVtYmVyLmlzTmFOKHBvcnRPclBpcGUpO1xuICAgICAgICBjb25zdCBiaW5kID0gaXNQaXBlKFBPUlQpID8gJ1BpcGUgJyArIFBPUlQgOiAnUG9ydCAnICsgUE9SVDtcbiAgICAgICAgc3dpdGNoIChlcnJvci5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAnRUFDQ0VTJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIHJlcXVpcmVzIGVsZXZhdGVkIHByaXZpbGVnZXMnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlICdFQUREUklOVVNFJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIGlzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIGxldCBtYW5pZmVzdCA9IGF3YWl0IGltcG9ydChtYW5pZmVzdFBhdGgsIHsgd2l0aDogeyB0eXBlOiAnanNvbicgfSB9KTtcbiAgLy8gaGFuZGxlIGluY29uc2lzdGVudCBpbXBvcnQgY29uZGl0aW9uc1xuICBpZiAoJ2RlZmF1bHQnIGluIG1hbmlmZXN0KSB7XG4gICAgbWFuaWZlc3QgPSBtYW5pZmVzdC5kZWZhdWx0O1xuICB9XG4gIGF3YWl0IGluaXRpYWxpemVBcHAobWFuaWZlc3QpO1xuXG4gIHByb2Nlc3Mub24oJ1NJR0lOVCcsICgpID0+IHtcbiAgICBsb2FkZXIud2FybignUmVjZWl2ZWQgU0lHSU5ULCBkZXZzZXJ2ZXIgc2h1dHRpbmcgZG93bicpO1xuICAgIGlmIChzZXJ2ZXIpIGNvbnNvbGUubG9nKCdDbG9zaW5nIHNlcnZlcicpO1xuICAgIHNlcnZlcj8uY2xvc2UoKCkgPT4ge1xuICAgICAgbG9hZGVyLmluZm8oJ1NlcnZlciBjbG9zZWQnKTtcbiAgICB9KTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gIHdlYnBhY2tDb25maWc6IHdlYnBhY2suQ29uZmlndXJhdGlvbixcbikge1xuICBjb25zdCBtYW5pZmVzdEZpbGVuYW1lOiBzdHJpbmcgPVxuICAgIChcbiAgICAgIHdlYnBhY2tDb25maWc/LnBsdWdpbnM/LmZpbmQocGx1Z2luID0+IHtcbiAgICAgICAgcmV0dXJuIHBsdWdpbj8uY29uc3RydWN0b3IubmFtZSA9PT0gJ1N0YXRzV3JpdGVyUGx1Z2luJztcbiAgICAgIH0pIGFzIGFueVxuICAgICk/Lm9wdHM/LmZpbGVuYW1lID8/ICdtYW5pZmVzdC5qc29uJztcblxuICBjb25zdCBtYW5pZmVzdFBhdGggPSBwYXRoLmpvaW4oXG4gICAgd2VicGFja0NvbmZpZz8ub3V0cHV0Py5wYXRoID8/ICcnLFxuICAgIG1hbmlmZXN0RmlsZW5hbWUsXG4gICk7XG4gIHJldHVybiBtYW5pZmVzdFBhdGg7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0FBLE1BQU0sQ0FBQ0MsTUFBTSxHQUNYRCxNQUFNLENBQUNDLE1BQU0sSUFDYiwwQkFBMkIsU0FBU0EsTUFBTUEsQ0FBQ0MsRUFBRSxFQUFFQyxHQUFHLEVBQUU7RUFDbEQsT0FBT0gsTUFBTSxDQUFDSSxTQUFTLENBQUNDLGNBQWMsQ0FBQ0MsSUFBSSxDQUFDSixFQUFFLEVBQUVDLEdBQUcsQ0FBQztBQUN0RCxDQUFDO0FBQ0gsT0FBT0ksUUFBUSxNQUFNLGFBQWE7QUFDbEMsT0FBT0MsT0FBTyxNQUF3QixTQUFTO0FBQy9DLE9BQU9DLE1BQU0sTUFBTSxJQUFJO0FBRXZCLE9BQU9DLEdBQUcsTUFBTSxLQUFLO0FBQ3JCLE9BQU9DLElBQUksTUFBTSxNQUFNO0FBQ3ZCLFNBQVNDLFNBQVMsUUFBUSxNQUFNO0FBR2hDLE9BQU8sbUNBQW1DO0FBQzFDLE9BQU9DLG1CQUFtQixNQUFNLDBCQUEwQjtBQUMxRCxTQUFTQyxnQkFBZ0IsUUFBUSx1QkFBdUI7QUFHeEQ7QUFDQSxJQUFJLE1BQU0sSUFBSUMsTUFBTSxDQUFDQyxJQUFJLEVBQUU7RUFDekIsTUFBTUMsVUFBVSxHQUFHQyxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFFbEMsSUFBSSxDQUFDRixVQUFVLEVBQUU7SUFDZkcsT0FBTyxDQUFDQyxHQUFHLENBQUMsVUFBVUgsT0FBTyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDLHNCQUFz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
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNvbXByZXNzIiwiZXhwcmVzcyIsImRpc2tGcyIsIm9yYSIsInBhdGgiLCJwcm9taXNpZnkiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInNlcnZlIiwib3B0aW9ucyIsIlBPUlQiLCJlbnYiLCJsb2FkZXIiLCJzdGFydCIsIndlYnBhY2tDb25maWciLCJtYW5pZmVzdFBhdGgiLCJnZXRNYW5pZmVzdFBhdGhGcm9tV2VicGFja2NvbmZpZyIsIm1vZGUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhhbmRsZUVycm9ycyIsImZuIiwicmVxIiwicmVzIiwibmV4dCIsIngiLCJpbml0aWFsaXplQXBwIiwiY2xpZW50TWFuaWZlc3QiLCJpbmZvIiwiZmFpbCIsIndyYXBwaW5nQXBwIiwidXNlIiwic2VydmVBc3NldHMiLCJmaWxlbmFtZSIsInVybCIsInN1YnN0cmluZyIsIldFQlBBQ0tfUFVCTElDX1BBVEgiLCJsZW5ndGgiLCJhc3NldFBhdGgiLCJqb2luIiwib3V0cHV0UGF0aCIsImV4aXN0c1N5bmMiLCJsc3RhdFN5bmMiLCJpc0RpcmVjdG9yeSIsInNlbmRGaWxlIiwiZSIsInNlcnZlUHJveHkiLCJkZXZDb25maWciLCJkZXZTZXJ2ZXIiLCJwcm94eSIsIm1pZGRsZXdhcmVzIiwibWFwIiwibWlkZGxld2FyZSIsInJlbmRlciIsImN3ZCIsImRlZmF1bHQiLCJFcnJvciIsImdldCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNlbmQiLCJzb2NrZXQiLCJvbiIsImVycm9yIiwibGlzdGVuIiwic3lzY2FsbCIsImlzUGlwZSIsInBvcnRPclBpcGUiLCJOdW1iZXIiLCJpc05hTiIsImJpbmQiLCJjb2RlIiwibWFuaWZlc3QiLCJ3aXRoIiwidHlwZSIsIndhcm4iLCJjbG9zZSIsIm1hbmlmZXN0RmlsZW5hbWUiLCJwbHVnaW5zIiwiZmluZCIsInBsdWdpbiIsImNvbnN0cnVjdG9yIiwibmFtZSIsIm9wdHMiLCJvdXRwdXQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9zZXJ2ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgY29tcHJlc3MgZnJvbSAnY29tcHJlc3Npb24nO1xuaW1wb3J0IGV4cHJlc3MsIHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZGlza0ZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IG9yYSBmcm9tICdvcmEnO1xuaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCB3ZWJwYWNrIGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgJ2Nyb3NzLWZldGNoL2Rpc3Qvbm9kZS1wb2x5ZmlsbC5qcyc7XG5pbXBvcnQgZ2V0UHJveHlNaWRkbGV3YXJlcyBmcm9tICcuL2dldFByb3h5TWlkZGxld2FyZXMuanMnO1xuaW1wb3J0IHsgZ2V0V2VicGFja0NvbmZpZyB9IGZyb20gJy4vZ2V0V2VicGFja0NvbmZpZy5qcyc7XG5pbXBvcnQgeyBSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogJHtwcm9jZXNzLmFyZ3ZbMF19IDxzZXJ2ZXItZW50cnlwb2ludD5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG4gIHNlcnZlKGVudHJ5cG9pbnQpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBzZXJ2ZShcbiAgZW50cnlwb2ludDogc3RyaW5nLFxuICBvcHRpb25zOiB7IHNlcnZlQXNzZXRzPzogYm9vbGVhbjsgc2VydmVQcm94eT86IGJvb2xlYW4gfSA9IHt9LFxuKSB7XG4gIGNvbnN0IFBPUlQgPSBwcm9jZXNzLmVudi5QT1JUIHx8IDgwODA7XG5cbiAgY29uc3QgbG9hZGVyID0gb3JhKCdJbml0aWFsaXppbmcnKS5zdGFydCgpO1xuXG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBhd2FpdCBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gICAgd2VicGFja0NvbmZpZyh7fSwgeyBtb2RlOiAncHJvZHVjdGlvbicgfSksXG4gICk7XG5cbiAgY29uc3QgcmVhZEZpbGUgPSBwcm9taXNpZnkoZGlza0ZzLnJlYWRGaWxlKTtcbiAgbGV0IHNlcnZlcjogU2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgICBGIGV4dGVuZHMgKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICkgPT4gUHJvbWlzZTx2b2lkPixcbiAgPihmbjogRikge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBuZXh0KHgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBTdGFydCB0aGUgZXhwcmVzcyBzZXJ2ZXIgYWZ0ZXIgdGhlIGZpcnN0IGNvbXBpbGF0aW9uXG4gIGFzeW5jIGZ1bmN0aW9uIGluaXRpYWxpemVBcHAoY2xpZW50TWFuaWZlc3Q6IHdlYnBhY2suU3RhdHNDb21waWxhdGlvbikge1xuICAgIGxvYWRlci5pbmZvKCdMYXVuY2hpbmcgc2VydmVyJyk7XG4gICAgaWYgKCFjbGllbnRNYW5pZmVzdCkge1xuICAgICAgbG9hZGVyLmZhaWwoJ01hbmlmZXN0IG5vdCBmb3VuZCcpO1xuICAgICAgLy8gVE9ETzogaGFuZGxlIG1vcmUgZ3JhY2VmdWxseVxuICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICB9XG5cbiAgICBjb25zdCB3cmFwcGluZ0FwcCA9IGV4cHJlc3MoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB3cmFwcGluZ0FwcC51c2UoY29tcHJlc3MoKSk7XG5cbiAgICAvLyBBU1NFVFNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZUFzc2V0cykge1xuICAgICAgd3JhcHBpbmdBcHAudXNlKFxuICAgICAgICBhc3luYyAoXG4gICAgICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgICAgIHJlczogYW55LFxuICAgICAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlsZW5hbWUgPVxuICAgICAgICAgICAgcmVxLnVybD8uc3Vic3RyaW5nKFxuICAgICAgICAgICAgICAocHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCBhcyBzdHJpbmcpLmxlbmd0aCxcbiAgICAgICAgICAgICkgPz8gJyc7XG4gICAgICAgICAgY29uc3QgYXNzZXRQYXRoID0gcGF0aC5qb2luKFxuICAgICAgICAgICAgY2xpZW50TWFuaWZlc3Qub3V0cHV0UGF0aCA/PyAnJyxcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaXNrRnMuZXhpc3RzU3luYyhhc3NldFBhdGgpICYmXG4gICAgICAgICAgICAhZGlza0ZzLmxzdGF0U3luYyhhc3NldFBhdGgpLmlzRGlyZWN0b3J5KClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIHJlcy5zZW5kRmlsZShhc3NldFBhdGgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICByZXR1cm4gbmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBQUk9YSUVTXG4gICAgaWYgKG9wdGlvbnMuc2VydmVQcm94eSkge1xuICAgICAgY29uc3QgZGV2Q29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24gPSB3ZWJwYWNrQ29uZmlnKFxuICAgICAgICB7fSxcbiAgICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnIH0sXG4gICAgICApO1xuICAgICAgaWYgKGRldkNvbmZpZy5kZXZTZXJ2ZXI/LnByb3h5KSB7XG4gICAgICAgIGNvbnN0IG1pZGRsZXdhcmVzID0gZ2V0UHJveHlNaWRkbGV3YXJlcyhkZXZDb25maWcuZGV2U2VydmVyPy5wcm94eSk7XG4gICAgICAgIGlmIChtaWRkbGV3YXJlcykge1xuICAgICAgICAgIHdyYXBwaW5nQXBwLnVzZSguLi5taWRkbGV3YXJlcy5tYXAoKHsgbWlkZGxld2FyZSB9KSA9PiBtaWRkbGV3YXJlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTRVJWRVIgU0lERSBSRU5ERVJJTkdcbiAgICBsZXQgcmVuZGVyOiBSZW5kZXIgPSAoYXdhaXQgaW1wb3J0KHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBlbnRyeXBvaW50KSkpXG4gICAgICAuZGVmYXVsdDtcblxuICAgIGlmICgnZGVmYXVsdCcgaW4gcmVuZGVyKSB7XG4gICAgICByZW5kZXIgPSByZW5kZXIuZGVmYXVsdCBhcyBhbnk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiByZW5kZXIgIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYGRlZmF1bHQgZXhwb3J0IG9mICR7cGF0aC5qb2luKFxuICAgICAgICAgIHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgZW50cnlwb2ludCxcbiAgICAgICAgKX0gaXMgbm90IGEgZnVuY3Rpb25gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB3cmFwcGluZ0FwcC5nZXQoXG4gICAgICAnLyonLFxuICAgICAgaGFuZGxlRXJyb3JzKGFzeW5jIGZ1bmN0aW9uIChyZXE6IGFueSwgcmVzOiBhbnkpIHtcbiAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgICByZXMuc2V0SGVhZGVyKCdDb250ZW50LXR5cGUnLCAndGV4dC9odG1sJyk7XG4gICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhdGFsJywgZXJyb3IpO1xuICAgICAgICB9KTtcblxuICAgICAgICBhd2FpdCByZW5kZXIoY2xpZW50TWFuaWZlc3QsIHJlcSwgcmVzKTtcbiAgICAgIH0pLFxuICAgICk7XG5cbiAgICBzZXJ2ZXIgPSB3cmFwcGluZ0FwcFxuICAgICAgLmxpc3RlbihQT1JULCAoKSA9PiB7XG4gICAgICAgIGxvYWRlci5pbmZvKGBMaXN0ZW5pbmcgYXQgJHtQT1JUfS4uLmApO1xuICAgICAgfSlcbiAgICAgIC5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyb3I6IGFueSkge1xuICAgICAgICBpZiAoZXJyb3Iuc3lzY2FsbCAhPT0gJ2xpc3RlbicpIHtcbiAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpc1BpcGUgPSAocG9ydE9yUGlwZTogc3RyaW5nIHwgbnVtYmVyKSA9PlxuICAgICAgICAgIE51bWJlci5pc05hTihwb3J0T3JQaXBlKTtcbiAgICAgICAgY29uc3QgYmluZCA9IGlzUGlwZShQT1JUKSA/ICdQaXBlICcgKyBQT1JUIDogJ1BvcnQgJyArIFBPUlQ7XG4gICAgICAgIHN3aXRjaCAoZXJyb3IuY29kZSkge1xuICAgICAgICAgIGNhc2UgJ0VBQ0NFUyc6XG4gICAgICAgICAgICBsb2FkZXIuZmFpbChiaW5kICsgJyByZXF1aXJlcyBlbGV2YXRlZCBwcml2aWxlZ2VzJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgY2FzZSAnRUFERFJJTlVTRSc6XG4gICAgICAgICAgICBsb2FkZXIuZmFpbChiaW5kICsgJyBpcyBhbHJlYWR5IGluIHVzZScpO1xuICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1mYWxsdGhyb3VnaFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBsZXQgbWFuaWZlc3QgPSBhd2FpdCBpbXBvcnQobWFuaWZlc3RQYXRoLCB7IHdpdGg6IHsgdHlwZTogJ2pzb24nIH0gfSk7XG4gIC8vIGhhbmRsZSBpbmNvbnNpc3RlbnQgaW1wb3J0IGNvbmRpdGlvbnNcbiAgaWYgKCdkZWZhdWx0JyBpbiBtYW5pZmVzdCkge1xuICAgIG1hbmlmZXN0ID0gbWFuaWZlc3QuZGVmYXVsdDtcbiAgfVxuICBhd2FpdCBpbml0aWFsaXplQXBwKG1hbmlmZXN0KTtcblxuICBwcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgbG9hZGVyLndhcm4oJ1JlY2VpdmVkIFNJR0lOVCwgZGV2c2VydmVyIHNodXR0aW5nIGRvd24nKTtcbiAgICBpZiAoc2VydmVyKSBjb25zb2xlLmxvZygnQ2xvc2luZyBzZXJ2ZXInKTtcbiAgICBzZXJ2ZXI/LmNsb3NlKCgpID0+IHtcbiAgICAgIGxvYWRlci5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gICAgfSk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnKFxuICB3ZWJwYWNrQ29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24sXG4pIHtcbiAgY29uc3QgbWFuaWZlc3RGaWxlbmFtZTogc3RyaW5nID1cbiAgICAoXG4gICAgICB3ZWJwYWNrQ29uZmlnPy5wbHVnaW5zPy5maW5kKHBsdWdpbiA9PiB7XG4gICAgICAgIHJldHVybiBwbHVnaW4/LmNvbnN0cnVjdG9yLm5hbWUgPT09ICdTdGF0c1dyaXRlclBsdWdpbic7XG4gICAgICB9KSBhcyBhbnlcbiAgICApPy5vcHRzPy5maWxlbmFtZSA/PyAnbWFuaWZlc3QuanNvbic7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gcGF0aC5qb2luKFxuICAgIHdlYnBhY2tDb25maWc/Lm91dHB1dD8ucGF0aCA/PyAnJyxcbiAg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
@@ -1,4 +1,3 @@
1
- var _process$env$WEBPACK_;
2
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
2
  export default function Document({
4
3
  assets,
@@ -43,7 +42,7 @@ const defaultHead = /*#__PURE__*/_jsxs(_Fragment, {
43
42
  content: "width=device-width, initial-scale=1"
44
43
  }), /*#__PURE__*/_jsx("link", {
45
44
  rel: "shortcut icon",
46
- href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`
45
+ href: `${process.env.WEBPACK_PUBLIC_PATH ?? '/'}favicon.ico`
47
46
  })]
48
47
  });
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJkZWZhdWx0SGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0Iiwic2NyaXB0cyIsImV4dHJhU3R5bGUiLCJsYW5nIiwiX2pzeHMiLCJfanN4IiwibWFwIiwiYXNzZXQiLCJpIiwicmVsIiwiaWQiLCJmaWx0ZXIiLCJocmVmIiwiZW5kc1dpdGgiLCJzcmMiLCJhc3luYyIsIl9GcmFnbWVudCIsIm5hbWUiLCJjb250ZW50IiwiX3Byb2Nlc3MkZW52JFdFQlBBQ0tfIiwicHJvY2VzcyIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iXSwibWFwcGluZ3MiOiI7O0FBV0EsZUFBZSxTQUFTQSxRQUFRQSxDQUFDO0VBQy9CQyxNQUFNO0VBQ05DLElBQUksR0FBR0MsV0FBVztFQUNsQkMsUUFBUTtFQUNSQyxLQUFLO0VBQ0xDLE1BQU0sR0FBRyxhQUFhO0VBQ3RCQyxPQUFPLEdBQUcsT0FBTztFQUNqQkMsT0FBTyxHQUFHLElBQUk7RUFDZEMsVUFBVTtFQUNWQztBQUNLLENBQUMsRUFBRTtFQUNSLG9CQUNFQyxLQUFBO0lBQU1ELElBQUksRUFBRUEsSUFBSztJQUFBTixRQUFBLGdCQUNmTyxLQUFBO01BQUFQLFFBQUEsZ0JBQ0VRLElBQUE7UUFBTUwsT0FBTyxFQUFFQTtNQUFRLENBQUUsQ0FBQyxFQUN6QkwsSUFBSSxFQUNKTyxVQUFVLEVBQ1ZSLE1BQU0sQ0FBQ1ksR0FBRyxDQUFDLENBQUNDLEtBQUssRUFBRUMsQ0FBQyxrQkFDbkJILElBQUE7UUFBY0ksR0FBRyxFQUFDLFNBQVM7UUFBQSxHQUFLRjtNQUFLLEdBQTFCQyxDQUE2QixDQUN6QyxDQUFDLGVBQ0ZILElBQUE7UUFBQVIsUUFBQSxFQUFRQztNQUFLLENBQVEsQ0FBQztJQUFBLENBQ2xCLENBQUMsZUFDUE0sS0FBQTtNQUFBUCxRQUFBLGdCQUNFUSxJQUFBO1FBQUtLLEVBQUUsRUFBRVgsTUFBTztRQUFBRixRQUFBLEVBQUVBO01BQVEsQ0FBTSxDQUFDLEVBQ2hDSSxPQUFPLEVBQ1BQLE1BQU0sQ0FDSmlCLE1BQU0sQ0FBQyxDQUFDO1FBQUVDO01BQUssQ0FBQyxLQUFLQSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxQ1AsR0FBRyxDQUFDLENBQUM7UUFBRU07TUFBSyxDQUFDLEVBQUVKLENBQUMsa0JBQ2ZILElBQUE7UUFBZ0JTLEdBQUcsRUFBRUYsSUFBSztRQUFDRyxLQUFLO01BQUEsR0FBbkJQLENBQXFCLENBQ25DLENBQUM7SUFBQSxDQUNBLENBQUM7RUFBQSxDQUNILENBQUM7QUFFWDtBQUNBLE1BQU1aLFdBQVcsZ0JBQ2ZRLEtBQUEsQ0FBQVksU0FBQTtFQUFBbkIsUUFBQSxnQkFDRVEsSUFBQTtJQUFNWSxJQUFJLEVBQUMsVUFBVTtJQUFDQyxPQUFPLEVBQUM7RUFBcUMsQ0FBRSxDQUFDLGVBQ3RFYixJQUFBO0lBQ0VJLEdBQUcsRUFBQyxlQUFlO0lBQ25CRyxJQUFJLEVBQUUsSUFBQU8scUJBQUEsR0FBR0MsT0FBTyxDQUFDQyxHQUFHLENBQUNDLG1CQUFtQixZQUFBSCxxQkFBQSxHQUFJLEdBQUc7RUFBYyxDQUM5RCxDQUFDO0FBQUEsQ0FDRixDQUNIIiwiaWdub3JlTGlzdCI6W119
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJkZWZhdWx0SGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0Iiwic2NyaXB0cyIsImV4dHJhU3R5bGUiLCJsYW5nIiwiX2pzeHMiLCJfanN4IiwibWFwIiwiYXNzZXQiLCJpIiwicmVsIiwiaWQiLCJmaWx0ZXIiLCJocmVmIiwiZW5kc1dpdGgiLCJzcmMiLCJhc3luYyIsIl9GcmFnbWVudCIsIm5hbWUiLCJjb250ZW50IiwicHJvY2VzcyIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgZXh0cmFTdHlsZTogUmVhY3QuUmVhY3ROb2RlO1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlO1xuICB0aXRsZTogc3RyaW5nO1xuICByb290SWQ/OiBzdHJpbmc7XG4gIGNoYXJTZXQ/OiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG59O1xuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQgPSBkZWZhdWx0SGVhZCxcbiAgY2hpbGRyZW4sXG4gIHRpdGxlLFxuICByb290SWQgPSAnYW5hbnNpLXJvb3QnLFxuICBjaGFyU2V0ID0gJ3V0Zi04JyxcbiAgc2NyaXB0cyA9IG51bGwsXG4gIGV4dHJhU3R5bGUsXG4gIGxhbmcsXG59OiBQcm9wcykge1xuICByZXR1cm4gKFxuICAgIDxodG1sIGxhbmc9e2xhbmd9PlxuICAgICAgPGhlYWQ+XG4gICAgICAgIDxtZXRhIGNoYXJTZXQ9e2NoYXJTZXR9IC8+XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5jb25zdCBkZWZhdWx0SGVhZCA9IChcbiAgPD5cbiAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgIDxsaW5rXG4gICAgICByZWw9XCJzaG9ydGN1dCBpY29uXCJcbiAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAvPlxuICA8Lz5cbik7XG4iXSwibWFwcGluZ3MiOiI7QUFXQSxlQUFlLFNBQVNBLFFBQVFBLENBQUM7RUFDL0JDLE1BQU07RUFDTkMsSUFBSSxHQUFHQyxXQUFXO0VBQ2xCQyxRQUFRO0VBQ1JDLEtBQUs7RUFDTEMsTUFBTSxHQUFHLGFBQWE7RUFDdEJDLE9BQU8sR0FBRyxPQUFPO0VBQ2pCQyxPQUFPLEdBQUcsSUFBSTtFQUNkQyxVQUFVO0VBQ1ZDO0FBQ0ssQ0FBQyxFQUFFO0VBQ1Isb0JBQ0VDLEtBQUE7SUFBTUQsSUFBSSxFQUFFQSxJQUFLO0lBQUFOLFFBQUEsZ0JBQ2ZPLEtBQUE7TUFBQVAsUUFBQSxnQkFDRVEsSUFBQTtRQUFNTCxPQUFPLEVBQUVBO01BQVEsQ0FBRSxDQUFDLEVBQ3pCTCxJQUFJLEVBQ0pPLFVBQVUsRUFDVlIsTUFBTSxDQUFDWSxHQUFHLENBQUMsQ0FBQ0MsS0FBSyxFQUFFQyxDQUFDLGtCQUNuQkgsSUFBQTtRQUFjSSxHQUFHLEVBQUMsU0FBUztRQUFBLEdBQUtGO01BQUssR0FBMUJDLENBQTZCLENBQ3pDLENBQUMsZUFDRkgsSUFBQTtRQUFBUixRQUFBLEVBQVFDO01BQUssQ0FBUSxDQUFDO0lBQUEsQ0FDbEIsQ0FBQyxlQUNQTSxLQUFBO01BQUFQLFFBQUEsZ0JBQ0VRLElBQUE7UUFBS0ssRUFBRSxFQUFFWCxNQUFPO1FBQUFGLFFBQUEsRUFBRUE7TUFBUSxDQUFNLENBQUMsRUFDaENJLE9BQU8sRUFDUFAsTUFBTSxDQUNKaUIsTUFBTSxDQUFDLENBQUM7UUFBRUM7TUFBSyxDQUFDLEtBQUtBLElBQUksQ0FBQ0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDUCxHQUFHLENBQUMsQ0FBQztRQUFFTTtNQUFLLENBQUMsRUFBRUosQ0FBQyxrQkFDZkgsSUFBQTtRQUFnQlMsR0FBRyxFQUFFRixJQUFLO1FBQUNHLEtBQUs7TUFBQSxHQUFuQlAsQ0FBcUIsQ0FDbkMsQ0FBQztJQUFBLENBQ0EsQ0FBQztFQUFBLENBQ0gsQ0FBQztBQUVYO0FBQ0EsTUFBTVosV0FBVyxnQkFDZlEsS0FBQSxDQUFBWSxTQUFBO0VBQUFuQixRQUFBLGdCQUNFUSxJQUFBO0lBQU1ZLElBQUksRUFBQyxVQUFVO0lBQUNDLE9BQU8sRUFBQztFQUFxQyxDQUFFLENBQUMsZUFDdEViLElBQUE7SUFDRUksR0FBRyxFQUFDLGVBQWU7SUFDbkJHLElBQUksRUFBRSxHQUFHTyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsbUJBQW1CLElBQUksR0FBRztFQUFjLENBQzlELENBQUM7QUFBQSxDQUNGLENBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -2,15 +2,14 @@ import React from 'react';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  export default function antdSpout() {
4
4
  return next => async props => {
5
- var _nextProps$scripts;
6
5
  const {
7
6
  createCache,
8
7
  extractStyle,
9
8
  StyleProvider
10
- } = await import('@ant-design/cssinjs');
9
+ } = await import(/* webpackIgnore: true */'@ant-design/cssinjs');
11
10
  const cache = createCache();
12
11
  const nextProps = await next(props);
13
- const scripts = (_nextProps$scripts = nextProps.scripts) != null ? _nextProps$scripts : [];
12
+ const scripts = nextProps.scripts ?? [];
14
13
  const AntdSheets = () => {
15
14
  return /*#__PURE__*/_jsx("script", {
16
15
  dangerouslySetInnerHTML: {
@@ -31,4 +30,4 @@ export default function antdSpout() {
31
30
  };
32
31
  };
33
32
  }
34
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJBbnRkU2hlZXRzIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgJ0BhbnQtZGVzaWduL2Nzc2luanMnXG4gICAgKTtcbiAgICBjb25zdCBjYWNoZSA9IGNyZWF0ZUNhY2hlKCk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgIGNvbnN0IHNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZVtdID0gbmV4dFByb3BzLnNjcmlwdHMgPz8gW107XG5cbiAgICBjb25zdCBBbnRkU2hlZXRzID0gKCk6IEpTWC5FbGVtZW50ID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzY3JpcHRcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBgPC9zY3JpcHQ+JHtleHRyYWN0U3R5bGUoY2FjaGUpfTxzY3JpcHQ+YCxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9O1xuICAgIC8vIHVuZm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBpbmplY3QgdGhpcyBhZnRlciB0aGUgZW50aXJlIGNvbnRlbnQgaGFzIHN0cmVhbWVkIGluIG9yIGl0IGRvZXNuJ3QgY29ycmVjdGx5IHBvcHVsYXRlXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9jc3NpbmpzL2lzc3Vlcy83OVxuICAgIHNjcmlwdHMucHVzaCg8QW50ZFNoZWV0cyAvPik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiA8U3R5bGVQcm92aWRlciBjYWNoZT17Y2FjaGV9PntuZXh0UHJvcHMuYXBwfTwvU3R5bGVQcm92aWRlcj4sXG4gICAgICBzY3JpcHRzLFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLE9BQU9BLEtBQUssTUFBb0IsT0FBTztBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVV4QyxlQUFlLFNBQVNDLFNBQVNBLENBQUEsRUFJL0I7RUFDQSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQUEsSUFBQUMsa0JBQUE7SUFDNUIsTUFBTTtNQUFFQyxXQUFXO01BQUVDLFlBQVk7TUFBRUM7SUFBYyxDQUFDLEdBQUcsTUFBTSxNQUFNLENBQy9ELHFCQUNGLENBQUM7SUFDRCxNQUFNQyxLQUFLLEdBQUdILFdBQVcsQ0FBQyxDQUFDO0lBRTNCLE1BQU1JLFNBQVMsR0FBRyxNQUFNUCxJQUFJLENBQUNDLEtBQUssQ0FBQztJQUVuQyxNQUFNTyxPQUEwQixJQUFBTixrQkFBQSxHQUFHSyxTQUFTLENBQUNDLE9BQU8sWUFBQU4sa0JBQUEsR0FBSSxFQUFFO0lBRTFELE1BQU1PLFVBQVUsR0FBR0EsQ0FBQSxLQUFtQjtNQUNwQyxvQkFDRVgsSUFBQTtRQUNFWSx1QkFBdUIsRUFBRTtVQUN2QkMsTUFBTSxFQUFFLFlBQVlQLFlBQVksQ0FBQ0UsS0FBSyxDQUFDO1FBQ3pDO01BQUUsQ0FDSCxDQUFDO0lBRU4sQ0FBQztJQUNEO0lBQ0E7SUFDQUUsT0FBTyxDQUFDSSxJQUFJLGNBQUNkLElBQUEsQ0FBQ1csVUFBVSxJQUFFLENBQUMsQ0FBQztJQUU1QixPQUFPO01BQ0wsR0FBR0YsU0FBUztNQUNaTSxHQUFHLGVBQUVmLElBQUEsQ0FBQ08sYUFBYTtRQUFDQyxLQUFLLEVBQUVBLEtBQU07UUFBQVEsUUFBQSxFQUFFUCxTQUFTLENBQUNNO01BQUcsQ0FBZ0IsQ0FBQztNQUNqRUw7SUFDRixDQUFDO0VBQ0gsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
33
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJBbnRkU2hlZXRzIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIGNvbnN0IEFudGRTaGVldHMgPSAoKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNjcmlwdFxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8L3NjcmlwdD4ke2V4dHJhY3RTdHlsZShjYWNoZSl9PHNjcmlwdD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH07XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxNQUFvQixPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVXhDLGVBQWUsU0FBU0MsU0FBU0EsQ0FBQSxFQUkvQjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFDNUIsTUFBTTtNQUFFQyxXQUFXO01BQUVDLFlBQVk7TUFBRUM7SUFBYyxDQUFDLEdBQUcsTUFBTSxNQUFNLENBQy9ELHlCQUEwQixxQkFDNUIsQ0FBQztJQUNELE1BQU1DLEtBQUssR0FBR0gsV0FBVyxDQUFDLENBQUM7SUFFM0IsTUFBTUksU0FBUyxHQUFHLE1BQU1OLElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBRW5DLE1BQU1NLE9BQTBCLEdBQUdELFNBQVMsQ0FBQ0MsT0FBTyxJQUFJLEVBQUU7SUFFMUQsTUFBTUMsVUFBVSxHQUFHQSxDQUFBLEtBQW1CO01BQ3BDLG9CQUNFVixJQUFBO1FBQ0VXLHVCQUF1QixFQUFFO1VBQ3ZCQyxNQUFNLEVBQUUsWUFBWVAsWUFBWSxDQUFDRSxLQUFLLENBQUM7UUFDekM7TUFBRSxDQUNILENBQUM7SUFFTixDQUFDO0lBQ0Q7SUFDQTtJQUNBRSxPQUFPLENBQUNJLElBQUksY0FBQ2IsSUFBQSxDQUFDVSxVQUFVLElBQUUsQ0FBQyxDQUFDO0lBRTVCLE9BQU87TUFDTCxHQUFHRixTQUFTO01BQ1pNLEdBQUcsZUFBRWQsSUFBQSxDQUFDTSxhQUFhO1FBQUNDLEtBQUssRUFBRUEsS0FBTTtRQUFBUSxRQUFBLEVBQUVQLFNBQVMsQ0FBQ007TUFBRyxDQUFnQixDQUFDO01BQ2pFTDtJQUNGLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
@@ -16,10 +16,10 @@ export default function dataClientSpout(options = {}) {
16
16
  ...nextProps,
17
17
  app: /*#__PURE__*/_jsx(DataProvider, {
18
18
  initialState: data,
19
- managers: options == null || options.getManagers == null ? void 0 : options.getManagers(),
19
+ managers: options?.getManagers?.(),
20
20
  children: nextProps.app
21
21
  })
22
22
  };
23
23
  };
24
24
  }
25
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbml0aWFsU3RhdGUiLCJqc3giLCJfanN4IiwiZGF0YUNsaWVudFNwb3V0Iiwib3B0aW9ucyIsIm5leHQiLCJwcm9wcyIsIm5leHRQcm9wcyIsImRhdGEiLCJEYXRhUHJvdmlkZXIiLCJQcm9taXNlIiwiYWxsIiwiZ2V0SW5pdGlhbERhdGEiLCJjYXRjaCIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJhcHAiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2RhdGFDbGllbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTWFuYWdlciB9IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5pbXBvcnQgeyBpbml0aWFsU3RhdGUgfSBmcm9tICdAZGF0YS1jbGllbnQvcmVhY3QvcmVkdXgnO1xuXG5pbXBvcnQgdHlwZSB7IENsaWVudFNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRhdGFDbGllbnRTcG91dChcbiAgb3B0aW9uczoge1xuICAgIGdldE1hbmFnZXJzPzogKCkgPT4gTWFuYWdlcltdO1xuICB9ID0ge30sXG4pOiBDbGllbnRTcG91dDx7IGdldEluaXRpYWxEYXRhOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8YW55PiB9PiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcbiAgICBjb25zdCBbZGF0YSwgeyBEYXRhUHJvdmlkZXIgfV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBwcm9wcy5nZXRJbml0aWFsRGF0YSgnZGF0YWNsaWVudCcpLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdEYXRhIENsaWVudCBpbml0aWFsIGRhdGEgY291bGQgbm90IGxvYWQ6JywgZSk7XG4gICAgICAgIHJldHVybiBpbml0aWFsU3RhdGU7XG4gICAgICB9KSxcbiAgICAgIGltcG9ydCgnLi9kYXRhQ2xpZW50LnByb3ZpZGVyLmpzJyksXG4gICAgXSk7XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0RhdGEgQ2xpZW50IGluaXQgZGF0YSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxEYXRhUHJvdmlkZXIgaW5pdGlhbFN0YXRlPXtkYXRhfSBtYW5hZ2Vycz17b3B0aW9ucz8uZ2V0TWFuYWdlcnM/LigpfT5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9EYXRhUHJvdmlkZXI+XG4gICAgICApLFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFlBQVksUUFBUSwwQkFBMEI7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFJeEQsZUFBZSxTQUFTQyxlQUFlQSxDQUNyQ0MsT0FFQyxHQUFHLENBQUMsQ0FBQyxFQUMwRDtFQUNoRSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQzVCLE1BQU1DLFNBQVMsR0FBRyxNQUFNRixJQUFJLENBQUNDLEtBQUssQ0FBQztJQUNuQyxNQUFNLENBQUNFLElBQUksRUFBRTtNQUFFQztJQUFhLENBQUMsQ0FBQyxHQUFHLE1BQU1DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLENBQ2pETCxLQUFLLENBQUNNLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQ0MsS0FBSyxDQUFDQyxDQUFDLElBQUk7TUFDNUNDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDBDQUEwQyxFQUFFRixDQUFDLENBQUM7TUFDNUQsT0FBT2QsWUFBWTtJQUNyQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FDbkMsQ0FBQztJQUVGLElBQUksQ0FBQ1EsSUFBSSxFQUFFO01BQ1RPLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLGlDQUFpQyxDQUFDO0lBQ2xEO0lBRUEsT0FBTztNQUNMLEdBQUdULFNBQVM7TUFDWlUsR0FBRyxlQUNEZixJQUFBLENBQUNPLFlBQVk7UUFBQ1QsWUFBWSxFQUFFUSxJQUFLO1FBQUNVLFFBQVEsRUFBRWQsT0FBTyxZQUFQQSxPQUFPLENBQUVlLFdBQVcsb0JBQXBCZixPQUFPLENBQUVlLFdBQVcsQ0FBRyxDQUFFO1FBQUFDLFFBQUEsRUFDbEViLFNBQVMsQ0FBQ1U7TUFBRyxDQUNGO0lBRWxCLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
25
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpbml0aWFsU3RhdGUiLCJqc3giLCJfanN4IiwiZGF0YUNsaWVudFNwb3V0Iiwib3B0aW9ucyIsIm5leHQiLCJwcm9wcyIsIm5leHRQcm9wcyIsImRhdGEiLCJEYXRhUHJvdmlkZXIiLCJQcm9taXNlIiwiYWxsIiwiZ2V0SW5pdGlhbERhdGEiLCJjYXRjaCIsImUiLCJjb25zb2xlIiwiZXJyb3IiLCJhcHAiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2RhdGFDbGllbnQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgTWFuYWdlciB9IGZyb20gJ0BkYXRhLWNsaWVudC9yZWFjdCc7XG5pbXBvcnQgeyBpbml0aWFsU3RhdGUgfSBmcm9tICdAZGF0YS1jbGllbnQvcmVhY3QvcmVkdXgnO1xuXG5pbXBvcnQgdHlwZSB7IENsaWVudFNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRhdGFDbGllbnRTcG91dChcbiAgb3B0aW9uczoge1xuICAgIGdldE1hbmFnZXJzPzogKCkgPT4gTWFuYWdlcltdO1xuICB9ID0ge30sXG4pOiBDbGllbnRTcG91dDx7IGdldEluaXRpYWxEYXRhOiAoa2V5OiBzdHJpbmcpID0+IFByb21pc2U8YW55PiB9PiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcbiAgICBjb25zdCBbZGF0YSwgeyBEYXRhUHJvdmlkZXIgfV0gPSBhd2FpdCBQcm9taXNlLmFsbChbXG4gICAgICBwcm9wcy5nZXRJbml0aWFsRGF0YSgnZGF0YWNsaWVudCcpLmNhdGNoKGUgPT4ge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdEYXRhIENsaWVudCBpbml0aWFsIGRhdGEgY291bGQgbm90IGxvYWQ6JywgZSk7XG4gICAgICAgIHJldHVybiBpbml0aWFsU3RhdGU7XG4gICAgICB9KSxcbiAgICAgIGltcG9ydCgnLi9kYXRhQ2xpZW50LnByb3ZpZGVyLmpzJyksXG4gICAgXSk7XG5cbiAgICBpZiAoIWRhdGEpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0RhdGEgQ2xpZW50IGluaXQgZGF0YSBub3QgZm91bmQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxEYXRhUHJvdmlkZXIgaW5pdGlhbFN0YXRlPXtkYXRhfSBtYW5hZ2Vycz17b3B0aW9ucz8uZ2V0TWFuYWdlcnM/LigpfT5cbiAgICAgICAgICB7bmV4dFByb3BzLmFwcH1cbiAgICAgICAgPC9EYXRhUHJvdmlkZXI+XG4gICAgICApLFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiJBQUNBLFNBQVNBLFlBQVksUUFBUSwwQkFBMEI7QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFJeEQsZUFBZSxTQUFTQyxlQUFlQSxDQUNyQ0MsT0FFQyxHQUFHLENBQUMsQ0FBQyxFQUMwRDtFQUNoRSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQzVCLE1BQU1DLFNBQVMsR0FBRyxNQUFNRixJQUFJLENBQUNDLEtBQUssQ0FBQztJQUNuQyxNQUFNLENBQUNFLElBQUksRUFBRTtNQUFFQztJQUFhLENBQUMsQ0FBQyxHQUFHLE1BQU1DLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDLENBQ2pETCxLQUFLLENBQUNNLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQ0MsS0FBSyxDQUFDQyxDQUFDLElBQUk7TUFDNUNDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDBDQUEwQyxFQUFFRixDQUFDLENBQUM7TUFDNUQsT0FBT2QsWUFBWTtJQUNyQixDQUFDLENBQUMsRUFDRixNQUFNLENBQUMsMEJBQTBCLENBQUMsQ0FDbkMsQ0FBQztJQUVGLElBQUksQ0FBQ1EsSUFBSSxFQUFFO01BQ1RPLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLGlDQUFpQyxDQUFDO0lBQ2xEO0lBRUEsT0FBTztNQUNMLEdBQUdULFNBQVM7TUFDWlUsR0FBRyxlQUNEZixJQUFBLENBQUNPLFlBQVk7UUFBQ1QsWUFBWSxFQUFFUSxJQUFLO1FBQUNVLFFBQVEsRUFBRWQsT0FBTyxFQUFFZSxXQUFXLEdBQUcsQ0FBRTtRQUFBQyxRQUFBLEVBQ2xFYixTQUFTLENBQUNVO01BQUcsQ0FDRjtJQUVsQixDQUFDO0VBQ0gsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
@@ -1,8 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  export default function dataClientSpout(options = {}) {
3
3
  return next => async props => {
4
- var _options$getManagers;
5
- const managers = (_options$getManagers = options == null || options.getManagers == null ? void 0 : options.getManagers()) != null ? _options$getManagers : [new (await import('@data-client/react')).NetworkManager()];
4
+ const managers = options?.getManagers?.() ?? [new (await import('@data-client/react')).NetworkManager()];
6
5
  const {
7
6
  createPersistedStore
8
7
  } = await import('@data-client/react/ssr');
@@ -27,4 +26,4 @@ export default function dataClientSpout(options = {}) {
27
26
  };
28
27
  };
29
28
  }
30
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkYXRhQ2xpZW50U3BvdXQiLCJvcHRpb25zIiwibmV4dCIsInByb3BzIiwiX29wdGlvbnMkZ2V0TWFuYWdlcnMiLCJtYW5hZ2VycyIsImdldE1hbmFnZXJzIiwiTmV0d29ya01hbmFnZXIiLCJjcmVhdGVQZXJzaXN0ZWRTdG9yZSIsIlNlcnZlckRhdGFQcm92aWRlciIsInVzZVJlYWR5Q2FjaGVTdGF0ZSIsImNvbnRyb2xsZXIiLCJzdG9yZSIsIm5leHRQcm9wcyIsImluaXREYXRhIiwiZGF0YWNsaWVudCIsImFwcCIsIl9qc3giLCJjaGlsZHJlbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zcG91dHMvZGF0YUNsaWVudC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIHR5cGUgQ29udHJvbGxlcixcbiAgdHlwZSBNYW5hZ2VyLFxuICB0eXBlIFN0YXRlLFxuICB0eXBlIFN0b3JlLFxufSBmcm9tICdAZGF0YS1jbGllbnQvcmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGRhdGFDbGllbnRTcG91dChcbiAgb3B0aW9uczoge1xuICAgIGdldE1hbmFnZXJzPzogKCkgPT4gTWFuYWdlcltdO1xuICB9ID0ge30sXG4pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIHsgY29udHJvbGxlcjogQ29udHJvbGxlciB9ICYgeyBzdG9yZTogU3RvcmU8U3RhdGU8dW5rbm93bj4+IH0sXG4gIHsgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjsgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdIH1cbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgbWFuYWdlcnMgPSBvcHRpb25zPy5nZXRNYW5hZ2Vycz8uKCkgPz8gW1xuICAgICAgbmV3IChhd2FpdCBpbXBvcnQoJ0BkYXRhLWNsaWVudC9yZWFjdCcpKS5OZXR3b3JrTWFuYWdlcigpLFxuICAgIF07XG4gICAgY29uc3QgeyBjcmVhdGVQZXJzaXN0ZWRTdG9yZSB9ID0gYXdhaXQgaW1wb3J0KCdAZGF0YS1jbGllbnQvcmVhY3Qvc3NyJyk7XG4gICAgY29uc3QgW1NlcnZlckRhdGFQcm92aWRlciwgdXNlUmVhZHlDYWNoZVN0YXRlLCBjb250cm9sbGVyLCBzdG9yZV0gPVxuICAgICAgY3JlYXRlUGVyc2lzdGVkU3RvcmUobWFuYWdlcnMpO1xuXG4gICAgY29uc3QgbmV4dFByb3BzID0gYXdhaXQgbmV4dCh7XG4gICAgICAuLi5wcm9wcyxcbiAgICAgIGNvbnRyb2xsZXIsXG4gICAgICBzdG9yZSxcbiAgICB9KTtcbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgaW5pdERhdGE6IHtcbiAgICAgICAgLi4ubmV4dFByb3BzLmluaXREYXRhLFxuICAgICAgICBkYXRhY2xpZW50OiB1c2VSZWFkeUNhY2hlU3RhdGUsXG4gICAgICB9LFxuICAgICAgYXBwOiA8U2VydmVyRGF0YVByb3ZpZGVyPntuZXh0UHJvcHMuYXBwfTwvU2VydmVyRGF0YVByb3ZpZGVyPixcbiAgICAgIC8vIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG9ubHkgaW5qZWN0IGluIG5leHQgYW5kIG5vdCBoYXZlIHRvIGFsc28gcHV0IGhlcmVcbiAgICAgIGNvbnRyb2xsZXIsXG4gICAgICBzdG9yZSxcbiAgICB9O1xuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBU0EsZUFBZSxTQUFTQSxlQUFlQSxDQUNyQ0MsT0FFQyxHQUFHLENBQUMsQ0FBQyxFQUtOO0VBQ0EsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUFBLElBQUFDLG9CQUFBO0lBQzVCLE1BQU1DLFFBQVEsSUFBQUQsb0JBQUEsR0FBR0gsT0FBTyxZQUFQQSxPQUFPLENBQUVLLFdBQVcsb0JBQXBCTCxPQUFPLENBQUVLLFdBQVcsQ0FBRyxDQUFDLFlBQUFGLG9CQUFBLEdBQUksQ0FDM0MsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQUVHLGNBQWMsQ0FBQyxDQUFDLENBQzFEO0lBQ0QsTUFBTTtNQUFFQztJQUFxQixDQUFDLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUM7SUFDdkUsTUFBTSxDQUFDQyxrQkFBa0IsRUFBRUMsa0JBQWtCLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFDLEdBQy9ESixvQkFBb0IsQ0FBQ0gsUUFBUSxDQUFDO0lBRWhDLE1BQU1RLFNBQVMsR0FBRyxNQUFNWCxJQUFJLENBQUM7TUFDM0IsR0FBR0MsS0FBSztNQUNSUSxVQUFVO01BQ1ZDO0lBQ0YsQ0FBQyxDQUFDO0lBQ0YsT0FBTztNQUNMLEdBQUdDLFNBQVM7TUFDWkMsUUFBUSxFQUFFO1FBQ1IsR0FBR0QsU0FBUyxDQUFDQyxRQUFRO1FBQ3JCQyxVQUFVLEVBQUVMO01BQ2QsQ0FBQztNQUNETSxHQUFHLGVBQUVDLElBQUEsQ0FBQ1Isa0JBQWtCO1FBQUFTLFFBQUEsRUFBRUwsU0FBUyxDQUFDRztNQUFHLENBQXFCLENBQUM7TUFDN0Q7TUFDQUwsVUFBVTtNQUNWQztJQUNGLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
29
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJkYXRhQ2xpZW50U3BvdXQiLCJvcHRpb25zIiwibmV4dCIsInByb3BzIiwibWFuYWdlcnMiLCJnZXRNYW5hZ2VycyIsIk5ldHdvcmtNYW5hZ2VyIiwiY3JlYXRlUGVyc2lzdGVkU3RvcmUiLCJTZXJ2ZXJEYXRhUHJvdmlkZXIiLCJ1c2VSZWFkeUNhY2hlU3RhdGUiLCJjb250cm9sbGVyIiwic3RvcmUiLCJuZXh0UHJvcHMiLCJpbml0RGF0YSIsImRhdGFjbGllbnQiLCJhcHAiLCJfanN4IiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc3BvdXRzL2RhdGFDbGllbnQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICB0eXBlIENvbnRyb2xsZXIsXG4gIHR5cGUgTWFuYWdlcixcbiAgdHlwZSBTdGF0ZSxcbiAgdHlwZSBTdG9yZSxcbn0gZnJvbSAnQGRhdGEtY2xpZW50L3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBkYXRhQ2xpZW50U3BvdXQoXG4gIG9wdGlvbnM6IHtcbiAgICBnZXRNYW5hZ2Vycz86ICgpID0+IE1hbmFnZXJbXTtcbiAgfSA9IHt9LFxuKTogU2VydmVyU3BvdXQ8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICB7IGNvbnRyb2xsZXI6IENvbnRyb2xsZXIgfSAmIHsgc3RvcmU6IFN0b3JlPFN0YXRlPHVua25vd24+PiB9LFxuICB7IGluaXREYXRhPzogUmVjb3JkPHN0cmluZywgKCkgPT4gdW5rbm93bj47IHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXSB9XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG1hbmFnZXJzID0gb3B0aW9ucz8uZ2V0TWFuYWdlcnM/LigpID8/IFtcbiAgICAgIG5ldyAoYXdhaXQgaW1wb3J0KCdAZGF0YS1jbGllbnQvcmVhY3QnKSkuTmV0d29ya01hbmFnZXIoKSxcbiAgICBdO1xuICAgIGNvbnN0IHsgY3JlYXRlUGVyc2lzdGVkU3RvcmUgfSA9IGF3YWl0IGltcG9ydCgnQGRhdGEtY2xpZW50L3JlYWN0L3NzcicpO1xuICAgIGNvbnN0IFtTZXJ2ZXJEYXRhUHJvdmlkZXIsIHVzZVJlYWR5Q2FjaGVTdGF0ZSwgY29udHJvbGxlciwgc3RvcmVdID1cbiAgICAgIGNyZWF0ZVBlcnNpc3RlZFN0b3JlKG1hbmFnZXJzKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQoe1xuICAgICAgLi4ucHJvcHMsXG4gICAgICBjb250cm9sbGVyLFxuICAgICAgc3RvcmUsXG4gICAgfSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGluaXREYXRhOiB7XG4gICAgICAgIC4uLm5leHRQcm9wcy5pbml0RGF0YSxcbiAgICAgICAgZGF0YWNsaWVudDogdXNlUmVhZHlDYWNoZVN0YXRlLFxuICAgICAgfSxcbiAgICAgIGFwcDogPFNlcnZlckRhdGFQcm92aWRlcj57bmV4dFByb3BzLmFwcH08L1NlcnZlckRhdGFQcm92aWRlcj4sXG4gICAgICAvLyBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBvbmx5IGluamVjdCBpbiBuZXh0IGFuZCBub3QgaGF2ZSB0byBhbHNvIHB1dCBoZXJlXG4gICAgICBjb250cm9sbGVyLFxuICAgICAgc3RvcmUsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQVNBLGVBQWUsU0FBU0EsZUFBZUEsQ0FDckNDLE9BRUMsR0FBRyxDQUFDLENBQUMsRUFLTjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFDNUIsTUFBTUMsUUFBUSxHQUFHSCxPQUFPLEVBQUVJLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FDM0MsSUFBSSxDQUFDLE1BQU0sTUFBTSxDQUFDLG9CQUFvQixDQUFDLEVBQUVDLGNBQWMsQ0FBQyxDQUFDLENBQzFEO0lBQ0QsTUFBTTtNQUFFQztJQUFxQixDQUFDLEdBQUcsTUFBTSxNQUFNLENBQUMsd0JBQXdCLENBQUM7SUFDdkUsTUFBTSxDQUFDQyxrQkFBa0IsRUFBRUMsa0JBQWtCLEVBQUVDLFVBQVUsRUFBRUMsS0FBSyxDQUFDLEdBQy9ESixvQkFBb0IsQ0FBQ0gsUUFBUSxDQUFDO0lBRWhDLE1BQU1RLFNBQVMsR0FBRyxNQUFNVixJQUFJLENBQUM7TUFDM0IsR0FBR0MsS0FBSztNQUNSTyxVQUFVO01BQ1ZDO0lBQ0YsQ0FBQyxDQUFDO0lBQ0YsT0FBTztNQUNMLEdBQUdDLFNBQVM7TUFDWkMsUUFBUSxFQUFFO1FBQ1IsR0FBR0QsU0FBUyxDQUFDQyxRQUFRO1FBQ3JCQyxVQUFVLEVBQUVMO01BQ2QsQ0FBQztNQUNETSxHQUFHLGVBQUVDLElBQUEsQ0FBQ1Isa0JBQWtCO1FBQUFTLFFBQUEsRUFBRUwsU0FBUyxDQUFDRztNQUFHLENBQXFCLENBQUM7TUFDN0Q7TUFDQUwsVUFBVTtNQUNWQztJQUNGLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=