279 lines
26 KiB
Plaintext
279 lines
26 KiB
Plaintext
import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/automate/runs/trigger-status/dialog/FunctionRun.vue");import { default as __nuxt_component_0 } from "/_nuxt/components/automate/function/Logo.vue";
|
|
import { default as __nuxt_component_1 } from "/_nuxt/components/automate/runs/AttachmentButton.vue";
|
|
import { FormButton as __nuxt_component_2 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
|
|
import { LayoutDialog as __nuxt_component_3 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
|
|
/* Injection by vite-plugin-vue-inspector Start */
|
|
import { createBlock as __createBlock,createVNode as __createVNode,createElementVNode as __createElementVNode,createElementBlock as __createElementBlock } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29"
|
|
function _interopVNode(vnode) {
|
|
if (vnode && vnode.props && 'data-v-inspector' in vnode.props) {
|
|
const data = vnode.props['data-v-inspector']
|
|
delete vnode.props['data-v-inspector']
|
|
Object.defineProperty(vnode.props, '__v_inspector', { value: data, enumerable: false })
|
|
}
|
|
return vnode
|
|
}
|
|
function _createBlock(...args) { return _interopVNode(__createBlock(...args)) }
|
|
function _createVNode(...args) { return _interopVNode(__createVNode(...args)) }
|
|
function _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) }
|
|
function _createElementBlock(...args) { return _interopVNode(__createElementBlock(...args)) }
|
|
/* Injection by vite-plugin-vue-inspector End */
|
|
import { defineComponent as _defineComponent } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
import { useRunStatusMetadata } from "/_nuxt/lib/automate/composables/runStatus.ts";
|
|
import { useAutomationFunctionRunResults } from "/_nuxt/lib/automate/composables/runs.ts";
|
|
import { graphql } from "/_nuxt/lib/common/generated/gql/index.ts";
|
|
import {
|
|
AutomateRunStatus
|
|
} from "/_nuxt/lib/common/generated/gql/graphql.ts";
|
|
|
|
import { computed, ref } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _sfc_main = /* @__PURE__ */ _defineComponent({
|
|
__name: "AutomateRunsTriggerStatusDialogFunctionRun",
|
|
props: {
|
|
functionRun: { type: Object, required: true },
|
|
automationName: { type: String, required: false },
|
|
projectId: { type: String, required: true },
|
|
modelId: { type: String, required: true },
|
|
versionId: { type: String, required: false }
|
|
},
|
|
setup(__props, { expose: __expose }) {
|
|
__expose();
|
|
graphql(`
|
|
fragment AutomateRunsTriggerStatusDialogFunctionRun_AutomateFunctionRun on AutomateFunctionRun {
|
|
id
|
|
results
|
|
status
|
|
statusMessage
|
|
contextView
|
|
function {
|
|
id
|
|
logo
|
|
name
|
|
}
|
|
createdAt
|
|
updatedAt
|
|
}
|
|
`);
|
|
const props = __props;
|
|
const { metadata: statusMetaData } = useRunStatusMetadata({
|
|
status: computed(() => props.functionRun.status)
|
|
});
|
|
const results = useAutomationFunctionRunResults({
|
|
results: computed(() => props.functionRun.results)
|
|
});
|
|
const showAttachmentDialog = ref(false);
|
|
const attachments = computed(() => results.value?.values.blobIds || []);
|
|
const isStartingOrRunning = computed(
|
|
() => [
|
|
AutomateRunStatus.Initializing,
|
|
AutomateRunStatus.Running,
|
|
AutomateRunStatus.Pending
|
|
].includes(props.functionRun.status)
|
|
);
|
|
const __returned__ = { props, statusMetaData, results, showAttachmentDialog, attachments, isStartingOrRunning };
|
|
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
|
|
return __returned__;
|
|
}
|
|
});
|
|
import { resolveDynamicComponent as _resolveDynamicComponent, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, openBlock as _openBlock, withDirectives as _withDirectives, resolveComponent as _resolveComponent, toDisplayString as _toDisplayString, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
|
|
const _hoisted_1 = { "data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:2:3" };
|
|
const _hoisted_2 = {
|
|
class: "flex flex-col lg:flex-row gap-y-1 my-2 py-2 px-2 border border-outline-2 rounded-md lg:items-center",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:3:5"
|
|
};
|
|
const _hoisted_3 = {
|
|
class: "flex flex-col lg:flex-row gap-2 flex-1",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:6:7"
|
|
};
|
|
const _hoisted_4 = {
|
|
class: "flex items-center gap-x-1.5",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:7:9"
|
|
};
|
|
const _hoisted_5 = {
|
|
class: "flex-1 flex flex-col gap-y-1",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:16:9"
|
|
};
|
|
const _hoisted_6 = {
|
|
class: "font-medium text-body-2xs truncate",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:17:11"
|
|
};
|
|
const _hoisted_7 = {
|
|
class: "flex flex-col sm:flex-row gap-2 sm:items-center truncate",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:22:11"
|
|
};
|
|
const _hoisted_8 = {
|
|
class: "sm:truncate",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:23:13"
|
|
};
|
|
const _hoisted_9 = {
|
|
key: 0,
|
|
class: "text-body-2xs text-foreground-2 italic whitespace-normal sm:truncate",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:24:15"
|
|
};
|
|
const _hoisted_10 = {
|
|
key: 1,
|
|
class: "text-body-2xs text-foreground-2 italic whitespace-normal sm:truncate",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:30:15"
|
|
};
|
|
const _hoisted_11 = {
|
|
class: "flex flex-grow text-right flex-shrink-0 bg-pink-300/0 justify-end space-x-2 items-center",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:37:13"
|
|
};
|
|
const _hoisted_12 = {
|
|
key: 0,
|
|
class: "flex space-x-1 shrink items-center",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:40:15"
|
|
};
|
|
const _hoisted_13 = {
|
|
key: 0,
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:44:17"
|
|
};
|
|
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
const _component_AutomateFunctionLogo = __nuxt_component_0;
|
|
const _component_AutomateRunsAttachmentButton = __nuxt_component_1;
|
|
const _component_FormButton = __nuxt_component_2;
|
|
const _component_LayoutDialog = __nuxt_component_3;
|
|
const _directive_tippy = _resolveDirective("tippy");
|
|
return _openBlock(), _createElementBlock("div", _hoisted_1, [
|
|
_createElementVNode("div", _hoisted_2, [
|
|
_createElementVNode("div", _hoisted_3, [
|
|
_createElementVNode("div", _hoisted_4, [
|
|
_withDirectives((_openBlock(), _createBlock(_resolveDynamicComponent($setup.statusMetaData.icon), {
|
|
class: _normalizeClass(["h-4 w-4 outline-none", $setup.statusMetaData.iconColor]),
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:8:11"
|
|
}, null, 8, ["class"])), [
|
|
[_directive_tippy, $props.functionRun.status]
|
|
]),
|
|
_createVNode(_component_AutomateFunctionLogo, {
|
|
logo: $props.functionRun.function?.logo,
|
|
size: "xs",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:13:11"
|
|
}, null, 8, ["logo"])
|
|
]),
|
|
_createElementVNode("div", _hoisted_5, [
|
|
_createElementVNode(
|
|
"div",
|
|
_hoisted_6,
|
|
_toDisplayString($props.automationName ? $props.automationName + " / " : "") + _toDisplayString($props.functionRun.function?.name || "Unknown function"),
|
|
1
|
|
/* TEXT */
|
|
),
|
|
_createElementVNode("div", _hoisted_7, [
|
|
_createElementVNode("div", _hoisted_8, [
|
|
$setup.isStartingOrRunning ? (_openBlock(), _createElementBlock(
|
|
"div",
|
|
_hoisted_9,
|
|
" Function is " + _toDisplayString($props.functionRun.status.toLowerCase()) + ". ",
|
|
1
|
|
/* TEXT */
|
|
)) : (_openBlock(), _createElementBlock(
|
|
"div",
|
|
_hoisted_10,
|
|
_toDisplayString($props.functionRun.statusMessage),
|
|
1
|
|
/* TEXT */
|
|
))
|
|
]),
|
|
_createElementVNode("div", _hoisted_11, [
|
|
$setup.attachments && $setup.attachments.length !== 0 ? (_openBlock(), _createElementBlock("div", _hoisted_12, [
|
|
$setup.attachments.length === 1 ? (_openBlock(), _createElementBlock("div", _hoisted_13, [
|
|
_createVNode(_component_AutomateRunsAttachmentButton, {
|
|
"blob-id": $setup.attachments[0],
|
|
"project-id": $props.projectId,
|
|
size: "xs",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:45:19"
|
|
}, null, 8, ["blob-id", "project-id"])
|
|
])) : _createCommentVNode("v-if", true),
|
|
$setup.attachments.length > 1 ? (_openBlock(), _createBlock(_component_FormButton, {
|
|
key: 1,
|
|
size: "sm",
|
|
color: "outline",
|
|
class: "mt-1",
|
|
onClick: _cache[0] || (_cache[0] = ($event) => $setup.showAttachmentDialog = true),
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:51:17"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
_createTextVNode(
|
|
_toDisplayString($setup.attachments.length) + " attachments ",
|
|
1
|
|
/* TEXT */
|
|
)
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
})) : _createCommentVNode("v-if", true),
|
|
_createVNode(_component_LayoutDialog, {
|
|
open: $setup.showAttachmentDialog,
|
|
"onUpdate:open": _cache[1] || (_cache[1] = ($event) => $setup.showAttachmentDialog = $event),
|
|
title: `${$props.functionRun.function?.name || "Unknown function"} attachments`,
|
|
"max-width": "sm",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:60:17"
|
|
}, {
|
|
default: _withCtx(() => [
|
|
(_openBlock(true), _createElementBlock(
|
|
_Fragment,
|
|
null,
|
|
_renderList($setup.attachments, (id) => {
|
|
return _openBlock(), _createElementBlock("div", {
|
|
key: id,
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:67:19"
|
|
}, [
|
|
_createVNode(_component_AutomateRunsAttachmentButton, {
|
|
"blob-id": id,
|
|
"restrict-width": false,
|
|
"project-id": $props.projectId,
|
|
size: "xs",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:68:21"
|
|
}, null, 8, ["blob-id", "project-id"])
|
|
]);
|
|
}),
|
|
128
|
|
/* KEYED_FRAGMENT */
|
|
))
|
|
]),
|
|
_: 1
|
|
/* STABLE */
|
|
}, 8, ["open", "title"])
|
|
])) : _createCommentVNode("v-if", true)
|
|
])
|
|
])
|
|
])
|
|
]),
|
|
$props.functionRun.contextView ? (_openBlock(), _createBlock(_component_FormButton, {
|
|
key: 0,
|
|
size: "sm",
|
|
color: "outline",
|
|
to: $props.functionRun.contextView,
|
|
target: "_blank",
|
|
"data-v-inspector": "components/automate/runs/trigger-status/dialog/FunctionRun.vue:82:7"
|
|
}, {
|
|
default: _withCtx(() => [..._cache[2] || (_cache[2] = [
|
|
_createTextVNode(
|
|
" View results ",
|
|
-1
|
|
/* CACHED */
|
|
)
|
|
])]),
|
|
_: 1
|
|
/* STABLE */
|
|
}, 8, ["to"])) : _createCommentVNode("v-if", true)
|
|
])
|
|
]);
|
|
}
|
|
_sfc_main.__hmrId = "9867a7a2";
|
|
typeof __VUE_HMR_RUNTIME__ !== "undefined" && __VUE_HMR_RUNTIME__.createRecord(_sfc_main.__hmrId, _sfc_main);
|
|
import.meta.hot.on("file-changed", ({ file }) => {
|
|
__VUE_HMR_RUNTIME__.CHANGED_FILE = file;
|
|
});
|
|
import.meta.hot.accept((mod) => {
|
|
if (!mod) return;
|
|
const { default: updated, _rerender_only } = mod;
|
|
if (_rerender_only) {
|
|
__VUE_HMR_RUNTIME__.rerender(updated.__hmrId, updated.render);
|
|
} else {
|
|
__VUE_HMR_RUNTIME__.reload(updated.__hmrId, updated);
|
|
}
|
|
});
|
|
import _export_sfc from "/_nuxt/@id/__x00__plugin-vue:export-helper";
|
|
export default /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__file", "D:/speckle-server/packages/frontend-2/components/automate/runs/trigger-status/dialog/FunctionRun.vue"]]);
|
|
|
|
//# sourceMappingURL=data:application/json;base64,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LE9BTk4sYUFNTTtBQUFBLGtCQUxKLGFBSUU7QUFBQSxvQkFIQyxXQUFTLG1CQUFXO0FBQUEsb0JBQ3BCLGNBQVk7QUFBQSxvQkFDYixNQUFLO0FBQUEsb0JBQUssb0JBQWlCO0FBQUE7O2dCQUl2QixtQkFBWSxTQUFNLG1CQUQxQixhQVFhO0FBQUE7a0JBTlgsTUFBSztBQUFBLGtCQUNMLE9BQU07QUFBQSxrQkFDTixPQUFNO0FBQUEsa0JBQ0wsU0FBSyxzQ0FBRSw4QkFBb0I7QUFBQSxrQkFBUyxvQkFBaUI7QUFBQTtvQ0FFdEQsTUFBd0I7QUFBQTt1Q0FBckIsbUJBQVksTUFBTSxJQUFHO0FBQUEsc0JBQzFCO0FBQUE7QUFBQTtBQUFBOzs7O2dCQUNBLGFBZWU7QUFBQSxrQkFkTCxNQUFNO0FBQUEsdUdBQW9CO0FBQUEsa0JBQ2pDLE9BQUssR0FBMkIsbUJBQVksVUFBVSxRQUFJO2tCQUczRCxhQUFVO0FBQUEsa0JBQUssb0JBQWlCO0FBQUE7b0NBRTNCLE1BQXlCO0FBQUEsdUNBQTlCO0FBQUEsc0JBT007QUFBQTtBQUFBLGtDQVBZLG9CQUFXLENBQWpCLE9BQUU7NkNBQWQsb0JBT007QUFBQSwwQkFQMEIsS0FBSztBQUFBLDBCQUFJLG9CQUFpQjtBQUFBOzBCQUN4RCxhQUtFO0FBQUEsNEJBSkMsV0FBUztBQUFBLDRCQUNULGtCQUFnQjtBQUFBLDRCQUNoQixjQUFZO0FBQUEsNEJBQ2IsTUFBSztBQUFBLDRCQUFLLG9CQUFpQjtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7TUFXbkMsbUJBQVksNkJBRHBCLGFBUWE7QUFBQTtRQU5YLE1BQUs7QUFBQSxRQUNMLE9BQU07QUFBQSxRQUNMLElBQUksbUJBQVk7QUFBQSxRQUNqQixRQUFPO0FBQUEsUUFBUyxvQkFBaUI7QUFBQTswQkFDbEMsTUFFRDtBQUFBO1lBRkM7QUFBQSxZQUVEO0FBQUE7QUFBQTtBQUFBIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJGdW5jdGlvblJ1bi52dWUiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjI6M1wiPlxyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cImZsZXggZmxleC1jb2wgbGc6ZmxleC1yb3cgZ2FwLXktMSBteS0yIHB5LTIgcHgtMiBib3JkZXIgYm9yZGVyLW91dGxpbmUtMiByb3VuZGVkLW1kIGxnOml0ZW1zLWNlbnRlclwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZTozOjVcIlxyXG4gICAgPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBsZzpmbGV4LXJvdyBnYXAtMiBmbGV4LTFcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9hdXRvbWF0ZS9ydW5zL3RyaWdnZXItc3RhdHVzL2RpYWxvZy9GdW5jdGlvblJ1bi52dWU6Njo3XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGdhcC14LTEuNVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZTo3OjlcIj5cclxuICAgICAgICAgIDxDb21wb25lbnRcclxuICAgICAgICAgICAgOmlzPVwic3RhdHVzTWV0YURhdGEuaWNvblwiXHJcbiAgICAgICAgICAgIHYtdGlwcHk9XCJmdW5jdGlvblJ1bi5zdGF0dXNcIlxyXG4gICAgICAgICAgICA6Y2xhc3M9XCJbJ2gtNCB3LTQgb3V0bGluZS1ub25lJywgc3RhdHVzTWV0YURhdGEuaWNvbkNvbG9yXVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZTo4OjExXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgICA8QXV0b21hdGVGdW5jdGlvbkxvZ28gOmxvZ289XCJmdW5jdGlvblJ1bi5mdW5jdGlvbj8ubG9nb1wiIHNpemU9XCJ4c1wiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZToxMzoxMVwiIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJmbGV4LTEgZmxleCBmbGV4LWNvbCBnYXAteS0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjE2OjlcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJmb250LW1lZGl1bSB0ZXh0LWJvZHktMnhzIHRydW5jYXRlXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjE3OjExXCI+XHJcbiAgICAgICAgICAgIHt7IGF1dG9tYXRpb25OYW1lID8gYXV0b21hdGlvbk5hbWUgKyAnIC8gJyA6ICcnXHJcbiAgICAgICAgICAgIH19e3sgZnVuY3Rpb25SdW4uZnVuY3Rpb24/Lm5hbWUgfHwgJ1Vua25vd24gZnVuY3Rpb24nIH19XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBmbGV4LWNvbCBzbTpmbGV4LXJvdyBnYXAtMiBzbTppdGVtcy1jZW50ZXIgdHJ1bmNhdGVcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9hdXRvbWF0ZS9ydW5zL3RyaWdnZXItc3RhdHVzL2RpYWxvZy9GdW5jdGlvblJ1bi52dWU6MjI6MTFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNtOnRydW5jYXRlXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjIzOjEzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgdi1pZj1cImlzU3RhcnRpbmdPclJ1bm5pbmdcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LWJvZHktMnhzIHRleHQtZm9yZWdyb3VuZC0yIGl0YWxpYyB3aGl0ZXNwYWNlLW5vcm1hbCBzbTp0cnVuY2F0ZVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZToyNDoxNVwiXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgRnVuY3Rpb24gaXMge3sgZnVuY3Rpb25SdW4uc3RhdHVzLnRvTG93ZXJDYXNlKCkgfX0uXHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPGRpdlxyXG4gICAgICAgICAgICAgICAgdi1lbHNlXHJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInRleHQtYm9keS0yeHMgdGV4dC1mb3JlZ3JvdW5kLTIgaXRhbGljIHdoaXRlc3BhY2Utbm9ybWFsIHNtOnRydW5jYXRlXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjMwOjE1XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICB7eyBmdW5jdGlvblJ1bi5zdGF0dXNNZXNzYWdlIH19XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IGZsZXgtZ3JvdyB0ZXh0LXJpZ2h0IGZsZXgtc2hyaW5rLTAgYmctcGluay0zMDAvMCBqdXN0aWZ5LWVuZCBzcGFjZS14LTIgaXRlbXMtY2VudGVyXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjM3OjEzXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgIHYtaWY9XCJhdHRhY2htZW50cyAmJiBhdHRhY2htZW50cy5sZW5ndGggIT09IDBcIlxyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJmbGV4IHNwYWNlLXgtMSBzaHJpbmsgaXRlbXMtY2VudGVyXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjQwOjE1XCJcclxuICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IHYtaWY9XCJhdHRhY2htZW50cy5sZW5ndGggPT09IDFcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9hdXRvbWF0ZS9ydW5zL3RyaWdnZXItc3RhdHVzL2RpYWxvZy9GdW5jdGlvblJ1bi52dWU6NDQ6MTdcIj5cclxuICAgICAgICAgICAgICAgICAgPEF1dG9tYXRlUnVuc0F0dGFjaG1lbnRCdXR0b25cclxuICAgICAgICAgICAgICAgICAgICA6YmxvYi1pZD1cImF0dGFjaG1lbnRzWzBdXCJcclxuICAgICAgICAgICAgICAgICAgICA6cHJvamVjdC1pZD1cInByb2plY3RJZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cInhzXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlOjQ1OjE5XCJcclxuICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPEZvcm1CdXR0b25cclxuICAgICAgICAgICAgICAgICAgdi1pZj1cImF0dGFjaG1lbnRzLmxlbmd0aCA+IDFcIlxyXG4gICAgICAgICAgICAgICAgICBzaXplPVwic21cIlxyXG4gICAgICAgICAgICAgICAgICBjb2xvcj1cIm91dGxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICBjbGFzcz1cIm10LTFcIlxyXG4gICAgICAgICAgICAgICAgICBAY2xpY2s9XCJzaG93QXR0YWNobWVudERpYWxvZyA9IHRydWVcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9hdXRvbWF0ZS9ydW5zL3RyaWdnZXItc3RhdHVzL2RpYWxvZy9GdW5jdGlvblJ1bi52dWU6NTE6MTdcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICB7eyBhdHRhY2htZW50cy5sZW5ndGggfX0gYXR0YWNobWVudHNcclxuICAgICAgICAgICAgICAgIDwvRm9ybUJ1dHRvbj5cclxuICAgICAgICAgICAgICAgIDxMYXlvdXREaWFsb2dcclxuICAgICAgICAgICAgICAgICAgdi1tb2RlbDpvcGVuPVwic2hvd0F0dGFjaG1lbnREaWFsb2dcIlxyXG4gICAgICAgICAgICAgICAgICA6dGl0bGU9XCJgJHtcclxuICAgICAgICAgICAgICAgICAgICBmdW5jdGlvblJ1bi5mdW5jdGlvbj8ubmFtZSB8fCAnVW5rbm93biBmdW5jdGlvbidcclxuICAgICAgICAgICAgICAgICAgfSBhdHRhY2htZW50c2BcIlxyXG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg9XCJzbVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZTo2MDoxN1wiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgdi1mb3I9XCJpZCBpbiBhdHRhY2htZW50c1wiIDprZXk9XCJpZFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZTo2NzoxOVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxBdXRvbWF0ZVJ1bnNBdHRhY2htZW50QnV0dG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICA6YmxvYi1pZD1cImlkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIDpyZXN0cmljdC13aWR0aD1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgIDpwcm9qZWN0LWlkPVwicHJvamVjdElkXCJcclxuICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJ4c1wiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2F1dG9tYXRlL3J1bnMvdHJpZ2dlci1zdGF0dXMvZGlhbG9nL0Z1bmN0aW9uUnVuLnZ1ZTo2ODoyMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgLz5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L0xheW91dERpYWxvZz5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8Rm9ybUJ1dHRvblxyXG4gICAgICAgIHYtaWY9XCJmdW5jdGlvblJ1bi5jb250ZXh0Vmlld1wiXHJcbiAgICAgICAgc2l6ZT1cInNtXCJcclxuICAgICAgICBjb2xvcj1cIm91dGxpbmVcIlxyXG4gICAgICAgIDp0bz1cImZ1bmN0aW9uUnVuLmNvbnRleHRWaWV3XCJcclxuICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9hdXRvbWF0ZS9ydW5zL3RyaWdnZXItc3RhdHVzL2RpYWxvZy9GdW5jdGlvblJ1bi52dWU6ODI6N1wiXHJcbiAgICAgID5cclxuICAgICAgICBWaWV3IHJlc3VsdHNcclxuICAgICAgPC9Gb3JtQnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc2V0dXAgbGFuZz1cInRzXCI+XHJcbmltcG9ydCB7IHVzZVJ1blN0YXR1c01ldGFkYXRhIH0gZnJvbSAnfi9saWIvYXV0b21hdGUvY29tcG9zYWJsZXMvcnVuU3RhdHVzJ1xyXG5pbXBvcnQgeyB1c2VBdXRvbWF0aW9uRnVuY3Rpb25SdW5SZXN1bHRzIH0gZnJvbSAnfi9saWIvYXV0b21hdGUvY29tcG9zYWJsZXMvcnVucydcclxuaW1wb3J0IHsgZ3JhcGhxbCB9IGZyb20gJ34vbGliL2NvbW1vbi9nZW5lcmF0ZWQvZ3FsJ1xyXG5pbXBvcnQge1xyXG4gIEF1dG9tYXRlUnVuU3RhdHVzLFxyXG4gIHR5cGUgQXV0b21hdGVSdW5zVHJpZ2dlclN0YXR1c0RpYWxvZ0Z1bmN0aW9uUnVuX0F1dG9tYXRlRnVuY3Rpb25SdW5GcmFnbWVudFxyXG59IGZyb20gJ35+L2xpYi9jb21tb24vZ2VuZXJhdGVkL2dxbC9ncmFwaHFsJ1xyXG5cclxuZ3JhcGhxbChgXHJcbiAgZnJhZ21lbnQgQXV0b21hdGVSdW5zVHJpZ2dlclN0YXR1c0RpYWxvZ0Z1bmN0aW9uUnVuX0F1dG9tYXRlRnVuY3Rpb25SdW4gb24gQXV0b21hdGVGdW5jdGlvblJ1biB7XHJcbiAgICBpZFxyXG4gICAgcmVzdWx0c1xyXG4gICAgc3RhdHVzXHJcbiAgICBzdGF0dXNNZXNzYWdlXHJcbiAgICBjb250ZXh0Vmlld1xyXG4gICAgZnVuY3Rpb24ge1xyXG4gICAgICBpZFxyXG4gICAgICBsb2dvXHJcbiAgICAgIG5hbWVcclxuICAgIH1cclxuICAgIGNyZWF0ZWRBdFxyXG4gICAgdXBkYXRlZEF0XHJcbiAgfVxyXG5gKVxyXG5cclxuY29uc3QgcHJvcHMgPSBkZWZpbmVQcm9wczx7XHJcbiAgZnVuY3Rpb25SdW46IEF1dG9tYXRlUnVuc1RyaWdnZXJTdGF0dXNEaWFsb2dGdW5jdGlvblJ1bl9BdXRvbWF0ZUZ1bmN0aW9uUnVuRnJhZ21lbnRcclxuICBhdXRvbWF0aW9uTmFtZT86IHN0cmluZ1xyXG4gIHByb2plY3RJZDogc3RyaW5nXHJcbiAgbW9kZWxJZDogc3RyaW5nXHJcbiAgdmVyc2lvbklkPzogc3RyaW5nXHJcbn0+KClcclxuXHJcbmNvbnN0IHsgbWV0YWRhdGE6IHN0YXR1c01ldGFEYXRhIH0gPSB1c2VSdW5TdGF0dXNNZXRhZGF0YSh7XHJcbiAgc3RhdHVzOiBjb21wdXRlZCgoKSA9PiBwcm9wcy5mdW5jdGlvblJ1bi5zdGF0dXMpXHJcbn0pXHJcbmNvbnN0IHJlc3VsdHMgPSB1c2VBdXRvbWF0aW9uRnVuY3Rpb25SdW5SZXN1bHRzKHtcclxuICByZXN1bHRzOiBjb21wdXRlZCgoKSA9PiBwcm9wcy5mdW5jdGlvblJ1bi5yZXN1bHRzKVxyXG59KVxyXG5cclxuY29uc3Qgc2hvd0F0dGFjaG1lbnREaWFsb2cgPSByZWYoZmFsc2UpXHJcblxyXG5jb25zdCBhdHRhY2htZW50cyA9IGNvbXB1dGVkKCgpID0+IHJlc3VsdHMudmFsdWU/LnZhbHVlcy5ibG9iSWRzIHx8IFtdKVxyXG5cclxuY29uc3QgaXNTdGFydGluZ09yUnVubmluZyA9IGNvbXB1dGVkKCgpID0+XHJcbiAgKFxyXG4gICAgW1xyXG4gICAgICBBdXRvbWF0ZVJ1blN0YXR1cy5Jbml0aWFsaXppbmcsXHJcbiAgICAgIEF1dG9tYXRlUnVuU3RhdHVzLlJ1bm5pbmcsXHJcbiAgICAgIEF1dG9tYXRlUnVuU3RhdHVzLlBlbmRpbmdcclxuICAgIF0gYXMgc3RyaW5nW11cclxuICApLmluY2x1ZGVzKHByb3BzLmZ1bmN0aW9uUnVuLnN0YXR1cylcclxuKVxyXG48L3NjcmlwdD5cclxuIl0sImZpbGUiOiJEOi9zcGVja2xlLXNlcnZlci9wYWNrYWdlcy9mcm9udGVuZC0yL2NvbXBvbmVudHMvYXV0b21hdGUvcnVucy90cmlnZ2VyLXN0YXR1cy9kaWFsb2cvRnVuY3Rpb25SdW4udnVlIn0= |