payload 2.2.2 → 2.3.0
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/components/hooks.d.ts +1 -0
- package/components/hooks.js +5 -1
- package/dist/admin/Root.d.ts.map +1 -1
- package/dist/admin/Root.js +3 -2
- package/dist/admin/components/elements/DuplicateDocument/index.d.ts.map +1 -1
- package/dist/admin/components/elements/DuplicateDocument/index.js +22 -11
- package/dist/admin/components/forms/field-types/Relationship/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Relationship/index.js +12 -4
- package/dist/admin/components/forms/field-types/RichText/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/RichText/index.js +5 -4
- package/dist/admin/components/forms/field-types/RichText/types.d.ts +5 -0
- package/dist/admin/components/forms/field-types/RichText/types.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Tabs/index.d.ts.map +1 -1
- package/dist/admin/components/forms/field-types/Tabs/index.js +3 -3
- package/dist/admin/components/utilities/DocumentEvents/index.d.ts +10 -0
- package/dist/admin/components/utilities/DocumentEvents/index.d.ts.map +1 -0
- package/dist/admin/components/utilities/DocumentEvents/index.js +74 -0
- package/dist/admin/components/utilities/DocumentEvents/types.d.ts +10 -0
- package/dist/admin/components/utilities/DocumentEvents/types.d.ts.map +1 -0
- package/dist/admin/components/utilities/DocumentEvents/types.js +6 -0
- package/dist/admin/components/views/Global/index.d.ts.map +1 -1
- package/dist/admin/components/views/Global/index.js +10 -2
- package/dist/admin/components/views/LivePreview/Preview/index.d.ts.map +1 -1
- package/dist/admin/components/views/LivePreview/Preview/index.js +6 -2
- package/dist/admin/components/views/collections/Edit/Default.d.ts.map +1 -1
- package/dist/admin/components/views/collections/Edit/Default.js +11 -2
- package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.d.ts.map +1 -1
- package/dist/admin/components/views/collections/List/Cell/field-types/Richtext/index.js +3 -2
- package/dist/auth/getExtractJWT.d.ts.map +1 -1
- package/dist/auth/getExtractJWT.js +22 -15
- package/dist/database/migrations/readMigrationFiles.d.ts.map +1 -1
- package/dist/database/migrations/readMigrationFiles.js +9 -4
- package/dist/database/queryValidation/validateQueryPaths.d.ts.map +1 -1
- package/dist/database/queryValidation/validateQueryPaths.js +9 -2
- package/dist/database/queryValidation/validateSearchParams.d.ts.map +1 -1
- package/dist/database/queryValidation/validateSearchParams.js +24 -9
- package/dist/exports/components/hooks.d.ts +1 -0
- package/dist/exports/components/hooks.d.ts.map +1 -1
- package/dist/exports/components/hooks.js +5 -1
- package/dist/exports/types.d.ts +1 -1
- package/dist/exports/types.d.ts.map +1 -1
- package/dist/exports/types.js +1 -1
- package/dist/exports/utilities.d.ts +2 -0
- package/dist/exports/utilities.d.ts.map +1 -1
- package/dist/exports/utilities.js +9 -1
- package/dist/fields/config/schema.d.ts.map +1 -1
- package/dist/fields/config/schema.js +7 -2
- package/dist/fields/config/types.d.ts +24 -10
- package/dist/fields/config/types.d.ts.map +1 -1
- package/dist/fields/config/types.js +1 -1
- package/dist/fields/hooks/afterRead/promise.d.ts +3 -1
- package/dist/fields/hooks/afterRead/promise.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/promise.js +33 -13
- package/dist/fields/hooks/afterRead/traverseFields.d.ts +3 -1
- package/dist/fields/hooks/afterRead/traverseFields.d.ts.map +1 -1
- package/dist/fields/hooks/afterRead/traverseFields.js +5 -3
- package/dist/graphql/schema/buildObjectType.d.ts.map +1 -1
- package/dist/graphql/schema/buildObjectType.js +6 -1
- package/dist/translations/en.json +2 -0
- package/dist/translations/index.d.ts +746 -0
- package/dist/translations/index.d.ts.map +1 -1
- package/dist/translations/index.js +5 -1
- package/dist/translations/rs-latin.json +372 -0
- package/dist/translations/rs.json +372 -0
- package/dist/translations/translation-schema.json +8 -0
- package/dist/utilities/fieldSchemaToJSON.js +2 -2
- package/dist/utilities/telemetry/events/adminInit.js +3 -3
- package/package.json +1 -1
- package/types.d.ts +1 -1
- package/types.js +1 -1
- package/utilities.d.ts +2 -0
- package/utilities.js +9 -1
package/components/hooks.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { useStepNav } from '../dist/admin/components/elements/StepNav';
|
|
2
2
|
export { useTableColumns } from '../dist/admin/components/elements/TableColumns';
|
|
3
|
+
export { useDocumentEvents } from '../dist/admin/components/utilities/DocumentEvents';
|
|
3
4
|
export { default as useDebounce } from '../dist/admin/hooks/useDebounce';
|
|
4
5
|
export { useDebouncedCallback } from '../dist/admin/hooks/useDebouncedCallback';
|
|
5
6
|
export { useDelay } from '../dist/admin/hooks/useDelay';
|
package/components/hooks.js
CHANGED
|
@@ -15,6 +15,9 @@ _export(exports, {
|
|
|
15
15
|
useTableColumns: function() {
|
|
16
16
|
return _TableColumns.useTableColumns;
|
|
17
17
|
},
|
|
18
|
+
useDocumentEvents: function() {
|
|
19
|
+
return _DocumentEvents.useDocumentEvents;
|
|
20
|
+
},
|
|
18
21
|
useDebounce: function() {
|
|
19
22
|
return _useDebounce.default;
|
|
20
23
|
},
|
|
@@ -54,6 +57,7 @@ _export(exports, {
|
|
|
54
57
|
});
|
|
55
58
|
const _StepNav = require("../dist/admin/components/elements/StepNav");
|
|
56
59
|
const _TableColumns = require("../dist/admin/components/elements/TableColumns");
|
|
60
|
+
const _DocumentEvents = require("../dist/admin/components/utilities/DocumentEvents");
|
|
57
61
|
const _useDebounce = /*#__PURE__*/ _interop_require_default(require("../dist/admin/hooks/useDebounce"));
|
|
58
62
|
const _useDebouncedCallback = require("../dist/admin/hooks/useDebouncedCallback");
|
|
59
63
|
const _useDelay = require("../dist/admin/hooks/useDelay");
|
|
@@ -110,4 +114,4 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
110
114
|
return newObj;
|
|
111
115
|
}
|
|
112
116
|
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
117
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9leHBvcnRzL2NvbXBvbmVudHMvaG9va3MudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgdXNlU3RlcE5hdiB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZWxlbWVudHMvU3RlcE5hdidcbmV4cG9ydCB7IHVzZVRhYmxlQ29sdW1ucyB9IGZyb20gJy4uLy4uL2FkbWluL2NvbXBvbmVudHMvZWxlbWVudHMvVGFibGVDb2x1bW5zJ1xuZXhwb3J0IHsgdXNlRG9jdW1lbnRFdmVudHMgfSBmcm9tICcuLi8uLi9hZG1pbi9jb21wb25lbnRzL3V0aWxpdGllcy9Eb2N1bWVudEV2ZW50cydcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdXNlRGVib3VuY2UgfSBmcm9tICcuLi8uLi9hZG1pbi9ob29rcy91c2VEZWJvdW5jZSdcbmV4cG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vYWRtaW4vaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snXG5leHBvcnQgeyB1c2VEZWxheSB9IGZyb20gJy4uLy4uL2FkbWluL2hvb2tzL3VzZURlbGF5J1xuZXhwb3J0IHsgdXNlRGVsYXllZFJlbmRlciB9IGZyb20gJy4uLy4uL2FkbWluL2hvb2tzL3VzZURlbGF5ZWRSZW5kZXInXG5leHBvcnQgeyBkZWZhdWx0IGFzIHVzZUhvdGtleSB9IGZyb20gJy4uLy4uL2FkbWluL2hvb2tzL3VzZUhvdGtleSdcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdXNlSW50ZXJzZWN0IH0gZnJvbSAnLi4vLi4vYWRtaW4vaG9va3MvdXNlSW50ZXJzZWN0J1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB1c2VNb3VudEVmZmVjdCB9IGZyb20gJy4uLy4uL2FkbWluL2hvb2tzL3VzZU1vdW50RWZmZWN0J1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB1c2VQYXlsb2FkQVBJIH0gZnJvbSAnLi4vLi4vYWRtaW4vaG9va3MvdXNlUGF5bG9hZEFQSSdcbmV4cG9ydCB7IGRlZmF1bHQgYXMgdXNlVGhyb3R0bGVkRWZmZWN0IH0gZnJvbSAnLi4vLi4vYWRtaW4vaG9va3MvdXNlVGhyb3R0bGVkRWZmZWN0J1xuZXhwb3J0IHsgZGVmYXVsdCBhcyB1c2VUaHVtYm5haWwgfSBmcm9tICcuLi8uLi9hZG1pbi9ob29rcy91c2VUaHVtYm5haWwnXG5leHBvcnQgeyBkZWZhdWx0IGFzIHVzZVRpdGxlLCBmb3JtYXRVc2VBc1RpdGxlIH0gZnJvbSAnLi4vLi4vYWRtaW4vaG9va3MvdXNlVGl0bGUnXG4iXSwibmFtZXMiOlsidXNlU3RlcE5hdiIsInVzZVRhYmxlQ29sdW1ucyIsInVzZURvY3VtZW50RXZlbnRzIiwidXNlRGVib3VuY2UiLCJ1c2VEZWJvdW5jZWRDYWxsYmFjayIsInVzZURlbGF5IiwidXNlRGVsYXllZFJlbmRlciIsInVzZUhvdGtleSIsInVzZUludGVyc2VjdCIsInVzZU1vdW50RWZmZWN0IiwidXNlUGF5bG9hZEFQSSIsInVzZVRocm90dGxlZEVmZmVjdCIsInVzZVRodW1ibmFpbCIsInVzZVRpdGxlIiwiZm9ybWF0VXNlQXNUaXRsZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7SUFBU0EsVUFBVTtlQUFWQSxtQkFBVTs7SUFDVkMsZUFBZTtlQUFmQSw2QkFBZTs7SUFDZkMsaUJBQWlCO2VBQWpCQSxpQ0FBaUI7O0lBQ05DLFdBQVc7ZUFBWEEsb0JBQVc7O0lBQ3RCQyxvQkFBb0I7ZUFBcEJBLDBDQUFvQjs7SUFDcEJDLFFBQVE7ZUFBUkEsa0JBQVE7O0lBQ1JDLGdCQUFnQjtlQUFoQkEsa0NBQWdCOztJQUNMQyxTQUFTO2VBQVRBLGtCQUFTOztJQUNUQyxZQUFZO2VBQVpBLHFCQUFZOztJQUNaQyxjQUFjO2VBQWRBLHVCQUFjOztJQUNkQyxhQUFhO2VBQWJBLHNCQUFhOztJQUNiQyxrQkFBa0I7ZUFBbEJBLDJCQUFrQjs7SUFDbEJDLFlBQVk7ZUFBWkEscUJBQVk7O0lBQ1pDLFFBQVE7ZUFBUkEsaUJBQVE7O0lBQUVDLGdCQUFnQjtlQUFoQkEsMEJBQWdCOzs7eUJBYm5COzhCQUNLO2dDQUNFO29FQUNLO3NDQUNGOzBCQUNaO2tDQUNRO2tFQUNJO3FFQUNHO3VFQUNFO3NFQUNEOzJFQUNLO3FFQUNOO2tFQUNjIn0=
|
package/dist/admin/Root.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../src/admin/Root.tsx"],"names":[],"mappings":"AAOA,OAAO,MAAM,MAAM,gBAAgB,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"Root.d.ts","sourceRoot":"","sources":["../../src/admin/Root.tsx"],"names":[],"mappings":"AAOA,OAAO,MAAM,MAAM,gBAAgB,CAAA;AACnC,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAetD,OAAO,iBAAiB,CAAA;AAExB,QAAA,MAAM,IAAI,+BAAgC;IAAE,MAAM,CAAC,EAAE,eAAe,CAAA;CAAE,sBA8CrE,CAAA;AAED,eAAe,IAAI,CAAA"}
|
package/dist/admin/Root.js
CHANGED
|
@@ -21,6 +21,7 @@ const _StepNav = require("./components/elements/StepNav");
|
|
|
21
21
|
const _Auth = require("./components/utilities/Auth");
|
|
22
22
|
const _Config = require("./components/utilities/Config");
|
|
23
23
|
const _CustomProvider = require("./components/utilities/CustomProvider");
|
|
24
|
+
const _DocumentEvents = require("./components/utilities/DocumentEvents");
|
|
24
25
|
const _I18n = require("./components/utilities/I18n");
|
|
25
26
|
const _LoadingOverlay = require("./components/utilities/LoadingOverlay");
|
|
26
27
|
const _Locale = require("./components/utilities/Locale");
|
|
@@ -48,7 +49,7 @@ const Root = ({ config: incomingConfig })=>{
|
|
|
48
49
|
classPrefix: "payload",
|
|
49
50
|
transTime: 0,
|
|
50
51
|
zIndex: "var(--z-modal)"
|
|
51
|
-
}, /*#__PURE__*/ _react.default.createElement(_Auth.AuthProvider, null, /*#__PURE__*/ _react.default.createElement(_Preferences.PreferencesProvider, null, /*#__PURE__*/ _react.default.createElement(_Theme.ThemeProvider, null, /*#__PURE__*/ _react.default.createElement(_SearchParams.SearchParamsProvider, null, /*#__PURE__*/ _react.default.createElement(_Locale.LocaleProvider, null, /*#__PURE__*/ _react.default.createElement(_StepNav.StepNavProvider, null, /*#__PURE__*/ _react.default.createElement(_LoadingOverlay.LoadingOverlayProvider, null, /*#__PURE__*/ _react.default.createElement(_context.NavProvider, null, /*#__PURE__*/ _react.default.createElement(_CustomProvider.CustomProvider, null, /*#__PURE__*/ _react.default.createElement(_Routes.Routes, null)))))))), /*#__PURE__*/ _react.default.createElement(_modal.ModalContainer, null)))))))), /*#__PURE__*/ _react.default.createElement(_reacttoastify.ToastContainer, {
|
|
52
|
+
}, /*#__PURE__*/ _react.default.createElement(_Auth.AuthProvider, null, /*#__PURE__*/ _react.default.createElement(_Preferences.PreferencesProvider, null, /*#__PURE__*/ _react.default.createElement(_Theme.ThemeProvider, null, /*#__PURE__*/ _react.default.createElement(_SearchParams.SearchParamsProvider, null, /*#__PURE__*/ _react.default.createElement(_Locale.LocaleProvider, null, /*#__PURE__*/ _react.default.createElement(_StepNav.StepNavProvider, null, /*#__PURE__*/ _react.default.createElement(_LoadingOverlay.LoadingOverlayProvider, null, /*#__PURE__*/ _react.default.createElement(_DocumentEvents.DocumentEventsProvider, null, /*#__PURE__*/ _react.default.createElement(_context.NavProvider, null, /*#__PURE__*/ _react.default.createElement(_CustomProvider.CustomProvider, null, /*#__PURE__*/ _react.default.createElement(_Routes.Routes, null))))))))), /*#__PURE__*/ _react.default.createElement(_modal.ModalContainer, null)))))))), /*#__PURE__*/ _react.default.createElement(_reacttoastify.ToastContainer, {
|
|
52
53
|
icon: false,
|
|
53
54
|
position: "bottom-center",
|
|
54
55
|
transition: _reacttoastify.Slide
|
|
@@ -56,4 +57,4 @@ const Root = ({ config: incomingConfig })=>{
|
|
|
56
57
|
};
|
|
57
58
|
const _default = Root;
|
|
58
59
|
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hZG1pbi9Sb290LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIGNsaWVudCdcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuaW1wb3J0IHsgTW9kYWxDb250YWluZXIsIE1vZGFsUHJvdmlkZXIgfSBmcm9tICdAZmFjZWxlc3MtdWkvbW9kYWwnXG5pbXBvcnQgeyBTY3JvbGxJbmZvUHJvdmlkZXIgfSBmcm9tICdAZmFjZWxlc3MtdWkvc2Nyb2xsLWluZm8nXG5pbXBvcnQgeyBXaW5kb3dJbmZvUHJvdmlkZXIgfSBmcm9tICdAZmFjZWxlc3MtdWkvd2luZG93LWluZm8nXG4vLyBAdHMtaWdub3JlIC0gbmVlZCB0byBkbyB0aGlzIGJlY2F1c2UgdGhpcyBmaWxlIGRvZXNuJ3QgYWN0dWFsbHkgZXhpc3RcbmltcG9ydCBjb25maWcgZnJvbSAncGF5bG9hZC1jb25maWcnXG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBCcm93c2VyUm91dGVyIGFzIFJvdXRlciB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nXG5pbXBvcnQgeyBTbGlkZSwgVG9hc3RDb250YWluZXIgfSBmcm9tICdyZWFjdC10b2FzdGlmeSdcblxuaW1wb3J0IHR5cGUgeyBTYW5pdGl6ZWRDb25maWcgfSBmcm9tICcuLi9jb25maWcvdHlwZXMnXG5cbmltcG9ydCB7IE5hdlByb3ZpZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL2VsZW1lbnRzL05hdi9jb250ZXh0J1xuaW1wb3J0IHsgU3RlcE5hdlByb3ZpZGVyIH0gZnJvbSAnLi9jb21wb25lbnRzL2VsZW1lbnRzL1N0ZXBOYXYnXG5pbXBvcnQgeyBBdXRoUHJvdmlkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyBDb25maWdQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgQ3VzdG9tUHJvdmlkZXIgfSBmcm9tICcuL2NvbXBvbmVudHMvdXRpbGl0aWVzL0N1c3RvbVByb3ZpZGVyJ1xuaW1wb3J0IHsgRG9jdW1lbnRFdmVudHNQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvRG9jdW1lbnRFdmVudHMnXG5pbXBvcnQgeyBJMThuIH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxpdGllcy9JMThuJ1xuaW1wb3J0IHsgTG9hZGluZ092ZXJsYXlQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvTG9hZGluZ092ZXJsYXknXG5pbXBvcnQgeyBMb2NhbGVQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvTG9jYWxlJ1xuaW1wb3J0IHsgUHJlZmVyZW5jZXNQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvUHJlZmVyZW5jZXMnXG5pbXBvcnQgeyBTZWFyY2hQYXJhbXNQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvU2VhcmNoUGFyYW1zJ1xuaW1wb3J0IHsgVGhlbWVQcm92aWRlciB9IGZyb20gJy4vY29tcG9uZW50cy91dGlsaXRpZXMvVGhlbWUnXG5pbXBvcnQgeyBSb3V0ZXMgfSBmcm9tICcuL2NvbXBvbmVudHMvdmlld3MvUm91dGVzJ1xuaW1wb3J0ICcuL3Njc3MvYXBwLnNjc3MnXG5cbmNvbnN0IFJvb3QgPSAoeyBjb25maWc6IGluY29taW5nQ29uZmlnIH06IHsgY29uZmlnPzogU2FuaXRpemVkQ29uZmlnIH0pID0+IHtcbiAgcmV0dXJuIChcbiAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICA8Q29uZmlnUHJvdmlkZXIgY29uZmlnPXtpbmNvbWluZ0NvbmZpZyB8fCBjb25maWd9PlxuICAgICAgICA8STE4biAvPlxuICAgICAgICA8V2luZG93SW5mb1Byb3ZpZGVyXG4gICAgICAgICAgYnJlYWtwb2ludHM9e3tcbiAgICAgICAgICAgIGw6ICcobWF4LXdpZHRoOiAxNDQwcHgpJyxcbiAgICAgICAgICAgIG06ICcobWF4LXdpZHRoOiAxMDI0cHgpJyxcbiAgICAgICAgICAgIHM6ICcobWF4LXdpZHRoOiA3NjhweCknLFxuICAgICAgICAgICAgeHM6ICcobWF4LXdpZHRoOiA0MDBweCknLFxuICAgICAgICAgIH19XG4gICAgICAgID5cbiAgICAgICAgICA8U2Nyb2xsSW5mb1Byb3ZpZGVyPlxuICAgICAgICAgICAgPFJvdXRlcj5cbiAgICAgICAgICAgICAgPE1vZGFsUHJvdmlkZXIgY2xhc3NQcmVmaXg9XCJwYXlsb2FkXCIgdHJhbnNUaW1lPXswfSB6SW5kZXg9XCJ2YXIoLS16LW1vZGFsKVwiPlxuICAgICAgICAgICAgICAgIDxBdXRoUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICA8UHJlZmVyZW5jZXNQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPFNlYXJjaFBhcmFtc1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPExvY2FsZVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICA8U3RlcE5hdlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxMb2FkaW5nT3ZlcmxheVByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPERvY3VtZW50RXZlbnRzUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxOYXZQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Q3VzdG9tUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Um91dGVzIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9DdXN0b21Qcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9OYXZQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvRG9jdW1lbnRFdmVudHNQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L0xvYWRpbmdPdmVybGF5UHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvU3RlcE5hdlByb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPC9Mb2NhbGVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8L1NlYXJjaFBhcmFtc1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgICAgIDxNb2RhbENvbnRhaW5lciAvPlxuICAgICAgICAgICAgICAgICAgPC9QcmVmZXJlbmNlc1Byb3ZpZGVyPlxuICAgICAgICAgICAgICAgIDwvQXV0aFByb3ZpZGVyPlxuICAgICAgICAgICAgICA8L01vZGFsUHJvdmlkZXI+XG4gICAgICAgICAgICA8L1JvdXRlcj5cbiAgICAgICAgICA8L1Njcm9sbEluZm9Qcm92aWRlcj5cbiAgICAgICAgPC9XaW5kb3dJbmZvUHJvdmlkZXI+XG4gICAgICA8L0NvbmZpZ1Byb3ZpZGVyPlxuICAgICAgPFRvYXN0Q29udGFpbmVyIGljb249e2ZhbHNlfSBwb3NpdGlvbj1cImJvdHRvbS1jZW50ZXJcIiB0cmFuc2l0aW9uPXtTbGlkZX0gLz5cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFJvb3RcbiJdLCJuYW1lcyI6WyJSb290IiwiY29uZmlnIiwiaW5jb21pbmdDb25maWciLCJSZWFjdCIsIkZyYWdtZW50IiwiQ29uZmlnUHJvdmlkZXIiLCJJMThuIiwiV2luZG93SW5mb1Byb3ZpZGVyIiwiYnJlYWtwb2ludHMiLCJsIiwibSIsInMiLCJ4cyIsIlNjcm9sbEluZm9Qcm92aWRlciIsIlJvdXRlciIsIk1vZGFsUHJvdmlkZXIiLCJjbGFzc1ByZWZpeCIsInRyYW5zVGltZSIsInpJbmRleCIsIkF1dGhQcm92aWRlciIsIlByZWZlcmVuY2VzUHJvdmlkZXIiLCJUaGVtZVByb3ZpZGVyIiwiU2VhcmNoUGFyYW1zUHJvdmlkZXIiLCJMb2NhbGVQcm92aWRlciIsIlN0ZXBOYXZQcm92aWRlciIsIkxvYWRpbmdPdmVybGF5UHJvdmlkZXIiLCJEb2N1bWVudEV2ZW50c1Byb3ZpZGVyIiwiTmF2UHJvdmlkZXIiLCJDdXN0b21Qcm92aWRlciIsIlJvdXRlcyIsIk1vZGFsQ29udGFpbmVyIiwiVG9hc3RDb250YWluZXIiLCJpY29uIiwicG9zaXRpb24iLCJ0cmFuc2l0aW9uIiwiU2xpZGUiXSwibWFwcGluZ3MiOiJBQUFBOzs7OzsrQkE2RUE7OztlQUFBOzs7dUJBMUU4Qzs0QkFDWDs0QkFDQTtzRUFFaEI7OERBQ0Q7Z0NBQ3NCOytCQUNGO3lCQUlWO3lCQUNJO3NCQUNIO3dCQUNFO2dDQUNBO2dDQUNRO3NCQUNsQjtnQ0FDa0I7d0JBQ1I7NkJBQ0s7OEJBQ0M7dUJBQ1A7d0JBQ1A7UUFDaEI7Ozs7OztBQUVQLE1BQU1BLE9BQU8sQ0FBQyxFQUFFQyxRQUFRQyxjQUFjLEVBQWdDO0lBQ3BFLHFCQUNFLDZCQUFDQyxjQUFLLENBQUNDLFFBQVEsc0JBQ2IsNkJBQUNDLHNCQUFjO1FBQUNKLFFBQVFDLGtCQUFrQkQsc0JBQU07cUJBQzlDLDZCQUFDSyxVQUFJLHVCQUNMLDZCQUFDQyw4QkFBa0I7UUFDakJDLGFBQWE7WUFDWEMsR0FBRztZQUNIQyxHQUFHO1lBQ0hDLEdBQUc7WUFDSEMsSUFBSTtRQUNOO3FCQUVBLDZCQUFDQyw4QkFBa0Isc0JBQ2pCLDZCQUFDQyw2QkFBTSxzQkFDTCw2QkFBQ0Msb0JBQWE7UUFBQ0MsYUFBWTtRQUFVQyxXQUFXO1FBQUdDLFFBQU87cUJBQ3hELDZCQUFDQyxrQkFBWSxzQkFDWCw2QkFBQ0MsZ0NBQW1CLHNCQUNsQiw2QkFBQ0Msb0JBQWEsc0JBQ1osNkJBQUNDLGtDQUFvQixzQkFDbkIsNkJBQUNDLHNCQUFjLHNCQUNiLDZCQUFDQyx3QkFBZSxzQkFDZCw2QkFBQ0Msc0NBQXNCLHNCQUNyQiw2QkFBQ0Msc0NBQXNCLHNCQUNyQiw2QkFBQ0Msb0JBQVcsc0JBQ1YsNkJBQUNDLDhCQUFjLHNCQUNiLDZCQUFDQyxjQUFNLCtCQVN2Qiw2QkFBQ0MscUJBQWMsOEJBUTdCLDZCQUFDQyw2QkFBYztRQUFDQyxNQUFNO1FBQU9DLFVBQVM7UUFBZ0JDLFlBQVlDLG9CQUFLOztBQUc3RTtNQUVBLFdBQWVuQyJ9
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/DuplicateDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAKpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AASpC,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/admin/components/elements/DuplicateDocument/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAKpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AASpC,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuL9B,CAAA;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -117,38 +117,39 @@ const Duplicate = ({ id, collection, slug })=>{
|
|
|
117
117
|
if (result.status === 201 || result.status === 200) {
|
|
118
118
|
return json.doc.id;
|
|
119
119
|
}
|
|
120
|
-
|
|
120
|
+
// only show the error if this is the initial request failing
|
|
121
|
+
if (!duplicateID) {
|
|
122
|
+
json.errors.forEach((error)=>_reacttoastify.toast.error(error.message));
|
|
123
|
+
}
|
|
121
124
|
return null;
|
|
122
125
|
};
|
|
123
126
|
let duplicateID;
|
|
124
127
|
let abort = false;
|
|
128
|
+
const localeErrors = [];
|
|
125
129
|
if (localization) {
|
|
126
130
|
await localization.localeCodes.reduce(async (priorLocalePatch, locale)=>{
|
|
127
131
|
await priorLocalePatch;
|
|
128
132
|
if (abort) return;
|
|
129
|
-
|
|
133
|
+
const localeResult = await saveDocument({
|
|
130
134
|
id,
|
|
131
135
|
duplicateID,
|
|
132
136
|
locale
|
|
133
137
|
});
|
|
138
|
+
duplicateID = localeResult || duplicateID;
|
|
139
|
+
if (duplicateID && !localeResult) {
|
|
140
|
+
localeErrors.push(locale);
|
|
141
|
+
}
|
|
134
142
|
if (!duplicateID) {
|
|
135
143
|
abort = true;
|
|
136
144
|
}
|
|
137
145
|
}, Promise.resolve());
|
|
138
|
-
if (abort && duplicateID) {
|
|
139
|
-
// delete the duplicate doc to prevent incomplete
|
|
140
|
-
await _api.requests.delete(`${serverURL}${api}/${slug}/${duplicateID}`, {
|
|
141
|
-
headers: {
|
|
142
|
-
'Accept-Language': i18n.language
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
146
|
} else {
|
|
147
147
|
duplicateID = await saveDocument({
|
|
148
148
|
id
|
|
149
149
|
});
|
|
150
150
|
}
|
|
151
151
|
if (!duplicateID) {
|
|
152
|
+
// document was not saved, error toast was displayed
|
|
152
153
|
return;
|
|
153
154
|
}
|
|
154
155
|
_reacttoastify.toast.success(t('successfullyDuplicated', {
|
|
@@ -156,6 +157,16 @@ const Duplicate = ({ id, collection, slug })=>{
|
|
|
156
157
|
}), {
|
|
157
158
|
autoClose: 3000
|
|
158
159
|
});
|
|
160
|
+
if (localeErrors.length > 0) {
|
|
161
|
+
_reacttoastify.toast.error(`
|
|
162
|
+
${t('error:localesNotSaved', {
|
|
163
|
+
count: localeErrors.length
|
|
164
|
+
})}
|
|
165
|
+
${localeErrors.join(', ')}
|
|
166
|
+
`, {
|
|
167
|
+
autoClose: 5000
|
|
168
|
+
});
|
|
169
|
+
}
|
|
159
170
|
setModified(false);
|
|
160
171
|
setTimeout(()=>{
|
|
161
172
|
push({
|
|
@@ -204,4 +215,4 @@ const Duplicate = ({ id, collection, slug })=>{
|
|
|
204
215
|
};
|
|
205
216
|
const _default = Duplicate;
|
|
206
217
|
|
|
207
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0R1cGxpY2F0ZURvY3VtZW50L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RhbCwgdXNlTW9kYWwgfSBmcm9tICdAZmFjZWxlc3MtdWkvbW9kYWwnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHsgdXNlRm9ybSwgdXNlRm9ybU1vZGlmaWVkIH0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybS9jb250ZXh0J1xuaW1wb3J0IE1pbmltYWxUZW1wbGF0ZSBmcm9tICcuLi8uLi90ZW1wbGF0ZXMvTWluaW1hbCdcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Db25maWcnXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCAqIGFzIFBvcHVwTGlzdCBmcm9tICcuLi9Qb3B1cC9Qb3B1cEJ1dHRvbkxpc3QnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2R1cGxpY2F0ZSdcblxuY29uc3QgRHVwbGljYXRlOiBSZWFjdC5GQzxQcm9wcz4gPSAoeyBpZCwgY29sbGVjdGlvbiwgc2x1ZyB9KSA9PiB7XG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IG1vZGlmaWVkID0gdXNlRm9ybU1vZGlmaWVkKClcbiAgY29uc3QgeyB0b2dnbGVNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7IHNldE1vZGlmaWVkIH0gPSB1c2VGb3JtKClcbiAgY29uc3Qge1xuICAgIGxvY2FsaXphdGlvbixcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3Qge1xuICAgIHJvdXRlczogeyBhZG1pbiB9LFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgW2hhc0NsaWNrZWQsIHNldEhhc0NsaWNrZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGNvbnN0IG1vZGFsU2x1ZyA9IGBkdXBsaWNhdGUtJHtpZH1gXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAob3ZlcnJpZGUgPSBmYWxzZSkgPT4ge1xuICAgICAgc2V0SGFzQ2xpY2tlZCh0cnVlKVxuXG4gICAgICBpZiAobW9kaWZpZWQgJiYgIW92ZXJyaWRlKSB7XG4gICAgICAgIHRvZ2dsZU1vZGFsKG1vZGFsU2x1ZylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNhdmVEb2N1bWVudCA9IGFzeW5jICh7XG4gICAgICAgIGlkLFxuICAgICAgICBkdXBsaWNhdGVJRCA9ICcnLFxuICAgICAgICBsb2NhbGUgPSAnJyxcbiAgICAgIH0pOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+ID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9LyR7aWR9YCwge1xuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGRyYWZ0OiB0cnVlLFxuICAgICAgICAgICAgJ2ZhbGxiYWNrLWxvY2FsZSc6ICdub25lJyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICAgIGlmICh0eXBlb2YgY29sbGVjdGlvbi5hZG1pbi5ob29rcz8uYmVmb3JlRHVwbGljYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZGF0YSA9IGF3YWl0IGNvbGxlY3Rpb24uYWRtaW4uaG9va3MuYmVmb3JlRHVwbGljYXRlKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWR1cGxpY2F0ZUlEKSB7XG4gICAgICAgICAgaWYgKCdjcmVhdGVkQXQnIGluIGRhdGEpIGRlbGV0ZSBkYXRhLmNyZWF0ZWRBdFxuICAgICAgICAgIGlmICgndXBkYXRlZEF0JyBpbiBkYXRhKSBkZWxldGUgZGF0YS51cGRhdGVkQXRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcXVlc3RzW2R1cGxpY2F0ZUlEID8gJ3BhdGNoJyA6ICdwb3N0J10oXG4gICAgICAgICAgYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9LyR7ZHVwbGljYXRlSUR9P2xvY2FsZT0ke2xvY2FsZX0mZmFsbGJhY2stbG9jYWxlPW5vbmVgLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVzdWx0Lmpzb24oKVxuXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAyMDEgfHwgcmVzdWx0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgcmV0dXJuIGpzb24uZG9jLmlkXG4gICAgICAgIH1cbiAgICAgICAganNvbi5lcnJvcnMuZm9yRWFjaCgoZXJyb3IpID0+IHRvYXN0LmVycm9yKGVycm9yLm1lc3NhZ2UpKVxuICAgICAgICByZXR1cm4gbnVsbFxuICAgICAgfVxuXG4gICAgICBsZXQgZHVwbGljYXRlSURcbiAgICAgIGxldCBhYm9ydCA9IGZhbHNlXG5cbiAgICAgIGlmIChsb2NhbGl6YXRpb24pIHtcbiAgICAgICAgYXdhaXQgbG9jYWxpemF0aW9uLmxvY2FsZUNvZGVzLnJlZHVjZShhc3luYyAocHJpb3JMb2NhbGVQYXRjaCwgbG9jYWxlKSA9PiB7XG4gICAgICAgICAgYXdhaXQgcHJpb3JMb2NhbGVQYXRjaFxuICAgICAgICAgIGlmIChhYm9ydCkgcmV0dXJuXG4gICAgICAgICAgZHVwbGljYXRlSUQgPSBhd2FpdCBzYXZlRG9jdW1lbnQoeyBpZCwgZHVwbGljYXRlSUQsIGxvY2FsZSB9KVxuICAgICAgICAgIGlmICghZHVwbGljYXRlSUQpIHtcbiAgICAgICAgICAgIGFib3J0ID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG5cbiAgICAgICAgaWYgKGFib3J0ICYmIGR1cGxpY2F0ZUlEKSB7XG4gICAgICAgICAgLy8gZGVsZXRlIHRoZSBkdXBsaWNhdGUgZG9jIHRvIHByZXZlbnQgaW5jb21wbGV0ZVxuICAgICAgICAgIGF3YWl0IHJlcXVlc3RzLmRlbGV0ZShgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7c2x1Z30vJHtkdXBsaWNhdGVJRH1gLCB7XG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBkdXBsaWNhdGVJRCA9IGF3YWl0IHNhdmVEb2N1bWVudCh7IGlkIH0pXG4gICAgICB9XG5cbiAgICAgIGlmICghZHVwbGljYXRlSUQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIHQoJ3N1Y2Nlc3NmdWxseUR1cGxpY2F0ZWQnLCB7IGxhYmVsOiBnZXRUcmFuc2xhdGlvbihjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4bikgfSksXG4gICAgICAgIHsgYXV0b0Nsb3NlOiAzMDAwIH0sXG4gICAgICApXG5cbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcHVzaCh7XG4gICAgICAgICAgcGF0aG5hbWU6IGAke2FkbWlufS9jb2xsZWN0aW9ucy8ke3NsdWd9LyR7ZHVwbGljYXRlSUR9YCxcbiAgICAgICAgfSlcbiAgICAgIH0sIDEwKVxuICAgIH0sXG4gICAgW1xuICAgICAgbW9kaWZpZWQsXG4gICAgICBsb2NhbGl6YXRpb24sXG4gICAgICB0LFxuICAgICAgaTE4bixcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBzZXRNb2RpZmllZCxcbiAgICAgIHRvZ2dsZU1vZGFsLFxuICAgICAgbW9kYWxTbHVnLFxuICAgICAgc2VydmVyVVJMLFxuICAgICAgYXBpLFxuICAgICAgc2x1ZyxcbiAgICAgIGlkLFxuICAgICAgcHVzaCxcbiAgICAgIGFkbWluLFxuICAgIF0sXG4gIClcblxuICBjb25zdCBjb25maXJtID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEhhc0NsaWNrZWQoZmFsc2UpXG4gICAgYXdhaXQgaGFuZGxlQ2xpY2sodHJ1ZSlcbiAgfSwgW2hhbmRsZUNsaWNrXSlcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxQb3B1cExpc3QuQnV0dG9uIGlkPVwiYWN0aW9uLWR1cGxpY2F0ZVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKGZhbHNlKX0+XG4gICAgICAgIHt0KCdkdXBsaWNhdGUnKX1cbiAgICAgIDwvUG9wdXBMaXN0LkJ1dHRvbj5cbiAgICAgIHttb2RpZmllZCAmJiBoYXNDbGlja2VkICYmIChcbiAgICAgICAgPE1vZGFsIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbW9kYWxgfSBzbHVnPXttb2RhbFNsdWd9PlxuICAgICAgICAgIDxNaW5pbWFsVGVtcGxhdGUgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19tb2RhbC10ZW1wbGF0ZWB9PlxuICAgICAgICAgICAgPGgxPnt0KCdjb25maXJtRHVwbGljYXRpb24nKX08L2gxPlxuICAgICAgICAgICAgPHA+e3QoJ3Vuc2F2ZWRDaGFuZ2VzRHVwbGljYXRlJyl9PC9wPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGlkPVwiY29uZmlybS1jYW5jZWxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGVNb2RhbChtb2RhbFNsdWcpfVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ2NhbmNlbCcpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8QnV0dG9uIGlkPVwiY29uZmlybS1kdXBsaWNhdGVcIiBvbkNsaWNrPXtjb25maXJtfT5cbiAgICAgICAgICAgICAge3QoJ2R1cGxpY2F0ZVdpdGhvdXRTYXZpbmcnKX1cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvTWluaW1hbFRlbXBsYXRlPlxuICAgICAgICA8L01vZGFsPlxuICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IER1cGxpY2F0ZVxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIkR1cGxpY2F0ZSIsImlkIiwiY29sbGVjdGlvbiIsInNsdWciLCJwdXNoIiwidXNlSGlzdG9yeSIsIm1vZGlmaWVkIiwidXNlRm9ybU1vZGlmaWVkIiwidG9nZ2xlTW9kYWwiLCJ1c2VNb2RhbCIsInNldE1vZGlmaWVkIiwidXNlRm9ybSIsImxvY2FsaXphdGlvbiIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImFkbWluIiwiaGFzQ2xpY2tlZCIsInNldEhhc0NsaWNrZWQiLCJ1c2VTdGF0ZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJtb2RhbFNsdWciLCJoYW5kbGVDbGljayIsInVzZUNhbGxiYWNrIiwib3ZlcnJpZGUiLCJzYXZlRG9jdW1lbnQiLCJkdXBsaWNhdGVJRCIsImxvY2FsZSIsInJlc3BvbnNlIiwicmVxdWVzdHMiLCJnZXQiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJwYXJhbXMiLCJkZXB0aCIsImRyYWZ0IiwiZGF0YSIsImpzb24iLCJob29rcyIsImJlZm9yZUR1cGxpY2F0ZSIsImNyZWF0ZWRBdCIsInVwZGF0ZWRBdCIsInJlc3VsdCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdHVzIiwiZG9jIiwiZXJyb3JzIiwiZm9yRWFjaCIsImVycm9yIiwidG9hc3QiLCJtZXNzYWdlIiwiYWJvcnQiLCJsb2NhbGVDb2RlcyIsInJlZHVjZSIsInByaW9yTG9jYWxlUGF0Y2giLCJQcm9taXNlIiwicmVzb2x2ZSIsImRlbGV0ZSIsInN1Y2Nlc3MiLCJsYWJlbCIsImdldFRyYW5zbGF0aW9uIiwibGFiZWxzIiwic2luZ3VsYXIiLCJhdXRvQ2xvc2UiLCJzZXRUaW1lb3V0IiwicGF0aG5hbWUiLCJjb25maXJtIiwiUmVhY3QiLCJGcmFnbWVudCIsIlBvcHVwTGlzdCIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJNb2RhbCIsImNsYXNzTmFtZSIsIk1pbmltYWxUZW1wbGF0ZSIsImgxIiwicCIsImJ1dHRvblN0eWxlIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE2TEE7OztlQUFBOzs7dUJBN0xnQzsrREFDYTs4QkFDZDtnQ0FDSjsrQkFDTDtnQ0FJUztxQkFDTjt5QkFDZ0I7Z0VBQ2I7d0JBQ0Y7K0RBQ1A7eUVBQ1E7UUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1BLFlBQVk7QUFFbEIsTUFBTUMsWUFBNkIsQ0FBQyxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFO0lBQzFELE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLDBCQUFVO0lBQzNCLE1BQU1DLFdBQVdDLElBQUFBLHdCQUFlO0lBQ2hDLE1BQU0sRUFBRUMsV0FBVyxFQUFFLEdBQUdDLElBQUFBLGVBQVE7SUFDaEMsTUFBTSxFQUFFQyxXQUFXLEVBQUUsR0FBR0MsSUFBQUEsZ0JBQU87SUFDL0IsTUFBTSxFQUNKQyxZQUFZLEVBQ1pDLFFBQVEsRUFBRUMsR0FBRyxFQUFFLEVBQ2ZDLFNBQVMsRUFDVixHQUFHQyxJQUFBQSxpQkFBUztJQUNiLE1BQU0sRUFDSkgsUUFBUSxFQUFFSSxLQUFLLEVBQUUsRUFDbEIsR0FBR0QsSUFBQUEsaUJBQVM7SUFDYixNQUFNLENBQUNFLFlBQVlDLGNBQWMsR0FBR0MsSUFBQUEsZUFBUSxFQUFVO0lBQ3RELE1BQU0sRUFBRUMsSUFBSSxFQUFFQyxDQUFDLEVBQUUsR0FBR0MsSUFBQUEsNEJBQWMsRUFBQztJQUVuQyxNQUFNQyxZQUFZLENBQUMsVUFBVSxFQUFFdkIsR0FBRyxDQUFDO0lBRW5DLE1BQU13QixjQUFjQyxJQUFBQSxrQkFBVyxFQUM3QixPQUFPQyxXQUFXLEtB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
|
|
218
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2VsZW1lbnRzL0R1cGxpY2F0ZURvY3VtZW50L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2RhbCwgdXNlTW9kYWwgfSBmcm9tICdAZmFjZWxlc3MtdWkvbW9kYWwnXG5pbXBvcnQgUmVhY3QsIHsgdXNlQ2FsbGJhY2ssIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSdcbmltcG9ydCB7IHRvYXN0IH0gZnJvbSAncmVhY3QtdG9hc3RpZnknXG5cbmltcG9ydCB0eXBlIHsgUHJvcHMgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRUcmFuc2xhdGlvbiB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxpdGllcy9nZXRUcmFuc2xhdGlvbidcbmltcG9ydCB7IHJlcXVlc3RzIH0gZnJvbSAnLi4vLi4vLi4vYXBpJ1xuaW1wb3J0IHsgdXNlRm9ybSwgdXNlRm9ybU1vZGlmaWVkIH0gZnJvbSAnLi4vLi4vZm9ybXMvRm9ybS9jb250ZXh0J1xuaW1wb3J0IE1pbmltYWxUZW1wbGF0ZSBmcm9tICcuLi8uLi90ZW1wbGF0ZXMvTWluaW1hbCdcbmltcG9ydCB7IHVzZUNvbmZpZyB9IGZyb20gJy4uLy4uL3V0aWxpdGllcy9Db25maWcnXG5pbXBvcnQgQnV0dG9uIGZyb20gJy4uL0J1dHRvbidcbmltcG9ydCAqIGFzIFBvcHVwTGlzdCBmcm9tICcuLi9Qb3B1cC9Qb3B1cEJ1dHRvbkxpc3QnXG5pbXBvcnQgJy4vaW5kZXguc2NzcydcblxuY29uc3QgYmFzZUNsYXNzID0gJ2R1cGxpY2F0ZSdcblxuY29uc3QgRHVwbGljYXRlOiBSZWFjdC5GQzxQcm9wcz4gPSAoeyBpZCwgY29sbGVjdGlvbiwgc2x1ZyB9KSA9PiB7XG4gIGNvbnN0IHsgcHVzaCB9ID0gdXNlSGlzdG9yeSgpXG4gIGNvbnN0IG1vZGlmaWVkID0gdXNlRm9ybU1vZGlmaWVkKClcbiAgY29uc3QgeyB0b2dnbGVNb2RhbCB9ID0gdXNlTW9kYWwoKVxuICBjb25zdCB7IHNldE1vZGlmaWVkIH0gPSB1c2VGb3JtKClcbiAgY29uc3Qge1xuICAgIGxvY2FsaXphdGlvbixcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3Qge1xuICAgIHJvdXRlczogeyBhZG1pbiB9LFxuICB9ID0gdXNlQ29uZmlnKClcbiAgY29uc3QgW2hhc0NsaWNrZWQsIHNldEhhc0NsaWNrZWRdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2dlbmVyYWwnKVxuXG4gIGNvbnN0IG1vZGFsU2x1ZyA9IGBkdXBsaWNhdGUtJHtpZH1gXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAob3ZlcnJpZGUgPSBmYWxzZSkgPT4ge1xuICAgICAgc2V0SGFzQ2xpY2tlZCh0cnVlKVxuXG4gICAgICBpZiAobW9kaWZpZWQgJiYgIW92ZXJyaWRlKSB7XG4gICAgICAgIHRvZ2dsZU1vZGFsKG1vZGFsU2x1ZylcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNhdmVEb2N1bWVudCA9IGFzeW5jICh7XG4gICAgICAgIGlkLFxuICAgICAgICBkdXBsaWNhdGVJRCA9ICcnLFxuICAgICAgICBsb2NhbGUgPSAnJyxcbiAgICAgIH0pOiBQcm9taXNlPG51bGwgfCBzdHJpbmc+ID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCByZXF1ZXN0cy5nZXQoYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9LyR7aWR9YCwge1xuICAgICAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgIH0sXG4gICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgIGRyYWZ0OiB0cnVlLFxuICAgICAgICAgICAgJ2ZhbGxiYWNrLWxvY2FsZSc6ICdub25lJyxcbiAgICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgICBsZXQgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gICAgICAgIGlmICh0eXBlb2YgY29sbGVjdGlvbi5hZG1pbi5ob29rcz8uYmVmb3JlRHVwbGljYXRlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgZGF0YSA9IGF3YWl0IGNvbGxlY3Rpb24uYWRtaW4uaG9va3MuYmVmb3JlRHVwbGljYXRlKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBkYXRhLFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIWR1cGxpY2F0ZUlEKSB7XG4gICAgICAgICAgaWYgKCdjcmVhdGVkQXQnIGluIGRhdGEpIGRlbGV0ZSBkYXRhLmNyZWF0ZWRBdFxuICAgICAgICAgIGlmICgndXBkYXRlZEF0JyBpbiBkYXRhKSBkZWxldGUgZGF0YS51cGRhdGVkQXRcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlcXVlc3RzW2R1cGxpY2F0ZUlEID8gJ3BhdGNoJyA6ICdwb3N0J10oXG4gICAgICAgICAgYCR7c2VydmVyVVJMfSR7YXBpfS8ke3NsdWd9LyR7ZHVwbGljYXRlSUR9P2xvY2FsZT0ke2xvY2FsZX0mZmFsbGJhY2stbG9jYWxlPW5vbmVgLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGJvZHk6IEpTT04uc3RyaW5naWZ5KGRhdGEpLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgICAgJ0NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgKVxuICAgICAgICBjb25zdCBqc29uID0gYXdhaXQgcmVzdWx0Lmpzb24oKVxuXG4gICAgICAgIGlmIChyZXN1bHQuc3RhdHVzID09PSAyMDEgfHwgcmVzdWx0LnN0YXR1cyA9PT0gMjAwKSB7XG4gICAgICAgICAgcmV0dXJuIGpzb24uZG9jLmlkXG4gICAgICAgIH1cblxuICAgICAgICAvLyBvbmx5IHNob3cgdGhlIGVycm9yIGlmIHRoaXMgaXMgdGhlIGluaXRpYWwgcmVxdWVzdCBmYWlsaW5nXG4gICAgICAgIGlmICghZHVwbGljYXRlSUQpIHtcbiAgICAgICAgICBqc29uLmVycm9ycy5mb3JFYWNoKChlcnJvcikgPT4gdG9hc3QuZXJyb3IoZXJyb3IubWVzc2FnZSkpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgIH1cblxuICAgICAgbGV0IGR1cGxpY2F0ZUlEOiBzdHJpbmdcbiAgICAgIGxldCBhYm9ydCA9IGZhbHNlXG4gICAgICBjb25zdCBsb2NhbGVFcnJvcnMgPSBbXVxuXG4gICAgICBpZiAobG9jYWxpemF0aW9uKSB7XG4gICAgICAgIGF3YWl0IGxvY2FsaXphdGlvbi5sb2NhbGVDb2Rlcy5yZWR1Y2UoYXN5bmMgKHByaW9yTG9jYWxlUGF0Y2gsIGxvY2FsZSkgPT4ge1xuICAgICAgICAgIGF3YWl0IHByaW9yTG9jYWxlUGF0Y2hcbiAgICAgICAgICBpZiAoYWJvcnQpIHJldHVyblxuICAgICAgICAgIGNvbnN0IGxvY2FsZVJlc3VsdCA9IGF3YWl0IHNhdmVEb2N1bWVudCh7XG4gICAgICAgICAgICBpZCxcbiAgICAgICAgICAgIGR1cGxpY2F0ZUlELFxuICAgICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIH0pXG4gICAgICAgICAgZHVwbGljYXRlSUQgPSBsb2NhbGVSZXN1bHQgfHwgZHVwbGljYXRlSURcbiAgICAgICAgICBpZiAoZHVwbGljYXRlSUQgJiYgIWxvY2FsZVJlc3VsdCkge1xuICAgICAgICAgICAgbG9jYWxlRXJyb3JzLnB1c2gobG9jYWxlKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWR1cGxpY2F0ZUlEKSB7XG4gICAgICAgICAgICBhYm9ydCA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZHVwbGljYXRlSUQgPSBhd2FpdCBzYXZlRG9jdW1lbnQoeyBpZCB9KVxuICAgICAgfVxuXG4gICAgICBpZiAoIWR1cGxpY2F0ZUlEKSB7XG4gICAgICAgIC8vIGRvY3VtZW50IHdhcyBub3Qgc2F2ZWQsIGVycm9yIHRvYXN0IHdhcyBkaXNwbGF5ZWRcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIHRvYXN0LnN1Y2Nlc3MoXG4gICAgICAgIHQoJ3N1Y2Nlc3NmdWxseUR1cGxpY2F0ZWQnLCB7IGxhYmVsOiBnZXRUcmFuc2xhdGlvbihjb2xsZWN0aW9uLmxhYmVscy5zaW5ndWxhciwgaTE4bikgfSksXG4gICAgICAgIHsgYXV0b0Nsb3NlOiAzMDAwIH0sXG4gICAgICApXG5cbiAgICAgIGlmIChsb2NhbGVFcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICB0b2FzdC5lcnJvcihcbiAgICAgICAgICBgXG4gICAgICAgICAgJHt0KCdlcnJvcjpsb2NhbGVzTm90U2F2ZWQnLCB7IGNvdW50OiBsb2NhbGVFcnJvcnMubGVuZ3RoIH0pfVxuICAgICAgICAgICR7bG9jYWxlRXJyb3JzLmpvaW4oJywgJyl9XG4gICAgICAgICAgYCxcbiAgICAgICAgICB7IGF1dG9DbG9zZTogNTAwMCB9LFxuICAgICAgICApXG4gICAgICB9XG5cbiAgICAgIHNldE1vZGlmaWVkKGZhbHNlKVxuXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgcHVzaCh7XG4gICAgICAgICAgcGF0aG5hbWU6IGAke2FkbWlufS9jb2xsZWN0aW9ucy8ke3NsdWd9LyR7ZHVwbGljYXRlSUR9YCxcbiAgICAgICAgfSlcbiAgICAgIH0sIDEwKVxuICAgIH0sXG4gICAgW1xuICAgICAgbW9kaWZpZWQsXG4gICAgICBsb2NhbGl6YXRpb24sXG4gICAgICB0LFxuICAgICAgaTE4bixcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBzZXRNb2RpZmllZCxcbiAgICAgIHRvZ2dsZU1vZGFsLFxuICAgICAgbW9kYWxTbHVnLFxuICAgICAgc2VydmVyVVJMLFxuICAgICAgYXBpLFxuICAgICAgc2x1ZyxcbiAgICAgIGlkLFxuICAgICAgcHVzaCxcbiAgICAgIGFkbWluLFxuICAgIF0sXG4gIClcblxuICBjb25zdCBjb25maXJtID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldEhhc0NsaWNrZWQoZmFsc2UpXG4gICAgYXdhaXQgaGFuZGxlQ2xpY2sodHJ1ZSlcbiAgfSwgW2hhbmRsZUNsaWNrXSlcblxuICByZXR1cm4gKFxuICAgIDxSZWFjdC5GcmFnbWVudD5cbiAgICAgIDxQb3B1cExpc3QuQnV0dG9uIGlkPVwiYWN0aW9uLWR1cGxpY2F0ZVwiIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrKGZhbHNlKX0+XG4gICAgICAgIHt0KCdkdXBsaWNhdGUnKX1cbiAgICAgIDwvUG9wdXBMaXN0LkJ1dHRvbj5cbiAgICAgIHttb2RpZmllZCAmJiBoYXNDbGlja2VkICYmIChcbiAgICAgICAgPE1vZGFsIGNsYXNzTmFtZT17YCR7YmFzZUNsYXNzfV9fbW9kYWxgfSBzbHVnPXttb2RhbFNsdWd9PlxuICAgICAgICAgIDxNaW5pbWFsVGVtcGxhdGUgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19tb2RhbC10ZW1wbGF0ZWB9PlxuICAgICAgICAgICAgPGgxPnt0KCdjb25maXJtRHVwbGljYXRpb24nKX08L2gxPlxuICAgICAgICAgICAgPHA+e3QoJ3Vuc2F2ZWRDaGFuZ2VzRHVwbGljYXRlJyl9PC9wPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBidXR0b25TdHlsZT1cInNlY29uZGFyeVwiXG4gICAgICAgICAgICAgIGlkPVwiY29uZmlybS1jYW5jZWxcIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB0b2dnbGVNb2RhbChtb2RhbFNsdWcpfVxuICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge3QoJ2NhbmNlbCcpfVxuICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICA8QnV0dG9uIGlkPVwiY29uZmlybS1kdXBsaWNhdGVcIiBvbkNsaWNrPXtjb25maXJtfT5cbiAgICAgICAgICAgICAge3QoJ2R1cGxpY2F0ZVdpdGhvdXRTYXZpbmcnKX1cbiAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgIDwvTWluaW1hbFRlbXBsYXRlPlxuICAgICAgICA8L01vZGFsPlxuICAgICAgKX1cbiAgICA8L1JlYWN0LkZyYWdtZW50PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IER1cGxpY2F0ZVxuIl0sIm5hbWVzIjpbImJhc2VDbGFzcyIsIkR1cGxpY2F0ZSIsImlkIiwiY29sbGVjdGlvbiIsInNsdWciLCJwdXNoIiwidXNlSGlzdG9yeSIsIm1vZGlmaWVkIiwidXNlRm9ybU1vZGlmaWVkIiwidG9nZ2xlTW9kYWwiLCJ1c2VNb2RhbCIsInNldE1vZGlmaWVkIiwidXNlRm9ybSIsImxvY2FsaXphdGlvbiIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsInVzZUNvbmZpZyIsImFkbWluIiwiaGFzQ2xpY2tlZCIsInNldEhhc0NsaWNrZWQiLCJ1c2VTdGF0ZSIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJtb2RhbFNsdWciLCJoYW5kbGVDbGljayIsInVzZUNhbGxiYWNrIiwib3ZlcnJpZGUiLCJzYXZlRG9jdW1lbnQiLCJkdXBsaWNhdGVJRCIsImxvY2FsZSIsInJlc3BvbnNlIiwicmVxdWVzdHMiLCJnZXQiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJwYXJhbXMiLCJkZXB0aCIsImRyYWZ0IiwiZGF0YSIsImpzb24iLCJob29rcyIsImJlZm9yZUR1cGxpY2F0ZSIsImNyZWF0ZWRBdCIsInVwZGF0ZWRBdCIsInJlc3VsdCIsImJvZHkiLCJKU09OIiwic3RyaW5naWZ5Iiwic3RhdHVzIiwiZG9jIiwiZXJyb3JzIiwiZm9yRWFjaCIsImVycm9yIiwidG9hc3QiLCJtZXNzYWdlIiwiYWJvcnQiLCJsb2NhbGVFcnJvcnMiLCJsb2NhbGVDb2RlcyIsInJlZHVjZSIsInByaW9yTG9jYWxlUGF0Y2giLCJsb2NhbGVSZXN1bHQiLCJQcm9taXNlIiwicmVzb2x2ZSIsInN1Y2Nlc3MiLCJsYWJlbCIsImdldFRyYW5zbGF0aW9uIiwibGFiZWxzIiwic2luZ3VsYXIiLCJhdXRvQ2xvc2UiLCJsZW5ndGgiLCJjb3VudCIsImpvaW4iLCJzZXRUaW1lb3V0IiwicGF0aG5hbWUiLCJjb25maXJtIiwiUmVhY3QiLCJGcmFnbWVudCIsIlBvcHVwTGlzdCIsIkJ1dHRvbiIsIm9uQ2xpY2siLCJNb2RhbCIsImNsYXNzTmFtZSIsIk1pbmltYWxUZW1wbGF0ZSIsImgxIiwicCIsImJ1dHRvblN0eWxlIiwidHlwZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkE0TUE7OztlQUFBOzs7dUJBNU1nQzsrREFDYTs4QkFDZDtnQ0FDSjsrQkFDTDtnQ0FJUztxQkFDTjt5QkFDZ0I7Z0VBQ2I7d0JBQ0Y7K0RBQ1A7eUVBQ1E7UUFDcEI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVQLE1BQU1BLFlBQVk7QUFFbEIsTUFBTUMsWUFBNkIsQ0FBQyxFQUFFQyxFQUFFLEVBQUVDLFVBQVUsRUFBRUMsSUFBSSxFQUFFO0lBQzFELE1BQU0sRUFBRUMsSUFBSSxFQUFFLEdBQUdDLElBQUFBLDBCQUFVO0lBQzNCLE1BQU1DLFdBQVdDLElBQUFBLHdCQUFlO0lBQ2hDLE1B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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAMnF,OAAO,KAAK,EAA2C,KAAK,EAAS,MAAM,SAAS,CAAA;AAoBpF,OAAO,cAAc,CAAA;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+D,MAAM,OAAO,CAAA;AAMnF,OAAO,KAAK,EAA2C,KAAK,EAAS,MAAM,SAAS,CAAA;AAoBpF,OAAO,cAAc,CAAA;;AA2frB,wBAA0C"}
|
|
@@ -80,7 +80,7 @@ function _interop_require_wildcard(obj, nodeInterop) {
|
|
|
80
80
|
const maxResultsPerRequest = 10;
|
|
81
81
|
const baseClass = 'relationship';
|
|
82
82
|
const Relationship = (props)=>{
|
|
83
|
-
const { name, admin: { allowCreate = true, className, condition, description, isSortable = true, readOnly, style, width
|
|
83
|
+
const { name, admin: { allowCreate = true, className, components: { Error, Label } = {}, condition, description, isSortable = true, readOnly, sortOptions, style, width } = {}, filterOptions, hasMany, label, path, relationTo, required, validate = _validations.relationship } = props;
|
|
84
84
|
const ErrorComp = Error || _Error.default;
|
|
85
85
|
const LabelComp = Label || _Label.default;
|
|
86
86
|
const config = (0, _Config.useConfig)();
|
|
@@ -142,7 +142,14 @@ const Relationship = (props)=>{
|
|
|
142
142
|
await priorRelation;
|
|
143
143
|
if (resultsFetched < 10) {
|
|
144
144
|
const collection = collections.find((coll)=>coll.slug === relation);
|
|
145
|
-
|
|
145
|
+
let fieldToSearch = collection?.defaultSort || collection?.admin?.useAsTitle || 'id';
|
|
146
|
+
if (!searchArg) {
|
|
147
|
+
if (typeof sortOptions === 'string') {
|
|
148
|
+
fieldToSearch = sortOptions;
|
|
149
|
+
} else if (sortOptions?.[relation]) {
|
|
150
|
+
fieldToSearch = sortOptions[relation];
|
|
151
|
+
}
|
|
152
|
+
}
|
|
146
153
|
const query = {
|
|
147
154
|
depth: 0,
|
|
148
155
|
limit: maxResultsPerRequest,
|
|
@@ -226,6 +233,7 @@ const Relationship = (props)=>{
|
|
|
226
233
|
locale,
|
|
227
234
|
filterOptionsResult,
|
|
228
235
|
serverURL,
|
|
236
|
+
sortOptions,
|
|
229
237
|
api,
|
|
230
238
|
i18n,
|
|
231
239
|
config,
|
|
@@ -242,7 +250,7 @@ const Relationship = (props)=>{
|
|
|
242
250
|
const handleInputChange = (0, _react.useCallback)((searchArg, valueArg)=>{
|
|
243
251
|
if (search !== searchArg) {
|
|
244
252
|
setLastLoadedPage({});
|
|
245
|
-
updateSearch(searchArg, valueArg);
|
|
253
|
+
updateSearch(searchArg, valueArg, searchArg !== '');
|
|
246
254
|
}
|
|
247
255
|
}, [
|
|
248
256
|
search,
|
|
@@ -490,4 +498,4 @@ const Relationship = (props)=>{
|
|
|
490
498
|
};
|
|
491
499
|
const _default = (0, _withCondition.default)(Relationship);
|
|
492
500
|
|
|
493
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JlbGF0aW9uc2hpcC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50RHJhd2VyUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9Eb2N1bWVudERyYXdlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsdGVyT3B0aW9uc1Jlc3VsdCwgR2V0UmVzdWx0cywgT3B0aW9uLCBQcm9wcywgVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnNoaXAgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9maWVsZHMvdmFsaWRhdGlvbnMnXG5pbXBvcnQgd29yZEJvdW5kYXJpZXNSZWdleCBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleCdcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snXG5pbXBvcnQgUmVhY3RTZWxlY3QgZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvUmVhY3RTZWxlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgR2V0RmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9HZXRGaWx0ZXJPcHRpb25zJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0xvY2FsZSdcbmltcG9ydCBEZWZhdWx0RXJyb3IgZnJvbSAnLi4vLi4vRXJyb3InXG5pbXBvcnQgRmllbGREZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9GaWVsZERlc2NyaXB0aW9uJ1xuaW1wb3J0IHsgdXNlRm9ybVByb2Nlc3NpbmcgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgRGVmYXVsdExhYmVsIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHdpdGhDb25kaXRpb24gZnJvbSAnLi4vLi4vd2l0aENvbmRpdGlvbidcbmltcG9ydCB7IGZpZWxkQmFzZUNsYXNzIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgQWRkTmV3UmVsYXRpb24gfSBmcm9tICcuL0FkZE5ldydcbmltcG9ydCB7IGNyZWF0ZVJlbGF0aW9uTWFwIH0gZnJvbSAnLi9jcmVhdGVSZWxhdGlvbk1hcCdcbmltcG9ydCB7IGZpbmRPcHRpb25zQnlWYWx1ZSB9IGZyb20gJy4vZmluZE9wdGlvbnNCeVZhbHVlJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgb3B0aW9uc1JlZHVjZXIgZnJvbSAnLi9vcHRpb25zUmVkdWNlcidcbmltcG9ydCB7IE11bHRpVmFsdWVMYWJlbCB9IGZyb20gJy4vc2VsZWN0LWNvbXBvbmVudHMvTXVsdGlWYWx1ZUxhYmVsJ1xuaW1wb3J0IHsgU2luZ2xlVmFsdWUgfSBmcm9tICcuL3NlbGVjdC1jb21wb25lbnRzL1NpbmdsZVZhbHVlJ1xuXG5jb25zdCBtYXhSZXN1bHRzUGVyUmVxdWVzdCA9IDEwXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyZWxhdGlvbnNoaXAnXG5cbmNvbnN0IFJlbGF0aW9uc2hpcDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIGFkbWluOiB7XG4gICAgICBhbGxvd0NyZWF0ZSA9IHRydWUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb25kaXRpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzdHlsZSxcbiAgICAgIHdpZHRoLFxuICAgICAgY29tcG9uZW50czogeyBFcnJvciwgTGFiZWwgfSA9IHt9LFxuICAgIH0gPSB7fSxcbiAgICBmaWx0ZXJPcHRpb25zLFxuICAgIGhhc01hbnksXG4gICAgbGFiZWwsXG4gICAgcGF0aCxcbiAgICByZWxhdGlvblRvLFxuICAgIHJlcXVpcmVkLFxuICAgIHZhbGlkYXRlID0gcmVsYXRpb25zaGlwLFxuICB9ID0gcHJvcHNcblxuICBjb25zdCBFcnJvckNvbXAgPSBFcnJvciB8fCBEZWZhdWx0RXJyb3JcbiAgY29uc3QgTGFiZWxDb21wID0gTGFiZWwgfHwgRGVmYXVsdExhYmVsXG5cbiAgY29uc3QgY29uZmlnID0gdXNlQ29uZmlnKClcblxuICBjb25zdCB7XG4gICAgY29sbGVjdGlvbnMsXG4gICAgcm91dGVzOiB7IGFwaSB9LFxuICAgIHNlcnZlclVSTCxcbiAgfSA9IGNvbmZpZ1xuXG4gIGNvbnN0IHsgaTE4biwgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2ZpZWxkcycpXG4gIGNvbnN0IHsgcGVybWlzc2lvbnMgfSA9IHVzZUF1dGgoKVxuICBjb25zdCB7IGNvZGU6IGxvY2FsZSB9ID0gdXNlTG9jYWxlKClcbiAgY29uc3QgZm9ybVByb2Nlc3NpbmcgPSB1c2VGb3JtUHJvY2Vzc2luZygpXG4gIGNvbnN0IGhhc011bHRpcGxlUmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKVxuICBjb25zdCBbb3B0aW9ucywgZGlzcGF0Y2hPcHRpb25zXSA9IHVzZVJlZHVjZXIob3B0aW9uc1JlZHVjZXIsIFtdKVxuICBjb25zdCBbbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24sIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uXSA9IHVzZVN0YXRlKC0xKVxuICBjb25zdCBbbGFzdExvYWRlZFBhZ2UsIHNldExhc3RMb2FkZWRQYWdlXSA9IHVzZVN0YXRlPFJlY29yZDxzdHJpbmcsIG51bWJlcj4+KHt9KVxuICBjb25zdCBbZXJyb3JMb2FkaW5nLCBzZXRFcnJvckxvYWRpbmddID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtmaWx0ZXJPcHRpb25zUmVzdWx0LCBzZXRGaWx0ZXJPcHRpb25zUmVzdWx0XSA9IHVzZVN0YXRlPEZpbHRlck9wdGlvbnNSZXN1bHQ+KClcbiAgY29uc3QgW3NlYXJjaCwgc2V0U2VhcmNoXSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBbaXNMb2FkaW5nLCBzZXRJc0xvYWRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtoYXNMb2FkZWRGaXJzdFBhZ2UsIHNldEhhc0xvYWRlZEZpcnN0UGFnZV0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2VuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCwgc2V0RW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBmaXJzdFJ1biA9IHVzZVJlZih0cnVlKVxuICBjb25zdCBwYXRoT3JOYW1lID0gcGF0aCB8fCBuYW1lXG5cbiAgY29uc3QgbWVtb2l6ZWRWYWxpZGF0ZSA9IHVzZUNhbGxiYWNrKFxuICAgICh2YWx1ZSwgdmFsaWRhdGlvbk9wdGlvbnMpID0+IHtcbiAgICAgIHJldHVybiB2YWxpZGF0ZSh2YWx1ZSwgeyAuLi52YWxpZGF0aW9uT3B0aW9ucywgcmVxdWlyZWQgfSlcbiAgICB9LFxuICAgIFt2YWxpZGF0ZSwgcmVxdWlyZWRdLFxuICApXG5cbiAgY29uc3QgeyBlcnJvck1lc3NhZ2UsIGluaXRpYWxWYWx1ZSwgc2V0VmFsdWUsIHNob3dFcnJvciwgdmFsdWUgfSA9IHVzZUZpZWxkPFZhbHVlIHwgVmFsdWVbXT4oe1xuICAgIGNvbmRpdGlvbixcbiAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgIHZhbGlkYXRlOiBtZW1vaXplZFZhbGlkYXRlLFxuICB9KVxuXG4gIGNvbnN0IFtkcmF3ZXJJc09wZW4sIHNldERyYXdlcklzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCBnZXRSZXN1bHRzOiBHZXRSZXN1bHRzID0gdXNlQ2FsbGJhY2soXG4gICAgYXN5bmMgKHtcbiAgICAgIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uOiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyxcbiAgICAgIG9uU3VjY2VzcyxcbiAgICAgIHNlYXJjaDogc2VhcmNoQXJnLFxuICAgICAgc29ydCxcbiAgICAgIHZhbHVlOiB2YWx1ZUFyZyxcbiAgICB9KSA9PiB7XG4gICAgICBpZiAoIXBlcm1pc3Npb25zKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgY29uc3QgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9XG4gICAgICAgIHR5cGVvZiBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyAhPT0gJ3VuZGVmaW5lZCcgPyBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyA6IC0xXG5cbiAgICAgIGNvbnN0IHJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgPyByZWxhdGlvblRvIDogW3JlbGF0aW9uVG9dXG4gICAgICBjb25zdCByZWxhdGlvbnNUb0ZldGNoID1cbiAgICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSA9PT0gLTFcbiAgICAgICAgICA/IHJlbGF0aW9uc1xuICAgICAgICAgIDogcmVsYXRpb25zLnNsaWNlKGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uVG9Vc2UgKyAxKVxuXG4gICAgICBsZXQgcmVzdWx0c0ZldGNoZWQgPSAwXG4gICAgICBjb25zdCByZWxhdGlvbk1hcCA9IGNyZWF0ZVJlbGF0aW9uTWFwKHtcbiAgICAgICAgaGFzTWFueSxcbiAgICAgICAgcmVsYXRpb25UbyxcbiAgICAgICAgdmFsdWU6IHZhbHVlQXJnLFxuICAgICAgfSlcblxuICAgICAgaWYgKCFlcnJvckxvYWRpbmcpIHtcbiAgICAgICAgcmVsYXRpb25zVG9GZXRjaC5yZWR1Y2UoYXN5bmMgKHByaW9yUmVsYXRpb24sIHJlbGF0aW9uKSA9PiB7XG4gICAgICAgICAgbGV0IGxhc3RMb2FkZWRQYWdlVG9Vc2VcbiAgICAgICAgICBpZiAoc2VhcmNoICE9PSBzZWFyY2hBcmcpIHtcbiAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSAxXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGxhc3RMb2FkZWRQYWdlVG9Vc2UgPSBsYXN0TG9hZGVkUGFnZVtyZWxhdGlvbl0gKyAxXG4gICAgICAgICAgfVxuICAgICAgICAgIGF3YWl0IHByaW9yUmVsYXRpb25cblxuICAgICAgICAgIGlmIChyZXN1bHRzRmV0Y2hlZCA8IDEwKSB7XG4gICAgICAgICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoY29sbCkgPT4gY29sbC5zbHVnID09PSByZWxhdGlvbilcbiAgICAgICAgICAgIGNvbnN0IGZpZWxkVG9TZWFyY2ggPSBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgICAgICAgICAgICAgd2hlcmU6IFdoZXJlXG4gICAgICAgICAgICB9ID0ge1xuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgbGltaXQ6IG1heFJlc3VsdHNQZXJSZXF1ZXN0LFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHBhZ2U6IGxhc3RMb2FkZWRQYWdlVG9Vc2UsXG4gICAgICAgICAgICAgIHNvcnQ6IGZpZWxkVG9TZWFyY2gsXG4gICAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgICAgYW5kOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbm90X2luOiByZWxhdGlvbk1hcFtyZWxhdGlvbl0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWFyY2hBcmcpIHtcbiAgICAgICAgICAgICAgcXVlcnkud2hlcmUuYW5kLnB1c2goe1xuICAgICAgICAgICAgICAgIFtmaWVsZFRvU2VhcmNoXToge1xuICAgICAgICAgICAgICAgICAgbGlrZTogc2VhcmNoQXJnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWx0ZXJPcHRpb25zUmVzdWx0Py5bcmVsYXRpb25dKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LndoZXJlLmFuZC5wdXNoKGZpbHRlck9wdGlvbnNSZXN1bHRbcmVsYXRpb25dKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0vJHtyZWxhdGlvbn0/JHtxcy5zdHJpbmdpZnkocXVlcnkpfWAsIHtcbiAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGE6IFBhZ2luYXRlZERvY3M8dW5rbm93bj4gPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2UoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICBbcmVsYXRpb25dOiBsYXN0TG9hZGVkUGFnZVRvVXNlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBpZiAoIWRhdGEubmV4dFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoZGF0YS5kb2NzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzRmV0Y2hlZCArPSBkYXRhLmRvY3MubGVuZ3RoXG5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaE9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgIGRvY3M6IGRhdGEuZG9jcyxcbiAgICAgICAgICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ0FERCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG4gICAgICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZG9jczogW10sXG4gICAgICAgICAgICAgICAgaTE4bixcbiAgICAgICAgICAgICAgICBpZHM6IHJlbGF0aW9uTWFwW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdBREQnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHQoJ2Vycm9yOnVuc3BlY2lmaWMnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGlmICh0eXBlb2Ygb25TdWNjZXNzID09PSAnZnVuY3Rpb24nKSBvblN1Y2Nlc3MoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgaGFzTWFueSxcbiAgICAgIGVycm9yTG9hZGluZyxcbiAgICAgIHNlYXJjaCxcbiAgICAgIGxhc3RMb2FkZWRQYWdlLFxuICAgICAgY29sbGVjdGlvbnMsXG4gICAgICBsb2NhbGUsXG4gICAgICBmaWx0ZXJPcHRpb25zUmVzdWx0LFxuICAgICAgc2VydmVyVVJMLFxuICAgICAgYXBpLFxuICAgICAgaTE4bixcbiAgICAgIGNvbmZpZyxcbiAgICAgIHQsXG4gICAgXSxcbiAgKVxuXG4gIGNvbnN0IHVwZGF0ZVNlYXJjaCA9IHVzZURlYm91bmNlZENhbGxiYWNrKChzZWFyY2hBcmc6IHN0cmluZywgdmFsdWVBcmc6IFZhbHVlIHwgVmFsdWVbXSkgPT4ge1xuICAgIGdldFJlc3VsdHMoeyBzZWFyY2g6IHNlYXJjaEFyZywgc29ydDogdHJ1ZSwgdmFsdWU6IHZhbHVlQXJnIH0pXG4gICAgc2V0U2VhcmNoKHNlYXJjaEFyZylcbiAgfSwgMzAwKVxuXG4gIGNvbnN0IGhhbmRsZUlucHV0Q2hhbmdlID0gdXNlQ2FsbGJhY2soXG4gICAgKHNlYXJjaEFyZzogc3RyaW5nLCB2YWx1ZUFyZzogVmFsdWUgfCBWYWx1ZVtdKSA9PiB7XG4gICAgICBpZiAoc2VhcmNoICE9PSBzZWFyY2hBcmcpIHtcbiAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2Uoe30pXG4gICAgICAgIHVwZGF0ZVNlYXJjaChzZWFyY2hBcmcsIHZhbHVlQXJnKVxuICAgICAgfVxuICAgIH0sXG4gICAgW3NlYXJjaCwgdXBkYXRlU2VhcmNoXSxcbiAgKVxuXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4gIC8vIEVuc3VyZSB3ZSBoYXZlIGFuIG9wdGlvbiBmb3IgZWFjaCB2YWx1ZVxuICAvLyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgcmVsYXRpb25NYXAgPSBjcmVhdGVSZWxhdGlvbk1hcCh7XG4gICAgICBoYXNNYW55LFxuICAgICAgcmVsYXRpb25UbyxcbiAgICAgIHZhbHVlLFxuICAgIH0pXG5cbiAgICBPYmplY3QuZW50cmllcyhyZWxhdGlvbk1hcCkucmVkdWNlKGFzeW5jIChwcmlvclJlbGF0aW9uLCBbcmVsYXRpb24sIGlkc10pID0+IHtcbiAgICAgIGF3YWl0IHByaW9yUmVsYXRpb25cblxuICAgICAgY29uc3QgaWRzVG9Mb2FkID0gaWRzLmZpbHRlcigoaWQpID0+IHtcbiAgICAgICAgcmV0dXJuICFvcHRpb25zLmZpbmQoXG4gICAgICAgICAgKG9wdGlvbkdyb3VwKSA9PlxuICAgICAgICAgICAgb3B0aW9uR3JvdXA/Lm9wdGlvbnM/LmZpbmQoXG4gICAgICAgICAgICAgIChvcHRpb24pID0+IG9wdGlvbi52YWx1ZSA9PT0gaWQgJiYgb3B0aW9uLnJlbGF0aW9uVG8gPT09IHJlbGF0aW9uLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICAgfSlcblxuICAgICAgaWYgKGlkc1RvTG9hZC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHF1ZXJ5ID0ge1xuICAgICAgICAgIGRlcHRoOiAwLFxuICAgICAgICAgIGxpbWl0OiBpZHNUb0xvYWQubGVuZ3RoLFxuICAgICAgICAgIGxvY2FsZSxcbiAgICAgICAgICB3aGVyZToge1xuICAgICAgICAgICAgaWQ6IHtcbiAgICAgICAgICAgICAgaW46IGlkc1RvTG9hZCxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXJyb3JMb2FkaW5nKSB7XG4gICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaChgJHtzZXJ2ZXJVUkx9JHthcGl9LyR7cmVsYXRpb259PyR7cXMuc3RyaW5naWZ5KHF1ZXJ5KX1gLCB7XG4gICAgICAgICAgICBjcmVkZW50aWFsczogJ2luY2x1ZGUnLFxuICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAnQWNjZXB0LUxhbmd1YWdlJzogaTE4bi5sYW5ndWFnZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSlcblxuICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHJlbGF0aW9uKVxuICAgICAgICAgIGxldCBkb2NzID0gW11cblxuICAgICAgICAgIGlmIChyZXNwb25zZS5vaykge1xuICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgICAgICAgZG9jcyA9IGRhdGEuZG9jc1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgICAgICBjb2xsZWN0aW9uLFxuICAgICAgICAgICAgY29uZmlnLFxuICAgICAgICAgICAgZG9jcyxcbiAgICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgICBpZHM6IGlkc1RvTG9hZCxcbiAgICAgICAgICAgIHNvcnQ6IHRydWUsXG4gICAgICAgICAgICB0eXBlOiAnQUREJyxcbiAgICAgICAgICB9KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgUHJvbWlzZS5yZXNvbHZlKCkpXG4gIH0sIFtcbiAgICBvcHRpb25zLFxuICAgIHZhbHVlLFxuICAgIGhhc01hbnksXG4gICAgZXJyb3JMb2FkaW5nLFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIGhhc011bHRpcGxlUmVsYXRpb25zLFxuICAgIHNlcnZlclVSTCxcbiAgICBhcGksXG4gICAgaTE4bixcbiAgICByZWxhdGlvblRvLFxuICAgIGxvY2FsZSxcbiAgICBjb25maWcsXG4gIF0pXG5cbiAgLy8gRGV0ZXJtaW5lIGlmIHdlIHNob3VsZCBzd2l0Y2ggdG8gd29yZCBib3VuZGFyeSBzZWFyY2hcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZWxhdGlvbnMgPSBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pID8gcmVsYXRpb25UbyA6IFtyZWxhdGlvblRvXVxuICAgIGNvbnN0IGlzSWRPbmx5ID0gcmVsYXRpb25zLnJlZHVjZSgoaWRPbmx5LCByZWxhdGlvbikgPT4ge1xuICAgICAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb24pXG4gICAgICBjb25zdCBmaWVsZFRvU2VhcmNoID0gY29sbGVjdGlvbj8uYWRtaW4/LnVzZUFzVGl0bGUgfHwgJ2lkJ1xuICAgICAgcmV0dXJuIGZpZWxkVG9TZWFyY2ggPT09ICdpZCcgJiYgaWRPbmx5XG4gICAgfSwgdHJ1ZSlcbiAgICBzZXRFbmFibGVXb3JkQm91bmRhcnlTZWFyY2goIWlzSWRPbmx5KVxuICB9LCBbcmVsYXRpb25UbywgY29sbGVjdGlvbnNdKVxuXG4gIC8vIFdoZW4gKGByZWxhdGlvblRvYCB8fCBgZmlsdGVyT3B0aW9uc1Jlc3VsdGAgfHwgYGxvY2FsZWApIGNoYW5nZXMsIHJlc2V0IGNvbXBvbmVudFxuICAvLyBOb3RlIC0gZWZmZWN0IHNob3VsZCBub3QgcnVuIG9uIGZpcnN0IHJ1blxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChmaXJzdFJ1bi5jdXJyZW50KSB7XG4gICAgICBmaXJzdFJ1bi5jdXJyZW50ID0gZmFsc2VcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGRpc3BhdGNoT3B0aW9ucyh7IHR5cGU6ICdDTEVBUicgfSlcbiAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbigtMSlcbiAgICBzZXRMYXN0TG9hZGVkUGFnZSh7fSlcbiAgICBzZXRIYXNMb2FkZWRGaXJzdFBhZ2UoZmFsc2UpXG4gIH0sIFtyZWxhdGlvblRvLCBmaWx0ZXJPcHRpb25zUmVzdWx0LCBsb2NhbGVdKVxuXG4gIGNvbnN0IG9uU2F2ZSA9IHVzZUNhbGxiYWNrPERvY3VtZW50RHJhd2VyUHJvcHNbJ29uU2F2ZSddPihcbiAgICAoYXJncykgPT4ge1xuICAgICAgZGlzcGF0Y2hPcHRpb25zKHtcbiAgICAgICAgY29sbGVjdGlvbjogYXJncy5jb2xsZWN0aW9uQ29uZmlnLFxuICAgICAgICBjb25maWcsXG4gICAgICAgIGRvYzogYXJncy5kb2MsXG4gICAgICAgIGkxOG4sXG4gICAgICAgIHR5cGU6ICdVUERBVEUnLFxuICAgICAgfSlcbiAgICB9LFxuICAgIFtpMThuLCBjb25maWddLFxuICApXG5cbiAgY29uc3QgZmlsdGVyT3B0aW9uID0gdXNlQ2FsbGJhY2soKGl0ZW06IE9wdGlvbiwgc2VhcmNoRmlsdGVyOiBzdHJpbmcpID0+IHtcbiAgICBpZiAoIXNlYXJjaEZpbHRlcikge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgY29uc3QgciA9IHdvcmRCb3VuZGFyaWVzUmVnZXgoc2VhcmNoRmlsdGVyIHx8ICcnKVxuICAgIC8vIGJyZWFraW5nIHRoZSBsYWJlbHMgdG8gc2VhcmNoIGludG8gc21hbGxlciBwYXJ0cyBpbmNyZWFzZXMgcGVyZm9ybWFuY2VcbiAgICBjb25zdCBicmVha0FwYXJ0VGhyZXNob2xkID0gMjUwXG4gICAgbGV0IHN0cmluZyA9IGl0ZW0ubGFiZWxcbiAgICAvLyBzdHJpbmdzIGxlc3MgdGhhbiBicmVha0FwYXJ0VGhyZXNob2xkIGxlbmd0aCB3b24ndCBiZSBjaHVua2VkXG4gICAgd2hpbGUgKHN0cmluZy5sZW5ndGggPiBicmVha0FwYXJ0VGhyZXNob2xkKSB7XG4gICAgICAvLyBzbGljaW5nIGJ5IHRoZSBuZXh0IHNwYWNlIGFmdGVyIHRoZSBsZW5ndGggb2YgdGhlIHNlYXJjaCBpbnB1dCBwcmV2ZW50cyBzbGljaW5nIHRoZSBzdHJpbmcgdXAgYnkgcGFydGlhbCB3b3Jkc1xuICAgICAgY29uc3QgaW5kZXhPZlNwYWNlID0gc3RyaW5nLmluZGV4T2YoJyAnLCBzZWFyY2hGaWx0ZXIubGVuZ3RoKVxuICAgICAgaWYgKHIudGVzdChzdHJpbmcuc2xpY2UoMCwgaW5kZXhPZlNwYWNlID09PSAtMSA/IHNlYXJjaEZpbHRlci5sZW5ndGggOiBpbmRleE9mU3BhY2UgKyAxKSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHN0cmluZyA9IHN0cmluZy5zbGljZShpbmRleE9mU3BhY2UgPT09IC0xID8gc2VhcmNoRmlsdGVyLmxlbmd0aCA6IGluZGV4T2ZTcGFjZSArIDEpXG4gICAgfVxuICAgIHJldHVybiByLnRlc3Qoc3RyaW5nLnNsaWNlKC1icmVha0FwYXJ0VGhyZXNob2xkKSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdmFsdWVUb1JlbmRlciA9IGZpbmRPcHRpb25zQnlWYWx1ZSh7IG9wdGlvbnMsIHZhbHVlIH0pXG5cbiAgaWYgKCFBcnJheS5pc0FycmF5KHZhbHVlVG9SZW5kZXIpICYmIHZhbHVlVG9SZW5kZXI/LnZhbHVlID09PSAnbnVsbCcpIHZhbHVlVG9SZW5kZXIudmFsdWUgPSBudWxsXG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e1tcbiAgICAgICAgZmllbGRCYXNlQ2xhc3MsXG4gICAgICAgIGJhc2VDbGFzcyxcbiAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICBzaG93RXJyb3IgJiYgJ2Vycm9yJyxcbiAgICAgICAgZXJyb3JMb2FkaW5nICYmICdlcnJvci1sb2FkaW5nJyxcbiAgICAgICAgcmVhZE9ubHkgJiYgYCR7YmFzZUNsYXNzfS0tcmVhZC1vbmx5YCxcbiAgICAgIF1cbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAuam9pbignICcpfVxuICAgICAgaWQ9e2BmaWVsZC0ke3BhdGhPck5hbWUucmVwbGFjZSgvXFwuL2csICdfXycpfWB9XG4gICAgICBzdHlsZT17e1xuICAgICAgICAuLi5zdHlsZSxcbiAgICAgICAgd2lkdGgsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxFcnJvckNvbXAgbWVzc2FnZT17ZXJyb3JNZXNzYWdlfSBzaG93RXJyb3I9e3Nob3dFcnJvcn0gLz5cbiAgICAgIDxMYWJlbENvbXAgaHRtbEZvcj17cGF0aE9yTmFtZX0gbGFiZWw9e2xhYmVsfSByZXF1aXJlZD17cmVxdWlyZWR9IC8+XG4gICAgICA8R2V0RmlsdGVyT3B0aW9uc1xuICAgICAgICB7Li4ue1xuICAgICAgICAgIGZpbHRlck9wdGlvbnMsXG4gICAgICAgICAgZmlsdGVyT3B0aW9uc1Jlc3VsdCxcbiAgICAgICAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgICAgICAgIHJlbGF0aW9uVG8sXG4gICAgICAgICAgc2V0RmlsdGVyT3B0aW9uc1Jlc3VsdCxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgICB7IWVycm9yTG9hZGluZyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X193cmFwYH0+XG4gICAgICAgICAgPFJlYWN0U2VsZWN0XG4gICAgICAgICAgICBiYWNrc3BhY2VSZW1vdmVzVmFsdWU9eyFkcmF3ZXJJc09wZW59XG4gICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgIE11bHRpVmFsdWVMYWJlbCxcbiAgICAgICAgICAgICAgU2luZ2xlVmFsdWUsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgY3VzdG9tUHJvcHM9e3tcbiAgICAgICAgICAgICAgZGlzYWJsZUtleURvd246IGRyYXdlcklzT3BlbixcbiAgICAgICAgICAgICAgZGlzYWJsZU1vdXNlRG93bjogZHJhd2VySXNPcGVuLFxuICAgICAgICAgICAgICBvblNhdmUsXG4gICAgICAgICAgICAgIHNldERyYXdlcklzT3BlbixcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBkaXNhYmxlZD17cmVhZE9ubHkgfHwgZm9ybVByb2Nlc3Npbmd9XG4gICAgICAgICAgICBmaWx0ZXJPcHRpb249e2VuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCA/IGZpbHRlck9wdGlvbiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgIGlzTG9hZGluZz17aXNMb2FkaW5nfVxuICAgICAgICAgICAgaXNNdWx0aT17aGFzTWFueX1cbiAgICAgICAgICAgIGlzU29ydGFibGU9e2lzU29ydGFibGV9XG4gICAgICAgICAgICBvbkNoYW5nZT17XG4gICAgICAgICAgICAgICFyZWFkT25seVxuICAgICAgICAgICAgICAgID8gKHNlbGVjdGVkKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3RlZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKGhhc01hbnkgPyBbXSA6IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoaGFzTWFueSkge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKFxuICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPyBzZWxlY3RlZC5tYXAoKG9wdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzogb3B0aW9uLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IG9wdGlvbi52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLnZhbHVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNNdWx0aXBsZVJlbGF0aW9ucykge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlbGF0aW9uVG86IHNlbGVjdGVkLnJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc2VsZWN0ZWQudmFsdWUsXG4gICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRWYWx1ZShzZWxlY3RlZC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvbklucHV0Q2hhbmdlPXsobmV3U2VhcmNoKSA9PiBoYW5kbGVJbnB1dENoYW5nZShuZXdTZWFyY2gsIHZhbHVlKX1cbiAgICAgICAgICAgIG9uTWVudU9wZW49eygpID0+IHtcbiAgICAgICAgICAgICAgaWYgKCFoYXNMb2FkZWRGaXJzdFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcodHJ1ZSlcbiAgICAgICAgICAgICAgICBnZXRSZXN1bHRzKHtcbiAgICAgICAgICAgICAgICAgIG9uU3VjY2VzczogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRIYXNMb2FkZWRGaXJzdFBhZ2UodHJ1ZSlcbiAgICAgICAgICAgICAgICAgICAgc2V0SXNMb2FkaW5nKGZhbHNlKVxuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9uTWVudVNjcm9sbFRvQm90dG9tPXsoKSA9PiB7XG4gICAgICAgICAgICAgIGdldFJlc3VsdHMoe1xuICAgICAgICAgICAgICAgIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uLFxuICAgICAgICAgICAgICAgIHNlYXJjaCxcbiAgICAgICAgICAgICAgICBzb3J0OiBmYWxzZSxcbiAgICAgICAgICAgICAgICB2YWx1ZTogaW5pdGlhbFZhbHVlLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIG9wdGlvbnM9e29wdGlvbnN9XG4gICAgICAgICAgICBzaG93RXJyb3I9e3Nob3dFcnJvcn1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZVRvUmVuZGVyID8/IG51bGx9XG4gICAgICAgICAgLz5cbiAgICAgICAgICB7IXJlYWRPbmx5ICYmIGFsbG93Q3JlYXRlICYmIChcbiAgICAgICAgICAgIDxBZGROZXdSZWxhdGlvblxuICAgICAgICAgICAgICB7Li4ue1xuICAgICAgICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyxcbiAgICAgICAgICAgICAgICBoYXNNYW55LFxuICAgICAgICAgICAgICAgIG9wdGlvbnMsXG4gICAgICAgICAgICAgICAgcGF0aDogcGF0aE9yTmFtZSxcbiAgICAgICAgICAgICAgICByZWxhdGlvblRvLFxuICAgICAgICAgICAgICAgIHNldFZhbHVlLFxuICAgICAgICAgICAgICAgIHZhbHVlLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICl9XG4gICAgICB7ZXJyb3JMb2FkaW5nICYmIDxkaXYgY2xhc3NOYW1lPXtgJHtiYXNlQ2xhc3N9X19lcnJvci1sb2FkaW5nYH0+e2Vycm9yTG9hZGluZ308L2Rpdj59XG4gICAgICA8RmllbGREZXNjcmlwdGlvbiBkZXNjcmlwdGlvbj17ZGVzY3JpcHRpb259IHZhbHVlPXt2YWx1ZX0gLz5cbiAgICA8L2Rpdj5cbiAgKVxufVxuXG5leHBvcnQgZGVmYXVsdCB3aXRoQ29uZGl0aW9uKFJlbGF0aW9uc2hpcClcbiJdLCJuYW1lcyI6WyJtYXhSZXN1bHRzUGVyUmVxdWVzdCIsImJhc2VDbGFzcyIsIlJlbGF0aW9uc2hpcCIsInByb3BzIiwibmFtZSIsImFkbWluIiwiYWxsb3dDcmVhdGUiLCJjbGFzc05hbWUiLCJjb25kaXRpb24iLCJkZXNjcmlwdGlvbiIsImlzU29ydGFibGUiLCJyZWFkT25seSIsInN0eWxlIiwid2lkdGgiLCJjb21wb25lbnRzIiwiRXJyb3IiLCJMYWJlbCIsImZpbHRlck9wdGlvbnMiLCJoYXNNYW55IiwibGFiZWwiLCJwYXRoIiwicmVsYXRpb25UbyIsInJlcXVpcmVkIiwidmFsaWRhdGUiLCJyZWxhdGlvbnNoaXAiLCJFcnJvckNvbXAiLCJEZWZhdWx0RXJyb3IiLCJMYWJlbENvbXAiLCJEZWZhdWx0TGFiZWwiLCJjb25maWciLCJ1c2VDb25maWciLCJjb2xsZWN0aW9ucyIsInJvdXRlcyIsImFwaSIsInNlcnZlclVSTCIsImkxOG4iLCJ0IiwidXNlVHJhbnNsYXRpb24iLCJwZXJtaXNzaW9ucyIsInVzZUF1dGgiLCJjb2RlIiwibG9jYWxlIiwidXNlTG9jYWxlIiwiZm9ybVByb2Nlc3NpbmciLCJ1c2VGb3JtUHJvY2Vzc2luZyIsImhhc011bHRpcGxlUmVsYXRpb25zIiwiQXJyYXkiLCJpc0FycmF5Iiwib3B0aW9ucyIsImRpc3BhdGNoT3B0aW9ucyIsInVzZVJlZHVjZXIiLCJvcHRpb25zUmVkdWNlciIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uIiwic2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24iLCJ1c2VTdGF0ZSIsImxhc3RMb2FkZWRQYWdlIiwic2V0TGFzdExvYWRlZFBhZ2UiLCJlcnJvckxvYWRpbmciLCJzZXRFcnJvckxvYWRpbmciLCJmaWx0ZXJPcHRpb25zUmVzdWx0Iiwic2V0RmlsdGVyT3B0aW9uc1Jlc3VsdCIsInNlYXJjaCIsInNldFNlYXJjaCIsImlzTG9hZGluZyIsInNldElzTG9hZGluZyIsImhhc0xvYWRlZEZpcnN0UGFnZSIsInNldEhhc0xvYWRlZEZpcnN0UGFnZSIsImVuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCIsInNldEVuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCIsImZpcnN0UnVuIiwidXNlUmVmIiwicGF0aE9yTmFtZSIsIm1lbW9pemVkVmFsaWRhdGUiLCJ1c2VDYWxsYmFjayIsInZhbHVlIiwidmFsaWRhdGlvbk9wdGlvbnMiLCJlcnJvck1lc3NhZ2UiLCJpbml0aWFsVmFsdWUiLCJzZXRWYWx1ZSIsInNob3dFcnJvciIsInVzZUZpZWxkIiwiZHJhd2VySXNPcGVuIiwic2V0RHJhd2VySXNPcGVuIiwiZ2V0UmVzdWx0cyIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnIiwib25TdWNjZXNzIiwic2VhcmNoQXJnIiwic29ydCIsInZhbHVlQXJnIiwibGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSIsInJlbGF0aW9ucyIsInJlbGF0aW9uc1RvRmV0Y2giLCJzbGljZSIsInJlc3VsdHNGZXRjaGVkIiwicmVsYXRpb25NYXAiLCJjcmVhdGVSZWxhdGlvbk1hcCIsInJlZHVjZSIsInByaW9yUmVsYXRpb24iLCJyZWxhdGlvbiIsImxhc3RMb2FkZWRQYWdlVG9Vc2UiLCJjb2xsZWN0aW9uIiwiZmluZCIsImNvbGwiLCJzbHVnIiwiZmllbGRUb1NlYXJjaCIsInVzZUFzVGl0bGUiLCJxdWVyeSIsImRlcHRoIiwibGltaXQiLCJwYWdlIiwid2hlcmUiLCJhbmQiLCJpZCIsIm5vdF9pbiIsInB1c2giLCJsaWtlIiwicmVzcG9uc2UiLCJmZXRjaCIsInFzIiwic3RyaW5naWZ5IiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJvayIsImRhdGEiLCJqc29uIiwicHJldlN0YXRlIiwibmV4dFBhZ2UiLCJpbmRleE9mIiwiZG9jcyIsImxlbmd0aCIsInR5cGUiLCJzdGF0dXMiLCJpZHMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInVwZGF0ZVNlYXJjaCIsInVzZURlYm91bmNlZENhbGxiYWNrIiwiaGFuZGxlSW5wdXRDaGFuZ2UiLCJ1c2VFZmZlY3QiLCJPYmplY3QiLCJlbnRyaWVzIiwiaWRzVG9Mb2FkIiwiZmlsdGVyIiwib3B0aW9uR3JvdXAiLCJvcHRpb24iLCJpbiIsImlzSWRPbmx5IiwiaWRPbmx5IiwiY3VycmVudCIsIm9uU2F2ZSIsImFyZ3MiLCJjb2xsZWN0aW9uQ29uZmlnIiwiZG9jIiwiZmlsdGVyT3B0aW9uIiwiaXRlbSIsInNlYXJjaEZpbHRlciIsInIiLCJ3b3JkQm91bmRhcmllc1JlZ2V4IiwiYnJlYWtBcGFydFRocmVzaG9sZCIsInN0cmluZyIsImluZGV4T2ZTcGFjZSIsInRlc3QiLCJ2YWx1ZVRvUmVuZGVyIiwiZmluZE9wdGlvbnNCeVZhbHVlIiwiZGl2IiwiZmllbGRCYXNlQ2xhc3MiLCJCb29sZWFuIiwiam9pbiIsInJlcGxhY2UiLCJtZXNzYWdlIiwiaHRtbEZvciIsIkdldEZpbHRlck9wdGlvbnMiLCJSZWFjdFNlbGVjdCIsImJhY2tzcGFjZVJlbW92ZXNWYWx1ZSIsIk11bHRpVmFsdWVMYWJlbCIsIlNpbmdsZVZhbHVlIiwiY3VzdG9tUHJvcHMiLCJkaXNhYmxlS2V5RG93biIsImRpc2FibGVNb3VzZURvd24iLCJkaXNhYmxlZCIsInVuZGVmaW5lZCIsImlzTXVsdGkiLCJvbkNoYW5nZSIsInNlbGVjdGVkIiwibWFwIiwib25JbnB1dENoYW5nZSIsIm5ld1NlYXJjaCIsIm9uTWVudU9wZW4iLCJvbk1lbnVTY3JvbGxUb0JvdHRvbSIsIkFkZE5ld1JlbGF0aW9uIiwiRmllbGREZXNjcmlwdGlvbiIsIndpdGhDb25kaXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBNmdCQTs7O2VBQUE7OzsyREE3Z0JlOytEQUM2RDs4QkFDN0M7NkJBT0Y7NEVBQ0c7c0NBQ0s7b0VBQ2I7c0JBQ0E7d0JBQ0U7a0NBQ087d0JBQ1A7OERBQ0Q7eUVBQ0k7eUJBQ0s7OERBQ1Q7aUVBQ0o7c0VBQ0s7d0JBQ0s7d0JBQ0E7bUNBQ0c7b0NBQ0M7UUFDNUI7dUVBQ29CO2lDQUNLOzZCQUNKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsdUJBQXVCO0FBRTdCLE1BQU1DLFlBQVk7QUFFbEIsTUFBTUMsZUFBZ0MsQ0FBQ0M7SUFDckMsTUFBTSxFQUNKQyxJQUFJLEVBQ0pDLE9BQU8sRUFDTEMsY0FBYyxJQUFJLEVBQ2xCQyxTQUFTLEVBQ1RDLFNBQVMsRUFDVEMsV0FBVyxFQUNYQyxhQUFhLElBQUksRUFDakJDLFFBQVEsRUFDUkMsS0FBSyxFQUNMQyxLQUFLLEVBQ0xDLFlBQVksRUFBRUMsS0FBSyxFQUFFQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDbEMsR0FBRyxDQUFDLENBQUMsRUFDTkMsYUFBYSxFQUNiQyxPQUFPLEVBQ1BDLEtBQUssRUFDTEMsSUFBSSxFQUNKQyxVQUFVLEVBQ1ZDLFFBQVEsRUFDUkMsV0FBV0MseUJBQVksRUFDeEIsR0FBR3JCO0lBRUosTUFBTXNCLFlBQVlWLFNBQVNXLGNBQVk7SUFDdkMsTUFBTUMsWUFBWVgsU0FBU1ksY0FBWTtJQUV2QyxNQUFNQyxTQUFTQyxJQUFBQSxpQkFBUztJQUV4QixNQUFNLEVBQ0pDLFdBQVcsRUFDWEMsUUFBUSxFQUFFQyxHQUFHLEVBQUUsRUFDZkMsU0FBUyxFQUNW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
|
|
501
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JlbGF0aW9uc2hpcC9pbmRleC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHFzIGZyb20gJ3FzJ1xuaW1wb3J0IFJlYWN0LCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZHVjZXIsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IHVzZVRyYW5zbGF0aW9uIH0gZnJvbSAncmVhY3QtaTE4bmV4dCdcblxuaW1wb3J0IHR5cGUgeyBQYWdpbmF0ZWREb2NzIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZGF0YWJhc2UvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFdoZXJlIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vdHlwZXMnXG5pbXBvcnQgdHlwZSB7IERvY3VtZW50RHJhd2VyUHJvcHMgfSBmcm9tICcuLi8uLi8uLi9lbGVtZW50cy9Eb2N1bWVudERyYXdlci90eXBlcydcbmltcG9ydCB0eXBlIHsgRmlsdGVyT3B0aW9uc1Jlc3VsdCwgR2V0UmVzdWx0cywgT3B0aW9uLCBQcm9wcywgVmFsdWUgfSBmcm9tICcuL3R5cGVzJ1xuXG5pbXBvcnQgeyByZWxhdGlvbnNoaXAgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9maWVsZHMvdmFsaWRhdGlvbnMnXG5pbXBvcnQgd29yZEJvdW5kYXJpZXNSZWdleCBmcm9tICcuLi8uLi8uLi8uLi8uLi91dGlsaXRpZXMvd29yZEJvdW5kYXJpZXNSZWdleCdcbmltcG9ydCB7IHVzZURlYm91bmNlZENhbGxiYWNrIH0gZnJvbSAnLi4vLi4vLi4vLi4vaG9va3MvdXNlRGVib3VuY2VkQ2FsbGJhY2snXG5pbXBvcnQgUmVhY3RTZWxlY3QgZnJvbSAnLi4vLi4vLi4vZWxlbWVudHMvUmVhY3RTZWxlY3QnXG5pbXBvcnQgeyB1c2VBdXRoIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0F1dGgnXG5pbXBvcnQgeyB1c2VDb25maWcgfSBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvQ29uZmlnJ1xuaW1wb3J0IHsgR2V0RmlsdGVyT3B0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3V0aWxpdGllcy9HZXRGaWx0ZXJPcHRpb25zJ1xuaW1wb3J0IHsgdXNlTG9jYWxlIH0gZnJvbSAnLi4vLi4vLi4vdXRpbGl0aWVzL0xvY2FsZSdcbmltcG9ydCBEZWZhdWx0RXJyb3IgZnJvbSAnLi4vLi4vRXJyb3InXG5pbXBvcnQgRmllbGREZXNjcmlwdGlvbiBmcm9tICcuLi8uLi9GaWVsZERlc2NyaXB0aW9uJ1xuaW1wb3J0IHsgdXNlRm9ybVByb2Nlc3NpbmcgfSBmcm9tICcuLi8uLi9Gb3JtL2NvbnRleHQnXG5pbXBvcnQgRGVmYXVsdExhYmVsIGZyb20gJy4uLy4uL0xhYmVsJ1xuaW1wb3J0IHVzZUZpZWxkIGZyb20gJy4uLy4uL3VzZUZpZWxkJ1xuaW1wb3J0IHdpdGhDb25kaXRpb24gZnJvbSAnLi4vLi4vd2l0aENvbmRpdGlvbidcbmltcG9ydCB7IGZpZWxkQmFzZUNsYXNzIH0gZnJvbSAnLi4vc2hhcmVkJ1xuaW1wb3J0IHsgQWRkTmV3UmVsYXRpb24gfSBmcm9tICcuL0FkZE5ldydcbmltcG9ydCB7IGNyZWF0ZVJlbGF0aW9uTWFwIH0gZnJvbSAnLi9jcmVhdGVSZWxhdGlvbk1hcCdcbmltcG9ydCB7IGZpbmRPcHRpb25zQnlWYWx1ZSB9IGZyb20gJy4vZmluZE9wdGlvbnNCeVZhbHVlJ1xuaW1wb3J0ICcuL2luZGV4LnNjc3MnXG5pbXBvcnQgb3B0aW9uc1JlZHVjZXIgZnJvbSAnLi9vcHRpb25zUmVkdWNlcidcbmltcG9ydCB7IE11bHRpVmFsdWVMYWJlbCB9IGZyb20gJy4vc2VsZWN0LWNvbXBvbmVudHMvTXVsdGlWYWx1ZUxhYmVsJ1xuaW1wb3J0IHsgU2luZ2xlVmFsdWUgfSBmcm9tICcuL3NlbGVjdC1jb21wb25lbnRzL1NpbmdsZVZhbHVlJ1xuXG5jb25zdCBtYXhSZXN1bHRzUGVyUmVxdWVzdCA9IDEwXG5cbmNvbnN0IGJhc2VDbGFzcyA9ICdyZWxhdGlvbnNoaXAnXG5cbmNvbnN0IFJlbGF0aW9uc2hpcDogUmVhY3QuRkM8UHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHtcbiAgICBuYW1lLFxuICAgIGFkbWluOiB7XG4gICAgICBhbGxvd0NyZWF0ZSA9IHRydWUsXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjb21wb25lbnRzOiB7IEVycm9yLCBMYWJlbCB9ID0ge30sXG4gICAgICBjb25kaXRpb24sXG4gICAgICBkZXNjcmlwdGlvbixcbiAgICAgIGlzU29ydGFibGUgPSB0cnVlLFxuICAgICAgcmVhZE9ubHksXG4gICAgICBzb3J0T3B0aW9ucyxcbiAgICAgIHN0eWxlLFxuICAgICAgd2lkdGgsXG4gICAgfSA9IHt9LFxuICAgIGZpbHRlck9wdGlvbnMsXG4gICAgaGFzTWFueSxcbiAgICBsYWJlbCxcbiAgICBwYXRoLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgcmVxdWlyZWQsXG4gICAgdmFsaWRhdGUgPSByZWxhdGlvbnNoaXAsXG4gIH0gPSBwcm9wc1xuXG4gIGNvbnN0IEVycm9yQ29tcCA9IEVycm9yIHx8IERlZmF1bHRFcnJvclxuICBjb25zdCBMYWJlbENvbXAgPSBMYWJlbCB8fCBEZWZhdWx0TGFiZWxcblxuICBjb25zdCBjb25maWcgPSB1c2VDb25maWcoKVxuXG4gIGNvbnN0IHtcbiAgICBjb2xsZWN0aW9ucyxcbiAgICByb3V0ZXM6IHsgYXBpIH0sXG4gICAgc2VydmVyVVJMLFxuICB9ID0gY29uZmlnXG5cbiAgY29uc3QgeyBpMThuLCB0IH0gPSB1c2VUcmFuc2xhdGlvbignZmllbGRzJylcbiAgY29uc3QgeyBwZXJtaXNzaW9ucyB9ID0gdXNlQXV0aCgpXG4gIGNvbnN0IHsgY29kZTogbG9jYWxlIH0gPSB1c2VMb2NhbGUoKVxuICBjb25zdCBmb3JtUHJvY2Vzc2luZyA9IHVzZUZvcm1Qcm9jZXNzaW5nKClcbiAgY29uc3QgaGFzTXVsdGlwbGVSZWxhdGlvbnMgPSBBcnJheS5pc0FycmF5KHJlbGF0aW9uVG8pXG4gIGNvbnN0IFtvcHRpb25zLCBkaXNwYXRjaE9wdGlvbnNdID0gdXNlUmVkdWNlcihvcHRpb25zUmVkdWNlciwgW10pXG4gIGNvbnN0IFtsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiwgc2V0TGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25dID0gdXNlU3RhdGUoLTEpXG4gIGNvbnN0IFtsYXN0TG9hZGVkUGFnZSwgc2V0TGFzdExvYWRlZFBhZ2VdID0gdXNlU3RhdGU8UmVjb3JkPHN0cmluZywgbnVtYmVyPj4oe30pXG4gIGNvbnN0IFtlcnJvckxvYWRpbmcsIHNldEVycm9yTG9hZGluZ10gPSB1c2VTdGF0ZSgnJylcbiAgY29uc3QgW2ZpbHRlck9wdGlvbnNSZXN1bHQsIHNldEZpbHRlck9wdGlvbnNSZXN1bHRdID0gdXNlU3RhdGU8RmlsdGVyT3B0aW9uc1Jlc3VsdD4oKVxuICBjb25zdCBbc2VhcmNoLCBzZXRTZWFyY2hdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IFtpc0xvYWRpbmcsIHNldElzTG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2hhc0xvYWRlZEZpcnN0UGFnZSwgc2V0SGFzTG9hZGVkRmlyc3RQYWdlXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoLCBzZXRFbmFibGVXb3JkQm91bmRhcnlTZWFyY2hdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IGZpcnN0UnVuID0gdXNlUmVmKHRydWUpXG4gIGNvbnN0IHBhdGhPck5hbWUgPSBwYXRoIHx8IG5hbWVcblxuICBjb25zdCBtZW1vaXplZFZhbGlkYXRlID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlLCB2YWxpZGF0aW9uT3B0aW9ucykgPT4ge1xuICAgICAgcmV0dXJuIHZhbGlkYXRlKHZhbHVlLCB7IC4uLnZhbGlkYXRpb25PcHRpb25zLCByZXF1aXJlZCB9KVxuICAgIH0sXG4gICAgW3ZhbGlkYXRlLCByZXF1aXJlZF0sXG4gIClcblxuICBjb25zdCB7IGVycm9yTWVzc2FnZSwgaW5pdGlhbFZhbHVlLCBzZXRWYWx1ZSwgc2hvd0Vycm9yLCB2YWx1ZSB9ID0gdXNlRmllbGQ8VmFsdWUgfCBWYWx1ZVtdPih7XG4gICAgY29uZGl0aW9uLFxuICAgIHBhdGg6IHBhdGhPck5hbWUsXG4gICAgdmFsaWRhdGU6IG1lbW9pemVkVmFsaWRhdGUsXG4gIH0pXG5cbiAgY29uc3QgW2RyYXdlcklzT3Blbiwgc2V0RHJhd2VySXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGdldFJlc3VsdHM6IEdldFJlc3VsdHMgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAoe1xuICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb246IGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnLFxuICAgICAgb25TdWNjZXNzLFxuICAgICAgc2VhcmNoOiBzZWFyY2hBcmcsXG4gICAgICBzb3J0LFxuICAgICAgdmFsdWU6IHZhbHVlQXJnLFxuICAgIH0pID0+IHtcbiAgICAgIGlmICghcGVybWlzc2lvbnMpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBjb25zdCBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvblRvVXNlID1cbiAgICAgICAgdHlwZW9mIGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnICE9PSAndW5kZWZpbmVkJyA/IGxhc3RGdWxseUxvYWRlZFJlbGF0aW9uQXJnIDogLTFcblxuICAgICAgY29uc3QgcmVsYXRpb25zID0gQXJyYXkuaXNBcnJheShyZWxhdGlvblRvKSA/IHJlbGF0aW9uVG8gOiBbcmVsYXRpb25Ub11cbiAgICAgIGNvbnN0IHJlbGF0aW9uc1RvRmV0Y2ggPVxuICAgICAgICBsYXN0RnVsbHlMb2FkZWRSZWxhdGlvblRvVXNlID09PSAtMVxuICAgICAgICAgID8gcmVsYXRpb25zXG4gICAgICAgICAgOiByZWxhdGlvbnMuc2xpY2UobGFzdEZ1bGx5TG9hZGVkUmVsYXRpb25Ub1VzZSArIDEpXG5cbiAgICAgIGxldCByZXN1bHRzRmV0Y2hlZCA9IDBcbiAgICAgIGNvbnN0IHJlbGF0aW9uTWFwID0gY3JlYXRlUmVsYXRpb25NYXAoe1xuICAgICAgICBoYXNNYW55LFxuICAgICAgICByZWxhdGlvblRvLFxuICAgICAgICB2YWx1ZTogdmFsdWVBcmcsXG4gICAgICB9KVxuXG4gICAgICBpZiAoIWVycm9yTG9hZGluZykge1xuICAgICAgICByZWxhdGlvbnNUb0ZldGNoLnJlZHVjZShhc3luYyAocHJpb3JSZWxhdGlvbiwgcmVsYXRpb24pID0+IHtcbiAgICAgICAgICBsZXQgbGFzdExvYWRlZFBhZ2VUb1VzZVxuICAgICAgICAgIGlmIChzZWFyY2ggIT09IHNlYXJjaEFyZykge1xuICAgICAgICAgICAgbGFzdExvYWRlZFBhZ2VUb1VzZSA9IDFcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGFzdExvYWRlZFBhZ2VUb1VzZSA9IGxhc3RMb2FkZWRQYWdlW3JlbGF0aW9uXSArIDFcbiAgICAgICAgICB9XG4gICAgICAgICAgYXdhaXQgcHJpb3JSZWxhdGlvblxuXG4gICAgICAgICAgaWYgKHJlc3VsdHNGZXRjaGVkIDwgMTApIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5maW5kKChjb2xsKSA9PiBjb2xsLnNsdWcgPT09IHJlbGF0aW9uKVxuICAgICAgICAgICAgbGV0IGZpZWxkVG9TZWFyY2ggPSBjb2xsZWN0aW9uPy5kZWZhdWx0U29ydCB8fCBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG4gICAgICAgICAgICBpZiAoIXNlYXJjaEFyZykge1xuICAgICAgICAgICAgICBpZiAodHlwZW9mIHNvcnRPcHRpb25zID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgICAgIGZpZWxkVG9TZWFyY2ggPSBzb3J0T3B0aW9uc1xuICAgICAgICAgICAgICB9IGVsc2UgaWYgKHNvcnRPcHRpb25zPy5bcmVsYXRpb25dKSB7XG4gICAgICAgICAgICAgICAgZmllbGRUb1NlYXJjaCA9IHNvcnRPcHRpb25zW3JlbGF0aW9uXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHF1ZXJ5OiB7XG4gICAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IHVua25vd25cbiAgICAgICAgICAgICAgd2hlcmU6IFdoZXJlXG4gICAgICAgICAgICB9ID0ge1xuICAgICAgICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgICAgICAgbGltaXQ6IG1heFJlc3VsdHNQZXJSZXF1ZXN0LFxuICAgICAgICAgICAgICBsb2NhbGUsXG4gICAgICAgICAgICAgIHBhZ2U6IGxhc3RMb2FkZWRQYWdlVG9Vc2UsXG4gICAgICAgICAgICAgIHNvcnQ6IGZpZWxkVG9TZWFyY2gsXG4gICAgICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICAgICAgYW5kOiBbXG4gICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIGlkOiB7XG4gICAgICAgICAgICAgICAgICAgICAgbm90X2luOiByZWxhdGlvbk1hcFtyZWxhdGlvbl0sXG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChzZWFyY2hBcmcpIHtcbiAgICAgICAgICAgICAgcXVlcnkud2hlcmUuYW5kLnB1c2goe1xuICAgICAgICAgICAgICAgIFtmaWVsZFRvU2VhcmNoXToge1xuICAgICAgICAgICAgICAgICAgbGlrZTogc2VhcmNoQXJnLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChmaWx0ZXJPcHRpb25zUmVzdWx0Py5bcmVsYXRpb25dKSB7XG4gICAgICAgICAgICAgIHF1ZXJ5LndoZXJlLmFuZC5wdXNoKGZpbHRlck9wdGlvbnNSZXN1bHRbcmVsYXRpb25dKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0vJHtyZWxhdGlvbn0/JHtxcy5zdHJpbmdpZnkocXVlcnkpfWAsIHtcbiAgICAgICAgICAgICAgY3JlZGVudGlhbHM6ICdpbmNsdWRlJyxcbiAgICAgICAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGRhdGE6IFBhZ2luYXRlZERvY3M8dW5rbm93bj4gPSBhd2FpdCByZXNwb25zZS5qc29uKClcbiAgICAgICAgICAgICAgc2V0TGFzdExvYWRlZFBhZ2UoKHByZXZTdGF0ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAuLi5wcmV2U3RhdGUsXG4gICAgICAgICAgICAgICAgICBbcmVsYXRpb25dOiBsYXN0TG9hZGVkUGFnZVRvVXNlLFxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSlcblxuICAgICAgICAgICAgICBpZiAoIWRhdGEubmV4dFBhZ2UpIHtcbiAgICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpZiAoZGF0YS5kb2NzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHRzRmV0Y2hlZCArPSBkYXRhLmRvY3MubGVuZ3RoXG5cbiAgICAgICAgICAgICAgICBkaXNwYXRjaE9wdGlvbnMoe1xuICAgICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgICAgICAgICAgIGRvY3M6IGRhdGEuZG9jcyxcbiAgICAgICAgICAgICAgICAgIGkxOG4sXG4gICAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgICAgdHlwZTogJ0FERCcsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQwMykge1xuICAgICAgICAgICAgICBzZXRMYXN0RnVsbHlMb2FkZWRSZWxhdGlvbihyZWxhdGlvbnMuaW5kZXhPZihyZWxhdGlvbikpXG4gICAgICAgICAgICAgIGRpc3BhdGNoT3B0aW9ucyh7XG4gICAgICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICAgICAgZG9jczogW10sXG4gICAgICAgICAgICAgICAgaTE4bixcbiAgICAgICAgICAgICAgICBpZHM6IHJlbGF0aW9uTWFwW3JlbGF0aW9uXSxcbiAgICAgICAgICAgICAgICBzb3J0LFxuICAgICAgICAgICAgICAgIHR5cGU6ICdBREQnLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2V0RXJyb3JMb2FkaW5nKHQoJ2Vycm9yOnVuc3BlY2lmaWMnKSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sIFByb21pc2UucmVzb2x2ZSgpKVxuXG4gICAgICAgIGlmICh0eXBlb2Ygb25TdWNjZXNzID09PSAnZnVuY3Rpb24nKSBvblN1Y2Nlc3MoKVxuICAgICAgfVxuICAgIH0sXG4gICAgW1xuICAgICAgcGVybWlzc2lvbnMsXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgaGFzTWFueSxcbiAgICAgIGVycm9yTG9hZGluZyxcbiAgICAgIHNlYXJjaCxcbiAgICAgIGxhc3RMb2FkZWRQYWdlLFxuICAgICAgY29sbGVjdGlvbnMsXG4gICAgICBsb2NhbGUsXG4gICAgICBmaWx0ZXJPcHRpb25zUmVzdWx0LFxuICAgICAgc2VydmVyVVJMLFxuICAgICAgc29ydE9wdGlvbnMsXG4gICAgICBhcGksXG4gICAgICBpMThuLFxuICAgICAgY29uZmlnLFxuICAgICAgdCxcbiAgICBdLFxuICApXG5cbiAgY29uc3QgdXBkYXRlU2VhcmNoID0gdXNlRGVib3VuY2VkQ2FsbGJhY2soKHNlYXJjaEFyZzogc3RyaW5nLCB2YWx1ZUFyZzogVmFsdWUgfCBWYWx1ZVtdKSA9PiB7XG4gICAgZ2V0UmVzdWx0cyh7IHNlYXJjaDogc2VhcmNoQXJnLCBzb3J0OiB0cnVlLCB2YWx1ZTogdmFsdWVBcmcgfSlcbiAgICBzZXRTZWFyY2goc2VhcmNoQXJnKVxuICB9LCAzMDApXG5cbiAgY29uc3QgaGFuZGxlSW5wdXRDaGFuZ2UgPSB1c2VDYWxsYmFjayhcbiAgICAoc2VhcmNoQXJnOiBzdHJpbmcsIHZhbHVlQXJnOiBWYWx1ZSB8IFZhbHVlW10pID0+IHtcbiAgICAgIGlmIChzZWFyY2ggIT09IHNlYXJjaEFyZykge1xuICAgICAgICBzZXRMYXN0TG9hZGVkUGFnZSh7fSlcbiAgICAgICAgdXBkYXRlU2VhcmNoKHNlYXJjaEFyZywgdmFsdWVBcmcsIHNlYXJjaEFyZyAhPT0gJycpXG4gICAgICB9XG4gICAgfSxcbiAgICBbc2VhcmNoLCB1cGRhdGVTZWFyY2hdLFxuICApXG5cbiAgLy8gLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbiAgLy8gRW5zdXJlIHdlIGhhdmUgYW4gb3B0aW9uIGZvciBlYWNoIHZhbHVlXG4gIC8vIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCByZWxhdGlvbk1hcCA9IGNyZWF0ZVJlbGF0aW9uTWFwKHtcbiAgICAgIGhhc01hbnksXG4gICAgICByZWxhdGlvblRvLFxuICAgICAgdmFsdWUsXG4gICAgfSlcblxuICAgIE9iamVjdC5lbnRyaWVzKHJlbGF0aW9uTWFwKS5yZWR1Y2UoYXN5bmMgKHByaW9yUmVsYXRpb24sIFtyZWxhdGlvbiwgaWRzXSkgPT4ge1xuICAgICAgYXdhaXQgcHJpb3JSZWxhdGlvblxuXG4gICAgICBjb25zdCBpZHNUb0xvYWQgPSBpZHMuZmlsdGVyKChpZCkgPT4ge1xuICAgICAgICByZXR1cm4gIW9wdGlvbnMuZmluZChcbiAgICAgICAgICAob3B0aW9uR3JvdXApID0+XG4gICAgICAgICAgICBvcHRpb25Hcm91cD8ub3B0aW9ucz8uZmluZChcbiAgICAgICAgICAgICAgKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBpZCAmJiBvcHRpb24ucmVsYXRpb25UbyA9PT0gcmVsYXRpb24sXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgICB9KVxuXG4gICAgICBpZiAoaWRzVG9Mb2FkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgcXVlcnkgPSB7XG4gICAgICAgICAgZGVwdGg6IDAsXG4gICAgICAgICAgbGltaXQ6IGlkc1RvTG9hZC5sZW5ndGgsXG4gICAgICAgICAgbG9jYWxlLFxuICAgICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgICBpZDoge1xuICAgICAgICAgICAgICBpbjogaWRzVG9Mb2FkLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFlcnJvckxvYWRpbmcpIHtcbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKGAke3NlcnZlclVSTH0ke2FwaX0vJHtyZWxhdGlvbn0/JHtxcy5zdHJpbmdpZnkocXVlcnkpfWAsIHtcbiAgICAgICAgICAgIGNyZWRlbnRpYWxzOiAnaW5jbHVkZScsXG4gICAgICAgICAgICBoZWFkZXJzOiB7XG4gICAgICAgICAgICAgICdBY2NlcHQtTGFuZ3VhZ2UnOiBpMThuLmxhbmd1YWdlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9KVxuXG4gICAgICAgICAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmZpbmQoKGNvbGwpID0+IGNvbGwuc2x1ZyA9PT0gcmVsYXRpb24pXG4gICAgICAgICAgbGV0IGRvY3MgPSBbXVxuXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICAgICAgICBkb2NzID0gZGF0YS5kb2NzXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZGlzcGF0Y2hPcHRpb25zKHtcbiAgICAgICAgICAgIGNvbGxlY3Rpb24sXG4gICAgICAgICAgICBjb25maWcsXG4gICAgICAgICAgICBkb2NzLFxuICAgICAgICAgICAgaTE4bixcbiAgICAgICAgICAgIGlkczogaWRzVG9Mb2FkLFxuICAgICAgICAgICAgc29ydDogdHJ1ZSxcbiAgICAgICAgICAgIHR5cGU6ICdBREQnLFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBQcm9taXNlLnJlc29sdmUoKSlcbiAgfSwgW1xuICAgIG9wdGlvbnMsXG4gICAgdmFsdWUsXG4gICAgaGFzTWFueSxcbiAgICBlcnJvckxvYWRpbmcsXG4gICAgY29sbGVjdGlvbnMsXG4gICAgaGFzTXVsdGlwbGVSZWxhdGlvbnMsXG4gICAgc2VydmVyVVJMLFxuICAgIGFwaSxcbiAgICBpMThuLFxuICAgIHJlbGF0aW9uVG8sXG4gICAgbG9jYWxlLFxuICAgIGNvbmZpZyxcbiAgXSlcblxuICAvLyBEZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIHN3aXRjaCB0byB3b3JkIGJvdW5kYXJ5IHNlYXJjaFxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHJlbGF0aW9ucyA9IEFycmF5LmlzQXJyYXkocmVsYXRpb25UbykgPyByZWxhdGlvblRvIDogW3JlbGF0aW9uVG9dXG4gICAgY29uc3QgaXNJZE9ubHkgPSByZWxhdGlvbnMucmVkdWNlKChpZE9ubHksIHJlbGF0aW9uKSA9PiB7XG4gICAgICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZmluZCgoY29sbCkgPT4gY29sbC5zbHVnID09PSByZWxhdGlvbilcbiAgICAgIGNvbnN0IGZpZWxkVG9TZWFyY2ggPSBjb2xsZWN0aW9uPy5hZG1pbj8udXNlQXNUaXRsZSB8fCAnaWQnXG4gICAgICByZXR1cm4gZmllbGRUb1NlYXJjaCA9PT0gJ2lkJyAmJiBpZE9ubHlcbiAgICB9LCB0cnVlKVxuICAgIHNldEVuYWJsZVdvcmRCb3VuZGFyeVNlYXJjaCghaXNJZE9ubHkpXG4gIH0sIFtyZWxhdGlvblRvLCBjb2xsZWN0aW9uc10pXG5cbiAgLy8gV2hlbiAoYHJlbGF0aW9uVG9gIHx8IGBmaWx0ZXJPcHRpb25zUmVzdWx0YCB8fCBgbG9jYWxlYCkgY2hhbmdlcywgcmVzZXQgY29tcG9uZW50XG4gIC8vIE5vdGUgLSBlZmZlY3Qgc2hvdWxkIG5vdCBydW4gb24gZmlyc3QgcnVuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZpcnN0UnVuLmN1cnJlbnQpIHtcbiAgICAgIGZpcnN0UnVuLmN1cnJlbnQgPSBmYWxzZVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgZGlzcGF0Y2hPcHRpb25zKHsgdHlwZTogJ0NMRUFSJyB9KVxuICAgIHNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uKC0xKVxuICAgIHNldExhc3RMb2FkZWRQYWdlKHt9KVxuICAgIHNldEhhc0xvYWRlZEZpcnN0UGFnZShmYWxzZSlcbiAgfSwgW3JlbGF0aW9uVG8sIGZpbHRlck9wdGlvbnNSZXN1bHQsIGxvY2FsZV0pXG5cbiAgY29uc3Qgb25TYXZlID0gdXNlQ2FsbGJhY2s8RG9jdW1lbnREcmF3ZXJQcm9wc1snb25TYXZlJ10+KFxuICAgIChhcmdzKSA9PiB7XG4gICAgICBkaXNwYXRjaE9wdGlvbnMoe1xuICAgICAgICBjb2xsZWN0aW9uOiBhcmdzLmNvbGxlY3Rpb25Db25maWcsXG4gICAgICAgIGNvbmZpZyxcbiAgICAgICAgZG9jOiBhcmdzLmRvYyxcbiAgICAgICAgaTE4bixcbiAgICAgICAgdHlwZTogJ1VQREFURScsXG4gICAgICB9KVxuICAgIH0sXG4gICAgW2kxOG4sIGNvbmZpZ10sXG4gIClcblxuICBjb25zdCBmaWx0ZXJPcHRpb24gPSB1c2VDYWxsYmFjaygoaXRlbTogT3B0aW9uLCBzZWFyY2hGaWx0ZXI6IHN0cmluZykgPT4ge1xuICAgIGlmICghc2VhcmNoRmlsdGVyKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBjb25zdCByID0gd29yZEJvdW5kYXJpZXNSZWdleChzZWFyY2hGaWx0ZXIgfHwgJycpXG4gICAgLy8gYnJlYWtpbmcgdGhlIGxhYmVscyB0byBzZWFyY2ggaW50byBzbWFsbGVyIHBhcnRzIGluY3JlYXNlcyBwZXJmb3JtYW5jZVxuICAgIGNvbnN0IGJyZWFrQXBhcnRUaHJlc2hvbGQgPSAyNTBcbiAgICBsZXQgc3RyaW5nID0gaXRlbS5sYWJlbFxuICAgIC8vIHN0cmluZ3MgbGVzcyB0aGFuIGJyZWFrQXBhcnRUaHJlc2hvbGQgbGVuZ3RoIHdvbid0IGJlIGNodW5rZWRcbiAgICB3aGlsZSAoc3RyaW5nLmxlbmd0aCA+IGJyZWFrQXBhcnRUaHJlc2hvbGQpIHtcbiAgICAgIC8vIHNsaWNpbmcgYnkgdGhlIG5leHQgc3BhY2UgYWZ0ZXIgdGhlIGxlbmd0aCBvZiB0aGUgc2VhcmNoIGlucHV0IHByZXZlbnRzIHNsaWNpbmcgdGhlIHN0cmluZyB1cCBieSBwYXJ0aWFsIHdvcmRzXG4gICAgICBjb25zdCBpbmRleE9mU3BhY2UgPSBzdHJpbmcuaW5kZXhPZignICcsIHNlYXJjaEZpbHRlci5sZW5ndGgpXG4gICAgICBpZiAoci50ZXN0KHN0cmluZy5zbGljZSgwLCBpbmRleE9mU3BhY2UgPT09IC0xID8gc2VhcmNoRmlsdGVyLmxlbmd0aCA6IGluZGV4T2ZTcGFjZSArIDEpKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfVxuICAgICAgc3RyaW5nID0gc3RyaW5nLnNsaWNlKGluZGV4T2ZTcGFjZSA9PT0gLTEgPyBzZWFyY2hGaWx0ZXIubGVuZ3RoIDogaW5kZXhPZlNwYWNlICsgMSlcbiAgICB9XG4gICAgcmV0dXJuIHIudGVzdChzdHJpbmcuc2xpY2UoLWJyZWFrQXBhcnRUaHJlc2hvbGQpKVxuICB9LCBbXSlcblxuICBjb25zdCB2YWx1ZVRvUmVuZGVyID0gZmluZE9wdGlvbnNCeVZhbHVlKHsgb3B0aW9ucywgdmFsdWUgfSlcblxuICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWVUb1JlbmRlcikgJiYgdmFsdWVUb1JlbmRlcj8udmFsdWUgPT09ICdudWxsJykgdmFsdWVUb1JlbmRlci52YWx1ZSA9IG51bGxcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIGNsYXNzTmFtZT17W1xuICAgICAgICBmaWVsZEJhc2VDbGFzcyxcbiAgICAgICAgYmFzZUNsYXNzLFxuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIHNob3dFcnJvciAmJiAnZXJyb3InLFxuICAgICAgICBlcnJvckxvYWRpbmcgJiYgJ2Vycm9yLWxvYWRpbmcnLFxuICAgICAgICByZWFkT25seSAmJiBgJHtiYXNlQ2xhc3N9LS1yZWFkLW9ubHlgLFxuICAgICAgXVxuICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgIC5qb2luKCcgJyl9XG4gICAgICBpZD17YGZpZWxkLSR7cGF0aE9yTmFtZS5yZXBsYWNlKC9cXC4vZywgJ19fJyl9YH1cbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIC4uLnN0eWxlLFxuICAgICAgICB3aWR0aCxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPEVycm9yQ29tcCBtZXNzYWdlPXtlcnJvck1lc3NhZ2V9IHNob3dFcnJvcj17c2hvd0Vycm9yfSAvPlxuICAgICAgPExhYmVsQ29tcCBodG1sRm9yPXtwYXRoT3JOYW1lfSBsYWJlbD17bGFiZWx9IHJlcXVpcmVkPXtyZXF1aXJlZH0gLz5cbiAgICAgIDxHZXRGaWx0ZXJPcHRpb25zXG4gICAgICAgIHsuLi57XG4gICAgICAgICAgZmlsdGVyT3B0aW9ucyxcbiAgICAgICAgICBmaWx0ZXJPcHRpb25zUmVzdWx0LFxuICAgICAgICAgIHBhdGg6IHBhdGhPck5hbWUsXG4gICAgICAgICAgcmVsYXRpb25UbyxcbiAgICAgICAgICBzZXRGaWx0ZXJPcHRpb25zUmVzdWx0LFxuICAgICAgICB9fVxuICAgICAgLz5cbiAgICAgIHshZXJyb3JMb2FkaW5nICYmIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX3dyYXBgfT5cbiAgICAgICAgICA8UmVhY3RTZWxlY3RcbiAgICAgICAgICAgIGJhY2tzcGFjZVJlbW92ZXNWYWx1ZT17IWRyYXdlcklzT3Blbn1cbiAgICAgICAgICAgIGNvbXBvbmVudHM9e3tcbiAgICAgICAgICAgICAgTXVsdGlWYWx1ZUxhYmVsLFxuICAgICAgICAgICAgICBTaW5nbGVWYWx1ZSxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBjdXN0b21Qcm9wcz17e1xuICAgICAgICAgICAgICBkaXNhYmxlS2V5RG93bjogZHJhd2VySXNPcGVuLFxuICAgICAgICAgICAgICBkaXNhYmxlTW91c2VEb3duOiBkcmF3ZXJJc09wZW4sXG4gICAgICAgICAgICAgIG9uU2F2ZSxcbiAgICAgICAgICAgICAgc2V0RHJhd2VySXNPcGVuLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIGRpc2FibGVkPXtyZWFkT25seSB8fCBmb3JtUHJvY2Vzc2luZ31cbiAgICAgICAgICAgIGZpbHRlck9wdGlvbj17ZW5hYmxlV29yZEJvdW5kYXJ5U2VhcmNoID8gZmlsdGVyT3B0aW9uIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgaXNMb2FkaW5nPXtpc0xvYWRpbmd9XG4gICAgICAgICAgICBpc011bHRpPXtoYXNNYW55fVxuICAgICAgICAgICAgaXNTb3J0YWJsZT17aXNTb3J0YWJsZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtcbiAgICAgICAgICAgICAgIXJlYWRPbmx5XG4gICAgICAgICAgICAgICAgPyAoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNlbGVjdGVkID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWUoaGFzTWFueSA/IFtdIDogbnVsbClcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChoYXNNYW55KSB7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWUoXG4gICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZFxuICAgICAgICAgICAgICAgICAgICAgICAgICA/IHNlbGVjdGVkLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaGFzTXVsdGlwbGVSZWxhdGlvbnMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWxhdGlvblRvOiBvcHRpb24ucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogb3B0aW9uLnZhbHVlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24udmFsdWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICAgICAgICA6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGhhc011bHRpcGxlUmVsYXRpb25zKSB7XG4gICAgICAgICAgICAgICAgICAgICAgc2V0VmFsdWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcmVsYXRpb25Ubzogc2VsZWN0ZWQucmVsYXRpb25UbyxcbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBzZWxlY3RlZC52YWx1ZSxcbiAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIHNldFZhbHVlKHNlbGVjdGVkLnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgOiB1bmRlZmluZWRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG9uSW5wdXRDaGFuZ2U9eyhuZXdTZWFyY2gpID0+IGhhbmRsZUlucHV0Q2hhbmdlKG5ld1NlYXJjaCwgdmFsdWUpfVxuICAgICAgICAgICAgb25NZW51T3Blbj17KCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoIWhhc0xvYWRlZEZpcnN0UGFnZSkge1xuICAgICAgICAgICAgICAgIHNldElzTG9hZGluZyh0cnVlKVxuICAgICAgICAgICAgICAgIGdldFJlc3VsdHMoe1xuICAgICAgICAgICAgICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldEhhc0xvYWRlZEZpcnN0UGFnZSh0cnVlKVxuICAgICAgICAgICAgICAgICAgICBzZXRJc0xvYWRpbmcoZmFsc2UpXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgdmFsdWU6IGluaXRpYWxWYWx1ZSxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb25NZW51U2Nyb2xsVG9Cb3R0b209eygpID0+IHtcbiAgICAgICAgICAgICAgZ2V0UmVzdWx0cyh7XG4gICAgICAgICAgICAgICAgbGFzdEZ1bGx5TG9hZGVkUmVsYXRpb24sXG4gICAgICAgICAgICAgICAgc2VhcmNoLFxuICAgICAgICAgICAgICAgIHNvcnQ6IGZhbHNlLFxuICAgICAgICAgICAgICAgIHZhbHVlOiBpbml0aWFsVmFsdWUsXG4gICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgb3B0aW9ucz17b3B0aW9uc31cbiAgICAgICAgICAgIHNob3dFcnJvcj17c2hvd0Vycm9yfVxuICAgICAgICAgICAgdmFsdWU9e3ZhbHVlVG9SZW5kZXIgPz8gbnVsbH1cbiAgICAgICAgICAvPlxuICAgICAgICAgIHshcmVhZE9ubHkgJiYgYWxsb3dDcmVhdGUgJiYgKFxuICAgICAgICAgICAgPEFkZE5ld1JlbGF0aW9uXG4gICAgICAgICAgICAgIHsuLi57XG4gICAgICAgICAgICAgICAgZGlzcGF0Y2hPcHRpb25zLFxuICAgICAgICAgICAgICAgIGhhc01hbnksXG4gICAgICAgICAgICAgICAgb3B0aW9ucyxcbiAgICAgICAgICAgICAgICBwYXRoOiBwYXRoT3JOYW1lLFxuICAgICAgICAgICAgICAgIHJlbGF0aW9uVG8sXG4gICAgICAgICAgICAgICAgc2V0VmFsdWUsXG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICAgIHtlcnJvckxvYWRpbmcgJiYgPGRpdiBjbGFzc05hbWU9e2Ake2Jhc2VDbGFzc31fX2Vycm9yLWxvYWRpbmdgfT57ZXJyb3JMb2FkaW5nfTwvZGl2Pn1cbiAgICAgIDxGaWVsZERlc2NyaXB0aW9uIGRlc2NyaXB0aW9uPXtkZXNjcmlwdGlvbn0gdmFsdWU9e3ZhbHVlfSAvPlxuICAgIDwvZGl2PlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IHdpdGhDb25kaXRpb24oUmVsYXRpb25zaGlwKVxuIl0sIm5hbWVzIjpbIm1heFJlc3VsdHNQZXJSZXF1ZXN0IiwiYmFzZUNsYXNzIiwiUmVsYXRpb25zaGlwIiwicHJvcHMiLCJuYW1lIiwiYWRtaW4iLCJhbGxvd0NyZWF0ZSIsImNsYXNzTmFtZSIsImNvbXBvbmVudHMiLCJFcnJvciIsIkxhYmVsIiwiY29uZGl0aW9uIiwiZGVzY3JpcHRpb24iLCJpc1NvcnRhYmxlIiwicmVhZE9ubHkiLCJzb3J0T3B0aW9ucyIsInN0eWxlIiwid2lkdGgiLCJmaWx0ZXJPcHRpb25zIiwiaGFzTWFueSIsImxhYmVsIiwicGF0aCIsInJlbGF0aW9uVG8iLCJyZXF1aXJlZCIsInZhbGlkYXRlIiwicmVsYXRpb25zaGlwIiwiRXJyb3JDb21wIiwiRGVmYXVsdEVycm9yIiwiTGFiZWxDb21wIiwiRGVmYXVsdExhYmVsIiwiY29uZmlnIiwidXNlQ29uZmlnIiwiY29sbGVjdGlvbnMiLCJyb3V0ZXMiLCJhcGkiLCJzZXJ2ZXJVUkwiLCJpMThuIiwidCIsInVzZVRyYW5zbGF0aW9uIiwicGVybWlzc2lvbnMiLCJ1c2VBdXRoIiwiY29kZSIsImxvY2FsZSIsInVzZUxvY2FsZSIsImZvcm1Qcm9jZXNzaW5nIiwidXNlRm9ybVByb2Nlc3NpbmciLCJoYXNNdWx0aXBsZVJlbGF0aW9ucyIsIkFycmF5IiwiaXNBcnJheSIsIm9wdGlvbnMiLCJkaXNwYXRjaE9wdGlvbnMiLCJ1c2VSZWR1Y2VyIiwib3B0aW9uc1JlZHVjZXIiLCJsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbiIsInNldExhc3RGdWxseUxvYWRlZFJlbGF0aW9uIiwidXNlU3RhdGUiLCJsYXN0TG9hZGVkUGFnZSIsInNldExhc3RMb2FkZWRQYWdlIiwiZXJyb3JMb2FkaW5nIiwic2V0RXJyb3JMb2FkaW5nIiwiZmlsdGVyT3B0aW9uc1Jlc3VsdCIsInNldEZpbHRlck9wdGlvbnNSZXN1bHQiLCJzZWFyY2giLCJzZXRTZWFyY2giLCJpc0xvYWRpbmciLCJzZXRJc0xvYWRpbmciLCJoYXNMb2FkZWRGaXJzdFBhZ2UiLCJzZXRIYXNMb2FkZWRGaXJzdFBhZ2UiLCJlbmFibGVXb3JkQm91bmRhcnlTZWFyY2giLCJzZXRFbmFibGVXb3JkQm91bmRhcnlTZWFyY2giLCJmaXJzdFJ1biIsInVzZVJlZiIsInBhdGhPck5hbWUiLCJtZW1vaXplZFZhbGlkYXRlIiwidXNlQ2FsbGJhY2siLCJ2YWx1ZSIsInZhbGlkYXRpb25PcHRpb25zIiwiZXJyb3JNZXNzYWdlIiwiaW5pdGlhbFZhbHVlIiwic2V0VmFsdWUiLCJzaG93RXJyb3IiLCJ1c2VGaWVsZCIsImRyYXdlcklzT3BlbiIsInNldERyYXdlcklzT3BlbiIsImdldFJlc3VsdHMiLCJsYXN0RnVsbHlMb2FkZWRSZWxhdGlvbkFyZyIsIm9uU3VjY2VzcyIsInNlYXJjaEFyZyIsInNvcnQiLCJ2YWx1ZUFyZyIsImxhc3RGdWxseUxvYWRlZFJlbGF0aW9uVG9Vc2UiLCJyZWxhdGlvbnMiLCJyZWxhdGlvbnNUb0ZldGNoIiwic2xpY2UiLCJyZXN1bHRzRmV0Y2hlZCIsInJlbGF0aW9uTWFwIiwiY3JlYXRlUmVsYXRpb25NYXAiLCJyZWR1Y2UiLCJwcmlvclJlbGF0aW9uIiwicmVsYXRpb24iLCJsYXN0TG9hZGVkUGFnZVRvVXNlIiwiY29sbGVjdGlvbiIsImZpbmQiLCJjb2xsIiwic2x1ZyIsImZpZWxkVG9TZWFyY2giLCJkZWZhdWx0U29ydCIsInVzZUFzVGl0bGUiLCJxdWVyeSIsImRlcHRoIiwibGltaXQiLCJwYWdlIiwid2hlcmUiLCJhbmQiLCJpZCIsIm5vdF9pbiIsInB1c2giLCJsaWtlIiwicmVzcG9uc2UiLCJmZXRjaCIsInFzIiwic3RyaW5naWZ5IiwiY3JlZGVudGlhbHMiLCJoZWFkZXJzIiwibGFuZ3VhZ2UiLCJvayIsImRhdGEiLCJqc29uIiwicHJldlN0YXRlIiwibmV4dFBhZ2UiLCJpbmRleE9mIiwiZG9jcyIsImxlbmd0aCIsInR5cGUiLCJzdGF0dXMiLCJpZHMiLCJQcm9taXNlIiwicmVzb2x2ZSIsInVwZGF0ZVNlYXJjaCIsInVzZURlYm91bmNlZENhbGxiYWNrIiwiaGFuZGxlSW5wdXRDaGFuZ2UiLCJ1c2VFZmZlY3QiLCJPYmplY3QiLCJlbnRyaWVzIiwiaWRzVG9Mb2FkIiwiZmlsdGVyIiwib3B0aW9uR3JvdXAiLCJvcHRpb24iLCJpbiIsImlzSWRPbmx5IiwiaWRPbmx5IiwiY3VycmVudCIsIm9uU2F2ZSIsImFyZ3MiLCJjb2xsZWN0aW9uQ29uZmlnIiwiZG9jIiwiZmlsdGVyT3B0aW9uIiwiaXRlbSIsInNlYXJjaEZpbHRlciIsInIiLCJ3b3JkQm91bmRhcmllc1JlZ2V4IiwiYnJlYWtBcGFydFRocmVzaG9sZCIsInN0cmluZyIsImluZGV4T2ZTcGFjZSIsInRlc3QiLCJ2YWx1ZVRvUmVuZGVyIiwiZmluZE9wdGlvbnNCeVZhbHVlIiwiZGl2IiwiZmllbGRCYXNlQ2xhc3MiLCJCb29sZWFuIiwiam9pbiIsInJlcGxhY2UiLCJtZXNzYWdlIiwiaHRtbEZvciIsIkdldEZpbHRlck9wdGlvbnMiLCJSZWFjdFNlbGVjdCIsImJhY2tzcGFjZVJlbW92ZXNWYWx1ZSIsIk11bHRpVmFsdWVMYWJlbCIsIlNpbmdsZVZhbHVlIiwiY3VzdG9tUHJvcHMiLCJkaXNhYmxlS2V5RG93biIsImRpc2FibGVNb3VzZURvd24iLCJkaXNhYmxlZCIsInVuZGVmaW5lZCIsImlzTXVsdGkiLCJvbkNoYW5nZSIsInNlbGVjdGVkIiwibWFwIiwib25JbnB1dENoYW5nZSIsIm5ld1NlYXJjaCIsIm9uTWVudU9wZW4iLCJvbk1lbnVTY3JvbGxUb0JvdHRvbSIsIkFkZE5ld1JlbGF0aW9uIiwiRmllbGREZXNjcmlwdGlvbiIsIndpdGhDb25kaXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBc2hCQTs7O2VBQUE7OzsyREF0aEJlOytEQUM2RDs4QkFDN0M7NkJBT0Y7NEVBQ0c7c0NBQ0s7b0VBQ2I7c0JBQ0E7d0JBQ0U7a0NBQ087d0JBQ1A7OERBQ0Q7eUVBQ0k7eUJBQ0s7OERBQ1Q7aUVBQ0o7c0VBQ0s7d0JBQ0s7d0JBQ0E7bUNBQ0c7b0NBQ0M7UUFDNUI7dUVBQ29CO2lDQUNLOzZCQUNKOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFNUIsTUFBTUEsdUJBQXVCO0FBRTdCLE1BQU1DLFlBQVk7QUFFbEIsTUFBTUMsZUFBZ0MsQ0FBQ0M7SUFDckMsTUFBTSxFQUNKQyxJQUFJLEVBQ0pDLE9BQU8sRUFDTEMsY0FBYyxJQUFJLEVBQ2xCQyxTQUFTLEVBQ1RDLFlBQVksRUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAA;AAEvE,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAMrC,CAAA;AAED,eAAe,QAAQ,CAAA"}
|
|
@@ -14,11 +14,12 @@ function _interop_require_default(obj) {
|
|
|
14
14
|
default: obj
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
|
-
const RichText = (
|
|
17
|
+
const RichText = (fieldprops)=>{
|
|
18
18
|
// eslint-disable-next-line react/destructuring-assignment
|
|
19
|
-
const editor =
|
|
20
|
-
|
|
19
|
+
const editor = fieldprops.editor;
|
|
20
|
+
const { FieldComponent } = editor;
|
|
21
|
+
return /*#__PURE__*/ _react.default.createElement(FieldComponent, fieldprops);
|
|
21
22
|
};
|
|
22
23
|
const _default = RichText;
|
|
23
24
|
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hZG1pbi9jb21wb25lbnRzL2Zvcm1zL2ZpZWxkLXR5cGVzL1JpY2hUZXh0L2luZGV4LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnXG5cbmltcG9ydCB0eXBlIHsgUmljaFRleHRGaWVsZCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2ZpZWxkcy9jb25maWcvdHlwZXMnXG5pbXBvcnQgdHlwZSB7IFJpY2hUZXh0QWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5jb25zdCBSaWNoVGV4dDogUmVhY3QuRkM8UmljaFRleHRGaWVsZD4gPSAoZmllbGRwcm9wcykgPT4ge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3QvZGVzdHJ1Y3R1cmluZy1hc3NpZ25tZW50XG4gIGNvbnN0IGVkaXRvcjogUmljaFRleHRBZGFwdGVyID0gZmllbGRwcm9wcy5lZGl0b3JcbiAgY29uc3QgeyBGaWVsZENvbXBvbmVudCB9ID0gZWRpdG9yXG5cbiAgcmV0dXJuIDxGaWVsZENvbXBvbmVudCB7Li4uZmllbGRwcm9wc30gLz5cbn1cblxuZXhwb3J0IGRlZmF1bHQgUmljaFRleHRcbiJdLCJuYW1lcyI6WyJSaWNoVGV4dCIsImZpZWxkcHJvcHMiLCJlZGl0b3IiLCJGaWVsZENvbXBvbmVudCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFZQTs7O2VBQUE7Ozs4REFaa0I7Ozs7OztBQUlsQixNQUFNQSxXQUFvQyxDQUFDQztJQUN6QywwREFBMEQ7SUFDMUQsTUFBTUMsU0FBMEJELFdBQVdDLE1BQU07SUFDakQsTUFBTSxFQUFFQyxjQUFjLEVBQUUsR0FBR0Q7SUFFM0IscUJBQU8sNkJBQUNDLGdCQUFtQkY7QUFDN0I7TUFFQSxXQUFlRCJ9
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { JSONSchema4 } from 'json-schema';
|
|
3
3
|
import type { PayloadRequest } from '../../../../../express/types';
|
|
4
|
+
import type { RequestContext } from '../../../../../express/types';
|
|
4
5
|
import type { RichTextField, Validate } from '../../../../../fields/config/types';
|
|
5
6
|
import type { CellComponentProps } from '../../../views/collections/List/Cell/types';
|
|
6
7
|
export type RichTextFieldProps<Value extends object, AdapterProps, ExtraFieldProperties = {}> = Omit<RichTextField<Value, AdapterProps, ExtraFieldProperties>, 'type'> & {
|
|
@@ -19,10 +20,14 @@ export type RichTextAdapter<Value extends object = object, AdapterProps = any, E
|
|
|
19
20
|
isRequired: boolean;
|
|
20
21
|
}) => JSONSchema4;
|
|
21
22
|
populationPromise?: (data: {
|
|
23
|
+
context: RequestContext;
|
|
22
24
|
currentDepth?: number;
|
|
23
25
|
depth: number;
|
|
24
26
|
field: RichTextField<Value, AdapterProps, ExtraFieldProperties>;
|
|
27
|
+
findMany: boolean;
|
|
28
|
+
flattenLocales: boolean;
|
|
25
29
|
overrideAccess?: boolean;
|
|
30
|
+
populationPromises: Promise<void>[];
|
|
26
31
|
req: PayloadRequest;
|
|
27
32
|
showHiddenFields: boolean;
|
|
28
33
|
siblingDoc: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAEpF,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,EACpB,YAAY,EACZ,oBAAoB,GAAG,EAAE,IACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,GAAG;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,YAAY,GAAG,GAAG,EAClB,oBAAoB,GAAG,EAAE,IACvB;IACF,aAAa,EAAE,KAAK,CAAC,EAAE,CACrB,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAC7E,CAAA;IACD,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACvF,gBAAgB,CAAC,EAAE,CAAC,EAClB,KAAK,EACL,mBAAmB,EACnB,UAAU,GACX,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/D,mBAAmB,EAAE,KAAK,CAAA;QAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAE1B,YAAY,CAAC,EAAE,CAAC,EACd,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/D,UAAU,EAAE,OAAO,CAAA;KACpB,KAAK,WAAW,CAAA;IACjB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/D,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,GAAG,EAAE,cAAc,CAAA;QACnB,gBAAgB,EAAE,OAAO,CAAA;QACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,QAAQ,CAChB,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CACzD,CAAA;CACF,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/RichText/types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AAE9C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAA;AAEpF,MAAM,MAAM,kBAAkB,CAC5B,KAAK,SAAS,MAAM,EACpB,YAAY,EACZ,oBAAoB,GAAG,EAAE,IACvB,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,MAAM,CAAC,GAAG;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,eAAe,CACzB,KAAK,SAAS,MAAM,GAAG,MAAM,EAC7B,YAAY,GAAG,GAAG,EAClB,oBAAoB,GAAG,EAAE,IACvB;IACF,aAAa,EAAE,KAAK,CAAC,EAAE,CACrB,kBAAkB,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAC7E,CAAA;IACD,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAA;IACvF,gBAAgB,CAAC,EAAE,CAAC,EAClB,KAAK,EACL,mBAAmB,EACnB,UAAU,GACX,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/D,mBAAmB,EAAE,KAAK,CAAA;QAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAE1B,YAAY,CAAC,EAAE,CAAC,EACd,KAAK,EACL,UAAU,GACX,EAAE;QACD,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/D,UAAU,EAAE,OAAO,CAAA;KACpB,KAAK,WAAW,CAAA;IACjB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE;QACzB,OAAO,EAAE,cAAc,CAAA;QACvB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;QAC/D,QAAQ,EAAE,OAAO,CAAA;QACjB,cAAc,EAAE,OAAO,CAAA;QACvB,cAAc,CAAC,EAAE,OAAO,CAAA;QACxB,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,CAAA;QACnC,GAAG,EAAE,cAAc,CAAA;QACnB,gBAAgB,EAAE,OAAO,CAAA;QACzB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KACpC,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAA;IAC1B,QAAQ,EAAE,QAAQ,CAChB,KAAK,EACL,KAAK,EACL,OAAO,EACP,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,oBAAoB,CAAC,CACzD,CAAA;CACF,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAgBpC,OAAO,cAAc,CAAA;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/admin/components/forms/field-types/Tabs/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAK/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAgBpC,OAAO,cAAc,CAAA;;AAoMrB,wBAAuC"}
|