@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.
- package/README.md +2 -1
- package/lib/esm/builder.d.ts +1 -0
- package/lib/esm/builder.d.ts.map +1 -1
- package/lib/esm/builder.js +27 -4
- package/lib/esm/errors/HttpRedirect.d.ts +3 -2
- package/lib/esm/errors/HttpRedirect.d.ts.map +1 -1
- package/lib/esm/errors/HttpRedirect.js +1 -1
- package/lib/esm/history/BrowserHistory.d.ts +4 -1
- package/lib/esm/history/BrowserHistory.d.ts.map +1 -1
- package/lib/esm/history/BrowserHistory.js +52 -2
- package/lib/esm/history/types.d.ts +6 -0
- package/lib/esm/history/types.d.ts.map +1 -1
- package/lib/esm/history/types.js +1 -1
- package/lib/esm/instrumentation/Instrumentation.d.ts +8 -10
- package/lib/esm/instrumentation/Instrumentation.d.ts.map +1 -1
- package/lib/esm/instrumentation/Instrumentation.js +1 -1
- package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts +1 -0
- package/lib/esm/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
- package/lib/esm/instrumentation/adapters/devtoolsBridge.js +18 -7
- package/lib/esm/routing/Link.d.ts.map +1 -1
- package/lib/esm/routing/Link.js +24 -10
- package/lib/esm/routing/RouteComponentWrapper.d.ts.map +1 -1
- package/lib/esm/routing/RouteComponentWrapper.js +26 -50
- package/lib/esm/routing/RouterRenderer.d.ts +5 -2
- package/lib/esm/routing/RouterRenderer.d.ts.map +1 -1
- package/lib/esm/routing/RouterRenderer.js +8 -2
- package/lib/esm/routing/createRouter.d.ts +2 -1
- package/lib/esm/routing/createRouter.d.ts.map +1 -1
- package/lib/esm/routing/createRouter.js +192 -16
- package/lib/esm/routing/createStaticRouter.d.ts +16 -2
- package/lib/esm/routing/createStaticRouter.d.ts.map +1 -1
- package/lib/esm/routing/createStaticRouter.js +46 -10
- package/lib/esm/routing/index.d.ts +3 -3
- package/lib/esm/routing/index.d.ts.map +1 -1
- package/lib/esm/routing/index.js +3 -3
- package/lib/esm/routing/routerHydration.d.ts +5 -0
- package/lib/esm/routing/routerHydration.d.ts.map +1 -0
- package/lib/esm/routing/routerHydration.js +57 -0
- package/lib/esm/tools.d.ts +6 -2
- package/lib/esm/tools.d.ts.map +1 -1
- package/lib/esm/tools.js +56 -5
- package/lib/esm/types.d.ts +42 -11
- package/lib/esm/types.d.ts.map +1 -1
- package/lib/esm/types.js +1 -1
- package/lib/tsconfig.esm.tsbuildinfo +1 -1
- package/lib/types/builder.d.ts +1 -0
- package/lib/types/builder.d.ts.map +1 -1
- package/lib/types/errors/HttpRedirect.d.ts +3 -2
- package/lib/types/errors/HttpRedirect.d.ts.map +1 -1
- package/lib/types/history/BrowserHistory.d.ts +4 -1
- package/lib/types/history/BrowserHistory.d.ts.map +1 -1
- package/lib/types/history/types.d.ts +6 -0
- package/lib/types/history/types.d.ts.map +1 -1
- package/lib/types/instrumentation/Instrumentation.d.ts +8 -10
- package/lib/types/instrumentation/Instrumentation.d.ts.map +1 -1
- package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts +1 -0
- package/lib/types/instrumentation/adapters/devtoolsBridge.d.ts.map +1 -1
- package/lib/types/routing/Link.d.ts.map +1 -1
- package/lib/types/routing/RouteComponentWrapper.d.ts.map +1 -1
- package/lib/types/routing/RouterRenderer.d.ts +5 -2
- package/lib/types/routing/RouterRenderer.d.ts.map +1 -1
- package/lib/types/routing/createRouter.d.ts +2 -1
- package/lib/types/routing/createRouter.d.ts.map +1 -1
- package/lib/types/routing/createStaticRouter.d.ts +16 -2
- package/lib/types/routing/createStaticRouter.d.ts.map +1 -1
- package/lib/types/routing/index.d.ts +3 -3
- package/lib/types/routing/index.d.ts.map +1 -1
- package/lib/types/routing/routerHydration.d.ts +5 -0
- package/lib/types/routing/routerHydration.d.ts.map +1 -0
- package/lib/types/tools.d.ts +6 -2
- package/lib/types/tools.d.ts.map +1 -1
- package/lib/types/types.d.ts +42 -11
- package/lib/types/types.d.ts.map +1 -1
- package/package.json +3 -3
- package/lib/esm/routing/RouteComponent.d.ts +0 -8
- package/lib/esm/routing/RouteComponent.d.ts.map +0 -1
- package/lib/esm/routing/RouteComponent.js +0 -20
- package/lib/types/routing/RouteComponent.d.ts +0 -8
- package/lib/types/routing/RouteComponent.d.ts.map +0 -1
package/lib/esm/tools.js
CHANGED
|
@@ -67,7 +67,7 @@ export const __testTools = {
|
|
|
67
67
|
buildHighlightId,
|
|
68
68
|
areSegmentParamsEqual,
|
|
69
69
|
};
|
|
70
|
-
export function prepareMatch(match, query, instrumentation, context, reuse, searchState) {
|
|
70
|
+
export function prepareMatch(match, query, instrumentation, context, reuse, searchState, hydration) {
|
|
71
71
|
if (match == null) {
|
|
72
72
|
return {
|
|
73
73
|
match,
|
|
@@ -76,7 +76,7 @@ export function prepareMatch(match, query, instrumentation, context, reuse, sear
|
|
|
76
76
|
}
|
|
77
77
|
const matchedRoute = match.route;
|
|
78
78
|
const segments = match.route.routes.map((route, routeIndex) => {
|
|
79
|
-
const { path, prepare, querySchema, resourcePage, render, suspenseBoundary, fallback, } = route;
|
|
79
|
+
const { path, prepare, preparedHydration, querySchema, resourcePage, render, suspenseBoundary, fallback, } = route;
|
|
80
80
|
const routeSegment = match.route.routeSegments?.[routeIndex];
|
|
81
81
|
const previousSegment = reuse?.previousSegments?.[routeIndex];
|
|
82
82
|
if (previousSegment?.routeNode === route &&
|
|
@@ -94,6 +94,7 @@ export function prepareMatch(match, query, instrumentation, context, reuse, sear
|
|
|
94
94
|
moduleId = resolvedModuleId;
|
|
95
95
|
}
|
|
96
96
|
}
|
|
97
|
+
const segmentKey = routeSegment?.key ?? buildHighlightId(path, routeIndex, moduleId);
|
|
97
98
|
let prepareStartedAt = 0;
|
|
98
99
|
if (instrumentation != null) {
|
|
99
100
|
prepareStartedAt = Date.now();
|
|
@@ -107,7 +108,53 @@ export function prepareMatch(match, query, instrumentation, context, reuse, sear
|
|
|
107
108
|
});
|
|
108
109
|
}
|
|
109
110
|
let preparedResource;
|
|
110
|
-
if (
|
|
111
|
+
if (hydration?.values.has(segmentKey) === true) {
|
|
112
|
+
if (preparedHydration == null) {
|
|
113
|
+
throw new Error(`Router hydration segment has no prepared codec: ${segmentKey}`);
|
|
114
|
+
}
|
|
115
|
+
const hydratedValue = preparedHydration.deserialize(hydration.values.get(segmentKey));
|
|
116
|
+
hydration.consumed.add(segmentKey);
|
|
117
|
+
preparedResource = createPreparedValueResource(() => {
|
|
118
|
+
return hydratedValue;
|
|
119
|
+
});
|
|
120
|
+
const preparedLoad = preparedResource.load();
|
|
121
|
+
if (instrumentation != null) {
|
|
122
|
+
preparedLoad
|
|
123
|
+
.then(() => {
|
|
124
|
+
const finishedAt = Date.now();
|
|
125
|
+
emitPrepareInstrumentation(instrumentation, {
|
|
126
|
+
kind: 'prepare-complete',
|
|
127
|
+
source: instrumentation.source,
|
|
128
|
+
timestamp: finishedAt,
|
|
129
|
+
location: instrumentation.location,
|
|
130
|
+
routePath: path,
|
|
131
|
+
moduleId,
|
|
132
|
+
durationMs: finishedAt - prepareStartedAt,
|
|
133
|
+
hasPrepared: true,
|
|
134
|
+
status: 'resolved',
|
|
135
|
+
});
|
|
136
|
+
})
|
|
137
|
+
.catch(() => {
|
|
138
|
+
const finishedAt = Date.now();
|
|
139
|
+
emitPrepareInstrumentation(instrumentation, {
|
|
140
|
+
kind: 'prepare-complete',
|
|
141
|
+
source: instrumentation.source,
|
|
142
|
+
timestamp: finishedAt,
|
|
143
|
+
location: instrumentation.location,
|
|
144
|
+
routePath: path,
|
|
145
|
+
moduleId,
|
|
146
|
+
durationMs: finishedAt - prepareStartedAt,
|
|
147
|
+
hasPrepared: true,
|
|
148
|
+
status: 'rejected',
|
|
149
|
+
});
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
else {
|
|
153
|
+
preparedLoad.catch(() => {
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
else if (prepare != null) {
|
|
111
158
|
preparedResource = createPreparedValueResource(() => {
|
|
112
159
|
return prepare({
|
|
113
160
|
match,
|
|
@@ -183,11 +230,13 @@ export function prepareMatch(match, query, instrumentation, context, reuse, sear
|
|
|
183
230
|
routeNode: route,
|
|
184
231
|
path,
|
|
185
232
|
fullPath: routeSegment?.fullPath ?? path,
|
|
186
|
-
segmentKey
|
|
233
|
+
segmentKey,
|
|
187
234
|
paramNames: routeSegment?.paramNames ?? [],
|
|
188
235
|
segmentIndex: routeIndex,
|
|
189
236
|
preparedResource,
|
|
237
|
+
preparedHydration,
|
|
190
238
|
redirectTo: matchedRoute.redirectTo ?? null,
|
|
239
|
+
redirectStatus: matchedRoute.redirectStatus,
|
|
191
240
|
render,
|
|
192
241
|
resourcePage,
|
|
193
242
|
suspenseBoundary: suspenseBoundary ?? 'inherit',
|
|
@@ -216,7 +265,9 @@ export async function prepareMatchAsync(match, query, instrumentation, context)
|
|
|
216
265
|
paramNames: route.paramNames,
|
|
217
266
|
segmentIndex: route.segmentIndex,
|
|
218
267
|
prepared,
|
|
268
|
+
preparedHydration: route.preparedHydration,
|
|
219
269
|
redirectTo: route.redirectTo,
|
|
270
|
+
redirectStatus: route.redirectStatus,
|
|
220
271
|
render: route.render,
|
|
221
272
|
resourcePage: route.resourcePage,
|
|
222
273
|
suspenseBoundary: route.suspenseBoundary,
|
|
@@ -233,4 +284,4 @@ export async function prepareMatchAsync(match, query, instrumentation, context)
|
|
|
233
284
|
export function r(route) {
|
|
234
285
|
return route;
|
|
235
286
|
}
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUJBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBbUJuRSxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLElBQXVCLEVBQ3ZCLEtBQXdCLEVBQ2YsRUFBRTtJQUNYLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLFVBQTZCLEVBQzdCLElBQTJCLEVBQzNCLEtBQWdCLEVBQ1AsRUFBRTtJQUNYLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFD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QUNuQyxRQUFRLEdBQUcsTUFBTSxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU87WUFDTCxTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7WUFDMUIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO1lBQ2hCLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7WUFDNUIsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxRQUFRO1lBQ1IsVUFBVSxFQUFFLEtBQUssQ0FBQyxVQUFVO1lBQzVCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtZQUNwQixZQUFZLEVBQUUsS0FBSyxDQUFDLFlBQVk7WUFDaEMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLGdCQUFnQjtZQUN4QyxRQUFRLEVBQUUsS0FBSyxDQUFDLFFBQVE7WUFDeEIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1lBQzlCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVztTQUMvQixDQUFDO0lBQ0osQ0FBQyxDQUNGLENBQ0YsQ0FBQztJQUVGLE9BQU87UUFDTCxLQUFLLEVBQUUsYUFBYSxDQUFDLEtBQUs7UUFDMUIsUUFBUTtLQUNULENBQUM7QUFDSixDQUFDO0FBT0QsTUFBTSxVQUFVLENBQUMsQ0FTZixLQUFtRTtJQUVuRSxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBhcmFtRGF0YSB9IGZyb20gJ3BhdGgtdG8tcmVnZXhwJztcbmltcG9ydCB0eXBlIHsgSGlzdG9yeUxvY2F0aW9uU25hcHNob3QgfSBmcm9tICcuL2hpc3RvcnkvdHlwZXMuanMnO1xuXG5pbXBvcnQge1xuICB0eXBlIEZpbHRlclNjaGVtYSxcbiAgdHlwZSBQcmVwYXJlUmVzdWx0LFxuICB0eXBlIFByZXBhcmVkUm91dGVDaGFpbixcbiAgdHlwZSBQcmVwYXJlZFJvdXRlU2VnbWVudCxcbiAgdHlwZSBSZWRpcmVjdCxcbiAgdHlwZSBSZXNvbHZlZFByZXBhcmVkUm91dGVDaGFpbixcbiAgdHlwZSBSZXNvbHZlZFByZXBhcmVkUm91dGVTZWdtZW50LFxuICB0eXBlIFJvdXRlLFxuICB0eXBlIFJvdXRlTm9kZSxcbiAgdHlwZSBSb3V0ZXJNYXRjaGVkUm91dGUsXG4gIHR5cGUgUmF3UXVlcnksXG4gIHR5cGUgVW5rbm93bkZpbHRlcnMsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFJvdXRlclByZXBhcmVFdmVudCxcbiAgUm91dGVyTmF2aWdhdGlvblNvdXJjZSxcbiAgUm91dGVyTG9jYXRpb25TbmFwc2hvdCxcbn0gZnJvbSAnLi9pbnN0cnVtZW50YXRpb24vSW5zdHJ1bWVudGF0aW9uLmpzJztcblxuaW1wb3J0IHR5cGUgeyBGbGF0Um91dGUgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuaW1wb3J0IHsgY3JlYXRlUHJlcGFyZWRWYWx1ZVJlc291cmNlIH0gZnJvbSAnLi9wcmVwYXJlUmVzb3VyY2UuanMnO1xuXG50eXBlIFByZXBhcmVJbnN0cnVtZW50YXRpb24gPSB7XG4gIGVtaXQ6IChldmVudDogUm91dGVyUHJlcGFyZUV2ZW50KSA9PiB2b2lkO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xufTtcblxudHlwZSBQcmVwYXJlUmV1c2VJbnB1dDxUQ29udGV4dD4gPSB7XG4gIHByZXZpb3VzU2VnbWVudHM/OiBQcmVwYXJlZFJvdXRlU2VnbWVudDxUQ29udGV4dD5bXTtcbiAgcHJldmlvdXNQYXJhbXM/OiBQYXJhbURhdGE7XG4gIHNhbWVTZWFyY2g/OiBib29sZWFuO1xufTtcblxudHlwZSBQcmVwYXJlU2VhcmNoU3RhdGUgPSB7XG4gIHJhd1F1ZXJ5PzogUmF3UXVlcnk7XG4gIGZpbHRlcnM/OiBVbmtub3duRmlsdGVycztcbn07XG5cbmNvbnN0IGlzUGFyYW1WYWx1ZUVxdWFsID0gKFxuICBsZWZ0OiBQYXJhbURhdGFbc3RyaW5nXSxcbiAgcmlnaHQ6IFBhcmFtRGF0YVtzdHJpbmddLFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGxlZnQpIHx8IEFycmF5LmlzQXJyYXkocmlnaHQpKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGxlZnQpIHx8ICFBcnJheS5pc0FycmF5KHJpZ2h0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobGVmdC5sZW5ndGggIT09IHJpZ2h0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbGVmdC5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHJpZ2h0W2luZGV4XTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XG59O1xuXG5jb25zdCBhcmVTZWdtZW50UGFyYW1zRXF1YWwgPSAoXG4gIHBhcmFtTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICBsZWZ0OiBQYXJhbURhdGEgfCB1bmRlZmluZWQsXG4gIHJpZ2h0OiBQYXJhbURhdGEsXG4pOiBib29sZWFuID0+IHtcbiAgaWYgKHBhcmFtTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGxlZnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gcGFyYW1OYW1lcy5ldmVyeSgocGFyYW1OYW1lKSA9PiB7XG4gICAgcmV0dXJuIGlzUGFyYW1WYWx1ZUVxdWFsKGxlZnRbcGFyYW1OYW1lXSwgcmlnaHRbcGFyYW1OYW1lXSk7XG4gIH0pO1xufTtcblxuLyoqIEVtaXRzIHByZXBhcmUgaW5zdHJ1bWVudGF0aW9uIHdpdGhvdXQgYWxsb3dpbmcgaW5zdHJ1bWVudGF0aW9uIGZhaWx1cmVzIHRvIGFmZmVjdCByb3V0aW5nLiAqL1xuZnVuY3Rpb24gZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oXG4gIGluc3RydW1lbnRhdGlvbjogUHJlcGFyZUluc3RydW1lbnRhdGlvbiB8IHVuZGVmaW5lZCxcbiAgZXZlbnQ6IFJvdXRlclByZXBhcmVFdmVudCxcbik6IHZvaWQge1xuICBpZiAoaW5zdHJ1bWVudGF0aW9uID09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICBpbnN0cnVtZW50YXRpb24uZW1pdChldmVudCk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEluc3RydW1lbnRhdGlvbiBtdXN0IG5ldmVyIGJyZWFrIHJvdXRpbmcgb3IgcHJlcGFyZSBsaWZlY3ljbGUuXG4gIH1cbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgZmlyc3QgZmxhdCByb3V0ZSBtYXRjaGluZyB0aGUgcHJvdmlkZWQgbG9jYXRpb24uXG4gKlxuICogQHBhcmFtIHJvdXRlcyAtIEZsYXR0ZW5lZCByb3V0ZSBsaXN0IHRvIGV2YWx1YXRlLlxuICogQHBhcmFtIGxvY2F0aW9uIC0gQnJvd3NlciBsb2NhdGlvbiB3aG9zZSBwYXRobmFtZSBzaG91bGQgYmUgbWF0Y2hlZC5cbiAqIEByZXR1cm5zIE1hdGNoZWQgcm91dGUgd2l0aCBwYXJhbXMgb3IgYG51bGxgIGlmIG5vbmUgbWF0Y2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaGVkUm91dGU8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YT4oXG4gIHJvdXRlczogRmxhdFJvdXRlPFRQYXJhbXM+W10sXG4gIGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb25TbmFwc2hvdCxcbik6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwge1xuICBmb3IgKGNvbnN0IHJvdXRlIG9mIHJvdXRlcykge1xuICAgIGNvbnN0IG1hdGNoID0gcm91dGUubWF0Y2hGdW5jdGlvbihsb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgaWYgKG1hdGNoICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgeyBwYXRoLCBwYXJhbXMgfSA9IG1hdGNoO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2gsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICBwYXRoLFxuICAgICAgICBwYXJhbXMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIERlcml2ZXMgYSBkZXRlcm1pbmlzdGljIGlkZW50aWZpZXIgdGhhdCBsaW5rcyBwcmVwYXJlZCByb3V0ZXMgdG8gRE9NIG1hcmtlcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkSGlnaGxpZ2h0SWQoXG4gIHJvdXRlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBpbmRleDogbnVtYmVyLFxuICBtb2R1bGVJZD86IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBpZiAodHlwZW9mIG1vZHVsZUlkID09PSAnc3RyaW5nJyAmJiBtb2R1bGVJZC50cmltKCkgIT09ICcnKSB7XG4gICAgcGFydHMucHVzaChgbW9kdWxlOiR7bW9kdWxlSWR9YCk7XG4gIH1cbiAgaWYgKHR5cGVvZiByb3V0ZVBhdGggPT09ICdzdHJpbmcnICYmIHJvdXRlUGF0aC50cmltKCkgIT09ICcnKSB7XG4gICAgcGFydHMucHVzaChgcGF0aDoke3JvdXRlUGF0aH1gKTtcbiAgfVxuICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgcGFydHMucHVzaCgncm91dGUnKTtcbiAgfVxuICBwYXJ0cy5wdXNoKGBpbmRleDoke2luZGV4fWApO1xuICByZXR1cm4gcGFydHMuam9pbignfCcpO1xufVxuXG5leHBvcnQgY29uc3QgX190ZXN0VG9vbHMgPSB7XG4gIGJ1aWxkSGlnaGxpZ2h0SWQsXG4gIGFyZVNlZ21lbnRQYXJhbXNFcXVhbCxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogUHJlcGFyZXMgYSBtYXRjaGVkIHJvdXRlIGJ5IGV4ZWN1dGluZyBgcHJlcGFyZWAgY2FsbGJhY2tzIGFuZCByZXNvbHZpbmcgcmVzb3VyY2UgcGFnZXMuXG4gKlxuICogQHBhcmFtIG1hdGNoIC0gTWF0Y2hlZCByb3V0ZSBkZXNjcmlwdG9yIChvciBgbnVsbGAgd2hlbiBub3RoaW5nIG1hdGNoZWQpLlxuICogQHBhcmFtIHF1ZXJ5IC0gT3B0aW9uYWwgcXVlcnkgb2JqZWN0IGZvcndhcmRlZCB0byBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSBjb250ZXh0IC0gT3B0aW9uYWwgcm91dGVyIGNvbnRleHQgZm9yd2FyZGVkIHRvIHByZXBhcmUgZnVuY3Rpb25zLlxuICogQHJldHVybnMgUHJlcGFyZWQgaGllcmFyY2h5IHJlYWR5IGZvciB0aGUgcmVuZGVyZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlTWF0Y2g8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YSwgVENvbnRleHQgPSB1bmtub3duPihcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwsXG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGluc3RydW1lbnRhdGlvbj86IFByZXBhcmVJbnN0cnVtZW50YXRpb24sXG4gIGNvbnRleHQ/OiBUQ29udGV4dCxcbiAgcmV1c2U/OiBQcmVwYXJlUmV1c2VJbnB1dDxUQ29udGV4dD4sXG4gIHNlYXJjaFN0YXRlPzogUHJlcGFyZVNlYXJjaFN0YXRlLFxuKTogUHJlcGFyZWRSb3V0ZUNoYWluPFRQYXJhbXMsIFRDb250ZXh0PiB7XG4gIC8vIE5PVEU6IFJ1bnRpbWUgcmV0YWlucyBhIGdlbmVyaWMgUHJlcGFyZWRSZXN1bHQ7IHR5cGUtbGV2ZWwgbmFycm93aW5nIGlzIGFjaGlldmVkIGV4dGVybmFsbHlcbiAgLy8gdGhyb3VnaCB0aGUgcm91dGUgdW5pb24gYW5kIFByZXBhcmVkQWNjZXNzIGhlbHBlcnMuIFdlIGludGVudGlvbmFsbHkgYXZvaWQgaW5qZWN0aW5nXG4gIC8vIGdlbmVyaWMgcGFyYW1ldGVycyBoZXJlIHRvIGtlZXAgcnVudGltZSBsaWdodHdlaWdodCB3aGlsZSBzdGlsbCBlbmFibGluZyBjb21waWxlLXRpbWVcbiAgLy8gZGlzY3JpbWluYXRpb24gaW4gdXNlcmxhbmQgdmlhIGNyZWF0ZVJvdXRlciBnZW5lcmljcy5cbiAgaWYgKG1hdGNoID09IG51bGwpIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWF0Y2gsXG4gICAgICBzZWdtZW50czogW10sXG4gICAgfTtcbiAgfVxuXG4gIGNvbnN0IG1hdGNoZWRSb3V0ZSA9IG1hdGNoLnJvdXRlO1xuXG4gIGNvbnN0IHNlZ21lbnRzOiBQcmVwYXJlZFJvdXRlU2VnbWVudDxUQ29udGV4dD5bXSA9IG1hdGNoLnJvdXRlLnJvdXRlcy5tYXAoXG4gICAgKHJvdXRlLCByb3V0ZUluZGV4KSA9PiB7XG4gICAgICBjb25zdCB7XG4gICAgICAgIHBhdGgsXG4gICAgICAgIHByZXBhcmUsXG4gICAgICAgIHF1ZXJ5U2NoZW1hLFxuICAgICAgICByZXNvdXJjZVBhZ2UsXG4gICAgICAgIHJlbmRlcixcbiAgICAgICAgc3VzcGVuc2VCb3VuZGFyeSxcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICB9ID0gcm91dGU7XG4gICAgICBjb25zdCByb3V0ZVNlZ21lbnQgPSBtYXRjaC5yb3V0ZS5yb3V0ZVNlZ21lbnRzPy5bcm91dGVJbmRleF07XG4gICAgICBjb25zdCBwcmV2aW91c1NlZ21lbnQgPSByZXVzZT8ucHJldmlvdXNTZWdtZW50cz8uW3JvdXRlSW5kZXhdO1xuICAgICAgaWYgKFxuICAgICAgICBwcmV2aW91c1NlZ21lbnQ/LnJvdXRlTm9kZSA9PT0gcm91dGUgJiZcbiAgICAgICAgKHJldXNlPy5zYW1lU2VhcmNoID09PSB0cnVlIHx8XG4gICAgICAgICAgcm91dGUucHJlcGFyZVNlYXJjaEJlaGF2aW9yID09PSAncGF0aCcgfHxcbiAgICAgICAgICBwcmVwYXJlID09IG51bGwpICYmXG4gICAgICAgIGFyZVNlZ21lbnRQYXJhbXNFcXVhbChcbiAgICAgICAgICByb3V0ZVNlZ21lbnQ/LnBhcmFtTmFtZXMgPz8gW10sXG4gICAgICAgICAgcmV1c2U/LnByZXZpb3VzUGFyYW1zLFxuICAgICAgICAgIG1hdGNoLnBhcmFtcyxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwcmV2aW91c1NlZ21lbnQ7XG4gICAgICB9XG5cbiAgICAgIGxldCBtb2R1bGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKFxuICAgICAgICByZXNvdXJjZVBhZ2UgIT0gbnVsbCAmJlxuICAgICAgICB0eXBlb2YgcmVzb3VyY2VQYWdlLmdldE1vZHVsZUlkID09PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRNb2R1bGVJZCA9IHJlc291cmNlUGFnZS5nZXRNb2R1bGVJZCgpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc29sdmVkTW9kdWxlSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbW9kdWxlSWQgPSByZXNvbHZlZE1vZHVsZUlkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGxldCBwcmVwYXJlU3RhcnRlZEF0ID0gMDtcbiAgICAgIGlmIChpbnN0cnVtZW50YXRpb24gIT0gbnVsbCkge1xuICAgICAgICBwcmVwYXJlU3RhcnRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAga2luZDogJ3ByZXBhcmUtc3RhcnQnLFxuICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICB0aW1lc3RhbXA6IHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgcHJlcGFyZWRSZXNvdXJjZTogUHJlcGFyZWRSb3V0ZVNlZ21lbnRbJ3ByZXBhcmVkUmVzb3VyY2UnXTtcbiAgICAgIGlmIChwcmVwYXJlICE9IG51bGwpIHtcbiAgICAgICAgcHJlcGFyZWRSZXNvdXJjZSA9IGNyZWF0ZVByZXBhcmVkVmFsdWVSZXNvdXJjZSgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHByZXBhcmUoe1xuICAgICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgICBtYXRjaGVkUm91dGUsXG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgcmVzb3VyY2VQYWdlLFxuICAgICAgICAgICAgLy8gRml4IE9iamVjdC5jcmVhdGUobnVsbCkgaXNzdWUgaW4gcGF0aC10by1yZWdleHBcbiAgICAgICAgICAgIHZhcmlhYmxlczogeyAuLi5tYXRjaC5wYXJhbXMgfSxcbiAgICAgICAgICAgIHF1ZXJ5OiBxdWVyeSA/PyB7fSxcbiAgICAgICAgICAgIHJhd1F1ZXJ5OlxuICAgICAgICAgICAgICBzZWFyY2hTdGF0ZT8ucmF3UXVlcnkgPz8gKHF1ZXJ5IGFzIFJhd1F1ZXJ5IHwgdW5kZWZpbmVkKSA/PyB7fSxcbiAgICAgICAgICAgIGZpbHRlcnM6IHNlYXJjaFN0YXRlPy5maWx0ZXJzLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gRWFnZXJseSBldmFsdWF0ZSBwcmVwYXJlIHNvIHRoZSBwcmVwYXJlZCByZXNvdXJjZSBpbW1lZGlhdGVseSByZWZsZWN0c1xuICAgICAgICAvLyBzeW5jIHJlc29sdXRpb24gb3IgYXN5bmMgcGVuZGluZyBzdGF0ZSBmb3IgdGhlIGN1cnJlbnQgcm91dGUgc25hcHNob3QuXG4gICAgICAgIGNvbnN0IHByZXBhcmVkTG9hZCA9IHByZXBhcmVkUmVzb3VyY2UubG9hZCgpO1xuXG4gICAgICAgIGlmIChpbnN0cnVtZW50YXRpb24gIT0gbnVsbCkge1xuICAgICAgICAgIHByZXBhcmVkTG9hZFxuICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAgICAgICAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGZpbmlzaGVkQXQsXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgICAgICAgICAgZHVyYXRpb25NczogZmluaXNoZWRBdCAtIHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgaGFzUHJlcGFyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAncmVzb2x2ZWQnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAgICAgICAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnLFxuICAgICAgICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICAgICAgICB0aW1lc3RhbXA6IGZpbmlzaGVkQXQsXG4gICAgICAgICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgICAgICAgICAgZHVyYXRpb25NczogZmluaXNoZWRBdCAtIHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgICAgICAgaGFzUHJlcGFyZWQ6IHRydWUsXG4gICAgICAgICAgICAgICAgc3RhdHVzOiAncmVqZWN0ZWQnLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByZXBhcmVkTG9hZC5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZWQ6IHJvdXRlIHJlbmRlcmluZy9lcnJvciBib3VuZGFyaWVzIG93biB0aGUgZmFpbHVyZS5cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoaW5zdHJ1bWVudGF0aW9uICE9IG51bGwgJiYgcHJlcGFyZSA9PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IGZpbmlzaGVkQXQgPSBEYXRlLm5vdygpO1xuICAgICAgICBlbWl0UHJlcGFyZUluc3RydW1lbnRhdGlvbihpbnN0cnVtZW50YXRpb24sIHtcbiAgICAgICAgICBraW5kOiAncHJlcGFyZS1jb21wbGV0ZScsXG4gICAgICAgICAgc291cmNlOiBpbnN0cnVtZW50YXRpb24uc291cmNlLFxuICAgICAgICAgIHRpbWVzdGFtcDogZmluaXNoZWRBdCxcbiAgICAgICAgICBsb2NhdGlvbjogaW5zdHJ1bWVudGF0aW9uLmxvY2F0aW9uLFxuICAgICAgICAgIHJvdXRlUGF0aDogcGF0aCxcbiAgICAgICAgICBtb2R1bGVJZCxcbiAgICAgICAgICBkdXJhdGlvbk1zOiBmaW5pc2hlZEF0IC0gcHJlcGFyZVN0YXJ0ZWRBdCxcbiAgICAgICAgICBoYXNQcmVwYXJlZDogZmFsc2UsXG4gICAgICAgICAgc3RhdHVzOiAncmVzb2x2ZWQnLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc291cmNlUGFnZSAhPSBudWxsICYmIHJlc291cmNlUGFnZS5nZXQoKSA9PSBudWxsKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKHJlc291cmNlUGFnZS5sb2FkKCkpLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgIC8vIEludGVudGlvbmFsbHkgaWdub3JlZDogcm91dGUgcmVuZGVyaW5nL2Vycm9yIGJvdW5kYXJpZXMgb3duIHRoZSBmYWlsdXJlLlxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZWQ6IHJvdXRlIHJlbmRlcmluZy9lcnJvciBib3VuZGFyaWVzIG93biB0aGUgZmFpbHVyZS5cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcm91dGVOb2RlOiByb3V0ZSxcbiAgICAgICAgcGF0aCxcbiAgICAgICAgZnVsbFBhdGg6IHJvdXRlU2VnbWVudD8uZnVsbFBhdGggPz8gcGF0aCxcbiAgICAgICAgc2VnbWVudEtleTpcbiAgICAgICAgICByb3V0ZVNlZ21lbnQ/LmtleSA/PyBidWlsZEhpZ2hsaWdodElkKHBhdGgsIHJvdXRlSW5kZXgsIG1vZHVsZUlkKSxcbiAgICAgICAgcGFyYW1OYW1lczogcm91dGVTZWdtZW50Py5wYXJhbU5hbWVzID8/IFtdLFxuICAgICAgICBzZWdtZW50SW5kZXg6IHJvdXRlSW5kZXgsXG4gICAgICAgIHByZXBhcmVkUmVzb3VyY2UsXG4gICAgICAgIHJlZGlyZWN0VG86IG1hdGNoZWRSb3V0ZS5yZWRpcmVjdFRvID8/IG51bGwsXG4gICAgICAgIHJlbmRlcixcbiAgICAgICAgcmVzb3VyY2VQYWdlLFxuICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5OiBzdXNwZW5zZUJvdW5kYXJ5ID8/ICdpbmhlcml0JyxcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICAgIGhpZ2hsaWdodElkOiBidWlsZEhpZ2hsaWdodElkKHBhdGgsIHJvdXRlSW5kZXgsIG1vZHVsZUlkKSxcbiAgICAgICAgcXVlcnlTY2hlbWEsXG4gICAgICB9O1xuICAgIH0sXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBtYXRjaCxcbiAgICBzZWdtZW50cyxcbiAgfTtcbn1cblxuLyoqXG4gKiBSZXNvbHZlcyBldmVyeSBhc3luYyBwcmVwYXJlIHJlc291cmNlIGZvciBhIG1hdGNoZWQgcm91dGUgaGllcmFyY2h5LlxuICpcbiAqIEBwYXJhbSBtYXRjaCAtIE1hdGNoZWQgcm91dGUgZGVzY3JpcHRvciAob3IgYG51bGxgIHdoZW4gbm90aGluZyBtYXRjaGVkKS5cbiAqIEBwYXJhbSBxdWVyeSAtIE9wdGlvbmFsIHF1ZXJ5IG9iamVjdCBmb3J3YXJkZWQgdG8gcHJlcGFyZSBmdW5jdGlvbnMuXG4gKiBAcGFyYW0gaW5zdHJ1bWVudGF0aW9uIC0gT3B0aW9uYWwgaW5zdHJ1bWVudGF0aW9uIHNpbmsgZm9yIHByZXBhcmUgbGlmZWN5Y2xlIGV2ZW50cy5cbiAqIEBwYXJhbSBjb250ZXh0IC0gT3B0aW9uYWwgcm91dGVyIGNvbnRleHQgZm9yd2FyZGVkIHRvIHByZXBhcmUgZnVuY3Rpb25zLlxuICogQHJldHVybnMgUHJlcGFyZWQgaGllcmFyY2h5IHdpdGggY29uY3JldGUgcHJlcGFyZWQgdmFsdWVzIGluc3RlYWQgb2YgcmVzb3VyY2VzLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJlcGFyZU1hdGNoQXN5bmM8XG4gIFRQYXJhbXMgZXh0ZW5kcyBQYXJhbURhdGEsXG4gIFRDb250ZXh0ID0gdW5rbm93bixcbj4oXG4gIG1hdGNoOiBSb3V0ZXJNYXRjaGVkUm91dGU8VFBhcmFtcz4gfCBudWxsLFxuICBxdWVyeT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBpbnN0cnVtZW50YXRpb24/OiBQcmVwYXJlSW5zdHJ1bWVudGF0aW9uLFxuICBjb250ZXh0PzogVENvbnRleHQsXG4pOiBQcm9taXNlPFJlc29sdmVkUHJlcGFyZWRSb3V0ZUNoYWluPFRQYXJhbXMsIFRDb250ZXh0Pj4ge1xuICBjb25zdCBwcmVwYXJlZE1hdGNoID0gcHJlcGFyZU1hdGNoKG1hdGNoLCBxdWVyeSwgaW5zdHJ1bWVudGF0aW9uLCBjb250ZXh0KTtcbiAgY29uc3Qgc2VnbWVudHMgPSBhd2FpdCBQcm9taXNlLmFsbChcbiAgICBwcmVwYXJlZE1hdGNoLnNlZ21lbnRzLm1hcChcbiAgICAgIGFzeW5jIChyb3V0ZSk6IFByb21pc2U8UmVzb2x2ZWRQcmVwYXJlZFJvdXRlU2VnbWVudDxUQ29udGV4dD4+ID0+IHtcbiAgICAgICAgbGV0IHByZXBhcmVkOiB1bmtub3duO1xuICAgICAgICBpZiAocm91dGUucHJlcGFyZWRSZXNvdXJjZSAhPSBudWxsKSB7XG4gICAgICAgICAgcHJlcGFyZWQgPSBhd2FpdCByb3V0ZS5wcmVwYXJlZFJlc291cmNlLmxvYWQoKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJvdXRlTm9kZTogcm91dGUucm91dGVOb2RlLFxuICAgICAgICAgIHBhdGg6IHJvdXRlLnBhdGgsXG4gICAgICAgICAgZnVsbFBhdGg6IHJvdXRlLmZ1bGxQYXRoLFxuICAgICAgICAgIHNlZ21lbnRLZXk6IHJvdXRlLnNlZ21lbnRLZXksXG4gICAgICAgICAgcGFyYW1OYW1lczogcm91dGUucGFyYW1OYW1lcyxcbiAgICAgICAgICBzZWdtZW50SW5kZXg6IHJvdXRlLnNlZ21lbnRJbmRleCxcbiAgICAgICAgICBwcmVwYXJlZCxcbiAgICAgICAgICByZWRpcmVjdFRvOiByb3V0ZS5yZWRpcmVjdFRvLFxuICAgICAgICAgIHJlbmRlcjogcm91dGUucmVuZGVyLFxuICAgICAgICAgIHJlc291cmNlUGFnZTogcm91dGUucmVzb3VyY2VQYWdlLFxuICAgICAgICAgIHN1c3BlbnNlQm91bmRhcnk6IHJvdXRlLnN1c3BlbnNlQm91bmRhcnksXG4gICAgICAgICAgZmFsbGJhY2s6IHJvdXRlLmZhbGxiYWNrLFxuICAgICAgICAgIGhpZ2hsaWdodElkOiByb3V0ZS5oaWdobGlnaHRJZCxcbiAgICAgICAgICBxdWVyeVNjaGVtYTogcm91dGUucXVlcnlTY2hlbWEsXG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICksXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBtYXRjaDogcHJlcGFyZWRNYXRjaC5tYXRjaCxcbiAgICBzZWdtZW50cyxcbiAgfTtcbn1cblxuLyoqXG4gKiBSb3V0ZSBoZWxwZXIgdGhhdCBwcmVzZXJ2ZXMgVHlwZVNjcmlwdCBpbmZlcmVuY2UgKGluY2x1ZGluZyBjb25kaXRpb25hbCBxdWVyeS1zY2hlbWEgaW5mZXJlbmNlKS5cbiAqXG4gKiBAcGFyYW0gcm91dGUgLSBSb3V0ZSBkZWZpbml0aW9uIHRvIHJldHVybiB1bmNoYW5nZWQgd2l0aCBpbmZlcnJlZCBnZW5lcmljcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHI8XG4gIFRDb250ZXh0ID0gdW5rbm93bixcbiAgVFByZXBhcmVkIGV4dGVuZHMgUHJlcGFyZVJlc3VsdCA9IFByZXBhcmVSZXN1bHQsXG4gIFRWYXJpYWJsZXMgZXh0ZW5kcyBQYXJhbURhdGEgPSBQYXJhbURhdGEsXG4gIFRRdWVyeSBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIFMgZXh0ZW5kcyBGaWx0ZXJTY2hlbWEgfCB1bmRlZmluZWQgPSBGaWx0ZXJTY2hlbWEgfCB1bmRlZmluZWQsXG4gIFRDaGlsZHJlbiBleHRlbmRzIHJlYWRvbmx5IChSb3V0ZU5vZGUgfCBSZWRpcmVjdClbXSB8IHVuZGVmaW5lZCA9XG4gICAgcmVhZG9ubHkgKFJvdXRlTm9kZSB8IFJlZGlyZWN0KVtdIHwgdW5kZWZpbmVkLFxuPihcbiAgcm91dGU6IFJvdXRlPFRDb250ZXh0LCBUUHJlcGFyZWQsIFRWYXJpYWJsZXMsIFRRdWVyeSwgUywgVENoaWxkcmVuPixcbik6IFJvdXRlPFRDb250ZXh0LCBUUHJlcGFyZWQsIFRWYXJpYWJsZXMsIFRRdWVyeSwgUywgVENoaWxkcmVuPiB7XG4gIHJldHVybiByb3V0ZTtcbn1cbiJdfQ==
|
|
287
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdG9vbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMEJBLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBd0JuRSxNQUFNLGlCQUFpQixHQUFHLENBQ3hCLElBQXVCLEVBQ3ZCLEtBQXdCLEVBQ2YsRUFBRTtJQUNYLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNqQyxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEVBQUU7WUFDakMsT0FBTyxLQUFLLEtBQUssS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNELE9BQU8sSUFBSSxLQUFLLEtBQUssQ0FBQztBQUN4QixDQUFDLENBQUM7QUFFRixNQUFNLHFCQUFxQixHQUFHLENBQzVCLFVBQTZCLEVBQzdCLElBQTJCLEVBQzNCLEtBQWdCLEVBQ1AsRUFBRTtJQUNYLElBQUksVUFBVSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM1QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFD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Q3BCLFlBQVksRUFBRSxLQUFLLENBQUMsWUFBWTtZQUNoQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsZ0JBQWdCO1lBQ3hDLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUTtZQUN4QixXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVc7WUFDOUIsV0FBVyxFQUFFLEtBQUssQ0FBQyxXQUFXO1NBQy9CLENBQUM7SUFDSixDQUFDLENBQ0YsQ0FDRixDQUFDO0lBRUYsT0FBTztRQUNMLEtBQUssRUFBRSxhQUFhLENBQUMsS0FBSztRQUMxQixRQUFRO0tBQ1QsQ0FBQztBQUNKLENBQUM7QUFPRCxNQUFNLFVBQVUsQ0FBQyxDQVNmLEtBQW1FO0lBRW5FLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGFyYW1EYXRhIH0gZnJvbSAncGF0aC10by1yZWdleHAnO1xuaW1wb3J0IHR5cGUgeyBIaXN0b3J5TG9jYXRpb25TbmFwc2hvdCB9IGZyb20gJy4vaGlzdG9yeS90eXBlcy5qcyc7XG5cbmltcG9ydCB7XG4gIHR5cGUgRmlsdGVyU2NoZW1hLFxuICB0eXBlIFByZXBhcmVSZXN1bHQsXG4gIHR5cGUgUHJlcGFyZWRSb3V0ZUNoYWluLFxuICB0eXBlIFByZXBhcmVkUm91dGVTZWdtZW50LFxuICB0eXBlIFJlZGlyZWN0LFxuICB0eXBlIFJlc29sdmVkUHJlcGFyZWRSb3V0ZUNoYWluLFxuICB0eXBlIFJlc29sdmVkUHJlcGFyZWRSb3V0ZVNlZ21lbnQsXG4gIHR5cGUgUm91dGUsXG4gIHR5cGUgUm91dGVOb2RlLFxuICB0eXBlIFJvdXRlckpzb25WYWx1ZSxcbiAgdHlwZSBSb3V0ZXJNYXRjaGVkUm91dGUsXG4gIHR5cGUgUmF3UXVlcnksXG4gIHR5cGUgVW5rbm93bkZpbHRlcnMsXG59IGZyb20gJy4vdHlwZXMuanMnO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFJvdXRlclByZXBhcmVFdmVudCxcbiAgUm91dGVyTmF2aWdhdGlvblNvdXJjZSxcbiAgUm91dGVyTG9jYXRpb25TbmFwc2hvdCxcbn0gZnJvbSAnLi9pbnN0cnVtZW50YXRpb24vSW5zdHJ1bWVudGF0aW9uLmpzJztcblxuaW1wb3J0IHR5cGUgeyBGbGF0Um91dGUgfSBmcm9tICcuL2J1aWxkZXIuanMnO1xuaW1wb3J0IHsgY3JlYXRlUHJlcGFyZWRWYWx1ZVJlc291cmNlIH0gZnJvbSAnLi9wcmVwYXJlUmVzb3VyY2UuanMnO1xuXG50eXBlIFByZXBhcmVJbnN0cnVtZW50YXRpb24gPSB7XG4gIGVtaXQ6IChldmVudDogUm91dGVyUHJlcGFyZUV2ZW50KSA9PiB2b2lkO1xuICBzb3VyY2U6IFJvdXRlck5hdmlnYXRpb25Tb3VyY2U7XG4gIGxvY2F0aW9uOiBSb3V0ZXJMb2NhdGlvblNuYXBzaG90O1xufTtcblxudHlwZSBQcmVwYXJlUmV1c2VJbnB1dDxUQ29udGV4dD4gPSB7XG4gIHByZXZpb3VzU2VnbWVudHM/OiBQcmVwYXJlZFJvdXRlU2VnbWVudDxUQ29udGV4dD5bXTtcbiAgcHJldmlvdXNQYXJhbXM/OiBQYXJhbURhdGE7XG4gIHNhbWVTZWFyY2g/OiBib29sZWFuO1xufTtcblxudHlwZSBQcmVwYXJlU2VhcmNoU3RhdGUgPSB7XG4gIHJhd1F1ZXJ5PzogUmF3UXVlcnk7XG4gIGZpbHRlcnM/OiBVbmtub3duRmlsdGVycztcbn07XG5cbmV4cG9ydCB0eXBlIFByZXBhcmVIeWRyYXRpb25TdGF0ZSA9IHtcbiAgdmFsdWVzOiBSZWFkb25seU1hcDxzdHJpbmcsIFJvdXRlckpzb25WYWx1ZT47XG4gIGNvbnN1bWVkOiBTZXQ8c3RyaW5nPjtcbn07XG5cbmNvbnN0IGlzUGFyYW1WYWx1ZUVxdWFsID0gKFxuICBsZWZ0OiBQYXJhbURhdGFbc3RyaW5nXSxcbiAgcmlnaHQ6IFBhcmFtRGF0YVtzdHJpbmddLFxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChBcnJheS5pc0FycmF5KGxlZnQpIHx8IEFycmF5LmlzQXJyYXkocmlnaHQpKSB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGxlZnQpIHx8ICFBcnJheS5pc0FycmF5KHJpZ2h0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobGVmdC5sZW5ndGggIT09IHJpZ2h0Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gbGVmdC5ldmVyeSgodmFsdWUsIGluZGV4KSA9PiB7XG4gICAgICByZXR1cm4gdmFsdWUgPT09IHJpZ2h0W2luZGV4XTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gbGVmdCA9PT0gcmlnaHQ7XG59O1xuXG5jb25zdCBhcmVTZWdtZW50UGFyYW1zRXF1YWwgPSAoXG4gIHBhcmFtTmFtZXM6IHJlYWRvbmx5IHN0cmluZ1tdLFxuICBsZWZ0OiBQYXJhbURhdGEgfCB1bmRlZmluZWQsXG4gIHJpZ2h0OiBQYXJhbURhdGEsXG4pOiBib29sZWFuID0+IHtcbiAgaWYgKHBhcmFtTmFtZXMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKGxlZnQgPT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gcGFyYW1OYW1lcy5ldmVyeSgocGFyYW1OYW1lKSA9PiB7XG4gICAgcmV0dXJuIGlzUGFyYW1WYWx1ZUVxdWFsKGxlZnRbcGFyYW1OYW1lXSwgcmlnaHRbcGFyYW1OYW1lXSk7XG4gIH0pO1xufTtcblxuLyoqIEVtaXRzIHByZXBhcmUgaW5zdHJ1bWVudGF0aW9uIHdpdGhvdXQgYWxsb3dpbmcgaW5zdHJ1bWVudGF0aW9uIGZhaWx1cmVzIHRvIGFmZmVjdCByb3V0aW5nLiAqL1xuZnVuY3Rpb24gZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oXG4gIGluc3RydW1lbnRhdGlvbjogUHJlcGFyZUluc3RydW1lbnRhdGlvbiB8IHVuZGVmaW5lZCxcbiAgZXZlbnQ6IFJvdXRlclByZXBhcmVFdmVudCxcbik6IHZvaWQge1xuICBpZiAoaW5zdHJ1bWVudGF0aW9uID09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdHJ5IHtcbiAgICBpbnN0cnVtZW50YXRpb24uZW1pdChldmVudCk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIEluc3RydW1lbnRhdGlvbiBtdXN0IG5ldmVyIGJyZWFrIHJvdXRpbmcgb3IgcHJlcGFyZSBsaWZlY3ljbGUuXG4gIH1cbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgZmlyc3QgZmxhdCByb3V0ZSBtYXRjaGluZyB0aGUgcHJvdmlkZWQgbG9jYXRpb24uXG4gKlxuICogQHBhcmFtIHJvdXRlcyAtIEZsYXR0ZW5lZCByb3V0ZSBsaXN0IHRvIGV2YWx1YXRlLlxuICogQHBhcmFtIGxvY2F0aW9uIC0gQnJvd3NlciBsb2NhdGlvbiB3aG9zZSBwYXRobmFtZSBzaG91bGQgYmUgbWF0Y2hlZC5cbiAqIEByZXR1cm5zIE1hdGNoZWQgcm91dGUgd2l0aCBwYXJhbXMgb3IgYG51bGxgIGlmIG5vbmUgbWF0Y2guXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRNYXRjaGVkUm91dGU8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YT4oXG4gIHJvdXRlczogRmxhdFJvdXRlPFRQYXJhbXM+W10sXG4gIGxvY2F0aW9uOiBIaXN0b3J5TG9jYXRpb25TbmFwc2hvdCxcbik6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwge1xuICBmb3IgKGNvbnN0IHJvdXRlIG9mIHJvdXRlcykge1xuICAgIGNvbnN0IG1hdGNoID0gcm91dGUubWF0Y2hGdW5jdGlvbihsb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgaWYgKG1hdGNoICE9PSBmYWxzZSkge1xuICAgICAgY29uc3QgeyBwYXRoLCBwYXJhbXMgfSA9IG1hdGNoO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbWF0Y2gsXG4gICAgICAgIHJvdXRlLFxuICAgICAgICBwYXRoLFxuICAgICAgICBwYXJhbXMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG4vKipcbiAqIERlcml2ZXMgYSBkZXRlcm1pbmlzdGljIGlkZW50aWZpZXIgdGhhdCBsaW5rcyBwcmVwYXJlZCByb3V0ZXMgdG8gRE9NIG1hcmtlcnMuXG4gKi9cbmZ1bmN0aW9uIGJ1aWxkSGlnaGxpZ2h0SWQoXG4gIHJvdXRlUGF0aDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBpbmRleDogbnVtYmVyLFxuICBtb2R1bGVJZD86IHN0cmluZyxcbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBpZiAodHlwZW9mIG1vZHVsZUlkID09PSAnc3RyaW5nJyAmJiBtb2R1bGVJZC50cmltKCkgIT09ICcnKSB7XG4gICAgcGFydHMucHVzaChgbW9kdWxlOiR7bW9kdWxlSWR9YCk7XG4gIH1cbiAgaWYgKHR5cGVvZiByb3V0ZVBhdGggPT09ICdzdHJpbmcnICYmIHJvdXRlUGF0aC50cmltKCkgIT09ICcnKSB7XG4gICAgcGFydHMucHVzaChgcGF0aDoke3JvdXRlUGF0aH1gKTtcbiAgfVxuICBpZiAocGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgcGFydHMucHVzaCgncm91dGUnKTtcbiAgfVxuICBwYXJ0cy5wdXNoKGBpbmRleDoke2luZGV4fWApO1xuICByZXR1cm4gcGFydHMuam9pbignfCcpO1xufVxuXG5leHBvcnQgY29uc3QgX190ZXN0VG9vbHMgPSB7XG4gIGJ1aWxkSGlnaGxpZ2h0SWQsXG4gIGFyZVNlZ21lbnRQYXJhbXNFcXVhbCxcbn0gYXMgY29uc3Q7XG5cbi8qKlxuICogUHJlcGFyZXMgYSBtYXRjaGVkIHJvdXRlIGJ5IGV4ZWN1dGluZyBgcHJlcGFyZWAgY2FsbGJhY2tzIGFuZCByZXNvbHZpbmcgcmVzb3VyY2UgcGFnZXMuXG4gKlxuICogQHBhcmFtIG1hdGNoIC0gTWF0Y2hlZCByb3V0ZSBkZXNjcmlwdG9yIChvciBgbnVsbGAgd2hlbiBub3RoaW5nIG1hdGNoZWQpLlxuICogQHBhcmFtIHF1ZXJ5IC0gT3B0aW9uYWwgcXVlcnkgb2JqZWN0IGZvcndhcmRlZCB0byBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSBjb250ZXh0IC0gT3B0aW9uYWwgcm91dGVyIGNvbnRleHQgZm9yd2FyZGVkIHRvIHByZXBhcmUgZnVuY3Rpb25zLlxuICogQHJldHVybnMgUHJlcGFyZWQgaGllcmFyY2h5IHJlYWR5IGZvciB0aGUgcmVuZGVyZXIuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlTWF0Y2g8VFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YSwgVENvbnRleHQgPSB1bmtub3duPihcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwsXG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGluc3RydW1lbnRhdGlvbj86IFByZXBhcmVJbnN0cnVtZW50YXRpb24sXG4gIGNvbnRleHQ/OiBUQ29udGV4dCxcbiAgcmV1c2U/OiBQcmVwYXJlUmV1c2VJbnB1dDxUQ29udGV4dD4sXG4gIHNlYXJjaFN0YXRlPzogUHJlcGFyZVNlYXJjaFN0YXRlLFxuICBoeWRyYXRpb24/OiBQcmVwYXJlSHlkcmF0aW9uU3RhdGUsXG4pOiBQcmVwYXJlZFJvdXRlQ2hhaW48VFBhcmFtcywgVENvbnRleHQ+IHtcbiAgLy8gTk9URTogUnVudGltZSByZXRhaW5zIGEgZ2VuZXJpYyBQcmVwYXJlZFJlc3VsdDsgdHlwZS1sZXZlbCBuYXJyb3dpbmcgaXMgYWNoaWV2ZWQgZXh0ZXJuYWxseVxuICAvLyB0aHJvdWdoIHRoZSByb3V0ZSB1bmlvbiBhbmQgUHJlcGFyZWRBY2Nlc3MgaGVscGVycy4gV2UgaW50ZW50aW9uYWxseSBhdm9pZCBpbmplY3RpbmdcbiAgLy8gZ2VuZXJpYyBwYXJhbWV0ZXJzIGhlcmUgdG8ga2VlcCBydW50aW1lIGxpZ2h0d2VpZ2h0IHdoaWxlIHN0aWxsIGVuYWJsaW5nIGNvbXBpbGUtdGltZVxuICAvLyBkaXNjcmltaW5hdGlvbiBpbiB1c2VybGFuZCB2aWEgY3JlYXRlUm91dGVyIGdlbmVyaWNzLlxuICBpZiAobWF0Y2ggPT0gbnVsbCkge1xuICAgIHJldHVybiB7XG4gICAgICBtYXRjaCxcbiAgICAgIHNlZ21lbnRzOiBbXSxcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgbWF0Y2hlZFJvdXRlID0gbWF0Y2gucm91dGU7XG5cbiAgY29uc3Qgc2VnbWVudHM6IFByZXBhcmVkUm91dGVTZWdtZW50PFRDb250ZXh0PltdID0gbWF0Y2gucm91dGUucm91dGVzLm1hcChcbiAgICAocm91dGUsIHJvdXRlSW5kZXgpID0+IHtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgcGF0aCxcbiAgICAgICAgcHJlcGFyZSxcbiAgICAgICAgcHJlcGFyZWRIeWRyYXRpb24sXG4gICAgICAgIHF1ZXJ5U2NoZW1hLFxuICAgICAgICByZXNvdXJjZVBhZ2UsXG4gICAgICAgIHJlbmRlcixcbiAgICAgICAgc3VzcGVuc2VCb3VuZGFyeSxcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICB9ID0gcm91dGU7XG4gICAgICBjb25zdCByb3V0ZVNlZ21lbnQgPSBtYXRjaC5yb3V0ZS5yb3V0ZVNlZ21lbnRzPy5bcm91dGVJbmRleF07XG4gICAgICBjb25zdCBwcmV2aW91c1NlZ21lbnQgPSByZXVzZT8ucHJldmlvdXNTZWdtZW50cz8uW3JvdXRlSW5kZXhdO1xuICAgICAgaWYgKFxuICAgICAgICBwcmV2aW91c1NlZ21lbnQ/LnJvdXRlTm9kZSA9PT0gcm91dGUgJiZcbiAgICAgICAgKHJldXNlPy5zYW1lU2VhcmNoID09PSB0cnVlIHx8XG4gICAgICAgICAgcm91dGUucHJlcGFyZVNlYXJjaEJlaGF2aW9yID09PSAncGF0aCcgfHxcbiAgICAgICAgICBwcmVwYXJlID09IG51bGwpICYmXG4gICAgICAgIGFyZVNlZ21lbnRQYXJhbXNFcXVhbChcbiAgICAgICAgICByb3V0ZVNlZ21lbnQ/LnBhcmFtTmFtZXMgPz8gW10sXG4gICAgICAgICAgcmV1c2U/LnByZXZpb3VzUGFyYW1zLFxuICAgICAgICAgIG1hdGNoLnBhcmFtcyxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBwcmV2aW91c1NlZ21lbnQ7XG4gICAgICB9XG5cbiAgICAgIGxldCBtb2R1bGVJZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgaWYgKFxuICAgICAgICByZXNvdXJjZVBhZ2UgIT0gbnVsbCAmJlxuICAgICAgICB0eXBlb2YgcmVzb3VyY2VQYWdlLmdldE1vZHVsZUlkID09PSAnZnVuY3Rpb24nXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWRNb2R1bGVJZCA9IHJlc291cmNlUGFnZS5nZXRNb2R1bGVJZCgpO1xuICAgICAgICBpZiAodHlwZW9mIHJlc29sdmVkTW9kdWxlSWQgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgbW9kdWxlSWQgPSByZXNvbHZlZE1vZHVsZUlkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBzZWdtZW50S2V5ID1cbiAgICAgICAgcm91dGVTZWdtZW50Py5rZXkgPz8gYnVpbGRIaWdobGlnaHRJZChwYXRoLCByb3V0ZUluZGV4LCBtb2R1bGVJZCk7XG5cbiAgICAgIGxldCBwcmVwYXJlU3RhcnRlZEF0ID0gMDtcbiAgICAgIGlmIChpbnN0cnVtZW50YXRpb24gIT0gbnVsbCkge1xuICAgICAgICBwcmVwYXJlU3RhcnRlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAga2luZDogJ3ByZXBhcmUtc3RhcnQnLFxuICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICB0aW1lc3RhbXA6IHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBsZXQgcHJlcGFyZWRSZXNvdXJjZTogUHJlcGFyZWRSb3V0ZVNlZ21lbnRbJ3ByZXBhcmVkUmVzb3VyY2UnXTtcbiAgICAgIGlmIChoeWRyYXRpb24/LnZhbHVlcy5oYXMoc2VnbWVudEtleSkgPT09IHRydWUpIHtcbiAgICAgICAgaWYgKHByZXBhcmVkSHlkcmF0aW9uID09IG51bGwpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgUm91dGVyIGh5ZHJhdGlvbiBzZWdtZW50IGhhcyBubyBwcmVwYXJlZCBjb2RlYzogJHtzZWdtZW50S2V5fWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBoeWRyYXRlZFZhbHVlID0gcHJlcGFyZWRIeWRyYXRpb24uZGVzZXJpYWxpemUoXG4gICAgICAgICAgaHlkcmF0aW9uLnZhbHVlcy5nZXQoc2VnbWVudEtleSkgYXMgUm91dGVySnNvblZhbHVlLFxuICAgICAgICApO1xuICAgICAgICBoeWRyYXRpb24uY29uc3VtZWQuYWRkKHNlZ21lbnRLZXkpO1xuICAgICAgICBwcmVwYXJlZFJlc291cmNlID0gY3JlYXRlUHJlcGFyZWRWYWx1ZVJlc291cmNlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gaHlkcmF0ZWRWYWx1ZTtcbiAgICAgICAgfSk7XG4gICAgICAgIGNvbnN0IHByZXBhcmVkTG9hZCA9IHByZXBhcmVkUmVzb3VyY2UubG9hZCgpO1xuICAgICAgICBpZiAoaW5zdHJ1bWVudGF0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICBwcmVwYXJlZExvYWRcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgIGVtaXRQcmVwYXJlSW5zdHJ1bWVudGF0aW9uKGluc3RydW1lbnRhdGlvbiwge1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJyxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IGluc3RydW1lbnRhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgdGltZXN0YW1wOiBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBpbnN0cnVtZW50YXRpb24ubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcm91dGVQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uTXM6IGZpbmlzaGVkQXQgLSBwcmVwYXJlU3RhcnRlZEF0LFxuICAgICAgICAgICAgICAgIGhhc1ByZXBhcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ3Jlc29sdmVkJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgIGVtaXRQcmVwYXJlSW5zdHJ1bWVudGF0aW9uKGluc3RydW1lbnRhdGlvbiwge1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJyxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IGluc3RydW1lbnRhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgdGltZXN0YW1wOiBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBpbnN0cnVtZW50YXRpb24ubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcm91dGVQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uTXM6IGZpbmlzaGVkQXQgLSBwcmVwYXJlU3RhcnRlZEF0LFxuICAgICAgICAgICAgICAgIGhhc1ByZXBhcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ3JlamVjdGVkJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmVwYXJlZExvYWQuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBpZ25vcmVkOiByb3V0ZSByZW5kZXJpbmcvZXJyb3IgYm91bmRhcmllcyBvd24gdGhlIGZhaWx1cmUuXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocHJlcGFyZSAhPSBudWxsKSB7XG4gICAgICAgIHByZXBhcmVkUmVzb3VyY2UgPSBjcmVhdGVQcmVwYXJlZFZhbHVlUmVzb3VyY2UoKCkgPT4ge1xuICAgICAgICAgIHJldHVybiBwcmVwYXJlKHtcbiAgICAgICAgICAgIG1hdGNoLFxuICAgICAgICAgICAgbWF0Y2hlZFJvdXRlLFxuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIHJlc291cmNlUGFnZSxcbiAgICAgICAgICAgIC8vIEZpeCBPYmplY3QuY3JlYXRlKG51bGwpIGlzc3VlIGluIHBhdGgtdG8tcmVnZXhwXG4gICAgICAgICAgICB2YXJpYWJsZXM6IHsgLi4ubWF0Y2gucGFyYW1zIH0sXG4gICAgICAgICAgICBxdWVyeTogcXVlcnkgPz8ge30sXG4gICAgICAgICAgICByYXdRdWVyeTpcbiAgICAgICAgICAgICAgc2VhcmNoU3RhdGU/LnJhd1F1ZXJ5ID8/IChxdWVyeSBhcyBSYXdRdWVyeSB8IHVuZGVmaW5lZCkgPz8ge30sXG4gICAgICAgICAgICBmaWx0ZXJzOiBzZWFyY2hTdGF0ZT8uZmlsdGVycyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIC8vIEVhZ2VybHkgZXZhbHVhdGUgcHJlcGFyZSBzbyB0aGUgcHJlcGFyZWQgcmVzb3VyY2UgaW1tZWRpYXRlbHkgcmVmbGVjdHNcbiAgICAgICAgLy8gc3luYyByZXNvbHV0aW9uIG9yIGFzeW5jIHBlbmRpbmcgc3RhdGUgZm9yIHRoZSBjdXJyZW50IHJvdXRlIHNuYXBzaG90LlxuICAgICAgICBjb25zdCBwcmVwYXJlZExvYWQgPSBwcmVwYXJlZFJlc291cmNlLmxvYWQoKTtcblxuICAgICAgICBpZiAoaW5zdHJ1bWVudGF0aW9uICE9IG51bGwpIHtcbiAgICAgICAgICBwcmVwYXJlZExvYWRcbiAgICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgIGVtaXRQcmVwYXJlSW5zdHJ1bWVudGF0aW9uKGluc3RydW1lbnRhdGlvbiwge1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJyxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IGluc3RydW1lbnRhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgdGltZXN0YW1wOiBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBpbnN0cnVtZW50YXRpb24ubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcm91dGVQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uTXM6IGZpbmlzaGVkQXQgLSBwcmVwYXJlU3RhcnRlZEF0LFxuICAgICAgICAgICAgICAgIGhhc1ByZXBhcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ3Jlc29sdmVkJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZmluaXNoZWRBdCA9IERhdGUubm93KCk7XG4gICAgICAgICAgICAgIGVtaXRQcmVwYXJlSW5zdHJ1bWVudGF0aW9uKGluc3RydW1lbnRhdGlvbiwge1xuICAgICAgICAgICAgICAgIGtpbmQ6ICdwcmVwYXJlLWNvbXBsZXRlJyxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IGluc3RydW1lbnRhdGlvbi5zb3VyY2UsXG4gICAgICAgICAgICAgICAgdGltZXN0YW1wOiBmaW5pc2hlZEF0LFxuICAgICAgICAgICAgICAgIGxvY2F0aW9uOiBpbnN0cnVtZW50YXRpb24ubG9jYXRpb24sXG4gICAgICAgICAgICAgICAgcm91dGVQYXRoOiBwYXRoLFxuICAgICAgICAgICAgICAgIG1vZHVsZUlkLFxuICAgICAgICAgICAgICAgIGR1cmF0aW9uTXM6IGZpbmlzaGVkQXQgLSBwcmVwYXJlU3RhcnRlZEF0LFxuICAgICAgICAgICAgICAgIGhhc1ByZXBhcmVkOiB0cnVlLFxuICAgICAgICAgICAgICAgIHN0YXR1czogJ3JlamVjdGVkJyxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBwcmVwYXJlZExvYWQuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBpZ25vcmVkOiByb3V0ZSByZW5kZXJpbmcvZXJyb3IgYm91bmRhcmllcyBvd24gdGhlIGZhaWx1cmUuXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGluc3RydW1lbnRhdGlvbiAhPSBudWxsICYmIHByZXBhcmUgPT0gbnVsbCkge1xuICAgICAgICBjb25zdCBmaW5pc2hlZEF0ID0gRGF0ZS5ub3coKTtcbiAgICAgICAgZW1pdFByZXBhcmVJbnN0cnVtZW50YXRpb24oaW5zdHJ1bWVudGF0aW9uLCB7XG4gICAgICAgICAga2luZDogJ3ByZXBhcmUtY29tcGxldGUnLFxuICAgICAgICAgIHNvdXJjZTogaW5zdHJ1bWVudGF0aW9uLnNvdXJjZSxcbiAgICAgICAgICB0aW1lc3RhbXA6IGZpbmlzaGVkQXQsXG4gICAgICAgICAgbG9jYXRpb246IGluc3RydW1lbnRhdGlvbi5sb2NhdGlvbixcbiAgICAgICAgICByb3V0ZVBhdGg6IHBhdGgsXG4gICAgICAgICAgbW9kdWxlSWQsXG4gICAgICAgICAgZHVyYXRpb25NczogZmluaXNoZWRBdCAtIHByZXBhcmVTdGFydGVkQXQsXG4gICAgICAgICAgaGFzUHJlcGFyZWQ6IGZhbHNlLFxuICAgICAgICAgIHN0YXR1czogJ3Jlc29sdmVkJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZXNvdXJjZVBhZ2UgIT0gbnVsbCAmJiByZXNvdXJjZVBhZ2UuZ2V0KCkgPT0gbnVsbCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIFByb21pc2UucmVzb2x2ZShyZXNvdXJjZVBhZ2UubG9hZCgpKS5jYXRjaCgoKSA9PiB7XG4gICAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IGlnbm9yZWQ6IHJvdXRlIHJlbmRlcmluZy9lcnJvciBib3VuZGFyaWVzIG93biB0aGUgZmFpbHVyZS5cbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgLy8gSW50ZW50aW9uYWxseSBpZ25vcmVkOiByb3V0ZSByZW5kZXJpbmcvZXJyb3IgYm91bmRhcmllcyBvd24gdGhlIGZhaWx1cmUuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7XG4gICAgICAgIHJvdXRlTm9kZTogcm91dGUsXG4gICAgICAgIHBhdGgsXG4gICAgICAgIGZ1bGxQYXRoOiByb3V0ZVNlZ21lbnQ/LmZ1bGxQYXRoID8/IHBhdGgsXG4gICAgICAgIHNlZ21lbnRLZXksXG4gICAgICAgIHBhcmFtTmFtZXM6IHJvdXRlU2VnbWVudD8ucGFyYW1OYW1lcyA/PyBbXSxcbiAgICAgICAgc2VnbWVudEluZGV4OiByb3V0ZUluZGV4LFxuICAgICAgICBwcmVwYXJlZFJlc291cmNlLFxuICAgICAgICBwcmVwYXJlZEh5ZHJhdGlvbixcbiAgICAgICAgcmVkaXJlY3RUbzogbWF0Y2hlZFJvdXRlLnJlZGlyZWN0VG8gPz8gbnVsbCxcbiAgICAgICAgcmVkaXJlY3RTdGF0dXM6IG1hdGNoZWRSb3V0ZS5yZWRpcmVjdFN0YXR1cyxcbiAgICAgICAgcmVuZGVyLFxuICAgICAgICByZXNvdXJjZVBhZ2UsXG4gICAgICAgIHN1c3BlbnNlQm91bmRhcnk6IHN1c3BlbnNlQm91bmRhcnkgPz8gJ2luaGVyaXQnLFxuICAgICAgICBmYWxsYmFjayxcbiAgICAgICAgaGlnaGxpZ2h0SWQ6IGJ1aWxkSGlnaGxpZ2h0SWQocGF0aCwgcm91dGVJbmRleCwgbW9kdWxlSWQpLFxuICAgICAgICBxdWVyeVNjaGVtYSxcbiAgICAgIH07XG4gICAgfSxcbiAgKTtcblxuICByZXR1cm4ge1xuICAgIG1hdGNoLFxuICAgIHNlZ21lbnRzLFxuICB9O1xufVxuXG4vKipcbiAqIFJlc29sdmVzIGV2ZXJ5IGFzeW5jIHByZXBhcmUgcmVzb3VyY2UgZm9yIGEgbWF0Y2hlZCByb3V0ZSBoaWVyYXJjaHkuXG4gKlxuICogQHBhcmFtIG1hdGNoIC0gTWF0Y2hlZCByb3V0ZSBkZXNjcmlwdG9yIChvciBgbnVsbGAgd2hlbiBub3RoaW5nIG1hdGNoZWQpLlxuICogQHBhcmFtIHF1ZXJ5IC0gT3B0aW9uYWwgcXVlcnkgb2JqZWN0IGZvcndhcmRlZCB0byBwcmVwYXJlIGZ1bmN0aW9ucy5cbiAqIEBwYXJhbSBpbnN0cnVtZW50YXRpb24gLSBPcHRpb25hbCBpbnN0cnVtZW50YXRpb24gc2luayBmb3IgcHJlcGFyZSBsaWZlY3ljbGUgZXZlbnRzLlxuICogQHBhcmFtIGNvbnRleHQgLSBPcHRpb25hbCByb3V0ZXIgY29udGV4dCBmb3J3YXJkZWQgdG8gcHJlcGFyZSBmdW5jdGlvbnMuXG4gKiBAcmV0dXJucyBQcmVwYXJlZCBoaWVyYXJjaHkgd2l0aCBjb25jcmV0ZSBwcmVwYXJlZCB2YWx1ZXMgaW5zdGVhZCBvZiByZXNvdXJjZXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmVwYXJlTWF0Y2hBc3luYzxcbiAgVFBhcmFtcyBleHRlbmRzIFBhcmFtRGF0YSxcbiAgVENvbnRleHQgPSB1bmtub3duLFxuPihcbiAgbWF0Y2g6IFJvdXRlck1hdGNoZWRSb3V0ZTxUUGFyYW1zPiB8IG51bGwsXG4gIHF1ZXJ5PzogUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gIGluc3RydW1lbnRhdGlvbj86IFByZXBhcmVJbnN0cnVtZW50YXRpb24sXG4gIGNvbnRleHQ/OiBUQ29udGV4dCxcbik6IFByb21pc2U8UmVzb2x2ZWRQcmVwYXJlZFJvdXRlQ2hhaW48VFBhcmFtcywgVENvbnRleHQ+PiB7XG4gIGNvbnN0IHByZXBhcmVkTWF0Y2ggPSBwcmVwYXJlTWF0Y2gobWF0Y2gsIHF1ZXJ5LCBpbnN0cnVtZW50YXRpb24sIGNvbnRleHQpO1xuICBjb25zdCBzZWdtZW50cyA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgIHByZXBhcmVkTWF0Y2guc2VnbWVudHMubWFwKFxuICAgICAgYXN5bmMgKHJvdXRlKTogUHJvbWlzZTxSZXNvbHZlZFByZXBhcmVkUm91dGVTZWdtZW50PFRDb250ZXh0Pj4gPT4ge1xuICAgICAgICBsZXQgcHJlcGFyZWQ6IHVua25vd247XG4gICAgICAgIGlmIChyb3V0ZS5wcmVwYXJlZFJlc291cmNlICE9IG51bGwpIHtcbiAgICAgICAgICBwcmVwYXJlZCA9IGF3YWl0IHJvdXRlLnByZXBhcmVkUmVzb3VyY2UubG9hZCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcm91dGVOb2RlOiByb3V0ZS5yb3V0ZU5vZGUsXG4gICAgICAgICAgcGF0aDogcm91dGUucGF0aCxcbiAgICAgICAgICBmdWxsUGF0aDogcm91dGUuZnVsbFBhdGgsXG4gICAgICAgICAgc2VnbWVudEtleTogcm91dGUuc2VnbWVudEtleSxcbiAgICAgICAgICBwYXJhbU5hbWVzOiByb3V0ZS5wYXJhbU5hbWVzLFxuICAgICAgICAgIHNlZ21lbnRJbmRleDogcm91dGUuc2VnbWVudEluZGV4LFxuICAgICAgICAgIHByZXBhcmVkLFxuICAgICAgICAgIHByZXBhcmVkSHlkcmF0aW9uOiByb3V0ZS5wcmVwYXJlZEh5ZHJhdGlvbixcbiAgICAgICAgICByZWRpcmVjdFRvOiByb3V0ZS5yZWRpcmVjdFRvLFxuICAgICAgICAgIHJlZGlyZWN0U3RhdHVzOiByb3V0ZS5yZWRpcmVjdFN0YXR1cyxcbiAgICAgICAgICByZW5kZXI6IHJvdXRlLnJlbmRlcixcbiAgICAgICAgICByZXNvdXJjZVBhZ2U6IHJvdXRlLnJlc291cmNlUGFnZSxcbiAgICAgICAgICBzdXNwZW5zZUJvdW5kYXJ5OiByb3V0ZS5zdXNwZW5zZUJvdW5kYXJ5LFxuICAgICAgICAgIGZhbGxiYWNrOiByb3V0ZS5mYWxsYmFjayxcbiAgICAgICAgICBoaWdobGlnaHRJZDogcm91dGUuaGlnaGxpZ2h0SWQsXG4gICAgICAgICAgcXVlcnlTY2hlbWE6IHJvdXRlLnF1ZXJ5U2NoZW1hLFxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICApLFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgbWF0Y2g6IHByZXBhcmVkTWF0Y2gubWF0Y2gsXG4gICAgc2VnbWVudHMsXG4gIH07XG59XG5cbi8qKlxuICogUm91dGUgaGVscGVyIHRoYXQgcHJlc2VydmVzIFR5cGVTY3JpcHQgaW5mZXJlbmNlIChpbmNsdWRpbmcgY29uZGl0aW9uYWwgcXVlcnktc2NoZW1hIGluZmVyZW5jZSkuXG4gKlxuICogQHBhcmFtIHJvdXRlIC0gUm91dGUgZGVmaW5pdGlvbiB0byByZXR1cm4gdW5jaGFuZ2VkIHdpdGggaW5mZXJyZWQgZ2VuZXJpY3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByPFxuICBUQ29udGV4dCA9IHVua25vd24sXG4gIFRQcmVwYXJlZCBleHRlbmRzIFByZXBhcmVSZXN1bHQgPSBQcmVwYXJlUmVzdWx0LFxuICBUVmFyaWFibGVzIGV4dGVuZHMgUGFyYW1EYXRhID0gUGFyYW1EYXRhLFxuICBUUXVlcnkgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBTIGV4dGVuZHMgRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkID0gRmlsdGVyU2NoZW1hIHwgdW5kZWZpbmVkLFxuICBUQ2hpbGRyZW4gZXh0ZW5kcyByZWFkb25seSAoUm91dGVOb2RlIHwgUmVkaXJlY3QpW10gfCB1bmRlZmluZWQgPVxuICAgIHJlYWRvbmx5IChSb3V0ZU5vZGUgfCBSZWRpcmVjdClbXSB8IHVuZGVmaW5lZCxcbj4oXG4gIHJvdXRlOiBSb3V0ZTxUQ29udGV4dCwgVFByZXBhcmVkLCBUVmFyaWFibGVzLCBUUXVlcnksIFMsIFRDaGlsZHJlbj4sXG4pOiBSb3V0ZTxUQ29udGV4dCwgVFByZXBhcmVkLCBUVmFyaWFibGVzLCBUUXVlcnksIFMsIFRDaGlsZHJlbj4ge1xuICByZXR1cm4gcm91dGU7XG59XG4iXX0=
|
package/lib/esm/types.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import type { Schema as FilterSchema, InferFilters as InferFilterResult, InferFi
|
|
|
4
4
|
import type { Match, MatchFunction, ParamData } from 'path-to-regexp';
|
|
5
5
|
import type { FlatRoute } from './builder.js';
|
|
6
6
|
import type { ResourcePage } from './ResourcePage.js';
|
|
7
|
-
import type { History, HistoryLocationSnapshot } from './history/types.js';
|
|
7
|
+
import type { History, HistoryLocationSnapshot, RouterNavigation } from './history/types.js';
|
|
8
8
|
export type MaybePromise<T> = T | Promise<T>;
|
|
9
9
|
export type RawQueryValue = string | string[];
|
|
10
10
|
export type RawQuery = Record<string, RawQueryValue>;
|
|
@@ -68,6 +68,7 @@ export type FlatRouteInput<TVariables extends ParamData> = {
|
|
|
68
68
|
path: string;
|
|
69
69
|
routeSegments?: FlatRouteSegment[];
|
|
70
70
|
redirectTo?: string;
|
|
71
|
+
redirectStatus?: RouterRedirectStatus;
|
|
71
72
|
matchFunction: MatchFunction<TVariables>;
|
|
72
73
|
routes: RouteNode[];
|
|
73
74
|
};
|
|
@@ -101,7 +102,7 @@ export type RouteRenderOpts<TContext, TPrepared extends PrepareResult, TVariable
|
|
|
101
102
|
query: TQueryShape;
|
|
102
103
|
filters: S extends FilterSchema ? InferFilterResult<S> : UnknownFilters | undefined;
|
|
103
104
|
};
|
|
104
|
-
export type RouteRender<TContext, TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends UnknownQueryShape = UnknownQueryShape, S extends FilterSchema | undefined = FilterSchema | undefined> = BivariantCallback<(opts: RouteRenderOpts<TContext, TPrepared, TVariables, TQueryShape, S>) => ReactElement | null | undefined
|
|
105
|
+
export type RouteRender<TContext, TPrepared extends PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends UnknownQueryShape = UnknownQueryShape, S extends FilterSchema | undefined = FilterSchema | undefined> = BivariantCallback<(opts: RouteRenderOpts<TContext, TPrepared, TVariables, TQueryShape, S>) => ReactElement | null | undefined>;
|
|
105
106
|
export type PreparedRouteSegment<TContext = unknown, TPrepared extends PrepareResult = PrepareResult, TVariables extends ParamData = ParamData, TQueryShape extends UnknownQueryShape = UnknownQueryShape> = {
|
|
106
107
|
routeNode?: RouteNode;
|
|
107
108
|
path?: string;
|
|
@@ -110,8 +111,10 @@ export type PreparedRouteSegment<TContext = unknown, TPrepared extends PrepareRe
|
|
|
110
111
|
paramNames: readonly string[];
|
|
111
112
|
segmentIndex: number;
|
|
112
113
|
preparedResource?: PreparedValueResource<TPrepared>;
|
|
114
|
+
preparedHydration?: RoutePreparedHydration<TPrepared>;
|
|
113
115
|
render?: RouteRender<TContext, TPrepared, TVariables, TQueryShape>;
|
|
114
116
|
redirectTo: string | null;
|
|
117
|
+
redirectStatus?: RouterRedirectStatus;
|
|
115
118
|
resourcePage?: ResourcePage | null;
|
|
116
119
|
suspenseBoundary: RouteSuspenseBoundary;
|
|
117
120
|
fallback?: RouteFallback<TContext>;
|
|
@@ -127,7 +130,10 @@ export type PreparedRouteSegmentSnapshot = {
|
|
|
127
130
|
paramNames: readonly string[];
|
|
128
131
|
segmentIndex: number;
|
|
129
132
|
preparedResource?: PreparedValueResource;
|
|
133
|
+
preparedHydration?: RoutePreparedHydration<unknown>;
|
|
134
|
+
render?: PreparedRouteSegment['render'];
|
|
130
135
|
redirectTo: string | null;
|
|
136
|
+
redirectStatus?: RouterRedirectStatus;
|
|
131
137
|
resourcePage?: ResourcePage | null;
|
|
132
138
|
suspenseBoundary: RouteSuspenseBoundary;
|
|
133
139
|
fallback?: RouteFallback;
|
|
@@ -146,8 +152,10 @@ export type ResolvedPreparedRouteSegment<TContext = unknown, TPrepared extends P
|
|
|
146
152
|
paramNames: readonly string[];
|
|
147
153
|
segmentIndex: number;
|
|
148
154
|
prepared: TPrepared | undefined;
|
|
155
|
+
preparedHydration?: RoutePreparedHydration<TPrepared>;
|
|
149
156
|
render?: RouteRender<TContext, TPrepared, TVariables, TQueryShape>;
|
|
150
157
|
redirectTo: string | null;
|
|
158
|
+
redirectStatus?: RouterRedirectStatus;
|
|
151
159
|
resourcePage?: ResourcePage | null;
|
|
152
160
|
suspenseBoundary: RouteSuspenseBoundary;
|
|
153
161
|
fallback?: RouteFallback<TContext>;
|
|
@@ -165,6 +173,8 @@ export type RouteEntry<TVariables extends ParamData, S extends FilterSchema | un
|
|
|
165
173
|
context: TContext;
|
|
166
174
|
location: HistoryLocationSnapshot;
|
|
167
175
|
route: RouterMatchedRoute<TVariables> | null;
|
|
176
|
+
status: RouterRenderStatus;
|
|
177
|
+
navigation: RouterNavigation;
|
|
168
178
|
forceRerender: boolean;
|
|
169
179
|
rawSearch?: string;
|
|
170
180
|
query: RawQuery;
|
|
@@ -173,6 +183,23 @@ export type RouteEntry<TVariables extends ParamData, S extends FilterSchema | un
|
|
|
173
183
|
activeQuerySchema?: S;
|
|
174
184
|
};
|
|
175
185
|
export type RouterRedirectStatus = 301 | 302;
|
|
186
|
+
export type RouterRenderStatus = 200 | 404;
|
|
187
|
+
export type RouterJsonPrimitive = string | number | boolean | null;
|
|
188
|
+
export type RouterJsonValue = RouterJsonPrimitive | RouterJsonValue[] | {
|
|
189
|
+
[key: string]: RouterJsonValue;
|
|
190
|
+
};
|
|
191
|
+
export type RoutePreparedHydration<TPrepared> = {
|
|
192
|
+
serialize: BivariantCallback<(prepared: TPrepared) => RouterJsonValue>;
|
|
193
|
+
deserialize: (value: RouterJsonValue) => TPrepared;
|
|
194
|
+
};
|
|
195
|
+
export type RouterHydrationSnapshot = {
|
|
196
|
+
version: 1;
|
|
197
|
+
location: HistoryLocationSnapshot;
|
|
198
|
+
segments: {
|
|
199
|
+
key: string;
|
|
200
|
+
prepared: RouterJsonValue;
|
|
201
|
+
}[];
|
|
202
|
+
};
|
|
176
203
|
export type MatchedRoute<TVariables extends ParamData> = {
|
|
177
204
|
match: RegExpExecArray;
|
|
178
205
|
route: FlatRoute<TVariables>;
|
|
@@ -183,15 +210,17 @@ export type Redirect = {
|
|
|
183
210
|
status?: RouterRedirectStatus;
|
|
184
211
|
};
|
|
185
212
|
export type RouteNode = {
|
|
186
|
-
children?: readonly (RouteNode | Redirect)[];
|
|
187
|
-
path?: string;
|
|
188
|
-
prepare?: BivariantCallback<(params: PrepareParams<unknown, ParamData>) => unknown
|
|
189
|
-
prepareSearchBehavior?: RoutePrepareSearchBehavior;
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
213
|
+
children?: readonly (RouteNode | Redirect)[] | undefined;
|
|
214
|
+
path?: string | undefined;
|
|
215
|
+
prepare?: BivariantCallback<(params: PrepareParams<unknown, ParamData>) => unknown> | undefined;
|
|
216
|
+
prepareSearchBehavior?: RoutePrepareSearchBehavior | undefined;
|
|
217
|
+
preparedHydration?: RoutePreparedHydration<unknown> | undefined;
|
|
218
|
+
querySchema?: FilterSchema | undefined;
|
|
219
|
+
render?: BivariantCallback<(opts: RouteRenderOpts<unknown, unknown>) => ReactElement | null | undefined> | undefined;
|
|
220
|
+
resourcePage?: ResourcePage | null | undefined;
|
|
221
|
+
status?: RouterRenderStatus | undefined;
|
|
222
|
+
suspenseBoundary?: RouteSuspenseBoundary | undefined;
|
|
223
|
+
fallback?: RouteFallback | undefined;
|
|
195
224
|
};
|
|
196
225
|
export type PrepareResult = unknown;
|
|
197
226
|
export type PrepareParams<TContext, TVariables extends ParamData, TQueryShape extends UnknownQueryShape = UnknownQueryShape, S extends FilterSchema | undefined = FilterSchema | undefined> = {
|
|
@@ -213,9 +242,11 @@ export type Route<TContext, TPrepared extends PrepareResult, TVariables extends
|
|
|
213
242
|
fallback?: RouteFallback<TContext>;
|
|
214
243
|
path?: string;
|
|
215
244
|
prepare?: RoutePrepare<TContext, TPrepared, TVariables, TQueryShape, S>;
|
|
245
|
+
preparedHydration?: RoutePreparedHydration<TPrepared>;
|
|
216
246
|
prepareSearchBehavior?: RoutePrepareSearchBehavior;
|
|
217
247
|
render?: RouteRender<TContext, TPrepared, TVariables, TQueryShape, S>;
|
|
218
248
|
querySchema?: S;
|
|
249
|
+
status?: RouterRenderStatus;
|
|
219
250
|
};
|
|
220
251
|
export type RouteComponentProps<TVariables extends ParamData, S extends FilterSchema | undefined = FilterSchema | undefined, TQueryShape extends UnknownQueryShape = UnknownQueryShape> = {
|
|
221
252
|
children: ReactElement;
|
package/lib/esm/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
|