@anansi/core 0.16.3 → 0.16.4

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.
@@ -1,15 +1,20 @@
1
1
  #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ exports.__esModule = true;
6
+ exports.default = serve;
7
+ var _compression = _interopRequireDefault(require("compression"));
8
+ var _express = _interopRequireDefault(require("express"));
9
+ var _fs = _interopRequireDefault(require("fs"));
10
+ var _ora = _interopRequireDefault(require("ora"));
11
+ var _path = _interopRequireDefault(require("path"));
12
+ var _util = require("util");
13
+ require("cross-fetch/polyfill");
14
+ var _getProxyMiddlewares = _interopRequireDefault(require("./getProxyMiddlewares"));
2
15
  Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
3
16
  return Object.prototype.hasOwnProperty.call(it, key);
4
17
  };
5
- import compress from 'compression';
6
- import express from 'express';
7
- import diskFs from 'fs';
8
- import ora from 'ora';
9
- import path from 'path';
10
- import { promisify } from 'util';
11
- import 'cross-fetch/polyfill';
12
- import getProxyMiddlewares from './getProxyMiddlewares';
13
18
  // run directly from node
14
19
  if (require.main === module) {
15
20
  const entrypoint = process.argv[2];
@@ -19,16 +24,16 @@ if (require.main === module) {
19
24
  }
20
25
  serve(entrypoint);
21
26
  }
22
- export default function serve(entrypoint, options = {}) {
27
+ function serve(entrypoint, options = {}) {
23
28
  const PORT = process.env.PORT || 8080;
24
- const loader = ora('Initializing').start();
29
+ const loader = (0, _ora.default)('Initializing').start();
25
30
  const webpackConfig = require(require.resolve(
26
31
  // TODO: use normal resolution algorithm to find webpack file
27
- path.join(process.cwd(), 'webpack.config')));
32
+ _path.default.join(process.cwd(), 'webpack.config')));
28
33
  const manifestPath = getManifestPathFromWebpackconfig(webpackConfig({}, {
29
34
  mode: 'production'
30
35
  }));
31
- const readFile = promisify(diskFs.readFile);
36
+ const readFile = (0, _util.promisify)(_fs.default.readFile);
32
37
  let server;
33
38
  function handleErrors(fn) {
34
39
  return async function (req, res, next) {
@@ -48,18 +53,18 @@ export default function serve(entrypoint, options = {}) {
48
53
  // TODO: handle more gracefully
49
54
  process.exit(-1);
50
55
  }
51
- const wrappingApp = express();
56
+ const wrappingApp = (0, _express.default)();
52
57
  // eslint-disable-next-line
53
58
  //@ts-ignore
54
- wrappingApp.use(compress());
59
+ wrappingApp.use((0, _compression.default)());
55
60
 
56
61
  // ASSETS
57
62
  if (options.serveAssets) {
58
63
  wrappingApp.use(async (req, res, next) => {
59
64
  var _req$url$substr, _req$url, _clientManifest$outpu;
60
65
  const filename = (_req$url$substr = (_req$url = req.url) == null ? void 0 : _req$url.substr(process.env.WEBPACK_PUBLIC_PATH.length)) != null ? _req$url$substr : '';
61
- const assetPath = path.join((_clientManifest$outpu = clientManifest.outputPath) != null ? _clientManifest$outpu : '', filename);
62
- if (diskFs.existsSync(assetPath) && !diskFs.lstatSync(assetPath).isDirectory()) {
66
+ const assetPath = _path.default.join((_clientManifest$outpu = clientManifest.outputPath) != null ? _clientManifest$outpu : '', filename);
67
+ if (_fs.default.existsSync(assetPath) && !_fs.default.lstatSync(assetPath).isDirectory()) {
63
68
  try {
64
69
  const fileContent = (await readFile(assetPath)).toString();
65
70
  res.contentType(filename);
@@ -81,7 +86,7 @@ export default function serve(entrypoint, options = {}) {
81
86
  });
82
87
  if ((_devConfig$devServer = devConfig.devServer) != null && _devConfig$devServer.proxy) {
83
88
  var _devConfig$devServer2;
84
- const middlewares = getProxyMiddlewares((_devConfig$devServer2 = devConfig.devServer) == null ? void 0 : _devConfig$devServer2.proxy);
89
+ const middlewares = (0, _getProxyMiddlewares.default)((_devConfig$devServer2 = devConfig.devServer) == null ? void 0 : _devConfig$devServer2.proxy);
85
90
  if (middlewares) {
86
91
  wrappingApp.use(...middlewares.map(({
87
92
  middleware
@@ -92,7 +97,7 @@ export default function serve(entrypoint, options = {}) {
92
97
 
93
98
  // SERVER SIDE RENDERING
94
99
  // eslint-disable-next-line @typescript-eslint/no-var-requires
95
- const render = require(path.join(process.cwd(), entrypoint)).default;
100
+ const render = require(_path.default.join(process.cwd(), entrypoint)).default;
96
101
  wrappingApp.get('/*', handleErrors(async function (req, res) {
97
102
  if (req.url.endsWith('favicon.ico')) {
98
103
  res.statusCode = 404;
@@ -145,7 +150,7 @@ function getManifestPathFromWebpackconfig(webpackConfig) {
145
150
  const manifestFilename = (_opts$filename = webpackConfig == null ? void 0 : (_webpackConfig$plugin = webpackConfig.plugins) == null ? void 0 : (_webpackConfig$plugin2 = _webpackConfig$plugin.find(plugin => {
146
151
  return plugin.constructor.name === 'StatsWriterPlugin';
147
152
  })) == null ? void 0 : (_webpackConfig$plugin3 = _webpackConfig$plugin2.opts) == null ? void 0 : _webpackConfig$plugin3.filename) != null ? _opts$filename : 'manifest.json';
148
- const manifestPath = path.join((_webpackConfig$output = webpackConfig == null ? void 0 : (_webpackConfig$output2 = webpackConfig.output) == null ? void 0 : _webpackConfig$output2.path) != null ? _webpackConfig$output : '', manifestFilename);
153
+ const manifestPath = _path.default.join((_webpackConfig$output = webpackConfig == null ? void 0 : (_webpackConfig$output2 = webpackConfig.output) == null ? void 0 : _webpackConfig$output2.path) != null ? _webpackConfig$output : '', manifestFilename);
149
154
  return manifestPath;
150
155
  }
151
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImNvbXByZXNzIiwiZXhwcmVzcyIsImRpc2tGcyIsIm9yYSIsInBhdGgiLCJwcm9taXNpZnkiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwicmVxdWlyZSIsIm1haW4iLCJtb2R1bGUiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInNlcnZlIiwib3B0aW9ucyIsIlBPUlQiLCJlbnYiLCJsb2FkZXIiLCJzdGFydCIsIndlYnBhY2tDb25maWciLCJyZXNvbHZlIiwiam9pbiIsImN3ZCIsIm1hbmlmZXN0UGF0aCIsImdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnIiwibW9kZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRpYWxpemVBcHAiLCJjbGllbnRNYW5pZmVzdCIsImluZm8iLCJmYWlsIiwid3JhcHBpbmdBcHAiLCJ1c2UiLCJzZXJ2ZUFzc2V0cyIsImZpbGVuYW1lIiwidXJsIiwic3Vic3RyIiwiV0VCUEFDS19QVUJMSUNfUEFUSCIsImxlbmd0aCIsImFzc2V0UGF0aCIsIm91dHB1dFBhdGgiLCJleGlzdHNTeW5jIiwibHN0YXRTeW5jIiwiaXNEaXJlY3RvcnkiLCJmaWxlQ29udGVudCIsInRvU3RyaW5nIiwiY29udGVudFR5cGUiLCJzZW5kIiwiZSIsInNlcnZlUHJveHkiLCJkZXZDb25maWciLCJkZXZTZXJ2ZXIiLCJwcm94eSIsIm1pZGRsZXdhcmVzIiwibWFwIiwibWlkZGxld2FyZSIsInJlbmRlciIsImRlZmF1bHQiLCJnZXQiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzb2NrZXQiLCJvbiIsImVycm9yIiwibGlzdGVuIiwic3lzY2FsbCIsImlzUGlwZSIsInBvcnRPclBpcGUiLCJOdW1iZXIiLCJpc05hTiIsImJpbmQiLCJjb2RlIiwid2FybiIsImNsb3NlIiwibWFuaWZlc3RGaWxlbmFtZSIsInBsdWdpbnMiLCJmaW5kIiwicGx1Z2luIiwiY29uc3RydWN0b3IiLCJuYW1lIiwib3B0cyIsIm91dHB1dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3NlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCBjb21wcmVzcyBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgZXhwcmVzcywgeyBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBkaXNrRnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgd2ViIH0gZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvcG9seWZpbGwnO1xuaW1wb3J0IGdldFByb3h5TWlkZGxld2FyZXMgZnJvbSAnLi9nZXRQcm94eU1pZGRsZXdhcmVzJztcbmltcG9ydCB7IFJlbmRlciB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHtcbiAgY29uc3QgZW50cnlwb2ludCA9IHByb2Nlc3MuYXJndlsyXTtcblxuICBpZiAoIWVudHJ5cG9pbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgVXNhZ2U6ICR7cHJvY2Vzcy5hcmd2WzBdfSA8c2VydmVyLWVudHJ5cG9pbnQ+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuICBzZXJ2ZShlbnRyeXBvaW50KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2VydmUoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgb3B0aW9uczogeyBzZXJ2ZUFzc2V0cz86IGJvb2xlYW47IHNlcnZlUHJveHk/OiBib29sZWFuIH0gPSB7fSxcbikge1xuICBjb25zdCBQT1JUID0gcHJvY2Vzcy5lbnYuUE9SVCB8fCA4MDgwO1xuXG4gIGNvbnN0IGxvYWRlciA9IG9yYSgnSW5pdGlhbGl6aW5nJykuc3RhcnQoKTtcblxuICBjb25zdCB3ZWJwYWNrQ29uZmlnOiAoXG4gICAgZW52OiBhbnksXG4gICAgYXJndjogYW55LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICkgPT4gd2VicGFjay5Db25maWd1cmF0aW9uID0gcmVxdWlyZShyZXF1aXJlLnJlc29sdmUoXG4gICAgLy8gVE9ETzogdXNlIG5vcm1hbCByZXNvbHV0aW9uIGFsZ29yaXRobSB0byBmaW5kIHdlYnBhY2sgZmlsZVxuICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnd2VicGFjay5jb25maWcnKSxcbiAgKSk7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gICAgd2VicGFja0NvbmZpZyh7fSwgeyBtb2RlOiAncHJvZHVjdGlvbicgfSksXG4gICk7XG5cbiAgY29uc3QgcmVhZEZpbGUgPSBwcm9taXNpZnkoZGlza0ZzLnJlYWRGaWxlKTtcbiAgbGV0IHNlcnZlcjogU2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgICBGIGV4dGVuZHMgKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICkgPT4gUHJvbWlzZTx2b2lkPixcbiAgPihmbjogRikge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBuZXh0KHgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBTdGFydCB0aGUgZXhwcmVzcyBzZXJ2ZXIgYWZ0ZXIgdGhlIGZpcnN0IGNvbXBpbGF0aW9uXG4gIGZ1bmN0aW9uIGluaXRpYWxpemVBcHAoY2xpZW50TWFuaWZlc3Q6IHdlYnBhY2suU3RhdHNDb21waWxhdGlvbikge1xuICAgIGxvYWRlci5pbmZvKCdMYXVuY2hpbmcgc2VydmVyJyk7XG4gICAgaWYgKCFjbGllbnRNYW5pZmVzdCkge1xuICAgICAgbG9hZGVyLmZhaWwoJ01hbmlmZXN0IG5vdCBmb3VuZCcpO1xuICAgICAgLy8gVE9ETzogaGFuZGxlIG1vcmUgZ3JhY2VmdWxseVxuICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICB9XG5cbiAgICBjb25zdCB3cmFwcGluZ0FwcCA9IGV4cHJlc3MoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB3cmFwcGluZ0FwcC51c2UoY29tcHJlc3MoKSk7XG5cbiAgICAvLyBBU1NFVFNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZUFzc2V0cykge1xuICAgICAgd3JhcHBpbmdBcHAudXNlKFxuICAgICAgICBhc3luYyAoXG4gICAgICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgICAgIHJlczogYW55LFxuICAgICAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlsZW5hbWUgPVxuICAgICAgICAgICAgcmVxLnVybD8uc3Vic3RyKFxuICAgICAgICAgICAgICAocHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCBhcyBzdHJpbmcpLmxlbmd0aCxcbiAgICAgICAgICAgICkgPz8gJyc7XG4gICAgICAgICAgY29uc3QgYXNzZXRQYXRoID0gcGF0aC5qb2luKFxuICAgICAgICAgICAgY2xpZW50TWFuaWZlc3Qub3V0cHV0UGF0aCA/PyAnJyxcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaXNrRnMuZXhpc3RzU3luYyhhc3NldFBhdGgpICYmXG4gICAgICAgICAgICAhZGlza0ZzLmxzdGF0U3luYyhhc3NldFBhdGgpLmlzRGlyZWN0b3J5KClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVDb250ZW50ID0gKGF3YWl0IHJlYWRGaWxlKGFzc2V0UGF0aCkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgIHJlcy5jb250ZW50VHlwZShmaWxlbmFtZSk7XG4gICAgICAgICAgICAgIHJlcy5zZW5kKGZpbGVDb250ZW50KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUFJPWElFU1xuICAgIGlmIChvcHRpb25zLnNlcnZlUHJveHkpIHtcbiAgICAgIGNvbnN0IGRldkNvbmZpZzogd2VicGFjay5Db25maWd1cmF0aW9uID0gd2VicGFja0NvbmZpZyhcbiAgICAgICAge30sXG4gICAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICAgKTtcbiAgICAgIGlmIChkZXZDb25maWcuZGV2U2VydmVyPy5wcm94eSkge1xuICAgICAgICBjb25zdCBtaWRkbGV3YXJlcyA9IGdldFByb3h5TWlkZGxld2FyZXMoZGV2Q29uZmlnLmRldlNlcnZlcj8ucHJveHkpO1xuICAgICAgICBpZiAobWlkZGxld2FyZXMpIHtcbiAgICAgICAgICB3cmFwcGluZ0FwcC51c2UoLi4ubWlkZGxld2FyZXMubWFwKCh7IG1pZGRsZXdhcmUgfSkgPT4gbWlkZGxld2FyZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU0VSVkVSIFNJREUgUkVOREVSSU5HXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICBjb25zdCByZW5kZXI6IFJlbmRlciA9IHJlcXVpcmUocGF0aC5qb2luKFxuICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgIGVudHJ5cG9pbnQsXG4gICAgKSkuZGVmYXVsdDtcblxuICAgIHdyYXBwaW5nQXBwLmdldChcbiAgICAgICcvKicsXG4gICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICBpZiAocmVxLnVybC5lbmRzV2l0aCgnZmF2aWNvbi5pY28nKSkge1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICByZXMuc2VuZCgnbm90IGZvdW5kJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zb2NrZXQub24oJ2Vycm9yJywgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmF0YWwnLCBlcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHJlbmRlcihjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMpO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHNlcnZlciA9IHdyYXBwaW5nQXBwXG4gICAgICAubGlzdGVuKFBPUlQsICgpID0+IHtcbiAgICAgICAgbG9hZGVyLmluZm8oYExpc3RlbmluZyBhdCAke1BPUlR9Li4uYCk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zeXNjYWxsICE9PSAnbGlzdGVuJykge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzUGlwZSA9IChwb3J0T3JQaXBlOiBzdHJpbmcgfCBudW1iZXIpID0+XG4gICAgICAgICAgTnVtYmVyLmlzTmFOKHBvcnRPclBpcGUpO1xuICAgICAgICBjb25zdCBiaW5kID0gaXNQaXBlKFBPUlQpID8gJ1BpcGUgJyArIFBPUlQgOiAnUG9ydCAnICsgUE9SVDtcbiAgICAgICAgc3dpdGNoIChlcnJvci5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAnRUFDQ0VTJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIHJlcXVpcmVzIGVsZXZhdGVkIHByaXZpbGVnZXMnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlICdFQUREUklOVVNFJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIGlzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gIGluaXRpYWxpemVBcHAocmVxdWlyZShtYW5pZmVzdFBhdGgpKTtcblxuICBwcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgbG9hZGVyLndhcm4oJ1JlY2VpdmVkIFNJR0lOVCwgZGV2c2VydmVyIHNodXR0aW5nIGRvd24nKTtcbiAgICBpZiAoc2VydmVyKSBjb25zb2xlLmxvZygnQ2xvc2luZyBzZXJ2ZXInKTtcbiAgICBzZXJ2ZXI/LmNsb3NlKCgpID0+IHtcbiAgICAgIGxvYWRlci5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gICAgfSk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnKFxuICB3ZWJwYWNrQ29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24sXG4pIHtcbiAgY29uc3QgbWFuaWZlc3RGaWxlbmFtZTogc3RyaW5nID1cbiAgICAoXG4gICAgICB3ZWJwYWNrQ29uZmlnPy5wbHVnaW5zPy5maW5kKHBsdWdpbiA9PiB7XG4gICAgICAgIHJldHVybiBwbHVnaW4uY29uc3RydWN0b3IubmFtZSA9PT0gJ1N0YXRzV3JpdGVyUGx1Z2luJztcbiAgICAgIH0pIGFzIGFueVxuICAgICk/Lm9wdHM/LmZpbGVuYW1lID8/ICdtYW5pZmVzdC5qc29uJztcblxuICBjb25zdCBtYW5pZmVzdFBhdGggPSBwYXRoLmpvaW4oXG4gICAgd2VicGFja0NvbmZpZz8ub3V0cHV0Py5wYXRoID8/ICcnLFxuICAgIG1hbmlmZXN0RmlsZW5hbWUsXG4gICk7XG4gIHJldHVybiBtYW5pZmVzdFBh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
156
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlcXVpcmUiLCJtYWluIiwibW9kdWxlIiwiZW50cnlwb2ludCIsInByb2Nlc3MiLCJhcmd2IiwiY29uc29sZSIsImxvZyIsImV4aXQiLCJzZXJ2ZSIsIm9wdGlvbnMiLCJQT1JUIiwiZW52IiwibG9hZGVyIiwib3JhIiwic3RhcnQiLCJ3ZWJwYWNrQ29uZmlnIiwicmVzb2x2ZSIsInBhdGgiLCJqb2luIiwiY3dkIiwibWFuaWZlc3RQYXRoIiwiZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWciLCJtb2RlIiwicmVhZEZpbGUiLCJwcm9taXNpZnkiLCJkaXNrRnMiLCJzZXJ2ZXIiLCJoYW5kbGVFcnJvcnMiLCJmbiIsInJlcSIsInJlcyIsIm5leHQiLCJ4IiwiaW5pdGlhbGl6ZUFwcCIsImNsaWVudE1hbmlmZXN0IiwiaW5mbyIsImZhaWwiLCJ3cmFwcGluZ0FwcCIsImV4cHJlc3MiLCJ1c2UiLCJjb21wcmVzcyIsInNlcnZlQXNzZXRzIiwiZmlsZW5hbWUiLCJ1cmwiLCJzdWJzdHIiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwibGVuZ3RoIiwiYXNzZXRQYXRoIiwib3V0cHV0UGF0aCIsImV4aXN0c1N5bmMiLCJsc3RhdFN5bmMiLCJpc0RpcmVjdG9yeSIsImZpbGVDb250ZW50IiwidG9TdHJpbmciLCJjb250ZW50VHlwZSIsInNlbmQiLCJlIiwic2VydmVQcm94eSIsImRldkNvbmZpZyIsImRldlNlcnZlciIsInByb3h5IiwibWlkZGxld2FyZXMiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwibWFwIiwibWlkZGxld2FyZSIsInJlbmRlciIsImRlZmF1bHQiLCJnZXQiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzb2NrZXQiLCJvbiIsImVycm9yIiwibGlzdGVuIiwic3lzY2FsbCIsImlzUGlwZSIsInBvcnRPclBpcGUiLCJOdW1iZXIiLCJpc05hTiIsImJpbmQiLCJjb2RlIiwid2FybiIsImNsb3NlIiwibWFuaWZlc3RGaWxlbmFtZSIsInBsdWdpbnMiLCJmaW5kIiwicGx1Z2luIiwiY29uc3RydWN0b3IiLCJuYW1lIiwib3B0cyIsIm91dHB1dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3NlcnZlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCBjb21wcmVzcyBmcm9tICdjb21wcmVzc2lvbic7XG5pbXBvcnQgZXhwcmVzcywgeyBOZXh0RnVuY3Rpb24gfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBkaXNrRnMgZnJvbSAnZnMnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgd2ViIH0gZnJvbSAnd2VicGFjayc7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvcG9seWZpbGwnO1xuaW1wb3J0IGdldFByb3h5TWlkZGxld2FyZXMgZnJvbSAnLi9nZXRQcm94eU1pZGRsZXdhcmVzJztcbmltcG9ydCB7IFJlbmRlciB9IGZyb20gJy4vdHlwZXMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAocmVxdWlyZS5tYWluID09PSBtb2R1bGUpIHtcbiAgY29uc3QgZW50cnlwb2ludCA9IHByb2Nlc3MuYXJndlsyXTtcblxuICBpZiAoIWVudHJ5cG9pbnQpIHtcbiAgICBjb25zb2xlLmxvZyhgVXNhZ2U6ICR7cHJvY2Vzcy5hcmd2WzBdfSA8c2VydmVyLWVudHJ5cG9pbnQ+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuICBzZXJ2ZShlbnRyeXBvaW50KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2VydmUoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgb3B0aW9uczogeyBzZXJ2ZUFzc2V0cz86IGJvb2xlYW47IHNlcnZlUHJveHk/OiBib29sZWFuIH0gPSB7fSxcbikge1xuICBjb25zdCBQT1JUID0gcHJvY2Vzcy5lbnYuUE9SVCB8fCA4MDgwO1xuXG4gIGNvbnN0IGxvYWRlciA9IG9yYSgnSW5pdGlhbGl6aW5nJykuc3RhcnQoKTtcblxuICBjb25zdCB3ZWJwYWNrQ29uZmlnOiAoXG4gICAgZW52OiBhbnksXG4gICAgYXJndjogYW55LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICkgPT4gd2VicGFjay5Db25maWd1cmF0aW9uID0gcmVxdWlyZShyZXF1aXJlLnJlc29sdmUoXG4gICAgLy8gVE9ETzogdXNlIG5vcm1hbCByZXNvbHV0aW9uIGFsZ29yaXRobSB0byBmaW5kIHdlYnBhY2sgZmlsZVxuICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnd2VicGFjay5jb25maWcnKSxcbiAgKSk7XG5cbiAgY29uc3QgbWFuaWZlc3RQYXRoID0gZ2V0TWFuaWZlc3RQYXRoRnJvbVdlYnBhY2tjb25maWcoXG4gICAgd2VicGFja0NvbmZpZyh7fSwgeyBtb2RlOiAncHJvZHVjdGlvbicgfSksXG4gICk7XG5cbiAgY29uc3QgcmVhZEZpbGUgPSBwcm9taXNpZnkoZGlza0ZzLnJlYWRGaWxlKTtcbiAgbGV0IHNlcnZlcjogU2VydmVyIHwgdW5kZWZpbmVkO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZUVycm9yczxcbiAgICBGIGV4dGVuZHMgKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICkgPT4gUHJvbWlzZTx2b2lkPixcbiAgPihmbjogRikge1xuICAgIHJldHVybiBhc3luYyBmdW5jdGlvbiAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgKSB7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gYXdhaXQgZm4ocmVxLCByZXMpO1xuICAgICAgfSBjYXRjaCAoeCkge1xuICAgICAgICBuZXh0KHgpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICAvLyBTdGFydCB0aGUgZXhwcmVzcyBzZXJ2ZXIgYWZ0ZXIgdGhlIGZpcnN0IGNvbXBpbGF0aW9uXG4gIGZ1bmN0aW9uIGluaXRpYWxpemVBcHAoY2xpZW50TWFuaWZlc3Q6IHdlYnBhY2suU3RhdHNDb21waWxhdGlvbikge1xuICAgIGxvYWRlci5pbmZvKCdMYXVuY2hpbmcgc2VydmVyJyk7XG4gICAgaWYgKCFjbGllbnRNYW5pZmVzdCkge1xuICAgICAgbG9hZGVyLmZhaWwoJ01hbmlmZXN0IG5vdCBmb3VuZCcpO1xuICAgICAgLy8gVE9ETzogaGFuZGxlIG1vcmUgZ3JhY2VmdWxseVxuICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICB9XG5cbiAgICBjb25zdCB3cmFwcGluZ0FwcCA9IGV4cHJlc3MoKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmVcbiAgICAvL0B0cy1pZ25vcmVcbiAgICB3cmFwcGluZ0FwcC51c2UoY29tcHJlc3MoKSk7XG5cbiAgICAvLyBBU1NFVFNcbiAgICBpZiAob3B0aW9ucy5zZXJ2ZUFzc2V0cykge1xuICAgICAgd3JhcHBpbmdBcHAudXNlKFxuICAgICAgICBhc3luYyAoXG4gICAgICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgICAgIHJlczogYW55LFxuICAgICAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgY29uc3QgZmlsZW5hbWUgPVxuICAgICAgICAgICAgcmVxLnVybD8uc3Vic3RyKFxuICAgICAgICAgICAgICAocHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCBhcyBzdHJpbmcpLmxlbmd0aCxcbiAgICAgICAgICAgICkgPz8gJyc7XG4gICAgICAgICAgY29uc3QgYXNzZXRQYXRoID0gcGF0aC5qb2luKFxuICAgICAgICAgICAgY2xpZW50TWFuaWZlc3Qub3V0cHV0UGF0aCA/PyAnJyxcbiAgICAgICAgICAgIGZpbGVuYW1lLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBkaXNrRnMuZXhpc3RzU3luYyhhc3NldFBhdGgpICYmXG4gICAgICAgICAgICAhZGlza0ZzLmxzdGF0U3luYyhhc3NldFBhdGgpLmlzRGlyZWN0b3J5KClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNvbnN0IGZpbGVDb250ZW50ID0gKGF3YWl0IHJlYWRGaWxlKGFzc2V0UGF0aCkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgIHJlcy5jb250ZW50VHlwZShmaWxlbmFtZSk7XG4gICAgICAgICAgICAgIHJlcy5zZW5kKGZpbGVDb250ZW50KTtcbiAgICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmV4dCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gUFJPWElFU1xuICAgIGlmIChvcHRpb25zLnNlcnZlUHJveHkpIHtcbiAgICAgIGNvbnN0IGRldkNvbmZpZzogd2VicGFjay5Db25maWd1cmF0aW9uID0gd2VicGFja0NvbmZpZyhcbiAgICAgICAge30sXG4gICAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICAgKTtcbiAgICAgIGlmIChkZXZDb25maWcuZGV2U2VydmVyPy5wcm94eSkge1xuICAgICAgICBjb25zdCBtaWRkbGV3YXJlcyA9IGdldFByb3h5TWlkZGxld2FyZXMoZGV2Q29uZmlnLmRldlNlcnZlcj8ucHJveHkpO1xuICAgICAgICBpZiAobWlkZGxld2FyZXMpIHtcbiAgICAgICAgICB3cmFwcGluZ0FwcC51c2UoLi4ubWlkZGxld2FyZXMubWFwKCh7IG1pZGRsZXdhcmUgfSkgPT4gbWlkZGxld2FyZSkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU0VSVkVSIFNJREUgUkVOREVSSU5HXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICBjb25zdCByZW5kZXI6IFJlbmRlciA9IHJlcXVpcmUocGF0aC5qb2luKFxuICAgICAgcHJvY2Vzcy5jd2QoKSxcbiAgICAgIGVudHJ5cG9pbnQsXG4gICAgKSkuZGVmYXVsdDtcblxuICAgIHdyYXBwaW5nQXBwLmdldChcbiAgICAgICcvKicsXG4gICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICBpZiAocmVxLnVybC5lbmRzV2l0aCgnZmF2aWNvbi5pY28nKSkge1xuICAgICAgICAgIHJlcy5zdGF0dXNDb2RlID0gNDA0O1xuICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICByZXMuc2VuZCgnbm90IGZvdW5kJyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHJlcy5zb2NrZXQub24oJ2Vycm9yJywgKGVycm9yOiB1bmtub3duKSA9PiB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignRmF0YWwnLCBlcnJvcik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGF3YWl0IHJlbmRlcihjbGllbnRNYW5pZmVzdCwgcmVxLCByZXMpO1xuICAgICAgfSksXG4gICAgKTtcblxuICAgIHNlcnZlciA9IHdyYXBwaW5nQXBwXG4gICAgICAubGlzdGVuKFBPUlQsICgpID0+IHtcbiAgICAgICAgbG9hZGVyLmluZm8oYExpc3RlbmluZyBhdCAke1BPUlR9Li4uYCk7XG4gICAgICB9KVxuICAgICAgLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnJvcjogYW55KSB7XG4gICAgICAgIGlmIChlcnJvci5zeXNjYWxsICE9PSAnbGlzdGVuJykge1xuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGlzUGlwZSA9IChwb3J0T3JQaXBlOiBzdHJpbmcgfCBudW1iZXIpID0+XG4gICAgICAgICAgTnVtYmVyLmlzTmFOKHBvcnRPclBpcGUpO1xuICAgICAgICBjb25zdCBiaW5kID0gaXNQaXBlKFBPUlQpID8gJ1BpcGUgJyArIFBPUlQgOiAnUG9ydCAnICsgUE9SVDtcbiAgICAgICAgc3dpdGNoIChlcnJvci5jb2RlKSB7XG4gICAgICAgICAgY2FzZSAnRUFDQ0VTJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIHJlcXVpcmVzIGVsZXZhdGVkIHByaXZpbGVnZXMnKTtcbiAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlICdFQUREUklOVVNFJzpcbiAgICAgICAgICAgIGxvYWRlci5mYWlsKGJpbmQgKyAnIGlzIGFscmVhZHkgaW4gdXNlJyk7XG4gICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWZhbGx0aHJvdWdoXG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gIGluaXRpYWxpemVBcHAocmVxdWlyZShtYW5pZmVzdFBhdGgpKTtcblxuICBwcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgbG9hZGVyLndhcm4oJ1JlY2VpdmVkIFNJR0lOVCwgZGV2c2VydmVyIHNodXR0aW5nIGRvd24nKTtcbiAgICBpZiAoc2VydmVyKSBjb25zb2xlLmxvZygnQ2xvc2luZyBzZXJ2ZXInKTtcbiAgICBzZXJ2ZXI/LmNsb3NlKCgpID0+IHtcbiAgICAgIGxvYWRlci5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gICAgfSk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGdldE1hbmlmZXN0UGF0aEZyb21XZWJwYWNrY29uZmlnKFxuICB3ZWJwYWNrQ29uZmlnOiB3ZWJwYWNrLkNvbmZpZ3VyYXRpb24sXG4pIHtcbiAgY29uc3QgbWFuaWZlc3RGaWxlbmFtZTogc3RyaW5nID1cbiAgICAoXG4gICAgICB3ZWJwYWNrQ29uZmlnPy5wbHVnaW5zPy5maW5kKHBsdWdpbiA9PiB7XG4gICAgICAgIHJldHVybiBwbHVnaW4uY29uc3RydWN0b3IubmFtZSA9PT0gJ1N0YXRzV3JpdGVyUGx1Z2luJztcbiAgICAgIH0pIGFzIGFueVxuICAgICk/Lm9wdHM/LmZpbGVuYW1lID8/ICdtYW5pZmVzdC5qc29uJztcblxuICBjb25zdCBtYW5pZmVzdFBhdGggPSBwYXRoLmpvaW4oXG4gICAgd2VicGFja0NvbmZpZz8ub3V0cHV0Py5wYXRoID8/ICcnLFxuICAgIG1hbmlmZXN0RmlsZW5hbWUsXG4gICk7XG4gIHJldHVybiBtYW5pZmVzdFBh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
@@ -1,19 +1,24 @@
1
1
  #!/usr/bin/env node
2
+ "use strict";
3
+
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ exports.__esModule = true;
6
+ exports.default = startDevServer;
7
+ var _fs = _interopRequireDefault(require("fs"));
8
+ var _fsRequire = require("fs-require");
9
+ var _memfs = require("memfs");
10
+ var _path = _interopRequireDefault(require("path"));
11
+ var _sourceMapSupport = _interopRequireDefault(require("source-map-support"));
12
+ var _tmp = _interopRequireDefault(require("tmp"));
13
+ var _unionfs = require("unionfs");
14
+ var _util = require("util");
15
+ var _webpack = _interopRequireDefault(require("webpack"));
16
+ var _runtime = _interopRequireDefault(require("webpack/lib/logging/runtime"));
17
+ var _webpackDevServer = _interopRequireDefault(require("webpack-dev-server"));
18
+ require("cross-fetch/polyfill");
2
19
  Object.hasOwn = Object.hasOwn || /* istanbul ignore next */function hasOwn(it, key) {
3
20
  return Object.prototype.hasOwnProperty.call(it, key);
4
21
  };
5
- import diskFs from 'fs';
6
- import { createFsRequire } from 'fs-require';
7
- import { createFsFromVolume, Volume } from 'memfs';
8
- import path from 'path';
9
- import sourceMapSupport from 'source-map-support';
10
- import tmp from 'tmp';
11
- import { ufs } from 'unionfs';
12
- import { promisify } from 'util';
13
- import webpack from 'webpack';
14
- import logging from 'webpack/lib/logging/runtime';
15
- import WebpackDevServer from 'webpack-dev-server';
16
- import 'cross-fetch/polyfill';
17
22
  // run directly from node
18
23
  if (require.main === module) {
19
24
  const entrypoint = process.argv[2];
@@ -23,31 +28,31 @@ if (require.main === module) {
23
28
  }
24
29
  startDevServer(entrypoint);
25
30
  }
26
- export default function startDevServer(entrypoint, env = {}) {
31
+ function startDevServer(entrypoint, env = {}) {
27
32
  var _webpackConfigs$, _webpackConfigs$$devS;
28
33
  // eslint-disable-next-line @typescript-eslint/no-var-requires
29
34
  const webpackConfig = require(require.resolve(
30
35
  // TODO: use normal resolution algorithm to find webpack file
31
- path.join(process.cwd(), 'webpack.config')));
32
- const log = logging.getLogger('anansi-devserver');
36
+ _path.default.join(process.cwd(), 'webpack.config')));
37
+ const log = _runtime.default.getLogger('anansi-devserver');
33
38
 
34
39
  // Set up in memory filesystem
35
- const volume = new Volume();
36
- const fs = createFsFromVolume(volume);
37
- ufs.use(diskFs).use(fs);
38
- const fsRequire = createFsRequire(ufs);
39
- const readFile = promisify(ufs.readFile);
40
+ const volume = new _memfs.Volume();
41
+ const fs = (0, _memfs.createFsFromVolume)(volume);
42
+ _unionfs.ufs.use(_fs.default).use(fs);
43
+ const fsRequire = (0, _fsRequire.createFsRequire)(_unionfs.ufs);
44
+ const readFile = (0, _util.promisify)(_unionfs.ufs.readFile);
40
45
  let server;
41
46
 
42
47
  // Generate a temporary file so we can hot reload from the root of the application
43
48
  function hotEntry(entryPath) {
44
49
  // eslint-disable-next-line
45
50
  // @ts-ignore for some reason it's not picking up that other options are optional
46
- const generatedEntrypoint = tmp.fileSync({
51
+ const generatedEntrypoint = _tmp.default.fileSync({
47
52
  postfix: '.js'
48
53
  });
49
- diskFs.writeSync(generatedEntrypoint.fd, `
50
- import entry from "${path.resolve(process.cwd(), entryPath)}";
54
+ _fs.default.writeSync(generatedEntrypoint.fd, `
55
+ import entry from "${_path.default.resolve(process.cwd(), entryPath)}";
51
56
 
52
57
  if (module.hot) {
53
58
  module.hot.accept();
@@ -74,8 +79,8 @@ export default function startDevServer(entrypoint, env = {}) {
74
79
  })];
75
80
 
76
81
  // initialize the webpack compiler
77
- const compiler = webpack(webpackConfigs);
78
- sourceMapSupport.install({
82
+ const compiler = (0, _webpack.default)(webpackConfigs);
83
+ _sourceMapSupport.default.install({
79
84
  hookRequire: true
80
85
  });
81
86
  function getServerBundle(serverStats) {
@@ -83,7 +88,7 @@ export default function startDevServer(entrypoint, env = {}) {
83
88
  const serverJson = serverStats.toJson({
84
89
  assets: true
85
90
  });
86
- return path.join((_serverJson$outputPat = serverJson.outputPath) != null ? _serverJson$outputPat : '', 'server.js');
91
+ return _path.default.join((_serverJson$outputPat = serverJson.outputPath) != null ? _serverJson$outputPat : '', 'server.js');
87
92
  }
88
93
  function handleErrors(fn) {
89
94
  return async function (req, res, next) {
@@ -142,7 +147,7 @@ export default function startDevServer(entrypoint, env = {}) {
142
147
  initRender = undefined;
143
148
  }
144
149
  }
145
- const devServer = new WebpackDevServer(
150
+ const devServer = new _webpackDevServer.default(
146
151
  // write to memory filesystem so we can import
147
152
  {
148
153
  ...webpackConfigs[0].devServer,
@@ -150,7 +155,7 @@ export default function startDevServer(entrypoint, env = {}) {
150
155
  ...((_webpackConfigs$ = webpackConfigs[0]) == null ? void 0 : (_webpackConfigs$$devS = _webpackConfigs$.devServer) == null ? void 0 : _webpackConfigs$$devS.devMiddleware),
151
156
  outputFileSystem: {
152
157
  ...fs,
153
- join: path.join
158
+ join: _path.default.join
154
159
  }
155
160
  },
156
161
  setupMiddlewares: (middlewares, devServer) => {
@@ -210,4 +215,4 @@ export default function startDevServer(entrypoint, env = {}) {
210
215
  });
211
216
  runServer();
212
217
  }
213
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwicmVxdWlyZSIsIm1haW4iLCJtb2R1bGUiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwiZW52Iiwid2VicGFja0NvbmZpZyIsInJlc29sdmUiLCJqb2luIiwiY3dkIiwiZ2V0TG9nZ2VyIiwidm9sdW1lIiwiZnMiLCJ1c2UiLCJmc1JlcXVpcmUiLCJyZWFkRmlsZSIsInNlcnZlciIsImhvdEVudHJ5IiwiZW50cnlQYXRoIiwiZ2VuZXJhdGVkRW50cnlwb2ludCIsImZpbGVTeW5jIiwicG9zdGZpeCIsIndyaXRlU3luYyIsImZkIiwid2VicGFja0NvbmZpZ3MiLCJlbnRyeXBhdGgiLCJuYW1lIiwibW9kZSIsInJlcGxhY2UiLCJCUk9XU0VSU0xJU1RfRU5WIiwidGFyZ2V0IiwiY29tcGlsZXIiLCJpbnN0YWxsIiwiaG9va1JlcXVpcmUiLCJnZXRTZXJ2ZXJCdW5kbGUiLCJzZXJ2ZXJTdGF0cyIsInNlcnZlckpzb24iLCJ0b0pzb24iLCJhc3NldHMiLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwiUHJvbWlzZSIsInB1c2giLCJpbXBvcnRSZW5kZXIiLCJzdGF0cyIsImNsaWVudFN0YXRzIiwiY29tcGlsYXRpb24iLCJlcnJvcnMiLCJsZW5ndGgiLCJlcnJvciIsIkFycmF5IiwiaXNBcnJheSIsImluZm8iLCJjbGllbnRNYW5pZmVzdCIsInNlcnZlckVudHJ5Iiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvcG9seWZpbGwnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG5cbiAgc3RhcnREZXZTZXJ2ZXIoZW50cnlwb2ludCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gcmVxdWlyZShyZXF1aXJlLnJlc29sdmUoXG4gICAgLy8gVE9ETzogdXNlIG5vcm1hbCByZXNvbHV0aW9uIGFsZ29yaXRobSB0byBmaW5kIHdlYnBhY2sgZmlsZVxuICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnd2VicGFjay5jb25maWcnKSxcbiAgKSk7XG5cbiAgY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuICAvLyBTZXQgdXAgaW4gbWVtb3J5IGZpbGVzeXN0ZW1cbiAgY29uc3Qgdm9sdW1lID0gbmV3IFZvbHVtZSgpO1xuICBjb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xuICB1ZnMudXNlKGRpc2tGcykudXNlKGZzIGFzIGFueSk7XG5cbiAgY29uc3QgZnNSZXF1aXJlID0gY3JlYXRlRnNSZXF1aXJlKHVmcyk7XG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBmaWxlIHNvIHdlIGNhbiBob3QgcmVsb2FkIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gIGZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZSBmb3Igc29tZSByZWFzb24gaXQncyBub3QgcGlja2luZyB1cCB0aGF0IG90aGVyIG9wdGlvbnMgYXJlIG9wdGlvbmFsXG4gICAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICAgIGRpc2tGcy53cml0ZVN5bmMoXG4gICAgICBnZW5lcmF0ZWRFbnRyeXBvaW50LmZkLFxuICAgICAgYFxuICBpbXBvcnQgZW50cnkgZnJvbSBcIiR7cGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGVudHJ5UGF0aCl9XCI7XG5cbiAgaWYgKG1vZHVsZS5ob3QpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpO1xuICB9XG5cbiAgZXhwb3J0IGRlZmF1bHQgZW50cnk7XG4gICAgYCxcbiAgICApO1xuICAgIHJldHVybiBnZW5lcmF0ZWRFbnRyeXBvaW50O1xuICB9XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZ3MgPSBbXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGhvdEVudHJ5KGVudHJ5cG9pbnQpLm5hbWUsXG4gICAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICksXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGVudHJ5cG9pbnQucmVwbGFjZSgnLnRzeCcsICcuc2VydmVyLnRzeCcpLFxuICAgICAgICBuYW1lOiAnc2VydmVyJyxcbiAgICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnLCB0YXJnZXQ6ICdub2RlJyB9LFxuICAgICksXG4gIF0gYXMgY29uc3Q7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgd2VicGFjayBjb21waWxlclxuICBjb25zdCBjb21waWxlcjogTXVsdGlDb21waWxlciA9IHdlYnBhY2sod2VicGFja0NvbmZpZ3MpO1xuXG4gIHNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG4gIGZ1bmN0aW9uIGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0czogd2VicGFjay5TdGF0cykge1xuICAgIGNvbnN0IHNlcnZlckpzb24gPSBzZXJ2ZXJTdGF0cy50b0pzb24oeyBhc3NldHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbGV0IGluaXRSZW5kZXI6XG4gICAgfCB7IGFyZ3M6IFBhcmFtZXRlcnM8Qm91bmRSZW5kZXI+OyByZXNvbHZlOiAoKSA9PiB2b2lkIH1bXVxuICAgIHwgdW5kZWZpbmVkID0gW107XG4gIGxldCByZW5kZXI6IEJvdW5kUmVuZGVyID0gKC4uLmFyZ3MpID0+XG4gICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpbml0UmVuZGVyPy5wdXNoKHsgYXJncywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICAgIGNvbnN0IFtjbGllbnRTdGF0cywgc2VydmVyU3RhdHNdID0gc3RhdHM7XG4gICAgaWYgKFxuICAgICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgICAgc2VydmVyU3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICBsb2cuZXJyb3IoJ0Vycm9ycyBmb3Igc2VydmVyIGJ1aWxkOiAnICsgc2VydmVyU3RhdHMuY29tcGlsYXRpb24uZXJyb3JzKTtcbiAgICAgIC8vIGZpcnN0IHRpbWUsIHJhdGhlciB0aGFuIHJlLXJlbmRlclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cbiAgICAgIGxvZy5lcnJvcignQWJvdmUgY29tcGlsZXIgZXJyb3JzIGJsb2NraW5nIHJlbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuaW5mbygnTGF1bmNoaW5nIFNTUicpO1xuICAgIH1cblxuICAgIC8vIEFTU0VUU1xuICAgIGNvbnN0IGNsaWVudE1hbmlmZXN0ID0gY2xpZW50U3RhdHMudG9Kc29uKCk7XG5cbiAgICBjb25zdCBzZXJ2ZXJFbnRyeSA9IGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0cyk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIHJlbmRlciA9IChmc1JlcXVpcmUoc2VydmVyRW50cnkpIGFzIGFueSkuZGVmYXVsdC5iaW5kKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xpZW50TWFuaWZlc3QsXG4gICAgKTtcbiAgICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgIGluaXRSZW5kZXIuZm9yRWFjaChhc3luYyBpbml0ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2cuaW5mbygnUmVzb2x2aW5nIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGF3YWl0IHJlbmRlciguLi5pbml0LmFyZ3MpO1xuICAgICAgICAgIGluaXQucmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVuZGVyIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbml0UmVuZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgIC8vIHdyaXRlIHRvIG1lbW9yeSBmaWxlc3lzdGVtIHNvIHdlIGNhbiBpbXBvcnRcbiAgICB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICAgIG91dHB1dEZpbGVTeXN0ZW06IHtcbiAgICAgICAgICAuLi5mcyxcbiAgICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgICB9IGFzIGFueSBhcyB0eXBlb2YgZnMsXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYXRhbCcsIGVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBhd2FpdCByZW5kZXIocmVxLCByZXMpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnNldHVwTWlkZGxld2FyZXMpIHtcbiAgICAgICAgICByZXR1cm4gd2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLnNldHVwTWlkZGxld2FyZXMoXG4gICAgICAgICAgICBtaWRkbGV3YXJlcyxcbiAgICAgICAgICAgIGRldlNlcnZlcixcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1pZGRsZXdhcmVzO1xuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbXBpbGVyLFxuICApO1xuICBjb25zdCBydW5TZXJ2ZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZGV2U2VydmVyLnN0YXJ0KCk7XG4gICAgZGV2U2VydmVyLmNvbXBpbGVyLmhvb2tzLmRvbmUudGFwKFxuICAgICAgJ0FuYW5zaSBTZXJ2ZXInLFxuICAgICAgKG11bHRpU3RhdHM6IHdlYnBhY2suTXVsdGlTdGF0cyB8IHdlYnBhY2suU3RhdHMpID0+IHtcbiAgICAgICAgaWYgKCFtdWx0aVN0YXRzKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdzdGF0cyBub3Qgc2VuZCcpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIU9iamVjdC5oYXNPd24obXVsdGlTdGF0cywgJ3N0YXRzJykpIHJldHVybjtcbiAgICAgICAgaWYgKChtdWx0aVN0YXRzIGFzIHdlYnBhY2suTXVsdGlTdGF0cykuc3RhdHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpbXBvcnRSZW5kZXIoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cyk7XG4gICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHNlcnZlIGVudHJ5cG9pbnQnKTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy5lcnJvcignT25seSBjb21waWxlciBvbmUgc3RhdCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gIH07XG4gIGNvbnN0IHN0b3BTZXJ2ZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgbG9nLmluZm8oJ1N0b3BwaW5nIHNlcnZlci4uLicpO1xuICAgIGF3YWl0IGRldlNlcnZlci5zdG9wKCk7XG4gICAgbG9nLmluZm8oJ1NlcnZlciBjbG9zZWQnKTtcbiAgfTtcblxuICBwcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgbG9nLndhcm4oJ1JlY2VpdmVkIFNJR0lOVCwgZGV2c2VydmVyIHNodXR0aW5nIGRvd24nKTtcbiAgICBzdG9wU2VydmVyKCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG5cbiAgcnVuU2VydmVyKCk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0FBLE1BQU0sQ0FBQ0MsTUFBTSxHQUNYRCxNQUFNLENBQUNDLE1BQU0sSUFDYiwwQkFBMkIsU0FBU0EsTUFBTSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFFSCxPQUFPSSxNQUFNLE1BQU0sSUFBSTtBQUN2QixTQUFTQyxlQUFlLFFBQVEsWUFBWTtBQUU1QyxTQUFTQyxrQkFBa0IsRUFBRUMsTUFBTSxRQUFRLE9BQU87QUFDbEQsT0FBT0MsSUFBSSxNQUFNLE1BQU07QUFDdkIsT0FBT0MsZ0JBQWdCLE1BQU0sb0JBQW9CO0FBQ2pELE9BQU9DLEdBQUcsTUFBTSxLQUFLO0FBQ3JCLFNBQVNDLEdBQUcsUUFBUSxTQUFTO0FBQzdCLFNBQVNDLFNBQVMsUUFBUSxNQUFNO0FBQ2hDLE9BQU9DLE9BQU8sTUFBeUIsU0FBUztBQUNoRCxPQUFPQyxPQUFPLE1BQU0sNkJBQTZCO0FBQ2pELE9BQU9DLGdCQUFnQixNQUFNLG9CQUFvQjtBQUVqRCxPQUFPLHNCQUFzQjtBQUc3QjtBQUNBLElBQUlDLE9BQU8sQ0FBQ0MsSUFBSSxLQUFLQyxNQUFNLEVBQUU7RUFDM0IsTUFBTUMsVUFBVSxHQUFHQyxPQUFPLENBQUNDLElBQUksQ0FBQyxDQUFDLENBQUM7RUFFbEMsSUFBSSxDQUFDRixVQUFVLEVBQUU7SUFDZkcsT0FBTyxDQUFDQyxHQUFHLENBQUUsdUNBQXNDLENB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
218
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsInJlcXVpcmUiLCJtYWluIiwibW9kdWxlIiwiZW50cnlwb2ludCIsInByb2Nlc3MiLCJhcmd2IiwiY29uc29sZSIsImxvZyIsImV4aXQiLCJzdGFydERldlNlcnZlciIsImVudiIsIndlYnBhY2tDb25maWciLCJyZXNvbHZlIiwicGF0aCIsImpvaW4iLCJjd2QiLCJsb2dnaW5nIiwiZ2V0TG9nZ2VyIiwidm9sdW1lIiwiVm9sdW1lIiwiZnMiLCJjcmVhdGVGc0Zyb21Wb2x1bWUiLCJ1ZnMiLCJ1c2UiLCJkaXNrRnMiLCJmc1JlcXVpcmUiLCJjcmVhdGVGc1JlcXVpcmUiLCJyZWFkRmlsZSIsInByb21pc2lmeSIsInNlcnZlciIsImhvdEVudHJ5IiwiZW50cnlQYXRoIiwiZ2VuZXJhdGVkRW50cnlwb2ludCIsInRtcCIsImZpbGVTeW5jIiwicG9zdGZpeCIsIndyaXRlU3luYyIsImZkIiwid2VicGFja0NvbmZpZ3MiLCJlbnRyeXBhdGgiLCJuYW1lIiwibW9kZSIsInJlcGxhY2UiLCJCUk9XU0VSU0xJU1RfRU5WIiwidGFyZ2V0IiwiY29tcGlsZXIiLCJ3ZWJwYWNrIiwic291cmNlTWFwU3VwcG9ydCIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsIm91dHB1dFBhdGgiLCJoYW5kbGVFcnJvcnMiLCJmbiIsInJlcSIsInJlcyIsIm5leHQiLCJ4IiwiaW5pdFJlbmRlciIsInJlbmRlciIsImFyZ3MiLCJQcm9taXNlIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0Iiwic2VydmVyRW50cnkiLCJrZXlzIiwiY2FjaGUiLCJmb3JFYWNoIiwiZGVmYXVsdCIsImJpbmQiLCJ1bmRlZmluZWQiLCJpbml0IiwiZSIsImRldlNlcnZlciIsIldlYnBhY2tEZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvcG9seWZpbGwnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKHJlcXVpcmUubWFpbiA9PT0gbW9kdWxlKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG5cbiAgc3RhcnREZXZTZXJ2ZXIoZW50cnlwb2ludCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gcmVxdWlyZShyZXF1aXJlLnJlc29sdmUoXG4gICAgLy8gVE9ETzogdXNlIG5vcm1hbCByZXNvbHV0aW9uIGFsZ29yaXRobSB0byBmaW5kIHdlYnBhY2sgZmlsZVxuICAgIHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCAnd2VicGFjay5jb25maWcnKSxcbiAgKSk7XG5cbiAgY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuICAvLyBTZXQgdXAgaW4gbWVtb3J5IGZpbGVzeXN0ZW1cbiAgY29uc3Qgdm9sdW1lID0gbmV3IFZvbHVtZSgpO1xuICBjb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xuICB1ZnMudXNlKGRpc2tGcykudXNlKGZzIGFzIGFueSk7XG5cbiAgY29uc3QgZnNSZXF1aXJlID0gY3JlYXRlRnNSZXF1aXJlKHVmcyk7XG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBmaWxlIHNvIHdlIGNhbiBob3QgcmVsb2FkIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gIGZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZSBmb3Igc29tZSByZWFzb24gaXQncyBub3QgcGlja2luZyB1cCB0aGF0IG90aGVyIG9wdGlvbnMgYXJlIG9wdGlvbmFsXG4gICAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICAgIGRpc2tGcy53cml0ZVN5bmMoXG4gICAgICBnZW5lcmF0ZWRFbnRyeXBvaW50LmZkLFxuICAgICAgYFxuICBpbXBvcnQgZW50cnkgZnJvbSBcIiR7cGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGVudHJ5UGF0aCl9XCI7XG5cbiAgaWYgKG1vZHVsZS5ob3QpIHtcbiAgICBtb2R1bGUuaG90LmFjY2VwdCgpO1xuICB9XG5cbiAgZXhwb3J0IGRlZmF1bHQgZW50cnk7XG4gICAgYCxcbiAgICApO1xuICAgIHJldHVybiBnZW5lcmF0ZWRFbnRyeXBvaW50O1xuICB9XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZ3MgPSBbXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGhvdEVudHJ5KGVudHJ5cG9pbnQpLm5hbWUsXG4gICAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICksXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGVudHJ5cG9pbnQucmVwbGFjZSgnLnRzeCcsICcuc2VydmVyLnRzeCcpLFxuICAgICAgICBuYW1lOiAnc2VydmVyJyxcbiAgICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnLCB0YXJnZXQ6ICdub2RlJyB9LFxuICAgICksXG4gIF0gYXMgY29uc3Q7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgd2VicGFjayBjb21waWxlclxuICBjb25zdCBjb21waWxlcjogTXVsdGlDb21waWxlciA9IHdlYnBhY2sod2VicGFja0NvbmZpZ3MpO1xuXG4gIHNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG4gIGZ1bmN0aW9uIGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0czogd2VicGFjay5TdGF0cykge1xuICAgIGNvbnN0IHNlcnZlckpzb24gPSBzZXJ2ZXJTdGF0cy50b0pzb24oeyBhc3NldHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbGV0IGluaXRSZW5kZXI6XG4gICAgfCB7IGFyZ3M6IFBhcmFtZXRlcnM8Qm91bmRSZW5kZXI+OyByZXNvbHZlOiAoKSA9PiB2b2lkIH1bXVxuICAgIHwgdW5kZWZpbmVkID0gW107XG4gIGxldCByZW5kZXI6IEJvdW5kUmVuZGVyID0gKC4uLmFyZ3MpID0+XG4gICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpbml0UmVuZGVyPy5wdXNoKHsgYXJncywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICAgIGNvbnN0IFtjbGllbnRTdGF0cywgc2VydmVyU3RhdHNdID0gc3RhdHM7XG4gICAgaWYgKFxuICAgICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgICAgc2VydmVyU3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICBsb2cuZXJyb3IoJ0Vycm9ycyBmb3Igc2VydmVyIGJ1aWxkOiAnICsgc2VydmVyU3RhdHMuY29tcGlsYXRpb24uZXJyb3JzKTtcbiAgICAgIC8vIGZpcnN0IHRpbWUsIHJhdGhlciB0aGFuIHJlLXJlbmRlclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cbiAgICAgIGxvZy5lcnJvcignQWJvdmUgY29tcGlsZXIgZXJyb3JzIGJsb2NraW5nIHJlbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuaW5mbygnTGF1bmNoaW5nIFNTUicpO1xuICAgIH1cblxuICAgIC8vIEFTU0VUU1xuICAgIGNvbnN0IGNsaWVudE1hbmlmZXN0ID0gY2xpZW50U3RhdHMudG9Kc29uKCk7XG5cbiAgICBjb25zdCBzZXJ2ZXJFbnRyeSA9IGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0cyk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIHJlbmRlciA9IChmc1JlcXVpcmUoc2VydmVyRW50cnkpIGFzIGFueSkuZGVmYXVsdC5iaW5kKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xpZW50TWFuaWZlc3QsXG4gICAgKTtcbiAgICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgIGluaXRSZW5kZXIuZm9yRWFjaChhc3luYyBpbml0ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2cuaW5mbygnUmVzb2x2aW5nIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGF3YWl0IHJlbmRlciguLi5pbml0LmFyZ3MpO1xuICAgICAgICAgIGluaXQucmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVuZGVyIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbml0UmVuZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgIC8vIHdyaXRlIHRvIG1lbW9yeSBmaWxlc3lzdGVtIHNvIHdlIGNhbiBpbXBvcnRcbiAgICB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICAgIG91dHB1dEZpbGVTeXN0ZW06IHtcbiAgICAgICAgICAuLi5mcyxcbiAgICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgICB9IGFzIGFueSBhcyB0eXBlb2YgZnMsXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYXRhbCcsIGVycm9yKTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBhd2FpdCByZW5kZXIocmVxLCByZXMpO1xuICAgICAgICAgIH0pLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnNldHVwTWlkZGxld2FyZXMpIHtcbiAgICAgICAgICByZXR1cm4gd2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLnNldHVwTWlkZGxld2FyZXMoXG4gICAgICAgICAgICBtaWRkbGV3YXJlcyxcbiAgICAgICAgICAgIGRldlNlcnZlcixcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG1pZGRsZXdhcmVzO1xuICAgICAgfSxcbiAgICB9LFxuICAgIGNvbXBpbGVyLFxuICApO1xuICBjb25zdCBydW5TZXJ2ZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgYXdhaXQgZGV2U2VydmVyLnN0YXJ0KCk7XG4gICAgZGV2U2VydmVyLmNvbXBpbGVyLmhvb2tzLmRvbmUudGFwKFxuICAgICAgJ0FuYW5zaSBTZXJ2ZXInLFxuICAgICAgKG11bHRpU3RhdHM6IHdlYnBhY2suTXVsdGlTdGF0cyB8IHdlYnBhY2suU3RhdHMpID0+IHtcbiAgICAgICAgaWYgKCFtdWx0aVN0YXRzKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdzdGF0cyBub3Qgc2VuZCcpO1xuICAgICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIU9iamVjdC5oYXNPd24obXVsdGlTdGF0cywgJ3N0YXRzJykpIHJldHVybjtcbiAgICAgICAgaWYgKChtdWx0aVN0YXRzIGFzIHdlYnBhY2suTXVsdGlTdGF0cykuc3RhdHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpbXBvcnRSZW5kZXIoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cyk7XG4gICAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhaWxlZCB0byBsb2FkIHNlcnZlIGVudHJ5cG9pbnQnKTtcbiAgICAgICAgICAgIHRocm93IGU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvZy5lcnJvcignT25seSBjb21waWxlciBvbmUgc3RhdCcpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICk7XG4gIH07XG4gIGNvbnN0IHN0b3BTZXJ2ZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgbG9nLmluZm8oJ1N0b3BwaW5nIHNlcnZlci4uLicpO1xuICAgIGF3YWl0IGRldlNlcnZlci5zdG9wKCk7XG4gICAgbG9nLmluZm8oJ1NlcnZlciBjbG9zZWQnKTtcbiAgfTtcblxuICBwcm9jZXNzLm9uKCdTSUdJTlQnLCAoKSA9PiB7XG4gICAgbG9nLndhcm4oJ1JlY2VpdmVkIFNJR0lOVCwgZGV2c2VydmVyIHNodXR0aW5nIGRvd24nKTtcbiAgICBzdG9wU2VydmVyKCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfSk7XG5cbiAgcnVuU2VydmVyKCk7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQW1COztBQUFBO0FBQUE7QUFBQTtBQU9uQjtBQUNBO0FBRUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7QUFuQkFBLE1BQU0sQ0FBQ0MsTUFBTSxHQUNYRCxNQUFNLENBQUNDLE1BQU0sSUFDYiwwQkFBMkIsU0FBU0EsTUFBTSxDQUFDQyxFQUFFLEVBQUVDLEdBQUcsRUFBRTtFQUNsRCxPQUFPSCxNQUFNLENBQUNJLFNBQVMsQ0FBQ0MsY0FBYyxDQUFDQyxJQUFJLENBQUNKLEVBQUUsRUFBRUMsR0FBRyxDQUFDO0FBQ3RELENBQUM7QUFrQkg7QUFDQSxJQUFJSSxPQUFPLENBQUNDLElBQUksS0FBS0MsTUFBTSxFQUFFO0VBQzNCLE1BQU1DLFVBQVUsR0FBR0MsT0FBTyxDQUFDQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBRWxDLElBQUksQ0FBQ0YsVUFBVSxFQUFFO0lBQ2ZHLE9BQU8sQ0FBQ0MsR0FBRyxDQUFFLHVDQUFzQyxDQUFDO0lBQ3BESCxPQUFPLENBQUNJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztFQUNsQjtFQUVBQyxjQUFjLENBQUNOLFVBQVUsQ0FBQztBQUM1QjtBQUVlLFNBQVNNLGNBQWMsQ0FDcENOLFVBQWtCLEVBQ2xCTyxHQUE0QixHQUFHLENBQUMsQ0FBQyxFQUNqQztFQUFBO0VBQ0E7RUFDQSxNQUFNQyxhQUFhLEdBQUdYLE9BQU8sQ0FBQ0EsT0FBTyxDQUFDWSxPQUFPO0VBQzNDO0VBQ0FDLGFBQUksQ0FBQ0MsSUFBSSxDQUFDVixPQUFPLENBQUNXLEdB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
@@ -1,2 +1,4 @@
1
- export {};
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
2
4
  //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvdHlwZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVxdWVzdCwgUmVzcG9uc2UgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCB7IFNlcnZlclJlc3BvbnNlLCBJbmNvbWluZ01lc3NhZ2UgfSBmcm9tICdodHRwJztcbmltcG9ydCB7IFN0YXRzQ29tcGlsYXRpb24gfSBmcm9tICd3ZWJwYWNrJztcblxuZXhwb3J0IHR5cGUgUmVuZGVyID0gKFxuICBjbGllbnRNYW5pZmVzdDogU3RhdHNDb21waWxhdGlvbixcbiAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4pID0+IFByb21pc2U8dm9pZD47XG5cbmV4cG9ydCB0eXBlIEJvdW5kUmVuZGVyID0gKFxuICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbikgPT4gUHJvbWlzZTx2b2lkPjtcbiJdLCJtYXBwaW5ncyI6IiJ9
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentComponent.d.ts","sourceRoot":"","sources":["../../src/spouts/DocumentComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGpC,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,iBAAwB,QAAQ,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,GACX,EAAE,KAAK,eA8CP;kBAzDuB,QAAQ;;;;;;;;eAAR,QAAQ"}
1
+ {"version":3,"file":"DocumentComponent.d.ts","sourceRoot":"","sources":["../../src/spouts/DocumentComponent.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAGpC,KAAK,KAAK,GAAG;IACX,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC;IAC5B,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,iBAAwB,QAAQ,CAAC,EAC/B,MAAM,EACN,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,OAAO,EACP,UAAU,GACX,EAAE,KAAK,eA6CP;kBAxDuB,QAAQ;;;;;;;;eAAR,QAAQ"}
@@ -1,8 +1,13 @@
1
- import _jsx from "@babel/runtime/helpers/jsx";
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = Document;
6
+ var _jsx2 = _interopRequireDefault(require("@babel/runtime/helpers/jsx"));
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _csp = require("./csp");
2
9
  var _process$env$WEBPACK_;
3
- import React from "react";
4
- import { buildPolicy } from './csp';
5
- export default function Document({
10
+ function Document({
6
11
  assets,
7
12
  head,
8
13
  children,
@@ -20,42 +25,42 @@ export default function Document({
20
25
  const policy = {
21
26
  ...csPolicy
22
27
  };
23
- if (nonce && (
24
- // nonces negate 'unsafe-inline' so do not add it if that directive exists
25
- !policy['script-src'] || !policy['script-src'].includes("'unsafe-inline'"))) {
28
+ if (nonce &&
29
+ // nonces negate 'unsafe-inline' so do not add it in development to keep things easier
30
+ process.env.NODE_ENV === 'production') {
26
31
  if (typeof policy['script-src'] === 'string') {
27
32
  policy['script-src'] = [policy['script-src'], `'nonce-${nonce}'`];
28
33
  } else {
29
34
  policy['script-src'] = [...policy['script-src'], `'nonce-${nonce}'`];
30
35
  }
31
36
  }
32
- cspMeta = /*#__PURE__*/_jsx("meta", {
37
+ cspMeta = /*#__PURE__*/(0, _jsx2.default)("meta", {
33
38
  httpEquiv: "Content-Security-Policy",
34
- content: buildPolicy(policy)
39
+ content: (0, _csp.buildPolicy)(policy)
35
40
  });
36
41
  }
37
- return /*#__PURE__*/_jsx("html", {}, void 0, /*#__PURE__*/_jsx("head", {}, void 0, /*#__PURE__*/_jsx("meta", {
42
+ return /*#__PURE__*/(0, _jsx2.default)("html", {}, void 0, /*#__PURE__*/(0, _jsx2.default)("head", {}, void 0, /*#__PURE__*/(0, _jsx2.default)("meta", {
38
43
  charSet: charSet
39
- }), cspMeta, head, extraStyle, assets.map((asset, i) => /*#__PURE__*/React.createElement("link", {
44
+ }), cspMeta, head, extraStyle, assets.map((asset, i) => /*#__PURE__*/_react.default.createElement("link", {
40
45
  key: i,
41
46
  rel: "preload",
42
47
  ...asset
43
- })), /*#__PURE__*/_jsx("title", {}, void 0, title)), /*#__PURE__*/_jsx("body", {}, void 0, /*#__PURE__*/_jsx("div", {
48
+ })), /*#__PURE__*/(0, _jsx2.default)("title", {}, void 0, title)), /*#__PURE__*/(0, _jsx2.default)("body", {}, void 0, /*#__PURE__*/(0, _jsx2.default)("div", {
44
49
  id: rootId
45
50
  }, void 0, children), scripts, assets.filter(({
46
51
  href
47
52
  }) => href.endsWith('.js')).map(({
48
53
  href
49
- }, i) => /*#__PURE__*/_jsx("script", {
54
+ }, i) => /*#__PURE__*/(0, _jsx2.default)("script", {
50
55
  src: href,
51
56
  async: true
52
57
  }, i))));
53
58
  }
54
59
  Document.defaultProps = {
55
- head: /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/_jsx("meta", {
60
+ head: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/(0, _jsx2.default)("meta", {
56
61
  name: "viewport",
57
62
  content: "width=device-width, initial-scale=1"
58
- }), /*#__PURE__*/_jsx("link", {
63
+ }), /*#__PURE__*/(0, _jsx2.default)("link", {
59
64
  rel: "shortcut icon",
60
65
  href: `${(_process$env$WEBPACK_ = process.env.WEBPACK_PUBLIC_PATH) != null ? _process$env$WEBPACK_ : '/'}favicon.ico`
61
66
  })),
@@ -63,4 +68,4 @@ Document.defaultProps = {
63
68
  rootId: 'anansi-root',
64
69
  scripts: null
65
70
  };
66
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZFBvbGljeSIsIkRvY3VtZW50IiwiYXNzZXRzIiwiaGVhZCIsImNoaWxkcmVuIiwidGl0bGUiLCJyb290SWQiLCJjaGFyU2V0IiwiY3NQb2xpY3kiLCJub25jZSIsInNjcmlwdHMiLCJleHRyYVN0eWxlIiwiY3NwTWV0YSIsInBvbGljeSIsImluY2x1ZGVzIiwibWFwIiwiYXNzZXQiLCJpIiwiZmlsdGVyIiwiaHJlZiIsImVuZHNXaXRoIiwiZGVmYXVsdFByb3BzIiwicHJvY2VzcyIsImVudiIsIldFQlBBQ0tfUFVCTElDX1BBVEgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBvbGljeSB9IGZyb20gJy4vY3NwJztcbmltcG9ydCB7IGJ1aWxkUG9saWN5IH0gZnJvbSAnLi9jc3AnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZDogUmVhY3QuUmVhY3ROb2RlO1xuICBleHRyYVN0eWxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgcm9vdElkOiBzdHJpbmc7XG4gIGNoYXJTZXQ6IHN0cmluZztcbiAgY3NQb2xpY3k/OiBQb2xpY3k7XG4gIG5vbmNlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQsXG4gIGNoaWxkcmVuLFxuICB0aXRsZSxcbiAgcm9vdElkLFxuICBjaGFyU2V0LFxuICBjc1BvbGljeSxcbiAgbm9uY2UsXG4gIHNjcmlwdHMsXG4gIGV4dHJhU3R5bGUsXG59OiBQcm9wcykge1xuICBsZXQgY3NwTWV0YTogbnVsbCB8IFJlYWN0LlJlYWN0Tm9kZSA9IG51bGw7XG4gIGlmIChjc1BvbGljeSkge1xuICAgIC8vIGFkZCBub25jZSB0byBwb2xpY3lcbiAgICBjb25zdCBwb2xpY3kgPSB7XG4gICAgICAuLi5jc1BvbGljeSxcbiAgICB9O1xuICAgIGlmIChcbiAgICAgIG5vbmNlICYmXG4gICAgICAvLyBub25jZXMgbmVnYXRlICd1bnNhZmUtaW5saW5lJyBzbyBkbyBub3QgYWRkIGl0IGlmIHRoYXQgZGlyZWN0aXZlIGV4aXN0c1xuICAgICAgKCFwb2xpY3lbJ3NjcmlwdC1zcmMnXSB8fFxuICAgICAgICAhcG9saWN5WydzY3JpcHQtc3JjJ10uaW5jbHVkZXMoXCIndW5zYWZlLWlubGluZSdcIikpXG4gICAgKSB7XG4gICAgICBpZiAodHlwZW9mIHBvbGljeVsnc2NyaXB0LXNyYyddID09PSAnc3RyaW5nJykge1xuICAgICAgICBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9IFtwb2xpY3lbJ3NjcmlwdC1zcmMnXSwgYCdub25jZS0ke25vbmNlfSdgXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBvbGljeVsnc2NyaXB0LXNyYyddID0gWy4uLnBvbGljeVsnc2NyaXB0LXNyYyddLCBgJ25vbmNlLSR7bm9uY2V9J2BdO1xuICAgICAgfVxuICAgIH1cbiAgICBjc3BNZXRhID0gKFxuICAgICAgPG1ldGEgaHR0cEVxdWl2PVwiQ29udGVudC1TZWN1cml0eS1Qb2xpY3lcIiBjb250ZW50PXtidWlsZFBvbGljeShwb2xpY3kpfSAvPlxuICAgICk7XG4gIH1cbiAgcmV0dXJuIChcbiAgICA8aHRtbD5cbiAgICAgIDxoZWFkPlxuICAgICAgICA8bWV0YSBjaGFyU2V0PXtjaGFyU2V0fSAvPlxuICAgICAgICB7Y3NwTWV0YX1cbiAgICAgICAge2hlYWR9XG4gICAgICAgIHtleHRyYVN0eWxlfVxuICAgICAgICB7YXNzZXRzLm1hcCgoYXNzZXQsIGkpID0+IChcbiAgICAgICAgICA8bGluayBrZXk9e2l9IHJlbD1cInByZWxvYWRcIiB7Li4uYXNzZXR9IC8+XG4gICAgICAgICkpfVxuICAgICAgICA8dGl0bGU+e3RpdGxlfTwvdGl0bGU+XG4gICAgICA8L2hlYWQ+XG4gICAgICA8Ym9keT5cbiAgICAgICAgPGRpdiBpZD17cm9vdElkfT57Y2hpbGRyZW59PC9kaXY+XG4gICAgICAgIHtzY3JpcHRzfVxuICAgICAgICB7YXNzZXRzXG4gICAgICAgICAgLmZpbHRlcigoeyBocmVmIH0pID0+IGhyZWYuZW5kc1dpdGgoJy5qcycpKVxuICAgICAgICAgIC5tYXAoKHsgaHJlZiB9LCBpKSA9PiAoXG4gICAgICAgICAgICA8c2NyaXB0IGtleT17aX0gc3JjPXtocmVmfSBhc3luYyAvPlxuICAgICAgICAgICkpfVxuICAgICAgPC9ib2R5PlxuICAgIDwvaHRtbD5cbiAgKTtcbn1cbkRvY3VtZW50LmRlZmF1bHRQcm9wcyA9IHtcbiAgaGVhZDogKFxuICAgIDw+XG4gICAgICA8bWV0YSBuYW1lPVwidmlld3BvcnRcIiBjb250ZW50PVwid2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTFcIiAvPlxuICAgICAgPGxpbmtcbiAgICAgICAgcmVsPVwic2hvcnRjdXQgaWNvblwiXG4gICAgICAgIGhyZWY9e2Ake3Byb2Nlc3MuZW52LldFQlBBQ0tfUFVCTElDX1BBVEggPz8gJy8nfWZhdmljb24uaWNvYH1cbiAgICAgIC8+XG4gICAgPC8+XG4gICksXG4gIGNoYXJTZXQ6ICd1dGYtOCcsXG4gIHJvb3RJZDogJ2FuYW5zaS1yb290JyxcbiAgc2NyaXB0czogbnVsbCxcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQUNBLFNBQVNBLFdBQVcsUUFBUSxPQUFPO0FBZW5DLGVBQWUsU0FBU0MsUUFBUSxDQUFDO0VBQy9CQyxNQUFNO0VBQ05DLElBQUk7RUFDSkMsUUFBUTtFQUNSQyxLQUFLO0VBQ0xDLE1BQU07RUFDTkMsT0FBTztFQUNQQyxRQUFRO0VBQ1JDLEtBQUs7RUFDTEMsT0FBTztFQUNQQztBQUNLLENBQUMsRUFBRTtFQUNSLElBQUlDLE9BQStCLEdBQUcsSUFBSTtFQUMxQyxJQUFJSixRQUFRLEVBQUU7SUFDWjtJQUNBLE1BQU1LLE1BQU0sR0FBRztNQUNiLEdBQUdMO0lBQ0wsQ0FBQztJQUNELElBQ0VDLEtBQUs7SUFDTDtJQUNDLENBQUNJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFDcEIsQ0FBQ0EsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUNwRDtNQUNBLElBQUksT0FBT0QsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLFFBQVEsRUFBRTtRQUM1Q0EsTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUNBLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRyxVQUFTSixLQUFNLEdBQUUsQ0FBQztNQUNuRSxDQUFDLE1BQU07UUFDTEksTUFBTSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBR0EsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFHLFVBQVNKLEtBQU0sR0FBRSxDQUFDO01BQ3RFO0lBQ0Y7SUFDQUcsT0FBTyxnQkFDTDtNQUFNLFNBQVMsRUFBQyx5QkFBeUI7TUFBQyxPQUFPLEVBQUVaLFdBQVcsQ0FBQ2EsTUFBTTtJQUFFLEVBQ3hFO0VBQ0g7RUFDQSxvQkFDRSxzQ0FDRSxzQ0FDRTtJQUFNLE9BQU8sRUFBRU47RUFBUSxFQUFHLEVBQ3pCSyxPQUFPLEVBQ1BULElBQUksRUFDSlEsVUFBVSxFQUNWVCxNQUFNLENBQUNhLEdBQUcsQ0FBQyxDQUFDQyxLQUFLLEVBQUVDLENBQUMsa0JBQ25CO0lBQU0sR0FBRyxFQUFFQSxDQUFFO0lBQUMsR0FBRyxFQUFDLFNBQVM7SUFBQSxHQUFLRDtFQUFLLEVBQ3RDLENBQUMsZUFDRiwwQkFBUVgsS0FBSyxDQUFTLENBQ2pCLGVBQ1Asc0NBQ0U7SUFBSyxFQUFFLEVBQUVDO0VBQU8sV0FBRUYsUUFBUSxDQUFPLEVBQ2hDTSxPQUFPLEVBQ1BSLE1BQU0sQ0FDSmdCLE1BQU0sQ0FBQyxDQUFDO0lBQUVDO0VBQUssQ0FBQyxLQUFLQSxJQUFJLENBQUNDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUMxQ0wsR0FBRyxDQUFDLENBQUM7SUFBRUk7RUFBSyxDQUFDLEVBQUVGLENBQUMsa0JBQ2Y7SUFBZ0IsR0FBRyxFQUFFRSxJQUFLO0lBQUMsS0FBSztFQUFBLEdBQW5CRixDQUFDLENBQ2YsQ0FBQyxDQUNDLENBQ0Y7QUFFWDtBQUNBaEIsUUFBUSxDQUFDb0IsWUFBWSxHQUFHO0VBQ3RCbEIsSUFBSSxlQUNGLHVEQUNFO0lBQU0sSUFBSSxFQUFDLFVBQVU7SUFBQyxPQUFPLEVBQUM7RUFBcUMsRUFBRyxlQUN0RTtJQUNFLEdBQUcsRUFBQyxlQUFlO0lBQ25CLElBQUksRUFBRyw0QkFBRW1CLE9BQU8sQ0FBQ0MsR0FBRyxDQUFDQyxtQkFBbUIsb0NBQUksR0FBSTtFQUFhLEVBQzdELENBRUw7RUFDRGpCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCRCxNQUFNLEVBQUUsYUFBYTtFQUNyQkksT0FBTyxFQUFFO0FBQ1gsQ0FBQyJ9
71
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEb2N1bWVudCIsImFzc2V0cyIsImhlYWQiLCJjaGlsZHJlbiIsInRpdGxlIiwicm9vdElkIiwiY2hhclNldCIsImNzUG9saWN5Iiwibm9uY2UiLCJzY3JpcHRzIiwiZXh0cmFTdHlsZSIsImNzcE1ldGEiLCJwb2xpY3kiLCJwcm9jZXNzIiwiZW52IiwiTk9ERV9FTlYiLCJidWlsZFBvbGljeSIsIm1hcCIsImFzc2V0IiwiaSIsImZpbHRlciIsImhyZWYiLCJlbmRzV2l0aCIsImRlZmF1bHRQcm9wcyIsIldFQlBBQ0tfUFVCTElDX1BBVEgiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL0RvY3VtZW50Q29tcG9uZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBvbGljeSB9IGZyb20gJy4vY3NwJztcbmltcG9ydCB7IGJ1aWxkUG9saWN5IH0gZnJvbSAnLi9jc3AnO1xuXG50eXBlIFByb3BzID0ge1xuICBjaGlsZHJlbjogUmVhY3QuUmVhY3ROb2RlO1xuICBhc3NldHM6IHsgaHJlZjogc3RyaW5nOyBhcz86IHN0cmluZzsgcmVsPzogc3RyaW5nIH1bXTtcbiAgaGVhZDogUmVhY3QuUmVhY3ROb2RlO1xuICBleHRyYVN0eWxlOiBSZWFjdC5SZWFjdE5vZGU7XG4gIHNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgcm9vdElkOiBzdHJpbmc7XG4gIGNoYXJTZXQ6IHN0cmluZztcbiAgY3NQb2xpY3k/OiBQb2xpY3k7XG4gIG5vbmNlPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnQoe1xuICBhc3NldHMsXG4gIGhlYWQsXG4gIGNoaWxkcmVuLFxuICB0aXRsZSxcbiAgcm9vdElkLFxuICBjaGFyU2V0LFxuICBjc1BvbGljeSxcbiAgbm9uY2UsXG4gIHNjcmlwdHMsXG4gIGV4dHJhU3R5bGUsXG59OiBQcm9wcykge1xuICBsZXQgY3NwTWV0YTogbnVsbCB8IFJlYWN0LlJlYWN0Tm9kZSA9IG51bGw7XG4gIGlmIChjc1BvbGljeSkge1xuICAgIC8vIGFkZCBub25jZSB0byBwb2xpY3lcbiAgICBjb25zdCBwb2xpY3kgPSB7XG4gICAgICAuLi5jc1BvbGljeSxcbiAgICB9O1xuICAgIGlmIChcbiAgICAgIG5vbmNlICYmXG4gICAgICAvLyBub25jZXMgbmVnYXRlICd1bnNhZmUtaW5saW5lJyBzbyBkbyBub3QgYWRkIGl0IGluIGRldmVsb3BtZW50IHRvIGtlZXAgdGhpbmdzIGVhc2llclxuICAgICAgcHJvY2Vzcy5lbnYuTk9ERV9FTlYgPT09ICdwcm9kdWN0aW9uJ1xuICAgICkge1xuICAgICAgaWYgKHR5cGVvZiBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgcG9saWN5WydzY3JpcHQtc3JjJ10gPSBbcG9saWN5WydzY3JpcHQtc3JjJ10sIGAnbm9uY2UtJHtub25jZX0nYF07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwb2xpY3lbJ3NjcmlwdC1zcmMnXSA9IFsuLi5wb2xpY3lbJ3NjcmlwdC1zcmMnXSwgYCdub25jZS0ke25vbmNlfSdgXTtcbiAgICAgIH1cbiAgICB9XG4gICAgY3NwTWV0YSA9IChcbiAgICAgIDxtZXRhIGh0dHBFcXVpdj1cIkNvbnRlbnQtU2VjdXJpdHktUG9saWN5XCIgY29udGVudD17YnVpbGRQb2xpY3kocG9saWN5KX0gLz5cbiAgICApO1xuICB9XG4gIHJldHVybiAoXG4gICAgPGh0bWw+XG4gICAgICA8aGVhZD5cbiAgICAgICAgPG1ldGEgY2hhclNldD17Y2hhclNldH0gLz5cbiAgICAgICAge2NzcE1ldGF9XG4gICAgICAgIHtoZWFkfVxuICAgICAgICB7ZXh0cmFTdHlsZX1cbiAgICAgICAge2Fzc2V0cy5tYXAoKGFzc2V0LCBpKSA9PiAoXG4gICAgICAgICAgPGxpbmsga2V5PXtpfSByZWw9XCJwcmVsb2FkXCIgey4uLmFzc2V0fSAvPlxuICAgICAgICApKX1cbiAgICAgICAgPHRpdGxlPnt0aXRsZX08L3RpdGxlPlxuICAgICAgPC9oZWFkPlxuICAgICAgPGJvZHk+XG4gICAgICAgIDxkaXYgaWQ9e3Jvb3RJZH0+e2NoaWxkcmVufTwvZGl2PlxuICAgICAgICB7c2NyaXB0c31cbiAgICAgICAge2Fzc2V0c1xuICAgICAgICAgIC5maWx0ZXIoKHsgaHJlZiB9KSA9PiBocmVmLmVuZHNXaXRoKCcuanMnKSlcbiAgICAgICAgICAubWFwKCh7IGhyZWYgfSwgaSkgPT4gKFxuICAgICAgICAgICAgPHNjcmlwdCBrZXk9e2l9IHNyYz17aHJlZn0gYXN5bmMgLz5cbiAgICAgICAgICApKX1cbiAgICAgIDwvYm9keT5cbiAgICA8L2h0bWw+XG4gICk7XG59XG5Eb2N1bWVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGhlYWQ6IChcbiAgICA8PlxuICAgICAgPG1ldGEgbmFtZT1cInZpZXdwb3J0XCIgY29udGVudD1cIndpZHRoPWRldmljZS13aWR0aCwgaW5pdGlhbC1zY2FsZT0xXCIgLz5cbiAgICAgIDxsaW5rXG4gICAgICAgIHJlbD1cInNob3J0Y3V0IGljb25cIlxuICAgICAgICBocmVmPXtgJHtwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRIID8/ICcvJ31mYXZpY29uLmljb2B9XG4gICAgICAvPlxuICAgIDwvPlxuICApLFxuICBjaGFyU2V0OiAndXRmLTgnLFxuICByb290SWQ6ICdhbmFuc2ktcm9vdCcsXG4gIHNjcmlwdHM6IG51bGwsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQ0E7QUFBb0M7QUFlckIsU0FBU0EsUUFBUSxDQUFDO0VBQy9CQyxNQUFNO0VBQ05DLElBQUk7RUFDSkMsUUFBUTtFQUNSQyxLQUFLO0VBQ0xDLE1BQU07RUFDTkMsT0FBTztFQUNQQyxRQUFRO0VBQ1JDLEtBQUs7RUFDTEMsT0FBTztFQUNQQztBQUNLLENBQUMsRUFBRTtFQUNSLElBQUlDLE9BQStCLEdBQUcsSUFBSTtFQUMxQyxJQUFJSixRQUFRLEVBQUU7SUFDWjtJQUNBLE1BQU1LLE1BQU0sR0FBRztNQUNiLEdBQUdMO0lBQ0wsQ0FBQztJQUNELElBQ0VDLEtBQUs7SUFDTDtJQUNBSyxPQUFPLENBQUNDLEdBQUcsQ0FBQ0MsUUFBUSxLQUFLLFlBQVksRUFDckM7TUFDQSxJQUFJLE9BQU9ILE1BQU0sQ0FBQyxZQUFZLENBQUMsS0FBSyxRQUFRLEVBQUU7UUFDNUNBLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDQSxNQUFNLENBQUMsWUFBWSxDQUFDLEVBQUcsVUFBU0osS0FBTSxHQUFFLENBQUM7TUFDbkUsQ0FBQyxNQUFNO1FBQ0xJLE1BQU0sQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLEdBQUdBLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBRyxVQUFTSixLQUFNLEdBQUUsQ0FBQztNQUN0RTtJQUNGO0lBQ0FHLE9BQU8sZ0JBQ0w7TUFBTSxTQUFTLEVBQUMseUJBQXlCO01BQUMsT0FBTyxFQUFFLElBQUFLLGdCQUFXLEVBQUNKLE1BQU07SUFBRSxFQUN4RTtFQUNIO0VBQ0Esb0JBQ0Usb0RBQ0Usb0RBQ0U7SUFBTSxPQUFPLEVBQUVOO0VBQVEsRUFBRyxFQUN6QkssT0FBTyxFQUNQVCxJQUFJLEVBQ0pRLFVBQVUsRUFDVlQsTUFBTSxDQUFDZ0IsR0FBRyxDQUFDLENBQUNDLEtBQUssRUFBRUMsQ0FBQyxrQkFDbkI7SUFBTSxHQUFHLEVBQUVBLENBQUU7SUFBQyxHQUFHLEVBQUMsU0FBUztJQUFBLEdBQUtEO0VBQUssRUFDdEMsQ0FBQyxlQUNGLHdDQUFRZCxLQUFLLENBQVMsQ0FDakIsZUFDUCxvREFDRTtJQUFLLEVBQUUsRUFBRUM7RUFBTyxXQUFFRixRQUFRLENBQU8sRUFDaENNLE9BQU8sRUFDUFIsTUFBTSxDQUNKbUIsTUFBTSxDQUFDLENBQUM7SUFBRUM7RUFBSyxDQUFDLEtBQUtBLElBQUksQ0FBQ0MsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQzFDTCxHQUFHLENBQUMsQ0FBQztJQUFFSTtFQUFLLENBQUMsRUFBRUYsQ0FBQyxrQkFDZjtJQUFnQixHQUFHLEVBQUVFLElBQUs7SUFBQyxLQUFLO0VBQUEsR0FBbkJGLENBQUMsQ0FDZixDQUFDLENBQ0MsQ0FDRjtBQUVYO0FBQ0FuQixRQUFRLENBQUN1QixZQUFZLEdBQUc7RUFDdEJyQixJQUFJLGVBQ0YseUVBQ0U7SUFBTSxJQUFJLEVBQUMsVUFBVTtJQUFDLE9BQU8sRUFBQztFQUFxQyxFQUFHLGVBQ3RFO0lBQ0UsR0FBRyxFQUFDLGVBQWU7SUFDbkIsSUFBSSxFQUFHLDRCQUFFVyxPQUFPLENBQUNDLEdBQUcsQ0FBQ1UsbUJBQW1CLG9DQUFJLEdBQUk7RUFBYSxFQUM3RCxDQUVMO0VBQ0RsQixPQUFPLEVBQUUsT0FBTztFQUNoQkQsTUFBTSxFQUFFLGFBQWE7RUFDckJJLE9BQU8sRUFBRTtBQUNYLENBQUMifQ==
@@ -1,18 +1,24 @@
1
- import _jsx from "@babel/runtime/helpers/jsx";
2
- import React from 'react';
3
- export default function antdSpout() {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ exports.__esModule = true;
5
+ exports.default = antdSpout;
6
+ var _jsx2 = _interopRequireDefault(require("@babel/runtime/helpers/jsx"));
7
+ var _interopRequireWildcard2 = _interopRequireDefault(require("@babel/runtime/helpers/interopRequireWildcard"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ function antdSpout() {
4
10
  return next => async props => {
5
11
  var _nextProps$scripts;
6
12
  const {
7
13
  createCache,
8
14
  extractStyle,
9
15
  StyleProvider
10
- } = await import('@ant-design/cssinjs');
16
+ } = await Promise.resolve().then(() => (0, _interopRequireWildcard2.default)(require('@ant-design/cssinjs')));
11
17
  const cache = createCache();
12
18
  const nextProps = await next(props);
13
19
  const scripts = (_nextProps$scripts = nextProps.scripts) != null ? _nextProps$scripts : [];
14
20
  const AntdSheets = () => {
15
- return /*#__PURE__*/_jsx("script", {
21
+ return /*#__PURE__*/(0, _jsx2.default)("script", {
16
22
  dangerouslySetInnerHTML: {
17
23
  __html: `</script>${extractStyle(cache)}<script>`
18
24
  }
@@ -20,14 +26,14 @@ export default function antdSpout() {
20
26
  };
21
27
  // unfortunately we have to inject this after the entire content has streamed in or it doesn't correctly populate
22
28
  // see: https://github.com/ant-design/cssinjs/issues/79
23
- scripts.push( /*#__PURE__*/_jsx(AntdSheets, {}));
29
+ scripts.push( /*#__PURE__*/(0, _jsx2.default)(AntdSheets, {}));
24
30
  return {
25
31
  ...nextProps,
26
- app: /*#__PURE__*/_jsx(StyleProvider, {
32
+ app: /*#__PURE__*/(0, _jsx2.default)(StyleProvider, {
27
33
  cache: cache
28
34
  }, void 0, nextProps.app),
29
35
  scripts
30
36
  };
31
37
  };
32
38
  }
33
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImFudGRTcG91dCIsIm5leHQiLCJwcm9wcyIsImNyZWF0ZUNhY2hlIiwiZXh0cmFjdFN0eWxlIiwiU3R5bGVQcm92aWRlciIsImNhY2hlIiwibmV4dFByb3BzIiwic2NyaXB0cyIsIkFudGRTaGVldHMiLCJfX2h0bWwiLCJwdXNoIiwiYXBwIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9hbnRkLnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIGluaXREYXRhPzogUmVjb3JkPHN0cmluZywgKCkgPT4gdW5rbm93bj47XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbiAgZXh0cmFTdHlsZT86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gYW50ZFNwb3V0KCk6IFNlcnZlclNwb3V0PFxuICBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIE5lZWRlZE5leHRcbj4ge1xuICByZXR1cm4gbmV4dCA9PiBhc3luYyBwcm9wcyA9PiB7XG4gICAgY29uc3QgeyBjcmVhdGVDYWNoZSwgZXh0cmFjdFN0eWxlLCBTdHlsZVByb3ZpZGVyIH0gPSBhd2FpdCBpbXBvcnQoXG4gICAgICAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIGNvbnN0IEFudGRTaGVldHMgPSAoKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNjcmlwdFxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8L3NjcmlwdD4ke2V4dHJhY3RTdHlsZShjYWNoZSl9PHNjcmlwdD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH07XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssTUFBTSxPQUFPO0FBVXpCLGVBQWUsU0FBU0MsU0FBUyxHQUkvQjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFBQTtJQUM1QixNQUFNO01BQUVDLFdBQVc7TUFBRUMsWUFBWTtNQUFFQztJQUFjLENBQUMsR0FBRyxNQUFNLE1BQU0sQ0FDL0QscUJBQXFCLENBQ3RCO0lBQ0QsTUFBTUMsS0FBSyxHQUFHSCxXQUFXLEVBQUU7SUFFM0IsTUFBTUksU0FBUyxHQUFHLE1BQU1OLElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBRW5DLE1BQU1NLE9BQTBCLHlCQUFHRCxTQUFTLENBQUNDLE9BQU8saUNBQUksRUFBRTtJQUUxRCxNQUFNQyxVQUFVLEdBQUcsTUFBbUI7TUFDcEMsb0JBQ0U7UUFDRSx1QkFBdUIsRUFBRTtVQUN2QkMsTUFBTSxFQUFHLFlBQVdOLFlBQVksQ0FBQ0UsS0FBSyxDQUFFO1FBQzFDO01BQUUsRUFDRjtJQUVOLENBQUM7SUFDRDtJQUNBO0lBQ0FFLE9BQU8sQ0FBQ0csSUFBSSxlQUFDLEtBQUMsVUFBVSxLQUFHLENBQUM7SUFFNUIsT0FBTztNQUNMLEdBQUdKLFNBQVM7TUFDWkssR0FBRyxlQUFFLEtBQUMsYUFBYTtRQUFDLEtBQUssRUFBRU47TUFBTSxXQUFFQyxTQUFTLENBQUNLLEdBQUcsQ0FBaUI7TUFDakVKO0lBQ0YsQ0FBQztFQUNILENBQUM7QUFDSCJ9
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJBbnRkU2hlZXRzIiwiX19odG1sIiwicHVzaCIsImFwcCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvYW50ZC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgJ0BhbnQtZGVzaWduL2Nzc2luanMnXG4gICAgKTtcbiAgICBjb25zdCBjYWNoZSA9IGNyZWF0ZUNhY2hlKCk7XG5cbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgIGNvbnN0IHNjcmlwdHM6IFJlYWN0LlJlYWN0Tm9kZVtdID0gbmV4dFByb3BzLnNjcmlwdHMgPz8gW107XG5cbiAgICBjb25zdCBBbnRkU2hlZXRzID0gKCk6IEpTWC5FbGVtZW50ID0+IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxzY3JpcHRcbiAgICAgICAgICBkYW5nZXJvdXNseVNldElubmVySFRNTD17e1xuICAgICAgICAgICAgX19odG1sOiBgPC9zY3JpcHQ+JHtleHRyYWN0U3R5bGUoY2FjaGUpfTxzY3JpcHQ+YCxcbiAgICAgICAgICB9fVxuICAgICAgICAvPlxuICAgICAgKTtcbiAgICB9O1xuICAgIC8vIHVuZm9ydHVuYXRlbHkgd2UgaGF2ZSB0byBpbmplY3QgdGhpcyBhZnRlciB0aGUgZW50aXJlIGNvbnRlbnQgaGFzIHN0cmVhbWVkIGluIG9yIGl0IGRvZXNuJ3QgY29ycmVjdGx5IHBvcHVsYXRlXG4gICAgLy8gc2VlOiBodHRwczovL2dpdGh1Yi5jb20vYW50LWRlc2lnbi9jc3NpbmpzL2lzc3Vlcy83OVxuICAgIHNjcmlwdHMucHVzaCg8QW50ZFNoZWV0cyAvPik7XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiA8U3R5bGVQcm92aWRlciBjYWNoZT17Y2FjaGV9PntuZXh0UHJvcHMuYXBwfTwvU3R5bGVQcm92aWRlcj4sXG4gICAgICBzY3JpcHRzLFxuICAgIH07XG4gIH07XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQVVlLFNBQVNBLFNBQVMsR0FJL0I7RUFDQSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQUE7SUFDNUIsTUFBTTtNQUFFQyxXQUFXO01BQUVDLFlBQVk7TUFBRUM7SUFBYyxDQUFDLEdBQUcsaUZBQ25ELHFCQUFxQixHQUN0QjtJQUNELE1BQU1DLEtBQUssR0FBR0gsV0FBVyxFQUFFO0lBRTNCLE1BQU1JLFNBQVMsR0FBRyxNQUFNTixJQUFJLENBQUNDLEtBQUssQ0FBQztJQUVuQyxNQUFNTSxPQUEwQix5QkFBR0QsU0FBUyxDQUFDQyxPQUFPLGlDQUFJLEVBQUU7SUFFMUQsTUFBTUMsVUFBVSxHQUFHLE1BQW1CO01BQ3BDLG9CQUNFO1FBQ0UsdUJBQXVCLEVBQUU7VUFDdkJDLE1BQU0sRUFBRyxZQUFXTixZQUFZLENBQUNFLEtBQUssQ0FBRTtRQUMxQztNQUFFLEVBQ0Y7SUFFTixDQUFDO0lBQ0Q7SUFDQTtJQUNBRSxPQUFPLENBQUNHLElBQUksZUFBQyxtQkFBQyxVQUFVLEtBQUcsQ0FBQztJQUU1QixPQUFPO01BQ0wsR0FBR0osU0FBUztNQUNaSyxHQUFHLGVBQUUsbUJBQUMsYUFBYTtRQUFDLEtBQUssRUFBRU47TUFBTSxXQUFFQyxTQUFTLENBQUNLLEdBQUcsQ0FBaUI7TUFDakVKO0lBQ0YsQ0FBQztFQUNILENBQUM7QUFDSCJ9
package/lib/spouts/app.js CHANGED
@@ -1,6 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
1
5
  const appSpout = app => props => Promise.resolve({
2
6
  ...props,
3
7
  app
4
8
  });
5
- export default appSpout;
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBTcG91dCIsImFwcCIsInByb3BzIiwiUHJvbWlzZSIsInJlc29sdmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FwcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXBwU3BvdXQgPVxuICAoYXBwOiBKU1guRWxlbWVudCkgPT5cbiAgPFAgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ocHJvcHM6IFApID0+XG4gICAgUHJvbWlzZS5yZXNvbHZlKHsgLi4ucHJvcHMsIGFwcCB9KTtcblxuZXhwb3J0IGRlZmF1bHQgYXBwU3BvdXQ7XG4iXSwibWFwcGluZ3MiOiJBQUFBLE1BQU1BLFFBQVEsR0FDWEMsR0FBZ0IsSUFDbUJDLEtBQVEsSUFDMUNDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDO0VBQUUsR0FBR0YsS0FBSztFQUFFRDtBQUFJLENBQUMsQ0FBQztBQUV0QyxlQUFlRCxRQUFRIn0=
9
+ var _default = appSpout;
10
+ exports.default = _default;
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBTcG91dCIsImFwcCIsInByb3BzIiwiUHJvbWlzZSIsInJlc29sdmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FwcC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgYXBwU3BvdXQgPVxuICAoYXBwOiBKU1guRWxlbWVudCkgPT5cbiAgPFAgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ocHJvcHM6IFApID0+XG4gICAgUHJvbWlzZS5yZXNvbHZlKHsgLi4ucHJvcHMsIGFwcCB9KTtcblxuZXhwb3J0IGRlZmF1bHQgYXBwU3BvdXQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxNQUFNQSxRQUFRLEdBQ1hDLEdBQWdCLElBQ21CQyxLQUFRLElBQzFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQztFQUFFLEdBQUdGLEtBQUs7RUFBRUQ7QUFBSSxDQUFDLENBQUM7QUFBQyxlQUV4QkQsUUFBUTtBQUFBIn0=
@@ -1,6 +1,11 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
1
5
  const appSpout = app => props => Promise.resolve({
2
6
  ...props,
3
7
  app
4
8
  });
5
- export default appSpout;
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBTcG91dCIsImFwcCIsInByb3BzIiwiUHJvbWlzZSIsInJlc29sdmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FwcC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGFwcFNwb3V0ID1cbiAgKGFwcDogSlNYLkVsZW1lbnQpID0+XG4gIDxQIGV4dGVuZHMgU2VydmVyUHJvcHM+KHByb3BzOiBQKSA9PlxuICAgIFByb21pc2UucmVzb2x2ZSh7IC4uLnByb3BzLCBhcHAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGFwcFNwb3V0O1xuIl0sIm1hcHBpbmdzIjoiQUFFQSxNQUFNQSxRQUFRLEdBQ1hDLEdBQWdCLElBQ09DLEtBQVEsSUFDOUJDLE9BQU8sQ0FBQ0MsT0FBTyxDQUFDO0VBQUUsR0FBR0YsS0FBSztFQUFFRDtBQUFJLENBQUMsQ0FBQztBQUV0QyxlQUFlRCxRQUFRIn0=
9
+ var _default = appSpout;
10
+ exports.default = _default;
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJhcHBTcG91dCIsImFwcCIsInByb3BzIiwiUHJvbWlzZSIsInJlc29sdmUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FwcC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlcnZlclByb3BzIH0gZnJvbSAnLi90eXBlcyc7XG5cbmNvbnN0IGFwcFNwb3V0ID1cbiAgKGFwcDogSlNYLkVsZW1lbnQpID0+XG4gIDxQIGV4dGVuZHMgU2VydmVyUHJvcHM+KHByb3BzOiBQKSA9PlxuICAgIFByb21pc2UucmVzb2x2ZSh7IC4uLnByb3BzLCBhcHAgfSk7XG5cbmV4cG9ydCBkZWZhdWx0IGFwcFNwb3V0O1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsTUFBTUEsUUFBUSxHQUNYQyxHQUFnQixJQUNPQyxLQUFRLElBQzlCQyxPQUFPLENBQUNDLE9BQU8sQ0FBQztFQUFFLEdBQUdGLEtBQUs7RUFBRUQ7QUFBSSxDQUFDLENBQUM7QUFBQyxlQUV4QkQsUUFBUTtBQUFBIn0=