UNPKG

payload

Version:

Node, React and MongoDB Headless CMS and Application Framework

219 lines (218 loc) • 23.1 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); Object.defineProperty(exports, "default", { enumerable: true, get: function() { return _default; } }); const _modal = require("@faceless-ui/modal"); const _react = /*#__PURE__*/ _interop_require_wildcard(require("react")); const _reacti18next = require("react-i18next"); const _getTranslation = require("../../../../utilities/getTranslation"); const _Form = /*#__PURE__*/ _interop_require_default(require("../../forms/Form")); const _context = require("../../forms/Form/context"); const _RenderFields = /*#__PURE__*/ _interop_require_default(require("../../forms/RenderFields")); const _Submit = /*#__PURE__*/ _interop_require_default(require("../../forms/Submit")); const _fieldtypes = require("../../forms/field-types"); const _X = /*#__PURE__*/ _interop_require_default(require("../../icons/X")); const _Auth = require("../../utilities/Auth"); const _Config = require("../../utilities/Config"); const _DocumentInfo = require("../../utilities/DocumentInfo"); const _OperationProvider = require("../../utilities/OperationProvider"); const _SelectionProvider = require("../../views/collections/List/SelectionProvider"); const _Drawer = require("../Drawer"); const _FieldSelect = require("../FieldSelect"); require("./index.scss"); function _interop_require_default(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); } function _interop_require_wildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = { __proto__: null }; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for(var key in obj){ if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; } const baseClass = 'edit-many'; const Submit = ({ action, disabled })=>{ const { submit } = (0, _context.useForm)(); const { t } = (0, _reacti18next.useTranslation)('general'); const save = (0, _react.useCallback)(()=>{ submit({ action, method: 'PATCH', skipValidation: true }); }, [ action, submit ]); return /*#__PURE__*/ _react.default.createElement(_Submit.default, { className: `${baseClass}__save`, disabled: disabled, onClick: save }, t('save')); }; const Publish = ({ action, disabled })=>{ const { submit } = (0, _context.useForm)(); const { t } = (0, _reacti18next.useTranslation)('version'); const save = (0, _react.useCallback)(()=>{ submit({ action, method: 'PATCH', overrides: { _status: 'published' }, skipValidation: true }); }, [ action, submit ]); return /*#__PURE__*/ _react.default.createElement(_Submit.default, { className: `${baseClass}__publish`, disabled: disabled, onClick: save }, t('publishChanges')); }; const SaveDraft = ({ action, disabled })=>{ const { submit } = (0, _context.useForm)(); const { t } = (0, _reacti18next.useTranslation)('version'); const save = (0, _react.useCallback)(()=>{ submit({ action, method: 'PATCH', overrides: { _status: 'draft' }, skipValidation: true }); }, [ action, submit ]); return /*#__PURE__*/ _react.default.createElement(_Submit.default, { className: `${baseClass}__draft`, disabled: disabled, onClick: save }, t('saveDraft')); }; const EditMany = (props)=>{ const { collection: { fields, labels: { plural }, slug } = {}, collection, resetParams } = props; const { permissions } = (0, _Auth.useAuth)(); const { closeModal } = (0, _modal.useModal)(); const { routes: { api }, serverURL } = (0, _Config.useConfig)(); const { count, getQueryParams, selectAll } = (0, _SelectionProvider.useSelection)(); const { i18n, t } = (0, _reacti18next.useTranslation)('general'); const [selected, setSelected] = (0, _react.useState)([]); const collectionPermissions = permissions?.collections?.[slug]; const hasUpdatePermission = collectionPermissions?.update?.permission; const drawerSlug = `edit-${slug}`; if (selectAll === _SelectionProvider.SelectAllStatus.None || !hasUpdatePermission) { return null; } const onSuccess = ()=>{ resetParams({ page: selectAll === _SelectionProvider.SelectAllStatus.AllAvailable ? 1 : undefined }); }; return /*#__PURE__*/ _react.default.createElement("div", { className: baseClass }, /*#__PURE__*/ _react.default.createElement(_Drawer.DrawerToggler, { "aria-label": t('edit'), className: `${baseClass}__toggle`, onClick: ()=>{ setSelected([]); }, slug: drawerSlug }, t('edit')), /*#__PURE__*/ _react.default.createElement(_Drawer.Drawer, { header: null, slug: drawerSlug }, /*#__PURE__*/ _react.default.createElement(_DocumentInfo.DocumentInfoProvider, { collection: collection }, /*#__PURE__*/ _react.default.createElement(_OperationProvider.OperationContext.Provider, { value: "update" }, /*#__PURE__*/ _react.default.createElement(_Form.default, { className: `${baseClass}__form`, onSuccess: onSuccess }, /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__main` }, /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__header` }, /*#__PURE__*/ _react.default.createElement("h2", { className: `${baseClass}__header__title` }, t('editingLabel', { count, label: (0, _getTranslation.getTranslation)(plural, i18n) })), /*#__PURE__*/ _react.default.createElement("button", { "aria-label": t('close'), className: `${baseClass}__header__close`, id: `close-drawer__${drawerSlug}`, onClick: ()=>closeModal(drawerSlug), type: "button" }, /*#__PURE__*/ _react.default.createElement(_X.default, null))), /*#__PURE__*/ _react.default.createElement(_FieldSelect.FieldSelect, { fields: fields, setSelected: setSelected }), /*#__PURE__*/ _react.default.createElement(_RenderFields.default, { fieldSchema: selected, fieldTypes: _fieldtypes.fieldTypes }), /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__sidebar-wrap` }, /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__sidebar` }, /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__sidebar-sticky-wrap` }, /*#__PURE__*/ _react.default.createElement("div", { className: `${baseClass}__document-actions` }, collection.versions ? /*#__PURE__*/ _react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/ _react.default.createElement(Publish, { action: `${serverURL}${api}/${slug}${getQueryParams()}`, disabled: selected.length === 0 }), /*#__PURE__*/ _react.default.createElement(SaveDraft, { action: `${serverURL}${api}/${slug}${getQueryParams()}`, disabled: selected.length === 0 })) : /*#__PURE__*/ _react.default.createElement(Submit, { action: `${serverURL}${api}/${slug}${getQueryParams()}`, disabled: selected.length === 0 }))))))))))); }; const _default = EditMany; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0VkaXRNYW55L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VNb2RhbCB9IGZyb20gJ0BmYWNlbGVzcy11aS9tb2RhbCdcbmltcG9ydCBSZWFjdCwgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQcm9wcyB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGdldFRyYW5zbGF0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbGl0aWVzL2dldFRyYW5zbGF0aW9uJ1xuaW1wb3J0IEZvcm0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybSdcbmltcG9ydCB7IHVzZUZvcm0gfSBmcm9tICcuLi8uLi9mb3Jtcy9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgUmVuZGVyRmllbGRzIGZyb20gJy4uLy4uL2Zvcm1zL1JlbmRlckZpZWxkcydcbmltcG9ydCBGb3JtU3VibWl0IGZyb20gJy4uLy4uL2Zvcm1zL1N1Ym1pdCdcbmltcG9ydCB7IGZpZWxkVHlwZXMgfSBmcm9tICcuLi8uLi9mb3Jtcy9maWVsZC10eXBlcydcbmltcG9ydCBYIGZyb20gJy4uLy4uL2ljb25zL1gnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgRG9jdW1lbnRJbmZvUHJvdmlkZXIgfSBmcm9tICcuLi8uLi91dGlsaXRpZXMvRG9jdW1lbnRJbmZvJ1xuaW1wb3J0IHsgT3BlcmF0aW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9PcGVyYXRpb25Qcm92aWRlcidcbmltcG9ydCB7IFNlbGVjdEFsbFN0YXR1cywgdXNlU2VsZWN0aW9uIH0gZnJvbSAnLi4vLi4vdmlld3MvY29sbGVjdGlvbnMvTGlzdC9TZWxlY3Rpb25Qcm92aWRlcidcbmltcG9ydCB7IERyYXdlciwgRHJhd2VyVG9nZ2xlciB9IGZyb20gJy4uL0RyYXdlcidcbmltcG9ydCB7IEZpZWxkU2VsZWN0IH0gZnJvbSAnLi4vRmllbGRTZWxlY3QnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2VkaXQtbWFueSdcblxuY29uc3QgU3VibWl0OiBSZWFjdC5GQzx7IGFjdGlvbjogc3RyaW5nOyBkaXNhYmxlZDogYm9vbGVhbiB9PiA9ICh7IGFjdGlvbiwgZGlzYWJsZWQgfSkgPT4ge1xuICBjb25zdCB7IHN1Ym1pdCB9ID0gdXNlRm9ybSgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGNvbnN0IHNhdmUgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc3VibWl0KHtcbiAgICAgIGFjdGlvbixcbiAgICAgIG1ldGhvZDogJ1BBVENIJyxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3NhdmVgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3NhdmUnKX1cbiAgICA8L0Zvcm1TdWJtaXQ+XG4gIClcbn1cbmNvbnN0IFB1Ymxpc2g6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigndmVyc2lvbicpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdwdWJsaXNoZWQnLFxuICAgICAgfSxcbiAgICAgIHNraXBWYWxpZGF0aW9uOiB0cnVlLFxuICAgIH0pXG4gIH0sIFthY3Rpb24sIHN1Ym1pdF0pXG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN1Ym1pdCBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3B1Ymxpc2hgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3B1Ymxpc2hDaGFuZ2VzJyl9XG4gICAgPC9Gb3JtU3VibWl0PlxuICApXG59XG5jb25zdCBTYXZlRHJhZnQ6IFJlYWN0LkZDPHsgYWN0aW9uOiBzdHJpbmc7IGRpc2FibGVkOiBib29sZWFuIH0+ID0gKHsgYWN0aW9uLCBkaXNhYmxlZCB9KSA9PiB7XG4gIGNvbnN0IHsgc3VibWl0IH0gPSB1c2VGb3JtKClcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbigndmVyc2lvbicpXG5cbiAgY29uc3Qgc2F2ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzdWJtaXQoe1xuICAgICAgYWN0aW9uLFxuICAgICAgbWV0aG9kOiAnUEFUQ0gnLFxuICAgICAgb3ZlcnJpZGVzOiB7XG4gICAgICAgIF9zdGF0dXM6ICdkcmFmdCcsXG4gICAgICB9LFxuICAgICAgc2tpcFZhbGlkYXRpb246IHRydWUsXG4gICAgfSlcbiAgfSwgW2FjdGlvbiwgc3VibWl0XSlcblxuICByZXR1cm4gKFxuICAgIDxGb3JtU3VibWl0IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fZHJhZnRgfSBkaXNhYmxlZD17ZGlzYWJsZWR9IG9uQ2xpY2s9e3NhdmV9PlxuICAgICAge3QoJ3NhdmVEcmFmdCcpfVxuICAgIDwvRm9ybVN1Ym1pdD5cbiAgKVxufVxuY29uc3QgRWRpdE1hbnk6IFJlYWN0LkZDPFByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IGNvbGxlY3Rpb246IHsgZmllbGRzLCBsYWJlbHM6IHsgcGx1cmFsIH0sIHNsdWcgfSA9IHt9LCBjb2xsZWN0aW9uLCByZXNldFBhcmFtcyB9ID0gcHJvcHNcblxuICBjb25zdCB7IHBlcm1pc3Npb25zIH0gPSB1c2VBdXRoKClcbiAgY29uc3QgeyBjbG9zZU1vZGFsIH0gPSB1c2VNb2RhbCgpXG4gIGNvbnN0IHtcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgeyBjb3VudCwgZ2V0UXVlcnlQYXJhbXMsIHNlbGVjdEFsbCB9ID0gdXNlU2VsZWN0aW9uKClcbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZ2VuZXJhbCcpXG4gIGNvbnN0IFtzZWxlY3RlZCwgc2V0U2VsZWN0ZWRdID0gdXNlU3RhdGUoW10pXG5cbiAgY29uc3QgY29sbGVjdGlvblBlcm1pc3Npb25zID0gcGVybWlzc2lvbnM/LmNvbGxlY3Rpb25zPy5bc2x1Z11cbiAgY29uc3QgaGFzVXBkYXRlUGVybWlzc2lvbiA9IGNvbGxlY3Rpb25QZXJtaXNzaW9ucz8udXBkYXRlPy5wZXJtaXNzaW9uXG5cbiAgY29uc3QgZHJhd2VyU2x1ZyA9IGBlZGl0LSR7c2x1Z31gXG5cbiAgaWYgKHNlbGVjdEFsbCA9PT0gU2VsZWN0QWxsU3RhdHVzLk5vbmUgfHwgIWhhc1VwZGF0ZVBlcm1pc3Npb24pIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgY29uc3Qgb25TdWNjZXNzID0gKCkgPT4ge1xuICAgIHJlc2V0UGFyYW1zKHsgcGFnZTogc2VsZWN0QWxsID09PSBTZWxlY3RBbGxTdGF0dXMuQWxsQXZhaWxhYmxlID8gMSA6IHVuZGVmaW5lZCB9KVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17YmFzZUNsYXNzfT5cbiAgICAgIDxEcmF3ZXJUb2dnbGVyXG4gICAgICAgIGFyaWEtbGFiZWw9e3QoJ2VkaXQnKX1cbiAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X190b2dnbGVgfVxuICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgc2V0U2VsZWN0ZWQoW10pXG4gICAgICAgIH19XG4gICAgICAgIHNsdWc9e2RyYXdlclNsdWd9XG4gICAgICA+XG4gICAgICAgIHt0KCdlZGl0Jyl9XG4gICAgICA8L0RyYXdlclRvZ2dsZXI+XG4gICAgICA8RHJhd2VyIGhlYWRlcj17bnVsbH0gc2x1Zz17ZHJhd2VyU2x1Z30+XG4gICAgICAgIDxEb2N1bWVudEluZm9Qcm92aWRlciBjb2xsZWN0aW9uPXtjb2xsZWN0aW9ufT5cbiAgICAgICAgICA8T3BlcmF0aW9uQ29udGV4dC5Qcm92aWRlciB2YWx1ZT1cInVwZGF0ZVwiPlxuICAgICAgICAgICAgPEZvcm0gY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19mb3JtYH0gb25TdWNjZXNzPXtvblN1Y2Nlc3N9PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbWFpbmB9PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXJgfT5cbiAgICAgICAgICAgICAgICAgIDxoMiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2hlYWRlcl9fdGl0bGVgfT5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2VkaXRpbmdMYWJlbCcsIHsgY291bnQsIGxhYmVsOiBnZXRUcmFuc2xhdGlvbihwbHVyYWwsIGkxOG4pIH0pfVxuICAgICAgICAgICAgICAgICAgPC9oMj5cbiAgICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgYXJpYS1sYWJlbD17dCgnY2xvc2UnKX1cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19oZWFkZXJfX2Nsb3NlYH1cbiAgICAgICAgICAgICAgICAgICAgaWQ9e2BjbG9zZS1kcmF3ZXJfXyR7ZHJhd2VyU2x1Z31gfVxuICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBjbG9zZU1vZGFsKGRyYXdlclNsdWcpfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFggLz5cbiAgICAgICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxGaWVsZFNlbGVjdCBmaWVsZHM9e2ZpZWxkc30gc2V0U2VsZWN0ZWQ9e3NldFNlbGVjdGVkfSAvPlxuICAgICAgICAgICAgICAgIDxSZW5kZXJGaWVsZHMgZmllbGRTY2hlbWE9e3NlbGVjdGVkfSBmaWVsZFR5cGVzPXtmaWVsZFR5cGVzfSAvPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXdyYXBgfT5cbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyYH0+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19zaWRlYmFyLXN0aWNreS13cmFwYH0+XG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2RvY3VtZW50LWFjdGlvbnNgfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtjb2xsZWN0aW9uLnZlcnNpb25zID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFB1Ymxpc2hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGlvbj17YCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9JHtnZXRRdWVyeVBhcmFtcygpfWB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17c2VsZWN0ZWQubGVuZ3RoID09PSAwfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFNhdmVEcmFmdFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uPXtgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7c2x1Z30ke2dldFF1ZXJ5UGFyYW1zKCl9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTdWJtaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhY3Rpb249e2Ake3NlcnZlclVSTH0ke2FwaX0vJHtzbHVnfSR7Z2V0UXVlcnlQYXJhbXMoKX1gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtzZWxlY3RlZC5sZW5ndGggPT09IDB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICA8L09wZXJhdGlvbkNvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvRG9jdW1lbnRJbmZvUHJvdmlkZXI+XG4gICAgICA8L0RyYXdlcj5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCBFZGl0TWFueVxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIlN1Ym1pdCIsImFjdGlvbiIsImRpc2FibGVkIiwic3VibWl0IiwidXNlRm9ybSIsInQiLCJ1c2VUcmFuc2xhdGlvbiIsInNhdmUiLCJ1c2VDYWxsYmFjayIsIm1ldGhvZCIsInNraXBWYWxpZGF0aW9uIiwiRm9ybVN1Ym1pdCIsImNsYXNzTmFtZSIsIm9uQ2xpY2siLCJQdWJsaXNoIiwib3ZlcnJpZGVzIiwiX3N0YXR1cyIsIlNhdmVEcmFmdCIsIkVkaXRNYW55IiwicHJvcHMiLCJjb2xsZWN0aW9uIiwiZmllbGRzIiwibGFiZWxzIiwicGx1cmFsIiwic2x1ZyIsInJlc2V0UGFyYW1zIiwicGVybWlzc2lvbnMiLCJ1c2VBdXRoIiwiY2xvc2VNb2RhbCIsInVzZU1vZGFsIiwicm91dGVzIiwiYXBpIiwic2VydmVyVVJMIiwidXNlQ29uZmlnIiwiY291bnQiLCJnZXRRdWVyeVBhcmFtcyIsInNlbGVjdEFsbCIsInVzZVNlbGVjdGlvbiIsImkxOG4iLCJzZWxlY3RlZCIsInNldFNlbGVjdGVkIiwidXNlU3RhdGUiLCJjb2xsZWN0aW9uUGVybWlzc2lvbnMiLCJjb2xsZWN0aW9ucyIsImhhc1VwZGF0ZVBlcm1pc3Npb24iLCJ1cGRhdGUiLCJwZXJtaXNzaW9uIiwiZHJhd2VyU2x1ZyIsIlNlbGVjdEFsbFN0YXR1cyIsIk5vbmUiLCJvblN1Y2Nlc3MiLCJwYWdlIiwiQWxsQXZhaWxhYmxlIiwidW5kZWZpbmVkIiwiZGl2IiwiRHJhd2VyVG9nZ2xlciIsImFyaWEtbGFiZWwiLCJEcmF3ZXIiLCJoZWFkZXIiLCJEb2N1bWVudEluZm9Qcm92aWRlciIsIk9wZXJhdGlvbkNvbnRleHQiLCJQcm92aWRlciIsInZhbHVlIiwiRm9ybSIsImgyIiwibGFiZWwiLCJnZXRUcmFuc2xhdGlvbiIsImJ1dHRvbiIsImlkIiwidHlwZSIsIlgiLCJGaWVsZFNlbGVjdCIsIlJlbmRlckZpZWxkcyIsImZpZWxkU2NoZW1hIiwiZmllbGRUeXBlcyIsInZlcnNpb25zIiwiUmVhY3Qi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