Files
speckle-server/scratch/edge-debug-selection/Default/Cache/Cache_Data/f_000116
T

197 lines
16 KiB
Plaintext

import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/header/nav/Bar.vue");import { default as __nuxt_component_0 } from "/_nuxt/components/header/WorkspaceSwitcher/WorkspaceSwitcher.vue";
import { default as __nuxt_component_1 } from "/_nuxt/components/header/LogoBlock.vue";
import { default as __nuxt_component_2 } from "/_nuxt/node_modules/nuxt/dist/app/components/client-only.js?v=e4f18c29";
import { default as __nuxt_component_3 } from "/_nuxt/components/header/nav/notifications/Notifications.vue";
import { FormButton as __nuxt_component_4 } from "/_nuxt/@fs/D:/speckle-server/packages/ui-components/dist/lib.js";
import { default as __nuxt_component_5 } from "/_nuxt/components/header/nav/UserMenu.vue";
import { default as __nuxt_component_6 } from "/_nuxt/components/popups/SignIn.vue";
/* Injection by vite-plugin-vue-inspector Start */
import { createBlock as __createBlock,createElementVNode as __createElementVNode,createVNode as __createVNode,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 _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) }
function _createVNode(...args) { return _interopVNode(__createVNode(...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 { useActiveUser } from "/_nuxt/lib/auth/composables/activeUser.ts";
import { loginRoute } from "/_nuxt/lib/common/helpers/route.ts";
import { useIsWorkspacesEnabled } from "/_nuxt/composables/globals.ts";
import { useRoute, useRouter } from "/_nuxt/node_modules/nuxt/dist/app/composables/router.js?v=e4f18c29";
import { computed } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
const _sfc_main = /* @__PURE__ */ _defineComponent({
__name: "HeaderNavBar",
props: {
hideUserNav: { type: Boolean, required: false }
},
setup(__props, { expose: __expose }) {
__expose();
const isWorkspacesEnabled = useIsWorkspacesEnabled();
const { activeUser, isLoggedIn } = useActiveUser();
const route = useRoute();
const router = useRouter();
const token = computed(() => route.query.token);
const loginUrl = computed(
() => router.resolve({
path: loginRoute,
query: {
token: token.value || void 0
}
})
);
const __returned__ = { isWorkspacesEnabled, activeUser, isLoggedIn, route, router, token, loginUrl };
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
return __returned__;
}
});
import { resolveComponent as _resolveComponent, openBlock as _openBlock, createCommentVNode as _createCommentVNode, withCtx as _withCtx, createTextVNode as _createTextVNode, } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
const _hoisted_1 = { "data-v-inspector": "components/header/nav/Bar.vue:2:3" };
const _hoisted_2 = {
class: "fixed z-40 top-0 h-12 bg-foundation border-b border-outline-2",
"data-v-inspector": "components/header/nav/Bar.vue:3:5"
};
const _hoisted_3 = {
class: "flex gap-4 items-center justify-between h-full w-screen px-2 lg:pl-1.5",
"data-v-inspector": "components/header/nav/Bar.vue:4:7"
};
const _hoisted_4 = {
class: "hidden lg:flex lg:w-52",
"data-v-inspector": "components/header/nav/Bar.vue:7:9"
};
const _hoisted_5 = {
class: "flex items-center truncate",
"data-v-inspector": "components/header/nav/Bar.vue:16:9"
};
const _hoisted_6 = {
class: "flex items-center justify-end gap-2.5 sm:gap-2 lg:w-52",
"data-v-inspector": "components/header/nav/Bar.vue:24:9"
};
const _hoisted_7 = {
key: 1,
class: "flex justify-end items-center gap-x-2",
"data-v-inspector": "components/header/nav/Bar.vue:30:11"
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_HeaderWorkspaceSwitcher = __nuxt_component_0;
const _component_HeaderLogoBlock = __nuxt_component_1;
const _component_PortalTarget = _resolveComponent("PortalTarget");
const _component_ClientOnly = __nuxt_component_2;
const _component_HeaderNavNotifications = __nuxt_component_3;
const _component_FormButton = __nuxt_component_4;
const _component_HeaderNavUserMenu = __nuxt_component_5;
const _component_PopupsSignIn = __nuxt_component_6;
return _openBlock(), _createElementBlock("div", _hoisted_1, [
_createElementVNode("nav", _hoisted_2, [
_createElementVNode("div", _hoisted_3, [
_createElementVNode("div", _hoisted_4, [
$setup.isWorkspacesEnabled && $setup.isLoggedIn ? (_openBlock(), _createBlock(_component_HeaderWorkspaceSwitcher, {
key: 0,
"data-v-inspector": "components/header/nav/Bar.vue:8:11"
})) : (_openBlock(), _createBlock(_component_HeaderLogoBlock, {
key: 1,
active: false,
to: "/",
class: "hidden lg:flex lg:min-w-40",
"data-v-inspector": "components/header/nav/Bar.vue:9:11"
}))
]),
_createElementVNode("div", _hoisted_5, [
_createVNode(_component_ClientOnly, { "data-v-inspector": "components/header/nav/Bar.vue:17:11" }, {
default: _withCtx(() => [
_createVNode(_component_PortalTarget, {
name: "mobile-navigation",
"data-v-inspector": "components/header/nav/Bar.vue:18:13"
})
]),
_: 1
/* STABLE */
}),
_createVNode(_component_ClientOnly, { "data-v-inspector": "components/header/nav/Bar.vue:20:11" }, {
default: _withCtx(() => [
_createVNode(_component_PortalTarget, {
name: "navigation",
"data-v-inspector": "components/header/nav/Bar.vue:21:13"
})
]),
_: 1
/* STABLE */
})
]),
_createElementVNode("div", _hoisted_6, [
_createVNode(_component_ClientOnly, { "data-v-inspector": "components/header/nav/Bar.vue:25:11" }, {
default: _withCtx(() => [
_createVNode(_component_PortalTarget, {
name: "secondary-actions",
"data-v-inspector": "components/header/nav/Bar.vue:26:13"
}),
_createVNode(_component_PortalTarget, {
name: "primary-actions",
"data-v-inspector": "components/header/nav/Bar.vue:27:13"
})
]),
_: 1
/* STABLE */
}),
$setup.isLoggedIn ? (_openBlock(), _createBlock(_component_HeaderNavNotifications, {
key: 0,
"data-v-inspector": "components/header/nav/Bar.vue:29:11"
})) : _createCommentVNode("v-if", true),
!$props.hideUserNav ? (_openBlock(), _createElementBlock("div", _hoisted_7, [
!$setup.activeUser ? (_openBlock(), _createBlock(_component_FormButton, {
key: 0,
to: $setup.loginUrl.fullPath,
color: "outline",
class: "hidden md:flex",
"data-v-inspector": "components/header/nav/Bar.vue:31:13"
}, {
default: _withCtx(() => [..._cache[0] || (_cache[0] = [
_createTextVNode(
" Sign in ",
-1
/* CACHED */
)
])]),
_: 1
/* STABLE */
}, 8, ["to"])) : _createCommentVNode("v-if", true),
_createCommentVNode(" Profile dropdown "),
_createVNode(_component_HeaderNavUserMenu, {
"login-url": $setup.loginUrl,
"data-v-inspector": "components/header/nav/Bar.vue:40:13"
}, null, 8, ["login-url"])
])) : _createCommentVNode("v-if", true)
])
])
]),
!$setup.activeUser ? (_openBlock(), _createBlock(_component_PopupsSignIn, {
key: 0,
"data-v-inspector": "components/header/nav/Bar.vue:45:5"
})) : _createCommentVNode("v-if", true)
]);
}
_sfc_main.__hmrId = "0cbfb435";
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/header/nav/Bar.vue"]]);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFnREEsU0FBUyxxQkFBcUI7QUFDOUIsU0FBUyxrQkFBa0I7Ozs7Ozs7Ozs7OztBQU8zQixVQUFNLHNCQUFzQix1QkFBdUI7QUFDbkQsVUFBTSxFQUFFLFlBQVksV0FBVyxJQUFJLGNBQWM7QUFDakQsVUFBTSxRQUFRLFNBQVM7QUFDdkIsVUFBTSxTQUFTLFVBQVU7QUFFekIsVUFBTSxRQUFRLFNBQVMsTUFBTSxNQUFNLE1BQU0sS0FBeUI7QUFFbEUsVUFBTSxXQUFXO0FBQUEsTUFBUyxNQUN4QixPQUFPLFFBQVE7QUFBQSxRQUNiLE1BQU07QUFBQSxRQUNOLE9BQU87QUFBQSxVQUNMLE9BQU8sTUFBTSxTQUFTO0FBQUEsUUFDeEI7QUFBQSxNQUNGLENBQUM7QUFBQSxJQUNIOzs7Ozs7O3FCQXJFTyxvQkFBaUIsb0NBQW1DOztFQUNsRCxPQUFNO0FBQUEsRUFBZ0Usb0JBQWlCOzs7RUFFeEYsT0FBTTtBQUFBLEVBQXlFLG9CQUFpQjs7O0VBRTNGLE9BQU07QUFBQSxFQUF5QixvQkFBaUI7OztFQVNoRCxPQUFNO0FBQUEsRUFBNkIsb0JBQWlCOzs7RUFRcEQsT0FBTTtBQUFBLEVBQXlELG9CQUFpQjs7OztFQU0xRCxPQUFNO0FBQUEsRUFBd0Msb0JBQWlCOzs7Ozs7Ozs7Ozt1QkE1QmhHLG9CQTRDTSxPQTVDTixZQTRDTTtBQUFBLElBM0NKLG9CQXlDTSxPQXpDTixZQXlDTTtBQUFBLE1BeENKLG9CQXVDTSxPQXZDTixZQXVDTTtBQUFBLFFBcENKLG9CQVFNLE9BUk4sWUFRTTtBQUFBLFVBUDJCLDhCQUF1QixtQ0FBdEQsYUFBMEg7QUFBQTtZQUF4RCxvQkFBaUI7QUFBQSwrQkFDbkYsYUFLRTtBQUFBO1lBSEMsUUFBUTtBQUFBLFlBQ1QsSUFBRztBQUFBLFlBQ0gsT0FBTTtBQUFBLFlBQTZCLG9CQUFpQjtBQUFBOztRQUd4RCxvQkFPTSxPQVBOLFlBT007QUFBQSxVQU5KLGFBRWEseUJBRkQsb0JBQWlCLHNDQUFxQztBQUFBLDhCQUNoRSxNQUE2RztBQUFBLGNBQTdHLGFBQTZHO0FBQUEsZ0JBQS9GLE1BQUs7QUFBQSxnQkFBb0Isb0JBQWlCO0FBQUE7Ozs7O1VBRTFELGFBRWEseUJBRkQsb0JBQWlCLHNDQUFxQztBQUFBLDhCQUNoRSxNQUFzRztBQUFBLGNBQXRHLGFBQXNHO0FBQUEsZ0JBQXhGLE1BQUs7QUFBQSxnQkFBYSxvQkFBaUI7QUFBQTs7Ozs7O1FBR3JELG9CQWtCTSxPQWxCTixZQWtCTTtBQUFBLFVBakJKLGFBR2EseUJBSEQsb0JBQWlCLHNDQUFxQztBQUFBLDhCQUNoRSxNQUE2RztBQUFBLGNBQTdHLGFBQTZHO0FBQUEsZ0JBQS9GLE1BQUs7QUFBQSxnQkFBb0Isb0JBQWlCO0FBQUE7Y0FDeEQsYUFBMkc7QUFBQSxnQkFBN0YsTUFBSztBQUFBLGdCQUFrQixvQkFBaUI7QUFBQTs7Ozs7VUFFMUIsbUNBQTlCLGFBQW1HO0FBQUE7WUFBekQsb0JBQWlCO0FBQUE7V0FDL0Msb0NBQVosb0JBV00sT0FYTixZQVdNO0FBQUEsYUFUSyxtQ0FEVCxhQU9hO0FBQUE7Y0FMVixJQUFJLGdCQUFTO0FBQUEsY0FDZCxPQUFNO0FBQUEsY0FDTixPQUFNO0FBQUEsY0FBaUIsb0JBQWlCO0FBQUE7Z0NBQ3pDLE1BRUQ7QUFBQTtrQkFGQztBQUFBLGtCQUVEO0FBQUE7QUFBQTtBQUFBOzs7O1lBQ0E7QUFBQSxZQUNBLGFBQWtHO0FBQUEsY0FBOUUsYUFBVztBQUFBLGNBQVUsb0JBQWlCO0FBQUE7Ozs7O0tBSzdDLG1DQUFyQixhQUF5RjtBQUFBO01BQXhELG9CQUFpQjtBQUFBIiwibmFtZXMiOltdLCJpZ25vcmVMaXN0IjpbXSwic291cmNlcyI6WyJCYXIudnVlIl0sInNvdXJjZXNDb250ZW50IjpbIjx0ZW1wbGF0ZT5cclxuICA8ZGl2IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToyOjNcIj5cclxuICAgIDxuYXYgY2xhc3M9XCJmaXhlZCB6LTQwIHRvcC0wIGgtMTIgYmctZm91bmRhdGlvbiBib3JkZXItYiBib3JkZXItb3V0bGluZS0yXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjM6NVwiPlxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJmbGV4IGdhcC00IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWJldHdlZW4gaC1mdWxsIHctc2NyZWVuIHB4LTIgbGc6cGwtMS41XCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjQ6N1wiXHJcbiAgICAgID5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaGlkZGVuIGxnOmZsZXggbGc6dy01MlwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTo3OjlcIj5cclxuICAgICAgICAgIDxIZWFkZXJXb3Jrc3BhY2VTd2l0Y2hlciB2LWlmPVwiaXNXb3Jrc3BhY2VzRW5hYmxlZCAmJiBpc0xvZ2dlZEluXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjg6MTFcIiAvPlxyXG4gICAgICAgICAgPEhlYWRlckxvZ29CbG9ja1xyXG4gICAgICAgICAgICB2LWVsc2VcclxuICAgICAgICAgICAgOmFjdGl2ZT1cImZhbHNlXCJcclxuICAgICAgICAgICAgdG89XCIvXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4gbGc6ZmxleCBsZzptaW4tdy00MFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTo5OjExXCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIHRydW5jYXRlXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjE2OjlcIj5cclxuICAgICAgICAgIDxDbGllbnRPbmx5IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToxNzoxMVwiPlxyXG4gICAgICAgICAgICA8UG9ydGFsVGFyZ2V0IG5hbWU9XCJtb2JpbGUtbmF2aWdhdGlvblwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToxODoxM1wiPjwvUG9ydGFsVGFyZ2V0PlxyXG4gICAgICAgICAgPC9DbGllbnRPbmx5PlxyXG4gICAgICAgICAgPENsaWVudE9ubHkgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjIwOjExXCI+XHJcbiAgICAgICAgICAgIDxQb3J0YWxUYXJnZXQgbmFtZT1cIm5hdmlnYXRpb25cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L0Jhci52dWU6MjE6MTNcIj48L1BvcnRhbFRhcmdldD5cclxuICAgICAgICAgIDwvQ2xpZW50T25seT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1lbmQgZ2FwLTIuNSBzbTpnYXAtMiBsZzp3LTUyXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjI0OjlcIj5cclxuICAgICAgICAgIDxDbGllbnRPbmx5IGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToyNToxMVwiPlxyXG4gICAgICAgICAgICA8UG9ydGFsVGFyZ2V0IG5hbWU9XCJzZWNvbmRhcnktYWN0aW9uc1wiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZToyNjoxM1wiPjwvUG9ydGFsVGFyZ2V0PlxyXG4gICAgICAgICAgICA8UG9ydGFsVGFyZ2V0IG5hbWU9XCJwcmltYXJ5LWFjdGlvbnNcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L0Jhci52dWU6Mjc6MTNcIj48L1BvcnRhbFRhcmdldD5cclxuICAgICAgICAgIDwvQ2xpZW50T25seT5cclxuICAgICAgICAgIDxIZWFkZXJOYXZOb3RpZmljYXRpb25zIHYtaWY9XCJpc0xvZ2dlZEluXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjI5OjExXCIgLz5cclxuICAgICAgICAgIDxkaXYgdi1pZj1cIiFoaWRlVXNlck5hdlwiIGNsYXNzPVwiZmxleCBqdXN0aWZ5LWVuZCBpdGVtcy1jZW50ZXIgZ2FwLXgtMlwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTozMDoxMVwiPlxyXG4gICAgICAgICAgICA8Rm9ybUJ1dHRvblxyXG4gICAgICAgICAgICAgIHYtaWY9XCIhYWN0aXZlVXNlclwiXHJcbiAgICAgICAgICAgICAgOnRvPVwibG9naW5VcmwuZnVsbFBhdGhcIlxyXG4gICAgICAgICAgICAgIGNvbG9yPVwib3V0bGluZVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJoaWRkZW4gbWQ6ZmxleFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvQmFyLnZ1ZTozMToxM1wiXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgICBTaWduIGluXHJcbiAgICAgICAgICAgIDwvRm9ybUJ1dHRvbj5cclxuICAgICAgICAgICAgPCEtLSBQcm9maWxlIGRyb3Bkb3duIC0tPlxyXG4gICAgICAgICAgICA8SGVhZGVyTmF2VXNlck1lbnUgOmxvZ2luLXVybD1cImxvZ2luVXJsXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlOjQwOjEzXCIgLz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmF2PlxyXG4gICAgPFBvcHVwc1NpZ25JbiB2LWlmPVwiIWFjdGl2ZVVzZXJcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L0Jhci52dWU6NDU6NVwiIC8+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc2V0dXAgbGFuZz1cInRzXCI+XHJcbmltcG9ydCB7IHVzZUFjdGl2ZVVzZXIgfSBmcm9tICd+fi9saWIvYXV0aC9jb21wb3NhYmxlcy9hY3RpdmVVc2VyJ1xyXG5pbXBvcnQgeyBsb2dpblJvdXRlIH0gZnJvbSAnfn4vbGliL2NvbW1vbi9oZWxwZXJzL3JvdXRlJ1xyXG5pbXBvcnQgdHlwZSB7IE9wdGlvbmFsIH0gZnJvbSAnQHNwZWNrbGUvc2hhcmVkJ1xyXG5cclxuZGVmaW5lUHJvcHM8e1xyXG4gIGhpZGVVc2VyTmF2PzogYm9vbGVhblxyXG59PigpXHJcblxyXG5jb25zdCBpc1dvcmtzcGFjZXNFbmFibGVkID0gdXNlSXNXb3Jrc3BhY2VzRW5hYmxlZCgpXHJcbmNvbnN0IHsgYWN0aXZlVXNlciwgaXNMb2dnZWRJbiB9ID0gdXNlQWN0aXZlVXNlcigpXHJcbmNvbnN0IHJvdXRlID0gdXNlUm91dGUoKVxyXG5jb25zdCByb3V0ZXIgPSB1c2VSb3V0ZXIoKVxyXG5cclxuY29uc3QgdG9rZW4gPSBjb21wdXRlZCgoKSA9PiByb3V0ZS5xdWVyeS50b2tlbiBhcyBPcHRpb25hbDxzdHJpbmc+KVxyXG5cclxuY29uc3QgbG9naW5VcmwgPSBjb21wdXRlZCgoKSA9PlxyXG4gIHJvdXRlci5yZXNvbHZlKHtcclxuICAgIHBhdGg6IGxvZ2luUm91dGUsXHJcbiAgICBxdWVyeToge1xyXG4gICAgICB0b2tlbjogdG9rZW4udmFsdWUgfHwgdW5kZWZpbmVkXHJcbiAgICB9XHJcbiAgfSlcclxuKVxyXG48L3NjcmlwdD5cclxuIl0sImZpbGUiOiJEOi9zcGVja2xlLXNlcnZlci9wYWNrYWdlcy9mcm9udGVuZC0yL2NvbXBvbmVudHMvaGVhZGVyL25hdi9CYXIudnVlIn0=