@workflow/cli 5.0.0-beta.43 → 5.0.0-beta.46
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/dist/lib/bulk-cancel.d.ts +2 -2
- package/dist/lib/bulk-cancel.js +4 -4
- package/dist/lib/config/workflow-config.js +2 -2
- package/dist/lib/inspect/auth.js +2 -2
- package/dist/lib/inspect/env.d.ts +1 -1
- package/dist/lib/inspect/env.js +4 -4
- package/dist/lib/inspect/hydration.d.ts +2 -2
- package/dist/lib/inspect/hydration.js +5 -5
- package/dist/lib/inspect/output.js +13 -13
- package/dist/lib/inspect/run.js +2 -2
- package/dist/lib/inspect/vercel-link.d.ts +2 -2
- package/dist/lib/inspect/vercel-link.d.ts.map +1 -1
- package/dist/lib/inspect/vercel-link.js +1 -1
- package/dist/lib/inspect/web.d.ts +1 -1
- package/dist/lib/inspect/web.d.ts.map +1 -1
- package/dist/lib/inspect/web.js +5 -4
- package/package.json +11 -9
package/dist/lib/inspect/run.js
CHANGED
|
@@ -81,7 +81,7 @@ export const startRun = async (world, workflowNameOrRunId, opts, args) => {
|
|
|
81
81
|
}
|
|
82
82
|
}
|
|
83
83
|
catch {
|
|
84
|
-
// Health check failed
|
|
84
|
+
// Health check failed, so use run's specVersion as fallback
|
|
85
85
|
}
|
|
86
86
|
const newRun = await start({ workflowId }, jsonArgs, {
|
|
87
87
|
deploymentId,
|
|
@@ -94,4 +94,4 @@ export const startRun = async (world, workflowNameOrRunId, opts, args) => {
|
|
|
94
94
|
logger.log(newRun);
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3J1bi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRTdELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQU8vRCxNQUFNLGVBQWUsR0FBRyxLQUFLLEVBQUUsS0FBWSxFQUFFLFdBQW1CLEVBQUUsRUFBRTtJQUNsRSxJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztRQUNwQyxNQUFNLEdBQUcsR0FBRyxNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNULE1BQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxXQUFXLFlBQVksQ0FBQyxDQUFDO1FBQ2xELENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQyxZQUFZLENBQUM7SUFDMUIsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxLQUFLLEVBQzNCLEtBQVksRUFDWixtQkFBMkIsRUFDM0IsSUFBbUIsRUFDbkIsSUFBYyxFQUNkLEVBQUU7SUFDRixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7UUFDaEMsSUFBSSxDQUFDO1lBQ0gsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2YsTUFBTSxDQUFDLElB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RCxDQUFDO0lBRUQsTUFBTSxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsRUFBRSxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUU7UUFDbkQsWUFBWTtRQUNaLFdBQVc7S0FDWixDQUFDLENBQUM7SUFFSCxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQixDQUFDO0FBQ0gsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgc3RhcnQgfSBmcm9tICdAd29ya2Zsb3cvY29yZS9ydW50aW1lJztcbmltcG9ydCB7IGhlYWx0aENoZWNrIH0gZnJvbSAnQHdvcmtmbG93L2NvcmUvcnVudGltZS9oZWxwZXJzJztcbmltcG9ydCB0eXBlIHsgV29ybGQgfSBmcm9tICdAd29ya2Zsb3cvd29ybGQnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBwbGFuV2luZG93U3RhcnRGcm9tUmVzcG9uc2UgfSBmcm9tICcuL3RpbWUtd2luZG93LmpzJztcblxuaW50ZXJmYWNlIENMSUNyZWF0ZU9wdHMge1xuICBqc29uPzogYm9vbGVhbjtcbiAgdmVyYm9zZT86IGJvb2xlYW47XG59XG5cbmNvbnN0IGdldFdvcmtmbG93TmFtZSA9IGFzeW5jICh3b3JsZDogV29ybGQsIHJ1bk5hbWVPcklkOiBzdHJpbmcpID0+IHtcbiAgaWYgKHJ1bk5hbWVPcklkLnN0YXJ0c1dpdGgoJ3dydW5fJykpIHtcbiAgICBjb25zdCBydW4gPSBhd2FpdCB3b3JsZC5ydW5zLmdldChydW5OYW1lT3JJZCk7XG4gICAgaWYgKCFydW4pIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgUnVuICR7cnVuTmFtZU9ySWR9IG5vdCBmb3VuZGApO1xuICAgIH1cbiAgICByZXR1cm4gcnVuLndvcmtmbG93TmFtZTtcbiAgfVxuICByZXR1cm4gcnVuTmFtZU9ySWQ7XG59O1xuXG5leHBvcnQgY29uc3Qgc3RhcnRSdW4gPSBhc3luYyAoXG4gIHdvcmxkOiBXb3JsZCxcbiAgd29ya2Zsb3dOYW1lT3JSdW5JZDogc3RyaW5nLFxuICBvcHRzOiBDTElDcmVhdGVPcHRzLFxuICBhcmdzOiBzdHJpbmdbXVxuKSA9PiB7XG4gIGNvbnN0IGpzb25BcmdzID0gYXJncy5tYXAoKGFyZykgPT4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gSlNPTi5wYXJzZShhcmcpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIud2FybihgRmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IFwiJHthcmd9XCIgYXMgSlNPTjogJHtlcnJvcn1gKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfSk7XG5cbiAgLy8gT25seSBkZXBsb3ltZW50L3NwZWMgbWV0YWRhdGEgaXMgbmVlZGVkIHRvIHN0YXJ0IGEgbmV3IHJ1biwgc28gdGhpc1xuICAvLyBhY2NlcHRzIGVpdGhlciBhIGZ1bGwgcnVuIHJlY29yZCBvciBhbiBhbmFseXRpY3MgKG1ldGFkYXRhLW9ubHkpIHJvdy5cbiAgbGV0IHJ1bjpcbiAgICB8IHsgZGVwbG95bWVudElkOiBzdHJpbmc7IHNwZWNWZXJzaW9uPzogbnVtYmVyOyB3b3JrZmxvd05hbWU6IHN0cmluZyB9XG4gICAgfCB1bmRlZmluZWQ7XG4gIC8vIElmIHRoZSB3b3JrZmxvd05hbWVPclJ1bklkIGlzIGEgcnVuIElELCBnZXQgdGhlIHJ1blxuICBpZiAod29ya2Zsb3dOYW1lT3JSdW5JZC5zdGFydHNXaXRoKCd3cnVuXycpKSB7XG4gICAgcnVuID0gYXdhaXQgd29ybGQucnVucy5nZXQod29ya2Zsb3dOYW1lT3JSdW5JZCk7XG4gIH0gZWxzZSB7XG4gICAgLy8gR2V0IHRoZSBmaXJzdCBydW4gZm9yIHRoYXQgbmFtZSwgaG9wZWZ1bGx5IHRoZSBuZXdlc3QgZGVwbG95bWVudCxcbiAgICAvLyBidXQgY2FuJ3QgZ3VhcmFudGVlIHRoYXQuIFRoaXMgaXMgbWV0YWRhdGEgb25seSwgc28gcHJlZmVyIHRoZVxuICAgIC8vIGFuYWx5dGljcyByZWFkIHBhdGggd2hlbiB0aGUgYmFja2VuZCBwcm92aWRlcyBvbmUuXG4gICAgY29uc3QgcnVuTGlzdCA9IHdvcmxkLmFuYWx5dGljc1xuICAgICAgPyBhd2FpdCB3b3JsZC5hbmFseXRpY3MucnVucy5saXN0KHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93TmFtZU9yUnVuSWQsXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBzb3J0T3JkZXI6ICdkZXNjJywgbGltaXQ6IDEgfSxcbiAgICAgICAgfSlcbiAgICAgIDogYXdhaXQgd29ybGQucnVucy5saXN0KHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93TmFtZU9yUnVuSWQsXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBzb3J0T3JkZXI6ICdkZXNjJywgbGltaXQ6IDEgfSxcbiAgICAgICAgICByZXNvbHZlRGF0YTogJ25vbmUnLFxuICAgICAgICB9KTtcbiAgICBydW4gPSBydW5MaXN0LmRhdGFbMF07XG5cbiAgICAvLyBUaGUgYW5hbHl0aWNzIGJhY2tlbmQgZGVmYXVsdHMgaXRzIGxpc3RpbmcgdG8gYSByZWNlbnQgd2luZG93XG4gICAgLy8gKHRyYWlsaW5nIDI0aCBvbiB0aGUgVmVyY2VsIGJhY2tlbmQpLiBXaGVuIHRoZSBuYW1lIHdhc24ndCBmb3VuZFxuICAgIC8vIHRoZXJlLCByZXRyeSBhY3Jvc3MgdGhlIHBsYW4ncyB3aG9sZSBvYnNlcnZhYmlsaXR5IHdpbmRvdyB1c2luZyB0aGVcbiAgICAvLyB3aW5kb3cgYm91bmRzIGZyb20gdGhlIHJlc3BvbnNlJ3MgcGFnZSBtZXRhZGF0YS5cbiAgICBpZiAoIXJ1biAmJiB3b3JsZC5hbmFseXRpY3MpIHtcbiAgICAgIGNvbnN0IHdpbmRvd1N0YXJ0ID0gcGxhbldpbmRvd1N0YXJ0RnJvbVJlc3BvbnNlKHJ1bkxpc3QpO1xuICAgICAgaWYgKHdpbmRvd1N0YXJ0KSB7XG4gICAgICAgIGNvbnN0IHdpZGVuZWQgPSBhd2FpdCB3b3JsZC5hbmFseXRpY3MucnVucy5saXN0KHtcbiAgICAgICAgICB3b3JrZmxvd05hbWU6IHdvcmtmbG93TmFtZU9yUnVuSWQsXG4gICAgICAgICAgc3RhcnRUaW1lOiB3aW5kb3dTdGFydCxcbiAgICAgICAgICBlbmRUaW1lOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICAgICAgcGFnaW5hdGlvbjogeyBzb3J0T3JkZXI6ICdkZXNjJywgbGltaXQ6IDEgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIHJ1biA9IHdpZGVuZWQuZGF0YVswXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoIXJ1bikge1xuICAgIHRocm93IG5ldyBFcnJvcihgUnVuIFwiJHt3b3JrZmxvd05hbWVPclJ1bklkfVwiIG5vdCBmb3VuZGApO1xuICB9XG5cbiAgY29uc3QgZGVwbG95bWVudElkID0gcnVuLmRlcGxveW1lbnRJZDtcbiAgY29uc3Qgd29ya2Zsb3dJZCA9IGF3YWl0IGdldFdvcmtmbG93TmFtZSh3b3JsZCwgd29ya2Zsb3dOYW1lT3JSdW5JZCk7XG5cbiAgLy8gUHJvYmUgdGhlIGRlcGxveW1lbnQncyBzcGVjVmVyc2lvbiB2aWEgaGVhbHRoIGNoZWNrIHNvIHdlIHVzZSB0aGVcbiAgLy8gY29ycmVjdCBxdWV1ZSB0cmFuc3BvcnQgKEpTT04gZm9yIG9sZCBkZXBsb3ltZW50cywgQ0JPUiBmb3IgbmV3KS5cbiAgLy8gRmFsbHMgYmFjayB0byB0aGUgcnVuJ3Mgc3BlY1ZlcnNpb24gaWYgdGhlIGhlYWx0aCBjaGVjayBmYWlsc1xuICAvLyAoZS5nLiBvbGQgZGVwbG95bWVudCB3aXRob3V0IGhlYWx0aCBjaGVjayBzdXBwb3J0KS5cbiAgbGV0IHNwZWNWZXJzaW9uID0gcnVuLnNwZWNWZXJzaW9uO1xuICB0cnkge1xuICAgIGNvbnN0IGhjID0gYXdhaXQgaGVhbHRoQ2hlY2sod29ybGQsIHtcbiAgICAgIGRlcGxveW1lbnRJZCxcbiAgICAgIHRpbWVvdXQ6IDEwXzAwMCxcbiAgICB9KTtcbiAgICBpZiAoaGMuaGVhbHRoeSAmJiBoYy5zcGVjVmVyc2lvbiAhPSBudWxsKSB7XG4gICAgICBzcGVjVmVyc2lvbiA9IGhjLnNwZWNWZXJzaW9uO1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gICAgLy8gSGVhbHRoIGNoZWNrIGZhaWxlZCwgc28gdXNlIHJ1bidzIHNwZWNWZXJzaW9uIGFzIGZhbGxiYWNrXG4gIH1cblxuICBjb25zdCBuZXdSdW4gPSBhd2FpdCBzdGFydCh7IHdvcmtmbG93SWQgfSwganNvbkFyZ3MsIHtcbiAgICBkZXBsb3ltZW50SWQsXG4gICAgc3BlY1ZlcnNpb24sXG4gIH0pO1xuXG4gIGlmIChvcHRzLmpzb24pIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShKU09OLnN0cmluZ2lmeShuZXdSdW4sIG51bGwsIDIpKTtcbiAgfSBlbHNlIHtcbiAgICBsb2dnZXIubG9nKG5ld1J1bik7XG4gIH1cbn07XG4iXX0=
|
|
@@ -11,11 +11,11 @@ interface RepoProjectConfig {
|
|
|
11
11
|
id: string;
|
|
12
12
|
name: string;
|
|
13
13
|
directory: string;
|
|
14
|
-
/** Per-project orgId
|
|
14
|
+
/** Per-project orgId, added in vercel/vercel#14967. Prefer this over root-level orgId. */
|
|
15
15
|
orgId?: string;
|
|
16
16
|
}
|
|
17
17
|
interface RepoProjectsConfig {
|
|
18
|
-
/** Legacy root-level orgId
|
|
18
|
+
/** Legacy root-level orgId: older Vercel CLI versions put orgId here. */
|
|
19
19
|
orgId?: string;
|
|
20
20
|
remoteName: string;
|
|
21
21
|
projects: RepoProjectConfig[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vercel-link.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"vercel-link.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/vercel-link.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAaH,UAAU,iBAAiB;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,kBAAkB;IAC1B,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAED,UAAU,QAAQ;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,kBAAkB,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAID,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,mBAAmB,SAAS,CAAC;AAC1C,eAAO,MAAM,kBAAkB,iBAAiB,CAAC;AACjD,eAAO,MAAM,eAAe,cAAc,CAAC;AAW3C;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,KAEjD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,KACb,KAAK,IAAI,MAAM,CAAC,cAElB,CAAC;AAEF,eAAO,MAAM,sBAAsB,GAAI,OAAO,OAAO,EAAE,OAAO,MAAM,EAAE,6BAOrE,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAWtD;AAED,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAK7B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAGjD;AAWD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,iBAAiB,EAAE,EAC7B,IAAI,EAAE,MAAM,GACX,iBAAiB,EAAE,CAuBrB;AAsCD,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CA4B7B;AAED,wBAAiB,qBAAqB,CAAC,EACrC,KAAK,EACL,IAAI,EACJ,QAAa,GACd,EAAE;IACD,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,oCAgBA;AAED;;;;GAIG;AACH,wBAAsB,YAAY,CAChC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA+C7B;AAmBD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAW7D;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAoB5E"}
|
|
@@ -272,4 +272,4 @@ export async function getRepoLink(cwd) {
|
|
|
272
272
|
return undefined;
|
|
273
273
|
}
|
|
274
274
|
}
|
|
275
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvdmVyY2VsLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RCxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLENBQUM7QUFnRHZCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUM7QUFFM0MsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUNsQyxJQUFJLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQUMsT0FBTyxH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QUNuRSxNQUFNLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLGNBQWMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGZpbGUgd2FzIGNvcGllZCBmcm9tIEB2ZXJjZWwvdmVyY2VsL3BhY2thZ2VzL2NsaS9zcmMvdXRpbC9wcm9qZWN0cy9saW5rLnRzXG4gKiBhbmQgYWRhcHRlZCB0byB3b3JrIHdpdGhvdXQgaW1wb3J0aW5nIG1vc3Qgb2YgdGhlIHZlcmNlbCBDTEkgY29kZS5cbiAqXG4gKiBJdCBzdHJpcHM6XG4gKiAtIE5ldHdvcmsgcmVxdWVzdHMgZm9yIHZhbGlkYXRpbmcgd2hldGhlciB0aGUgb3JnL3VzZXIvdGVhbS9wcm9qZWN0IGV4aXN0c1xuICogLSBTb21lIHZlcmNlbC1zcGVjaWZpYyBlbnZpcm9ubWVudCB2YXJpYWJsZSBjaGVja3MgYW5kIGluZmVyZW5jZVxuICogICB0aGF0IHdlJ3JlIG5vdCBzdXBwb3J0aW5nIGZvciBXb3JrZmxvdyBDTEkgZm9yIG5vd1xuICovXG5cbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBmcywgeyBzdGF0U3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgbHN0YXQgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGhvbWVkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSwgcG9zaXgsIHJlbGF0aXZlIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB1dGlsIGZyb20gJ25vZGU6dXRpbCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2NvbmZpZy9sb2cuanMnO1xuXG5jb25zdCBob21lID0gaG9tZWRpcigpO1xuXG5pbnRlcmZhY2UgUmVwb1Byb2plY3RDb25maWcge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xuICAvKiogUGVyLXByb2plY3Qgb3JnSWQg4oCUIGFkZGVkIGluIHZlcmNlbC92ZXJjZWwjMTQ5NjcuIFByZWZlciB0aGlzIG92ZXIgcm9vdC1sZXZlbCBvcmdJZC4gKi9cbiAgb3JnSWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBSZXBvUHJvamVjdHNDb25maWcge1xuICAvKiogTGVnYWN5IHJvb3QtbGV2ZWwgb3JnSWQg4oCUIG9sZGVyIFZlcmNlbCBDTEkgdmVyc2lvbnMgcHV0IG9yZ0lkIGhlcmUuICovXG4gIG9yZ0lkPzogc3RyaW5nO1xuICByZW1vdGVOYW1lOiBzdHJpbmc7XG4gIHByb2plY3RzOiBSZXBvUHJvamVjdENvbmZpZ1tdO1xufVxuXG5pbnRlcmZhY2UgUmVwb0xpbmsge1xuICByb290UGF0aDogc3RyaW5nO1xuICByZXBvQ29uZmlnUGF0aDogc3RyaW5nO1xuICByZXBvQ29uZmlnPzogUmVwb1Byb2plY3RzQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RMaW5rIHtcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBWZXJjZWwgUHJvamVjdC5cbiAgICovXG4gIHByb2plY3RJZDogc3RyaW5nO1xuICAvKipcbiAgICogVXNlciBvciBUZWFtIElEIG9mIHRoZSBvd25lciBvZiB0aGUgVmVyY2VsIFByb2plY3QuXG4gICAqL1xuICBvcmdJZDogc3RyaW5nO1xuICAvKipcbiAgICogV2hlbiBsaW5rZWQgYXMgYSByZXBvc2l0b3J5LCBjb250YWlucyB0aGUgYWJzb2x1dGUgcGF0aFxuICAgKiB0byB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZXBvUm9vdD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gbGlua2VkIGFzIGEgcmVwb3NpdG9yeSwgY29udGFpbnMgdGhlIHJlbGF0aXZlIHBhdGhcbiAgICogdG8gdGhlIHNlbGVjdGVkIHByb2plY3Qgcm9vdCBkaXJlY3RvcnkuXG4gICAqL1xuICBwcm9qZWN0Um9vdERpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFZlcmNlbCBQcm9qZWN0LlxuICAgKi9cbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KGZzLnJlYWRGaWxlKTtcblxuZXhwb3J0IGNvbnN0IFZFUkNFTF9ESVIgPSAnLnZlcmNlbCc7XG5leHBvcnQgY29uc3QgVkVSQ0VMX0RJUl9GQUxMQkFDSyA9ICcubm93JztcbmV4cG9ydCBjb25zdCBWRVJDRUxfRElSX1BST0pFQ1QgPSAncHJvamVjdC5qc29uJztcbmV4cG9ydCBjb25zdCBWRVJDRUxfRElSX1JFUE8gPSAncmVwby5qc29uJztcblxuY29uc3QgaXNEaXJlY3RvcnkgPSAoZGlyOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZGVidWcoYCR7ZGlyfSBpcyBub3QgYSBkaXJlY3Rvcnk6ICR7ZXJyfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcblxuLyoqXG4gKiBBIHR5cGUgZ3VhcmQgZm9yIGB0cnkuLi5jYXRjaGAgZXJyb3JzLlxuICogQGRlcHJlY2F0ZWQgdXNlIGByZXF1aXJlKCdub2RlOnV0aWwnKS50eXBlcy5pc05hdGl2ZUVycm9yKGVycm9yKWAgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgaXNFcnJvciA9IChlcnJvcjogdW5rbm93bik6IGVycm9yIGlzIEVycm9yID0+IHtcbiAgcmV0dXJuIHV0aWwudHlwZXMuaXNOYXRpdmVFcnJvcihlcnJvcik7XG59O1xuXG5leHBvcnQgY29uc3QgaXNFcnJub0V4Y2VwdGlvbiA9IChcbiAgZXJyb3I6IHVua25vd25cbik6IGVycm9yIGlzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbiA9PiB7XG4gIHJldHVybiBpc0Vycm9yKGVycm9yKSAmJiAnY29kZScgaW4gZXJyb3I7XG59O1xuXG5leHBvcnQgY29uc3QgaXNPbmVPZkVyck5vRXhjZXB0aW9ucyA9IChlcnJvcjogdW5rbm93biwgY29kZXM6IHN0cmluZ1tdKSA9PiB7XG4gIHJldHVybiAoXG4gICAgaXNFcnJub0V4Y2VwdGlvbihlcnJvcikgJiZcbiAgICAnY29kZScgaW4gZXJyb3IgJiZcbiAgICBlcnJvci5jb2RlICYmXG4gICAgY29kZXMuaW5jbHVkZXMoZXJyb3IuY29kZSlcbiAgKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYDxjd2Q+Ly52ZXJjZWxgIGRpcmVjdG9yeSBmb3IgdGhlIGN1cnJlbnQgcHJvamVjdFxuICogd2l0aCBhIGZhbGxiYWNrIHRvIDxjd2Q+Ly5ub3dgIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgKmJvdGgqIGAudmVyY2VsYCBhbmQgYC5ub3dgIGRpcmVjdG9yaWVzIGV4aXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVyY2VsRGlyZWN0b3J5KGN3ZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgbG9nZ2VyLmRlYnVnKGBHZXR0aW5nIHZlcmNlbCBkaXJlY3RvcnkgZm9yICR7Y3dkfWApO1xuICBjb25zdCBwb3NzaWJsZURpcnMgPSBbam9pbihjd2QsIFZFUkNFTF9ESVIpLCBqb2luKGN3ZCwgVkVSQ0VMX0RJUl9GQUxMQkFDSyldO1xuICBsb2dnZXIuZGVidWcoYFBvc3NpYmxlIHZlcmNlbCBkaXJlY3RvcmllczogJHtwb3NzaWJsZURpcnMuam9pbignLCAnKX1gKTtcbiAgY29uc3QgZXhpc3RpbmdEaXJzID0gcG9zc2libGVEaXJzLmZpbHRlcigoZCkgPT4gaXNEaXJlY3RvcnkoZCkpO1xuICBpZiAoZXhpc3RpbmdEaXJzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ09ORkxJQ1RJTkdfQ09ORklHX0RJUkVDVE9SSUVTOiBCb3RoIGAudmVyY2VsYCBhbmQgYC5ub3dgIGRpcmVjdG9yaWVzIGV4aXN0LiBQbGVhc2UgcmVtb3ZlIHRoZSBgLm5vd2AgZGlyZWN0b3J5LidcbiAgICApO1xuICB9XG4gIHJldHVybiBleGlzdGluZ0RpcnNbMF0gfHwgcG9zc2libGVEaXJzWzBdO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJvamVjdExpbmsoXG4gIHBhdGg6IHN0cmluZ1xuKTogUHJvbWlzZTxQcm9qZWN0TGluayB8IG51bGw+IHtcbiAgcmV0dXJuIChcbiAgICAoYXdhaXQgZ2V0UHJvamVjdExpbmtGcm9tUmVwb0xpbmsocGF0aCkpIHx8XG4gICAgKGF3YWl0IGdldExpbmtGcm9tRGlyKGdldFZlcmNlbERpcmVjdG9yeShwYXRoKSkpXG4gICk7XG59XG5cbi8qKlxuICogQ29udmVydCBXaW5kb3dzIHNlcGFyYXRvcnMgdG8gVW5peCBzZXBhcmF0b3JzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplT3NQYXRoKHA6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGlzV2luID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJztcbiAgcmV0dXJuIGlzV2luID8gcC5yZXBsYWNlKC9cXFxcL2csICcvJykgOiBwO1xufVxuXG5mdW5jdGlvbiBzb3J0QnlEaXJlY3RvcnkoXG4gIGE6IHsgZGlyZWN0b3J5OiBzdHJpbmcgfSxcbiAgYjogeyBkaXJlY3Rvcnk6IHN0cmluZyB9XG4pOiBudW1iZXIge1xuICBjb25zdCBhUGFydHMgPSBhLmRpcmVjdG9yeS5zcGxpdCgnLycpO1xuICBjb25zdCBiUGFydHMgPSBiLmRpcmVjdG9yeS5zcGxpdCgnLycpO1xuICByZXR1cm4gYlBhcnRzLmxlbmd0aCAtIGFQYXJ0cy5sZW5ndGg7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIG1hdGNoaW5nIFByb2plY3RzIGZyb20gYW4gYXJyYXkgb2YgUHJvamVjdCBsaW5rc1xuICogd2hlcmUgdGhlIHByb3ZpZGVkIHJlbGF0aXZlIHBhdGggaXMgd2l0aGluIHRoZSBQcm9qZWN0J3NcbiAqIHJvb3QgZGlyZWN0b3J5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFByb2plY3RzRnJvbVBhdGgoXG4gIHByb2plY3RzOiBSZXBvUHJvamVjdENvbmZpZ1tdLFxuICBwYXRoOiBzdHJpbmdcbik6IFJlcG9Qcm9qZWN0Q29uZmlnW10ge1xuICBsb2dnZXIuZGVidWcoXG4gICAgYEZpbmRpbmcgcHJvamVjdHMgJHtKU09OLnN0cmluZ2lmeShwcm9qZWN0cyl9IGZyb20gcGF0aCAke3BhdGh9YFxuICApO1xuICBjb25zdCBub3JtYWxpemVkUGF0aCA9IG5vcm1hbGl6ZU9zUGF0aChwYXRoKTtcbiAgY29uc3QgbWF0Y2hlcyA9IHByb2plY3RzXG4gICAgLnNsaWNlKClcbiAgICAuc29ydChzb3J0QnlEaXJlY3RvcnkpXG4gICAgLmZpbHRlcigocHJvamVjdCkgPT4ge1xuICAgICAgaWYgKHByb2plY3QuZGlyZWN0b3J5ID09PSAnLicpIHtcbiAgICAgICAgLy8gUHJvamVjdCBoYXMgbm8gXCJSb290IERpcmVjdG9yeVwiIHNldHRpbmcsIHNvIGFueSBwYXRoIGlzIHZhbGlkXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgbm9ybWFsaXplZFBhdGggPT09IHByb2plY3QuZGlyZWN0b3J5IHx8XG4gICAgICAgIG5vcm1hbGl6ZWRQYXRoLnN0YXJ0c1dpdGgoYCR7cHJvamVjdC5kaXJlY3Rvcnl9L2ApXG4gICAgICApO1xuICAgIH0pO1xuICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgbWF0Y2hlcywgd2Ugb25seSB3YW50IHRoZSBtb3N0IHJlbGV2YW50XG4gIC8vIHNlbGVjdGlvbnMgKHdpdGggdGhlIGRlZXBlc3QgZGlyZWN0b3J5IGRlcHRoKSwgc28gcGljayB0aGUgZmlyc3RcbiAgLy8gb25lIGFuZCBmaWx0ZXIgb24gdGhvc2UgbWF0Y2hlcy5cbiAgY29uc3QgZmlyc3RNYXRjaCA9IG1hdGNoZXNbMF07XG4gIHJldHVybiBtYXRjaGVzLmZpbHRlcigobWF0Y2gpID0+IG1hdGNoLmRpcmVjdG9yeSA9PT0gZmlyc3RNYXRjaC5kaXJlY3RvcnkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRQcm9qZWN0TGlua0Zyb21SZXBvTGluayhcbiAgcGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPFByb2plY3RMaW5rIHwgbnVsbD4ge1xuICBjb25zdCByZXBvTGluayA9IGF3YWl0IGdldFJlcG9MaW5rKHBhdGgpO1xuICBpZiAoIXJlcG9MaW5rPy5yZXBvQ29uZmlnKSB7XG4gICAgbG9nZ2VyLmRlYnVnKCdObyByZXBvIGxpbmsgZm91bmQnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBsb2dnZXIuZGVidWcoJ1JlcG8gbGluaycsIEpTT04uc3RyaW5naWZ5KHJlcG9MaW5rKSk7XG4gIGNvbnN0IHByb2plY3RzID0gZmluZFByb2plY3RzRnJvbVBhdGgoXG4gICAgcmVwb0xpbmsucmVwb0NvbmZpZy5wcm9qZWN0cyxcbiAgICByZWxhdGl2ZShyZXBvTGluay5yb290UGF0aCwgcGF0aClcbiAgKTtcbiAgbG9nZ2VyLmRlYnVnKGBGb3VuZCBtYXRjaGluZyByZXBvIHByb2plY3RzOiAke0pTT04uc3RyaW5naWZ5KHByb2plY3RzKX1gKTtcbiAgaWYgKHByb2plY3RzLmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IHByb2plY3QgPSBwcm9qZWN0c1swXTtcbiAgICAvLyBQcmVmZXIgcGVyLXByb2plY3Qgb3JnSWQgKHZlcmNlbC92ZXJjZWwjMTQ5NjcpLCBmYWxsIGJhY2sgdG9cbiAgICAvLyByb290LWxldmVsIG9yZ0lkIGZvciBvbGRlciBWZXJjZWwgQ0xJIHZlcnNpb25zLlxuICAgIGNvbnN0IG9yZ0lkID0gcHJvamVjdC5vcmdJZCA/PyByZXBvTGluay5yZXBvQ29uZmlnPy5vcmdJZDtcbiAgICBpZiAoIW9yZ0lkKSB7XG4gICAgICBsb2dnZXIuZGVidWcoJ05vIG9yZ0lkIGZvdW5kIGluIHJlcG8gbGluayBwcm9qZWN0IG9yIHJvb3QgY29uZmlnJyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcG9Sb290OiByZXBvTGluay5yb290UGF0aCxcbiAgICAgIG9yZ0lkLFxuICAgICAgcHJvamVjdElkOiBwcm9qZWN0LmlkLFxuICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIHByb2plY3RSb290RGlyZWN0b3J5OiBwcm9qZWN0LmRpcmVjdG9yeSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHByb2plY3RzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ011bHRpcGxlIHByb2plY3RzIGZvdW5kJyk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMaW5rRnJvbURpcihcbiAgdmVyY2VsRGlyOiBzdHJpbmdcbik6IFByb21pc2U8UHJvamVjdExpbmsgfCBudWxsPiB7XG4gIGxvZ2dlci5kZWJ1ZyhgR2V0dGluZyBsaW5rIGZyb20gZGlyICR7dmVyY2VsRGlyfWApO1xuICB0cnkge1xuICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZWFkRmlsZShqb2luKHZlcmNlbERpciwgVkVSQ0VMX0RJUl9QUk9KRUNUKSwgJ3V0ZjgnKTtcbiAgICBjb25zdCBsaW5rOiBQcm9qZWN0TGluayA9IEpTT04ucGFyc2UoanNvbik7XG5cbiAgICBpZiAoIWxpbmsgfHwgIWxpbmsucHJvamVjdElkIHx8ICFsaW5rLm9yZ0lkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQcm9qZWN0IFNldHRpbmdzIGFyZSBpbnZhbGlkLiBUbyBsaW5rIHlvdXIgcHJvamVjdCBhZ2FpbiwgcmVtb3ZlIHRoZSAke3ZlcmNlbERpcn0gZGlyZWN0b3J5LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbms7XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIC8vIGxpbmsgZmlsZSBkb2VzIG5vdCBleGlzdHMsIHByb2plY3QgaXMgbm90IGxpbmtlZFxuICAgIGlmIChpc09uZU9mRXJyTm9FeGNlcHRpb25zKGVyciwgWydFTk9FTlQnLCAnRU5PVERJUiddKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gbGluayBmaWxlIGNhbid0IGJlIHJlYWRcbiAgICBpZiAoaXNFcnJvcihlcnIpICYmIGVyci5uYW1lID09PSAnU3ludGF4RXJyb3InKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQcm9qZWN0IFNldHRpbmdzIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQuIFRvIGxpbmsgeW91ciBwcm9qZWN0IGFnYWluLCByZW1vdmUgdGhlICR7dmVyY2VsRGlyfSBkaXJlY3RvcnkuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnI7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiB0cmF2ZXJzZVVwRGlyZWN0b3JpZXMoe1xuICBzdGFydCxcbiAgYmFzZSxcbiAgbWF4RGVwdGggPSAxMCxcbn06IHtcbiAgc3RhcnQ6IHN0cmluZztcbiAgYmFzZT86IHN0cmluZztcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG59KSB7XG4gIGxldCBjdXJyZW50OiBzdHJpbmcgfCB1bmRlZmluZWQgPSBub3JtYWxpemUoc3RhcnQpO1xuICBjb25zdCBub3JtYWxpemVkUm9vdCA9IGJhc2UgPyBub3JtYWxpemUoYmFzZSkgOiB1bmRlZmluZWQ7XG4gIGxldCBkZXB0aCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgeWllbGQgY3VycmVudDtcbiAgICBpZiAoY3VycmVudCA9PT0gbm9ybWFsaXplZFJvb3QpIGJyZWFrO1xuICAgIC8vIEdvIHVwIG9uZSBkaXJlY3RvcnlcbiAgICBjb25zdCBuZXh0ID0gam9pbihjdXJyZW50LCAnLi4nKTtcbiAgICBjdXJyZW50ID0gbmV4dCA9PT0gY3VycmVudCA/IHVuZGVmaW5lZCA6IG5leHQ7XG4gICAgZGVwdGgrKztcbiAgICBpZiAoZGVwdGggPiBtYXhEZXB0aCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBNYXggdHJhdmVyc2FsIGRlcHRoIG9mICR7bWF4RGVwdGh9IHJlYWNoZWRgKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEdpdmVuIGEgYHN0YXJ0YCBkaXJlY3RvcnksIHRyYXZlcnNlcyB1cCB0aGUgZGlyZWN0b3J5IGhpZXJhcmNoeSB1bnRpbFxuICogdGhlIG5lYXJlc3QgYC5naXQvY29uZmlnYCBmaWxlIGlzIGZvdW5kLiBSZXR1cm5zIHRoZSBkaXJlY3Rvcnkgd2hlcmVcbiAqIHRoZSBHaXQgY29uZmlnIHdhcyBmb3VuZCwgb3IgYHVuZGVmaW5lZGAgd2hlbiBubyBHaXQgcmVwbyB3YXMgZm91bmQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaW5kUmVwb1Jvb3QoXG4gIGN3ZDogc3RyaW5nLFxuICBzdGFydDogc3RyaW5nXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBSRVBPX0pTT05fUEFUSCA9IGpvaW4oVkVSQ0VMX0RJUiwgVkVSQ0VMX0RJUl9SRVBPKTtcbiAgLyoqXG4gICAqIElmIHRoZSBjdXJyZW50IHJlcG8gaXMgYSBnaXQgc3VibW9kdWxlIG9yIGdpdCB3b3JrdHJlZSAnLmdpdCcgaXMgYSBmaWxlXG4gICAqIHdpdGggYSBwb2ludGVyIHRvIHRoZSBcInBhcmVudFwiIGdpdCByZXBvc2l0b3J5IGluc3RlYWQgb2YgYSBkaXJlY3RvcnkuXG4gICAqL1xuICBjb25zdCBHSVRfUEFUSCA9IGlzR2l0V29ya3RyZWVPclN1Ym1vZHVsZShjd2QpXG4gICAgPyBwb3NpeC5ub3JtYWxpemUoJy5naXQnKVxuICAgIDogcG9zaXgubm9ybWFsaXplKCcuZ2l0L2NvbmZpZycpO1xuXG4gIGZvciAoY29uc3QgY3VycmVudCBvZiB0cmF2ZXJzZVVwRGlyZWN0b3JpZXMoeyBzdGFydCB9KSkge1xuICAgIGlmIChjdXJyZW50ID09PSBob21lKSB7XG4gICAgICAvLyBTb21ldGltZXMgdGhlICRIT01FIGRpcmVjdG9yeSBpcyBzZXQgdXAgYXMgYSBHaXQgcmVwb1xuICAgICAgLy8gKGZvciBkb3RmaWxlcywgZXRjLikuIEluIHRoaXMgY2FzZSBpdCdzIHNhZmUgdG8gc2F5IHRoYXRcbiAgICAgIC8vIHRoaXMgaXNuJ3QgdGhlIHJlcG8gd2UncmUgbG9va2luZyBmb3IuIEJhaWwuXG4gICAgICBsb2dnZXIuZGVidWcoJ0Fycml2ZWQgYXQgaG9tZSBkaXJlY3RvcnknKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIGlmIGAudmVyY2VsL3JlcG8uanNvbmAgZXhpc3RzIChhbHJlYWR5IGxpbmtlZCksXG4gICAgLy8gdGhlbiBjb25zaWRlciB0aGlzIHRoZSByZXBvIHJvb3RcbiAgICBjb25zdCByZXBvQ29uZmlnUGF0aCA9IGpvaW4oY3VycmVudCwgUkVQT19KU09OX1BBVEgpO1xuICAgIGxldCBzdGF0ID0gYXdhaXQgbHN0YXQocmVwb0NvbmZpZ1BhdGgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHRocm93IGVycjtcbiAgICB9KTtcbiAgICBpZiAoc3RhdCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRm91bmQgcmVwbyBjb25maWcgXCIke1JFUE9fSlNPTl9QQVRIfVwiIC0gZGV0ZWN0ZWQgXCIke2N1cnJlbnR9XCIgYXMgcmVwbyByb290YFxuICAgICAgKTtcbiAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH1cblxuICAgIC8vIGlmIGAuZ2l0L2NvbmZpZ2AgZXhpc3RzICh1bmxpbmtlZCksXG4gICAgLy8gdGhlbiBjb25zaWRlciB0aGlzIHRoZSByZXBvIHJvb3RcbiAgICBjb25zdCBnaXRDb25maWdQYXRoID0gam9pbihjdXJyZW50LCBHSVRfUEFUSCk7XG4gICAgc3RhdCA9IGF3YWl0IGxzdGF0KGdpdENvbmZpZ1BhdGgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHRocm93IGVycjtcbiAgICB9KTtcbiAgICBpZiAoc3RhdCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRm91bmQgZ2l0IGNvbmZpZyBcIiR7R0lUX1BBVEh9XCIgLSBkZXRlY3RlZCBcIiR7Y3VycmVudH1cIiBhcyByZXBvIHJvb3RgXG4gICAgICApO1xuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfVxuICB9XG5cbiAgbG9nZ2VyLmRlYnVnKCdBYm9ydGluZyBzZWFyY2ggZm9yIHJlcG8gcm9vdCcpO1xufVxuXG5mdW5jdGlvbiBnZXRHaXREaXJlY3RvcnkoY3dkOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBnaXRDb25maWdQYXRoID0gZXhlY1N5bmMoJ2dpdCByZXYtcGFyc2UgLS1naXQtZGlyJywge1xuICAgICAgY3dkLFxuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiBbJ2lnbm9yZScsICdwaXBlJywgJ2lnbm9yZSddLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGdpdENvbmZpZ1BhdGg7XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gZ2V0IGdpdCBkaXJlY3Rvcnk6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dpdFdvcmt0cmVlT3JTdWJtb2R1bGUoY3dkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgZ2l0RGlyID0gZ2V0R2l0RGlyZWN0b3J5KGN3ZCk7XG5cbiAgaWYgKGdpdERpciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGlzR2l0V29ya3RyZWUgPSBnaXREaXIuaW5jbHVkZXMoJy5naXQvd29ya3RyZWVzLycpO1xuICBjb25zdCBpc0dpdFN1Ym1vZHVsZSA9IGdpdERpci5pbmNsdWRlcygnLmdpdC9tb2R1bGVzLycpO1xuXG4gIHJldHVybiBpc0dpdFdvcmt0cmVlIHx8IGlzR2l0U3VibW9kdWxlO1xufVxuXG4vKipcbiAqIEdpdmVuIGEgZGlyZWN0b3J5IHBhdGggYGN3ZGAsIGZpbmRzIHRoZSByb290IG9mIHRoZSBHaXQgcmVwb3NpdG9yeVxuICogYW5kIHJldHVybnMgdGhlIHBhcnNlZCBgLnZlcmNlbC9yZXBvLmpzb25gIGZpbGUgaWYgdGhlIHJlcG9zaXRvcnlcbiAqIGhhcyBhbHJlYWR5IGJlZW4gbGlua2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVwb0xpbmsoY3dkOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9MaW5rIHwgdW5kZWZpbmVkPiB7XG4gIC8vIERldGVybWluZSB3aGVyZSB0aGUgcm9vdCBvZiB0aGUgcmVwbyBpc1xuICBsb2dnZXIuZGVidWcoYEdldHRpbmcgcmVwbyBsaW5rIGZvciAke2N3ZH1gKTtcbiAgY29uc3Qgcm9vdFBhdGggPSBhd2FpdCBmaW5kUmVwb1Jvb3QoY3dkLCAnLi8nKTtcbiAgaWYgKCFyb290UGF0aCkge1xuICAgIGxvZ2dlci5kZWJ1ZygnZ2V0UmVwb0xpbms6IE5vIHJlcG8gcm9vdCBmb3VuZCcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBSZWFkIHRoZSBgcmVwby5qc29uYCwgaWYgdGhpcyByZXBvIGhhcyBhbHJlYWR5IGJlZW4gbGlua2VkXG4gIGNvbnN0IHJlcG9Db25maWdQYXRoID0gam9pbihyb290UGF0aCwgVkVSQ0VMX0RJUiwgVkVSQ0VMX0RJUl9SRVBPKTtcbiAgbG9nZ2VyLmRlYnVnKGBnZXRSZXBvTGluazogUmVhZGluZyByZXBvIGNvbmZpZyBwYXRoIFwiJHtyZXBvQ29uZmlnUGF0aH1cImApO1xuICB0cnkge1xuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCByZWFkRmlsZShyZXBvQ29uZmlnUGF0aCwgJ3V0ZjgnKTtcbiAgICBjb25zdCByZXBvQ29uZmlnOiBSZXBvUHJvamVjdHNDb25maWcgPSBKU09OLnBhcnNlKGZpbGUpO1xuICAgIHJldHVybiB7IHJvb3RQYXRoLCByZXBvQ29uZmlnLCByZXBvQ29uZmlnUGF0aCB9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZhaWxlZCB0byBwYXJzZSAke3JlcG9Db25maWdQYXRofTogJHtlcnJ9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
|
275
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyY2VsLWxpbmsuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2luc3BlY3QvdmVyY2VsLWxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDOUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDdkMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUM3RCxPQUFPLElBQUksTUFBTSxXQUFXLENBQUM7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFMUMsTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLENBQUM7QUFnRHZCLE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFeEMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLFNBQVMsQ0FBQztBQUNwQyxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxNQUFNLENBQUM7QUFDMUMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxXQUFXLENBQUM7QUFFM0MsTUFBTSxXQUFXLEdBQUcsQ0FBQyxHQUFXLEVBQUUsRUFBRTtJQUNsQyxJQUFJLENBQUM7UUFDSCxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBQUMsT0FBTyxH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QUNuRSxNQUFNLENBQUMsS0FBSyxDQUFDLDBDQUEwQyxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBQzFFLElBQUksQ0FBQztRQUNILE1BQU0sSUFBSSxHQUFHLE1BQU0sUUFBUSxDQUFDLGNBQWMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUNwRCxNQUFNLFVBQVUsR0FBdUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4RCxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxjQUFjLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNiLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQW1CLGNBQWMsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQzFELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBUaGlzIGZpbGUgd2FzIGNvcGllZCBmcm9tIEB2ZXJjZWwvdmVyY2VsL3BhY2thZ2VzL2NsaS9zcmMvdXRpbC9wcm9qZWN0cy9saW5rLnRzXG4gKiBhbmQgYWRhcHRlZCB0byB3b3JrIHdpdGhvdXQgaW1wb3J0aW5nIG1vc3Qgb2YgdGhlIHZlcmNlbCBDTEkgY29kZS5cbiAqXG4gKiBJdCBzdHJpcHM6XG4gKiAtIE5ldHdvcmsgcmVxdWVzdHMgZm9yIHZhbGlkYXRpbmcgd2hldGhlciB0aGUgb3JnL3VzZXIvdGVhbS9wcm9qZWN0IGV4aXN0c1xuICogLSBTb21lIHZlcmNlbC1zcGVjaWZpYyBlbnZpcm9ubWVudCB2YXJpYWJsZSBjaGVja3MgYW5kIGluZmVyZW5jZVxuICogICB0aGF0IHdlJ3JlIG5vdCBzdXBwb3J0aW5nIGZvciBXb3JrZmxvdyBDTEkgZm9yIG5vd1xuICovXG5cbmltcG9ydCB7IGV4ZWNTeW5jIH0gZnJvbSAnbm9kZTpjaGlsZF9wcm9jZXNzJztcbmltcG9ydCBmcywgeyBzdGF0U3luYyB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgbHN0YXQgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCB7IGhvbWVkaXIgfSBmcm9tICdub2RlOm9zJztcbmltcG9ydCB7IGpvaW4sIG5vcm1hbGl6ZSwgcG9zaXgsIHJlbGF0aXZlIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB1dGlsIGZyb20gJ25vZGU6dXRpbCc7XG5pbXBvcnQgeyBwcm9taXNpZnkgfSBmcm9tICd1dGlsJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4uL2NvbmZpZy9sb2cuanMnO1xuXG5jb25zdCBob21lID0gaG9tZWRpcigpO1xuXG5pbnRlcmZhY2UgUmVwb1Byb2plY3RDb25maWcge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGRpcmVjdG9yeTogc3RyaW5nO1xuICAvKiogUGVyLXByb2plY3Qgb3JnSWQsIGFkZGVkIGluIHZlcmNlbC92ZXJjZWwjMTQ5NjcuIFByZWZlciB0aGlzIG92ZXIgcm9vdC1sZXZlbCBvcmdJZC4gKi9cbiAgb3JnSWQ/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBSZXBvUHJvamVjdHNDb25maWcge1xuICAvKiogTGVnYWN5IHJvb3QtbGV2ZWwgb3JnSWQ6IG9sZGVyIFZlcmNlbCBDTEkgdmVyc2lvbnMgcHV0IG9yZ0lkIGhlcmUuICovXG4gIG9yZ0lkPzogc3RyaW5nO1xuICByZW1vdGVOYW1lOiBzdHJpbmc7XG4gIHByb2plY3RzOiBSZXBvUHJvamVjdENvbmZpZ1tdO1xufVxuXG5pbnRlcmZhY2UgUmVwb0xpbmsge1xuICByb290UGF0aDogc3RyaW5nO1xuICByZXBvQ29uZmlnUGF0aDogc3RyaW5nO1xuICByZXBvQ29uZmlnPzogUmVwb1Byb2plY3RzQ29uZmlnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFByb2plY3RMaW5rIHtcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBWZXJjZWwgUHJvamVjdC5cbiAgICovXG4gIHByb2plY3RJZDogc3RyaW5nO1xuICAvKipcbiAgICogVXNlciBvciBUZWFtIElEIG9mIHRoZSBvd25lciBvZiB0aGUgVmVyY2VsIFByb2plY3QuXG4gICAqL1xuICBvcmdJZDogc3RyaW5nO1xuICAvKipcbiAgICogV2hlbiBsaW5rZWQgYXMgYSByZXBvc2l0b3J5LCBjb250YWlucyB0aGUgYWJzb2x1dGUgcGF0aFxuICAgKiB0byB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHJlcG9zaXRvcnkuXG4gICAqL1xuICByZXBvUm9vdD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZW4gbGlua2VkIGFzIGEgcmVwb3NpdG9yeSwgY29udGFpbnMgdGhlIHJlbGF0aXZlIHBhdGhcbiAgICogdG8gdGhlIHNlbGVjdGVkIHByb2plY3Qgcm9vdCBkaXJlY3RvcnkuXG4gICAqL1xuICBwcm9qZWN0Um9vdERpcmVjdG9yeT86IHN0cmluZztcbiAgLyoqXG4gICAqIE5hbWUgb2YgdGhlIFZlcmNlbCBQcm9qZWN0LlxuICAgKi9cbiAgcHJvamVjdE5hbWU/OiBzdHJpbmc7XG59XG5cbmNvbnN0IHJlYWRGaWxlID0gcHJvbWlzaWZ5KGZzLnJlYWRGaWxlKTtcblxuZXhwb3J0IGNvbnN0IFZFUkNFTF9ESVIgPSAnLnZlcmNlbCc7XG5leHBvcnQgY29uc3QgVkVSQ0VMX0RJUl9GQUxMQkFDSyA9ICcubm93JztcbmV4cG9ydCBjb25zdCBWRVJDRUxfRElSX1BST0pFQ1QgPSAncHJvamVjdC5qc29uJztcbmV4cG9ydCBjb25zdCBWRVJDRUxfRElSX1JFUE8gPSAncmVwby5qc29uJztcblxuY29uc3QgaXNEaXJlY3RvcnkgPSAoZGlyOiBzdHJpbmcpID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gc3RhdFN5bmMoZGlyKS5pc0RpcmVjdG9yeSgpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZGVidWcoYCR7ZGlyfSBpcyBub3QgYSBkaXJlY3Rvcnk6ICR7ZXJyfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcblxuLyoqXG4gKiBBIHR5cGUgZ3VhcmQgZm9yIGB0cnkuLi5jYXRjaGAgZXJyb3JzLlxuICogQGRlcHJlY2F0ZWQgdXNlIGByZXF1aXJlKCdub2RlOnV0aWwnKS50eXBlcy5pc05hdGl2ZUVycm9yKGVycm9yKWAgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgaXNFcnJvciA9IChlcnJvcjogdW5rbm93bik6IGVycm9yIGlzIEVycm9yID0+IHtcbiAgcmV0dXJuIHV0aWwudHlwZXMuaXNOYXRpdmVFcnJvcihlcnJvcik7XG59O1xuXG5leHBvcnQgY29uc3QgaXNFcnJub0V4Y2VwdGlvbiA9IChcbiAgZXJyb3I6IHVua25vd25cbik6IGVycm9yIGlzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbiA9PiB7XG4gIHJldHVybiBpc0Vycm9yKGVycm9yKSAmJiAnY29kZScgaW4gZXJyb3I7XG59O1xuXG5leHBvcnQgY29uc3QgaXNPbmVPZkVyck5vRXhjZXB0aW9ucyA9IChlcnJvcjogdW5rbm93biwgY29kZXM6IHN0cmluZ1tdKSA9PiB7XG4gIHJldHVybiAoXG4gICAgaXNFcnJub0V4Y2VwdGlvbihlcnJvcikgJiZcbiAgICAnY29kZScgaW4gZXJyb3IgJiZcbiAgICBlcnJvci5jb2RlICYmXG4gICAgY29kZXMuaW5jbHVkZXMoZXJyb3IuY29kZSlcbiAgKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgYDxjd2Q+Ly52ZXJjZWxgIGRpcmVjdG9yeSBmb3IgdGhlIGN1cnJlbnQgcHJvamVjdFxuICogd2l0aCBhIGZhbGxiYWNrIHRvIDxjd2Q+Ly5ub3dgIGlmIGl0IGV4aXN0cy5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgKmJvdGgqIGAudmVyY2VsYCBhbmQgYC5ub3dgIGRpcmVjdG9yaWVzIGV4aXN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VmVyY2VsRGlyZWN0b3J5KGN3ZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgbG9nZ2VyLmRlYnVnKGBHZXR0aW5nIHZlcmNlbCBkaXJlY3RvcnkgZm9yICR7Y3dkfWApO1xuICBjb25zdCBwb3NzaWJsZURpcnMgPSBbam9pbihjd2QsIFZFUkNFTF9ESVIpLCBqb2luKGN3ZCwgVkVSQ0VMX0RJUl9GQUxMQkFDSyldO1xuICBsb2dnZXIuZGVidWcoYFBvc3NpYmxlIHZlcmNlbCBkaXJlY3RvcmllczogJHtwb3NzaWJsZURpcnMuam9pbignLCAnKX1gKTtcbiAgY29uc3QgZXhpc3RpbmdEaXJzID0gcG9zc2libGVEaXJzLmZpbHRlcigoZCkgPT4gaXNEaXJlY3RvcnkoZCkpO1xuICBpZiAoZXhpc3RpbmdEaXJzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnQ09ORkxJQ1RJTkdfQ09ORklHX0RJUkVDVE9SSUVTOiBCb3RoIGAudmVyY2VsYCBhbmQgYC5ub3dgIGRpcmVjdG9yaWVzIGV4aXN0LiBQbGVhc2UgcmVtb3ZlIHRoZSBgLm5vd2AgZGlyZWN0b3J5LidcbiAgICApO1xuICB9XG4gIHJldHVybiBleGlzdGluZ0RpcnNbMF0gfHwgcG9zc2libGVEaXJzWzBdO1xufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UHJvamVjdExpbmsoXG4gIHBhdGg6IHN0cmluZ1xuKTogUHJvbWlzZTxQcm9qZWN0TGluayB8IG51bGw+IHtcbiAgcmV0dXJuIChcbiAgICAoYXdhaXQgZ2V0UHJvamVjdExpbmtGcm9tUmVwb0xpbmsocGF0aCkpIHx8XG4gICAgKGF3YWl0IGdldExpbmtGcm9tRGlyKGdldFZlcmNlbERpcmVjdG9yeShwYXRoKSkpXG4gICk7XG59XG5cbi8qKlxuICogQ29udmVydCBXaW5kb3dzIHNlcGFyYXRvcnMgdG8gVW5peCBzZXBhcmF0b3JzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplT3NQYXRoKHA6IHN0cmluZyk6IHN0cmluZyB7XG4gIGNvbnN0IGlzV2luID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJztcbiAgcmV0dXJuIGlzV2luID8gcC5yZXBsYWNlKC9cXFxcL2csICcvJykgOiBwO1xufVxuXG5mdW5jdGlvbiBzb3J0QnlEaXJlY3RvcnkoXG4gIGE6IHsgZGlyZWN0b3J5OiBzdHJpbmcgfSxcbiAgYjogeyBkaXJlY3Rvcnk6IHN0cmluZyB9XG4pOiBudW1iZXIge1xuICBjb25zdCBhUGFydHMgPSBhLmRpcmVjdG9yeS5zcGxpdCgnLycpO1xuICBjb25zdCBiUGFydHMgPSBiLmRpcmVjdG9yeS5zcGxpdCgnLycpO1xuICByZXR1cm4gYlBhcnRzLmxlbmd0aCAtIGFQYXJ0cy5sZW5ndGg7XG59XG5cbi8qKlxuICogRmluZHMgdGhlIG1hdGNoaW5nIFByb2plY3RzIGZyb20gYW4gYXJyYXkgb2YgUHJvamVjdCBsaW5rc1xuICogd2hlcmUgdGhlIHByb3ZpZGVkIHJlbGF0aXZlIHBhdGggaXMgd2l0aGluIHRoZSBQcm9qZWN0J3NcbiAqIHJvb3QgZGlyZWN0b3J5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZFByb2plY3RzRnJvbVBhdGgoXG4gIHByb2plY3RzOiBSZXBvUHJvamVjdENvbmZpZ1tdLFxuICBwYXRoOiBzdHJpbmdcbik6IFJlcG9Qcm9qZWN0Q29uZmlnW10ge1xuICBsb2dnZXIuZGVidWcoXG4gICAgYEZpbmRpbmcgcHJvamVjdHMgJHtKU09OLnN0cmluZ2lmeShwcm9qZWN0cyl9IGZyb20gcGF0aCAke3BhdGh9YFxuICApO1xuICBjb25zdCBub3JtYWxpemVkUGF0aCA9IG5vcm1hbGl6ZU9zUGF0aChwYXRoKTtcbiAgY29uc3QgbWF0Y2hlcyA9IHByb2plY3RzXG4gICAgLnNsaWNlKClcbiAgICAuc29ydChzb3J0QnlEaXJlY3RvcnkpXG4gICAgLmZpbHRlcigocHJvamVjdCkgPT4ge1xuICAgICAgaWYgKHByb2plY3QuZGlyZWN0b3J5ID09PSAnLicpIHtcbiAgICAgICAgLy8gUHJvamVjdCBoYXMgbm8gXCJSb290IERpcmVjdG9yeVwiIHNldHRpbmcsIHNvIGFueSBwYXRoIGlzIHZhbGlkXG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIChcbiAgICAgICAgbm9ybWFsaXplZFBhdGggPT09IHByb2plY3QuZGlyZWN0b3J5IHx8XG4gICAgICAgIG5vcm1hbGl6ZWRQYXRoLnN0YXJ0c1dpdGgoYCR7cHJvamVjdC5kaXJlY3Rvcnl9L2ApXG4gICAgICApO1xuICAgIH0pO1xuICAvLyBJZiB0aGVyZSBhcmUgbXVsdGlwbGUgbWF0Y2hlcywgd2Ugb25seSB3YW50IHRoZSBtb3N0IHJlbGV2YW50XG4gIC8vIHNlbGVjdGlvbnMgKHdpdGggdGhlIGRlZXBlc3QgZGlyZWN0b3J5IGRlcHRoKSwgc28gcGljayB0aGUgZmlyc3RcbiAgLy8gb25lIGFuZCBmaWx0ZXIgb24gdGhvc2UgbWF0Y2hlcy5cbiAgY29uc3QgZmlyc3RNYXRjaCA9IG1hdGNoZXNbMF07XG4gIHJldHVybiBtYXRjaGVzLmZpbHRlcigobWF0Y2gpID0+IG1hdGNoLmRpcmVjdG9yeSA9PT0gZmlyc3RNYXRjaC5kaXJlY3RvcnkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRQcm9qZWN0TGlua0Zyb21SZXBvTGluayhcbiAgcGF0aDogc3RyaW5nXG4pOiBQcm9taXNlPFByb2plY3RMaW5rIHwgbnVsbD4ge1xuICBjb25zdCByZXBvTGluayA9IGF3YWl0IGdldFJlcG9MaW5rKHBhdGgpO1xuICBpZiAoIXJlcG9MaW5rPy5yZXBvQ29uZmlnKSB7XG4gICAgbG9nZ2VyLmRlYnVnKCdObyByZXBvIGxpbmsgZm91bmQnKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBsb2dnZXIuZGVidWcoJ1JlcG8gbGluaycsIEpTT04uc3RyaW5naWZ5KHJlcG9MaW5rKSk7XG4gIGNvbnN0IHByb2plY3RzID0gZmluZFByb2plY3RzRnJvbVBhdGgoXG4gICAgcmVwb0xpbmsucmVwb0NvbmZpZy5wcm9qZWN0cyxcbiAgICByZWxhdGl2ZShyZXBvTGluay5yb290UGF0aCwgcGF0aClcbiAgKTtcbiAgbG9nZ2VyLmRlYnVnKGBGb3VuZCBtYXRjaGluZyByZXBvIHByb2plY3RzOiAke0pTT04uc3RyaW5naWZ5KHByb2plY3RzKX1gKTtcbiAgaWYgKHByb2plY3RzLmxlbmd0aCA9PT0gMSkge1xuICAgIGNvbnN0IHByb2plY3QgPSBwcm9qZWN0c1swXTtcbiAgICAvLyBQcmVmZXIgcGVyLXByb2plY3Qgb3JnSWQgKHZlcmNlbC92ZXJjZWwjMTQ5NjcpLCBmYWxsIGJhY2sgdG9cbiAgICAvLyByb290LWxldmVsIG9yZ0lkIGZvciBvbGRlciBWZXJjZWwgQ0xJIHZlcnNpb25zLlxuICAgIGNvbnN0IG9yZ0lkID0gcHJvamVjdC5vcmdJZCA/PyByZXBvTGluay5yZXBvQ29uZmlnPy5vcmdJZDtcbiAgICBpZiAoIW9yZ0lkKSB7XG4gICAgICBsb2dnZXIuZGVidWcoJ05vIG9yZ0lkIGZvdW5kIGluIHJlcG8gbGluayBwcm9qZWN0IG9yIHJvb3QgY29uZmlnJyk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHJlcG9Sb290OiByZXBvTGluay5yb290UGF0aCxcbiAgICAgIG9yZ0lkLFxuICAgICAgcHJvamVjdElkOiBwcm9qZWN0LmlkLFxuICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgIHByb2plY3RSb290RGlyZWN0b3J5OiBwcm9qZWN0LmRpcmVjdG9yeSxcbiAgICB9O1xuICB9IGVsc2UgaWYgKHByb2plY3RzLmxlbmd0aCA+IDEpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ011bHRpcGxlIHByb2plY3RzIGZvdW5kJyk7XG4gIH1cbiAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRMaW5rRnJvbURpcihcbiAgdmVyY2VsRGlyOiBzdHJpbmdcbik6IFByb21pc2U8UHJvamVjdExpbmsgfCBudWxsPiB7XG4gIGxvZ2dlci5kZWJ1ZyhgR2V0dGluZyBsaW5rIGZyb20gZGlyICR7dmVyY2VsRGlyfWApO1xuICB0cnkge1xuICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZWFkRmlsZShqb2luKHZlcmNlbERpciwgVkVSQ0VMX0RJUl9QUk9KRUNUKSwgJ3V0ZjgnKTtcbiAgICBjb25zdCBsaW5rOiBQcm9qZWN0TGluayA9IEpTT04ucGFyc2UoanNvbik7XG5cbiAgICBpZiAoIWxpbmsgfHwgIWxpbmsucHJvamVjdElkIHx8ICFsaW5rLm9yZ0lkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQcm9qZWN0IFNldHRpbmdzIGFyZSBpbnZhbGlkLiBUbyBsaW5rIHlvdXIgcHJvamVjdCBhZ2FpbiwgcmVtb3ZlIHRoZSAke3ZlcmNlbERpcn0gZGlyZWN0b3J5LmBcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbms7XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIC8vIGxpbmsgZmlsZSBkb2VzIG5vdCBleGlzdHMsIHByb2plY3QgaXMgbm90IGxpbmtlZFxuICAgIGlmIChpc09uZU9mRXJyTm9FeGNlcHRpb25zKGVyciwgWydFTk9FTlQnLCAnRU5PVERJUiddKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLy8gbGluayBmaWxlIGNhbid0IGJlIHJlYWRcbiAgICBpZiAoaXNFcnJvcihlcnIpICYmIGVyci5uYW1lID09PSAnU3ludGF4RXJyb3InKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQcm9qZWN0IFNldHRpbmdzIGNvdWxkIG5vdCBiZSByZXRyaWV2ZWQuIFRvIGxpbmsgeW91ciBwcm9qZWN0IGFnYWluLCByZW1vdmUgdGhlICR7dmVyY2VsRGlyfSBkaXJlY3RvcnkuYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aHJvdyBlcnI7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uKiB0cmF2ZXJzZVVwRGlyZWN0b3JpZXMoe1xuICBzdGFydCxcbiAgYmFzZSxcbiAgbWF4RGVwdGggPSAxMCxcbn06IHtcbiAgc3RhcnQ6IHN0cmluZztcbiAgYmFzZT86IHN0cmluZztcbiAgbWF4RGVwdGg/OiBudW1iZXI7XG59KSB7XG4gIGxldCBjdXJyZW50OiBzdHJpbmcgfCB1bmRlZmluZWQgPSBub3JtYWxpemUoc3RhcnQpO1xuICBjb25zdCBub3JtYWxpemVkUm9vdCA9IGJhc2UgPyBub3JtYWxpemUoYmFzZSkgOiB1bmRlZmluZWQ7XG4gIGxldCBkZXB0aCA9IDA7XG4gIHdoaWxlIChjdXJyZW50KSB7XG4gICAgeWllbGQgY3VycmVudDtcbiAgICBpZiAoY3VycmVudCA9PT0gbm9ybWFsaXplZFJvb3QpIGJyZWFrO1xuICAgIC8vIEdvIHVwIG9uZSBkaXJlY3RvcnlcbiAgICBjb25zdCBuZXh0ID0gam9pbihjdXJyZW50LCAnLi4nKTtcbiAgICBjdXJyZW50ID0gbmV4dCA9PT0gY3VycmVudCA/IHVuZGVmaW5lZCA6IG5leHQ7XG4gICAgZGVwdGgrKztcbiAgICBpZiAoZGVwdGggPiBtYXhEZXB0aCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBNYXggdHJhdmVyc2FsIGRlcHRoIG9mICR7bWF4RGVwdGh9IHJlYWNoZWRgKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIEdpdmVuIGEgYHN0YXJ0YCBkaXJlY3RvcnksIHRyYXZlcnNlcyB1cCB0aGUgZGlyZWN0b3J5IGhpZXJhcmNoeSB1bnRpbFxuICogdGhlIG5lYXJlc3QgYC5naXQvY29uZmlnYCBmaWxlIGlzIGZvdW5kLiBSZXR1cm5zIHRoZSBkaXJlY3Rvcnkgd2hlcmVcbiAqIHRoZSBHaXQgY29uZmlnIHdhcyBmb3VuZCwgb3IgYHVuZGVmaW5lZGAgd2hlbiBubyBHaXQgcmVwbyB3YXMgZm91bmQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaW5kUmVwb1Jvb3QoXG4gIGN3ZDogc3RyaW5nLFxuICBzdGFydDogc3RyaW5nXG4pOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD4ge1xuICBjb25zdCBSRVBPX0pTT05fUEFUSCA9IGpvaW4oVkVSQ0VMX0RJUiwgVkVSQ0VMX0RJUl9SRVBPKTtcbiAgLyoqXG4gICAqIElmIHRoZSBjdXJyZW50IHJlcG8gaXMgYSBnaXQgc3VibW9kdWxlIG9yIGdpdCB3b3JrdHJlZSAnLmdpdCcgaXMgYSBmaWxlXG4gICAqIHdpdGggYSBwb2ludGVyIHRvIHRoZSBcInBhcmVudFwiIGdpdCByZXBvc2l0b3J5IGluc3RlYWQgb2YgYSBkaXJlY3RvcnkuXG4gICAqL1xuICBjb25zdCBHSVRfUEFUSCA9IGlzR2l0V29ya3RyZWVPclN1Ym1vZHVsZShjd2QpXG4gICAgPyBwb3NpeC5ub3JtYWxpemUoJy5naXQnKVxuICAgIDogcG9zaXgubm9ybWFsaXplKCcuZ2l0L2NvbmZpZycpO1xuXG4gIGZvciAoY29uc3QgY3VycmVudCBvZiB0cmF2ZXJzZVVwRGlyZWN0b3JpZXMoeyBzdGFydCB9KSkge1xuICAgIGlmIChjdXJyZW50ID09PSBob21lKSB7XG4gICAgICAvLyBTb21ldGltZXMgdGhlICRIT01FIGRpcmVjdG9yeSBpcyBzZXQgdXAgYXMgYSBHaXQgcmVwb1xuICAgICAgLy8gKGZvciBkb3RmaWxlcywgZXRjLikuIEluIHRoaXMgY2FzZSBpdCdzIHNhZmUgdG8gc2F5IHRoYXRcbiAgICAgIC8vIHRoaXMgaXNuJ3QgdGhlIHJlcG8gd2UncmUgbG9va2luZyBmb3IuIEJhaWwuXG4gICAgICBsb2dnZXIuZGVidWcoJ0Fycml2ZWQgYXQgaG9tZSBkaXJlY3RvcnknKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIGlmIGAudmVyY2VsL3JlcG8uanNvbmAgZXhpc3RzIChhbHJlYWR5IGxpbmtlZCksXG4gICAgLy8gdGhlbiBjb25zaWRlciB0aGlzIHRoZSByZXBvIHJvb3RcbiAgICBjb25zdCByZXBvQ29uZmlnUGF0aCA9IGpvaW4oY3VycmVudCwgUkVQT19KU09OX1BBVEgpO1xuICAgIGxldCBzdGF0ID0gYXdhaXQgbHN0YXQocmVwb0NvbmZpZ1BhdGgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHRocm93IGVycjtcbiAgICB9KTtcbiAgICBpZiAoc3RhdCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRm91bmQgcmVwbyBjb25maWcgXCIke1JFUE9fSlNPTl9QQVRIfVwiIC0gZGV0ZWN0ZWQgXCIke2N1cnJlbnR9XCIgYXMgcmVwbyByb290YFxuICAgICAgKTtcbiAgICAgIHJldHVybiBjdXJyZW50O1xuICAgIH1cblxuICAgIC8vIGlmIGAuZ2l0L2NvbmZpZ2AgZXhpc3RzICh1bmxpbmtlZCksXG4gICAgLy8gdGhlbiBjb25zaWRlciB0aGlzIHRoZSByZXBvIHJvb3RcbiAgICBjb25zdCBnaXRDb25maWdQYXRoID0gam9pbihjdXJyZW50LCBHSVRfUEFUSCk7XG4gICAgc3RhdCA9IGF3YWl0IGxzdGF0KGdpdENvbmZpZ1BhdGgpLmNhdGNoKChlcnIpID0+IHtcbiAgICAgIGlmIChlcnIuY29kZSAhPT0gJ0VOT0VOVCcpIHRocm93IGVycjtcbiAgICB9KTtcbiAgICBpZiAoc3RhdCkge1xuICAgICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgICBgRm91bmQgZ2l0IGNvbmZpZyBcIiR7R0lUX1BBVEh9XCIgLSBkZXRlY3RlZCBcIiR7Y3VycmVudH1cIiBhcyByZXBvIHJvb3RgXG4gICAgICApO1xuICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgfVxuICB9XG5cbiAgbG9nZ2VyLmRlYnVnKCdBYm9ydGluZyBzZWFyY2ggZm9yIHJlcG8gcm9vdCcpO1xufVxuXG5mdW5jdGlvbiBnZXRHaXREaXJlY3RvcnkoY3dkOiBzdHJpbmcpOiBzdHJpbmcgfCBudWxsIHtcbiAgdHJ5IHtcbiAgICBjb25zdCBnaXRDb25maWdQYXRoID0gZXhlY1N5bmMoJ2dpdCByZXYtcGFyc2UgLS1naXQtZGlyJywge1xuICAgICAgY3dkLFxuICAgICAgZW5jb2Rpbmc6ICd1dGY4JyxcbiAgICAgIHN0ZGlvOiBbJ2lnbm9yZScsICdwaXBlJywgJ2lnbm9yZSddLFxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGdpdENvbmZpZ1BhdGg7XG4gIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBGYWlsZWQgdG8gZ2V0IGdpdCBkaXJlY3Rvcnk6ICR7ZXJyLm1lc3NhZ2V9YCk7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0dpdFdvcmt0cmVlT3JTdWJtb2R1bGUoY3dkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgZ2l0RGlyID0gZ2V0R2l0RGlyZWN0b3J5KGN3ZCk7XG5cbiAgaWYgKGdpdERpciA9PT0gbnVsbCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGlzR2l0V29ya3RyZWUgPSBnaXREaXIuaW5jbHVkZXMoJy5naXQvd29ya3RyZWVzLycpO1xuICBjb25zdCBpc0dpdFN1Ym1vZHVsZSA9IGdpdERpci5pbmNsdWRlcygnLmdpdC9tb2R1bGVzLycpO1xuXG4gIHJldHVybiBpc0dpdFdvcmt0cmVlIHx8IGlzR2l0U3VibW9kdWxlO1xufVxuXG4vKipcbiAqIEdpdmVuIGEgZGlyZWN0b3J5IHBhdGggYGN3ZGAsIGZpbmRzIHRoZSByb290IG9mIHRoZSBHaXQgcmVwb3NpdG9yeVxuICogYW5kIHJldHVybnMgdGhlIHBhcnNlZCBgLnZlcmNlbC9yZXBvLmpzb25gIGZpbGUgaWYgdGhlIHJlcG9zaXRvcnlcbiAqIGhhcyBhbHJlYWR5IGJlZW4gbGlua2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0UmVwb0xpbmsoY3dkOiBzdHJpbmcpOiBQcm9taXNlPFJlcG9MaW5rIHwgdW5kZWZpbmVkPiB7XG4gIC8vIERldGVybWluZSB3aGVyZSB0aGUgcm9vdCBvZiB0aGUgcmVwbyBpc1xuICBsb2dnZXIuZGVidWcoYEdldHRpbmcgcmVwbyBsaW5rIGZvciAke2N3ZH1gKTtcbiAgY29uc3Qgcm9vdFBhdGggPSBhd2FpdCBmaW5kUmVwb1Jvb3QoY3dkLCAnLi8nKTtcbiAgaWYgKCFyb290UGF0aCkge1xuICAgIGxvZ2dlci5kZWJ1ZygnZ2V0UmVwb0xpbms6IE5vIHJlcG8gcm9vdCBmb3VuZCcpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvLyBSZWFkIHRoZSBgcmVwby5qc29uYCwgaWYgdGhpcyByZXBvIGhhcyBhbHJlYWR5IGJlZW4gbGlua2VkXG4gIGNvbnN0IHJlcG9Db25maWdQYXRoID0gam9pbihyb290UGF0aCwgVkVSQ0VMX0RJUiwgVkVSQ0VMX0RJUl9SRVBPKTtcbiAgbG9nZ2VyLmRlYnVnKGBnZXRSZXBvTGluazogUmVhZGluZyByZXBvIGNvbmZpZyBwYXRoIFwiJHtyZXBvQ29uZmlnUGF0aH1cImApO1xuICB0cnkge1xuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCByZWFkRmlsZShyZXBvQ29uZmlnUGF0aCwgJ3V0ZjgnKTtcbiAgICBjb25zdCByZXBvQ29uZmlnOiBSZXBvUHJvamVjdHNDb25maWcgPSBKU09OLnBhcnNlKGZpbGUpO1xuICAgIHJldHVybiB7IHJvb3RQYXRoLCByZXBvQ29uZmlnLCByZXBvQ29uZmlnUGF0aCB9O1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICBsb2dnZXIuZGVidWcoYEZhaWxlZCB0byBwYXJzZSAke3JlcG9Db25maWdQYXRofTogJHtlcnJ9YCk7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuIl19
|
|
@@ -23,7 +23,7 @@ export declare function launchWebUI(resource: string, id: string | undefined, fl
|
|
|
23
23
|
*/
|
|
24
24
|
export declare function buildDeepLinkUrl(resource: string, id: string | undefined, flags: Record<string, any>): string;
|
|
25
25
|
/**
|
|
26
|
-
* Resolve and print a shareable deep-link URL to stdout, then return
|
|
26
|
+
* Resolve and print a shareable deep-link URL to stdout, then return, without
|
|
27
27
|
* opening a browser or starting the local web server. Intended for scripting
|
|
28
28
|
* and agents that need the link rather than a rendered dashboard.
|
|
29
29
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,WAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"web.d.ts","sourceRoot":"","sources":["../../../src/lib/inspect/web.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,UAAU,GAAI,SAAS,MAAM,WAAkC,CAAC;AAuF7E;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,MAAM,CAmBR;AAED;;;;;;GAMG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC,CA4If;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACzB,MAAM,CAyBR;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC1B,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAef"}
|
package/dist/lib/inspect/web.js
CHANGED
|
@@ -10,7 +10,8 @@ let httpServer = null;
|
|
|
10
10
|
* Find embedded dashboards (e.g. a framework integration serving `/_workflow`)
|
|
11
11
|
* that are currently live for this project. Reads the best-effort registry and
|
|
12
12
|
* health-checks each entry, since stale entries are expected (a SIGKILL'd dev
|
|
13
|
-
* server can't clean up). Returns [] on any error
|
|
13
|
+
* server can't clean up). Returns [] on any error, since coordination is
|
|
14
|
+
* optional.
|
|
14
15
|
*/
|
|
15
16
|
async function findLiveEmbeddedDashboards() {
|
|
16
17
|
let entries;
|
|
@@ -45,7 +46,7 @@ async function findLiveEmbeddedDashboards() {
|
|
|
45
46
|
live.push(entry);
|
|
46
47
|
}
|
|
47
48
|
catch {
|
|
48
|
-
// unreachable
|
|
49
|
+
// unreachable, so treat as dead
|
|
49
50
|
}
|
|
50
51
|
}
|
|
51
52
|
return live;
|
|
@@ -244,7 +245,7 @@ export function buildDeepLinkUrl(resource, id, flags) {
|
|
|
244
245
|
return buildWebUIUrl(getHostUrl(webPort), resource, id, flags);
|
|
245
246
|
}
|
|
246
247
|
/**
|
|
247
|
-
* Resolve and print a shareable deep-link URL to stdout, then return
|
|
248
|
+
* Resolve and print a shareable deep-link URL to stdout, then return, without
|
|
248
249
|
* opening a browser or starting the local web server. Intended for scripting
|
|
249
250
|
* and agents that need the link rather than a rendered dashboard.
|
|
250
251
|
*
|
|
@@ -265,4 +266,4 @@ export async function printDeepLink(resource, id, flags, version) {
|
|
|
265
266
|
process.stdout.write(`${url}\n`);
|
|
266
267
|
}
|
|
267
268
|
}
|
|
268
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsT0FBTyxFQUFFLENBQUM7QUFFN0UsSUFBSSxVQUFVLEdBQWtCLElBQUksQ0FBQztBQVVyQzs7Ozs7R0FLRztBQUNILEtBQUssVUFBVSwwQkFBMEI7SUFDdkMsSUFBSSxPQUFpQyxDQUFDO0lBQ3RDLElBQUksQ0FBQztRQUNILE1BQU0sRUFBRSxxQkFBcUIsRUFBRSxHQUFHLE1BQU0sTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDekUsT0FBTyxHQUFHLHFCQUFxQixFQUE4QixDQUFDO0lBQ2hFLENBQUM7SUFBQyxNQUFNLENBQUM7UUFDUCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxNQUFNLElBQUksR0FBNkIsRUFBRSxDQUFDO0lBQzFDLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssRUFBRSxHQUFHO1lBQUUsU0FBUztRQUMxQiwwREFBMEQ7UUFDMUQsSUFBSSxPQUFPLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDO2dCQUNILE9BQU8sQ0FBQyxJQUFJLENB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Q0FDNUMsQ0FBQztJQUNKLENBQUM7SUFFRCwyQ0FBMkM7SUFDM0MsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUM7SUFDdEMsT0FBTyxhQUFhLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7QUFDakUsQ0FBQztBQUVEOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsS0FBSyxVQUFVLGFBQWEsQ0FDakMsUUFBZ0IsRUFDaEIsRUFBc0IsRUFDdEIsS0FBMEIsRUFDMUIsT0FBZTtJQUVmLE1BQU0sU0FBUyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFdEMsNkVBQTZFO0lBQzdFLHdFQUF3RTtJQUN4RSxpRUFBaUU7SUFDakUsTUFBTSxhQUFhLENBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFTLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBRXBFLE1BQU0sR0FBRyxHQUFHLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFFbEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztRQUNkLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDaEUsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFNlcnZlciB9IGZyb20gJ25vZGU6aHR0cCc7XG5pbXBvcnQgY2hhbGsgZnJvbSAnY2hhbGsnO1xuaW1wb3J0IG9wZW4gZnJvbSAnb3Blbic7XG5pbXBvcnQgeyBsb2dnZXIgfSBmcm9tICcuLi9jb25maWcvbG9nLmpzJztcbmltcG9ydCB7IGdldEVudlZhcnMgfSBmcm9tICcuL2Vudi5qcyc7XG5pbXBvcnQgeyBzZXR1cENsaVdvcmxkIH0gZnJvbSAnLi9zZXR1cC5qcyc7XG5pbXBvcnQgeyBnZXRWZXJjZWxEYXNoYm9hcmRVcmwgfSBmcm9tICcuL3ZlcmNlbC1hcGkuanMnO1xuXG5leHBvcnQgY29uc3QgZ2V0SG9zdFVybCA9ICh3ZWJQb3J0OiBudW1iZXIpID0+IGBodHRwOi8vbG9jYWxob3N0OiR7d2ViUG9ydH1gO1xuXG5sZXQgaHR0cFNlcnZlcjogU2VydmVyIHwgbnVsbCA9IG51bGw7XG5cbmludGVyZmFjZSBEYXNoYm9hcmRSZWdpc3RyeUVudHJ5IHtcbiAgdXJsOiBzdHJpbmc7XG4gIGJhc2VuYW1lOiBzdHJpbmc7XG4gIHdvcmxkOiBzdHJpbmc7XG4gIHBpZDogbnVtYmVyO1xuICBzdGFydGVkQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBGaW5kIGVtYmVkZGVkIGRhc2hib2FyZHMgKGUuZy4gYSBmcmFtZXdvcmsgaW50ZWdyYXRpb24gc2VydmluZyBgL193b3JrZmxvd2ApXG4gKiB0aGF0IGFyZSBjdXJyZW50bHkgbGl2ZSBmb3IgdGhpcyBwcm9qZWN0LiBSZWFkcyB0aGUgYmVzdC1lZmZvcnQgcmVnaXN0cnkgYW5kXG4gKiBoZWFsdGgtY2hlY2tzIGVhY2ggZW50cnksIHNpbmNlIHN0YWxlIGVudHJpZXMgYXJlIGV4cGVjdGVkIChhIFNJR0tJTEwnZCBkZXZcbiAqIHNlcnZlciBjYW4ndCBjbGVhbiB1cCkuIFJldHVybnMgW10gb24gYW55IGVycm9yIOKAlCBjb29yZGluYXRpb24gaXMgb3B0aW9uYWwuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGZpbmRMaXZlRW1iZWRkZWREYXNoYm9hcmRzKCk6IFByb21pc2U8RGFzaGJvYXJkUmVnaXN0cnlFbnRyeVtdPiB7XG4gIGxldCBlbnRyaWVzOiBEYXNoYm9hcmRSZWdpc3RyeUVudHJ5W107XG4gIHRyeSB7XG4gICAgY29uc3QgeyByZWFkRGFzaGJvYXJkUmVnaXN0cnkgfSA9IGF3YWl0IGltcG9ydCgnQHdvcmtmbG93L3dlYi9yZWdpc3RyeScpO1xuICAgIGVudHJpZXMgPSByZWFkRGFzaGJvYXJkUmVnaXN0cnkoKSBhcyBEYXNoYm9hcmRSZWdpc3RyeUVudHJ5W107XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBbXTtcbiAgfVxuXG4gIGNvbnN0IGxpdmU6IERhc2hib2FyZFJlZ2lzdHJ5RW50cnlbXSA9IFtdO1xuICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICBpZiAoIWVudHJ5Py51cmwpIGNvbnRpbnVlO1xuICAgIC8vIEJlc3QtZWZmb3J0IFBJRCBsaXZlbmVzcyBjaGVjayAoc2FtZS1ob3N0IGRldiBzZXJ2ZXJzKS5cbiAgICBpZiAodHlwZW9mIGVudHJ5LnBpZCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHByb2Nlc3Mua2lsbChlbnRyeS5waWQsIDApO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGNvbnRpbnVlOyAvLyBwcm9jZXNzIGdvbmVcbiAgICAgIH1cbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGVudHJ5LnVybCwge1xuICAgICAgICBtZXRob2Q6ICdIRUFEJyxcbiAgICAgICAgcmVkaXJlY3Q6ICdtYW51YWwnLFxuICAgICAgICBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoMTUwMCksXG4gICAgICB9KTtcbiAgICAgIC8vIEFueSBub24tNXh4IHJlc3BvbnNlIG1lYW5zIHNvbWV0aGluZyBpcyBzZXJ2aW5nIHRoYXQgcm91dGUuXG4gICAgICBpZiAocmVzLnN0YXR1cyA8IDUwMCkgbGl2ZS5wdXNoKGVudHJ5KTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIC8vIHVucmVhY2hhYmxlIOKAlCB0cmVhdCBhcyBkZWFkXG4gICAgfVxuICB9XG4gIHJldHVybiBsaXZlO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIGEgc2VydmVyIGlzIGFscmVhZHkgbGlzdGVuaW5nIG9uIHRoZSBnaXZlbiBVUkwuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGlzU2VydmVyUnVubmluZyhob3N0VXJsOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGhvc3RVcmwsIHsgbWV0aG9kOiAnSEVBRCcgfSk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLm9rO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBTdGFydCB0aGUgQHdvcmtmbG93L3dlYiBzZXJ2ZXIgaW4gdGhlIGN1cnJlbnQgcHJvY2Vzcy5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gc3RhcnRXZWJTZXJ2ZXIod2ViUG9ydDogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGlmIChhd2FpdCBpc1NlcnZlclJ1bm5pbmcoZ2V0SG9zdFVybCh3ZWJQb3J0KSkpIHtcbiAgICBsb2dnZXIuZGVidWcoJ1NlcnZlciBpcyBhbHJlYWR5IHJ1bm5pbmcnKTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgbG9nZ2VyLmluZm8oJ1N0YXJ0aW5nIHdlYiBVSSBzZXJ2ZXIuLi4nKTtcbiAgICBjb25zdCB7IHN0YXJ0U2VydmVyIH0gPSBhd2FpdCBpbXBvcnQoJ0B3b3JrZmxvdy93ZWIvc2VydmVyJyk7XG4gICAgaHR0cFNlcnZlciA9IGF3YWl0IHN0YXJ0U2VydmVyKHdlYlBvcnQpO1xuICAgIGxvZ2dlci5zdWNjZXNzKGNoYWxrLmdyZWVuKGBXZWIgVUkgc2VydmVyIHN0YXJ0ZWQgb24gcG9ydCAke3dlYlBvcnR9YCkpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIHN0YXJ0IHNlcnZlcjogJHtlcnJvcn1gKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCBhIFVSTCBmb3Igb3BlbmluZyB0aGUgbG9jYWwgd2ViIFVJLlxuICpcbiAqIFRoZSB3ZWIgVUkgcmVhZHMgd29ybGQgY29uZmlndXJhdGlvbiBmcm9tIHNlcnZlci1zaWRlIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqIFF1ZXJ5IHBhcmFtcyBhcmUgb25seSB1c2VkIGZvciBkZWVwLWxpbmtpbmcgdG8gc3BlY2lmaWMgcmVzb3VyY2VzIChyZXNvdXJjZS9pZCwgcnVuSWQsIGV0Yy4pXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFdlYlVJVXJsKFxuICBob3N0VXJsOiBzdHJpbmcsXG4gIHJlc291cmNlOiBzdHJpbmcsXG4gIGlkOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gIGZsYWdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+XG4pOiBzdHJpbmcge1xuICBjb25zdCBwYXJhbXMgPSBuZXcgVVJMU2VhcmNoUGFyYW1zKCk7XG5cbiAgLy8gRGVlcC1saW5raW5nIHBhcmFtc1xuICBwYXJhbXMuc2V0KCdyZXNvdXJjZScsIHJlc291cmNlKTtcbiAgaWYgKGlkKSB7XG4gICAgcGFyYW1zLnNldCgnaWQnLCBpZCk7XG4gIH1cblxuICAvLyBPcHRpb25hbCBkZWVwLWxpbmtpbmcgdG8gc3BlY2lmaWMgcnVuL3N0ZXAvaG9va1xuICBmb3IgKGNvbnN0IGZsYWdOYW1lIG9mIFsncnVuSWQnLCAnc3RlcElkJywgJ2hvb2tJZCddIGFzIGNvbnN0KSB7XG4gICAgY29uc3QgdmFsdWUgPSBmbGFnc1tmbGFnTmFtZV07XG4gICAgaWYgKHZhbHVlICE9PSB1bmRlZmluZWQgJiYgdmFsdWUgIT09ICcnICYmIHZhbHVlICE9PSBmYWxzZSkge1xuICAgICAgcGFyYW1zLnNldChmbGFnTmFtZSwgU3RyaW5nKHZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgY29uc3QgcXVlcnlTdHJpbmcgPSBwYXJhbXMudG9TdHJpbmcoKTtcbiAgcmV0dXJuIHF1ZXJ5U3RyaW5nID8gYCR7aG9zdFVybH0/JHtxdWVyeVN0cmluZ31gIDogaG9zdFVybDtcbn1cblxuLyoqXG4gKiBMYXVuY2ggdGhlIHdlYiBVSSB3aXRoIHRoZSBzcGVjaWZpZWQgY29uZmlndXJhdGlvbi5cbiAqIFRoaXMgc3RhcnRzIHRoZSBzZXJ2ZXIgKGlmIG5vdCBydW5uaW5nKSwgb3BlbnMgdGhlIGJyb3dzZXIsIHRoZW4ga2VlcHMgdGhlIHNlcnZlciBydW5uaW5nLlxuICpcbiAqIFdvcmxkIGNvbmZpZ3VyYXRpb24gaXMgcGFzc2VkIHRvIHRoZSB3ZWIgc2VydmVyIHZpYSBlbnZpcm9ubWVudCB2YXJpYWJsZXMuXG4gKiBUaGUgd2ViIFVJIHJlYWRzIHRoZXNlIGZyb20gcHJvY2Vzcy5lbnYgb24gdGhlIHNlcnZlciBzaWRlLCBub3QgZnJvbSBxdWVyeSBwYXJhbXMuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsYXVuY2hXZWJVSShcbiAgcmVzb3VyY2U6IHN0cmluZyxcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIF9jbGlWZXJzaW9uOiBzdHJpbmdcbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBlbnZWYXJzID0gZ2V0RW52VmFycygpO1xuXG4gIC8vIENoZWNrIGlmIGJyb3dzZXIgb3BlbmluZyBpcyBkaXNhYmxlZCB2aWEgZmxhZyBvciBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICBjb25zdCBkaXNhYmxlQnJvd3Nlck9wZW4gPSBmbGFncy5ub0Jyb3dzZXI7XG5cbiAgLy8gQ2hlY2sgaWYgd2Ugc2hvdWxkIHRyeSB0byB1c2UgdGhlIFZlcmNlbCBkYXNoYm9hcmRcbiAgY29uc3QgdmVyY2VsQmFja2VuZE5hbWVzID0gWyd2ZXJjZWwnLCAnQHdvcmtmbG93L3dvcmxkLXZlcmNlbCddO1xuICBjb25zdCBpc1ZlcmNlbEJhY2tlbmQgPSB2ZXJjZWxCYWNrZW5kTmFtZXMuaW5jbHVkZXMoXG4gICAgZW52VmFycy5XT1JLRkxPV19UQVJHRVRfV09STERcbiAgKTtcbiAgY29uc3QgdGVhbVNsdWcgPSBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9URUFNO1xuICBjb25zdCBwcm9qZWN0TmFtZSA9XG4gICAgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfUFJPSkVDVF9OQU1FIHx8IGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1BST0pFQ1Q7XG5cbiAgLy8gQ2hlY2sgaWYgdXNlciB3YW50cyBsb2NhbCBVSSB2aWEgZmxhZyBvciBlbnZpcm9ubWVudCB2YXJpYWJsZVxuICBjb25zdCB1c2VMb2NhbFVpID0gZmxhZ3MubG9jYWxVaTtcblxuICBpZiAoIXVzZUxvY2FsVWkgJiYgaXNWZXJjZWxCYWNrZW5kKSB7XG4gICAgbG9nZ2VyLmluZm8oXG4gICAgICAnSWYgeW91IGRvIG5vdCB3YW50IHRvIHVzZSB0aGUgVmVyY2VsIGRhc2hib2FyZCwgdXNlIHRoZSAtLWxvY2FsVWkgZmxhZyBvciBzZXQgV09SS0ZMT1dfTE9DQUxfVUk9MSBpbiB5b3VyIGVudmlyb25tZW50IHZhcmlhYmxlcy4nXG4gICAgKTtcbiAgfVxuICBpZiAoaXNWZXJjZWxCYWNrZW5kICYmIHRlYW1TbHVnICYmIHByb2plY3ROYW1lICYmICF1c2VMb2NhbFVpKSB7XG4gICAgbG9nZ2VyLmRlYnVnKFxuICAgICAgYENoZWNraW5nIFZlcmNlbCBkYXNoYm9hcmQgYXZhaWxhYmlsaXR5IGZvciB0ZWFtOiAke3RlYW1TbHVnfSwgcHJvamVjdDogJHtwcm9qZWN0TmFtZX1gXG4gICAgKTtcblxuICAgIGNvbnN0IGRhc2hib2FyZFVybCA9IGdldFZlcmNlbERhc2hib2FyZFVybChcbiAgICAgIHRlYW1TbHVnLFxuICAgICAgcHJvamVjdE5hbWUsXG4gICAgICByZXNvdXJjZSxcbiAgICAgIGlkLFxuICAgICAgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfRU5WIHx8ICdwcm9kdWN0aW9uJ1xuICAgICk7XG5cbiAgICBpZiAoZGlzYWJsZUJyb3dzZXJPcGVuKSB7XG4gICAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKGBWZXJjZWwgZGFzaGJvYXJkIFVSTDogJHtkYXNoYm9hcmRVcmx9YCkpO1xuICAgICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbignKEJyb3dzZXIgYXV0by1vcGVuIGRpc2FibGVkKScpKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgIGNoYWxrLmdyZWVuKGBPcGVuaW5nIFZlcmNlbCBkYXNoYm9hcmQgZm9yIHdvcmtmbG93cyBhdDogJHtkYXNoYm9hcmRVcmx9YClcbiAgICApO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvcGVuKGRhc2hib2FyZFVybCk7XG4gICAgICByZXR1cm47IC8vIEV4aXQgZWFybHkgc2luY2Ugd2Ugb3BlbmVkIHRoZSBkYXNoYm9hcmRcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gb3BlbiBicm93c2VyOiAke2Vycm9yfWApO1xuICAgICAgbG9nZ2VyLmluZm8oYFBsZWFzZSBvcGVuIHRoZSBsaW5rIG1hbnVhbGx5LmApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmVyIHRvIGFuIGFscmVhZHktcnVubmluZyBlbWJlZGRlZCBkYXNoYm9hcmQgKGUuZy4gYSBmcmFtZXdvcmtcbiAgLy8gaW50ZWdyYXRpb24gc2VydmluZyBgL193b3JrZmxvd2ApIHVubGVzcyB0aGUgdXNlciBmb3JjZXMgYSBzdGFuZGFsb25lXG4gIC8vIHNlcnZlci4gQXZvaWRzIHNwaW5uaW5nIHVwIGEgcmVkdW5kYW50IFVJIG9uIDozNDU2IHdoZW4gb25lIGlzIGFscmVhZHkgdXAuXG4gIGlmICghZmxhZ3Muc3RhbmRhbG9uZSkge1xuICAgIGNvbnN0IGxpdmUgPSBhd2FpdCBmaW5kTGl2ZUVtYmVkZGVkRGFzaGJvYXJkcygpO1xuICAgIGlmIChsaXZlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgY29uc3QgdGFyZ2V0ID0gYnVpbGRXZWJVSVVybChsaXZlWzBdLnVybCwgcmVzb3VyY2UsIGlkLCBmbGFncyk7XG4gICAgICBsb2dnZXIuaW5mbyhcbiAgICAgICAgY2hhbGsuZ3JlZW4oXG4gICAgICAgICAgYEFuIGVtYmVkZGVkIHdvcmtmbG93IGRhc2hib2FyZCBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgJHtsaXZlWzBdLnVybH1gXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgICBpZiAoZGlzYWJsZUJyb3dzZXJPcGVuKSB7XG4gICAgICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYE9wZW4gaXQgYXQ6ICR7dGFyZ2V0fWApKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgT3BlbmluZyAke3RhcmdldH1gKSk7XG4gICAgICB0cnkge1xuICAgICAgICBhd2FpdCBvcGVuKHRhcmdldCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBvcGVuIGJyb3dzZXI6ICR7ZXJyb3J9YCk7XG4gICAgICAgIGxvZ2dlci5pbmZvKGBQbGVhc2Ugb3BlbiB0aGUgbGluayBtYW51YWxseTogJHt0YXJnZXR9YCk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChsaXZlLmxlbmd0aCA+IDEpIHtcbiAgICAgIGxvZ2dlci5pbmZvKCdFbWJlZGRlZCB3b3JrZmxvdyBkYXNoYm9hcmRzIGFyZSBhbHJlYWR5IHJ1bm5pbmcgYXQ6Jyk7XG4gICAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGxpdmUpIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgICAtICR7ZW50cnkudXJsfWApKTtcbiAgICAgIH1cbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICAnT3BlbiB0aGUgb25lIHlvdSB3YW50LCBvciBwYXNzIC0tc3RhbmRhbG9uZSB0byBzdGFydCBhIHNlcGFyYXRlIHdlYiBVSS4nXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZhbGwgYmFjayB0byBsb2NhbCB3ZWIgVUlcbiAgY29uc3Qgd2ViUG9ydCA9IGZsYWdzLndlYlBvcnQgPz8gMzQ1NjtcbiAgY29uc3QgaG9zdFVybCA9IGdldEhvc3RVcmwod2ViUG9ydCk7XG4gIGNvbnN0IHVybCA9IGJ1aWxkV2ViVUlVcmwoaG9zdFVybCwgcmVzb3VyY2UsIGlkLCBmbGFncyk7XG5cbiAgLy8gQ2hlY2sgaWYgc2VydmVyIGlzIGFscmVhZHkgcnVubmluZ1xuICBjb25zdCBhbHJlYWR5UnVubmluZyA9IGF3YWl0IGlzU2VydmVyUnVubmluZyhob3N0VXJsKTtcblxuICBpZiAoYWxyZWFkeVJ1bm5pbmcpIHtcbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgIGNoYWxrLmN5YW4oYFdlYiBVSSBzZXJ2ZXIgaXMgYWxyZWFkeSBydW5uaW5nIG9uIHBvcnQgJHt3ZWJQb3J0fS5gKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgLy8gU3RhcnQgdGhlIHNlcnZlclxuICAgIGNvbnN0IHN0YXJ0ZWQgPSBhd2FpdCBzdGFydFdlYlNlcnZlcih3ZWJQb3J0KTtcbiAgICBpZiAoIXN0YXJ0ZWQpIHtcbiAgICAgIGxvZ2dlci5lcnJvcignRmFpbGVkIHRvIHN0YXJ0IHdlYiBVSSBzZXJ2ZXInKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGJyb3dzZXJcbiAgaWYgKGRpc2FibGVCcm93c2VyT3Blbikge1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYFdlYiBVSSBhdmFpbGFibGUgYXQ6ICR7dXJsfWApKTtcbiAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKCcoQnJvd3NlciBhdXRvLW9wZW4gZGlzYWJsZWQpJykpO1xuICB9IGVsc2Uge1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYE9wZW5pbmcgYnJvd3NlciB0bzogJHt1cmx9YCkpO1xuICAgIHRyeSB7XG4gICAgICBhd2FpdCBvcGVuKHVybCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIG9wZW4gYnJvd3NlcjogJHtlcnJvcn1gKTtcbiAgICAgIGxvZ2dlci5pbmZvKGBQbGVhc2Ugb3BlbiB0aGUgbGluayBtYW51YWxseS5gKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB3ZSBzdGFydGVkIHRoZSBzZXJ2ZXIsIGtlZXAgdGhlIHByb2Nlc3MgcnVubmluZ1xuICBpZiAoIWFscmVhZHlSdW5uaW5nICYmIGh0dHBTZXJ2ZXIpIHtcbiAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKCdQcmVzcyBDdHJsK0MgdG8gc3RvcCB0aGUgd2ViIFVJIHNlcnZlciBhbmQgZXhpdCcpKTtcblxuICAgIC8vIEtlZXAgdGhlIENMSSBwcm9jZXNzIGFsaXZlIHdoaWxlIHRoZSBzZXJ2ZXIgaXMgcnVubmluZ1xuICAgIGF3YWl0IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgICBpZiAoaHR0cFNlcnZlcikge1xuICAgICAgICBodHRwU2VydmVyLm9uKCdjbG9zZScsICgpID0+IHJlc29sdmUoKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXNvbHZlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBCdWlsZCB0aGUgZGVlcC1saW5rIFVSTCBmb3IgYSByZXNvdXJjZSB3aXRob3V0IGFueSBzaWRlIGVmZmVjdHMgKG5vIHNlcnZlcixcbiAqIG5vIGJyb3dzZXIpLiBQaWNrcyB0aGUgVmVyY2VsIGRhc2hib2FyZCBmb3IgYSBWZXJjZWwgYmFja2VuZCAodW5sZXNzXG4gKiBgLS1sb2NhbFVpYCksIG90aGVyd2lzZSB0aGUgbG9jYWwgd2ViIFVJIGRlZXAgbGluay5cbiAqXG4gKiBBc3N1bWVzIGVudiB2YXJzIGhhdmUgYWxyZWFkeSBiZWVuIHJlc29sdmVkIChlLmcuIHZpYSBgc2V0dXBDbGlXb3JsZGApLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVpbGREZWVwTGlua1VybChcbiAgcmVzb3VyY2U6IHN0cmluZyxcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IHN0cmluZyB7XG4gIGNvbnN0IGVudlZhcnMgPSBnZXRFbnZWYXJzKCk7XG5cbiAgY29uc3QgdmVyY2VsQmFja2VuZE5hbWVzID0gWyd2ZXJjZWwnLCAnQHdvcmtmbG93L3dvcmxkLXZlcmNlbCddO1xuICBjb25zdCBpc1ZlcmNlbEJhY2tlbmQgPSB2ZXJjZWxCYWNrZW5kTmFtZXMuaW5jbHVkZXMoXG4gICAgZW52VmFycy5XT1JLRkxPV19UQVJHRVRfV09STERcbiAgKTtcbiAgY29uc3QgdGVhbVNsdWcgPSBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9URUFNO1xuICBjb25zdCBwcm9qZWN0TmFtZSA9XG4gICAgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfUFJPSkVDVF9OQU1FIHx8IGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1BST0pFQ1Q7XG5cbiAgLy8gVXNlIHRoZSBWZXJjZWwgZGFzaGJvYXJkIHdoZW4gdGFyZ2V0aW5nIFZlcmNlbCAoYW5kIG5vdCBmb3JjZWQgbG9jYWwpLlxuICBpZiAoaXNWZXJjZWxCYWNrZW5kICYmICFmbGFncy5sb2NhbFVpICYmIHRlYW1TbHVnICYmIHByb2plY3ROYW1lKSB7XG4gICAgcmV0dXJuIGdldFZlcmNlbERhc2hib2FyZFVybChcbiAgICAgIHRlYW1TbHVnLFxuICAgICAgcHJvamVjdE5hbWUsXG4gICAgICByZXNvdXJjZSxcbiAgICAgIGlkLFxuICAgICAgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfRU5WIHx8ICdwcm9kdWN0aW9uJ1xuICAgICk7XG4gIH1cblxuICAvLyBGYWxsIGJhY2sgdG8gdGhlIGxvY2FsIHdlYiBVSSBkZWVwIGxpbmsuXG4gIGNvbnN0IHdlYlBvcnQgPSBmbGFncy53ZWJQb3J0ID8/IDM0NTY7XG4gIHJldHVybiBidWlsZFdlYlVJVXJsKGdldEhvc3RVcmwod2ViUG9ydCksIHJlc291cmNlLCBpZCwgZmxhZ3MpO1xufVxuXG4vKipcbiAqIFJlc29sdmUgYW5kIHByaW50IGEgc2hhcmVhYmxlIGRlZXAtbGluayBVUkwgdG8gc3Rkb3V0LCB0aGVuIHJldHVybiDigJQgd2l0aG91dFxuICogb3BlbmluZyBhIGJyb3dzZXIgb3Igc3RhcnRpbmcgdGhlIGxvY2FsIHdlYiBzZXJ2ZXIuIEludGVuZGVkIGZvciBzY3JpcHRpbmdcbiAqIGFuZCBhZ2VudHMgdGhhdCBuZWVkIHRoZSBsaW5rIHJhdGhlciB0aGFuIGEgcmVuZGVyZWQgZGFzaGJvYXJkLlxuICpcbiAqIEh1bWFuLXJlYWRhYmxlIGNoYXR0ZXIgKHRoZSBzdGFydHVwIGJveCwgaW5mby9kZWJ1ZyBsb2dzKSBpcyByb3V0ZWQgdG8gc3RkZXJyXG4gKiBzbyBzdGRvdXQgY29udGFpbnMgb25seSB0aGUgVVJMIChvciBgeyBcInVybFwiOiBcIi4uLlwiIH1gIHdpdGggYC0tanNvbmApLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJpbnREZWVwTGluayhcbiAgcmVzb3VyY2U6IHN0cmluZyxcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIGFueT4sXG4gIHZlcnNpb246IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHdhbnRzSnNvbiA9IEJvb2xlYW4oZmxhZ3MuanNvbik7XG5cbiAgLy8gRm9yY2UgSlNPTiBsb2dnaW5nIG1vZGUgZHVyaW5nIHNldHVwIHNvIHRoZSBzdGFydHVwIGJveCBhbmQgYW55IGluZm8vZGVidWdcbiAgLy8gbG9ncyBnbyB0byBzdGRlcnIsIGtlZXBpbmcgc3Rkb3V0IGNsZWFuIGZvciB0aGUgVVJMLiBXZSBwcmludCB0aGUgVVJMXG4gIC8vIG91cnNlbHZlcyBiZWxvdywgcmVzcGVjdGluZyB0aGUgdXNlcidzIGFjdHVhbCBgLS1qc29uYCBjaG9pY2UuXG4gIGF3YWl0IHNldHVwQ2xpV29ybGQoeyAuLi5mbGFncywganNvbjogdHJ1ZSB9IGFzIGFueSwgdmVyc2lvbiwgdHJ1ZSk7XG5cbiAgY29uc3QgdXJsID0gYnVpbGREZWVwTGlua1VybChyZXNvdXJjZSwgaWQsIGZsYWdzKTtcblxuICBpZiAod2FudHNKc29uKSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7SlNPTi5zdHJpbmdpZnkoeyB1cmwgfSwgbnVsbCwgMil9XFxuYCk7XG4gIH0gZWxzZSB7XG4gICAgcHJvY2Vzcy5zdGRvdXQud3JpdGUoYCR7dXJsfVxcbmApO1xuICB9XG59XG4iXX0=
|
|
269
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pbnNwZWN0L3dlYi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFDO0FBQ3hCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsT0FBZSxFQUFFLEVBQUUsQ0FBQyxvQkFBb0IsT0FBTyxFQUFFLENBQUM7QUFFN0UsSUFBSSxVQUFVLEdBQWtCLElBQUksQ0FBQztBQVVyQzs7Ozs7O0dBTUc7QUFDSCxLQUFLLFVBQVUsMEJBQTBCO0lBQ3ZDLElBQUksT0FBaUMsQ0FBQztJQUN0QyxJQUFJLENBQUM7UUFDSCxNQUFNLEVBQUUscUJBQXFCLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3pFLE9BQU8sR0FBRyxxQkFBcUIsRUFBOEIsQ0FBQztJQUNoRSxDQUFDO0lBQUMsTUFBTSxDQUFDO1FBQ1AsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRUQsTUFBTSxJQUFJLEdBQTZCLEVBQUUsQ0FBQztJQUMxQyxLQUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQzVCLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRztZQUFFLFNBQVM7UUFDMUIsMERBQTBEO1FBQzFELElBQUksT0FBTyxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ2xDLElBQUksQ0FBQztnQkFDSCxPQUFPLENBQUMsSUFBSSxD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LENBQzVDLENBQUM7SUFDSixDQUFDO0lBRUQsMkNBQTJDO0lBQzNDLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDO0lBQ3RDLE9BQU8sYUFBYSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQ2pFLENBQUM7QUFFRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQ2pDLFFBQWdCLEVBQ2hCLEVBQXNCLEVBQ3RCLEtBQTBCLEVBQzFCLE9BQWU7SUFFZixNQUFNLFNBQVMsR0FBRyxPQUFPLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXRDLDZFQUE2RTtJQUM3RSx3RUFBd0U7SUFDeEUsaUVBQWlFO0lBQ2pFLE1BQU0sYUFBYSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUVwRSxNQUFNLEdBQUcsR0FBRyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBRWxELElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2hFLENBQUM7U0FBTSxDQUFDO1FBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBTZXJ2ZXIgfSBmcm9tICdub2RlOmh0dHAnO1xuaW1wb3J0IGNoYWxrIGZyb20gJ2NoYWxrJztcbmltcG9ydCBvcGVuIGZyb20gJ29wZW4nO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi4vY29uZmlnL2xvZy5qcyc7XG5pbXBvcnQgeyBnZXRFbnZWYXJzIH0gZnJvbSAnLi9lbnYuanMnO1xuaW1wb3J0IHsgc2V0dXBDbGlXb3JsZCB9IGZyb20gJy4vc2V0dXAuanMnO1xuaW1wb3J0IHsgZ2V0VmVyY2VsRGFzaGJvYXJkVXJsIH0gZnJvbSAnLi92ZXJjZWwtYXBpLmpzJztcblxuZXhwb3J0IGNvbnN0IGdldEhvc3RVcmwgPSAod2ViUG9ydDogbnVtYmVyKSA9PiBgaHR0cDovL2xvY2FsaG9zdDoke3dlYlBvcnR9YDtcblxubGV0IGh0dHBTZXJ2ZXI6IFNlcnZlciB8IG51bGwgPSBudWxsO1xuXG5pbnRlcmZhY2UgRGFzaGJvYXJkUmVnaXN0cnlFbnRyeSB7XG4gIHVybDogc3RyaW5nO1xuICBiYXNlbmFtZTogc3RyaW5nO1xuICB3b3JsZDogc3RyaW5nO1xuICBwaWQ6IG51bWJlcjtcbiAgc3RhcnRlZEF0OiBzdHJpbmc7XG59XG5cbi8qKlxuICogRmluZCBlbWJlZGRlZCBkYXNoYm9hcmRzIChlLmcuIGEgZnJhbWV3b3JrIGludGVncmF0aW9uIHNlcnZpbmcgYC9fd29ya2Zsb3dgKVxuICogdGhhdCBhcmUgY3VycmVudGx5IGxpdmUgZm9yIHRoaXMgcHJvamVjdC4gUmVhZHMgdGhlIGJlc3QtZWZmb3J0IHJlZ2lzdHJ5IGFuZFxuICogaGVhbHRoLWNoZWNrcyBlYWNoIGVudHJ5LCBzaW5jZSBzdGFsZSBlbnRyaWVzIGFyZSBleHBlY3RlZCAoYSBTSUdLSUxMJ2QgZGV2XG4gKiBzZXJ2ZXIgY2FuJ3QgY2xlYW4gdXApLiBSZXR1cm5zIFtdIG9uIGFueSBlcnJvciwgc2luY2UgY29vcmRpbmF0aW9uIGlzXG4gKiBvcHRpb25hbC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gZmluZExpdmVFbWJlZGRlZERhc2hib2FyZHMoKTogUHJvbWlzZTxEYXNoYm9hcmRSZWdpc3RyeUVudHJ5W10+IHtcbiAgbGV0IGVudHJpZXM6IERhc2hib2FyZFJlZ2lzdHJ5RW50cnlbXTtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IHJlYWREYXNoYm9hcmRSZWdpc3RyeSB9ID0gYXdhaXQgaW1wb3J0KCdAd29ya2Zsb3cvd2ViL3JlZ2lzdHJ5Jyk7XG4gICAgZW50cmllcyA9IHJlYWREYXNoYm9hcmRSZWdpc3RyeSgpIGFzIERhc2hib2FyZFJlZ2lzdHJ5RW50cnlbXTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgbGl2ZTogRGFzaGJvYXJkUmVnaXN0cnlFbnRyeVtdID0gW107XG4gIGZvciAoY29uc3QgZW50cnkgb2YgZW50cmllcykge1xuICAgIGlmICghZW50cnk/LnVybCkgY29udGludWU7XG4gICAgLy8gQmVzdC1lZmZvcnQgUElEIGxpdmVuZXNzIGNoZWNrIChzYW1lLWhvc3QgZGV2IHNlcnZlcnMpLlxuICAgIGlmICh0eXBlb2YgZW50cnkucGlkID09PSAnbnVtYmVyJykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJvY2Vzcy5raWxsKGVudHJ5LnBpZCwgMCk7XG4gICAgICB9IGNhdGNoIHtcbiAgICAgICAgY29udGludWU7IC8vIHByb2Nlc3MgZ29uZVxuICAgICAgfVxuICAgIH1cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzID0gYXdhaXQgZmV0Y2goZW50cnkudXJsLCB7XG4gICAgICAgIG1ldGhvZDogJ0hFQUQnLFxuICAgICAgICByZWRpcmVjdDogJ21hbnVhbCcsXG4gICAgICAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCgxNTAwKSxcbiAgICAgIH0pO1xuICAgICAgLy8gQW55IG5vbi01eHggcmVzcG9uc2UgbWVhbnMgc29tZXRoaW5nIGlzIHNlcnZpbmcgdGhhdCByb3V0ZS5cbiAgICAgIGlmIChyZXMuc3RhdHVzIDwgNTAwKSBsaXZlLnB1c2goZW50cnkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gdW5yZWFjaGFibGUsIHNvIHRyZWF0IGFzIGRlYWRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGxpdmU7XG59XG5cbi8qKlxuICogQ2hlY2sgaWYgYSBzZXJ2ZXIgaXMgYWxyZWFkeSBsaXN0ZW5pbmcgb24gdGhlIGdpdmVuIFVSTC5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gaXNTZXJ2ZXJSdW5uaW5nKGhvc3RVcmw6IHN0cmluZyk6IFByb21pc2U8Ym9vbGVhbj4ge1xuICB0cnkge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goaG9zdFVybCwgeyBtZXRob2Q6ICdIRUFEJyB9KTtcbiAgICByZXR1cm4gcmVzcG9uc2Uub2s7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIFN0YXJ0IHRoZSBAd29ya2Zsb3cvd2ViIHNlcnZlciBpbiB0aGUgY3VycmVudCBwcm9jZXNzLlxuICovXG5hc3luYyBmdW5jdGlvbiBzdGFydFdlYlNlcnZlcih3ZWJQb3J0OiBudW1iZXIpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgaWYgKGF3YWl0IGlzU2VydmVyUnVubmluZyhnZXRIb3N0VXJsKHdlYlBvcnQpKSkge1xuICAgIGxvZ2dlci5kZWJ1ZygnU2VydmVyIGlzIGFscmVhZHkgcnVubmluZycpO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICBsb2dnZXIuaW5mbygnU3RhcnRpbmcgd2ViIFVJIHNlcnZlci4uLicpO1xuICAgIGNvbnN0IHsgc3RhcnRTZXJ2ZXIgfSA9IGF3YWl0IGltcG9ydCgnQHdvcmtmbG93L3dlYi9zZXJ2ZXInKTtcbiAgICBodHRwU2VydmVyID0gYXdhaXQgc3RhcnRTZXJ2ZXIod2ViUG9ydCk7XG4gICAgbG9nZ2VyLnN1Y2Nlc3MoY2hhbGsuZ3JlZW4oYFdlYiBVSSBzZXJ2ZXIgc3RhcnRlZCBvbiBwb3J0ICR7d2ViUG9ydH1gKSk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gc3RhcnQgc2VydmVyOiAke2Vycm9yfWApO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIGEgVVJMIGZvciBvcGVuaW5nIHRoZSBsb2NhbCB3ZWIgVUkuXG4gKlxuICogVGhlIHdlYiBVSSByZWFkcyB3b3JsZCBjb25maWd1cmF0aW9uIGZyb20gc2VydmVyLXNpZGUgZW52aXJvbm1lbnQgdmFyaWFibGVzLlxuICogUXVlcnkgcGFyYW1zIGFyZSBvbmx5IHVzZWQgZm9yIGRlZXAtbGlua2luZyB0byBzcGVjaWZpYyByZXNvdXJjZXMgKHJlc291cmNlL2lkLCBydW5JZCwgZXRjLilcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkV2ViVUlVcmwoXG4gIGhvc3RVcmw6IHN0cmluZyxcbiAgcmVzb3VyY2U6IHN0cmluZyxcbiAgaWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgZmxhZ3M6IFJlY29yZDxzdHJpbmcsIGFueT5cbik6IHN0cmluZyB7XG4gIGNvbnN0IHBhcmFtcyA9IG5ldyBVUkxTZWFyY2hQYXJhbXMoKTtcblxuICAvLyBEZWVwLWxpbmtpbmcgcGFyYW1zXG4gIHBhcmFtcy5zZXQoJ3Jlc291cmNlJywgcmVzb3VyY2UpO1xuICBpZiAoaWQpIHtcbiAgICBwYXJhbXMuc2V0KCdpZCcsIGlkKTtcbiAgfVxuXG4gIC8vIE9wdGlvbmFsIGRlZXAtbGlua2luZyB0byBzcGVjaWZpYyBydW4vc3RlcC9ob29rXG4gIGZvciAoY29uc3QgZmxhZ05hbWUgb2YgWydydW5JZCcsICdzdGVwSWQnLCAnaG9va0lkJ10gYXMgY29uc3QpIHtcbiAgICBjb25zdCB2YWx1ZSA9IGZsYWdzW2ZsYWdOYW1lXTtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB2YWx1ZSAhPT0gJycgJiYgdmFsdWUgIT09IGZhbHNlKSB7XG4gICAgICBwYXJhbXMuc2V0KGZsYWdOYW1lLCBTdHJpbmcodmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICBjb25zdCBxdWVyeVN0cmluZyA9IHBhcmFtcy50b1N0cmluZygpO1xuICByZXR1cm4gcXVlcnlTdHJpbmcgPyBgJHtob3N0VXJsfT8ke3F1ZXJ5U3RyaW5nfWAgOiBob3N0VXJsO1xufVxuXG4vKipcbiAqIExhdW5jaCB0aGUgd2ViIFVJIHdpdGggdGhlIHNwZWNpZmllZCBjb25maWd1cmF0aW9uLlxuICogVGhpcyBzdGFydHMgdGhlIHNlcnZlciAoaWYgbm90IHJ1bm5pbmcpLCBvcGVucyB0aGUgYnJvd3NlciwgdGhlbiBrZWVwcyB0aGUgc2VydmVyIHJ1bm5pbmcuXG4gKlxuICogV29ybGQgY29uZmlndXJhdGlvbiBpcyBwYXNzZWQgdG8gdGhlIHdlYiBzZXJ2ZXIgdmlhIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqIFRoZSB3ZWIgVUkgcmVhZHMgdGhlc2UgZnJvbSBwcm9jZXNzLmVudiBvbiB0aGUgc2VydmVyIHNpZGUsIG5vdCBmcm9tIHF1ZXJ5IHBhcmFtcy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxhdW5jaFdlYlVJKFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgX2NsaVZlcnNpb246IHN0cmluZ1xuKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGVudlZhcnMgPSBnZXRFbnZWYXJzKCk7XG5cbiAgLy8gQ2hlY2sgaWYgYnJvd3NlciBvcGVuaW5nIGlzIGRpc2FibGVkIHZpYSBmbGFnIG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gIGNvbnN0IGRpc2FibGVCcm93c2VyT3BlbiA9IGZsYWdzLm5vQnJvd3NlcjtcblxuICAvLyBDaGVjayBpZiB3ZSBzaG91bGQgdHJ5IHRvIHVzZSB0aGUgVmVyY2VsIGRhc2hib2FyZFxuICBjb25zdCB2ZXJjZWxCYWNrZW5kTmFtZXMgPSBbJ3ZlcmNlbCcsICdAd29ya2Zsb3cvd29ybGQtdmVyY2VsJ107XG4gIGNvbnN0IGlzVmVyY2VsQmFja2VuZCA9IHZlcmNlbEJhY2tlbmROYW1lcy5pbmNsdWRlcyhcbiAgICBlbnZWYXJzLldPUktGTE9XX1RBUkdFVF9XT1JMRFxuICApO1xuICBjb25zdCB0ZWFtU2x1ZyA9IGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1RFQU07XG4gIGNvbnN0IHByb2plY3ROYW1lID1cbiAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9QUk9KRUNUX05BTUUgfHwgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfUFJPSkVDVDtcblxuICAvLyBDaGVjayBpZiB1c2VyIHdhbnRzIGxvY2FsIFVJIHZpYSBmbGFnIG9yIGVudmlyb25tZW50IHZhcmlhYmxlXG4gIGNvbnN0IHVzZUxvY2FsVWkgPSBmbGFncy5sb2NhbFVpO1xuXG4gIGlmICghdXNlTG9jYWxVaSAmJiBpc1ZlcmNlbEJhY2tlbmQpIHtcbiAgICBsb2dnZXIuaW5mbyhcbiAgICAgICdJZiB5b3UgZG8gbm90IHdhbnQgdG8gdXNlIHRoZSBWZXJjZWwgZGFzaGJvYXJkLCB1c2UgdGhlIC0tbG9jYWxVaSBmbGFnIG9yIHNldCBXT1JLRkxPV19MT0NBTF9VST0xIGluIHlvdXIgZW52aXJvbm1lbnQgdmFyaWFibGVzLidcbiAgICApO1xuICB9XG4gIGlmIChpc1ZlcmNlbEJhY2tlbmQgJiYgdGVhbVNsdWcgJiYgcHJvamVjdE5hbWUgJiYgIXVzZUxvY2FsVWkpIHtcbiAgICBsb2dnZXIuZGVidWcoXG4gICAgICBgQ2hlY2tpbmcgVmVyY2VsIGRhc2hib2FyZCBhdmFpbGFiaWxpdHkgZm9yIHRlYW06ICR7dGVhbVNsdWd9LCBwcm9qZWN0OiAke3Byb2plY3ROYW1lfWBcbiAgICApO1xuXG4gICAgY29uc3QgZGFzaGJvYXJkVXJsID0gZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKFxuICAgICAgdGVhbVNsdWcsXG4gICAgICBwcm9qZWN0TmFtZSxcbiAgICAgIHJlc291cmNlLFxuICAgICAgaWQsXG4gICAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9FTlYgfHwgJ3Byb2R1Y3Rpb24nXG4gICAgKTtcblxuICAgIGlmIChkaXNhYmxlQnJvd3Nlck9wZW4pIHtcbiAgICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oYFZlcmNlbCBkYXNoYm9hcmQgVVJMOiAke2Rhc2hib2FyZFVybH1gKSk7XG4gICAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKCcoQnJvd3NlciBhdXRvLW9wZW4gZGlzYWJsZWQpJykpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZ2dlci5pbmZvKFxuICAgICAgY2hhbGsuZ3JlZW4oYE9wZW5pbmcgVmVyY2VsIGRhc2hib2FyZCBmb3Igd29ya2Zsb3dzIGF0OiAke2Rhc2hib2FyZFVybH1gKVxuICAgICk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wZW4oZGFzaGJvYXJkVXJsKTtcbiAgICAgIHJldHVybjsgLy8gRXhpdCBlYXJseSBzaW5jZSB3ZSBvcGVuZWQgdGhlIGRhc2hib2FyZFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBsb2dnZXIuZXJyb3IoYEZhaWxlZCB0byBvcGVuIGJyb3dzZXI6ICR7ZXJyb3J9YCk7XG4gICAgICBsb2dnZXIuaW5mbyhgUGxlYXNlIG9wZW4gdGhlIGxpbmsgbWFudWFsbHkuYCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLy8gRGVmZXIgdG8gYW4gYWxyZWFkeS1ydW5uaW5nIGVtYmVkZGVkIGRhc2hib2FyZCAoZS5nLiBhIGZyYW1ld29ya1xuICAvLyBpbnRlZ3JhdGlvbiBzZXJ2aW5nIGAvX3dvcmtmbG93YCkgdW5sZXNzIHRoZSB1c2VyIGZvcmNlcyBhIHN0YW5kYWxvbmVcbiAgLy8gc2VydmVyLiBBdm9pZHMgc3Bpbm5pbmcgdXAgYSByZWR1bmRhbnQgVUkgb24gOjM0NTYgd2hlbiBvbmUgaXMgYWxyZWFkeSB1cC5cbiAgaWYgKCFmbGFncy5zdGFuZGFsb25lKSB7XG4gICAgY29uc3QgbGl2ZSA9IGF3YWl0IGZpbmRMaXZlRW1iZWRkZWREYXNoYm9hcmRzKCk7XG4gICAgaWYgKGxpdmUubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBidWlsZFdlYlVJVXJsKGxpdmVbMF0udXJsLCByZXNvdXJjZSwgaWQsIGZsYWdzKTtcbiAgICAgIGxvZ2dlci5pbmZvKFxuICAgICAgICBjaGFsay5ncmVlbihcbiAgICAgICAgICBgQW4gZW1iZWRkZWQgd29ya2Zsb3cgZGFzaGJvYXJkIGlzIGFscmVhZHkgcnVubmluZyBhdCAke2xpdmVbMF0udXJsfWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICAgIGlmIChkaXNhYmxlQnJvd3Nlck9wZW4pIHtcbiAgICAgICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgT3BlbiBpdCBhdDogJHt0YXJnZXR9YCkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKGBPcGVuaW5nICR7dGFyZ2V0fWApKTtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IG9wZW4odGFyZ2V0KTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGxvZ2dlci5lcnJvcihgRmFpbGVkIHRvIG9wZW4gYnJvd3NlcjogJHtlcnJvcn1gKTtcbiAgICAgICAgbG9nZ2VyLmluZm8oYFBsZWFzZSBvcGVuIHRoZSBsaW5rIG1hbnVhbGx5OiAke3RhcmdldH1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGxpdmUubGVuZ3RoID4gMSkge1xuICAgICAgbG9nZ2VyLmluZm8oJ0VtYmVkZGVkIHdvcmtmbG93IGRhc2hib2FyZHMgYXJlIGFscmVhZHkgcnVubmluZyBhdDonKTtcbiAgICAgIGZvciAoY29uc3QgZW50cnkgb2YgbGl2ZSkge1xuICAgICAgICBsb2dnZXIuaW5mbyhjaGFsay5jeWFuKGAgIC0gJHtlbnRyeS51cmx9YCkpO1xuICAgICAgfVxuICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICdPcGVuIHRoZSBvbmUgeW91IHdhbnQsIG9yIHBhc3MgLS1zdGFuZGFsb25lIHRvIHN0YXJ0IGEgc2VwYXJhdGUgd2ViIFVJLidcbiAgICAgICk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgLy8gRmFsbCBiYWNrIHRvIGxvY2FsIHdlYiBVSVxuICBjb25zdCB3ZWJQb3J0ID0gZmxhZ3Mud2ViUG9ydCA/PyAzNDU2O1xuICBjb25zdCBob3N0VXJsID0gZ2V0SG9zdFVybCh3ZWJQb3J0KTtcbiAgY29uc3QgdXJsID0gYnVpbGRXZWJVSVVybChob3N0VXJsLCByZXNvdXJjZSwgaWQsIGZsYWdzKTtcblxuICAvLyBDaGVjayBpZiBzZXJ2ZXIgaXMgYWxyZWFkeSBydW5uaW5nXG4gIGNvbnN0IGFscmVhZHlSdW5uaW5nID0gYXdhaXQgaXNTZXJ2ZXJSdW5uaW5nKGhvc3RVcmwpO1xuXG4gIGlmIChhbHJlYWR5UnVubmluZykge1xuICAgIGxvZ2dlci5pbmZvKFxuICAgICAgY2hhbGsuY3lhbihgV2ViIFVJIHNlcnZlciBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gcG9ydCAke3dlYlBvcnR9LmApXG4gICAgKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBTdGFydCB0aGUgc2VydmVyXG4gICAgY29uc3Qgc3RhcnRlZCA9IGF3YWl0IHN0YXJ0V2ViU2VydmVyKHdlYlBvcnQpO1xuICAgIGlmICghc3RhcnRlZCkge1xuICAgICAgbG9nZ2VyLmVycm9yKCdGYWlsZWQgdG8gc3RhcnQgd2ViIFVJIHNlcnZlcicpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIC8vIE9wZW4gYnJvd3NlclxuICBpZiAoZGlzYWJsZUJyb3dzZXJPcGVuKSB7XG4gICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgV2ViIFVJIGF2YWlsYWJsZSBhdDogJHt1cmx9YCkpO1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oJyhCcm93c2VyIGF1dG8tb3BlbiBkaXNhYmxlZCknKSk7XG4gIH0gZWxzZSB7XG4gICAgbG9nZ2VyLmluZm8oY2hhbGsuY3lhbihgT3BlbmluZyBicm93c2VyIHRvOiAke3VybH1gKSk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG9wZW4odXJsKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbG9nZ2VyLmVycm9yKGBGYWlsZWQgdG8gb3BlbiBicm93c2VyOiAke2Vycm9yfWApO1xuICAgICAgbG9nZ2VyLmluZm8oYFBsZWFzZSBvcGVuIHRoZSBsaW5rIG1hbnVhbGx5LmApO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlIHN0YXJ0ZWQgdGhlIHNlcnZlciwga2VlcCB0aGUgcHJvY2VzcyBydW5uaW5nXG4gIGlmICghYWxyZWFkeVJ1bm5pbmcgJiYgaHR0cFNlcnZlcikge1xuICAgIGxvZ2dlci5pbmZvKGNoYWxrLmN5YW4oJ1ByZXNzIEN0cmwrQyB0byBzdG9wIHRoZSB3ZWIgVUkgc2VydmVyIGFuZCBleGl0JykpO1xuXG4gICAgLy8gS2VlcCB0aGUgQ0xJIHByb2Nlc3MgYWxpdmUgd2hpbGUgdGhlIHNlcnZlciBpcyBydW5uaW5nXG4gICAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICAgIGlmIChodHRwU2VydmVyKSB7XG4gICAgICAgIGh0dHBTZXJ2ZXIub24oJ2Nsb3NlJywgKCkgPT4gcmVzb2x2ZSgpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEJ1aWxkIHRoZSBkZWVwLWxpbmsgVVJMIGZvciBhIHJlc291cmNlIHdpdGhvdXQgYW55IHNpZGUgZWZmZWN0cyAobm8gc2VydmVyLFxuICogbm8gYnJvd3NlcikuIFBpY2tzIHRoZSBWZXJjZWwgZGFzaGJvYXJkIGZvciBhIFZlcmNlbCBiYWNrZW5kICh1bmxlc3NcbiAqIGAtLWxvY2FsVWlgKSwgb3RoZXJ3aXNlIHRoZSBsb2NhbCB3ZWIgVUkgZGVlcCBsaW5rLlxuICpcbiAqIEFzc3VtZXMgZW52IHZhcnMgaGF2ZSBhbHJlYWR5IGJlZW4gcmVzb2x2ZWQgKGUuZy4gdmlhIGBzZXR1cENsaVdvcmxkYCkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWlsZERlZXBMaW5rVXJsKFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PlxuKTogc3RyaW5nIHtcbiAgY29uc3QgZW52VmFycyA9IGdldEVudlZhcnMoKTtcblxuICBjb25zdCB2ZXJjZWxCYWNrZW5kTmFtZXMgPSBbJ3ZlcmNlbCcsICdAd29ya2Zsb3cvd29ybGQtdmVyY2VsJ107XG4gIGNvbnN0IGlzVmVyY2VsQmFja2VuZCA9IHZlcmNlbEJhY2tlbmROYW1lcy5pbmNsdWRlcyhcbiAgICBlbnZWYXJzLldPUktGTE9XX1RBUkdFVF9XT1JMRFxuICApO1xuICBjb25zdCB0ZWFtU2x1ZyA9IGVudlZhcnMuV09SS0ZMT1dfVkVSQ0VMX1RFQU07XG4gIGNvbnN0IHByb2plY3ROYW1lID1cbiAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9QUk9KRUNUX05BTUUgfHwgZW52VmFycy5XT1JLRkxPV19WRVJDRUxfUFJPSkVDVDtcblxuICAvLyBVc2UgdGhlIFZlcmNlbCBkYXNoYm9hcmQgd2hlbiB0YXJnZXRpbmcgVmVyY2VsIChhbmQgbm90IGZvcmNlZCBsb2NhbCkuXG4gIGlmIChpc1ZlcmNlbEJhY2tlbmQgJiYgIWZsYWdzLmxvY2FsVWkgJiYgdGVhbVNsdWcgJiYgcHJvamVjdE5hbWUpIHtcbiAgICByZXR1cm4gZ2V0VmVyY2VsRGFzaGJvYXJkVXJsKFxuICAgICAgdGVhbVNsdWcsXG4gICAgICBwcm9qZWN0TmFtZSxcbiAgICAgIHJlc291cmNlLFxuICAgICAgaWQsXG4gICAgICBlbnZWYXJzLldPUktGTE9XX1ZFUkNFTF9FTlYgfHwgJ3Byb2R1Y3Rpb24nXG4gICAgKTtcbiAgfVxuXG4gIC8vIEZhbGwgYmFjayB0byB0aGUgbG9jYWwgd2ViIFVJIGRlZXAgbGluay5cbiAgY29uc3Qgd2ViUG9ydCA9IGZsYWdzLndlYlBvcnQgPz8gMzQ1NjtcbiAgcmV0dXJuIGJ1aWxkV2ViVUlVcmwoZ2V0SG9zdFVybCh3ZWJQb3J0KSwgcmVzb3VyY2UsIGlkLCBmbGFncyk7XG59XG5cbi8qKlxuICogUmVzb2x2ZSBhbmQgcHJpbnQgYSBzaGFyZWFibGUgZGVlcC1saW5rIFVSTCB0byBzdGRvdXQsIHRoZW4gcmV0dXJuLCB3aXRob3V0XG4gKiBvcGVuaW5nIGEgYnJvd3NlciBvciBzdGFydGluZyB0aGUgbG9jYWwgd2ViIHNlcnZlci4gSW50ZW5kZWQgZm9yIHNjcmlwdGluZ1xuICogYW5kIGFnZW50cyB0aGF0IG5lZWQgdGhlIGxpbmsgcmF0aGVyIHRoYW4gYSByZW5kZXJlZCBkYXNoYm9hcmQuXG4gKlxuICogSHVtYW4tcmVhZGFibGUgY2hhdHRlciAodGhlIHN0YXJ0dXAgYm94LCBpbmZvL2RlYnVnIGxvZ3MpIGlzIHJvdXRlZCB0byBzdGRlcnJcbiAqIHNvIHN0ZG91dCBjb250YWlucyBvbmx5IHRoZSBVUkwgKG9yIGB7IFwidXJsXCI6IFwiLi4uXCIgfWAgd2l0aCBgLS1qc29uYCkuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcmludERlZXBMaW5rKFxuICByZXNvdXJjZTogc3RyaW5nLFxuICBpZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICBmbGFnczogUmVjb3JkPHN0cmluZywgYW55PixcbiAgdmVyc2lvbjogc3RyaW5nXG4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3Qgd2FudHNKc29uID0gQm9vbGVhbihmbGFncy5qc29uKTtcblxuICAvLyBGb3JjZSBKU09OIGxvZ2dpbmcgbW9kZSBkdXJpbmcgc2V0dXAgc28gdGhlIHN0YXJ0dXAgYm94IGFuZCBhbnkgaW5mby9kZWJ1Z1xuICAvLyBsb2dzIGdvIHRvIHN0ZGVyciwga2VlcGluZyBzdGRvdXQgY2xlYW4gZm9yIHRoZSBVUkwuIFdlIHByaW50IHRoZSBVUkxcbiAgLy8gb3Vyc2VsdmVzIGJlbG93LCByZXNwZWN0aW5nIHRoZSB1c2VyJ3MgYWN0dWFsIGAtLWpzb25gIGNob2ljZS5cbiAgYXdhaXQgc2V0dXBDbGlXb3JsZCh7IC4uLmZsYWdzLCBqc29uOiB0cnVlIH0gYXMgYW55LCB2ZXJzaW9uLCB0cnVlKTtcblxuICBjb25zdCB1cmwgPSBidWlsZERlZXBMaW5rVXJsKHJlc291cmNlLCBpZCwgZmxhZ3MpO1xuXG4gIGlmICh3YW50c0pzb24pIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShgJHtKU09OLnN0cmluZ2lmeSh7IHVybCB9LCBudWxsLCAyKX1cXG5gKTtcbiAgfSBlbHNlIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShgJHt1cmx9XFxuYCk7XG4gIH1cbn1cbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workflow/cli",
|
|
3
|
-
"version": "5.0.0-beta.
|
|
3
|
+
"version": "5.0.0-beta.46",
|
|
4
4
|
"description": "Command-line interface for Workflow SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -32,6 +32,7 @@
|
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@types/node": "22.19.0",
|
|
34
34
|
"typescript": "^6.0.3",
|
|
35
|
+
"vitest": "^4.1.10",
|
|
35
36
|
"@workflow/tsconfig": "5.0.0-beta.0"
|
|
36
37
|
},
|
|
37
38
|
"dependencies": {
|
|
@@ -56,20 +57,21 @@
|
|
|
56
57
|
"tinyglobby": "0.2.17",
|
|
57
58
|
"xdg-app-paths": "5.1.0",
|
|
58
59
|
"zod": "~4.3.6",
|
|
59
|
-
"@workflow/builders": "5.0.0-beta.
|
|
60
|
-
"@workflow/core": "5.0.0-beta.
|
|
61
|
-
"@workflow/errors": "5.0.0-beta.
|
|
60
|
+
"@workflow/builders": "5.0.0-beta.46",
|
|
61
|
+
"@workflow/core": "5.0.0-beta.46",
|
|
62
|
+
"@workflow/errors": "5.0.0-beta.18",
|
|
62
63
|
"@workflow/swc-plugin": "5.0.0-beta.5",
|
|
63
|
-
"@workflow/utils": "5.0.0-beta.
|
|
64
|
-
"@workflow/web": "5.0.0-beta.
|
|
65
|
-
"@workflow/world": "5.0.0-beta.
|
|
66
|
-
"@workflow/world-local": "5.0.0-beta.
|
|
67
|
-
"@workflow/world-vercel": "5.0.0-beta.
|
|
64
|
+
"@workflow/utils": "5.0.0-beta.9",
|
|
65
|
+
"@workflow/web": "5.0.0-beta.46",
|
|
66
|
+
"@workflow/world": "5.0.0-beta.31",
|
|
67
|
+
"@workflow/world-local": "5.0.0-beta.40",
|
|
68
|
+
"@workflow/world-vercel": "5.0.0-beta.42"
|
|
68
69
|
},
|
|
69
70
|
"scripts": {
|
|
70
71
|
"build": "tsc && chmod +x bin/run.js",
|
|
71
72
|
"clean": "tsc --build --clean && rm -r dist ||:",
|
|
72
73
|
"dev": "tsc --watch",
|
|
74
|
+
"test": "vitest run src",
|
|
73
75
|
"typecheck": "tsc --noEmit"
|
|
74
76
|
}
|
|
75
77
|
}
|