@dbx-tools/shared-model 0.9.43 → 0.9.47

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/index.ts CHANGED
@@ -3,7 +3,7 @@
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
 
5
5
  export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model";
6
- export const PACKAGE_VERSION = "0.9.43";
6
+ export const PACKAGE_VERSION = "0.9.47";
7
7
  export * as contracts from "./src/contracts.ts";
8
8
  export * as display from "./src/display.ts";
9
9
  export * as model from "./src/model.ts";
package/lib/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export declare const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model";
2
- export declare const PACKAGE_VERSION = "0.9.43";
2
+ export declare const PACKAGE_VERSION = "0.9.47";
3
3
  export * as contracts from "./src/contracts.ts";
4
4
  export * as display from "./src/display.ts";
5
5
  export * as model from "./src/model.ts";
package/lib/index.js CHANGED
@@ -2,11 +2,11 @@
2
2
  // Regenerated from the exporting modules in ./src.
3
3
  // Hand edits are overwritten on the next watch; this file is read-only.
4
4
  export const PACKAGE_IDENTIFIER = "@dbx-tools/shared-model";
5
- export const PACKAGE_VERSION = "0.9.43";
5
+ export const PACKAGE_VERSION = "0.9.47";
6
6
  export * as contracts from "./src/contracts.js";
7
7
  export * as display from "./src/display.js";
8
8
  export * as model from "./src/model.js";
9
9
  export * as openaiChat from "./src/openai-chat.js";
10
10
  export { ChatRoleSchema, ChatContentPartSchema, ChatToolCallFunctionSchema, ChatToolCallSchema, ChatMessageSchema, UNSUPPORTED_CHAT_FIELDS, ChatContentToTextOptionsSchema } from "./src/openai-chat.js";
11
11
  export * from "./exports.js";
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpNLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtbW9kZWxcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS40M1wiO1xuZXhwb3J0ICogYXMgY29udHJhY3RzIGZyb20gXCIuL3NyYy9jb250cmFjdHMudHNcIjtcbmV4cG9ydCAqIGFzIGRpc3BsYXkgZnJvbSBcIi4vc3JjL2Rpc3BsYXkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVsIGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0ICogYXMgb3BlbmFpQ2hhdCBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCB7IENoYXRSb2xlU2NoZW1hLCBDaGF0Q29udGVudFBhcnRTY2hlbWEsIENoYXRUb29sQ2FsbEZ1bmN0aW9uU2NoZW1hLCBDaGF0VG9vbENhbGxTY2hlbWEsIENoYXRNZXNzYWdlU2NoZW1hLCBVTlNVUFBPUlRFRF9DSEFUX0ZJRUxEUywgQ2hhdENvbnRlbnRUb1RleHRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL29wZW5haS1jaGF0LnRzXCI7XG5leHBvcnQgdHlwZSB7IENoYXRSb2xlLCBDaGF0Q29udGVudFBhcnQsIENoYXRUb29sQ2FsbEZ1bmN0aW9uLCBDaGF0VG9vbENhbGwsIENoYXRNZXNzYWdlLCBDaGF0Q29udGVudFRvVGV4dE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydHMudHNcIjtcbiJdfQ==
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyQ0FBMkM7QUFDM0MsbURBQW1EO0FBQ25ELHdFQUF3RTtBQUV4RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyx5QkFBeUIsQ0FBQztBQUM1RCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxTQUFTLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ3hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxxQkFBcUIsRUFBRSwwQkFBMEIsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSx1QkFBdUIsRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRXpNLGNBQWMsY0FBYyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gR0VORVJBVEVEIGJ5IHByb2plbiB3YXRjaCAtIERPIE5PVCBFRElULlxuLy8gUmVnZW5lcmF0ZWQgZnJvbSB0aGUgZXhwb3J0aW5nIG1vZHVsZXMgaW4gLi9zcmMuXG4vLyBIYW5kIGVkaXRzIGFyZSBvdmVyd3JpdHRlbiBvbiB0aGUgbmV4dCB3YXRjaDsgdGhpcyBmaWxlIGlzIHJlYWQtb25seS5cblxuZXhwb3J0IGNvbnN0IFBBQ0tBR0VfSURFTlRJRklFUiA9IFwiQGRieC10b29scy9zaGFyZWQtbW9kZWxcIjtcbmV4cG9ydCBjb25zdCBQQUNLQUdFX1ZFUlNJT04gPSBcIjAuOS40N1wiO1xuZXhwb3J0ICogYXMgY29udHJhY3RzIGZyb20gXCIuL3NyYy9jb250cmFjdHMudHNcIjtcbmV4cG9ydCAqIGFzIGRpc3BsYXkgZnJvbSBcIi4vc3JjL2Rpc3BsYXkudHNcIjtcbmV4cG9ydCAqIGFzIG1vZGVsIGZyb20gXCIuL3NyYy9tb2RlbC50c1wiO1xuZXhwb3J0ICogYXMgb3BlbmFpQ2hhdCBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCB7IENoYXRSb2xlU2NoZW1hLCBDaGF0Q29udGVudFBhcnRTY2hlbWEsIENoYXRUb29sQ2FsbEZ1bmN0aW9uU2NoZW1hLCBDaGF0VG9vbENhbGxTY2hlbWEsIENoYXRNZXNzYWdlU2NoZW1hLCBVTlNVUFBPUlRFRF9DSEFUX0ZJRUxEUywgQ2hhdENvbnRlbnRUb1RleHRPcHRpb25zU2NoZW1hIH0gZnJvbSBcIi4vc3JjL29wZW5haS1jaGF0LnRzXCI7XG5leHBvcnQgdHlwZSB7IENoYXRSb2xlLCBDaGF0Q29udGVudFBhcnQsIENoYXRUb29sQ2FsbEZ1bmN0aW9uLCBDaGF0VG9vbENhbGwsIENoYXRNZXNzYWdlLCBDaGF0Q29udGVudFRvVGV4dE9wdGlvbnMgfSBmcm9tIFwiLi9zcmMvb3BlbmFpLWNoYXQudHNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2V4cG9ydHMudHNcIjtcbiJdfQ==
@@ -99,6 +99,7 @@ export declare const ServingEndpointSummarySchema: z.ZodObject<{
99
99
  }, z.core.$strip>;
100
100
  export type ServingEndpointSummary = z.infer<typeof ServingEndpointSummarySchema>;
101
101
  export declare const ModelQuerySchema: z.ZodObject<{
102
+ name: z.ZodOptional<z.ZodString>;
102
103
  search: z.ZodOptional<z.ZodString>;
103
104
  modelClass: z.ZodOptional<z.ZodEnum<{
104
105
  "chat-thinking": "chat-thinking";
@@ -107,6 +108,19 @@ export declare const ModelQuerySchema: z.ZodObject<{
107
108
  embedding: "embedding";
108
109
  }>>;
109
110
  requiresTools: z.ZodOptional<z.ZodBoolean>;
111
+ task: z.ZodOptional<z.ZodString>;
112
+ dimension: z.ZodOptional<z.ZodNumber>;
113
+ minDimension: z.ZodOptional<z.ZodNumber>;
114
+ maxDimension: z.ZodOptional<z.ZodNumber>;
115
+ reasoningEffort: z.ZodOptional<z.ZodEnum<{
116
+ none: "none";
117
+ minimal: "minimal";
118
+ low: "low";
119
+ medium: "medium";
120
+ high: "high";
121
+ xhigh: "xhigh";
122
+ max: "max";
123
+ }>>;
110
124
  includeDeprecated: z.ZodOptional<z.ZodBoolean>;
111
125
  limit: z.ZodOptional<z.ZodNumber>;
112
126
  threshold: z.ZodOptional<z.ZodNumber>;
@@ -86,6 +86,7 @@ export const ServingEndpointSummarySchema = z
86
86
  .describe("Browser-safe normalized Model Serving endpoint metadata.");
87
87
  export const ModelQuerySchema = z
88
88
  .object({
89
+ name: z.string().optional().describe("Exact serving endpoint name to retain."),
89
90
  search: z
90
91
  .string()
91
92
  .optional()
@@ -95,6 +96,26 @@ export const ModelQuerySchema = z
95
96
  .boolean()
96
97
  .optional()
97
98
  .describe("When true, only endpoints that accept tools are returned."),
99
+ task: z.string().optional().describe("Exact Databricks serving task to retain."),
100
+ dimension: z
101
+ .number()
102
+ .int()
103
+ .positive()
104
+ .optional()
105
+ .describe("Exact embedding vector dimension to retain."),
106
+ minDimension: z
107
+ .number()
108
+ .int()
109
+ .positive()
110
+ .optional()
111
+ .describe("Minimum embedding vector dimension to retain."),
112
+ maxDimension: z
113
+ .number()
114
+ .int()
115
+ .positive()
116
+ .optional()
117
+ .describe("Maximum embedding vector dimension to retain."),
118
+ reasoningEffort: ReasoningEffortSchema.optional().describe("Reasoning effort that a retained endpoint must accept."),
98
119
  includeDeprecated: z
99
120
  .boolean()
100
121
  .optional()
@@ -234,4 +255,4 @@ export const ResolvedModelSelectionSchema = z
234
255
  .describe("Policy branch that selected this model."),
235
256
  })
236
257
  .describe("Selected model identifier and the policy branch that selected it.");
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQztLQUM5QixJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUNsRSxRQUFRLENBQUMsMERBQTBELENBQUMsQ0FBQztBQUl4RSx5REFBeUQ7QUFDekQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxXQUFXO0NBQ3VCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQztLQUNuQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNsRSxRQUFRLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztBQUk5RSw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsR0FBRyxFQUFFLEtBQUs7Q0FDd0MsQ0FBQztBQUVyRCxnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENB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QUM7U0FDVCxNQUFNLEVBQUU7U0FDUixHQUFHLENBQUMsQ0FBQyxDQUFDO1NBQ04sR0FBRyxDQUFDLENBQUMsQ0FBQztTQUNOLFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FBQyxnREFBZ0QsQ0FBQztJQUM3RCxhQUFhLEVBQUUsQ0FBQztTQUNiLE9BQU8sRUFBRTtTQUNULFFBQVEsRUFBRTtTQUNWLFFBQVEsQ0FBQyx5REFBeUQsQ0FBQztJQUN0RSxVQUFVLEVBQUUsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLENBQUMsUUFBUSxDQUM5QyxpRUFBaUUsQ0FDbEU7SUFDRCxTQUFTLEVBQUUsQ0FBQztTQUNULEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDakIsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLHNEQUFzRCxDQUFDO0lBQ25FLFFBQVEsRUFBRSxDQUFDO1NBQ1IsT0FBTyxFQUFFO1NBQ1QsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLHlEQUF5RCxDQUFDO0NBQ3ZFLENBQUM7S0FDRCxRQUFRLENBQUMsMkRBQTJELENBQUMsQ0FBQztBQUl6RSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDO0tBQzFDLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHVDQUF1QyxDQUFDO0lBQ3JFLE1BQU0sRUFBRSxDQUFDO1NBQ04sSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdEQsUUFBUSxDQUFDLHlDQUF5QyxDQUFDO0NBQ3ZELENBQUM7S0FDRCxRQUFRLENBQUMsbUVBQW1FLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJvd3Nlci1zYWZlIFpvZCBtb2RlbCBjb250cmFjdHMgc2hhcmVkIGFjcm9zcyBkYngtdG9vbHMgcnVudGltZXMuXG4gKlxuICogVGhpcyBtb2R1bGUgaXMgdGhlIHNpbmdsZSBvd25lciBmb3IgbW9kZWwgd2lyZSB2YWxpZGF0aW9uIGFuZCBUeXBlU2NyaXB0XG4gKiB0eXBlcy4gRGVmaW5lIHNjaGVtYXMgaGVyZSBhbmQgZGVyaXZlIGV4cG9ydGVkIHR5cGVzIHdpdGggYHouaW5mZXJgOyBkbyBub3RcbiAqIG1haW50YWluIHBhcmFsbGVsIGludGVyZmFjZXMgb3IgZ2VuZXJhdGVkIHNjaGVtYSBtaXJyb3JzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5leHBvcnQgY29uc3QgTW9kZWxDbGFzc1NjaGVtYSA9IHpcbiAgLmVudW0oW1wiY2hhdC10aGlua2luZ1wiLCBcImNoYXQtYmFsYW5jZWRcIiwgXCJjaGF0LWZhc3RcIiwgXCJlbWJlZGRpbmdcIl0pXG4gIC5kZXNjcmliZShcIkludGVudC1vcmllbnRlZCBEYXRhYnJpY2tzIE1vZGVsIFNlcnZpbmcgZW5kcG9pbnQgY2xhc3MuXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbENsYXNzID0gei5pbmZlcjx0eXBlb2YgTW9kZWxDbGFzc1NjaGVtYT47XG5cbi8qKiBOYW1lZCBydW50aW1lIHZhbHVlcyBmb3IgdGhlIG1vZGVsIGNsYXNzIGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsQ2xhc3MgPSB7XG4gIENoYXRUaGlua2luZzogXCJjaGF0LXRoaW5raW5nXCIsXG4gIENoYXRCYWxhbmNlZDogXCJjaGF0LWJhbGFuY2VkXCIsXG4gIENoYXRGYXN0OiBcImNoYXQtZmFzdFwiLFxuICBFbWJlZGRpbmc6IFwiZW1iZWRkaW5nXCIsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCBNb2RlbENsYXNzPjtcblxuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydFNjaGVtYSA9IHpcbiAgLmVudW0oW1wibm9uZVwiLCBcIm1pbmltYWxcIiwgXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCIsIFwieGhpZ2hcIiwgXCJtYXhcIl0pXG4gIC5kZXNjcmliZShcIlJlYXNvbmluZyBlZmZvcnQgdmFsdWUgYWNjZXB0ZWQgYnkgY29tcGF0aWJsZSBtb2RlbCBlbmRwb2ludHMuXCIpO1xuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdFZmZvcnQgPSB6LmluZmVyPHR5cGVvZiBSZWFzb25pbmdFZmZvcnRTY2hlbWE+O1xuXG4vKiogTmFtZWQgcnVudGltZSB2YWx1ZXMgZm9yIHRoZSByZWFzb25pbmcgZWZmb3J0IGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydCA9IHtcbiAgTm9uZTogXCJub25lXCIsXG4gIE1pbmltYWw6IFwibWluaW1hbFwiLFxuICBMb3c6IFwibG93XCIsXG4gIE1lZGl1bTogXCJtZWRpdW1cIixcbiAgSGlnaDogXCJoaWdoXCIsXG4gIFhoaWdoOiBcInhoaWdoXCIsXG4gIE1heDogXCJtYXhcIixcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIFJlYXNvbmluZ0VmZm9ydD47XG5cbi8qKiBFeGlzdGluZyBwdWJsaWMgbmFtZSBmb3IgcmVhc29uaW5nIGVmZm9ydCBydW50aW1lIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBSZWFzb25pbmdFZmZvcnRWYWx1ZXMgPSBSZWFzb25pbmdFZmZvcnQ7XG5cbmV4cG9ydCBjb25zdCBNb2RlbFByb2ZpbGVTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHF1YWxpdHk6IHoubnVtYmVyKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlJlbGF0aXZlIHF1YWxpdHkgc2NvcmUgZm9yIHJhbmtpbmcuXCIpLFxuICAgIHNwZWVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSBzcGVlZCBzY29yZSBmb3IgcmFua2luZy5cIiksXG4gICAgY29zdDogei5udW1iZXIoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiUmVsYXRpdmUgY29zdCBzY29yZSBmb3IgcmFua2luZy5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIlJlbGF0aXZlIHF1YWxpdHksIHNwZWVkLCBhbmQgY29zdCBzY29yZXMgZm9yIGFuIGVuZHBvaW50LlwiKTtcblxuZXhwb3J0IHR5cGUgTW9kZWxQcm9maWxlID0gei5pbmZlcjx0eXBlb2YgTW9kZWxQcm9maWxlU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IE1vZGVsU3RhdHVzU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBkZXByZWNhdGVkOiB6XG4gICAgICAuYm9vbGVhbigpXG4gICAgICAuZGVmYXVsdChmYWxzZSlcbiAgICAgIC5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgbW9kZWwgc2hvdWxkIG5vIGxvbmdlciBiZSBzZWxlY3RlZCBieSBkZWZhdWx0LlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiTW9kZWwgcmV0aXJlbWVudCBzdGF0dXMuXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbFN0YXR1cyA9IHouaW5mZXI8dHlwZW9mIE1vZGVsU3RhdHVzU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG5hbWU6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJTZXJ2aW5nIGVuZHBvaW50IGludm9rZSBpZC5cIiksXG4gICAgZGlzcGxheU5hbWU6IHpcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIkh1bWFuLXJlYWRhYmxlIGxhYmVsIHdoZW4gdGhlIHdvcmtzcGFjZSBwcm92aWRlcyBvbmUuXCIpLFxuICAgIGZhbWlseTogelxuICAgICAgLnN0cmluZygpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiRGV0ZWN0ZWQgbW9kZWwgZmFtaWx5IHVzZWQgZm9yIGdyb3VwaW5nIGFuZCBzb3J0IG9yZGVyLlwiKSxcbiAgICB0YXNrOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJEYXRhYnJpY2tzIHNlcnZpbmcgdGFzayByZXBvcnRlZCBmb3IgdGhlIGVuZHBvaW50LlwiKSxcbiAgICBzdGF0ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiU2VydmluZyBlbmRwb2ludCBsaWZlY3ljbGUgc3RhdGUuXCIpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJXb3Jrc3BhY2UtcHJvdmlkZWQgZW5kcG9pbnQgZGVzY3JpcHRpb24uXCIpLFxuICAgIHN1cHBvcnRzVG9vbHM6IHouYm9vbGVhbigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIGVuZHBvaW50IGFjY2VwdHMgdG9vbCBjYWxscy5cIiksXG4gICAgcHJvZmlsZTogTW9kZWxQcm9maWxlU2NoZW1hLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSBxdWFsaXR5LCBzcGVlZCwgYW5kIGNvc3Qgc2NvcmVzLlwiKSxcbiAgICBjbGFzczogTW9kZWxDbGFzc1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiSW50ZW50LW9yaWVudGVkIGNsYXNzIGFzc2lnbmVkIHRvIHRoaXMgZW5kcG9pbnQuXCIpLFxuICAgIHNlcnZpY2VOYW1lczogelxuICAgICAgLnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIlByb3ZpZGVyLXNwZWNpZmljIHNlcnZpY2UgbmFtZSBhbGlhc2VzIGtleWVkIGJ5IHByb3RvY29sLlwiKSxcbiAgICBtb2RlbFNlcnZpY2VOYW1lOiB6XG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJDYW5vbmljYWwgbW9kZWwtc2VydmljZSBuYW1lIHVzZWQgZm9yIG1ldGFkYXRhIGxvb2t1cC5cIiksXG4gICAgcmVhc29uaW5nRWZmb3J0czogelxuICAgICAgLmFycmF5KFJlYXNvbmluZ0VmZm9ydFNjaGVtYSlcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJSZWFzb25pbmcgZWZmb3J0IHZhbHVlcyB0aGlzIGVuZHBvaW50IGFjY2VwdHMuXCIpLFxuICAgIHN0YXR1czogTW9kZWxTdGF0dXNTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcIlJldGlyZW1lbnQgc3RhdHVzIGZvciB0aGlzIGVuZHBvaW50LlwiKSxcbiAgICBkaW1lbnNpb246IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIkVtYmVkZGluZyB2ZWN0b3Igc2l6ZSB3aGVuIHRoZSBlbmRwb2ludCBpcyBhbiBlbWJlZGRpbmcgbW9kZWwuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJCcm93c2VyLXNhZmUgbm9ybWFsaXplZCBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50IG1ldGFkYXRhLlwiKTtcblxuZXhwb3J0IHR5cGUgU2VydmluZ0VuZHBvaW50U3VtbWFyeSA9IHouaW5mZXI8dHlwZW9mIFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgTW9kZWxRdWVyeVNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgc2VhcmNoOiB6XG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJGcmVlLXRleHQgcXVlcnkgbWF0Y2hlZCBhZ2FpbnN0IGVuZHBvaW50IG5hbWVzIGFuZCBsYWJlbHMuXCIpLFxuICAgIG1vZGVsQ2xhc3M6IE1vZGVsQ2xhc3NTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICAgIFwiUmVzdHJpY3QgcmVzdWx0cyB0byB0aGlzIGludGVudC1vcmllbnRlZCBjbGFzcy5cIixcbiAgICApLFxuICAgIHJlcXVpcmVzVG9vbHM6IHpcbiAgICAgIC5ib29sZWFuKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJXaGVuIHRydWUsIG9ubHkgZW5kcG9pbnRzIHRoYXQgYWNjZXB0IHRvb2xzIGFyZSByZXR1cm5lZC5cIiksXG4gICAgaW5jbHVkZURlcHJlY2F0ZWQ6IHpcbiAgICAgIC5ib29sZWFuKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJXaGVuIHRydWUsIHJldGlyZWQgZW5kcG9pbnRzIHJlbWFpbiBpbiB0aGUgcmVzdWx0IHNldC5cIiksXG4gICAgbGltaXQ6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLmludCgpXG4gICAgICAubWluKDEpXG4gICAgICAubWF4KDUwKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIk1heGltdW0gbnVtYmVyIG9mIHJhbmtlZCByZXN1bHRzIHRvIHJldHVybi5cIiksXG4gICAgdGhyZXNob2xkOiB6XG4gICAgICAubnVtYmVyKClcbiAgICAgIC5taW4oMClcbiAgICAgIC5tYXgoMSlcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJNaW5pbXVtIGZ1enp5LW1hdGNoIHNjb3JlIGluIHRoZSByYW5nZSAwIHRvIDEuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJCcm93c2VyLXNhZmUgbW9kZWwgY2F0YWxvZ3VlIHNlYXJjaCBhbmQgcmFua2luZyBjb250cm9scy5cIik7XG5cbmV4cG9ydCB0eXBlIE1vZGVsUXVlcnkgPSB6LmluZmVyPHR5cGVvZiBNb2RlbFF1ZXJ5U2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IFJhbmtlZE1vZGVsU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBlbmRwb2ludDogU2VydmluZ0VuZHBvaW50U3VtbWFyeVNjaGVtYS5kZXNjcmliZShcIk5vcm1hbGl6ZWQgZW5kcG9pbnQgY2hvc2VuIGZvciB0aGlzIHJlc3VsdC5cIiksXG4gICAgbW9kZWxDbGFzczogTW9kZWxDbGFzc1NjaGVtYS5kZXNjcmliZShcIkNsYXNzIHVzZWQgdG8gcmFuayB0aGlzIHJlc3VsdC5cIiksXG4gICAgc2NvcmU6IHoubnVtYmVyKCkubWluKDApLm1heCgxKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiRnV6enktbWF0Y2ggc2NvcmUgaW4gdGhlIHJhbmdlIDAgdG8gMS5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIk9uZSByYW5rZWQgbW9kZWwtc2VhcmNoIHJlc3VsdC5cIik7XG5cbmV4cG9ydCB0eXBlIFJhbmtlZE1vZGVsID0gei5pbmZlcjx0eXBlb2YgUmFua2VkTW9kZWxTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgRW5kcG9pbnRDYXBhYmlsaXRpZXNTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGNoYXQ6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIHRoZSBlbmRwb2ludCBjYW4gc2VydmUgY2hhdCBjb21wbGV0aW9ucy5cIiksXG4gICAgZW1iZWRkaW5nOiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgZW5kcG9pbnQgY2FuIHNlcnZlIGVtYmVkZGluZ3MuXCIpLFxuICAgIHRvb2xzOiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgZW5kcG9pbnQgYWNjZXB0cyB0b29sIGNhbGxzLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiQ2FwYWJpbGl0aWVzIGRlcml2ZWQgZnJvbSBvbmUgbm9ybWFsaXplZCBzZXJ2aW5nIGVuZHBvaW50LlwiKTtcblxuZXhwb3J0IHR5cGUgRW5kcG9pbnRDYXBhYmlsaXRpZXMgPSB6LmluZmVyPHR5cGVvZiBFbmRwb2ludENhcGFiaWxpdGllc1NjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBGYW1pbHlDbGFzc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgY2xhc3M6IE1vZGVsQ2xhc3NTY2hlbWEuZGVzY3JpYmUoXCJGYWxsYmFjayBjbGFzcyBmb3IgYW4gdW5zY29yZWQgcmVjb2duaXplZCBmYW1pbHkuXCIpLFxuICAgIHJhbms6IHoubnVtYmVyKCkubWluKDApLmRlc2NyaWJlKFwiUmVsYXRpdmUgcmFuayBhbW9uZyBmYW1pbHkgZmFsbGJhY2tzLCBzdGFydGluZyBhdCAwLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiRmFsbGJhY2sgY2xhc3MgYW5kIHJhbmsgZm9yIGFuIHVuc2NvcmVkIHJlY29nbml6ZWQgbW9kZWwgZmFtaWx5LlwiKTtcblxuZXhwb3J0IHR5cGUgRmFtaWx5Q2xhc3MgPSB6LmluZmVyPHR5cGVvZiBGYW1pbHlDbGFzc1NjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBNb2RlbENhcGFiaWxpdGllc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgcmVzcG9uc2VzOiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgbW9kZWwgc3VwcG9ydHMgdGhlIFJlc3BvbnNlcyBBUEkuXCIpLFxuICAgIGltYWdlSW5wdXQ6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIHRoZSBtb2RlbCBhY2NlcHRzIGltYWdlIGlucHV0cy5cIiksXG4gICAgYXBwbHlQYXRjaDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIG1vZGVsIHN1cHBvcnRzIHRoZSBhcHBseS1wYXRjaCB0b29sLlwiKSxcbiAgICB3ZWJTZWFyY2g6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIHRoZSBtb2RlbCBzdXBwb3J0cyB3ZWIgc2VhcmNoLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiRG9jdW1lbnRlZCBjYXBhYmlsaXRpZXMgcmVzb2x2ZWQgZm9yIG9uZSBtb2RlbCBpZGVudGl0eS5cIik7XG5cbmV4cG9ydCB0eXBlIE1vZGVsQ2FwYWJpbGl0aWVzID0gei5pbmZlcjx0eXBlb2YgTW9kZWxDYXBhYmlsaXRpZXNTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgTW9kZWxSYXRlTGltaXRzU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBpbnB1dFRva2Vuc1Blck1pbnV0ZTogelxuICAgICAgLm51bWJlcigpXG4gICAgICAuaW50KClcbiAgICAgIC5taW4oMClcbiAgICAgIC5udWxsYWJsZSgpXG4gICAgICAuZGVzY3JpYmUoXCJQdWJsaXNoZWQgaW5wdXQgdG9rZW5zIHBlciBtaW51dGUsIG9yIG51bGwgd2hlbiB1bnB1Ymxpc2hlZC5cIiksXG4gICAgb3V0cHV0VG9rZW5zUGVyTWludXRlOiB6XG4gICAgICAubnVtYmVyKClcbiAgICAgIC5pbnQoKVxuICAgICAgLm1pbigwKVxuICAgICAgLm51bGxhYmxlKClcbiAgICAgIC5kZXNjcmliZShcIlB1Ymxpc2hlZCBvdXRwdXQgdG9rZW5zIHBlciBtaW51dGUsIG9yIG51bGwgd2hlbiB1bnB1Ymxpc2hlZC5cIiksXG4gICAgcXVlcmllc1BlckhvdXI6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLmludCgpXG4gICAgICAubWluKDApXG4gICAgICAubnVsbGFibGUoKVxuICAgICAgLmRlc2NyaWJlKFwiUHVibGlzaGVkIHF1ZXJpZXMgcGVyIGhvdXIsIG9yIG51bGwgd2hlbiB1bnB1Ymxpc2hlZC5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIlB1Ymxpc2hlZCBwYXktcGVyLXRva2VuIGxpbWl0cyBmb3Igb25lIG1vZGVsLlwiKTtcblxuZXhwb3J0IHR5cGUgTW9kZWxSYXRlTGltaXRzID0gei5pbmZlcjx0eXBlb2YgTW9kZWxSYXRlTGltaXRzU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IE1vZGVsTWV0YWRhdGFTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHN0YXR1czogTW9kZWxTdGF0dXNTY2hlbWEuZGVzY3JpYmUoXCJSZXRpcmVtZW50IHN0YXR1cyBmb3IgdGhpcyBtb2RlbCBpZGVudGl0eS5cIiksXG4gICAgY2FwYWJpbGl0aWVzOiBNb2RlbENhcGFiaWxpdGllc1NjaGVtYS5kZXNjcmliZShcbiAgICAgIFwiRG9jdW1lbnRlZCBjYXBhYmlsaXRpZXMgZm9yIHRoaXMgbW9kZWwgaWRlbnRpdHkuXCIsXG4gICAgKSxcbiAgICByYXRlTGltaXRzOiBNb2RlbFJhdGVMaW1pdHNTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcIlB1Ymxpc2hlZCByYXRlIGxpbWl0cyB3aGVuIGF2YWlsYWJsZS5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIkNvbWJpbmVkIHJldGlyZW1lbnQsIGNhcGFiaWxpdHksIGFuZCByYXRlLWxpbWl0IG1ldGFkYXRhLlwiKTtcblxuZXhwb3J0IHR5cGUgTW9kZWxNZXRhZGF0YSA9IHouaW5mZXI8dHlwZW9mIE1vZGVsTWV0YWRhdGFTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgUmVzb2x2ZWRNb2RlbFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgbW9kZWxJZDogei5zdHJpbmcoKS5kZXNjcmliZShcIlJlc29sdmVkIHNlcnZpbmcgZW5kcG9pbnQgb3IgbW9kZWwgaWRlbnRpZmllci5cIiksXG4gICAgbWF0Y2hlZDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIGlkZW50aWZpZXIgbWF0Y2hlZCBhIGNhdGFsb2d1ZSBlbnRyeS5cIiksXG4gICAgc2NvcmU6IHoubnVtYmVyKCkubWluKDApLm1heCgxKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiRnV6enktbWF0Y2ggc2NvcmUgaW4gdGhlIHJhbmdlIDAgdG8gMS5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIlJlc3VsdCBvZiByZXNvbHZpbmcgYSBmdXp6eSBtb2RlbCBpZGVudGlmaWVyLlwiKTtcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZWRNb2RlbCA9IHouaW5mZXI8dHlwZW9mIFJlc29sdmVkTW9kZWxTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgUmVzb2x2ZU1vZGVsT3B0aW9uc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgdGhyZXNob2xkOiB6XG4gICAgICAubnVtYmVyKClcbiAgICAgIC5taW4oMClcbiAgICAgIC5tYXgoMSlcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJNaW5pbXVtIGZ1enp5LW1hdGNoIHNjb3JlIGluIHRoZSByYW5nZSAwIHRvIDEuXCIpLFxuICAgIHJlcXVpcmVzVG9vbHM6IHpcbiAgICAgIC5ib29sZWFuKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJXaGVuIHRydWUsIG9ubHkgdG9vbC1jYXBhYmxlIGVuZHBvaW50cyBtYXkgbWF0Y2guXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJQdXJlIGNvbnRyb2xzIGZvciBmdXp6eSBlbmRwb2ludCByZXNvbHV0aW9uLlwiKTtcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZU1vZGVsT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIFJlc29sdmVNb2RlbE9wdGlvbnNTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgU2NvcmVkRW5kcG9pbnRTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGVuZHBvaW50OiBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hLmRlc2NyaWJlKFwiQ2FuZGlkYXRlIHNlcnZpbmcgZW5kcG9pbnQuXCIpLFxuICAgIHNjb3JlOiB6Lm51bWJlcigpLm1pbigwKS5tYXgoMSkuZGVzY3JpYmUoXCJGdXp6eS1tYXRjaCBkaXN0YW5jZSBpbiB0aGUgcmFuZ2UgMCB0byAxLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiT25lIGVuZHBvaW50IHBhaXJlZCB3aXRoIGl0cyBmdXp6eS1tYXRjaCBkaXN0YW5jZS5cIik7XG5cbmV4cG9ydCB0eXBlIFNjb3JlZEVuZHBvaW50ID0gei5pbmZlcjx0eXBlb2YgU2NvcmVkRW5kcG9pbnRTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgUmVzb2x2ZU1vZGVsSW5wdXRTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGV4cGxpY2l0OiB6XG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJFeGFjdCBtb2RlbCBpZCBvciBkaXNwbGF5IG5hbWUgc3VwcGxpZWQgYnkgdGhlIGNhbGxlci5cIiksXG4gICAgZnV6enk6IHouYm9vbGVhbigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJXaGVuIHRydWUsIHVubWF0Y2hlZCBleHBsaWNpdCB2YWx1ZXMgbWF5IGZ1enp5LW1hdGNoLlwiKSxcbiAgICB0aHJlc2hvbGQ6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLm1pbigwKVxuICAgICAgLm1heCgxKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIk1pbmltdW0gZnV6enktbWF0Y2ggc2NvcmUgaW4gdGhlIHJhbmdlIDAgdG8gMS5cIiksXG4gICAgcmVxdWlyZXNUb29sczogelxuICAgICAgLmJvb2xlYW4oKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIldoZW4gdHJ1ZSwgb25seSB0b29sLWNhcGFibGUgZW5kcG9pbnRzIG1heSBiZSBzZWxlY3RlZC5cIiksXG4gICAgbW9kZWxDbGFzczogTW9kZWxDbGFzc1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFxuICAgICAgXCJQcmVmZXJyZWQgaW50ZW50LW9yaWVudGVkIGNsYXNzIHdoZW4gbm8gZXhwbGljaXQgbW9kZWwgbWF0Y2hlcy5cIixcbiAgICApLFxuICAgIGZhbGxiYWNrczogelxuICAgICAgLmFycmF5KHouc3RyaW5nKCkpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiT3JkZXJlZCBtb2RlbCBpZHMgdHJpZWQgYWZ0ZXIgY2xhc3Mgc2VsZWN0aW9uIGZhaWxzLlwiKSxcbiAgICBsaXZlT25seTogelxuICAgICAgLmJvb2xlYW4oKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIldoZW4gdHJ1ZSwgc2tpcCBlbmRwb2ludHMgdGhhdCBhcmUgbm90IGN1cnJlbnRseSByZWFkeS5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIkNhbGxlciBpbnRlbnQgdXNlZCB0byByZXNvbHZlIG9uZSBtb2RlbCBmcm9tIGEgY2F0YWxvZ3VlLlwiKTtcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZU1vZGVsSW5wdXQgPSB6LmluZmVyPHR5cGVvZiBSZXNvbHZlTW9kZWxJbnB1dFNjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBSZXNvbHZlZE1vZGVsU2VsZWN0aW9uU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBtb2RlbElkOiB6LnN0cmluZygpLmRlc2NyaWJlKFwiU2VsZWN0ZWQgc2VydmluZyBlbmRwb2ludCBpZGVudGlmaWVyLlwiKSxcbiAgICBzb3VyY2U6IHpcbiAgICAgIC5lbnVtKFtcImV4cGxpY2l0XCIsIFwiZnV6enktbWF0Y2hcIiwgXCJjbGFzc1wiLCBcImZhbGxiYWNrXCJdKVxuICAgICAgLmRlc2NyaWJlKFwiUG9saWN5IGJyYW5jaCB0aGF0IHNlbGVjdGVkIHRoaXMgbW9kZWwuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJTZWxlY3RlZCBtb2RlbCBpZGVudGlmaWVyIGFuZCB0aGUgcG9saWN5IGJyYW5jaCB0aGF0IHNlbGVjdGVkIGl0LlwiKTtcblxuZXhwb3J0IHR5cGUgUmVzb2x2ZWRNb2RlbFNlbGVjdGlvbiA9IHouaW5mZXI8dHlwZW9mIFJlc29sdmVkTW9kZWxTZWxlY3Rpb25TY2hlbWE+O1xuIl19
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJhY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRyYWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFFeEIsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQztLQUM5QixJQUFJLENBQUMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUMsQ0FBQztLQUNsRSxRQUFRLENBQUMsMERBQTBELENBQUMsQ0FBQztBQUl4RSx5REFBeUQ7QUFDekQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHO0lBQ3hCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFlBQVksRUFBRSxlQUFlO0lBQzdCLFFBQVEsRUFBRSxXQUFXO0lBQ3JCLFNBQVMsRUFBRSxXQUFXO0NBQ3VCLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQztLQUNuQyxJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsQ0FBQztLQUNsRSxRQUFRLENBQUMsZ0VBQWdFLENBQUMsQ0FBQztBQUk5RSw4REFBOEQ7QUFDOUQsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHO0lBQzdCLElBQUksRUFBRSxNQUFNO0lBQ1osT0FBTyxFQUFFLFNBQVM7SUFDbEIsR0FBRyxFQUFFLEtBQUs7SUFDVixNQUFNLEVBQUUsUUFBUTtJQUNoQixJQUFJLEVBQUUsTUFBTTtJQUNaLEtBQUssRUFBRSxPQUFPO0lBQ2QsR0FBRyxFQUFFLEtBQUs7Q0FDd0MsQ0FBQztBQUVyRCxnRUFBZ0U7QUFDaEUsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsZUFBZSxDQUFDO0FBRXJELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENB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QUFDO0lBQ25FLFFBQVEsRUFBRSxDQUFDO1NBQ1IsT0FBTyxFQUFFO1NBQ1QsUUFBUSxFQUFFO1NBQ1YsUUFBUSxDQUFDLHlEQUF5RCxDQUFDO0NBQ3ZFLENBQUM7S0FDRCxRQUFRLENBQUMsMkRBQTJELENBQUMsQ0FBQztBQUl6RSxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxDQUFDO0tBQzFDLE1BQU0sQ0FBQztJQUNOLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLHVDQUF1QyxDQUFDO0lBQ3JFLE1BQU0sRUFBRSxDQUFDO1NBQ04sSUFBSSxDQUFDLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDdEQsUUFBUSxDQUFDLHlDQUF5QyxDQUFDO0NBQ3ZELENBQUM7S0FDRCxRQUFRLENBQUMsbUVBQW1FLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQnJvd3Nlci1zYWZlIFpvZCBtb2RlbCBjb250cmFjdHMgc2hhcmVkIGFjcm9zcyBkYngtdG9vbHMgcnVudGltZXMuXG4gKlxuICogVGhpcyBtb2R1bGUgaXMgdGhlIHNpbmdsZSBvd25lciBmb3IgbW9kZWwgd2lyZSB2YWxpZGF0aW9uIGFuZCBUeXBlU2NyaXB0XG4gKiB0eXBlcy4gRGVmaW5lIHNjaGVtYXMgaGVyZSBhbmQgZGVyaXZlIGV4cG9ydGVkIHR5cGVzIHdpdGggYHouaW5mZXJgOyBkbyBub3RcbiAqIG1haW50YWluIHBhcmFsbGVsIGludGVyZmFjZXMgb3IgZ2VuZXJhdGVkIHNjaGVtYSBtaXJyb3JzLlxuICpcbiAqIEBtb2R1bGVcbiAqL1xuXG5pbXBvcnQgeyB6IH0gZnJvbSBcInpvZFwiO1xuXG5leHBvcnQgY29uc3QgTW9kZWxDbGFzc1NjaGVtYSA9IHpcbiAgLmVudW0oW1wiY2hhdC10aGlua2luZ1wiLCBcImNoYXQtYmFsYW5jZWRcIiwgXCJjaGF0LWZhc3RcIiwgXCJlbWJlZGRpbmdcIl0pXG4gIC5kZXNjcmliZShcIkludGVudC1vcmllbnRlZCBEYXRhYnJpY2tzIE1vZGVsIFNlcnZpbmcgZW5kcG9pbnQgY2xhc3MuXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbENsYXNzID0gei5pbmZlcjx0eXBlb2YgTW9kZWxDbGFzc1NjaGVtYT47XG5cbi8qKiBOYW1lZCBydW50aW1lIHZhbHVlcyBmb3IgdGhlIG1vZGVsIGNsYXNzIGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IE1vZGVsQ2xhc3MgPSB7XG4gIENoYXRUaGlua2luZzogXCJjaGF0LXRoaW5raW5nXCIsXG4gIENoYXRCYWxhbmNlZDogXCJjaGF0LWJhbGFuY2VkXCIsXG4gIENoYXRGYXN0OiBcImNoYXQtZmFzdFwiLFxuICBFbWJlZGRpbmc6IFwiZW1iZWRkaW5nXCIsXG59IGFzIGNvbnN0IHNhdGlzZmllcyBSZWNvcmQ8c3RyaW5nLCBNb2RlbENsYXNzPjtcblxuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydFNjaGVtYSA9IHpcbiAgLmVudW0oW1wibm9uZVwiLCBcIm1pbmltYWxcIiwgXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCIsIFwieGhpZ2hcIiwgXCJtYXhcIl0pXG4gIC5kZXNjcmliZShcIlJlYXNvbmluZyBlZmZvcnQgdmFsdWUgYWNjZXB0ZWQgYnkgY29tcGF0aWJsZSBtb2RlbCBlbmRwb2ludHMuXCIpO1xuXG5leHBvcnQgdHlwZSBSZWFzb25pbmdFZmZvcnQgPSB6LmluZmVyPHR5cGVvZiBSZWFzb25pbmdFZmZvcnRTY2hlbWE+O1xuXG4vKiogTmFtZWQgcnVudGltZSB2YWx1ZXMgZm9yIHRoZSByZWFzb25pbmcgZWZmb3J0IGNvbnRyYWN0LiAqL1xuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ0VmZm9ydCA9IHtcbiAgTm9uZTogXCJub25lXCIsXG4gIE1pbmltYWw6IFwibWluaW1hbFwiLFxuICBMb3c6IFwibG93XCIsXG4gIE1lZGl1bTogXCJtZWRpdW1cIixcbiAgSGlnaDogXCJoaWdoXCIsXG4gIFhoaWdoOiBcInhoaWdoXCIsXG4gIE1heDogXCJtYXhcIixcbn0gYXMgY29uc3Qgc2F0aXNmaWVzIFJlY29yZDxzdHJpbmcsIFJlYXNvbmluZ0VmZm9ydD47XG5cbi8qKiBFeGlzdGluZyBwdWJsaWMgbmFtZSBmb3IgcmVhc29uaW5nIGVmZm9ydCBydW50aW1lIHZhbHVlcy4gKi9cbmV4cG9ydCBjb25zdCBSZWFzb25pbmdFZmZvcnRWYWx1ZXMgPSBSZWFzb25pbmdFZmZvcnQ7XG5cbmV4cG9ydCBjb25zdCBNb2RlbFByb2ZpbGVTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHF1YWxpdHk6IHoubnVtYmVyKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIlJlbGF0aXZlIHF1YWxpdHkgc2NvcmUgZm9yIHJhbmtpbmcuXCIpLFxuICAgIHNwZWVkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSBzcGVlZCBzY29yZSBmb3IgcmFua2luZy5cIiksXG4gICAgY29zdDogei5udW1iZXIoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiUmVsYXRpdmUgY29zdCBzY29yZSBmb3IgcmFua2luZy5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIlJlbGF0aXZlIHF1YWxpdHksIHNwZWVkLCBhbmQgY29zdCBzY29yZXMgZm9yIGFuIGVuZHBvaW50LlwiKTtcblxuZXhwb3J0IHR5cGUgTW9kZWxQcm9maWxlID0gei5pbmZlcjx0eXBlb2YgTW9kZWxQcm9maWxlU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IE1vZGVsU3RhdHVzU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBkZXByZWNhdGVkOiB6XG4gICAgICAuYm9vbGVhbigpXG4gICAgICAuZGVmYXVsdChmYWxzZSlcbiAgICAgIC5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgbW9kZWwgc2hvdWxkIG5vIGxvbmdlciBiZSBzZWxlY3RlZCBieSBkZWZhdWx0LlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiTW9kZWwgcmV0aXJlbWVudCBzdGF0dXMuXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbFN0YXR1cyA9IHouaW5mZXI8dHlwZW9mIE1vZGVsU3RhdHVzU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG5hbWU6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJTZXJ2aW5nIGVuZHBvaW50IGludm9rZSBpZC5cIiksXG4gICAgZGlzcGxheU5hbWU6IHpcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIkh1bWFuLXJlYWRhYmxlIGxhYmVsIHdoZW4gdGhlIHdvcmtzcGFjZSBwcm92aWRlcyBvbmUuXCIpLFxuICAgIGZhbWlseTogelxuICAgICAgLnN0cmluZygpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiRGV0ZWN0ZWQgbW9kZWwgZmFtaWx5IHVzZWQgZm9yIGdyb3VwaW5nIGFuZCBzb3J0IG9yZGVyLlwiKSxcbiAgICB0YXNrOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJEYXRhYnJpY2tzIHNlcnZpbmcgdGFzayByZXBvcnRlZCBmb3IgdGhlIGVuZHBvaW50LlwiKSxcbiAgICBzdGF0ZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiU2VydmluZyBlbmRwb2ludCBsaWZlY3ljbGUgc3RhdGUuXCIpLFxuICAgIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJXb3Jrc3BhY2UtcHJvdmlkZWQgZW5kcG9pbnQgZGVzY3JpcHRpb24uXCIpLFxuICAgIHN1cHBvcnRzVG9vbHM6IHouYm9vbGVhbigpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIGVuZHBvaW50IGFjY2VwdHMgdG9vbCBjYWxscy5cIiksXG4gICAgcHJvZmlsZTogTW9kZWxQcm9maWxlU2NoZW1hLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSBxdWFsaXR5LCBzcGVlZCwgYW5kIGNvc3Qgc2NvcmVzLlwiKSxcbiAgICBjbGFzczogTW9kZWxDbGFzc1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiSW50ZW50LW9yaWVudGVkIGNsYXNzIGFzc2lnbmVkIHRvIHRoaXMgZW5kcG9pbnQuXCIpLFxuICAgIHNlcnZpY2VOYW1lczogelxuICAgICAgLnJlY29yZCh6LnN0cmluZygpLCB6LnN0cmluZygpKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIlByb3ZpZGVyLXNwZWNpZmljIHNlcnZpY2UgbmFtZSBhbGlhc2VzIGtleWVkIGJ5IHByb3RvY29sLlwiKSxcbiAgICBtb2RlbFNlcnZpY2VOYW1lOiB6XG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJDYW5vbmljYWwgbW9kZWwtc2VydmljZSBuYW1lIHVzZWQgZm9yIG1ldGFkYXRhIGxvb2t1cC5cIiksXG4gICAgcmVhc29uaW5nRWZmb3J0czogelxuICAgICAgLmFycmF5KFJlYXNvbmluZ0VmZm9ydFNjaGVtYSlcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJSZWFzb25pbmcgZWZmb3J0IHZhbHVlcyB0aGlzIGVuZHBvaW50IGFjY2VwdHMuXCIpLFxuICAgIHN0YXR1czogTW9kZWxTdGF0dXNTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcIlJldGlyZW1lbnQgc3RhdHVzIGZvciB0aGlzIGVuZHBvaW50LlwiKSxcbiAgICBkaW1lbnNpb246IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIkVtYmVkZGluZyB2ZWN0b3Igc2l6ZSB3aGVuIHRoZSBlbmRwb2ludCBpcyBhbiBlbWJlZGRpbmcgbW9kZWwuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJCcm93c2VyLXNhZmUgbm9ybWFsaXplZCBNb2RlbCBTZXJ2aW5nIGVuZHBvaW50IG1ldGFkYXRhLlwiKTtcblxuZXhwb3J0IHR5cGUgU2VydmluZ0VuZHBvaW50U3VtbWFyeSA9IHouaW5mZXI8dHlwZW9mIFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgTW9kZWxRdWVyeVNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgbmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiRXhhY3Qgc2VydmluZyBlbmRwb2ludCBuYW1lIHRvIHJldGFpbi5cIiksXG4gICAgc2VhcmNoOiB6XG4gICAgICAuc3RyaW5nKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJGcmVlLXRleHQgcXVlcnkgbWF0Y2hlZCBhZ2FpbnN0IGVuZHBvaW50IG5hbWVzIGFuZCBsYWJlbHMuXCIpLFxuICAgIG1vZGVsQ2xhc3M6IE1vZGVsQ2xhc3NTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICAgIFwiUmVzdHJpY3QgcmVzdWx0cyB0byB0aGlzIGludGVudC1vcmllbnRlZCBjbGFzcy5cIixcbiAgICApLFxuICAgIHJlcXVpcmVzVG9vbHM6IHpcbiAgICAgIC5ib29sZWFuKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJXaGVuIHRydWUsIG9ubHkgZW5kcG9pbnRzIHRoYXQgYWNjZXB0IHRvb2xzIGFyZSByZXR1cm5lZC5cIiksXG4gICAgdGFzazogei5zdHJpbmcoKS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiRXhhY3QgRGF0YWJyaWNrcyBzZXJ2aW5nIHRhc2sgdG8gcmV0YWluLlwiKSxcbiAgICBkaW1lbnNpb246IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLmludCgpXG4gICAgICAucG9zaXRpdmUoKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIkV4YWN0IGVtYmVkZGluZyB2ZWN0b3IgZGltZW5zaW9uIHRvIHJldGFpbi5cIiksXG4gICAgbWluRGltZW5zaW9uOiB6XG4gICAgICAubnVtYmVyKClcbiAgICAgIC5pbnQoKVxuICAgICAgLnBvc2l0aXZlKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJNaW5pbXVtIGVtYmVkZGluZyB2ZWN0b3IgZGltZW5zaW9uIHRvIHJldGFpbi5cIiksXG4gICAgbWF4RGltZW5zaW9uOiB6XG4gICAgICAubnVtYmVyKClcbiAgICAgIC5pbnQoKVxuICAgICAgLnBvc2l0aXZlKClcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJNYXhpbXVtIGVtYmVkZGluZyB2ZWN0b3IgZGltZW5zaW9uIHRvIHJldGFpbi5cIiksXG4gICAgcmVhc29uaW5nRWZmb3J0OiBSZWFzb25pbmdFZmZvcnRTY2hlbWEub3B0aW9uYWwoKS5kZXNjcmliZShcbiAgICAgIFwiUmVhc29uaW5nIGVmZm9ydCB0aGF0IGEgcmV0YWluZWQgZW5kcG9pbnQgbXVzdCBhY2NlcHQuXCIsXG4gICAgKSxcbiAgICBpbmNsdWRlRGVwcmVjYXRlZDogelxuICAgICAgLmJvb2xlYW4oKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIldoZW4gdHJ1ZSwgcmV0aXJlZCBlbmRwb2ludHMgcmVtYWluIGluIHRoZSByZXN1bHQgc2V0LlwiKSxcbiAgICBsaW1pdDogelxuICAgICAgLm51bWJlcigpXG4gICAgICAuaW50KClcbiAgICAgIC5taW4oMSlcbiAgICAgIC5tYXgoNTApXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiTWF4aW11bSBudW1iZXIgb2YgcmFua2VkIHJlc3VsdHMgdG8gcmV0dXJuLlwiKSxcbiAgICB0aHJlc2hvbGQ6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLm1pbigwKVxuICAgICAgLm1heCgxKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIk1pbmltdW0gZnV6enktbWF0Y2ggc2NvcmUgaW4gdGhlIHJhbmdlIDAgdG8gMS5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIkJyb3dzZXItc2FmZSBtb2RlbCBjYXRhbG9ndWUgc2VhcmNoIGFuZCByYW5raW5nIGNvbnRyb2xzLlwiKTtcblxuZXhwb3J0IHR5cGUgTW9kZWxRdWVyeSA9IHouaW5mZXI8dHlwZW9mIE1vZGVsUXVlcnlTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgUmFua2VkTW9kZWxTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGVuZHBvaW50OiBTZXJ2aW5nRW5kcG9pbnRTdW1tYXJ5U2NoZW1hLmRlc2NyaWJlKFwiTm9ybWFsaXplZCBlbmRwb2ludCBjaG9zZW4gZm9yIHRoaXMgcmVzdWx0LlwiKSxcbiAgICBtb2RlbENsYXNzOiBNb2RlbENsYXNzU2NoZW1hLmRlc2NyaWJlKFwiQ2xhc3MgdXNlZCB0byByYW5rIHRoaXMgcmVzdWx0LlwiKSxcbiAgICBzY29yZTogei5udW1iZXIoKS5taW4oMCkubWF4KDEpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJGdXp6eS1tYXRjaCBzY29yZSBpbiB0aGUgcmFuZ2UgMCB0byAxLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiT25lIHJhbmtlZCBtb2RlbC1zZWFyY2ggcmVzdWx0LlwiKTtcblxuZXhwb3J0IHR5cGUgUmFua2VkTW9kZWwgPSB6LmluZmVyPHR5cGVvZiBSYW5rZWRNb2RlbFNjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBFbmRwb2ludENhcGFiaWxpdGllc1NjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgY2hhdDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIGVuZHBvaW50IGNhbiBzZXJ2ZSBjaGF0IGNvbXBsZXRpb25zLlwiKSxcbiAgICBlbWJlZGRpbmc6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIHRoZSBlbmRwb2ludCBjYW4gc2VydmUgZW1iZWRkaW5ncy5cIiksXG4gICAgdG9vbHM6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIHRoZSBlbmRwb2ludCBhY2NlcHRzIHRvb2wgY2FsbHMuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJDYXBhYmlsaXRpZXMgZGVyaXZlZCBmcm9tIG9uZSBub3JtYWxpemVkIHNlcnZpbmcgZW5kcG9pbnQuXCIpO1xuXG5leHBvcnQgdHlwZSBFbmRwb2ludENhcGFiaWxpdGllcyA9IHouaW5mZXI8dHlwZW9mIEVuZHBvaW50Q2FwYWJpbGl0aWVzU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IEZhbWlseUNsYXNzU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBjbGFzczogTW9kZWxDbGFzc1NjaGVtYS5kZXNjcmliZShcIkZhbGxiYWNrIGNsYXNzIGZvciBhbiB1bnNjb3JlZCByZWNvZ25pemVkIGZhbWlseS5cIiksXG4gICAgcmFuazogei5udW1iZXIoKS5taW4oMCkuZGVzY3JpYmUoXCJSZWxhdGl2ZSByYW5rIGFtb25nIGZhbWlseSBmYWxsYmFja3MsIHN0YXJ0aW5nIGF0IDAuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJGYWxsYmFjayBjbGFzcyBhbmQgcmFuayBmb3IgYW4gdW5zY29yZWQgcmVjb2duaXplZCBtb2RlbCBmYW1pbHkuXCIpO1xuXG5leHBvcnQgdHlwZSBGYW1pbHlDbGFzcyA9IHouaW5mZXI8dHlwZW9mIEZhbWlseUNsYXNzU2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IE1vZGVsQ2FwYWJpbGl0aWVzU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICByZXNwb25zZXM6IHouYm9vbGVhbigpLmRlc2NyaWJlKFwiVHJ1ZSB3aGVuIHRoZSBtb2RlbCBzdXBwb3J0cyB0aGUgUmVzcG9uc2VzIEFQSS5cIiksXG4gICAgaW1hZ2VJbnB1dDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIG1vZGVsIGFjY2VwdHMgaW1hZ2UgaW5wdXRzLlwiKSxcbiAgICBhcHBseVBhdGNoOiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgbW9kZWwgc3VwcG9ydHMgdGhlIGFwcGx5LXBhdGNoIHRvb2wuXCIpLFxuICAgIHdlYlNlYXJjaDogei5ib29sZWFuKCkuZGVzY3JpYmUoXCJUcnVlIHdoZW4gdGhlIG1vZGVsIHN1cHBvcnRzIHdlYiBzZWFyY2guXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJEb2N1bWVudGVkIGNhcGFiaWxpdGllcyByZXNvbHZlZCBmb3Igb25lIG1vZGVsIGlkZW50aXR5LlwiKTtcblxuZXhwb3J0IHR5cGUgTW9kZWxDYXBhYmlsaXRpZXMgPSB6LmluZmVyPHR5cGVvZiBNb2RlbENhcGFiaWxpdGllc1NjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBNb2RlbFJhdGVMaW1pdHNTY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIGlucHV0VG9rZW5zUGVyTWludXRlOiB6XG4gICAgICAubnVtYmVyKClcbiAgICAgIC5pbnQoKVxuICAgICAgLm1pbigwKVxuICAgICAgLm51bGxhYmxlKClcbiAgICAgIC5kZXNjcmliZShcIlB1Ymxpc2hlZCBpbnB1dCB0b2tlbnMgcGVyIG1pbnV0ZSwgb3IgbnVsbCB3aGVuIHVucHVibGlzaGVkLlwiKSxcbiAgICBvdXRwdXRUb2tlbnNQZXJNaW51dGU6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLmludCgpXG4gICAgICAubWluKDApXG4gICAgICAubnVsbGFibGUoKVxuICAgICAgLmRlc2NyaWJlKFwiUHVibGlzaGVkIG91dHB1dCB0b2tlbnMgcGVyIG1pbnV0ZSwgb3IgbnVsbCB3aGVuIHVucHVibGlzaGVkLlwiKSxcbiAgICBxdWVyaWVzUGVySG91cjogelxuICAgICAgLm51bWJlcigpXG4gICAgICAuaW50KClcbiAgICAgIC5taW4oMClcbiAgICAgIC5udWxsYWJsZSgpXG4gICAgICAuZGVzY3JpYmUoXCJQdWJsaXNoZWQgcXVlcmllcyBwZXIgaG91ciwgb3IgbnVsbCB3aGVuIHVucHVibGlzaGVkLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiUHVibGlzaGVkIHBheS1wZXItdG9rZW4gbGltaXRzIGZvciBvbmUgbW9kZWwuXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbFJhdGVMaW1pdHMgPSB6LmluZmVyPHR5cGVvZiBNb2RlbFJhdGVMaW1pdHNTY2hlbWE+O1xuXG5leHBvcnQgY29uc3QgTW9kZWxNZXRhZGF0YVNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgc3RhdHVzOiBNb2RlbFN0YXR1c1NjaGVtYS5kZXNjcmliZShcIlJldGlyZW1lbnQgc3RhdHVzIGZvciB0aGlzIG1vZGVsIGlkZW50aXR5LlwiKSxcbiAgICBjYXBhYmlsaXRpZXM6IE1vZGVsQ2FwYWJpbGl0aWVzU2NoZW1hLmRlc2NyaWJlKFxuICAgICAgXCJEb2N1bWVudGVkIGNhcGFiaWxpdGllcyBmb3IgdGhpcyBtb2RlbCBpZGVudGl0eS5cIixcbiAgICApLFxuICAgIHJhdGVMaW1pdHM6IE1vZGVsUmF0ZUxpbWl0c1NjaGVtYS5vcHRpb25hbCgpLmRlc2NyaWJlKFwiUHVibGlzaGVkIHJhdGUgbGltaXRzIHdoZW4gYXZhaWxhYmxlLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiQ29tYmluZWQgcmV0aXJlbWVudCwgY2FwYWJpbGl0eSwgYW5kIHJhdGUtbGltaXQgbWV0YWRhdGEuXCIpO1xuXG5leHBvcnQgdHlwZSBNb2RlbE1ldGFkYXRhID0gei5pbmZlcjx0eXBlb2YgTW9kZWxNZXRhZGF0YVNjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBSZXNvbHZlZE1vZGVsU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICBtb2RlbElkOiB6LnN0cmluZygpLmRlc2NyaWJlKFwiUmVzb2x2ZWQgc2VydmluZyBlbmRwb2ludCBvciBtb2RlbCBpZGVudGlmaWVyLlwiKSxcbiAgICBtYXRjaGVkOiB6LmJvb2xlYW4oKS5kZXNjcmliZShcIlRydWUgd2hlbiB0aGUgaWRlbnRpZmllciBtYXRjaGVkIGEgY2F0YWxvZ3VlIGVudHJ5LlwiKSxcbiAgICBzY29yZTogei5udW1iZXIoKS5taW4oMCkubWF4KDEpLm9wdGlvbmFsKCkuZGVzY3JpYmUoXCJGdXp6eS1tYXRjaCBzY29yZSBpbiB0aGUgcmFuZ2UgMCB0byAxLlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiUmVzdWx0IG9mIHJlc29sdmluZyBhIGZ1enp5IG1vZGVsIGlkZW50aWZpZXIuXCIpO1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlZE1vZGVsID0gei5pbmZlcjx0eXBlb2YgUmVzb2x2ZWRNb2RlbFNjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBSZXNvbHZlTW9kZWxPcHRpb25zU2NoZW1hID0gelxuICAub2JqZWN0KHtcbiAgICB0aHJlc2hvbGQ6IHpcbiAgICAgIC5udW1iZXIoKVxuICAgICAgLm1pbigwKVxuICAgICAgLm1heCgxKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIk1pbmltdW0gZnV6enktbWF0Y2ggc2NvcmUgaW4gdGhlIHJhbmdlIDAgdG8gMS5cIiksXG4gICAgcmVxdWlyZXNUb29sczogelxuICAgICAgLmJvb2xlYW4oKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIldoZW4gdHJ1ZSwgb25seSB0b29sLWNhcGFibGUgZW5kcG9pbnRzIG1heSBtYXRjaC5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIlB1cmUgY29udHJvbHMgZm9yIGZ1enp5IGVuZHBvaW50IHJlc29sdXRpb24uXCIpO1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlTW9kZWxPcHRpb25zID0gei5pbmZlcjx0eXBlb2YgUmVzb2x2ZU1vZGVsT3B0aW9uc1NjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBTY29yZWRFbmRwb2ludFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgZW5kcG9pbnQ6IFNlcnZpbmdFbmRwb2ludFN1bW1hcnlTY2hlbWEuZGVzY3JpYmUoXCJDYW5kaWRhdGUgc2VydmluZyBlbmRwb2ludC5cIiksXG4gICAgc2NvcmU6IHoubnVtYmVyKCkubWluKDApLm1heCgxKS5kZXNjcmliZShcIkZ1enp5LW1hdGNoIGRpc3RhbmNlIGluIHRoZSByYW5nZSAwIHRvIDEuXCIpLFxuICB9KVxuICAuZGVzY3JpYmUoXCJPbmUgZW5kcG9pbnQgcGFpcmVkIHdpdGggaXRzIGZ1enp5LW1hdGNoIGRpc3RhbmNlLlwiKTtcblxuZXhwb3J0IHR5cGUgU2NvcmVkRW5kcG9pbnQgPSB6LmluZmVyPHR5cGVvZiBTY29yZWRFbmRwb2ludFNjaGVtYT47XG5cbmV4cG9ydCBjb25zdCBSZXNvbHZlTW9kZWxJbnB1dFNjaGVtYSA9IHpcbiAgLm9iamVjdCh7XG4gICAgZXhwbGljaXQ6IHpcbiAgICAgIC5zdHJpbmcoKVxuICAgICAgLm9wdGlvbmFsKClcbiAgICAgIC5kZXNjcmliZShcIkV4YWN0IG1vZGVsIGlkIG9yIGRpc3BsYXkgbmFtZSBzdXBwbGllZCBieSB0aGUgY2FsbGVyLlwiKSxcbiAgICBmdXp6eTogei5ib29sZWFuKCkub3B0aW9uYWwoKS5kZXNjcmliZShcIldoZW4gdHJ1ZSwgdW5tYXRjaGVkIGV4cGxpY2l0IHZhbHVlcyBtYXkgZnV6enktbWF0Y2guXCIpLFxuICAgIHRocmVzaG9sZDogelxuICAgICAgLm51bWJlcigpXG4gICAgICAubWluKDApXG4gICAgICAubWF4KDEpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiTWluaW11bSBmdXp6eS1tYXRjaCBzY29yZSBpbiB0aGUgcmFuZ2UgMCB0byAxLlwiKSxcbiAgICByZXF1aXJlc1Rvb2xzOiB6XG4gICAgICAuYm9vbGVhbigpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiV2hlbiB0cnVlLCBvbmx5IHRvb2wtY2FwYWJsZSBlbmRwb2ludHMgbWF5IGJlIHNlbGVjdGVkLlwiKSxcbiAgICBtb2RlbENsYXNzOiBNb2RlbENsYXNzU2NoZW1hLm9wdGlvbmFsKCkuZGVzY3JpYmUoXG4gICAgICBcIlByZWZlcnJlZCBpbnRlbnQtb3JpZW50ZWQgY2xhc3Mgd2hlbiBubyBleHBsaWNpdCBtb2RlbCBtYXRjaGVzLlwiLFxuICAgICksXG4gICAgZmFsbGJhY2tzOiB6XG4gICAgICAuYXJyYXkoei5zdHJpbmcoKSlcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVzY3JpYmUoXCJPcmRlcmVkIG1vZGVsIGlkcyB0cmllZCBhZnRlciBjbGFzcyBzZWxlY3Rpb24gZmFpbHMuXCIpLFxuICAgIGxpdmVPbmx5OiB6XG4gICAgICAuYm9vbGVhbigpXG4gICAgICAub3B0aW9uYWwoKVxuICAgICAgLmRlc2NyaWJlKFwiV2hlbiB0cnVlLCBza2lwIGVuZHBvaW50cyB0aGF0IGFyZSBub3QgY3VycmVudGx5IHJlYWR5LlwiKSxcbiAgfSlcbiAgLmRlc2NyaWJlKFwiQ2FsbGVyIGludGVudCB1c2VkIHRvIHJlc29sdmUgb25lIG1vZGVsIGZyb20gYSBjYXRhbG9ndWUuXCIpO1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlTW9kZWxJbnB1dCA9IHouaW5mZXI8dHlwZW9mIFJlc29sdmVNb2RlbElucHV0U2NoZW1hPjtcblxuZXhwb3J0IGNvbnN0IFJlc29sdmVkTW9kZWxTZWxlY3Rpb25TY2hlbWEgPSB6XG4gIC5vYmplY3Qoe1xuICAgIG1vZGVsSWQ6IHouc3RyaW5nKCkuZGVzY3JpYmUoXCJTZWxlY3RlZCBzZXJ2aW5nIGVuZHBvaW50IGlkZW50aWZpZXIuXCIpLFxuICAgIHNvdXJjZTogelxuICAgICAgLmVudW0oW1wiZXhwbGljaXRcIiwgXCJmdXp6eS1tYXRjaFwiLCBcImNsYXNzXCIsIFwiZmFsbGJhY2tcIl0pXG4gICAgICAuZGVzY3JpYmUoXCJQb2xpY3kgYnJhbmNoIHRoYXQgc2VsZWN0ZWQgdGhpcyBtb2RlbC5cIiksXG4gIH0pXG4gIC5kZXNjcmliZShcIlNlbGVjdGVkIG1vZGVsIGlkZW50aWZpZXIgYW5kIHRoZSBwb2xpY3kgYnJhbmNoIHRoYXQgc2VsZWN0ZWQgaXQuXCIpO1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlZE1vZGVsU2VsZWN0aW9uID0gei5pbmZlcjx0eXBlb2YgUmVzb2x2ZWRNb2RlbFNlbGVjdGlvblNjaGVtYT47XG4iXX0=
package/package.json CHANGED
@@ -22,7 +22,7 @@
22
22
  "typescript": "^5.9.3"
23
23
  },
24
24
  "dependencies": {
25
- "@dbx-tools/shared-core": "^0.9.43",
25
+ "@dbx-tools/shared-core": "^0.9.47",
26
26
  "zod": "4.3.6"
27
27
  },
28
28
  "main": "./lib/index.js",
@@ -55,7 +55,7 @@
55
55
  "./package.json": "./package.json"
56
56
  }
57
57
  },
58
- "version": "0.9.43",
58
+ "version": "0.9.47",
59
59
  "types": "./lib/index.d.ts",
60
60
  "dbxToolsConfig": {
61
61
  "tags": [
package/src/contracts.ts CHANGED
@@ -106,6 +106,7 @@ export type ServingEndpointSummary = z.infer<typeof ServingEndpointSummarySchema
106
106
 
107
107
  export const ModelQuerySchema = z
108
108
  .object({
109
+ name: z.string().optional().describe("Exact serving endpoint name to retain."),
109
110
  search: z
110
111
  .string()
111
112
  .optional()
@@ -117,6 +118,28 @@ export const ModelQuerySchema = z
117
118
  .boolean()
118
119
  .optional()
119
120
  .describe("When true, only endpoints that accept tools are returned."),
121
+ task: z.string().optional().describe("Exact Databricks serving task to retain."),
122
+ dimension: z
123
+ .number()
124
+ .int()
125
+ .positive()
126
+ .optional()
127
+ .describe("Exact embedding vector dimension to retain."),
128
+ minDimension: z
129
+ .number()
130
+ .int()
131
+ .positive()
132
+ .optional()
133
+ .describe("Minimum embedding vector dimension to retain."),
134
+ maxDimension: z
135
+ .number()
136
+ .int()
137
+ .positive()
138
+ .optional()
139
+ .describe("Maximum embedding vector dimension to retain."),
140
+ reasoningEffort: ReasoningEffortSchema.optional().describe(
141
+ "Reasoning effort that a retained endpoint must accept.",
142
+ ),
120
143
  includeDeprecated: z
121
144
  .boolean()
122
145
  .optional()