@plumile/router 0.2.2 → 0.2.5

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.
Files changed (79) hide show
  1. package/README.md +2 -1
  2. package/lib/esm/builder.d.ts +1 -0
  3. package/lib/esm/builder.d.ts.map +1 -1
  4. package/lib/esm/builder.js +27 -4
  5. package/lib/esm/errors/HttpRedirect.d.ts +3 -2
  6. package/lib/esm/errors/HttpRedirect.d.ts.map +1 -1
  7. package/lib/esm/errors/HttpRedirect.js +1 -1
  8. package/lib/esm/history/BrowserHistory.d.ts +4 -1
  9. package/lib/esm/history/BrowserHistory.d.ts.map +1 -1
  10. package/lib/esm/history/BrowserHistory.js +52 -2
  11. package/lib/esm/history/types.d.ts +6 -0
  12. package/lib/esm/history/types.d.ts.map +1 -1
  13. package/lib/esm/history/types.js +1 -1
  14. package/lib/esm/instrumentation/Instrumentation.d.ts +8 -10
  15. package/lib/esm/instrumentation/Instrumentation.d.ts.map +1 -1
  16. package/lib/esm/instrumentation/Instrumentation.js +1 -1
  17. package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts +1 -0
  18. package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
  19. package/lib/esm/instrumentation/adapters/devtoolsBridge.js +18 -7
  20. package/lib/esm/routing/Link.d.ts.map +1 -1
  21. package/lib/esm/routing/Link.js +24 -10
  22. package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
  23. package/lib/esm/routing/RouteComponentWrapper.js +26 -50
  24. package/lib/esm/routing/RouterRenderer.d.ts +5 -2
  25. package/lib/esm/routing/RouterRenderer.d.ts.map +1 -1
  26. package/lib/esm/routing/RouterRenderer.js +8 -2
  27. package/lib/esm/routing/createRouter.d.ts +2 -1
  28. package/lib/esm/routing/createRouter.d.ts.map +1 -1
  29. package/lib/esm/routing/createRouter.js +192 -16
  30. package/lib/esm/routing/createStaticRouter.d.ts +16 -2
  31. package/lib/esm/routing/createStaticRouter.d.ts.map +1 -1
  32. package/lib/esm/routing/createStaticRouter.js +46 -10
  33. package/lib/esm/routing/index.d.ts +3 -3
  34. package/lib/esm/routing/index.d.ts.map +1 -1
  35. package/lib/esm/routing/index.js +3 -3
  36. package/lib/esm/routing/routerHydration.d.ts +5 -0
  37. package/lib/esm/routing/routerHydration.d.ts.map +1 -0
  38. package/lib/esm/routing/routerHydration.js +57 -0
  39. package/lib/esm/tools.d.ts +6 -2
  40. package/lib/esm/tools.d.ts.map +1 -1
  41. package/lib/esm/tools.js +56 -5
  42. package/lib/esm/types.d.ts +42 -11
  43. package/lib/esm/types.d.ts.map +1 -1
  44. package/lib/esm/types.js +1 -1
  45. package/lib/tsconfig.esm.tsbuildinfo +1 -1
  46. package/lib/types/builder.d.ts +1 -0
  47. package/lib/types/builder.d.ts.map +1 -1
  48. package/lib/types/errors/HttpRedirect.d.ts +3 -2
  49. package/lib/types/errors/HttpRedirect.d.ts.map +1 -1
  50. package/lib/types/history/BrowserHistory.d.ts +4 -1
  51. package/lib/types/history/BrowserHistory.d.ts.map +1 -1
  52. package/lib/types/history/types.d.ts +6 -0
  53. package/lib/types/history/types.d.ts.map +1 -1
  54. package/lib/types/instrumentation/Instrumentation.d.ts +8 -10
  55. package/lib/types/instrumentation/Instrumentation.d.ts.map +1 -1
  56. package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts +1 -0
  57. package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
  58. package/lib/types/routing/Link.d.ts.map +1 -1
  59. package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
  60. package/lib/types/routing/RouterRenderer.d.ts +5 -2
  61. package/lib/types/routing/RouterRenderer.d.ts.map +1 -1
  62. package/lib/types/routing/createRouter.d.ts +2 -1
  63. package/lib/types/routing/createRouter.d.ts.map +1 -1
  64. package/lib/types/routing/createStaticRouter.d.ts +16 -2
  65. package/lib/types/routing/createStaticRouter.d.ts.map +1 -1
  66. package/lib/types/routing/index.d.ts +3 -3
  67. package/lib/types/routing/index.d.ts.map +1 -1
  68. package/lib/types/routing/routerHydration.d.ts +5 -0
  69. package/lib/types/routing/routerHydration.d.ts.map +1 -0
  70. package/lib/types/tools.d.ts +6 -2
  71. package/lib/types/tools.d.ts.map +1 -1
  72. package/lib/types/types.d.ts +42 -11
  73. package/lib/types/types.d.ts.map +1 -1
  74. package/package.json +3 -3
  75. package/lib/esm/routing/RouteComponent.d.ts +0 -8
  76. package/lib/esm/routing/RouteComponent.d.ts.map +0 -1
  77. package/lib/esm/routing/RouteComponent.js +0 -20
  78. package/lib/types/routing/RouteComponent.d.ts +0 -8
  79. package/lib/types/routing/RouteComponent.d.ts.map +0 -1
package/README.md CHANGED
@@ -240,7 +240,8 @@ Route definition interface.
240
240
  - `children?`: Route[] | Redirect[] - Nested routes
241
241
  - `resourcePage?`: ResourcePage - Lazy-loaded component
242
242
  - `prepare?`: Function to prepare route data before rendering. May return a value or a Promise.
243
- - `render?`: Custom render function. May return a React node, `undefined`, or a Promise.
243
+ - `render?`: Synchronous custom render function. It may return a React element,
244
+ `null`, or `undefined`. Put asynchronous work in `prepare`.
244
245
 
245
246
  ### Route Prepare Lifecycle
246
247
 
@@ -6,6 +6,7 @@ export declare class FlatRoute<TParams extends ParamData> {
6
6
  routeSegments?: FlatRouteSegment[];
7
7
  matchFunction: MatchFunction<TParams>;
8
8
  redirectTo?: string;
9
+ redirectStatus?: Redirect['status'];
9
10
  constructor(input: FlatRouteInput<TParams>);
10
11
  }
11
12
  export declare function isRedirect(route: RouteNode | Redirect): route is Redirect;
@@ -1 +1 @@
1
- {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACV,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAS,CAAC,OAAO,SAAS,SAAS;IAEvC,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,SAAS,EAAE,CAAC;IAGpB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAGnC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAGtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAO3B,YAAmB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAOhD;CACF;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAGzE;AA0ED,wBAAgB,UAAU,CACxB,WAAW,EAAE,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,EAC9C,YAAY,GAAE,SAAS,EAAO,EAC9B,mBAAmB,GAAE,gBAAgB,EAAO,EAC5C,MAAM,SAAK,GACV,SAAS,CAAC,SAAS,CAAC,EAAE,CAiFxB;AAOD,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,SAAS,EAAE,GAChC,SAAS,CAAC,SAAS,CAAC,EAAE,CAExB"}
1
+ {"version":3,"file":"builder.d.ts","sourceRoot":"","sources":["../../src/builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,SAAS,EAEf,MAAM,gBAAgB,CAAC;AAExB,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,QAAQ,EACR,SAAS,EACV,MAAM,YAAY,CAAC;AAQpB,qBAAa,SAAS,CAAC,OAAO,SAAS,SAAS;IAEvC,IAAI,EAAE,MAAM,CAAC;IAGb,MAAM,EAAE,SAAS,EAAE,CAAC;IAGpB,aAAa,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAGnC,aAAa,EAAE,aAAa,CAAC,OAAO,CAAC,CAAC;IAGtC,UAAU,CAAC,EAAE,MAAM,CAAC;IAGpB,cAAc,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAO3C,YAAmB,KAAK,EAAE,cAAc,CAAC,OAAO,CAAC,EAehD;CACF;AAGD,wBAAgB,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,GAAG,KAAK,IAAI,QAAQ,CAGzE;AAiFD,wBAAgB,UAAU,CACxB,WAAW,EAAE,SAAS,CAAC,SAAS,GAAG,QAAQ,CAAC,EAAE,EAC9C,YAAY,GAAE,SAAS,EAAO,EAC9B,mBAAmB,GAAE,gBAAgB,EAAO,EAC5C,MAAM,SAAK,GACV,SAAS,CAAC,SAAS,CAAC,EAAE,CA+FxB;AAOD,wBAAgB,WAAW,CACzB,WAAW,EAAE,SAAS,SAAS,EAAE,GAChC,SAAS,CAAC,SAAS,CAAC,EAAE,CAExB"}
@@ -5,10 +5,12 @@ export class FlatRoute {
5
5
  routeSegments;
6
6
  matchFunction;
7
7
  redirectTo;
8
+ redirectStatus;
8
9
  constructor(input) {
9
- const { matchFunction, path, redirectTo, routeSegments, routes } = input;
10
+ const { matchFunction, path, redirectStatus, redirectTo, routeSegments, routes, } = input;
10
11
  this.path = path;
11
12
  this.redirectTo = redirectTo;
13
+ this.redirectStatus = redirectStatus;
12
14
  this.routeSegments = routeSegments;
13
15
  this.routes = routes;
14
16
  this.matchFunction = matchFunction;
@@ -22,7 +24,14 @@ const normalizeRoutePath = (path) => {
22
24
  return '';
23
25
  }
24
26
  if (path.startsWith('/')) {
25
- return path.slice(1);
27
+ const absolute = path.slice(1);
28
+ if (absolute === '*') {
29
+ return '*path';
30
+ }
31
+ return absolute;
32
+ }
33
+ if (path === '*') {
34
+ return '*path';
26
35
  }
27
36
  return path;
28
37
  };
@@ -77,7 +86,16 @@ export function buildRoute(routeConfig, parentRoutes = [], parentRouteSegments =
77
86
  if (normalized !== '') {
78
87
  parts.push(normalized);
79
88
  }
80
- const newPath = parts.join('/');
89
+ const newPath = parts.reduce((joined, part) => {
90
+ if (joined === '') {
91
+ return part;
92
+ }
93
+ let separator = '/';
94
+ if (joined.endsWith('/')) {
95
+ separator = '';
96
+ }
97
+ return `${joined}${separator}${part}`;
98
+ }, '');
81
99
  const routeDefinition = route;
82
100
  const { children } = routeDefinition;
83
101
  let path = newPath;
@@ -113,12 +131,17 @@ export function buildRoute(routeConfig, parentRoutes = [], parentRouteSegments =
113
131
  flatRoutes.push(new FlatRoute({
114
132
  path,
115
133
  redirectTo,
134
+ redirectStatus: route.status ?? 302,
116
135
  matchFunction,
117
136
  routeSegments: parentRouteSegments,
118
137
  routes: [...parentRoutes],
119
138
  }));
120
139
  }
121
140
  else {
141
+ const routeStatus = route.status;
142
+ if (routeStatus != null && routeStatus !== 200 && routeStatus !== 404) {
143
+ throw new Error('Route.status must be 200 or 404');
144
+ }
122
145
  flatRoutes.push(new FlatRoute({
123
146
  path,
124
147
  matchFunction,
@@ -132,4 +155,4 @@ export function buildRoute(routeConfig, parentRoutes = [], parentRouteSegments =
132
155
  export function buildRoutes(routeConfig) {
133
156
  return buildRoute(routeConfig);
134
157
  }
135
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsS0FBSyxHQUlOLE1BQU0sZ0JBQWdCLENBQUM7QUFleEIsTUFBTSxPQUFPLFNBQVM7SUFFYixJQUFJLENBQVM7SUFHYixNQUFNLENBQWM7SUFHcEIsYUFBYSxDQUFzQjtJQUduQyxhQUFhLENBQXlCO0lBR3RDLFVBQVUsQ0FBVTtJQU8zQixZQUFtQixLQUE4QjtRQUMvQyxNQUFNLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztRQUN6RSxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztRQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQztJQUNyQyxDQUFDO0NBQ0Y7QUFHRCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQTJCO0lBRXBELE9BQVEsS0FBa0IsQ0FBQyxFQUFFLElBQUksSUFBSSxDQUFDO0FBQ3hDLENBQUM7QUFFRCxNQUFNLGtCQUFrQixHQUFHLENBQUMsSUFBd0IsRUFBVSxFQUFFO0lBQzlELElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssRUFBRSxJQUFJLElBQUksS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztRQUN6QixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUNE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O1lBQ0YsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQyxDQUFDO1lBRTNCLFNBQVM7UUFDWCxDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksT0FBTyxFQUFFLEVBQUU7WUFDekMsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO1FBRUgsSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUN0QixJQUFJLFVBQVUsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBRTFCLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ2hDLFVBQVUsR0FBRyxHQUFHLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUN2QyxDQUFDO1lBQ0QsVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLFNBQVMsQ0FBQztnQkFDWixJQUFJO2dCQUNKLFVBQVU7Z0JBQ1YsYUFBYTtnQkFDYixhQUFhLEVBQUUsbUJBQW1CO2dCQUNsQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLFlBQVksQ0FBQzthQUMxQixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sVUFBVSxDQUFDLElBQUksQ0FDYixJQUFJLFNBQVMsQ0FBQztnQkFDWixJQUFJO2dCQUNKLGFBQWE7Z0JBQ2IsYUFBYSxFQUFFLGlCQUFpQjtnQkFDaEMsTUFBTSxFQUFFLFVBQVU7YUFDbkIsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU8sVUFBVSxDQUFDO0FBQ3BCLENBQUM7QUFPRCxNQUFNLFVBQVUsV0FBVyxDQUN6QixXQUFpQztJQUVqQyxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsQ0FBQztBQUNqQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgbWF0Y2gsXG4gIHBhcnNlLFxuICB0eXBlIE1hdGNoRnVuY3Rpb24sXG4gIHR5cGUgUGFyYW1EYXRhLFxuICB0eXBlIFRva2VuLFxufSBmcm9tICdwYXRoLXRvLXJlZ2V4cCc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRmxhdFJvdXRlSW5wdXQsXG4gIEZsYXRSb3V0ZVNlZ21lbnQsXG4gIFJlZGlyZWN0LFxuICBSb3V0ZU5vZGUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBmbGF0dGVuZWQgcm91dGUgd2l0aCBhIGNvbXBpbGVkIG1hdGNoIGZ1bmN0aW9uLlxuICogVGhpcyBpcyBhbiBpbnRlcm5hbCByZXByZXNlbnRhdGlvbiB1c2VkIGJ5IHRoZSByb3V0ZXIgdG8gZWZmaWNpZW50bHkgbWF0Y2ggVVJMcy5cbiAqXG4gKiBAdGVtcGxhdGUgVFBhcmFtcyAtIFJvdXRlIHBhcmFtZXRlciB0eXBlcyBleHRyYWN0ZWQgZnJvbSB0aGUgVVJMIHBhdGhcbiAqL1xuZXhwb3J0IGNsYXNzIEZsYXRSb3V0ZTxUUGFyYW1zIGV4dGVuZHMgUGFyYW1EYXRhPiB7XG4gIC8qKiBUaGUgVVJMIHBhdGggcGF0dGVybiBmb3IgdGhpcyByb3V0ZSAqL1xuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuXG4gIC8qKiBOZXN0ZWQgcm91dGVzIHRoYXQgc2hvdWxkIGJlIHJlbmRlcmVkIHdpdGhpbiB0aGlzIHJvdXRlICovXG4gIHB1YmxpYyByb3V0ZXM6IFJvdXRlTm9kZVtdO1xuXG4gIC8qKiBQZXItcmVuZGVyZWQtcm91dGUgbWV0YWRhdGEgYWxpZ25lZCB3aXRoIGByb3V0ZXNgLiAqL1xuICBwdWJsaWMgcm91dGVTZWdtZW50cz86IEZsYXRSb3V0ZVNlZ21lbnRbXTtcblxuICAvKiogQ29tcGlsZWQgZnVuY3Rpb24gdG8gbWF0Y2ggVVJMIHBhdGhzIGFnYWluc3QgdGhpcyByb3V0ZSBwYXR0ZXJuICovXG4gIHB1YmxpYyBtYXRjaEZ1bmN0aW9uOiBNYXRjaEZ1bmN0aW9uPFRQYXJhbXM+O1xuXG4gIC8qKiBPcHRpb25hbCByZWRpcmVjdCBkZXN0aW5hdGlvbiBpZiB0aGlzIHJvdXRlIHNob3VsZCByZWRpcmVjdCAqL1xuICBwdWJsaWMgcmVkaXJlY3RUbz86IHN0cmluZztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBGbGF0Um91dGUgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBpbnB1dCAtIENvbmZpZ3VyYXRpb24gZm9yIHRoZSBmbGF0IHJvdXRlXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoaW5wdXQ6IEZsYXRSb3V0ZUlucHV0PFRQYXJhbXM+KSB7XG4gICAgY29uc3QgeyBtYXRjaEZ1bmN0aW9uLCBwYXRoLCByZWRpcmVjdFRvLCByb3V0ZVNlZ21lbnRzLCByb3V0ZXMgfSA9IGlucHV0O1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5yZWRpcmVjdFRvID0gcmVkaXJlY3RUbztcbiAgICB0aGlzLnJvdXRlU2VnbWVudHMgPSByb3V0ZVNlZ21lbnRzO1xuICAgIHRoaXMucm91dGVzID0gcm91dGVzO1xuICAgIHRoaXMubWF0Y2hGdW5jdGlvbiA9IG1hdGNoRnVuY3Rpb247XG4gIH1cbn1cblxuLyoqIE5hcnJvdyBhIHJvdXRlIGNvbmZpZ3VyYXRpb24gdG8gYSByZWRpcmVjdC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZGlyZWN0KHJvdXRlOiBSb3V0ZU5vZGUgfCBSZWRpcmVjdCk6IHJvdXRlIGlzIFJlZGlyZWN0IHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb25cbiAgcmV0dXJuIChyb3V0ZSBhcyBSZWRpcmVjdCkudG8gIT0gbnVsbDtcbn1cblxuY29uc3Qgbm9ybWFsaXplUm91dGVQYXRoID0gKHBhdGg6IHN0cmluZyB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XG4gIGlmIChwYXRoID09IG51bGwgfHwgcGF0aCA9PT0gJycgfHwgcGF0aCA9PT0gJy8nKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG4gIGlmIChwYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgIHJldHVybiBwYXRoLnNsaWNlKDEpO1xuICB9XG4gIHJldHVybiBwYXRoO1xufTtcblxuY29uc3QgY29sbGVjdFRva2VuUGFyYW1OYW1lcyA9ICh0b2tlbjogVG9rZW4sIHBhcmFtczogU2V0PHN0cmluZz4pOiB2b2lkID0+IHtcbiAgaWYgKHRva2VuLnR5cGUgPT09ICdwYXJhbScgfHwgdG9rZW4udHlwZSA9PT0gJ3dpbGRjYXJkJykge1xuICAgIHBhcmFtcy5hZGQodG9rZW4ubmFtZSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICh0b2tlbi50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgdG9rZW4udG9rZW5zLmZvckVhY2goKGNoaWxkVG9rZW4pID0+IHtcbiAgICAgIGNvbGxlY3RUb2tlblBhcmFtTmFtZXMoY2hpbGRUb2tlbiwgcGFyYW1zKTtcbiAgICB9KTtcbiAgfVxufTtcblxuY29uc3QgcmVhZFJvdXRlUGFyYW1OYW1lcyA9IChwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplUm91dGVQYXRoKHBhdGgpO1xuICBpZiAobm9ybWFsaXplZFBhdGggPT09ICcnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBwYXJzZShub3JtYWxpemVkUGF0aCkudG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29sbGVjdFRva2VuUGFyYW1OYW1lcyh0b2tlbiwgcGFyYW1zKTtcbiAgfSk7XG4gIHJldHVybiBBcnJheS5mcm9tKHBhcmFtcyk7XG59O1xuXG5jb25zdCBidWlsZFNlZ21lbnRLZXkgPSAoaW5wdXQ6IHtcbiAgZnVsbFBhdGg6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn0pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwYXRoID0gaW5wdXQucGF0aCA/PyAnJztcbiAgcmV0dXJuIGAke2lucHV0LmluZGV4fToke2lucHV0LmZ1bGxQYXRofToke3BhdGh9YDtcbn07XG5cbmNvbnN0IGJ1aWxkRmxhdFJvdXRlU2VnbWVudCA9IChpbnB1dDoge1xuICByb3V0ZTogUm91dGVOb2RlO1xuICBmdWxsUGF0aDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBwYXJlbnRQYXJhbU5hbWVzOiByZWFkb25seSBzdHJpbmdbXTtcbn0pOiBGbGF0Um91dGVTZWdtZW50ID0+IHtcbiAgY29uc3QgbG9jYWxQYXJhbU5hbWVzID0gcmVhZFJvdXRlUGFyYW1OYW1lcyhpbnB1dC5yb3V0ZS5wYXRoKTtcbiAgY29uc3QgcGFyYW1OYW1lcyA9IEFycmF5LmZyb20oXG4gICAgbmV3IFNldChbLi4uaW5wdXQucGFyZW50UGFyYW1OYW1lcywgLi4ubG9jYWxQYXJhbU5hbWVzXSksXG4gICk7XG4gIHJldHVybiB7XG4gICAga2V5OiBidWlsZFNlZ21lbnRLZXkoe1xuICAgICAgZnVsbFBhdGg6IGlucHV0LmZ1bGxQYXRoLFxuICAgICAgcGF0aDogaW5wdXQucm91dGUucGF0aCxcbiAgICAgIGluZGV4OiBpbnB1dC5pbmRleCxcbiAgICB9KSxcbiAgICBwYXRoOiBpbnB1dC5yb3V0ZS5wYXRoLFxuICAgIGZ1bGxQYXRoOiBpbnB1dC5mdWxsUGF0aCxcbiAgICBwYXJhbU5hbWVzLFxuICB9O1xufTtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBmbGF0dGVucyBuZXN0ZWQgcm91dGUgZGVmaW5pdGlvbnMgaW50byBgRmxhdFJvdXRlYCBlbnRyaWVzLlxuICpcbiAqIEBwYXJhbSByb3V0ZUNvbmZpZyAtIFJvdXRlIG9yIHJlZGlyZWN0IGRlZmluaXRpb25zIHRvIHByb2Nlc3MuXG4gKiBAcGFyYW0gcGFyZW50Um91dGVzIC0gQWNjdW11bGF0ZWQgcGFyZW50IHJvdXRlcyBmb3IgbmVzdGluZyBjb250ZXh0LlxuICogQHBhcmFtIHByZWZpeCAtIEN1cnJlbnQgcGF0aCBwcmVmaXggcHJvcGFnYXRlZCBmcm9tIHBhcmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJvdXRlKFxuICByb3V0ZUNvbmZpZzogcmVhZG9ubHkgKFJvdXRlTm9kZSB8IFJlZGlyZWN0KVtdLFxuICBwYXJlbnRSb3V0ZXM6IFJvdXRlTm9kZVtdID0gW10sXG4gIHBhcmVudFJvdXRlU2VnbWVudHM6IEZsYXRSb3V0ZVNlZ21lbnRbXSA9IFtdLFxuICBwcmVmaXggPSAnJyxcbik6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10ge1xuICBjb25zdCBmbGF0Um91dGVzOiBGbGF0Um91dGU8UGFyYW1EYXRhPltdID0gW107XG5cbiAgZm9yIChjb25zdCByb3V0ZSBvZiByb3V0ZUNvbmZpZykge1xuICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgaWYgKHByZWZpeCAhPT0gJycpIHtcbiAgICAgIHBhcnRzLnB1c2gocHJlZml4KTtcbiAgICB9XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVJvdXRlUGF0aChyb3V0ZS5wYXRoKTtcbiAgICBpZiAobm9ybWFsaXplZCAhPT0gJycpIHtcbiAgICAgIHBhcnRzLnB1c2gobm9ybWFsaXplZCk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGF0aCA9IHBhcnRzLmpvaW4oJy8nKTtcblxuICAgIGNvbnN0IHJvdXRlRGVmaW5pdGlvbiA9IHJvdXRlIGFzIFJvdXRlTm9kZTtcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSByb3V0ZURlZmluaXRpb247XG5cbiAgICBsZXQgcGF0aCA9IG5ld1BhdGg7XG4gICAgaWYgKCFuZXdQYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgcGF0aCA9IGAvJHtuZXdQYXRofWA7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFJvdXRlcyA9IFsuLi5wYXJlbnRSb3V0ZXMsIHJvdXRlRGVmaW5pdGlvbl07XG4gICAgbGV0IG5leHRSb3V0ZVNlZ21lbnRzID0gcGFyZW50Um91dGVTZWdtZW50cztcbiAgICBpZiAoIWlzUmVkaXJlY3Qocm91dGUpKSB7XG4gICAgICBuZXh0Um91dGVTZWdtZW50cyA9IFtcbiAgICAgICAgLi4ucGFyZW50Um91dGVTZWdtZW50cyxcbiAgICAgICAgYnVpbGRGbGF0Um91dGVTZWdtZW50KHtcbiAgICAgICAgICByb3V0ZTogcm91dGVEZWZpbml0aW9uLFxuICAgICAgICAgIGZ1bGxQYXRoOiBwYXRoLFxuICAgICAgICAgIGluZGV4OiBwYXJlbnRSb3V0ZVNlZ21lbnRzLmxlbmd0aCxcbiAgICAgICAgICBwYXJlbnRQYXJhbU5hbWVzOiBwYXJlbnRSb3V0ZVNlZ21lbnRzLmF0KC0xKT8ucGFyYW1OYW1lcyA/PyBbXSxcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmICghaXNSZWRpcmVjdChyb3V0ZSkgJiYgY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAgY29uc3Qgcm91dGVzID0gYnVpbGRSb3V0ZShcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG5leHRSb3V0ZXMsXG4gICAgICAgIG5leHRSb3V0ZVNlZ21lbnRzLFxuICAgICAgICBuZXdQYXRoLFxuICAgICAgKTtcbiAgICAgIGZsYXRSb3V0ZXMucHVzaCguLi5yb3V0ZXMpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaEZ1bmN0aW9uID0gbWF0Y2goYC8ke25ld1BhdGh9YCwge1xuICAgICAgdHJhaWxpbmc6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgaWYgKGlzUmVkaXJlY3Qocm91dGUpKSB7XG4gICAgICBsZXQgcmVkaXJlY3RUbyA9IHJvdXRlLnRvO1xuXG4gICAgICBpZiAoIXJlZGlyZWN0VG8uc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgIHJlZGlyZWN0VG8gPSBgJHtwYXRofS8ke3JlZGlyZWN0VG99YDtcbiAgICAgIH1cbiAgICAgIGZsYXRSb3V0ZXMucHVzaChcbiAgICAgICAgbmV3IEZsYXRSb3V0ZSh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWRpcmVjdFRvLFxuICAgICAgICAgIG1hdGNoRnVuY3Rpb24sXG4gICAgICAgICAgcm91dGVTZWdtZW50czogcGFyZW50Um91dGVTZWdtZW50cyxcbiAgICAgICAgICByb3V0ZXM6IFsuLi5wYXJlbnRSb3V0ZXNdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsYXRSb3V0ZXMucHVzaChcbiAgICAgICAgbmV3IEZsYXRSb3V0ZSh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICBtYXRjaEZ1bmN0aW9uLFxuICAgICAgICAgIHJvdXRlU2VnbWVudHM6IG5leHRSb3V0ZVNlZ21lbnRzLFxuICAgICAgICAgIHJvdXRlczogbmV4dFJvdXRlcyxcbiAgICAgICAgfSksXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmbGF0Um91dGVzO1xufVxuXG4vKipcbiAqIFRvcC1sZXZlbCBjb252ZW5pZW5jZSB0byBmbGF0dGVuIGEgcm91dGUgY29uZmlndXJhdGlvbiBpbnRvIGBGbGF0Um91dGVgcy5cbiAqXG4gKiBAcGFyYW0gcm91dGVDb25maWcgLSBSb3V0ZSBkZWZpbml0aW9ucyB0byBmbGF0dGVuLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRSb3V0ZXMoXG4gIHJvdXRlQ29uZmlnOiByZWFkb25seSBSb3V0ZU5vZGVbXSxcbik6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10ge1xuICByZXR1cm4gYnVpbGRSb3V0ZShyb3V0ZUNvbmZpZyk7XG59XG4iXX0=
158
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9idWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxLQUFLLEVBQ0wsS0FBSyxHQUlOLE1BQU0sZ0JBQWdCLENBQUM7QUFleEIsTUFBTSxPQUFPLFNBQVM7SUFFYixJQUFJLENBQVM7SUFHYixNQUFNLENBQWM7SUFHcEIsYUFBYSxDQUFzQjtJQUduQyxhQUFhLENBQXlCO0lBR3RDLFVBQVUsQ0FBVTtJQUdwQixjQUFjLENBQXNCO0lBTzNDLFlBQW1CLEtBQThCO1FBQy9DLE1BQU0sRUFDSixhQUFhLEVBQ2IsSUFBSSxFQUNKLGNBQWMsRUFDZCxVQUFVLEVBQ1YsYUFBYSxFQUNiLE1BQU0sR0FDUCxHQUFHLEtBQUssQ0FBQztRQUNWLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO1FBQ25DLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLEdBQUcsYUFBYSxDQUFDO0lBQ3JDLENBQUM7Q0FDRjtBQUdELE1BQU0sVUFBVSxVQUFVLENBQUMsS0FBMkI7SUFFcEQsT0FBUSxLQUFrQixDQUFDLEVBQUUsSUFBSSxJQUFJLENBQUM7QUFDeEMsQ0FBQztBQUVELE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxJQUF3QixFQUFVLEVBQUU7SUFDOUQsSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxFQUFFLElBQUksSUFBSSxLQUFLLEdBQUcsRUFBRSxDQUFDO1FBQ2hELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUNELElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFD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QUNaLElBQUk7Z0JBQ0osVUFBVTtnQkFDVixjQUFjLEVBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxHQUFHO2dCQUNuQyxhQUFhO2dCQUNiLGFBQWEsRUFBRSxtQkFBbUI7Z0JBQ2xDLE1BQU0sRUFBRSxDQUFDLEdBQUcsWUFBWSxDQUFDO2FBQzFCLENBQUMsQ0FDSCxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFdBQVcsR0FBWSxLQUFLLENBQUMsTUFBTSxDQUFDO1lBQzFDLElBQUksV0FBVyxJQUFJLElBQUksSUFBSSxXQUFXLEtBQUssR0FBRyxJQUFJLFdBQVcsS0FBSyxHQUFHLEVBQUUsQ0FBQztnQkFDdEUsTUFBTSxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDO1lBQ3JELENBQUM7WUFDRCxVQUFVLENBQUMsSUFBSSxDQUNiLElBQUksU0FBUyxDQUFDO2dCQUNaLElBQUk7Z0JBQ0osYUFBYTtnQkFDYixhQUFhLEVBQUUsaUJBQWlCO2dCQUNoQyxNQUFNLEVBQUUsVUFBVTthQUNuQixDQUFDLENBQ0gsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxVQUFVLENBQUM7QUFDcEIsQ0FBQztBQU9ELE1BQU0sVUFBVSxXQUFXLENBQ3pCLFdBQWlDO0lBRWpDLE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0FBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBtYXRjaCxcbiAgcGFyc2UsXG4gIHR5cGUgTWF0Y2hGdW5jdGlvbixcbiAgdHlwZSBQYXJhbURhdGEsXG4gIHR5cGUgVG9rZW4sXG59IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcblxuaW1wb3J0IHR5cGUge1xuICBGbGF0Um91dGVJbnB1dCxcbiAgRmxhdFJvdXRlU2VnbWVudCxcbiAgUmVkaXJlY3QsXG4gIFJvdXRlTm9kZSxcbn0gZnJvbSAnLi90eXBlcy5qcyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGZsYXR0ZW5lZCByb3V0ZSB3aXRoIGEgY29tcGlsZWQgbWF0Y2ggZnVuY3Rpb24uXG4gKiBUaGlzIGlzIGFuIGludGVybmFsIHJlcHJlc2VudGF0aW9uIHVzZWQgYnkgdGhlIHJvdXRlciB0byBlZmZpY2llbnRseSBtYXRjaCBVUkxzLlxuICpcbiAqIEB0ZW1wbGF0ZSBUUGFyYW1zIC0gUm91dGUgcGFyYW1ldGVyIHR5cGVzIGV4dHJhY3RlZCBmcm9tIHRoZSBVUkwgcGF0aFxuICovXG5leHBvcnQgY2xhc3MgRmxhdFJvdXRlPFRQYXJhbXMgZXh0ZW5kcyBQYXJhbURhdGE+IHtcbiAgLyoqIFRoZSBVUkwgcGF0aCBwYXR0ZXJuIGZvciB0aGlzIHJvdXRlICovXG4gIHB1YmxpYyBwYXRoOiBzdHJpbmc7XG5cbiAgLyoqIE5lc3RlZCByb3V0ZXMgdGhhdCBzaG91bGQgYmUgcmVuZGVyZWQgd2l0aGluIHRoaXMgcm91dGUgKi9cbiAgcHVibGljIHJvdXRlczogUm91dGVOb2RlW107XG5cbiAgLyoqIFBlci1yZW5kZXJlZC1yb3V0ZSBtZXRhZGF0YSBhbGlnbmVkIHdpdGggYHJvdXRlc2AuICovXG4gIHB1YmxpYyByb3V0ZVNlZ21lbnRzPzogRmxhdFJvdXRlU2VnbWVudFtdO1xuXG4gIC8qKiBDb21waWxlZCBmdW5jdGlvbiB0byBtYXRjaCBVUkwgcGF0aHMgYWdhaW5zdCB0aGlzIHJvdXRlIHBhdHRlcm4gKi9cbiAgcHVibGljIG1hdGNoRnVuY3Rpb246IE1hdGNoRnVuY3Rpb248VFBhcmFtcz47XG5cbiAgLyoqIE9wdGlvbmFsIHJlZGlyZWN0IGRlc3RpbmF0aW9uIGlmIHRoaXMgcm91dGUgc2hvdWxkIHJlZGlyZWN0ICovXG4gIHB1YmxpYyByZWRpcmVjdFRvPzogc3RyaW5nO1xuXG4gIC8qKiBIVFRQIHN0YXR1cyBhc3NvY2lhdGVkIHdpdGggYSByZWRpcmVjdCByb3V0ZS4gKi9cbiAgcHVibGljIHJlZGlyZWN0U3RhdHVzPzogUmVkaXJlY3RbJ3N0YXR1cyddO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IEZsYXRSb3V0ZSBpbnN0YW5jZS5cbiAgICpcbiAgICogQHBhcmFtIGlucHV0IC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIGZsYXQgcm91dGVcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihpbnB1dDogRmxhdFJvdXRlSW5wdXQ8VFBhcmFtcz4pIHtcbiAgICBjb25zdCB7XG4gICAgICBtYXRjaEZ1bmN0aW9uLFxuICAgICAgcGF0aCxcbiAgICAgIHJlZGlyZWN0U3RhdHVzLFxuICAgICAgcmVkaXJlY3RUbyxcbiAgICAgIHJvdXRlU2VnbWVudHMsXG4gICAgICByb3V0ZXMsXG4gICAgfSA9IGlucHV0O1xuICAgIHRoaXMucGF0aCA9IHBhdGg7XG4gICAgdGhpcy5yZWRpcmVjdFRvID0gcmVkaXJlY3RUbztcbiAgICB0aGlzLnJlZGlyZWN0U3RhdHVzID0gcmVkaXJlY3RTdGF0dXM7XG4gICAgdGhpcy5yb3V0ZVNlZ21lbnRzID0gcm91dGVTZWdtZW50cztcbiAgICB0aGlzLnJvdXRlcyA9IHJvdXRlcztcbiAgICB0aGlzLm1hdGNoRnVuY3Rpb24gPSBtYXRjaEZ1bmN0aW9uO1xuICB9XG59XG5cbi8qKiBOYXJyb3cgYSByb3V0ZSBjb25maWd1cmF0aW9uIHRvIGEgcmVkaXJlY3QuICovXG5leHBvcnQgZnVuY3Rpb24gaXNSZWRpcmVjdChyb3V0ZTogUm91dGVOb2RlIHwgUmVkaXJlY3QpOiByb3V0ZSBpcyBSZWRpcmVjdCB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktY29uZGl0aW9uXG4gIHJldHVybiAocm91dGUgYXMgUmVkaXJlY3QpLnRvICE9IG51bGw7XG59XG5cbmNvbnN0IG5vcm1hbGl6ZVJvdXRlUGF0aCA9IChwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAocGF0aCA9PSBudWxsIHx8IHBhdGggPT09ICcnIHx8IHBhdGggPT09ICcvJykge1xuICAgIHJldHVybiAnJztcbiAgfVxuICBpZiAocGF0aC5zdGFydHNXaXRoKCcvJykpIHtcbiAgICBjb25zdCBhYnNvbHV0ZSA9IHBhdGguc2xpY2UoMSk7XG4gICAgaWYgKGFic29sdXRlID09PSAnKicpIHtcbiAgICAgIHJldHVybiAnKnBhdGgnO1xuICAgIH1cbiAgICByZXR1cm4gYWJzb2x1dGU7XG4gIH1cbiAgaWYgKHBhdGggPT09ICcqJykge1xuICAgIHJldHVybiAnKnBhdGgnO1xuICB9XG4gIHJldHVybiBwYXRoO1xufTtcblxuY29uc3QgY29sbGVjdFRva2VuUGFyYW1OYW1lcyA9ICh0b2tlbjogVG9rZW4sIHBhcmFtczogU2V0PHN0cmluZz4pOiB2b2lkID0+IHtcbiAgaWYgKHRva2VuLnR5cGUgPT09ICdwYXJhbScgfHwgdG9rZW4udHlwZSA9PT0gJ3dpbGRjYXJkJykge1xuICAgIHBhcmFtcy5hZGQodG9rZW4ubmFtZSk7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICh0b2tlbi50eXBlID09PSAnZ3JvdXAnKSB7XG4gICAgdG9rZW4udG9rZW5zLmZvckVhY2goKGNoaWxkVG9rZW4pID0+IHtcbiAgICAgIGNvbGxlY3RUb2tlblBhcmFtTmFtZXMoY2hpbGRUb2tlbiwgcGFyYW1zKTtcbiAgICB9KTtcbiAgfVxufTtcblxuY29uc3QgcmVhZFJvdXRlUGFyYW1OYW1lcyA9IChwYXRoOiBzdHJpbmcgfCB1bmRlZmluZWQpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRQYXRoID0gbm9ybWFsaXplUm91dGVQYXRoKHBhdGgpO1xuICBpZiAobm9ybWFsaXplZFBhdGggPT09ICcnKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICBwYXJzZShub3JtYWxpemVkUGF0aCkudG9rZW5zLmZvckVhY2goKHRva2VuKSA9PiB7XG4gICAgY29sbGVjdFRva2VuUGFyYW1OYW1lcyh0b2tlbiwgcGFyYW1zKTtcbiAgfSk7XG4gIHJldHVybiBBcnJheS5mcm9tKHBhcmFtcyk7XG59O1xuXG5jb25zdCBidWlsZFNlZ21lbnRLZXkgPSAoaW5wdXQ6IHtcbiAgZnVsbFBhdGg6IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbiAgaW5kZXg6IG51bWJlcjtcbn0pOiBzdHJpbmcgPT4ge1xuICBjb25zdCBwYXRoID0gaW5wdXQucGF0aCA/PyAnJztcbiAgcmV0dXJuIGAke2lucHV0LmluZGV4fToke2lucHV0LmZ1bGxQYXRofToke3BhdGh9YDtcbn07XG5cbmNvbnN0IGJ1aWxkRmxhdFJvdXRlU2VnbWVudCA9IChpbnB1dDoge1xuICByb3V0ZTogUm91dGVOb2RlO1xuICBmdWxsUGF0aDogc3RyaW5nO1xuICBpbmRleDogbnVtYmVyO1xuICBwYXJlbnRQYXJhbU5hbWVzOiByZWFkb25seSBzdHJpbmdbXTtcbn0pOiBGbGF0Um91dGVTZWdtZW50ID0+IHtcbiAgY29uc3QgbG9jYWxQYXJhbU5hbWVzID0gcmVhZFJvdXRlUGFyYW1OYW1lcyhpbnB1dC5yb3V0ZS5wYXRoKTtcbiAgY29uc3QgcGFyYW1OYW1lcyA9IEFycmF5LmZyb20oXG4gICAgbmV3IFNldChbLi4uaW5wdXQucGFyZW50UGFyYW1OYW1lcywgLi4ubG9jYWxQYXJhbU5hbWVzXSksXG4gICk7XG4gIHJldHVybiB7XG4gICAga2V5OiBidWlsZFNlZ21lbnRLZXkoe1xuICAgICAgZnVsbFBhdGg6IGlucHV0LmZ1bGxQYXRoLFxuICAgICAgcGF0aDogaW5wdXQucm91dGUucGF0aCxcbiAgICAgIGluZGV4OiBpbnB1dC5pbmRleCxcbiAgICB9KSxcbiAgICBwYXRoOiBpbnB1dC5yb3V0ZS5wYXRoLFxuICAgIGZ1bGxQYXRoOiBpbnB1dC5mdWxsUGF0aCxcbiAgICBwYXJhbU5hbWVzLFxuICB9O1xufTtcblxuLyoqXG4gKiBSZWN1cnNpdmVseSBmbGF0dGVucyBuZXN0ZWQgcm91dGUgZGVmaW5pdGlvbnMgaW50byBgRmxhdFJvdXRlYCBlbnRyaWVzLlxuICpcbiAqIEBwYXJhbSByb3V0ZUNvbmZpZyAtIFJvdXRlIG9yIHJlZGlyZWN0IGRlZmluaXRpb25zIHRvIHByb2Nlc3MuXG4gKiBAcGFyYW0gcGFyZW50Um91dGVzIC0gQWNjdW11bGF0ZWQgcGFyZW50IHJvdXRlcyBmb3IgbmVzdGluZyBjb250ZXh0LlxuICogQHBhcmFtIHByZWZpeCAtIEN1cnJlbnQgcGF0aCBwcmVmaXggcHJvcGFnYXRlZCBmcm9tIHBhcmVudHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJvdXRlKFxuICByb3V0ZUNvbmZpZzogcmVhZG9ubHkgKFJvdXRlTm9kZSB8IFJlZGlyZWN0KVtdLFxuICBwYXJlbnRSb3V0ZXM6IFJvdXRlTm9kZVtdID0gW10sXG4gIHBhcmVudFJvdXRlU2VnbWVudHM6IEZsYXRSb3V0ZVNlZ21lbnRbXSA9IFtdLFxuICBwcmVmaXggPSAnJyxcbik6IEZsYXRSb3V0ZTxQYXJhbURhdGE+W10ge1xuICBjb25zdCBmbGF0Um91dGVzOiBGbGF0Um91dGU8UGFyYW1EYXRhPltdID0gW107XG5cbiAgZm9yIChjb25zdCByb3V0ZSBvZiByb3V0ZUNvbmZpZykge1xuICAgIGNvbnN0IHBhcnRzID0gW107XG4gICAgaWYgKHByZWZpeCAhPT0gJycpIHtcbiAgICAgIHBhcnRzLnB1c2gocHJlZml4KTtcbiAgICB9XG4gICAgY29uc3Qgbm9ybWFsaXplZCA9IG5vcm1hbGl6ZVJvdXRlUGF0aChyb3V0ZS5wYXRoKTtcbiAgICBpZiAobm9ybWFsaXplZCAhPT0gJycpIHtcbiAgICAgIHBhcnRzLnB1c2gobm9ybWFsaXplZCk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGF0aCA9IHBhcnRzLnJlZHVjZSgoam9pbmVkLCBwYXJ0KSA9PiB7XG4gICAgICBpZiAoam9pbmVkID09PSAnJykge1xuICAgICAgICByZXR1cm4gcGFydDtcbiAgICAgIH1cbiAgICAgIGxldCBzZXBhcmF0b3IgPSAnLyc7XG4gICAgICBpZiAoam9pbmVkLmVuZHNXaXRoKCcvJykpIHtcbiAgICAgICAgc2VwYXJhdG9yID0gJyc7XG4gICAgICB9XG4gICAgICByZXR1cm4gYCR7am9pbmVkfSR7c2VwYXJhdG9yfSR7cGFydH1gO1xuICAgIH0sICcnKTtcblxuICAgIGNvbnN0IHJvdXRlRGVmaW5pdGlvbiA9IHJvdXRlIGFzIFJvdXRlTm9kZTtcbiAgICBjb25zdCB7IGNoaWxkcmVuIH0gPSByb3V0ZURlZmluaXRpb247XG5cbiAgICBsZXQgcGF0aCA9IG5ld1BhdGg7XG4gICAgaWYgKCFuZXdQYXRoLnN0YXJ0c1dpdGgoJy8nKSkge1xuICAgICAgcGF0aCA9IGAvJHtuZXdQYXRofWA7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dFJvdXRlcyA9IFsuLi5wYXJlbnRSb3V0ZXMsIHJvdXRlRGVmaW5pdGlvbl07XG4gICAgbGV0IG5leHRSb3V0ZVNlZ21lbnRzID0gcGFyZW50Um91dGVTZWdtZW50cztcbiAgICBpZiAoIWlzUmVkaXJlY3Qocm91dGUpKSB7XG4gICAgICBuZXh0Um91dGVTZWdtZW50cyA9IFtcbiAgICAgICAgLi4ucGFyZW50Um91dGVTZWdtZW50cyxcbiAgICAgICAgYnVpbGRGbGF0Um91dGVTZWdtZW50KHtcbiAgICAgICAgICByb3V0ZTogcm91dGVEZWZpbml0aW9uLFxuICAgICAgICAgIGZ1bGxQYXRoOiBwYXRoLFxuICAgICAgICAgIGluZGV4OiBwYXJlbnRSb3V0ZVNlZ21lbnRzLmxlbmd0aCxcbiAgICAgICAgICBwYXJlbnRQYXJhbU5hbWVzOiBwYXJlbnRSb3V0ZVNlZ21lbnRzLmF0KC0xKT8ucGFyYW1OYW1lcyA/PyBbXSxcbiAgICAgICAgfSksXG4gICAgICBdO1xuICAgIH1cblxuICAgIGlmICghaXNSZWRpcmVjdChyb3V0ZSkgJiYgY2hpbGRyZW4gIT0gbnVsbCkge1xuICAgICAgY29uc3Qgcm91dGVzID0gYnVpbGRSb3V0ZShcbiAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgIG5leHRSb3V0ZXMsXG4gICAgICAgIG5leHRSb3V0ZVNlZ21lbnRzLFxuICAgICAgICBuZXdQYXRoLFxuICAgICAgKTtcbiAgICAgIGZsYXRSb3V0ZXMucHVzaCguLi5yb3V0ZXMpO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnRpbnVlXG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaEZ1bmN0aW9uID0gbWF0Y2goYC8ke25ld1BhdGh9YCwge1xuICAgICAgdHJhaWxpbmc6IGZhbHNlLFxuICAgIH0pO1xuXG4gICAgaWYgKGlzUmVkaXJlY3Qocm91dGUpKSB7XG4gICAgICBsZXQgcmVkaXJlY3RUbyA9IHJvdXRlLnRvO1xuXG4gICAgICBpZiAoIXJlZGlyZWN0VG8uc3RhcnRzV2l0aCgnLycpKSB7XG4gICAgICAgIHJlZGlyZWN0VG8gPSBgJHtwYXRofS8ke3JlZGlyZWN0VG99YDtcbiAgICAgIH1cbiAgICAgIGZsYXRSb3V0ZXMucHVzaChcbiAgICAgICAgbmV3IEZsYXRSb3V0ZSh7XG4gICAgICAgICAgcGF0aCxcbiAgICAgICAgICByZWRpcmVjdFRvLFxuICAgICAgICAgIHJlZGlyZWN0U3RhdHVzOiByb3V0ZS5zdGF0dXMgPz8gMzAyLFxuICAgICAgICAgIG1hdGNoRnVuY3Rpb24sXG4gICAgICAgICAgcm91dGVTZWdtZW50czogcGFyZW50Um91dGVTZWdtZW50cyxcbiAgICAgICAgICByb3V0ZXM6IFsuLi5wYXJlbnRSb3V0ZXNdLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IHJvdXRlU3RhdHVzOiB1bmtub3duID0gcm91dGUuc3RhdHVzO1xuICAgICAgaWYgKHJvdXRlU3RhdHVzICE9IG51bGwgJiYgcm91dGVTdGF0dXMgIT09IDIwMCAmJiByb3V0ZVN0YXR1cyAhPT0gNDA0KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUm91dGUuc3RhdHVzIG11c3QgYmUgMjAwIG9yIDQwNCcpO1xuICAgICAgfVxuICAgICAgZmxhdFJvdXRlcy5wdXNoKFxuICAgICAgICBuZXcgRmxhdFJvdXRlKHtcbiAgICAgICAgICBwYXRoLFxuICAgICAgICAgIG1hdGNoRnVuY3Rpb24sXG4gICAgICAgICAgcm91dGVTZWdtZW50czogbmV4dFJvdXRlU2VnbWVudHMsXG4gICAgICAgICAgcm91dGVzOiBuZXh0Um91dGVzLFxuICAgICAgICB9KSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZsYXRSb3V0ZXM7XG59XG5cbi8qKlxuICogVG9wLWxldmVsIGNvbnZlbmllbmNlIHRvIGZsYXR0ZW4gYSByb3V0ZSBjb25maWd1cmF0aW9uIGludG8gYEZsYXRSb3V0ZWBzLlxuICpcbiAqIEBwYXJhbSByb3V0ZUNvbmZpZyAtIFJvdXRlIGRlZmluaXRpb25zIHRvIGZsYXR0ZW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFJvdXRlcyhcbiAgcm91dGVDb25maWc6IHJlYWRvbmx5IFJvdXRlTm9kZVtdLFxuKTogRmxhdFJvdXRlPFBhcmFtRGF0YT5bXSB7XG4gIHJldHVybiBidWlsZFJvdXRlKHJvdXRlQ29uZmlnKTtcbn1cbiJdfQ==
@@ -1,6 +1,7 @@
1
+ import type { RouterRedirectStatus } from '../types.js';
1
2
  export default class HttpRedirect extends Error {
2
3
  redirectTo: string;
3
- statusCode: number;
4
- constructor(redirectTo: string, statusCode?: number);
4
+ statusCode: RouterRedirectStatus;
5
+ constructor(redirectTo: string, statusCode?: RouterRedirectStatus);
5
6
  }
6
7
  //# sourceMappingURL=HttpRedirect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"HttpRedirect.d.ts","sourceRoot":"","sources":["../../../src/errors/HttpRedirect.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAEtC,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,MAAM,CAAC;IAQ1B,YAAmB,UAAU,EAAE,MAAM,EAAE,UAAU,SAAM,EAStD;CACF"}
1
+ {"version":3,"file":"HttpRedirect.d.ts","sourceRoot":"","sources":["../../../src/errors/HttpRedirect.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAGxD,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,KAAK;IAEtC,UAAU,EAAE,MAAM,CAAC;IAGnB,UAAU,EAAE,oBAAoB,CAAC;IAQxC,YACE,UAAU,EAAE,MAAM,EAClB,UAAU,GAAE,oBAA0B,EAUvC;CACF"}
@@ -8,4 +8,4 @@ export default class HttpRedirect extends Error {
8
8
  Object.setPrototypeOf(this, HttpRedirect.prototype);
9
9
  }
10
10
  }
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlZGlyZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9IdHRwUmVkaXJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxDQUFDLE9BQU8sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUV0QyxVQUFVLENBQVM7SUFHbkIsVUFBVSxDQUFTO0lBUTFCLFlBQW1CLFVBQWtCLEVBQUUsVUFBVSxHQUFHLEdBQUc7UUFDckQsS0FBSyxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXRCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO1FBSTdCLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN0RCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKiogRXJyb3IgdGhhdCBzaWduYWxzIGFuIEhUVFAgcmVkaXJlY3QgZnJvbSByb3V0ZSBsb2dpYy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEh0dHBSZWRpcmVjdCBleHRlbmRzIEVycm9yIHtcbiAgLyoqIFRoZSBVUkwgdG8gcmVkaXJlY3QgdG8gKi9cbiAgcHVibGljIHJlZGlyZWN0VG86IHN0cmluZztcblxuICAvKiogSFRUUCBzdGF0dXMgY29kZSBmb3IgdGhlIHJlZGlyZWN0ICgzMDEsIDMwMiwgZXRjLikgKi9cbiAgcHVibGljIHN0YXR1c0NvZGU6IG51bWJlcjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBIdHRwUmVkaXJlY3QgZXJyb3IuXG4gICAqXG4gICAqIEBwYXJhbSByZWRpcmVjdFRvIC0gVGhlIFVSTCB0byByZWRpcmVjdCB0b1xuICAgKiBAcGFyYW0gc3RhdHVzQ29kZSAtIEhUVFAgc3RhdHVzIGNvZGUgKGRlZmF1bHRzIHRvIDMwMiBmb3IgdGVtcG9yYXJ5IHJlZGlyZWN0KVxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHJlZGlyZWN0VG86IHN0cmluZywgc3RhdHVzQ29kZSA9IDMwMikge1xuICAgIHN1cGVyKCdIdHRwUmVkaXJlY3QnKTtcblxuICAgIHRoaXMucmVkaXJlY3RUbyA9IHJlZGlyZWN0VG87XG4gICAgdGhpcy5zdGF0dXNDb2RlID0gc3RhdHVzQ29kZTtcblxuICAgIC8vIEZpeCBmb3IgaW5zdGFuY2VvZiBidWcgaW4gVHlwZVNjcmlwdDpcbiAgICAvLyBodHRwczovL3d3dy5kYW5ueWd1by5jb20vYmxvZy9ob3ctdG8tZml4LWluc3RhbmNlb2Ytbm90LXdvcmtpbmctZm9yLWN1c3RvbS1lcnJvcnMtaW4tdHlwZXNjcmlwdC9cbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSHR0cFJlZGlyZWN0LnByb3RvdHlwZSk7XG4gIH1cbn1cbiJdfQ==
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSHR0cFJlZGlyZWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Vycm9ycy9IdHRwUmVkaXJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxDQUFDLE9BQU8sT0FBTyxZQUFhLFNBQVEsS0FBSztJQUV0QyxVQUFVLENBQVM7SUFHbkIsVUFBVSxDQUF1QjtJQVF4QyxZQUNFLFVBQWtCLEVBQ2xCLFVBQVUsR0FBeUIsR0FBRztRQUV0QyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFDN0IsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7UUFJN0IsTUFBTSxDQUFDLGNBQWMsQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUm91dGVyUmVkaXJlY3RTdGF0dXMgfSBmcm9tICcuLi90eXBlcy5qcyc7XG5cbi8qKiBFcnJvciB0aGF0IHNpZ25hbHMgYW4gSFRUUCByZWRpcmVjdCBmcm9tIHJvdXRlIGxvZ2ljLiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSHR0cFJlZGlyZWN0IGV4dGVuZHMgRXJyb3Ige1xuICAvKiogVGhlIFVSTCB0byByZWRpcmVjdCB0byAqL1xuICBwdWJsaWMgcmVkaXJlY3RUbzogc3RyaW5nO1xuXG4gIC8qKiBIVFRQIHN0YXR1cyBjb2RlIGZvciB0aGUgcmVkaXJlY3QgKDMwMSwgMzAyLCBldGMuKSAqL1xuICBwdWJsaWMgc3RhdHVzQ29kZTogUm91dGVyUmVkaXJlY3RTdGF0dXM7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgSHR0cFJlZGlyZWN0IGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gcmVkaXJlY3RUbyAtIFRoZSBVUkwgdG8gcmVkaXJlY3QgdG9cbiAgICogQHBhcmFtIHN0YXR1c0NvZGUgLSBIVFRQIHN0YXR1cyBjb2RlIChkZWZhdWx0cyB0byAzMDIgZm9yIHRlbXBvcmFyeSByZWRpcmVjdClcbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICByZWRpcmVjdFRvOiBzdHJpbmcsXG4gICAgc3RhdHVzQ29kZTogUm91dGVyUmVkaXJlY3RTdGF0dXMgPSAzMDIsXG4gICkge1xuICAgIHN1cGVyKCdIdHRwUmVkaXJlY3QnKTtcblxuICAgIHRoaXMucmVkaXJlY3RUbyA9IHJlZGlyZWN0VG87XG4gICAgdGhpcy5zdGF0dXNDb2RlID0gc3RhdHVzQ29kZTtcblxuICAgIC8vIEZpeCBmb3IgaW5zdGFuY2VvZiBidWcgaW4gVHlwZVNjcmlwdDpcbiAgICAvLyBodHRwczovL3d3dy5kYW5ueWd1by5jb20vYmxvZy9ob3ctdG8tZml4LWluc3RhbmNlb2Ytbm90LXdvcmtpbmctZm9yLWN1c3RvbS1lcnJvcnMtaW4tdHlwZXNjcmlwdC9cbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgSHR0cFJlZGlyZWN0LnByb3RvdHlwZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,12 +1,15 @@
1
- import type { History, HistoryListener, HistoryLocation, HistoryLocationSnapshot } from './types.js';
1
+ import type { History, HistoryListener, HistoryLocation, HistoryLocationSnapshot, RouterNavigation } from './types.js';
2
2
  export declare function createPath(location: HistoryLocation): string;
3
3
  export default class BrowserHistory implements History {
4
4
  private __listeners;
5
5
  private __pendingDebugContext;
6
6
  private __historyIndex;
7
7
  private __currentIndex;
8
+ private __navigationType;
9
+ private __navigationKey;
8
10
  constructor();
9
11
  get location(): HistoryLocationSnapshot;
12
+ get navigation(): RouterNavigation;
10
13
  init(): void;
11
14
  set(location: HistoryLocation): void;
12
15
  push(location: HistoryLocation): void;
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserHistory.d.ts","sourceRoot":"","sources":["../../../src/history/BrowserHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,eAAe,EACf,eAAe,EACf,uBAAuB,EACxB,MAAM,YAAY,CAAC;AAQpB,wBAAgB,UAAU,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAI5D;AAOD,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,OAAO;IAEpD,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,qBAAqB,CAAoC;IAEjE,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,cAAc,CAAK;IAK3B,cAGC;IAQD,IAAW,QAAQ,IAAI,uBAAuB,CAU7C;IAKM,IAAI,IAAI,IAAI,CAElB;IAQM,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAuB1C;IAQM,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CA0B3C;IAOM,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAIlD;IAQM,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAKtD;IAKM,OAAO,IAAI,IAAI,CAIrB;IAOD,OAAO,CAAC,QAAQ,CAQd;IAEF,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB,CA2BtB;IAEF,OAAO,CAAC,kBAAkB;CA2B3B"}
1
+ {"version":3,"file":"BrowserHistory.d.ts","sourceRoot":"","sources":["../../../src/history/BrowserHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EAEP,eAAe,EACf,eAAe,EACf,uBAAuB,EACvB,gBAAgB,EAEjB,MAAM,YAAY,CAAC;AA8BpB,wBAAgB,UAAU,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,CAI5D;AAOD,MAAM,CAAC,OAAO,OAAO,cAAe,YAAW,OAAO;IAEpD,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,qBAAqB,CAAoC;IAEjE,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO,CAAC,gBAAgB,CAAmC;IAE3D,OAAO,CAAC,eAAe,CAAM;IAK7B,cAGC;IAQD,IAAW,QAAQ,IAAI,uBAAuB,CAU7C;IAED,IAAW,UAAU,IAAI,gBAAgB,CAKxC;IAKM,IAAI,IAAI,IAAI,CAElB;IAQM,GAAG,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAiC1C;IAQM,IAAI,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CA8B3C;IAOM,WAAW,CAAC,QAAQ,EAAE,eAAe,GAAG,IAAI,CAIlD;IAQM,SAAS,CAAC,QAAQ,EAAE,eAAe,GAAG,MAAM,IAAI,CAKtD;IAKM,OAAO,IAAI,IAAI,CAIrB;IAOD,OAAO,CAAC,QAAQ,CAQd;IAEF,OAAO,CAAC,4BAA4B;IAYpC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,gBAAgB,CAoCtB;IAEF,OAAO,CAAC,kBAAkB;CAqC3B"}
@@ -1,3 +1,18 @@
1
+ let nextRouterKey = 0;
2
+ function createRouterKey() {
3
+ nextRouterKey += 1;
4
+ return `router-${Date.now().toString(36)}-${nextRouterKey.toString(36)}`;
5
+ }
6
+ function readHistoryState(history) {
7
+ return history.state;
8
+ }
9
+ function readPreservedState() {
10
+ const state = readHistoryState(window.history);
11
+ if (typeof state === 'object' && state != null) {
12
+ return state;
13
+ }
14
+ return {};
15
+ }
1
16
  export function createPath(location) {
2
17
  const { pathname, search = '', hash = '' } = location;
3
18
  return `${pathname}${search}${hash}`;
@@ -7,6 +22,8 @@ export default class BrowserHistory {
7
22
  __pendingDebugContext = null;
8
23
  __historyIndex = 0;
9
24
  __currentIndex = 0;
25
+ __navigationType = 'initial';
26
+ __navigationKey = '';
10
27
  constructor() {
11
28
  this.init();
12
29
  this.__ensureStateIndex();
@@ -18,6 +35,12 @@ export default class BrowserHistory {
18
35
  hash: window.location.hash,
19
36
  };
20
37
  }
38
+ get navigation() {
39
+ return {
40
+ key: this.__navigationKey,
41
+ type: this.__navigationType,
42
+ };
43
+ }
21
44
  init() {
22
45
  this.__subscribe();
23
46
  }
@@ -33,8 +56,18 @@ export default class BrowserHistory {
33
56
  else {
34
57
  this.__pendingDebugContext = { historyIndex: this.__currentIndex };
35
58
  }
59
+ const previousState = readPreservedState();
60
+ const existingKey = previousState.__plumileRouterKey;
61
+ let key = createRouterKey();
62
+ if (typeof existingKey === 'string' && existingKey !== '') {
63
+ key = existingKey;
64
+ }
65
+ this.__navigationKey = key;
66
+ this.__navigationType = 'replace';
36
67
  window.history.replaceState({
68
+ ...previousState,
37
69
  __plumileRouterIndex: this.__currentIndex,
70
+ __plumileRouterKey: key,
38
71
  }, '', path);
39
72
  this.__notify(true);
40
73
  }
@@ -52,8 +85,12 @@ export default class BrowserHistory {
52
85
  else {
53
86
  this.__pendingDebugContext = { historyIndex: this.__currentIndex };
54
87
  }
88
+ this.__navigationType = 'push';
89
+ this.__navigationKey = createRouterKey();
55
90
  window.history.pushState({
91
+ ...readPreservedState(),
56
92
  __plumileRouterIndex: this.__currentIndex,
93
+ __plumileRouterKey: this.__navigationKey,
57
94
  }, '', path);
58
95
  this.__notify(false);
59
96
  }
@@ -94,9 +131,15 @@ export default class BrowserHistory {
94
131
  window.addEventListener('popstate', this.__handlePopstate);
95
132
  }
96
133
  __handlePopstate = (event) => {
134
+ this.__navigationType = 'pop';
97
135
  let origin;
98
136
  let historyIndex;
99
137
  const state = event.state;
138
+ const eventKey = state?.__plumileRouterKey;
139
+ this.__navigationKey = createRouterKey();
140
+ if (typeof eventKey === 'string' && eventKey !== '') {
141
+ this.__navigationKey = eventKey;
142
+ }
100
143
  if (state != null && typeof state.__plumileRouterIndex === 'number') {
101
144
  historyIndex = state.__plumileRouterIndex;
102
145
  if (historyIndex < this.__currentIndex) {
@@ -125,9 +168,13 @@ export default class BrowserHistory {
125
168
  };
126
169
  __ensureStateIndex() {
127
170
  const state = window.history.state;
128
- if (state != null && typeof state.__plumileRouterIndex === 'number') {
171
+ if (state != null &&
172
+ typeof state.__plumileRouterIndex === 'number' &&
173
+ typeof state.__plumileRouterKey === 'string' &&
174
+ state.__plumileRouterKey !== '') {
129
175
  this.__currentIndex = state.__plumileRouterIndex;
130
176
  this.__historyIndex = state.__plumileRouterIndex;
177
+ this.__navigationKey = state.__plumileRouterKey;
131
178
  return;
132
179
  }
133
180
  const { pathname, search, hash } = window.location;
@@ -136,9 +183,12 @@ export default class BrowserHistory {
136
183
  window.location.href !== '') {
137
184
  targetUrl = window.location.href;
138
185
  }
186
+ this.__navigationKey = createRouterKey();
139
187
  window.history.replaceState({
188
+ ...readPreservedState(),
140
189
  __plumileRouterIndex: this.__currentIndex,
190
+ __plumileRouterKey: this.__navigationKey,
141
191
  }, '', targetUrl);
142
192
  }
143
193
  }
144
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJvd3Nlckhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGlzdG9yeS9Ccm93c2VySGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjQSxNQUFNLFVBQVUsVUFBVSxDQUFDLFFBQXlCO0lBQ2xELE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBRXRELE9BQU8sR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFPRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFFekIsV0FBVyxHQUFzQixFQUFFLENBQUM7SUFFcEMscUJBQXFCLEdBQStCLElBQUksQ0FBQztJQUV6RCxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRW5CLGNBQWMsR0FBRyxDQUFDLENBQUM7SUFLM0I7UUFDRSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDWixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBUUQsSUFBVyxRQUFRO1FBSWpCLE9BQU87WUFFTCxRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxRQUFRO1lBQ2xDLE1BQU0sRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU07WUFDOUIsSUFBSSxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSTtTQUMzQixDQUFDO0lBQ0osQ0FBQztJQUtNLElBQUk7UUFDVCxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQVFNLEdBQUcsQ0FBQyxRQUF5QjtRQUNsQyxNQUFNLEVBQUUsWUFBWSxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsUUFFakMsQ0FBQztRQUNGLE1BQU0sSUFBSSxHQUFHLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUU5QixJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMscUJBQXFCLEdBQUc7Z0JBQzNCLEdBQUcsWUFBWTtnQkFDZixZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWM7YUFDbEMsQ0FBQztRQUNKLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLHFCQUFxQixHQUFHLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUNyRSxDQUFDO1FBRUQsTUFBTSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQ3pCO1lBQ0Usb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGNBQWM7U0FDMUMsRUFDRCxFQUFFLEVBQ0YsSUFBSSxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3RCLENBQUM7SUFRTSxJQUFJLENBQUMsUUFBeUI7UUFDbkMsTUFBTSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLFFBRWpDLENBQUM7UUFDRixNQUFNLElBQUksR0FBRyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLGNBQWMsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDO1FBRTFDLElBQUksWUFBWSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxxQkFBcUIsR0FBRztnQkFDM0IsR0FBRyxZQUFZO2dCQUNmLFlBQVksRUFBRSxJQUFJLENBQUMsY0FBYzthQUNsQyxDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3JFLENBQUM7UUFFRCxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FDdEI7WUFDRSxvQkFBb0IsRUFBRSxJQUFJLENBQUMsY0FBYztTQUMxQyxFQUNELEVBQUUsRUFDRixJQUFJLENBQ0wsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQU9NLFdBQVcsQ0FBQyxRQUF5QjtRQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDbEQsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDO1FBQzNCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQVFNLFNBQVMsQ0FBQyxRQUF5QjtRQUN4QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNoQyxPQUFPLEdBQUcsRUFBRTtZQUNWLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUtNLE9BQU87UUFDWixNQUFNLENBQUMsbUJBQW1CLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQzlELElBQUksQ0FBQyxXQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDcEMsQ0FBQztJQU9PLFFBQVEsR0FBRyxDQUFDLGFBQXNCLEVBQVEsRUFBRTtRQUNsRCxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsTUFBTSxFQUFFLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztZQUMxQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUNwRCxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFO2dCQUNwQyxRQUFRLENBQUMsUUFBUSxFQUFFLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNSLENBQUMsQ0FBQztJQUVNLDRCQUE0QjtRQUNsQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN2QyxPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDO1FBQzNDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7UUFDbEMsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUtPLFdBQVc7UUFDakIsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBRU8sZ0JBQWdCLEdBQUcsQ0FBQyxLQUFvQixFQUFRLEVBQUU7UUFDeEQsSUFBSSxNQUEwQixDQUFDO1FBQy9CLElBQUksWUFBZ0MsQ0FBQztRQUNyQyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBaUQsQ0FBQztRQUN0RSxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxLQUFLLENBQUMsb0JBQW9CLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEUsWUFBWSxHQUFHLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQztZQUMxQyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sR0FBRyxlQUFlLENBQUM7WUFDM0IsQ0FBQztpQkFBTSxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQzlDLE1BQU0sR0FBRyxrQkFBa0IsQ0FBQztZQUM5QixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxHQUFHLGtCQUFrQixDQUFDO1lBQzlCLENBQUM7WUFDRCxJQUFJLENBQUMsY0FBYyxHQUFHLFlBQVksQ0FBQztZQUNuQyxJQUFJLFlBQVksR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3ZDLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDO1lBQ3JDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLE1BQU0sR0FBRyxVQUFVLENBQUM7UUFDdEIsQ0FBQztRQUVELElBQUksQ0FBQyxxQkFBcUIsR0FBRztZQUMzQixNQUFNO1lBQ04sT0FBTyxFQUFFLFVBQVU7WUFDbkIsWUFBWTtTQUNiLENBQUM7UUFDRixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUMsQ0FBQztJQUVNLGtCQUFrQjtRQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBRXJCLENBQUM7UUFDVCxJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksT0FBTyxLQUFLLENBQUMsb0JBQW9CLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDcEUsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUM7WUFDakQsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUMsb0JBQW9CLENBQUM7WUFDakQsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDO1FBQ25ELElBQUksU0FBUyxHQUFHLEdBQUcsUUFBUSxHQUFHLE1BQU0sR0FBRyxJQUFJLEVBQUUsQ0FBQztRQUM5QyxJQUNFLE9BQU8sTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssUUFBUTtZQUN4QyxNQUFNLENBQUMsUUFBUSxDQUFDLElBQUksS0FBSyxFQUFFLEVBQzNCLENBQUM7WUFDRCxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUM7UUFDbkMsQ0FBQztRQUVELE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUN6QjtZQUNFLG9CQUFvQixFQUFFLElBQUksQ0FBQyxjQUFjO1NBQzFDLEVBQ0QsRUFBRSxFQUNGLFNBQVMsQ0FDVixDQUFDO0lBQ0osQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBIaXN0b3J5LFxuICBIaXN0b3J5RGVidWdDb250ZXh0LFxuICBIaXN0b3J5TGlzdGVuZXIsXG4gIEhpc3RvcnlMb2NhdGlvbixcbiAgSGlzdG9yeUxvY2F0aW9uU25hcHNob3QsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBjb21wbGV0ZSBVUkwgcGF0aCBmcm9tIGEgSGlzdG9yeUxvY2F0aW9uIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gbG9jYXRpb24gLSBMb2NhdGlvbiBvYmplY3QgY29udGFpbmluZyBwYXRobmFtZSwgc2VhcmNoLCBhbmQgaGFzaFxuICogQHJldHVybnMgQ29tcGxldGUgcGF0aCBzdHJpbmcgY29tYmluaW5nIGFsbCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXRoKGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb24pOiBzdHJpbmcge1xuICBjb25zdCB7IHBhdGhuYW1lLCBzZWFyY2ggPSAnJywgaGFzaCA9ICcnIH0gPSBsb2NhdGlvbjtcblxuICByZXR1cm4gYCR7cGF0aG5hbWV9JHtzZWFyY2h9JHtoYXNofWA7XG59XG5cbi8qKlxuICogQnJvd3NlciBoaXN0b3J5IGltcGxlbWVudGF0aW9uIHVzaW5nIHRoZSBIVE1MNSBIaXN0b3J5IEFQSS5cbiAqIE1hbmFnZXMgYnJvd3NlciBuYXZpZ2F0aW9uIHN0YXRlIGFuZCBwcm92aWRlcyBhIGNvbnNpc3RlbnQgaW50ZXJmYWNlXG4gKiBmb3IgcHJvZ3JhbW1hdGljIG5hdmlnYXRpb24gYW5kIGxvY2F0aW9uIGNoYW5nZSBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcm93c2VySGlzdG9yeSBpbXBsZW1lbnRzIEhpc3Rvcnkge1xuICAvKiogQXJyYXkgb2YgbGlzdGVuZXJzIGZvciBsb2NhdGlvbiBjaGFuZ2VzICovXG4gIHByaXZhdGUgX19saXN0ZW5lcnM6IEhpc3RvcnlMaXN0ZW5lcltdID0gW107XG4gIC8qKiBEZWJ1ZyBtZXRhZGF0YSBjYXB0dXJlZCBmb3IgdGhlIG5leHQgbm90aWZpY2F0aW9uICovXG4gIHByaXZhdGUgX19wZW5kaW5nRGVidWdDb250ZXh0OiBIaXN0b3J5RGVidWdDb250ZXh0IHwgbnVsbCA9IG51bGw7XG4gIC8qKiBNb25vdG9uaWMgY291bnRlciBhdHRhY2hlZCB0byBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlICovXG4gIHByaXZhdGUgX19oaXN0b3J5SW5kZXggPSAwO1xuICAvKiogQ3VycmVudCBpbmRleCByZXByZXNlbnRpbmcgdGhlIGFjdGl2ZSBlbnRyeSAqL1xuICBwcml2YXRlIF9fY3VycmVudEluZGV4ID0gMDtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBCcm93c2VySGlzdG9yeSBpbnN0YW5jZSBhbmQgaW5pdGlhbGl6ZXMgZXZlbnQgbGlzdGVuZXJzLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaW5pdCgpO1xuICAgIHRoaXMuX19lbnN1cmVTdGF0ZUluZGV4KCk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgY3VycmVudCBicm93c2VyIGxvY2F0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJucyBDdXJyZW50IHdpbmRvdy5sb2NhdGlvbiBvYmplY3RcbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gIHB1YmxpYyBnZXQgbG9jYXRpb24oKTogSGlzdG9yeUxvY2F0aW9uU25hcHNob3Qge1xuICAgIC8vIFNvbWUgdGVzdCBET00gZW52aXJvbm1lbnRzIChlLmcuIGhhcHB5LWRvbSkgZXhwb3NlIG5vbi1lbnVtZXJhYmxlXG4gICAgLy8gTG9jYXRpb24gcHJvcGVydGllcyBzbyBhIHNpbXBsZSBzcHJlYWQgcmV0dXJucyBhbiBlbXB0eSBvYmplY3QuXG4gICAgLy8gUmV0dXJuIGFuIGV4cGxpY2l0IHBsYWluIG9iamVjdCB3aXRoIHRoZSBmaWVsZHMgd2UgcmVseSBvbi5cbiAgICByZXR1cm4ge1xuICAgICAgLy8gcGF0aG5hbWUvc2VhcmNoL2hhc2ggYXJlIHN1ZmZpY2llbnQgZm9yIG91ciByb3V0ZXIgbG9naWNcbiAgICAgIHBhdGhuYW1lOiB3aW5kb3cubG9jYXRpb24ucGF0aG5hbWUsXG4gICAgICBzZWFyY2g6IHdpbmRvdy5sb2NhdGlvbi5zZWFyY2gsXG4gICAgICBoYXNoOiB3aW5kb3cubG9jYXRpb24uaGFzaCxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBoaXN0b3J5IGluc3RhbmNlIGJ5IHNldHRpbmcgdXAgZXZlbnQgbGlzdGVuZXJzLlxuICAgKi9cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fX3N1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBjdXJyZW50IGhpc3RvcnkgZW50cnkgd2l0aCBhIG5ldyBsb2NhdGlvbi5cbiAgICogVGhpcyB1cGRhdGVzIHRoZSBVUkwgd2l0aG91dCBjcmVhdGluZyBhIG5ldyBoaXN0b3J5IGVudHJ5LlxuICAgKlxuICAgKiBAcGFyYW0gbG9jYXRpb24gLSBOZXcgbG9jYXRpb24gdG8gc2V0XG4gICAqL1xuICBwdWJsaWMgc2V0KGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCB7IGRlYnVnQ29udGV4dCwgLi4ucmVzdCB9ID0gbG9jYXRpb24gYXMgSGlzdG9yeUxvY2F0aW9uICYge1xuICAgICAgZGVidWdDb250ZXh0PzogSGlzdG9yeURlYnVnQ29udGV4dDtcbiAgICB9O1xuICAgIGNvbnN0IHBhdGggPSBjcmVhdGVQYXRoKHJlc3QpO1xuXG4gICAgaWYgKGRlYnVnQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9fcGVuZGluZ0RlYnVnQ29udGV4dCA9IHtcbiAgICAgICAgLi4uZGVidWdDb250ZXh0LFxuICAgICAgICBoaXN0b3J5SW5kZXg6IHRoaXMuX19jdXJyZW50SW5kZXgsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9fcGVuZGluZ0RlYnVnQ29udGV4dCA9IHsgaGlzdG9yeUluZGV4OiB0aGlzLl9fY3VycmVudEluZGV4IH07XG4gICAgfVxuXG4gICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxuICAgICAge1xuICAgICAgICBfX3BsdW1pbGVSb3V0ZXJJbmRleDogdGhpcy5fX2N1cnJlbnRJbmRleCxcbiAgICAgIH0sXG4gICAgICAnJyxcbiAgICAgIHBhdGgsXG4gICAgKTtcbiAgICB0aGlzLl9fbm90aWZ5KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byBhIG5ldyBsb2NhdGlvbiBieSBwdXNoaW5nIGEgbmV3IGhpc3RvcnkgZW50cnkuXG4gICAqIFRoaXMgY3JlYXRlcyBhIG5ldyBlbnRyeSBpbiB0aGUgYnJvd3NlcidzIGhpc3Rvcnkgc3RhY2suXG4gICAqXG4gICAqIEBwYXJhbSBsb2NhdGlvbiAtIExvY2F0aW9uIHRvIG5hdmlnYXRlIHRvXG4gICAqL1xuICBwdWJsaWMgcHVzaChsb2NhdGlvbjogSGlzdG9yeUxvY2F0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgeyBkZWJ1Z0NvbnRleHQsIC4uLnJlc3QgfSA9IGxvY2F0aW9uIGFzIEhpc3RvcnlMb2NhdGlvbiAmIHtcbiAgICAgIGRlYnVnQ29udGV4dD86IEhpc3RvcnlEZWJ1Z0NvbnRleHQ7XG4gICAgfTtcbiAgICBjb25zdCBwYXRoID0gY3JlYXRlUGF0aChyZXN0KTtcblxuICAgIHRoaXMuX19oaXN0b3J5SW5kZXggKz0gMTtcbiAgICB0aGlzLl9fY3VycmVudEluZGV4ID0gdGhpcy5fX2hpc3RvcnlJbmRleDtcblxuICAgIGlmIChkZWJ1Z0NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSB7XG4gICAgICAgIC4uLmRlYnVnQ29udGV4dCxcbiAgICAgICAgaGlzdG9yeUluZGV4OiB0aGlzLl9fY3VycmVudEluZGV4LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSB7IGhpc3RvcnlJbmRleDogdGhpcy5fX2N1cnJlbnRJbmRleCB9O1xuICAgIH1cblxuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShcbiAgICAgIHtcbiAgICAgICAgX19wbHVtaWxlUm91dGVySW5kZXg6IHRoaXMuX19jdXJyZW50SW5kZXgsXG4gICAgICB9LFxuICAgICAgJycsXG4gICAgICBwYXRoLFxuICAgICk7XG4gICAgdGhpcy5fX25vdGlmeShmYWxzZSk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGxpc3RlbmVyIGZyb20gdGhlIGhpc3RvcnkgY2hhbmdlIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBsaXN0ZW5lciAtIExpc3RlbmVyIGZ1bmN0aW9uIHRvIHJlbW92ZVxuICAgKi9cbiAgcHVibGljIHVuc3Vic2NyaWJlKGxpc3RlbmVyOiBIaXN0b3J5TGlzdGVuZXIpOiB2b2lkIHtcbiAgICB0aGlzLl9fbGlzdGVuZXJzID0gdGhpcy5fX2xpc3RlbmVycy5maWx0ZXIoKGl0ZW0pID0+IHtcbiAgICAgIHJldHVybiBpdGVtICE9PSBsaXN0ZW5lcjtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGhpc3RvcnkgY2hhbmdlcy5cbiAgICpcbiAgICogQHBhcmFtIGxpc3RlbmVyIC0gRnVuY3Rpb24gdG8gY2FsbCB3aGVuIGxvY2F0aW9uIGNoYW5nZXNcbiAgICogQHJldHVybnMgVW5zdWJzY3JpYmUgZnVuY3Rpb25cbiAgICovXG4gIHB1YmxpYyBzdWJzY3JpYmUobGlzdGVuZXI6IEhpc3RvcnlMaXN0ZW5lcik6ICgpID0+IHZvaWQge1xuICAgIHRoaXMuX19saXN0ZW5lcnMucHVzaChsaXN0ZW5lcik7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUobGlzdGVuZXIpO1xuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogUmVsZWFzZXMgYnJvd3Nlci1sZXZlbCBsaXN0ZW5lcnMgYW5kIGxvY2FsIHN1YnNjcmlwdGlvbnMgb3duZWQgYnkgdGhpcyBoaXN0b3J5IGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgdGhpcy5fX2hhbmRsZVBvcHN0YXRlKTtcbiAgICB0aGlzLl9fbGlzdGVuZXJzID0gW107XG4gICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIE5vdGlmaWVzIGFsbCBsaXN0ZW5lcnMgb2YgYSBsb2NhdGlvbiBjaGFuZ2UuXG4gICAqXG4gICAqIFVzZXMgc2V0VGltZW91dCB0byBlbnN1cmUgdGhlIG5vdGlmaWNhdGlvbiBoYXBwZW5zIGFmdGVyIHRoZSBjdXJyZW50IGV4ZWN1dGlvbi5cbiAgICovXG4gIHByaXZhdGUgX19ub3RpZnkgPSAoZm9yY2VSZXJlbmRlcjogYm9vbGVhbik6IHZvaWQgPT4ge1xuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgeyBsb2NhdGlvbiB9ID0gdGhpcztcbiAgICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9fY29uc3VtZVBlbmRpbmdEZWJ1Z0NvbnRleHQoKTtcbiAgICAgIHRoaXMuX19saXN0ZW5lcnMuZm9yRWFjaCgobGlzdGVuZXIpID0+IHtcbiAgICAgICAgbGlzdGVuZXIobG9jYXRpb24sIGZvcmNlUmVyZW5kZXIsIGNvbnRleHQpO1xuICAgICAgfSk7XG4gICAgfSwgMCk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfX2NvbnN1bWVQZW5kaW5nRGVidWdDb250ZXh0KCk6IEhpc3RvcnlEZWJ1Z0NvbnRleHQgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLl9fcGVuZGluZ0RlYnVnQ29udGV4dCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQ7XG4gICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSBudWxsO1xuICAgIHJldHVybiBjb250ZXh0O1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdXAgdGhlIHBvcHN0YXRlIGV2ZW50IGxpc3RlbmVyIGZvciBicm93c2VyIGJhY2svZm9yd2FyZCBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHJpdmF0ZSBfX3N1YnNjcmliZSgpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigncG9wc3RhdGUnLCB0aGlzLl9faGFuZGxlUG9wc3RhdGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBfX2hhbmRsZVBvcHN0YXRlID0gKGV2ZW50OiBQb3BTdGF0ZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgbGV0IG9yaWdpbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGxldCBoaXN0b3J5SW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCBzdGF0ZSA9IGV2ZW50LnN0YXRlIGFzIHsgX19wbHVtaWxlUm91dGVySW5kZXg/OiBudW1iZXIgfSB8IG51bGw7XG4gICAgaWYgKHN0YXRlICE9IG51bGwgJiYgdHlwZW9mIHN0YXRlLl9fcGx1bWlsZVJvdXRlckluZGV4ID09PSAnbnVtYmVyJykge1xuICAgICAgaGlzdG9yeUluZGV4ID0gc3RhdGUuX19wbHVtaWxlUm91dGVySW5kZXg7XG4gICAgICBpZiAoaGlzdG9yeUluZGV4IDwgdGhpcy5fX2N1cnJlbnRJbmRleCkge1xuICAgICAgICBvcmlnaW4gPSAncG9wc3RhdGUtYmFjayc7XG4gICAgICB9IGVsc2UgaWYgKGhpc3RvcnlJbmRleCA+IHRoaXMuX19jdXJyZW50SW5kZXgpIHtcbiAgICAgICAgb3JpZ2luID0gJ3BvcHN0YXRlLWZvcndhcmQnO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3JpZ2luID0gJ3BvcHN0YXRlLXVua25vd24nO1xuICAgICAgfVxuICAgICAgdGhpcy5fX2N1cnJlbnRJbmRleCA9IGhpc3RvcnlJbmRleDtcbiAgICAgIGlmIChoaXN0b3J5SW5kZXggPiB0aGlzLl9faGlzdG9yeUluZGV4KSB7XG4gICAgICAgIHRoaXMuX19oaXN0b3J5SW5kZXggPSBoaXN0b3J5SW5kZXg7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG9yaWdpbiA9ICdleHRlcm5hbCc7XG4gICAgfVxuXG4gICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSB7XG4gICAgICBvcmlnaW4sXG4gICAgICB0cmlnZ2VyOiAncG9wc3RhdGUnLFxuICAgICAgaGlzdG9yeUluZGV4LFxuICAgIH07XG4gICAgdGhpcy5fX25vdGlmeShmYWxzZSk7XG4gIH07XG5cbiAgcHJpdmF0ZSBfX2Vuc3VyZVN0YXRlSW5kZXgoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhdGUgPSB3aW5kb3cuaGlzdG9yeS5zdGF0ZSBhcyB7XG4gICAgICBfX3BsdW1pbGVSb3V0ZXJJbmRleD86IG51bWJlcjtcbiAgICB9IHwgbnVsbDtcbiAgICBpZiAoc3RhdGUgIT0gbnVsbCAmJiB0eXBlb2Ygc3RhdGUuX19wbHVtaWxlUm91dGVySW5kZXggPT09ICdudW1iZXInKSB7XG4gICAgICB0aGlzLl9fY3VycmVudEluZGV4ID0gc3RhdGUuX19wbHVtaWxlUm91dGVySW5kZXg7XG4gICAgICB0aGlzLl9faGlzdG9yeUluZGV4ID0gc3RhdGUuX19wbHVtaWxlUm91dGVySW5kZXg7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgeyBwYXRobmFtZSwgc2VhcmNoLCBoYXNoIH0gPSB3aW5kb3cubG9jYXRpb247XG4gICAgbGV0IHRhcmdldFVybCA9IGAke3BhdGhuYW1lfSR7c2VhcmNofSR7aGFzaH1gO1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiB3aW5kb3cubG9jYXRpb24uaHJlZiA9PT0gJ3N0cmluZycgJiZcbiAgICAgIHdpbmRvdy5sb2NhdGlvbi5ocmVmICE9PSAnJ1xuICAgICkge1xuICAgICAgdGFyZ2V0VXJsID0gd2luZG93LmxvY2F0aW9uLmhyZWY7XG4gICAgfVxuXG4gICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxuICAgICAge1xuICAgICAgICBfX3BsdW1pbGVSb3V0ZXJJbmRleDogdGhpcy5fX2N1cnJlbnRJbmRleCxcbiAgICAgIH0sXG4gICAgICAnJyxcbiAgICAgIHRhcmdldFVybCxcbiAgICApO1xuICB9XG59XG4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJvd3Nlckhpc3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGlzdG9yeS9Ccm93c2VySGlzdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVQSxJQUFJLGFBQWEsR0FBRyxDQUFDLENBQUM7QUFHdEIsU0FBUyxlQUFlO0lBQ3RCLGFBQWEsSUFBSSxDQUFDLENBQUM7SUFDbkIsT0FBTyxVQUFVLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksYUFBYSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0FBQzNFLENBQUM7QUFHRCxTQUFTLGdCQUFnQixDQUFDLE9BQTJCO0lBQ25ELE9BQU8sT0FBTyxDQUFDLEtBQWdCLENBQUM7QUFDbEMsQ0FBQztBQUdELFNBQVMsa0JBQWtCO0lBQ3pCLE1BQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7UUFDL0MsT0FBTyxLQUFnQyxDQUFDO0lBQzFDLENBQUM7SUFDRCxPQUFPLEVBQUUsQ0FBQztBQUNaLENBQUM7QUFRRCxNQUFNLFVBQVUsVUFBVSxDQUFDLFFBQXlCO0lBQ2xELE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEdBQUcsUUFBUSxDQUFDO0lBRXRELE9BQU8sR0FBRyxRQUFRLEdBQUcsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFPRCxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFFekIsV0FBVyxHQUFzQixFQUFFLENBQUM7SUFFcEMscUJBQXFCLEdBQStCLElBQUksQ0FBQztJQUV6RCxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRW5CLGNBQWMsR0FBRyxDQUFDLENB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QUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNuRCxJQUFJLFNBQVMsR0FBRyxHQUFHLFFBQVEsR0FBRyxNQUFNLEdBQUcsSUFBSSxFQUFFLENBQUM7UUFDOUMsSUFDRSxPQUFPLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxLQUFLLFFBQVE7WUFDeEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEtBQUssRUFBRSxFQUMzQixDQUFDO1lBQ0QsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDO1FBQ25DLENBQUM7UUFFRCxJQUFJLENBQUMsZUFBZSxHQUFHLGVBQWUsRUFBRSxDQUFDO1FBQ3pDLE1BQU0sQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUN6QjtZQUNFLEdBQUcsa0JBQWtCLEVBQUU7WUFDdkIsb0JBQW9CLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDekMsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLGVBQWU7U0FDekMsRUFDRCxFQUFFLEVBQ0YsU0FBUyxDQUNWLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIEhpc3RvcnksXG4gIEhpc3RvcnlEZWJ1Z0NvbnRleHQsXG4gIEhpc3RvcnlMaXN0ZW5lcixcbiAgSGlzdG9yeUxvY2F0aW9uLFxuICBIaXN0b3J5TG9jYXRpb25TbmFwc2hvdCxcbiAgUm91dGVyTmF2aWdhdGlvbixcbiAgUm91dGVyTmF2aWdhdGlvblR5cGUsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5sZXQgbmV4dFJvdXRlcktleSA9IDA7XG5cbi8qKiBDcmVhdGVzIGFuIG9wYXF1ZSBub24tZW1wdHkga2V5IGZvciBhIGJyb3dzZXIgaGlzdG9yeSBlbnRyeS4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVJvdXRlcktleSgpOiBzdHJpbmcge1xuICBuZXh0Um91dGVyS2V5ICs9IDE7XG4gIHJldHVybiBgcm91dGVyLSR7RGF0ZS5ub3coKS50b1N0cmluZygzNil9LSR7bmV4dFJvdXRlcktleS50b1N0cmluZygzNil9YDtcbn1cblxuLyoqIFJlYWRzIGJyb3dzZXItb3duZWQgaGlzdG9yeSBkYXRhIHRocm91Z2ggYW4gZXhwbGljaXQgdW5rbm93biBib3VuZGFyeS4gKi9cbmZ1bmN0aW9uIHJlYWRIaXN0b3J5U3RhdGUoaGlzdG9yeTogZ2xvYmFsVGhpcy5IaXN0b3J5KTogdW5rbm93biB7XG4gIHJldHVybiBoaXN0b3J5LnN0YXRlIGFzIHVua25vd247XG59XG5cbi8qKiBSZXR1cm5zIHRoZSBvYmplY3Qgc3RhdGUgd2hvc2UgdW5yZWxhdGVkIGZpZWxkcyBtdXN0IHN1cnZpdmUgbmF2aWdhdGlvbi4gKi9cbmZ1bmN0aW9uIHJlYWRQcmVzZXJ2ZWRTdGF0ZSgpOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB7XG4gIGNvbnN0IHN0YXRlID0gcmVhZEhpc3RvcnlTdGF0ZSh3aW5kb3cuaGlzdG9yeSk7XG4gIGlmICh0eXBlb2Ygc3RhdGUgPT09ICdvYmplY3QnICYmIHN0YXRlICE9IG51bGwpIHtcbiAgICByZXR1cm4gc3RhdGUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIH1cbiAgcmV0dXJuIHt9O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBjb21wbGV0ZSBVUkwgcGF0aCBmcm9tIGEgSGlzdG9yeUxvY2F0aW9uIG9iamVjdC5cbiAqXG4gKiBAcGFyYW0gbG9jYXRpb24gLSBMb2NhdGlvbiBvYmplY3QgY29udGFpbmluZyBwYXRobmFtZSwgc2VhcmNoLCBhbmQgaGFzaFxuICogQHJldHVybnMgQ29tcGxldGUgcGF0aCBzdHJpbmcgY29tYmluaW5nIGFsbCBjb21wb25lbnRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQYXRoKGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb24pOiBzdHJpbmcge1xuICBjb25zdCB7IHBhdGhuYW1lLCBzZWFyY2ggPSAnJywgaGFzaCA9ICcnIH0gPSBsb2NhdGlvbjtcblxuICByZXR1cm4gYCR7cGF0aG5hbWV9JHtzZWFyY2h9JHtoYXNofWA7XG59XG5cbi8qKlxuICogQnJvd3NlciBoaXN0b3J5IGltcGxlbWVudGF0aW9uIHVzaW5nIHRoZSBIVE1MNSBIaXN0b3J5IEFQSS5cbiAqIE1hbmFnZXMgYnJvd3NlciBuYXZpZ2F0aW9uIHN0YXRlIGFuZCBwcm92aWRlcyBhIGNvbnNpc3RlbnQgaW50ZXJmYWNlXG4gKiBmb3IgcHJvZ3JhbW1hdGljIG5hdmlnYXRpb24gYW5kIGxvY2F0aW9uIGNoYW5nZSBub3RpZmljYXRpb25zLlxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBCcm93c2VySGlzdG9yeSBpbXBsZW1lbnRzIEhpc3Rvcnkge1xuICAvKiogQXJyYXkgb2YgbGlzdGVuZXJzIGZvciBsb2NhdGlvbiBjaGFuZ2VzICovXG4gIHByaXZhdGUgX19saXN0ZW5lcnM6IEhpc3RvcnlMaXN0ZW5lcltdID0gW107XG4gIC8qKiBEZWJ1ZyBtZXRhZGF0YSBjYXB0dXJlZCBmb3IgdGhlIG5leHQgbm90aWZpY2F0aW9uICovXG4gIHByaXZhdGUgX19wZW5kaW5nRGVidWdDb250ZXh0OiBIaXN0b3J5RGVidWdDb250ZXh0IHwgbnVsbCA9IG51bGw7XG4gIC8qKiBNb25vdG9uaWMgY291bnRlciBhdHRhY2hlZCB0byBwdXNoU3RhdGUvcmVwbGFjZVN0YXRlICovXG4gIHByaXZhdGUgX19oaXN0b3J5SW5kZXggPSAwO1xuICAvKiogQ3VycmVudCBpbmRleCByZXByZXNlbnRpbmcgdGhlIGFjdGl2ZSBlbnRyeSAqL1xuICBwcml2YXRlIF9fY3VycmVudEluZGV4ID0gMDtcbiAgLyoqIFB1YmxpYyBuYXZpZ2F0aW9uIGtpbmQgZm9yIHRoZSBhY3RpdmUgaGlzdG9yeSBlbnRyeS4gKi9cbiAgcHJpdmF0ZSBfX25hdmlnYXRpb25UeXBlOiBSb3V0ZXJOYXZpZ2F0aW9uVHlwZSA9ICdpbml0aWFsJztcbiAgLyoqIE9wYXF1ZSBpZGVudGl0eSBvZiB0aGUgYWN0aXZlIGhpc3RvcnkgZW50cnkuICovXG4gIHByaXZhdGUgX19uYXZpZ2F0aW9uS2V5ID0gJyc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgQnJvd3Nlckhpc3RvcnkgaW5zdGFuY2UgYW5kIGluaXRpYWxpemVzIGV2ZW50IGxpc3RlbmVycy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmluaXQoKTtcbiAgICB0aGlzLl9fZW5zdXJlU3RhdGVJbmRleCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGN1cnJlbnQgYnJvd3NlciBsb2NhdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgQ3VycmVudCB3aW5kb3cubG9jYXRpb24gb2JqZWN0XG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgY2xhc3MtbWV0aG9kcy11c2UtdGhpc1xuICBwdWJsaWMgZ2V0IGxvY2F0aW9uKCk6IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90IHtcbiAgICAvLyBTb21lIHRlc3QgRE9NIGVudmlyb25tZW50cyAoZS5nLiBoYXBweS1kb20pIGV4cG9zZSBub24tZW51bWVyYWJsZVxuICAgIC8vIExvY2F0aW9uIHByb3BlcnRpZXMgc28gYSBzaW1wbGUgc3ByZWFkIHJldHVybnMgYW4gZW1wdHkgb2JqZWN0LlxuICAgIC8vIFJldHVybiBhbiBleHBsaWNpdCBwbGFpbiBvYmplY3Qgd2l0aCB0aGUgZmllbGRzIHdlIHJlbHkgb24uXG4gICAgcmV0dXJuIHtcbiAgICAgIC8vIHBhdGhuYW1lL3NlYXJjaC9oYXNoIGFyZSBzdWZmaWNpZW50IGZvciBvdXIgcm91dGVyIGxvZ2ljXG4gICAgICBwYXRobmFtZTogd2luZG93LmxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgc2VhcmNoOiB3aW5kb3cubG9jYXRpb24uc2VhcmNoLFxuICAgICAgaGFzaDogd2luZG93LmxvY2F0aW9uLmhhc2gsXG4gICAgfTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgbmF2aWdhdGlvbigpOiBSb3V0ZXJOYXZpZ2F0aW9uIHtcbiAgICByZXR1cm4ge1xuICAgICAga2V5OiB0aGlzLl9fbmF2aWdhdGlvbktleSxcbiAgICAgIHR5cGU6IHRoaXMuX19uYXZpZ2F0aW9uVHlwZSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBoaXN0b3J5IGluc3RhbmNlIGJ5IHNldHRpbmcgdXAgZXZlbnQgbGlzdGVuZXJzLlxuICAgKi9cbiAgcHVibGljIGluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fX3N1YnNjcmliZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBjdXJyZW50IGhpc3RvcnkgZW50cnkgd2l0aCBhIG5ldyBsb2NhdGlvbi5cbiAgICogVGhpcyB1cGRhdGVzIHRoZSBVUkwgd2l0aG91dCBjcmVhdGluZyBhIG5ldyBoaXN0b3J5IGVudHJ5LlxuICAgKlxuICAgKiBAcGFyYW0gbG9jYXRpb24gLSBOZXcgbG9jYXRpb24gdG8gc2V0XG4gICAqL1xuICBwdWJsaWMgc2V0KGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb24pOiB2b2lkIHtcbiAgICBjb25zdCB7IGRlYnVnQ29udGV4dCwgLi4ucmVzdCB9ID0gbG9jYXRpb24gYXMgSGlzdG9yeUxvY2F0aW9uICYge1xuICAgICAgZGVidWdDb250ZXh0PzogSGlzdG9yeURlYnVnQ29udGV4dDtcbiAgICB9O1xuICAgIGNvbnN0IHBhdGggPSBjcmVhdGVQYXRoKHJlc3QpO1xuXG4gICAgaWYgKGRlYnVnQ29udGV4dCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLl9fcGVuZGluZ0RlYnVnQ29udGV4dCA9IHtcbiAgICAgICAgLi4uZGVidWdDb250ZXh0LFxuICAgICAgICBoaXN0b3J5SW5kZXg6IHRoaXMuX19jdXJyZW50SW5kZXgsXG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9fcGVuZGluZ0RlYnVnQ29udGV4dCA9IHsgaGlzdG9yeUluZGV4OiB0aGlzLl9fY3VycmVudEluZGV4IH07XG4gICAgfVxuXG4gICAgY29uc3QgcHJldmlvdXNTdGF0ZSA9IHJlYWRQcmVzZXJ2ZWRTdGF0ZSgpO1xuICAgIGNvbnN0IGV4aXN0aW5nS2V5ID0gcHJldmlvdXNTdGF0ZS5fX3BsdW1pbGVSb3V0ZXJLZXk7XG4gICAgbGV0IGtleSA9IGNyZWF0ZVJvdXRlcktleSgpO1xuICAgIGlmICh0eXBlb2YgZXhpc3RpbmdLZXkgPT09ICdzdHJpbmcnICYmIGV4aXN0aW5nS2V5ICE9PSAnJykge1xuICAgICAga2V5ID0gZXhpc3RpbmdLZXk7XG4gICAgfVxuICAgIHRoaXMuX19uYXZpZ2F0aW9uS2V5ID0ga2V5O1xuICAgIHRoaXMuX19uYXZpZ2F0aW9uVHlwZSA9ICdyZXBsYWNlJztcbiAgICB3aW5kb3cuaGlzdG9yeS5yZXBsYWNlU3RhdGUoXG4gICAgICB7XG4gICAgICAgIC4uLnByZXZpb3VzU3RhdGUsXG4gICAgICAgIF9fcGx1bWlsZVJvdXRlckluZGV4OiB0aGlzLl9fY3VycmVudEluZGV4LFxuICAgICAgICBfX3BsdW1pbGVSb3V0ZXJLZXk6IGtleSxcbiAgICAgIH0sXG4gICAgICAnJyxcbiAgICAgIHBhdGgsXG4gICAgKTtcbiAgICB0aGlzLl9fbm90aWZ5KHRydWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlcyB0byBhIG5ldyBsb2NhdGlvbiBieSBwdXNoaW5nIGEgbmV3IGhpc3RvcnkgZW50cnkuXG4gICAqIFRoaXMgY3JlYXRlcyBhIG5ldyBlbnRyeSBpbiB0aGUgYnJvd3NlcidzIGhpc3Rvcnkgc3RhY2suXG4gICAqXG4gICAqIEBwYXJhbSBsb2NhdGlvbiAtIExvY2F0aW9uIHRvIG5hdmlnYXRlIHRvXG4gICAqL1xuICBwdWJsaWMgcHVzaChsb2NhdGlvbjogSGlzdG9yeUxvY2F0aW9uKTogdm9pZCB7XG4gICAgY29uc3QgeyBkZWJ1Z0NvbnRleHQsIC4uLnJlc3QgfSA9IGxvY2F0aW9uIGFzIEhpc3RvcnlMb2NhdGlvbiAmIHtcbiAgICAgIGRlYnVnQ29udGV4dD86IEhpc3RvcnlEZWJ1Z0NvbnRleHQ7XG4gICAgfTtcbiAgICBjb25zdCBwYXRoID0gY3JlYXRlUGF0aChyZXN0KTtcblxuICAgIHRoaXMuX19oaXN0b3J5SW5kZXggKz0gMTtcbiAgICB0aGlzLl9fY3VycmVudEluZGV4ID0gdGhpcy5fX2hpc3RvcnlJbmRleDtcblxuICAgIGlmIChkZWJ1Z0NvbnRleHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSB7XG4gICAgICAgIC4uLmRlYnVnQ29udGV4dCxcbiAgICAgICAgaGlzdG9yeUluZGV4OiB0aGlzLl9fY3VycmVudEluZGV4LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPSB7IGhpc3RvcnlJbmRleDogdGhpcy5fX2N1cnJlbnRJbmRleCB9O1xuICAgIH1cblxuICAgIHRoaXMuX19uYXZpZ2F0aW9uVHlwZSA9ICdwdXNoJztcbiAgICB0aGlzLl9fbmF2aWdhdGlvbktleSA9IGNyZWF0ZVJvdXRlcktleSgpO1xuICAgIHdpbmRvdy5oaXN0b3J5LnB1c2hTdGF0ZShcbiAgICAgIHtcbiAgICAgICAgLi4ucmVhZFByZXNlcnZlZFN0YXRlKCksXG4gICAgICAgIF9fcGx1bWlsZVJvdXRlckluZGV4OiB0aGlzLl9fY3VycmVudEluZGV4LFxuICAgICAgICBfX3BsdW1pbGVSb3V0ZXJLZXk6IHRoaXMuX19uYXZpZ2F0aW9uS2V5LFxuICAgICAgfSxcbiAgICAgICcnLFxuICAgICAgcGF0aCxcbiAgICApO1xuICAgIHRoaXMuX19ub3RpZnkoZmFsc2UpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBsaXN0ZW5lciBmcm9tIHRoZSBoaXN0b3J5IGNoYW5nZSBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gbGlzdGVuZXIgLSBMaXN0ZW5lciBmdW5jdGlvbiB0byByZW1vdmVcbiAgICovXG4gIHB1YmxpYyB1bnN1YnNjcmliZShsaXN0ZW5lcjogSGlzdG9yeUxpc3RlbmVyKTogdm9pZCB7XG4gICAgdGhpcy5fX2xpc3RlbmVycyA9IHRoaXMuX19saXN0ZW5lcnMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gaXRlbSAhPT0gbGlzdGVuZXI7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlcyB0byBoaXN0b3J5IGNoYW5nZXMuXG4gICAqXG4gICAqIEBwYXJhbSBsaXN0ZW5lciAtIEZ1bmN0aW9uIHRvIGNhbGwgd2hlbiBsb2NhdGlvbiBjaGFuZ2VzXG4gICAqIEByZXR1cm5zIFVuc3Vic2NyaWJlIGZ1bmN0aW9uXG4gICAqL1xuICBwdWJsaWMgc3Vic2NyaWJlKGxpc3RlbmVyOiBIaXN0b3J5TGlzdGVuZXIpOiAoKSA9PiB2b2lkIHtcbiAgICB0aGlzLl9fbGlzdGVuZXJzLnB1c2gobGlzdGVuZXIpO1xuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKGxpc3RlbmVyKTtcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbGVhc2VzIGJyb3dzZXItbGV2ZWwgbGlzdGVuZXJzIGFuZCBsb2NhbCBzdWJzY3JpcHRpb25zIG93bmVkIGJ5IHRoaXMgaGlzdG9yeSBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBkaXNwb3NlKCk6IHZvaWQge1xuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdwb3BzdGF0ZScsIHRoaXMuX19oYW5kbGVQb3BzdGF0ZSk7XG4gICAgdGhpcy5fX2xpc3RlbmVycyA9IFtdO1xuICAgIHRoaXMuX19wZW5kaW5nRGVidWdDb250ZXh0ID0gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBOb3RpZmllcyBhbGwgbGlzdGVuZXJzIG9mIGEgbG9jYXRpb24gY2hhbmdlLlxuICAgKlxuICAgKiBVc2VzIHNldFRpbWVvdXQgdG8gZW5zdXJlIHRoZSBub3RpZmljYXRpb24gaGFwcGVucyBhZnRlciB0aGUgY3VycmVudCBleGVjdXRpb24uXG4gICAqL1xuICBwcml2YXRlIF9fbm90aWZ5ID0gKGZvcmNlUmVyZW5kZXI6IGJvb2xlYW4pOiB2b2lkID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGNvbnN0IHsgbG9jYXRpb24gfSA9IHRoaXM7XG4gICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5fX2NvbnN1bWVQZW5kaW5nRGVidWdDb250ZXh0KCk7XG4gICAgICB0aGlzLl9fbGlzdGVuZXJzLmZvckVhY2goKGxpc3RlbmVyKSA9PiB7XG4gICAgICAgIGxpc3RlbmVyKGxvY2F0aW9uLCBmb3JjZVJlcmVuZGVyLCBjb250ZXh0KTtcbiAgICAgIH0pO1xuICAgIH0sIDApO1xuICB9O1xuXG4gIHByaXZhdGUgX19jb25zdW1lUGVuZGluZ0RlYnVnQ29udGV4dCgpOiBIaXN0b3J5RGVidWdDb250ZXh0IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodGhpcy5fX3BlbmRpbmdEZWJ1Z0NvbnRleHQgPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX19wZW5kaW5nRGVidWdDb250ZXh0O1xuICAgIHRoaXMuX19wZW5kaW5nRGVidWdDb250ZXh0ID0gbnVsbDtcbiAgICByZXR1cm4gY29udGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHVwIHRoZSBwb3BzdGF0ZSBldmVudCBsaXN0ZW5lciBmb3IgYnJvd3NlciBiYWNrL2ZvcndhcmQgbmF2aWdhdGlvbi5cbiAgICovXG4gIHByaXZhdGUgX19zdWJzY3JpYmUoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3BvcHN0YXRlJywgdGhpcy5fX2hhbmRsZVBvcHN0YXRlKTtcbiAgfVxuXG4gIHByaXZhdGUgX19oYW5kbGVQb3BzdGF0ZSA9IChldmVudDogUG9wU3RhdGVFdmVudCk6IHZvaWQgPT4ge1xuICAgIHRoaXMuX19uYXZpZ2F0aW9uVHlwZSA9ICdwb3AnO1xuICAgIGxldCBvcmlnaW46IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICBsZXQgaGlzdG9yeUluZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgY29uc3Qgc3RhdGUgPSBldmVudC5zdGF0ZSBhcyB7XG4gICAgICBfX3BsdW1pbGVSb3V0ZXJJbmRleD86IG51bWJlcjtcbiAgICAgIF9fcGx1bWlsZVJvdXRlcktleT86IHN0cmluZztcbiAgICB9IHwgbnVsbDtcbiAgICBjb25zdCBldmVudEtleSA9IHN0YXRlPy5fX3BsdW1pbGVSb3V0ZXJLZXk7XG4gICAgdGhpcy5fX25hdmlnYXRpb25LZXkgPSBjcmVhdGVSb3V0ZXJLZXkoKTtcbiAgICBpZiAodHlwZW9mIGV2ZW50S2V5ID09PSAnc3RyaW5nJyAmJiBldmVudEtleSAhPT0gJycpIHtcbiAgICAgIHRoaXMuX19uYXZpZ2F0aW9uS2V5ID0gZXZlbnRLZXk7XG4gICAgfVxuICAgIGlmIChzdGF0ZSAhPSBudWxsICYmIHR5cGVvZiBzdGF0ZS5fX3BsdW1pbGVSb3V0ZXJJbmRleCA9PT0gJ251bWJlcicpIHtcbiAgICAgIGhpc3RvcnlJbmRleCA9IHN0YXRlLl9fcGx1bWlsZVJvdXRlckluZGV4O1xuICAgICAgaWYgKGhpc3RvcnlJbmRleCA8IHRoaXMuX19jdXJyZW50SW5kZXgpIHtcbiAgICAgICAgb3JpZ2luID0gJ3BvcHN0YXRlLWJhY2snO1xuICAgICAgfSBlbHNlIGlmIChoaXN0b3J5SW5kZXggPiB0aGlzLl9fY3VycmVudEluZGV4KSB7XG4gICAgICAgIG9yaWdpbiA9ICdwb3BzdGF0ZS1mb3J3YXJkJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9yaWdpbiA9ICdwb3BzdGF0ZS11bmtub3duJztcbiAgICAgIH1cbiAgICAgIHRoaXMuX19jdXJyZW50SW5kZXggPSBoaXN0b3J5SW5kZXg7XG4gICAgICBpZiAoaGlzdG9yeUluZGV4ID4gdGhpcy5fX2hpc3RvcnlJbmRleCkge1xuICAgICAgICB0aGlzLl9faGlzdG9yeUluZGV4ID0gaGlzdG9yeUluZGV4O1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBvcmlnaW4gPSAnZXh0ZXJuYWwnO1xuICAgIH1cblxuICAgIHRoaXMuX19wZW5kaW5nRGVidWdDb250ZXh0ID0ge1xuICAgICAgb3JpZ2luLFxuICAgICAgdHJpZ2dlcjogJ3BvcHN0YXRlJyxcbiAgICAgIGhpc3RvcnlJbmRleCxcbiAgICB9O1xuICAgIHRoaXMuX19ub3RpZnkoZmFsc2UpO1xuICB9O1xuXG4gIHByaXZhdGUgX19lbnN1cmVTdGF0ZUluZGV4KCk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXRlID0gd2luZG93Lmhpc3Rvcnkuc3RhdGUgYXMge1xuICAgICAgX19wbHVtaWxlUm91dGVySW5kZXg/OiBudW1iZXI7XG4gICAgICBfX3BsdW1pbGVSb3V0ZXJLZXk/OiBzdHJpbmc7XG4gICAgfSB8IG51bGw7XG4gICAgaWYgKFxuICAgICAgc3RhdGUgIT0gbnVsbCAmJlxuICAgICAgdHlwZW9mIHN0YXRlLl9fcGx1bWlsZVJvdXRlckluZGV4ID09PSAnbnVtYmVyJyAmJlxuICAgICAgdHlwZW9mIHN0YXRlLl9fcGx1bWlsZVJvdXRlcktleSA9PT0gJ3N0cmluZycgJiZcbiAgICAgIHN0YXRlLl9fcGx1bWlsZVJvdXRlcktleSAhPT0gJydcbiAgICApIHtcbiAgICAgIHRoaXMuX19jdXJyZW50SW5kZXggPSBzdGF0ZS5fX3BsdW1pbGVSb3V0ZXJJbmRleDtcbiAgICAgIHRoaXMuX19oaXN0b3J5SW5kZXggPSBzdGF0ZS5fX3BsdW1pbGVSb3V0ZXJJbmRleDtcbiAgICAgIHRoaXMuX19uYXZpZ2F0aW9uS2V5ID0gc3RhdGUuX19wbHVtaWxlUm91dGVyS2V5O1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHsgcGF0aG5hbWUsIHNlYXJjaCwgaGFzaCB9ID0gd2luZG93LmxvY2F0aW9uO1xuICAgIGxldCB0YXJnZXRVcmwgPSBgJHtwYXRobmFtZX0ke3NlYXJjaH0ke2hhc2h9YDtcbiAgICBpZiAoXG4gICAgICB0eXBlb2Ygd2luZG93LmxvY2F0aW9uLmhyZWYgPT09ICdzdHJpbmcnICYmXG4gICAgICB3aW5kb3cubG9jYXRpb24uaHJlZiAhPT0gJydcbiAgICApIHtcbiAgICAgIHRhcmdldFVybCA9IHdpbmRvdy5sb2NhdGlvbi5ocmVmO1xuICAgIH1cblxuICAgIHRoaXMuX19uYXZpZ2F0aW9uS2V5ID0gY3JlYXRlUm91dGVyS2V5KCk7XG4gICAgd2luZG93Lmhpc3RvcnkucmVwbGFjZVN0YXRlKFxuICAgICAge1xuICAgICAgICAuLi5yZWFkUHJlc2VydmVkU3RhdGUoKSxcbiAgICAgICAgX19wbHVtaWxlUm91dGVySW5kZXg6IHRoaXMuX19jdXJyZW50SW5kZXgsXG4gICAgICAgIF9fcGx1bWlsZVJvdXRlcktleTogdGhpcy5fX25hdmlnYXRpb25LZXksXG4gICAgICB9LFxuICAgICAgJycsXG4gICAgICB0YXJnZXRVcmwsXG4gICAgKTtcbiAgfVxufVxuIl19
@@ -15,8 +15,14 @@ export type HistoryLocationSnapshot = Readonly<{
15
15
  pathname: string;
16
16
  search: string;
17
17
  }>;
18
+ export type RouterNavigationType = 'initial' | 'push' | 'replace' | 'pop';
19
+ export type RouterNavigation = {
20
+ key: string;
21
+ type: RouterNavigationType;
22
+ };
18
23
  export interface History {
19
24
  readonly location: HistoryLocationSnapshot;
25
+ readonly navigation: RouterNavigation;
20
26
  init: () => void;
21
27
  subscribe: (listener: HistoryListener) => () => void;
22
28
  push: (location: HistoryLocation) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/history/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,QAAQ,EAAE,uBAAuB,EACjC,aAAa,EAAE,OAAO,EACtB,YAAY,CAAC,EAAE,mBAAmB,KAC/B,IAAI,CAAC;AAMV,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAMH,MAAM,WAAW,OAAO;IAEtB,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAE3C,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,IAAI,CAAC;IAErD,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAE1C,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC1C"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/history/types.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAC5B,QAAQ,EAAE,uBAAuB,EACjC,aAAa,EAAE,OAAO,EACtB,YAAY,CAAC,EAAE,mBAAmB,KAC/B,IAAI,CAAC;AAMV,MAAM,MAAM,eAAe,GAAG;IAE5B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC,CAAC;AAGF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,oBAAoB,CAAC;CAC5B,CAAC;AAMF,MAAM,WAAW,OAAO;IAEtB,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAE3C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;IAEtC,IAAI,EAAE,MAAM,IAAI,CAAC;IAEjB,SAAS,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,MAAM,IAAI,CAAC;IAErD,IAAI,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;IAE1C,GAAG,EAAE,CAAC,QAAQ,EAAE,eAAe,KAAK,IAAI,CAAC;CAC1C"}
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGlzdG9yeS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaGlzdG9yeSBjaGFuZ2VzLlxuICogQ2FsbGVkIHdoZW5ldmVyIHRoZSBicm93c2VyIGxvY2F0aW9uIGNoYW5nZXMuXG4gKlxuICogQHBhcmFtIGxvY2F0aW9uIC0gVGhlIG5ldyBicm93c2VyIGxvY2F0aW9uXG4gKiBAcGFyYW0gZm9yY2VSZXJlbmRlciAtIFdoZXRoZXIgdG8gZm9yY2UgYSByZS1yZW5kZXIgZXZlbiBpZiB0aGUgcGF0aCBpcyB0aGUgc2FtZVxuICovXG5leHBvcnQgdHlwZSBIaXN0b3J5RGVidWdDb250ZXh0ID0ge1xuICBvcmlnaW4/OiBzdHJpbmc7XG4gIHRyaWdnZXI/OiBzdHJpbmc7XG4gIGhpc3RvcnlJbmRleD86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEhpc3RvcnlMaXN0ZW5lciA9IChcbiAgbG9jYXRpb246IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90LFxuICBmb3JjZVJlcmVuZGVyOiBib29sZWFuLFxuICBkZWJ1Z0NvbnRleHQ/OiBIaXN0b3J5RGVidWdDb250ZXh0LFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBsb2NhdGlvbiBmb3IgaGlzdG9yeSBuYXZpZ2F0aW9uLlxuICogVGhpcyBpcyBhIHN1YnNldCBvZiB0aGUgYnJvd3NlcidzIExvY2F0aW9uIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IHR5cGUgSGlzdG9yeUxvY2F0aW9uID0ge1xuICAvKiogVVJMIGhhc2ggKGZyYWdtZW50IGlkZW50aWZpZXIpICovXG4gIGhhc2g/OiBzdHJpbmc7XG4gIC8qKiBVUkwgcGF0aG5hbWUgKi9cbiAgcGF0aG5hbWU6IHN0cmluZztcbiAgLyoqIFVSTCBzZWFyY2ggcGFyYW1ldGVycyAqL1xuICBzZWFyY2g/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBkZWJ1ZyBtZXRhZGF0YSBwcm9wYWdhdGVkIHRocm91Z2ggbmF2aWdhdGlvbiBldmVudHMgKi9cbiAgZGVidWdDb250ZXh0PzogSGlzdG9yeURlYnVnQ29udGV4dDtcbn07XG5cbi8qKiBJbW11dGFibGUgbG9jYXRpb24gc25hcHNob3QgZXhwb3NlZCBieSB0aGUgcm91dGVyLiAqL1xuZXhwb3J0IHR5cGUgSGlzdG9yeUxvY2F0aW9uU25hcHNob3QgPSBSZWFkb25seTx7XG4gIGhhc2g6IHN0cmluZztcbiAgcGF0aG5hbWU6IHN0cmluZztcbiAgc2VhcmNoOiBzdHJpbmc7XG59PjtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGhpc3RvcnkgbWFuYWdlbWVudCBpbXBsZW1lbnRhdGlvbnMuXG4gKiBQcm92aWRlcyBtZXRob2RzIGZvciBuYXZpZ2F0aW9uIGFuZCBsaXN0ZW5pbmcgdG8gbG9jYXRpb24gY2hhbmdlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXN0b3J5IHtcbiAgLyoqIEN1cnJlbnQgaW1tdXRhYmxlIGxvY2F0aW9uIHNuYXBzaG90LiAqL1xuICByZWFkb25seSBsb2NhdGlvbjogSGlzdG9yeUxvY2F0aW9uU25hcHNob3Q7XG4gIC8qKiBJbml0aWFsaXplIHRoZSBoaXN0b3J5IGluc3RhbmNlICovXG4gIGluaXQ6ICgpID0+IHZvaWQ7XG4gIC8qKiBTdWJzY3JpYmUgdG8gbG9jYXRpb24gY2hhbmdlcyAqL1xuICBzdWJzY3JpYmU6IChsaXN0ZW5lcjogSGlzdG9yeUxpc3RlbmVyKSA9PiAoKSA9PiB2b2lkO1xuICAvKiogTmF2aWdhdGUgdG8gYSBuZXcgbG9jYXRpb24gKi9cbiAgcHVzaDogKGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb24pID0+IHZvaWQ7XG4gIC8qKiBSZXBsYWNlIHRoZSBjdXJyZW50IGhpc3RvcnkgZW50cnkgKi9cbiAgc2V0OiAobG9jYXRpb246IEhpc3RvcnlMb2NhdGlvbikgPT4gdm9pZDtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaGlzdG9yeS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDYWxsYmFjayBmdW5jdGlvbiBmb3IgaGlzdG9yeSBjaGFuZ2VzLlxuICogQ2FsbGVkIHdoZW5ldmVyIHRoZSBicm93c2VyIGxvY2F0aW9uIGNoYW5nZXMuXG4gKlxuICogQHBhcmFtIGxvY2F0aW9uIC0gVGhlIG5ldyBicm93c2VyIGxvY2F0aW9uXG4gKiBAcGFyYW0gZm9yY2VSZXJlbmRlciAtIFdoZXRoZXIgdG8gZm9yY2UgYSByZS1yZW5kZXIgZXZlbiBpZiB0aGUgcGF0aCBpcyB0aGUgc2FtZVxuICovXG5leHBvcnQgdHlwZSBIaXN0b3J5RGVidWdDb250ZXh0ID0ge1xuICBvcmlnaW4/OiBzdHJpbmc7XG4gIHRyaWdnZXI/OiBzdHJpbmc7XG4gIGhpc3RvcnlJbmRleD86IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIEhpc3RvcnlMaXN0ZW5lciA9IChcbiAgbG9jYXRpb246IEhpc3RvcnlMb2NhdGlvblNuYXBzaG90LFxuICBmb3JjZVJlcmVuZGVyOiBib29sZWFuLFxuICBkZWJ1Z0NvbnRleHQ/OiBIaXN0b3J5RGVidWdDb250ZXh0LFxuKSA9PiB2b2lkO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBsb2NhdGlvbiBmb3IgaGlzdG9yeSBuYXZpZ2F0aW9uLlxuICogVGhpcyBpcyBhIHN1YnNldCBvZiB0aGUgYnJvd3NlcidzIExvY2F0aW9uIGludGVyZmFjZS5cbiAqL1xuZXhwb3J0IHR5cGUgSGlzdG9yeUxvY2F0aW9uID0ge1xuICAvKiogVVJMIGhhc2ggKGZyYWdtZW50IGlkZW50aWZpZXIpICovXG4gIGhhc2g/OiBzdHJpbmc7XG4gIC8qKiBVUkwgcGF0aG5hbWUgKi9cbiAgcGF0aG5hbWU6IHN0cmluZztcbiAgLyoqIFVSTCBzZWFyY2ggcGFyYW1ldGVycyAqL1xuICBzZWFyY2g/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBkZWJ1ZyBtZXRhZGF0YSBwcm9wYWdhdGVkIHRocm91Z2ggbmF2aWdhdGlvbiBldmVudHMgKi9cbiAgZGVidWdDb250ZXh0PzogSGlzdG9yeURlYnVnQ29udGV4dDtcbn07XG5cbi8qKiBJbW11dGFibGUgbG9jYXRpb24gc25hcHNob3QgZXhwb3NlZCBieSB0aGUgcm91dGVyLiAqL1xuZXhwb3J0IHR5cGUgSGlzdG9yeUxvY2F0aW9uU25hcHNob3QgPSBSZWFkb25seTx7XG4gIGhhc2g6IHN0cmluZztcbiAgcGF0aG5hbWU6IHN0cmluZztcbiAgc2VhcmNoOiBzdHJpbmc7XG59PjtcblxuZXhwb3J0IHR5cGUgUm91dGVyTmF2aWdhdGlvblR5cGUgPSAnaW5pdGlhbCcgfCAncHVzaCcgfCAncmVwbGFjZScgfCAncG9wJztcblxuZXhwb3J0IHR5cGUgUm91dGVyTmF2aWdhdGlvbiA9IHtcbiAga2V5OiBzdHJpbmc7XG4gIHR5cGU6IFJvdXRlck5hdmlnYXRpb25UeXBlO1xufTtcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGhpc3RvcnkgbWFuYWdlbWVudCBpbXBsZW1lbnRhdGlvbnMuXG4gKiBQcm92aWRlcyBtZXRob2RzIGZvciBuYXZpZ2F0aW9uIGFuZCBsaXN0ZW5pbmcgdG8gbG9jYXRpb24gY2hhbmdlcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaXN0b3J5IHtcbiAgLyoqIEN1cnJlbnQgaW1tdXRhYmxlIGxvY2F0aW9uIHNuYXBzaG90LiAqL1xuICByZWFkb25seSBsb2NhdGlvbjogSGlzdG9yeUxvY2F0aW9uU25hcHNob3Q7XG4gIC8qKiBNZXRhZGF0YSBkZXNjcmliaW5nIHRoZSBhY3RpdmUgaGlzdG9yeSBlbnRyeS4gKi9cbiAgcmVhZG9ubHkgbmF2aWdhdGlvbjogUm91dGVyTmF2aWdhdGlvbjtcbiAgLyoqIEluaXRpYWxpemUgdGhlIGhpc3RvcnkgaW5zdGFuY2UgKi9cbiAgaW5pdDogKCkgPT4gdm9pZDtcbiAgLyoqIFN1YnNjcmliZSB0byBsb2NhdGlvbiBjaGFuZ2VzICovXG4gIHN1YnNjcmliZTogKGxpc3RlbmVyOiBIaXN0b3J5TGlzdGVuZXIpID0+ICgpID0+IHZvaWQ7XG4gIC8qKiBOYXZpZ2F0ZSB0byBhIG5ldyBsb2NhdGlvbiAqL1xuICBwdXNoOiAobG9jYXRpb246IEhpc3RvcnlMb2NhdGlvbikgPT4gdm9pZDtcbiAgLyoqIFJlcGxhY2UgdGhlIGN1cnJlbnQgaGlzdG9yeSBlbnRyeSAqL1xuICBzZXQ6IChsb2NhdGlvbjogSGlzdG9yeUxvY2F0aW9uKSA9PiB2b2lkO1xufVxuIl19
@@ -1,5 +1,6 @@
1
- import type { AsyncResourceStatus, RouterActiveLoadState, RouterLoadState, PreparedValueResource, RouteNode, UnknownFilters } from '../types.js';
1
+ import type { AsyncResourceStatus, PreparedRouteSegmentSnapshot, RawQuery, RouterActiveLoadState, RouterLoadState, RouterRenderStatus, UnknownFilters } from '../types.js';
2
2
  import type { Schema as FilterSchema } from '@plumile/filter-query/types.js';
3
+ import type { ParamData } from 'path-to-regexp';
3
4
  import type { RouterHistoryActionValue, RouterNavigationSourceValue, RouterPopstateDirectionValue, RouterPreloadModeValue, RouterPrepareStatusValue } from '../values.js';
4
5
  export type RouterNavigationSource = RouterNavigationSourceValue;
5
6
  export type RouterLocationSnapshot = {
@@ -7,15 +8,7 @@ export type RouterLocationSnapshot = {
7
8
  search: string;
8
9
  hash: string;
9
10
  };
10
- export type RouterPreparedSegmentSnapshot = {
11
- routeNode?: RouteNode;
12
- path?: string;
13
- fullPath?: string;
14
- segmentIndex: number;
15
- preparedResource?: PreparedValueResource;
16
- redirectTo: string | null;
17
- highlightId?: string;
18
- querySchema?: FilterSchema;
11
+ export type RouterPreparedSegmentSnapshot = PreparedRouteSegmentSnapshot & {
19
12
  preparedStatus?: AsyncResourceStatus;
20
13
  };
21
14
  export type RouterPreparedMatchSnapshot = {
@@ -23,13 +16,18 @@ export type RouterPreparedMatchSnapshot = {
23
16
  };
24
17
  export type RouterEntrySnapshot = {
25
18
  location: RouterLocationSnapshot;
19
+ rawSearch?: string;
26
20
  routePath?: string;
21
+ params?: ParamData;
22
+ query?: RawQuery;
27
23
  preparedMatch?: RouterPreparedMatchSnapshot;
28
24
  activeLoadState?: RouterActiveLoadState;
29
25
  loadState?: RouterLoadState;
30
26
  filters?: UnknownFilters;
31
27
  filterDiagnostics?: unknown[];
32
28
  activeQuerySchema?: FilterSchema;
29
+ forceRerender?: boolean;
30
+ status: RouterRenderStatus;
33
31
  };
34
32
  export type RouterEventBase = {
35
33
  timestamp: number;
@@ -1 +1 @@
1
- {"version":3,"file":"Instrumentation.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/Instrumentation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Instrumentation.d.ts","sourceRoot":"","sources":["../../../src/instrumentation/Instrumentation.ts"],"names":[],"mappings":"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"}
@@ -56,4 +56,4 @@ export function createInstrumentationRegistry(initial = []) {
56
56
  },
57
57
  };
58
58
  }
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luc3RydW1lbnRhdGlvbi9JbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBa0tBLE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsT0FBTyxHQUF5QixFQUFFO0lBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtRQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBS3JCLFNBQVMsS0FBSztRQUNaLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFNRCxTQUFTLFVBQVUsQ0FDakIsZUFBbUMsRUFDbkMsTUFBZ0MsRUFDaEMsT0FBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRixPQUF3QyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUVULENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVEsQ0FBQyxlQUFlO1lBQ3RCLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLGVBQWU7WUFDeEIsS0FBSyxFQUFFLENBQUM7WUFDUixTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBSztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsaUJBQWlCLENBQUMsS0FBSztZQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBQ0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLElBQUk7WUFDTixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBc3luY1Jlc291cmNlU3RhdHVzLFxuICBSb3V0ZXJBY3RpdmVMb2FkU3RhdGUsXG4gIFJvdXRlckxvYWRTdGF0ZSxcbiAgUHJlcGFyZWRWYWx1ZVJlc291cmNlLFxuICBSb3V0ZU5vZGUsXG4gIFVua25vd25GaWx0ZXJzLFxufSBmcm9tICcuLi90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFNjaGVtYSBhcyBGaWx0ZXJTY2hlbWEgfSBmcm9tICdAcGx1bWlsZS9maWx0ZXItcXVlcnkvdHlwZXMuanMnO1xuaW1wb3J0IHR5cGUge1xuICBSb3V0ZXJIaXN0b3J5QWN0aW9uVmFsdWUsXG4gIFJvdXRlck5hdmlnYXRpb25Tb3VyY2VWYWx1ZSxcbiAgUm91dGVyUG9wc3RhdGVEaXJlY3Rpb25WYWx1ZSxcbiAgUm91dGVyUHJlbG9hZE1vZGVWYWx1ZSxcbiAgUm91dGVyUHJlcGFyZVN0YXR1c1ZhbHVlLFxufSBmcm9tICcuLi92YWx1ZXMuanMnO1xuXG4vKipcbiAqIEVudW1lcmF0ZXMgdGhlIG9yaWdpbiBvZiBuYXZpZ2F0aW9uLXJlbGF0ZWQgZXZlbnRzIGV4cG9zZWQgdG8gaW5zdHJ1bWVudGF0aW9ucy5cbiAqXG4gKiBLZXB0IGFzIHN0cmluZyBsaXRlcmFscyB0byBhdm9pZCBsZWFraW5nIGRlYnVnIGVudW1zIGludG8gdGhlIHByb2R1Y3Rpb24gYnVuZGxlLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlID0gUm91dGVyTmF2aWdhdGlvblNvdXJjZVZhbHVlO1xuXG4vKipcbiAqIENvbXBhY3QgbG9jYXRpb24gc25hcHNob3Qgc2hhcmVkIGJ5IGFsbCBpbnN0cnVtZW50YXRpb24gZXZlbnRzLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJMb2NhdGlvblNuYXBzaG90ID0ge1xuICBwYXRobmFtZTogc3RyaW5nO1xuICBzZWFyY2g6IHN0cmluZztcbiAgaGFzaDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZWRTZWdtZW50U25hcHNob3QgPSB7XG4gIHJvdXRlTm9kZT86IFJvdXRlTm9kZTtcbiAgcGF0aD86IHN0cmluZztcbiAgZnVsbFBhdGg/OiBzdHJpbmc7XG4gIHNlZ21lbnRJbmRleDogbnVtYmVyO1xuICBwcmVwYXJlZFJlc291cmNlPzogUHJlcGFyZWRWYWx1ZVJlc291cmNlO1xuICByZWRpcmVjdFRvOiBzdHJpbmcgfCBudWxsO1xuICBoaWdobGlnaHRJZD86IHN0cmluZztcbiAgcXVlcnlTY2hlbWE/OiBGaWx0ZXJTY2hlbWE7XG4gIHByZXBhcmVkU3RhdHVzPzogQXN5bmNSZXNvdXJjZVN0YXR1cztcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclByZXBhcmVkTWF0Y2hTbmFwc2hvdCA9IHtcbiAgc2VnbWVudHM6IFJvdXRlclByZXBhcmVkU2VnbWVudFNuYXBzaG90W107XG59O1xuXG4vKipcbiAqIFN1bW1hcnkgb2YgdGhlIGN1cnJlbnQgcm91dGVyIGVudHJ5IHRoYXQgY2FuIGJlIGJyb2FkY2FzdCB0byBpbnN0cnVtZW50YXRpb25zLlxuICogVGhlIHNoYXBlIGludGVudGlvbmFsbHkgbWlycm9ycyBwdWJsaWMgZGF0YSBhbHJlYWR5IGF2YWlsYWJsZSB0byBhcHBsaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlckVudHJ5U25hcHNob3QgPSB7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIHByZXBhcmVkTWF0Y2g/OiBSb3V0ZXJQcmVwYXJlZE1hdGNoU25hcHNob3Q7XG4gIGFjdGl2ZUxvYWRTdGF0ZT86IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZTtcbiAgbG9hZFN0YXRlPzogUm91dGVyTG9hZFN0YXRlO1xuICBmaWx0ZXJzPzogVW5rbm93bkZpbHRlcnM7XG4gIGZpbHRlckRpYWdub3N0aWNzPzogdW5rbm93bltdO1xuICBhY3RpdmVRdWVyeVNjaGVtYT86IEZpbHRlclNjaGVtYTtcbn07XG5cbi8qKlxuICogQmFzZSBwYXlsb2FkIHNoYXJlZCBieSByb3V0ZXIgZXZlbnRzLiBFYWNoIGV2ZW50IGV4dGVuZHMgdGhlIGJhc2Ugd2l0aFxuICogc3BlY2lmaWMgZGV0YWlscyByZWxldmFudCB0byB0aGUgaW5zdHJ1bWVudGF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBSb3V0ZXJFdmVudEJhc2UgPSB7XG4gIHRpbWVzdGFtcDogbnVtYmVyO1xuICBsb2NhdGlvbjogUm91dGVyTG9jYXRpb25TbmFwc2hvdDtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclNuYXBzaG90RXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdzbmFwc2hvdCc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgcm91dGVQYXRoPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlbG9hZEV2ZW50ID0gUm91dGVyRXZlbnRCYXNlICYge1xuICBraW5kOiAncHJlbG9hZCc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgdGFyZ2V0UGF0aG5hbWU6IHN0cmluZztcbiAgbW9kZTogUm91dGVyUHJlbG9hZE1vZGVWYWx1ZTtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlckhpc3RvcnlFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ2hpc3RvcnknO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGFjdGlvbjogUm91dGVySGlzdG9yeUFjdGlvblZhbHVlO1xuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQb3BzdGF0ZUV2ZW50ID0gUm91dGVyRXZlbnRCYXNlICYge1xuICBraW5kOiAncG9wc3RhdGUnO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGRpcmVjdGlvbjogUm91dGVyUG9wc3RhdGVEaXJlY3Rpb25WYWx1ZTtcbiAgZGV0YWlscz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZVN0YXJ0RXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwcmVwYXJlLXN0YXJ0JztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIG1vZHVsZUlkPzogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZUNvbXBsZXRlRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIG1vZHVsZUlkPzogc3RyaW5nO1xuICBkdXJhdGlvbk1zOiBudW1iZXI7XG4gIGhhc1ByZXBhcmVkOiBib29sZWFuO1xuICBzdGF0dXM6IEV4Y2x1ZGU8Um91dGVyUHJlcGFyZVN0YXR1c1ZhbHVlLCAncGVuZGluZyc+O1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZUV2ZW50ID1cbiAgUm91dGVyUHJlcGFyZVN0YXJ0RXZlbnQgfCBSb3V0ZXJQcmVwYXJlQ29tcGxldGVFdmVudDtcblxuZXhwb3J0IHR5cGUgUm91dGVyQWN0aXZlTG9hZFN0YXRlRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdhY3RpdmUtbG9hZC1zdGF0ZSc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgcm91dGVQYXRoPzogc3RyaW5nO1xuICBzdGF0dXM6IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZVsnc3RhdHVzJ107XG4gIHBlbmRpbmdDb3VudDogbnVtYmVyO1xuICByZWplY3RlZENvdW50OiBudW1iZXI7XG4gIHZlcnNpb246IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlckV2ZW50ID1cbiAgfCBSb3V0ZXJTbmFwc2hvdEV2ZW50XG4gIHwgUm91dGVyUHJlbG9hZEV2ZW50XG4gIHwgUm91dGVySGlzdG9yeUV2ZW50XG4gIHwgUm91dGVyUG9wc3RhdGVFdmVudFxuICB8IFJvdXRlclByZXBhcmVFdmVudFxuICB8IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZUV2ZW50O1xuXG4vKipcbiAqIEluc3RydW1lbnRhdGlvbnMgY2FuIG9ic2VydmUgcm91dGVyIGV2ZW50cywgZW50cnkgY2hhbmdlcywgYW5kIG9wdGlvbmFsbHlcbiAqIGRpc3Bvc2UgcmVzb3VyY2VzIHdoZW4gdGhlIHJlZ2lzdHJ5IGlzIHRvcm4gZG93bi5cbiAqL1xuZXhwb3J0IHR5cGUgSW5zdHJ1bWVudGF0aW9uQVBJID0ge1xuICBvbkV2ZW50PzogKGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZDtcbiAgb25FbnRyeUNoYW5nZT86IChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZDtcbiAgZGlzcG9zZT86ICgpID0+IHZvaWQ7XG59O1xuXG5leHBvcnQgdHlwZSBJbnN0cnVtZW50YXRpb25SZWdpc3RyeSA9IHtcbiAgcmVnaXN0ZXI6IChpbnN0cnVtZW50YXRpb246IEluc3RydW1lbnRhdGlvbkFQSSkgPT4gdm9pZDtcbiAgdW5yZWdpc3RlcjogKGluc3RydW1lbnRhdGlvbjogSW5zdHJ1bWVudGF0aW9uQVBJKSA9PiB2b2lkO1xuICBlbWl0RXZlbnQ6IChldmVudDogUm91dGVyRXZlbnQpID0+IHZvaWQ7XG4gIG5vdGlmeUVudHJ5Q2hhbmdlOiAoZW50cnk6IFJvdXRlckVudHJ5U25hcHNob3QpID0+IHZvaWQ7XG4gIGRpc3Bvc2U6ICgpID0+IHZvaWQ7XG4gIHJlYWRvbmx5IHNpemU6IG51bWJlcjtcbn07XG5cbi8qKlxuICogQ3JlYXRlcyBhIHJlZ2lzdHJ5IGNvb3JkaW5hdGluZyBhIHNldCBvZiBpbnN0cnVtZW50YXRpb25zLiBUaGUgcmVnaXN0cnkga2VlcHNcbiAqIGNvbnN1bWVyIGNvZGUgc2ltcGxlOiByb3V0ZXIgaW50ZXJuYWxzIGJyb2FkY2FzdCBldmVudHMgd2l0aG91dCBjYXJpbmcgYWJvdXRcbiAqIHRoZSBudW1iZXIgb3IgbmF0dXJlIG9mIGF0dGFjaGVkIGluc3RydW1lbnRhdGlvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnN0cnVtZW50YXRpb25SZWdpc3RyeShcbiAgaW5pdGlhbDogSW5zdHJ1bWVudGF0aW9uQVBJW10gPSBbXSxcbik6IEluc3RydW1lbnRhdGlvblJlZ2lzdHJ5IHtcbiAgY29uc3QgbGlzdGVuZXJzID0gbmV3IFNldDxJbnN0cnVtZW50YXRpb25BUEk+KCk7XG4gIGluaXRpYWwuZm9yRWFjaCgoaW5zdHJ1bWVudGF0aW9uKSA9PiB7XG4gICAgbGlzdGVuZXJzLmFkZChpbnN0cnVtZW50YXRpb24pO1xuICB9KTtcblxuICBsZXQgZGlzcG9zZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhyb3dzIHdoZW4gdGhlIHJlZ2lzdHJ5IGhhcyBhbHJlYWR5IGJlZW4gZGlzcG9zZWQuIEd1YXJkcyBldmVudCBlbWlzc2lvbi5cbiAgICovXG4gIGZ1bmN0aW9uIGd1YXJkKCkge1xuICAgIGlmIChkaXNwb3NlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnN0cnVtZW50YXRpb24gcmVnaXN0cnkgd2FzIGRpc3Bvc2VkJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNhZmVseSBpbnZva2VzIGFuIG9wdGlvbmFsIGhhbmRsZXIgcHJvdmlkZWQgYnkgYW4gaW5zdHJ1bWVudGF0aW9uLlxuICAgKiBGYWlsdXJlcyBhcmUgc3dhbGxvd2VkIHNvIHJvdXRlciBleGVjdXRpb24gY29udGludWVzIHVuaW50ZXJydXB0ZWQuXG4gICAqL1xuICBmdW5jdGlvbiBzYWZlSW52b2tlKFxuICAgIGluc3RydW1lbnRhdGlvbjogSW5zdHJ1bWVudGF0aW9uQVBJLFxuICAgIG1ldGhvZDoga2V5b2YgSW5zdHJ1bWVudGF0aW9uQVBJLFxuICAgIHBheWxvYWQ6IHVua25vd25bXSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgaGFuZGxlciA9IGluc3RydW1lbnRhdGlvblttZXRob2RdO1xuICAgIGlmICh0eXBlb2YgaGFuZGxlciAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgKGhhbmRsZXIgYXMgKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdm9pZCkoLi4ucGF5bG9hZCk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBJbnN0cnVtZW50YXRpb25zIHNob3VsZCBuZXZlciBicmVhayByb3V0ZXIgZXhlY3V0aW9uLiBFcnJvcnMgYXJlIHN3YWxsb3dlZC5cbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHJlZ2lzdGVyKGluc3RydW1lbnRhdGlvbikge1xuICAgICAgZ3VhcmQoKTtcbiAgICAgIGxpc3RlbmVycy5hZGQoaW5zdHJ1bWVudGF0aW9uKTtcbiAgICB9LFxuICAgIHVucmVnaXN0ZXIoaW5zdHJ1bWVudGF0aW9uKSB7XG4gICAgICBndWFyZCgpO1xuICAgICAgbGlzdGVuZXJzLmRlbGV0ZShpbnN0cnVtZW50YXRpb24pO1xuICAgIH0sXG4gICAgZW1pdEV2ZW50KGV2ZW50KSB7XG4gICAgICBndWFyZCgpO1xuICAgICAgbGlzdGVuZXJzLmZvckVhY2goKGluc3RydW1lbnRhdGlvbikgPT4ge1xuICAgICAgICBzYWZlSW52b2tlKGluc3RydW1lbnRhdGlvbiwgJ29uRXZlbnQnLCBbZXZlbnRdKTtcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgbm90aWZ5RW50cnlDaGFuZ2UoZW50cnkpIHtcbiAgICAgIGd1YXJkKCk7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgoaW5zdHJ1bWVudGF0aW9uKSA9PiB7XG4gICAgICAgIHNhZmVJbnZva2UoaW5zdHJ1bWVudGF0aW9uLCAnb25FbnRyeUNoYW5nZScsIFtlbnRyeV0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBkaXNwb3NlKCkge1xuICAgICAgaWYgKGRpc3Bvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChpbnN0cnVtZW50YXRpb24pID0+IHtcbiAgICAgICAgc2FmZUludm9rZShpbnN0cnVtZW50YXRpb24sICdkaXNwb3NlJywgW10pO1xuICAgICAgfSk7XG4gICAgICBsaXN0ZW5lcnMuY2xlYXIoKTtcbiAgICAgIGRpc3Bvc2VkID0gdHJ1ZTtcbiAgICB9LFxuICAgIGdldCBzaXplKCkge1xuICAgICAgcmV0dXJuIGxpc3RlbmVycy5zaXplO1xuICAgIH0sXG4gIH07XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5zdHJ1bWVudGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2luc3RydW1lbnRhdGlvbi9JbnN0cnVtZW50YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUtBLE1BQU0sVUFBVSw2QkFBNkIsQ0FDM0MsT0FBTyxHQUF5QixFQUFFO0lBRWxDLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxFQUFzQixDQUFDO0lBQ2hELE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtRQUNsQyxTQUFTLENBQUMsR0FBRyxDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0lBRUgsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBS3JCLFNBQVMsS0FBSztRQUNaLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixNQUFNLElBQUksS0FBSyxDQUFDLHVDQUF1QyxDQUFDLENBQUM7UUFDM0QsQ0FBQztJQUNILENBQUM7SUFNRCxTQUFTLFVBQVUsQ0FDakIsZUFBbUMsRUFDbkMsTUFBZ0MsRUFDaEMsT0FBa0I7UUFFbEIsTUFBTSxPQUFPLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3hDLElBQUksT0FBTyxPQUFPLEtBQUssVUFBVSxFQUFFLENBQUM7WUFDbEMsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLENBQUM7WUFDRixPQUF3QyxDQUFDLEdBQUcsT0FBTyxDQUFDLENBQUM7UUFDeEQsQ0FBQztRQUFDLE1BQU0sQ0FBQztRQUVULENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLFFBQVEsQ0FBQyxlQUFlO1lBQ3RCLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsVUFBVSxDQUFDLGVBQWU7WUFDeEIsS0FBSyxFQUFFLENBQUM7WUFDUixTQUFTLENBQUMsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQ3BDLENBQUM7UUFDRCxTQUFTLENBQUMsS0FBSztZQUNiLEtBQUssRUFBRSxDQUFDO1lBQ1IsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBQ0QsaUJBQWlCLENBQUMsS0FBSztZQUNyQixLQUFLLEVBQUUsQ0FBQztZQUNSLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxlQUFlLEVBQUUsRUFBRTtnQkFDcEMsVUFBVSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU87WUFDTCxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU87WUFDVCxDQUFDO1lBQ0QsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO2dCQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLFNBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQztZQUM3QyxDQUFDLENBQUMsQ0FBQztZQUNILFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixRQUFRLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLENBQUM7UUFDRCxJQUFJLElBQUk7WUFDTixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsQ0FBQztLQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUge1xuICBBc3luY1Jlc291cmNlU3RhdHVzLFxuICBQcmVwYXJlZFJvdXRlU2VnbWVudFNuYXBzaG90LFxuICBSYXdRdWVyeSxcbiAgUm91dGVyQWN0aXZlTG9hZFN0YXRlLFxuICBSb3V0ZXJMb2FkU3RhdGUsXG4gIFJvdXRlclJlbmRlclN0YXR1cyxcbiAgVW5rbm93bkZpbHRlcnMsXG59IGZyb20gJy4uL3R5cGVzLmpzJztcbmltcG9ydCB0eXBlIHsgU2NoZW1hIGFzIEZpbHRlclNjaGVtYSB9IGZyb20gJ0BwbHVtaWxlL2ZpbHRlci1xdWVyeS90eXBlcy5qcyc7XG5pbXBvcnQgdHlwZSB7IFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcbmltcG9ydCB0eXBlIHtcbiAgUm91dGVySGlzdG9yeUFjdGlvblZhbHVlLFxuICBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlVmFsdWUsXG4gIFJvdXRlclBvcHN0YXRlRGlyZWN0aW9uVmFsdWUsXG4gIFJvdXRlclByZWxvYWRNb2RlVmFsdWUsXG4gIFJvdXRlclByZXBhcmVTdGF0dXNWYWx1ZSxcbn0gZnJvbSAnLi4vdmFsdWVzLmpzJztcblxuLyoqXG4gKiBFbnVtZXJhdGVzIHRoZSBvcmlnaW4gb2YgbmF2aWdhdGlvbi1yZWxhdGVkIGV2ZW50cyBleHBvc2VkIHRvIGluc3RydW1lbnRhdGlvbnMuXG4gKlxuICogS2VwdCBhcyBzdHJpbmcgbGl0ZXJhbHMgdG8gYXZvaWQgbGVha2luZyBkZWJ1ZyBlbnVtcyBpbnRvIHRoZSBwcm9kdWN0aW9uIGJ1bmRsZS5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyTmF2aWdhdGlvblNvdXJjZSA9IFJvdXRlck5hdmlnYXRpb25Tb3VyY2VWYWx1ZTtcblxuLyoqXG4gKiBDb21wYWN0IGxvY2F0aW9uIHNuYXBzaG90IHNoYXJlZCBieSBhbGwgaW5zdHJ1bWVudGF0aW9uIGV2ZW50cy5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyTG9jYXRpb25TbmFwc2hvdCA9IHtcbiAgcGF0aG5hbWU6IHN0cmluZztcbiAgc2VhcmNoOiBzdHJpbmc7XG4gIGhhc2g6IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclByZXBhcmVkU2VnbWVudFNuYXBzaG90ID0gUHJlcGFyZWRSb3V0ZVNlZ21lbnRTbmFwc2hvdCAmIHtcbiAgcHJlcGFyZWRTdGF0dXM/OiBBc3luY1Jlc291cmNlU3RhdHVzO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyUHJlcGFyZWRNYXRjaFNuYXBzaG90ID0ge1xuICBzZWdtZW50czogUm91dGVyUHJlcGFyZWRTZWdtZW50U25hcHNob3RbXTtcbn07XG5cbi8qKlxuICogU3VtbWFyeSBvZiB0aGUgY3VycmVudCByb3V0ZXIgZW50cnkgdGhhdCBjYW4gYmUgYnJvYWRjYXN0IHRvIGluc3RydW1lbnRhdGlvbnMuXG4gKiBUaGUgc2hhcGUgaW50ZW50aW9uYWxseSBtaXJyb3JzIHB1YmxpYyBkYXRhIGFscmVhZHkgYXZhaWxhYmxlIHRvIGFwcGxpY2F0aW9ucy5cbiAqL1xuZXhwb3J0IHR5cGUgUm91dGVyRW50cnlTbmFwc2hvdCA9IHtcbiAgbG9jYXRpb246IFJvdXRlckxvY2F0aW9uU25hcHNob3Q7XG4gIHJhd1NlYXJjaD86IHN0cmluZztcbiAgcm91dGVQYXRoPzogc3RyaW5nO1xuICBwYXJhbXM/OiBQYXJhbURhdGE7XG4gIHF1ZXJ5PzogUmF3UXVlcnk7XG4gIHByZXBhcmVkTWF0Y2g/OiBSb3V0ZXJQcmVwYXJlZE1hdGNoU25hcHNob3Q7XG4gIGFjdGl2ZUxvYWRTdGF0ZT86IFJvdXRlckFjdGl2ZUxvYWRTdGF0ZTtcbiAgbG9hZFN0YXRlPzogUm91dGVyTG9hZFN0YXRlO1xuICBmaWx0ZXJzPzogVW5rbm93bkZpbHRlcnM7XG4gIGZpbHRlckRpYWdub3N0aWNzPzogdW5rbm93bltdO1xuICBhY3RpdmVRdWVyeVNjaGVtYT86IEZpbHRlclNjaGVtYTtcbiAgZm9yY2VSZXJlbmRlcj86IGJvb2xlYW47XG4gIHN0YXR1czogUm91dGVyUmVuZGVyU3RhdHVzO1xufTtcblxuLyoqXG4gKiBCYXNlIHBheWxvYWQgc2hhcmVkIGJ5IHJvdXRlciBldmVudHMuIEVhY2ggZXZlbnQgZXh0ZW5kcyB0aGUgYmFzZSB3aXRoXG4gKiBzcGVjaWZpYyBkZXRhaWxzIHJlbGV2YW50IHRvIHRoZSBpbnN0cnVtZW50YXRpb24uXG4gKi9cbmV4cG9ydCB0eXBlIFJvdXRlckV2ZW50QmFzZSA9IHtcbiAgdGltZXN0YW1wOiBudW1iZXI7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyU25hcHNob3RFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ3NuYXBzaG90JztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVsb2FkRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwcmVsb2FkJztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICB0YXJnZXRQYXRobmFtZTogc3RyaW5nO1xuICBtb2RlOiBSb3V0ZXJQcmVsb2FkTW9kZVZhbHVlO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVySGlzdG9yeUV2ZW50ID0gUm91dGVyRXZlbnRCYXNlICYge1xuICBraW5kOiAnaGlzdG9yeSc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgYWN0aW9uOiBSb3V0ZXJIaXN0b3J5QWN0aW9uVmFsdWU7XG4gIGRldGFpbHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn07XG5cbmV4cG9ydCB0eXBlIFJvdXRlclBvcHN0YXRlRXZlbnQgPSBSb3V0ZXJFdmVudEJhc2UgJiB7XG4gIGtpbmQ6ICdwb3BzdGF0ZSc7XG4gIHNvdXJjZTogUm91dGVyTmF2aWdhdGlvblNvdXJjZTtcbiAgZGlyZWN0aW9uOiBSb3V0ZXJQb3BzdGF0ZURpcmVjdGlvblZhbHVlO1xuICBkZXRhaWxzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVwYXJlU3RhcnRFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ3ByZXBhcmUtc3RhcnQnO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIHJvdXRlUGF0aD86IHN0cmluZztcbiAgbW9kdWxlSWQ/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVwYXJlQ29tcGxldGVFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIHJvdXRlUGF0aD86IHN0cmluZztcbiAgbW9kdWxlSWQ/OiBzdHJpbmc7XG4gIGR1cmF0aW9uTXM6IG51bWJlcjtcbiAgaGFzUHJlcGFyZWQ6IGJvb2xlYW47XG4gIHN0YXR1czogRXhjbHVkZTxSb3V0ZXJQcmVwYXJlU3RhdHVzVmFsdWUsICdwZW5kaW5nJz47XG59O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJQcmVwYXJlRXZlbnQgPVxuICBSb3V0ZXJQcmVwYXJlU3RhcnRFdmVudCB8IFJvdXRlclByZXBhcmVDb21wbGV0ZUV2ZW50O1xuXG5leHBvcnQgdHlwZSBSb3V0ZXJBY3RpdmVMb2FkU3RhdGVFdmVudCA9IFJvdXRlckV2ZW50QmFzZSAmIHtcbiAga2luZDogJ2FjdGl2ZS1sb2FkLXN0YXRlJztcbiAgc291cmNlOiBSb3V0ZXJOYXZpZ2F0aW9uU291cmNlO1xuICByb3V0ZVBhdGg/OiBzdHJpbmc7XG4gIHN0YXR1czogUm91dGVyQWN0aXZlTG9hZFN0YXRlWydzdGF0dXMnXTtcbiAgcGVuZGluZ0NvdW50OiBudW1iZXI7XG4gIHJlamVjdGVkQ291bnQ6IG51bWJlcjtcbiAgdmVyc2lvbjogbnVtYmVyO1xufTtcblxuZXhwb3J0IHR5cGUgUm91dGVyRXZlbnQgPVxuICB8IFJvdXRlclNuYXBzaG90RXZlbnRcbiAgfCBSb3V0ZXJQcmVsb2FkRXZlbnRcbiAgfCBSb3V0ZXJIaXN0b3J5RXZlbnRcbiAgfCBSb3V0ZXJQb3BzdGF0ZUV2ZW50XG4gIHwgUm91dGVyUHJlcGFyZUV2ZW50XG4gIHwgUm91dGVyQWN0aXZlTG9hZFN0YXRlRXZlbnQ7XG5cbi8qKlxuICogSW5zdHJ1bWVudGF0aW9ucyBjYW4gb2JzZXJ2ZSByb3V0ZXIgZXZlbnRzLCBlbnRyeSBjaGFuZ2VzLCBhbmQgb3B0aW9uYWxseVxuICogZGlzcG9zZSByZXNvdXJjZXMgd2hlbiB0aGUgcmVnaXN0cnkgaXMgdG9ybiBkb3duLlxuICovXG5leHBvcnQgdHlwZSBJbnN0cnVtZW50YXRpb25BUEkgPSB7XG4gIG9uRXZlbnQ/OiAoZXZlbnQ6IFJvdXRlckV2ZW50KSA9PiB2b2lkO1xuICBvbkVudHJ5Q2hhbmdlPzogKGVudHJ5OiBSb3V0ZXJFbnRyeVNuYXBzaG90KSA9PiB2b2lkO1xuICBkaXNwb3NlPzogKCkgPT4gdm9pZDtcbn07XG5cbmV4cG9ydCB0eXBlIEluc3RydW1lbnRhdGlvblJlZ2lzdHJ5ID0ge1xuICByZWdpc3RlcjogKGluc3RydW1lbnRhdGlvbjogSW5zdHJ1bWVudGF0aW9uQVBJKSA9PiB2b2lkO1xuICB1bnJlZ2lzdGVyOiAoaW5zdHJ1bWVudGF0aW9uOiBJbnN0cnVtZW50YXRpb25BUEkpID0+IHZvaWQ7XG4gIGVtaXRFdmVudDogKGV2ZW50OiBSb3V0ZXJFdmVudCkgPT4gdm9pZDtcbiAgbm90aWZ5RW50cnlDaGFuZ2U6IChlbnRyeTogUm91dGVyRW50cnlTbmFwc2hvdCkgPT4gdm9pZDtcbiAgZGlzcG9zZTogKCkgPT4gdm9pZDtcbiAgcmVhZG9ubHkgc2l6ZTogbnVtYmVyO1xufTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgcmVnaXN0cnkgY29vcmRpbmF0aW5nIGEgc2V0IG9mIGluc3RydW1lbnRhdGlvbnMuIFRoZSByZWdpc3RyeSBrZWVwc1xuICogY29uc3VtZXIgY29kZSBzaW1wbGU6IHJvdXRlciBpbnRlcm5hbHMgYnJvYWRjYXN0IGV2ZW50cyB3aXRob3V0IGNhcmluZyBhYm91dFxuICogdGhlIG51bWJlciBvciBuYXR1cmUgb2YgYXR0YWNoZWQgaW5zdHJ1bWVudGF0aW9ucy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUluc3RydW1lbnRhdGlvblJlZ2lzdHJ5KFxuICBpbml0aWFsOiBJbnN0cnVtZW50YXRpb25BUElbXSA9IFtdLFxuKTogSW5zdHJ1bWVudGF0aW9uUmVnaXN0cnkge1xuICBjb25zdCBsaXN0ZW5lcnMgPSBuZXcgU2V0PEluc3RydW1lbnRhdGlvbkFQST4oKTtcbiAgaW5pdGlhbC5mb3JFYWNoKChpbnN0cnVtZW50YXRpb24pID0+IHtcbiAgICBsaXN0ZW5lcnMuYWRkKGluc3RydW1lbnRhdGlvbik7XG4gIH0pO1xuXG4gIGxldCBkaXNwb3NlZCA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBUaHJvd3Mgd2hlbiB0aGUgcmVnaXN0cnkgaGFzIGFscmVhZHkgYmVlbiBkaXNwb3NlZC4gR3VhcmRzIGV2ZW50IGVtaXNzaW9uLlxuICAgKi9cbiAgZnVuY3Rpb24gZ3VhcmQoKSB7XG4gICAgaWYgKGRpc3Bvc2VkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0luc3RydW1lbnRhdGlvbiByZWdpc3RyeSB3YXMgZGlzcG9zZWQnKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2FmZWx5IGludm9rZXMgYW4gb3B0aW9uYWwgaGFuZGxlciBwcm92aWRlZCBieSBhbiBpbnN0cnVtZW50YXRpb24uXG4gICAqIEZhaWx1cmVzIGFyZSBzd2FsbG93ZWQgc28gcm91dGVyIGV4ZWN1dGlvbiBjb250aW51ZXMgdW5pbnRlcnJ1cHRlZC5cbiAgICovXG4gIGZ1bmN0aW9uIHNhZmVJbnZva2UoXG4gICAgaW5zdHJ1bWVudGF0aW9uOiBJbnN0cnVtZW50YXRpb25BUEksXG4gICAgbWV0aG9kOiBrZXlvZiBJbnN0cnVtZW50YXRpb25BUEksXG4gICAgcGF5bG9hZDogdW5rbm93bltdLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBoYW5kbGVyID0gaW5zdHJ1bWVudGF0aW9uW21ldGhvZF07XG4gICAgaWYgKHR5cGVvZiBoYW5kbGVyICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICAoaGFuZGxlciBhcyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB2b2lkKSguLi5wYXlsb2FkKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIEluc3RydW1lbnRhdGlvbnMgc2hvdWxkIG5ldmVyIGJyZWFrIHJvdXRlciBleGVjdXRpb24uIEVycm9ycyBhcmUgc3dhbGxvd2VkLlxuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgcmVnaXN0ZXIoaW5zdHJ1bWVudGF0aW9uKSB7XG4gICAgICBndWFyZCgpO1xuICAgICAgbGlzdGVuZXJzLmFkZChpbnN0cnVtZW50YXRpb24pO1xuICAgIH0sXG4gICAgdW5yZWdpc3RlcihpbnN0cnVtZW50YXRpb24pIHtcbiAgICAgIGd1YXJkKCk7XG4gICAgICBsaXN0ZW5lcnMuZGVsZXRlKGluc3RydW1lbnRhdGlvbik7XG4gICAgfSxcbiAgICBlbWl0RXZlbnQoZXZlbnQpIHtcbiAgICAgIGd1YXJkKCk7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgoaW5zdHJ1bWVudGF0aW9uKSA9PiB7XG4gICAgICAgIHNhZmVJbnZva2UoaW5zdHJ1bWVudGF0aW9uLCAnb25FdmVudCcsIFtldmVudF0pO1xuICAgICAgfSk7XG4gICAgfSxcbiAgICBub3RpZnlFbnRyeUNoYW5nZShlbnRyeSkge1xuICAgICAgZ3VhcmQoKTtcbiAgICAgIGxpc3RlbmVycy5mb3JFYWNoKChpbnN0cnVtZW50YXRpb24pID0+IHtcbiAgICAgICAgc2FmZUludm9rZShpbnN0cnVtZW50YXRpb24sICdvbkVudHJ5Q2hhbmdlJywgW2VudHJ5XSk7XG4gICAgICB9KTtcbiAgICB9LFxuICAgIGRpc3Bvc2UoKSB7XG4gICAgICBpZiAoZGlzcG9zZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGlzdGVuZXJzLmZvckVhY2goKGluc3RydW1lbnRhdGlvbikgPT4ge1xuICAgICAgICBzYWZlSW52b2tlKGluc3RydW1lbnRhdGlvbiwgJ2Rpc3Bvc2UnLCBbXSk7XG4gICAgICB9KTtcbiAgICAgIGxpc3RlbmVycy5jbGVhcigpO1xuICAgICAgZGlzcG9zZWQgPSB0cnVlO1xuICAgIH0sXG4gICAgZ2V0IHNpemUoKSB7XG4gICAgICByZXR1cm4gbGlzdGVuZXJzLnNpemU7XG4gICAgfSxcbiAgfTtcbn1cbiJdfQ==
@@ -10,6 +10,7 @@ export type DevtoolsBridge = {
10
10
  subscribeEvents: (callback: (event: RouterEvent) => void, options?: {
11
11
  replay?: boolean;
12
12
  }) => () => void;
13
+ clearEvents: () => void;
13
14
  historyLimit: number;
14
15
  };
15
16
  declare function isObject(value: unknown): value is Record<string, unknown>;
@@ -1 +1 @@
1
- {"version":3,"file":"devtoolsBridge.d.ts","sourceRoot":"","sources":["../../../../src/instrumentation/adapters/devtoolsBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,WAAW,EAAE,CAAC;IAC/B,gBAAgB,EAAE,CAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,KAC3C,MAAM,IAAI,CAAC;IAChB,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3B,MAAM,IAAI,CAAC;IAChB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAGD,iBAAS,WAAW,CAClB,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAcf;AAiBD,iBAAS,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAyBvE;AAED,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAKX,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,qBAA0B,GAClC,kBAAkB,CA4FpB"}
1
+ {"version":3,"file":"devtoolsBridge.d.ts","sourceRoot":"","sources":["../../../../src/instrumentation/adapters/devtoolsBridge.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,mBAAmB,EACnB,WAAW,EACZ,MAAM,uBAAuB,CAAC;AAK/B,MAAM,MAAM,qBAAqB,GAAG;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,mBAAmB,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,MAAM,WAAW,EAAE,CAAC;IAC/B,gBAAgB,EAAE,CAChB,QAAQ,EAAE,CAAC,KAAK,EAAE,mBAAmB,KAAK,IAAI,KAC3C,MAAM,IAAI,CAAC;IAChB,eAAe,EAAE,CACf,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,EACtC,OAAO,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,KAC3B,MAAM,IAAI,CAAC;IAChB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAGF,iBAAS,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAElE;AAGD,iBAAS,WAAW,CAClB,MAAM,EAAE,WAAW,EAAE,EACrB,KAAK,EAAE,WAAW,EAClB,WAAW,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC,EAC9C,KAAK,EAAE,MAAM,GACZ,WAAW,EAAE,CAiBf;AAiBD,iBAAS,eAAe,CAAC,KAAK,EAAE,mBAAmB,GAAG,MAAM,GAAG,SAAS,CAyBvE;AAED,eAAO,MAAM,oBAAoB;;;;CAIvB,CAAC;AAKX,wBAAgB,mCAAmC,CACjD,OAAO,GAAE,qBAA0B,GAClC,kBAAkB,CAsGpB"}