@anansi/core 0.20.21 → 0.20.23

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.
package/CHANGELOG.md CHANGED
@@ -3,6 +3,19 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ### [0.20.23](https://github.com/ntucker/anansi/compare/@anansi/core@0.20.22...@anansi/core@0.20.23) (2025-03-24)
7
+
8
+ ### 📦 Package
9
+
10
+ * Update all non-major dependencies ([#2706](https://github.com/ntucker/anansi/issues/2706)) ([a8b58cc](https://github.com/ntucker/anansi/commit/a8b58cc1b16a4f95091fb09980da0296b39f0e1c))
11
+
12
+ ### [0.20.22](https://github.com/ntucker/anansi/compare/@anansi/core@0.20.21...@anansi/core@0.20.22) (2025-03-05)
13
+
14
+ ### 🐛 Bug Fix
15
+
16
+ * Devserver SSR proxy handling for new webpack configs ([132157b](https://github.com/ntucker/anansi/commit/132157b75d2876ff7111f9bbd843ba959727bb6f))
17
+ * Proxy in production ([caa94b8](https://github.com/ntucker/anansi/commit/caa94b88dd91651089b7ee1826fcd78828dbd4ec))
18
+
6
19
  ### [0.20.21](https://github.com/ntucker/anansi/compare/@anansi/core@0.20.20...@anansi/core@0.20.21) (2025-02-17)
7
20
 
8
21
  ### 📦 Package
@@ -1 +1 @@
1
- {"version":3,"file":"getProxyMiddlewares.d.ts","sourceRoot":"","sources":["../../src/scripts/getProxyMiddlewares.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,EAMjB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,SAyGxE"}
1
+ {"version":3,"file":"getProxyMiddlewares.d.ts","sourceRoot":"","sources":["../../src/scripts/getProxyMiddlewares.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,gBAAgB,EAKjB,MAAM,oBAAoB,CAAC;AAI5B,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,SA8FxE"}
@@ -1,20 +1,17 @@
1
+ import { legacyCreateProxyMiddleware } from 'http-proxy-middleware';
1
2
  // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
2
3
  // we just removed the 'bypass' deprecation warnings and converted to typescript
3
4
  export default function getProxyMiddlewares(proxyConfig) {
4
5
  const middlewares = [];
5
- // eslint-disable-next-line @typescript-eslint/no-var-requires
6
- const {
7
- createProxyMiddleware
8
- } = require('http-proxy-middleware');
9
6
  const getProxyMiddleware = proxyConfig => {
10
7
  // It is possible to use the `bypass` method without a `target` or `router`.
11
8
  // However, the proxy middleware has no use in this case, and will fail to instantiate.
12
9
  if (proxyConfig.target) {
13
10
  const context = proxyConfig.context || proxyConfig.path;
14
- return createProxyMiddleware(/** @type {string} */context, proxyConfig);
11
+ return legacyCreateProxyMiddleware(context, proxyConfig);
15
12
  }
16
13
  if (proxyConfig.router) {
17
- return createProxyMiddleware(proxyConfig);
14
+ return legacyCreateProxyMiddleware(proxyConfig);
18
15
  }
19
16
  };
20
17
 
@@ -50,25 +47,15 @@ export default function getProxyMiddlewares(proxyConfig) {
50
47
  const newProxyConfig = proxyConfigOrCallback(req, res, next);
51
48
  if (newProxyConfig !== proxyConfig) {
52
49
  proxyConfig = newProxyConfig;
50
+ const socket = req.socket != null ? req.socket : req.connection;
51
+ const server = socket != null ? socket.server : null;
52
+ if (server) {
53
+ server.removeAllListeners('close');
54
+ }
53
55
  proxyMiddleware = getProxyMiddleware(proxyConfig);
54
56
  }
55
57
  }
56
-
57
- // - Check if we have a bypass function defined
58
- // - In case the bypass function is defined we'll retrieve the
59
- // bypassUrl from it otherwise bypassUrl would be null
60
- // TODO remove in the next major in favor `context` and `router` options
61
- const bypassUrl = typeof proxyConfig.bypass === 'function' ? await proxyConfig.bypass(req, res, proxyConfig) : null;
62
- if (typeof bypassUrl === 'boolean') {
63
- // skip the proxy
64
- res.statusCode = 404;
65
- req.url = '';
66
- next();
67
- } else if (typeof bypassUrl === 'string') {
68
- // byPass to that url
69
- req.url = bypassUrl;
70
- next();
71
- } else if (proxyMiddleware) {
58
+ if (proxyMiddleware) {
72
59
  return proxyMiddleware(req, res, next);
73
60
  } else {
74
61
  next();
@@ -78,6 +65,7 @@ export default function getProxyMiddlewares(proxyConfig) {
78
65
  name: 'http-proxy-middleware',
79
66
  middleware: handler
80
67
  });
68
+
81
69
  // Also forward error requests to the proxy so it can handle them.
82
70
  middlewares.push({
83
71
  name: 'http-proxy-middleware-error-handler',
@@ -86,4 +74,4 @@ export default function getProxyMiddlewares(proxyConfig) {
86
74
  });
87
75
  return middlewares;
88
76
  }
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJnZXRQcm94eU1pZGRsZXdhcmUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicGF0aCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwic3RhdHVzQ29kZSIsInVybCIsInB1c2giLCJuYW1lIiwibWlkZGxld2FyZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjcmlwdHMvZ2V0UHJveHlNaWRkbGV3YXJlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXF1ZXN0SGFuZGxlcixcbiAgUHJveHlDb25maWdBcnJheSxcbiAgUmVzcG9uc2UsXG4gIFJlcXVlc3QsXG4gIE5leHRGdW5jdGlvbixcbiAgQnlQYXNzLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICBjb25zdCB7IGNyZWF0ZVByb3h5TWlkZGxld2FyZSB9ID0gcmVxdWlyZSgnaHR0cC1wcm94eS1taWRkbGV3YXJlJyk7XG5cbiAgY29uc3QgZ2V0UHJveHlNaWRkbGV3YXJlID0gKFxuICAgIHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbiAgKTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgYGJ5cGFzc2AgbWV0aG9kIHdpdGhvdXQgYSBgdGFyZ2V0YCBvciBgcm91dGVyYC5cbiAgICAvLyBIb3dldmVyLCB0aGUgcHJveHkgbWlkZGxld2FyZSBoYXMgbm8gdXNlIGluIHRoaXMgY2FzZSwgYW5kIHdpbGwgZmFpbCB0byBpbnN0YW50aWF0ZS5cbiAgICBpZiAocHJveHlDb25maWcudGFyZ2V0KSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gcHJveHlDb25maWcuY29udGV4dCB8fCBwcm94eUNvbmZpZy5wYXRoO1xuXG4gICAgICByZXR1cm4gY3JlYXRlUHJveHlNaWRkbGV3YXJlKC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBjb250ZXh0LCBwcm94eUNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3h5Q29uZmlnLnJvdXRlcikge1xuICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBBc3N1bWUgYSBwcm94eSBjb25maWd1cmF0aW9uIHNwZWNpZmllZCBhczpcbiAgICogcHJveHk6IFtcbiAgICogICB7XG4gICAqICAgICBjb250ZXh0OiBcInZhbHVlXCIsXG4gICAqICAgICAuLi5vcHRpb25zLFxuICAgKiAgIH0sXG4gICAqICAgLy8gb3I6XG4gICAqICAgZnVuY3Rpb24oKSB7XG4gICAqICAgICByZXR1cm4ge1xuICAgKiAgICAgICBjb250ZXh0OiBcImNvbnRleHRcIixcbiAgICogICAgICAgLi4ub3B0aW9ucyxcbiAgICogICAgIH07XG4gICAqICAgfVxuICAgKiBdXG4gICAqL1xuICBwcm94eUNvbmZpZy5mb3JFYWNoKHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PiB7XG4gICAgbGV0IHByb3h5TWlkZGxld2FyZTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBsZXQgcHJveHlDb25maWcgPVxuICAgICAgdHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgIHByb3h5Q29uZmlnT3JDYWxsYmFjaygpXG4gICAgICA6IHByb3h5Q29uZmlnT3JDYWxsYmFjaztcblxuICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG5cbiAgICAvKiBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIHRoaXMgd29ya1xuICAgIGlmIChwcm94eUNvbmZpZy53cykge1xuICAgICAgdGhpcy53ZWJTb2NrZXRQcm94aWVzLnB1c2gocHJveHlNaWRkbGV3YXJlKTtcbiAgICB9XG4gICAgKi9cblxuICAgIGNvbnN0IGhhbmRsZXIgPSBhc3luYyAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3h5Q29uZmlnID0gcHJveHlDb25maWdPckNhbGxiYWNrKHJlcSwgcmVzLCBuZXh0KTtcblxuICAgICAgICBpZiAobmV3UHJveHlDb25maWcgIT09IHByb3h5Q29uZmlnKSB7XG4gICAgICAgICAgcHJveHlDb25maWcgPSBuZXdQcm94eUNvbmZpZztcbiAgICAgICAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC0gQ2hlY2sgaWYgd2UgaGF2ZSBhIGJ5cGFzcyBmdW5jdGlvbiBkZWZpbmVkXG4gICAgICAvLyAtIEluIGNhc2UgdGhlIGJ5cGFzcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHdlJ2xsIHJldHJpZXZlIHRoZVxuICAgICAgLy8gYnlwYXNzVXJsIGZyb20gaXQgb3RoZXJ3aXNlIGJ5cGFzc1VybCB3b3VsZCBiZSBudWxsXG4gICAgICAvLyBUT0RPIHJlbW92ZSBpbiB0aGUgbmV4dCBtYWpvciBpbiBmYXZvciBgY29udGV4dGAgYW5kIGByb3V0ZXJgIG9wdGlvbnNcbiAgICAgIGNvbnN0IGJ5cGFzc1VybDogQnlQYXNzIHwgbnVsbCA9XG4gICAgICAgIHR5cGVvZiBwcm94eUNvbmZpZy5ieXBhc3MgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgIGF3YWl0IHByb3h5Q29uZmlnLmJ5cGFzcyhyZXEsIHJlcywgcHJveHlDb25maWcpXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdib29sZWFuJykge1xuICAgICAgICAvLyBza2lwIHRoZSBwcm94eVxuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgcmVxLnVybCA9ICcnO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGJ5UGFzcyB0byB0aGF0IHVybFxuICAgICAgICByZXEudXJsID0gYnlwYXNzVXJsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG4gICAgLy8gQWxzbyBmb3J3YXJkIGVycm9yIHJlcXVlc3RzIHRvIHRoZSBwcm94eSBzbyBpdCBjYW4gaGFuZGxlIHRoZW0uXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlLWVycm9yLWhhbmRsZXInLFxuICAgICAgbWlkZGxld2FyZTogKFxuICAgICAgICBlcnJvcjogRXJyb3IsXG4gICAgICAgIHJlcTogUmVxdWVzdCxcbiAgICAgICAgcmVzOiBSZXNwb25zZSxcbiAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgKSA9PiBoYW5kbGVyKHJlcSwgcmVzLCBuZXh0KSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFVQTtBQUNBO0FBQ0EsZUFBZSxTQUFTQSxtQkFBbUJBLENBQUNDLFdBQTZCLEVBQUU7RUFDekUsTUFBTUMsV0FBa0IsR0FBRyxFQUFFO0VBQzdCO0VBQ0EsTUFBTTtJQUFFQztFQUFzQixDQUFDLEdBQUdDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztFQUVsRSxNQUFNQyxrQkFBa0IsR0FDdEJKLFdBQWlDLElBQ0Y7SUFDL0I7SUFDQTtJQUNBLElBQUlBLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFO01BQ3RCLE1BQU1DLE9BQU8sR0FBR04sV0FBVyxDQUFDTSxPQUFPLElBQUlOLFdBQVcsQ0FBQ08sSUFBSTtNQUV2RCxPQUFPTCxxQkFBcUIsQ0FBQyxxQkFBc0JJLE9BQU8sRUFBRU4sV0FBVyxDQUFDO0lBQzFFO0lBRUEsSUFBSUEsV0FBVyxDQUFDUSxNQUFNLEVBQUU7TUFDdEIsT0FBT04scUJBQXFCLENBQUNGLFdBQVcsQ0FBQztJQUMzQztFQUNGLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRUEsV0FBVyxDQUFDUyxPQUFPLENBQUNDLHFCQUFxQixJQUFJO0lBQzNDLElBQUlDLGVBQTJDO0lBRS9DLElBQUlYLFdBQVcsR0FDYixPQUFPVSxxQkFBcUIsS0FBSyxVQUFVLEdBQ3pDQSxxQkFBcUIsQ0FBQyxDQUFDLEdBQ3ZCQSxxQkFBcUI7SUFFekJDLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQzs7SUFFakQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7SUFFSSxNQUFNWSxPQUFPLEdBQUcsTUFBQUEsQ0FBT0MsR0FBWSxFQUFFQyxHQUFhLEVBQUVDLElBQWtCLEtBQUs7TUFDekUsSUFBSSxPQUFPTCxxQkFBcUIsS0FBSyxVQUFVLEVBQUU7UUFDL0MsTUFBTU0sY0FBYyxHQUFHTixxQkFBcUIsQ0FBQ0csR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUksQ0FBQztRQUU1RCxJQUFJQyxjQUFjLEtBQUtoQixXQUFXLEVBQUU7VUFDbENBLFdBQVcsR0FBR2dCLGNBQWM7VUFDNUJMLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQztRQUNuRDtNQUNGOztNQUVBO01BQ0E7TUFDQTtNQUNBO01BQ0EsTUFBTWlCLFNBQXdCLEdBQzVCLE9BQU9qQixXQUFXLENBQUNrQixNQUFNLEtBQUssVUFBVSxHQUN0QyxNQUFNbEIsV0FBVyxDQUFDa0IsTUFBTSxDQUFDTCxHQUFHLEVBQUVDLEdBQUcsRUFBRWQsV0FBVyxDQUFDLEdBQy9DLElBQUk7TUFFUixJQUFJLE9BQU9pQixTQUFTLEtBQUssU0FBUyxFQUFFO1FBQ2xDO1FBQ0FILEdBQUcsQ0FBQ0ssVUFBVSxHQUFHLEdBQUc7UUFDcEJOLEdBQUcsQ0FBQ08sR0FBRyxHQUFHLEVBQUU7UUFDWkwsSUFBSSxDQUFDLENBQUM7TUFDUixDQUFDLE1BQU0sSUFBSSxPQUFPRSxTQUFTLEtBQUssUUFBUSxFQUFFO1FBQ3hDO1FBQ0FKLEdBQUcsQ0FBQ08sR0FBRyxHQUFHSCxTQUFTO1FBQ25CRixJQUFJLENBQUMsQ0FBQztNQUNSLENBQUMsTUFBTSxJQUFJSixlQUFlLEVBQUU7UUFDMUIsT0FBT0EsZUFBZSxDQUFDRSxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxDQUFDO01BQ3hDLENBQUMsTUFBTTtRQUNMQSxJQUFJLENBQUMsQ0FBQztNQUNSO0lBQ0YsQ0FBQztJQUVEZCxXQUFXLENBQUNvQixJQUFJLENBQUM7TUFDZkMsSUFBSSxFQUFFLHVCQUF1QjtNQUM3QkMsVUFBVSxFQUFFWDtJQUNkLENBQUMsQ0FBQztJQUNGO0lBQ0FYLFdBQVcsQ0FBQ29CLElBQUksQ0FBQztNQUNmQyxJQUFJLEVBQUUscUNBQXFDO01BQzNDQyxVQUFVLEVBQUVBLENBQ1ZDLEtBQVksRUFDWlgsR0FBWSxFQUNaQyxHQUFhLEVBQ2JDLElBQWtCLEtBQ2ZILE9BQU8sQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUk7SUFDN0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsT0FBT2QsV0FBVztBQUNwQiIsImlnbm9yZUxpc3QiOltdfQ==
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsZWdhY3lDcmVhdGVQcm94eU1pZGRsZXdhcmUiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImdldFByb3h5TWlkZGxld2FyZSIsInRhcmdldCIsImNvbnRleHQiLCJwYXRoIiwicm91dGVyIiwiZm9yRWFjaCIsInByb3h5Q29uZmlnT3JDYWxsYmFjayIsInByb3h5TWlkZGxld2FyZSIsImhhbmRsZXIiLCJyZXEiLCJyZXMiLCJuZXh0IiwibmV3UHJveHlDb25maWciLCJzb2NrZXQiLCJjb25uZWN0aW9uIiwic2VydmVyIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlciwgbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlIH0gZnJvbSAnaHR0cC1wcm94eS1taWRkbGV3YXJlJztcbmltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0IGdldFByb3h5TWlkZGxld2FyZSA9IChcbiAgICBwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheUl0ZW0sXG4gICk6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGBieXBhc3NgIG1ldGhvZCB3aXRob3V0IGEgYHRhcmdldGAgb3IgYHJvdXRlcmAuXG4gICAgLy8gSG93ZXZlciwgdGhlIHByb3h5IG1pZGRsZXdhcmUgaGFzIG5vIHVzZSBpbiB0aGlzIGNhc2UsIGFuZCB3aWxsIGZhaWwgdG8gaW5zdGFudGlhdGUuXG4gICAgaWYgKHByb3h5Q29uZmlnLnRhcmdldCkge1xuICAgICAgY29uc3QgY29udGV4dDogRmlsdGVyID0gcHJveHlDb25maWcuY29udGV4dCB8fCAocHJveHlDb25maWcucGF0aCBhcyBhbnkpO1xuXG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKGNvbnRleHQsIHByb3h5Q29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAocHJveHlDb25maWcucm91dGVyKSB7XG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFzc3VtZSBhIHByb3h5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFzOlxuICAgKiBwcm94eTogW1xuICAgKiAgIHtcbiAgICogICAgIGNvbnRleHQ6IFwidmFsdWVcIixcbiAgICogICAgIC4uLm9wdGlvbnMsXG4gICAqICAgfSxcbiAgICogICAvLyBvcjpcbiAgICogICBmdW5jdGlvbigpIHtcbiAgICogICAgIHJldHVybiB7XG4gICAqICAgICAgIGNvbnRleHQ6IFwiY29udGV4dFwiLFxuICAgKiAgICAgICAuLi5vcHRpb25zLFxuICAgKiAgICAgfTtcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIHByb3h5Q29uZmlnLmZvckVhY2gocHJveHlDb25maWdPckNhbGxiYWNrID0+IHtcbiAgICBsZXQgcHJveHlNaWRkbGV3YXJlOiBSZXF1ZXN0SGFuZGxlciB8IHVuZGVmaW5lZDtcblxuICAgIGxldCBwcm94eUNvbmZpZyA9XG4gICAgICB0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgcHJveHlDb25maWdPckNhbGxiYWNrKClcbiAgICAgIDogcHJveHlDb25maWdPckNhbGxiYWNrO1xuXG4gICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcblxuICAgIC8qIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgdGhpcyB3b3JrXG4gICAgaWYgKHByb3h5Q29uZmlnLndzKSB7XG4gICAgICB0aGlzLndlYlNvY2tldFByb3hpZXMucHVzaChwcm94eU1pZGRsZXdhcmUpO1xuICAgIH1cbiAgICAqL1xuXG4gICAgY29uc3QgaGFuZGxlciA9IGFzeW5jIChyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UsIG5leHQ6IE5leHRGdW5jdGlvbikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgbmV3UHJveHlDb25maWcgPSBwcm94eUNvbmZpZ09yQ2FsbGJhY2socmVxLCByZXMsIG5leHQpO1xuXG4gICAgICAgIGlmIChuZXdQcm94eUNvbmZpZyAhPT0gcHJveHlDb25maWcpIHtcbiAgICAgICAgICBwcm94eUNvbmZpZyA9IG5ld1Byb3h5Q29uZmlnO1xuXG4gICAgICAgICAgY29uc3Qgc29ja2V0ID0gcmVxLnNvY2tldCAhPSBudWxsID8gcmVxLnNvY2tldCA6IHJlcS5jb25uZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IHNlcnZlciA9IHNvY2tldCAhPSBudWxsID8gKHNvY2tldCBhcyBhbnkpLnNlcnZlciA6IG51bGw7XG5cbiAgICAgICAgICBpZiAoc2VydmVyKSB7XG4gICAgICAgICAgICBzZXJ2ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCdjbG9zZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGZvcndhcmQgZXJyb3IgcmVxdWVzdHMgdG8gdGhlIHByb3h5IHNvIGl0IGNhbiBoYW5kbGUgdGhlbS5cbiAgICBtaWRkbGV3YXJlcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdodHRwLXByb3h5LW1pZGRsZXdhcmUtZXJyb3ItaGFuZGxlcicsXG4gICAgICBtaWRkbGV3YXJlOiAoXG4gICAgICAgIGVycm9yOiBFcnJvcixcbiAgICAgICAgcmVxOiBSZXF1ZXN0LFxuICAgICAgICByZXM6IFJlc3BvbnNlLFxuICAgICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgICApID0+IGhhbmRsZXIocmVxLCByZXMsIG5leHQpLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWlkZGxld2FyZXM7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWlCQSwyQkFBMkIsUUFBUSx1QkFBdUI7QUFVM0U7QUFDQTtBQUNBLGVBQWUsU0FBU0MsbUJBQW1CQSxDQUFDQyxXQUE2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
@@ -1,20 +1,17 @@
1
+ import { legacyCreateProxyMiddleware } from 'http-proxy-middleware';
1
2
  // Essentially taken from https://github.com/webpack/webpack-dev-server/blob/3096148746c906105c4424352f5b5ad1bff0fd4f/lib/Server.js#L2099
2
3
  // we just removed the 'bypass' deprecation warnings and converted to typescript
3
4
  export default function getProxyMiddlewares(proxyConfig) {
4
5
  const middlewares = [];
5
- // eslint-disable-next-line @typescript-eslint/no-var-requires
6
- const {
7
- createProxyMiddleware
8
- } = require('http-proxy-middleware');
9
6
  const getProxyMiddleware = proxyConfig => {
10
7
  // It is possible to use the `bypass` method without a `target` or `router`.
11
8
  // However, the proxy middleware has no use in this case, and will fail to instantiate.
12
9
  if (proxyConfig.target) {
13
10
  const context = proxyConfig.context || proxyConfig.path;
14
- return createProxyMiddleware(/** @type {string} */context, proxyConfig);
11
+ return legacyCreateProxyMiddleware(context, proxyConfig);
15
12
  }
16
13
  if (proxyConfig.router) {
17
- return createProxyMiddleware(proxyConfig);
14
+ return legacyCreateProxyMiddleware(proxyConfig);
18
15
  }
19
16
  };
20
17
 
@@ -50,25 +47,15 @@ export default function getProxyMiddlewares(proxyConfig) {
50
47
  const newProxyConfig = proxyConfigOrCallback(req, res, next);
51
48
  if (newProxyConfig !== proxyConfig) {
52
49
  proxyConfig = newProxyConfig;
50
+ const socket = req.socket != null ? req.socket : req.connection;
51
+ const server = socket != null ? socket.server : null;
52
+ if (server) {
53
+ server.removeAllListeners('close');
54
+ }
53
55
  proxyMiddleware = getProxyMiddleware(proxyConfig);
54
56
  }
55
57
  }
56
-
57
- // - Check if we have a bypass function defined
58
- // - In case the bypass function is defined we'll retrieve the
59
- // bypassUrl from it otherwise bypassUrl would be null
60
- // TODO remove in the next major in favor `context` and `router` options
61
- const bypassUrl = typeof proxyConfig.bypass === 'function' ? await proxyConfig.bypass(req, res, proxyConfig) : null;
62
- if (typeof bypassUrl === 'boolean') {
63
- // skip the proxy
64
- res.statusCode = 404;
65
- req.url = '';
66
- next();
67
- } else if (typeof bypassUrl === 'string') {
68
- // byPass to that url
69
- req.url = bypassUrl;
70
- next();
71
- } else if (proxyMiddleware) {
58
+ if (proxyMiddleware) {
72
59
  return proxyMiddleware(req, res, next);
73
60
  } else {
74
61
  next();
@@ -78,6 +65,7 @@ export default function getProxyMiddlewares(proxyConfig) {
78
65
  name: 'http-proxy-middleware',
79
66
  middleware: handler
80
67
  });
68
+
81
69
  // Also forward error requests to the proxy so it can handle them.
82
70
  middlewares.push({
83
71
  name: 'http-proxy-middleware-error-handler',
@@ -86,4 +74,4 @@ export default function getProxyMiddlewares(proxyConfig) {
86
74
  });
87
75
  return middlewares;
88
76
  }
89
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImNyZWF0ZVByb3h5TWlkZGxld2FyZSIsInJlcXVpcmUiLCJnZXRQcm94eU1pZGRsZXdhcmUiLCJ0YXJnZXQiLCJjb250ZXh0IiwicGF0aCIsInJvdXRlciIsImZvckVhY2giLCJwcm94eUNvbmZpZ09yQ2FsbGJhY2siLCJwcm94eU1pZGRsZXdhcmUiLCJoYW5kbGVyIiwicmVxIiwicmVzIiwibmV4dCIsIm5ld1Byb3h5Q29uZmlnIiwiYnlwYXNzVXJsIiwiYnlwYXNzIiwic3RhdHVzQ29kZSIsInVybCIsInB1c2giLCJuYW1lIiwibWlkZGxld2FyZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NjcmlwdHMvZ2V0UHJveHlNaWRkbGV3YXJlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBSZXF1ZXN0SGFuZGxlcixcbiAgUHJveHlDb25maWdBcnJheSxcbiAgUmVzcG9uc2UsXG4gIFJlcXVlc3QsXG4gIE5leHRGdW5jdGlvbixcbiAgQnlQYXNzLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICBjb25zdCB7IGNyZWF0ZVByb3h5TWlkZGxld2FyZSB9ID0gcmVxdWlyZSgnaHR0cC1wcm94eS1taWRkbGV3YXJlJyk7XG5cbiAgY29uc3QgZ2V0UHJveHlNaWRkbGV3YXJlID0gKFxuICAgIHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbiAgKTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQgPT4ge1xuICAgIC8vIEl0IGlzIHBvc3NpYmxlIHRvIHVzZSB0aGUgYGJ5cGFzc2AgbWV0aG9kIHdpdGhvdXQgYSBgdGFyZ2V0YCBvciBgcm91dGVyYC5cbiAgICAvLyBIb3dldmVyLCB0aGUgcHJveHkgbWlkZGxld2FyZSBoYXMgbm8gdXNlIGluIHRoaXMgY2FzZSwgYW5kIHdpbGwgZmFpbCB0byBpbnN0YW50aWF0ZS5cbiAgICBpZiAocHJveHlDb25maWcudGFyZ2V0KSB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gcHJveHlDb25maWcuY29udGV4dCB8fCBwcm94eUNvbmZpZy5wYXRoO1xuXG4gICAgICByZXR1cm4gY3JlYXRlUHJveHlNaWRkbGV3YXJlKC8qKiBAdHlwZSB7c3RyaW5nfSAqLyBjb250ZXh0LCBwcm94eUNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKHByb3h5Q29uZmlnLnJvdXRlcikge1xuICAgICAgcmV0dXJuIGNyZWF0ZVByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBBc3N1bWUgYSBwcm94eSBjb25maWd1cmF0aW9uIHNwZWNpZmllZCBhczpcbiAgICogcHJveHk6IFtcbiAgICogICB7XG4gICAqICAgICBjb250ZXh0OiBcInZhbHVlXCIsXG4gICAqICAgICAuLi5vcHRpb25zLFxuICAgKiAgIH0sXG4gICAqICAgLy8gb3I6XG4gICAqICAgZnVuY3Rpb24oKSB7XG4gICAqICAgICByZXR1cm4ge1xuICAgKiAgICAgICBjb250ZXh0OiBcImNvbnRleHRcIixcbiAgICogICAgICAgLi4ub3B0aW9ucyxcbiAgICogICAgIH07XG4gICAqICAgfVxuICAgKiBdXG4gICAqL1xuICBwcm94eUNvbmZpZy5mb3JFYWNoKHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PiB7XG4gICAgbGV0IHByb3h5TWlkZGxld2FyZTogUmVxdWVzdEhhbmRsZXIgfCB1bmRlZmluZWQ7XG5cbiAgICBsZXQgcHJveHlDb25maWcgPVxuICAgICAgdHlwZW9mIHByb3h5Q29uZmlnT3JDYWxsYmFjayA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgIHByb3h5Q29uZmlnT3JDYWxsYmFjaygpXG4gICAgICA6IHByb3h5Q29uZmlnT3JDYWxsYmFjaztcblxuICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG5cbiAgICAvKiBUT0RPOiBmaWd1cmUgb3V0IGhvdyB0byBtYWtlIHRoaXMgd29ya1xuICAgIGlmIChwcm94eUNvbmZpZy53cykge1xuICAgICAgdGhpcy53ZWJTb2NrZXRQcm94aWVzLnB1c2gocHJveHlNaWRkbGV3YXJlKTtcbiAgICB9XG4gICAgKi9cblxuICAgIGNvbnN0IGhhbmRsZXIgPSBhc3luYyAocmVxOiBSZXF1ZXN0LCByZXM6IFJlc3BvbnNlLCBuZXh0OiBOZXh0RnVuY3Rpb24pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIGNvbnN0IG5ld1Byb3h5Q29uZmlnID0gcHJveHlDb25maWdPckNhbGxiYWNrKHJlcSwgcmVzLCBuZXh0KTtcblxuICAgICAgICBpZiAobmV3UHJveHlDb25maWcgIT09IHByb3h5Q29uZmlnKSB7XG4gICAgICAgICAgcHJveHlDb25maWcgPSBuZXdQcm94eUNvbmZpZztcbiAgICAgICAgICBwcm94eU1pZGRsZXdhcmUgPSBnZXRQcm94eU1pZGRsZXdhcmUocHJveHlDb25maWcpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIC0gQ2hlY2sgaWYgd2UgaGF2ZSBhIGJ5cGFzcyBmdW5jdGlvbiBkZWZpbmVkXG4gICAgICAvLyAtIEluIGNhc2UgdGhlIGJ5cGFzcyBmdW5jdGlvbiBpcyBkZWZpbmVkIHdlJ2xsIHJldHJpZXZlIHRoZVxuICAgICAgLy8gYnlwYXNzVXJsIGZyb20gaXQgb3RoZXJ3aXNlIGJ5cGFzc1VybCB3b3VsZCBiZSBudWxsXG4gICAgICAvLyBUT0RPIHJlbW92ZSBpbiB0aGUgbmV4dCBtYWpvciBpbiBmYXZvciBgY29udGV4dGAgYW5kIGByb3V0ZXJgIG9wdGlvbnNcbiAgICAgIGNvbnN0IGJ5cGFzc1VybDogQnlQYXNzIHwgbnVsbCA9XG4gICAgICAgIHR5cGVvZiBwcm94eUNvbmZpZy5ieXBhc3MgPT09ICdmdW5jdGlvbicgP1xuICAgICAgICAgIGF3YWl0IHByb3h5Q29uZmlnLmJ5cGFzcyhyZXEsIHJlcywgcHJveHlDb25maWcpXG4gICAgICAgIDogbnVsbDtcblxuICAgICAgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdib29sZWFuJykge1xuICAgICAgICAvLyBza2lwIHRoZSBwcm94eVxuICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDQwNDtcbiAgICAgICAgcmVxLnVybCA9ICcnO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHR5cGVvZiBieXBhc3NVcmwgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgIC8vIGJ5UGFzcyB0byB0aGF0IHVybFxuICAgICAgICByZXEudXJsID0gYnlwYXNzVXJsO1xuICAgICAgICBuZXh0KCk7XG4gICAgICB9IGVsc2UgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG4gICAgLy8gQWxzbyBmb3J3YXJkIGVycm9yIHJlcXVlc3RzIHRvIHRoZSBwcm94eSBzbyBpdCBjYW4gaGFuZGxlIHRoZW0uXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlLWVycm9yLWhhbmRsZXInLFxuICAgICAgbWlkZGxld2FyZTogKFxuICAgICAgICBlcnJvcjogRXJyb3IsXG4gICAgICAgIHJlcTogUmVxdWVzdCxcbiAgICAgICAgcmVzOiBSZXNwb25zZSxcbiAgICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICAgKSA9PiBoYW5kbGVyKHJlcSwgcmVzLCBuZXh0KSxcbiAgICB9KTtcbiAgfSk7XG5cbiAgcmV0dXJuIG1pZGRsZXdhcmVzO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFVQTtBQUNBO0FBQ0EsZUFBZSxTQUFTQSxtQkFBbUJBLENBQUNDLFdBQTZCLEVBQUU7RUFDekUsTUFBTUMsV0FBa0IsR0FBRyxFQUFFO0VBQzdCO0VBQ0EsTUFBTTtJQUFFQztFQUFzQixDQUFDLEdBQUdDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztFQUVsRSxNQUFNQyxrQkFBa0IsR0FDdEJKLFdBQWlDLElBQ0Y7SUFDL0I7SUFDQTtJQUNBLElBQUlBLFdBQVcsQ0FBQ0ssTUFBTSxFQUFFO01BQ3RCLE1BQU1DLE9BQU8sR0FBR04sV0FBVyxDQUFDTSxPQUFPLElBQUlOLFdBQVcsQ0FBQ08sSUFBSTtNQUV2RCxPQUFPTCxxQkFBcUIsQ0FBQyxxQkFBc0JJLE9BQU8sRUFBRU4sV0FBVyxDQUFDO0lBQzFFO0lBRUEsSUFBSUEsV0FBVyxDQUFDUSxNQUFNLEVBQUU7TUFDdEIsT0FBT04scUJBQXFCLENBQUNGLFdBQVcsQ0FBQztJQUMzQztFQUNGLENBQUM7O0VBRUQ7QUFDRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDRUEsV0FBVyxDQUFDUyxPQUFPLENBQUNDLHFCQUFxQixJQUFJO0lBQzNDLElBQUlDLGVBQTJDO0lBRS9DLElBQUlYLFdBQVcsR0FDYixPQUFPVSxxQkFBcUIsS0FBSyxVQUFVLEdBQ3pDQSxxQkFBcUIsQ0FBQyxDQUFDLEdBQ3ZCQSxxQkFBcUI7SUFFekJDLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQzs7SUFFakQ7QUFDSjtBQUNBO0FBQ0E7QUFDQTs7SUFFSSxNQUFNWSxPQUFPLEdBQUcsTUFBQUEsQ0FBT0MsR0FBWSxFQUFFQyxHQUFhLEVBQUVDLElBQWtCLEtBQUs7TUFDekUsSUFBSSxPQUFPTCxxQkFBcUIsS0FBSyxVQUFVLEVBQUU7UUFDL0MsTUFBTU0sY0FBYyxHQUFHTixxQkFBcUIsQ0FBQ0csR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUksQ0FBQztRQUU1RCxJQUFJQyxjQUFjLEtBQUtoQixXQUFXLEVBQUU7VUFDbENBLFdBQVcsR0FBR2dCLGNBQWM7VUFDNUJMLGVBQWUsR0FBR1Asa0JBQWtCLENBQUNKLFdBQVcsQ0FBQztRQUNuRDtNQUNGOztNQUVBO01BQ0E7TUFDQTtNQUNBO01BQ0EsTUFBTWlCLFNBQXdCLEdBQzVCLE9BQU9qQixXQUFXLENBQUNrQixNQUFNLEtBQUssVUFBVSxHQUN0QyxNQUFNbEIsV0FBVyxDQUFDa0IsTUFBTSxDQUFDTCxHQUFHLEVBQUVDLEdBQUcsRUFBRWQsV0FBVyxDQUFDLEdBQy9DLElBQUk7TUFFUixJQUFJLE9BQU9pQixTQUFTLEtBQUssU0FBUyxFQUFFO1FBQ2xDO1FBQ0FILEdBQUcsQ0FBQ0ssVUFBVSxHQUFHLEdBQUc7UUFDcEJOLEdBQUcsQ0FBQ08sR0FBRyxHQUFHLEVBQUU7UUFDWkwsSUFBSSxDQUFDLENBQUM7TUFDUixDQUFDLE1BQU0sSUFBSSxPQUFPRSxTQUFTLEtBQUssUUFBUSxFQUFFO1FBQ3hDO1FBQ0FKLEdBQUcsQ0FBQ08sR0FBRyxHQUFHSCxTQUFTO1FBQ25CRixJQUFJLENBQUMsQ0FBQztNQUNSLENBQUMsTUFBTSxJQUFJSixlQUFlLEVBQUU7UUFDMUIsT0FBT0EsZUFBZSxDQUFDRSxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsSUFBSSxDQUFDO01BQ3hDLENBQUMsTUFBTTtRQUNMQSxJQUFJLENBQUMsQ0FBQztNQUNSO0lBQ0YsQ0FBQztJQUVEZCxXQUFXLENBQUNvQixJQUFJLENBQUM7TUFDZkMsSUFBSSxFQUFFLHVCQUF1QjtNQUM3QkMsVUFBVSxFQUFFWDtJQUNkLENBQUMsQ0FBQztJQUNGO0lBQ0FYLFdBQVcsQ0FBQ29CLElBQUksQ0FBQztNQUNmQyxJQUFJLEVBQUUscUNBQXFDO01BQzNDQyxVQUFVLEVBQUVBLENBQ1ZDLEtBQVksRUFDWlgsR0FBWSxFQUNaQyxHQUFhLEVBQ2JDLElBQWtCLEtBQ2ZILE9BQU8sQ0FBQ0MsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLElBQUk7SUFDN0IsQ0FBQyxDQUFDO0VBQ0osQ0FBQyxDQUFDO0VBRUYsT0FBT2QsV0FBVztBQUNwQiIsImlnbm9yZUxpc3QiOltdfQ==
77
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJsZWdhY3lDcmVhdGVQcm94eU1pZGRsZXdhcmUiLCJnZXRQcm94eU1pZGRsZXdhcmVzIiwicHJveHlDb25maWciLCJtaWRkbGV3YXJlcyIsImdldFByb3h5TWlkZGxld2FyZSIsInRhcmdldCIsImNvbnRleHQiLCJwYXRoIiwicm91dGVyIiwiZm9yRWFjaCIsInByb3h5Q29uZmlnT3JDYWxsYmFjayIsInByb3h5TWlkZGxld2FyZSIsImhhbmRsZXIiLCJyZXEiLCJyZXMiLCJuZXh0IiwibmV3UHJveHlDb25maWciLCJzb2NrZXQiLCJjb25uZWN0aW9uIiwic2VydmVyIiwicmVtb3ZlQWxsTGlzdGVuZXJzIiwicHVzaCIsIm5hbWUiLCJtaWRkbGV3YXJlIiwiZXJyb3IiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2NyaXB0cy9nZXRQcm94eU1pZGRsZXdhcmVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZpbHRlciwgbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlIH0gZnJvbSAnaHR0cC1wcm94eS1taWRkbGV3YXJlJztcbmltcG9ydCB7XG4gIFJlcXVlc3RIYW5kbGVyLFxuICBQcm94eUNvbmZpZ0FycmF5LFxuICBSZXNwb25zZSxcbiAgUmVxdWVzdCxcbiAgTmV4dEZ1bmN0aW9uLFxuICBQcm94eUNvbmZpZ0FycmF5SXRlbSxcbn0gZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuLy8gRXNzZW50aWFsbHkgdGFrZW4gZnJvbSBodHRwczovL2dpdGh1Yi5jb20vd2VicGFjay93ZWJwYWNrLWRldi1zZXJ2ZXIvYmxvYi8zMDk2MTQ4NzQ2YzkwNjEwNWM0NDI0MzUyZjViNWFkMWJmZjBmZDRmL2xpYi9TZXJ2ZXIuanMjTDIwOTlcbi8vIHdlIGp1c3QgcmVtb3ZlZCB0aGUgJ2J5cGFzcycgZGVwcmVjYXRpb24gd2FybmluZ3MgYW5kIGNvbnZlcnRlZCB0byB0eXBlc2NyaXB0XG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBnZXRQcm94eU1pZGRsZXdhcmVzKHByb3h5Q29uZmlnOiBQcm94eUNvbmZpZ0FycmF5KSB7XG4gIGNvbnN0IG1pZGRsZXdhcmVzOiBhbnlbXSA9IFtdO1xuXG4gIGNvbnN0IGdldFByb3h5TWlkZGxld2FyZSA9IChcbiAgICBwcm94eUNvbmZpZzogUHJveHlDb25maWdBcnJheUl0ZW0sXG4gICk6IFJlcXVlc3RIYW5kbGVyIHwgdW5kZWZpbmVkID0+IHtcbiAgICAvLyBJdCBpcyBwb3NzaWJsZSB0byB1c2UgdGhlIGBieXBhc3NgIG1ldGhvZCB3aXRob3V0IGEgYHRhcmdldGAgb3IgYHJvdXRlcmAuXG4gICAgLy8gSG93ZXZlciwgdGhlIHByb3h5IG1pZGRsZXdhcmUgaGFzIG5vIHVzZSBpbiB0aGlzIGNhc2UsIGFuZCB3aWxsIGZhaWwgdG8gaW5zdGFudGlhdGUuXG4gICAgaWYgKHByb3h5Q29uZmlnLnRhcmdldCkge1xuICAgICAgY29uc3QgY29udGV4dDogRmlsdGVyID0gcHJveHlDb25maWcuY29udGV4dCB8fCAocHJveHlDb25maWcucGF0aCBhcyBhbnkpO1xuXG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKGNvbnRleHQsIHByb3h5Q29uZmlnKTtcbiAgICB9XG5cbiAgICBpZiAocHJveHlDb25maWcucm91dGVyKSB7XG4gICAgICByZXR1cm4gbGVnYWN5Q3JlYXRlUHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEFzc3VtZSBhIHByb3h5IGNvbmZpZ3VyYXRpb24gc3BlY2lmaWVkIGFzOlxuICAgKiBwcm94eTogW1xuICAgKiAgIHtcbiAgICogICAgIGNvbnRleHQ6IFwidmFsdWVcIixcbiAgICogICAgIC4uLm9wdGlvbnMsXG4gICAqICAgfSxcbiAgICogICAvLyBvcjpcbiAgICogICBmdW5jdGlvbigpIHtcbiAgICogICAgIHJldHVybiB7XG4gICAqICAgICAgIGNvbnRleHQ6IFwiY29udGV4dFwiLFxuICAgKiAgICAgICAuLi5vcHRpb25zLFxuICAgKiAgICAgfTtcbiAgICogICB9XG4gICAqIF1cbiAgICovXG4gIHByb3h5Q29uZmlnLmZvckVhY2gocHJveHlDb25maWdPckNhbGxiYWNrID0+IHtcbiAgICBsZXQgcHJveHlNaWRkbGV3YXJlOiBSZXF1ZXN0SGFuZGxlciB8IHVuZGVmaW5lZDtcblxuICAgIGxldCBwcm94eUNvbmZpZyA9XG4gICAgICB0eXBlb2YgcHJveHlDb25maWdPckNhbGxiYWNrID09PSAnZnVuY3Rpb24nID9cbiAgICAgICAgcHJveHlDb25maWdPckNhbGxiYWNrKClcbiAgICAgIDogcHJveHlDb25maWdPckNhbGxiYWNrO1xuXG4gICAgcHJveHlNaWRkbGV3YXJlID0gZ2V0UHJveHlNaWRkbGV3YXJlKHByb3h5Q29uZmlnKTtcblxuICAgIC8qIFRPRE86IGZpZ3VyZSBvdXQgaG93IHRvIG1ha2UgdGhpcyB3b3JrXG4gICAgaWYgKHByb3h5Q29uZmlnLndzKSB7XG4gICAgICB0aGlzLndlYlNvY2tldFByb3hpZXMucHVzaChwcm94eU1pZGRsZXdhcmUpO1xuICAgIH1cbiAgICAqL1xuXG4gICAgY29uc3QgaGFuZGxlciA9IGFzeW5jIChyZXE6IFJlcXVlc3QsIHJlczogUmVzcG9uc2UsIG5leHQ6IE5leHRGdW5jdGlvbikgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwcm94eUNvbmZpZ09yQ2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgY29uc3QgbmV3UHJveHlDb25maWcgPSBwcm94eUNvbmZpZ09yQ2FsbGJhY2socmVxLCByZXMsIG5leHQpO1xuXG4gICAgICAgIGlmIChuZXdQcm94eUNvbmZpZyAhPT0gcHJveHlDb25maWcpIHtcbiAgICAgICAgICBwcm94eUNvbmZpZyA9IG5ld1Byb3h5Q29uZmlnO1xuXG4gICAgICAgICAgY29uc3Qgc29ja2V0ID0gcmVxLnNvY2tldCAhPSBudWxsID8gcmVxLnNvY2tldCA6IHJlcS5jb25uZWN0aW9uO1xuICAgICAgICAgIGNvbnN0IHNlcnZlciA9IHNvY2tldCAhPSBudWxsID8gKHNvY2tldCBhcyBhbnkpLnNlcnZlciA6IG51bGw7XG5cbiAgICAgICAgICBpZiAoc2VydmVyKSB7XG4gICAgICAgICAgICBzZXJ2ZXIucmVtb3ZlQWxsTGlzdGVuZXJzKCdjbG9zZScpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHByb3h5TWlkZGxld2FyZSA9IGdldFByb3h5TWlkZGxld2FyZShwcm94eUNvbmZpZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHByb3h5TWlkZGxld2FyZSkge1xuICAgICAgICByZXR1cm4gcHJveHlNaWRkbGV3YXJlKHJlcSwgcmVzLCBuZXh0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgbWlkZGxld2FyZXMucHVzaCh7XG4gICAgICBuYW1lOiAnaHR0cC1wcm94eS1taWRkbGV3YXJlJyxcbiAgICAgIG1pZGRsZXdhcmU6IGhhbmRsZXIsXG4gICAgfSk7XG5cbiAgICAvLyBBbHNvIGZvcndhcmQgZXJyb3IgcmVxdWVzdHMgdG8gdGhlIHByb3h5IHNvIGl0IGNhbiBoYW5kbGUgdGhlbS5cbiAgICBtaWRkbGV3YXJlcy5wdXNoKHtcbiAgICAgIG5hbWU6ICdodHRwLXByb3h5LW1pZGRsZXdhcmUtZXJyb3ItaGFuZGxlcicsXG4gICAgICBtaWRkbGV3YXJlOiAoXG4gICAgICAgIGVycm9yOiBFcnJvcixcbiAgICAgICAgcmVxOiBSZXF1ZXN0LFxuICAgICAgICByZXM6IFJlc3BvbnNlLFxuICAgICAgICBuZXh0OiBOZXh0RnVuY3Rpb24sXG4gICAgICApID0+IGhhbmRsZXIocmVxLCByZXMsIG5leHQpLFxuICAgIH0pO1xuICB9KTtcblxuICByZXR1cm4gbWlkZGxld2FyZXM7XG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQWlCQSwyQkFBMkIsUUFBUSx1QkFBdUI7QUFVM0U7QUFDQTtBQUNBLGVBQWUsU0FBU0MsbUJBQW1CQSxDQUFDQyxX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
@@ -153,7 +153,7 @@ export default async function startDevServer(entrypoint, env = {}) {
153
153
  if (!devServer) {
154
154
  throw new Error('webpack-dev-server is not defined');
155
155
  }
156
- const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...Object.keys(webpackConfigs[0].devServer?.proxy ?? {})];
156
+ const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...(webpackConfigs[0].devServer?.proxy?.filter(proxy => typeof proxy === 'object')?.flatMap(proxy => proxy.context) ?? [])];
157
157
  // serve SSR for non-WEBPACK_PUBLIC_PATH
158
158
  devServer.app?.get(new RegExp(`^(?!${otherRoutes.join('|')})`), handleErrors(async function (req, res) {
159
159
  if (req.url.endsWith('favicon.ico')) {
@@ -225,4 +225,4 @@ export default async function startDevServer(entrypoint, env = {}) {
225
225
  });
226
226
  runServer();
227
227
  }
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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
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJmaWx0ZXIiLCJmbGF0TWFwIiwiY29udGV4dCIsImFwcCIsImdldCIsIlJlZ0V4cCIsInVybCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNlbmQiLCJzb2NrZXQiLCJvbiIsImNvZGUiLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJmaW5kZXIiLCJmaWxlVGV4dCIsInRleHRSb3dzIiwic3BsaXQiLCJtYXRjaCIsInN0YWNrIiwibWF0Y2hBbGwiLCJyb3ciLCJOdW1iZXIiLCJwYXJzZUludCIsImNvbCIsImJhc2VuYW1lIiwid3JpdGVGaWxlU3luYyIsInN0b3BTZXJ2ZXIiLCJzdG9wIiwid2FybiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zY3JpcHRzL3N0YXJ0RGV2c2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCB0eXBlIHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZGlza0ZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGNyZWF0ZUZzUmVxdWlyZSB9IGZyb20gJ2ZzLXJlcXVpcmUnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBjcmVhdGVGc0Zyb21Wb2x1bWUsIFZvbHVtZSB9IGZyb20gJ21lbWZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNvdXJjZU1hcFN1cHBvcnQgZnJvbSAnc291cmNlLW1hcC1zdXBwb3J0JztcbmltcG9ydCB0bXAgZnJvbSAndG1wJztcbmltcG9ydCB7IHVmcyB9IGZyb20gJ3VuaW9uZnMnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgd2VicGFjaywgeyBNdWx0aUNvbXBpbGVyIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgbG9nZ2luZyBmcm9tICd3ZWJwYWNrL2xpYi9sb2dnaW5nL3J1bnRpbWUuanMnO1xuaW1wb3J0IFdlYnBhY2tEZXZTZXJ2ZXIgZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuaW1wb3J0ICdjcm9zcy1mZXRjaC9kaXN0L25vZGUtcG9seWZpbGwuanMnO1xuaW1wb3J0IHsgZ2V0V2VicGFja0NvbmZpZyB9IGZyb20gJy4vZ2V0V2VicGFja0NvbmZpZy5qcyc7XG5pbXBvcnQgeyBCb3VuZFJlbmRlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAoJ21haW4nIGluIGltcG9ydC5tZXRhKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG5cbiAgc3RhcnREZXZTZXJ2ZXIoZW50cnlwb2ludCk7XG59XG5cbmxldCBzZXJ2ZXJGaWxlQ29udGVudHM6IFByb21pc2U8c3RyaW5nPiA9IFByb21pc2UucmVzb2x2ZSgnJyk7XG5sZXQgc2VydmVyRW50cnkgPSAnJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gc3RhcnREZXZTZXJ2ZXIoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgZW52OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuKSB7XG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBhd2FpdCBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuICAvLyBTZXQgdXAgaW4gbWVtb3J5IGZpbGVzeXN0ZW1cbiAgY29uc3Qgdm9sdW1lID0gbmV3IFZvbHVtZSgpO1xuICBjb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xuICB1ZnMudXNlKGRpc2tGcykudXNlKGZzIGFzIGFueSk7XG5cbiAgY29uc3QgZnNSZXF1aXJlID0gY3JlYXRlRnNSZXF1aXJlKHVmcyk7XG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBmaWxlIHNvIHdlIGNhbiBob3QgcmVsb2FkIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gIGZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZSBmb3Igc29tZSByZWFzb24gaXQncyBub3QgcGlja2luZyB1cCB0aGF0IG90aGVyIG9wdGlvbnMgYXJlIG9wdGlvbmFsXG4gICAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICAgIGRpc2tGcy53cml0ZVN5bmMoXG4gICAgICBnZW5lcmF0ZWRFbnRyeXBvaW50LmZkLFxuICAgICAgYFxuICBpbXBvcnQgZW50cnkgZnJvbSBcIiR7cGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGVudHJ5UGF0aCl9XCI7XG5cbiAgaWYgKGltcG9ydC5tZXRhLndlYnBhY2tIb3QpIHtcbiAgICBpbXBvcnQubWV0YS53ZWJwYWNrSG90LmFjY2VwdCgpO1xuICB9XG5cbiAgZXhwb3J0IGRlZmF1bHQgZW50cnk7XG4gICAgYCxcbiAgICApO1xuICAgIHJldHVybiBnZW5lcmF0ZWRFbnRyeXBvaW50O1xuICB9XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZ3MgPSBbXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGhvdEVudHJ5KGVudHJ5cG9pbnQpLm5hbWUsXG4gICAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICksXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGVudHJ5cG9pbnQucmVwbGFjZSgnLnRzeCcsICcuc2VydmVyLnRzeCcpLFxuICAgICAgICBuYW1lOiAnc2VydmVyJyxcbiAgICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnLCB0YXJnZXQ6ICdub2RlJyB9LFxuICAgICksXG4gIF0gYXMgY29uc3Q7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgd2VicGFjayBjb21waWxlclxuICBjb25zdCBjb21waWxlcjogTXVsdGlDb21waWxlciA9IHdlYnBhY2sod2VicGFja0NvbmZpZ3MpO1xuXG4gIHNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG4gIGZ1bmN0aW9uIGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0czogd2VicGFjay5TdGF0cykge1xuICAgIGNvbnN0IHNlcnZlckpzb24gPSBzZXJ2ZXJTdGF0cy50b0pzb24oeyBhc3NldHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbGV0IGluaXRSZW5kZXI6XG4gICAgfCB7IGFyZ3M6IFBhcmFtZXRlcnM8Qm91bmRSZW5kZXI+OyByZXNvbHZlOiAoKSA9PiB2b2lkIH1bXVxuICAgIHwgdW5kZWZpbmVkID0gW107XG4gIGxldCByZW5kZXI6IEJvdW5kUmVuZGVyID0gKC4uLmFyZ3MpID0+XG4gICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpbml0UmVuZGVyPy5wdXNoKHsgYXJncywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICAgIGNvbnN0IFtjbGllbnRTdGF0cywgc2VydmVyU3RhdHNdID0gc3RhdHM7XG4gICAgaWYgKFxuICAgICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgICAgc2VydmVyU3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICBsb2cuZXJyb3IoJ0Vycm9ycyBmb3Igc2VydmVyIGJ1aWxkOiAnICsgc2VydmVyU3RhdHMuY29tcGlsYXRpb24uZXJyb3JzKTtcbiAgICAgIC8vIGZpcnN0IHRpbWUsIHJhdGhlciB0aGFuIHJlLXJlbmRlclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cbiAgICAgIGxvZy5lcnJvcignQWJvdmUgY29tcGlsZXIgZXJyb3JzIGJsb2NraW5nIHJlbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuaW5mbygnTGF1bmNoaW5nIFNTUicpO1xuICAgIH1cblxuICAgIC8vIEFTU0VUU1xuICAgIGNvbnN0IGNsaWVudE1hbmlmZXN0ID0gY2xpZW50U3RhdHMudG9Kc29uKCk7XG5cbiAgICBzZXJ2ZXJFbnRyeSA9IGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0cyk7XG4gICAgc2VydmVyRmlsZUNvbnRlbnRzID0gcmVhZEZpbGUoc2VydmVyRW50cnkpLnRoZW4oYnVmID0+IGJ1Zi50b1N0cmluZygpKTtcbiAgICAvLyByZWxvYWQgbW9kdWxlc1xuICAgIE9iamVjdC5rZXlzKGZzUmVxdWlyZS5jYWNoZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgZGVsZXRlIGZzUmVxdWlyZS5jYWNoZVtrZXldO1xuICAgIH0pO1xuICAgIHJlbmRlciA9IChmc1JlcXVpcmUoc2VydmVyRW50cnkpIGFzIGFueSkuZGVmYXVsdC5iaW5kKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xpZW50TWFuaWZlc3QsXG4gICAgKTtcbiAgICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgIGluaXRSZW5kZXIuZm9yRWFjaChhc3luYyBpbml0ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2cuaW5mbygnUmVzb2x2aW5nIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGF3YWl0IHJlbmRlciguLi5pbml0LmFyZ3MpO1xuICAgICAgICAgIGluaXQucmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVuZGVyIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbml0UmVuZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgIC8vIHdyaXRlIHRvIG1lbW9yeSBmaWxlc3lzdGVtIHNvIHdlIGNhbiBpbXBvcnRcbiAgICB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICAgIG91dHB1dEZpbGVTeXN0ZW06IHtcbiAgICAgICAgICAuLi5mcyxcbiAgICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgICB9IGFzIGFueSxcbiAgICAgIH0sXG4gICAgICBzZXR1cE1pZGRsZXdhcmVzOiAobWlkZGxld2FyZXMsIGRldlNlcnZlcikgPT4ge1xuICAgICAgICBpZiAoIWRldlNlcnZlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2VicGFjay1kZXYtc2VydmVyIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdGhlclJvdXRlcyA9IFtcbiAgICAgICAgICBwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRILFxuICAgICAgICAgIC4uLih3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5XG4gICAgICAgICAgICA/LmZpbHRlcihwcm94eSA9PiB0eXBlb2YgcHJveHkgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgPy5mbGF0TWFwKHByb3h5ID0+IHByb3h5LmNvbnRleHQpID8/IFtdKSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUVILE9BQU9JLE1BQU0sTUFBTSxJQUFJO0FBQ3ZCLFNBQVNDLGVBQWUsUUFBUSxZQUFZO0FBRTVDLFNBQVNDLGtCQUFrQixFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxPQUFPQyxJQUFJLE1BQU0sTUFBTTtBQUN2QixPQUFPQyxnQkFBZ0IsTUFBTSxvQkFBb0I7QUFDakQsT0FBT0MsR0FBRyxNQUFNLEtBQUs7QUFDckIsU0FBU0MsR0FBRyxRQUFRLFNBQVM7QUFDN0IsU0FBU0MsU0FBUyxRQUFRLE1BQU07QUFDaEMsT0FBT0MsT0FBTyxNQUF5QixTQUFTO0FBQ2hELE9BQU9DLE9BQU8sTUFBTSxnQ0FBZ0M7QUFDcEQsT0FBT0MsZ0JBQWdCLE1BQU0sb0JBQW9CO0FBRWpELE9BQU8sbUNBQW1DO0FBQzFDLFNBQVNDLGdCQUFnQixRQUFRLHVCQUF1QjtBQUd4RDtBQUNBLElBQUksTUFBTSxJQUFJQyxNQUFNLENBQUNDLElBQUksRUFBRTtFQUN6QixNQUFNQyxVQUFVLEdBQUdDLE9BQU8sQ0FBQ0MsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUVsQyxJQUFJLENBQUNGLFVBQVUsRUFBRTtJQUNmRyxPQUFPLENBQUNDLEdBQUcsQ0FBQyx1Q0FBdUMsQ0FBQztJQUNwREgsT0FBTyxDQUFDSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDbEI7RUFFQUMsY0FBYyxDQUFDTixVQUFVLENBQUM7QUFDNUI7QUFFQSxJQUFJTyxrQkFBbUMsR0FBR0MsT0FBTyxDQUFDQyxPQUFPLENBQUMsRUFBRSxDQUFDO0FBQzdELElBQUlDLFdBQVcsR0FBRyxFQUFFO0FBRXBCLGVBQWUsZUFBZUosY0FBY0EsQ0FDMUNOLFVBQWtCLEVBQ2xCVyxHQUE0QixHQUFHLENBQUMsQ0FBQyxFQUNqQztFQUNBLE1BQU1DLGFBQWEsR0FBRyxNQUFNZixnQkFBZ0IsQ0FBQyxDQUFDO0VBRTlDLE1BQU1PLEdBQUcsR0FBR1QsT0FBTyxDQUFDa0IsU0FBUyxDQUFDLGtCQUFrQixDQUFDOztFQUVqRDtFQUNBLE1BQU1DLE1BQU0sR0FBRyxJQUFJMUIsTUFBTSxDQUFDLENBQUM7RUFDM0IsTUFBTTJCLEVBQUUsR0FBRzVCLGtCQUFrQixDQUFDMkIsTUFBTSxDQUFDO0VBQ3JDdEIsR0FBRyxDQUFDd0IsR0FBRyxDQUFDL0IsTUFBTSxDQUFDLENBQUMrQixHQUFHLENBQUNELEVBQVMsQ0FBQztFQUU5QixNQUFNRSxTQUFTLEdBQUcvQixlQUFlLENBQUNNLEdBQUcsQ0FBQztFQUN0QyxNQUFNMEIsUUFBUSxHQUFHekIsU0FBUyxDQUFDRCxHQUFHLENBQUMwQixRQUFRLENBQUM7RUFDeEMsSUFBSUMsTUFBMEI7O0VBRTlCO0VBQ0EsU0FBU0MsUUFBUUEsQ0FBQ0MsU0FBaUIsRUFBRTtJQUNuQztJQUNBO0lBQ0EsTUFBTUMsbUJBQW1CLEdBQUcvQixHQUFHLENBQUNnQyxRQUFRLENBQUM7TUFBRUMsT0FBTyxFQUFFO0lBQU0sQ0FBQyxDQUFDO0lBQzVEdkMsTUFBTSxDQUFDd0MsU0FBUyxDQUNkSCxtQkFBbUIsQ0FBQ0ksRUFBRSxFQUN0QjtBQUNOLHVCQUF1QnJDLElBQUksQ0FBQ29CLE9BQU8sQ0FBQ1IsT0FBTyxDQUFDMEIsR0FBRyxDQUFDLENBQUMsRUFBRU4sU0FBUyxDQUFDO0FBQzdEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLEtBQ0ksQ0FBQztJQUNELE9BQU9DLG1CQUFtQjtFQUM1QjtFQUVBLE1BQU1NLGNBQWMsR0FBRyxDQUNyQmhCLGFBQWEsQ0FDWDtJQUNFLEdBQUdELEdBQUc7SUFDTmtCLFNBQVMsRUFBRVQsUUFBUSxDQUFDcEIsVUFBVSxDQUFDLENBQUM4QixJQUFJO0lBQ3BDQSxJQUFJLEVBQUU7RUFDUixDQUFDLEVBQ0Q7SUFBRUMsSUFBSSxFQUFFO0VBQWMsQ0FDeEIsQ0FBQyxFQUNEbkIsYUFBYSxDQUNYO0lBQ0UsR0FBR0QsR0FBRztJQUNOa0IsU0FBUyxFQUFFN0IsVUFBVSxDQUFDZ0MsT0FBTyxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUM7SUFDcERGLElBQUksRUFBRSxRQUFRO0lBQ2RHLGdCQUFnQixFQUFFO0VBQ3BCLENBQUMsRUFDRDtJQUFFRixJQUFJLEVBQUUsYUFBYTtJQUFFRyxNQUFNLEVBQUU7RUFBTyxDQUN4QyxDQUFDLENBQ087O0VBRVY7RUFDQSxNQUFNQyxRQUF1QixHQUFHekMsT0FBTyxDQUFDa0MsY0FBYyxDQUFDO0VBRXZEdEMsZ0JBQWdCLENBQUM4QyxPQUFPLENBQUM7SUFBRUMsV0FBVyxFQUFFO0VBQUssQ0FBQyxDQUFDO0VBRS9DLFNBQVNDLGVBQWVBLENBQUNDLFdBQTBCLEVBQUU7SUFDbkQsTUFBTUMsVUFBVSxHQUFHRCxXQUFXLENBQUNFLE1BQU0sQ0FBQztNQUFFQyxNQUFNLEVBQUU7SUFBSyxDQUFDLENBQUM7SUFDdkQsT0FBT3JELElBQUksQ0FBQ3NELElBQUksQ0FBQ0gsVUFBVSxDQUFDSSxVQUFVLElBQUksRUFBRSxFQUFFLFdBQVcsQ0FBQztFQUM1RDtFQUNBLFNBQVNDLFlBQVlBLENBS25CQyxFQUFLLEVBQUU7SUFDUCxPQUFPLGdCQUNMQyxHQUE4QixFQUM5QkMsR0FBOEIsRUFDOUJDLElBQWtCLEVBQ2xCO01BQ0EsSUFBSTtRQUNGLE9BQU8sTUFBTUgsRUFBRSxDQUFDQyxHQUFHLEVBQUVDLEdBQUcsQ0FBQztNQUMzQixDQUFDLENBQUMsT0FBT0UsQ0FBQyxFQUFFO1FBQ1ZELElBQUksQ0FBQ0MsQ0FBQyxDQUFDO01BQ1Q7SUFDRixDQUFDO0VBQ0g7RUFFQSxJQUFJQyxVQUVTLEdBQUcsRUFBRTtFQUNsQixJQUFJQyxNQUFtQixHQUFHQSxDQUFDLEdBQUdDLElBQUksS0FDaEMsSUFBSTdDLE9BQU8sQ0FBQ0MsT0FBTyxJQUFJO0lBQ3JCMEMsVUFBVSxFQUFFRyxJQUFJLENBQUM7TUFBRUQsSUFBSTtNQUFFNUM7SUFBUSxDQUFDLENBQUM7RUFDckMsQ0FBQyxDQUFDO0VBRUosU0FBUzhDLFlBQVlBLENBQUNDLEtBQXNCLEVBQUU7SUFDNUMsTUFBTSxDQUFDQyxXQUFXLEVBQUVsQixXQUFXLENBQUMsR0FBR2lCLEtBQUs7SUFDeEMsSUFDRUMsV0FBVyxFQUFFQyxXQUFXLEVBQUVDLE1BQU0sRUFBRUMsTUFBTSxJQUN4Q3JCLFdBQVcsRUFBRW1CLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxNQUFNLEVBQ3hDO01BQ0F4RCxHQUFHLENBQUN5RCxLQUFLLENBQUMsMkJBQTJCLEdBQUdKLFdBQVcsQ0FBQ0MsV0FBVyxDQUFDQyxNQUFNLENBQUM7TUFDdkV2RCxHQUFHLENBQUN5RCxLQUFLLENBQUMsMkJBQTJCLEdBQUd0QixXQUFXLENBQUNtQixXQUFXLENBQUNDLE1BQU0sQ0FBQztNQUN2RTtNQUNBLElBQUlHLEtBQUssQ0FBQ0MsT0FBTyxDQUFDWixVQUFVLENBQUMsRUFBRTtRQUM3QmxELE9BQU8sQ0FBQ0ksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO01BQ2xCO01BQ0FELEdBQUcsQ0FBQ3lELEtBQUssQ0FBQyx1Q0FBdUMsQ0FBQztNQUNsRDtJQUNGLENBQUMsTUFBTTtNQUNMekQsR0FBRyxDQUFDNEQsSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUMzQjs7SUFFQTtJQUNBLE1BQU1DLGNBQWMsR0FBR1IsV0FBVyxDQUFDaEIsTUFBTSxDQUFDLENBQUM7SUFFM0MvQixXQUFXLEdBQUc0QixlQUFlLENBQUNDLFdBQVcsQ0FBQztJQUMxQ2hDLGtCQUFrQixHQUFHVyxRQUFRLENBQUNSLFdBQVcsQ0FBQyxDQUFDd0QsSUFBSSxDQUFDQyxHQUFHLElBQUlBLEdBQUcsQ0FBQ0MsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN0RTtJQUNBMUYsTUFBTSxDQUFDMkYsSUFBSSxDQUFDcEQsU0FBUyxDQUFDcUQsS0FBSyxDQUFDLENBQUNDLE9BQU8sQ0FBQzFGLEdBQUcsSUFBSTtNQUMxQyxPQUFPb0MsU0FBUyxDQUFDcUQsS0FBSyxDQUFDekYsR0FBRyxDQUFDO0lBQzdCLENBQUMsQ0FBQztJQUNGdUUsTUFBTSxHQUFJbkMsU0FBUyxDQUFDUCxXQUFXLENBQUMsQ0FBUzhELE9BQU8sQ0FBQ0MsSUFBSSxDQUNuREMsU0FBUyxFQUNUVCxjQUNGLENBQUM7SUFDRDtJQUNBLElBQUlILEtBQUssQ0FBQ0MsT0FBTyxDQUFDWixVQUFVLENBQUMsRUFBRTtNQUM3QkEsVUFBVSxDQUFDb0IsT0FBTyxDQUFDLE1BQU1JLElBQUksSUFBSTtRQUMvQixJQUFJO1VBQ0Z2RSxHQUFHLENBQUM0RCxJQUFJLENBQUMsMkJBQTJCLENBQUM7VUFDckMsTUFBTVosTUFBTSxDQUFDLEdBQUd1QixJQUFJLENBQUN0QixJQUFJLENBQUM7VUFDMUJzQixJQUFJLENBQUNsRSxPQUFPLENBQUMsQ0FBQztRQUNoQixDQUFDLENBQUMsT0FBT21FLENBQUMsRUFBRTtVQUNWeEUsR0FBRyxDQUFDeUQsS0FBSyxDQUFDLGlEQUFpRCxDQUFDO1VBQzVEekQsR0FBRyxDQUFDeUQsS0FBSyxDQUFDZSxDQUFDLENBQUM7UUFDZDtNQUNGLENBQUMsQ0FBQztNQUNGekIsVUFBVSxHQUFHdUIsU0FBUztJQUN4QjtFQUNGO0VBRUEsTUFBTUcsU0FBUyxHQUFHLElBQUlqRixnQkFBZ0I7RUFDcEM7RUFDQTtJQUNFLEdBQUdnQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUNpRCxTQUFTO0lBQzlCQyxhQUFhLEVBQUU7TUFDYixHQUFHbEQsY0FBYyxDQUFDLENBQUMsQ0FBQyxFQUFFaUQsU0FBUyxFQUFFQyxhQUFhO01BQzlDQyxnQkFBZ0IsRUFBRTtRQUNoQixHQUFHaEUsRUFBRTtRQUNMNEIsSUFBSSxFQUFFdEQsSUFBSSxDQUFDc0Q7TUFDYjtJQUNGLENBQUM7SUFDRHFDLGdCQUFnQixFQUFFQSxDQUFDQyxXQUFXLEVBQUVKLFNBQVMsS0FBSztNQUM1QyxJQUFJLENBQUNBLFNBQVMsRUFBRTtRQUNkLE1BQU0sSUFBSUssS0FBSyxDQUFDLG1DQUFtQyxDQUFDO01BQ3REO01BRUEsTUFBTUMsV0FBVyxHQUFHLENBQ2xCbEYsT0FBTyxDQUFDVSxHQUFHLENBQUN5RSxtQkFBbUIsRUFDL0IsSUFBSXhELGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQ2lELFNBQVMsRUFBRVEsS0FBSyxFQUNsQ0MsTUFBTSxDQUFDRCxLQUFLLElBQUksT0FBT0EsS0FBSyxLQUFLLFFBQVEsQ0FBQyxFQUMxQ0UsT0FBTyxDQUFDRixLQUFLLElBQUlBLEtBQUssQ0FBQ0csT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQzNDO01BQ0Q7TUFDQVgsU0FBUyxDQUFDWSxHQUFHLEVBQUVDLEdBQUcsQ0FDaEIsSUFBSUMsTUFBTSxDQUFDLE9BQU9SLFdBQVcsQ0FBQ3hDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQzNDRSxZQUFZLENBQUMsZ0JBQWdCRSxHQUFRLEVBQUVDLEdBQVEsRUFBRTtRQUMvQyxJQUFJRCxHQUFHLENBQUM2QyxHQUFHLENBQUNDLFFBQVEsQ0FBQyxhQUFhLENBQUMsRUFBRTtVQUNuQzdDLEdBQUcsQ0FBQzhDLFVBQVUsR0FBRyxHQUFHO1VBQ3BCOUMsR0FBRyxDQUFDK0MsU0FBUyxDQUFDLGNBQWMsRUFBRSxXQUFXLENBQUM7VUFDMUMvQyxHQUFHLENBQUNnRCxJQUFJLENBQUMsV0FBVyxDQUFDO1VBQ3JCO1FBQ0Y7UUFDQWhELEdBQUcsQ0FBQ2lELE1BQU0sQ0FBQ0MsRUFBRSxDQUFDLE9BQU8sRUFBR3JDLEtBQWMsSUFBSztVQUN6Q3pELEdBQUcsQ0FBQ3lELEtBQUssQ0FBQyxRQUFRLEVBQUVBLEtBQUssQ0FBQztVQUMxQixJQUFLQSxLQUFLLENBQVNzQyxJQUFJLEtBQUssWUFBWSxFQUFFO1lBQ3hDL0YsR0FBRyxDQUFDeUQsS0FBSyxDQUNQLDZEQUNGLENBQUM7VUFDSDtRQUNGLENBQUMsQ0FBQztRQUVGLE1BQU1ULE1BQU0sQ0FBQ0wsR0FBRyxFQUFFQyxHQUFHLENBQUM7TUFDeEIsQ0FBQyxDQUNILENBQUM7TUFFRCxJQUFJcEIsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDaUQsU0FBUyxFQUFFRyxnQkFBZ0IsRUFBRTtRQUNqRCxPQUFPcEQsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDaUQsU0FBUyxDQUFDRyxnQkFBZ0IsQ0FDakRDLFdBQVcsRUFDWEosU0FDRixDQUFDO01BQ0g7TUFFQSxPQUFPSSxXQUFXO0lBQ3BCO0VBQ0YsQ0FBQyxFQUNEOUMsUUFDRixDQUFDO0VBQ0QsTUFBTWlFLFNBQVMsR0FBRyxNQUFBQSxDQUFBLEtBQVk7SUFDNUIsTUFBTXZCLFNBQVMsQ0FBQ3dCLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCeEIsU0FBUyxDQUFDMUMsUUFBUSxDQUFDbUUsS0FBSyxDQUFDQyxJQUFJLENBQUNDLEdBQUcsQ0FDL0IsZUFBZSxFQUNkQyxVQUE4QyxJQUFLO01BQ2xELElBQUksQ0FBQ0EsVUFBVSxFQUFFO1FBQ2ZyRyxHQUFHLENBQUN5RCxLQUFLLENBQUMsZ0JBQWdCLENBQUM7UUFDM0I1RCxPQUFPLENBQUNJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUNsQjtNQUVBLElBQUksQ0FBQzNCLE1BQU0sQ0FBQ0MsTUFBTSxDQUFDOEgsVUFBVSxFQUFFLE9BQU8sQ0FBQyxFQUFFO01BQ3pDLElBQUtBLFVBQVUsQ0FBd0JqRCxLQUFLLENBQUNJLE1BQU0sR0FBRyxDQUFDLEVBQUU7UUFDdkQsSUFBSTtVQUNGTCxZQUFZLENBQUVrRCxVQUFVLENBQXdCakQsS0FBSyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxPQUFPb0IsQ0FBTSxFQUFFO1VBQ2Z4RSxHQUFHLENBQUN5RCxLQUFLLENBQUMsaUNBQWlDLENBQUM7VUFDNUMsTUFBTTZDLE1BQU0sR0FBRyxJQUFJZixNQUFNLENBQUMsR0FBR2pGLFdBQVcsb0JBQW9CLEVBQUUsR0FBRyxDQUFDO1VBQ2xFSCxrQkFBa0IsQ0FBQzJELElBQUksQ0FBQ3lDLFFBQVEsSUFBSTtZQUNsQyxNQUFNQyxRQUFRLEdBQUdELFFBQVEsQ0FBQ0UsS0FBSyxDQUFDLElBQUksQ0FBQztZQUNyQ3pHLEdBQUcsQ0FBQ3lELEtBQUssQ0FBQywwQ0FBMEMsQ0FBQztZQUNyRCxLQUFLLE1BQU1pRCxLQUFLLElBQUlsQyxDQUFDLENBQUNtQyxLQUFLLENBQUNDLFFBQVEsQ0FBQ04sTUFBTSxDQUFDLElBQUksRUFBRSxFQUFFO2NBQ2xELE1BQU1PLEdBQUcsR0FBR0MsTUFBTSxDQUFDQyxRQUFRLENBQUNMLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztjQUNyQyxNQUFNTSxHQUFHLEdBQUdGLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDTCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7Y0FDckMxRyxHQUFHLENBQUN5RCxLQUFLLENBQUN4RSxJQUFJLENBQUNnSSxRQUFRLENBQUMzRyxXQUFXLENBQUMsR0FBRyxHQUFHLEdBQUd1RyxHQUFHLEdBQUcsR0FBRyxHQUFHRyxHQUFHLENBQUM7Y0FDN0RoSCxHQUFHLENBQUN5RCxLQUFLLENBQUMrQyxRQUFRLENBQUNLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztjQUM1QjdHLEdBQUcsQ0FBQ3lELEtBQUssQ0FBQytDLFFBQVEsQ0FBQ0ssR0FBRyxHQUFHLENBQUMsQ0FBQyxDQUFDO2NBQzVCN0csR0FBRyxDQUFDeUQsS0FBSyxDQUFDQyxLQUFLLENBQUNzRCxHQUFHLENBQUMsQ0FBQ3pFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLENBQUM7Y0FDckN2QyxHQUFHLENBQUN5RCxLQUFLLENBQUMrQyxRQUFRLENBQUNLLEdBQUcsQ0FBQyxDQUFDO2NBQ3hCN0csR0FBRyxDQUFDeUQsS0FBSyxDQUFDK0MsUUFBUSxDQUFDSyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUM7Y0FDNUI3RyxHQUFHLENBQUN5RCxLQUFLLENBQUMrQyxRQUFRLENBQUNLLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUM5QjtZQUNBaEksTUFBTSxDQUFDcUksYUFBYSxDQUFDNUcsV0FBVyxFQUFFaUcsUUFBUSxDQUFDO1VBQzdDLENBQUMsQ0FBQztVQUVGLE1BQU0vQixDQUFDO1FBQ1Q7TUFDRixDQUFDLE1BQU07UUFDTHhFLEdBQUcsQ0FBQ3lELEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztNQUNyQztJQUNGLENBQ0YsQ0FBQztFQUNILENBQUM7RUFDRCxNQUFNMEQsVUFBVSxHQUFHLE1BQUFBLENBQUEsS0FBWTtJQUM3Qm5ILEdBQUcsQ0FBQzRELElBQUksQ0FBQyxvQkFBb0IsQ0FBQztJQUM5QixNQUFNYSxTQUFTLENBQUMyQyxJQUFJLENBQUMsQ0FBQztJQUN0QnBILEdBQUcsQ0FBQzRELElBQUksQ0FBQyxlQUFlLENBQUM7RUFDM0IsQ0FBQztFQUVEL0QsT0FBTyxDQUFDaUcsRUFBRSxDQUFDLFFBQVEsRUFBRSxNQUFNO0lBQ3pCOUYsR0FBRyxDQUFDcUgsSUFBSSxDQUFDLDBDQUEwQyxDQUFDO0lBQ3BERixVQUFVLENBQUMsQ0FBQztJQUNadEgsT0FBTyxDQUFDSSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7RUFDbEIsQ0FBQyxDQUFDO0VBRUYrRixTQUFTLENBQUMsQ0FBQztBQUNiIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"startDevserver.d.ts","sourceRoot":"","sources":["../../src/scripts/startDevserver.ts"],"names":[],"mappings":";AAoBA,OAAO,mCAAmC,CAAC;AAmB3C,wBAA8B,cAAc,CAC1C,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,iBAwPlC"}
1
+ {"version":3,"file":"startDevserver.d.ts","sourceRoot":"","sources":["../../src/scripts/startDevserver.ts"],"names":[],"mappings":";AAoBA,OAAO,mCAAmC,CAAC;AAmB3C,wBAA8B,cAAc,CAC1C,UAAU,EAAE,MAAM,EAClB,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,iBA0PlC"}
@@ -153,7 +153,7 @@ export default async function startDevServer(entrypoint, env = {}) {
153
153
  if (!devServer) {
154
154
  throw new Error('webpack-dev-server is not defined');
155
155
  }
156
- const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...Object.keys(webpackConfigs[0].devServer?.proxy ?? {})];
156
+ const otherRoutes = [process.env.WEBPACK_PUBLIC_PATH, ...(webpackConfigs[0].devServer?.proxy?.filter(proxy => typeof proxy === 'object')?.flatMap(proxy => proxy.context) ?? [])];
157
157
  // serve SSR for non-WEBPACK_PUBLIC_PATH
158
158
  devServer.app?.get(new RegExp(`^(?!${otherRoutes.join('|')})`), handleErrors(async function (req, res) {
159
159
  if (req.url.endsWith('favicon.ico')) {
@@ -225,4 +225,4 @@ export default async function startDevServer(entrypoint, env = {}) {
225
225
  });
226
226
  runServer();
227
227
  }
228
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJhcHAiLCJnZXQiLCJSZWdFeHAiLCJ1cmwiLCJlbmRzV2l0aCIsInN0YXR1c0NvZGUiLCJzZXRIZWFkZXIiLCJzZW5kIiwic29ja2V0Iiwib24iLCJjb2RlIiwicnVuU2VydmVyIiwic3RhcnQiLCJob29rcyIsImRvbmUiLCJ0YXAiLCJtdWx0aVN0YXRzIiwiZmluZGVyIiwiZmlsZVRleHQiLCJ0ZXh0Um93cyIsInNwbGl0IiwibWF0Y2giLCJzdGFjayIsIm1hdGNoQWxsIiwicm93IiwiTnVtYmVyIiwicGFyc2VJbnQiLCJjb2wiLCJiYXNlbmFtZSIsIndyaXRlRmlsZVN5bmMiLCJzdG9wU2VydmVyIiwic3RvcCIsIndhcm4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc2NyaXB0cy9zdGFydERldnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5PYmplY3QuaGFzT3duID1cbiAgT2JqZWN0Lmhhc093biB8fFxuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqLyBmdW5jdGlvbiBoYXNPd24oaXQsIGtleSkge1xuICAgIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoaXQsIGtleSk7XG4gIH07XG5pbXBvcnQgdHlwZSB7IE5leHRGdW5jdGlvbiB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IGRpc2tGcyBmcm9tICdmcyc7XG5pbXBvcnQgeyBjcmVhdGVGc1JlcXVpcmUgfSBmcm9tICdmcy1yZXF1aXJlJztcbmltcG9ydCB7IFNlcnZlciwgSW5jb21pbmdNZXNzYWdlLCBTZXJ2ZXJSZXNwb25zZSB9IGZyb20gJ2h0dHAnO1xuaW1wb3J0IHsgY3JlYXRlRnNGcm9tVm9sdW1lLCBWb2x1bWUgfSBmcm9tICdtZW1mcyc7XG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCBzb3VyY2VNYXBTdXBwb3J0IGZyb20gJ3NvdXJjZS1tYXAtc3VwcG9ydCc7XG5pbXBvcnQgdG1wIGZyb20gJ3RtcCc7XG5pbXBvcnQgeyB1ZnMgfSBmcm9tICd1bmlvbmZzJztcbmltcG9ydCB7IHByb21pc2lmeSB9IGZyb20gJ3V0aWwnO1xuaW1wb3J0IHdlYnBhY2ssIHsgTXVsdGlDb21waWxlciB9IGZyb20gJ3dlYnBhY2snO1xuaW1wb3J0IGxvZ2dpbmcgZnJvbSAnd2VicGFjay9saWIvbG9nZ2luZy9ydW50aW1lLmpzJztcbmltcG9ydCBXZWJwYWNrRGV2U2VydmVyIGZyb20gJ3dlYnBhY2stZGV2LXNlcnZlcic7XG5cbmltcG9ydCAnY3Jvc3MtZmV0Y2gvZGlzdC9ub2RlLXBvbHlmaWxsLmpzJztcbmltcG9ydCB7IGdldFdlYnBhY2tDb25maWcgfSBmcm9tICcuL2dldFdlYnBhY2tDb25maWcuanMnO1xuaW1wb3J0IHsgQm91bmRSZW5kZXIgfSBmcm9tICcuL3R5cGVzLmpzJztcblxuLy8gcnVuIGRpcmVjdGx5IGZyb20gbm9kZVxuaWYgKCdtYWluJyBpbiBpbXBvcnQubWV0YSkge1xuICBjb25zdCBlbnRyeXBvaW50ID0gcHJvY2Vzcy5hcmd2WzJdO1xuXG4gIGlmICghZW50cnlwb2ludCkge1xuICAgIGNvbnNvbGUubG9nKGBVc2FnZTogc3RhcnQtYW5hbnNpIDxlbnRyeXBvaW50LWZpbGU+YCk7XG4gICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgfVxuXG4gIHN0YXJ0RGV2U2VydmVyKGVudHJ5cG9pbnQpO1xufVxuXG5sZXQgc2VydmVyRmlsZUNvbnRlbnRzOiBQcm9taXNlPHN0cmluZz4gPSBQcm9taXNlLnJlc29sdmUoJycpO1xubGV0IHNlcnZlckVudHJ5ID0gJyc7XG5cbmV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIHN0YXJ0RGV2U2VydmVyKFxuICBlbnRyeXBvaW50OiBzdHJpbmcsXG4gIGVudjogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPSB7fSxcbikge1xuICBjb25zdCB3ZWJwYWNrQ29uZmlnID0gYXdhaXQgZ2V0V2VicGFja0NvbmZpZygpO1xuXG4gIGNvbnN0IGxvZyA9IGxvZ2dpbmcuZ2V0TG9nZ2VyKCdhbmFuc2ktZGV2c2VydmVyJyk7XG5cbiAgLy8gU2V0IHVwIGluIG1lbW9yeSBmaWxlc3lzdGVtXG4gIGNvbnN0IHZvbHVtZSA9IG5ldyBWb2x1bWUoKTtcbiAgY29uc3QgZnMgPSBjcmVhdGVGc0Zyb21Wb2x1bWUodm9sdW1lKTtcbiAgdWZzLnVzZShkaXNrRnMpLnVzZShmcyBhcyBhbnkpO1xuXG4gIGNvbnN0IGZzUmVxdWlyZSA9IGNyZWF0ZUZzUmVxdWlyZSh1ZnMpO1xuICBjb25zdCByZWFkRmlsZSA9IHByb21pc2lmeSh1ZnMucmVhZEZpbGUpO1xuICBsZXQgc2VydmVyOiBTZXJ2ZXIgfCB1bmRlZmluZWQ7XG5cbiAgLy8gR2VuZXJhdGUgYSB0ZW1wb3JhcnkgZmlsZSBzbyB3ZSBjYW4gaG90IHJlbG9hZCBmcm9tIHRoZSByb290IG9mIHRoZSBhcHBsaWNhdGlvblxuICBmdW5jdGlvbiBob3RFbnRyeShlbnRyeVBhdGg6IHN0cmluZykge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIC8vIEB0cy1pZ25vcmUgZm9yIHNvbWUgcmVhc29uIGl0J3Mgbm90IHBpY2tpbmcgdXAgdGhhdCBvdGhlciBvcHRpb25zIGFyZSBvcHRpb25hbFxuICAgIGNvbnN0IGdlbmVyYXRlZEVudHJ5cG9pbnQgPSB0bXAuZmlsZVN5bmMoeyBwb3N0Zml4OiAnLmpzJyB9KTtcbiAgICBkaXNrRnMud3JpdGVTeW5jKFxuICAgICAgZ2VuZXJhdGVkRW50cnlwb2ludC5mZCxcbiAgICAgIGBcbiAgaW1wb3J0IGVudHJ5IGZyb20gXCIke3BhdGgucmVzb2x2ZShwcm9jZXNzLmN3ZCgpLCBlbnRyeVBhdGgpfVwiO1xuXG4gIGlmIChpbXBvcnQubWV0YS53ZWJwYWNrSG90KSB7XG4gICAgaW1wb3J0Lm1ldGEud2VicGFja0hvdC5hY2NlcHQoKTtcbiAgfVxuXG4gIGV4cG9ydCBkZWZhdWx0IGVudHJ5O1xuICAgIGAsXG4gICAgKTtcbiAgICByZXR1cm4gZ2VuZXJhdGVkRW50cnlwb2ludDtcbiAgfVxuXG4gIGNvbnN0IHdlYnBhY2tDb25maWdzID0gW1xuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBob3RFbnRyeShlbnRyeXBvaW50KS5uYW1lLFxuICAgICAgICBuYW1lOiAnY2xpZW50JyxcbiAgICAgIH0sXG4gICAgICB7IG1vZGU6ICdkZXZlbG9wbWVudCcgfSxcbiAgICApLFxuICAgIHdlYnBhY2tDb25maWcoXG4gICAgICB7XG4gICAgICAgIC4uLmVudixcbiAgICAgICAgZW50cnlwYXRoOiBlbnRyeXBvaW50LnJlcGxhY2UoJy50c3gnLCAnLnNlcnZlci50c3gnKSxcbiAgICAgICAgbmFtZTogJ3NlcnZlcicsXG4gICAgICAgIEJST1dTRVJTTElTVF9FTlY6ICdjdXJyZW50IG5vZGUnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JywgdGFyZ2V0OiAnbm9kZScgfSxcbiAgICApLFxuICBdIGFzIGNvbnN0O1xuXG4gIC8vIGluaXRpYWxpemUgdGhlIHdlYnBhY2sgY29tcGlsZXJcbiAgY29uc3QgY29tcGlsZXI6IE11bHRpQ29tcGlsZXIgPSB3ZWJwYWNrKHdlYnBhY2tDb25maWdzKTtcblxuICBzb3VyY2VNYXBTdXBwb3J0Lmluc3RhbGwoeyBob29rUmVxdWlyZTogdHJ1ZSB9KTtcblxuICBmdW5jdGlvbiBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHM6IHdlYnBhY2suU3RhdHMpIHtcbiAgICBjb25zdCBzZXJ2ZXJKc29uID0gc2VydmVyU3RhdHMudG9Kc29uKHsgYXNzZXRzOiB0cnVlIH0pO1xuICAgIHJldHVybiBwYXRoLmpvaW4oc2VydmVySnNvbi5vdXRwdXRQYXRoID8/ICcnLCAnc2VydmVyLmpzJyk7XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlRXJyb3JzPFxuICAgIEYgZXh0ZW5kcyAoXG4gICAgICByZXE6IFJlcXVlc3QgfCBJbmNvbWluZ01lc3NhZ2UsXG4gICAgICByZXM6IFJlc3BvbnNlIHwgU2VydmVyUmVzcG9uc2UsXG4gICAgKSA9PiBQcm9taXNlPHZvaWQ+LFxuICA+KGZuOiBGKSB7XG4gICAgcmV0dXJuIGFzeW5jIGZ1bmN0aW9uIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICAgIG5leHQ6IE5leHRGdW5jdGlvbixcbiAgICApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBhd2FpdCBmbihyZXEsIHJlcyk7XG4gICAgICB9IGNhdGNoICh4KSB7XG4gICAgICAgIG5leHQoeCk7XG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIGxldCBpbml0UmVuZGVyOlxuICAgIHwgeyBhcmdzOiBQYXJhbWV0ZXJzPEJvdW5kUmVuZGVyPjsgcmVzb2x2ZTogKCkgPT4gdm9pZCB9W11cbiAgICB8IHVuZGVmaW5lZCA9IFtdO1xuICBsZXQgcmVuZGVyOiBCb3VuZFJlbmRlciA9ICguLi5hcmdzKSA9PlxuICAgIG5ldyBQcm9taXNlKHJlc29sdmUgPT4ge1xuICAgICAgaW5pdFJlbmRlcj8ucHVzaCh7IGFyZ3MsIHJlc29sdmUgfSk7XG4gICAgfSk7XG5cbiAgZnVuY3Rpb24gaW1wb3J0UmVuZGVyKHN0YXRzOiB3ZWJwYWNrLlN0YXRzW10pIHtcbiAgICBjb25zdCBbY2xpZW50U3RhdHMsIHNlcnZlclN0YXRzXSA9IHN0YXRzO1xuICAgIGlmIChcbiAgICAgIGNsaWVudFN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGggfHxcbiAgICAgIHNlcnZlclN0YXRzPy5jb21waWxhdGlvbj8uZXJyb3JzPy5sZW5ndGhcbiAgICApIHtcbiAgICAgIGxvZy5lcnJvcignRXJyb3JzIGZvciBjbGllbnQgYnVpbGQ6ICcgKyBjbGllbnRTdGF0cy5jb21waWxhdGlvbi5lcnJvcnMpO1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIHNlcnZlciBidWlsZDogJyArIHNlcnZlclN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICAvLyBmaXJzdCB0aW1lLCByYXRoZXIgdGhhbiByZS1yZW5kZXJcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gICAgICB9XG4gICAgICBsb2cuZXJyb3IoJ0Fib3ZlIGNvbXBpbGVyIGVycm9ycyBibG9ja2luZyByZWxvYWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2Uge1xuICAgICAgbG9nLmluZm8oJ0xhdW5jaGluZyBTU1InKTtcbiAgICB9XG5cbiAgICAvLyBBU1NFVFNcbiAgICBjb25zdCBjbGllbnRNYW5pZmVzdCA9IGNsaWVudFN0YXRzLnRvSnNvbigpO1xuXG4gICAgc2VydmVyRW50cnkgPSBnZXRTZXJ2ZXJCdW5kbGUoc2VydmVyU3RhdHMpO1xuICAgIHNlcnZlckZpbGVDb250ZW50cyA9IHJlYWRGaWxlKHNlcnZlckVudHJ5KS50aGVuKGJ1ZiA9PiBidWYudG9TdHJpbmcoKSk7XG4gICAgLy8gcmVsb2FkIG1vZHVsZXNcbiAgICBPYmplY3Qua2V5cyhmc1JlcXVpcmUuY2FjaGUpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGRlbGV0ZSBmc1JlcXVpcmUuY2FjaGVba2V5XTtcbiAgICB9KTtcbiAgICByZW5kZXIgPSAoZnNSZXF1aXJlKHNlcnZlckVudHJ5KSBhcyBhbnkpLmRlZmF1bHQuYmluZChcbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIGNsaWVudE1hbmlmZXN0LFxuICAgICk7XG4gICAgLy8gU0VSVkVSIFNJREUgRU5UUllQT0lOVFxuICAgIGlmIChBcnJheS5pc0FycmF5KGluaXRSZW5kZXIpKSB7XG4gICAgICBpbml0UmVuZGVyLmZvckVhY2goYXN5bmMgaW5pdCA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgbG9nLmluZm8oJ1Jlc29sdmluZyBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBhd2FpdCByZW5kZXIoLi4uaW5pdC5hcmdzKTtcbiAgICAgICAgICBpbml0LnJlc29sdmUoKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGxvZy5lcnJvcignRXJyb3Igd2hlbiBhdHRlbXB0aW5nIHRvIHJlbmRlciBxdWV1ZWQgcmVxdWVzdHMnKTtcbiAgICAgICAgICBsb2cuZXJyb3IoZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgaW5pdFJlbmRlciA9IHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBjb25zdCBkZXZTZXJ2ZXIgPSBuZXcgV2VicGFja0RldlNlcnZlcihcbiAgICAvLyB3cml0ZSB0byBtZW1vcnkgZmlsZXN5c3RlbSBzbyB3ZSBjYW4gaW1wb3J0XG4gICAge1xuICAgICAgLi4ud2VicGFja0NvbmZpZ3NbMF0uZGV2U2VydmVyLFxuICAgICAgZGV2TWlkZGxld2FyZToge1xuICAgICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXT8uZGV2U2VydmVyPy5kZXZNaWRkbGV3YXJlLFxuICAgICAgICBvdXRwdXRGaWxlU3lzdGVtOiB7XG4gICAgICAgICAgLi4uZnMsXG4gICAgICAgICAgam9pbjogcGF0aC5qb2luIGFzIGFueSxcbiAgICAgICAgfSBhcyBhbnksXG4gICAgICB9LFxuICAgICAgc2V0dXBNaWRkbGV3YXJlczogKG1pZGRsZXdhcmVzLCBkZXZTZXJ2ZXIpID0+IHtcbiAgICAgICAgaWYgKCFkZXZTZXJ2ZXIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ3dlYnBhY2stZGV2LXNlcnZlciBpcyBub3QgZGVmaW5lZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb3RoZXJSb3V0ZXMgPSBbXG4gICAgICAgICAgcHJvY2Vzcy5lbnYuV0VCUEFDS19QVUJMSUNfUEFUSCxcbiAgICAgICAgICAuLi5PYmplY3Qua2V5cyh3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5ID8/IHt9KSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7QUFDdEQsQ0FBQztBQUVILE9BQU9JLE1BQU0sTUFBTSxJQUFJO0FBQ3ZCLFNBQVNDLGVBQWUsUUFBUSxZQUFZO0FBRTVDLFNBQVNDLGtCQUFrQixFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUNsRCxPQUFPQyxJQUFJLE1B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
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJPYmplY3QiLCJoYXNPd24iLCJpdCIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRpc2tGcyIsImNyZWF0ZUZzUmVxdWlyZSIsImNyZWF0ZUZzRnJvbVZvbHVtZSIsIlZvbHVtZSIsInBhdGgiLCJzb3VyY2VNYXBTdXBwb3J0IiwidG1wIiwidWZzIiwicHJvbWlzaWZ5Iiwid2VicGFjayIsImxvZ2dpbmciLCJXZWJwYWNrRGV2U2VydmVyIiwiZ2V0V2VicGFja0NvbmZpZyIsImltcG9ydCIsIm1ldGEiLCJlbnRyeXBvaW50IiwicHJvY2VzcyIsImFyZ3YiLCJjb25zb2xlIiwibG9nIiwiZXhpdCIsInN0YXJ0RGV2U2VydmVyIiwic2VydmVyRmlsZUNvbnRlbnRzIiwiUHJvbWlzZSIsInJlc29sdmUiLCJzZXJ2ZXJFbnRyeSIsImVudiIsIndlYnBhY2tDb25maWciLCJnZXRMb2dnZXIiLCJ2b2x1bWUiLCJmcyIsInVzZSIsImZzUmVxdWlyZSIsInJlYWRGaWxlIiwic2VydmVyIiwiaG90RW50cnkiLCJlbnRyeVBhdGgiLCJnZW5lcmF0ZWRFbnRyeXBvaW50IiwiZmlsZVN5bmMiLCJwb3N0Zml4Iiwid3JpdGVTeW5jIiwiZmQiLCJjd2QiLCJ3ZWJwYWNrQ29uZmlncyIsImVudHJ5cGF0aCIsIm5hbWUiLCJtb2RlIiwicmVwbGFjZSIsIkJST1dTRVJTTElTVF9FTlYiLCJ0YXJnZXQiLCJjb21waWxlciIsImluc3RhbGwiLCJob29rUmVxdWlyZSIsImdldFNlcnZlckJ1bmRsZSIsInNlcnZlclN0YXRzIiwic2VydmVySnNvbiIsInRvSnNvbiIsImFzc2V0cyIsImpvaW4iLCJvdXRwdXRQYXRoIiwiaGFuZGxlRXJyb3JzIiwiZm4iLCJyZXEiLCJyZXMiLCJuZXh0IiwieCIsImluaXRSZW5kZXIiLCJyZW5kZXIiLCJhcmdzIiwicHVzaCIsImltcG9ydFJlbmRlciIsInN0YXRzIiwiY2xpZW50U3RhdHMiLCJjb21waWxhdGlvbiIsImVycm9ycyIsImxlbmd0aCIsImVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiaW5mbyIsImNsaWVudE1hbmlmZXN0IiwidGhlbiIsImJ1ZiIsInRvU3RyaW5nIiwia2V5cyIsImNhY2hlIiwiZm9yRWFjaCIsImRlZmF1bHQiLCJiaW5kIiwidW5kZWZpbmVkIiwiaW5pdCIsImUiLCJkZXZTZXJ2ZXIiLCJkZXZNaWRkbGV3YXJlIiwib3V0cHV0RmlsZVN5c3RlbSIsInNldHVwTWlkZGxld2FyZXMiLCJtaWRkbGV3YXJlcyIsIkVycm9yIiwib3RoZXJSb3V0ZXMiLCJXRUJQQUNLX1BVQkxJQ19QQVRIIiwicHJveHkiLCJmaWx0ZXIiLCJmbGF0TWFwIiwiY29udGV4dCIsImFwcCIsImdldCIsIlJlZ0V4cCIsInVybCIsImVuZHNXaXRoIiwic3RhdHVzQ29kZSIsInNldEhlYWRlciIsInNlbmQiLCJzb2NrZXQiLCJvbiIsImNvZGUiLCJydW5TZXJ2ZXIiLCJzdGFydCIsImhvb2tzIiwiZG9uZSIsInRhcCIsIm11bHRpU3RhdHMiLCJmaW5kZXIiLCJmaWxlVGV4dCIsInRleHRSb3dzIiwic3BsaXQiLCJtYXRjaCIsInN0YWNrIiwibWF0Y2hBbGwiLCJyb3ciLCJOdW1iZXIiLCJwYXJzZUludCIsImNvbCIsImJhc2VuYW1lIiwid3JpdGVGaWxlU3luYyIsInN0b3BTZXJ2ZXIiLCJzdG9wIiwid2FybiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zY3JpcHRzL3N0YXJ0RGV2c2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIiMhL3Vzci9iaW4vZW52IG5vZGVcbk9iamVjdC5oYXNPd24gPVxuICBPYmplY3QuaGFzT3duIHx8XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovIGZ1bmN0aW9uIGhhc093bihpdCwga2V5KSB7XG4gICAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChpdCwga2V5KTtcbiAgfTtcbmltcG9ydCB0eXBlIHsgTmV4dEZ1bmN0aW9uIH0gZnJvbSAnZXhwcmVzcyc7XG5pbXBvcnQgZGlza0ZzIGZyb20gJ2ZzJztcbmltcG9ydCB7IGNyZWF0ZUZzUmVxdWlyZSB9IGZyb20gJ2ZzLXJlcXVpcmUnO1xuaW1wb3J0IHsgU2VydmVyLCBJbmNvbWluZ01lc3NhZ2UsIFNlcnZlclJlc3BvbnNlIH0gZnJvbSAnaHR0cCc7XG5pbXBvcnQgeyBjcmVhdGVGc0Zyb21Wb2x1bWUsIFZvbHVtZSB9IGZyb20gJ21lbWZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHNvdXJjZU1hcFN1cHBvcnQgZnJvbSAnc291cmNlLW1hcC1zdXBwb3J0JztcbmltcG9ydCB0bXAgZnJvbSAndG1wJztcbmltcG9ydCB7IHVmcyB9IGZyb20gJ3VuaW9uZnMnO1xuaW1wb3J0IHsgcHJvbWlzaWZ5IH0gZnJvbSAndXRpbCc7XG5pbXBvcnQgd2VicGFjaywgeyBNdWx0aUNvbXBpbGVyIH0gZnJvbSAnd2VicGFjayc7XG5pbXBvcnQgbG9nZ2luZyBmcm9tICd3ZWJwYWNrL2xpYi9sb2dnaW5nL3J1bnRpbWUuanMnO1xuaW1wb3J0IFdlYnBhY2tEZXZTZXJ2ZXIgZnJvbSAnd2VicGFjay1kZXYtc2VydmVyJztcblxuaW1wb3J0ICdjcm9zcy1mZXRjaC9kaXN0L25vZGUtcG9seWZpbGwuanMnO1xuaW1wb3J0IHsgZ2V0V2VicGFja0NvbmZpZyB9IGZyb20gJy4vZ2V0V2VicGFja0NvbmZpZy5qcyc7XG5pbXBvcnQgeyBCb3VuZFJlbmRlciB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vLyBydW4gZGlyZWN0bHkgZnJvbSBub2RlXG5pZiAoJ21haW4nIGluIGltcG9ydC5tZXRhKSB7XG4gIGNvbnN0IGVudHJ5cG9pbnQgPSBwcm9jZXNzLmFyZ3ZbMl07XG5cbiAgaWYgKCFlbnRyeXBvaW50KSB7XG4gICAgY29uc29sZS5sb2coYFVzYWdlOiBzdGFydC1hbmFuc2kgPGVudHJ5cG9pbnQtZmlsZT5gKTtcbiAgICBwcm9jZXNzLmV4aXQoLTEpO1xuICB9XG5cbiAgc3RhcnREZXZTZXJ2ZXIoZW50cnlwb2ludCk7XG59XG5cbmxldCBzZXJ2ZXJGaWxlQ29udGVudHM6IFByb21pc2U8c3RyaW5nPiA9IFByb21pc2UucmVzb2x2ZSgnJyk7XG5sZXQgc2VydmVyRW50cnkgPSAnJztcblxuZXhwb3J0IGRlZmF1bHQgYXN5bmMgZnVuY3Rpb24gc3RhcnREZXZTZXJ2ZXIoXG4gIGVudHJ5cG9pbnQ6IHN0cmluZyxcbiAgZW52OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IHt9LFxuKSB7XG4gIGNvbnN0IHdlYnBhY2tDb25maWcgPSBhd2FpdCBnZXRXZWJwYWNrQ29uZmlnKCk7XG5cbiAgY29uc3QgbG9nID0gbG9nZ2luZy5nZXRMb2dnZXIoJ2FuYW5zaS1kZXZzZXJ2ZXInKTtcblxuICAvLyBTZXQgdXAgaW4gbWVtb3J5IGZpbGVzeXN0ZW1cbiAgY29uc3Qgdm9sdW1lID0gbmV3IFZvbHVtZSgpO1xuICBjb25zdCBmcyA9IGNyZWF0ZUZzRnJvbVZvbHVtZSh2b2x1bWUpO1xuICB1ZnMudXNlKGRpc2tGcykudXNlKGZzIGFzIGFueSk7XG5cbiAgY29uc3QgZnNSZXF1aXJlID0gY3JlYXRlRnNSZXF1aXJlKHVmcyk7XG4gIGNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KHVmcy5yZWFkRmlsZSk7XG4gIGxldCBzZXJ2ZXI6IFNlcnZlciB8IHVuZGVmaW5lZDtcblxuICAvLyBHZW5lcmF0ZSBhIHRlbXBvcmFyeSBmaWxlIHNvIHdlIGNhbiBob3QgcmVsb2FkIGZyb20gdGhlIHJvb3Qgb2YgdGhlIGFwcGxpY2F0aW9uXG4gIGZ1bmN0aW9uIGhvdEVudHJ5KGVudHJ5UGF0aDogc3RyaW5nKSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgLy8gQHRzLWlnbm9yZSBmb3Igc29tZSByZWFzb24gaXQncyBub3QgcGlja2luZyB1cCB0aGF0IG90aGVyIG9wdGlvbnMgYXJlIG9wdGlvbmFsXG4gICAgY29uc3QgZ2VuZXJhdGVkRW50cnlwb2ludCA9IHRtcC5maWxlU3luYyh7IHBvc3RmaXg6ICcuanMnIH0pO1xuICAgIGRpc2tGcy53cml0ZVN5bmMoXG4gICAgICBnZW5lcmF0ZWRFbnRyeXBvaW50LmZkLFxuICAgICAgYFxuICBpbXBvcnQgZW50cnkgZnJvbSBcIiR7cGF0aC5yZXNvbHZlKHByb2Nlc3MuY3dkKCksIGVudHJ5UGF0aCl9XCI7XG5cbiAgaWYgKGltcG9ydC5tZXRhLndlYnBhY2tIb3QpIHtcbiAgICBpbXBvcnQubWV0YS53ZWJwYWNrSG90LmFjY2VwdCgpO1xuICB9XG5cbiAgZXhwb3J0IGRlZmF1bHQgZW50cnk7XG4gICAgYCxcbiAgICApO1xuICAgIHJldHVybiBnZW5lcmF0ZWRFbnRyeXBvaW50O1xuICB9XG5cbiAgY29uc3Qgd2VicGFja0NvbmZpZ3MgPSBbXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGhvdEVudHJ5KGVudHJ5cG9pbnQpLm5hbWUsXG4gICAgICAgIG5hbWU6ICdjbGllbnQnLFxuICAgICAgfSxcbiAgICAgIHsgbW9kZTogJ2RldmVsb3BtZW50JyB9LFxuICAgICksXG4gICAgd2VicGFja0NvbmZpZyhcbiAgICAgIHtcbiAgICAgICAgLi4uZW52LFxuICAgICAgICBlbnRyeXBhdGg6IGVudHJ5cG9pbnQucmVwbGFjZSgnLnRzeCcsICcuc2VydmVyLnRzeCcpLFxuICAgICAgICBuYW1lOiAnc2VydmVyJyxcbiAgICAgICAgQlJPV1NFUlNMSVNUX0VOVjogJ2N1cnJlbnQgbm9kZScsXG4gICAgICB9LFxuICAgICAgeyBtb2RlOiAnZGV2ZWxvcG1lbnQnLCB0YXJnZXQ6ICdub2RlJyB9LFxuICAgICksXG4gIF0gYXMgY29uc3Q7XG5cbiAgLy8gaW5pdGlhbGl6ZSB0aGUgd2VicGFjayBjb21waWxlclxuICBjb25zdCBjb21waWxlcjogTXVsdGlDb21waWxlciA9IHdlYnBhY2sod2VicGFja0NvbmZpZ3MpO1xuXG4gIHNvdXJjZU1hcFN1cHBvcnQuaW5zdGFsbCh7IGhvb2tSZXF1aXJlOiB0cnVlIH0pO1xuXG4gIGZ1bmN0aW9uIGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0czogd2VicGFjay5TdGF0cykge1xuICAgIGNvbnN0IHNlcnZlckpzb24gPSBzZXJ2ZXJTdGF0cy50b0pzb24oeyBhc3NldHM6IHRydWUgfSk7XG4gICAgcmV0dXJuIHBhdGguam9pbihzZXJ2ZXJKc29uLm91dHB1dFBhdGggPz8gJycsICdzZXJ2ZXIuanMnKTtcbiAgfVxuICBmdW5jdGlvbiBoYW5kbGVFcnJvcnM8XG4gICAgRiBleHRlbmRzIChcbiAgICAgIHJlcTogUmVxdWVzdCB8IEluY29taW5nTWVzc2FnZSxcbiAgICAgIHJlczogUmVzcG9uc2UgfCBTZXJ2ZXJSZXNwb25zZSxcbiAgICApID0+IFByb21pc2U8dm9pZD4sXG4gID4oZm46IEYpIHtcbiAgICByZXR1cm4gYXN5bmMgZnVuY3Rpb24gKFxuICAgICAgcmVxOiBSZXF1ZXN0IHwgSW5jb21pbmdNZXNzYWdlLFxuICAgICAgcmVzOiBSZXNwb25zZSB8IFNlcnZlclJlc3BvbnNlLFxuICAgICAgbmV4dDogTmV4dEZ1bmN0aW9uLFxuICAgICkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGF3YWl0IGZuKHJlcSwgcmVzKTtcbiAgICAgIH0gY2F0Y2ggKHgpIHtcbiAgICAgICAgbmV4dCh4KTtcbiAgICAgIH1cbiAgICB9O1xuICB9XG5cbiAgbGV0IGluaXRSZW5kZXI6XG4gICAgfCB7IGFyZ3M6IFBhcmFtZXRlcnM8Qm91bmRSZW5kZXI+OyByZXNvbHZlOiAoKSA9PiB2b2lkIH1bXVxuICAgIHwgdW5kZWZpbmVkID0gW107XG4gIGxldCByZW5kZXI6IEJvdW5kUmVuZGVyID0gKC4uLmFyZ3MpID0+XG4gICAgbmV3IFByb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgICBpbml0UmVuZGVyPy5wdXNoKHsgYXJncywgcmVzb2x2ZSB9KTtcbiAgICB9KTtcblxuICBmdW5jdGlvbiBpbXBvcnRSZW5kZXIoc3RhdHM6IHdlYnBhY2suU3RhdHNbXSkge1xuICAgIGNvbnN0IFtjbGllbnRTdGF0cywgc2VydmVyU3RhdHNdID0gc3RhdHM7XG4gICAgaWYgKFxuICAgICAgY2xpZW50U3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aCB8fFxuICAgICAgc2VydmVyU3RhdHM/LmNvbXBpbGF0aW9uPy5lcnJvcnM/Lmxlbmd0aFxuICAgICkge1xuICAgICAgbG9nLmVycm9yKCdFcnJvcnMgZm9yIGNsaWVudCBidWlsZDogJyArIGNsaWVudFN0YXRzLmNvbXBpbGF0aW9uLmVycm9ycyk7XG4gICAgICBsb2cuZXJyb3IoJ0Vycm9ycyBmb3Igc2VydmVyIGJ1aWxkOiAnICsgc2VydmVyU3RhdHMuY29tcGlsYXRpb24uZXJyb3JzKTtcbiAgICAgIC8vIGZpcnN0IHRpbWUsIHJhdGhlciB0aGFuIHJlLXJlbmRlclxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgIH1cbiAgICAgIGxvZy5lcnJvcignQWJvdmUgY29tcGlsZXIgZXJyb3JzIGJsb2NraW5nIHJlbG9hZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSB7XG4gICAgICBsb2cuaW5mbygnTGF1bmNoaW5nIFNTUicpO1xuICAgIH1cblxuICAgIC8vIEFTU0VUU1xuICAgIGNvbnN0IGNsaWVudE1hbmlmZXN0ID0gY2xpZW50U3RhdHMudG9Kc29uKCk7XG5cbiAgICBzZXJ2ZXJFbnRyeSA9IGdldFNlcnZlckJ1bmRsZShzZXJ2ZXJTdGF0cyk7XG4gICAgc2VydmVyRmlsZUNvbnRlbnRzID0gcmVhZEZpbGUoc2VydmVyRW50cnkpLnRoZW4oYnVmID0+IGJ1Zi50b1N0cmluZygpKTtcbiAgICAvLyByZWxvYWQgbW9kdWxlc1xuICAgIE9iamVjdC5rZXlzKGZzUmVxdWlyZS5jYWNoZSkuZm9yRWFjaChrZXkgPT4ge1xuICAgICAgZGVsZXRlIGZzUmVxdWlyZS5jYWNoZVtrZXldO1xuICAgIH0pO1xuICAgIHJlbmRlciA9IChmc1JlcXVpcmUoc2VydmVyRW50cnkpIGFzIGFueSkuZGVmYXVsdC5iaW5kKFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgY2xpZW50TWFuaWZlc3QsXG4gICAgKTtcbiAgICAvLyBTRVJWRVIgU0lERSBFTlRSWVBPSU5UXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoaW5pdFJlbmRlcikpIHtcbiAgICAgIGluaXRSZW5kZXIuZm9yRWFjaChhc3luYyBpbml0ID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBsb2cuaW5mbygnUmVzb2x2aW5nIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGF3YWl0IHJlbmRlciguLi5pbml0LmFyZ3MpO1xuICAgICAgICAgIGluaXQucmVzb2x2ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9nLmVycm9yKCdFcnJvciB3aGVuIGF0dGVtcHRpbmcgdG8gcmVuZGVyIHF1ZXVlZCByZXF1ZXN0cycpO1xuICAgICAgICAgIGxvZy5lcnJvcihlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbml0UmVuZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIGNvbnN0IGRldlNlcnZlciA9IG5ldyBXZWJwYWNrRGV2U2VydmVyKFxuICAgIC8vIHdyaXRlIHRvIG1lbW9yeSBmaWxlc3lzdGVtIHNvIHdlIGNhbiBpbXBvcnRcbiAgICB7XG4gICAgICAuLi53ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIsXG4gICAgICBkZXZNaWRkbGV3YXJlOiB7XG4gICAgICAgIC4uLndlYnBhY2tDb25maWdzWzBdPy5kZXZTZXJ2ZXI/LmRldk1pZGRsZXdhcmUsXG4gICAgICAgIG91dHB1dEZpbGVTeXN0ZW06IHtcbiAgICAgICAgICAuLi5mcyxcbiAgICAgICAgICBqb2luOiBwYXRoLmpvaW4gYXMgYW55LFxuICAgICAgICB9IGFzIGFueSxcbiAgICAgIH0sXG4gICAgICBzZXR1cE1pZGRsZXdhcmVzOiAobWlkZGxld2FyZXMsIGRldlNlcnZlcikgPT4ge1xuICAgICAgICBpZiAoIWRldlNlcnZlcikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignd2VicGFjay1kZXYtc2VydmVyIGlzIG5vdCBkZWZpbmVkJyk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBvdGhlclJvdXRlcyA9IFtcbiAgICAgICAgICBwcm9jZXNzLmVudi5XRUJQQUNLX1BVQkxJQ19QQVRILFxuICAgICAgICAgIC4uLih3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXI/LnByb3h5XG4gICAgICAgICAgICA/LmZpbHRlcihwcm94eSA9PiB0eXBlb2YgcHJveHkgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgPy5mbGF0TWFwKHByb3h5ID0+IHByb3h5LmNvbnRleHQpID8/IFtdKSxcbiAgICAgICAgXTtcbiAgICAgICAgLy8gc2VydmUgU1NSIGZvciBub24tV0VCUEFDS19QVUJMSUNfUEFUSFxuICAgICAgICBkZXZTZXJ2ZXIuYXBwPy5nZXQoXG4gICAgICAgICAgbmV3IFJlZ0V4cChgXig/ISR7b3RoZXJSb3V0ZXMuam9pbignfCcpfSlgKSxcbiAgICAgICAgICBoYW5kbGVFcnJvcnMoYXN5bmMgZnVuY3Rpb24gKHJlcTogYW55LCByZXM6IGFueSkge1xuICAgICAgICAgICAgaWYgKHJlcS51cmwuZW5kc1dpdGgoJ2Zhdmljb24uaWNvJykpIHtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA0MDQ7XG4gICAgICAgICAgICAgIHJlcy5zZXRIZWFkZXIoJ0NvbnRlbnQtdHlwZScsICd0ZXh0L2h0bWwnKTtcbiAgICAgICAgICAgICAgcmVzLnNlbmQoJ25vdCBmb3VuZCcpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXMuc29ja2V0Lm9uKCdlcnJvcicsIChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICBsb2cuZXJyb3IoJ0ZhdGFsOicsIGVycm9yKTtcbiAgICAgICAgICAgICAgaWYgKChlcnJvciBhcyBhbnkpLmNvZGUgPT09ICdFQ09OTlJFU0VUJykge1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcihcbiAgICAgICAgICAgICAgICAgICdFQ09OTlJFU0VUIGlzIHVzdWFsbHkgZHVlIHRvIGJyb3dzZXIgY2xvc2luZyB0aGUgY29ubmVjdGlvbicsXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGF3YWl0IHJlbmRlcihyZXEsIHJlcyk7XG4gICAgICAgICAgfSksXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHdlYnBhY2tDb25maWdzWzBdLmRldlNlcnZlcj8uc2V0dXBNaWRkbGV3YXJlcykge1xuICAgICAgICAgIHJldHVybiB3ZWJwYWNrQ29uZmlnc1swXS5kZXZTZXJ2ZXIuc2V0dXBNaWRkbGV3YXJlcyhcbiAgICAgICAgICAgIG1pZGRsZXdhcmVzLFxuICAgICAgICAgICAgZGV2U2VydmVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbWlkZGxld2FyZXM7XG4gICAgICB9LFxuICAgIH0sXG4gICAgY29tcGlsZXIsXG4gICk7XG4gIGNvbnN0IHJ1blNlcnZlciA9IGFzeW5jICgpID0+IHtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RhcnQoKTtcbiAgICBkZXZTZXJ2ZXIuY29tcGlsZXIuaG9va3MuZG9uZS50YXAoXG4gICAgICAnQW5hbnNpIFNlcnZlcicsXG4gICAgICAobXVsdGlTdGF0czogd2VicGFjay5NdWx0aVN0YXRzIHwgd2VicGFjay5TdGF0cykgPT4ge1xuICAgICAgICBpZiAoIW11bHRpU3RhdHMpIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ3N0YXRzIG5vdCBzZW5kJyk7XG4gICAgICAgICAgcHJvY2Vzcy5leGl0KC0xKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghT2JqZWN0Lmhhc093bihtdWx0aVN0YXRzLCAnc3RhdHMnKSkgcmV0dXJuO1xuICAgICAgICBpZiAoKG11bHRpU3RhdHMgYXMgd2VicGFjay5NdWx0aVN0YXRzKS5zdGF0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGltcG9ydFJlbmRlcigobXVsdGlTdGF0cyBhcyB3ZWJwYWNrLk11bHRpU3RhdHMpLnN0YXRzKTtcbiAgICAgICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgICAgIGxvZy5lcnJvcignRmFpbGVkIHRvIGxvYWQgc2VydmUgZW50cnlwb2ludCcpO1xuICAgICAgICAgICAgY29uc3QgZmluZGVyID0gbmV3IFJlZ0V4cChgJHtzZXJ2ZXJFbnRyeX06KFtcXFxcZF0rKTooW1xcXFxkXSspYCwgJ2cnKTtcbiAgICAgICAgICAgIHNlcnZlckZpbGVDb250ZW50cy50aGVuKGZpbGVUZXh0ID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgdGV4dFJvd3MgPSBmaWxlVGV4dC5zcGxpdCgnXFxuJyk7XG4gICAgICAgICAgICAgIGxvZy5lcnJvcignPj4+IFN0YWNrIENvbnRleHQgW3NlcnZlIGVudHJ5cG9pbnRdIDw8PCcpO1xuICAgICAgICAgICAgICBmb3IgKGNvbnN0IG1hdGNoIG9mIGUuc3RhY2subWF0Y2hBbGwoZmluZGVyKSA/PyBbXSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHJvdyA9IE51bWJlci5wYXJzZUludChtYXRjaFsxXSk7XG4gICAgICAgICAgICAgICAgY29uc3QgY29sID0gTnVtYmVyLnBhcnNlSW50KG1hdGNoWzJdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IocGF0aC5iYXNlbmFtZShzZXJ2ZXJFbnRyeSkgKyAnICcgKyByb3cgKyAnOicgKyBjb2wpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgLSAyXSk7XG4gICAgICAgICAgICAgICAgbG9nLmVycm9yKHRleHRSb3dzW3JvdyAtIDFdKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IoQXJyYXkoY29sKS5qb2luKCcgJykgKyAnXicpO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3ddKTtcbiAgICAgICAgICAgICAgICBsb2cuZXJyb3IodGV4dFJvd3Nbcm93ICsgMV0pO1xuICAgICAgICAgICAgICAgIGxvZy5lcnJvcih0ZXh0Um93c1tyb3cgKyAyXSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgZGlza0ZzLndyaXRlRmlsZVN5bmMoc2VydmVyRW50cnksIGZpbGVUZXh0KTtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsb2cuZXJyb3IoJ09ubHkgY29tcGlsZXIgb25lIHN0YXQnKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICApO1xuICB9O1xuICBjb25zdCBzdG9wU2VydmVyID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZy5pbmZvKCdTdG9wcGluZyBzZXJ2ZXIuLi4nKTtcbiAgICBhd2FpdCBkZXZTZXJ2ZXIuc3RvcCgpO1xuICAgIGxvZy5pbmZvKCdTZXJ2ZXIgY2xvc2VkJyk7XG4gIH07XG5cbiAgcHJvY2Vzcy5vbignU0lHSU5UJywgKCkgPT4ge1xuICAgIGxvZy53YXJuKCdSZWNlaXZlZCBTSUdJTlQsIGRldnNlcnZlciBzaHV0dGluZyBkb3duJyk7XG4gICAgc3RvcFNlcnZlcigpO1xuICAgIHByb2Nlc3MuZXhpdCgtMSk7XG4gIH0pO1xuXG4gIHJ1blNlcnZlcigpO1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBQSxNQUFNLENBQUNDLE1BQU0sR0FDWEQsTUFBTSxDQUFDQyxNQUFNLElBQ2IsMEJBQTJCLFNBQVNBLE1BQU1BLENBQUNDLEVBQUUsRUFBRUMsR0FBRyxFQUFFO0VBQ2xELE9BQU9ILE1BQU0sQ0FBQ0ksU0FBUyxDQUFDQyxjQUFjLENBQUNDLElBQUksQ0FBQ0osRUFBRSxFQUFFQyxHQUFHLENBQUM7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
@@ -1,4 +1,3 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  import React from 'react';
3
2
  import { jsx as _jsx } from "react/jsx-runtime";
4
3
  export default function antdSpout() {
@@ -21,7 +20,7 @@ export default function antdSpout() {
21
20
  };
22
21
  // unfortunately we have to inject this after the entire content has streamed in or it doesn't correctly populate
23
22
  // see: https://github.com/ant-design/cssinjs/issues/79
24
- _pushInstanceProperty(scripts).call(scripts, /*#__PURE__*/_jsx(AntdSheets, {}));
23
+ scripts.push(/*#__PURE__*/_jsx(AntdSheets, {}));
25
24
  return {
26
25
  ...nextProps,
27
26
  app: /*#__PURE__*/_jsx(StyleProvider, {
@@ -32,4 +31,4 @@ export default function antdSpout() {
32
31
  };
33
32
  };
34
33
  }
35
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJBbnRkU2hlZXRzIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIGNvbnN0IEFudGRTaGVldHMgPSAoKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNjcmlwdFxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8L3NjcmlwdD4ke2V4dHJhY3RTdHlsZShjYWNoZSl9PHNjcmlwdD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH07XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssTUFBb0IsT0FBTztBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVV4QyxlQUFlLFNBQVNDLFNBQVNBLENBQUEsRUFJL0I7RUFDQSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQUEsSUFBQUMsa0JBQUE7SUFDNUIsTUFBTTtNQUFFQyxXQUFXO01BQUVDLFlBQVk7TUFBRUM7SUFBYyxDQUFDLEdBQUcsTUFBTSxNQUFNLENBQy9ELHlCQUEwQixxQkFDNUIsQ0FBQztJQUNELE1BQU1DLEtBQUssR0FBR0gsV0FBVyxDQUFDLENBQUM7SUFFM0IsTUFBTUksU0FBUyxHQUFHLE1BQU1QLElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBRW5DLE1BQU1PLE9BQTBCLElBQUFOLGtCQUFBLEdBQUdLLFNBQVMsQ0FBQ0MsT0FBTyxZQUFBTixrQkFBQSxHQUFJLEVBQUU7SUFFMUQsTUFBTU8sVUFBVSxHQUFHQSxDQUFBLEtBQW1CO01BQ3BDLG9CQUNFWCxJQUFBO1FBQ0VZLHVCQUF1QixFQUFFO1VBQ3ZCQyxNQUFNLEVBQUUsWUFBWVAsWUFBWSxDQUFDRSxLQUFLLENBQUM7UUFDekM7TUFBRSxDQUNILENBQUM7SUFFTixDQUFDO0lBQ0Q7SUFDQTtJQUNBTSxxQkFBQSxDQUFBSixPQUFPLEVBQUFLLElBQUEsQ0FBUEwsT0FBTyxlQUFNVixJQUFBLENBQUNXLFVBQVUsSUFBRSxDQUFDLENBQUM7SUFFNUIsT0FBTztNQUNMLEdBQUdGLFNBQVM7TUFDWk8sR0FBRyxlQUFFaEIsSUFBQSxDQUFDTyxhQUFhO1FBQUNDLEtBQUssRUFBRUEsS0FBTTtRQUFBUyxRQUFBLEVBQUVSLFNBQVMsQ0FBQ087TUFBRyxDQUFnQixDQUFDO01BQ2pFTjtJQUNGLENBQUM7RUFDSCxDQUFDO0FBQ0giLCJpZ25vcmVMaXN0IjpbXX0=
34
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImpzeCIsIl9qc3giLCJhbnRkU3BvdXQiLCJuZXh0IiwicHJvcHMiLCJfbmV4dFByb3BzJHNjcmlwdHMiLCJjcmVhdGVDYWNoZSIsImV4dHJhY3RTdHlsZSIsIlN0eWxlUHJvdmlkZXIiLCJjYWNoZSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJBbnRkU2hlZXRzIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJwdXNoIiwiYXBwIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2FudGQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdHlwZSBKU1ggfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCB0eXBlIHsgU2VydmVyU3BvdXQgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWROZXh0ID0ge1xuICBpbml0RGF0YT86IFJlY29yZDxzdHJpbmcsICgpID0+IHVua25vd24+O1xuICBzY3JpcHRzPzogUmVhY3QuUmVhY3ROb2RlW107XG4gIGV4dHJhU3R5bGU/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGFudGRTcG91dCgpOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IHsgY3JlYXRlQ2FjaGUsIGV4dHJhY3RTdHlsZSwgU3R5bGVQcm92aWRlciB9ID0gYXdhaXQgaW1wb3J0KFxuICAgICAgLyogd2VicGFja0lnbm9yZTogdHJ1ZSAqLyAnQGFudC1kZXNpZ24vY3NzaW5qcydcbiAgICApO1xuICAgIGNvbnN0IGNhY2hlID0gY3JlYXRlQ2FjaGUoKTtcblxuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIGNvbnN0IEFudGRTaGVldHMgPSAoKTogSlNYLkVsZW1lbnQgPT4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPHNjcmlwdFxuICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICBfX2h0bWw6IGA8L3NjcmlwdD4ke2V4dHJhY3RTdHlsZShjYWNoZSl9PHNjcmlwdD5gLFxuICAgICAgICAgIH19XG4gICAgICAgIC8+XG4gICAgICApO1xuICAgIH07XG4gICAgLy8gdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIGluamVjdCB0aGlzIGFmdGVyIHRoZSBlbnRpcmUgY29udGVudCBoYXMgc3RyZWFtZWQgaW4gb3IgaXQgZG9lc24ndCBjb3JyZWN0bHkgcG9wdWxhdGVcbiAgICAvLyBzZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbnQtZGVzaWduL2Nzc2luanMvaXNzdWVzLzc5XG4gICAgc2NyaXB0cy5wdXNoKDxBbnRkU2hlZXRzIC8+KTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5uZXh0UHJvcHMsXG4gICAgICBhcHA6IDxTdHlsZVByb3ZpZGVyIGNhY2hlPXtjYWNoZX0+e25leHRQcm9wcy5hcHB9PC9TdHlsZVByb3ZpZGVyPixcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxNQUFvQixPQUFPO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVXhDLGVBQWUsU0FBU0MsU0FBU0EsQ0FBQSxFQUkvQjtFQUNBLE9BQU9DLElBQUksSUFBSSxNQUFNQyxLQUFLLElBQUk7SUFBQSxJQUFBQyxrQkFBQTtJQUM1QixNQUFNO01BQUVDLFdBQVc7TUFBRUMsWUFBWTtNQUFFQztJQUFjLENBQUMsR0FBRyxNQUFNLE1BQU0sQ0FDL0QseUJBQTBCLHFCQUM1QixDQUFDO0lBQ0QsTUFBTUMsS0FBSyxHQUFHSCxXQUFXLENBQUMsQ0FBQztJQUUzQixNQUFNSSxTQUFTLEdBQUcsTUFBTVAsSUFBSSxDQUFDQyxLQUFLLENBQUM7SUFFbkMsTUFBTU8sT0FBMEIsSUFBQU4sa0JBQUEsR0FBR0ssU0FBUyxDQUFDQyxPQUFPLFlBQUFOLGtCQUFBLEdBQUksRUFBRTtJQUUxRCxNQUFNTyxVQUFVLEdBQUdBLENBQUEsS0FBbUI7TUFDcEMsb0JBQ0VYLElBQUE7UUFDRVksdUJBQXVCLEVBQUU7VUFDdkJDLE1BQU0sRUFBRSxZQUFZUCxZQUFZLENBQUNFLEtBQUssQ0FBQztRQUN6QztNQUFFLENBQ0gsQ0FBQztJQUVOLENBQUM7SUFDRDtJQUNBO0lBQ0FFLE9BQU8sQ0FBQ0ksSUFBSSxjQUFDZCxJQUFBLENBQUNXLFVBQVUsSUFBRSxDQUFDLENBQUM7SUFFNUIsT0FBTztNQUNMLEdBQUdGLFNBQVM7TUFDWk0sR0FBRyxlQUFFZixJQUFBLENBQUNPLGFBQWE7UUFBQ0MsS0FBSyxFQUFFQSxLQUFNO1FBQUFRLFFBQUEsRUFBRVAsU0FBUyxDQUFDTTtNQUFHLENBQWdCLENBQUM7TUFDakVMO0lBQ0YsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/spouts/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,QAAA,MAAM,QAAQ,QACN,GAAG,CAAC,OAAO,MAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC;;GACR,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/spouts/app.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AACjC,QAAA,MAAM,QAAQ,GACX,KAAK,GAAG,CAAC,OAAO,MAChB,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC;;GACR,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../src/spouts/app.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,QAAA,MAAM,QAAQ,QACN,GAAG,CAAC,OAAO,MAChB,CAAC,SAAS,WAAW,SAAS,CAAC;;GACI,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"app.server.d.ts","sourceRoot":"","sources":["../../src/spouts/app.server.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,QAAA,MAAM,QAAQ,GACX,KAAK,GAAG,CAAC,OAAO,MAChB,CAAC,SAAS,WAAW,EAAE,OAAO,CAAC;;GACI,CAAC;AAEvC,eAAe,QAAQ,CAAC"}
@@ -1,4 +1,3 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  import _includesInstanceProperty from "core-js-pure/stable/instance/includes.js";
3
2
  import React from 'react';
4
3
  import { buildPolicy, joinNonce } from './csp.js';
@@ -19,7 +18,7 @@ export default function DocumentSpout(options) {
19
18
  const assetList = [];
20
19
  Object.values((_props$clientManifest3 = (_props$clientManifest4 = props.clientManifest) == null ? void 0 : _props$clientManifest4.entrypoints) != null ? _props$clientManifest3 : {}).forEach(entrypoint => {
21
20
  var _entrypoint$assets;
22
- _pushInstanceProperty(assetList).call(assetList, ...assetMap((_entrypoint$assets = entrypoint.assets) != null ? _entrypoint$assets : []));
21
+ assetList.push(...assetMap((_entrypoint$assets = entrypoint.assets) != null ? _entrypoint$assets : []));
23
22
  });
24
23
  new Set(assetMap(Object.values((_props$clientManifest5 = props.clientManifest.namedChunkGroups) != null ? _props$clientManifest5 : {}).filter(({
25
24
  name
@@ -28,7 +27,7 @@ export default function DocumentSpout(options) {
28
27
  return [...((_chunk$assets = chunk.assets) != null ? _chunk$assets : []),
29
28
  // any chunk preloads
30
29
  ...childrenAssets(chunk)];
31
- }))).forEach(asset => _pushInstanceProperty(assetList).call(assetList, asset));
30
+ }))).forEach(asset => assetList.push(asset));
32
31
 
33
32
  // find additional assets to preload based on matched route
34
33
  const assets = assetList.filter(asset => !asset.endsWith('.hot-update.js')).map(asset => asset.endsWith('.css') ? {
@@ -64,4 +63,4 @@ function childrenAssets(chunk) {
64
63
  return (_c$assets = c.assets) != null ? _c$assets : [];
65
64
  })) : [];
66
65
  }
67
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImJ1aWxkUG9saWN5Iiwiam9pbk5vbmNlIiwiRG9jdW1lbnQiLCJqc3giLCJfanN4IiwiRG9jdW1lbnRTcG91dCIsIm9wdGlvbnMiLCJuZXh0IiwicHJvcHMiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QyIiwiX3Byb3BzJGNsaWVudE1hbmlmZXN0MyIsIl9wcm9wcyRjbGllbnRNYW5pZmVzdDQiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3Q1IiwiX25leHRQcm9wcyR0aXRsZSIsIm5leHRQcm9wcyIsInB1YmxpY1BhdGgiLCJjbGllbnRNYW5pZmVzdCIsIk9iamVjdCIsImtleXMiLCJlbnRyeXBvaW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXRNYXAiLCJhc3NldHMiLCJtYXAiLCJuYW1lIiwiYXNzZXRMaXN0IiwidmFsdWVzIiwiZm9yRWFjaCIsImVudHJ5cG9pbnQiLCJfZW50cnlwb2ludCRhc3NldHMiLCJfcHVzaEluc3RhbmNlUHJvcGVydHkiLCJjYWxsIiwiU2V0IiwibmFtZWRDaHVua0dyb3VwcyIsImZpbHRlciIsIm1hdGNoZWRSb3V0ZXMiLCJzb21lIiwicm91dGUiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiZmxhdE1hcCIsImNodW5rIiwiX2NodW5rJGFzc2V0cyIsImNoaWxkcmVuQXNzZXRzIiwiYXNzZXQiLCJlbmRzV2l0aCIsImhyZWYiLCJyZWwiLCJhcyIsImNzUG9saWN5IiwiaHR0cEVxdWl2IiwicHJvY2VzcyIsImVudiIsIk5PREVfRU5WIiwicmVzIiwic2V0SGVhZGVyIiwibm9uY2UiLCJhcHAiLCJleHRyYVN0eWxlIiwidGl0bGUiLCJyb290SWQiLCJzY3JpcHRzIiwiY2hpbGRyZW4iLCJwcmVsb2FkIiwiYyIsIl9jJGFzc2V0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zcG91dHMvZG9jdW1lbnQuc2VydmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuaW1wb3J0IHsgUmVxdWVzdCB9IGZyb20gJ2V4cHJlc3MnO1xuaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IFN0YXRzQ2h1bmtHcm91cCB9IGZyb20gJ3dlYnBhY2snO1xuXG5pbXBvcnQgeyBidWlsZFBvbGljeSwgam9pbk5vbmNlLCBQb2xpY3kgfSBmcm9tICcuL2NzcC5qcyc7XG5pbXBvcnQgRG9jdW1lbnQgZnJvbSAnLi9Eb2N1bWVudENvbXBvbmVudC5qcyc7XG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgbWF0Y2hlZFJvdXRlczogUm91dGU8YW55PltdO1xuICB0aXRsZT86IHN0cmluZztcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xuICBleHRyYVN0eWxlPzogUmVhY3QuUmVhY3ROb2RlW107XG59O1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBEb2N1bWVudFNwb3V0KG9wdGlvbnM6IHtcbiAgaGVhZD86IFJlYWN0LlJlYWN0Tm9kZTtcbiAgdGl0bGU6IHN0cmluZztcbiAgbGFuZz86IHN0cmluZztcbiAgcm9vdElkPzogc3RyaW5nO1xuICBjaGFyU2V0Pzogc3RyaW5nO1xuICBjc1BvbGljeT86IFBvbGljeTtcbn0pOiBTZXJ2ZXJTcG91dDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiwgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sIE5lZWRlZE5leHQ+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3QgcHVibGljUGF0aCA9IHByb3BzLmNsaWVudE1hbmlmZXN0LnB1YmxpY1BhdGg7XG5cbiAgICBpZiAoXG4gICAgICBPYmplY3Qua2V5cyhwcm9wcy5jbGllbnRNYW5pZmVzdD8uZW50cnlwb2ludHMgPz8ge30pLmxlbmd0aCA8IDEgfHxcbiAgICAgIHB1YmxpY1BhdGggPT09IHVuZGVmaW5lZFxuICAgIClcbiAgICAgIHRocm93IG5ldyBFcnJvcignTWFuaWZlc3QgbWlzc2luZyBlbnRyaWVzIG5lZWRlZCcpO1xuXG4gICAgLy8gVE9ETzogY29uc2lkZXIgdXNpbmcgdGhpcyBwYWNrYWdlIGZvciBidWlsZCBzdGF0cyBpbiBmdXR1cmU6XG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L3RyZWUvbWFpbi9wYWNrYWdlcy9yZWFjdC1zZXJ2ZXItZG9tLXdlYnBhY2tcbiAgICBjb25zdCBhc3NldE1hcCA9IChhc3NldHM6IHsgbmFtZTogc3RyaW5nOyBzaXplPzogbnVtYmVyIH1bXSkgPT5cbiAgICAgIGFzc2V0cy5tYXAoKHsgbmFtZSB9KSA9PiBgJHtwdWJsaWNQYXRofSR7bmFtZX1gKTtcblxuICAgIGNvbnN0IGFzc2V0TGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICBPYmplY3QudmFsdWVzKHByb3BzLmNsaWVudE1hbmlmZXN0Py5lbnRyeXBvaW50cyA/PyB7fSkuZm9yRWFjaChcbiAgICAgIGVudHJ5cG9pbnQgPT4ge1xuICAgICAgICBhc3NldExpc3QucHVzaCguLi5hc3NldE1hcChlbnRyeXBvaW50LmFzc2V0cyA/PyBbXSkpO1xuICAgICAgfSxcbiAgICApO1xuICAgIG5ldyBTZXQoXG4gICAgICBhc3NldE1hcChcbiAgICAgICAgT2JqZWN0LnZhbHVlcyhwcm9wcy5jbGllbnRNYW5pZmVzdC5uYW1lZENodW5rR3JvdXBzID8/IHt9KVxuICAgICAgICAgIC5maWx0ZXIoKHsgbmFtZSB9KSA9PlxuICAgICAgICAgICAgbmV4dFByb3BzLm1hdGNoZWRSb3V0ZXMuc29tZShyb3V0ZSA9PiBuYW1lPy5pbmNsdWRlcyhyb3V0ZS5uYW1lKSksXG4gICAgICAgICAgKVxuICAgICAgICAgIC5mbGF0TWFwKGNodW5rID0+IFtcbiAgICAgICAgICAgIC4uLihjaHVuay5hc3NldHMgPz8gW10pLFxuICAgICAgICAgICAgLy8gYW55IGNodW5rIHByZWxvYWRzXG4gICAgICAgICAgICAuLi5jaGlsZHJlbkFzc2V0cyhjaHVuayksXG4gICAgICAgICAgXSksXG4gICAgICApLFxuICAgICkuZm9yRWFjaChhc3NldCA9PiBhc3NldExpc3QucHVzaChhc3NldCkpO1xuXG4gICAgLy8gZmluZCBhZGRpdGlvbmFsIGFzc2V0cyB0byBwcmVsb2FkIGJhc2VkIG9uIG1hdGNoZWQgcm91dGVcbiAgICBjb25zdCBhc3NldHM6IHtcbiAgICAgIGhyZWY6IHN0cmluZztcbiAgICAgIGFzPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgcmVsPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIH1bXSA9IGFzc2V0TGlzdFxuICAgICAgLmZpbHRlcihhc3NldCA9PiAhYXNzZXQuZW5kc1dpdGgoJy5ob3QtdXBkYXRlLmpzJykpXG4gICAgICAubWFwKGFzc2V0ID0+XG4gICAgICAgIGFzc2V0LmVuZHNXaXRoKCcuY3NzJykgPyB7IGhyZWY6IGFzc2V0LCByZWw6ICdzdHlsZXNoZWV0JyB9XG4gICAgICAgIDogYXNzZXQuZW5kc1dpdGgoJy5qcycpID8geyBocmVmOiBhc3NldCwgYXM6ICdzY3JpcHQnIH1cbiAgICAgICAgOiB7IGhyZWY6IGFzc2V0IH0sXG4gICAgICApO1xuXG4gICAgaWYgKG9wdGlvbnMuY3NQb2xpY3kpIHtcbiAgICAgIGNvbnN0IGh0dHBFcXVpdiA9XG4gICAgICAgIHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbicgP1xuICAgICAgICAgICdDb250ZW50LVNlY3VyaXR5LVBvbGljeSdcbiAgICAgICAgOiAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3ktUmVwb3J0LU9ubHknO1xuXG4gICAgICBwcm9wcy5yZXMuc2V0SGVhZGVyKFxuICAgICAgICBodHRwRXF1aXYsXG4gICAgICAgIGJ1aWxkUG9saWN5KGpvaW5Ob25jZShvcHRpb25zLmNzUG9saWN5LCBwcm9wcy5ub25jZSkpLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgLi4ubmV4dFByb3BzLFxuICAgICAgYXBwOiAoXG4gICAgICAgIDxEb2N1bWVudFxuICAgICAgICAgIHsuLi5vcHRpb25zfVxuICAgICAgICAgIGV4dHJhU3R5bGU9e25leHRQcm9wcy5leHRyYVN0eWxlfVxuICAgICAgICAgIHRpdGxlPXtuZXh0UHJvcHMudGl0bGUgPz8gb3B0aW9ucy50aXRsZX1cbiAgICAgICAgICBhc3NldHM9e2Fzc2V0c31cbiAgICAgICAgICByb290SWQ9e29wdGlvbnMucm9vdElkfVxuICAgICAgICAgIHNjcmlwdHM9e25leHRQcm9wcy5zY3JpcHRzfVxuICAgICAgICA+XG4gICAgICAgICAge25leHRQcm9wcy5hcHB9XG4gICAgICAgIDwvRG9jdW1lbnQ+XG4gICAgICApLFxuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGNoaWxkcmVuQXNzZXRzKGNodW5rOiBTdGF0c0NodW5rR3JvdXApIHtcbiAgcmV0dXJuIGNodW5rLmNoaWxkcmVuID9cbiAgICAgIE9iamVjdC52YWx1ZXMoY2h1bmsuY2hpbGRyZW4pLmZsYXRNYXAocHJlbG9hZCA9PlxuICAgICAgICBwcmVsb2FkLmZsYXRNYXAoYyA9PiBjLmFzc2V0cyA/PyBbXSksXG4gICAgICApXG4gICAgOiBbXTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFFQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUd6QixTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBZ0IsVUFBVTtBQUN6RCxPQUFPQyxRQUFRLE1BQU0sd0JBQXdCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVTlDLGVBQWUsU0FBU0MsYUFBYUEsQ0FBQ0MsT0FPckMsRUFBNkU7RUFDNUUsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUFBLElBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFB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
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsImJ1aWxkUG9saWN5Iiwiam9pbk5vbmNlIiwiRG9jdW1lbnQiLCJqc3giLCJfanN4IiwiRG9jdW1lbnRTcG91dCIsIm9wdGlvbnMiLCJuZXh0IiwicHJvcHMiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3QyIiwiX3Byb3BzJGNsaWVudE1hbmlmZXN0MyIsIl9wcm9wcyRjbGllbnRNYW5pZmVzdDQiLCJfcHJvcHMkY2xpZW50TWFuaWZlc3Q1IiwiX25leHRQcm9wcyR0aXRsZSIsIm5leHRQcm9wcyIsInB1YmxpY1BhdGgiLCJjbGllbnRNYW5pZmVzdCIsIk9iamVjdCIsImtleXMiLCJlbnRyeXBvaW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIkVycm9yIiwiYXNzZXRNYXAiLCJhc3NldHMiLCJtYXAiLCJuYW1lIiwiYXNzZXRMaXN0IiwidmFsdWVzIiwiZm9yRWFjaCIsImVudHJ5cG9pbnQiLCJfZW50cnlwb2ludCRhc3NldHMiLCJwdXNoIiwiU2V0IiwibmFtZWRDaHVua0dyb3VwcyIsImZpbHRlciIsIm1hdGNoZWRSb3V0ZXMiLCJzb21lIiwicm91dGUiLCJfaW5jbHVkZXNJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImZsYXRNYXAiLCJjaHVuayIsIl9jaHVuayRhc3NldHMiLCJjaGlsZHJlbkFzc2V0cyIsImFzc2V0IiwiZW5kc1dpdGgiLCJocmVmIiwicmVsIiwiYXMiLCJjc1BvbGljeSIsImh0dHBFcXVpdiIsInByb2Nlc3MiLCJlbnYiLCJOT0RFX0VOViIsInJlcyIsInNldEhlYWRlciIsIm5vbmNlIiwiYXBwIiwiZXh0cmFTdHlsZSIsInRpdGxlIiwicm9vdElkIiwic2NyaXB0cyIsImNoaWxkcmVuIiwicHJlbG9hZCIsImMiLCJfYyRhc3NldHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3BvdXRzL2RvY3VtZW50LnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSb3V0ZSB9IGZyb20gJ0BhbmFuc2kvcm91dGVyJztcbmltcG9ydCB7IFJlcXVlc3QgfSBmcm9tICdleHByZXNzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTdGF0c0NodW5rR3JvdXAgfSBmcm9tICd3ZWJwYWNrJztcblxuaW1wb3J0IHsgYnVpbGRQb2xpY3ksIGpvaW5Ob25jZSwgUG9saWN5IH0gZnJvbSAnLi9jc3AuanMnO1xuaW1wb3J0IERvY3VtZW50IGZyb20gJy4vRG9jdW1lbnRDb21wb25lbnQuanMnO1xuaW1wb3J0IHR5cGUgeyBTZXJ2ZXJTcG91dCB9IGZyb20gJy4vdHlwZXMuanMnO1xuXG50eXBlIE5lZWRlZE5leHQgPSB7XG4gIG1hdGNoZWRSb3V0ZXM6IFJvdXRlPGFueT5bXTtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHNjcmlwdHM/OiBSZWFjdC5SZWFjdE5vZGVbXTtcbiAgZXh0cmFTdHlsZT86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRG9jdW1lbnRTcG91dChvcHRpb25zOiB7XG4gIGhlYWQ/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGxhbmc/OiBzdHJpbmc7XG4gIHJvb3RJZD86IHN0cmluZztcbiAgY2hhclNldD86IHN0cmluZztcbiAgY3NQb2xpY3k/OiBQb2xpY3k7XG59KTogU2VydmVyU3BvdXQ8UmVjb3JkPHN0cmluZywgdW5rbm93bj4sIFJlY29yZDxzdHJpbmcsIHVua25vd24+LCBOZWVkZWROZXh0PiB7XG4gIHJldHVybiBuZXh0ID0+IGFzeW5jIHByb3BzID0+IHtcbiAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgIGNvbnN0IHB1YmxpY1BhdGggPSBwcm9wcy5jbGllbnRNYW5pZmVzdC5wdWJsaWNQYXRoO1xuXG4gICAgaWYgKFxuICAgICAgT2JqZWN0LmtleXMocHJvcHMuY2xpZW50TWFuaWZlc3Q/LmVudHJ5cG9pbnRzID8/IHt9KS5sZW5ndGggPCAxIHx8XG4gICAgICBwdWJsaWNQYXRoID09PSB1bmRlZmluZWRcbiAgICApXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ01hbmlmZXN0IG1pc3NpbmcgZW50cmllcyBuZWVkZWQnKTtcblxuICAgIC8vIFRPRE86IGNvbnNpZGVyIHVzaW5nIHRoaXMgcGFja2FnZSBmb3IgYnVpbGQgc3RhdHMgaW4gZnV0dXJlOlxuICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC90cmVlL21haW4vcGFja2FnZXMvcmVhY3Qtc2VydmVyLWRvbS13ZWJwYWNrXG4gICAgY29uc3QgYXNzZXRNYXAgPSAoYXNzZXRzOiB7IG5hbWU6IHN0cmluZzsgc2l6ZT86IG51bWJlciB9W10pID0+XG4gICAgICBhc3NldHMubWFwKCh7IG5hbWUgfSkgPT4gYCR7cHVibGljUGF0aH0ke25hbWV9YCk7XG5cbiAgICBjb25zdCBhc3NldExpc3Q6IHN0cmluZ1tdID0gW107XG4gICAgT2JqZWN0LnZhbHVlcyhwcm9wcy5jbGllbnRNYW5pZmVzdD8uZW50cnlwb2ludHMgPz8ge30pLmZvckVhY2goXG4gICAgICBlbnRyeXBvaW50ID0+IHtcbiAgICAgICAgYXNzZXRMaXN0LnB1c2goLi4uYXNzZXRNYXAoZW50cnlwb2ludC5hc3NldHMgPz8gW10pKTtcbiAgICAgIH0sXG4gICAgKTtcbiAgICBuZXcgU2V0KFxuICAgICAgYXNzZXRNYXAoXG4gICAgICAgIE9iamVjdC52YWx1ZXMocHJvcHMuY2xpZW50TWFuaWZlc3QubmFtZWRDaHVua0dyb3VwcyA/PyB7fSlcbiAgICAgICAgICAuZmlsdGVyKCh7IG5hbWUgfSkgPT5cbiAgICAgICAgICAgIG5leHRQcm9wcy5tYXRjaGVkUm91dGVzLnNvbWUocm91dGUgPT4gbmFtZT8uaW5jbHVkZXMocm91dGUubmFtZSkpLFxuICAgICAgICAgIClcbiAgICAgICAgICAuZmxhdE1hcChjaHVuayA9PiBbXG4gICAgICAgICAgICAuLi4oY2h1bmsuYXNzZXRzID8/IFtdKSxcbiAgICAgICAgICAgIC8vIGFueSBjaHVuayBwcmVsb2Fkc1xuICAgICAgICAgICAgLi4uY2hpbGRyZW5Bc3NldHMoY2h1bmspLFxuICAgICAgICAgIF0pLFxuICAgICAgKSxcbiAgICApLmZvckVhY2goYXNzZXQgPT4gYXNzZXRMaXN0LnB1c2goYXNzZXQpKTtcblxuICAgIC8vIGZpbmQgYWRkaXRpb25hbCBhc3NldHMgdG8gcHJlbG9hZCBiYXNlZCBvbiBtYXRjaGVkIHJvdXRlXG4gICAgY29uc3QgYXNzZXRzOiB7XG4gICAgICBocmVmOiBzdHJpbmc7XG4gICAgICBhcz86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAgIHJlbD86IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICB9W10gPSBhc3NldExpc3RcbiAgICAgIC5maWx0ZXIoYXNzZXQgPT4gIWFzc2V0LmVuZHNXaXRoKCcuaG90LXVwZGF0ZS5qcycpKVxuICAgICAgLm1hcChhc3NldCA9PlxuICAgICAgICBhc3NldC5lbmRzV2l0aCgnLmNzcycpID8geyBocmVmOiBhc3NldCwgcmVsOiAnc3R5bGVzaGVldCcgfVxuICAgICAgICA6IGFzc2V0LmVuZHNXaXRoKCcuanMnKSA/IHsgaHJlZjogYXNzZXQsIGFzOiAnc2NyaXB0JyB9XG4gICAgICAgIDogeyBocmVmOiBhc3NldCB9LFxuICAgICAgKTtcblxuICAgIGlmIChvcHRpb25zLmNzUG9saWN5KSB7XG4gICAgICBjb25zdCBodHRwRXF1aXYgPVxuICAgICAgICBwcm9jZXNzLmVudi5OT0RFX0VOViA9PT0gJ3Byb2R1Y3Rpb24nID9cbiAgICAgICAgICAnQ29udGVudC1TZWN1cml0eS1Qb2xpY3knXG4gICAgICAgIDogJ0NvbnRlbnQtU2VjdXJpdHktUG9saWN5LVJlcG9ydC1Pbmx5JztcblxuICAgICAgcHJvcHMucmVzLnNldEhlYWRlcihcbiAgICAgICAgaHR0cEVxdWl2LFxuICAgICAgICBidWlsZFBvbGljeShqb2luTm9uY2Uob3B0aW9ucy5jc1BvbGljeSwgcHJvcHMubm9uY2UpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIGFwcDogKFxuICAgICAgICA8RG9jdW1lbnRcbiAgICAgICAgICB7Li4ub3B0aW9uc31cbiAgICAgICAgICBleHRyYVN0eWxlPXtuZXh0UHJvcHMuZXh0cmFTdHlsZX1cbiAgICAgICAgICB0aXRsZT17bmV4dFByb3BzLnRpdGxlID8/IG9wdGlvbnMudGl0bGV9XG4gICAgICAgICAgYXNzZXRzPXthc3NldHN9XG4gICAgICAgICAgcm9vdElkPXtvcHRpb25zLnJvb3RJZH1cbiAgICAgICAgICBzY3JpcHRzPXtuZXh0UHJvcHMuc2NyaXB0c31cbiAgICAgICAgPlxuICAgICAgICAgIHtuZXh0UHJvcHMuYXBwfVxuICAgICAgICA8L0RvY3VtZW50PlxuICAgICAgKSxcbiAgICB9O1xuICB9O1xufVxuXG5mdW5jdGlvbiBjaGlsZHJlbkFzc2V0cyhjaHVuazogU3RhdHNDaHVua0dyb3VwKSB7XG4gIHJldHVybiBjaHVuay5jaGlsZHJlbiA/XG4gICAgICBPYmplY3QudmFsdWVzKGNodW5rLmNoaWxkcmVuKS5mbGF0TWFwKHByZWxvYWQgPT5cbiAgICAgICAgcHJlbG9hZC5mbGF0TWFwKGMgPT4gYy5hc3NldHMgPz8gW10pLFxuICAgICAgKVxuICAgIDogW107XG59XG4iXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPQSxLQUFLLE1BQU0sT0FBTztBQUd6QixTQUFTQyxXQUFXLEVBQUVDLFNBQVMsUUFBZ0IsVUFBVTtBQUN6RCxPQUFPQyxRQUFRLE1BQU0sd0JBQXdCO0FBQUMsU0FBQUMsR0FBQSxJQUFBQyxJQUFBO0FBVTlDLGVBQWUsU0FBU0MsYUFBYUEsQ0FBQ0MsT0FPckMsRUFBNkU7RUFDNUUsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUFBLElBQUFDLHFCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFDLHNCQUFBLEVBQUFD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
@@ -1,4 +1,3 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  import React, { Suspense } from 'react';
3
2
  import { jsx as _jsx } from "react/jsx-runtime";
4
3
  export default function JSONSpout({
@@ -29,7 +28,7 @@ export default function JSONSpout({
29
28
  return null;
30
29
  }
31
30
  };
32
- _pushInstanceProperty(scripts).call(scripts, /*#__PURE__*/_jsx(Suspense, {
31
+ scripts.push(/*#__PURE__*/_jsx(Suspense, {
33
32
  children: /*#__PURE__*/_jsx(Script, {})
34
33
  }, globalId));
35
34
  });
@@ -39,4 +38,4 @@ export default function JSONSpout({
39
38
  };
40
39
  };
41
40
  }
42
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlN1c3BlbnNlIiwianN4IiwiX2pzeCIsIkpTT05TcG91dCIsImlkIiwibmV4dCIsInByb3BzIiwiX25leHRQcm9wcyRzY3JpcHRzIiwiX25leHRQcm9wcyRpbml0RGF0YSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaW5pdERhdGEiLCJmb3JFYWNoIiwia2V5IiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZGF0YSIsImVuY29kZWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHlwZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibm9uY2UiLCJlIiwiY29uc29sZSIsImVycm9yIiwiX3B1c2hJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgdXNlRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHVzZURhdGEoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU9BLEtBQUssSUFBSUMsUUFBUSxRQUFRLE9BQU87QUFBQyxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFTeEMsZUFBZSxTQUFTQyxTQUFTQSxDQUFDO0VBQ2hDQyxFQUFFLEdBQUc7QUFDVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBSXJCO0VBQ0EsT0FBT0MsSUFBSSxJQUFJLE1BQU1DLEtBQUssSUFBSTtJQUFBLElBQUFDLGtCQUFBLEVBQUFDLG1CQUFBO0lBQzVCLE1BQU1DLFNBQVMsR0FBRyxNQUFNSixJQUFJLENBQUNDLEtBQUssQ0FBQztJQUVuQyxNQUFNSSxPQUEwQixJQUFBSCxrQkFBQSxHQUFHRSxTQUFTLENBQUNDLE9BQU8sWUFBQUgsa0JBQUEsR0FBSSxFQUFFO0lBRTFESSxNQUFNLENBQUNDLE9BQU8sRUFBQUosbUJBQUEsR0FBQ0MsU0FBUyxDQUFDSSxRQUFRLFlBQUFMLG1CQUFBLEdBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQ00sT0FBTyxDQUFDLENBQUMsQ0FBQ0MsR0FBRyxFQUFFQyxPQUFPLENBQUMsS0FBSztNQUNuRSxNQUFNQyxRQUFRLEdBQUcsR0FBR2IsRUFBRSxJQUFJVyxHQUFHLEVBQUU7TUFDL0IsTUFBTUcsTUFBTSxHQUFHQSxDQUFBLEtBQU07UUFDbkIsTUFBTUMsSUFBUyxHQUFHSCxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJO1VBQ0YsTUFBTUksT0FBTyxHQUFHQyxJQUFJLENBQUNDLFNBQVMsQ0FBQ0gsSUFBSSxDQUFDO1VBQ3BDLG9CQUNFakIsSUFBQTtZQUNFRSxFQUFFLEVBQUVhLFFBQVM7WUFDYk0sSUFBSSxFQUFDLGtCQUFrQjtZQUN2QkMsdUJBQXVCLEVBQUU7Y0FDdkJDLE1BQU0sRUFBRUw7WUFDVixDQUFFO1lBQ0ZNLEtBQUssRUFBRXBCLEtBQUssQ0FBQ29CO1VBQU0sQ0FDcEIsQ0FBQztRQUVOLENBQUMsQ0FBQyxPQUFPQyxDQUFDLEVBQUU7VUFDVjtVQUNBQyxPQUFPLENBQUNDLEtBQUssQ0FBQyw4QkFBOEJkLEdBQUcsRUFBRSxDQUFDO1VBQ2xEYSxPQUFPLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDO1VBQ2hCLE9BQU8sSUFBSTtRQUNiO01BQ0YsQ0FBQztNQUNERyxxQkFBQSxDQUFBcEIsT0FBTyxFQUFBcUIsSUFBQSxDQUFQckIsT0FBTyxlQUNMUixJQUFBLENBQUNGLFFBQVE7UUFBQWdDLFFBQUEsZUFDUDlCLElBQUEsQ0FBQ2dCLE1BQU0sSUFBRTtNQUFDLEdBREdELFFBRUwsQ0FDWixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztNQUNMLEdBQUdSLFNBQVM7TUFDWkM7SUFDRixDQUFDO0VBQ0gsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
41
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlN1c3BlbnNlIiwianN4IiwiX2pzeCIsIkpTT05TcG91dCIsImlkIiwibmV4dCIsInByb3BzIiwiX25leHRQcm9wcyRzY3JpcHRzIiwiX25leHRQcm9wcyRpbml0RGF0YSIsIm5leHRQcm9wcyIsInNjcmlwdHMiLCJPYmplY3QiLCJlbnRyaWVzIiwiaW5pdERhdGEiLCJmb3JFYWNoIiwia2V5IiwidXNlRGF0YSIsImdsb2JhbElkIiwiU2NyaXB0IiwiZGF0YSIsImVuY29kZWQiLCJKU09OIiwic3RyaW5naWZ5IiwidHlwZSIsImRhbmdlcm91c2x5U2V0SW5uZXJIVE1MIiwiX19odG1sIiwibm9uY2UiLCJlIiwiY29uc29sZSIsImVycm9yIiwicHVzaCIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9qc29uLnNlcnZlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdHlwZSB7IFNlcnZlclNwb3V0IH0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbnR5cGUgTmVlZGVkTmV4dCA9IHtcbiAgaW5pdERhdGE/OiBSZWNvcmQ8c3RyaW5nLCAoKSA9PiB1bmtub3duPjtcbiAgc2NyaXB0cz86IFJlYWN0LlJlYWN0Tm9kZVtdO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gSlNPTlNwb3V0KHtcbiAgaWQgPSAnYW5hbnNpLWpzb24nLFxufTogeyBpZD86IHN0cmluZyB9ID0ge30pOiBTZXJ2ZXJTcG91dDxcbiAgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZWVkZWROZXh0XG4+IHtcbiAgcmV0dXJuIG5leHQgPT4gYXN5bmMgcHJvcHMgPT4ge1xuICAgIGNvbnN0IG5leHRQcm9wcyA9IGF3YWl0IG5leHQocHJvcHMpO1xuXG4gICAgY29uc3Qgc2NyaXB0czogUmVhY3QuUmVhY3ROb2RlW10gPSBuZXh0UHJvcHMuc2NyaXB0cyA/PyBbXTtcblxuICAgIE9iamVjdC5lbnRyaWVzKG5leHRQcm9wcy5pbml0RGF0YSA/PyB7fSkuZm9yRWFjaCgoW2tleSwgdXNlRGF0YV0pID0+IHtcbiAgICAgIGNvbnN0IGdsb2JhbElkID0gYCR7aWR9LiR7a2V5fWA7XG4gICAgICBjb25zdCBTY3JpcHQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHVzZURhdGEoKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBlbmNvZGVkID0gSlNPTi5zdHJpbmdpZnkoZGF0YSk7XG4gICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxzY3JpcHRcbiAgICAgICAgICAgICAgaWQ9e2dsb2JhbElkfVxuICAgICAgICAgICAgICB0eXBlPVwiYXBwbGljYXRpb24vanNvblwiXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBlbmNvZGVkLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICBub25jZT17cHJvcHMubm9uY2V9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAvLyBUT0RPOiBVc2UgdW5pZmllZCBsb2dnaW5nXG4gICAgICAgICAgY29uc29sZS5lcnJvcihgRXJyb3Igc2VyaWFsaXppbmcganNvbiBmb3IgJHtrZXl9YCk7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHNjcmlwdHMucHVzaChcbiAgICAgICAgPFN1c3BlbnNlIGtleT17Z2xvYmFsSWR9PlxuICAgICAgICAgIDxTY3JpcHQgLz5cbiAgICAgICAgPC9TdXNwZW5zZT4sXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLm5leHRQcm9wcyxcbiAgICAgIHNjcmlwdHMsXG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsS0FBSyxJQUFJQyxRQUFRLFFBQVEsT0FBTztBQUFDLFNBQUFDLEdBQUEsSUFBQUMsSUFBQTtBQVN4QyxlQUFlLFNBQVNDLFNBQVNBLENBQUM7RUFDaENDLEVBQUUsR0FBRztBQUNVLENBQUMsR0FBRyxDQUFDLENBQUMsRUFJckI7RUFDQSxPQUFPQyxJQUFJLElBQUksTUFBTUMsS0FBSyxJQUFJO0lBQUEsSUFBQUMsa0JBQUEsRUFBQUMsbUJBQUE7SUFDNUIsTUFBTUMsU0FBUyxHQUFHLE1BQU1KLElBQUksQ0FBQ0MsS0FBSyxDQUFDO0lBRW5DLE1BQU1JLE9BQTBCLElBQUFILGtCQUFBLEdBQUdFLFNBQVMsQ0FBQ0MsT0FBTyxZQUFBSCxrQkFBQSxHQUFJLEVBQUU7SUFFMURJLE1BQU0sQ0FBQ0MsT0FBTyxFQUFBSixtQkFBQSxHQUFDQyxTQUFTLENBQUNJLFFBQVEsWUFBQUwsbUJBQUEsR0FBSSxDQUFDLENBQUMsQ0FBQyxDQUFDTSxPQUFPLENBQUMsQ0FBQyxDQUFDQyxHQUFHLEVBQUVDLE9BQU8sQ0FBQyxLQUFLO01BQ25FLE1BQU1DLFFBQVEsR0FBRyxHQUFHYixFQUFFLElBQUlXLEdBQUcsRUFBRTtNQUMvQixNQUFNRyxNQUFNLEdBQUdBLENBQUEsS0FBTTtRQUNuQixNQUFNQyxJQUFTLEdBQUdILE9BQU8sQ0FBQyxDQUFDO1FBQzNCLElBQUk7VUFDRixNQUFNSSxPQUFPLEdBQUdDLElBQUksQ0FBQ0MsU0FBUyxDQUFDSCxJQUFJLENBQUM7VUFDcEMsb0JBQ0VqQixJQUFBO1lBQ0VFLEVBQUUsRUFBRWEsUUFBUztZQUNiTSxJQUFJLEVBQUMsa0JBQWtCO1lBQ3ZCQyx1QkFBdUIsRUFBRTtjQUN2QkMsTUFBTSxFQUFFTDtZQUNWLENBQUU7WUFDRk0sS0FBSyxFQUFFcEIsS0FBSyxDQUFDb0I7VUFBTSxDQUNwQixDQUFDO1FBRU4sQ0FBQyxDQUFDLE9BQU9DLENBQUMsRUFBRTtVQUNWO1VBQ0FDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDhCQUE4QmQsR0FBRyxFQUFFLENBQUM7VUFDbERhLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDRixDQUFDLENBQUM7VUFDaEIsT0FBTyxJQUFJO1FBQ2I7TUFDRixDQUFDO01BQ0RqQixPQUFPLENBQUNvQixJQUFJLGNBQ1Y1QixJQUFBLENBQUNGLFFBQVE7UUFBQStCLFFBQUEsZUFDUDdCLElBQUEsQ0FBQ2dCLE1BQU0sSUFBRTtNQUFDLEdBREdELFFBRUwsQ0FDWixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUYsT0FBTztNQUNMLEdBQUdSLFNBQVM7TUFDWkM7SUFDRixDQUFDO0VBQ0gsQ0FBQztBQUNIIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"file":"prefetch.server.d.ts","sourceRoot":"","sources":["../../src/spouts/prefetch.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,WAAW,CAAC,SAAS,IAAI;IAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,IAE5D,SAAS,EACT,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAChC,CAAC,SAAS,WAAW,QAEf,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CACzB,GACG,CAAC,IAAI,CAAC,GAAG,SAAS,GACpB,GAAG,CAAC,CACN,aAEoB,CAAC,gBAJjB,CAAC,0BA2BT"}
1
+ {"version":3,"file":"prefetch.server.d.ts","sourceRoot":"","sources":["../../src/spouts/prefetch.server.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5D,KAAK,WAAW,CAAC,SAAS,IAAI;IAC5B,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAClC,YAAY,EAAE,eAAe,CAAC;CAC/B,GAAG,YAAY,CAAC;AAEjB,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,CAAC,SAAS,MAAM,EAAE,KAAK,EAAE,CAAC,IAE5D,SAAS,EACT,CAAC,SAAS,WAAW,CAAC,SAAS,CAAC,EAChC,CAAC,SAAS,WAAW,EAErB,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,OAAO,CACzB,GACG,CAAC,IAAI,CAAC,GAAG,SAAS,GACpB,GAAG,CAAC,CACN,MAEa,OAAO,CAAC,gBAJjB,CAAC,0BA2BT"}
@@ -1,4 +1,3 @@
1
- import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
2
1
  export default function prefetchSpout(field) {
3
2
  return function (next) {
4
3
  return async props => {
@@ -7,7 +6,7 @@ export default function prefetchSpout(field) {
7
6
  const toFetch = [];
8
7
  nextProps.matchedRoutes.forEach(route => {
9
8
  if (typeof route.resolveData === 'function') {
10
- _pushInstanceProperty(toFetch).call(toFetch, route.resolveData(nextProps[field], route, nextProps.searchParams));
9
+ toFetch.push(route.resolveData(nextProps[field], route, nextProps.searchParams));
11
10
  }
12
11
  });
13
12
  await Promise.all(toFetch);
@@ -18,4 +17,4 @@ export default function prefetchSpout(field) {
18
17
  };
19
18
  };
20
19
  }
21
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmVmZXRjaFNwb3V0IiwiZmllbGQiLCJuZXh0IiwicHJvcHMiLCJuZXh0UHJvcHMiLCJ0b0ZldGNoIiwibWF0Y2hlZFJvdXRlcyIsImZvckVhY2giLCJyb3V0ZSIsInJlc29sdmVEYXRhIiwiX3B1c2hJbnN0YW5jZVByb3BlcnR5IiwiY2FsbCIsInNlYXJjaFBhcmFtcyIsIlByb21pc2UiLCJhbGwiLCJlIiwiY29uc29sZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJlc29sdmVQcm9wcywgU2VydmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWRQcm9wczxSb3V0ZVdpdGg+ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSb3V0ZVdpdGg+W107XG4gIHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xufSAmIFJlc29sdmVQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcHJlZmV0Y2hTcG91dDxGIGV4dGVuZHMgc3RyaW5nPihmaWVsZDogRikge1xuICByZXR1cm4gZnVuY3Rpb24gPFxuICAgIFJvdXRlV2l0aCxcbiAgICBOIGV4dGVuZHMgTmVlZGVkUHJvcHM8Um91dGVXaXRoPixcbiAgICBJIGV4dGVuZHMgU2VydmVyUHJvcHMsXG4gID4oXG4gICAgbmV4dDogKHByb3BzOiBJKSA9PiBQcm9taXNlPFxuICAgICAge1xuICAgICAgICBbSyBpbiBGXTogUm91dGVXaXRoO1xuICAgICAgfSAmIE5cbiAgICA+LFxuICApIHtcbiAgICByZXR1cm4gYXN5bmMgKHByb3BzOiBJKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9GZXRjaDogUHJvbWlzZTx1bmtub3duPltdID0gW107XG4gICAgICAgIG5leHRQcm9wcy5tYXRjaGVkUm91dGVzLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2Ygcm91dGUucmVzb2x2ZURhdGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRmV0Y2gucHVzaChcbiAgICAgICAgICAgICAgcm91dGUucmVzb2x2ZURhdGEoXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICAgICAgICBuZXh0UHJvcHMuc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0b0ZldGNoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0UHJvcHM7XG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQVNBLGVBQWUsU0FBU0EsYUFBYUEsQ0FBbUJDLEtBQVEsRUFBRTtFQUNoRSxPQUFPLFVBS0xDLElBSUMsRUFDRDtJQUNBLE9BQU8sTUFBT0MsS0FBUSxJQUFLO01BQ3pCLE1BQU1DLFNBQVMsR0FBRyxNQUFNRixJQUFJLENBQUNDLEtBQUssQ0FBQztNQUVuQyxJQUFJO1FBQ0YsTUFBTUUsT0FBMkIsR0FBRyxFQUFFO1FBQ3RDRCxTQUFTLENBQUNFLGFBQWEsQ0FBQ0MsT0FBTyxDQUFDQyxLQUFLLElBQUk7VUFDdkMsSUFBSSxPQUFPQSxLQUFLLENBQUNDLFdBQVcsS0FBSyxVQUFVLEVBQUU7WUFDM0NDLHFCQUFBLENBQUFMLE9BQU8sRUFBQU0sSUFBQSxDQUFQTixPQUFPLEVBQ0xHLEtBQUssQ0FBQ0MsV0FBVyxDQUNmTCxTQUFTLENBQUNILEtBQUssQ0FBQyxFQUNoQk8sS0FBSyxFQUNMSixTQUFTLENBQUNRLFlBQ1osQ0FDRixDQUFDO1VBQ0g7UUFDRixDQUFDLENBQUM7UUFDRixNQUFNQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ1QsT0FBTyxDQUFDO01BQzVCLENBQUMsQ0FBQyxPQUFPVSxDQUFDLEVBQUU7UUFDVkMsT0FBTyxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztNQUNsQjtNQUNBLE9BQU9YLFNBQVM7SUFDbEIsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJwcmVmZXRjaFNwb3V0IiwiZmllbGQiLCJuZXh0IiwicHJvcHMiLCJuZXh0UHJvcHMiLCJ0b0ZldGNoIiwibWF0Y2hlZFJvdXRlcyIsImZvckVhY2giLCJyb3V0ZSIsInJlc29sdmVEYXRhIiwicHVzaCIsInNlYXJjaFBhcmFtcyIsIlByb21pc2UiLCJhbGwiLCJlIiwiY29uc29sZSIsImVycm9yIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3Nwb3V0cy9wcmVmZXRjaC5zZXJ2ZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJvdXRlIH0gZnJvbSAnQGFuYW5zaS9yb3V0ZXInO1xuXG5pbXBvcnQgdHlwZSB7IFJlc29sdmVQcm9wcywgU2VydmVyUHJvcHMgfSBmcm9tICcuL3R5cGVzLmpzJztcblxudHlwZSBOZWVkZWRQcm9wczxSb3V0ZVdpdGg+ID0ge1xuICBtYXRjaGVkUm91dGVzOiBSb3V0ZTxSb3V0ZVdpdGg+W107XG4gIHNlYXJjaFBhcmFtczogVVJMU2VhcmNoUGFyYW1zO1xufSAmIFJlc29sdmVQcm9wcztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gcHJlZmV0Y2hTcG91dDxGIGV4dGVuZHMgc3RyaW5nPihmaWVsZDogRikge1xuICByZXR1cm4gZnVuY3Rpb24gPFxuICAgIFJvdXRlV2l0aCxcbiAgICBOIGV4dGVuZHMgTmVlZGVkUHJvcHM8Um91dGVXaXRoPixcbiAgICBJIGV4dGVuZHMgU2VydmVyUHJvcHMsXG4gID4oXG4gICAgbmV4dDogKHByb3BzOiBJKSA9PiBQcm9taXNlPFxuICAgICAge1xuICAgICAgICBbSyBpbiBGXTogUm91dGVXaXRoO1xuICAgICAgfSAmIE5cbiAgICA+LFxuICApIHtcbiAgICByZXR1cm4gYXN5bmMgKHByb3BzOiBJKSA9PiB7XG4gICAgICBjb25zdCBuZXh0UHJvcHMgPSBhd2FpdCBuZXh0KHByb3BzKTtcblxuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgdG9GZXRjaDogUHJvbWlzZTx1bmtub3duPltdID0gW107XG4gICAgICAgIG5leHRQcm9wcy5tYXRjaGVkUm91dGVzLmZvckVhY2gocm91dGUgPT4ge1xuICAgICAgICAgIGlmICh0eXBlb2Ygcm91dGUucmVzb2x2ZURhdGEgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRvRmV0Y2gucHVzaChcbiAgICAgICAgICAgICAgcm91dGUucmVzb2x2ZURhdGEoXG4gICAgICAgICAgICAgICAgbmV4dFByb3BzW2ZpZWxkXSxcbiAgICAgICAgICAgICAgICByb3V0ZSxcbiAgICAgICAgICAgICAgICBuZXh0UHJvcHMuc2VhcmNoUGFyYW1zLFxuICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBhd2FpdCBQcm9taXNlLmFsbCh0b0ZldGNoKTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXh0UHJvcHM7XG4gICAgfTtcbiAgfTtcbn1cbiJdLCJtYXBwaW5ncyI6IkFBU0EsZUFBZSxTQUFTQSxhQUFhQSxDQUFtQkMsS0FBUSxFQUFFO0VBQ2hFLE9BQU8sVUFLTEMsSUFJQyxFQUNEO0lBQ0EsT0FBTyxNQUFPQyxLQUFRLElBQUs7TUFDekIsTUFBTUMsU0FBUyxHQUFHLE1BQU1GLElBQUksQ0FBQ0MsS0FBSyxDQUFDO01BRW5DLElBQUk7UUFDRixNQUFNRSxPQUEyQixHQUFHLEVBQUU7UUFDdENELFNBQVMsQ0FBQ0UsYUFBYSxDQUFDQyxPQUFPLENBQUNDLEtBQUssSUFBSTtVQUN2QyxJQUFJLE9BQU9BLEtBQUssQ0FBQ0MsV0FBVyxLQUFLLFVBQVUsRUFBRTtZQUMzQ0osT0FBTyxDQUFDSyxJQUFJLENBQ1ZGLEtBQUssQ0FBQ0MsV0FBVyxDQUNmTCxTQUFTLENBQUNILEtBQUssQ0FBQyxFQUNoQk8sS0FBSyxFQUNMSixTQUFTLENBQUNPLFlBQ1osQ0FDRixDQUFDO1VBQ0g7UUFDRixDQUFDLENBQUM7UUFDRixNQUFNQyxPQUFPLENBQUNDLEdBQUcsQ0FBQ1IsT0FBTyxDQUFDO01BQzVCLENBQUMsQ0FBQyxPQUFPUyxDQUFDLEVBQUU7UUFDVkMsT0FBTyxDQUFDQyxLQUFLLENBQUNGLENBQUMsQ0FBQztNQUNsQjtNQUNBLE9BQU9WLFNBQVM7SUFDbEIsQ0FBQztFQUNILENBQUM7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anansi/core",
3
- "version": "0.20.21",
3
+ "version": "0.20.23",
4
4
  "description": "React 19 Framework",
5
5
  "homepage": "https://github.com/ntucker/anansi/tree/master/packages/core#readme",
6
6
  "repository": {
@@ -71,7 +71,7 @@
71
71
  "@types/compression": "1.7.5",
72
72
  "@types/express": "^4.17.17",
73
73
  "@types/node": "^22.0.0",
74
- "@types/react": "19.0.10",
74
+ "@types/react": "19.0.12",
75
75
  "@types/react-dom": "19.0.4",
76
76
  "@types/source-map-support": "0.5.10",
77
77
  "@types/tmp": "0.2.6",
@@ -1,10 +1,10 @@
1
+ import { Filter, legacyCreateProxyMiddleware } from 'http-proxy-middleware';
1
2
  import {
2
3
  RequestHandler,
3
4
  ProxyConfigArray,
4
5
  Response,
5
6
  Request,
6
7
  NextFunction,
7
- ByPass,
8
8
  ProxyConfigArrayItem,
9
9
  } from 'webpack-dev-server';
10
10
 
@@ -12,8 +12,6 @@ import {
12
12
  // we just removed the 'bypass' deprecation warnings and converted to typescript
13
13
  export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
14
14
  const middlewares: any[] = [];
15
- // eslint-disable-next-line @typescript-eslint/no-var-requires
16
- const { createProxyMiddleware } = require('http-proxy-middleware');
17
15
 
18
16
  const getProxyMiddleware = (
19
17
  proxyConfig: ProxyConfigArrayItem,
@@ -21,13 +19,13 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
21
19
  // It is possible to use the `bypass` method without a `target` or `router`.
22
20
  // However, the proxy middleware has no use in this case, and will fail to instantiate.
23
21
  if (proxyConfig.target) {
24
- const context = proxyConfig.context || proxyConfig.path;
22
+ const context: Filter = proxyConfig.context || (proxyConfig.path as any);
25
23
 
26
- return createProxyMiddleware(/** @type {string} */ context, proxyConfig);
24
+ return legacyCreateProxyMiddleware(context, proxyConfig);
27
25
  }
28
26
 
29
27
  if (proxyConfig.router) {
30
- return createProxyMiddleware(proxyConfig);
28
+ return legacyCreateProxyMiddleware(proxyConfig);
31
29
  }
32
30
  };
33
31
 
@@ -69,29 +67,19 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
69
67
 
70
68
  if (newProxyConfig !== proxyConfig) {
71
69
  proxyConfig = newProxyConfig;
70
+
71
+ const socket = req.socket != null ? req.socket : req.connection;
72
+ const server = socket != null ? (socket as any).server : null;
73
+
74
+ if (server) {
75
+ server.removeAllListeners('close');
76
+ }
77
+
72
78
  proxyMiddleware = getProxyMiddleware(proxyConfig);
73
79
  }
74
80
  }
75
81
 
76
- // - Check if we have a bypass function defined
77
- // - In case the bypass function is defined we'll retrieve the
78
- // bypassUrl from it otherwise bypassUrl would be null
79
- // TODO remove in the next major in favor `context` and `router` options
80
- const bypassUrl: ByPass | null =
81
- typeof proxyConfig.bypass === 'function' ?
82
- await proxyConfig.bypass(req, res, proxyConfig)
83
- : null;
84
-
85
- if (typeof bypassUrl === 'boolean') {
86
- // skip the proxy
87
- res.statusCode = 404;
88
- req.url = '';
89
- next();
90
- } else if (typeof bypassUrl === 'string') {
91
- // byPass to that url
92
- req.url = bypassUrl;
93
- next();
94
- } else if (proxyMiddleware) {
82
+ if (proxyMiddleware) {
95
83
  return proxyMiddleware(req, res, next);
96
84
  } else {
97
85
  next();
@@ -102,6 +90,7 @@ export default function getProxyMiddlewares(proxyConfig: ProxyConfigArray) {
102
90
  name: 'http-proxy-middleware',
103
91
  middleware: handler,
104
92
  });
93
+
105
94
  // Also forward error requests to the proxy so it can handle them.
106
95
  middlewares.push({
107
96
  name: 'http-proxy-middleware-error-handler',
@@ -195,7 +195,9 @@ export default async function startDevServer(
195
195
 
196
196
  const otherRoutes = [
197
197
  process.env.WEBPACK_PUBLIC_PATH,
198
- ...Object.keys(webpackConfigs[0].devServer?.proxy ?? {}),
198
+ ...(webpackConfigs[0].devServer?.proxy
199
+ ?.filter(proxy => typeof proxy === 'object')
200
+ ?.flatMap(proxy => proxy.context) ?? []),
199
201
  ];
200
202
  // serve SSR for non-WEBPACK_PUBLIC_PATH
201
203
  devServer.app?.get(