@cartanova/qgrid-cli 2.9.5 → 2.9.7
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/bundle/dist/application/qgrid/qgrid-response-format.js +7 -7
- package/bundle/dist/application/qgrid/qgrid.types.js +14 -1
- package/bundle/dist/application/qgrid/tool-emulation.js +2 -1
- package/bundle/dist/utils/providers/anthropic/anthropic-constants.js +4 -2
- package/bundle/dist/utils/providers/common/model-cost.js +18 -1
- package/bundle/dist/utils/providers/openai/openai-backend-protocol.js +22 -3
- package/bundle/dist/utils/providers/openai/openai-dispatcher.js +7 -2
- package/bundle/dist/utils/providers/openai/openai-image-generation.js +4 -3
- package/bundle/src/application/qgrid/qgrid-response-format.test.ts +6 -1
- package/bundle/src/application/qgrid/qgrid-response-format.ts +8 -6
- package/bundle/src/application/qgrid/qgrid.types.ts +16 -6
- package/bundle/src/application/qgrid/tool-emulation.test.ts +7 -0
- package/bundle/src/application/qgrid/tool-emulation.ts +3 -1
- package/bundle/src/utils/providers/anthropic/anthropic-constants.test.ts +5 -1
- package/bundle/src/utils/providers/anthropic/anthropic-constants.ts +9 -2
- package/bundle/src/utils/providers/common/effort.test.ts +3 -0
- package/bundle/src/utils/providers/common/model-cost.test.ts +22 -0
- package/bundle/src/utils/providers/common/model-cost.ts +25 -2
- package/bundle/src/utils/providers/common/provider-dispatcher.ts +3 -1
- package/bundle/src/utils/providers/openai/openai-backend-protocol.test.ts +23 -0
- package/bundle/src/utils/providers/openai/openai-backend-protocol.ts +19 -2
- package/bundle/src/utils/providers/openai/openai-dispatcher.test.ts +22 -0
- package/bundle/src/utils/providers/openai/openai-dispatcher.ts +10 -1
- package/bundle/src/utils/providers/openai/openai-image-generation.test.ts +17 -0
- package/bundle/src/utils/providers/openai/openai-image-generation.ts +7 -1
- package/bundle/web-dist/client/assets/{index-BcCytvFf.js → index-D4MEKFjK.js} +3 -3
- package/bundle/web-dist/client/assets/{logs-BkOilk5x.js → logs-BWhH8t7Y.js} +1 -1
- package/bundle/web-dist/client/assets/{monit-8oCSLCdL.js → monit-7tcWgB20.js} +1 -1
- package/bundle/web-dist/client/assets/{routes-DFIF4IoW.js → routes-CSVp9aNn.js} +1 -1
- package/bundle/web-dist/client/assets/{settings-nUI-DR3U.js → settings-CYgR0YTh.js} +1 -1
- package/bundle/web-dist/client/assets/{show-Bzx6Xkoc.js → show-Cg8n_Mxg.js} +1 -1
- package/bundle/web-dist/client/assets/{tokens-DFWCL7Ts.js → tokens-B5yg6bP1.js} +1 -1
- package/bundle/web-dist/client/assets/{use-oauth-login-flow-B5MAjpVc.js → use-oauth-login-flow-DTrmdduV.js} +1 -1
- package/bundle/web-dist/client/index.html +1 -1
- package/bundle/web-dist/server/entry-server.generated.js +4 -1
- package/package.json +1 -1
- package/skills/qgrid/SKILL.md +7 -0
- package/skills/qgrid/references/ai-sdk-provider-contract.md +4 -2
- package/skills/qgrid/references/anthropic-claude-code-runtime.md +3 -2
- package/skills/qgrid/references/openai-codex-runtime.md +20 -5
- package/skills/qgrid/references/provider-runtime-differences.md +1 -1
- package/skills/qgrid/references/sonamu-api-web-flow.md +1 -1
|
@@ -10,10 +10,7 @@ function escapeHtmlAttribute(value) {
|
|
|
10
10
|
function formatResponseForLog(result) {
|
|
11
11
|
return result.content.flatMap((item) => {
|
|
12
12
|
if (item.type === "text") return [item.text];
|
|
13
|
-
if (item.type === "image")
|
|
14
|
-
const alt = escapeHtmlAttribute(item.revisedPrompt ?? "generated image");
|
|
15
|
-
return [`<img src="data:image/png;base64,${item.data}" alt="${alt}" />`];
|
|
16
|
-
}
|
|
13
|
+
if (item.type === "image") return [formatImagePartForLog(item)];
|
|
17
14
|
return [];
|
|
18
15
|
}).filter((part) => part.length > 0).join("\n");
|
|
19
16
|
}
|
|
@@ -22,7 +19,7 @@ function getImageParts(result) {
|
|
|
22
19
|
}
|
|
23
20
|
function formatImagePartForLog(image) {
|
|
24
21
|
const alt = escapeHtmlAttribute(image.revisedPrompt ?? "generated image");
|
|
25
|
-
return `<img src="data
|
|
22
|
+
return `<img src="data:${image.mediaType ?? "image/png"};base64,${image.data}" alt="${alt}" />`;
|
|
26
23
|
}
|
|
27
24
|
function imageGenerationToolArgs(args, options = {}) {
|
|
28
25
|
const resolved = resolveImageGenerationOptions(args.imageGenerationOptions);
|
|
@@ -31,7 +28,10 @@ function imageGenerationToolArgs(args, options = {}) {
|
|
|
31
28
|
prompt: args.prompt,
|
|
32
29
|
...inputImages.length > 0 ? { inputImages } : {},
|
|
33
30
|
driverModel: args.model ?? null,
|
|
34
|
-
tool:
|
|
31
|
+
tool: {
|
|
32
|
+
...CODEX_IMAGE_GENERATION_TOOL_CONFIG,
|
|
33
|
+
...args.imageGenerationOptions?.outputFormat ? { outputFormat: args.imageGenerationOptions.outputFormat } : {}
|
|
34
|
+
},
|
|
35
35
|
...args.imageGenerationOptions ? { requestedOptions: args.imageGenerationOptions } : {},
|
|
36
36
|
...options.generation ? { observedGeneration: options.generation } : { pricingAssumption: {
|
|
37
37
|
model: CODEX_IMAGE_GENERATION_MODEL,
|
|
@@ -89,4 +89,4 @@ function base64ByteSize(value) {
|
|
|
89
89
|
//#endregion
|
|
90
90
|
export { CODEX_IMAGE_GENERATION_TOOL_CONFIG, buildImageGenerationToolSteps, formatImagePartForLog, formatResponseForLog, getImageParts, imageGenerationToolArgs };
|
|
91
91
|
|
|
92
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQtcmVzcG9uc2UtZm9ybWF0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9xZ3JpZC9xZ3JpZC1yZXNwb25zZS1mb3JtYXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ09ERVhfSU1BR0VfR0VORVJBVElPTl9NT0RFTCxcbiAgcmVzb2x2ZUltYWdlR2VuZXJhdGlvbk9wdGlvbnMsXG59IGZyb20gXCIuL3FncmlkLWltYWdlLWdlbmVyYXRpb25cIjtcbmltcG9ydCB7XG4gIHR5cGUgSW1hZ2VHZW5lcmF0aW9uTWV0YWRhdGEsXG4gIHR5cGUgUWdyaWRDb250ZW50LFxuICB0eXBlIFF1ZXJ5SW5wdXQsXG4gIHR5cGUgUXVlcnlPdXRwdXQsXG59IGZyb20gXCIuL3FncmlkLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBDT0RFWF9JTUFHRV9HRU5FUkFUSU9OX1RPT0xfQ09ORklHID0ge1xuICB0eXBlOiBcImltYWdlX2dlbmVyYXRpb25cIixcbiAgb3V0cHV0Rm9ybWF0OiBcInBuZ1wiLFxufSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZXNjYXBlSHRtbEF0dHJpYnV0ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlXG4gICAgLnJlcGxhY2UoLyYvZywgXCImYW1wO1wiKVxuICAgIC5yZXBsYWNlKC9cIi9nLCBcIiZxdW90O1wiKVxuICAgIC5yZXBsYWNlKC88L2csIFwiJmx0O1wiKVxuICAgIC5yZXBsYWNlKC8+
|
|
92
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQtcmVzcG9uc2UtZm9ybWF0LmpzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHBsaWNhdGlvbi9xZ3JpZC9xZ3JpZC1yZXNwb25zZS1mb3JtYXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ09ERVhfSU1BR0VfR0VORVJBVElPTl9NT0RFTCxcbiAgcmVzb2x2ZUltYWdlR2VuZXJhdGlvbk9wdGlvbnMsXG59IGZyb20gXCIuL3FncmlkLWltYWdlLWdlbmVyYXRpb25cIjtcbmltcG9ydCB7XG4gIHR5cGUgSW1hZ2VHZW5lcmF0aW9uTWV0YWRhdGEsXG4gIHR5cGUgUWdyaWRDb250ZW50LFxuICB0eXBlIFF1ZXJ5SW5wdXQsXG4gIHR5cGUgUXVlcnlPdXRwdXQsXG59IGZyb20gXCIuL3FncmlkLnR5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBDT0RFWF9JTUFHRV9HRU5FUkFUSU9OX1RPT0xfQ09ORklHID0ge1xuICB0eXBlOiBcImltYWdlX2dlbmVyYXRpb25cIixcbiAgb3V0cHV0Rm9ybWF0OiBcInBuZ1wiLFxufSBhcyBjb25zdDtcblxuZnVuY3Rpb24gZXNjYXBlSHRtbEF0dHJpYnV0ZSh2YWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHZhbHVlXG4gICAgLnJlcGxhY2UoLyYvZywgXCImYW1wO1wiKVxuICAgIC5yZXBsYWNlKC9cIi9nLCBcIiZxdW90O1wiKVxuICAgIC5yZXBsYWNlKC88L2csIFwiJmx0O1wiKVxuICAgIC5yZXBsYWNlKC8+L2csIFwiJmd0O1wiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdFJlc3BvbnNlRm9yTG9nKHJlc3VsdDogUXVlcnlPdXRwdXQpOiBzdHJpbmcge1xuICByZXR1cm4gcmVzdWx0LmNvbnRlbnRcbiAgICAuZmxhdE1hcCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0udHlwZSA9PT0gXCJ0ZXh0XCIpIHJldHVybiBbaXRlbS50ZXh0XTtcbiAgICAgIGlmIChpdGVtLnR5cGUgPT09IFwiaW1hZ2VcIikgcmV0dXJuIFtmb3JtYXRJbWFnZVBhcnRGb3JMb2coaXRlbSldO1xuICAgICAgcmV0dXJuIFtdO1xuICAgIH0pXG4gICAgLmZpbHRlcigocGFydCkgPT4gcGFydC5sZW5ndGggPiAwKVxuICAgIC5qb2luKFwiXFxuXCIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0SW1hZ2VQYXJ0cyhyZXN1bHQ6IFF1ZXJ5T3V0cHV0KTogRXh0cmFjdDxRZ3JpZENvbnRlbnQsIHsgdHlwZTogXCJpbWFnZVwiIH0+W10ge1xuICByZXR1cm4gcmVzdWx0LmNvbnRlbnQuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnR5cGUgPT09IFwiaW1hZ2VcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRJbWFnZVBhcnRGb3JMb2coaW1hZ2U6IEV4dHJhY3Q8UWdyaWRDb250ZW50LCB7IHR5cGU6IFwiaW1hZ2VcIiB9Pik6IHN0cmluZyB7XG4gIGNvbnN0IGFsdCA9IGVzY2FwZUh0bWxBdHRyaWJ1dGUoaW1hZ2UucmV2aXNlZFByb21wdCA/PyBcImdlbmVyYXRlZCBpbWFnZVwiKTtcbiAgcmV0dXJuIGA8aW1nIHNyYz1cImRhdGE6JHtpbWFnZS5tZWRpYVR5cGUgPz8gXCJpbWFnZS9wbmdcIn07YmFzZTY0LCR7aW1hZ2UuZGF0YX1cIiBhbHQ9XCIke2FsdH1cIiAvPmA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbWFnZUdlbmVyYXRpb25Ub29sQXJncyhcbiAgYXJnczogUXVlcnlJbnB1dCxcbiAgb3B0aW9uczogeyBpbmNsdWRlSW5wdXRJbWFnZXM/OiBib29sZWFuOyBnZW5lcmF0aW9uPzogSW1hZ2VHZW5lcmF0aW9uTWV0YWRhdGEgfSA9IHt9LFxuKTogc3RyaW5nIHtcbiAgY29uc3QgcmVzb2x2ZWQgPSByZXNvbHZlSW1hZ2VHZW5lcmF0aW9uT3B0aW9ucyhhcmdzLmltYWdlR2VuZXJhdGlvbk9wdGlvbnMpO1xuICBjb25zdCBpbnB1dEltYWdlcyA9XG4gICAgb3B0aW9ucy5pbmNsdWRlSW5wdXRJbWFnZXMgPT09IGZhbHNlID8gW10gOiBleHRyYWN0SW5wdXRJbWFnZXNGb3JUb29sQXJncyhhcmdzKTtcbiAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHtcbiAgICBwcm9tcHQ6IGFyZ3MucHJvbXB0LFxuICAgIC4uLihpbnB1dEltYWdlcy5sZW5ndGggPiAwID8geyBpbnB1dEltYWdlcyB9IDoge30pLFxuICAgIGRyaXZlck1vZGVsOiBhcmdzLm1vZGVsID8/IG51bGwsXG4gICAgdG9vbDoge1xuICAgICAgLi4uQ09ERVhfSU1BR0VfR0VORVJBVElPTl9UT09MX0NPTkZJRyxcbiAgICAgIC4uLihhcmdzLmltYWdlR2VuZXJhdGlvbk9wdGlvbnM/Lm91dHB1dEZvcm1hdFxuICAgICAgICA/IHsgb3V0cHV0Rm9ybWF0OiBhcmdzLmltYWdlR2VuZXJhdGlvbk9wdGlvbnMub3V0cHV0Rm9ybWF0IH1cbiAgICAgICAgOiB7fSksXG4gICAgfSxcbiAgICAuLi4oYXJncy5pbWFnZUdlbmVyYXRpb25PcHRpb25zID8geyByZXF1ZXN0ZWRPcHRpb25zOiBhcmdzLmltYWdlR2VuZXJhdGlvbk9wdGlvbnMgfSA6IHt9KSxcbiAgICAuLi4ob3B0aW9ucy5nZW5lcmF0aW9uXG4gICAgICA/IHsgb2JzZXJ2ZWRHZW5lcmF0aW9uOiBvcHRpb25zLmdlbmVyYXRpb24gfVxuICAgICAgOiB7XG4gICAgICAgICAgcHJpY2luZ0Fzc3VtcHRpb246IHtcbiAgICAgICAgICAgIG1vZGVsOiBDT0RFWF9JTUFHRV9HRU5FUkFUSU9OX01PREVMLFxuICAgICAgICAgICAgcXVhbGl0eTogcmVzb2x2ZWQucXVhbGl0eSxcbiAgICAgICAgICAgIHNpemU6IHJlc29sdmVkLnNpemUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSksXG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRJbWFnZUdlbmVyYXRpb25Ub29sU3RlcHMoXG4gIGFyZ3M6IFF1ZXJ5SW5wdXQsXG4gIGltYWdlczogRXh0cmFjdDxRZ3JpZENvbnRlbnQsIHsgdHlwZTogXCJpbWFnZVwiIH0+W10sXG4gIHN0ZXBJbmRleDogbnVtYmVyLFxuKTogQXJyYXk8e1xuICBzdGVwX2luZGV4OiBudW1iZXI7XG4gIHR5cGU6IFwidG9vbF9jYWxsXCI7XG4gIHRvb2xfY2FsbF9pbmRleDogbnVtYmVyO1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZztcbiAgdG9vbF9uYW1lOiBcImltYWdlX2dlbmVyYXRpb25cIjtcbiAgdG9vbF9hcmdzOiBzdHJpbmc7XG4gIHRvb2xfcmVzdWx0OiBzdHJpbmc7XG59PiB7XG4gIGlmIChpbWFnZXMubGVuZ3RoID09PSAwKSByZXR1cm4gW107XG5cbiAgcmV0dXJuIGltYWdlcy5tYXAoKGltYWdlLCBpbmRleCkgPT4gKHtcbiAgICBzdGVwX2luZGV4OiBzdGVwSW5kZXgsXG4gICAgdHlwZTogXCJ0b29sX2NhbGxcIixcbiAgICB0b29sX2NhbGxfaW5kZXg6IGluZGV4LFxuICAgIHRvb2xfY2FsbF9pZDogYGltYWdlX2dlbmVyYXRpb246JHtzdGVwSW5kZXh9OiR7aW5kZXh9YCxcbiAgICB0b29sX25hbWU6IFwiaW1hZ2VfZ2VuZXJhdGlvblwiLFxuICAgIHRvb2xfYXJnczogaW1hZ2VHZW5lcmF0aW9uVG9vbEFyZ3MoYXJncywge1xuICAgICAgaW5jbHVkZUlucHV0SW1hZ2VzOiBpbmRleCA9PT0gMCxcbiAgICAgIGdlbmVyYXRpb246IGltYWdlLmdlbmVyYXRpb24sXG4gICAgfSksXG4gICAgdG9vbF9yZXN1bHQ6IGZvcm1hdEltYWdlUGFydEZvckxvZyhpbWFnZSksXG4gIH0pKTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdElucHV0SW1hZ2VzRm9yVG9vbEFyZ3MoYXJnczogUXVlcnlJbnB1dCk6IEFycmF5PHtcbiAgbWVkaWFUeXBlPzogc3RyaW5nO1xuICBkYXRhPzogc3RyaW5nO1xuICB1cmw/OiBzdHJpbmc7XG4gIGJ5dGVTaXplPzogbnVtYmVyO1xufT4ge1xuICBjb25zdCBpbWFnZXMgPSBhcmdzLmlucHV0Py5maWx0ZXIoKGl0ZW0pID0+IGl0ZW0udHlwZSA9PT0gXCJpbWFnZVwiKSA/PyBbXTtcbiAgcmV0dXJuIGltYWdlcy5tYXAoKGltYWdlKSA9PiB7XG4gICAgY29uc3QgZGF0YVVybCA9IHBhcnNlRGF0YVVybChpbWFnZS51cmwpO1xuICAgIGlmICghZGF0YVVybCkgcmV0dXJuIHsgdXJsOiBpbWFnZS51cmwgfTtcbiAgICBpZiAoZGF0YVVybC5pc0Jhc2U2NCAmJiBkYXRhVXJsLm1lZGlhVHlwZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJpbWFnZS9cIikpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG1lZGlhVHlwZTogZGF0YVVybC5tZWRpYVR5cGUsXG4gICAgICAgIGRhdGE6IGRhdGFVcmwuZGF0YSxcbiAgICAgICAgYnl0ZVNpemU6IGJhc2U2NEJ5dGVTaXplKGRhdGFVcmwuZGF0YSksXG4gICAgICB9O1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgbWVkaWFUeXBlOiBkYXRhVXJsLm1lZGlhVHlwZSxcbiAgICAgIHVybDogYFtkYXRhLXVybCAke2ltYWdlLnVybC5sZW5ndGh9IGNoYXJzXWAsXG4gICAgICAuLi4oZGF0YVVybC5pc0Jhc2U2NCA/IHsgYnl0ZVNpemU6IGJhc2U2NEJ5dGVTaXplKGRhdGFVcmwuZGF0YSkgfSA6IHt9KSxcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gcGFyc2VEYXRhVXJsKFxuICB2YWx1ZTogc3RyaW5nLFxuKTogeyBtZWRpYVR5cGU6IHN0cmluZzsgZGF0YTogc3RyaW5nOyBpc0Jhc2U2NDogYm9vbGVhbiB9IHwgbnVsbCB7XG4gIGNvbnN0IG1hdGNoID0gL15kYXRhOihbXjssXSspKCg/OjtbXixdKikqKSwoLiopJC9pcy5leGVjKHZhbHVlKTtcbiAgaWYgKCFtYXRjaCkgcmV0dXJuIG51bGw7XG4gIGNvbnN0IHBhcmFtcyA9IG1hdGNoWzJdIS50b0xvd2VyQ2FzZSgpLnNwbGl0KFwiO1wiKS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiB7IG1lZGlhVHlwZTogbWF0Y2hbMV0hLCBkYXRhOiBtYXRjaFszXSEsIGlzQmFzZTY0OiBwYXJhbXMuaW5jbHVkZXMoXCJiYXNlNjRcIikgfTtcbn1cblxuZnVuY3Rpb24gYmFzZTY0Qnl0ZVNpemUodmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSAvXFxzLy50ZXN0KHZhbHVlKSA/IHZhbHVlLnJlcGxhY2UoL1xccy9nLCBcIlwiKSA6IHZhbHVlO1xuICBjb25zdCBwYWRkaW5nID0gbm9ybWFsaXplZC5lbmRzV2l0aChcIj09XCIpID8gMiA6IG5vcm1hbGl6ZWQuZW5kc1dpdGgoXCI9XCIpID8gMSA6IDA7XG4gIHJldHVybiBNYXRoLm1heChNYXRoLmZsb29yKChub3JtYWxpemVkLmxlbmd0aCAqIDMpIC8gNCkgLSBwYWRkaW5nLCAwKTtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFXQSxNQUFhLHFDQUFxQztDQUNoRCxNQUFNO0NBQ04sY0FBYztBQUNoQjtBQUVBLFNBQVMsb0JBQW9CLE9BQXVCO0NBQ2xELE9BQU8sTUFDSixRQUFRLE1BQU0sT0FBTyxDQUFDLENBQ3RCLFFBQVEsTUFBTSxRQUFRLENBQUMsQ0FDdkIsUUFBUSxNQUFNLE1BQU0sQ0FBQyxDQUNyQixRQUFRLE1BQU0sTUFBTTtBQUN6QjtBQUVBLFNBQWdCLHFCQUFxQixRQUE2QjtDQUNoRSxPQUFPLE9BQU8sUUFDWCxTQUFTLFNBQVM7RUFDakIsSUFBSSxLQUFLLFNBQVMsUUFBUSxPQUFPLENBQUMsS0FBSyxJQUFJO0VBQzNDLElBQUksS0FBSyxTQUFTLFNBQVMsT0FBTyxDQUFDLHNCQUFzQixJQUFJLENBQUM7RUFDOUQsT0FBTyxDQUFDO0NBQ1YsQ0FBQyxDQUFDLENBQ0QsUUFBUSxTQUFTLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FDakMsS0FBSyxJQUFJO0FBQ2Q7QUFFQSxTQUFnQixjQUFjLFFBQWlFO0NBQzdGLE9BQU8sT0FBTyxRQUFRLFFBQVEsU0FBUyxLQUFLLFNBQVMsT0FB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
|
|
@@ -45,6 +45,11 @@ const QgridContent = z.discriminatedUnion("type", [
|
|
|
45
45
|
z.object({
|
|
46
46
|
type: z.literal("image"),
|
|
47
47
|
data: z.string(),
|
|
48
|
+
mediaType: z.enum([
|
|
49
|
+
"image/png",
|
|
50
|
+
"image/jpeg",
|
|
51
|
+
"image/webp"
|
|
52
|
+
]).optional(),
|
|
48
53
|
revisedPrompt: z.string().nullish(),
|
|
49
54
|
generation: ImageGenerationMetadata.optional()
|
|
50
55
|
})
|
|
@@ -79,7 +84,15 @@ const ImageGenerationOptions = z.object({
|
|
|
79
84
|
"auto",
|
|
80
85
|
"opaque",
|
|
81
86
|
"transparent"
|
|
87
|
+
]).optional(),
|
|
88
|
+
outputFormat: z.enum([
|
|
89
|
+
"png",
|
|
90
|
+
"jpeg",
|
|
91
|
+
"webp"
|
|
82
92
|
]).optional()
|
|
93
|
+
}).refine((options) => options.background !== "transparent" || !options.outputFormat || options.outputFormat === "png", {
|
|
94
|
+
message: "Transparent image generation only supports PNG output",
|
|
95
|
+
path: ["outputFormat"]
|
|
83
96
|
});
|
|
84
97
|
const QgridInputPart = z.discriminatedUnion("type", [z.object({
|
|
85
98
|
type: z.literal("text"),
|
|
@@ -319,4 +332,4 @@ function maskToken(token) {
|
|
|
319
332
|
//#endregion
|
|
320
333
|
export { AppendStepInput, CostSource, CreateRunInput, Effort, FinishReason, FinishRunInput, HealthResponse, ImageGenerationMetadata, ImageGenerationOptions, ImageGenerationQuality, ImageGenerationSize, MAX_QUERY_TIMEOUT_MS, ModelFallback, OAuthStartResult, ProcessError, ProviderStartupState, QgridContent, QgridInputPart, QgridRunContext, QgridThreadCoord, QgridTool, QgridToolResultInput, QueryInput, QueryOutput, QueryTimeoutMs, QuotaError, QuotaThresholdExceededError, ReasoningSummary, ServiceTier, StreamEvents, SubscriberStatus, TimeoutError, TokenStats, UsageResponse, Verbosity, maskToken };
|
|
321
334
|
|
|
322
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQudHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8vIOKUgOKUgOKUgCBRdWVyeSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IEVmZm9ydCA9IHouZW51bShbXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCJdKTtcbmV4cG9ydCB0eXBlIEVmZm9ydCA9IHouaW5mZXI8dHlwZW9mIEVmZm9ydD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFRvb2wgPSB6Lm9iamVjdCh7XG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlucHV0U2NoZW1hOiB6LnVua25vd24oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRUb29sID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sPjtcblxuLy8gT2JzZXJ2ZWQgc3RhbmRhbG9uZSBJbWFnZXMgcmVzcG9uc2UgdmFsdWVzLCBkaXN0aW5jdCBmcm9tIHJlcXVlc3RlZCBnZW5lcmF0aW9uIGhpbnRzLlxuZXhwb3J0IGNvbnN0IEltYWdlR2VuZXJhdGlvbk1ldGFkYXRhID0gei5vYmplY3Qoe1xuICByb3V0ZTogei5saXRlcmFsKFwiY29kZXgtaW1hZ2VzXCIpLFxuICBtb2RlbDogei5saXRlcmFsKFwiZ3B0LWltYWdlLTJcIiksXG4gIGJhY2tncm91bmQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcXVhbGl0eTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzaXplOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzYWdlOiB6XG4gICAgLm9iamVjdCh7XG4gICAgICBpbnB1dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgIG91dHB1dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgIHRvdGFsX3Rva2Vuczogei5udW1iZXIoKS5ub25uZWdhdGl2ZSgpLFxuICAgICAgaW5wdXRfdG9rZW5zX2RldGFpbHM6IHpcbiAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgaW1hZ2VfdG9rZW5zOiB6Lm51bWJlcigpLm5vbm5lZ2F0aXZlKCksXG4gICAgICAgICAgdGV4dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgICAgICBjYWNoZWRfdG9rZW5zOiB6Lm51bWJlcigpLm5vbm5lZ2F0aXZlKCkub3B0aW9uYWwoKSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbmFsKCksXG4gICAgICBvdXRwdXRfdG9rZW5zX2RldGFpbHM6IHpcbiAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgaW1hZ2VfdG9rZW5zOiB6Lm51bWJlcigpLm5vbm5lZ2F0aXZlKCksXG4gICAgICAgICAgdGV4dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbmFsKCksXG4gICAgfSlcbiAgICAub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uTWV0YWRhdGEgPSB6LmluZmVyPHR5cGVvZiBJbWFnZUdlbmVyYXRpb25NZXRhZGF0YT47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZENvbnRlbnQgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcInR5cGVcIiwgW1xuICB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwidGV4dFwiKSxcbiAgICB0ZXh0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInRvb2wtY2FsbFwiKSxcbiAgICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICAgIHRvb2xOYW1lOiB6LnN0cmluZygpLFxuICAgIGlucHV0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcImltYWdlXCIpLFxuICAgIC8vIENvZGV4IGltYWdlX2dlbmVyYXRpb24gcmVzdWx0IGJhc2U2NC4gcWdyaWQg64qUIO2PrOunty/tmZXsnqXsnpAg7LGF7J6E7J2EIOyngOyngCDslYrripTri6QuXG4gICAgZGF0YTogei5zdHJpbmcoKSxcbiAgICByZXZpc2VkUHJvbXB0OiB6LnN0cmluZygpLm51bGxpc2goKSxcbiAgICBnZW5lcmF0aW9uOiBJbWFnZUdlbmVyYXRpb25NZXRhZGF0YS5vcHRpb25hbCgpLFxuICB9KSxcbl0pO1xuZXhwb3J0IHR5cGUgUWdyaWRDb250ZW50ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRDb250ZW50PjtcblxuZXhwb3J0IGNvbnN0IEZpbmlzaFJlYXNvbiA9IHouZW51bShbXCJzdG9wXCIsIFwidG9vbC1jYWxsc1wiXSk7XG5leHBvcnQgdHlwZSBGaW5pc2hSZWFzb24gPSB6LmluZmVyPHR5cGVvZiBGaW5pc2hSZWFzb24+O1xuXG5leHBvcnQgY29uc3QgVmVyYm9zaXR5ID0gei5lbnVtKFtcImxvd1wiLCBcIm1lZGl1bVwiLCBcImhpZ2hcIl0pO1xuZXhwb3J0IHR5cGUgVmVyYm9zaXR5ID0gei5pbmZlcjx0eXBlb2YgVmVyYm9zaXR5PjtcblxuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ1N1bW1hcnkgPSB6LmVudW0oW1wiYXV0b1wiLCBcImNvbmNpc2VcIiwgXCJkZXRhaWxlZFwiLCBcIm5vbmVcIl0pO1xuZXhwb3J0IHR5cGUgUmVhc29uaW5nU3VtbWFyeSA9IHouaW5mZXI8dHlwZW9mIFJlYXNvbmluZ1N1bW1hcnk+O1xuXG5leHBvcnQgY29uc3QgU2VydmljZVRpZXIgPSB6LmVudW0oW1wiZmFzdFwiLCBcImZsZXhcIl0pO1xuZXhwb3J0IHR5cGUgU2VydmljZVRpZXIgPSB6LmluZmVyPHR5cGVvZiBTZXJ2aWNlVGllcj47XG5cbmV4cG9ydCBjb25zdCBJbWFnZUdlbmVyYXRpb25RdWFsaXR5ID0gei5lbnVtKFtcImxvd1wiLCBcIm1lZGl1bVwiLCBcImhpZ2hcIl0pO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uUXVhbGl0eSA9IHouaW5mZXI8dHlwZW9mIEltYWdlR2VuZXJhdGlvblF1YWxpdHk+O1xuXG5leHBvcnQgY29uc3QgSW1hZ2VHZW5lcmF0aW9uU2l6ZSA9IHouZW51bShbXCIxMDI0eDEwMjRcIiwgXCIxMDI0eDE1MzZcIiwgXCIxNTM2eDEwMjRcIl0pO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uU2l6ZSA9IHouaW5mZXI8dHlwZW9mIEltYWdlR2VuZXJhdGlvblNpemU+O1xuXG5leHBvcnQgY29uc3QgSW1hZ2VHZW5lcmF0aW9uT3B0aW9ucyA9IHoub2JqZWN0KHtcbiAgcXVhbGl0eTogSW1hZ2VHZW5lcmF0aW9uUXVhbGl0eS5vcHRpb25hbCgpLFxuICBzaXplOiBJbWFnZUdlbmVyYXRpb25TaXplLm9wdGlvbmFsKCksXG4gIGJhY2tncm91bmQ6IHouZW51bShbXCJhdXRvXCIsIFwib3BhcXVlXCIsIFwidHJhbnNwYXJlbnRcIl0pLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEltYWdlR2VuZXJhdGlvbk9wdGlvbnMgPSB6LmluZmVyPHR5cGVvZiBJbWFnZUdlbmVyYXRpb25PcHRpb25zPjtcblxuZXhwb3J0IGNvbnN0IFFncmlkSW5wdXRQYXJ0ID0gei5kaXNjcmltaW5hdGVkVW5pb24oXCJ0eXBlXCIsIFtcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInRleHRcIiksXG4gICAgdGV4dDogei5zdHJpbmcoKSxcbiAgICB0ZXh0X2VsZW1lbnRzOiB6LmFycmF5KHoubmV2ZXIoKSkuZGVmYXVsdChbXSksXG4gIH0pLFxuICB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwiaW1hZ2VcIiksXG4gICAgdXJsOiB6LnN0cmluZygpLFxuICB9KSxcbl0pO1xuZXhwb3J0IHR5cGUgUWdyaWRJbnB1dFBhcnQgPSB6LmluZmVyPHR5cGVvZiBRZ3JpZElucHV0UGFydD47XG5cbmV4cG9ydCBjb25zdCBNQVhfUVVFUllfVElNRU9VVF9NUyA9IDMwICogNjBfMDAwO1xuZXhwb3J0IGNvbnN0IFF1ZXJ5VGltZW91dE1zID0gei5udW1iZXIoKS5pbnQoKS5wb3NpdGl2ZSgpLm1heChNQVhfUVVFUllfVElNRU9VVF9NUyk7XG5cbi8vIOKUgOKUgOKUgCBSdW4gTGlmZWN5Y2xlIENvbnRleHQgKFNESyDihpQgU2VydmVyIGNvbnRyYWN0KSDilIDilIDilIBcblxuLy8gT3BlbkFJIGNhY2hlIGFmZmluaXR5IOyijO2RnCjqtawgY29kZXggdGhyZWFkIOyijO2RnCkuIHByb21wdF9jYWNoZV9rZXkg66W8IOqzoOygle2VtFxuLy8gT3BlbkFJIHByb21wdCBjYWNoaW5nIOydhCDsgrTrpqzquLAg7JyE7ZWcIO2VuOuTpC4g7ISc67KE6rCAIOuwnOq4ie2VmOqzoCDtgbTrnbzqsIAg64uk7J2MIOyalOyyreyXkCDqt7jrjIDroZwg7ZqM7Iah7ZWc64ukLlxuLy8g7ZW465OkIOuvuOyghOyGoSDsi5wg6riw7KG0IFwi66ekIHR1cm4g7IOIIHRocmVhZCArIGhpc3RvcnkgaW5qZWN0XCIg64+Z7J6R7Jy866GcIO2PtOuwsShRZ3JpZFJ1bkNvbnRleHQg7LC47KGwKS5cbmV4cG9ydCBjb25zdCBRZ3JpZFRocmVhZENvb3JkID0gei5vYmplY3Qoe1xuICB3b3JrZXJJZDogei5udW1iZXIoKSwgLy8g6rOg7KCVIOudvOyasO2MhSAodGhyZWFkIOuKlCB3b3JrZXIg7ZSE66Gc7IS47IqkIOuplOuqqOumrOyXkOunjCDsobTsnqwpXG4gIHRocmVhZElkOiB6LnN0cmluZygpLCAvLyBvcGFxdWUgY2FjaGUgYWZmaW5pdHkga2V5ID0gcHJvbXB0X2NhY2hlX2tleVxuICBlcG9jaDogei5udW1iZXIoKSwgLy8gd29ya2VyIHNwYXduIOy5tOyatO2EsC4gcmVzdGFydCDroZwgdGhyZWFkIOymneuwnCDqsJDsp4BcbiAgc3lzdGVtSGFzaDogei5zdHJpbmcoKSwgLy8gc3lzdGVtX3Byb21wdCDtlbTsi5wuIOuLpOuluCDrjIDtmZQg7Jik7KCR7IaNIOuwqeyngFxufSk7XG5leHBvcnQgdHlwZSBRZ3JpZFRocmVhZENvb3JkID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUaHJlYWRDb29yZD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFJ1bkNvbnRleHQgPSB6Lm9iamVjdCh7XG4gIC8vIHRvb2wtY2FsbCBydW7snYQg6rOE7IaN7ZWgIOuVjOunjCDrsJzquIkuIOydvOuwmCDrjIDtmZTripQgdGhyZWFkQ29vcmQg66eMIOyZleuztS5cbiAgcmVxdWVzdExvZ0lkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRocmVhZENvb3JkOiBRZ3JpZFRocmVhZENvb3JkLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFFncmlkUnVuQ29udGV4dCA9IHouaW5mZXI8dHlwZW9mIFFncmlkUnVuQ29udGV4dD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFRvb2xSZXN1bHRJbnB1dCA9IHoub2JqZWN0KHtcbiAgdG9vbENhbGxJZDogei5zdHJpbmcoKSxcbiAgdG9vbE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgb3V0cHV0OiB6LnN0cmluZygpLFxuICBpc0Vycm9yOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBRZ3JpZFRvb2xSZXN1bHRJbnB1dCA9IHouaW5mZXI8dHlwZW9mIFFncmlkVG9vbFJlc3VsdElucHV0PjtcblxuZXhwb3J0IGNvbnN0IFF1ZXJ5SW5wdXQgPSB6Lmxvb3NlT2JqZWN0KHtcbiAgc3lzdGVtOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByb21wdDogei5zdHJpbmcoKSxcbiAgaW5wdXQ6IHouYXJyYXkoUWdyaWRJbnB1dFBhcnQpLm9wdGlvbmFsKCksXG4gIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRpbWVvdXQ6IFF1ZXJ5VGltZW91dE1zLm9wdGlvbmFsKCksXG4gIGpzb25TY2hlbWE6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9vbHM6IHouYXJyYXkoUWdyaWRUb29sKS5vcHRpb25hbCgpLFxuICBlZmZvcnQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdmVyYm9zaXR5OiBWZXJib3NpdHkub3B0aW9uYWwoKSxcbiAgcmVhc29uaW5nU3VtbWFyeTogUmVhc29uaW5nU3VtbWFyeS5vcHRpb25hbCgpLFxuICBzZXJ2aWNlVGllcjogU2VydmljZVRpZXIub3B0aW9uYWwoKSxcbiAgaGlzdG9yeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9qZWN0TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAvLyByYXcvZGFzaGJvYXJk7JmAIOqzteqwnCBBSSBTREsgcHJvdmlkZXJPcHRpb25zLnFncmlkLnRva2VuTmFtZeydtCDqs7XsnKDtlZjripQg7KeA7KCVIOyjvOyGjC5cbiAgdG9rZW5OYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIC8vIFNESy1kZXJpdmVkIG9wYXF1ZSBhZmZpbml0eS4gSXQgaXMgaW50ZW50aW9uYWxseSBkaXN0aW5jdCBmcm9tIHRoZSBjYWxsZXIncyBzZXNzaW9uS2V5LlxuICBjYWNoZUFmZmluaXR5S2V5OiB6XG4gICAgLnN0cmluZygpXG4gICAgLnJlZ2V4KC9eWzAtOWEtZl17NjR9JC8pXG4gICAgLm9wdGlvbmFsKCksXG4gIC8vIOyDneuete2VmOuptCDroZzquYXtlZzri6QuIGZhbHNl64qUIHJlcXVlc3QgbG9nIOyTsOq4sOunjCDrgYTqs6AgZGlzcGF0Y2gvdGhyZWFk64qUIOycoOyngO2VnOuLpC5cbiAgbG9nZ2VyOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBydW5Db250ZXh0OiBRZ3JpZFJ1bkNvbnRleHQub3B0aW9uYWwoKSxcbiAgdG9vbFJlc3VsdHM6IHouYXJyYXkoUWdyaWRUb29sUmVzdWx0SW5wdXQpLm9wdGlvbmFsKCksXG4gIC8vIE9wZW5BSSBSZXNwb25zZXMgaW1hZ2VfZ2VuZXJhdGlvbiB0b29sIOydhCDsvKDri6QoT3BlbkFJIOqyveuhnCDsoITsmqksIG9wdC1pbiwgbm9uLXN0cmVhbSkuXG4gIGltYWdlR2VuZXJhdGlvbjogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAgLy8gcWdyaWQg6rCA6rKpIOy2lOyglSDrsI8gQ29kZXgg7J2066+47KeAIOyalOyyrSDtnoztirguIOydtOuvuOyngCDrqqjrjbjsnYAgZ3B0LWltYWdlLTIg66GcIOqzoOyglSDqsIDsoJXtlZzri6QuXG4gIGltYWdlR2VuZXJhdGlvbk9wdGlvbnM6IEltYWdlR2VuZXJhdGlvbk9wdGlvbnMub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUXVlcnlJbnB1dCA9IHouaW5mZXI8dHlwZW9mIFF1ZXJ5SW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgTW9kZWxGYWxsYmFjayA9IHoub2JqZWN0KHtcbiAgdHJpZ2dlcjogei5saXRlcmFsKFwicmVmdXNhbFwiKSxcbiAgZnJvbU1vZGVsOiB6LnN0cmluZygpLFxuICB0b01vZGVsOiB6LnN0cmluZygpLFxuICBjYXRlZ29yeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBleHBsYW5hdGlvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBNb2RlbEZhbGxiYWNrID0gei5pbmZlcjx0eXBlb2YgTW9kZWxGYWxsYmFjaz47XG5cbmV4cG9ydCBjb25zdCBDb3N0U291cmNlID0gei5lbnVtKFtcInByb3ZpZGVyXCIsIFwicHJpY2luZ190YWJsZVwiLCBcIm1peGVkXCJdKTtcbmV4cG9ydCB0eXBlIENvc3RTb3VyY2UgPSB6LmluZmVyPHR5cGVvZiBDb3N0U291cmNlPjtcblxuZXhwb3J0IGNvbnN0IFF1ZXJ5T3V0cHV0ID0gei5vYmplY3Qoe1xuICB0ZXh0OiB6LnN0cmluZygpLFxuICBjb250ZW50OiB6LmFycmF5KFFncmlkQ29udGVudCksXG4gIGZpbmlzaFJlYXNvbjogRmluaXNoUmVhc29uLFxuICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVxdWVzdGVkTW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kZWxGYWxsYmFja3M6IHouYXJyYXkoTW9kZWxGYWxsYmFjaykub3B0aW9uYWwoKSxcbiAgdXNhZ2U6IHoub2JqZWN0KHtcbiAgICBpbnB1dF90b2tlbnM6IHoubnVtYmVyKCksXG4gICAgb3V0cHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICByZWFzb25pbmdfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIGNhY2hlX2NyZWF0aW9uX2lucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICBjYWNoZV9jcmVhdGlvbl81bV9pbnB1dF90b2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICBjYWNoZV9jcmVhdGlvbl8xaF9pbnB1dF90b2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICBjYWNoZV9yZWFkX2lucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgfSksXG4gIGR1cmF0aW9uTXM6IHoubnVtYmVyKCksXG4gIHR0ZnRNczogei5udW1iZXIoKSxcbiAgY29zdFVzZDogei5udW1iZXIoKSxcbiAgY29zdFNvdXJjZTogQ29zdFNvdXJjZSxcbiAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFF1ZXJ5T3V0cHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlPdXRwdXQ+O1xuXG4vLyDilIDilIDilIAgU3RyZWFtIEV2ZW50cyDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IFN0cmVhbUV2ZW50cyA9IHoub2JqZWN0KHtcbiAgZGVsdGE6IHoub2JqZWN0KHsgdGV4dDogei5zdHJpbmcoKSB9KSxcbiAgdG9vbENhbGw6IHoub2JqZWN0KHtcbiAgICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICAgIHRvb2xOYW1lOiB6LnN0cmluZygpLFxuICAgIGlucHV0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgZG9uZTogei5vYmplY3Qoe1xuICAgIHRleHQ6IHouc3RyaW5nKCksXG4gICAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICByZXF1ZXN0ZWRNb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIG1vZGVsRmFsbGJhY2tzOiB6LmFycmF5KE1vZGVsRmFsbGJhY2spLm9wdGlvbmFsKCksXG4gICAgdG9rZW5OYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgZmluaXNoUmVhc29uOiBGaW5pc2hSZWFzb24sXG4gICAgdXNhZ2U6IHoub2JqZWN0KHtcbiAgICAgIGlucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICAgIG91dHB1dF90b2tlbnM6IHoubnVtYmVyKCksXG4gICAgICByZWFzb25pbmdfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgICAgY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgICAgY2FjaGVfY3JlYXRpb25fNW1faW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gICAgICBjYWNoZV9jcmVhdGlvbl8xaF9pbnB1dF90b2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIH0pLFxuICAgIGR1cmF0aW9uTXM6IHoubnVtYmVyKCksXG4gICAgdHRmdE1zOiB6Lm51bWJlcigpLFxuICAgIGNvc3RVc2Q6IHoubnVtYmVyKCksXG4gICAgY29zdFNvdXJjZTogQ29zdFNvdXJjZSxcbiAgICBjb250ZW50OiB6LmFycmF5KFFncmlkQ29udGVudCksXG4gICAgcnVuQ29udGV4dDogUWdyaWRSdW5Db250ZXh0Lm9wdGlvbmFsKCksXG4gIH0pLFxuICBlcnJvcjogei5vYmplY3QoeyBtZXNzYWdlOiB6LnN0cmluZygpIH0pLFxufSk7XG5leHBvcnQgdHlwZSBTdHJlYW1FdmVudHMgPSB6LmluZmVyPHR5cGVvZiBTdHJlYW1FdmVudHM+O1xuXG4vLyDilIDilIDilIAgUnVuIExpZmVjeWNsZSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IENyZWF0ZVJ1bklucHV0ID0gei5vYmplY3Qoe1xuICB1c2VyUHJvbXB0OiB6LnN0cmluZygpLFxuICBzeXN0ZW1Qcm9tcHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kZWxOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBwcm9qZWN0TmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBoaXN0b3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlzU3RydWN0dXJlZDogei5ib29sZWFuKCkub3B0aW9uYWwoKSxcbiAganNvblNjaGVtYTogei5zdHJpbmcoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIENyZWF0ZVJ1bklucHV0ID0gei5pbmZlcjx0eXBlb2YgQ3JlYXRlUnVuSW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgQXBwZW5kU3RlcElucHV0ID0gei5vYmplY3Qoe1xuICByZXF1ZXN0TG9nSWQ6IHoubnVtYmVyKCksXG4gIHN0ZXBJbmRleDogei5udW1iZXIoKSxcbiAgdHlwZTogei5lbnVtKFtcImdlbmVyYXRlXCIsIFwidG9vbF9jYWxsXCJdKSxcbiAgbW9kZWxOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlcXVlc3RlZE1vZGVsTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmYWxsYmFja0NvdW50OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGlucHV0VG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIG91dHB1dFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjYWNoZVJlYWRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgY2FjaGVDcmVhdGlvblRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjYWNoZUNyZWF0aW9uNW1Ub2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgY2FjaGVDcmVhdGlvbjFoVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNvc3RVc2Q6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgY29zdFNvdXJjZTogQ29zdFNvdXJjZS5vcHRpb25hbCgpLFxuICBkdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHR0ZnRNczogei5udW1iZXIoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG4gIGZpbmlzaFJlYXNvbjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICByZWFzb25pbmdUZXh0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYXNvbmluZ1Rva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b29sQ2FsbEluZGV4OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvb2xDYWxsSWQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9vbE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9vbEFyZ3M6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9vbFJlc3VsdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sRHVyYXRpb25Nczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBlcnJvcjogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBBcHBlbmRTdGVwSW5wdXQgPSB6LmluZmVyPHR5cGVvZiBBcHBlbmRTdGVwSW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgRmluaXNoUnVuSW5wdXQgPSB6Lm9iamVjdCh7XG4gIHJlcXVlc3RMb2dJZDogei5udW1iZXIoKSxcbiAgc3RhdHVzOiB6LmVudW0oW1wic3VjY2VlZGVkXCIsIFwiZXJyb3JcIiwgXCJhYm9ydGVkXCJdKSxcbiAgcmVzcG9uc2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdG9rZW5OYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIG1vZGVsTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICByZXF1ZXN0ZWRNb2RlbE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZmFsbGJhY2tDb3VudDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbElucHV0VG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvdGFsT3V0cHV0VG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvdGFsQ2FjaGVSZWFkVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvdGFsQ2FjaGVDcmVhdGlvblRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbENhY2hlQ3JlYXRpb241bVRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICB0b3RhbENhY2hlQ3JlYXRpb24xaFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjb3N0VXNkOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNvc3RTb3VyY2U6IENvc3RTb3VyY2Uub3B0aW9uYWwoKSxcbiAgdG90YWxEdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGhpc3Rvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZXJyb3JNZXNzYWdlOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlc3BvbnNlSnNvbk9rOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBGaW5pc2hSdW5JbnB1dCA9IHouaW5mZXI8dHlwZW9mIEZpbmlzaFJ1bklucHV0PjtcblxuLy8g4pSA4pSA4pSAIFRva2VuIE1hbmFnZW1lbnQg4pSA4pSA4pSAXG5cbmV4cG9ydCBjb25zdCBUb2tlblN0YXRzID0gei5vYmplY3Qoe1xuICB0b2tlbjogei5zdHJpbmcoKSxcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCksXG4gIHJlcXVlc3RzOiB6Lm51bWJlcigpLFxufSk7XG5leHBvcnQgdHlwZSBUb2tlblN0YXRzID0gei5pbmZlcjx0eXBlb2YgVG9rZW5TdGF0cz47XG5cbi8vIOKUgOKUgOKUgCBPQXV0aCDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IE9BdXRoU3RhcnRSZXN1bHQgPSB6Lm9iamVjdCh7XG4gIGF1dGhVcmw6IHouc3RyaW5nKCksXG4gIC8vIHJlZGlyZWN0OiDruIzrnbzsmrDsoIAg7J6Q64+ZIOuzteq3gCjro6jtlITrsLEg7KCR7IaNKS4gY29kZTog7L2Y7IaUIOy9nOuwsSArIOy9lOuTnCDrtpnsl6zrhKPquLAo7JuQ6rKpIOygkeyGjSkuXG4gIC8vIE9wZW5BSSDsm5Dqsqkg6rK966Gc64qUIOuTseuhneuQnCBsb29wYmFjayBjYWxsYmFjayBVUkwg7KCE7LK066W8IOu2meyXrOuEo+uKlCBjb2RlIOuqqOuTnOulvCDsk7Tri6QuXG4gIG1vZGU6IHouZW51bShbXCJyZWRpcmVjdFwiLCBcImNvZGVcIl0pLFxufSk7XG5leHBvcnQgdHlwZSBPQXV0aFN0YXJ0UmVzdWx0ID0gei5pbmZlcjx0eXBlb2YgT0F1dGhTdGFydFJlc3VsdD47XG5cbmNvbnN0IFJhdGVXaW5kb3cgPSB6XG4gIC5vYmplY3Qoe1xuICAgIHV0aWxpemF0aW9uOiB6Lm51bWJlcigpLm51bGxhYmxlKCksXG4gICAgcmVzZXRzQXQ6IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgICB3aW5kb3dEdXJhdGlvbk1pbnM6IHoubnVtYmVyKCkubnVsbGFibGUoKS5vcHRpb25hbCgpLFxuICB9KVxuICAubnVsbGFibGUoKTtcblxuZXhwb3J0IGNvbnN0IFVzYWdlUmVzcG9uc2UgPSB6Lm9iamVjdCh7XG4gIGVycm9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByb3ZpZGVyOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZpdmVIb3VyOiBSYXRlV2luZG93Lm9wdGlvbmFsKCksXG4gIHNldmVuRGF5OiBSYXRlV2luZG93Lm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFVzYWdlUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBVc2FnZVJlc3BvbnNlPjtcblxuLy8g4pSA4pSA4pSAIEhlYWx0aCDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IFN1YnNjcmliZXJTdGF0dXMgPSB6Lm9iamVjdCh7XG4gIGNvbm5lY3RlZDogei5ib29sZWFuKCksXG4gIGNvbm5lY3RlZEF0OiB6LmRhdGUoKS5udWxsYWJsZSgpLFxuICBsYXN0UmVjb25jaWxlQXQ6IHouZGF0ZSgpLm51bGxhYmxlKCksXG4gIGF0dGVtcHQ6IHoubnVtYmVyKCksXG59KTtcbmV4cG9ydCB0eXBlIFN1YnNjcmliZXJTdGF0dXMgPSB6LmluZmVyPHR5cGVvZiBTdWJzY3JpYmVyU3RhdHVzPjtcblxuZXhwb3J0IGNvbnN0IFByb3ZpZGVyU3RhcnR1cFN0YXRlID0gei5lbnVtKFtcInN0YXJ0aW5nXCIsIFwicmVhZHlcIiwgXCJmYWlsZWRcIl0pO1xuZXhwb3J0IHR5cGUgUHJvdmlkZXJTdGFydHVwU3RhdGUgPSB6LmluZmVyPHR5cGVvZiBQcm92aWRlclN0YXJ0dXBTdGF0ZT47XG5cbmV4cG9ydCBjb25zdCBIZWFsdGhSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgc3RhdHVzOiB6LnN0cmluZygpLFxuICBhY3RpdmVUb2tlbnM6IHoubnVtYmVyKCksXG4gIHN1YnNjcmliZXI6IFN1YnNjcmliZXJTdGF0dXMubnVsbGFibGUoKSxcbiAgLy8gSFRUUCDrpqzsiqTri53snYAgZGlzcGF0Y2hlciDquLDrj5nrs7Tri6Qg66i87KCAIOyXtOumsOuLpC4gMjAwIOydkeuLteunjOycvOuhnOuKlCDsmpTssq3snYQg7LKY66as7ZWgIOyImFxuICAvLyDsnojripTsp4Ag7JWMIOyImCDsl4bslrQgcHJvdmlkZXIg67OEIOykgOu5hCDsg4Htg5zrpbwg7ZWo6ruYIOuFuOy2nO2VnOuLpC5cbiAgcmVhZHk6IHouYm9vbGVhbigpLFxuICBwcm92aWRlcnM6IHoub2JqZWN0KHtcbiAgICBvcGVuYWk6IFByb3ZpZGVyU3RhcnR1cFN0YXRlLFxuICAgIGFudGhyb3BpYzogUHJvdmlkZXJTdGFydHVwU3RhdGUsXG4gIH0pLFxufSk7XG5leHBvcnQgdHlwZSBIZWFsdGhSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIEhlYWx0aFJlc3BvbnNlPjtcblxuLy8g4pSA4pSA4pSAIEVycm9ycyDilIDilIDilIBcblxuZXhwb3J0IGNsYXNzIFF1b3RhRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlFVT1RBX0VYSEFVU1RFRFwiIGFzIGNvbnN0O1xufVxuZXhwb3J0IGNsYXNzIFF1b3RhVGhyZXNob2xkRXhjZWVkZWRFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcmVhZG9ubHkgY29kZSA9IFwiUVVPVEFfVEhSRVNIT0xEX0VYQ0VFREVEXCIgYXMgY29uc3Q7XG59XG5leHBvcnQgY2xhc3MgVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICByZWFkb25seSBjb2RlID0gXCJUSU1FT1VUXCIgYXMgY29uc3Q7XG59XG5leHBvcnQgY2xhc3MgUHJvY2Vzc0Vycm9yIGV4dGVuZHMgRXJyb3Ige1xuICByZWFkb25seSBjb2RlID0gXCJQUk9DRVNTX0VSUk9SXCIgYXMgY29uc3Q7XG59XG5cbi8vIOKUgOKUgOKUgCBVdGlscyDilIDilIDilIBcblxuZXhwb3J0IGZ1bmN0aW9uIG1hc2tUb2tlbih0b2tlbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIHRva2VuLmxlbmd0aCA+IDQgPyBgLi4uJHt0b2tlbi5zbGljZSgtNCl9YCA6IHRva2VuO1xufVxuIl0sIm1hcHBpbmdzIjoiOztBQUlBLE1BQWEsU0FBUyxFQUFFLEtBQUs7Q0FBQztDQUFPO0NBQVU7QUFBTSxDQUFDO0FBR3RELE1BQWEsWUFBWSxFQUFFLE9BQU87Q0FDaEMsTUFBTSxFQUFFLE9BQU87Q0FDZixhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNqQyxhQUFhLEVBQUUsUUFBUTtBQUN6QixDQUFDO0FBSUQsTUFBYSwwQkFBMEIsRUFBRSxPQUFPO0NBQzlDLE9BQU8sRUFBRSxRQUFRLGNBQWM7Q0FDL0IsT0FBTyxFQUFFLFFBQVEsYUFBYTtDQUM5QixZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNoQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM3QixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUMxQixPQUFPLEVBQ0osT0FBTztFQUNOLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZO0VBQ3JDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZO0VBQ3RDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxZQUFZO0VBQ3JDLHNCQUFzQixFQUNuQixPQUFPO0dBQ04sY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7R0FDckMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7R0FDcEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLFNBQVM7RUFDbkQsQ0FBQyxDQUFDLENBQ0QsU0FBUztFQUNaLHVCQUF1QixFQUNwQixPQUFPO0dBQ04sY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7R0FDckMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7RUFDdEMsQ0FBQyxDQUFDLENBQ0QsU0FBUztDQUNkLENBQUMsQ0FBQyxDQUNELFNBQVM7QUFDZCxDQUFDO0FBR0QsTUFBYSxlQUFlLEVBQUUsbUJBQW1CLFFBQVE7Q0FDdkQsRUFBRSxPQUFPO0VBQ1AsTUFBTSxFQUFFLFFBQVEsTUFBTTtFQUN0QixNQUFNLEVBQUUsT0FBTztDQUNqQixDQUFDO0NBQ0QsRUFBRSxPQUFPO0VBQ1AsTUFBTSxFQUFFLFFBQVEsV0FBVztFQUMzQixZQUFZLEVBQUUsT0FBTztFQUNyQixVQUFVLEVBQUUsT0FBTztFQUNuQixPQUFPLEVBQUUsT0FBTztDQUNsQixDQUFDO0NBQ0QsRUFBRSxPQUFPO0VBQ1AsTUFBTSxFQUFFLFFBQVEsT0FBTztFQUV2QixNQUFNLEVBQUUsT0FBTztFQUNmLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQyxRQUFRO0VBQ2xDLFlBQVksd0JBQXdCLFNBQVM7Q0FDL0MsQ0FBQztBQUNILENBQUM7QUFHRCxNQUFhLGVBQWUsRUFBRSxLQUFLLENBQUMsUUFBUSxZQUFZLENBQUM7QUFHekQsTUFBYSxZQUFZLEVBQUUsS0FBSztDQUFDO0NBQU87Q0FBVTtBQUFNLENBQUM7QUFHekQsTUFBYSxtQkFBbUIsRUFBRSxLQUFLO0NBQUM7Q0FBUTtDQUFXO0NBQVk7QUFBTSxDQUFDO0FBRzlFLE1BQWEsY0FBYyxFQUFFLEtBQUssQ0FBQyxRQUFRLE1BQU0sQ0FBQztBQUdsRCxNQUFhLHlCQUF5QixFQUFFLEtBQUs7Q0FBQztDQUFPO0NBQVU7QUFBTSxDQUFDO0FBR3RFLE1BQWEsc0JBQXNCLEVBQUUsS0FBSztDQUFDO0NBQWE7Q0FBYTtBQUFXLENBQUM7QUFHakYsTUFBYSx5QkFBeUIsRUFBRSxPQUFPO0NBQzdDLFNBQVMsdUJBQXVCLFNBQVM7Q0FDekMsTUFBTSxvQkFBb0IsU0FBUztDQUNuQyxZQUFZLEVBQUUsS0FBSztFQUFDO0VBQVE7RUFBVTtDQUFhLENBQUMsQ0FBQyxDQUFDLFNBQVM7QUFDakUsQ0FBQztBQUdELE1BQWEsaUJBQWlCLEVBQUUsbUJBQW1CLFFBQVEsQ0FDekQsRUFBRSxPQUFPO0NBQ1AsTUFBTSxFQUFFLFFBQVEsTUFBTTtDQUN0QixNQUFNLEVBQUUsT0FBTztDQUNmLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUM5QyxDQUFDLEdBQ0QsRUFBRSxPQUFPO0NBQ1AsTUFBTSxFQUFFLFFBQVEsT0FBTztDQUN2QixLQUFLLEVBQUUsT0FBTztBQUNoQixDQUFDLENBQ0gsQ0FBQztBQUdELE1BQWEsdUJBQXVCLEtBQUs7QUFDekMsTUFBYSxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLG9CQUFvQjtBQU9sRixNQUFhLG1CQUFtQixFQUFFLE9BQU87Q0FDdkMsVUFBVSxFQUFFLE9BQU87Q0FDbkIsVUFBVSxFQUFFLE9BQU87Q0FDbkIsT0FBTyxFQUFFLE9BQU87Q0FDaEIsWUFBWSxFQUFFLE9BQU87QUFDdkIsQ0FBQztBQUdELE1BQWEsa0JBQWtCLEVBQUUsT0FBTztDQUV0QyxjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNsQyxhQUFhLGlCQUFpQixTQUFTO0FBQ3pDLENBQUM7QUFHRCxNQUFhLHVCQUF1QixFQUFFLE9BQU87Q0FDM0MsWUFBWSxFQUFFLE9BQU87Q0FDckIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDOUIsUUFBUSxFQUFFLE9BQU87Q0FDakIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFNBQVM7QUFDaEMsQ0FBQztBQUdELE1BQWEsYUFBYSxFQUFFLFlBQVk7Q0FDdEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDNUIsUUFBUSxFQUFFLE9BQU87Q0FDakIsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDLENBQUMsU0FBUztDQUN4QyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUMzQixTQUFTLGVBQWUsU0FBUztDQUNqQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNoQyxPQUFPLEVBQUUsTUFBTSxTQUFTLENBQUMsQ0FBQyxTQUFTO0NBQ25DLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzVCLFdBQVcsVUFBVSxTQUFTO0NBQzlCLGtCQUFrQixpQkFBaUIsU0FBUztDQUM1QyxhQUFhLFlBQVksU0FBUztDQUNsQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM3QixhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUVqQyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUUvQixrQkFBa0IsRUFDZixPQUFPLENBQUMsQ0FDUixNQUFNLGdCQUFnQixDQUFDLENBQ3ZCLFNBQVM7Q0FFWixRQUFRLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBUztDQUM3QixZQUFZLGdCQUFnQixTQUFTO0NBQ3JDLGFBQWEsRUFBRSxNQUFNLG9CQUFvQixDQUFDLENBQUMsU0FBUztDQUVwRCxpQkFBaUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTO0NBRXRDLHdCQUF3Qix1QkFBdUIsU0FBUztBQUMxRCxDQUFDO0FBR0QsTUFBYSxnQkFBZ0IsRUFBRSxPQUFPO0NBQ3BDLFNBQVMsRUFBRSxRQUFRLFNBQVM7Q0FDNUIsV0FBVyxFQUFFLE9BQU87Q0FDcEIsU0FBUyxFQUFFLE9BQU87Q0FDbEIsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDOUIsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7QUFDbkMsQ0FBQztBQUdELE1BQWEsYUFBYSxFQUFFLEtBQUs7Q0FBQztDQUFZO0NBQWlCO0FBQU8sQ0FBQztBQUd2RSxNQUFhLGNBQWMsRUFBRSxPQUFPO0NBQ2xDLE1BQU0sRUFBRSxPQUFPO0NBQ2YsU0FBUyxFQUFFLE1BQU0sWUFBWTtDQUM3QixjQUFjO0NBQ2QsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDL0IsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDM0IsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNwQyxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQyxDQUFDLFNBQVM7Q0FDaEQsT0FBTyxFQUFFLE9BQU87RUFDZCxjQUFjLEVBQUUsT0FBTztFQUN2QixlQUFlLEVBQUUsT0FBTztFQUN4QixrQkFBa0IsRUFBRSxPQUFPO0VBQzNCLDZCQUE2QixFQUFFLE9BQU87RUFDdEMsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztFQUNwRCxnQ0FBZ0MsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0VBQ3BELHlCQUF5QixFQUFFLE9BQU87Q0FDcEMsQ0FBQztDQUNELFlBQVksRUFBRSxPQUFPO0NBQ3JCLFFBQVEsRUFBRSxPQUFPO0NBQ2pCLFNBQVMsRUFBRSxPQUFPO0NBQ2xCLFlBQVk7Q0FDWixZQUFZLGdCQUFnQixTQUFTO0FBQ3ZDLENBQUM7QUFLRCxNQUFhLGVBQWUsRUFBRSxPQUFPO0NBQ25DLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDO0NBQ3BDLFVBQVUsRUFBRSxPQUFPO0VBQ2pCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLE9BQU8sRUFBRSxPQUFPO0NBQ2xCLENBQUM7Q0FDRCxNQUFNLEVBQUUsT0FBTztFQUNiLE1BQU0sRUFBRSxPQUFPO0VBQ2YsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7RUFDM0IsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztFQUNwQyxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQyxDQUFDLFNBQVM7RUFDaEQsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7RUFDL0IsY0FBYztFQUNkLE9BQU8sRUFBRSxPQUFPO0dBQ2QsY0FBYyxFQUFFLE9BQU87R0FDdkIsZUFBZSxFQUFFLE9BQU87R0FDeEIsa0JBQWtCLEVBQUUsT0FBTztHQUMzQiw2QkFBNkIsRUFBRSxPQUFPO0dBQ3RDLGdDQUFnQyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7R0FDcEQsZ0NBQWdDLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztHQUNwRCx5QkFBeUIsRUFBRSxPQUFPO0VBQ3BDLENBQUM7RUFDRCxZQUFZLEVBQUUsT0FBTztFQUNyQixRQUFRLEVBQUUsT0FBTztFQUNqQixTQUFTLEVBQUUsT0FBTztFQUNsQixZQUFZO0VBQ1osU0FBUyxFQUFFLE1BQU0sWUFBWTtFQUM3QixZQUFZLGdCQUFnQixTQUFTO0NBQ3ZDLENBQUM7Q0FDRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQztBQUN6QyxDQUFDO0FBS0QsTUFBYSxpQkFBaUIsRUFBRSxPQUFPO0NBQ3JDLFlBQVksRUFBRSxPQUFPO0NBQ3JCLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2xDLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQy9CLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzVCLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2pDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzdCLGNBQWMsRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTO0NBQ25DLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTO0FBQzdDLENBQUM7QUFHRCxNQUFhLGtCQUFrQixFQUFFLE9BQU87Q0FDdEMsY0FBYyxFQUFFLE9BQU87Q0FDdkIsV0FBVyxFQUFFLE9BQU87Q0FDcEIsTUFBTSxFQUFFLEtBQUssQ0FBQyxZQUFZLFdBQVcsQ0FBQztDQUN0QyxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUMvQixvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ3hDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ25DLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2pDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2xDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDckMscUJBQXFCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUN6Qyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzNDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDM0MsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDN0IsWUFBWSxXQUFXLFNBQVM7Q0FDaEMsWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDaEMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7Q0FDdkMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDbEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDbkMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNyQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNuQyxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNoQyxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM5QixVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM5QixZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNoQyxnQkFBZ0IsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ3BDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0FBQzdCLENBQUM7QUFHRCxNQUFhLGlCQUFpQixFQUFFLE9BQU87Q0FDckMsY0FBYyxFQUFFLE9BQU87Q0FDdkIsUUFBUSxFQUFFLEtBQUs7RUFBQztFQUFhO0VBQVM7Q0FBUyxDQUFDO0NBQ2hELFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzlCLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQy9CLFdBQVcsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQy9CLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDeEMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDbkMsa0JBQWtCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUN0QyxtQkFBbUIsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ3ZDLHNCQUFzQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDMUMsMEJBQTBCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM5Qyw0QkFBNEIsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2hELDRCQUE0QixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDaEQsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVM7Q0FDN0IsWUFBWSxXQUFXLFNBQVM7Q0FDaEMsaUJBQWlCLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNyQyxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM3QixjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUNsQyxnQkFBZ0IsRUFBRSxRQUFRLENBQUMsQ0FBQyxTQUFTO0FBQ3ZDLENBQUM7QUFLRCxNQUFhLGFBQWEsRUFBRSxPQUFPO0NBQ2pDLE9BQU8sRUFBRSxPQUFPO0NBQ2hCLE1BQU0sRUFBRSxPQUFPO0NBQ2YsVUFBVSxFQUFFLE9BQU87Q0FDbkIsVUFBVSxFQUFFLE9BQU87QUFDckIsQ0FBQztBQUtELE1BQWEsbUJBQW1CLEVBQUUsT0FBTztDQUN2QyxTQUFTLEVBQUUsT0FBTztDQUdsQixNQUFNLEVBQUUsS0FBSyxDQUFDLFlBQVksTUFBTSxDQUFDO0FBQ25DLENBQUM7QUFHRCxNQUFNLGFBQWEsRUFDaEIsT0FBTztDQUNOLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2pDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzlCLG9CQUFvQixFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLFNBQVM7QUFDckQsQ0FBQyxDQUFDLENBQ0QsU0FBUztBQUVaLE1BQWEsZ0JBQWdCLEVBQUUsT0FBTztDQUNwQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUMzQixVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBUztDQUM5QixVQUFVLFdBQVcsU0FBUztDQUM5QixVQUFVLFdBQVcsU0FBUztBQUNoQyxDQUFDO0FBS0QsTUFBYSxtQkFBbUIsRUFBRSxPQUFPO0NBQ3ZDLFdBQVcsRUFBRSxRQUFRO0NBQ3JCLGFBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQyxTQUFTO0NBQy9CLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVM7Q0FDbkMsU0FBUyxFQUFFLE9BQU87QUFDcEIsQ0FBQztBQUdELE1BQWEsdUJBQXVCLEVBQUUsS0FBSztDQUFDO0NBQVk7Q0FBUztBQUFRLENBQUM7QUFHMUUsTUFBYSxpQkFBaUIsRUFBRSxPQUFPO0NBQ3JDLFFBQVEsRUFBRSxPQUFPO0NBQ2pCLGNBQWMsRUFBRSxPQUFPO0NBQ3ZCLFlBQVksaUJBQWlCLFNBQVM7Q0FHdEMsT0FBTyxFQUFFLFFBQVE7Q0FDakIsV0FBVyxFQUFFLE9BQU87RUFDbEIsUUFBUTtFQUNSLFdBQVc7Q0FDYixDQUFDO0FBQ0gsQ0FBQztBQUtELElBQWEsYUFBYixjQUFnQyxNQUFNO0NBQ3BDLE9BQWdCO0FBQ2xCO0FBQ0EsSUFBYSw4QkFBYixjQUFpRCxNQUFNO0NBQ3JELE9BQWdCO0FBQ2xCO0FBQ0EsSUFBYSxlQUFiLGNBQWtDLE1BQU07Q0FDdEMsT0FBZ0I7QUFDbEI7QUFDQSxJQUFhLGVBQWIsY0FBa0MsTUFBTTtDQUN0QyxPQUFnQjtBQUNsQjtBQUlBLFNBQWdCLFVBQVUsT0FBdUI7Q0FDL0MsT0FBTyxNQUFNLFNBQVMsSUFBSSxNQUFNLE1BQU0sTUFBTSxFQUFFLE1BQU07QUFDdEQifQ==
|
|
335
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicWdyaWQudHlwZXMuanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3FncmlkLnR5cGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHogfSBmcm9tIFwiem9kXCI7XG5cbi8vIOKUgOKUgOKUgCBRdWVyeSDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IEVmZm9ydCA9IHouZW51bShbXCJsb3dcIiwgXCJtZWRpdW1cIiwgXCJoaWdoXCJdKTtcbmV4cG9ydCB0eXBlIEVmZm9ydCA9IHouaW5mZXI8dHlwZW9mIEVmZm9ydD47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZFRvb2wgPSB6Lm9iamVjdCh7XG4gIG5hbWU6IHouc3RyaW5nKCksXG4gIGRlc2NyaXB0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGlucHV0U2NoZW1hOiB6LnVua25vd24oKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRUb29sID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sPjtcblxuLy8gT2JzZXJ2ZWQgc3RhbmRhbG9uZSBJbWFnZXMgcmVzcG9uc2UgdmFsdWVzLCBkaXN0aW5jdCBmcm9tIHJlcXVlc3RlZCBnZW5lcmF0aW9uIGhpbnRzLlxuZXhwb3J0IGNvbnN0IEltYWdlR2VuZXJhdGlvbk1ldGFkYXRhID0gei5vYmplY3Qoe1xuICByb3V0ZTogei5saXRlcmFsKFwiY29kZXgtaW1hZ2VzXCIpLFxuICBtb2RlbDogei5saXRlcmFsKFwiZ3B0LWltYWdlLTJcIiksXG4gIGJhY2tncm91bmQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcXVhbGl0eTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBzaXplOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHVzYWdlOiB6XG4gICAgLm9iamVjdCh7XG4gICAgICBpbnB1dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgIG91dHB1dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgIHRvdGFsX3Rva2Vuczogei5udW1iZXIoKS5ub25uZWdhdGl2ZSgpLFxuICAgICAgaW5wdXRfdG9rZW5zX2RldGFpbHM6IHpcbiAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgaW1hZ2VfdG9rZW5zOiB6Lm51bWJlcigpLm5vbm5lZ2F0aXZlKCksXG4gICAgICAgICAgdGV4dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgICAgICBjYWNoZWRfdG9rZW5zOiB6Lm51bWJlcigpLm5vbm5lZ2F0aXZlKCkub3B0aW9uYWwoKSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbmFsKCksXG4gICAgICBvdXRwdXRfdG9rZW5zX2RldGFpbHM6IHpcbiAgICAgICAgLm9iamVjdCh7XG4gICAgICAgICAgaW1hZ2VfdG9rZW5zOiB6Lm51bWJlcigpLm5vbm5lZ2F0aXZlKCksXG4gICAgICAgICAgdGV4dF90b2tlbnM6IHoubnVtYmVyKCkubm9ubmVnYXRpdmUoKSxcbiAgICAgICAgfSlcbiAgICAgICAgLm9wdGlvbmFsKCksXG4gICAgfSlcbiAgICAub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uTWV0YWRhdGEgPSB6LmluZmVyPHR5cGVvZiBJbWFnZUdlbmVyYXRpb25NZXRhZGF0YT47XG5cbmV4cG9ydCBjb25zdCBRZ3JpZENvbnRlbnQgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcInR5cGVcIiwgW1xuICB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwidGV4dFwiKSxcbiAgICB0ZXh0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcInRvb2wtY2FsbFwiKSxcbiAgICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICAgIHRvb2xOYW1lOiB6LnN0cmluZygpLFxuICAgIGlucHV0OiB6LnN0cmluZygpLFxuICB9KSxcbiAgei5vYmplY3Qoe1xuICAgIHR5cGU6IHoubGl0ZXJhbChcImltYWdlXCIpLFxuICAgIC8vIEJhc2U2NCBpbWFnZSBieXRlczsgb2xkZXIgcmVzcG9uc2VzIHdpdGhvdXQgbWVkaWFUeXBlIGFyZSBQTkcuXG4gICAgZGF0YTogei5zdHJpbmcoKSxcbiAgICBtZWRpYVR5cGU6IHouZW51bShbXCJpbWFnZS9wbmdcIiwgXCJpbWFnZS9qcGVnXCIsIFwiaW1hZ2Uvd2VicFwiXSkub3B0aW9uYWwoKSxcbiAgICByZXZpc2VkUHJvbXB0OiB6LnN0cmluZygpLm51bGxpc2goKSxcbiAgICBnZW5lcmF0aW9uOiBJbWFnZUdlbmVyYXRpb25NZXRhZGF0YS5vcHRpb25hbCgpLFxuICB9KSxcbl0pO1xuZXhwb3J0IHR5cGUgUWdyaWRDb250ZW50ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRDb250ZW50PjtcblxuZXhwb3J0IGNvbnN0IEZpbmlzaFJlYXNvbiA9IHouZW51bShbXCJzdG9wXCIsIFwidG9vbC1jYWxsc1wiXSk7XG5leHBvcnQgdHlwZSBGaW5pc2hSZWFzb24gPSB6LmluZmVyPHR5cGVvZiBGaW5pc2hSZWFzb24+O1xuXG5leHBvcnQgY29uc3QgVmVyYm9zaXR5ID0gei5lbnVtKFtcImxvd1wiLCBcIm1lZGl1bVwiLCBcImhpZ2hcIl0pO1xuZXhwb3J0IHR5cGUgVmVyYm9zaXR5ID0gei5pbmZlcjx0eXBlb2YgVmVyYm9zaXR5PjtcblxuZXhwb3J0IGNvbnN0IFJlYXNvbmluZ1N1bW1hcnkgPSB6LmVudW0oW1wiYXV0b1wiLCBcImNvbmNpc2VcIiwgXCJkZXRhaWxlZFwiLCBcIm5vbmVcIl0pO1xuZXhwb3J0IHR5cGUgUmVhc29uaW5nU3VtbWFyeSA9IHouaW5mZXI8dHlwZW9mIFJlYXNvbmluZ1N1bW1hcnk+O1xuXG5leHBvcnQgY29uc3QgU2VydmljZVRpZXIgPSB6LmVudW0oW1wiZmFzdFwiLCBcImZsZXhcIl0pO1xuZXhwb3J0IHR5cGUgU2VydmljZVRpZXIgPSB6LmluZmVyPHR5cGVvZiBTZXJ2aWNlVGllcj47XG5cbmV4cG9ydCBjb25zdCBJbWFnZUdlbmVyYXRpb25RdWFsaXR5ID0gei5lbnVtKFtcImxvd1wiLCBcIm1lZGl1bVwiLCBcImhpZ2hcIl0pO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uUXVhbGl0eSA9IHouaW5mZXI8dHlwZW9mIEltYWdlR2VuZXJhdGlvblF1YWxpdHk+O1xuXG5leHBvcnQgY29uc3QgSW1hZ2VHZW5lcmF0aW9uU2l6ZSA9IHouZW51bShbXCIxMDI0eDEwMjRcIiwgXCIxMDI0eDE1MzZcIiwgXCIxNTM2eDEwMjRcIl0pO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uU2l6ZSA9IHouaW5mZXI8dHlwZW9mIEltYWdlR2VuZXJhdGlvblNpemU+O1xuXG5leHBvcnQgY29uc3QgSW1hZ2VHZW5lcmF0aW9uT3B0aW9ucyA9IHpcbiAgLm9iamVjdCh7XG4gICAgcXVhbGl0eTogSW1hZ2VHZW5lcmF0aW9uUXVhbGl0eS5vcHRpb25hbCgpLFxuICAgIHNpemU6IEltYWdlR2VuZXJhdGlvblNpemUub3B0aW9uYWwoKSxcbiAgICBiYWNrZ3JvdW5kOiB6LmVudW0oW1wiYXV0b1wiLCBcIm9wYXF1ZVwiLCBcInRyYW5zcGFyZW50XCJdKS5vcHRpb25hbCgpLFxuICAgIG91dHB1dEZvcm1hdDogei5lbnVtKFtcInBuZ1wiLCBcImpwZWdcIiwgXCJ3ZWJwXCJdKS5vcHRpb25hbCgpLFxuICB9KVxuICAucmVmaW5lKFxuICAgIChvcHRpb25zKSA9PlxuICAgICAgb3B0aW9ucy5iYWNrZ3JvdW5kICE9PSBcInRyYW5zcGFyZW50XCIgfHxcbiAgICAgICFvcHRpb25zLm91dHB1dEZvcm1hdCB8fFxuICAgICAgb3B0aW9ucy5vdXRwdXRGb3JtYXQgPT09IFwicG5nXCIsXG4gICAgeyBtZXNzYWdlOiBcIlRyYW5zcGFyZW50IGltYWdlIGdlbmVyYXRpb24gb25seSBzdXBwb3J0cyBQTkcgb3V0cHV0XCIsIHBhdGg6IFtcIm91dHB1dEZvcm1hdFwiXSB9LFxuICApO1xuZXhwb3J0IHR5cGUgSW1hZ2VHZW5lcmF0aW9uT3B0aW9ucyA9IHouaW5mZXI8dHlwZW9mIEltYWdlR2VuZXJhdGlvbk9wdGlvbnM+O1xuXG5leHBvcnQgY29uc3QgUWdyaWRJbnB1dFBhcnQgPSB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcInR5cGVcIiwgW1xuICB6Lm9iamVjdCh7XG4gICAgdHlwZTogei5saXRlcmFsKFwidGV4dFwiKSxcbiAgICB0ZXh0OiB6LnN0cmluZygpLFxuICAgIHRleHRfZWxlbWVudHM6IHouYXJyYXkoei5uZXZlcigpKS5kZWZhdWx0KFtdKSxcbiAgfSksXG4gIHoub2JqZWN0KHtcbiAgICB0eXBlOiB6LmxpdGVyYWwoXCJpbWFnZVwiKSxcbiAgICB1cmw6IHouc3RyaW5nKCksXG4gIH0pLFxuXSk7XG5leHBvcnQgdHlwZSBRZ3JpZElucHV0UGFydCA9IHouaW5mZXI8dHlwZW9mIFFncmlkSW5wdXRQYXJ0PjtcblxuZXhwb3J0IGNvbnN0IE1BWF9RVUVSWV9USU1FT1VUX01TID0gMzAgKiA2MF8wMDA7XG5leHBvcnQgY29uc3QgUXVlcnlUaW1lb3V0TXMgPSB6Lm51bWJlcigpLmludCgpLnBvc2l0aXZlKCkubWF4KE1BWF9RVUVSWV9USU1FT1VUX01TKTtcblxuLy8g4pSA4pSA4pSAIFJ1biBMaWZlY3ljbGUgQ29udGV4dCAoU0RLIOKGlCBTZXJ2ZXIgY29udHJhY3QpIOKUgOKUgOKUgFxuXG4vLyBPcGVuQUkgY2FjaGUgYWZmaW5pdHkg7KKM7ZGcKOq1rCBjb2RleCB0aHJlYWQg7KKM7ZGcKS4gcHJvbXB0X2NhY2hlX2tleSDrpbwg6rOg7KCV7ZW0XG4vLyBPcGVuQUkgcHJvbXB0IGNhY2hpbmcg7J2EIOyCtOumrOq4sCDsnITtlZwg7ZW465OkLiDshJzrsoTqsIAg67Cc6riJ7ZWY6rOgIO2BtOudvOqwgCDri6TsnYwg7JqU7LKt7JeQIOq3uOuMgOuhnCDtmozshqHtlZzri6QuXG4vLyDtlbjrk6Qg66+47KCE7IahIOyLnCDquLDsobQgXCLrp6QgdHVybiDsg4ggdGhyZWFkICsgaGlzdG9yeSBpbmplY3RcIiDrj5nsnpHsnLzroZwg7Y+067CxKFFncmlkUnVuQ29udGV4dCDssLjsobApLlxuZXhwb3J0IGNvbnN0IFFncmlkVGhyZWFkQ29vcmQgPSB6Lm9iamVjdCh7XG4gIHdvcmtlcklkOiB6Lm51bWJlcigpLCAvLyDqs6DsoJUg65287Jqw7YyFICh0aHJlYWQg64qUIHdvcmtlciDtlITroZzshLjsiqQg66mU66qo66as7JeQ66eMIOyhtOyerClcbiAgdGhyZWFkSWQ6IHouc3RyaW5nKCksIC8vIG9wYXF1ZSBjYWNoZSBhZmZpbml0eSBrZXkgPSBwcm9tcHRfY2FjaGVfa2V5XG4gIGVwb2NoOiB6Lm51bWJlcigpLCAvLyB3b3JrZXIgc3Bhd24g7Lm07Jq07YSwLiByZXN0YXJ0IOuhnCB0aHJlYWQg7Kad67CcIOqwkOyngFxuICBzeXN0ZW1IYXNoOiB6LnN0cmluZygpLCAvLyBzeXN0ZW1fcHJvbXB0IO2VtOyLnC4g64uk66W4IOuMgO2ZlCDsmKTsoJHsho0g67Cp7KeAXG59KTtcbmV4cG9ydCB0eXBlIFFncmlkVGhyZWFkQ29vcmQgPSB6LmluZmVyPHR5cGVvZiBRZ3JpZFRocmVhZENvb3JkPjtcblxuZXhwb3J0IGNvbnN0IFFncmlkUnVuQ29udGV4dCA9IHoub2JqZWN0KHtcbiAgLy8gdG9vbC1jYWxsIHJ1buydhCDqs4Tsho3tlaAg65WM66eMIOuwnOq4iS4g7J2867CYIOuMgO2ZlOuKlCB0aHJlYWRDb29yZCDrp4wg7JmV67O1LlxuICByZXF1ZXN0TG9nSWQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdGhyZWFkQ29vcmQ6IFFncmlkVGhyZWFkQ29vcmQub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUWdyaWRSdW5Db250ZXh0ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRSdW5Db250ZXh0PjtcblxuZXhwb3J0IGNvbnN0IFFncmlkVG9vbFJlc3VsdElucHV0ID0gei5vYmplY3Qoe1xuICB0b29sQ2FsbElkOiB6LnN0cmluZygpLFxuICB0b29sTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBvdXRwdXQ6IHouc3RyaW5nKCksXG4gIGlzRXJyb3I6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIFFncmlkVG9vbFJlc3VsdElucHV0ID0gei5pbmZlcjx0eXBlb2YgUWdyaWRUb29sUmVzdWx0SW5wdXQ+O1xuXG5leHBvcnQgY29uc3QgUXVlcnlJbnB1dCA9IHoubG9vc2VPYmplY3Qoe1xuICBzeXN0ZW06IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJvbXB0OiB6LnN0cmluZygpLFxuICBpbnB1dDogei5hcnJheShRZ3JpZElucHV0UGFydCkub3B0aW9uYWwoKSxcbiAgbW9kZWw6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgdGltZW91dDogUXVlcnlUaW1lb3V0TXMub3B0aW9uYWwoKSxcbiAganNvblNjaGVtYTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sczogei5hcnJheShRZ3JpZFRvb2wpLm9wdGlvbmFsKCksXG4gIGVmZm9ydDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB2ZXJib3NpdHk6IFZlcmJvc2l0eS5vcHRpb25hbCgpLFxuICByZWFzb25pbmdTdW1tYXJ5OiBSZWFzb25pbmdTdW1tYXJ5Lm9wdGlvbmFsKCksXG4gIHNlcnZpY2VUaWVyOiBTZXJ2aWNlVGllci5vcHRpb25hbCgpLFxuICBoaXN0b3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByb2plY3ROYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIC8vIHJhdy9kYXNoYm9hcmTsmYAg6rO16rCcIEFJIFNESyBwcm92aWRlck9wdGlvbnMucWdyaWQudG9rZW5OYW1l7J20IOqzteycoO2VmOuKlCDsp4DsoJUg7KO87IaMLlxuICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgLy8gU0RLLWRlcml2ZWQgb3BhcXVlIGFmZmluaXR5LiBJdCBpcyBpbnRlbnRpb25hbGx5IGRpc3RpbmN0IGZyb20gdGhlIGNhbGxlcidzIHNlc3Npb25LZXkuXG4gIGNhY2hlQWZmaW5pdHlLZXk6IHpcbiAgICAuc3RyaW5nKClcbiAgICAucmVnZXgoL15bMC05YS1mXXs2NH0kLylcbiAgICAub3B0aW9uYWwoKSxcbiAgLy8g7IOd65617ZWY66m0IOuhnOq5he2VnOuLpC4gZmFsc2XripQgcmVxdWVzdCBsb2cg7JOw6riw66eMIOuBhOqzoCBkaXNwYXRjaC90aHJlYWTripQg7Jyg7KeA7ZWc64ukLlxuICBsb2dnZXI6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG4gIHJ1bkNvbnRleHQ6IFFncmlkUnVuQ29udGV4dC5vcHRpb25hbCgpLFxuICB0b29sUmVzdWx0czogei5hcnJheShRZ3JpZFRvb2xSZXN1bHRJbnB1dCkub3B0aW9uYWwoKSxcbiAgLy8gT3BlbkFJIFJlc3BvbnNlcyBpbWFnZV9nZW5lcmF0aW9uIHRvb2wg7J2EIOy8oOuLpChPcGVuQUkg6rK966GcIOyghOyaqSwgb3B0LWluLCBub24tc3RyZWFtKS5cbiAgaW1hZ2VHZW5lcmF0aW9uOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICAvLyBxZ3JpZCDqsIDqsqkg7LaU7KCVIOuwjyBDb2RleCDsnbTrr7jsp4Ag7JqU7LKtIO2ejO2KuC4g7J2066+47KeAIOuqqOuNuOydgCBncHQtaW1hZ2UtMiDroZwg6rOg7KCVIOqwgOygle2VnOuLpC5cbiAgaW1hZ2VHZW5lcmF0aW9uT3B0aW9uczogSW1hZ2VHZW5lcmF0aW9uT3B0aW9ucy5vcHRpb25hbCgpLFxufSk7XG5leHBvcnQgdHlwZSBRdWVyeUlucHV0ID0gei5pbmZlcjx0eXBlb2YgUXVlcnlJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBNb2RlbEZhbGxiYWNrID0gei5vYmplY3Qoe1xuICB0cmlnZ2VyOiB6LmxpdGVyYWwoXCJyZWZ1c2FsXCIpLFxuICBmcm9tTW9kZWw6IHouc3RyaW5nKCksXG4gIHRvTW9kZWw6IHouc3RyaW5nKCksXG4gIGNhdGVnb3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGV4cGxhbmF0aW9uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIE1vZGVsRmFsbGJhY2sgPSB6LmluZmVyPHR5cGVvZiBNb2RlbEZhbGxiYWNrPjtcblxuZXhwb3J0IGNvbnN0IENvc3RTb3VyY2UgPSB6LmVudW0oW1wicHJvdmlkZXJcIiwgXCJwcmljaW5nX3RhYmxlXCIsIFwibWl4ZWRcIl0pO1xuZXhwb3J0IHR5cGUgQ29zdFNvdXJjZSA9IHouaW5mZXI8dHlwZW9mIENvc3RTb3VyY2U+O1xuXG5leHBvcnQgY29uc3QgUXVlcnlPdXRwdXQgPSB6Lm9iamVjdCh7XG4gIHRleHQ6IHouc3RyaW5nKCksXG4gIGNvbnRlbnQ6IHouYXJyYXkoUWdyaWRDb250ZW50KSxcbiAgZmluaXNoUmVhc29uOiBGaW5pc2hSZWFzb24sXG4gIHRva2VuTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICByZXF1ZXN0ZWRNb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RlbEZhbGxiYWNrczogei5hcnJheShNb2RlbEZhbGxiYWNrKS5vcHRpb25hbCgpLFxuICB1c2FnZTogei5vYmplY3Qoe1xuICAgIGlucHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICBvdXRwdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIHJlYXNvbmluZ190b2tlbnM6IHoubnVtYmVyKCksXG4gICAgY2FjaGVfY3JlYXRpb25faW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgIGNhY2hlX2NyZWF0aW9uXzVtX2lucHV0X3Rva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIGNhY2hlX2NyZWF0aW9uXzFoX2lucHV0X3Rva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgIGNhY2hlX3JlYWRfaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICB9KSxcbiAgZHVyYXRpb25Nczogei5udW1iZXIoKSxcbiAgdHRmdE1zOiB6Lm51bWJlcigpLFxuICBjb3N0VXNkOiB6Lm51bWJlcigpLFxuICBjb3N0U291cmNlOiBDb3N0U291cmNlLFxuICBydW5Db250ZXh0OiBRZ3JpZFJ1bkNvbnRleHQub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgUXVlcnlPdXRwdXQgPSB6LmluZmVyPHR5cGVvZiBRdWVyeU91dHB1dD47XG5cbi8vIOKUgOKUgOKUgCBTdHJlYW0gRXZlbnRzIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgU3RyZWFtRXZlbnRzID0gei5vYmplY3Qoe1xuICBkZWx0YTogei5vYmplY3QoeyB0ZXh0OiB6LnN0cmluZygpIH0pLFxuICB0b29sQ2FsbDogei5vYmplY3Qoe1xuICAgIHRvb2xDYWxsSWQ6IHouc3RyaW5nKCksXG4gICAgdG9vbE5hbWU6IHouc3RyaW5nKCksXG4gICAgaW5wdXQ6IHouc3RyaW5nKCksXG4gIH0pLFxuICBkb25lOiB6Lm9iamVjdCh7XG4gICAgdGV4dDogei5zdHJpbmcoKSxcbiAgICBtb2RlbDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIHJlcXVlc3RlZE1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgbW9kZWxGYWxsYmFja3M6IHouYXJyYXkoTW9kZWxGYWxsYmFjaykub3B0aW9uYWwoKSxcbiAgICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICBmaW5pc2hSZWFzb246IEZpbmlzaFJlYXNvbixcbiAgICB1c2FnZTogei5vYmplY3Qoe1xuICAgICAgaW5wdXRfdG9rZW5zOiB6Lm51bWJlcigpLFxuICAgICAgb3V0cHV0X3Rva2Vuczogei5udW1iZXIoKSxcbiAgICAgIHJlYXNvbmluZ190b2tlbnM6IHoubnVtYmVyKCksXG4gICAgICBjYWNoZV9jcmVhdGlvbl9pbnB1dF90b2tlbnM6IHoubnVtYmVyKCksXG4gICAgICBjYWNoZV9jcmVhdGlvbl81bV9pbnB1dF90b2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgICAgIGNhY2hlX2NyZWF0aW9uXzFoX2lucHV0X3Rva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICAgICAgY2FjaGVfcmVhZF9pbnB1dF90b2tlbnM6IHoubnVtYmVyKCksXG4gICAgfSksXG4gICAgZHVyYXRpb25Nczogei5udW1iZXIoKSxcbiAgICB0dGZ0TXM6IHoubnVtYmVyKCksXG4gICAgY29zdFVzZDogei5udW1iZXIoKSxcbiAgICBjb3N0U291cmNlOiBDb3N0U291cmNlLFxuICAgIGNvbnRlbnQ6IHouYXJyYXkoUWdyaWRDb250ZW50KSxcbiAgICBydW5Db250ZXh0OiBRZ3JpZFJ1bkNvbnRleHQub3B0aW9uYWwoKSxcbiAgfSksXG4gIGVycm9yOiB6Lm9iamVjdCh7IG1lc3NhZ2U6IHouc3RyaW5nKCkgfSksXG59KTtcbmV4cG9ydCB0eXBlIFN0cmVhbUV2ZW50cyA9IHouaW5mZXI8dHlwZW9mIFN0cmVhbUV2ZW50cz47XG5cbi8vIOKUgOKUgOKUgCBSdW4gTGlmZWN5Y2xlIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgQ3JlYXRlUnVuSW5wdXQgPSB6Lm9iamVjdCh7XG4gIHVzZXJQcm9tcHQ6IHouc3RyaW5nKCksXG4gIHN5c3RlbVByb21wdDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBtb2RlbE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZWZmb3J0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHByb2plY3ROYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGhpc3Rvcnk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgaXNTdHJ1Y3R1cmVkOiB6LmJvb2xlYW4oKS5vcHRpb25hbCgpLFxuICBqc29uU2NoZW1hOiB6LnN0cmluZygpLm51bGxhYmxlKCkub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgQ3JlYXRlUnVuSW5wdXQgPSB6LmluZmVyPHR5cGVvZiBDcmVhdGVSdW5JbnB1dD47XG5cbmV4cG9ydCBjb25zdCBBcHBlbmRTdGVwSW5wdXQgPSB6Lm9iamVjdCh7XG4gIHJlcXVlc3RMb2dJZDogei5udW1iZXIoKSxcbiAgc3RlcEluZGV4OiB6Lm51bWJlcigpLFxuICB0eXBlOiB6LmVudW0oW1wiZ2VuZXJhdGVcIiwgXCJ0b29sX2NhbGxcIl0pLFxuICBtb2RlbE5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVxdWVzdGVkTW9kZWxOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIGZhbGxiYWNrQ291bnQ6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgaW5wdXRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgb3V0cHV0VG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNhY2hlUmVhZFRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjYWNoZUNyZWF0aW9uVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNhY2hlQ3JlYXRpb241bVRva2Vuczogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjYWNoZUNyZWF0aW9uMWhUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgY29zdFVzZDogei5udW1iZXIoKS5vcHRpb25hbCgpLFxuICBjb3N0U291cmNlOiBDb3N0U291cmNlLm9wdGlvbmFsKCksXG4gIGR1cmF0aW9uTXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdHRmdE1zOiB6Lm51bWJlcigpLm51bGxhYmxlKCkub3B0aW9uYWwoKSxcbiAgZmluaXNoUmVhc29uOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlYXNvbmluZ1RleHQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVhc29uaW5nVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvb2xDYWxsSW5kZXg6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG9vbENhbGxJZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sQXJnczogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b29sUmVzdWx0OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHRvb2xEdXJhdGlvbk1zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGVycm9yOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEFwcGVuZFN0ZXBJbnB1dCA9IHouaW5mZXI8dHlwZW9mIEFwcGVuZFN0ZXBJbnB1dD47XG5cbmV4cG9ydCBjb25zdCBGaW5pc2hSdW5JbnB1dCA9IHoub2JqZWN0KHtcbiAgcmVxdWVzdExvZ0lkOiB6Lm51bWJlcigpLFxuICBzdGF0dXM6IHouZW51bShbXCJzdWNjZWVkZWRcIiwgXCJlcnJvclwiLCBcImFib3J0ZWRcIl0pLFxuICByZXNwb25zZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICB0b2tlbk5hbWU6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgbW9kZWxOYW1lOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gIHJlcXVlc3RlZE1vZGVsTmFtZTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBmYWxsYmFja0NvdW50OiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvdGFsSW5wdXRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG90YWxPdXRwdXRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG90YWxDYWNoZVJlYWRUb2tlbnM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgdG90YWxDYWNoZUNyZWF0aW9uVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvdGFsQ2FjaGVDcmVhdGlvbjVtVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIHRvdGFsQ2FjaGVDcmVhdGlvbjFoVG9rZW5zOiB6Lm51bWJlcigpLm9wdGlvbmFsKCksXG4gIGNvc3RVc2Q6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgY29zdFNvdXJjZTogQ29zdFNvdXJjZS5vcHRpb25hbCgpLFxuICB0b3RhbER1cmF0aW9uTXM6IHoubnVtYmVyKCkub3B0aW9uYWwoKSxcbiAgaGlzdG9yeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICBlcnJvck1lc3NhZ2U6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcmVzcG9uc2VKc29uT2s6IHouYm9vbGVhbigpLm9wdGlvbmFsKCksXG59KTtcbmV4cG9ydCB0eXBlIEZpbmlzaFJ1bklucHV0ID0gei5pbmZlcjx0eXBlb2YgRmluaXNoUnVuSW5wdXQ+O1xuXG4vLyDilIDilIDilIAgVG9rZW4gTWFuYWdlbWVudCDilIDilIDilIBcblxuZXhwb3J0IGNvbnN0IFRva2VuU3RhdHMgPSB6Lm9iamVjdCh7XG4gIHRva2VuOiB6LnN0cmluZygpLFxuICBuYW1lOiB6LnN0cmluZygpLFxuICBwcm92aWRlcjogei5zdHJpbmcoKSxcbiAgcmVxdWVzdHM6IHoubnVtYmVyKCksXG59KTtcbmV4cG9ydCB0eXBlIFRva2VuU3RhdHMgPSB6LmluZmVyPHR5cGVvZiBUb2tlblN0YXRzPjtcblxuLy8g4pSA4pSA4pSAIE9BdXRoIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgT0F1dGhTdGFydFJlc3VsdCA9IHoub2JqZWN0KHtcbiAgYXV0aFVybDogei5zdHJpbmcoKSxcbiAgLy8gcmVkaXJlY3Q6IOu4jOudvOyasOyggCDsnpDrj5kg67O16reAKOujqO2UhOuwsSDsoJHsho0pLiBjb2RlOiDsvZjshpQg7L2c67CxICsg7L2U65OcIOu2meyXrOuEo+q4sCjsm5Dqsqkg7KCR7IaNKS5cbiAgLy8gT3BlbkFJIOybkOqyqSDqsr3roZzripQg65Ox66Gd65CcIGxvb3BiYWNrIGNhbGxiYWNrIFVSTCDsoITssrTrpbwg67aZ7Jes64Sj64qUIGNvZGUg66qo65Oc66W8IOyTtOuLpC5cbiAgbW9kZTogei5lbnVtKFtcInJlZGlyZWN0XCIsIFwiY29kZVwiXSksXG59KTtcbmV4cG9ydCB0eXBlIE9BdXRoU3RhcnRSZXN1bHQgPSB6LmluZmVyPHR5cGVvZiBPQXV0aFN0YXJ0UmVzdWx0PjtcblxuY29uc3QgUmF0ZVdpbmRvdyA9IHpcbiAgLm9iamVjdCh7XG4gICAgdXRpbGl6YXRpb246IHoubnVtYmVyKCkubnVsbGFibGUoKSxcbiAgICByZXNldHNBdDogei5zdHJpbmcoKS5udWxsYWJsZSgpLFxuICAgIHdpbmRvd0R1cmF0aW9uTWluczogei5udW1iZXIoKS5udWxsYWJsZSgpLm9wdGlvbmFsKCksXG4gIH0pXG4gIC5udWxsYWJsZSgpO1xuXG5leHBvcnQgY29uc3QgVXNhZ2VSZXNwb25zZSA9IHoub2JqZWN0KHtcbiAgZXJyb3I6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgcHJvdmlkZXI6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgZml2ZUhvdXI6IFJhdGVXaW5kb3cub3B0aW9uYWwoKSxcbiAgc2V2ZW5EYXk6IFJhdGVXaW5kb3cub3B0aW9uYWwoKSxcbn0pO1xuZXhwb3J0IHR5cGUgVXNhZ2VSZXNwb25zZSA9IHouaW5mZXI8dHlwZW9mIFVzYWdlUmVzcG9uc2U+O1xuXG4vLyDilIDilIDilIAgSGVhbHRoIOKUgOKUgOKUgFxuXG5leHBvcnQgY29uc3QgU3Vic2NyaWJlclN0YXR1cyA9IHoub2JqZWN0KHtcbiAgY29ubmVjdGVkOiB6LmJvb2xlYW4oKSxcbiAgY29ubmVjdGVkQXQ6IHouZGF0ZSgpLm51bGxhYmxlKCksXG4gIGxhc3RSZWNvbmNpbGVBdDogei5kYXRlKCkubnVsbGFibGUoKSxcbiAgYXR0ZW1wdDogei5udW1iZXIoKSxcbn0pO1xuZXhwb3J0IHR5cGUgU3Vic2NyaWJlclN0YXR1cyA9IHouaW5mZXI8dHlwZW9mIFN1YnNjcmliZXJTdGF0dXM+O1xuXG5leHBvcnQgY29uc3QgUHJvdmlkZXJTdGFydHVwU3RhdGUgPSB6LmVudW0oW1wic3RhcnRpbmdcIiwgXCJyZWFkeVwiLCBcImZhaWxlZFwiXSk7XG5leHBvcnQgdHlwZSBQcm92aWRlclN0YXJ0dXBTdGF0ZSA9IHouaW5mZXI8dHlwZW9mIFByb3ZpZGVyU3RhcnR1cFN0YXRlPjtcblxuZXhwb3J0IGNvbnN0IEhlYWx0aFJlc3BvbnNlID0gei5vYmplY3Qoe1xuICBzdGF0dXM6IHouc3RyaW5nKCksXG4gIGFjdGl2ZVRva2Vuczogei5udW1iZXIoKSxcbiAgc3Vic2NyaWJlcjogU3Vic2NyaWJlclN0YXR1cy5udWxsYWJsZSgpLFxuICAvLyBIVFRQIOumrOyKpOuLneydgCBkaXNwYXRjaGVyIOq4sOuPmeuztOuLpCDrqLzsoIAg7Je066aw64ukLiAyMDAg7J2R64u166eM7Jy866Gc64qUIOyalOyyreydhCDsspjrpqztlaAg7IiYXG4gIC8vIOyeiOuKlOyngCDslYwg7IiYIOyXhuyWtCBwcm92aWRlciDrs4Qg7KSA67mEIOyDge2DnOulvCDtlajqu5gg64W47Lac7ZWc64ukLlxuICByZWFkeTogei5ib29sZWFuKCksXG4gIHByb3ZpZGVyczogei5vYmplY3Qoe1xuICAgIG9wZW5haTogUHJvdmlkZXJTdGFydHVwU3RhdGUsXG4gICAgYW50aHJvcGljOiBQcm92aWRlclN0YXJ0dXBTdGF0ZSxcbiAgfSksXG59KTtcbmV4cG9ydCB0eXBlIEhlYWx0aFJlc3BvbnNlID0gei5pbmZlcjx0eXBlb2YgSGVhbHRoUmVzcG9uc2U+O1xuXG4vLyDilIDilIDilIAgRXJyb3JzIOKUgOKUgOKUgFxuXG5leHBvcnQgY2xhc3MgUXVvdGFFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgcmVhZG9ubHkgY29kZSA9IFwiUVVPVEFfRVhIQVVTVEVEXCIgYXMgY29uc3Q7XG59XG5leHBvcnQgY2xhc3MgUXVvdGFUaHJlc2hvbGRFeGNlZWRlZEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICByZWFkb25seSBjb2RlID0gXCJRVU9UQV9USFJFU0hPTERfRVhDRUVERURcIiBhcyBjb25zdDtcbn1cbmV4cG9ydCBjbGFzcyBUaW1lb3V0RXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlRJTUVPVVRcIiBhcyBjb25zdDtcbn1cbmV4cG9ydCBjbGFzcyBQcm9jZXNzRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGNvZGUgPSBcIlBST0NFU1NfRVJST1JcIiBhcyBjb25zdDtcbn1cblxuLy8g4pSA4pSA4pSAIFV0aWxzIOKUgOKUgOKUgFxuXG5leHBvcnQgZnVuY3Rpb24gbWFza1Rva2VuKHRva2VuOiBzdHJpbmcpOiBzdHJpbmcge1xuICByZXR1cm4gdG9rZW4ubGVuZ3RoID4gNCA/IGAuLi4ke3Rva2VuLnNsaWNlKC00KX1gIDogdG9rZW47XG59XG4iXSwibWFwcGluZ3MiOiI7O0FBSUEsTUFBYSxTQUFTLEVBQUUsS0FBSztDQUFDO0NBQU87Q0FBVTtBQUFNLENBQUM7QUFHdEQsTUFBYSxZQUFZLEVBQUUsT0FBTztDQUNoQyxNQUFNLEVBQUUsT0FBTztDQUNmLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2pDLGFBQWEsRUFBRSxRQUFRO0FBQ3pCLENBQUM7QUFJRCxNQUFhLDBCQUEwQixFQUFFLE9BQU87Q0FDOUMsT0FBTyxFQUFFLFFBQVEsY0FBYztDQUMvQixPQUFPLEVBQUUsUUFBUSxhQUFhO0NBQzlCLFlBQVksRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQ2hDLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzdCLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQyxTQUFTO0NBQzFCLE9BQU8sRUFDSixPQUFPO0VBQ04sY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7RUFDckMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7RUFDdEMsY0FBYyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVk7RUFDckMsc0JBQXNCLEVBQ25CLE9BQU87R0FDTixjQUFjLEVBQUUsT0FBTyxDQUFDLENBQUMsWUFBWTtHQUNyQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUMsWUFBWTtHQUNwQyxlQUFlLEVBQUUsT0FBTyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUztFQUNuRCxDQUFDLENBQUMsQ0FDRCxTQUFTO0VBQ1osdUJBQXVCLEVBQ3BC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
|
|
@@ -99,6 +99,7 @@ function appendImages(content, images) {
|
|
|
99
99
|
return [...content, ...images.map((image) => ({
|
|
100
100
|
type: "image",
|
|
101
101
|
data: image.data,
|
|
102
|
+
...image.mediaType ? { mediaType: image.mediaType } : {},
|
|
102
103
|
revisedPrompt: image.revisedPrompt ?? null,
|
|
103
104
|
...image.generation ? { generation: image.generation } : {}
|
|
104
105
|
}))];
|
|
@@ -126,4 +127,4 @@ function assertStructuredEnvelopeComplexity(root) {
|
|
|
126
127
|
//#endregion
|
|
127
128
|
export { ToolCallEmulationError, applyToolCallEmulation };
|
|
128
129
|
|
|
129
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1lbXVsYXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3Rvb2wtZW11bGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1ZmZlciB9IGZyb20gXCJub2RlOmJ1ZmZlclwiO1xuXG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuLy8g7J2R64u1KOuqqOuNuCDstpzroKUpIGVudmVsb3BlIOydmCDsnpDsm5Ag7ZWc64+ELiBjYWxsZXIg7Iqk7YKk66eIIOyghOyymOumrCDtlZzrj4QoQ0FMTEVSX1NDSEVNQV9MSU1JVFMp7JmAIOqwkuydtFxuLy8g6rCZ7JWEIOuztOyXrOuPhCDshJzroZwg64uk66W4IOyekOybkOydhCDsp4DtgqTripQg64+F66a9IOyDgeyImOuLpCDigJQg7Iqk7YKk66eIIOq5iuydtOuKlCDsnbjsiqTthLTsiqQg6rmK7J2066W8IGJvdW5kIO2VmOyngFxuLy8g7JWK7Jy866+A66GcKOyerOq3gCAkcmVmIO2XiOyaqSkg7LqY65+sIO2VnOuPhOulvCDsobDsoJXtlbTrj4Qg7J2R64u1IOyImOyaqSDquLDspIDsnbQg65Sw6528IOybgOyngeyXrOyEoCDslYgg65Cc64ukLlxuY29uc3QgU1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMgPSB7XG4gIG1heFV0ZjhCeXRlczogNTEyICogMTAyNCxcbiAgbWF4Tm9kZXM6IDIwXzAwMCxcbiAgbWF4RGVwdGg6IDEzMixcbn0gYXMgY29uc3Q7XG5pbXBvcnQge1xuICB0eXBlIEltYWdlR2VuZXJhdGlvbk1ldGFkYXRhLFxuICB0eXBlIFFncmlkQ29udGVudCxcbiAgdHlwZSBRZ3JpZFRocmVhZENvb3JkLFxuICB0eXBlIFFncmlkVG9vbCxcbiAgdHlwZSBRdWVyeU91dHB1dCxcbn0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcblxuY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKFtcInFncmlkXCIsIFwidG9vbC1lbXVsYXRpb25cIl0pO1xuXG50eXBlIEVtdWxhdGlvblJlc3VsdCA9IE9taXQ8UXVlcnlPdXRwdXQsIFwiY29udGVudFwiIHwgXCJmaW5pc2hSZWFzb25cIiB8IFwicnVuQ29udGV4dFwiPjtcbnR5cGUgVG9vbENhbGwgPSB7IHRvb2xOYW1lOiBzdHJpbmc7IGFyZ3M6IHN0cmluZyB9O1xuXG4vLyBlbnZlbG9wZSDripQge3Jlc3VsdDogPHVuaW9uPn0g7ZWcIOqyuSDqtazsobAg4oCUIOyKpO2CpOuniCDqt7zqsbDripQgdG9vbC1lbXVsYXRpb24tc2NoZW1hLnRzIOywuOyhsC5cbi8vIGFuc3dlciDtg4DsnoXrp4wg7JqU7LKtIO2Yle2DnOyXkCDrlLDrnbwg64uk66W064ukOiB0b29scy1vbmx5IOuKlCBzdHJpbmco6re464yA66GcIOuwmO2ZmCksXG4vLyB0b29scytqc29uU2NoZW1hIOuKlCDsgqzsmqnsnpAg7Iqk7YKk66eI7J2YIEpTT04g6rCSKEpTT04uc3RyaW5naWZ5IOuhnCDrsJjtmZgpLlxuZnVuY3Rpb24gYnVpbGRFbnZlbG9wZVNjaGVtYShhbnN3ZXJLaW5kOiBBbnN3ZXJLaW5kKSB7XG4gIHJldHVybiB6LnN0cmljdE9iamVjdCh7XG4gICAgcmVzdWx0OiB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcImFjdGlvblwiLCBbXG4gICAgICB6LnN0cmljdE9iamVjdCh7XG4gICAgICAgIGFjdGlvbjogei5saXRlcmFsKFwiYW5zd2VyXCIpLFxuICAgICAgICBhbnN3ZXI6XG4gICAgICAgICAgYW5zd2VyS2luZCA9PT0gXCJ0ZXh0XCJcbiAgICAgICAgICAgID8gei5zdHJpbmcoKVxuICAgICAgICAgICAgOiB6Lmpzb24oKS5yZWZpbmUoKGFuc3dlcikgPT4gYW5zd2VyICE9PSBudWxsLCB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCJhbnN3ZXIgbXVzdCBiZSBub24tbnVsbFwiLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgdG9vbENhbGxzOiB6Lm51bGwoKSxcbiAgICAgIH0pLFxuICAgICAgei5zdHJpY3RPYmplY3Qoe1xuICAgICAgICBhY3Rpb246IHoubGl0ZXJhbChcInRvb2xfY2FsbFwiKSxcbiAgICAgICAgYW5zd2VyOiB6Lm51bGwoKSxcbiAgICAgICAgdG9vbENhbGxzOiB6XG4gICAgICAgICAgLmFycmF5KFxuICAgICAgICAgICAgei5zdHJpY3RPYmplY3Qoe1xuICAgICAgICAgICAgICB0b29sTmFtZTogei5zdHJpbmcoKSxcbiAgICAgICAgICAgICAgYXJnczogei5zdHJpbmcoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAubWluKDEpLFxuICAgICAgfSksXG4gICAgXSksXG4gIH0pO1xufVxuXG5jb25zdCBURVhUX0VOVkVMT1BFID0gYnVpbGRFbnZlbG9wZVNjaGVtYShcInRleHRcIik7XG5jb25zdCBKU09OX0VOVkVMT1BFID0gYnVpbGRFbnZlbG9wZVNjaGVtYShcImpzb25cIik7XG50eXBlIEVudmVsb3BlUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBKU09OX0VOVkVMT1BFPltcInJlc3VsdFwiXTtcblxuZXhwb3J0IGNsYXNzIFRvb2xDYWxsRW11bGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKGB0b29sLWNhbGwgZW11bGF0aW9uOiAke21lc3NhZ2V9YCk7XG4gICAgdGhpcy5uYW1lID0gXCJUb29sQ2FsbEVtdWxhdGlvbkVycm9yXCI7XG4gIH1cbn1cblxuLy8gZGlzcGF0Y2hlciDqsIAg64SY6riw64qUIOydtOuvuOyngCDqsrDqs7wuIHFncmlkIOuKlCBiYXNlNjQgcGF5bG9hZCDrp4wg7KCE64us7ZWY6rOgIO2PrOunt+ydgCDrs7TsnqXtlZjsp4Ag7JWK64qU64ukLlxuaW50ZXJmYWNlIEVtdWxhdGlvbkltYWdlIHtcbiAgZGF0YTogc3RyaW5nO1xuICByZXZpc2VkUHJvbXB0Pzogc3RyaW5nIHwgbnVsbDtcbiAgZ2VuZXJhdGlvbj86IEltYWdlR2VuZXJhdGlvbk1ldGFkYXRhO1xufVxuXG4vLyBhbnN3ZXIg7J247L2U65SpIOyiheulmC4gZW52ZWxvcGUg65SU7L2U642U64qUIO2VnCDrsozsnbTqs6Ag7J20IOqwkuydgCBhbnN3ZXIg67iM656c7LmY7J2YIO2DgOyeheqzvFxuLy8g7LWc7KKFIOyngeugrO2ZlCh0ZXh0OiDqt7jrjIDroZwgLyBqc29uOiBKU09OLnN0cmluZ2lmeSnrp4wg6rCA66W464ukLlxuZXhwb3J0IHR5cGUgQW5zd2VyS2luZCA9IFwidGV4dFwiIHwgXCJqc29uXCI7XG5cbmludGVyZmFjZSBUb29sQ2FsbEVtdWxhdGlvbk9wdGlvbnMge1xuICB0aHJlYWRDb29yZD86IFFncmlkVGhyZWFkQ29vcmQ7XG4gIGltYWdlcz86IEVtdWxhdGlvbkltYWdlW107XG4gIC8vIO2VhOyImDog7Zi47Lac67aA6rCAIGFuc3dlciDsnbjsvZTrlKnsnYQg7ZWt7IOBIOuqheyLnO2VtOyVvCDtlZzri6QgKGlucHV0Lmpzb25TY2hlbWEg7Jyg66y066GcIO2MkOyglSkuXG4gIGFuc3dlcktpbmQ6IEFuc3dlcktpbmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVRvb2xDYWxsRW11bGF0aW9uKFxuICByZXN1bHQ6IEVtdWxhdGlvblJlc3VsdCxcbiAgdG9vbHM6IFFncmlkVG9vbFtdIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zOiBUb29sQ2FsbEVtdWxhdGlvbk9wdGlvbnMsXG4pOiBRdWVyeU91dHB1dCB7XG4gIGNvbnN0IHsgdGhyZWFkQ29vcmQsIGltYWdlcywgYW5zd2VyS2luZCB9ID0gb3B0aW9ucztcbiAgY29uc3QgcnVuQ29udGV4dCA9IHRocmVhZENvb3JkID8geyB0aHJlYWRDb29yZCB9IDogdW5kZWZpbmVkO1xuXG4gIGlmICghdG9vbHM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBhbnN3ZXJPdXRwdXQocmVzdWx0LCByZXN1bHQudGV4dCwgaW1hZ2VzLCBydW5Db250ZXh0KTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlRW52ZWxvcGUocmVzdWx0LnRleHQsIHRvb2xzLCBhbnN3ZXJLaW5kKTtcbiAgaWYgKHBhcnNlZC5hY3Rpb24gPT09IFwidG9vbF9jYWxsXCIpIHtcbiAgICByZXR1cm4gdG9vbENhbGxPdXRwdXQocmVzdWx0LCBwYXJzZWQudG9vbENhbGxzLCBpbWFnZXMsIHJ1bkNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGFuc3dlck91dHB1dChcbiAgICByZXN1bHQsXG4gICAgYW5zd2VyS2luZCA9PT0gXCJ0ZXh0XCIgPyAocGFyc2VkLmFuc3dlciBhcyBzdHJpbmcpIDogSlNPTi5zdHJpbmdpZnkocGFyc2VkLmFuc3dlciksXG4gICAgaW1hZ2VzLFxuICAgIHJ1bkNvbnRleHQsXG4gICk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlRW52ZWxvcGUodGV4dDogc3RyaW5nLCB0b29sczogUWdyaWRUb29sW10sIGFuc3dlcktpbmQ6IEFuc3dlcktpbmQpIHtcbiAgaWYgKEJ1ZmZlci5ieXRlTGVuZ3RoKHRleHQsIFwidXRmOFwiKSA+IFNUUlVDVFVSRURfRU5WRUxPUEVfTElNSVRTLm1heFV0ZjhCeXRlcykge1xuICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKFxuICAgICAgYHRvb2wgZW52ZWxvcGUgZXhjZWVkcyBVVEYtOCBieXRlIGxpbWl0IG9mICR7U1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMubWF4VXRmOEJ5dGVzfWAsXG4gICAgKTtcbiAgfVxuXG4gIGxldCB2YWx1ZTogdW5rbm93bjtcbiAgdHJ5IHtcbiAgICB2YWx1ZSA9IEpTT04ucGFyc2UodGV4dCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8g6rSA7JqpIO2PtOuwsSDsl4bsnYwuIG9wZW5haSDripQgZW52ZWxvcGUg7J20IHN0cnVjdHVyZWQgb3V0cHV0IOycvOuhnCDqsJXsoJzrkJjrr4DroZwg7Jes6riwIOuPhOuLrO2VnFxuICAgIC8vIOu5hCBKU09OIOydgCDrsoTqt7jri6QuIGFudGhyb3BpYyDsnYAg6rOE7JW97J2EIO2UhOuhrO2UhO2KuOuhnOunjCDslYjrgrTtlZjrr4DroZwoU09OLTUzMikg67mEIEpTT04g7J20XG4gICAgLy8gXCLsmIjsg4Eg6rCA64ql7ZWcIOuqqOuNuCDsi6TtjKhcIuyngOunjCwg6re4656Y64+EIOq1rOygnO2VmOyngCDslYrripTri6Qg4oCUIOqzvOqxsOydmCDthY3siqTtirgg6rWs7KCc64qUIO2HtO2ZlFxuICAgIC8vIOu0ie2IrOulvCDri7Xrs4DsnLzroZwg7Z2Y66Ck67O064K0IOyhsOyaqe2VnCDsmKTsl7zsnYQg66eM65Ok7JeI64ukKDIwMjYtMDcgbWVkcGF0aCwgMTMuNWsg6rG0KS5cbiAgICAvLyDsoJXsp4HtlZwg7Iuk7Yyo6rCAIOuztOyXrOyVvCDshozruYTsnpDqsIAg7J6s7Iuc64+E7ZWY6rGw64KYIOq3vOuzuCDsm5DsnbjsnYQg6rOg7Lmc64ukLlxuICAgIC8vIOynhOuLqOyXkOuKlCDsnITrsJgg7JuQ66y47J2YIOuouOumrOqwgCDtlYTsmpTtlZjri6QoU09OLTQ5NSDsoITroYApIOKAlCBwYXJzZSDsl5Drn6wg7JyE7LmY66eM7Jy866Gc64qUXG4gICAgLy8gXCLtlITroZzspojroZwg64u17ZaI64qU7KeAIC8g7Y6c7Iqk6rCAIOuCqOyVmOuKlOyngCAvIEpTT04g7J20IOyemOuguOuKlOyngFwi66W8IOq1rOu2hO2VoCDsiJgg7JeG64ukLlxuICAgIGNvbnN0IGhlYWQgPSBKU09OLnN0cmluZ2lmeSh0ZXh0LnNsaWNlKDAsIDIwMCkpO1xuICAgIGxvZ2dlci53YXJuKGB0b29sIGVudmVsb3BlIHBhcnNlIGZhaWxlZDogJHsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2V9OyBoZWFkPSR7aGVhZH1gKTtcbiAgICB0aHJvdyBuZXcgVG9vbENhbGxFbXVsYXRpb25FcnJvcihcbiAgICAgIGBpbnZhbGlkIHRvb2wgZW52ZWxvcGUgKHJlc3BvbnNlIGlzIG5vdCBKU09OIOKAlCB0aGUgbW9kZWwgaWdub3JlZCB0aGUgZW52ZWxvcGUgY29udHJhY3Q7IHJldHJ5IGlzIHRoZSBjYWxsZXIncyBkZWNpc2lvbik6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfTsgcmVzcG9uc2UgaGVhZDogJHtoZWFkfWAsXG4gICAgKTtcbiAgfVxuXG4gIGFzc2VydFN0cnVjdHVyZWRFbnZlbG9wZUNvbXBsZXhpdHkodmFsdWUpO1xuICBjb25zdCBzY2hlbWEgPSBhbnN3ZXJLaW5kID09PSBcInRleHRcIiA/IFRFWFRfRU5WRUxPUEUgOiBKU09OX0VOVkVMT1BFO1xuICBjb25zdCB2YWxpZGF0aW9uID0gc2NoZW1hLnNhZmVQYXJzZSh2YWx1ZSk7XG4gIGlmICghdmFsaWRhdGlvbi5zdWNjZXNzKSB7XG4gICAgY29uc3QgaXNzdWUgPSB2YWxpZGF0aW9uLmVycm9yLmlzc3Vlc1swXTtcbiAgICBjb25zdCBwYXRoID0gaXNzdWUgJiYgaXNzdWUucGF0aC5sZW5ndGggPiAwID8gYCBhdCAke2lzc3VlLnBhdGguam9pbihcIi5cIil9YCA6IFwiXCI7XG4gICAgY29uc3QgZGV0YWlsID0gaXNzdWU/Lm1lc3NhZ2UgPz8gXCJ1bmtub3duIHZhbGlkYXRpb24gaXNzdWVcIjtcbiAgICAvLyB2YWxpZCBKU09OIOydtOyngOunjCDqs4Tslb0g7JyE67CY7J24IOqyveyasOyXkOuPhCDsm5DrrLgg66i466as66W8IOuCqOq4tOuLpCDigJQgem9kIOqyveuhnOunjOycvOuhnOuKlFxuICAgIC8vIFwi7YKkIOyDneueteyduOyngCAvIOuemO2NvOuhnCDqsJDsjIzripTsp4AgLyDtg4DsnoXsnbQg7YuA66C464qU7KeAXCLsnZgg7Iuk66y87J2EIOuzvCDsiJgg7JeG64ukLlxuICAgIGNvbnN0IGhlYWQgPSBKU09OLnN0cmluZ2lmeSh0ZXh0LnNsaWNlKDAsIDIwMCkpO1xuICAgIGxvZ2dlci53YXJuKGB0b29sIGVudmVsb3BlIHZhbGlkYXRpb24gZmFpbGVkJHtwYXRofTogJHtkZXRhaWx9OyBoZWFkPSR7aGVhZH1gKTtcbiAgICB0aHJvdyBuZXcgVG9vbENhbGxFbXVsYXRpb25FcnJvcihcbiAgICAgIGBpbnZhbGlkIHRvb2wgZW52ZWxvcGUke3BhdGh9OiAke2RldGFpbH07IHJlc3BvbnNlIGhlYWQ6ICR7aGVhZH1gLFxuICAgICk7XG4gIH1cblxuICAvLyBab2QgY2xvbmVzIEpTT04gb2JqZWN0cyBhbmQgZHJvcHMgb3duIFwiX19wcm90b19fXCIga2V5cy4gVGhlIHBhcnNlZCBKU09OIGlzIHNhZmUgdG8gcmV0dXJuXG4gIC8vIGFmdGVyIHZhbGlkYXRpb24gYW5kIHByZXNlcnZlcyB0aGUgY2FsbGVyJ3MgZXhhY3Qgc3RydWN0dXJlZCB2YWx1ZS5cbiAgY29uc3QgcmVzcG9uc2UgPSAodmFsdWUgYXMgeyByZXN1bHQ6IEVudmVsb3BlUmVzcG9uc2UgfSkucmVzdWx0O1xuICBpZiAocmVzcG9uc2UuYWN0aW9uID09PSBcInRvb2xfY2FsbFwiKSB7XG4gICAgY29uc3QgdW5rbm93blRvb2wgPSBmaW5kVW5rbm93blRvb2wocmVzcG9uc2UudG9vbENhbGxzLCB0b29scyk7XG4gICAgaWYgKHVua25vd25Ub29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKGB1bmtub3duIGVtdWxhdGVkIHRvb2w6ICR7dW5rbm93blRvb2x9YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNwb25zZTtcbn1cblxuZnVuY3Rpb24gdG9vbENhbGxPdXRwdXQoXG4gIHJlc3VsdDogRW11bGF0aW9uUmVzdWx0LFxuICB0b29sQ2FsbHM6IFRvb2xDYWxsW10sXG4gIGltYWdlczogRW11bGF0aW9uSW1hZ2VbXSB8IHVuZGVmaW5lZCxcbiAgcnVuQ29udGV4dDogUXVlcnlPdXRwdXRbXCJydW5Db250ZXh0XCJdLFxuKTogUXVlcnlPdXRwdXQge1xuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICBjb250ZW50OiBhcHBlbmRJbWFnZXMoXG4gICAgICB0b29sQ2FsbHMubWFwKCh0b29sQ2FsbCkgPT4gKHtcbiAgICAgICAgdHlwZTogXCJ0b29sLWNhbGxcIixcbiAgICAgICAgdG9vbENhbGxJZDogYGNhbGxfJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCAxMCl9YCxcbiAgICAgICAgdG9vbE5hbWU6IHRvb2xDYWxsLnRvb2xOYW1lLFxuICAgICAgICBpbnB1dDogdG9vbENhbGwuYXJncyxcbiAgICAgIH0pKSxcbiAgICAgIGltYWdlcyxcbiAgICApLFxuICAgIGZpbmlzaFJlYXNvbjogXCJ0b29sLWNhbGxzXCIsXG4gICAgcnVuQ29udGV4dCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYW5zd2VyT3V0cHV0KFxuICByZXN1bHQ6IEVtdWxhdGlvblJlc3VsdCxcbiAgdGV4dDogc3RyaW5nLFxuICBpbWFnZXM6IEVtdWxhdGlvbkltYWdlW10gfCB1bmRlZmluZWQsXG4gIHJ1bkNvbnRleHQ6IFF1ZXJ5T3V0cHV0W1wicnVuQ29udGV4dFwiXSxcbik6IFF1ZXJ5T3V0cHV0IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN1bHQsXG4gICAgdGV4dCxcbiAgICBjb250ZW50OiBhcHBlbmRJbWFnZXMoW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQgfV0sIGltYWdlcyksXG4gICAgZmluaXNoUmVhc29uOiBcInN0b3BcIixcbiAgICBydW5Db250ZXh0LFxuICB9O1xufVxuXG5mdW5jdGlvbiBmaW5kVW5rbm93blRvb2wodG9vbENhbGxzOiBUb29sQ2FsbFtdLCB0b29sczogUWdyaWRUb29sW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBrbm93blRvb2xOYW1lcyA9IG5ldyBTZXQodG9vbHMubWFwKCh0b29sKSA9PiB0b29sLm5hbWUpKTtcbiAgcmV0dXJuIHRvb2xDYWxscy5maW5kKCh0b29sQ2FsbCkgPT4gIWtub3duVG9vbE5hbWVzLmhhcyh0b29sQ2FsbC50b29sTmFtZSkpPy50b29sTmFtZTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kSW1hZ2VzKGNvbnRlbnQ6IFFncmlkQ29udGVudFtdLCBpbWFnZXM/OiBFbXVsYXRpb25JbWFnZVtdKTogUWdyaWRDb250ZW50W10ge1xuICBpZiAoIWltYWdlcz8ubGVuZ3RoKSByZXR1cm4gY29udGVudDtcbiAgcmV0dXJuIFtcbiAgICAuLi5jb250ZW50LFxuICAgIC4uLmltYWdlcy5tYXAoXG4gICAgICAoaW1hZ2UpOiBRZ3JpZENvbnRlbnQgPT4gKHtcbiAgICAgICAgdHlwZTogXCJpbWFnZVwiLFxuICAgICAgICBkYXRhOiBpbWFnZS5kYXRhLFxuICAgICAgICByZXZpc2VkUHJvbXB0OiBpbWFnZS5yZXZpc2VkUHJvbXB0ID8/IG51bGwsXG4gICAgICAgIC4uLihpbWFnZS5nZW5lcmF0aW9uID8geyBnZW5lcmF0aW9uOiBpbWFnZS5nZW5lcmF0aW9uIH0gOiB7fSksXG4gICAgICB9KSxcbiAgICApLFxuICBdO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRTdHJ1Y3R1cmVkRW52ZWxvcGVDb21wbGV4aXR5KHJvb3Q6IHVua25vd24pOiB2b2lkIHtcbiAgY29uc3QgbWF4RGVwdGggPSBTVFJVQ1RVUkVEX0VOVkVMT1BFX0xJTUlUUy5tYXhEZXB0aDtcbiAgY29uc3Qgc3RhY2sgPSBbeyB2YWx1ZTogcm9vdCwgZGVwdGg6IDAgfV07XG4gIGxldCBub2RlcyA9IDA7XG5cbiAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBjdXJyZW50ID0gc3RhY2sucG9wKCkhO1xuICAgIG5vZGVzICs9IDE7XG4gICAgaWYgKG5vZGVzID4gU1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMubWF4Tm9kZXMpIHtcbiAgICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKFxuICAgICAgICBgc3RydWN0dXJlZC1vdXRwdXQgZW52ZWxvcGUgZXhjZWVkcyBub2RlIGxpbWl0IG9mICR7U1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMubWF4Tm9kZXN9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjdXJyZW50LmRlcHRoID4gbWF4RGVwdGgpIHtcbiAgICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKFxuICAgICAgICBgc3RydWN0dXJlZC1vdXRwdXQgZW52ZWxvcGUgZXhjZWVkcyBkZXB0aCBsaW1pdCBvZiAke21heERlcHRofWAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGN1cnJlbnQudmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIU51bWJlci5pc0Zpbml0ZShjdXJyZW50LnZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFRvb2xDYWxsRW11bGF0aW9uRXJyb3IoXCJhbnN3ZXIgbXVzdCBiZSB2YWxpZCBKU09OXCIpO1xuICAgIH1cbiAgICBpZiAoY3VycmVudC52YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgY3VycmVudC52YWx1ZSAhPT0gXCJvYmplY3RcIikgY29udGludWU7XG5cbiAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoY3VycmVudC52YWx1ZSkpIHtcbiAgICAgIHN0YWNrLnB1c2goeyB2YWx1ZSwgZGVwdGg6IGN1cnJlbnQuZGVwdGggKyAxIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBUUEsTUFBTSw2QkFBNkI7Q0FDakMsY0FBYyxNQUFNO0NBQ3BCLFVBQVU7Q0FDVixVQUFVO0FBQ1o7QUFTQSxNQUFNLFNBQVMsVUFBVSxDQUFDLFNBQVMsZ0JBQWdCLENBQUM7QUFRcEQsU0FBUyxvQkFBb0IsWUFBd0I7Q0FDbkQsT0FBTyxFQUFFLGFBQWEsRUFDcEIsUUFBUSxFQUFFLG1CQUFtQixVQUFVLENBQ3JDLEVBQUUsYUFBYTtFQUNiLFFBQVEsRUFBRSxRQUFRLFFBQVE7RUFDMUIsUUFDRSxlQUFlLFNBQ1gsRUFBRSxPQUFPLElBQ1QsRUFBRSxLQUFLLENBQUMsQ0FBQyxRQUFRLFdBQVcsV0FBVyxNQUFNLEVBQzNDLFNBQVMsMEJBQ1gsQ0FBQztFQUNQLFdBQVcsRUFB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
|
|
130
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbC1lbXVsYXRpb24uanMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FwcGxpY2F0aW9uL3FncmlkL3Rvb2wtZW11bGF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJ1ZmZlciB9IGZyb20gXCJub2RlOmJ1ZmZlclwiO1xuXG5pbXBvcnQgeyBnZXRMb2dnZXIgfSBmcm9tIFwiQGxvZ3RhcGUvbG9ndGFwZVwiO1xuaW1wb3J0IHsgeiB9IGZyb20gXCJ6b2RcIjtcblxuLy8g7J2R64u1KOuqqOuNuCDstpzroKUpIGVudmVsb3BlIOydmCDsnpDsm5Ag7ZWc64+ELiBjYWxsZXIg7Iqk7YKk66eIIOyghOyymOumrCDtlZzrj4QoQ0FMTEVSX1NDSEVNQV9MSU1JVFMp7JmAIOqwkuydtFxuLy8g6rCZ7JWEIOuztOyXrOuPhCDshJzroZwg64uk66W4IOyekOybkOydhCDsp4DtgqTripQg64+F66a9IOyDgeyImOuLpCDigJQg7Iqk7YKk66eIIOq5iuydtOuKlCDsnbjsiqTthLTsiqQg6rmK7J2066W8IGJvdW5kIO2VmOyngFxuLy8g7JWK7Jy866+A66GcKOyerOq3gCAkcmVmIO2XiOyaqSkg7LqY65+sIO2VnOuPhOulvCDsobDsoJXtlbTrj4Qg7J2R64u1IOyImOyaqSDquLDspIDsnbQg65Sw6528IOybgOyngeyXrOyEoCDslYgg65Cc64ukLlxuY29uc3QgU1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMgPSB7XG4gIG1heFV0ZjhCeXRlczogNTEyICogMTAyNCxcbiAgbWF4Tm9kZXM6IDIwXzAwMCxcbiAgbWF4RGVwdGg6IDEzMixcbn0gYXMgY29uc3Q7XG5pbXBvcnQge1xuICB0eXBlIEltYWdlR2VuZXJhdGlvbk1ldGFkYXRhLFxuICB0eXBlIFFncmlkQ29udGVudCxcbiAgdHlwZSBRZ3JpZFRocmVhZENvb3JkLFxuICB0eXBlIFFncmlkVG9vbCxcbiAgdHlwZSBRdWVyeU91dHB1dCxcbn0gZnJvbSBcIi4vcWdyaWQudHlwZXNcIjtcblxuY29uc3QgbG9nZ2VyID0gZ2V0TG9nZ2VyKFtcInFncmlkXCIsIFwidG9vbC1lbXVsYXRpb25cIl0pO1xuXG50eXBlIEVtdWxhdGlvblJlc3VsdCA9IE9taXQ8UXVlcnlPdXRwdXQsIFwiY29udGVudFwiIHwgXCJmaW5pc2hSZWFzb25cIiB8IFwicnVuQ29udGV4dFwiPjtcbnR5cGUgVG9vbENhbGwgPSB7IHRvb2xOYW1lOiBzdHJpbmc7IGFyZ3M6IHN0cmluZyB9O1xuXG4vLyBlbnZlbG9wZSDripQge3Jlc3VsdDogPHVuaW9uPn0g7ZWcIOqyuSDqtazsobAg4oCUIOyKpO2CpOuniCDqt7zqsbDripQgdG9vbC1lbXVsYXRpb24tc2NoZW1hLnRzIOywuOyhsC5cbi8vIGFuc3dlciDtg4DsnoXrp4wg7JqU7LKtIO2Yle2DnOyXkCDrlLDrnbwg64uk66W064ukOiB0b29scy1vbmx5IOuKlCBzdHJpbmco6re464yA66GcIOuwmO2ZmCksXG4vLyB0b29scytqc29uU2NoZW1hIOuKlCDsgqzsmqnsnpAg7Iqk7YKk66eI7J2YIEpTT04g6rCSKEpTT04uc3RyaW5naWZ5IOuhnCDrsJjtmZgpLlxuZnVuY3Rpb24gYnVpbGRFbnZlbG9wZVNjaGVtYShhbnN3ZXJLaW5kOiBBbnN3ZXJLaW5kKSB7XG4gIHJldHVybiB6LnN0cmljdE9iamVjdCh7XG4gICAgcmVzdWx0OiB6LmRpc2NyaW1pbmF0ZWRVbmlvbihcImFjdGlvblwiLCBbXG4gICAgICB6LnN0cmljdE9iamVjdCh7XG4gICAgICAgIGFjdGlvbjogei5saXRlcmFsKFwiYW5zd2VyXCIpLFxuICAgICAgICBhbnN3ZXI6XG4gICAgICAgICAgYW5zd2VyS2luZCA9PT0gXCJ0ZXh0XCJcbiAgICAgICAgICAgID8gei5zdHJpbmcoKVxuICAgICAgICAgICAgOiB6Lmpzb24oKS5yZWZpbmUoKGFuc3dlcikgPT4gYW5zd2VyICE9PSBudWxsLCB7XG4gICAgICAgICAgICAgICAgbWVzc2FnZTogXCJhbnN3ZXIgbXVzdCBiZSBub24tbnVsbFwiLFxuICAgICAgICAgICAgICB9KSxcbiAgICAgICAgdG9vbENhbGxzOiB6Lm51bGwoKSxcbiAgICAgIH0pLFxuICAgICAgei5zdHJpY3RPYmplY3Qoe1xuICAgICAgICBhY3Rpb246IHoubGl0ZXJhbChcInRvb2xfY2FsbFwiKSxcbiAgICAgICAgYW5zd2VyOiB6Lm51bGwoKSxcbiAgICAgICAgdG9vbENhbGxzOiB6XG4gICAgICAgICAgLmFycmF5KFxuICAgICAgICAgICAgei5zdHJpY3RPYmplY3Qoe1xuICAgICAgICAgICAgICB0b29sTmFtZTogei5zdHJpbmcoKSxcbiAgICAgICAgICAgICAgYXJnczogei5zdHJpbmcoKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgIClcbiAgICAgICAgICAubWluKDEpLFxuICAgICAgfSksXG4gICAgXSksXG4gIH0pO1xufVxuXG5jb25zdCBURVhUX0VOVkVMT1BFID0gYnVpbGRFbnZlbG9wZVNjaGVtYShcInRleHRcIik7XG5jb25zdCBKU09OX0VOVkVMT1BFID0gYnVpbGRFbnZlbG9wZVNjaGVtYShcImpzb25cIik7XG50eXBlIEVudmVsb3BlUmVzcG9uc2UgPSB6LmluZmVyPHR5cGVvZiBKU09OX0VOVkVMT1BFPltcInJlc3VsdFwiXTtcblxuZXhwb3J0IGNsYXNzIFRvb2xDYWxsRW11bGF0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgIHN1cGVyKGB0b29sLWNhbGwgZW11bGF0aW9uOiAke21lc3NhZ2V9YCk7XG4gICAgdGhpcy5uYW1lID0gXCJUb29sQ2FsbEVtdWxhdGlvbkVycm9yXCI7XG4gIH1cbn1cblxuLy8gUHJlc2VydmUgaW1hZ2UgYnl0ZXMgYW5kIHRoZSBwcm92aWRlcidzIHJlc29sdmVkIE1JTUUgdHlwZS5cbmludGVyZmFjZSBFbXVsYXRpb25JbWFnZSB7XG4gIGRhdGE6IHN0cmluZztcbiAgbWVkaWFUeXBlPzogRXh0cmFjdDxRZ3JpZENvbnRlbnQsIHsgdHlwZTogXCJpbWFnZVwiIH0+W1wibWVkaWFUeXBlXCJdO1xuICByZXZpc2VkUHJvbXB0Pzogc3RyaW5nIHwgbnVsbDtcbiAgZ2VuZXJhdGlvbj86IEltYWdlR2VuZXJhdGlvbk1ldGFkYXRhO1xufVxuXG4vLyBhbnN3ZXIg7J247L2U65SpIOyiheulmC4gZW52ZWxvcGUg65SU7L2U642U64qUIO2VnCDrsozsnbTqs6Ag7J20IOqwkuydgCBhbnN3ZXIg67iM656c7LmY7J2YIO2DgOyeheqzvFxuLy8g7LWc7KKFIOyngeugrO2ZlCh0ZXh0OiDqt7jrjIDroZwgLyBqc29uOiBKU09OLnN0cmluZ2lmeSnrp4wg6rCA66W464ukLlxuZXhwb3J0IHR5cGUgQW5zd2VyS2luZCA9IFwidGV4dFwiIHwgXCJqc29uXCI7XG5cbmludGVyZmFjZSBUb29sQ2FsbEVtdWxhdGlvbk9wdGlvbnMge1xuICB0aHJlYWRDb29yZD86IFFncmlkVGhyZWFkQ29vcmQ7XG4gIGltYWdlcz86IEVtdWxhdGlvbkltYWdlW107XG4gIC8vIO2VhOyImDog7Zi47Lac67aA6rCAIGFuc3dlciDsnbjsvZTrlKnsnYQg7ZWt7IOBIOuqheyLnO2VtOyVvCDtlZzri6QgKGlucHV0Lmpzb25TY2hlbWEg7Jyg66y066GcIO2MkOyglSkuXG4gIGFuc3dlcktpbmQ6IEFuc3dlcktpbmQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVRvb2xDYWxsRW11bGF0aW9uKFxuICByZXN1bHQ6IEVtdWxhdGlvblJlc3VsdCxcbiAgdG9vbHM6IFFncmlkVG9vbFtdIHwgdW5kZWZpbmVkLFxuICBvcHRpb25zOiBUb29sQ2FsbEVtdWxhdGlvbk9wdGlvbnMsXG4pOiBRdWVyeU91dHB1dCB7XG4gIGNvbnN0IHsgdGhyZWFkQ29vcmQsIGltYWdlcywgYW5zd2VyS2luZCB9ID0gb3B0aW9ucztcbiAgY29uc3QgcnVuQ29udGV4dCA9IHRocmVhZENvb3JkID8geyB0aHJlYWRDb29yZCB9IDogdW5kZWZpbmVkO1xuXG4gIGlmICghdG9vbHM/Lmxlbmd0aCkge1xuICAgIHJldHVybiBhbnN3ZXJPdXRwdXQocmVzdWx0LCByZXN1bHQudGV4dCwgaW1hZ2VzLCBydW5Db250ZXh0KTtcbiAgfVxuXG4gIGNvbnN0IHBhcnNlZCA9IHBhcnNlRW52ZWxvcGUocmVzdWx0LnRleHQsIHRvb2xzLCBhbnN3ZXJLaW5kKTtcbiAgaWYgKHBhcnNlZC5hY3Rpb24gPT09IFwidG9vbF9jYWxsXCIpIHtcbiAgICByZXR1cm4gdG9vbENhbGxPdXRwdXQocmVzdWx0LCBwYXJzZWQudG9vbENhbGxzLCBpbWFnZXMsIHJ1bkNvbnRleHQpO1xuICB9XG5cbiAgcmV0dXJuIGFuc3dlck91dHB1dChcbiAgICByZXN1bHQsXG4gICAgYW5zd2VyS2luZCA9PT0gXCJ0ZXh0XCIgPyAocGFyc2VkLmFuc3dlciBhcyBzdHJpbmcpIDogSlNPTi5zdHJpbmdpZnkocGFyc2VkLmFuc3dlciksXG4gICAgaW1hZ2VzLFxuICAgIHJ1bkNvbnRleHQsXG4gICk7XG59XG5cbmZ1bmN0aW9uIHBhcnNlRW52ZWxvcGUodGV4dDogc3RyaW5nLCB0b29sczogUWdyaWRUb29sW10sIGFuc3dlcktpbmQ6IEFuc3dlcktpbmQpIHtcbiAgaWYgKEJ1ZmZlci5ieXRlTGVuZ3RoKHRleHQsIFwidXRmOFwiKSA+IFNUUlVDVFVSRURfRU5WRUxPUEVfTElNSVRTLm1heFV0ZjhCeXRlcykge1xuICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKFxuICAgICAgYHRvb2wgZW52ZWxvcGUgZXhjZWVkcyBVVEYtOCBieXRlIGxpbWl0IG9mICR7U1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMubWF4VXRmOEJ5dGVzfWAsXG4gICAgKTtcbiAgfVxuXG4gIGxldCB2YWx1ZTogdW5rbm93bjtcbiAgdHJ5IHtcbiAgICB2YWx1ZSA9IEpTT04ucGFyc2UodGV4dCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8g6rSA7JqpIO2PtOuwsSDsl4bsnYwuIG9wZW5haSDripQgZW52ZWxvcGUg7J20IHN0cnVjdHVyZWQgb3V0cHV0IOycvOuhnCDqsJXsoJzrkJjrr4DroZwg7Jes6riwIOuPhOuLrO2VnFxuICAgIC8vIOu5hCBKU09OIOydgCDrsoTqt7jri6QuIGFudGhyb3BpYyDsnYAg6rOE7JW97J2EIO2UhOuhrO2UhO2KuOuhnOunjCDslYjrgrTtlZjrr4DroZwoU09OLTUzMikg67mEIEpTT04g7J20XG4gICAgLy8gXCLsmIjsg4Eg6rCA64ql7ZWcIOuqqOuNuCDsi6TtjKhcIuyngOunjCwg6re4656Y64+EIOq1rOygnO2VmOyngCDslYrripTri6Qg4oCUIOqzvOqxsOydmCDthY3siqTtirgg6rWs7KCc64qUIO2HtO2ZlFxuICAgIC8vIOu0ie2IrOulvCDri7Xrs4DsnLzroZwg7Z2Y66Ck67O064K0IOyhsOyaqe2VnCDsmKTsl7zsnYQg66eM65Ok7JeI64ukKDIwMjYtMDcgbWVkcGF0aCwgMTMuNWsg6rG0KS5cbiAgICAvLyDsoJXsp4HtlZwg7Iuk7Yyo6rCAIOuztOyXrOyVvCDshozruYTsnpDqsIAg7J6s7Iuc64+E7ZWY6rGw64KYIOq3vOuzuCDsm5DsnbjsnYQg6rOg7Lmc64ukLlxuICAgIC8vIOynhOuLqOyXkOuKlCDsnITrsJgg7JuQ66y47J2YIOuouOumrOqwgCDtlYTsmpTtlZjri6QoU09OLTQ5NSDsoITroYApIOKAlCBwYXJzZSDsl5Drn6wg7JyE7LmY66eM7Jy866Gc64qUXG4gICAgLy8gXCLtlITroZzspojroZwg64u17ZaI64qU7KeAIC8g7Y6c7Iqk6rCAIOuCqOyVmOuKlOyngCAvIEpTT04g7J20IOyemOuguOuKlOyngFwi66W8IOq1rOu2hO2VoCDsiJgg7JeG64ukLlxuICAgIGNvbnN0IGhlYWQgPSBKU09OLnN0cmluZ2lmeSh0ZXh0LnNsaWNlKDAsIDIwMCkpO1xuICAgIGxvZ2dlci53YXJuKGB0b29sIGVudmVsb3BlIHBhcnNlIGZhaWxlZDogJHsoZXJyb3IgYXMgRXJyb3IpLm1lc3NhZ2V9OyBoZWFkPSR7aGVhZH1gKTtcbiAgICB0aHJvdyBuZXcgVG9vbENhbGxFbXVsYXRpb25FcnJvcihcbiAgICAgIGBpbnZhbGlkIHRvb2wgZW52ZWxvcGUgKHJlc3BvbnNlIGlzIG5vdCBKU09OIOKAlCB0aGUgbW9kZWwgaWdub3JlZCB0aGUgZW52ZWxvcGUgY29udHJhY3Q7IHJldHJ5IGlzIHRoZSBjYWxsZXIncyBkZWNpc2lvbik6ICR7KGVycm9yIGFzIEVycm9yKS5tZXNzYWdlfTsgcmVzcG9uc2UgaGVhZDogJHtoZWFkfWAsXG4gICAgKTtcbiAgfVxuXG4gIGFzc2VydFN0cnVjdHVyZWRFbnZlbG9wZUNvbXBsZXhpdHkodmFsdWUpO1xuICBjb25zdCBzY2hlbWEgPSBhbnN3ZXJLaW5kID09PSBcInRleHRcIiA/IFRFWFRfRU5WRUxPUEUgOiBKU09OX0VOVkVMT1BFO1xuICBjb25zdCB2YWxpZGF0aW9uID0gc2NoZW1hLnNhZmVQYXJzZSh2YWx1ZSk7XG4gIGlmICghdmFsaWRhdGlvbi5zdWNjZXNzKSB7XG4gICAgY29uc3QgaXNzdWUgPSB2YWxpZGF0aW9uLmVycm9yLmlzc3Vlc1swXTtcbiAgICBjb25zdCBwYXRoID0gaXNzdWUgJiYgaXNzdWUucGF0aC5sZW5ndGggPiAwID8gYCBhdCAke2lzc3VlLnBhdGguam9pbihcIi5cIil9YCA6IFwiXCI7XG4gICAgY29uc3QgZGV0YWlsID0gaXNzdWU/Lm1lc3NhZ2UgPz8gXCJ1bmtub3duIHZhbGlkYXRpb24gaXNzdWVcIjtcbiAgICAvLyB2YWxpZCBKU09OIOydtOyngOunjCDqs4Tslb0g7JyE67CY7J24IOqyveyasOyXkOuPhCDsm5DrrLgg66i466as66W8IOuCqOq4tOuLpCDigJQgem9kIOqyveuhnOunjOycvOuhnOuKlFxuICAgIC8vIFwi7YKkIOyDneueteyduOyngCAvIOuemO2NvOuhnCDqsJDsjIzripTsp4AgLyDtg4DsnoXsnbQg7YuA66C464qU7KeAXCLsnZgg7Iuk66y87J2EIOuzvCDsiJgg7JeG64ukLlxuICAgIGNvbnN0IGhlYWQgPSBKU09OLnN0cmluZ2lmeSh0ZXh0LnNsaWNlKDAsIDIwMCkpO1xuICAgIGxvZ2dlci53YXJuKGB0b29sIGVudmVsb3BlIHZhbGlkYXRpb24gZmFpbGVkJHtwYXRofTogJHtkZXRhaWx9OyBoZWFkPSR7aGVhZH1gKTtcbiAgICB0aHJvdyBuZXcgVG9vbENhbGxFbXVsYXRpb25FcnJvcihcbiAgICAgIGBpbnZhbGlkIHRvb2wgZW52ZWxvcGUke3BhdGh9OiAke2RldGFpbH07IHJlc3BvbnNlIGhlYWQ6ICR7aGVhZH1gLFxuICAgICk7XG4gIH1cblxuICAvLyBab2QgY2xvbmVzIEpTT04gb2JqZWN0cyBhbmQgZHJvcHMgb3duIFwiX19wcm90b19fXCIga2V5cy4gVGhlIHBhcnNlZCBKU09OIGlzIHNhZmUgdG8gcmV0dXJuXG4gIC8vIGFmdGVyIHZhbGlkYXRpb24gYW5kIHByZXNlcnZlcyB0aGUgY2FsbGVyJ3MgZXhhY3Qgc3RydWN0dXJlZCB2YWx1ZS5cbiAgY29uc3QgcmVzcG9uc2UgPSAodmFsdWUgYXMgeyByZXN1bHQ6IEVudmVsb3BlUmVzcG9uc2UgfSkucmVzdWx0O1xuICBpZiAocmVzcG9uc2UuYWN0aW9uID09PSBcInRvb2xfY2FsbFwiKSB7XG4gICAgY29uc3QgdW5rbm93blRvb2wgPSBmaW5kVW5rbm93blRvb2wocmVzcG9uc2UudG9vbENhbGxzLCB0b29scyk7XG4gICAgaWYgKHVua25vd25Ub29sICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKGB1bmtub3duIGVtdWxhdGVkIHRvb2w6ICR7dW5rbm93blRvb2x9YCk7XG4gICAgfVxuICB9XG4gIHJldHVybiByZXNwb25zZTtcbn1cblxuZnVuY3Rpb24gdG9vbENhbGxPdXRwdXQoXG4gIHJlc3VsdDogRW11bGF0aW9uUmVzdWx0LFxuICB0b29sQ2FsbHM6IFRvb2xDYWxsW10sXG4gIGltYWdlczogRW11bGF0aW9uSW1hZ2VbXSB8IHVuZGVmaW5lZCxcbiAgcnVuQ29udGV4dDogUXVlcnlPdXRwdXRbXCJydW5Db250ZXh0XCJdLFxuKTogUXVlcnlPdXRwdXQge1xuICByZXR1cm4ge1xuICAgIC4uLnJlc3VsdCxcbiAgICBjb250ZW50OiBhcHBlbmRJbWFnZXMoXG4gICAgICB0b29sQ2FsbHMubWFwKCh0b29sQ2FsbCkgPT4gKHtcbiAgICAgICAgdHlwZTogXCJ0b29sLWNhbGxcIixcbiAgICAgICAgdG9vbENhbGxJZDogYGNhbGxfJHtNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zbGljZSgyLCAxMCl9YCxcbiAgICAgICAgdG9vbE5hbWU6IHRvb2xDYWxsLnRvb2xOYW1lLFxuICAgICAgICBpbnB1dDogdG9vbENhbGwuYXJncyxcbiAgICAgIH0pKSxcbiAgICAgIGltYWdlcyxcbiAgICApLFxuICAgIGZpbmlzaFJlYXNvbjogXCJ0b29sLWNhbGxzXCIsXG4gICAgcnVuQ29udGV4dCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gYW5zd2VyT3V0cHV0KFxuICByZXN1bHQ6IEVtdWxhdGlvblJlc3VsdCxcbiAgdGV4dDogc3RyaW5nLFxuICBpbWFnZXM6IEVtdWxhdGlvbkltYWdlW10gfCB1bmRlZmluZWQsXG4gIHJ1bkNvbnRleHQ6IFF1ZXJ5T3V0cHV0W1wicnVuQ29udGV4dFwiXSxcbik6IFF1ZXJ5T3V0cHV0IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5yZXN1bHQsXG4gICAgdGV4dCxcbiAgICBjb250ZW50OiBhcHBlbmRJbWFnZXMoW3sgdHlwZTogXCJ0ZXh0XCIsIHRleHQgfV0sIGltYWdlcyksXG4gICAgZmluaXNoUmVhc29uOiBcInN0b3BcIixcbiAgICBydW5Db250ZXh0LFxuICB9O1xufVxuXG5mdW5jdGlvbiBmaW5kVW5rbm93blRvb2wodG9vbENhbGxzOiBUb29sQ2FsbFtdLCB0b29sczogUWdyaWRUb29sW10pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICBjb25zdCBrbm93blRvb2xOYW1lcyA9IG5ldyBTZXQodG9vbHMubWFwKCh0b29sKSA9PiB0b29sLm5hbWUpKTtcbiAgcmV0dXJuIHRvb2xDYWxscy5maW5kKCh0b29sQ2FsbCkgPT4gIWtub3duVG9vbE5hbWVzLmhhcyh0b29sQ2FsbC50b29sTmFtZSkpPy50b29sTmFtZTtcbn1cblxuZnVuY3Rpb24gYXBwZW5kSW1hZ2VzKGNvbnRlbnQ6IFFncmlkQ29udGVudFtdLCBpbWFnZXM/OiBFbXVsYXRpb25JbWFnZVtdKTogUWdyaWRDb250ZW50W10ge1xuICBpZiAoIWltYWdlcz8ubGVuZ3RoKSByZXR1cm4gY29udGVudDtcbiAgcmV0dXJuIFtcbiAgICAuLi5jb250ZW50LFxuICAgIC4uLmltYWdlcy5tYXAoXG4gICAgICAoaW1hZ2UpOiBRZ3JpZENvbnRlbnQgPT4gKHtcbiAgICAgICAgdHlwZTogXCJpbWFnZVwiLFxuICAgICAgICBkYXRhOiBpbWFnZS5kYXRhLFxuICAgICAgICAuLi4oaW1hZ2UubWVkaWFUeXBlID8geyBtZWRpYVR5cGU6IGltYWdlLm1lZGlhVHlwZSB9IDoge30pLFxuICAgICAgICByZXZpc2VkUHJvbXB0OiBpbWFnZS5yZXZpc2VkUHJvbXB0ID8/IG51bGwsXG4gICAgICAgIC4uLihpbWFnZS5nZW5lcmF0aW9uID8geyBnZW5lcmF0aW9uOiBpbWFnZS5nZW5lcmF0aW9uIH0gOiB7fSksXG4gICAgICB9KSxcbiAgICApLFxuICBdO1xufVxuXG5mdW5jdGlvbiBhc3NlcnRTdHJ1Y3R1cmVkRW52ZWxvcGVDb21wbGV4aXR5KHJvb3Q6IHVua25vd24pOiB2b2lkIHtcbiAgY29uc3QgbWF4RGVwdGggPSBTVFJVQ1RVUkVEX0VOVkVMT1BFX0xJTUlUUy5tYXhEZXB0aDtcbiAgY29uc3Qgc3RhY2sgPSBbeyB2YWx1ZTogcm9vdCwgZGVwdGg6IDAgfV07XG4gIGxldCBub2RlcyA9IDA7XG5cbiAgd2hpbGUgKHN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBjdXJyZW50ID0gc3RhY2sucG9wKCkhO1xuICAgIG5vZGVzICs9IDE7XG4gICAgaWYgKG5vZGVzID4gU1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMubWF4Tm9kZXMpIHtcbiAgICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKFxuICAgICAgICBgc3RydWN0dXJlZC1vdXRwdXQgZW52ZWxvcGUgZXhjZWVkcyBub2RlIGxpbWl0IG9mICR7U1RSVUNUVVJFRF9FTlZFTE9QRV9MSU1JVFMubWF4Tm9kZXN9YCxcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChjdXJyZW50LmRlcHRoID4gbWF4RGVwdGgpIHtcbiAgICAgIHRocm93IG5ldyBUb29sQ2FsbEVtdWxhdGlvbkVycm9yKFxuICAgICAgICBgc3RydWN0dXJlZC1vdXRwdXQgZW52ZWxvcGUgZXhjZWVkcyBkZXB0aCBsaW1pdCBvZiAke21heERlcHRofWAsXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGN1cnJlbnQudmFsdWUgPT09IFwibnVtYmVyXCIgJiYgIU51bWJlci5pc0Zpbml0ZShjdXJyZW50LnZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFRvb2xDYWxsRW11bGF0aW9uRXJyb3IoXCJhbnN3ZXIgbXVzdCBiZSB2YWxpZCBKU09OXCIpO1xuICAgIH1cbiAgICBpZiAoY3VycmVudC52YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgY3VycmVudC52YWx1ZSAhPT0gXCJvYmplY3RcIikgY29udGludWU7XG5cbiAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIE9iamVjdC52YWx1ZXMoY3VycmVudC52YWx1ZSkpIHtcbiAgICAgIHN0YWNrLnB1c2goeyB2YWx1ZSwgZGVwdGg6IGN1cnJlbnQuZGVwdGggKyAxIH0pO1xuICAgIH1cbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7O0FBUUEsTUFBTSw2QkFBNkI7Q0FDakMsY0FBYyxNQUFNO0NBQ3BCLFVBQVU7Q0FDVixVQUFVO0FBQ1o7QUFTQSxNQUFNLFNBQVMsVUFBVSxDQUFDLFNBQVMsZ0JBQWdCLENBQUM7QUFRcEQsU0FBUyxvQkFBb0IsWUFBd0I7Q0FDbkQsT0FBTyxFQUFFLGFBQWEsRUFDcEIsUUFBUSxFQUFFLG1CQUFtQixVQUFVLENBQ3JDLEVBQUUsYUFBYTtFQUNiLFFBQVEsRUFBRSxRQUFRLFFBQVE7RUFDMUIsUUFDRSxlQUFlLFNBQ1gsRUFBRSxP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
|
|
@@ -31,6 +31,7 @@ const ONE_MILLION_CONTEXT_MODELS = /* @__PURE__ */ new Set([
|
|
|
31
31
|
"claude-fable-5-1",
|
|
32
32
|
"claude-fable-5",
|
|
33
33
|
"claude-opus-5",
|
|
34
|
+
"claude-opus-5-5",
|
|
34
35
|
"claude-sonnet-5",
|
|
35
36
|
"claude-sonnet-4-6",
|
|
36
37
|
"claude-opus-4-6",
|
|
@@ -40,7 +41,8 @@ const CLI_ONE_MILLION_SUFFIX_MODELS = /* @__PURE__ */ new Set(["claude-sonnet-4-
|
|
|
40
41
|
const ADAPTIVE_THINKING_MODELS = /* @__PURE__ */ new Set([
|
|
41
42
|
"claude-fable-5-1",
|
|
42
43
|
"claude-fable-5",
|
|
43
|
-
"claude-opus-5"
|
|
44
|
+
"claude-opus-5",
|
|
45
|
+
"claude-opus-5-5"
|
|
44
46
|
]);
|
|
45
47
|
const FABLE_FAMILY_MODELS = /* @__PURE__ */ new Set(["claude-fable-5-1", "claude-fable-5"]);
|
|
46
48
|
for (const model of CLI_ONE_MILLION_SUFFIX_MODELS) if (!ONE_MILLION_CONTEXT_MODELS.has(model)) throw new Error(`[invariant] CLI 1M suffix model not in context set: ${model}`);
|
|
@@ -64,4 +66,4 @@ function assertSupportedOneMillionSuffix(model) {
|
|
|
64
66
|
//#endregion
|
|
65
67
|
export { ANTHROPIC_CLAUDE_CWD, ANTHROPIC_CONFIG_DIR_BASE, ANTHROPIC_DEFAULT_EFFORT, ANTHROPIC_DEFAULT_MODEL, ANTHROPIC_DISALLOWED_TOOLS, anthropicConfigDir, assertSupportedOneMillionSuffix, canonicalAnthropicModel, hasOneMillionSuffix, isFableFamilyModel, needsCli1mSuffix, supports1MContext, usesAdaptiveThinking };
|
|
66
68
|
|
|
67
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW50aHJvcGljLWNvbnN0YW50cy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcHJvdmlkZXJzL2FudGhyb3BpYy9hbnRocm9waWMtY29uc3RhbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQW50aHJvcGljKENsYXVkZSkgcHJvdmlkZXIg7IOB7IiYLlxuICpcbiAqIENsYXVkZSBDb2RlIENMSSDtlIzrnpjqt7gvZW52IOqzhOyVveydhCBBbnRocm9waWMgZGlzcGF0Y2hlciDsmqnsnLzroZwg6rOg7KCV7ZWc64ukOlxuICogIC0gYC0tbm8tc2Vzc2lvbi1wZXJzaXN0ZW5jZWAg7KCc6rGwICjrqYDti7DthLQg7ZWE7IiYKS5cbiAqICAtIGAtLWlucHV0LWZvcm1hdCBzdHJlYW0tanNvbmAg7LaU6rCAIChzdGRpbiDsnLzroZwg7J6F66ClIOyWtOuMke2EsCBKU09OTCDtnZjrprwpLlxuICogIC0gQW50aHJvcGljIOqyveuhnOuKlCDrp6Qg7Zi47LacIGAtLXNlc3Npb24taWRgIOuhnCBmcmVzaCBzZXNzaW9uIOydhCDrsJzquIntlZzri6QuXG4gKi9cblxuLy8gQ0MgLS1tb2RlbCDtlIzrnpjqt7jqsIAg67Cb64qUIG9mZmljaWFsIG1vZGVsIGlkIChhbGlhcyBcInNvbm5ldFwiIOqwgCDslYTri4jrnbwg7KCV7ZmV7ZWcIOyLneuzhOyekOuhnCDqs6DsoJUpLlxuLy8gY2xhdWRlLWFwaSDsiqTtgqwg7ZmV7J24OiBTb25uZXQgNC42IG9mZmljaWFsIGlkID0gXCJjbGF1ZGUtc29ubmV0LTQtNlwiICjrgqDsp5wgc3VmZml4IOyXhuydjCkuXG4vLyBtb2RlbC1jb3N0IO2FjOydtOu4lOyXkOuPhCBcImNsYXVkZS1zb25uZXQtNC02XCIg7YKkIOyhtOyerFxuZXhwb3J0IGNvbnN0IEFOVEhST1BJQ19ERUZBVUxUX01PREVMID0gXCJjbGF1ZGUtc29ubmV0LTQtNlwiO1xuLy8gT3BlbkFJIHByb3ZpZGVyIOq4sOuzuOqwkihvcGVuYWktZGlzcGF0Y2hlciBERUZBVUxUX0VGRk9SVCnqs7wg66ee7LaY64ukLiDtgbTrnbzqsIAgZWZmb3J0IOuvuOyngOyglSDsi5wg7JWI7KCE66edLlxuZXhwb3J0IGNvbnN0IEFOVEhST1BJQ19ERUZBVUxUX0VGRk9SVCA9IFwibG93XCI7XG4vLyBwcm9qZWN0IHNjb3BlIGN3ZCAoc2V0dGluZ3MuanNvbiDqsqnrpqwpLiDthqDtgbDrs4Qg6rKp66as64qUIENMQVVERV9DT05GSUdfRElSIOuhnCDtlZzri6QuXG5leHBvcnQgY29uc3QgQU5USFJPUElDX0NMQVVERV9DV0QgPSBcIi90bXAvcWdyaWQtYW50aHJvcGljXCI7XG4vLyBwZXItdG9rZW4gQ0xBVURFX0NPTkZJR19ESVIg7J2YIOuyoOydtOyKpC4g7Iuk7KCcIOqyveuhnOuKlCBgJHtCQVNFfS8ke3Rva2VuSWR9YCAoUjEwIOqyqeumrCkuXG5leHBvcnQgY29uc3QgQU5USFJPUElDX0NPTkZJR19ESVJfQkFTRSA9IFwiL3RtcC9xZ3JpZC1hbnRocm9waWMtY29uZmlnXCI7XG4vLyBDQyDqsIAg7J6Q64+ZIO2ZnOyEse2ZlO2VmOuKlCBkZWZlcnJlZCDrj4Tqtawg4oCUIO2GoO2BsCDstZzsoIHtmZQg7JyE7ZW0IGRpc3BhdGNoZXIg6rK966Gc7JeQ7IScIOywqOuLqC5cbmV4cG9ydCBjb25zdCBBTlRIUk9QSUNfRElTQUxMT1dFRF9UT09MUyA9IFtcIk1vbml0b3JcIiwgXCJQdXNoTm90aWZpY2F0aW9uXCIsIFwiUmVtb3RlVHJpZ2dlclwiXSBhcyBjb25zdDtcbmNvbnN0IE9ORV9NSUxMSU9OX1NVRkZJWF9SRSA9IC9cXFsxbVxcXSQvaTtcblxuLy8g7Yag7YGw67OEIENMQVVERV9DT05GSUdfRElSIOqyveuhnCDqt5zsuZkoUjEwIOqyqeumrCDqs4Tslb0pLiB0b2tlbklkIOuzhOuhnCDrtoTrpqzrkJjslrQsIOqwmeydgCBjbGF1ZGUgc2Vzc2lvbi1pZFxuLy8g652864+EIOuLpOuluCDthqDtgbDsnbTrqbQg64uk66W4IGNvbmZpZyBkaXIg4oaSIHRyYW5zY3JpcHQg6rCAIOyEnuydtOyngCDslYrripTri6QuIOu2gOyImO2aqOqzvCDsl4bripQg7Iic7IiYIO2VqOyImOudvFxuLy8g6rKp66asIOqzhOyVveydhCDri6jsnIQg7YWM7Iqk7Yq466GcIOqzoOygle2VoCDsiJgg7J6I64ukKFU2IFIxMCDqtazsobAg6rKA7KadKS4g7Iuk7KCcIGRpciDsg53shLHsnYAgZW5zdXJlQ29uZmlnRGlyIOqwgCDtlZzri6QuXG5leHBvcnQgZnVuY3Rpb24gYW50aHJvcGljQ29uZmlnRGlyKHRva2VuSWQ6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBgJHtBTlRIUk9QSUNfQ09ORklHX0RJUl9CQVNFfS8ke3Rva2VuSWR9YDtcbn1cblxuLy8gbW9kZWwgaWQg66W8IGNhbm9uaWNhbChwcm92aWRlciBwcmVmaXgg7JeG64qUIENMSS9jb3N0IO2CpCkg66GcIOygleq3nO2ZlFxuLy8gYWktc2RrIOuKlCAnYW50aHJvcGljL2NsYXVkZS0qJyDtmJXtg5zroZwg67O064K064qU642wLCBwcmVmaXgg6rCAIGNhbGN1bGF0ZUNvc3RVc2Qg7JeQIOyDiOuptCBjb3N0IOqwgFxuLy8gZGVmYXVsdCDri6jqsIDroZwg7Jik6rOE7IKw65Cc64ukLiBgWzFtXWAgc3VmZml4IOuPhCBDTEkgZW1pdCDsoITsmqnsnbTrnbxcbi8vIGJhc2UgY2Fub25pY2FsIOyXkOyEnOuKlCDsoJzqsbDtlZzri6QuIOuvuOyngOygleydtOuptCBkZWZhdWx0LlxuZXhwb3J0IGZ1bmN0aW9uIGNhbm9uaWNhbEFudGhyb3BpY01vZGVsKG1vZGVsPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcmF3ID0gbW9kZWwgfHwgQU5USFJPUElDX0RFRkFVTFRfTU9ERUw7XG4gIGNvbnN0IHdpdGhvdXRQcm92aWRlciA9IHJhdy5pbmNsdWRlcyhcIi9cIikgPyByYXcuc3BsaXQoXCIvXCIpLnBvcCgpISA6IHJhdztcbiAgcmV0dXJuIHdpdGhvdXRQcm92aWRlci5yZXBsYWNlKE9ORV9NSUxMSU9OX1NVRkZJWF9SRSwgXCJcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPbmVNaWxsaW9uU3VmZml4KG1vZGVsPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBtb2RlbCAhPT0gdW5kZWZpbmVkICYmIE9ORV9NSUxMSU9OX1NVRkZJWF9SRS50ZXN0KG1vZGVsKTtcbn1cblxuLy8gMU0g7KeA7JuQIOyXrOu2gOuKlCBDbGF1ZGUgQ29kZSDrgrTrtoDsnZgg6rSR67KU7JyE7ZWcIHByZWZpeCDtjJDsoJXsnbQg7JWE64uI6528IHFncmlk7JeQ7IScIO2ZleyduO2VnCBleGFjdCBzZXQg7Jy866GcXG4vLyDqs6DsoJXtlZzri6QuIG9wdXMtNC03IOydgCDsi6TsuKEg7KCE6rmM7KeAIOuvuO2PrO2VqC4g7IOIIOuqqOuNuCDstpTqsIAg7IucIOqzteyLnSDsgqzslpHqs7wg7Iuk7KCcIENMSSDrj5nsnpHsnYQg7ZmV7J247ZWc64ukLlxuY29uc3QgT05FX01JTExJT05fQ09OVEVYVF9NT0RFTFMgPSBuZXcgU2V0KFtcbiAgXCJjbGF1ZGUtZmFibGUtNS0xXCIsXG4gIFwiY2xhdWRlLWZhYmxlLTVcIixcbiAgXCJjbGF1ZGUtb3B1cy01XCIsXG4gIFwiY2xhdWRlLXNvbm5ldC01XCIsXG4gIFwiY2xhdWRlLXNvbm5ldC00LTZcIixcbiAgXCJjbGF1ZGUtb3B1cy00LTZcIixcbiAgXCJjbGF1ZGUtb3B1cy00LThcIixcbl0pO1xuXG5jb25zdCBDTElfT05FX01JTExJT05fU1VGRklYX01PREVMUyA9IG5ldyBTZXQoW1wiY2xhdWRlLXNvbm5ldC00LTZcIiwgXCJjbGF1ZGUtb3B1cy00LTZcIl0pO1xuLy8gRmFibGUgNS81LjEg7J2AIGFkYXB0aXZlIHRoaW5raW5nIOydtCDsnKDsnbztlZwg66qo65Oc64ukKENMSSDsubTtg4jroZzqt7ggYHJlamVjdHNfZGlzYWJsZWRfdGhpbmtpbmdgKS4gT3B1cyA1IOuKlFxuLy8gZGlzYWJsZWQg66W8IGhpZ2gg7J207ZWY7JeQ7IScIOyngOybkO2VmOyngOunjCwg6rO17IudIOq4sOuzuOqwksK36raM7J6lIOuPmeyekeyduCBhZGFwdGl2ZSB0aGlua2luZyDsnYQg7Jyg7KeA7ZWc64ukLiBxZ3JpZFxuLy8g6riw67O4IGVmZm9ydD1sb3cg6rCAIOu5hOyaqS/sp4Dsl7Ag7KCc7Ja066W8IOunoeycvOupsCwg7J20IOygleyxheydgCBkaXNhYmxlZCt4aGlnaC9tYXggNDAwIOyYpOulmOyZgCBkaXNhYmxlZCDsi5xcbi8vIHRvb2wvWE1MIOy2nOugpSDsmKTsl7zrj4Qg7ZS87ZWc64ukLlxuY29uc3QgQURBUFRJVkVfVEhJTktJTkdfTU9ERUxTID0gbmV3IFNldChbXCJjbGF1ZGUtZmFibGUtNS0xXCIsIFwiY2xhdWRlLWZhYmxlLTVcIiwgXCJjbGF1ZGUtb3B1cy01XCJdKTtcblxuLy8gRmFibGUg6rOE7Je0OiDqtazrj4Ug7ZSM656c7JeQ7IScIHVzYWdlIGNyZWRpdHMg6rCAIO2VhOyalO2VnCDstZzsg4HsnIQg7Yuw7Ja0LiDqtazrj4UgdXNhZ2UgQVBJIOydmFxuLy8gYHNldmVuX2RheV9vdmVyYWdlX2luY2x1ZGVkYCDrsoTtgrfsnYAg7J20IOqzhOyXtOyXkOunjCDsoIHsmqnrkJjrr4DroZwgcXVvdGEgdGhyZXNob2xkIO2MkOygleydtCDssLjsobDtlZzri6QuXG4vLyBNeXRob3Mg64qUIFByb2plY3QgR2xhc3N3aW5nIOyhsOyngSDsoITsmqnsnbTrnbwg6rWs64+FIO2GoO2BsCDqsr3roZzsl5DshJwg64+E64us7ZWgIOyImCDsl4bslrQg7Y+s7ZWo7ZWY7KeAIOyViuuKlOuLpC5cbmNvbnN0IEZBQkxFX0ZBTUlMWV9NT0RFTFMgPSBuZXcgU2V0KFtcImNsYXVkZS1mYWJsZS01LTFcIiwgXCJjbGF1ZGUtZmFibGUtNVwiXSk7XG5cbi8vIOu2iOuzgCDqs4Tslb06IHN1ZmZpeCDqsIAg7ZWE7JqU7ZWcIOuqqOuNuOydgCDrsJjrk5zsi5wgMU0g7KeA7JuQIOuqqOuNuOydmCDrtoDrtoTsp5HtlansnbTslrTslbwg7ZWc64ukLiDsl63rsKntlqUg67aI7J287LmYKHN1ZmZpeFxuLy8g64yA7IOB7J24642wIOyngOybkCDsp5Htlansl5Qg7JeG7J2MKeuptCBuZWVkc0NsaTFtU3VmZml4PXRydWXCt3N1cHBvcnRzMU1Db250ZXh0PWZhbHNlIOqwgCDrj5nsi5zsl5Ag64KY7IScXG4vLyBgLS1tb2RlbCBbMW1dYCDqs7wgRElTQUJMRV8xTSBlbnYg6rCAIOuqqOyInOuQmOqyjCDrtpnripTri6QuIOyDiCDrqqjrjbjsnYQg7ZWc7Kq9IFNldCDsl5Drp4wg64Sj64qUIOyLpOyImOulvCDrqqjrk4hcbi8vIOuhnOuTnCDsi5zsoJDsl5Ag7J6h64qU64ukLlxuZm9yIChjb25zdCBtb2RlbCBvZiBDTElfT05FX01JTExJT05fU1VGRklYX01PREVMUykge1xuICBpZiAoIU9ORV9NSUxMSU9OX0NPTlRFWFRfTU9ERUxTLmhhcyhtb2RlbCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFtpbnZhcmlhbnRdIENMSSAxTSBzdWZmaXggbW9kZWwgbm90IGluIGNvbnRleHQgc2V0OiAke21vZGVsfWApO1xuICB9XG59XG4vLyBGYWJsZSDqs4Tsl7TsnYAg6rO17IudIOyCrOyWkeyDgSAxTSDquLDrs7gg7Luo7YWN7Iqk7Yq4ICsgYWRhcHRpdmUgdGhpbmtpbmcg7ZWE7IiY64ukLiDsg4ggRmFibGUg67KE7KCE7J2EIOqzhOyXtCBTZXRcbi8vIOyXkOunjCDrhKPqs6Ag64KY66i47KeA66W8IOu5oOucqOumrOuKlCDsi6TsiJjrpbwg6rCZ7J2AIOuwqeyLneycvOuhnCDrqqjrk4gg66Gc65OcIOyLnOygkOyXkCDsnqHripTri6QuXG5mb3IgKGNvbnN0IG1vZGVsIG9mIEZBQkxFX0ZBTUlMWV9NT0RFTFMpIHtcbiAgaWYgKCFPTkVfTUlMTElPTl9DT05URVhUX01PREVMUy5oYXMobW9kZWwpIHx8ICFBREFQVElWRV9USElOS0lOR19NT0RFTFMuaGFzKG1vZGVsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgW2ludmFyaWFudF0gRmFibGUgZmFtaWx5IG1vZGVsIG1pc3NpbmcgZnJvbSAxTS9hZGFwdGl2ZSBzZXQ6ICR7bW9kZWx9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzMU1Db250ZXh0KG1vZGVsPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBPTkVfTUlMTElPTl9DT05URVhUX01PREVMUy5oYXMoY2Fub25pY2FsQW50aHJvcGljTW9kZWwobW9kZWwpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRzQ2xpMW1TdWZmaXgobW9kZWw/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIENMSV9PTkVfTUlMTElPTl9TVUZGSVhfTU9ERUxTLmhhcyhjYW5vbmljYWxBbnRocm9waWNNb2RlbChtb2RlbCkpO1xufVxuXG4vLyBxZ3JpZCDqsIAgYWRhcHRpdmUgdGhpbmtpbmcg7J2EIOuztOyhtO2VmOuKlCDrqqjrjbjsnbjsp4Ag7YyQ67OE7ZWc64ukLiDrgpjrqLjsp4Ag66qo64247J2AIOq4sOyhtFxuLy8g7KCA67mE7JqpL+u5hOy2lOuhoCDqsr3roZzrpbwg7Jyg7KeA7ZWc64ukLlxuZXhwb3J0IGZ1bmN0aW9uIHVzZXNBZGFwdGl2ZVRoaW5raW5nKG1vZGVsPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBBREFQVElWRV9USElOS0lOR19NT0RFTFMuaGFzKGNhbm9uaWNhbEFudGhyb3BpY01vZGVsKG1vZGVsKSk7XG59XG5cbi8vIOq1rOuPhSB1c2FnZSDsnZggRmFibGUg7KCE7JqpIDfsnbwg67KE7YK37J2EIHF1b3RhIO2MkOygleyXkCDtj6ztlajtlaDsp4Ag6rKw7KCV7ZWc64ukLlxuZXhwb3J0IGZ1bmN0aW9uIGlzRmFibGVGYW1pbHlNb2RlbChtb2RlbD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gRkFCTEVfRkFNSUxZX01PREVMUy5oYXMoY2Fub25pY2FsQW50aHJvcGljTW9kZWwobW9kZWwpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFN1cHBvcnRlZE9uZU1pbGxpb25TdWZmaXgobW9kZWw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFoYXNPbmVNaWxsaW9uU3VmZml4KG1vZGVsKSkgcmV0dXJuO1xuICBjb25zdCBjYW5vbmljYWwgPSBjYW5vbmljYWxBbnRocm9waWNNb2RlbChtb2RlbCk7XG4gIGlmICghc3VwcG9ydHMxTUNvbnRleHQoY2Fub25pY2FsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgQW50aHJvcGljIDFNIG1vZGVsIHN1ZmZpeDogJHttb2RlbH1gKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQSxNQUFhLDBCQUEwQjtBQUV2QyxNQUFhLDJCQUEyQjtBQUV4QyxNQUFhLHVCQUF1QjtBQUVwQyxNQUFhLDRCQUE0QjtBQUV6QyxNQUFhLDZCQUE2QjtDQUFDO0NBQVc7Q0FBb0I7QUFBZTtBQUN6RixNQUFNLHdCQUF3QjtBQUs5QixTQUFnQixtQkFBbUIsU0FBeUI7Q0FDMUQsT0FBTyxHQUFHLDBCQUEwQixHQUFHO0FBQ3pDO0FBTUEsU0FBZ0Isd0JBQXdCLE9BQXdCO0NBQzlELE1BQU0sTUFBTSxTQUFBO0NBRVosUUFEd0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFLLElBQzdELENBQWdCLFFBQVEsdUJBQXVCLEVBQUU7QUFDMUQ7QUFFQSxTQUFnQixvQkFBb0IsT0FBeUI7Q0FDM0QsT0FBTyxVQUFVLFVBQWEsc0JBQXNCLEtBQUssS0FBSztBQUNoRTtBQUlBLE1BQU0sNkNBQTZCLElBQUksSUFBSTtDQUN6QztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtBQUNGLENBQUM7QUFFRCxNQUFNLGdEQUFnQyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsaUJBQWlCLENBQUM7QUFLdEYsTUFBTSwyQ0FBMkIsSUFBSSxJQUFJO0NBQUM7Q0FBb0I7Q0FBa0I7QUFBZSxDQUFDO0FBS2hHLE1BQU0sc0NBQXNCLElBQUksSUFBSSxDQUFDLG9CQUFvQixnQkFBZ0IsQ0FBQztBQU0xRSxLQUFLLE1BQU0sU0FBUywrQkFDbEIsSUFBSSxDQUFDLDJCQUEyQixJQUFJLEtBQUssR0FDdkMsTUFBTSxJQUFJLE1BQU0sdURBQXVELE9BQU87QUFLbEYsS0FBSyxNQUFNLFNBQVMscUJBQ2xCLElBQUksQ0FBQywyQkFBMkIsSUFBSSxLQUFLLEtBQUssQ0FBQyx5QkFBeUIsSUFBSSxLQUFLLEdBQy9FLE1BQU0sSUFBSSxNQUFNLGdFQUFnRSxPQUFPO0FBSTNGLFNBQWdCLGtCQUFrQixPQUF5QjtDQUN6RCxPQUFPLDJCQUEyQixJQUFJLHdCQUF3QixLQUFLLENBQUM7QUFDdEU7QUFFQSxTQUFnQixpQkFBaUIsT0FBeUI7Q0FDeEQsT0FBTyw4QkFBOEIsSUFBSSx3QkFBd0IsS0FBSyxDQUFDO0FBQ3pFO0FBSUEsU0FBZ0IscUJBQXFCLE9BQXlCO0NBQzVELE9BQU8seUJBQXlCLElBQUksd0JBQXdCLEtBQUssQ0FBQztBQUNwRTtBQUdBLFNBQWdCLG1CQUFtQixPQUF5QjtDQUMxRCxPQUFPLG9CQUFvQixJQUFJLHdCQUF3QixLQUFLLENBQUM7QUFDL0Q7QUFFQSxTQUFnQixnQ0FBZ0MsT0FBc0I7Q0FDcEUsSUFBSSxDQUFDLG9CQUFvQixLQUFLLEdBQUc7Q0FFakMsSUFBSSxDQUFDLGtCQURhLHdCQUF3QixLQUNuQixDQUFTLEdBQzlCLE1BQU0sSUFBSSxNQUFNLDBDQUEwQyxPQUFPO0FBRXJFIn0=
|
|
69
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW50aHJvcGljLWNvbnN0YW50cy5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcHJvdmlkZXJzL2FudGhyb3BpYy9hbnRocm9waWMtY29uc3RhbnRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQW50aHJvcGljKENsYXVkZSkgcHJvdmlkZXIg7IOB7IiYLlxuICpcbiAqIENsYXVkZSBDb2RlIENMSSDtlIzrnpjqt7gvZW52IOqzhOyVveydhCBBbnRocm9waWMgZGlzcGF0Y2hlciDsmqnsnLzroZwg6rOg7KCV7ZWc64ukOlxuICogIC0gYC0tbm8tc2Vzc2lvbi1wZXJzaXN0ZW5jZWAg7KCc6rGwICjrqYDti7DthLQg7ZWE7IiYKS5cbiAqICAtIGAtLWlucHV0LWZvcm1hdCBzdHJlYW0tanNvbmAg7LaU6rCAIChzdGRpbiDsnLzroZwg7J6F66ClIOyWtOuMke2EsCBKU09OTCDtnZjrprwpLlxuICogIC0gQW50aHJvcGljIOqyveuhnOuKlCDrp6Qg7Zi47LacIGAtLXNlc3Npb24taWRgIOuhnCBmcmVzaCBzZXNzaW9uIOydhCDrsJzquIntlZzri6QuXG4gKi9cblxuLy8gQ0MgLS1tb2RlbCDtlIzrnpjqt7jqsIAg67Cb64qUIG9mZmljaWFsIG1vZGVsIGlkIChhbGlhcyBcInNvbm5ldFwiIOqwgCDslYTri4jrnbwg7KCV7ZmV7ZWcIOyLneuzhOyekOuhnCDqs6DsoJUpLlxuLy8gY2xhdWRlLWFwaSDsiqTtgqwg7ZmV7J24OiBTb25uZXQgNC42IG9mZmljaWFsIGlkID0gXCJjbGF1ZGUtc29ubmV0LTQtNlwiICjrgqDsp5wgc3VmZml4IOyXhuydjCkuXG4vLyBtb2RlbC1jb3N0IO2FjOydtOu4lOyXkOuPhCBcImNsYXVkZS1zb25uZXQtNC02XCIg7YKkIOyhtOyerFxuZXhwb3J0IGNvbnN0IEFOVEhST1BJQ19ERUZBVUxUX01PREVMID0gXCJjbGF1ZGUtc29ubmV0LTQtNlwiO1xuLy8gT3BlbkFJIHByb3ZpZGVyIOq4sOuzuOqwkihvcGVuYWktZGlzcGF0Y2hlciBERUZBVUxUX0VGRk9SVCnqs7wg66ee7LaY64ukLiDtgbTrnbzqsIAgZWZmb3J0IOuvuOyngOyglSDsi5wg7JWI7KCE66edLlxuZXhwb3J0IGNvbnN0IEFOVEhST1BJQ19ERUZBVUxUX0VGRk9SVCA9IFwibG93XCI7XG4vLyBwcm9qZWN0IHNjb3BlIGN3ZCAoc2V0dGluZ3MuanNvbiDqsqnrpqwpLiDthqDtgbDrs4Qg6rKp66as64qUIENMQVVERV9DT05GSUdfRElSIOuhnCDtlZzri6QuXG5leHBvcnQgY29uc3QgQU5USFJPUElDX0NMQVVERV9DV0QgPSBcIi90bXAvcWdyaWQtYW50aHJvcGljXCI7XG4vLyBwZXItdG9rZW4gQ0xBVURFX0NPTkZJR19ESVIg7J2YIOuyoOydtOyKpC4g7Iuk7KCcIOqyveuhnOuKlCBgJHtCQVNFfS8ke3Rva2VuSWR9YCAoUjEwIOqyqeumrCkuXG5leHBvcnQgY29uc3QgQU5USFJPUElDX0NPTkZJR19ESVJfQkFTRSA9IFwiL3RtcC9xZ3JpZC1hbnRocm9waWMtY29uZmlnXCI7XG4vLyBDQyDqsIAg7J6Q64+ZIO2ZnOyEse2ZlO2VmOuKlCBkZWZlcnJlZCDrj4Tqtawg4oCUIO2GoO2BsCDstZzsoIHtmZQg7JyE7ZW0IGRpc3BhdGNoZXIg6rK966Gc7JeQ7IScIOywqOuLqC5cbmV4cG9ydCBjb25zdCBBTlRIUk9QSUNfRElTQUxMT1dFRF9UT09MUyA9IFtcIk1vbml0b3JcIiwgXCJQdXNoTm90aWZpY2F0aW9uXCIsIFwiUmVtb3RlVHJpZ2dlclwiXSBhcyBjb25zdDtcbmNvbnN0IE9ORV9NSUxMSU9OX1NVRkZJWF9SRSA9IC9cXFsxbVxcXSQvaTtcblxuLy8g7Yag7YGw67OEIENMQVVERV9DT05GSUdfRElSIOqyveuhnCDqt5zsuZkoUjEwIOqyqeumrCDqs4Tslb0pLiB0b2tlbklkIOuzhOuhnCDrtoTrpqzrkJjslrQsIOqwmeydgCBjbGF1ZGUgc2Vzc2lvbi1pZFxuLy8g652864+EIOuLpOuluCDthqDtgbDsnbTrqbQg64uk66W4IGNvbmZpZyBkaXIg4oaSIHRyYW5zY3JpcHQg6rCAIOyEnuydtOyngCDslYrripTri6QuIOu2gOyImO2aqOqzvCDsl4bripQg7Iic7IiYIO2VqOyImOudvFxuLy8g6rKp66asIOqzhOyVveydhCDri6jsnIQg7YWM7Iqk7Yq466GcIOqzoOygle2VoCDsiJgg7J6I64ukKFU2IFIxMCDqtazsobAg6rKA7KadKS4g7Iuk7KCcIGRpciDsg53shLHsnYAgZW5zdXJlQ29uZmlnRGlyIOqwgCDtlZzri6QuXG5leHBvcnQgZnVuY3Rpb24gYW50aHJvcGljQ29uZmlnRGlyKHRva2VuSWQ6IG51bWJlcik6IHN0cmluZyB7XG4gIHJldHVybiBgJHtBTlRIUk9QSUNfQ09ORklHX0RJUl9CQVNFfS8ke3Rva2VuSWR9YDtcbn1cblxuLy8gbW9kZWwgaWQg66W8IGNhbm9uaWNhbChwcm92aWRlciBwcmVmaXgg7JeG64qUIENMSS9jb3N0IO2CpCkg66GcIOygleq3nO2ZlFxuLy8gYWktc2RrIOuKlCAnYW50aHJvcGljL2NsYXVkZS0qJyDtmJXtg5zroZwg67O064K064qU642wLCBwcmVmaXgg6rCAIGNhbGN1bGF0ZUNvc3RVc2Qg7JeQIOyDiOuptCBjb3N0IOqwgFxuLy8gZGVmYXVsdCDri6jqsIDroZwg7Jik6rOE7IKw65Cc64ukLiBgWzFtXWAgc3VmZml4IOuPhCBDTEkgZW1pdCDsoITsmqnsnbTrnbxcbi8vIGJhc2UgY2Fub25pY2FsIOyXkOyEnOuKlCDsoJzqsbDtlZzri6QuIOuvuOyngOygleydtOuptCBkZWZhdWx0LlxuZXhwb3J0IGZ1bmN0aW9uIGNhbm9uaWNhbEFudGhyb3BpY01vZGVsKG1vZGVsPzogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgcmF3ID0gbW9kZWwgfHwgQU5USFJPUElDX0RFRkFVTFRfTU9ERUw7XG4gIGNvbnN0IHdpdGhvdXRQcm92aWRlciA9IHJhdy5pbmNsdWRlcyhcIi9cIikgPyByYXcuc3BsaXQoXCIvXCIpLnBvcCgpISA6IHJhdztcbiAgcmV0dXJuIHdpdGhvdXRQcm92aWRlci5yZXBsYWNlKE9ORV9NSUxMSU9OX1NVRkZJWF9SRSwgXCJcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBoYXNPbmVNaWxsaW9uU3VmZml4KG1vZGVsPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBtb2RlbCAhPT0gdW5kZWZpbmVkICYmIE9ORV9NSUxMSU9OX1NVRkZJWF9SRS50ZXN0KG1vZGVsKTtcbn1cblxuLy8gMU0g7KeA7JuQIOyXrOu2gOuKlCBDbGF1ZGUgQ29kZSDrgrTrtoDsnZgg6rSR67KU7JyE7ZWcIHByZWZpeCDtjJDsoJXsnbQg7JWE64uI6528IHFncmlk7JeQ7IScIO2ZleyduO2VnCBleGFjdCBzZXQg7Jy866GcXG4vLyDqs6DsoJXtlZzri6QuIG9wdXMtNC03IOydgCDsi6TsuKEg7KCE6rmM7KeAIOuvuO2PrO2VqC4g7IOIIOuqqOuNuCDstpTqsIAg7IucIOqzteyLnSDsgqzslpHqs7wg7Iuk7KCcIENMSSDrj5nsnpHsnYQg7ZmV7J247ZWc64ukLlxuY29uc3QgT05FX01JTExJT05fQ09OVEVYVF9NT0RFTFMgPSBuZXcgU2V0KFtcbiAgXCJjbGF1ZGUtZmFibGUtNS0xXCIsXG4gIFwiY2xhdWRlLWZhYmxlLTVcIixcbiAgXCJjbGF1ZGUtb3B1cy01XCIsXG4gIFwiY2xhdWRlLW9wdXMtNS01XCIsXG4gIFwiY2xhdWRlLXNvbm5ldC01XCIsXG4gIFwiY2xhdWRlLXNvbm5ldC00LTZcIixcbiAgXCJjbGF1ZGUtb3B1cy00LTZcIixcbiAgXCJjbGF1ZGUtb3B1cy00LThcIixcbl0pO1xuXG5jb25zdCBDTElfT05FX01JTExJT05fU1VGRklYX01PREVMUyA9IG5ldyBTZXQoW1wiY2xhdWRlLXNvbm5ldC00LTZcIiwgXCJjbGF1ZGUtb3B1cy00LTZcIl0pO1xuLy8gRmFibGUgNS81LjEg6rO8IE9wdXMgNS41IOuKlCBhZGFwdGl2ZSB0aGlua2luZyDsnbQg7Jyg7J287ZWcIOuqqOuTnOuLpChGYWJsZTogQ0xJIOy5tO2DiOuhnOq3uCBgcmVqZWN0c19kaXNhYmxlZF90aGlua2luZ2AsXG4vLyBPcHVzIDUuNTog6rO17IudIOyCrOyWkSBcImNhbid0IGJlIHR1cm5lZCBvZmZcIiwgMjAyNi0wOS0yMiDstpzsi5wpLiBPcHVzIDUg64qUXG4vLyBkaXNhYmxlZCDrpbwgaGlnaCDsnbTtlZjsl5DshJwg7KeA7JuQ7ZWY7KeA66eMLCDqs7Xsi50g6riw67O46rCSwrfqtozsnqUg64+Z7J6R7J24IGFkYXB0aXZlIHRoaW5raW5nIOydhCDsnKDsp4DtlZzri6QuIHFncmlkXG4vLyDquLDrs7ggZWZmb3J0PWxvdyDqsIAg67mE7JqpL+yngOyXsCDsoJzslrTrpbwg66eh7Jy866mwLCDsnbQg7KCV7LGF7J2AIGRpc2FibGVkK3hoaWdoL21heCA0MDAg7Jik66WY7JmAIGRpc2FibGVkIOyLnFxuLy8gdG9vbC9YTUwg7Lac66ClIOyYpOyXvOuPhCDtlLztlZzri6QuXG5jb25zdCBBREFQVElWRV9USElOS0lOR19NT0RFTFMgPSBuZXcgU2V0KFtcbiAgXCJjbGF1ZGUtZmFibGUtNS0xXCIsXG4gIFwiY2xhdWRlLWZhYmxlLTVcIixcbiAgXCJjbGF1ZGUtb3B1cy01XCIsXG4gIFwiY2xhdWRlLW9wdXMtNS01XCIsXG5dKTtcblxuLy8gRmFibGUg6rOE7Je0OiDqtazrj4Ug7ZSM656c7JeQ7IScIHVzYWdlIGNyZWRpdHMg6rCAIO2VhOyalO2VnCDstZzsg4HsnIQg7Yuw7Ja0LiDqtazrj4UgdXNhZ2UgQVBJIOydmFxuLy8gYHNldmVuX2RheV9vdmVyYWdlX2luY2x1ZGVkYCDrsoTtgrfsnYAg7J20IOqzhOyXtOyXkOunjCDsoIHsmqnrkJjrr4DroZwgcXVvdGEgdGhyZXNob2xkIO2MkOygleydtCDssLjsobDtlZzri6QuXG4vLyBNeXRob3Mg64qUIFByb2plY3QgR2xhc3N3aW5nIOyhsOyngSDsoITsmqnsnbTrnbwg6rWs64+FIO2GoO2BsCDqsr3roZzsl5DshJwg64+E64us7ZWgIOyImCDsl4bslrQg7Y+s7ZWo7ZWY7KeAIOyViuuKlOuLpC5cbmNvbnN0IEZBQkxFX0ZBTUlMWV9NT0RFTFMgPSBuZXcgU2V0KFtcImNsYXVkZS1mYWJsZS01LTFcIiwgXCJjbGF1ZGUtZmFibGUtNVwiXSk7XG5cbi8vIOu2iOuzgCDqs4Tslb06IHN1ZmZpeCDqsIAg7ZWE7JqU7ZWcIOuqqOuNuOydgCDrsJjrk5zsi5wgMU0g7KeA7JuQIOuqqOuNuOydmCDrtoDrtoTsp5HtlansnbTslrTslbwg7ZWc64ukLiDsl63rsKntlqUg67aI7J287LmYKHN1ZmZpeFxuLy8g64yA7IOB7J24642wIOyngOybkCDsp5Htlansl5Qg7JeG7J2MKeuptCBuZWVkc0NsaTFtU3VmZml4PXRydWXCt3N1cHBvcnRzMU1Db250ZXh0PWZhbHNlIOqwgCDrj5nsi5zsl5Ag64KY7IScXG4vLyBgLS1tb2RlbCBbMW1dYCDqs7wgRElTQUJMRV8xTSBlbnYg6rCAIOuqqOyInOuQmOqyjCDrtpnripTri6QuIOyDiCDrqqjrjbjsnYQg7ZWc7Kq9IFNldCDsl5Drp4wg64Sj64qUIOyLpOyImOulvCDrqqjrk4hcbi8vIOuhnOuTnCDsi5zsoJDsl5Ag7J6h64qU64ukLlxuZm9yIChjb25zdCBtb2RlbCBvZiBDTElfT05FX01JTExJT05fU1VGRklYX01PREVMUykge1xuICBpZiAoIU9ORV9NSUxMSU9OX0NPTlRFWFRfTU9ERUxTLmhhcyhtb2RlbCkpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFtpbnZhcmlhbnRdIENMSSAxTSBzdWZmaXggbW9kZWwgbm90IGluIGNvbnRleHQgc2V0OiAke21vZGVsfWApO1xuICB9XG59XG4vLyBGYWJsZSDqs4Tsl7TsnYAg6rO17IudIOyCrOyWkeyDgSAxTSDquLDrs7gg7Luo7YWN7Iqk7Yq4ICsgYWRhcHRpdmUgdGhpbmtpbmcg7ZWE7IiY64ukLiDsg4ggRmFibGUg67KE7KCE7J2EIOqzhOyXtCBTZXRcbi8vIOyXkOunjCDrhKPqs6Ag64KY66i47KeA66W8IOu5oOucqOumrOuKlCDsi6TsiJjrpbwg6rCZ7J2AIOuwqeyLneycvOuhnCDrqqjrk4gg66Gc65OcIOyLnOygkOyXkCDsnqHripTri6QuXG5mb3IgKGNvbnN0IG1vZGVsIG9mIEZBQkxFX0ZBTUlMWV9NT0RFTFMpIHtcbiAgaWYgKCFPTkVfTUlMTElPTl9DT05URVhUX01PREVMUy5oYXMobW9kZWwpIHx8ICFBREFQVElWRV9USElOS0lOR19NT0RFTFMuaGFzKG1vZGVsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgW2ludmFyaWFudF0gRmFibGUgZmFtaWx5IG1vZGVsIG1pc3NpbmcgZnJvbSAxTS9hZGFwdGl2ZSBzZXQ6ICR7bW9kZWx9YCk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzMU1Db250ZXh0KG1vZGVsPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBPTkVfTUlMTElPTl9DT05URVhUX01PREVMUy5oYXMoY2Fub25pY2FsQW50aHJvcGljTW9kZWwobW9kZWwpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5lZWRzQ2xpMW1TdWZmaXgobW9kZWw/OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIENMSV9PTkVfTUlMTElPTl9TVUZGSVhfTU9ERUxTLmhhcyhjYW5vbmljYWxBbnRocm9waWNNb2RlbChtb2RlbCkpO1xufVxuXG4vLyBxZ3JpZCDqsIAgYWRhcHRpdmUgdGhpbmtpbmcg7J2EIOuztOyhtO2VmOuKlCDrqqjrjbjsnbjsp4Ag7YyQ67OE7ZWc64ukLiDrgpjrqLjsp4Ag66qo64247J2AIOq4sOyhtFxuLy8g7KCA67mE7JqpL+u5hOy2lOuhoCDqsr3roZzrpbwg7Jyg7KeA7ZWc64ukLlxuZXhwb3J0IGZ1bmN0aW9uIHVzZXNBZGFwdGl2ZVRoaW5raW5nKG1vZGVsPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBBREFQVElWRV9USElOS0lOR19NT0RFTFMuaGFzKGNhbm9uaWNhbEFudGhyb3BpY01vZGVsKG1vZGVsKSk7XG59XG5cbi8vIOq1rOuPhSB1c2FnZSDsnZggRmFibGUg7KCE7JqpIDfsnbwg67KE7YK37J2EIHF1b3RhIO2MkOygleyXkCDtj6ztlajtlaDsp4Ag6rKw7KCV7ZWc64ukLlxuZXhwb3J0IGZ1bmN0aW9uIGlzRmFibGVGYW1pbHlNb2RlbChtb2RlbD86IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gRkFCTEVfRkFNSUxZX01PREVMUy5oYXMoY2Fub25pY2FsQW50aHJvcGljTW9kZWwobW9kZWwpKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFN1cHBvcnRlZE9uZU1pbGxpb25TdWZmaXgobW9kZWw/OiBzdHJpbmcpOiB2b2lkIHtcbiAgaWYgKCFoYXNPbmVNaWxsaW9uU3VmZml4KG1vZGVsKSkgcmV0dXJuO1xuICBjb25zdCBjYW5vbmljYWwgPSBjYW5vbmljYWxBbnRocm9waWNNb2RlbChtb2RlbCk7XG4gIGlmICghc3VwcG9ydHMxTUNvbnRleHQoY2Fub25pY2FsKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgVW5zdXBwb3J0ZWQgQW50aHJvcGljIDFNIG1vZGVsIHN1ZmZpeDogJHttb2RlbH1gKTtcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFZQSxNQUFhLDBCQUEwQjtBQUV2QyxNQUFhLDJCQUEyQjtBQUV4QyxNQUFhLHVCQUF1QjtBQUVwQyxNQUFhLDRCQUE0QjtBQUV6QyxNQUFhLDZCQUE2QjtDQUFDO0NBQVc7Q0FBb0I7QUFBZTtBQUN6RixNQUFNLHdCQUF3QjtBQUs5QixTQUFnQixtQkFBbUIsU0FBeUI7Q0FDMUQsT0FBTyxHQUFHLDBCQUEwQixHQUFHO0FBQ3pDO0FBTUEsU0FBZ0Isd0JBQXdCLE9BQXdCO0NBQzlELE1BQU0sTUFBTSxTQUFBO0NBRVosUUFEd0IsSUFBSSxTQUFTLEdBQUcsSUFBSSxJQUFJLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxJQUFLLElBQzdELENBQWdCLFFBQVEsdUJBQXVCLEVBQUU7QUFDMUQ7QUFFQSxTQUFnQixvQkFBb0IsT0FBeUI7Q0FDM0QsT0FBTyxVQUFVLFVBQWEsc0JBQXNCLEtBQUssS0FBSztBQUNoRTtBQUlBLE1BQU0sNkNBQTZCLElBQUksSUFBSTtDQUN6QztDQUNBO0NBQ0E7Q0FDQTtDQUNBO0NBQ0E7Q0FDQTtDQUNBO0FBQ0YsQ0FBQztBQUVELE1BQU0sZ0RBQWdDLElBQUksSUFBSSxDQUFDLHFCQUFxQixpQkFBaUIsQ0FBQztBQU10RixNQUFNLDJDQUEyQixJQUFJLElBQUk7Q0FDdkM7Q0FDQTtDQUNBO0NBQ0E7QUFDRixDQUFDO0FBS0QsTUFBTSxzQ0FBc0IsSUFBSSxJQUFJLENBQUMsb0JBQW9CLGdCQUFnQixDQUFDO0FBTTFFLEtBQUssTUFBTSxTQUFTLCtCQUNsQixJQUFJLENBQUMsMkJBQTJCLElBQUksS0FBSyxHQUN2QyxNQUFNLElBQUksTUFBTSx1REFBdUQsT0FBTztBQUtsRixLQUFLLE1BQU0sU0FBUyxxQkFDbEIsSUFBSSxDQUFDLDJCQUEyQixJQUFJLEtBQUssS0FBSyxDQUFDLHlCQUF5QixJQUFJLEtBQUssR0FDL0UsTUFBTSxJQUFJLE1BQU0sZ0VBQWdFLE9BQU87QUFJM0YsU0FBZ0Isa0JBQWtCLE9BQXlCO0NBQ3pELE9BQU8sMkJBQTJCLElBQUksd0JBQXdCLEtBQUssQ0FBQztBQUN0RTtBQUVBLFNBQWdCLGlCQUFpQixPQUF5QjtDQUN4RCxPQUFPLDhCQUE4QixJQUFJLHdCQUF3QixLQUFLLENBQUM7QUFDekU7QUFJQSxTQUFnQixxQkFBcUIsT0FBeUI7Q0FDNUQsT0FBTyx5QkFBeUIsSUFBSSx3QkFBd0IsS0FBSyxDQUFDO0FBQ3BFO0FBR0EsU0FBZ0IsbUJBQW1CLE9BQXlCO0NBQzFELE9BQU8sb0JBQW9CLElBQUksd0JBQXdCLEtBQUssQ0FBQztBQUMvRDtBQUVBLFNBQWdCLGdDQUFnQyxPQUFzQjtDQUNwRSxJQUFJLENBQUMsb0JBQW9CLEtBQUssR0FBRztDQUVqQyxJQUFJLENBQUMsa0JBRGEsd0JBQXdCLEtBQ25CLENBQVMsR0FDOUIsTUFBTSxJQUFJLE1BQU0sMENBQTBDLE9BQU87QUFFckUifQ==
|
|
@@ -14,6 +14,22 @@ const OPENAI_COSTS = {
|
|
|
14
14
|
cacheCreationInputTokens: 12.5,
|
|
15
15
|
longContext: LONG_CONTEXT_272K
|
|
16
16
|
},
|
|
17
|
+
"gpt-6-sol": {
|
|
18
|
+
maxEffort: "ultra",
|
|
19
|
+
inputTokens: 2,
|
|
20
|
+
outputTokens: 10,
|
|
21
|
+
cachedInputTokens: .2,
|
|
22
|
+
cacheCreationInputTokens: 2.5,
|
|
23
|
+
longContext: LONG_CONTEXT_272K
|
|
24
|
+
},
|
|
25
|
+
"gpt-6-luna": {
|
|
26
|
+
maxEffort: "max",
|
|
27
|
+
inputTokens: .1,
|
|
28
|
+
outputTokens: .5,
|
|
29
|
+
cachedInputTokens: .01,
|
|
30
|
+
cacheCreationInputTokens: .125,
|
|
31
|
+
longContext: LONG_CONTEXT_272K
|
|
32
|
+
},
|
|
17
33
|
"gpt-5.6-sol": {
|
|
18
34
|
maxEffort: "ultra",
|
|
19
35
|
inputTokens: 4,
|
|
@@ -95,6 +111,7 @@ const ANTHROPIC_COSTS = {
|
|
|
95
111
|
"claude-opus-4-7": anthropicCosts(5, 25),
|
|
96
112
|
"claude-opus-4-8": anthropicCosts(5, 25),
|
|
97
113
|
"claude-opus-5": anthropicCosts(5, 25),
|
|
114
|
+
"claude-opus-5-5": anthropicCosts(4, 20, { cachedInputTokens: .2 }),
|
|
98
115
|
"claude-sonnet-5": anthropicCosts(2, 10)
|
|
99
116
|
};
|
|
100
117
|
const DEFAULT_COSTS = {
|
|
@@ -133,4 +150,4 @@ function calculateCostUsd(model, usage) {
|
|
|
133
150
|
//#endregion
|
|
134
151
|
export { calculateCostUsd, getModelCosts, openaiModelMaxEffort };
|
|
135
152
|
|
|
136
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29zdC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcHJvdmlkZXJzL2NvbW1vbi9tb2RlbC1jb3N0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog66qo642467OEIO2GoO2BsCDqsIDqsqkg7YWM7J2067iUICsgY29zdCDqs4TsgrAuXG4gKlxuICogY2xhdWRlIGNvZGUg7JmAIOuPmeydvCDtjKjthLQ6IO2BtOudvOydtOyWuO2KuOyXkOyEnCDqsIDqsqkg7YWM7J2067iU66GcIOyngeygkSDqs4TsgrAuXG4gKiDqsIDqsqkg64uo7JyEOiBVU0QgcGVyIDFNIHRva2Vucy5cbiAqXG4gKiBPcGVuQUkg66qo6424IOuqqeuhneydgCBPcGVuQUkg66qo6424IOusuOyEnOyZgCDtmITsnqwg7KeA7JuQIOuqqeuhneydhCDquLDspIDsnLzroZwg6rSA66as7ZWc64ukLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvcHJpY2luZ1xuICogQHNlZSBodHRwczovL3BsYXRmb3JtLmNsYXVkZS5jb20vZG9jcy9lbi9hYm91dC1jbGF1ZGUvcHJpY2luZ1xuICovXG5cbmltcG9ydCB7IHR5cGUgT3BlbkFJRWZmb3J0IH0gZnJvbSBcIi4vZWZmb3J0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxDb3N0cyB7XG4gIGlucHV0VG9rZW5zOiBudW1iZXI7XG4gIG91dHB1dFRva2VuczogbnVtYmVyO1xuICBjYWNoZWRJbnB1dFRva2VuczogbnVtYmVyO1xuICAvKiogVFRMIGJyZWFrZG93biDsnbQg7JeG64qUIHVzYWdlIOyXkCDsoIHsmqntlaAgY2FjaGUgd3JpdGUgZmFsbGJhY2sg64uo6rCALiAqL1xuICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM/OiBudW1iZXI7XG4gIGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczVtPzogbnVtYmVyO1xuICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMxaD86IG51bWJlcjtcbiAgLyoqXG4gICAqIGxvbmctY29udGV4dCDtlaDspp0uIOyghOyytCDsnoXroKUg7Yag7YGwKGlucHV0X3Rva2VucywgY2FjaGVfcmVhZCDtj6ztlagp7J20IHRocmVzaG9sZCDstIjqs7wg7IucXG4gICAqIOy0iOqzvOu2hOunjOydtCDslYTri4jrnbwg7JqU7LKtIOyghOyytChmdWxsIHNlc3Npb24p7JeQIOuwsOycqCDsoIHsmqkuXG4gICAqL1xuICBsb25nQ29udGV4dD86IHtcbiAgICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgICBpbnB1dE11bHRpcGxpZXI6IG51bWJlcjtcbiAgICBjYWNoZWRJbnB1dE11bHRpcGxpZXI6IG51bWJlcjtcbiAgICBvdXRwdXRNdWx0aXBsaWVyOiBudW1iZXI7XG4gIH07XG59XG5cbi8vIOKUgOKUgCBPcGVuQUkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gU3RhbmRhcmQgcHJpY2luZyB2ZXJpZmllZCAyMDI2LTA5LTA3OiBodHRwczovL2RldmVsb3BlcnMub3BlbmFpLmNvbS9hcGkvZG9jcy9wcmljaW5nXG4vLyDsi6Drqqjrjbgg7Lac7Iuc66eI64ukIOuLqOqwgOqwgCDrsJTrgIzrr4DroZwoNS4y4oaSNS404oaSNS41KSDrqqjrjbgg7LaU6rCAIOyLnCDrsJjrk5zsi5wg6rO17IudIO2OmOydtOyngCDsnqztmZXsnbjtlbTslbztlahcblxuLy8gR1BULTUuNOyXkOyEnCDsspjsnYwg64+E7J6F65CcIGxvbmctY29udGV4dCDtlaDspp0gKDUuMi81LjMtY29kZXjripQg7ZW064u5IOyXhuydjCwgNS40LW1pbmkvbmFub+uKlCDqs7Xsi50g7ZGc7JeQ7IScIGxvbmctY29udGV4dCDri6jqsIAg7JeG7J2MKVxuLy8gMjcySyDstIjqs7wg7IucIGlucHV0IDJ4IC8gY2FjaGVkIDJ4IC8gb3V0cHV0IDEuNXgg4oCUIOy0iOqzvOu2hOunjOydtCDslYTri4wg7IS47IWYIOyghOyytOyXkCDsoIHsmqnrkKhcbi8vIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLm9wZW5haS5jb20vYXBpL2RvY3MvbW9kZWxzL2dwdC01LjUgKFwicHJvbXB0cyB3aXRoID4yNzJLIGlucHV0IHRva2Vuc1wiKVxuY29uc3QgTE9OR19DT05URVhUXzI3Mks6IE5vbk51bGxhYmxlPE1vZGVsQ29zdHNbXCJsb25nQ29udGV4dFwiXT4gPSB7XG4gIHRocmVzaG9sZDogMjcyXzAwMCxcbiAgaW5wdXRNdWx0aXBsaWVyOiAyLFxuICBjYWNoZWRJbnB1dE11bHRpcGxpZXI6IDIsXG4gIG91dHB1dE11bHRpcGxpZXI6IDEuNSxcbn07XG5cbi8vIE9wZW5BSSDrqqjrjbgg7Lm07YOI66Gc6re4LiDri6jqsIDsmYAg7ZWo6ruYIENvZGV4IOuwseyXlOuTnOqwgCDrqqjrjbjrs4TroZwg67Cb64qUIOy1nOuMgCByZWFzb25pbmcgZWZmb3J0IOulvCDtlZwg6rOz7JeQIOuRlOuLpC5cbi8vIG1heEVmZm9ydCDstpzsspg6IH4vLmNvZGV4L21vZGVsc19jYWNoZS5qc29uIOydmCBzdXBwb3J0ZWRfcmVhc29uaW5nX2xldmVscyAoMjAyNi0wOS0wNyDtmZXsnbgpLlxuLy8g66+46riw7J6sIOuqqOuNuOydgCB4aGlnaCDquYzsp4Drp4wg67Cb64qU64ukLlxudHlwZSBPcGVuQUlNb2RlbFNwZWMgPSBNb2RlbENvc3RzICYgeyBtYXhFZmZvcnQ/OiBPcGVuQUlFZmZvcnQgfTtcblxuY29uc3QgT1BFTkFJX0NPU1RTOiBSZWNvcmQ8c3RyaW5nLCBPcGVuQUlNb2RlbFNwZWM+ID0ge1xuICAvLyBHUFQtNiBBc3RyYTogU3RhbmRhcmQgQVBJLWVxdWl2YWxlbnQgcHJpY2luZywgdmVyaWZpZWQgMjAyNi0wOS0wNy5cbiAgLy8gQ29kZXggc3Vic2NyaXB0aW9uIGNhdGFsb2cgc3VwcG9ydHMgdWx0cmE7IHRoZSBwdWJsaWMgQVBJIGxpc3RzIG9ubHkgdGhyb3VnaCBtYXguXG4gIC8vIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLm9wZW5haS5jb20vYXBpL2RvY3MvbW9kZWxzL2dwdC02LWFzdHJhXG4gIC8vIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLm9wZW5haS5jb20vYXBpL2RvY3MvcHJpY2luZ1xuICBcImdwdC02LWFzdHJhXCI6IHtcbiAgICBtYXhFZmZvcnQ6IFwidWx0cmFcIixcbiAgICBpbnB1dFRva2VuczogMTAsXG4gICAgb3V0cHV0VG9rZW5zOiA1MCxcbiAgICBjYWNoZWRJbnB1dFRva2VuczogMSxcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDEyLjUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICAvLyBHUFQtNS42IFNvbCwgVGVycmEsIEx1bmEuIGNhY2hlIHdyaXRlIOuLqOqwgOuKlCDsmbjrtoAgbG9nZ2VyL21hbnVhbCB1c2FnZSDsnoXroKXsnYQg7JyE7ZW0XG4gIC8vIOycoOyngO2VnOuLpC4g7ZiE7J6sIE9wZW5BSSDsnZHri7UgdXNhZ2Ug7JeQIGNhY2hlIHdyaXRlIO2GoO2BsCDtlYTrk5zqsIAg7JeG7Jy866m0IOu5hOyaqeydgCAw7Jy866GcIOqzhOyCsOuQnOuLpC5cbiAgLy8gQHNlZSBodHRwczovL2RldmVsb3BlcnMub3BlbmFpLmNvbS9hcGkvZG9jcy9tb2RlbHMvZ3B0LTUuNi1zb2xcbiAgLy8gQHNlZSBodHRwczovL2RldmVsb3BlcnMub3BlbmFpLmNvbS9hcGkvZG9jcy9tb2RlbHMvZ3B0LTUuNi10ZXJyYVxuICAvLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5vcGVuYWkuY29tL2FwaS9kb2NzL21vZGVscy9ncHQtNS42LWx1bmFcbiAgLy8gU29sIHByb21vdGlvbmFsIHJhdGVzIGFyZSBhdmFpbGFibGUgYXQgbGVhc3QgdGhyb3VnaCAyMDI2LTExLTIxLlxuICAvLyBObyBjb25maXJtZWQgZW5kIGRhdGUvcmVwbGFjZW1lbnQgcmF0ZTogcmVjaGVjayBvZmZpY2lhbCBwcmljaW5nIGluc3RlYWQgb2YgYXV0by1yZXZlcnRpbmcuXG4gIFwiZ3B0LTUuNi1zb2xcIjoge1xuICAgIG1heEVmZm9ydDogXCJ1bHRyYVwiLFxuICAgIGlucHV0VG9rZW5zOiA0LFxuICAgIG91dHB1dFRva2VuczogMjAsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDAuNCxcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICBcImdwdC01LjYtdGVycmFcIjoge1xuICAgIG1heEVmZm9ydDogXCJ1bHRyYVwiLFxuICAgIGlucHV0VG9rZW5zOiAyLFxuICAgIG91dHB1dFRva2VuczogMTIsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDAuMixcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDIuNSxcbiAgICBsb25nQ29udGV4dDogTE9OR19DT05URVhUXzI3MkssXG4gIH0sXG4gIFwiZ3B0LTUuNi1sdW5hXCI6IHtcbiAgICBtYXhFZmZvcnQ6IFwibWF4XCIsXG4gICAgaW5wdXRUb2tlbnM6IDAuMixcbiAgICBvdXRwdXRUb2tlbnM6IDEuMixcbiAgICBjYWNoZWRJbnB1dFRva2VuczogMC4wMixcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDAuMjUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICAvLyBodHRwczovL29wZW5haS5jb20vaW5kZXgvaW50cm9kdWNpbmctZ3B0LTUtNS8gKDIwMjYtMDQg7Lac7IucKVxuICBcImdwdC01LjVcIjoge1xuICAgIGlucHV0VG9rZW5zOiA1LFxuICAgIG91dHB1dFRva2VuczogMzAsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDAuNSxcbiAgICBsb25nQ29udGV4dDogTE9OR19DT05URVhUXzI3MkssXG4gIH0sXG4gIC8vIOyVhOuemCBncHQtNS40IC8gZ3B0LTUuNC1taW5pIC8gZ3B0LTUuMy1jb2RleCAvIGdwdC01LjIg64qUIHFncmlkIOqwgCDsk7DripQgQ2hhdEdQVCDqtazrj4UgQ29kZXgg6rK966Gc7JeQ7IScXG4gIC8vIOuNlCDsnbTsg4Eg7KCc6rO165CY7KeAIOyViuuKlOuLpCg1LjQg6rOE7Je07J2AIDIwMjYtMDgtMzEgcmV0aXJlZCwg64yA7LK0IGdwdC01LjYtdGVycmEgLyBncHQtNS42LWx1bmEpLlxuICAvLyDqs7zqsbAgcmVxdWVzdCBsb2cg7J6s7IKw7KCVKGNvc3Rfc291cmNlIOyXhuuKlCBsZWdhY3kg7ZaJKeyXkCDtlYTsmpTtlZjrr4DroZwg64uo6rCAIO2WieydgCDsnKDsp4DtlZzri6QuXG4gIC8vIGh0dHBzOi8vb3BlbmFpLmNvbS9pbmRleC9pbnRyb2R1Y2luZy1ncHQtNS00LyAoMjAyNi0wMyDstpzsi5wpXG4gIFwiZ3B0LTUuNFwiOiB7XG4gICAgaW5wdXRUb2tlbnM6IDIuNSxcbiAgICBvdXRwdXRUb2tlbnM6IDE1LFxuICAgIGNhY2hlZElucHV0VG9rZW5zOiAwLjI1LFxuICAgIGxvbmdDb250ZXh0OiBMT05HX0NPTlRFWFRfMjcySyxcbiAgfSxcbiAgXCJncHQtNS40LW1pbmlcIjogeyBpbnB1dFRva2VuczogMC43NSwgb3V0cHV0VG9rZW5zOiA0LjUsIGNhY2hlZElucHV0VG9rZW5zOiAwLjA3NSB9LFxuICAvLyBncHQtNS4y7JmAIOuPmeydvCDri6jqsIAgKGNhY2hlZCA9IGlucHV07J2YIDEwJSlcbiAgXCJncHQtNS4zLWNvZGV4XCI6IHsgaW5wdXRUb2tlbnM6IDEuNzUsIG91dHB1dFRva2VuczogMTQsIGNhY2hlZElucHV0VG9rZW5zOiAwLjE3NSB9LFxuICAvLyBodHRwczovL29wZW5haS5jb20vaW5kZXgvaW50cm9kdWNpbmctZ3B0LTUtMi8gKGNhY2hlZCBpbnB1dCA5MCUg7ZWg7J24IOuqheyLnClcbiAgXCJncHQtNS4yXCI6IHsgaW5wdXRUb2tlbnM6IDEuNzUsIG91dHB1dFRva2VuczogMTQsIGNhY2hlZElucHV0VG9rZW5zOiAwLjE3NSB9LFxufTtcblxuLy8g4pSA4pSAIEFudGhyb3BpYyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZnVuY3Rpb24gYW50aHJvcGljQ29zdHMoXG4gIGlucHV0VG9rZW5zOiBudW1iZXIsXG4gIG91dHB1dFRva2VuczogbnVtYmVyLFxuICBvdmVycmlkZXM6IFBpY2s8UGFydGlhbDxNb2RlbENvc3RzPiwgXCJjYWNoZWRJbnB1dFRva2Vuc1wiPiA9IHt9LFxuKTogTW9kZWxDb3N0cyB7XG4gIHJldHVybiB7XG4gICAgaW5wdXRUb2tlbnMsXG4gICAgb3V0cHV0VG9rZW5zLFxuICAgIC8vIO2RnOykgCBjYWNoZSByZWFkIOuKlCBiYXNlIGlucHV0IOydmCAwLjF4LiBGYWJsZSA1LjEg7LKY65+8IOqzteyLnSDtirnroYAg64uo6rCA6rCAIOyeiOycvOuptCBvdmVycmlkZSDtlZzri6QuXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IG92ZXJyaWRlcy5jYWNoZWRJbnB1dFRva2VucyA/PyBpbnB1dFRva2VucyAvIDEwLFxuICAgIC8vIENsYXVkZSBDb2RlIHN1YnNjcmlwdGlvbiBPQXV0aCDripQgMWggVFRMIOydhCDsnpDrj5kg7ISg7YOd7ZWc64ukLiDqtazrsoTsoITsspjrn7wg7J2R64u17JeQXG4gICAgLy8gVFRMIGJyZWFrZG93biDsnbQg7JeG7J2EIOuVjOunjCDsnbQgMWgg64uo6rCA66W8IGZhbGxiYWNrIOycvOuhnCDsgqzsmqntlZzri6QuXG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zOiBpbnB1dFRva2VucyAqIDIsXG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zNW06IGlucHV0VG9rZW5zICogMS4yNSxcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMxaDogaW5wdXRUb2tlbnMgKiAyLFxuICB9O1xufVxuXG4vLyDqsIDqsqkg7Lac7LKYOiBodHRwczovL3BsYXRmb3JtLmNsYXVkZS5jb20vZG9jcy9lbi9hYm91dC1jbGF1ZGUvcHJpY2luZyAoMjAyNi0wOS0wMiDtmZXsnbgpXG5jb25zdCBBTlRIUk9QSUNfQ09TVFM6IFJlY29yZDxzdHJpbmcsIE1vZGVsQ29zdHM+ID0ge1xuICAvLyBGYWJsZSA1LjEgKDIwMjYtMDktMDEg7Lac7IucKTogaW5wdXQvb3V0cHV0IOydgCBGYWJsZSA1IOyZgCDqsJnqs6AgY2FjaGUgcmVhZCDrp4wgMC4wMjV4KCQwLjI1KSDtirnroYAuXG4gIC8vIEBzZWUgaHR0cHM6Ly9wbGF0Zm9ybS5jbGF1ZGUuY29tL2RvY3MvZW4vbW9kZWxzL2ZhYmxlLTUtMS9vdmVydmlld1xuICBcImNsYXVkZS1mYWJsZS01LTFcIjogYW50aHJvcGljQ29zdHMoMTAsIDUwLCB7IGNhY2hlZElucHV0VG9rZW5zOiAwLjI1IH0pLFxuICBcImNsYXVkZS1mYWJsZS01XCI6IGFudGhyb3BpY0Nvc3RzKDEwLCA1MCksXG4gIHNvbm5ldDogYW50aHJvcGljQ29zdHMoMywgMTUpLFxuICBcImNsYXVkZS0zLTUtaGFpa3VcIjogYW50aHJvcGljQ29zdHMoMC44LCA0KSxcbiAgXCJjbGF1ZGUtaGFpa3UtNC01XCI6IGFudGhyb3BpY0Nvc3RzKDEsIDUpLFxuICBcImNsYXVkZS0zLTUtc29ubmV0XCI6IGFudGhyb3BpY0Nvc3RzKDMsIDE1KSxcbiAgXCJjbGF1ZGUtMy03LXNvbm5ldFwiOiBhbnRocm9waWNDb3N0cygzLCAxNSksXG4gIFwiY2xhdWRlLXNvbm5ldC00XCI6IGFudGhyb3BpY0Nvc3RzKDMsIDE1KSxcbiAgXCJjbGF1ZGUtc29ubmV0LTQtNVwiOiBhbnRocm9waWNDb3N0cygzLCAxNSksXG4gIFwiY2xhdWRlLXNvbm5ldC00LTZcIjogYW50aHJvcGljQ29zdHMoMywgMTUpLFxuICBcImNsYXVkZS1zb25uZXQtNC03XCI6IGFudGhyb3BpY0Nvc3RzKDMsIDE1KSxcbiAgXCJjbGF1ZGUtb3B1cy00XCI6IGFudGhyb3BpY0Nvc3RzKDE1LCA3NSksXG4gIFwiY2xhdWRlLW9wdXMtNC0xXCI6IGFudGhyb3BpY0Nvc3RzKDE1LCA3NSksXG4gIFwiY2xhdWRlLW9wdXMtNC01XCI6IGFudGhyb3BpY0Nvc3RzKDUsIDI1KSxcbiAgXCJjbGF1ZGUtb3B1cy00LTZcIjogYW50aHJvcGljQ29zdHMoNSwgMjUpLFxuICBcImNsYXVkZS1vcHVzLTQtN1wiOiBhbnRocm9waWNDb3N0cyg1LCAyNSksXG4gIFwiY2xhdWRlLW9wdXMtNC04XCI6IGFudGhyb3BpY0Nvc3RzKDUsIDI1KSxcbiAgXCJjbGF1ZGUtb3B1cy01XCI6IGFudGhyb3BpY0Nvc3RzKDUsIDI1KSxcbiAgLy8gU29ubmV0IDUg7J2YIGludHJvZHVjdG9yeSAkMi8kMTAg7J20IOygleyLnSDri6jqsIDroZwg7ZmV7KCV65CQ64ukLiAyMDI2LTA5LTAxIOyXkCDsmIjsoJXrkJDrjZggJDMvJDE1IOyduOyDgeydgFxuICAvLyDst6jshozrkJDsnLzrr4DroZwg64Kg7KecIOu2hOq4sCDsl4bsnbQg6rOg7KCVIOuLqOqwgOuhnCDqs4TsgrDtlZzri6QuXG4gIFwiY2xhdWRlLXNvbm5ldC01XCI6IGFudGhyb3BpY0Nvc3RzKDIsIDEwKSxcbn07XG5cbi8vIGdwdC01LjMtY29kZXgtc3Bhcmsg64qUIHJlc2VhcmNoIHByZXZpZXcg66GcIOqzteyLnSB0b2tlbiDri6jqsIDqsIAg7JWE7KeBIGZpbmFsIOydtCDslYTri4jri6QuXG4vLyDsp4Dsm5Ag7YOA7J6F7J2AIOycoOyngO2VmOuQmCwg6rO17IudIOuLqOqwgOqwgCDqs7XqsJzrkKAg65WM6rmM7KeAIOyVhOuemCBnZW5lcmljIGVzdGltYXRlIOuhnCDqs4TsgrDtlZzri6QuXG4vLyBAc2VlIGh0dHBzOi8vaGVscC5vcGVuYWkuY29tL2VuL2FydGljbGVzLzIwMDAxMTA2LWNvZGV4LXJhdGUtY2FyZFxuY29uc3QgREVGQVVMVF9DT1NUUzogTW9kZWxDb3N0cyA9IHsgaW5wdXRUb2tlbnM6IDMsIG91dHB1dFRva2VuczogMTUsIGNhY2hlZElucHV0VG9rZW5zOiAwLjMgfTtcblxuLyoqIENvZGV4IOuwseyXlOuTnOqwgCDsnbQg66qo64247JeQIO2XiOyaqe2VmOuKlCDstZzrjIAgZWZmb3J0LiDsubTtg4jroZzqt7jsl5Ag7JeG64qUIOuqqOuNuOydgCB4aGlnaCDquYzsp4Dri6QuICovXG5leHBvcnQgZnVuY3Rpb24gb3BlbmFpTW9kZWxNYXhFZmZvcnQobW9kZWw6IHN0cmluZyk6IE9wZW5BSUVmZm9ydCB7XG4gIHJldHVybiBPUEVOQUlfQ09TVFNbbW9kZWxdPy5tYXhFZmZvcnQgPz8gXCJ4aGlnaFwiO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxDb3N0cyhtb2RlbDogc3RyaW5nKTogTW9kZWxDb3N0cyB7XG4gIGNvbnN0IG5vcm1hbGl6ZWRNb2RlbCA9IChtb2RlbC5zcGxpdChcIi9cIikucG9wKCkgPz8gbW9kZWwpLnJlcGxhY2UoL1xcWzFtXFxdJC9pLCBcIlwiKTtcbiAgcmV0dXJuIE9QRU5BSV9DT1NUU1tub3JtYWxpemVkTW9kZWxdID8/IEFOVEhST1BJQ19DT1NUU1tub3JtYWxpemVkTW9kZWxdID8/IERFRkFVTFRfQ09TVFM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjYWxjdWxhdGVDb3N0VXNkKFxuICBtb2RlbDogc3RyaW5nLFxuICB1c2FnZToge1xuICAgIGlucHV0VG9rZW5zOiBudW1iZXI7XG4gICAgb3V0cHV0VG9rZW5zOiBudW1iZXI7XG4gICAgY2FjaGVkSW5wdXRUb2tlbnM/OiBudW1iZXI7XG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zPzogbnVtYmVyO1xuICAgIGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczVtPzogbnVtYmVyO1xuICAgIGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczFoPzogbnVtYmVyO1xuICB9LFxuKTogbnVtYmVyIHtcbiAgY29uc3QgY29zdHMgPSBnZXRNb2RlbENvc3RzKG1vZGVsKTtcbiAgY29uc3QgY2FjaGVkSW5wdXQgPSB1c2FnZS5jYWNoZWRJbnB1dFRva2VucyA/PyAwO1xuICBjb25zdCBjYWNoZUNyZWF0aW9uSW5wdXQ1bSA9IE1hdGgubWF4KHVzYWdlLmNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczVtID8/IDAsIDApO1xuICBjb25zdCBjYWNoZUNyZWF0aW9uSW5wdXQxaCA9IE1hdGgubWF4KHVzYWdlLmNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczFoID8/IDAsIDApO1xuICBjb25zdCBjYWNoZUNyZWF0aW9uSW5wdXQgPSBNYXRoLm1heChcbiAgICB1c2FnZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMgPz8gMCxcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXQ1bSArIGNhY2hlQ3JlYXRpb25JbnB1dDFoLFxuICApO1xuICBjb25zdCBjbGFzc2lmaWVkQ2FjaGVDcmVhdGlvbklucHV0NW0gPSBNYXRoLm1pbihjYWNoZUNyZWF0aW9uSW5wdXQ1bSwgY2FjaGVDcmVhdGlvbklucHV0KTtcbiAgY29uc3QgY2xhc3NpZmllZENhY2hlQ3JlYXRpb25JbnB1dDFoID0gTWF0aC5taW4oXG4gICAgY2FjaGVDcmVhdGlvbklucHV0MWgsXG4gICAgY2FjaGVDcmVhdGlvbklucHV0IC0gY2xhc3NpZmllZENhY2hlQ3JlYXRpb25JbnB1dDVtLFxuICApO1xuICBjb25zdCB1bmNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQgPVxuICAgIGNhY2hlQ3JlYXRpb25JbnB1dCAtIGNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQ1bSAtIGNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQxaDtcbiAgY29uc3Qgbm9uQ2FjaGVkSW5wdXQgPSBNYXRoLm1heCh1c2FnZS5pbnB1dFRva2VucyAtIGNhY2hlZElucHV0IC0gY2FjaGVDcmVhdGlvbklucHV0LCAwKTtcblxuICAvLyBsb25nLWNvbnRleHQg7ZWg7KadOiDsoITssrQg7J6F66ClKGlucHV0X3Rva2VucywgY2FjaGUg7Y+s7ZWoKeydtCB0aHJlc2hvbGQg7LSI6rO8IOyLnCDsmpTssq0g7KCE7LK07JeQIOuwsOycqCDsoIHsmqlcbiAgY29uc3QgbGMgPSBjb3N0cy5sb25nQ29udGV4dDtcbiAgY29uc3QgaXNMb25nQ29udGV4dCA9IGxjICE9PSB1bmRlZmluZWQgJiYgdXNhZ2UuaW5wdXRUb2tlbnMgPiBsYy50aHJlc2hvbGQ7XG4gIGNvbnN0IGlucHV0UmF0ZSA9IGNvc3RzLmlucHV0VG9rZW5zICogKGlzTG9uZ0NvbnRleHQgPyBsYy5pbnB1dE11bHRpcGxpZXIgOiAxKTtcbiAgY29uc3QgY2FjaGVkUmF0ZSA9IGNvc3RzLmNhY2hlZElucHV0VG9rZW5zICogKGlzTG9uZ0NvbnRleHQgPyBsYy5jYWNoZWRJbnB1dE11bHRpcGxpZXIgOiAxKTtcbiAgY29uc3QgY2FjaGVDcmVhdGlvbkZhbGxiYWNrUmF0ZSA9XG4gICAgKGNvc3RzLmNhY2hlQ3JlYXRpb25JbnB1dFRva2VucyA/PyBjb3N0cy5pbnB1dFRva2VucykgKlxuICAgIChpc0xvbmdDb250ZXh0ID8gbGMuaW5wdXRNdWx0aXBsaWVyIDogMSk7XG4gIGNvbnN0IGNhY2hlQ3JlYXRpb241bVJhdGUgPVxuICAgIChjb3N0cy5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM1bSA/PyBjb3N0cy5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMgPz8gY29zdHMuaW5wdXRUb2tlbnMpICpcbiAgICAoaXNMb25nQ29udGV4dCA/IGxjLmlucHV0TXVsdGlwbGllciA6IDEpO1xuICBjb25zdCBjYWNoZUNyZWF0aW9uMWhSYXRlID1cbiAgICAoY29zdHMuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zMWggPz8gY29zdHMuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zID8/IGNvc3RzLmlucHV0VG9rZW5zKSAqXG4gICAgKGlzTG9uZ0NvbnRleHQgPyBsYy5pbnB1dE11bHRpcGxpZXIgOiAxKTtcbiAgY29uc3Qgb3V0cHV0UmF0ZSA9IGNvc3RzLm91dHB1dFRva2VucyAqIChpc0xvbmdDb250ZXh0ID8gbGMub3V0cHV0TXVsdGlwbGllciA6IDEpO1xuXG4gIHJldHVybiAoXG4gICAgKG5vbkNhY2hlZElucHV0IC8gMV8wMDBfMDAwKSAqIGlucHV0UmF0ZSArXG4gICAgKHVzYWdlLm91dHB1dFRva2VucyAvIDFfMDAwXzAwMCkgKiBvdXRwdXRSYXRlICtcbiAgICAoY2FjaGVkSW5wdXQgLyAxXzAwMF8wMDApICogY2FjaGVkUmF0ZSArXG4gICAgKHVuY2xhc3NpZmllZENhY2hlQ3JlYXRpb25JbnB1dCAvIDFfMDAwXzAwMCkgKiBjYWNoZUNyZWF0aW9uRmFsbGJhY2tSYXRlICtcbiAgICAoY2xhc3NpZmllZENhY2hlQ3JlYXRpb25JbnB1dDVtIC8gMV8wMDBfMDAwKSAqIGNhY2hlQ3JlYXRpb241bVJhdGUgK1xuICAgIChjbGFzc2lmaWVkQ2FjaGVDcmVhdGlvbklucHV0MWggLyAxXzAwMF8wMDApICogY2FjaGVDcmVhdGlvbjFoUmF0ZVxuICApO1xufVxuIl0sIm1hcHBpbmdzIjoiO0FBMENBLE1BQU0sb0JBQTREO0NBQ2hFLFdBQVc7Q0FDWCxpQkFBaUI7Q0FDakIsdUJBQXVCO0NBQ3ZCLGtCQUFrQjtBQUNwQjtBQU9BLE1BQU0sZUFBZ0Q7Q0FLcEQsZUFBZTtFQUNiLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYztFQUNkLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsYUFBYTtDQUNmO0NBUUEsZUFBZTtFQUNiLFdBQVc7RUFDWCxhQUFhO0VBQ2IsY0FBYztFQUNkLG1CQUFtQjtFQUNuQiwwQkFBMEI7RUFDMUIsYUFBYTtDQUNmO0NBQ0EsaUJBQWlCO0VBQ2YsV0FBVztFQUNYLGFBQWE7RUFDYixjQUFjO0VBQ2QsbUJBQW1CO0VBQ25CLDBCQUEwQjtFQUMxQixhQUFhO0NBQ2Y7Q0FDQSxnQkFBZ0I7RUFDZCxXQUFXO0VBQ1gsYUFB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
|
|
153
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtY29zdC5qcyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvdXRpbHMvcHJvdmlkZXJzL2NvbW1vbi9tb2RlbC1jb3N0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICog66qo642467OEIO2GoO2BsCDqsIDqsqkg7YWM7J2067iUICsgY29zdCDqs4TsgrAuXG4gKlxuICogY2xhdWRlIGNvZGUg7JmAIOuPmeydvCDtjKjthLQ6IO2BtOudvOydtOyWuO2KuOyXkOyEnCDqsIDqsqkg7YWM7J2067iU66GcIOyngeygkSDqs4TsgrAuXG4gKiDqsIDqsqkg64uo7JyEOiBVU0QgcGVyIDFNIHRva2Vucy5cbiAqXG4gKiBPcGVuQUkg66qo6424IOuqqeuhneydgCBPcGVuQUkg66qo6424IOusuOyEnOyZgCDtmITsnqwg7KeA7JuQIOuqqeuhneydhCDquLDspIDsnLzroZwg6rSA66as7ZWc64ukLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvcHJpY2luZ1xuICogQHNlZSBodHRwczovL3BsYXRmb3JtLmNsYXVkZS5jb20vZG9jcy9lbi9hYm91dC1jbGF1ZGUvcHJpY2luZ1xuICovXG5cbmltcG9ydCB7IHR5cGUgT3BlbkFJRWZmb3J0IH0gZnJvbSBcIi4vZWZmb3J0XCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxDb3N0cyB7XG4gIGlucHV0VG9rZW5zOiBudW1iZXI7XG4gIG91dHB1dFRva2VuczogbnVtYmVyO1xuICBjYWNoZWRJbnB1dFRva2VuczogbnVtYmVyO1xuICAvKiogVFRMIGJyZWFrZG93biDsnbQg7JeG64qUIHVzYWdlIOyXkCDsoIHsmqntlaAgY2FjaGUgd3JpdGUgZmFsbGJhY2sg64uo6rCALiAqL1xuICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM/OiBudW1iZXI7XG4gIGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczVtPzogbnVtYmVyO1xuICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMxaD86IG51bWJlcjtcbiAgLyoqXG4gICAqIGxvbmctY29udGV4dCDtlaDspp0uIOyghOyytCDsnoXroKUg7Yag7YGwKGlucHV0X3Rva2VucywgY2FjaGVfcmVhZCDtj6ztlagp7J20IHRocmVzaG9sZCDstIjqs7wg7IucXG4gICAqIOy0iOqzvOu2hOunjOydtCDslYTri4jrnbwg7JqU7LKtIOyghOyytChmdWxsIHNlc3Npb24p7JeQIOuwsOycqCDsoIHsmqkuXG4gICAqL1xuICBsb25nQ29udGV4dD86IHtcbiAgICB0aHJlc2hvbGQ6IG51bWJlcjtcbiAgICBpbnB1dE11bHRpcGxpZXI6IG51bWJlcjtcbiAgICBjYWNoZWRJbnB1dE11bHRpcGxpZXI6IG51bWJlcjtcbiAgICBvdXRwdXRNdWx0aXBsaWVyOiBudW1iZXI7XG4gIH07XG59XG5cbi8vIOKUgOKUgCBPcGVuQUkg4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSA4pSAXG4vL1xuLy8gU3RhbmRhcmQgcHJpY2luZyB2ZXJpZmllZCAyMDI2LTA5LTIzICjquLDsobQg66qo6424IOuLqOqwgCDrs4Drj5kg7JeG7J2MKTogaHR0cHM6Ly9kZXZlbG9wZXJzLm9wZW5haS5jb20vYXBpL2RvY3MvcHJpY2luZ1xuLy8g7Iug66qo6424IOy2nOyLnOuniOuLpCDri6jqsIDqsIAg67CU64CM66+A66GcKDUuMuKGkjUuNOKGkjUuNSkg66qo6424IOy2lOqwgCDsi5wg67CY65Oc7IucIOqzteyLnSDtjpjsnbTsp4Ag7J6s7ZmV7J247ZW07JW87ZWoXG5cbi8vIEdQVC01LjTsl5DshJwg7LKY7J2MIOuPhOyeheuQnCBsb25nLWNvbnRleHQg7ZWg7KadICg1LjIvNS4zLWNvZGV464qUIO2VtOuLuSDsl4bsnYwsIDUuNC1taW5pL25hbm/ripQg6rO17IudIO2RnOyXkOyEnCBsb25nLWNvbnRleHQg64uo6rCAIOyXhuydjClcbi8vIDI3Mksg7LSI6rO8IOyLnCBpbnB1dCAyeCAvIGNhY2hlZCAyeCAvIG91dHB1dCAxLjV4IOKAlCDstIjqs7zrtoTrp4zsnbQg7JWE64uMIOyEuOyFmCDsoITssrTsl5Ag7KCB7Jqp65CoXG4vLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5vcGVuYWkuY29tL2FwaS9kb2NzL21vZGVscy9ncHQtNS41IChcInByb21wdHMgd2l0aCA+MjcySyBpbnB1dCB0b2tlbnNcIilcbmNvbnN0IExPTkdfQ09OVEVYVF8yNzJLOiBOb25OdWxsYWJsZTxNb2RlbENvc3RzW1wibG9uZ0NvbnRleHRcIl0+ID0ge1xuICB0aHJlc2hvbGQ6IDI3Ml8wMDAsXG4gIGlucHV0TXVsdGlwbGllcjogMixcbiAgY2FjaGVkSW5wdXRNdWx0aXBsaWVyOiAyLFxuICBvdXRwdXRNdWx0aXBsaWVyOiAxLjUsXG59O1xuXG4vLyBPcGVuQUkg66qo6424IOy5tO2DiOuhnOq3uC4g64uo6rCA7JmAIO2VqOq7mCBDb2RleCDrsLHsl5Trk5zqsIAg66qo642467OE66GcIOuwm+uKlCDstZzrjIAgcmVhc29uaW5nIGVmZm9ydCDrpbwg7ZWcIOqzs+yXkCDrkZTri6QuXG4vLyBtYXhFZmZvcnQg7Lac7LKYOiB+Ly5jb2RleC9tb2RlbHNfY2FjaGUuanNvbiDsnZggc3VwcG9ydGVkX3JlYXNvbmluZ19sZXZlbHMgKDIwMjYtMDktMDcg7ZmV7J24KS5cbi8vIOuvuOq4sOyerCDrqqjrjbjsnYAgeGhpZ2gg6rmM7KeA66eMIOuwm+uKlOuLpC5cbnR5cGUgT3BlbkFJTW9kZWxTcGVjID0gTW9kZWxDb3N0cyAmIHsgbWF4RWZmb3J0PzogT3BlbkFJRWZmb3J0IH07XG5cbmNvbnN0IE9QRU5BSV9DT1NUUzogUmVjb3JkPHN0cmluZywgT3BlbkFJTW9kZWxTcGVjPiA9IHtcbiAgLy8gR1BULTYgQXN0cmE6IFN0YW5kYXJkIEFQSS1lcXVpdmFsZW50IHByaWNpbmcsIHZlcmlmaWVkIDIwMjYtMDktMDcuXG4gIC8vIENvZGV4IHN1YnNjcmlwdGlvbiBjYXRhbG9nIHN1cHBvcnRzIHVsdHJhOyB0aGUgcHVibGljIEFQSSBsaXN0cyBvbmx5IHRocm91Z2ggbWF4LlxuICAvLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5vcGVuYWkuY29tL2FwaS9kb2NzL21vZGVscy9ncHQtNi1hc3RyYVxuICAvLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5vcGVuYWkuY29tL2FwaS9kb2NzL3ByaWNpbmdcbiAgXCJncHQtNi1hc3RyYVwiOiB7XG4gICAgbWF4RWZmb3J0OiBcInVsdHJhXCIsXG4gICAgaW5wdXRUb2tlbnM6IDEwLFxuICAgIG91dHB1dFRva2VuczogNTAsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDEsXG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zOiAxMi41LFxuICAgIGxvbmdDb250ZXh0OiBMT05HX0NPTlRFWFRfMjcySyxcbiAgfSxcbiAgLy8gR1BULTYgU29sLCBMdW5hICgyMDI2LTA5LTIyIOy2nOyLnCk6IFN0YW5kYXJkIEFQSSBwcmljaW5nIHZlcmlmaWVkIDIwMjYtMDktMjMuIEdQVC01LjYgU29sL0x1bmEg7J2YIOygiOuwmCDri6jqsIAuXG4gIC8vIENvZGV4IOy5tO2DiOuhnOq3uCgyMDI2LTA5LTIzKeuKlCBTb2wg7JeQIHVsdHJhLCBMdW5hIOyXkCBtYXgg6rmM7KeAIO2XiOyaqe2VmOqzoCDquLDrs7ggZWZmb3J0IOuKlCDrkZgg64ukIG1lZGl1bSDsnbTri6QuXG4gIC8vIEBzZWUgaHR0cHM6Ly9kZXZlbG9wZXJzLm9wZW5haS5jb20vYXBpL2RvY3MvbW9kZWxzL2dwdC02LXNvbFxuICAvLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5vcGVuYWkuY29tL2FwaS9kb2NzL21vZGVscy9ncHQtNi1sdW5hXG4gIFwiZ3B0LTYtc29sXCI6IHtcbiAgICBtYXhFZmZvcnQ6IFwidWx0cmFcIixcbiAgICBpbnB1dFRva2VuczogMixcbiAgICBvdXRwdXRUb2tlbnM6IDEwLFxuICAgIGNhY2hlZElucHV0VG9rZW5zOiAwLjIsXG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zOiAyLjUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICBcImdwdC02LWx1bmFcIjoge1xuICAgIG1heEVmZm9ydDogXCJtYXhcIixcbiAgICBpbnB1dFRva2VuczogMC4xLFxuICAgIG91dHB1dFRva2VuczogMC41LFxuICAgIGNhY2hlZElucHV0VG9rZW5zOiAwLjAxLFxuICAgIGNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczogMC4xMjUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICAvLyBHUFQtNS42IFNvbCwgVGVycmEsIEx1bmEuIGNhY2hlIHdyaXRlIOuLqOqwgOuKlCDsmbjrtoAgbG9nZ2VyL21hbnVhbCB1c2FnZSDsnoXroKXsnYQg7JyE7ZW0XG4gIC8vIOycoOyngO2VnOuLpC4g7ZiE7J6sIE9wZW5BSSDsnZHri7UgdXNhZ2Ug7JeQIGNhY2hlIHdyaXRlIO2GoO2BsCDtlYTrk5zqsIAg7JeG7Jy866m0IOu5hOyaqeydgCAw7Jy866GcIOqzhOyCsOuQnOuLpC5cbiAgLy8gQHNlZSBodHRwczovL2RldmVsb3BlcnMub3BlbmFpLmNvbS9hcGkvZG9jcy9tb2RlbHMvZ3B0LTUuNi1zb2xcbiAgLy8gQHNlZSBodHRwczovL2RldmVsb3BlcnMub3BlbmFpLmNvbS9hcGkvZG9jcy9tb2RlbHMvZ3B0LTUuNi10ZXJyYVxuICAvLyBAc2VlIGh0dHBzOi8vZGV2ZWxvcGVycy5vcGVuYWkuY29tL2FwaS9kb2NzL21vZGVscy9ncHQtNS42LWx1bmFcbiAgLy8gU29sIHByb21vdGlvbmFsIHJhdGVzIGFyZSBhdmFpbGFibGUgYXQgbGVhc3QgdGhyb3VnaCAyMDI2LTExLTIxLlxuICAvLyBObyBjb25maXJtZWQgZW5kIGRhdGUvcmVwbGFjZW1lbnQgcmF0ZTogcmVjaGVjayBvZmZpY2lhbCBwcmljaW5nIGluc3RlYWQgb2YgYXV0by1yZXZlcnRpbmcuXG4gIFwiZ3B0LTUuNi1zb2xcIjoge1xuICAgIG1heEVmZm9ydDogXCJ1bHRyYVwiLFxuICAgIGlucHV0VG9rZW5zOiA0LFxuICAgIG91dHB1dFRva2VuczogMjAsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDAuNCxcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICBcImdwdC01LjYtdGVycmFcIjoge1xuICAgIG1heEVmZm9ydDogXCJ1bHRyYVwiLFxuICAgIGlucHV0VG9rZW5zOiAyLFxuICAgIG91dHB1dFRva2VuczogMTIsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDAuMixcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDIuNSxcbiAgICBsb25nQ29udGV4dDogTE9OR19DT05URVhUXzI3MkssXG4gIH0sXG4gIFwiZ3B0LTUuNi1sdW5hXCI6IHtcbiAgICBtYXhFZmZvcnQ6IFwibWF4XCIsXG4gICAgaW5wdXRUb2tlbnM6IDAuMixcbiAgICBvdXRwdXRUb2tlbnM6IDEuMixcbiAgICBjYWNoZWRJbnB1dFRva2VuczogMC4wMixcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM6IDAuMjUsXG4gICAgbG9uZ0NvbnRleHQ6IExPTkdfQ09OVEVYVF8yNzJLLFxuICB9LFxuICAvLyBodHRwczovL29wZW5haS5jb20vaW5kZXgvaW50cm9kdWNpbmctZ3B0LTUtNS8gKDIwMjYtMDQg7Lac7IucKVxuICBcImdwdC01LjVcIjoge1xuICAgIGlucHV0VG9rZW5zOiA1LFxuICAgIG91dHB1dFRva2VuczogMzAsXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IDAuNSxcbiAgICBsb25nQ29udGV4dDogTE9OR19DT05URVhUXzI3MkssXG4gIH0sXG4gIC8vIOyVhOuemCBncHQtNS40IC8gZ3B0LTUuNC1taW5pIC8gZ3B0LTUuMy1jb2RleCAvIGdwdC01LjIg64qUIHFncmlkIOqwgCDsk7DripQgQ2hhdEdQVCDqtazrj4UgQ29kZXgg6rK966Gc7JeQ7IScXG4gIC8vIOuNlCDsnbTsg4Eg7KCc6rO165CY7KeAIOyViuuKlOuLpCg1LjQg6rOE7Je07J2AIDIwMjYtMDgtMzEgcmV0aXJlZCwg64yA7LK0IGdwdC01LjYtdGVycmEgLyBncHQtNS42LWx1bmEpLlxuICAvLyDqs7zqsbAgcmVxdWVzdCBsb2cg7J6s7IKw7KCVKGNvc3Rfc291cmNlIOyXhuuKlCBsZWdhY3kg7ZaJKeyXkCDtlYTsmpTtlZjrr4DroZwg64uo6rCAIO2WieydgCDsnKDsp4DtlZzri6QuXG4gIC8vIGh0dHBzOi8vb3BlbmFpLmNvbS9pbmRleC9pbnRyb2R1Y2luZy1ncHQtNS00LyAoMjAyNi0wMyDstpzsi5wpXG4gIFwiZ3B0LTUuNFwiOiB7XG4gICAgaW5wdXRUb2tlbnM6IDIuNSxcbiAgICBvdXRwdXRUb2tlbnM6IDE1LFxuICAgIGNhY2hlZElucHV0VG9rZW5zOiAwLjI1LFxuICAgIGxvbmdDb250ZXh0OiBMT05HX0NPTlRFWFRfMjcySyxcbiAgfSxcbiAgXCJncHQtNS40LW1pbmlcIjogeyBpbnB1dFRva2VuczogMC43NSwgb3V0cHV0VG9rZW5zOiA0LjUsIGNhY2hlZElucHV0VG9rZW5zOiAwLjA3NSB9LFxuICAvLyBncHQtNS4y7JmAIOuPmeydvCDri6jqsIAgKGNhY2hlZCA9IGlucHV07J2YIDEwJSlcbiAgXCJncHQtNS4zLWNvZGV4XCI6IHsgaW5wdXRUb2tlbnM6IDEuNzUsIG91dHB1dFRva2VuczogMTQsIGNhY2hlZElucHV0VG9rZW5zOiAwLjE3NSB9LFxuICAvLyBodHRwczovL29wZW5haS5jb20vaW5kZXgvaW50cm9kdWNpbmctZ3B0LTUtMi8gKGNhY2hlZCBpbnB1dCA5MCUg7ZWg7J24IOuqheyLnClcbiAgXCJncHQtNS4yXCI6IHsgaW5wdXRUb2tlbnM6IDEuNzUsIG91dHB1dFRva2VuczogMTQsIGNhY2hlZElucHV0VG9rZW5zOiAwLjE3NSB9LFxufTtcblxuLy8g4pSA4pSAIEFudGhyb3BpYyDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIDilIBcblxuZnVuY3Rpb24gYW50aHJvcGljQ29zdHMoXG4gIGlucHV0VG9rZW5zOiBudW1iZXIsXG4gIG91dHB1dFRva2VuczogbnVtYmVyLFxuICBvdmVycmlkZXM6IFBpY2s8UGFydGlhbDxNb2RlbENvc3RzPiwgXCJjYWNoZWRJbnB1dFRva2Vuc1wiPiA9IHt9LFxuKTogTW9kZWxDb3N0cyB7XG4gIHJldHVybiB7XG4gICAgaW5wdXRUb2tlbnMsXG4gICAgb3V0cHV0VG9rZW5zLFxuICAgIC8vIO2RnOykgCBjYWNoZSByZWFkIOuKlCBiYXNlIGlucHV0IOydmCAwLjF4LiBGYWJsZSA1LjEg7LKY65+8IOqzteyLnSDtirnroYAg64uo6rCA6rCAIOyeiOycvOuptCBvdmVycmlkZSDtlZzri6QuXG4gICAgY2FjaGVkSW5wdXRUb2tlbnM6IG92ZXJyaWRlcy5jYWNoZWRJbnB1dFRva2VucyA/PyBpbnB1dFRva2VucyAvIDEwLFxuICAgIC8vIENsYXVkZSBDb2RlIHN1YnNjcmlwdGlvbiBPQXV0aCDripQgMWggVFRMIOydhCDsnpDrj5kg7ISg7YOd7ZWc64ukLiDqtazrsoTsoITsspjrn7wg7J2R64u17JeQXG4gICAgLy8gVFRMIGJyZWFrZG93biDsnbQg7JeG7J2EIOuVjOunjCDsnbQgMWgg64uo6rCA66W8IGZhbGxiYWNrIOycvOuhnCDsgqzsmqntlZzri6QuXG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zOiBpbnB1dFRva2VucyAqIDIsXG4gICAgY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zNW06IGlucHV0VG9rZW5zICogMS4yNSxcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMxaDogaW5wdXRUb2tlbnMgKiAyLFxuICB9O1xufVxuXG4vLyDqsIDqsqkg7Lac7LKYOiBodHRwczovL3BsYXRmb3JtLmNsYXVkZS5jb20vZG9jcy9lbi9hYm91dC1jbGF1ZGUvcHJpY2luZyAoMjAyNi0wOS0yMyDtmZXsnbgsIOq4sOyhtCDrqqjrjbgg64uo6rCAIOuzgOuPmSDsl4bsnYwpXG5jb25zdCBBTlRIUk9QSUNfQ09TVFM6IFJlY29yZDxzdHJpbmcsIE1vZGVsQ29zdHM+ID0ge1xuICAvLyBGYWJsZSA1LjEgKDIwMjYtMDktMDEg7Lac7IucKTogaW5wdXQvb3V0cHV0IOydgCBGYWJsZSA1IOyZgCDqsJnqs6AgY2FjaGUgcmVhZCDrp4wgMC4wMjV4KCQwLjI1KSDtirnroYAuXG4gIC8vIEBzZWUgaHR0cHM6Ly9wbGF0Zm9ybS5jbGF1ZGUuY29tL2RvY3MvZW4vbW9kZWxzL2ZhYmxlLTUtMS9vdmVydmlld1xuICBcImNsYXVkZS1mYWJsZS01LTFcIjogYW50aHJvcGljQ29zdHMoMTAsIDUwLCB7IGNhY2hlZElucHV0VG9rZW5zOiAwLjI1IH0pLFxuICBcImNsYXVkZS1mYWJsZS01XCI6IGFudGhyb3BpY0Nvc3RzKDEwLCA1MCksXG4gIHNvbm5ldDogYW50aHJvcGljQ29zdHMoMywgMTUpLFxuICBcImNsYXVkZS0zLTUtaGFpa3VcIjogYW50aHJvcGljQ29zdHMoMC44LCA0KSxcbiAgXCJjbGF1ZGUtaGFpa3UtNC01XCI6IGFudGhyb3BpY0Nvc3RzKDEsIDUpLFxuICBcImNsYXVkZS0zLTUtc29ubmV0XCI6IGFudGhyb3BpY0Nvc3RzKDMsIDE1KSxcbiAgXCJjbGF1ZGUtMy03LXNvbm5ldFwiOiBhbnRocm9waWNDb3N0cygzLCAxNSksXG4gIFwiY2xhdWRlLXNvbm5ldC00XCI6IGFudGhyb3BpY0Nvc3RzKDMsIDE1KSxcbiAgXCJjbGF1ZGUtc29ubmV0LTQtNVwiOiBhbnRocm9waWNDb3N0cygzLCAxNSksXG4gIFwiY2xhdWRlLXNvbm5ldC00LTZcIjogYW50aHJvcGljQ29zdHMoMywgMTUpLFxuICBcImNsYXVkZS1zb25uZXQtNC03XCI6IGFudGhyb3BpY0Nvc3RzKDMsIDE1KSxcbiAgXCJjbGF1ZGUtb3B1cy00XCI6IGFudGhyb3BpY0Nvc3RzKDE1LCA3NSksXG4gIFwiY2xhdWRlLW9wdXMtNC0xXCI6IGFudGhyb3BpY0Nvc3RzKDE1LCA3NSksXG4gIFwiY2xhdWRlLW9wdXMtNC01XCI6IGFudGhyb3BpY0Nvc3RzKDUsIDI1KSxcbiAgXCJjbGF1ZGUtb3B1cy00LTZcIjogYW50aHJvcGljQ29zdHMoNSwgMjUpLFxuICBcImNsYXVkZS1vcHVzLTQtN1wiOiBhbnRocm9waWNDb3N0cyg1LCAyNSksXG4gIFwiY2xhdWRlLW9wdXMtNC04XCI6IGFudGhyb3BpY0Nvc3RzKDUsIDI1KSxcbiAgXCJjbGF1ZGUtb3B1cy01XCI6IGFudGhyb3BpY0Nvc3RzKDUsIDI1KSxcbiAgLy8gT3B1cyA1LjUgKDIwMjYtMDktMjIg7Lac7IucKTogJDQvJDIwLiBjYWNoZSByZWFkIOuKlCAwLjA1eCgkMC4yMCkg7Yq566GALCBjYWNoZSB3cml0ZSDripQg7ZGc7KSAIOuwsOycqCgkNS8kOCkuXG4gIC8vIEBzZWUgaHR0cHM6Ly9wbGF0Zm9ybS5jbGF1ZGUuY29tL2RvY3MvZW4vbW9kZWxzL29wdXMtNS01L292ZXJ2aWV3XG4gIFwiY2xhdWRlLW9wdXMtNS01XCI6IGFudGhyb3BpY0Nvc3RzKDQsIDIwLCB7IGNhY2hlZElucHV0VG9rZW5zOiAwLjIgfSksXG4gIC8vIFNvbm5ldCA1IOydmCBpbnRyb2R1Y3RvcnkgJDIvJDEwIOydtCDsoJXsi50g64uo6rCA66GcIO2ZleygleuQkOuLpC4gMjAyNi0wOS0wMSDsl5Ag7JiI7KCV65CQ642YICQzLyQxNSDsnbjsg4HsnYBcbiAgLy8g7Leo7IaM65CQ7Jy866+A66GcIOuCoOynnCDrtoTquLAg7JeG7J20IOqzoOyglSDri6jqsIDroZwg6rOE7IKw7ZWc64ukLlxuICBcImNsYXVkZS1zb25uZXQtNVwiOiBhbnRocm9waWNDb3N0cygyLCAxMCksXG59O1xuXG4vLyBncHQtNS4zLWNvZGV4LXNwYXJrIOuKlCByZXNlYXJjaCBwcmV2aWV3IOuhnCDqs7Xsi50gdG9rZW4g64uo6rCA6rCAIOyVhOyngSBmaW5hbCDsnbQg7JWE64uI64ukLlxuLy8g7KeA7JuQIO2DgOyeheydgCDsnKDsp4DtlZjrkJgsIOqzteyLnSDri6jqsIDqsIAg6rO16rCc65CgIOuVjOq5jOyngCDslYTrnpggZ2VuZXJpYyBlc3RpbWF0ZSDroZwg6rOE7IKw7ZWc64ukLlxuLy8gQHNlZSBodHRwczovL2hlbHAub3BlbmFpLmNvbS9lbi9hcnRpY2xlcy8yMDAwMTEwNi1jb2RleC1yYXRlLWNhcmRcbmNvbnN0IERFRkFVTFRfQ09TVFM6IE1vZGVsQ29zdHMgPSB7IGlucHV0VG9rZW5zOiAzLCBvdXRwdXRUb2tlbnM6IDE1LCBjYWNoZWRJbnB1dFRva2VuczogMC4zIH07XG5cbi8qKiBDb2RleCDrsLHsl5Trk5zqsIAg7J20IOuqqOuNuOyXkCDtl4jsmqntlZjripQg7LWc64yAIGVmZm9ydC4g7Lm07YOI66Gc6re47JeQIOyXhuuKlCDrqqjrjbjsnYAgeGhpZ2gg6rmM7KeA64ukLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5haU1vZGVsTWF4RWZmb3J0KG1vZGVsOiBzdHJpbmcpOiBPcGVuQUlFZmZvcnQge1xuICByZXR1cm4gT1BFTkFJX0NPU1RTW21vZGVsXT8ubWF4RWZmb3J0ID8/IFwieGhpZ2hcIjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE1vZGVsQ29zdHMobW9kZWw6IHN0cmluZyk6IE1vZGVsQ29zdHMge1xuICBjb25zdCBub3JtYWxpemVkTW9kZWwgPSAobW9kZWwuc3BsaXQoXCIvXCIpLnBvcCgpID8/IG1vZGVsKS5yZXBsYWNlKC9cXFsxbVxcXSQvaSwgXCJcIik7XG4gIHJldHVybiBPUEVOQUlfQ09TVFNbbm9ybWFsaXplZE1vZGVsXSA/PyBBTlRIUk9QSUNfQ09TVFNbbm9ybWFsaXplZE1vZGVsXSA/PyBERUZBVUxUX0NPU1RTO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQ29zdFVzZChcbiAgbW9kZWw6IHN0cmluZyxcbiAgdXNhZ2U6IHtcbiAgICBpbnB1dFRva2VuczogbnVtYmVyO1xuICAgIG91dHB1dFRva2VuczogbnVtYmVyO1xuICAgIGNhY2hlZElucHV0VG9rZW5zPzogbnVtYmVyO1xuICAgIGNhY2hlQ3JlYXRpb25JbnB1dFRva2Vucz86IG51bWJlcjtcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM1bT86IG51bWJlcjtcbiAgICBjYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMxaD86IG51bWJlcjtcbiAgfSxcbik6IG51bWJlciB7XG4gIGNvbnN0IGNvc3RzID0gZ2V0TW9kZWxDb3N0cyhtb2RlbCk7XG4gIGNvbnN0IGNhY2hlZElucHV0ID0gdXNhZ2UuY2FjaGVkSW5wdXRUb2tlbnMgPz8gMDtcbiAgY29uc3QgY2FjaGVDcmVhdGlvbklucHV0NW0gPSBNYXRoLm1heCh1c2FnZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnM1bSA/PyAwLCAwKTtcbiAgY29uc3QgY2FjaGVDcmVhdGlvbklucHV0MWggPSBNYXRoLm1heCh1c2FnZS5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMxaCA/PyAwLCAwKTtcbiAgY29uc3QgY2FjaGVDcmVhdGlvbklucHV0ID0gTWF0aC5tYXgoXG4gICAgdXNhZ2UuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zID8/IDAsXG4gICAgY2FjaGVDcmVhdGlvbklucHV0NW0gKyBjYWNoZUNyZWF0aW9uSW5wdXQxaCxcbiAgKTtcbiAgY29uc3QgY2xhc3NpZmllZENhY2hlQ3JlYXRpb25JbnB1dDVtID0gTWF0aC5taW4oY2FjaGVDcmVhdGlvbklucHV0NW0sIGNhY2hlQ3JlYXRpb25JbnB1dCk7XG4gIGNvbnN0IGNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQxaCA9IE1hdGgubWluKFxuICAgIGNhY2hlQ3JlYXRpb25JbnB1dDFoLFxuICAgIGNhY2hlQ3JlYXRpb25JbnB1dCAtIGNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQ1bSxcbiAgKTtcbiAgY29uc3QgdW5jbGFzc2lmaWVkQ2FjaGVDcmVhdGlvbklucHV0ID1cbiAgICBjYWNoZUNyZWF0aW9uSW5wdXQgLSBjbGFzc2lmaWVkQ2FjaGVDcmVhdGlvbklucHV0NW0gLSBjbGFzc2lmaWVkQ2FjaGVDcmVhdGlvbklucHV0MWg7XG4gIGNvbnN0IG5vbkNhY2hlZElucHV0ID0gTWF0aC5tYXgodXNhZ2UuaW5wdXRUb2tlbnMgLSBjYWNoZWRJbnB1dCAtIGNhY2hlQ3JlYXRpb25JbnB1dCwgMCk7XG5cbiAgLy8gbG9uZy1jb250ZXh0IO2VoOymnTog7KCE7LK0IOyeheugpShpbnB1dF90b2tlbnMsIGNhY2hlIO2PrO2VqCnsnbQgdGhyZXNob2xkIOy0iOqzvCDsi5wg7JqU7LKtIOyghOyytOyXkCDrsLDsnKgg7KCB7JqpXG4gIGNvbnN0IGxjID0gY29zdHMubG9uZ0NvbnRleHQ7XG4gIGNvbnN0IGlzTG9uZ0NvbnRleHQgPSBsYyAhPT0gdW5kZWZpbmVkICYmIHVzYWdlLmlucHV0VG9rZW5zID4gbGMudGhyZXNob2xkO1xuICBjb25zdCBpbnB1dFJhdGUgPSBjb3N0cy5pbnB1dFRva2VucyAqIChpc0xvbmdDb250ZXh0ID8gbGMuaW5wdXRNdWx0aXBsaWVyIDogMSk7XG4gIGNvbnN0IGNhY2hlZFJhdGUgPSBjb3N0cy5jYWNoZWRJbnB1dFRva2VucyAqIChpc0xvbmdDb250ZXh0ID8gbGMuY2FjaGVkSW5wdXRNdWx0aXBsaWVyIDogMSk7XG4gIGNvbnN0IGNhY2hlQ3JlYXRpb25GYWxsYmFja1JhdGUgPVxuICAgIChjb3N0cy5jYWNoZUNyZWF0aW9uSW5wdXRUb2tlbnMgPz8gY29zdHMuaW5wdXRUb2tlbnMpICpcbiAgICAoaXNMb25nQ29udGV4dCA/IGxjLmlucHV0TXVsdGlwbGllciA6IDEpO1xuICBjb25zdCBjYWNoZUNyZWF0aW9uNW1SYXRlID1cbiAgICAoY29zdHMuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zNW0gPz8gY29zdHMuY2FjaGVDcmVhdGlvbklucHV0VG9rZW5zID8/IGNvc3RzLmlucHV0VG9rZW5zKSAqXG4gICAgKGlzTG9uZ0NvbnRleHQgPyBsYy5pbnB1dE11bHRpcGxpZXIgOiAxKTtcbiAgY29uc3QgY2FjaGVDcmVhdGlvbjFoUmF0ZSA9XG4gICAgKGNvc3RzLmNhY2hlQ3JlYXRpb25JbnB1dFRva2VuczFoID8/IGNvc3RzLmNhY2hlQ3JlYXRpb25JbnB1dFRva2VucyA/PyBjb3N0cy5pbnB1dFRva2VucykgKlxuICAgIChpc0xvbmdDb250ZXh0ID8gbGMuaW5wdXRNdWx0aXBsaWVyIDogMSk7XG4gIGNvbnN0IG91dHB1dFJhdGUgPSBjb3N0cy5vdXRwdXRUb2tlbnMgKiAoaXNMb25nQ29udGV4dCA/IGxjLm91dHB1dE11bHRpcGxpZXIgOiAxKTtcblxuICByZXR1cm4gKFxuICAgIChub25DYWNoZWRJbnB1dCAvIDFfMDAwXzAwMCkgKiBpbnB1dFJhdGUgK1xuICAgICh1c2FnZS5vdXRwdXRUb2tlbnMgLyAxXzAwMF8wMDApICogb3V0cHV0UmF0ZSArXG4gICAgKGNhY2hlZElucHV0IC8gMV8wMDBfMDAwKSAqIGNhY2hlZFJhdGUgK1xuICAgICh1bmNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQgLyAxXzAwMF8wMDApICogY2FjaGVDcmVhdGlvbkZhbGxiYWNrUmF0ZSArXG4gICAgKGNsYXNzaWZpZWRDYWNoZUNyZWF0aW9uSW5wdXQ1bSAvIDFfMDAwXzAwMCkgKiBjYWNoZUNyZWF0aW9uNW1SYXRlICtcbiAgICAoY2xhc3NpZmllZENhY2hlQ3JlYXRpb25JbnB1dDFoIC8gMV8wMDBfMDAwKSAqIGNhY2hlQ3JlYXRpb24xaFJhdGVcbiAgKTtcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQTBDQSxNQUFNLG9CQUE0RDtDQUNoRSxXQUFXO0NBQ1gsaUJBQWlCO0NBQ2pCLHVCQUF1QjtDQUN2QixrQkFBa0I7QUFDcEI7QUFPQSxNQUFNLGVBQWdEO0NBS3BELGVBQWU7RUFDYixXQUFXO0VBQ1gsYUFBYTtFQUNiLGNBQWM7RUFDZCxtQkFB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
|