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

252 lines
21 KiB
Plaintext

import { createHotContext as __vite__createHotContext } from "/_nuxt/@vite/client";import.meta.hot = __vite__createHotContext("/components/header/nav/notifications/Notifications.vue");import { default as __nuxt_component_0 } from "/_nuxt/components/header/nav/notifications/ProjectInvite.vue";
import { default as __nuxt_component_1 } from "/_nuxt/components/header/nav/notifications/WorkspaceInvite.vue";
/* Injection by vite-plugin-vue-inspector Start */
import { createElementVNode as __createElementVNode,createElementBlock as __createElementBlock,createBlock as __createBlock,createVNode as __createVNode } 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 _createElementVNode(...args) { return _interopVNode(__createElementVNode(...args)) }
function _createElementBlock(...args) { return _interopVNode(__createElementBlock(...args)) }
function _createBlock(...args) { return _interopVNode(__createBlock(...args)) }
function _createVNode(...args) { return _interopVNode(__createVNode(...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 { Menu, MenuButton, MenuItem, MenuItems } from "/_nuxt/node_modules/@headlessui/vue/dist/headlessui.esm.js?v=e4f18c29";
import { XMarkIcon, BellIcon } from "/_nuxt/node_modules/.cache/vite/client/deps/@heroicons_vue_24_outline.js?v=e4f18c29";
import { useQuery } from "/_nuxt/node_modules/@vue/apollo-composable/dist/index.mjs?v=e4f18c29";
import {
navigationProjectInvitesQuery,
navigationWorkspaceInvitesQuery
} from "/_nuxt/lib/navigation/graphql/queries.ts";
import { useId, computed } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
import { useIsWorkspacesEnabled } from "/_nuxt/composables/globals.ts";
const _sfc_main = /* @__PURE__ */ _defineComponent({
__name: "HeaderNavNotifications",
setup(__props, { expose: __expose }) {
__expose();
const menuButtonId = useId();
const isWorkspacesEnabled = useIsWorkspacesEnabled();
const { result: projectInviteResult } = useQuery(navigationProjectInvitesQuery);
const { result: workspaceInviteResult } = useQuery(
navigationWorkspaceInvitesQuery,
null,
{ enabled: isWorkspacesEnabled.value }
);
const projectsInvites = computed(
() => projectInviteResult.value?.activeUser?.projectInvites
);
const workspacesInvites = computed(() => {
const invites = workspaceInviteResult.value?.activeUser?.workspaceInvites;
return invites?.filter((invite) => {
return !projectsInvites.value?.some(
(projectInvite) => projectInvite.id === invite.id
);
}) || [];
});
const hasNotifications = computed(
() => projectsInvites.value?.length || workspacesInvites.value?.length
);
const __returned__ = { menuButtonId, isWorkspacesEnabled, projectInviteResult, workspaceInviteResult, projectsInvites, workspacesInvites, hasNotifications, get Menu() {
return Menu;
}, get MenuButton() {
return MenuButton;
}, get MenuItem() {
return MenuItem;
}, get MenuItems() {
return MenuItems;
}, get XMarkIcon() {
return XMarkIcon;
}, get BellIcon() {
return BellIcon;
} };
Object.defineProperty(__returned__, "__isScriptSetup", { enumerable: false, value: true });
return __returned__;
}
});
import { openBlock as _openBlock, createCommentVNode as _createCommentVNode, normalizeClass as _normalizeClass, withCtx as _withCtx, renderList as _renderList, Fragment as _Fragment, resolveComponent as _resolveComponent, Transition as _Transition } from "/_nuxt/node_modules/vue/dist/vue.runtime.esm-bundler.js?v=e4f18c29";
const _hoisted_1 = { "data-v-inspector": "components/header/nav/notifications/Notifications.vue:2:3" };
const _hoisted_2 = {
class: "relative",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:10:11"
};
const _hoisted_3 = {
key: 0,
class: "absolute -top-[4px] -right-[4px] size-2 bg-danger rounded-full",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:11:13"
};
const _hoisted_4 = {
key: 0,
class: "px-3.5 pt-2 pb-2.5 text-body-xs text-foreground-2 text-center",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:33:11"
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
const _component_HeaderNavNotificationsProjectInvite = __nuxt_component_0;
const _component_HeaderNavNotificationsWorkspaceInvite = __nuxt_component_1;
return _openBlock(), _createElementBlock("div", _hoisted_1, [
_createVNode($setup["Menu"], {
as: "div",
class: "flex items-center",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:3:5"
}, {
default: _withCtx(() => [
_createVNode($setup["MenuButton"], {
id: $setup.menuButtonId,
as: "div",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:4:7"
}, {
default: _withCtx(({ open: menuOpen }) => [
_createElementVNode(
"div",
{
class: _normalizeClass(["relative cursor-pointer p-1 w-8 h-8 flex items-center justify-center rounded-md", menuOpen ? "border border-outline-2" : ""]),
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:5:9"
},
[
_cache[0] || (_cache[0] = _createElementVNode(
"span",
{
class: "sr-only",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:9:11"
},
"Open notifications menu",
-1
/* CACHED */
)),
_createElementVNode("div", _hoisted_2, [
!menuOpen && $setup.hasNotifications ? (_openBlock(), _createElementBlock("div", _hoisted_3)) : _createCommentVNode("v-if", true),
!menuOpen ? (_openBlock(), _createBlock($setup["BellIcon"], {
key: 1,
class: "w-5 h-5",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:16:13"
})) : (_openBlock(), _createBlock($setup["XMarkIcon"], {
key: 2,
class: "w-5 h-5",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:17:13"
}))
])
],
2
/* CLASS */
)
]),
_: 1
/* STABLE */
}, 8, ["id"]),
_createVNode(_Transition, {
"enter-active-class": "transition ease-out duration-200",
"enter-from-class": "transform opacity-0 scale-95",
"enter-to-class": "transform opacity-100 scale-100",
"leave-active-class": "transition ease-in duration-75",
"leave-from-class": "transform opacity-100 scale-100",
"leave-to-class": "transform opacity-0 scale-95",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:21:7"
}, {
default: _withCtx(() => [
_createVNode($setup["MenuItems"], {
class: "absolute z-50 right-0 md:right-20 top-10 mt-1.5 w-full sm:w-72 origin-top-right bg-foundation outline outline-2 outline-primary-muted rounded-md shadow-lg overflow-hidden pb-1",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:29:9"
}, {
default: _withCtx(() => [
_cache[1] || (_cache[1] = _createElementVNode(
"div",
{
class: "px-3.5 pt-2 text-body-xs font-medium",
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:32:11"
},
"Notifications",
-1
/* CACHED */
)),
!$setup.hasNotifications ? (_openBlock(), _createElementBlock("p", _hoisted_4, " No notifications ")) : _createCommentVNode("v-if", true),
(_openBlock(true), _createElementBlock(
_Fragment,
null,
_renderList($setup.projectsInvites, (projectInvite) => {
return _openBlock(), _createBlock(
$setup["MenuItem"],
{
key: projectInvite?.id,
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:39:11"
},
{
default: _withCtx(() => [
_createVNode(_component_HeaderNavNotificationsProjectInvite, {
invite: projectInvite,
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:40:13"
}, null, 8, ["invite"])
]),
_: 2
/* DYNAMIC */
},
1024
/* DYNAMIC_SLOTS */
);
}),
128
/* KEYED_FRAGMENT */
)),
(_openBlock(true), _createElementBlock(
_Fragment,
null,
_renderList($setup.workspacesInvites, (workspacesInvite) => {
return _openBlock(), _createBlock(
$setup["MenuItem"],
{
key: workspacesInvite?.id,
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:42:11"
},
{
default: _withCtx(() => [
_createVNode(_component_HeaderNavNotificationsWorkspaceInvite, {
invite: workspacesInvite,
"data-v-inspector": "components/header/nav/notifications/Notifications.vue:46:13"
}, null, 8, ["invite"])
]),
_: 2
/* DYNAMIC */
},
1024
/* DYNAMIC_SLOTS */
);
}),
128
/* KEYED_FRAGMENT */
))
]),
_: 1
/* STABLE */
})
]),
_: 1
/* STABLE */
})
]),
_: 1
/* STABLE */
})
]);
}
_sfc_main.__hmrId = "66c4a392";
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/notifications/Notifications.vue"]]);
//# sourceMappingURL=data:application/json;base64,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QyxrQkFBYTt5Q0FBOUI7QUFBQSxzQkFFVztBQUFBO0FBQUEsd0JBRnlDLEtBQUssZUFBZTtBQUFBLHdCQUFJLG9CQUFpQjtBQUFBOzswQ0FDM0YsTUFBOEk7QUFBQSwwQkFBOUksYUFBOEk7QUFBQSw0QkFBeEcsUUFBUTtBQUFBLDRCQUFlLG9CQUFpQjtBQUFBOzs7Ozs7Ozs7Ozs7bUNBRWhGO0FBQUEsa0JBS1c7QUFBQTtBQUFBLDhCQUprQiwwQkFBaUIsQ0FBckMscUJBQWdCO3lDQUR6QjtBQUFBLHNCQUtXO0FBQUE7QUFBQSx3QkFIUixLQUFLLGtCQUFrQjtBQUFBLHdCQUFJLG9CQUFpQjtBQUFBOzswQ0FFN0MsTUFBbUo7QUFBQSwwQkFBbkosYUFBbUo7QUFBQSw0QkFBM0csUUFBUTtBQUFBLDRCQUFrQixvQkFBaUI7QUFBQSIsIm5hbWVzIjpbXSwiaWdub3JlTGlzdCI6W10sInNvdXJjZXMiOlsiTm90aWZpY2F0aW9ucy52dWUiXSwic291cmNlc0NvbnRlbnQiOlsiPHRlbXBsYXRlPlxyXG4gIDxkaXYgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbnMudnVlOjI6M1wiPlxyXG4gICAgPE1lbnUgYXM9XCJkaXZcIiBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbnMudnVlOjM6NVwiPlxyXG4gICAgICA8TWVudUJ1dHRvbiA6aWQ9XCJtZW51QnV0dG9uSWRcIiB2LXNsb3Q9XCJ7IG9wZW46IG1lbnVPcGVuIH1cIiBhcz1cImRpdlwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25zLnZ1ZTo0OjdcIj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICBjbGFzcz1cInJlbGF0aXZlIGN1cnNvci1wb2ludGVyIHAtMSB3LTggaC04IGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHJvdW5kZWQtbWRcIlxyXG4gICAgICAgICAgOmNsYXNzPVwibWVudU9wZW4gPyAnYm9yZGVyIGJvcmRlci1vdXRsaW5lLTInIDogJydcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6NTo5XCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cInNyLW9ubHlcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6OToxMVwiPk9wZW4gbm90aWZpY2F0aW9ucyBtZW51PC9zcGFuPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJlbGF0aXZlXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbnMudnVlOjEwOjExXCI+XHJcbiAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICB2LWlmPVwiIW1lbnVPcGVuICYmIGhhc05vdGlmaWNhdGlvbnNcIlxyXG4gICAgICAgICAgICAgIGNsYXNzPVwiYWJzb2x1dGUgLXRvcC1bNHB4XSAtcmlnaHQtWzRweF0gc2l6ZS0yIGJnLWRhbmdlciByb3VuZGVkLWZ1bGxcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6MTE6MTNcIlxyXG4gICAgICAgICAgICAvPlxyXG5cclxuICAgICAgICAgICAgPEJlbGxJY29uIHYtaWY9XCIhbWVudU9wZW5cIiBjbGFzcz1cInctNSBoLTVcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6MTY6MTNcIiAvPlxyXG4gICAgICAgICAgICA8WE1hcmtJY29uIHYtZWxzZSBjbGFzcz1cInctNSBoLTVcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6MTc6MTNcIiAvPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvTWVudUJ1dHRvbj5cclxuICAgICAgPFRyYW5zaXRpb25cclxuICAgICAgICBlbnRlci1hY3RpdmUtY2xhc3M9XCJ0cmFuc2l0aW9uIGVhc2Utb3V0IGR1cmF0aW9uLTIwMFwiXHJcbiAgICAgICAgZW50ZXItZnJvbS1jbGFzcz1cInRyYW5zZm9ybSBvcGFjaXR5LTAgc2NhbGUtOTVcIlxyXG4gICAgICAgIGVudGVyLXRvLWNsYXNzPVwidHJhbnNmb3JtIG9wYWNpdHktMTAwIHNjYWxlLTEwMFwiXHJcbiAgICAgICAgbGVhdmUtYWN0aXZlLWNsYXNzPVwidHJhbnNpdGlvbiBlYXNlLWluIGR1cmF0aW9uLTc1XCJcclxuICAgICAgICBsZWF2ZS1mcm9tLWNsYXNzPVwidHJhbnNmb3JtIG9wYWNpdHktMTAwIHNjYWxlLTEwMFwiXHJcbiAgICAgICAgbGVhdmUtdG8tY2xhc3M9XCJ0cmFuc2Zvcm0gb3BhY2l0eS0wIHNjYWxlLTk1XCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbnMudnVlOjIxOjdcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPE1lbnVJdGVtc1xyXG4gICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSB6LTUwIHJpZ2h0LTAgbWQ6cmlnaHQtMjAgdG9wLTEwIG10LTEuNSB3LWZ1bGwgc206dy03MiBvcmlnaW4tdG9wLXJpZ2h0IGJnLWZvdW5kYXRpb24gb3V0bGluZSBvdXRsaW5lLTIgb3V0bGluZS1wcmltYXJ5LW11dGVkIHJvdW5kZWQtbWQgc2hhZG93LWxnIG92ZXJmbG93LWhpZGRlbiBwYi0xXCIgZGF0YS12LWluc3BlY3Rvcj1cImNvbXBvbmVudHMvaGVhZGVyL25hdi9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbnMudnVlOjI5OjlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJweC0zLjUgcHQtMiB0ZXh0LWJvZHkteHMgZm9udC1tZWRpdW1cIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6MzI6MTFcIj5Ob3RpZmljYXRpb25zPC9kaXY+XHJcbiAgICAgICAgICA8cFxyXG4gICAgICAgICAgICB2LWlmPVwiIWhhc05vdGlmaWNhdGlvbnNcIlxyXG4gICAgICAgICAgICBjbGFzcz1cInB4LTMuNSBwdC0yIHBiLTIuNSB0ZXh0LWJvZHkteHMgdGV4dC1mb3JlZ3JvdW5kLTIgdGV4dC1jZW50ZXJcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6MzM6MTFcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICBObyBub3RpZmljYXRpb25zXHJcbiAgICAgICAgICA8L3A+XHJcbiAgICAgICAgICA8TWVudUl0ZW0gdi1mb3I9XCJwcm9qZWN0SW52aXRlIGluIHByb2plY3RzSW52aXRlc1wiIDprZXk9XCJwcm9qZWN0SW52aXRlPy5pZFwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25zLnZ1ZTozOToxMVwiPlxyXG4gICAgICAgICAgICA8SGVhZGVyTmF2Tm90aWZpY2F0aW9uc1Byb2plY3RJbnZpdGUgOmludml0ZT1cInByb2plY3RJbnZpdGVcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6NDA6MTNcIiAvPlxyXG4gICAgICAgICAgPC9NZW51SXRlbT5cclxuICAgICAgICAgIDxNZW51SXRlbVxyXG4gICAgICAgICAgICB2LWZvcj1cIndvcmtzcGFjZXNJbnZpdGUgaW4gd29ya3NwYWNlc0ludml0ZXNcIlxyXG4gICAgICAgICAgICA6a2V5PVwid29ya3NwYWNlc0ludml0ZT8uaWRcIiBkYXRhLXYtaW5zcGVjdG9yPVwiY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWU6NDI6MTFcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgICA8SGVhZGVyTmF2Tm90aWZpY2F0aW9uc1dvcmtzcGFjZUludml0ZSA6aW52aXRlPVwid29ya3NwYWNlc0ludml0ZVwiIGRhdGEtdi1pbnNwZWN0b3I9XCJjb21wb25lbnRzL2hlYWRlci9uYXYvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25zLnZ1ZTo0NjoxM1wiIC8+XHJcbiAgICAgICAgICA8L01lbnVJdGVtPlxyXG4gICAgICAgIDwvTWVudUl0ZW1zPlxyXG4gICAgICA8L1RyYW5zaXRpb24+XHJcbiAgICA8L01lbnU+XHJcbiAgPC9kaXY+XHJcbjwvdGVtcGxhdGU+XHJcbjxzY3JpcHQgc2V0dXAgbGFuZz1cInRzXCI+XHJcbmltcG9ydCB7IE1lbnUsIE1lbnVCdXR0b24sIE1lbnVJdGVtLCBNZW51SXRlbXMgfSBmcm9tICdAaGVhZGxlc3N1aS92dWUnXHJcbmltcG9ydCB7IFhNYXJrSWNvbiwgQmVsbEljb24gfSBmcm9tICdAaGVyb2ljb25zL3Z1ZS8yNC9vdXRsaW5lJ1xyXG5pbXBvcnQgeyB1c2VRdWVyeSB9IGZyb20gJ0B2dWUvYXBvbGxvLWNvbXBvc2FibGUnXHJcbmltcG9ydCB7XHJcbiAgbmF2aWdhdGlvblByb2plY3RJbnZpdGVzUXVlcnksXHJcbiAgbmF2aWdhdGlvbldvcmtzcGFjZUludml0ZXNRdWVyeVxyXG59IGZyb20gJ35+L2xpYi9uYXZpZ2F0aW9uL2dyYXBocWwvcXVlcmllcydcclxuXHJcbmNvbnN0IG1lbnVCdXR0b25JZCA9IHVzZUlkKClcclxuY29uc3QgaXNXb3Jrc3BhY2VzRW5hYmxlZCA9IHVzZUlzV29ya3NwYWNlc0VuYWJsZWQoKVxyXG5cclxuY29uc3QgeyByZXN1bHQ6IHByb2plY3RJbnZpdGVSZXN1bHQgfSA9IHVzZVF1ZXJ5KG5hdmlnYXRpb25Qcm9qZWN0SW52aXRlc1F1ZXJ5KVxyXG5jb25zdCB7IHJlc3VsdDogd29ya3NwYWNlSW52aXRlUmVzdWx0IH0gPSB1c2VRdWVyeShcclxuICBuYXZpZ2F0aW9uV29ya3NwYWNlSW52aXRlc1F1ZXJ5LFxyXG4gIG51bGwsXHJcbiAgeyBlbmFibGVkOiBpc1dvcmtzcGFjZXNFbmFibGVkLnZhbHVlIH1cclxuKVxyXG5cclxuY29uc3QgcHJvamVjdHNJbnZpdGVzID0gY29tcHV0ZWQoXHJcbiAgKCkgPT4gcHJvamVjdEludml0ZVJlc3VsdC52YWx1ZT8uYWN0aXZlVXNlcj8ucHJvamVjdEludml0ZXNcclxuKVxyXG5jb25zdCB3b3Jrc3BhY2VzSW52aXRlcyA9IGNvbXB1dGVkKCgpID0+IHtcclxuICBjb25zdCBpbnZpdGVzID0gd29ya3NwYWNlSW52aXRlUmVzdWx0LnZhbHVlPy5hY3RpdmVVc2VyPy53b3Jrc3BhY2VJbnZpdGVzXHJcblxyXG4gIC8vIEZpbHRlciBvdXQgaW1wbGljaXQgd29ya3NwYWNlIGludml0ZXMgdGhhdCBhbHJlYWR5IHNob3cgdXAgYXMgcHJvamVjdCBpbnZpdGVzIGhlcmUgKHNhbWUgSUQpXHJcbiAgcmV0dXJuIChcclxuICAgIGludml0ZXM/LmZpbHRlcigoaW52aXRlKSA9PiB7XHJcbiAgICAgIHJldHVybiAhcHJvamVjdHNJbnZpdGVzLnZhbHVlPy5zb21lKFxyXG4gICAgICAgIChwcm9qZWN0SW52aXRlKSA9PiBwcm9qZWN0SW52aXRlLmlkID09PSBpbnZpdGUuaWRcclxuICAgICAgKVxyXG4gICAgfSkgfHwgW11cclxuICApXHJcbn0pXHJcblxyXG5jb25zdCBoYXNOb3RpZmljYXRpb25zID0gY29tcHV0ZWQoXHJcbiAgKCkgPT4gcHJvamVjdHNJbnZpdGVzLnZhbHVlPy5sZW5ndGggfHwgd29ya3NwYWNlc0ludml0ZXMudmFsdWU/Lmxlbmd0aFxyXG4pXHJcbjwvc2NyaXB0PlxyXG4iXSwiZmlsZSI6IkQ6L3NwZWNrbGUtc2VydmVyL3BhY2thZ2VzL2Zyb250ZW5kLTIvY29tcG9uZW50cy9oZWFkZXIvbmF2L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9ucy52dWUifQ==