@edkstack/files 0.1.2 → 0.1.4
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/backend/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PgDatabase as PgDatabase2 } from "drizzle-orm/pg-core";
|
|
2
2
|
type Visibility = "private" | "public";
|
|
3
3
|
interface PurposePolicy {
|
|
4
4
|
maxSize?: number;
|
|
@@ -7,7 +7,7 @@ interface PurposePolicy {
|
|
|
7
7
|
}
|
|
8
8
|
import { S3Client as S3Client2 } from "bun";
|
|
9
9
|
interface FilesBackendOptions<TPurposes extends string> {
|
|
10
|
-
db:
|
|
10
|
+
db: PgDatabase2<any>;
|
|
11
11
|
s3Client: S3Client2;
|
|
12
12
|
policies: Record<TPurposes, PurposePolicy>;
|
|
13
13
|
publicBaseUrl: string;
|
package/dist/client/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactNode } from "react";
|
|
2
2
|
import { Treaty } from "@elysiajs/eden";
|
|
3
|
-
import {
|
|
3
|
+
import { PgDatabase as PgDatabase2 } from "drizzle-orm/pg-core";
|
|
4
4
|
type Visibility = "private" | "public";
|
|
5
5
|
interface PurposePolicy {
|
|
6
6
|
maxSize?: number;
|
|
@@ -9,7 +9,7 @@ interface PurposePolicy {
|
|
|
9
9
|
}
|
|
10
10
|
import { S3Client as S3Client2 } from "bun";
|
|
11
11
|
interface FilesBackendOptions<TPurposes extends string> {
|
|
12
|
-
db:
|
|
12
|
+
db: PgDatabase2<any>;
|
|
13
13
|
s3Client: S3Client2;
|
|
14
14
|
policies: Record<TPurposes, PurposePolicy>;
|
|
15
15
|
publicBaseUrl: string;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { PgDatabase as PgDatabase2 } from "drizzle-orm/pg-core";
|
|
2
2
|
type Visibility = "private" | "public";
|
|
3
3
|
interface PurposePolicy {
|
|
4
4
|
maxSize?: number;
|
|
@@ -7,7 +7,7 @@ interface PurposePolicy {
|
|
|
7
7
|
}
|
|
8
8
|
import { S3Client as S3Client2 } from "bun";
|
|
9
9
|
interface FilesBackendOptions<TPurposes extends string> {
|
|
10
|
-
db:
|
|
10
|
+
db: PgDatabase2<any>;
|
|
11
11
|
s3Client: S3Client2;
|
|
12
12
|
policies: Record<TPurposes, PurposePolicy>;
|
|
13
13
|
publicBaseUrl: string;
|
|
@@ -199,4 +199,4 @@ function createFilesBackend(options) {
|
|
|
199
199
|
export { createFilesBackend };
|
|
200
200
|
|
|
201
201
|
//# debugId=0CF1199D7469E2DE64756E2164756E21
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjXFxiYWNrZW5kXFxyb3V0ZXMudHMiLCAic3JjXFxiYWNrZW5kXFxzY2hlbWFzLnRzIiwgInNyY1xcYmFja2VuZFxcc2VydmljZXMudHMiLCAic3JjXFxiYWNrZW5kXFxiYWNrZW5kLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IEVseXNpYSwgdCB9IGZyb20gXCJlbHlzaWFcIjtcclxuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL3NlcnZpY2VzXCI7XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpYmlsaXR5ID0gXCJwcml2YXRlXCIgfCBcInB1YmxpY1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQdXJwb3NlUG9saWN5IHtcclxuICBtYXhTaXplPzogbnVtYmVyO1xyXG4gIGFsbG93ZWRNaW1lVHlwZXM/OiBzdHJpbmdbXTtcclxuICB2aXNpYmlsaXR5PzogVmlzaWJpbGl0eTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJvdXRlczxjb25zdCBUUHVycG9zZSBleHRlbmRzIHN0cmluZz4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgc2VydmljZXM6IFNlcnZpY2VzO1xyXG4gICAgcG9saWNpZXM6IFJlY29yZDxUUHVycG9zZSwgUHVycG9zZVBvbGljeT5cclxuICB9XHJcbikge1xyXG4gIFxyXG4gIGNvbnN0IHsgXHJcbiAgICBzZXJ2aWNlcywgXHJcbiAgICBwb2xpY2llcyxcclxuICB9ID0gb3B0aW9ucztcclxuXHJcbiAgcmV0dXJuIG5ldyBFbHlzaWEoe1xyXG4gICAgcHJlZml4OiBcIi9hcGlcIixcclxuICB9KS5wb3N0KFwiL2ZpbGVzL3VwbG9hZFwiLCBhc3luYyAoeyBzdGF0dXMsIGJvZHkgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaWxlLCBwdXJwb3NlIH0gPSBib2R5O1xyXG4gICAgY29uc3QgcG9saWN5ID0gcG9saWNpZXNbcHVycG9zZSBhcyBUUHVycG9zZV07XHJcbiAgICBpZiAoIXBvbGljeSkge1xyXG4gICAgICByZXR1cm4gc3RhdHVzKDQwMCwge1xyXG4gICAgICAgIG1lc3NhZ2U6IFwiUHVycG9zZSBub3Qgc3VwcG9ydGVkXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHBvbGljeS5tYXhTaXplICE9PSB1bmRlZmluZWQgJiYgZmlsZS5zaXplID4gcG9saWN5Lm1heFNpemUpIHtcclxuICAgICAgcmV0dXJuIHN0YXR1cyg0MDAsIHtcclxuICAgICAgICBtZXNzYWdlOiBcIkZpbGUgc2l6ZSBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgc2l6ZVwiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChwb2xpY3kuYWxsb3dlZE1pbWVUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwb2xpY3kuYWxsb3dlZE1pbWVUeXBlcy5pbmNsdWRlcyhmaWxlLnR5cGUpKSB7XHJcbiAgICAgIHJldHVybiBzdGF0dXMoNDAwLCB7XHJcbiAgICAgICAgbWVzc2FnZTogXCJGaWxlIHR5cGUgbm90IGFsbG93ZWRcIixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cGxvYWRlZCA9IGF3YWl0IHNlcnZpY2VzLnVwbG9hZEZpbGUoeyBcclxuICAgICAgZmlsZSwgXHJcbiAgICAgIHB1cnBvc2UsIFxyXG4gICAgICB2aXNpYmlsaXR5OiBwb2xpY3kudmlzaWJpbGl0eSA/PyBcInByaXZhdGVcIiBcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHN0YXR1cygyMDAsIHtcclxuICAgICAgaWQ6IHVwbG9hZGVkLmlkLFxyXG4gICAgICBuYW1lOiB1cGxvYWRlZC5uYW1lLFxyXG4gICAgICBrZXk6IHVwbG9hZGVkLmtleSxcclxuICAgICAgc2l6ZTogdXBsb2FkZWQuc2l6ZSxcclxuICAgICAgbWltZVR5cGU6IHVwbG9hZGVkLm1pbWVUeXBlLFxyXG4gICAgICBjcmVhdGVkQXQ6IHVwbG9hZGVkLmNyZWF0ZWRBdCxcclxuICAgIH0pO1xyXG4gIH0sIHtcclxuICAgIGJvZHk6IFVwbG9hZFJlcXVlc3QoT2JqZWN0LmtleXMocG9saWNpZXMpIGFzIFRQdXJwb3NlW10pLFxyXG4gICAgcmVzcG9uc2U6IHtcclxuICAgICAgMjAwOiBGaWxlUmVzcG9uc2UsXHJcbiAgICAgIDQwMDogRXJyb3JSZXNwb25zZSxcclxuICAgICAgNTAwOiBFcnJvclJlc3BvbnNlLFxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBVcGxvYWRSZXF1ZXN0PGNvbnN0IFRQdXJwb3NlIGV4dGVuZHMgc3RyaW5nPihcclxuICBwdXJwb3NlczogVFB1cnBvc2VbXVxyXG4pIHtcclxuICByZXR1cm4gdC5PYmplY3Qoe1xyXG4gICAgZmlsZTogdC5GaWxlKCksXHJcbiAgICBwdXJwb3NlOiB0LlVuaW9uKFxyXG4gICAgICBwdXJwb3Nlcy5tYXAoKHApID0+IHQuTGl0ZXJhbChwKSkgYXMgW1xyXG4gICAgICAgIFJldHVyblR5cGU8dHlwZW9mIHQuTGl0ZXJhbDxUUHVycG9zZT4+LFxyXG4gICAgICAgIC4uLlJldHVyblR5cGU8dHlwZW9mIHQuTGl0ZXJhbDxUUHVycG9zZT4+W10sXHJcbiAgICAgIF1cclxuICAgIClcclxuICB9KTtcclxufVxyXG5cclxuY29uc3QgRXJyb3JSZXNwb25zZSA9IHQuT2JqZWN0KHtcclxuICBtZXNzYWdlOiB0LlN0cmluZygpLFxyXG59KTtcclxuXHJcbmNvbnN0IEZpbGVSZXNwb25zZSA9IHQuT2JqZWN0KHtcclxuICBpZDogdC5TdHJpbmcoKSxcclxuICBuYW1lOiB0Lk51bGxhYmxlKHQuU3RyaW5nKCkpLFxyXG4gIGtleTogdC5TdHJpbmcoKSxcclxuICBzaXplOiB0Lk51bWJlcigpLFxyXG4gIG1pbWVUeXBlOiB0LlN0cmluZygpLFxyXG4gIGNyZWF0ZWRBdDogdC5EYXRlKCksXHJcbn0pOyIsCiAgICAiaW1wb3J0IHsgbmFub2lkIH0gZnJvbSBcIm5hbm9pZFwiO1xyXG5pbXBvcnQgeyBpbmRleCwgaW50ZWdlciwgcGdUYWJsZSwgdGV4dCwgdGltZXN0YW1wLCBwZ0VudW0gfSBmcm9tIFwiZHJpenpsZS1vcm0vcGctY29yZVwiO1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFsbFNjaGVtYXMgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTY2hlbWFzPjtcclxuZXhwb3J0IHR5cGUgRmlsZVNjaGVtYSA9IEFsbFNjaGVtYXNbXCJmaWxlc1wiXTtcclxuZXhwb3J0IHR5cGUgRmlsZVNlbGVjdCA9IEZpbGVTY2hlbWFbXCIkaW5mZXJTZWxlY3RcIl07XHJcbmV4cG9ydCB0eXBlIEZpbGVJbnNlcnQgPSBGaWxlU2NoZW1hW1wiJGluZmVySW5zZXJ0XCJdO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNjaGVtYXMoKSB7XHJcblxyXG4gIGNvbnN0IGZpbGVzID0gcGdUYWJsZShcImZpbGVzXCIsIHtcclxuICAgIGlkOiB0ZXh0KFwiaWRcIikucHJpbWFyeUtleSgpLiRkZWZhdWx0Rm4oKCkgPT4gYGZpbGVfJHtuYW5vaWQoKX1gKSxcclxuICAgIHB1cnBvc2U6IHRleHQoXCJwdXJwb3NlXCIpLm5vdE51bGwoKSxcclxuICAgIG5hbWU6IHRleHQoXCJuYW1lXCIpLFxyXG4gICAga2V5OiB0ZXh0KFwia2V5XCIpLm5vdE51bGwoKS51bmlxdWUoKSxcclxuICAgIHNpemU6IGludGVnZXIoXCJzaXplXCIpLm5vdE51bGwoKSxcclxuICAgIG1pbWVUeXBlOiB0ZXh0KFwibWltZV90eXBlXCIpLm5vdE51bGwoKS5kZWZhdWx0KFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpLFxyXG4gICAgcmVmQ291bnQ6IGludGVnZXIoXCJyZWZfY291bnRcIikubm90TnVsbCgpLmRlZmF1bHQoMCksXHJcbiAgICB2aXNpYmlsaXR5OiBwZ0VudW0oXCJ2aXNpYmlsaXR5XCIsIFtcInByaXZhdGVcIiwgXCJwdWJsaWNcIl0pKCkubm90TnVsbCgpLmRlZmF1bHQoXCJwcml2YXRlXCIpLFxyXG4gICAgY3JlYXRlZEF0OiB0aW1lc3RhbXAoXCJjcmVhdGVkX2F0XCIpLm5vdE51bGwoKS5kZWZhdWx0Tm93KCksXHJcbiAgICB1cGRhdGVkQXQ6IHRpbWVzdGFtcChcInVwZGF0ZWRfYXRcIikubm90TnVsbCgpLmRlZmF1bHROb3coKSxcclxuICB9LCAodGFibGUpID0+IFtcclxuICAgIGluZGV4KFwiZmlsZXNfa2V5X2lkeFwiKS5vbih0YWJsZS5rZXkpLFxyXG4gICAgaW5kZXgoXCJmaWxlc19jcmVhdGVkX2F0X2lkeFwiKS5vbih0YWJsZS5jcmVhdGVkQXQpLFxyXG4gIF0pO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgZmlsZXMsXHJcbiAgfVxyXG59IiwKICAgICJpbXBvcnQgdHlwZSB7IFMzQ2xpZW50LCBTM0ZpbGUgfSBmcm9tIFwiYnVuXCI7XHJcbmltcG9ydCB7IG5hbm9pZCB9IGZyb20gXCJuYW5vaWRcIjtcclxuaW1wb3J0IHsgZXh0bmFtZSB9IGZyb20gXCJwYXRoXCI7XHJcbmltcG9ydCB7IGVxLCBzcWwsIGx0LCBhbmQgfSBmcm9tIFwiZHJpenpsZS1vcm1cIjtcclxuaW1wb3J0IHR5cGUgeyBCdW5TUUxEYXRhYmFzZSB9IGZyb20gXCJkcml6emxlLW9ybS9idW4tc3FsXCI7XHJcbmltcG9ydCB0eXBlIHsgQWxsU2NoZW1hcywgRmlsZVNlbGVjdCB9IGZyb20gXCIuL3NjaGVtYXNcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFNlcnZpY2VzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlU2VydmljZXM+O1xyXG5cclxudHlwZSBCeUlkID0geyBpZDogc3RyaW5nIH07XHJcbnR5cGUgQnlLZXkgPSB7IGtleTogc3RyaW5nIH07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VydmljZXMoXHJcbiAgb3B0aW9uczoge1xyXG4gICAgZGI6IEJ1blNRTERhdGFiYXNlO1xyXG4gICAgc2NoZW1hczogQWxsU2NoZW1hcztcclxuICAgIHMzQ2xpZW50OiBTM0NsaWVudDtcclxuICAgIHB1YmxpY0Jhc2VVcmw6IHN0cmluZztcclxuICAgIGtleVByZWZpeD86IHN0cmluZztcclxuICAgIHByZXNpZ25FeHBpcmVzSW4/OiBudW1iZXI7XHJcbiAgfVxyXG4pIHtcclxuICBjb25zdCB7IFxyXG4gICAgZGIsIFxyXG4gICAgc2NoZW1hcywgXHJcbiAgICBzM0NsaWVudCwgXHJcbiAgICBwdWJsaWNCYXNlVXJsLCBcclxuICAgIGtleVByZWZpeCA9IFwiZmlsZXNcIixcclxuICAgIHByZXNpZ25FeHBpcmVzSW4gPSAzNjAwXHJcbiAgfSA9IG9wdGlvbnM7XHJcbiAgXHJcbiAgcmV0dXJuIHtcclxuXHJcbiAgICBzM0NsaWVudCxcclxuXHJcbiAgICBhc3luYyBnZXRGaWxlKHBhcmFtczogQnlJZCk6IFByb21pc2U8RmlsZVNlbGVjdD4ge1xyXG4gICAgICBjb25zdCBbZm91bmRdID0gYXdhaXQgZGJcclxuICAgICAgICAuc2VsZWN0KClcclxuICAgICAgICAuZnJvbShzY2hlbWFzLmZpbGVzKVxyXG4gICAgICAgIC53aGVyZShlcShzY2hlbWFzLmZpbGVzLmlkLCBwYXJhbXMuaWQpKVxyXG4gICAgICAgIC5saW1pdCgxKTtcclxuICAgICAgaWYgKCFmb3VuZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBmb3VuZDtcclxuICAgIH0sXHJcblxyXG4gICAgYXN5bmMgZ2V0VXJsKHBhcmFtczogQnlJZCk6IFByb21pc2U8c3RyaW5nPiB7XHJcbiAgICAgIGNvbnN0IFtmb3VuZF0gPSBhd2FpdCBkYlxyXG4gICAgICAgIC5zZWxlY3QoeyBcclxuICAgICAgICAgIGtleTogc2NoZW1hcy5maWxlcy5rZXksXHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiBzY2hlbWFzLmZpbGVzLnZpc2liaWxpdHksXHJcbiAgICAgICAgfSlcclxuICAgICAgICAuZnJvbShzY2hlbWFzLmZpbGVzKVxyXG4gICAgICAgIC53aGVyZShlcShzY2hlbWFzLmZpbGVzLmlkLCBwYXJhbXMuaWQpKVxyXG4gICAgICAgIC5saW1pdCgxKTtcclxuICAgICAgaWYgKCFmb3VuZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChmb3VuZC52aXNpYmlsaXR5ID09PSBcInB1YmxpY1wiKSB7XHJcbiAgICAgICAgcmV0dXJuIGAke3B1YmxpY0Jhc2VVcmx9LyR7Zm91bmQua2V5fWA7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHMzQ2xpZW50LnByZXNpZ24oZm91bmQua2V5LCB7IGV4cGlyZXNJbjogcHJlc2lnbkV4cGlyZXNJbiB9KTtcclxuICAgIH0sXHJcblxyXG4gICAgYXN5bmMgdXBsb2FkRmlsZShwYXJhbXM6IHtcclxuICAgICAgZmlsZTogRmlsZTtcclxuICAgICAgcHVycG9zZTogc3RyaW5nO1xyXG4gICAgICB2aXNpYmlsaXR5OiBcInByaXZhdGVcIiB8IFwicHVibGljXCI7XHJcbiAgICB9KTogUHJvbWlzZTxGaWxlU2VsZWN0PiB7XHJcbiAgICAgIGNvbnN0IGlkID0gbmFub2lkKCk7XHJcbiAgICAgIGNvbnN0IGV4dCA9IGV4dG5hbWUocGFyYW1zLmZpbGUubmFtZSk7XHJcbiAgICAgIGNvbnN0IGtleSA9IFtrZXlQcmVmaXgsIHBhcmFtcy52aXNpYmlsaXR5LCBwYXJhbXMucHVycG9zZSwgYCR7aWR9JHtleHR9YF0uam9pbihcIi9cIik7XHJcbiAgICAgIGNvbnN0IHMzZmlsZSA9IHMzQ2xpZW50LmZpbGUoa2V5KTtcclxuICAgICAgYXdhaXQgczNmaWxlLndyaXRlKHBhcmFtcy5maWxlLCB7XHJcbiAgICAgICAgdHlwZTogcGFyYW1zLmZpbGUudHlwZSxcclxuICAgICAgICBhY2w6IHBhcmFtcy52aXNpYmlsaXR5ID09PSBcInB1YmxpY1wiID8gXCJwdWJsaWMtcmVhZFwiIDogXCJwcml2YXRlXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgICB0cnkge1xyXG4gICAgICAgIGNvbnN0IFtjcmVhdGVkXSA9IGF3YWl0IGRiLmluc2VydChzY2hlbWFzLmZpbGVzKVxyXG4gICAgICAgICAgLnZhbHVlcyh7XHJcbiAgICAgICAgICAgIHB1cnBvc2U6IHBhcmFtcy5wdXJwb3NlLFxyXG4gICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgIHNpemU6IHMzZmlsZS5zaXplLFxyXG4gICAgICAgICAgICBuYW1lOiBzM2ZpbGUubmFtZSA/PyBudWxsLFxyXG4gICAgICAgICAgICBtaW1lVHlwZTogczNmaWxlLnR5cGUsXHJcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHBhcmFtcy52aXNpYmlsaXR5LFxyXG4gICAgICAgICAgfSlcclxuICAgICAgICAgIC5yZXR1cm5pbmcoKTtcclxuICAgICAgICBpZiAoIWNyZWF0ZWQpIHtcclxuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZhaWxlZCB0byBjcmVhdGUgZmlsZSByZWNvcmRcIik7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBjcmVhdGVkO1xyXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgIGF3YWl0IHMzZmlsZS5kZWxldGUoKS5jYXRjaCgpO1xyXG4gICAgICAgIHRocm93IGVycm9yO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIGRlbGV0ZUZpbGUocGFyYW1zOiB7IGlkOiBzdHJpbmcgfSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICBjb25zdCBbZGVsZXRlZF0gPSBhd2FpdCBkYlxyXG4gICAgICAgIC5kZWxldGUoc2NoZW1hcy5maWxlcylcclxuICAgICAgICAud2hlcmUoZXEoc2NoZW1hcy5maWxlcy5pZCwgcGFyYW1zLmlkKSlcclxuICAgICAgICAucmV0dXJuaW5nKCk7XHJcbiAgICAgIGlmICghZGVsZXRlZCkgcmV0dXJuO1xyXG4gICAgICBhd2FpdCBzM0NsaWVudC5kZWxldGUoZGVsZXRlZC5rZXkpO1xyXG4gICAgfSxcclxuXHJcbiAgICBhc3luYyBhY3F1aXJlRmlsZShwYXJhbXM6IEJ5SWQgJiB7IFxyXG4gICAgICBwdXJwb3NlPzogc3RyaW5nIFxyXG4gICAgfSk6IFByb21pc2U8RmlsZVNlbGVjdD4ge1xyXG4gICAgICBjb25zdCBbdXBkYXRlZF0gPSBhd2FpdCBkYlxyXG4gICAgICAgIC51cGRhdGUoc2NoZW1hcy5maWxlcylcclxuICAgICAgICAuc2V0KHsgcmVmQ291bnQ6IHNxbGAke3NjaGVtYXMuZmlsZXMucmVmQ291bnR9ICsgMWAgfSlcclxuICAgICAgICAud2hlcmUoXHJcbiAgICAgICAgICBhbmQoXHJcbiAgICAgICAgICAgIGVxKHNjaGVtYXMuZmlsZXMuaWQsIHBhcmFtcy5pZCksXHJcbiAgICAgICAgICAgIHBhcmFtcy5wdXJwb3NlID8gZXEoc2NoZW1hcy5maWxlcy5wdXJwb3NlLCBwYXJhbXMucHVycG9zZSkgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgICApXHJcbiAgICAgICAgKVxyXG4gICAgICAgIC5yZXR1cm5pbmcoKTtcclxuICAgICAgaWYgKCF1cGRhdGVkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRmlsZSBub3QgZm91bmRcIik7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHVwZGF0ZWQ7XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIHJlbGVhc2VGaWxlKHBhcmFtczogQnlJZCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICBjb25zdCBbdXBkYXRlZF0gPSBhd2FpdCBkYlxyXG4gICAgICAgIC51cGRhdGUoc2NoZW1hcy5maWxlcylcclxuICAgICAgICAuc2V0KHsgcmVmQ291bnQ6IHNxbGAke3NjaGVtYXMuZmlsZXMucmVmQ291bnR9IC0gMWAgfSlcclxuICAgICAgICAud2hlcmUoZXEoc2NoZW1hcy5maWxlcy5pZCwgcGFyYW1zLmlkKSlcclxuICAgICAgICAucmV0dXJuaW5nKCk7XHJcbiAgICAgIGlmICghdXBkYXRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICh1cGRhdGVkLnJlZkNvdW50IDwgMSkge1xyXG4gICAgICAgIGF3YWl0IHRoaXMuZGVsZXRlRmlsZSh7IGlkOiBwYXJhbXMuaWQgfSk7XHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfTtcclxufSIsCiAgICAiaW1wb3J0IHR5cGUgeyBCdW5TUUxEYXRhYmFzZSB9IGZyb20gXCJkcml6emxlLW9ybS9idW4tc3FsXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVJvdXRlcywgdHlwZSBQdXJwb3NlUG9saWN5IH0gZnJvbSBcIi4vcm91dGVzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVNjaGVtYXMgfSBmcm9tIFwiLi9zY2hlbWFzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVNlcnZpY2VzIH0gZnJvbSBcIi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHR5cGUgeyBTM0NsaWVudCB9IGZyb20gXCJidW5cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZXNCYWNrZW5kT3B0aW9uczxUUHVycG9zZXMgZXh0ZW5kcyBzdHJpbmc+IHtcclxuICBkYjogQnVuU1FMRGF0YWJhc2U7XHJcbiAgczNDbGllbnQ6IFMzQ2xpZW50O1xyXG4gIHBvbGljaWVzOiBSZWNvcmQ8VFB1cnBvc2VzLCBQdXJwb3NlUG9saWN5PjtcclxuICBwdWJsaWNCYXNlVXJsOiBzdHJpbmc7XHJcbiAgcHJlc2lnbkV4cGlyZXNJbj86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUZpbGVzQmFja2VuZDxjb25zdCBUUHVycG9zZSBleHRlbmRzIHN0cmluZz4oXHJcbiAgb3B0aW9uczogRmlsZXNCYWNrZW5kT3B0aW9uczxUUHVycG9zZT5cclxuKSB7XHJcbiAgY29uc3Qgc2NoZW1hcyA9IGNyZWF0ZVNjaGVtYXMoKTtcclxuICBjb25zdCBzZXJ2aWNlcyA9IGNyZWF0ZVNlcnZpY2VzKHtcclxuICAgIGRiOiBvcHRpb25zLmRiLFxyXG4gICAgc2NoZW1hcyxcclxuICAgIHMzQ2xpZW50OiBvcHRpb25zLnMzQ2xpZW50LFxyXG4gICAgcHVibGljQmFzZVVybDogb3B0aW9ucy5wdWJsaWNCYXNlVXJsLFxyXG4gICAgcHJlc2lnbkV4cGlyZXNJbjogb3B0aW9ucy5wcmVzaWduRXhwaXJlc0luLFxyXG4gIH0pO1xyXG4gIGNvbnN0IHJvdXRlcyA9IGNyZWF0ZVJvdXRlcyh7XHJcbiAgICBzZXJ2aWNlcyxcclxuICAgIHBvbGljaWVzOiBvcHRpb25zLnBvbGljaWVzLFxyXG4gIH0pO1xyXG4gIHJldHVybiB7XHJcbiAgICBzY2hlbWFzLFxyXG4gICAgcm91dGVzLFxyXG4gICAgc2VydmljZXMsXHJcbiAgfSBhcyBjb25zdDtcclxufSIKICBdLAogICJtYXBwaW5ncyI6ICI7QUFBQTtBQVdPLFNBQVMsWUFBMkMsQ0FDekQsU0FJQTtBQUFBLEVBRUE7QUFBQSxJQUNFO0FBQUEsSUFDQTtBQUFBLE1BQ0U7QUFBQSxFQUVKLE9BQU8sSUFBSSxPQUFPO0FBQUEsSUFDaEIsUUFBUTtBQUFBLEVBQ1YsQ0FBQyxFQUFFLEtBQUssaUJBQWlCLFNBQVMsUUFBUSxXQUFXO0FBQUEsSUFDbkQsUUFBUSxNQUFNLFlBQVk7QUFBQSxJQUMxQixNQUFNLFNBQVMsU0FBUztBQUFBLElBQ3hCLElBQUksQ0FBQyxRQUFRO0FBQUEsTUFDWCxPQUFPLE9BQU8sS0FBSztBQUFBLFFBQ2pCLFNBQVM7QUFBQSxNQUNYLENBQUM7QUFBQSxJQUNIO0FBQUEsSUFDQSxJQUFJLE9BQU8sWUFBWSxhQUFhLEtBQUssT0FBTyxPQUFPLFNBQVM7QUFBQSxNQUM5RCxPQUFPLE9BQU8sS0FBSztBQUFBLFFBQ2pCLFNBQVM7QUFBQSxNQUNYLENBQUM7QUFBQSxJQUNIO0FBQUEsSUFDQSxJQUFJLE9BQU8scUJBQXFCLGFBQWEsQ0FBQyxPQUFPLGlCQUFpQixTQUFTLEtBQUssSUFBSSxHQUFHO0FBQUEsTUFDekYsT0FBTyxPQUFPLEtBQUs7QUFBQSxRQUNqQixTQUFTO0FBQUEsTUFDWCxDQUFDO0FBQUEsSUFDSDtBQUFBLElBQ0EsTUFBTSxXQUFXLE1BQU0sU0FBUyxXQUFXO0FBQUEsTUFDekM7QUFBQSxNQUNBO0FBQUEsTUFDQSxZQUFZLE9BQU8sY0FBYztBQUFBLElBQ25DLENBQUM7QUFBQSxJQUNELE9BQU8sT0FBTyxLQUFLO0FBQUEsTUFDakIsSUFBSSxTQUFTO0FBQUEsTUFDYixNQUFNLFNBQVM7QUFBQSxNQUNmLEtBQUssU0FBUztBQUFBLE1BQ2QsTUFBTSxTQUFTO0FBQUEsTUFDZixVQUFVLFNBQVM7QUFBQSxNQUNuQixXQUFXLFNBQVM7QUFBQSxJQUN0QixDQUFDO0FBQUEsS0FDQTtBQUFBLElBQ0QsTUFBTSxjQUFjLE9BQU8sS0FBSyxRQUFRLENBQWU7QUFBQSxJQUN2RCxVQUFVO0FBQUEsTUFDUixLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsTUFDTCxLQUFLO0FBQUEsSUFDUDtBQUFBLEVBQ0YsQ0FBQztBQUFBO0FBR0gsU0FBUyxhQUE0QyxDQUNuRCxVQUNBO0FBQUEsRUFDQSxPQUFPLEVBQUUsT0FBTztBQUFBLElBQ2QsTUFBTSxFQUFFLEtBQUs7QUFBQSxJQUNiLFNBQVMsRUFBRSxNQUNULFNBQVMsSUFBSSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUlsQztBQUFBLEVBQ0YsQ0FBQztBQUFBO0FBR0gsSUFBTSxnQkFBZ0IsRUFBRSxPQUFPO0FBQUEsRUFDN0IsU0FBUyxFQUFFLE9BQU87QUFDcEIsQ0FBQztBQUVELElBQU0sZUFBZSxFQUFFLE9BQU87QUFBQSxFQUM1QixJQUFJLEVBQUUsT0FBTztBQUFBLEVBQ2IsTUFBTSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUM7QUFBQSxFQUMzQixLQUFLLEVBQUUsT0FBTztBQUFBLEVBQ2QsTUFBTSxFQUFFLE9BQU87QUFBQSxFQUNmLFVBQVUsRUFBRSxPQUFPO0FBQUEsRUFDbkIsV0FBVyxFQUFFLEtBQUs7QUFDcEIsQ0FBQzs7O0FDM0ZEO0FBQ0E7QUFRTyxTQUFTLGFBQWEsR0FBRztBQUFBLEVBRTlCLE1BQU0sUUFBUSxRQUFRLFNBQVM7QUFBQSxJQUM3QixJQUFJLEtBQUssSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLE1BQU0sUUFBUSxPQUFPLEdBQUc7QUFBQSxJQUMvRCxTQUFTLEtBQUssU0FBUyxFQUFFLFFBQVE7QUFBQSxJQUNqQyxNQUFNLEtBQUssTUFBTTtBQUFBLElBQ2pCLEtBQUssS0FBSyxLQUFLLEVBQUUsUUFBUSxFQUFFLE9BQU87QUFBQSxJQUNsQyxNQUFNLFFBQVEsTUFBTSxFQUFFLFFBQVE7QUFBQSxJQUM5QixVQUFVLEtBQUssV0FBVyxFQUFFLFFBQVEsRUFBRSxRQUFRLDBCQUEwQjtBQUFBLElBQ3hFLFVBQVUsUUFBUSxXQUFXLEVBQUUsUUFBUSxFQUFFLFFBQVEsQ0FBQztBQUFBLElBQ2xELFlBQVksT0FBTyxjQUFjLENBQUMsV0FBVyxRQUFRLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxRQUFRLFNBQVM7QUFBQSxJQUNyRixXQUFXLFVBQVUsWUFBWSxFQUFFLFFBQVEsRUFBRSxXQUFXO0FBQUEsSUFDeEQsV0FBVyxVQUFVLFlBQVksRUFBRSxRQUFRLEVBQUUsV0FBVztBQUFBLEVBQzFELEdBQUcsQ0FBQyxVQUFVO0FBQUEsSUFDWixNQUFNLGVBQWUsRUFBRSxHQUFHLE1BQU0sR0FBRztBQUFBLElBQ25DLE1BQU0sc0JBQXNCLEVBQUUsR0FBRyxNQUFNLFNBQVM7QUFBQSxFQUNsRCxDQUFDO0FBQUEsRUFFRCxPQUFPO0FBQUEsSUFDTDtBQUFBLEVBQ0Y7QUFBQTs7O0FDNUJGLG1CQUFTO0FBQ1Q7QUFDQTtBQVNPLFNBQVMsY0FBYyxDQUM1QixTQVFBO0FBQUEsRUFDQTtBQUFBLElBQ0U7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBLFlBQVk7QUFBQSxJQUNaLG1CQUFtQjtBQUFBLE1BQ2pCO0FBQUEsRUFFSixPQUFPO0FBQUEsSUFFTDtBQUFBLFNBRU0sUUFBTyxDQUFDLFFBQW1DO0FBQUEsTUFDL0MsT0FBTyxTQUFTLE1BQU0sR0FDbkIsT0FBTyxFQUNQLEtBQUssUUFBUSxLQUFLLEVBQ2xCLE1BQU0sR0FBRyxRQUFRLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQyxFQUNyQyxNQUFNLENBQUM7QUFBQSxNQUNWLElBQUksQ0FBQyxPQUFPO0FBQUEsUUFDVixNQUFNLElBQUksTUFBTSxnQkFBZ0I7QUFBQSxNQUNsQztBQUFBLE1BQ0EsT0FBTztBQUFBO0FBQUEsU0FHSCxPQUFNLENBQUMsUUFBK0I7QUFBQSxNQUMxQyxPQUFPLFNBQVMsTUFBTSxHQUNuQixPQUFPO0FBQUEsUUFDTixLQUFLLFFBQVEsTUFBTTtBQUFBLFFBQ25CLFlBQVksUUFBUSxNQUFNO0FBQUEsTUFDNUIsQ0FBQyxFQUNBLEtBQUssUUFBUSxLQUFLLEVBQ2xCLE1BQU0sR0FBRyxRQUFRLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQyxFQUNyQyxNQUFNLENBQUM7QUFBQSxNQUNWLElBQUksQ0FBQyxPQUFPO0FBQUEsUUFDVixNQUFNLElBQUksTUFBTSxnQkFBZ0I7QUFBQSxNQUNsQztBQUFBLE1BQ0EsSUFBSSxNQUFNLGVBQWUsVUFBVTtBQUFBLFFBQ2pDLE9BQU8sR0FBRyxpQkFBaUIsTUFBTTtBQUFBLE1BQ25DO0FBQUEsTUFDQSxPQUFPLFNBQVMsUUFBUSxNQUFNLEtBQUssRUFBRSxXQUFXLGlCQUFpQixDQUFDO0FBQUE7QUFBQSxTQUc5RCxXQUFVLENBQUMsUUFJTztBQUFBLE1BQ3RCLE1BQU0sS0FBSyxRQUFPO0FBQUEsTUFDbEIsTUFBTSxNQUFNLFFBQVEsT0FBTyxLQUFLLElBQUk7QUFBQSxNQUNwQyxNQUFNLE1BQU0sQ0FBQyxXQUFXLE9BQU8sWUFBWSxPQUFPLFNBQVMsR0FBRyxLQUFLLEtBQUssRUFBRSxLQUFLLEdBQUc7QUFBQSxNQUNsRixNQUFNLFNBQVMsU0FBUyxLQUFLLEdBQUc7QUFBQSxNQUNoQyxNQUFNLE9BQU8sTUFBTSxPQUFPLE1BQU07QUFBQSxRQUM5QixNQUFNLE9BQU8sS0FBSztBQUFBLFFBQ2xCLEtBQUssT0FBTyxlQUFlLFdBQVcsZ0JBQWdCO0FBQUEsTUFDeEQsQ0FBQztBQUFBLE1BQ0QsSUFBSTtBQUFBLFFBQ0YsT0FBTyxXQUFXLE1BQU0sR0FBRyxPQUFPLFFBQVEsS0FBSyxFQUM1QyxPQUFPO0FBQUEsVUFDTixTQUFTLE9BQU87QUFBQSxVQUNoQjtBQUFBLFVBQ0EsTUFBTSxPQUFPO0FBQUEsVUFDYixNQUFNLE9BQU8sUUFBUTtBQUFBLFVBQ3JCLFVBQVUsT0FBTztBQUFBLFVBQ2pCLFlBQVksT0FBTztBQUFBLFFBQ3JCLENBQUMsRUFDQSxVQUFVO0FBQUEsUUFDYixJQUFJLENBQUMsU0FBUztBQUFBLFVBQ1osTUFBTSxJQUFJLE1BQU0sOEJBQThCO0FBQUEsUUFDaEQ7QUFBQSxRQUNBLE9BQU87QUFBQSxRQUNQLE9BQU8sT0FBTztBQUFBLFFBQ2QsTUFBTSxPQUFPLE9BQU8sRUFBRSxNQUFNO0FBQUEsUUFDNUIsTUFBTTtBQUFBO0FBQUE7QUFBQSxTQUlKLFdBQVUsQ0FBQyxRQUF1QztBQUFBLE1BQ3RELE9BQU8sV0FBVyxNQUFNLEdBQ3JCLE9BQU8sUUFBUSxLQUFLLEVBQ3BCLE1BQU0sR0FBRyxRQUFRLE1BQU0sSUFBSSxPQUFPLEVBQUUsQ0FBQyxFQUNyQyxVQUFVO0FBQUEsTUFDYixJQUFJLENBQUM7QUFBQSxRQUFTO0FBQUEsTUFDZCxNQUFNLFNBQVMsT0FBTyxRQUFRLEdBQUc7QUFBQTtBQUFBLFNBRzdCLFlBQVcsQ0FBQyxRQUVNO0FBQUEsTUFDdEIsT0FBTyxXQUFXLE1BQU0sR0FDckIsT0FBTyxRQUFRLEtBQUssRUFDcEIsSUFBSSxFQUFFLFVBQVUsTUFBTSxRQUFRLE1BQU0sZUFBZSxDQUFDLEVBQ3BELE1BQ0MsSUFDRSxHQUFHLFFBQVEsTUFBTSxJQUFJLE9BQU8sRUFBRSxHQUM5QixPQUFPLFVBQVUsR0FBRyxRQUFRLE1BQU0sU0FBUyxPQUFPLE9BQU8sSUFBSSxTQUMvRCxDQUNGLEVBQ0MsVUFBVTtBQUFBLE1BQ2IsSUFBSSxDQUFDLFNBQVM7QUFBQSxRQUNaLE1BQU0sSUFBSSxNQUFNLGdCQUFnQjtBQUFBLE1BQ2xDO0FBQUEsTUFDQSxPQUFPO0FBQUE7QUFBQSxTQUdILFlBQVcsQ0FBQyxRQUE2QjtBQUFBLE1BQzdDLE9BQU8sV0FBVyxNQUFNLEdBQ3JCLE9BQU8sUUFBUSxLQUFLLEVBQ3BCLElBQUksRUFBRSxVQUFVLE1BQU0sUUFBUSxNQUFNLGVBQWUsQ0FBQyxFQUNwRCxNQUFNLEdBQUcsUUFBUSxNQUFNLElBQUksT0FBTyxFQUFFLENBQUMsRUFDckMsVUFBVTtBQUFBLE1BQ2IsSUFBSSxDQUFDLFNBQVM7QUFBQSxRQUNaLE1BQU0sSUFBSSxNQUFNLGdCQUFnQjtBQUFBLE1BQ2xDO0FBQUEsTUFDQSxJQUFJLFFBQVEsV0FBVyxHQUFHO0FBQUEsUUFDeEIsTUFBTSxLQUFLLFdBQVcsRUFBRSxJQUFJLE9BQU8sR0FBRyxDQUFDO0FBQUEsTUFDekM7QUFBQTtBQUFBLEVBRUo7QUFBQTs7O0FDOUhLLFNBQVMsa0JBQWlELENBQy9ELFNBQ0E7QUFBQSxFQUNBLE1BQU0sVUFBVSxjQUFjO0FBQUEsRUFDOUIsTUFBTSxXQUFXLGVBQWU7QUFBQSxJQUM5QixJQUFJLFFBQVE7QUFBQSxJQUNaO0FBQUEsSUFDQSxVQUFVLFFBQVE7QUFBQSxJQUNsQixlQUFlLFFBQVE7QUFBQSxJQUN2QixrQkFBa0IsUUFBUTtBQUFBLEVBQzVCLENBQUM7QUFBQSxFQUNELE1BQU0sU0FBUyxhQUFhO0FBQUEsSUFDMUI7QUFBQSxJQUNBLFVBQVUsUUFBUTtBQUFBLEVBQ3BCLENBQUM7QUFBQSxFQUNELE9BQU87QUFBQSxJQUNMO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxFQUNGO0FBQUE7IiwKICAiZGVidWdJZCI6ICIwQ0YxMTk5RDc0NjlFMkRFNjQ3NTZFMjE2NDc1NkUyMSIsCiAgIm5hbWVzIjogW10KfQ==
|
|
202
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsic3JjXFxiYWNrZW5kXFxyb3V0ZXMudHMiLCAic3JjXFxiYWNrZW5kXFxzY2hlbWFzLnRzIiwgInNyY1xcYmFja2VuZFxcc2VydmljZXMudHMiLCAic3JjXFxiYWNrZW5kXFxiYWNrZW5kLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWwogICAgImltcG9ydCB7IEVseXNpYSwgdCB9IGZyb20gXCJlbHlzaWFcIjtcclxuaW1wb3J0IHR5cGUgeyBTZXJ2aWNlcyB9IGZyb20gXCIuL3NlcnZpY2VzXCI7XHJcblxyXG5leHBvcnQgdHlwZSBWaXNpYmlsaXR5ID0gXCJwcml2YXRlXCIgfCBcInB1YmxpY1wiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQdXJwb3NlUG9saWN5IHtcclxuICBtYXhTaXplPzogbnVtYmVyO1xyXG4gIGFsbG93ZWRNaW1lVHlwZXM/OiBzdHJpbmdbXTtcclxuICB2aXNpYmlsaXR5PzogVmlzaWJpbGl0eTtcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVJvdXRlczxjb25zdCBUUHVycG9zZSBleHRlbmRzIHN0cmluZz4oXHJcbiAgb3B0aW9uczoge1xyXG4gICAgc2VydmljZXM6IFNlcnZpY2VzO1xyXG4gICAgcG9saWNpZXM6IFJlY29yZDxUUHVycG9zZSwgUHVycG9zZVBvbGljeT5cclxuICB9XHJcbikge1xyXG4gIFxyXG4gIGNvbnN0IHsgXHJcbiAgICBzZXJ2aWNlcywgXHJcbiAgICBwb2xpY2llcyxcclxuICB9ID0gb3B0aW9ucztcclxuXHJcbiAgcmV0dXJuIG5ldyBFbHlzaWEoe1xyXG4gICAgcHJlZml4OiBcIi9hcGlcIixcclxuICB9KS5wb3N0KFwiL2ZpbGVzL3VwbG9hZFwiLCBhc3luYyAoeyBzdGF0dXMsIGJvZHkgfSkgPT4ge1xyXG4gICAgY29uc3QgeyBmaWxlLCBwdXJwb3NlIH0gPSBib2R5O1xyXG4gICAgY29uc3QgcG9saWN5ID0gcG9saWNpZXNbcHVycG9zZSBhcyBUUHVycG9zZV07XHJcbiAgICBpZiAoIXBvbGljeSkge1xyXG4gICAgICByZXR1cm4gc3RhdHVzKDQwMCwge1xyXG4gICAgICAgIG1lc3NhZ2U6IFwiUHVycG9zZSBub3Qgc3VwcG9ydGVkXCIsXHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gICAgaWYgKHBvbGljeS5tYXhTaXplICE9PSB1bmRlZmluZWQgJiYgZmlsZS5zaXplID4gcG9saWN5Lm1heFNpemUpIHtcclxuICAgICAgcmV0dXJuIHN0YXR1cyg0MDAsIHtcclxuICAgICAgICBtZXNzYWdlOiBcIkZpbGUgc2l6ZSBleGNlZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQgc2l6ZVwiLFxyXG4gICAgICB9KTtcclxuICAgIH1cclxuICAgIGlmIChwb2xpY3kuYWxsb3dlZE1pbWVUeXBlcyAhPT0gdW5kZWZpbmVkICYmICFwb2xpY3kuYWxsb3dlZE1pbWVUeXBlcy5pbmNsdWRlcyhmaWxlLnR5cGUpKSB7XHJcbiAgICAgIHJldHVybiBzdGF0dXMoNDAwLCB7XHJcbiAgICAgICAgbWVzc2FnZTogXCJGaWxlIHR5cGUgbm90IGFsbG93ZWRcIixcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCB1cGxvYWRlZCA9IGF3YWl0IHNlcnZpY2VzLnVwbG9hZEZpbGUoeyBcclxuICAgICAgZmlsZSwgXHJcbiAgICAgIHB1cnBvc2UsIFxyXG4gICAgICB2aXNpYmlsaXR5OiBwb2xpY3kudmlzaWJpbGl0eSA/PyBcInByaXZhdGVcIiBcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIHN0YXR1cygyMDAsIHtcclxuICAgICAgaWQ6IHVwbG9hZGVkLmlkLFxyXG4gICAgICBuYW1lOiB1cGxvYWRlZC5uYW1lLFxyXG4gICAgICBrZXk6IHVwbG9hZGVkLmtleSxcclxuICAgICAgc2l6ZTogdXBsb2FkZWQuc2l6ZSxcclxuICAgICAgbWltZVR5cGU6IHVwbG9hZGVkLm1pbWVUeXBlLFxyXG4gICAgICBjcmVhdGVkQXQ6IHVwbG9hZGVkLmNyZWF0ZWRBdCxcclxuICAgIH0pO1xyXG4gIH0sIHtcclxuICAgIGJvZHk6IFVwbG9hZFJlcXVlc3QoT2JqZWN0LmtleXMocG9saWNpZXMpIGFzIFRQdXJwb3NlW10pLFxyXG4gICAgcmVzcG9uc2U6IHtcclxuICAgICAgMjAwOiBGaWxlUmVzcG9uc2UsXHJcbiAgICAgIDQwMDogRXJyb3JSZXNwb25zZSxcclxuICAgICAgNTAwOiBFcnJvclJlc3BvbnNlLFxyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBVcGxvYWRSZXF1ZXN0PGNvbnN0IFRQdXJwb3NlIGV4dGVuZHMgc3RyaW5nPihcclxuICBwdXJwb3NlczogVFB1cnBvc2VbXVxyXG4pIHtcclxuICByZXR1cm4gdC5PYmplY3Qoe1xyXG4gICAgZmlsZTogdC5GaWxlKCksXHJcbiAgICBwdXJwb3NlOiB0LlVuaW9uKFxyXG4gICAgICBwdXJwb3Nlcy5tYXAoKHApID0+IHQuTGl0ZXJhbChwKSkgYXMgW1xyXG4gICAgICAgIFJldHVyblR5cGU8dHlwZW9mIHQuTGl0ZXJhbDxUUHVycG9zZT4+LFxyXG4gICAgICAgIC4uLlJldHVyblR5cGU8dHlwZW9mIHQuTGl0ZXJhbDxUUHVycG9zZT4+W10sXHJcbiAgICAgIF1cclxuICAgIClcclxuICB9KTtcclxufVxyXG5cclxuY29uc3QgRXJyb3JSZXNwb25zZSA9IHQuT2JqZWN0KHtcclxuICBtZXNzYWdlOiB0LlN0cmluZygpLFxyXG59KTtcclxuXHJcbmNvbnN0IEZpbGVSZXNwb25zZSA9IHQuT2JqZWN0KHtcclxuICBpZDogdC5TdHJpbmcoKSxcclxuICBuYW1lOiB0Lk51bGxhYmxlKHQuU3RyaW5nKCkpLFxyXG4gIGtleTogdC5TdHJpbmcoKSxcclxuICBzaXplOiB0Lk51bWJlcigpLFxyXG4gIG1pbWVUeXBlOiB0LlN0cmluZygpLFxyXG4gIGNyZWF0ZWRBdDogdC5EYXRlKCksXHJcbn0pOyIsCiAgICAiaW1wb3J0IHsgbmFub2lkIH0gZnJvbSBcIm5hbm9pZFwiO1xyXG5pbXBvcnQgeyBpbmRleCwgaW50ZWdlciwgcGdUYWJsZSwgdGV4dCwgdGltZXN0YW1wLCBwZ0VudW0gfSBmcm9tIFwiZHJpenpsZS1vcm0vcGctY29yZVwiO1xyXG5cclxuXHJcbmV4cG9ydCB0eXBlIEFsbFNjaGVtYXMgPSBSZXR1cm5UeXBlPHR5cGVvZiBjcmVhdGVTY2hlbWFzPjtcclxuZXhwb3J0IHR5cGUgRmlsZVNjaGVtYSA9IEFsbFNjaGVtYXNbXCJmaWxlc1wiXTtcclxuZXhwb3J0IHR5cGUgRmlsZVNlbGVjdCA9IEZpbGVTY2hlbWFbXCIkaW5mZXJTZWxlY3RcIl07XHJcbmV4cG9ydCB0eXBlIEZpbGVJbnNlcnQgPSBGaWxlU2NoZW1hW1wiJGluZmVySW5zZXJ0XCJdO1xyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNjaGVtYXMoKSB7XHJcblxyXG4gIGNvbnN0IGZpbGVzID0gcGdUYWJsZShcImZpbGVzXCIsIHtcclxuICAgIGlkOiB0ZXh0KFwiaWRcIikucHJpbWFyeUtleSgpLiRkZWZhdWx0Rm4oKCkgPT4gYGZpbGVfJHtuYW5vaWQoKX1gKSxcclxuICAgIHB1cnBvc2U6IHRleHQoXCJwdXJwb3NlXCIpLm5vdE51bGwoKSxcclxuICAgIG5hbWU6IHRleHQoXCJuYW1lXCIpLFxyXG4gICAga2V5OiB0ZXh0KFwia2V5XCIpLm5vdE51bGwoKS51bmlxdWUoKSxcclxuICAgIHNpemU6IGludGVnZXIoXCJzaXplXCIpLm5vdE51bGwoKSxcclxuICAgIG1pbWVUeXBlOiB0ZXh0KFwibWltZV90eXBlXCIpLm5vdE51bGwoKS5kZWZhdWx0KFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCIpLFxyXG4gICAgcmVmQ291bnQ6IGludGVnZXIoXCJyZWZfY291bnRcIikubm90TnVsbCgpLmRlZmF1bHQoMCksXHJcbiAgICB2aXNpYmlsaXR5OiBwZ0VudW0oXCJ2aXNpYmlsaXR5XCIsIFtcInByaXZhdGVcIiwgXCJwdWJsaWNcIl0pKCkubm90TnVsbCgpLmRlZmF1bHQoXCJwcml2YXRlXCIpLFxyXG4gICAgY3JlYXRlZEF0OiB0aW1lc3RhbXAoXCJjcmVhdGVkX2F0XCIpLm5vdE51bGwoKS5kZWZhdWx0Tm93KCksXHJcbiAgICB1cGRhdGVkQXQ6IHRpbWVzdGFtcChcInVwZGF0ZWRfYXRcIikubm90TnVsbCgpLmRlZmF1bHROb3coKSxcclxuICB9LCAodGFibGUpID0+IFtcclxuICAgIGluZGV4KFwiZmlsZXNfa2V5X2lkeFwiKS5vbih0YWJsZS5rZXkpLFxyXG4gICAgaW5kZXgoXCJmaWxlc19jcmVhdGVkX2F0X2lkeFwiKS5vbih0YWJsZS5jcmVhdGVkQXQpLFxyXG4gIF0pO1xyXG5cclxuICByZXR1cm4ge1xyXG4gICAgZmlsZXMsXHJcbiAgfVxyXG59IiwKICAgICJpbXBvcnQgdHlwZSB7IFMzQ2xpZW50IH0gZnJvbSBcImJ1blwiO1xyXG5pbXBvcnQgeyBuYW5vaWQgfSBmcm9tIFwibmFub2lkXCI7XHJcbmltcG9ydCB7IGV4dG5hbWUgfSBmcm9tIFwicGF0aFwiO1xyXG5pbXBvcnQgeyBlcSwgc3FsLCBsdCwgYW5kIH0gZnJvbSBcImRyaXp6bGUtb3JtXCI7XHJcbmltcG9ydCB0eXBlIHsgQWxsU2NoZW1hcywgRmlsZVNlbGVjdCB9IGZyb20gXCIuL3NjaGVtYXNcIjtcclxuaW1wb3J0IHR5cGUgeyBQZ0RhdGFiYXNlIH0gZnJvbSBcImRyaXp6bGUtb3JtL3BnLWNvcmVcIjtcclxuXHJcbmV4cG9ydCB0eXBlIFNlcnZpY2VzID0gUmV0dXJuVHlwZTx0eXBlb2YgY3JlYXRlU2VydmljZXM+O1xyXG5cclxudHlwZSBCeUlkID0geyBpZDogc3RyaW5nIH07XHJcblxyXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VydmljZXMoXHJcbiAgb3B0aW9uczoge1xyXG4gICAgZGI6IFBnRGF0YWJhc2U8YW55PjtcclxuICAgIHNjaGVtYXM6IEFsbFNjaGVtYXM7XHJcbiAgICBzM0NsaWVudDogUzNDbGllbnQ7XHJcbiAgICBwdWJsaWNCYXNlVXJsOiBzdHJpbmc7XHJcbiAgICBrZXlQcmVmaXg/OiBzdHJpbmc7XHJcbiAgICBwcmVzaWduRXhwaXJlc0luPzogbnVtYmVyO1xyXG4gIH1cclxuKSB7XHJcbiAgY29uc3QgeyBcclxuICAgIGRiLCBcclxuICAgIHNjaGVtYXMsIFxyXG4gICAgczNDbGllbnQsIFxyXG4gICAgcHVibGljQmFzZVVybCwgXHJcbiAgICBrZXlQcmVmaXggPSBcImZpbGVzXCIsXHJcbiAgICBwcmVzaWduRXhwaXJlc0luID0gMzYwMFxyXG4gIH0gPSBvcHRpb25zO1xyXG4gIFxyXG4gIHJldHVybiB7XHJcblxyXG4gICAgczNDbGllbnQsXHJcblxyXG4gICAgYXN5bmMgZ2V0RmlsZShwYXJhbXM6IEJ5SWQpOiBQcm9taXNlPEZpbGVTZWxlY3Q+IHtcclxuICAgICAgY29uc3QgW2ZvdW5kXSA9IGF3YWl0IGRiXHJcbiAgICAgICAgLnNlbGVjdCgpXHJcbiAgICAgICAgLmZyb20oc2NoZW1hcy5maWxlcylcclxuICAgICAgICAud2hlcmUoZXEoc2NoZW1hcy5maWxlcy5pZCwgcGFyYW1zLmlkKSlcclxuICAgICAgICAubGltaXQoMSk7XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gZm91bmQ7XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIGdldFVybChwYXJhbXM6IEJ5SWQpOiBQcm9taXNlPHN0cmluZz4ge1xyXG4gICAgICBjb25zdCBbZm91bmRdID0gYXdhaXQgZGJcclxuICAgICAgICAuc2VsZWN0KHsgXHJcbiAgICAgICAgICBrZXk6IHNjaGVtYXMuZmlsZXMua2V5LFxyXG4gICAgICAgICAgdmlzaWJpbGl0eTogc2NoZW1hcy5maWxlcy52aXNpYmlsaXR5LFxyXG4gICAgICAgIH0pXHJcbiAgICAgICAgLmZyb20oc2NoZW1hcy5maWxlcylcclxuICAgICAgICAud2hlcmUoZXEoc2NoZW1hcy5maWxlcy5pZCwgcGFyYW1zLmlkKSlcclxuICAgICAgICAubGltaXQoMSk7XHJcbiAgICAgIGlmICghZm91bmQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoZm91bmQudmlzaWJpbGl0eSA9PT0gXCJwdWJsaWNcIikge1xyXG4gICAgICAgIHJldHVybiBgJHtwdWJsaWNCYXNlVXJsfS8ke2ZvdW5kLmtleX1gO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiBzM0NsaWVudC5wcmVzaWduKGZvdW5kLmtleSwgeyBleHBpcmVzSW46IHByZXNpZ25FeHBpcmVzSW4gfSk7XHJcbiAgICB9LFxyXG5cclxuICAgIGFzeW5jIHVwbG9hZEZpbGUocGFyYW1zOiB7XHJcbiAgICAgIGZpbGU6IEZpbGU7XHJcbiAgICAgIHB1cnBvc2U6IHN0cmluZztcclxuICAgICAgdmlzaWJpbGl0eTogXCJwcml2YXRlXCIgfCBcInB1YmxpY1wiO1xyXG4gICAgfSk6IFByb21pc2U8RmlsZVNlbGVjdD4ge1xyXG4gICAgICBjb25zdCBpZCA9IG5hbm9pZCgpO1xyXG4gICAgICBjb25zdCBleHQgPSBleHRuYW1lKHBhcmFtcy5maWxlLm5hbWUpO1xyXG4gICAgICBjb25zdCBrZXkgPSBba2V5UHJlZml4LCBwYXJhbXMudmlzaWJpbGl0eSwgcGFyYW1zLnB1cnBvc2UsIGAke2lkfSR7ZXh0fWBdLmpvaW4oXCIvXCIpO1xyXG4gICAgICBjb25zdCBzM2ZpbGUgPSBzM0NsaWVudC5maWxlKGtleSk7XHJcbiAgICAgIGF3YWl0IHMzZmlsZS53cml0ZShwYXJhbXMuZmlsZSwge1xyXG4gICAgICAgIHR5cGU6IHBhcmFtcy5maWxlLnR5cGUsXHJcbiAgICAgICAgYWNsOiBwYXJhbXMudmlzaWJpbGl0eSA9PT0gXCJwdWJsaWNcIiA/IFwicHVibGljLXJlYWRcIiA6IFwicHJpdmF0ZVwiLFxyXG4gICAgICB9KTtcclxuICAgICAgdHJ5IHtcclxuICAgICAgICBjb25zdCBbY3JlYXRlZF0gPSBhd2FpdCBkYi5pbnNlcnQoc2NoZW1hcy5maWxlcylcclxuICAgICAgICAgIC52YWx1ZXMoe1xyXG4gICAgICAgICAgICBwdXJwb3NlOiBwYXJhbXMucHVycG9zZSxcclxuICAgICAgICAgICAga2V5LFxyXG4gICAgICAgICAgICBzaXplOiBzM2ZpbGUuc2l6ZSxcclxuICAgICAgICAgICAgbmFtZTogczNmaWxlLm5hbWUgPz8gbnVsbCxcclxuICAgICAgICAgICAgbWltZVR5cGU6IHMzZmlsZS50eXBlLFxyXG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBwYXJhbXMudmlzaWJpbGl0eSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgICAucmV0dXJuaW5nKCk7XHJcbiAgICAgICAgaWYgKCFjcmVhdGVkKSB7XHJcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gY3JlYXRlIGZpbGUgcmVjb3JkXCIpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gY3JlYXRlZDtcclxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICBhd2FpdCBzM2ZpbGUuZGVsZXRlKCkuY2F0Y2goKTtcclxuICAgICAgICB0aHJvdyBlcnJvcjtcclxuICAgICAgfVxyXG4gICAgfSxcclxuXHJcbiAgICBhc3luYyBkZWxldGVGaWxlKHBhcmFtczogeyBpZDogc3RyaW5nIH0pOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgY29uc3QgW2RlbGV0ZWRdID0gYXdhaXQgZGJcclxuICAgICAgICAuZGVsZXRlKHNjaGVtYXMuZmlsZXMpXHJcbiAgICAgICAgLndoZXJlKGVxKHNjaGVtYXMuZmlsZXMuaWQsIHBhcmFtcy5pZCkpXHJcbiAgICAgICAgLnJldHVybmluZygpO1xyXG4gICAgICBpZiAoIWRlbGV0ZWQpIHJldHVybjtcclxuICAgICAgYXdhaXQgczNDbGllbnQuZGVsZXRlKGRlbGV0ZWQua2V5KTtcclxuICAgIH0sXHJcblxyXG4gICAgYXN5bmMgYWNxdWlyZUZpbGUocGFyYW1zOiBCeUlkICYgeyBcclxuICAgICAgcHVycG9zZT86IHN0cmluZyBcclxuICAgIH0pOiBQcm9taXNlPEZpbGVTZWxlY3Q+IHtcclxuICAgICAgY29uc3QgW3VwZGF0ZWRdID0gYXdhaXQgZGJcclxuICAgICAgICAudXBkYXRlKHNjaGVtYXMuZmlsZXMpXHJcbiAgICAgICAgLnNldCh7IHJlZkNvdW50OiBzcWxgJHtzY2hlbWFzLmZpbGVzLnJlZkNvdW50fSArIDFgIH0pXHJcbiAgICAgICAgLndoZXJlKFxyXG4gICAgICAgICAgYW5kKFxyXG4gICAgICAgICAgICBlcShzY2hlbWFzLmZpbGVzLmlkLCBwYXJhbXMuaWQpLFxyXG4gICAgICAgICAgICBwYXJhbXMucHVycG9zZSA/IGVxKHNjaGVtYXMuZmlsZXMucHVycG9zZSwgcGFyYW1zLnB1cnBvc2UpIDogdW5kZWZpbmVkLFxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgICAucmV0dXJuaW5nKCk7XHJcbiAgICAgIGlmICghdXBkYXRlZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkZpbGUgbm90IGZvdW5kXCIpO1xyXG4gICAgICB9XHJcbiAgICAgIHJldHVybiB1cGRhdGVkO1xyXG4gICAgfSxcclxuXHJcbiAgICBhc3luYyByZWxlYXNlRmlsZShwYXJhbXM6IEJ5SWQpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgICAgY29uc3QgW3VwZGF0ZWRdID0gYXdhaXQgZGJcclxuICAgICAgICAudXBkYXRlKHNjaGVtYXMuZmlsZXMpXHJcbiAgICAgICAgLnNldCh7IHJlZkNvdW50OiBzcWxgJHtzY2hlbWFzLmZpbGVzLnJlZkNvdW50fSAtIDFgIH0pXHJcbiAgICAgICAgLndoZXJlKGVxKHNjaGVtYXMuZmlsZXMuaWQsIHBhcmFtcy5pZCkpXHJcbiAgICAgICAgLnJldHVybmluZygpO1xyXG4gICAgICBpZiAoIXVwZGF0ZWQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJGaWxlIG5vdCBmb3VuZFwiKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAodXBkYXRlZC5yZWZDb3VudCA8IDEpIHtcclxuICAgICAgICBhd2FpdCB0aGlzLmRlbGV0ZUZpbGUoeyBpZDogcGFyYW1zLmlkIH0pO1xyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gIH07XHJcbn0iLAogICAgImltcG9ydCB0eXBlIHsgUGdEYXRhYmFzZSB9IGZyb20gXCJkcml6emxlLW9ybS9wZy1jb3JlXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVJvdXRlcywgdHlwZSBQdXJwb3NlUG9saWN5IH0gZnJvbSBcIi4vcm91dGVzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVNjaGVtYXMgfSBmcm9tIFwiLi9zY2hlbWFzXCI7XHJcbmltcG9ydCB7IGNyZWF0ZVNlcnZpY2VzIH0gZnJvbSBcIi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHR5cGUgeyBTM0NsaWVudCB9IGZyb20gXCJidW5cIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgRmlsZXNCYWNrZW5kT3B0aW9uczxUUHVycG9zZXMgZXh0ZW5kcyBzdHJpbmc+IHtcclxuICBkYjogUGdEYXRhYmFzZTxhbnk+O1xyXG4gIHMzQ2xpZW50OiBTM0NsaWVudDtcclxuICBwb2xpY2llczogUmVjb3JkPFRQdXJwb3NlcywgUHVycG9zZVBvbGljeT47XHJcbiAgcHVibGljQmFzZVVybDogc3RyaW5nO1xyXG4gIHByZXNpZ25FeHBpcmVzSW4/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGaWxlc0JhY2tlbmQ8Y29uc3QgVFB1cnBvc2UgZXh0ZW5kcyBzdHJpbmc+KFxyXG4gIG9wdGlvbnM6IEZpbGVzQmFja2VuZE9wdGlvbnM8VFB1cnBvc2U+XHJcbikge1xyXG4gIGNvbnN0IHNjaGVtYXMgPSBjcmVhdGVTY2hlbWFzKCk7XHJcbiAgY29uc3Qgc2VydmljZXMgPSBjcmVhdGVTZXJ2aWNlcyh7XHJcbiAgICBkYjogb3B0aW9ucy5kYixcclxuICAgIHNjaGVtYXMsXHJcbiAgICBzM0NsaWVudDogb3B0aW9ucy5zM0NsaWVudCxcclxuICAgIHB1YmxpY0Jhc2VVcmw6IG9wdGlvbnMucHVibGljQmFzZVVybCxcclxuICAgIHByZXNpZ25FeHBpcmVzSW46IG9wdGlvbnMucHJlc2lnbkV4cGlyZXNJbixcclxuICB9KTtcclxuICBjb25zdCByb3V0ZXMgPSBjcmVhdGVSb3V0ZXMoe1xyXG4gICAgc2VydmljZXMsXHJcbiAgICBwb2xpY2llczogb3B0aW9ucy5wb2xpY2llcyxcclxuICB9KTtcclxuICByZXR1cm4ge1xyXG4gICAgc2NoZW1hcyxcclxuICAgIHJvdXRlcyxcclxuICAgIHNlcnZpY2VzLFxyXG4gIH0gYXMgY29uc3Q7XHJcbn0iCiAgXSwKICAibWFwcGluZ3MiOiAiO0FBQUE7QUFXTyxTQUFTLFlBQTJDLENBQ3pELFNBSUE7QUFBQSxFQUVBO0FBQUEsSUFDRTtBQUFBLElBQ0E7QUFBQSxNQUNFO0FBQUEsRUFFSixPQUFPLElBQUksT0FBTztBQUFBLElBQ2hCLFFBQVE7QUFBQSxFQUNWLENBQUMsRUFBRSxLQUFLLGlCQUFpQixTQUFTLFFBQVEsV0FBVztBQUFBLElBQ25ELFFBQVEsTUFBTSxZQUFZO0FBQUEsSUFDMUIsTUFBTSxTQUFTLFNBQVM7QUFBQSxJQUN4QixJQUFJLENBQUMsUUFBUTtBQUFBLE1BQ1gsT0FBTyxPQUFPLEtBQUs7QUFBQSxRQUNqQixTQUFTO0FBQUEsTUFDWCxDQUFDO0FBQUEsSUFDSDtBQUFBLElBQ0EsSUFBSSxPQUFPLFlBQVksYUFBYSxLQUFLLE9BQU8sT0FBTyxTQUFTO0FBQUEsTUFDOUQsT0FBTyxPQUFPLEtBQUs7QUFBQSxRQUNqQixTQUFTO0FBQUEsTUFDWCxDQUFDO0FBQUEsSUFDSDtBQUFBLElBQ0EsSUFBSSxPQUFPLHFCQUFxQixhQUFhLENBQUMsT0FBTyxpQkFBaUIsU0FBUyxLQUFLLElBQUksR0FBRztBQUFBLE1BQ3pGLE9BQU8sT0FBTyxLQUFLO0FBQUEsUUFDakIsU0FBUztBQUFBLE1BQ1gsQ0FBQztBQUFBLElBQ0g7QUFBQSxJQUNBLE1BQU0sV0FBVyxNQUFNLFNBQVMsV0FBVztBQUFBLE1BQ3pDO0FB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QUNyQixPQUFPLFFBQVEsS0FBSyxFQUNwQixJQUFJLEVBQUUsVUFBVSxNQUFNLFFBQVEsTUFBTSxlQUFlLENBQUMsRUFDcEQsTUFBTSxHQUFHLFFBQVEsTUFBTSxJQUFJLE9BQU8sRUFBRSxDQUFDLEVBQ3JDLFVBQVU7QUFBQSxNQUNiLElBQUksQ0FBQyxTQUFTO0FBQUEsUUFDWixNQUFNLElBQUksTUFBTSxnQkFBZ0I7QUFBQSxNQUNsQztBQUFBLE1BQ0EsSUFBSSxRQUFRLFdBQVcsR0FBRztBQUFBLFFBQ3hCLE1BQU0sS0FBSyxXQUFXLEVBQUUsSUFBSSxPQUFPLEdBQUcsQ0FBQztBQUFBLE1BQ3pDO0FBQUE7QUFBQSxFQUVKO0FBQUE7OztBQzdISyxTQUFTLGtCQUFpRCxDQUMvRCxTQUNBO0FBQUEsRUFDQSxNQUFNLFVBQVUsY0FBYztBQUFBLEVBQzlCLE1BQU0sV0FBVyxlQUFlO0FBQUEsSUFDOUIsSUFBSSxRQUFRO0FBQUEsSUFDWjtBQUFBLElBQ0EsVUFBVSxRQUFRO0FBQUEsSUFDbEIsZUFBZSxRQUFRO0FBQUEsSUFDdkIsa0JBQWtCLFFBQVE7QUFBQSxFQUM1QixDQUFDO0FBQUEsRUFDRCxNQUFNLFNBQVMsYUFBYTtBQUFBLElBQzFCO0FBQUEsSUFDQSxVQUFVLFFBQVE7QUFBQSxFQUNwQixDQUFDO0FBQUEsRUFDRCxPQUFPO0FBQUEsSUFDTDtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRjtBQUFBOyIsCiAgImRlYnVnSWQiOiAiMENGMTE5OUQ3NDY5RTJERTY0NzU2RTIxNjQ3NTZFMjEiLAogICJuYW1lcyI6IFtdCn0=
|