@sendly/cli 1.0.8 → 1.0.9
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.
|
@@ -11,28 +11,29 @@ export default class CreditsBalance extends AuthenticatedCommand {
|
|
|
11
11
|
...AuthenticatedCommand.baseFlags,
|
|
12
12
|
};
|
|
13
13
|
async run() {
|
|
14
|
-
const credits = await apiClient.get("/api/credits");
|
|
14
|
+
const credits = await apiClient.get("/api/v1/account/credits");
|
|
15
15
|
if (isJsonMode()) {
|
|
16
16
|
json(credits);
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
header("Credit Balance");
|
|
20
|
-
const
|
|
20
|
+
const balance = parseFloat(credits.balance) || 0;
|
|
21
|
+
const reserved = parseFloat(credits.reservedBalance) || 0;
|
|
22
|
+
const availableCredits = balance - reserved;
|
|
21
23
|
keyValue({
|
|
22
24
|
Available: colors.primary(`${availableCredits.toLocaleString()} credits`),
|
|
23
|
-
Reserved:
|
|
24
|
-
? colors.warning(`${
|
|
25
|
+
Reserved: reserved > 0
|
|
26
|
+
? colors.warning(`${reserved.toLocaleString()} credits`)
|
|
25
27
|
: colors.dim("0 credits"),
|
|
26
|
-
"Total Balance": `${
|
|
27
|
-
"Lifetime Credits": colors.dim(`${credits.lifetimeCredits.toLocaleString()} credits`),
|
|
28
|
+
"Total Balance": `${balance.toLocaleString()} credits`,
|
|
28
29
|
});
|
|
29
30
|
console.log();
|
|
30
31
|
// Show approximate message capacity
|
|
31
32
|
const domesticMessages = Math.floor(availableCredits / 1);
|
|
32
|
-
const internationalMessages = Math.floor(availableCredits /
|
|
33
|
+
const internationalMessages = Math.floor(availableCredits / 2);
|
|
33
34
|
console.log(colors.dim("Estimated capacity:"));
|
|
34
35
|
console.log(` ${colors.dim("US/Canada:")} ~${domesticMessages.toLocaleString()} messages`);
|
|
35
36
|
console.log(` ${colors.dim("International:")} ~${internationalMessages.toLocaleString()} messages`);
|
|
36
37
|
}
|
|
37
38
|
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFsYW5jZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9jcmVkaXRzL2JhbGFuY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFFTCxJQUFJLEVBQ0osUUFBUSxFQUNSLE1BQU0sRUFDTixNQUFNLEVBQ04sVUFBVSxHQUNYLE1BQU0scUJBQXFCLENBQUM7QUFjN0IsTUFBTSxDQUFDLE9BQU8sT0FBTyxjQUFlLFNBQVEsb0JBQW9CO0lBQzlELE1BQU0sQ0FBQyxXQUFXLEdBQUcsMkJBQTJCLENBQUM7SUFFakQsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQixtQ0FBbUM7UUFDbkMsMENBQTBDO0tBQzNDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxvQkFBb0IsQ0FBQyxTQUFTO0tBQ2xDLENBQUM7SUFFRixLQUFLLENBQUMsR0FBRztRQUNQLE1BQU0sT0FBTyxHQUFHLE1BQU0sU0FBUyxDQUFDLEdBQUcsQ0FDakMseUJBQXlCLENBQzFCLENBQUM7UUFFRixJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2QsT0FBTztRQUNULENBQUM7UUFFRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUV6QixNQUFNLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNqRCxNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxRCxNQUFNLGdCQUFnQixHQUFHLE9BQU8sR0FBRyxRQUFRLENBQUM7UUFFNUMsUUFBUSxDQUFDO1lBQ1AsU0FBUyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDO1lBQ3pFLFFBQVEsRUFDTixRQUFRLEdBQUcsQ0FBQztnQkFDVixDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxHQUFHLFFBQVEsQ0FBQyxjQUFjLEVBQUUsVUFBVSxDQUFDO2dCQUN4RCxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7WUFDN0IsZUFBZSxFQUFFLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxVQUFVO1NBQ3ZELENBQUMsQ0FBQztRQUVILE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVkLG9DQUFvQztRQUNwQyxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDMUQsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBRS9ELE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUM7UUFDL0MsT0FBTyxDQUFDLEdBQUcsQ0FDVCxLQUFLLE1BQU0sQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLEtBQUssZ0JBQWdCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FDL0UsQ0FBQztRQUNGLE9BQU8sQ0FBQyxHQUFHLENBQ1QsS0FBSyxNQUFNLENBQUMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEtBQUsscUJBQXFCLENBQUMsY0FBYyxFQUFFLFdBQVcsQ0FDeEYsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBdXRoZW50aWNhdGVkQ29tbWFuZCB9IGZyb20gXCIuLi8uLi9saWIvYmFzZS1jb21tYW5kLmpzXCI7XG5pbXBvcnQgeyBhcGlDbGllbnQgfSBmcm9tIFwiLi4vLi4vbGliL2FwaS1jbGllbnQuanNcIjtcbmltcG9ydCB7XG4gIHN1Y2Nlc3MsXG4gIGpzb24sXG4gIGtleVZhbHVlLFxuICBjb2xvcnMsXG4gIGhlYWRlcixcbiAgaXNKc29uTW9kZSxcbn0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuaW50ZXJmYWNlIENyZWRpdHNSZXNwb25zZSB7XG4gIGJhbGFuY2U6IHN0cmluZztcbiAgcmVzZXJ2ZWRCYWxhbmNlOiBzdHJpbmc7XG4gIHJlY2VudFRyYW5zYWN0aW9ucz86IEFycmF5PHtcbiAgICBpZDogc3RyaW5nO1xuICAgIGFtb3VudDogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAgIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB9Pjtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ3JlZGl0c0JhbGFuY2UgZXh0ZW5kcyBBdXRoZW50aWNhdGVkQ29tbWFuZCB7XG4gIHN0YXRpYyBkZXNjcmlwdGlvbiA9IFwiQ2hlY2sgeW91ciBjcmVkaXQgYmFsYW5jZVwiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IGNyZWRpdHMgYmFsYW5jZVwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gY3JlZGl0cyBiYWxhbmNlIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNyZWRpdHMgPSBhd2FpdCBhcGlDbGllbnQuZ2V0PENyZWRpdHNSZXNwb25zZT4oXG4gICAgICBcIi9hcGkvdjEvYWNjb3VudC9jcmVkaXRzXCIsXG4gICAgKTtcblxuICAgIGlmIChpc0pzb25Nb2RlKCkpIHtcbiAgICAgIGpzb24oY3JlZGl0cyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaGVhZGVyKFwiQ3JlZGl0IEJhbGFuY2VcIik7XG5cbiAgICBjb25zdCBiYWxhbmNlID0gcGFyc2VGbG9hdChjcmVkaXRzLmJhbGFuY2UpIHx8IDA7XG4gICAgY29uc3QgcmVzZXJ2ZWQgPSBwYXJzZUZsb2F0KGNyZWRpdHMucmVzZXJ2ZWRCYWxhbmNlKSB8fCAwO1xuICAgIGNvbnN0IGF2YWlsYWJsZUNyZWRpdHMgPSBiYWxhbmNlIC0gcmVzZXJ2ZWQ7XG5cbiAgICBrZXlWYWx1ZSh7XG4gICAgICBBdmFpbGFibGU6IGNvbG9ycy5wcmltYXJ5KGAke2F2YWlsYWJsZUNyZWRpdHMudG9Mb2NhbGVTdHJpbmcoKX0gY3JlZGl0c2ApLFxuICAgICAgUmVzZXJ2ZWQ6XG4gICAgICAgIHJlc2VydmVkID4gMFxuICAgICAgICAgID8gY29sb3JzLndhcm5pbmcoYCR7cmVzZXJ2ZWQudG9Mb2NhbGVTdHJpbmcoKX0gY3JlZGl0c2ApXG4gICAgICAgICAgOiBjb2xvcnMuZGltKFwiMCBjcmVkaXRzXCIpLFxuICAgICAgXCJUb3RhbCBCYWxhbmNlXCI6IGAke2JhbGFuY2UudG9Mb2NhbGVTdHJpbmcoKX0gY3JlZGl0c2AsXG4gICAgfSk7XG5cbiAgICBjb25zb2xlLmxvZygpO1xuXG4gICAgLy8gU2hvdyBhcHByb3hpbWF0ZSBtZXNzYWdlIGNhcGFjaXR5XG4gICAgY29uc3QgZG9tZXN0aWNNZXNzYWdlcyA9IE1hdGguZmxvb3IoYXZhaWxhYmxlQ3JlZGl0cyAvIDEpO1xuICAgIGNvbnN0IGludGVybmF0aW9uYWxNZXNzYWdlcyA9IE1hdGguZmxvb3IoYXZhaWxhYmxlQ3JlZGl0cyAvIDIpO1xuXG4gICAgY29uc29sZS5sb2coY29sb3JzLmRpbShcIkVzdGltYXRlZCBjYXBhY2l0eTpcIikpO1xuICAgIGNvbnNvbGUubG9nKFxuICAgICAgYCAgJHtjb2xvcnMuZGltKFwiVVMvQ2FuYWRhOlwiKX0gfiR7ZG9tZXN0aWNNZXNzYWdlcy50b0xvY2FsZVN0cmluZygpfSBtZXNzYWdlc2AsXG4gICAgKTtcbiAgICBjb25zb2xlLmxvZyhcbiAgICAgIGAgICR7Y29sb3JzLmRpbShcIkludGVybmF0aW9uYWw6XCIpfSB+JHtpbnRlcm5hdGlvbmFsTWVzc2FnZXMudG9Mb2NhbGVTdHJpbmcoKX0gbWVzc2FnZXNgLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==
|
package/dist/commands/doctor.js
CHANGED
|
@@ -194,7 +194,7 @@ export default class Doctor extends BaseCommand {
|
|
|
194
194
|
const baseUrl = getEffectiveValue("baseUrl");
|
|
195
195
|
const token = getAuthToken();
|
|
196
196
|
try {
|
|
197
|
-
const response = await fetch(`${baseUrl}/api/credits`, {
|
|
197
|
+
const response = await fetch(`${baseUrl}/api/v1/account/credits`, {
|
|
198
198
|
method: "GET",
|
|
199
199
|
headers: {
|
|
200
200
|
Authorization: `Bearer ${token}`,
|
|
@@ -204,7 +204,7 @@ export default class Doctor extends BaseCommand {
|
|
|
204
204
|
});
|
|
205
205
|
if (response.ok) {
|
|
206
206
|
const data = (await response.json());
|
|
207
|
-
const balance = data.balance || 0;
|
|
207
|
+
const balance = parseFloat(data.balance || "0");
|
|
208
208
|
if (balance === 0) {
|
|
209
209
|
this.addResult({
|
|
210
210
|
name: "Credits",
|
|
@@ -333,4 +333,4 @@ export default class Doctor extends BaseCommand {
|
|
|
333
333
|
};
|
|
334
334
|
}
|
|
335
335
|
}
|
|
336
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2RvY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWixpQkFBaUIsRUFDakIsSUFBSSxFQUNKLGVBQWUsR0FDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQVEsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBcUI5QixNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxXQUFXO0lBQzdDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsNENBQTRDLENBQUM7SUFFbEUsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQiwwQkFBMEI7UUFDMUIsaUNBQWlDO0tBQ2xDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxXQUFXLENBQUMsU0FBUztLQUN6QixDQUFDO0lBRU0sT0FBTyxHQUF1QixFQUFFLENBQUM7SUFFekMsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVE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QyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFDM0UsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLEtBQUssT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBRXZFLE9BQU87WUFDTCxTQUFTLEVBQUUsSUFBSSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUU7WUFDbkMsT0FBTyxFQUFFLE9BQU87WUFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLE9BQU8sRUFBRTtnQkFDUCxNQUFNO2dCQUNOLFFBQVE7Z0JBQ1IsTUFBTTthQUNQO1NBQ0YsQ0FBQztJQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFNlbmRseSBEb2N0b3IgQ29tbWFuZFxuICogRGlhZ25vc2VzIENMSSBzZXR1cCBhbmQgY29ubmVjdGl2aXR5IGlzc3Vlc1xuICovXG5cbmltcG9ydCB7IEJhc2VDb21tYW5kIH0gZnJvbSBcIi4uL2xpYi9iYXNlLWNvbW1hbmQuanNcIjtcbmltcG9ydCB7XG4gIGlzQXV0aGVudGljYXRlZCxcbiAgZ2V0QXV0aFRva2VuLFxuICBnZXRDb25maWdQYXRoLFxuICBnZXRDb25maWdEaXIsXG4gIGdldEVmZmVjdGl2ZVZhbHVlLFxuICBpc0NJLFxuICBpc0NvbG9yRGlzYWJsZWQsXG59IGZyb20gXCIuLi9saWIvY29uZmlnLmpzXCI7XG5pbXBvcnQgeyBzdWNjZXNzLCBlcnJvciwgd2FybiwgaW5mbywganNvbiwgY29sb3JzIH0gZnJvbSBcIi4uL2xpYi9vdXRwdXQuanNcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJub2RlOmZzXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJub2RlOnBhdGhcIjtcblxuaW50ZXJmYWNlIERpYWdub3N0aWNSZXN1bHQge1xuICBuYW1lOiBzdHJpbmc7XG4gIHN0YXR1czogXCJva1wiIHwgXCJ3YXJuaW5nXCIgfCBcImVycm9yXCI7XG4gIG1lc3NhZ2U6IHN0cmluZztcbiAgZGV0YWlscz86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIERvY3RvclJlcG9ydCB7XG4gIHRpbWVzdGFtcDogc3RyaW5nO1xuICB2ZXJzaW9uOiBzdHJpbmc7XG4gIHJlc3VsdHM6IERpYWdub3N0aWNSZXN1bHRbXTtcbiAgc3VtbWFyeToge1xuICAgIHBhc3NlZDogbnVtYmVyO1xuICAgIHdhcm5pbmdzOiBudW1iZXI7XG4gICAgZXJyb3JzOiBudW1iZXI7XG4gIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERvY3RvciBleHRlbmRzIEJhc2VDb21tYW5kIHtcbiAgc3RhdGljIGRlc2NyaXB0aW9uID0gXCJEaWFnbm9zZSBDTEkgc2V0dXAgYW5kIGNvbm5lY3Rpdml0eSBpc3N1ZXNcIjtcblxuICBzdGF0aWMgZXhhbXBsZXMgPSBbXG4gICAgXCI8JT0gY29uZmlnLmJpbiAlPiBkb2N0b3JcIixcbiAgICBcIjwlPSBjb25maWcuYmluICU+IGRvY3RvciAtLWpzb25cIixcbiAgXTtcblxuICBzdGF0aWMgZmxhZ3MgPSB7XG4gICAgLi4uQmFzZUNvbW1hbmQuYmFzZUZsYWdzLFxuICB9O1xuXG4gIHByaXZhdGUgcmVzdWx0czogRGlhZ25vc3RpY1Jlc3VsdFtdID0gW107XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IGF3YWl0IHRoaXMucGFyc2UoRG9jdG9yKTtcblxuICAgIGlmICghZmxhZ3MuanNvbikge1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5wcmltYXJ5KFwiU2VuZGx5IENMSSBEaWFnbm9zdGljc1wiKSk7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgIH1cblxuICAgIC8vIFJ1biBhbGwgZGlhZ25vc3RpY3NcbiAgICBhd2FpdCB0aGlzLmNoZWNrQXBpS2V5KCk7XG4gICAgYXdhaXQgdGhpcy5jaGVja05ldHdvcmsoKTtcbiAgICBhd2FpdCB0aGlzLmNoZWNrQ2xvY2tTa2V3KCk7XG4gICAgYXdhaXQgdGhpcy5jaGVja0NyZWRpdHMoKTtcbiAgICBhd2FpdCB0aGlzLmNoZWNrRW52aXJvbm1lbnQoKTtcbiAgICBhd2FpdCB0aGlzLmNoZWNrQ29uZmlnKCk7XG5cbiAgICAvLyBHZW5lcmF0ZSByZXBvcnRcbiAgICBjb25zdCByZXBvcnQgPSB0aGlzLmdlbmVyYXRlUmVwb3J0KCk7XG5cbiAgICBpZiAoZmxhZ3MuanNvbikge1xuICAgICAganNvbihyZXBvcnQpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFByaW50IHN1bW1hcnlcbiAgICBjb25zb2xlLmxvZygpO1xuICAgIGlmIChyZXBvcnQuc3VtbWFyeS5lcnJvcnMgPiAwKSB7XG4gICAgICBlcnJvcihcbiAgICAgICAgYCR7cmVwb3J0LnN1bW1hcnkuZXJyb3JzfSBpc3N1ZShzKSBmb3VuZC4gUGxlYXNlIHJlc29sdmUgYmVmb3JlIHVzaW5nIHRoZSBDTEkuYCxcbiAgICAgICk7XG4gICAgICB0aGlzLmV4aXQoMSk7XG4gICAgfSBlbHNlIGlmIChyZXBvcnQuc3VtbWFyeS53YXJuaW5ncyA+IDApIHtcbiAgICAgIHdhcm4oXG4gICAgICAgIGAke3JlcG9ydC5zdW1tYXJ5Lndhcm5pbmdzfSB3YXJuaW5nKHMpLiBDTEkgc2hvdWxkIHdvcmsgYnV0IG1heSBoYXZlIGlzc3Vlcy5gLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3VjY2VzcyhcIkFsbCBzeXN0ZW1zIG9wZXJhdGlvbmFsIVwiKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFJlc3VsdChyZXN1bHQ6IERpYWdub3N0aWNSZXN1bHQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc3VsdHMucHVzaChyZXN1bHQpO1xuXG4gICAgLy8gUHJpbnQgcmVzdWx0IGltbWVkaWF0ZWx5ICh1bmxlc3MgaW4gSlNPTiBtb2RlKVxuICAgIGNvbnN0IHsgZmxhZ3MgfSA9IHRoaXMgYXMgYW55O1xuICAgIGlmIChmbGFncz8uanNvbikgcmV0dXJuO1xuXG4gICAgY29uc3QgaWNvbiA9XG4gICAgICByZXN1bHQuc3RhdHVzID09PSBcIm9rXCJcbiAgICAgICAgPyBjb2xvcnMuc3VjY2VzcyhcIlxcdTI3MTRcIilcbiAgICAgICAgOiByZXN1bHQuc3RhdHVzID09PSBcIndhcm5pbmdcIlxuICAgICAgICAgID8gY29sb3JzLndhcm5pbmcoXCJcXHUyNkEwXCIpXG4gICAgICAgICAgOiBjb2xvcnMuZXJyb3IoXCJcXHUyNzE4XCIpO1xuXG4gICAgY29uc29sZS5sb2coYCR7aWNvbn0gJHtyZXN1bHQubmFtZX06ICR7cmVzdWx0Lm1lc3NhZ2V9YCk7XG4gICAgaWYgKHJlc3VsdC5kZXRhaWxzKSB7XG4gICAgICBjb25zb2xlLmxvZyhjb2xvcnMuZGltKGAgICAke3Jlc3VsdC5kZXRhaWxzfWApKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrQXBpS2V5KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHRva2VuID0gZ2V0QXV0aFRva2VuKCk7XG4gICAgY29uc3QgZnJvbUVudiA9ICEhcHJvY2Vzcy5lbnYuU0VORExZX0FQSV9LRVk7XG5cbiAgICBpZiAoIXRva2VuKSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQVBJIEtleVwiLFxuICAgICAgICBzdGF0dXM6IFwiZXJyb3JcIixcbiAgICAgICAgbWVzc2FnZTogXCJOb3QgY29uZmlndXJlZFwiLFxuICAgICAgICBkZXRhaWxzOlxuICAgICAgICAgIFwiUnVuICdzZW5kbHkgbG9naW4nIG9yIHNldCBTRU5ETFlfQVBJX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZVwiLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sga2V5IGZvcm1hdFxuICAgIGNvbnN0IGlzVGVzdEtleSA9IHRva2VuLnN0YXJ0c1dpdGgoXCJza190ZXN0X1wiKTtcbiAgICBjb25zdCBpc0xpdmVLZXkgPSB0b2tlbi5zdGFydHNXaXRoKFwic2tfbGl2ZV9cIik7XG5cbiAgICBpZiAoIWlzVGVzdEtleSAmJiAhaXNMaXZlS2V5KSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQVBJIEtleVwiLFxuICAgICAgICBzdGF0dXM6IFwiZXJyb3JcIixcbiAgICAgICAgbWVzc2FnZTogXCJJbnZhbGlkIGZvcm1hdFwiLFxuICAgICAgICBkZXRhaWxzOiBcIkFQSSBrZXkgc2hvdWxkIHN0YXJ0IHdpdGggc2tfdGVzdF8gb3Igc2tfbGl2ZV9cIixcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGtleVR5cGUgPSBpc1Rlc3RLZXkgPyBcInRlc3RcIiA6IFwibGl2ZVwiO1xuICAgIGNvbnN0IHNvdXJjZSA9IGZyb21FbnYgPyBcImVudmlyb25tZW50IHZhcmlhYmxlXCIgOiBcImNvbmZpZyBmaWxlXCI7XG5cbiAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICBuYW1lOiBcIkFQSSBLZXlcIixcbiAgICAgIHN0YXR1czogXCJva1wiLFxuICAgICAgbWVzc2FnZTogYFZhbGlkICgke2tleVR5cGV9IG1vZGUsIGZyb20gJHtzb3VyY2V9KWAsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrTmV0d29yaygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBiYXNlVXJsID0gZ2V0RWZmZWN0aXZlVmFsdWUoXCJiYXNlVXJsXCIpO1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IERhdGUubm93KCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtiYXNlVXJsfS9oZWFsdGhgLCB7XG4gICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KDEwMDAwKSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBsYXRlbmN5ID0gRGF0ZS5ub3coKSAtIHN0YXJ0VGltZTtcblxuICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIk5ldHdvcmtcIixcbiAgICAgICAgICBzdGF0dXM6IFwib2tcIixcbiAgICAgICAgICBtZXNzYWdlOiBgQ29ubmVjdGVkIHRvICR7bmV3IFVSTChiYXNlVXJsKS5ob3N0fSAoJHtsYXRlbmN5fW1zKWAsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiTmV0d29ya1wiLFxuICAgICAgICAgIHN0YXR1czogXCJ3YXJuaW5nXCIsXG4gICAgICAgICAgbWVzc2FnZTogYEFQSSByZXR1cm5lZCAke3Jlc3BvbnNlLnN0YXR1c31gLFxuICAgICAgICAgIGRldGFpbHM6IGBFbmRwb2ludDogJHtiYXNlVXJsfS9oZWFsdGhgLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICBuYW1lOiBcIk5ldHdvcmtcIixcbiAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICAgIG1lc3NhZ2U6IFwiQ2Fubm90IHJlYWNoIEFQSVwiLFxuICAgICAgICBkZXRhaWxzOiBlcnIubWVzc2FnZSB8fCBcIkNoZWNrIHlvdXIgaW50ZXJuZXQgY29ubmVjdGlvblwiLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0Nsb2NrU2tldygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBiYXNlVXJsID0gZ2V0RWZmZWN0aXZlVmFsdWUoXCJiYXNlVXJsXCIpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0vaGVhbHRoYCwge1xuICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgIHNpZ25hbDogQWJvcnRTaWduYWwudGltZW91dCg1MDAwKSxcbiAgICAgIH0pO1xuXG4gICAgICBjb25zdCBzZXJ2ZXJEYXRlID0gcmVzcG9uc2UuaGVhZGVycy5nZXQoXCJkYXRlXCIpO1xuICAgICAgaWYgKCFzZXJ2ZXJEYXRlKSB7XG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIkNsb2NrXCIsXG4gICAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgICBtZXNzYWdlOiBcIkNvdWxkIG5vdCB2ZXJpZnkgKG5vIHNlcnZlciBkYXRlIGhlYWRlcilcIixcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgc2VydmVyVGltZSA9IG5ldyBEYXRlKHNlcnZlckRhdGUpLmdldFRpbWUoKTtcbiAgICAgIGNvbnN0IGxvY2FsVGltZSA9IERhdGUubm93KCk7XG4gICAgICBjb25zdCBza2V3U2Vjb25kcyA9IE1hdGguYWJzKHNlcnZlclRpbWUgLSBsb2NhbFRpbWUpIC8gMTAwMDtcblxuICAgICAgaWYgKHNrZXdTZWNvbmRzID4gMzAwKSB7XG4gICAgICAgIC8vIDUgbWludXRlc1xuICAgICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgICAgbmFtZTogXCJDbG9ja1wiLFxuICAgICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBTaWduaWZpY2FudCBkcmlmdCBkZXRlY3RlZCAoJHtza2V3U2Vjb25kcy50b0ZpeGVkKDApfXMpYCxcbiAgICAgICAgICBkZXRhaWxzOiBcIlRoaXMgbWF5IGNhdXNlIHdlYmhvb2sgc2lnbmF0dXJlIHZlcmlmaWNhdGlvbiB0byBmYWlsXCIsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChza2V3U2Vjb25kcyA+IDMwKSB7XG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIkNsb2NrXCIsXG4gICAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgICBtZXNzYWdlOiBgTWlub3IgZHJpZnQgZGV0ZWN0ZWQgKCR7c2tld1NlY29uZHMudG9GaXhlZCgxKX1zKWAsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiQ2xvY2tcIixcbiAgICAgICAgICBzdGF0dXM6IFwib2tcIixcbiAgICAgICAgICBtZXNzYWdlOiBgU3luY2hyb25pemVkIChkcmlmdDogJHtza2V3U2Vjb25kcy50b0ZpeGVkKDEpfXMpYCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQ2xvY2tcIixcbiAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgbWVzc2FnZTogXCJDb3VsZCBub3QgdmVyaWZ5IChuZXR3b3JrIGVycm9yKVwiLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0NyZWRpdHMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFpc0F1dGhlbnRpY2F0ZWQoKSkge1xuICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICBuYW1lOiBcIkNyZWRpdHNcIixcbiAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgbWVzc2FnZTogXCJDYW5ub3QgY2hlY2sgKG5vdCBhdXRoZW50aWNhdGVkKVwiLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgYmFzZVVybCA9IGdldEVmZmVjdGl2ZVZhbHVlKFwiYmFzZVVybFwiKTtcbiAgICBjb25zdCB0b2tlbiA9IGdldEF1dGhUb2tlbigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2goYCR7YmFzZVVybH0vYXBpL2NyZWRpdHNgLCB7XG4gICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgIEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0b2tlbn1gLFxuICAgICAgICAgIFwiQ29udGVudC1UeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgICAgICB9LFxuICAgICAgICBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoMTAwMDApLFxuICAgICAgfSk7XG5cbiAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICBjb25zdCBkYXRhID0gKGF3YWl0IHJlc3BvbnNlLmpzb24oKSkgYXMgeyBiYWxhbmNlPzogbnVtYmVyIH07XG4gICAgICAgIGNvbnN0IGJhbGFuY2UgPSBkYXRhLmJhbGFuY2UgfHwgMDtcblxuICAgICAgICBpZiAoYmFsYW5jZSA9PT0gMCkge1xuICAgICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICAgIG5hbWU6IFwiQ3JlZGl0c1wiLFxuICAgICAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgICAgIG1lc3NhZ2U6IFwiMCBhdmFpbGFibGVcIixcbiAgICAgICAgICAgIGRldGFpbHM6IFwiQWRkIGNyZWRpdHMgdG8gc2VuZCBtZXNzYWdlc1wiLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICAgIG5hbWU6IFwiQ3JlZGl0c1wiLFxuICAgICAgICAgICAgc3RhdHVzOiBcIm9rXCIsXG4gICAgICAgICAgICBtZXNzYWdlOiBgJHtiYWxhbmNlLnRvTG9jYWxlU3RyaW5nKCl9IGF2YWlsYWJsZWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAocmVzcG9uc2Uuc3RhdHVzID09PSA0MDEpIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiQ3JlZGl0c1wiLFxuICAgICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiQVBJIGtleSBpbnZhbGlkIG9yIGV4cGlyZWRcIixcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgICAgbmFtZTogXCJDcmVkaXRzXCIsXG4gICAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgICBtZXNzYWdlOiBgQ291bGQgbm90IGZldGNoIChIVFRQICR7cmVzcG9uc2Uuc3RhdHVzfSlgLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IGFueSkge1xuICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICBuYW1lOiBcIkNyZWRpdHNcIixcbiAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgbWVzc2FnZTogXCJDb3VsZCBub3QgZmV0Y2hcIixcbiAgICAgICAgZGV0YWlsczogZXJyLm1lc3NhZ2UsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrRW52aXJvbm1lbnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2hlY2tzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKGlzQ0koKSkge1xuICAgICAgY2hlY2tzLnB1c2goXCJDSSBtb2RlIGRldGVjdGVkXCIpO1xuICAgIH1cblxuICAgIGlmIChpc0NvbG9yRGlzYWJsZWQoKSkge1xuICAgICAgY2hlY2tzLnB1c2goXCJjb2xvciBkaXNhYmxlZFwiKTtcbiAgICB9XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuU0VORExZX0FQSV9LRVkpIHtcbiAgICAgIGNoZWNrcy5wdXNoKFwidXNpbmcgU0VORExZX0FQSV9LRVkgZW52IHZhclwiKTtcbiAgICB9XG5cbiAgICBpZiAocHJvY2Vzcy5lbnYuU0VORExZX0JBU0VfVVJMKSB7XG4gICAgICBjaGVja3MucHVzaChgY3VzdG9tIGJhc2UgVVJMOiAke3Byb2Nlc3MuZW52LlNFTkRMWV9CQVNFX1VSTH1gKTtcbiAgICB9XG5cbiAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICBuYW1lOiBcIkVudmlyb25tZW50XCIsXG4gICAgICBzdGF0dXM6IFwib2tcIixcbiAgICAgIG1lc3NhZ2U6IGNoZWNrcy5sZW5ndGggPiAwID8gY2hlY2tzLmpvaW4oXCIsIFwiKSA6IFwiU3RhbmRhcmQgdGVybWluYWwgbW9kZVwiLFxuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjaGVja0NvbmZpZygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjb25maWdQYXRoID0gZ2V0Q29uZmlnUGF0aCgpO1xuICAgIGNvbnN0IGNvbmZpZ0RpciA9IGdldENvbmZpZ0RpcigpO1xuXG4gICAgLy8gQ2hlY2sgaWYgY29uZmlnIGRpcmVjdG9yeSBleGlzdHNcbiAgICBpZiAoIWZzLmV4aXN0c1N5bmMoY29uZmlnRGlyKSkge1xuICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICBuYW1lOiBcIkNvbmZpZ1wiLFxuICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBcIkNvbmZpZyBkaXJlY3Rvcnkgbm90IGZvdW5kXCIsXG4gICAgICAgIGRldGFpbHM6IGBFeHBlY3RlZDogJHtjb25maWdEaXJ9YCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGlmIGNvbmZpZyBmaWxlIGV4aXN0c1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhjb25maWdQYXRoKSkge1xuICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICBuYW1lOiBcIkNvbmZpZ1wiLFxuICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBcIkNvbmZpZyBmaWxlIG5vdCBmb3VuZCAodXNpbmcgZGVmYXVsdHMpXCIsXG4gICAgICAgIGRldGFpbHM6IGNvbmZpZ1BhdGgsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBmaWxlIHBlcm1pc3Npb25zIChzaG91bGQgYmUgcmVhZGFibGUgb25seSBieSBvd25lcilcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhdHMgPSBmcy5zdGF0U3luYyhjb25maWdQYXRoKTtcbiAgICAgIGNvbnN0IG1vZGUgPSBzdGF0cy5tb2RlICYgMG83Nzc7XG5cbiAgICAgIGlmIChtb2RlICYgMG8wNzcpIHtcbiAgICAgICAgLy8gR3JvdXAgb3Igb3RoZXJzIGhhdmUgYWNjZXNzXG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIkNvbmZpZ1wiLFxuICAgICAgICAgIHN0YXR1czogXCJ3YXJuaW5nXCIsXG4gICAgICAgICAgbWVzc2FnZTogXCJDb25maWcgZmlsZSBoYXMgbG9vc2UgcGVybWlzc2lvbnNcIixcbiAgICAgICAgICBkZXRhaWxzOiBgJHtjb25maWdQYXRofSAobW9kZTogJHttb2RlLnRvU3RyaW5nKDgpfSlgLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIkNvbmZpZ1wiLFxuICAgICAgICAgIHN0YXR1czogXCJva1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IGNvbmZpZ1BhdGgsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2gge1xuICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICBuYW1lOiBcIkNvbmZpZ1wiLFxuICAgICAgICBzdGF0dXM6IFwib2tcIixcbiAgICAgICAgbWVzc2FnZTogY29uZmlnUGF0aCxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVSZXBvcnQoKTogRG9jdG9yUmVwb3J0IHtcbiAgICBjb25zdCBwYXNzZWQgPSB0aGlzLnJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnN0YXR1cyA9PT0gXCJva1wiKS5sZW5ndGg7XG4gICAgY29uc3Qgd2FybmluZ3MgPSB0aGlzLnJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnN0YXR1cyA9PT0gXCJ3YXJuaW5nXCIpLmxlbmd0aDtcbiAgICBjb25zdCBlcnJvcnMgPSB0aGlzLnJlc3VsdHMuZmlsdGVyKChyKSA9PiByLnN0YXR1cyA9PT0gXCJlcnJvclwiKS5sZW5ndGg7XG5cbiAgICByZXR1cm4ge1xuICAgICAgdGltZXN0YW1wOiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCksXG4gICAgICB2ZXJzaW9uOiBcIjEuMC4wXCIsXG4gICAgICByZXN1bHRzOiB0aGlzLnJlc3VsdHMsXG4gICAgICBzdW1tYXJ5OiB7XG4gICAgICAgIHBhc3NlZCxcbiAgICAgICAgd2FybmluZ3MsXG4gICAgICAgIGVycm9ycyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
336
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9jdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1hbmRzL2RvY3Rvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFFSCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDckQsT0FBTyxFQUNMLGVBQWUsRUFDZixZQUFZLEVBQ1osYUFBYSxFQUNiLFlBQVksRUFDWixpQkFBaUIsRUFDakIsSUFBSSxFQUNKLGVBQWUsR0FDaEIsTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQVEsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzVFLE9BQU8sS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBcUI5QixNQUFNLENBQUMsT0FBTyxPQUFPLE1BQU8sU0FBUSxXQUFXO0lBQzdDLE1BQU0sQ0FBQyxXQUFXLEdBQUcsNENBQTRDLENBQUM7SUFFbEUsTUFBTSxDQUFDLFFBQVEsR0FBRztRQUNoQiwwQkFBMEI7UUFDMUIsaUNBQWlDO0tBQ2xDLENBQUM7SUFFRixNQUFNLENBQUMsS0FBSyxHQUFHO1FBQ2IsR0FBRyxXQUFXLENBQUMsU0FBUztLQUN6QixDQUFDO0lBRU0sT0FBTyxHQUF1QixFQUFFLENBQUM7SUFFekMsS0FBSyxDQUFDLEdBQUc7UUFDUCxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRTNDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQztZQUN0RCxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDaEIsQ0FBQztRQUVE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QUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUM7UUFFdkUsT0FBTztZQUNMLFNBQVMsRUFBRSxJQUFJLElBQUksRUFBRSxDQUFDLFdBQVcsRUFBRTtZQUNuQyxPQUFPLEVBQUUsT0FBTztZQUNoQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFO2dCQUNQLE1BQU07Z0JBQ04sUUFBUTtnQkFDUixNQUFNO2FBQ1A7U0FDRixDQUFDO0lBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2VuZGx5IERvY3RvciBDb21tYW5kXG4gKiBEaWFnbm9zZXMgQ0xJIHNldHVwIGFuZCBjb25uZWN0aXZpdHkgaXNzdWVzXG4gKi9cblxuaW1wb3J0IHsgQmFzZUNvbW1hbmQgfSBmcm9tIFwiLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHtcbiAgaXNBdXRoZW50aWNhdGVkLFxuICBnZXRBdXRoVG9rZW4sXG4gIGdldENvbmZpZ1BhdGgsXG4gIGdldENvbmZpZ0RpcixcbiAgZ2V0RWZmZWN0aXZlVmFsdWUsXG4gIGlzQ0ksXG4gIGlzQ29sb3JEaXNhYmxlZCxcbn0gZnJvbSBcIi4uL2xpYi9jb25maWcuanNcIjtcbmltcG9ydCB7IHN1Y2Nlc3MsIGVycm9yLCB3YXJuLCBpbmZvLCBqc29uLCBjb2xvcnMgfSBmcm9tIFwiLi4vbGliL291dHB1dC5qc1wiO1xuaW1wb3J0ICogYXMgZnMgZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcIm5vZGU6cGF0aFwiO1xuXG5pbnRlcmZhY2UgRGlhZ25vc3RpY1Jlc3VsdCB7XG4gIG5hbWU6IHN0cmluZztcbiAgc3RhdHVzOiBcIm9rXCIgfCBcIndhcm5pbmdcIiB8IFwiZXJyb3JcIjtcbiAgbWVzc2FnZTogc3RyaW5nO1xuICBkZXRhaWxzPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgRG9jdG9yUmVwb3J0IHtcbiAgdGltZXN0YW1wOiBzdHJpbmc7XG4gIHZlcnNpb246IHN0cmluZztcbiAgcmVzdWx0czogRGlhZ25vc3RpY1Jlc3VsdFtdO1xuICBzdW1tYXJ5OiB7XG4gICAgcGFzc2VkOiBudW1iZXI7XG4gICAgd2FybmluZ3M6IG51bWJlcjtcbiAgICBlcnJvcnM6IG51bWJlcjtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRG9jdG9yIGV4dGVuZHMgQmFzZUNvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIkRpYWdub3NlIENMSSBzZXR1cCBhbmQgY29ubmVjdGl2aXR5IGlzc3Vlc1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IGRvY3RvclwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4gZG9jdG9yIC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5CYXNlQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgcHJpdmF0ZSByZXN1bHRzOiBEaWFnbm9zdGljUmVzdWx0W10gPSBbXTtcblxuICBhc3luYyBydW4oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgeyBmbGFncyB9ID0gYXdhaXQgdGhpcy5wYXJzZShEb2N0b3IpO1xuXG4gICAgaWYgKCFmbGFncy5qc29uKSB7XG4gICAgICBjb25zb2xlLmxvZygpO1xuICAgICAgY29uc29sZS5sb2coY29sb3JzLnByaW1hcnkoXCJTZW5kbHkgQ0xJIERpYWdub3N0aWNzXCIpKTtcbiAgICAgIGNvbnNvbGUubG9nKCk7XG4gICAgfVxuXG4gICAgLy8gUnVuIGFsbCBkaWFnbm9zdGljc1xuICAgIGF3YWl0IHRoaXMuY2hlY2tBcGlLZXkoKTtcbiAgICBhd2FpdCB0aGlzLmNoZWNrTmV0d29yaygpO1xuICAgIGF3YWl0IHRoaXMuY2hlY2tDbG9ja1NrZXcoKTtcbiAgICBhd2FpdCB0aGlzLmNoZWNrQ3JlZGl0cygpO1xuICAgIGF3YWl0IHRoaXMuY2hlY2tFbnZpcm9ubWVudCgpO1xuICAgIGF3YWl0IHRoaXMuY2hlY2tDb25maWcoKTtcblxuICAgIC8vIEdlbmVyYXRlIHJlcG9ydFxuICAgIGNvbnN0IHJlcG9ydCA9IHRoaXMuZ2VuZXJhdGVSZXBvcnQoKTtcblxuICAgIGlmIChmbGFncy5qc29uKSB7XG4gICAgICBqc29uKHJlcG9ydCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gUHJpbnQgc3VtbWFyeVxuICAgIGNvbnNvbGUubG9nKCk7XG4gICAgaWYgKHJlcG9ydC5zdW1tYXJ5LmVycm9ycyA+IDApIHtcbiAgICAgIGVycm9yKFxuICAgICAgICBgJHtyZXBvcnQuc3VtbWFyeS5lcnJvcnN9IGlzc3VlKHMpIGZvdW5kLiBQbGVhc2UgcmVzb2x2ZSBiZWZvcmUgdXNpbmcgdGhlIENMSS5gLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZXhpdCgxKTtcbiAgICB9IGVsc2UgaWYgKHJlcG9ydC5zdW1tYXJ5Lndhcm5pbmdzID4gMCkge1xuICAgICAgd2FybihcbiAgICAgICAgYCR7cmVwb3J0LnN1bW1hcnkud2FybmluZ3N9IHdhcm5pbmcocykuIENMSSBzaG91bGQgd29yayBidXQgbWF5IGhhdmUgaXNzdWVzLmAsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdWNjZXNzKFwiQWxsIHN5c3RlbXMgb3BlcmF0aW9uYWwhXCIpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkUmVzdWx0KHJlc3VsdDogRGlhZ25vc3RpY1Jlc3VsdCk6IHZvaWQge1xuICAgIHRoaXMucmVzdWx0cy5wdXNoKHJlc3VsdCk7XG5cbiAgICAvLyBQcmludCByZXN1bHQgaW1tZWRpYXRlbHkgKHVubGVzcyBpbiBKU09OIG1vZGUpXG4gICAgY29uc3QgeyBmbGFncyB9ID0gdGhpcyBhcyBhbnk7XG4gICAgaWYgKGZsYWdzPy5qc29uKSByZXR1cm47XG5cbiAgICBjb25zdCBpY29uID1cbiAgICAgIHJlc3VsdC5zdGF0dXMgPT09IFwib2tcIlxuICAgICAgICA/IGNvbG9ycy5zdWNjZXNzKFwiXFx1MjcxNFwiKVxuICAgICAgICA6IHJlc3VsdC5zdGF0dXMgPT09IFwid2FybmluZ1wiXG4gICAgICAgICAgPyBjb2xvcnMud2FybmluZyhcIlxcdTI2QTBcIilcbiAgICAgICAgICA6IGNvbG9ycy5lcnJvcihcIlxcdTI3MThcIik7XG5cbiAgICBjb25zb2xlLmxvZyhgJHtpY29ufSAke3Jlc3VsdC5uYW1lfTogJHtyZXN1bHQubWVzc2FnZX1gKTtcbiAgICBpZiAocmVzdWx0LmRldGFpbHMpIHtcbiAgICAgIGNvbnNvbGUubG9nKGNvbG9ycy5kaW0oYCAgICR7cmVzdWx0LmRldGFpbHN9YCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tBcGlLZXkoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdG9rZW4gPSBnZXRBdXRoVG9rZW4oKTtcbiAgICBjb25zdCBmcm9tRW52ID0gISFwcm9jZXNzLmVudi5TRU5ETFlfQVBJX0tFWTtcblxuICAgIGlmICghdG9rZW4pIHtcbiAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgbmFtZTogXCJBUEkgS2V5XCIsXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgICBtZXNzYWdlOiBcIk5vdCBjb25maWd1cmVkXCIsXG4gICAgICAgIGRldGFpbHM6XG4gICAgICAgICAgXCJSdW4gJ3NlbmRseSBsb2dpbicgb3Igc2V0IFNFTkRMWV9BUElfS0VZIGVudmlyb25tZW50IHZhcmlhYmxlXCIsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBDaGVjayBrZXkgZm9ybWF0XG4gICAgY29uc3QgaXNUZXN0S2V5ID0gdG9rZW4uc3RhcnRzV2l0aChcInNrX3Rlc3RfXCIpO1xuICAgIGNvbnN0IGlzTGl2ZUtleSA9IHRva2VuLnN0YXJ0c1dpdGgoXCJza19saXZlX1wiKTtcblxuICAgIGlmICghaXNUZXN0S2V5ICYmICFpc0xpdmVLZXkpIHtcbiAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgbmFtZTogXCJBUEkgS2V5XCIsXG4gICAgICAgIHN0YXR1czogXCJlcnJvclwiLFxuICAgICAgICBtZXNzYWdlOiBcIkludmFsaWQgZm9ybWF0XCIsXG4gICAgICAgIGRldGFpbHM6IFwiQVBJIGtleSBzaG91bGQgc3RhcnQgd2l0aCBza190ZXN0XyBvciBza19saXZlX1wiLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga2V5VHlwZSA9IGlzVGVzdEtleSA/IFwidGVzdFwiIDogXCJsaXZlXCI7XG4gICAgY29uc3Qgc291cmNlID0gZnJvbUVudiA/IFwiZW52aXJvbm1lbnQgdmFyaWFibGVcIiA6IFwiY29uZmlnIGZpbGVcIjtcblxuICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgIG5hbWU6IFwiQVBJIEtleVwiLFxuICAgICAgc3RhdHVzOiBcIm9rXCIsXG4gICAgICBtZXNzYWdlOiBgVmFsaWQgKCR7a2V5VHlwZX0gbW9kZSwgZnJvbSAke3NvdXJjZX0pYCxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tOZXR3b3JrKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSBnZXRFZmZlY3RpdmVWYWx1ZShcImJhc2VVcmxcIik7XG4gICAgY29uc3Qgc3RhcnRUaW1lID0gRGF0ZS5ub3coKTtcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke2Jhc2VVcmx9L2hlYWx0aGAsIHtcbiAgICAgICAgbWV0aG9kOiBcIkdFVFwiLFxuICAgICAgICBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoMTAwMDApLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IGxhdGVuY3kgPSBEYXRlLm5vdygpIC0gc3RhcnRUaW1lO1xuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiTmV0d29ya1wiLFxuICAgICAgICAgIHN0YXR1czogXCJva1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBDb25uZWN0ZWQgdG8gJHtuZXcgVVJMKGJhc2VVcmwpLmhvc3R9ICgke2xhdGVuY3l9bXMpYCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgICAgbmFtZTogXCJOZXR3b3JrXCIsXG4gICAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgICBtZXNzYWdlOiBgQVBJIHJldHVybmVkICR7cmVzcG9uc2Uuc3RhdHVzfWAsXG4gICAgICAgICAgZGV0YWlsczogYEVuZHBvaW50OiAke2Jhc2VVcmx9L2hlYWx0aGAsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiTmV0d29ya1wiLFxuICAgICAgICBzdGF0dXM6IFwiZXJyb3JcIixcbiAgICAgICAgbWVzc2FnZTogXCJDYW5ub3QgcmVhY2ggQVBJXCIsXG4gICAgICAgIGRldGFpbHM6IGVyci5tZXNzYWdlIHx8IFwiQ2hlY2sgeW91ciBpbnRlcm5ldCBjb25uZWN0aW9uXCIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrQ2xvY2tTa2V3KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGJhc2VVcmwgPSBnZXRFZmZlY3RpdmVWYWx1ZShcImJhc2VVcmxcIik7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtiYXNlVXJsfS9oZWFsdGhgLCB7XG4gICAgICAgIG1ldGhvZDogXCJHRVRcIixcbiAgICAgICAgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KDUwMDApLFxuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHNlcnZlckRhdGUgPSByZXNwb25zZS5oZWFkZXJzLmdldChcImRhdGVcIik7XG4gICAgICBpZiAoIXNlcnZlckRhdGUpIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiQ2xvY2tcIixcbiAgICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IFwiQ291bGQgbm90IHZlcmlmeSAobm8gc2VydmVyIGRhdGUgaGVhZGVyKVwiLFxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzZXJ2ZXJUaW1lID0gbmV3IERhdGUoc2VydmVyRGF0ZSkuZ2V0VGltZSgpO1xuICAgICAgY29uc3QgbG9jYWxUaW1lID0gRGF0ZS5ub3coKTtcbiAgICAgIGNvbnN0IHNrZXdTZWNvbmRzID0gTWF0aC5hYnMoc2VydmVyVGltZSAtIGxvY2FsVGltZSkgLyAxMDAwO1xuXG4gICAgICBpZiAoc2tld1NlY29uZHMgPiAzMDApIHtcbiAgICAgICAgLy8gNSBtaW51dGVzXG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIkNsb2NrXCIsXG4gICAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICAgICAgbWVzc2FnZTogYFNpZ25pZmljYW50IGRyaWZ0IGRldGVjdGVkICgke3NrZXdTZWNvbmRzLnRvRml4ZWQoMCl9cylgLFxuICAgICAgICAgIGRldGFpbHM6IFwiVGhpcyBtYXkgY2F1c2Ugd2ViaG9vayBzaWduYXR1cmUgdmVyaWZpY2F0aW9uIHRvIGZhaWxcIixcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2UgaWYgKHNrZXdTZWNvbmRzID4gMzApIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiQ2xvY2tcIixcbiAgICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBNaW5vciBkcmlmdCBkZXRlY3RlZCAoJHtza2V3U2Vjb25kcy50b0ZpeGVkKDEpfXMpYCxcbiAgICAgICAgfSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgICAgbmFtZTogXCJDbG9ja1wiLFxuICAgICAgICAgIHN0YXR1czogXCJva1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBTeW5jaHJvbml6ZWQgKGRyaWZ0OiAke3NrZXdTZWNvbmRzLnRvRml4ZWQoMSl9cylgLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9IGNhdGNoIHtcbiAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgbmFtZTogXCJDbG9ja1wiLFxuICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBcIkNvdWxkIG5vdCB2ZXJpZnkgKG5ldHdvcmsgZXJyb3IpXCIsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrQ3JlZGl0cygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWlzQXV0aGVudGljYXRlZCgpKSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQ3JlZGl0c1wiLFxuICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBcIkNhbm5vdCBjaGVjayAobm90IGF1dGhlbnRpY2F0ZWQpXCIsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBiYXNlVXJsID0gZ2V0RWZmZWN0aXZlVmFsdWUoXCJiYXNlVXJsXCIpO1xuICAgIGNvbnN0IHRva2VuID0gZ2V0QXV0aFRva2VuKCk7XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtiYXNlVXJsfS9hcGkvdjEvYWNjb3VudC9jcmVkaXRzYCwge1xuICAgICAgICBtZXRob2Q6IFwiR0VUXCIsXG4gICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCxcbiAgICAgICAgICBcIkNvbnRlbnQtVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICAgICAgfSxcbiAgICAgICAgc2lnbmFsOiBBYm9ydFNpZ25hbC50aW1lb3V0KDEwMDAwKSxcbiAgICAgIH0pO1xuXG4gICAgICBpZiAocmVzcG9uc2Uub2spIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IChhd2FpdCByZXNwb25zZS5qc29uKCkpIGFzIHsgYmFsYW5jZT86IHN0cmluZyB9O1xuICAgICAgICBjb25zdCBiYWxhbmNlID0gcGFyc2VGbG9hdChkYXRhLmJhbGFuY2UgfHwgXCIwXCIpO1xuXG4gICAgICAgIGlmIChiYWxhbmNlID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgICAgbmFtZTogXCJDcmVkaXRzXCIsXG4gICAgICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICAgICAgbWVzc2FnZTogXCIwIGF2YWlsYWJsZVwiLFxuICAgICAgICAgICAgZGV0YWlsczogXCJBZGQgY3JlZGl0cyB0byBzZW5kIG1lc3NhZ2VzXCIsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgICAgbmFtZTogXCJDcmVkaXRzXCIsXG4gICAgICAgICAgICBzdGF0dXM6IFwib2tcIixcbiAgICAgICAgICAgIG1lc3NhZ2U6IGAke2JhbGFuY2UudG9Mb2NhbGVTdHJpbmcoKX0gYXZhaWxhYmxlYCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMSkge1xuICAgICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgICAgbmFtZTogXCJDcmVkaXRzXCIsXG4gICAgICAgICAgc3RhdHVzOiBcImVycm9yXCIsXG4gICAgICAgICAgbWVzc2FnZTogXCJBUEkga2V5IGludmFsaWQgb3IgZXhwaXJlZFwiLFxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgICAgICBuYW1lOiBcIkNyZWRpdHNcIixcbiAgICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICAgIG1lc3NhZ2U6IGBDb3VsZCBub3QgZmV0Y2ggKEhUVFAgJHtyZXNwb25zZS5zdGF0dXN9KWAsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVycjogYW55KSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQ3JlZGl0c1wiLFxuICAgICAgICBzdGF0dXM6IFwid2FybmluZ1wiLFxuICAgICAgICBtZXNzYWdlOiBcIkNvdWxkIG5vdCBmZXRjaFwiLFxuICAgICAgICBkZXRhaWxzOiBlcnIubWVzc2FnZSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2hlY2tFbnZpcm9ubWVudCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBjaGVja3M6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAoaXNDSSgpKSB7XG4gICAgICBjaGVja3MucHVzaChcIkNJIG1vZGUgZGV0ZWN0ZWRcIik7XG4gICAgfVxuXG4gICAgaWYgKGlzQ29sb3JEaXNhYmxlZCgpKSB7XG4gICAgICBjaGVja3MucHVzaChcImNvbG9yIGRpc2FibGVkXCIpO1xuICAgIH1cblxuICAgIGlmIChwcm9jZXNzLmVudi5TRU5ETFlfQVBJX0tFWSkge1xuICAgICAgY2hlY2tzLnB1c2goXCJ1c2luZyBTRU5ETFlfQVBJX0tFWSBlbnYgdmFyXCIpO1xuICAgIH1cblxuICAgIGlmIChwcm9jZXNzLmVudi5TRU5ETFlfQkFTRV9VUkwpIHtcbiAgICAgIGNoZWNrcy5wdXNoKGBjdXN0b20gYmFzZSBVUkw6ICR7cHJvY2Vzcy5lbnYuU0VORExZX0JBU0VfVVJMfWApO1xuICAgIH1cblxuICAgIHRoaXMuYWRkUmVzdWx0KHtcbiAgICAgIG5hbWU6IFwiRW52aXJvbm1lbnRcIixcbiAgICAgIHN0YXR1czogXCJva1wiLFxuICAgICAgbWVzc2FnZTogY2hlY2tzLmxlbmd0aCA+IDAgPyBjaGVja3Muam9pbihcIiwgXCIpIDogXCJTdGFuZGFyZCB0ZXJtaW5hbCBtb2RlXCIsXG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGNoZWNrQ29uZmlnKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmZpZ1BhdGggPSBnZXRDb25maWdQYXRoKCk7XG4gICAgY29uc3QgY29uZmlnRGlyID0gZ2V0Q29uZmlnRGlyKCk7XG5cbiAgICAvLyBDaGVjayBpZiBjb25maWcgZGlyZWN0b3J5IGV4aXN0c1xuICAgIGlmICghZnMuZXhpc3RzU3luYyhjb25maWdEaXIpKSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQ29uZmlnXCIsXG4gICAgICAgIHN0YXR1czogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFwiQ29uZmlnIGRpcmVjdG9yeSBub3QgZm91bmRcIixcbiAgICAgICAgZGV0YWlsczogYEV4cGVjdGVkOiAke2NvbmZpZ0Rpcn1gLFxuICAgICAgfSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgaWYgY29uZmlnIGZpbGUgZXhpc3RzXG4gICAgaWYgKCFmcy5leGlzdHNTeW5jKGNvbmZpZ1BhdGgpKSB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQ29uZmlnXCIsXG4gICAgICAgIHN0YXR1czogXCJ3YXJuaW5nXCIsXG4gICAgICAgIG1lc3NhZ2U6IFwiQ29uZmlnIGZpbGUgbm90IGZvdW5kICh1c2luZyBkZWZhdWx0cylcIixcbiAgICAgICAgZGV0YWlsczogY29uZmlnUGF0aCxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIENoZWNrIGZpbGUgcGVybWlzc2lvbnMgKHNob3VsZCBiZSByZWFkYWJsZSBvbmx5IGJ5IG93bmVyKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCBzdGF0cyA9IGZzLnN0YXRTeW5jKGNvbmZpZ1BhdGgpO1xuICAgICAgY29uc3QgbW9kZSA9IHN0YXRzLm1vZGUgJiAwbzc3NztcblxuICAgICAgaWYgKG1vZGUgJiAwbzA3Nykge1xuICAgICAgICAvLyBHcm91cCBvciBvdGhlcnMgaGF2ZSBhY2Nlc3NcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiQ29uZmlnXCIsXG4gICAgICAgICAgc3RhdHVzOiBcIndhcm5pbmdcIixcbiAgICAgICAgICBtZXNzYWdlOiBcIkNvbmZpZyBmaWxlIGhhcyBsb29zZSBwZXJtaXNzaW9uc1wiLFxuICAgICAgICAgIGRldGFpbHM6IGAke2NvbmZpZ1BhdGh9IChtb2RlOiAke21vZGUudG9TdHJpbmcoOCl9KWAsXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5hZGRSZXN1bHQoe1xuICAgICAgICAgIG5hbWU6IFwiQ29uZmlnXCIsXG4gICAgICAgICAgc3RhdHVzOiBcIm9rXCIsXG4gICAgICAgICAgbWVzc2FnZTogY29uZmlnUGF0aCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfSBjYXRjaCB7XG4gICAgICB0aGlzLmFkZFJlc3VsdCh7XG4gICAgICAgIG5hbWU6IFwiQ29uZmlnXCIsXG4gICAgICAgIHN0YXR1czogXCJva1wiLFxuICAgICAgICBtZXNzYWdlOiBjb25maWdQYXRoLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZVJlcG9ydCgpOiBEb2N0b3JSZXBvcnQge1xuICAgIGNvbnN0IHBhc3NlZCA9IHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc3RhdHVzID09PSBcIm9rXCIpLmxlbmd0aDtcbiAgICBjb25zdCB3YXJuaW5ncyA9IHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc3RhdHVzID09PSBcIndhcm5pbmdcIikubGVuZ3RoO1xuICAgIGNvbnN0IGVycm9ycyA9IHRoaXMucmVzdWx0cy5maWx0ZXIoKHIpID0+IHIuc3RhdHVzID09PSBcImVycm9yXCIpLmxlbmd0aDtcblxuICAgIHJldHVybiB7XG4gICAgICB0aW1lc3RhbXA6IG5ldyBEYXRlKCkudG9JU09TdHJpbmcoKSxcbiAgICAgIHZlcnNpb246IFwiMS4wLjBcIixcbiAgICAgIHJlc3VsdHM6IHRoaXMucmVzdWx0cyxcbiAgICAgIHN1bW1hcnk6IHtcbiAgICAgICAgcGFzc2VkLFxuICAgICAgICB3YXJuaW5ncyxcbiAgICAgICAgZXJyb3JzLFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -11,7 +11,8 @@ export default class KeysList extends AuthenticatedCommand {
|
|
|
11
11
|
...AuthenticatedCommand.baseFlags,
|
|
12
12
|
};
|
|
13
13
|
async run() {
|
|
14
|
-
const
|
|
14
|
+
const response = await apiClient.get("/api/v1/account/keys");
|
|
15
|
+
const keys = response.keys;
|
|
15
16
|
if (isJsonMode()) {
|
|
16
17
|
json(keys);
|
|
17
18
|
return;
|
|
@@ -31,15 +32,15 @@ export default class KeysList extends AuthenticatedCommand {
|
|
|
31
32
|
},
|
|
32
33
|
{
|
|
33
34
|
header: "Key ID",
|
|
34
|
-
key: "
|
|
35
|
+
key: "id",
|
|
35
36
|
width: 18,
|
|
36
|
-
formatter: (v) => colors.dim(String(v)),
|
|
37
|
+
formatter: (v) => colors.dim(String(v).slice(0, 16)),
|
|
37
38
|
},
|
|
38
39
|
{
|
|
39
40
|
header: "Prefix",
|
|
40
|
-
key: "
|
|
41
|
+
key: "prefix",
|
|
41
42
|
width: 16,
|
|
42
|
-
formatter: (v) => colors.code(String(v)
|
|
43
|
+
formatter: (v) => colors.code(String(v)),
|
|
43
44
|
},
|
|
44
45
|
{
|
|
45
46
|
header: "Type",
|
|
@@ -57,9 +58,9 @@ export default class KeysList extends AuthenticatedCommand {
|
|
|
57
58
|
header: "Last Used",
|
|
58
59
|
key: "lastUsedAt",
|
|
59
60
|
width: 12,
|
|
60
|
-
formatter: (v) =>
|
|
61
|
+
formatter: (v) => v ? formatRelativeTime(String(v)) : colors.dim("never"),
|
|
61
62
|
},
|
|
62
63
|
]);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
66
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21tYW5kcy9rZXlzL2xpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BELE9BQU8sRUFDTCxLQUFLLEVBQ0wsSUFBSSxFQUNKLElBQUksRUFFSixrQkFBa0IsRUFDbEIsTUFBTSxFQUNOLFVBQVUsR0FDWCxNQUFNLHFCQUFxQixDQUFDO0FBa0I3QixNQUFNLENBQUMsT0FBTyxPQUFPLFFBQVMsU0FBUSxvQkFBb0I7SUFDeEQsTUFBTSxDQUFDLFdBQVcsR0FBRyxvQkFBb0IsQ0FBQztJQUUxQyxNQUFNLENBQUMsUUFBUSxHQUFHO1FBQ2hCLDZCQUE2QjtRQUM3QixvQ0FBb0M7S0FDckMsQ0FBQztJQUVGLE1BQU0sQ0FBQyxLQUFLLEdBQUc7UUFDYixHQUFHLG9CQUFvQixDQUFDLFNBQVM7S0FDbEMsQ0FBQztJQUVGLEtBQUssQ0FBQyxHQUFHO1FBQ1AsTUFBTSxRQUFRLEdBQUcsTUFBTSxTQUFTLENBQUMsR0FBRyxDQUFlLHNCQUFzQixDQUFDLENBQUM7UUFDM0UsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQztRQUUzQixJQUFJLFVBQVUsRUFBRSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ1gsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7WUFDMUIsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDO1lBQ2QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsTUFBTSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0RSxPQUFPO1FBQ1QsQ0FBQztRQUVELE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztRQUVkLEtBQUssQ0FBQyxJQUFJLEVBQUU7WUFDVjtnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxHQUFHLEVBQUUsTUFBTTtnQkFDWCxLQUFLLEVBQUUsRUFBRTthQUNWO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLEdBQUcsRUFBRSxJQUFJO2dCQUNULEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQzthQUNyRDtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixHQUFHLEVBQUUsUUFBUTtnQkFDYixLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ3pDO1lBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsR0FBRyxFQUFFLE1BQU07Z0JBQ1gsS0FBSyxFQUFFLENBQUM7Z0JBQ1IsU0FBUyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDZixDQUFDLEtBQUssTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQzthQUNqRTtZQUNEO2dCQUNFLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixHQUFHLEVBQUUsVUFBVTtnQkFDZixLQUFLLEVBQUUsRUFBRTtnQkFDVCxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNmLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7YUFDekQ7WUFDRDtnQkFDRSxNQUFNLEVBQUUsV0FBVztnQkFDbkIsR0FBRyxFQUFFLFlBQVk7Z0JBQ2pCLEtBQUssRUFBRSxFQUFFO2dCQUNULFNBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2YsQ0FBQyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUM7YUFDMUQ7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXV0aGVudGljYXRlZENvbW1hbmQgfSBmcm9tIFwiLi4vLi4vbGliL2Jhc2UtY29tbWFuZC5qc1wiO1xuaW1wb3J0IHsgYXBpQ2xpZW50IH0gZnJvbSBcIi4uLy4uL2xpYi9hcGktY2xpZW50LmpzXCI7XG5pbXBvcnQge1xuICB0YWJsZSxcbiAganNvbixcbiAgaW5mbyxcbiAgZm9ybWF0U3RhdHVzLFxuICBmb3JtYXRSZWxhdGl2ZVRpbWUsXG4gIGNvbG9ycyxcbiAgaXNKc29uTW9kZSxcbn0gZnJvbSBcIi4uLy4uL2xpYi9vdXRwdXQuanNcIjtcblxuaW50ZXJmYWNlIEFwaUtleSB7XG4gIGlkOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcHJlZml4OiBzdHJpbmc7XG4gIHR5cGU6IFwidGVzdFwiIHwgXCJsaXZlXCI7XG4gIHNjb3Blczogc3RyaW5nW107XG4gIGlzQWN0aXZlOiBib29sZWFuO1xuICBsYXN0VXNlZEF0Pzogc3RyaW5nO1xuICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgZXhwaXJlc0F0Pzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgS2V5c1Jlc3BvbnNlIHtcbiAga2V5czogQXBpS2V5W107XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEtleXNMaXN0IGV4dGVuZHMgQXV0aGVudGljYXRlZENvbW1hbmQge1xuICBzdGF0aWMgZGVzY3JpcHRpb24gPSBcIkxpc3QgeW91ciBBUEkga2V5c1wiO1xuXG4gIHN0YXRpYyBleGFtcGxlcyA9IFtcbiAgICBcIjwlPSBjb25maWcuYmluICU+IGtleXMgbGlzdFwiLFxuICAgIFwiPCU9IGNvbmZpZy5iaW4gJT4ga2V5cyBsaXN0IC0tanNvblwiLFxuICBdO1xuXG4gIHN0YXRpYyBmbGFncyA9IHtcbiAgICAuLi5BdXRoZW50aWNhdGVkQ29tbWFuZC5iYXNlRmxhZ3MsXG4gIH07XG5cbiAgYXN5bmMgcnVuKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXBpQ2xpZW50LmdldDxLZXlzUmVzcG9uc2U+KFwiL2FwaS92MS9hY2NvdW50L2tleXNcIik7XG4gICAgY29uc3Qga2V5cyA9IHJlc3BvbnNlLmtleXM7XG5cbiAgICBpZiAoaXNKc29uTW9kZSgpKSB7XG4gICAgICBqc29uKGtleXMpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChrZXlzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaW5mbyhcIk5vIEFQSSBrZXlzIGZvdW5kXCIpO1xuICAgICAgY29uc29sZS5sb2coKTtcbiAgICAgIGNvbnNvbGUubG9nKGAgIENyZWF0ZSBvbmUgd2l0aCAke2NvbG9ycy5jb2RlKFwic2VuZGx5IGtleXMgY3JlYXRlXCIpfWApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnNvbGUubG9nKCk7XG5cbiAgICB0YWJsZShrZXlzLCBbXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJOYW1lXCIsXG4gICAgICAgIGtleTogXCJuYW1lXCIsXG4gICAgICAgIHdpZHRoOiAyMCxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJLZXkgSURcIixcbiAgICAgICAga2V5OiBcImlkXCIsXG4gICAgICAgIHdpZHRoOiAxOCxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT4gY29sb3JzLmRpbShTdHJpbmcodikuc2xpY2UoMCwgMTYpKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJQcmVmaXhcIixcbiAgICAgICAga2V5OiBcInByZWZpeFwiLFxuICAgICAgICB3aWR0aDogMTYsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+IGNvbG9ycy5jb2RlKFN0cmluZyh2KSksXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBoZWFkZXI6IFwiVHlwZVwiLFxuICAgICAgICBrZXk6IFwidHlwZVwiLFxuICAgICAgICB3aWR0aDogOCxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT5cbiAgICAgICAgICB2ID09PSBcInRlc3RcIiA/IGNvbG9ycy53YXJuaW5nKFwidGVzdFwiKSA6IGNvbG9ycy5zdWNjZXNzKFwibGl2ZVwiKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGhlYWRlcjogXCJTdGF0dXNcIixcbiAgICAgICAga2V5OiBcImlzQWN0aXZlXCIsXG4gICAgICAgIHdpZHRoOiAxMCxcbiAgICAgICAgZm9ybWF0dGVyOiAodikgPT5cbiAgICAgICAgICB2ID8gY29sb3JzLnN1Y2Nlc3MoXCJhY3RpdmVcIikgOiBjb2xvcnMuZXJyb3IoXCJyZXZva2VkXCIpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaGVhZGVyOiBcIkxhc3QgVXNlZFwiLFxuICAgICAgICBrZXk6IFwibGFzdFVzZWRBdFwiLFxuICAgICAgICB3aWR0aDogMTIsXG4gICAgICAgIGZvcm1hdHRlcjogKHYpID0+XG4gICAgICAgICAgdiA/IGZvcm1hdFJlbGF0aXZlVGltZShTdHJpbmcodikpIDogY29sb3JzLmRpbShcIm5ldmVyXCIpLFxuICAgICAgfSxcbiAgICBdKTtcbiAgfVxufVxuIl19
|
package/oclif.manifest.json
CHANGED