decap-cms-core 3.5.0 → 3.6.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/dist/decap-cms-core.js +9 -9
- package/dist/decap-cms-core.js.map +1 -1
- package/dist/esm/actions/auth.js +22 -37
- package/dist/esm/actions/collections.js +9 -17
- package/dist/esm/actions/config.js +58 -74
- package/dist/esm/actions/deploys.js +10 -17
- package/dist/esm/actions/editorialWorkflow.js +87 -101
- package/dist/esm/actions/entries.js +161 -211
- package/dist/esm/actions/media.js +31 -46
- package/dist/esm/actions/mediaLibrary.js +94 -126
- package/dist/esm/actions/notifications.js +5 -13
- package/dist/esm/actions/search.js +30 -47
- package/dist/esm/actions/status.js +13 -23
- package/dist/esm/actions/waitUntil.js +4 -11
- package/dist/esm/backend.js +132 -148
- package/dist/esm/bootstrap.js +37 -44
- package/dist/esm/components/App/App.js +82 -89
- package/dist/esm/components/App/Header.js +46 -52
- package/dist/esm/components/App/NotFoundPage.js +11 -18
- package/dist/esm/components/Collection/Collection.js +55 -63
- package/dist/esm/components/Collection/CollectionControls.js +15 -22
- package/dist/esm/components/Collection/CollectionSearch.js +35 -42
- package/dist/esm/components/Collection/CollectionTop.js +23 -30
- package/dist/esm/components/Collection/ControlButton.js +10 -16
- package/dist/esm/components/Collection/Entries/Entries.js +24 -31
- package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
- package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
- package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
- package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
- package/dist/esm/components/Collection/FilterControl.js +9 -16
- package/dist/esm/components/Collection/GroupControl.js +9 -16
- package/dist/esm/components/Collection/NestedCollection.js +54 -65
- package/dist/esm/components/Collection/Sidebar.js +36 -43
- package/dist/esm/components/Collection/SortControl.js +19 -26
- package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
- package/dist/esm/components/Editor/Editor.js +100 -108
- package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
- package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
- package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
- package/dist/esm/components/Editor/EditorInterface.js +95 -98
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
- package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
- package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
- package/dist/esm/components/Editor/EditorToolbar.js +133 -140
- package/dist/esm/components/Editor/withWorkflow.js +15 -22
- package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
- package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
- package/dist/esm/components/EditorWidgets/index.js +4 -7
- package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
- package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
- package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
- package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
- package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
- package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
- package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
- package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
- package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
- package/dist/esm/components/UI/DragDrop.js +21 -30
- package/dist/esm/components/UI/ErrorBoundary.js +35 -43
- package/dist/esm/components/UI/FileUploadButton.js +11 -18
- package/dist/esm/components/UI/Modal.js +19 -26
- package/dist/esm/components/UI/Notifications.js +21 -28
- package/dist/esm/components/UI/SettingsDropdown.js +28 -34
- package/dist/esm/components/UI/index.js +6 -60
- package/dist/esm/components/Workflow/Workflow.js +52 -61
- package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
- package/dist/esm/components/Workflow/WorkflowList.js +43 -49
- package/dist/esm/constants/collectionTypes.js +2 -8
- package/dist/esm/constants/collectionViews.js +2 -8
- package/dist/esm/constants/commitProps.js +2 -8
- package/dist/esm/constants/configSchema.js +20 -27
- package/dist/esm/constants/fieldInference.js +8 -15
- package/dist/esm/constants/publishModes.js +6 -11
- package/dist/esm/constants/validationErrorTypes.js +1 -7
- package/dist/esm/formats/formats.js +32 -41
- package/dist/esm/formats/frontmatter.js +18 -30
- package/dist/esm/formats/helpers.js +1 -7
- package/dist/esm/formats/json.js +1 -7
- package/dist/esm/formats/toml.js +11 -18
- package/dist/esm/formats/yaml.js +7 -14
- package/dist/esm/index.js +5 -12
- package/dist/esm/integrations/index.js +8 -16
- package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
- package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
- package/dist/esm/lib/consoleError.js +1 -7
- package/dist/esm/lib/formatters.js +34 -47
- package/dist/esm/lib/i18n.js +37 -66
- package/dist/esm/lib/phrases.js +4 -11
- package/dist/esm/lib/registry.js +40 -75
- package/dist/esm/lib/serializeEntryValues.js +11 -18
- package/dist/esm/lib/textHelper.js +1 -7
- package/dist/esm/lib/urlHelper.js +28 -43
- package/dist/esm/mediaLibrary.js +12 -16
- package/dist/esm/reducers/auth.js +10 -16
- package/dist/esm/reducers/collections.js +70 -102
- package/dist/esm/reducers/combinedReducer.js +4 -11
- package/dist/esm/reducers/config.js +11 -19
- package/dist/esm/reducers/cursors.js +12 -18
- package/dist/esm/reducers/deploys.js +8 -15
- package/dist/esm/reducers/editorialWorkflow.js +37 -47
- package/dist/esm/reducers/entries.js +107 -132
- package/dist/esm/reducers/entryDraft.js +64 -72
- package/dist/esm/reducers/globalUI.js +5 -11
- package/dist/esm/reducers/index.js +43 -64
- package/dist/esm/reducers/integrations.js +8 -16
- package/dist/esm/reducers/mediaLibrary.js +43 -52
- package/dist/esm/reducers/medias.js +11 -18
- package/dist/esm/reducers/notifications.js +9 -15
- package/dist/esm/reducers/search.js +12 -18
- package/dist/esm/reducers/status.js +7 -13
- package/dist/esm/redux/index.js +7 -13
- package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
- package/dist/esm/routing/history.js +7 -15
- package/dist/esm/types/diacritics.d.js +0 -1
- package/dist/esm/types/global.d.js +1 -5
- package/dist/esm/types/immutable.js +1 -5
- package/dist/esm/types/redux.js +7 -8
- package/dist/esm/types/tomlify-j0.4.d.js +0 -1
- package/dist/esm/valueObjects/AssetProxy.js +2 -10
- package/dist/esm/valueObjects/EditorComponent.js +5 -12
- package/dist/esm/valueObjects/Entry.js +3 -10
- package/package.json +3 -2
- package/src/components/Collection/Entries/EntriesCollection.js +7 -8
- package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
- package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
- package/src/components/Collection/NestedCollection.js +2 -2
- package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
- package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
- package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
- package/src/components/Editor/EditorControlPane/Widget.js +22 -1
- package/src/components/Editor/EditorInterface.js +6 -1
- package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
- package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
- package/dist/esm/actions/editorControl.js +0 -14
- package/dist/esm/reducers/editorComponent.js +0 -1
- package/dist/esm/reducers/editorControl.js +0 -17
|
@@ -1,31 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.default = exports.ControlHint = void 0;
|
|
7
|
-
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
8
|
-
var _uniqueId2 = _interopRequireDefault(require("lodash/uniqueId"));
|
|
9
|
-
var _partial2 = _interopRequireDefault(require("lodash/partial"));
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
var _redux = require("redux");
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
|
|
14
|
-
var _reactPolyglot = require("react-polyglot");
|
|
15
|
-
var _react2 = require("@emotion/react");
|
|
16
|
-
var _reactRedux = require("react-redux");
|
|
17
|
-
var _decapCmsUiDefault = require("decap-cms-ui-default");
|
|
18
|
-
var _reactMarkdown = _interopRequireDefault(require("react-markdown"));
|
|
19
|
-
var _remarkGfm = _interopRequireDefault(require("remark-gfm"));
|
|
20
|
-
var _registry = require("../../../lib/registry");
|
|
21
|
-
var _entries = require("../../../actions/entries");
|
|
22
|
-
var _media = require("../../../actions/media");
|
|
23
|
-
var _medias = require("../../../reducers/medias");
|
|
24
|
-
var _search = require("../../../actions/search");
|
|
25
|
-
var _mediaLibrary = require("../../../actions/mediaLibrary");
|
|
26
|
-
var _Widget = _interopRequireDefault(require("./Widget"));
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
import _uniqueId from "lodash/uniqueId";
|
|
3
|
+
import _partial from "lodash/partial";
|
|
27
4
|
const _excluded = ["node"];
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
29
5
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
30
6
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
31
7
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
@@ -34,25 +10,45 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
34
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
35
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
|
|
36
12
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
37
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
13
|
+
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
14
|
+
import React from 'react';
|
|
15
|
+
import { bindActionCreators } from 'redux';
|
|
16
|
+
import PropTypes from 'prop-types';
|
|
17
|
+
import ImmutablePropTypes from 'react-immutable-proptypes';
|
|
18
|
+
import { translate } from 'react-polyglot';
|
|
19
|
+
import { ClassNames, Global, css as coreCss } from '@emotion/react';
|
|
20
|
+
import { connect } from 'react-redux';
|
|
21
|
+
import { FieldLabel, colors, transitions, lengths, borders } from 'decap-cms-ui-default';
|
|
22
|
+
import ReactMarkdown from 'react-markdown';
|
|
23
|
+
import gfm from 'remark-gfm';
|
|
24
|
+
import { resolveWidget, getEditorComponents } from '../../../lib/registry';
|
|
25
|
+
import { clearFieldErrors, tryLoadEntry, validateMetaField } from '../../../actions/entries';
|
|
26
|
+
import { addAsset, boundGetAsset } from '../../../actions/media';
|
|
27
|
+
import { selectIsLoadingAsset } from '../../../reducers/medias';
|
|
28
|
+
import { query, clearSearch } from '../../../actions/search';
|
|
29
|
+
import { openMediaLibrary, removeInsertedMedia, clearMediaControl, removeMediaControl, persistMedia } from '../../../actions/mediaLibrary';
|
|
30
|
+
import Widget from './Widget';
|
|
31
|
+
|
|
32
|
+
/**
|
|
38
33
|
* This is a necessary bridge as we are still passing classnames to widgets
|
|
39
34
|
* for styling. Once that changes we can stop storing raw style strings like
|
|
40
35
|
* this.
|
|
41
36
|
*/
|
|
37
|
+
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
42
38
|
const styleStrings = {
|
|
43
39
|
widget: `
|
|
44
40
|
display: block;
|
|
45
41
|
width: 100%;
|
|
46
|
-
padding: ${
|
|
42
|
+
padding: ${lengths.inputPadding};
|
|
47
43
|
margin: 0;
|
|
48
|
-
border: ${
|
|
49
|
-
border-radius: ${
|
|
44
|
+
border: ${borders.textField};
|
|
45
|
+
border-radius: ${lengths.borderRadius};
|
|
50
46
|
border-top-left-radius: 0;
|
|
51
47
|
outline: 0;
|
|
52
48
|
box-shadow: none;
|
|
53
|
-
background-color: ${
|
|
49
|
+
background-color: ${colors.inputBackground};
|
|
54
50
|
color: #444a57;
|
|
55
|
-
transition: border-color ${
|
|
51
|
+
transition: border-color ${transitions.main};
|
|
56
52
|
position: relative;
|
|
57
53
|
font-size: 15px;
|
|
58
54
|
line-height: 1.5;
|
|
@@ -63,10 +59,10 @@ const styleStrings = {
|
|
|
63
59
|
}
|
|
64
60
|
`,
|
|
65
61
|
widgetActive: `
|
|
66
|
-
border-color: ${
|
|
62
|
+
border-color: ${colors.active};
|
|
67
63
|
`,
|
|
68
64
|
widgetError: `
|
|
69
|
-
border-color: ${
|
|
65
|
+
border-color: ${colors.errorText};
|
|
70
66
|
`,
|
|
71
67
|
disabled: `
|
|
72
68
|
pointer-events: none;
|
|
@@ -76,7 +72,7 @@ const styleStrings = {
|
|
|
76
72
|
visibility: hidden;
|
|
77
73
|
`
|
|
78
74
|
};
|
|
79
|
-
const ControlContainer = /*#__PURE__*/(
|
|
75
|
+
const ControlContainer = /*#__PURE__*/_styled("div", {
|
|
80
76
|
target: "ec1nk3l3",
|
|
81
77
|
label: "ControlContainer"
|
|
82
78
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -85,10 +81,10 @@ const ControlContainer = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
85
81
|
} : {
|
|
86
82
|
name: "gpgisz",
|
|
87
83
|
styles: "margin-top:16px;&:first-of-type{margin-top:36px;}",
|
|
88
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */",
|
|
84
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNFbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */",
|
|
89
85
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
90
86
|
});
|
|
91
|
-
const ControlTopbar = /*#__PURE__*/(
|
|
87
|
+
const ControlTopbar = /*#__PURE__*/_styled("div", {
|
|
92
88
|
target: "ec1nk3l2",
|
|
93
89
|
label: "ControlTopbar"
|
|
94
90
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -97,17 +93,17 @@ const ControlTopbar = /*#__PURE__*/(0, _base.default)("div", {
|
|
|
97
93
|
} : {
|
|
98
94
|
name: "hvtmtt",
|
|
99
95
|
styles: "display:flex;justify-content:space-between;gap:20px;align-items:end",
|
|
100
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThFZ0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */",
|
|
96
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQThFZ0MiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */",
|
|
101
97
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
102
98
|
});
|
|
103
|
-
const ControlErrorsList = /*#__PURE__*/(
|
|
99
|
+
const ControlErrorsList = /*#__PURE__*/_styled("ul", {
|
|
104
100
|
target: "ec1nk3l1",
|
|
105
101
|
label: "ControlErrorsList"
|
|
106
|
-
})("list-style-type:none;font-size:12px;color:", _decapCmsUiDefault.colors.errorText, ";text-align:right;text-transform:uppercase;font-weight:600;margin:0;padding:2px 0 3px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */"));
|
|
107
|
-
const ControlHint =
|
|
102
|
+
})("list-style-type:none;font-size:12px;color:", colors.errorText, ";text-align:right;text-transform:uppercase;font-weight:600;margin:0;padding:2px 0 3px;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9GbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */"));
|
|
103
|
+
export const ControlHint = /*#__PURE__*/_styled("p", {
|
|
108
104
|
target: "ec1nk3l0",
|
|
109
105
|
label: "ControlHint"
|
|
110
|
-
})("margin-bottom:0;padding:6px 0 0;font-size:12px;color:", props => props.error ? _decapCmsUiDefault.colors.errorText : props.active ? _decapCmsUiDefault.colors.active : _decapCmsUiDefault.colors.controlLabel, ";transition:color ", _decapCmsUiDefault.transitions.main, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStGbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */"));
|
|
106
|
+
})("margin-bottom:0;padding:6px 0 0;font-size:12px;color:", props => props.error ? colors.errorText : props.active ? colors.active : colors.controlLabel, ";transition:color ", transitions.main, ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStGbUMiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */"));
|
|
111
107
|
function LabelComponent({
|
|
112
108
|
field,
|
|
113
109
|
isActive,
|
|
@@ -117,20 +113,20 @@ function LabelComponent({
|
|
|
117
113
|
t
|
|
118
114
|
}) {
|
|
119
115
|
const label = `${field.get('label', field.get('name'))}`;
|
|
120
|
-
const labelComponent = (
|
|
116
|
+
const labelComponent = ___EmotionJSX(FieldLabel, {
|
|
121
117
|
isActive: isActive,
|
|
122
118
|
hasErrors: hasErrors,
|
|
123
119
|
htmlFor: uniqueFieldId
|
|
124
|
-
}, isFieldOptional ? (
|
|
120
|
+
}, isFieldOptional ? ___EmotionJSX(React.Fragment, null, label, ___EmotionJSX("span", null, ` (${t('editor.editorControl.field.optional')})`)) : label);
|
|
125
121
|
return labelComponent;
|
|
126
122
|
}
|
|
127
|
-
class EditorControl extends
|
|
123
|
+
class EditorControl extends React.Component {
|
|
128
124
|
constructor(...args) {
|
|
129
125
|
super(...args);
|
|
130
126
|
_defineProperty(this, "state", {
|
|
131
127
|
activeLabel: false
|
|
132
128
|
});
|
|
133
|
-
_defineProperty(this, "uniqueFieldId", (
|
|
129
|
+
_defineProperty(this, "uniqueFieldId", _uniqueId(`${this.props.field.get('name')}-field-`));
|
|
134
130
|
_defineProperty(this, "isAncestorOfFieldError", () => {
|
|
135
131
|
const {
|
|
136
132
|
fieldsErrors
|
|
@@ -160,7 +156,6 @@ class EditorControl extends _react.default.Component {
|
|
|
160
156
|
removeInsertedMedia,
|
|
161
157
|
persistMedia,
|
|
162
158
|
onValidate,
|
|
163
|
-
processControlRef,
|
|
164
159
|
controlRef,
|
|
165
160
|
query,
|
|
166
161
|
queryHits,
|
|
@@ -184,7 +179,7 @@ class EditorControl extends _react.default.Component {
|
|
|
184
179
|
isParentListCollapsed
|
|
185
180
|
} = this.props;
|
|
186
181
|
const widgetName = field.get('widget');
|
|
187
|
-
const widget =
|
|
182
|
+
const widget = resolveWidget(widgetName);
|
|
188
183
|
const fieldName = field.get('name');
|
|
189
184
|
const fieldHint = field.get('hint');
|
|
190
185
|
const isFieldOptional = field.get('required') === false;
|
|
@@ -193,26 +188,26 @@ class EditorControl extends _react.default.Component {
|
|
|
193
188
|
const errors = fieldsErrors && fieldsErrors.get(this.uniqueFieldId);
|
|
194
189
|
const childErrors = this.isAncestorOfFieldError();
|
|
195
190
|
const hasErrors = !!errors || childErrors;
|
|
196
|
-
return (
|
|
191
|
+
return ___EmotionJSX(ClassNames, null, ({
|
|
197
192
|
css,
|
|
198
193
|
cx
|
|
199
|
-
}) => (
|
|
194
|
+
}) => ___EmotionJSX(ControlContainer, {
|
|
200
195
|
className: className,
|
|
201
196
|
css: css`
|
|
202
197
|
${isHidden && styleStrings.hidden};
|
|
203
198
|
`
|
|
204
|
-
}, (
|
|
205
|
-
styles: /*#__PURE__*/(0, _react2.css)(widget.globalStyles, ";;label:EditorControl;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXdQNkQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIHByb2Nlc3NDb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBjb250cm9sUmVmOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBxdWVyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeUhpdHM6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wsXG4gICAgY2xlYXJTZWFyY2g6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgY2xlYXJGaWVsZEVycm9yczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2FkRW50cnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBpc0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNOZXdFZGl0b3JDb21wb25lbnQ6IFByb3BUeXBlcy5ib29sLFxuICAgIHBhcmVudElkczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgZW50cnk6IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgaXNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNIaWRkZW46IFByb3BUeXBlcy5ib29sLFxuICAgIGlzRmllbGREdXBsaWNhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGlzRmllbGRIaWRkZW46IFByb3BUeXBlcy5mdW5jLFxuICAgIGxvY2FsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7XG4gICAgcGFyZW50SWRzOiBbXSxcbiAgfTtcblxuICBzdGF0ZSA9IHtcbiAgICBhY3RpdmVMYWJlbDogZmFsc2UsXG4gIH07XG5cbiAgdW5pcXVlRmllbGRJZCA9IHVuaXF1ZUlkKGAke3RoaXMucHJvcHMuZmllbGQuZ2V0KCduYW1lJyl9LWZpZWxkLWApO1xuXG4gIGlzQW5jZXN0b3JPZkZpZWxkRXJyb3IgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBmaWVsZHNFcnJvcnMgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBpZiAoZmllbGRzRXJyb3JzICYmIGZpZWxkc0Vycm9ycy5zaXplID4gMCkge1xuICAgICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoZmllbGRzRXJyb3JzLnRvSlMoKSkuc29tZShhcnIgPT5cbiAgICAgICAgYXJyLnNvbWUoZXJyID0+IGVyci5wYXJlbnRJZHMgJiYgZXJyLnBhcmVudElkcy5pbmNsdWRlcyh0aGlzLnVuaXF1ZUZpZWxkSWQpKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnRyeSxcbiAgICAgIGNvbGxlY3Rpb24sXG4gICAgICBjb25maWcsXG4gICAgICBmaWVsZCxcbiAgICAgIGZpZWxkc01ldGFEYXRhLFxuICAgICAgZmllbGRzRXJyb3JzLFxuICAgICAgbWVkaWFQYXRocyxcbiAgICAgIGJvdW5kR2V0QXNzZXQsXG4gICAgICBvbkNoYW5nZSxcbiAgICAgIG9wZW5NZWRpYUxpYnJhcnksXG4gICAgICBjbGVhck1lZGlhQ29udHJvbCxcbiAgICAgIHJlbW92ZU1lZGlhQ29udHJvbCxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIG9uVmFsaWRhdGUsXG4gICAgICBwcm9jZXNzQ29udHJvbFJlZixcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgcmVmPXtwcm9jZXNzQ29udHJvbFJlZiAmJiBwYXJ0aWFsKHByb2Nlc3NDb250cm9sUmVmLCBmaWVsZCl9XG4gICAgICAgICAgICAgIGNvbnRyb2xSZWY9e2NvbnRyb2xSZWZ9XG4gICAgICAgICAgICAgIGVkaXRvckNvbnRyb2w9e0Nvbm5lY3RlZEVkaXRvckNvbnRyb2x9XG4gICAgICAgICAgICAgIHF1ZXJ5PXtxdWVyeX1cbiAgICAgICAgICAgICAgbG9hZEVudHJ5PXtsb2FkRW50cnl9XG4gICAgICAgICAgICAgIHF1ZXJ5SGl0cz17cXVlcnlIaXRzW3RoaXMudW5pcXVlRmllbGRJZF0gfHwgW119XG4gICAgICAgICAgICAgIGNsZWFyU2VhcmNoPXtjbGVhclNlYXJjaH1cbiAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycz17Y2xlYXJGaWVsZEVycm9yc31cbiAgICAgICAgICAgICAgaXNGZXRjaGluZz17aXNGZXRjaGluZ31cbiAgICAgICAgICAgICAgZmllbGRzRXJyb3JzPXtmaWVsZHNFcnJvcnN9XG4gICAgICAgICAgICAgIG9uVmFsaWRhdGVPYmplY3Q9e29uVmFsaWRhdGVPYmplY3R9XG4gICAgICAgICAgICAgIGlzRWRpdG9yQ29tcG9uZW50PXtpc0VkaXRvckNvbXBvbmVudH1cbiAgICAgICAgICAgICAgaXNOZXdFZGl0b3JDb21wb25lbnQ9e2lzTmV3RWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBwYXJlbnRJZHM9e3BhcmVudElkc31cbiAgICAgICAgICAgICAgdD17dH1cbiAgICAgICAgICAgICAgdmFsaWRhdGVNZXRhRmllbGQ9e3ZhbGlkYXRlTWV0YUZpZWxkfVxuICAgICAgICAgICAgICBpc0Rpc2FibGVkPXtpc0Rpc2FibGVkfVxuICAgICAgICAgICAgICBpc0ZpZWxkRHVwbGljYXRlPXtpc0ZpZWxkRHVwbGljYXRlfVxuICAgICAgICAgICAgICBpc0ZpZWxkSGlkZGVuPXtpc0ZpZWxkSGlkZGVufVxuICAgICAgICAgICAgICBpc0xvYWRpbmdBc3NldD17aXNMb2FkaW5nQXNzZXR9XG4gICAgICAgICAgICAgIGxvY2FsZT17bG9jYWxlfVxuICAgICAgICAgICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQ9e2lzUGFyZW50TGlzdENvbGxhcHNlZH1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB7ZmllbGRIaW50ICYmIChcbiAgICAgICAgICAgICAgPENvbnRyb2xIaW50IGFjdGl2ZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfSBlcnJvcj17aGFzRXJyb3JzfT5cbiAgICAgICAgICAgICAgICA8UmVhY3RNYXJrZG93blxuICAgICAgICAgICAgICAgICAgcmVtYXJrUGx1Z2lucz17W2dmbV19XG4gICAgICAgICAgICAgICAgICBhbGxvd2VkRWxlbWVudHM9e1snYScsICdzdHJvbmcnLCAnZW0nLCAnZGVsJ119XG4gICAgICAgICAgICAgICAgICB1bndyYXBEaXNhbGxvd2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY29tcG9uZW50cz17e1xuICAgICAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcbiAgICAgICAgICAgICAgICAgICAgYTogKHsgbm9kZSwgLi4ucHJvcHMgfSkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICB7Li4ucHJvcHN9XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17eyBjb2xvcjogJ2luaGVyaXQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2ZpZWxkSGludH1cbiAgICAgICAgICAgICAgICA8L1JlYWN0TWFya2Rvd24+XG4gICAgICAgICAgICAgIDwvQ29udHJvbEhpbnQ+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvQ29udHJvbENvbnRhaW5lcj5cbiAgICAgICAgKX1cbiAgICAgIDwvQ2xhc3NOYW1lcz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGNvbGxlY3Rpb25zLCBlbnRyeURyYWZ0IH0gPSBzdGF0ZTtcbiAgY29uc3QgZW50cnkgPSBlbnRyeURyYWZ0LmdldCgnZW50cnknKTtcbiAgY29uc3QgY29sbGVjdGlvbiA9IGNvbGxlY3Rpb25zLmdldChlbnRyeURyYWZ0LmdldEluKFsnZW50cnknLCAnY29sbGVjdGlvbiddKSk7XG4gIGNvbnN0IGlzTG9hZGluZ0Fzc2V0ID0gc2VsZWN0SXNMb2FkaW5nQXNzZXQoc3RhdGUubWVkaWFzKTtcblxuICBhc3luYyBmdW5jdGlvbiBsb2FkRW50cnkoY29sbGVjdGlvbk5hbWUsIHNsdWcpIHtcbiAgICBjb25zdCB0YXJnZXRDb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGNvbGxlY3Rpb25OYW1lKTtcbiAgICBpZiAodGFyZ2V0Q29sbGVjdGlvbikge1xuICAgICAgY29uc3QgbG9hZGVkRW50cnkgPSBhd2FpdCB0cnlMb2FkRW50cnkoc3RhdGUsIHRhcmdldENvbGxlY3Rpb24sIHNsdWcpO1xuICAgICAgcmV0dXJuIGxvYWRlZEVudHJ5O1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbid0IGZpbmQgY29sbGVjdGlvbiAnJHtjb2xsZWN0aW9uTmFtZX0nYCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBtZWRpYVBhdGhzOiBzdGF0ZS5tZWRpYUxpYnJhcnkuZ2V0KCdjb250cm9sTWVkaWEnKSxcbiAgICBpc0ZldGNoaW5nOiBzdGF0ZS5zZWFyY2guaXNGZXRjaGluZyxcbiAgICBxdWVyeUhpdHM6IHN0YXRlLnNlYXJjaC5xdWVyeUhpdHMsXG4gICAgY29uZmlnOiBzdGF0ZS5jb25maWcsXG4gICAgZW50cnksXG4gICAgY29sbGVjdGlvbixcbiAgICBpc0xvYWRpbmdBc3NldCxcbiAgICBsb2FkRW50cnksXG4gICAgdmFsaWRhdGVNZXRhRmllbGQ6IChmaWVsZCwgdmFsdWUsIHQpID0+IHZhbGlkYXRlTWV0YUZpZWxkKHN0YXRlLCBjb2xsZWN0aW9uLCBmaWVsZCwgdmFsdWUsIHQpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtYXBEaXNwYXRjaFRvUHJvcHMoZGlzcGF0Y2gpIHtcbiAgY29uc3QgY3JlYXRvcnMgPSBiaW5kQWN0aW9uQ3JlYXRvcnMoXG4gICAge1xuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlSW5zZXJ0ZWRNZWRpYSxcbiAgICAgIHBlcnNpc3RNZWRpYSxcbiAgICAgIGFkZEFzc2V0LFxuICAgICAgcXVlcnksXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgfSxcbiAgICBkaXNwYXRjaCxcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5jcmVhdG9ycyxcbiAgICBib3VuZEdldEFzc2V0OiAoY29sbGVjdGlvbiwgZW50cnkpID0+IGJvdW5kR2V0QXNzZXQoZGlzcGF0Y2gsIGNvbGxlY3Rpb24sIGVudHJ5KSxcbiAgfTtcbn1cblxuZnVuY3Rpb24gbWVyZ2VQcm9wcyhzdGF0ZVByb3BzLCBkaXNwYXRjaFByb3BzLCBvd25Qcm9wcykge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlUHJvcHMsXG4gICAgLi4uZGlzcGF0Y2hQcm9wcyxcbiAgICAuLi5vd25Qcm9wcyxcbiAgICBib3VuZEdldEFzc2V0OiBkaXNwYXRjaFByb3BzLmJvdW5kR2V0QXNzZXQoc3RhdGVQcm9wcy5jb2xsZWN0aW9uLCBzdGF0ZVByb3BzLmVudHJ5KSxcbiAgfTtcbn1cblxuY29uc3QgQ29ubmVjdGVkRWRpdG9yQ29udHJvbCA9IGNvbm5lY3QoXG4gIG1hcFN0YXRlVG9Qcm9wcyxcbiAgbWFwRGlzcGF0Y2hUb1Byb3BzLFxuICBtZXJnZVByb3BzLFxuKSh0cmFuc2xhdGUoKShFZGl0b3JDb250cm9sKSk7XG5cbmV4cG9ydCBkZWZhdWx0IENvbm5lY3RlZEVkaXRvckNvbnRyb2w7XG4iXX0= */"))
|
|
206
|
-
}), (
|
|
199
|
+
}, ___EmotionJSX(ControlTopbar, null, widget.globalStyles && ___EmotionJSX(Global, {
|
|
200
|
+
styles: /*#__PURE__*/coreCss(widget.globalStyles, ";;label:EditorControl;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0VkaXRvci9FZGl0b3JDb250cm9sUGFuZS9FZGl0b3JDb250cm9sLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXNQNkQiLCJmaWxlIjoiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvRWRpdG9yL0VkaXRvckNvbnRyb2xQYW5lL0VkaXRvckNvbnRyb2wuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgYmluZEFjdGlvbkNyZWF0b3JzIH0gZnJvbSAncmVkdXgnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBJbW11dGFibGVQcm9wVHlwZXMgZnJvbSAncmVhY3QtaW1tdXRhYmxlLXByb3B0eXBlcyc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgeyBDbGFzc05hbWVzLCBHbG9iYWwsIGNzcyBhcyBjb3JlQ3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgcGFydGlhbCwgdW5pcXVlSWQgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IEZpZWxkTGFiZWwsIGNvbG9ycywgdHJhbnNpdGlvbnMsIGxlbmd0aHMsIGJvcmRlcnMgfSBmcm9tICdkZWNhcC1jbXMtdWktZGVmYXVsdCc7XG5pbXBvcnQgUmVhY3RNYXJrZG93biBmcm9tICdyZWFjdC1tYXJrZG93bic7XG5pbXBvcnQgZ2ZtIGZyb20gJ3JlbWFyay1nZm0nO1xuXG5pbXBvcnQgeyByZXNvbHZlV2lkZ2V0LCBnZXRFZGl0b3JDb21wb25lbnRzIH0gZnJvbSAnLi4vLi4vLi4vbGliL3JlZ2lzdHJ5JztcbmltcG9ydCB7IGNsZWFyRmllbGRFcnJvcnMsIHRyeUxvYWRFbnRyeSwgdmFsaWRhdGVNZXRhRmllbGQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL2VudHJpZXMnO1xuaW1wb3J0IHsgYWRkQXNzZXQsIGJvdW5kR2V0QXNzZXQgfSBmcm9tICcuLi8uLi8uLi9hY3Rpb25zL21lZGlhJztcbmltcG9ydCB7IHNlbGVjdElzTG9hZGluZ0Fzc2V0IH0gZnJvbSAnLi4vLi4vLi4vcmVkdWNlcnMvbWVkaWFzJztcbmltcG9ydCB7IHF1ZXJ5LCBjbGVhclNlYXJjaCB9IGZyb20gJy4uLy4uLy4uL2FjdGlvbnMvc2VhcmNoJztcbmltcG9ydCB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIHJlbW92ZUluc2VydGVkTWVkaWEsXG4gIGNsZWFyTWVkaWFDb250cm9sLFxuICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gIHBlcnNpc3RNZWRpYSxcbn0gZnJvbSAnLi4vLi4vLi4vYWN0aW9ucy9tZWRpYUxpYnJhcnknO1xuaW1wb3J0IFdpZGdldCBmcm9tICcuL1dpZGdldCc7XG5cbi8qKlxuICogVGhpcyBpcyBhIG5lY2Vzc2FyeSBicmlkZ2UgYXMgd2UgYXJlIHN0aWxsIHBhc3NpbmcgY2xhc3NuYW1lcyB0byB3aWRnZXRzXG4gKiBmb3Igc3R5bGluZy4gT25jZSB0aGF0IGNoYW5nZXMgd2UgY2FuIHN0b3Agc3RvcmluZyByYXcgc3R5bGUgc3RyaW5ncyBsaWtlXG4gKiB0aGlzLlxuICovXG5jb25zdCBzdHlsZVN0cmluZ3MgPSB7XG4gIHdpZGdldDogYFxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6ICR7bGVuZ3Rocy5pbnB1dFBhZGRpbmd9O1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6ICR7Ym9yZGVycy50ZXh0RmllbGR9O1xuICAgIGJvcmRlci1yYWRpdXM6ICR7bGVuZ3Rocy5ib3JkZXJSYWRpdXN9O1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR7Y29sb3JzLmlucHV0QmFja2dyb3VuZH07XG4gICAgY29sb3I6ICM0NDRhNTc7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR7dHJhbnNpdGlvbnMubWFpbn07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuXG4gICAgc2VsZWN0JiB7XG4gICAgICB0ZXh0LWluZGVudDogMTRweDtcbiAgICAgIGhlaWdodDogNThweDtcbiAgICB9XG4gIGAsXG4gIHdpZGdldEFjdGl2ZTogYFxuICAgIGJvcmRlci1jb2xvcjogJHtjb2xvcnMuYWN0aXZlfTtcbiAgYCxcbiAgd2lkZ2V0RXJyb3I6IGBcbiAgICBib3JkZXItY29sb3I6ICR7Y29sb3JzLmVycm9yVGV4dH07XG4gIGAsXG4gIGRpc2FibGVkOiBgXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgb3BhY2l0eTogMC41O1xuICBgLFxuICBoaWRkZW46IGBcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGAsXG59O1xuXG5jb25zdCBDb250cm9sQ29udGFpbmVyID0gc3R5bGVkLmRpdmBcbiAgbWFyZ2luLXRvcDogMTZweDtcblxuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi10b3A6IDM2cHg7XG4gIH1cbmA7XG5cbmNvbnN0IENvbnRyb2xUb3BiYXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogMjBweDtcbiAgYWxpZ24taXRlbXM6IGVuZDtcbmA7XG5jb25zdCBDb250cm9sRXJyb3JzTGlzdCA9IHN0eWxlZC51bGBcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAke2NvbG9ycy5lcnJvclRleHR9O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAycHggMCAzcHg7XG5gO1xuXG5leHBvcnQgY29uc3QgQ29udHJvbEhpbnQgPSBzdHlsZWQucGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogNnB4IDAgMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBjb2xvcjogJHtwcm9wcyA9PlxuICAgIHByb3BzLmVycm9yID8gY29sb3JzLmVycm9yVGV4dCA6IHByb3BzLmFjdGl2ZSA/IGNvbG9ycy5hY3RpdmUgOiBjb2xvcnMuY29udHJvbExhYmVsfTtcbiAgdHJhbnNpdGlvbjogY29sb3IgJHt0cmFuc2l0aW9ucy5tYWlufTtcbmA7XG5cbmZ1bmN0aW9uIExhYmVsQ29tcG9uZW50KHsgZmllbGQsIGlzQWN0aXZlLCBoYXNFcnJvcnMsIHVuaXF1ZUZpZWxkSWQsIGlzRmllbGRPcHRpb25hbCwgdCB9KSB7XG4gIGNvbnN0IGxhYmVsID0gYCR7ZmllbGQuZ2V0KCdsYWJlbCcsIGZpZWxkLmdldCgnbmFtZScpKX1gO1xuICBjb25zdCBsYWJlbENvbXBvbmVudCA9IChcbiAgICA8RmllbGRMYWJlbCBpc0FjdGl2ZT17aXNBY3RpdmV9IGhhc0Vycm9ycz17aGFzRXJyb3JzfSBodG1sRm9yPXt1bmlxdWVGaWVsZElkfT5cbiAgICAgIHtpc0ZpZWxkT3B0aW9uYWwgPyAoXG4gICAgICAgIDw+XG4gICAgICAgICAge2xhYmVsfVxuICAgICAgICAgIDxzcGFuPntgICgke3QoJ2VkaXRvci5lZGl0b3JDb250cm9sLmZpZWxkLm9wdGlvbmFsJyl9KWB9PC9zcGFuPlxuICAgICAgICA8Lz5cbiAgICAgICkgOiAoXG4gICAgICAgIGxhYmVsXG4gICAgICApfVxuICAgIDwvRmllbGRMYWJlbD5cbiAgKTtcblxuICByZXR1cm4gbGFiZWxDb21wb25lbnQ7XG59XG5cbmNsYXNzIEVkaXRvckNvbnRyb2wgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtcbiAgICAgIFByb3BUeXBlcy5ub2RlLFxuICAgICAgUHJvcFR5cGVzLm9iamVjdCxcbiAgICAgIFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICBQcm9wVHlwZXMuYm9vbCxcbiAgICBdKSxcbiAgICBmaWVsZDogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGZpZWxkc01ldGFEYXRhOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLFxuICAgIGZpZWxkc0Vycm9yczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcCxcbiAgICBtZWRpYVBhdGhzOiBJbW11dGFibGVQcm9wVHlwZXMubWFwLmlzUmVxdWlyZWQsXG4gICAgYm91bmRHZXRBc3NldDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvcGVuTWVkaWFMaWJyYXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGFkZEFzc2V0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHJlbW92ZUluc2VydGVkTWVkaWE6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgcGVyc2lzdE1lZGlhOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uVmFsaWRhdGU6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNvbnRyb2xSZWY6IFByb3BUeXBlcy5mdW5jLFxuICAgIHF1ZXJ5OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5SGl0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBpc0ZldGNoaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjbGVhclNlYXJjaDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBjbGVhckZpZWxkRXJyb3JzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGxvYWRFbnRyeTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIGlzRWRpdG9yQ29tcG9uZW50OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc05ld0VkaXRvckNvbXBvbmVudDogUHJvcFR5cGVzLmJvb2wsXG4gICAgcGFyZW50SWRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgICBlbnRyeTogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGNvbGxlY3Rpb246IEltbXV0YWJsZVByb3BUeXBlcy5tYXAuaXNSZXF1aXJlZCxcbiAgICBpc0Rpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0hpZGRlbjogUHJvcFR5cGVzLmJvb2wsXG4gICAgaXNGaWVsZER1cGxpY2F0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgaXNGaWVsZEhpZGRlbjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgbG9jYWxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZDogUHJvcFR5cGVzLmJvb2wsXG4gIH07XG5cbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBwYXJlbnRJZHM6IFtdLFxuICB9O1xuXG4gIHN0YXRlID0ge1xuICAgIGFjdGl2ZUxhYmVsOiBmYWxzZSxcbiAgfTtcblxuICB1bmlxdWVGaWVsZElkID0gdW5pcXVlSWQoYCR7dGhpcy5wcm9wcy5maWVsZC5nZXQoJ25hbWUnKX0tZmllbGQtYCk7XG5cbiAgaXNBbmNlc3Rvck9mRmllbGRFcnJvciA9ICgpID0+IHtcbiAgICBjb25zdCB7IGZpZWxkc0Vycm9ycyB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLnNpemUgPiAwKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LnZhbHVlcyhmaWVsZHNFcnJvcnMudG9KUygpKS5zb21lKGFyciA9PlxuICAgICAgICBhcnIuc29tZShlcnIgPT4gZXJyLnBhcmVudElkcyAmJiBlcnIucGFyZW50SWRzLmluY2x1ZGVzKHRoaXMudW5pcXVlRmllbGRJZCkpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7XG4gICAgICB2YWx1ZSxcbiAgICAgIGVudHJ5LFxuICAgICAgY29sbGVjdGlvbixcbiAgICAgIGNvbmZpZyxcbiAgICAgIGZpZWxkLFxuICAgICAgZmllbGRzTWV0YURhdGEsXG4gICAgICBmaWVsZHNFcnJvcnMsXG4gICAgICBtZWRpYVBhdGhzLFxuICAgICAgYm91bmRHZXRBc3NldCxcbiAgICAgIG9uQ2hhbmdlLFxuICAgICAgb3Blbk1lZGlhTGlicmFyeSxcbiAgICAgIGNsZWFyTWVkaWFDb250cm9sLFxuICAgICAgcmVtb3ZlTWVkaWFDb250cm9sLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgb25WYWxpZGF0ZSxcbiAgICAgIGNvbnRyb2xSZWYsXG4gICAgICBxdWVyeSxcbiAgICAgIHF1ZXJ5SGl0cyxcbiAgICAgIGlzRmV0Y2hpbmcsXG4gICAgICBjbGVhclNlYXJjaCxcbiAgICAgIGNsZWFyRmllbGRFcnJvcnMsXG4gICAgICBsb2FkRW50cnksXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBpc1NlbGVjdGVkLFxuICAgICAgaXNFZGl0b3JDb21wb25lbnQsXG4gICAgICBpc05ld0VkaXRvckNvbXBvbmVudCxcbiAgICAgIHBhcmVudElkcyxcbiAgICAgIHQsXG4gICAgICB2YWxpZGF0ZU1ldGFGaWVsZCxcbiAgICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgICAgaXNEaXNhYmxlZCxcbiAgICAgIGlzSGlkZGVuLFxuICAgICAgaXNGaWVsZER1cGxpY2F0ZSxcbiAgICAgIGlzRmllbGRIaWRkZW4sXG4gICAgICBsb2NhbGUsXG4gICAgICBpc1BhcmVudExpc3RDb2xsYXBzZWQsXG4gICAgfSA9IHRoaXMucHJvcHM7XG5cbiAgICBjb25zdCB3aWRnZXROYW1lID0gZmllbGQuZ2V0KCd3aWRnZXQnKTtcbiAgICBjb25zdCB3aWRnZXQgPSByZXNvbHZlV2lkZ2V0KHdpZGdldE5hbWUpO1xuICAgIGNvbnN0IGZpZWxkTmFtZSA9IGZpZWxkLmdldCgnbmFtZScpO1xuICAgIGNvbnN0IGZpZWxkSGludCA9IGZpZWxkLmdldCgnaGludCcpO1xuICAgIGNvbnN0IGlzRmllbGRPcHRpb25hbCA9IGZpZWxkLmdldCgncmVxdWlyZWQnKSA9PT0gZmFsc2U7XG4gICAgY29uc3Qgb25WYWxpZGF0ZU9iamVjdCA9IG9uVmFsaWRhdGU7XG4gICAgY29uc3QgbWV0YWRhdGEgPSBmaWVsZHNNZXRhRGF0YSAmJiBmaWVsZHNNZXRhRGF0YS5nZXQoZmllbGROYW1lKTtcbiAgICBjb25zdCBlcnJvcnMgPSBmaWVsZHNFcnJvcnMgJiYgZmllbGRzRXJyb3JzLmdldCh0aGlzLnVuaXF1ZUZpZWxkSWQpO1xuICAgIGNvbnN0IGNoaWxkRXJyb3JzID0gdGhpcy5pc0FuY2VzdG9yT2ZGaWVsZEVycm9yKCk7XG4gICAgY29uc3QgaGFzRXJyb3JzID0gISFlcnJvcnMgfHwgY2hpbGRFcnJvcnM7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENsYXNzTmFtZXM+XG4gICAgICAgIHsoeyBjc3MsIGN4IH0pID0+IChcbiAgICAgICAgICA8Q29udHJvbENvbnRhaW5lclxuICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICAgICAgICBjc3M9e2Nzc2BcbiAgICAgICAgICAgICAgJHtpc0hpZGRlbiAmJiBzdHlsZVN0cmluZ3MuaGlkZGVufTtcbiAgICAgICAgICAgIGB9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPENvbnRyb2xUb3BiYXI+XG4gICAgICAgICAgICAgIHt3aWRnZXQuZ2xvYmFsU3R5bGVzICYmIDxHbG9iYWwgc3R5bGVzPXtjb3JlQ3NzYCR7d2lkZ2V0Lmdsb2JhbFN0eWxlc31gfSAvPn1cbiAgICAgICAgICAgICAgPExhYmVsQ29tcG9uZW50XG4gICAgICAgICAgICAgICAgZmllbGQ9e2ZpZWxkfVxuICAgICAgICAgICAgICAgIGlzQWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9XG4gICAgICAgICAgICAgICAgaGFzRXJyb3JzPXtoYXNFcnJvcnN9XG4gICAgICAgICAgICAgICAgdW5pcXVlRmllbGRJZD17dGhpcy51bmlxdWVGaWVsZElkfVxuICAgICAgICAgICAgICAgIGlzRmllbGRPcHRpb25hbD17aXNGaWVsZE9wdGlvbmFsfVxuICAgICAgICAgICAgICAgIHQ9e3R9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIHtlcnJvcnMgJiYgKFxuICAgICAgICAgICAgICAgIDxDb250cm9sRXJyb3JzTGlzdD5cbiAgICAgICAgICAgICAgICAgIHtlcnJvcnMubWFwKFxuICAgICAgICAgICAgICAgICAgICBlcnJvciA9PlxuICAgICAgICAgICAgICAgICAgICAgIGVycm9yLm1lc3NhZ2UgJiZcbiAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGxpIGtleT17ZXJyb3IubWVzc2FnZS50cmltKCkucmVwbGFjZSgvW15hLXowLTldKy9naSwgJy0nKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHtlcnJvci5tZXNzYWdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9saT5cbiAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NvbnRyb2xFcnJvcnNMaXN0PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9Db250cm9sVG9wYmFyPlxuICAgICAgICAgICAgPFdpZGdldFxuICAgICAgICAgICAgICBjbGFzc05hbWVXcmFwcGVyPXtjeChcbiAgICAgICAgICAgICAgICBjc3NgXG4gICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICAgIGAsXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3Mud2lkZ2V0QWN0aXZlfTtcbiAgICAgICAgICAgICAgICAgIGBdOiBpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmUsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBbY3NzYFxuICAgICAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRFcnJvcn07XG4gICAgICAgICAgICAgICAgICBgXTogaGFzRXJyb3JzLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgW2Nzc2BcbiAgICAgICAgICAgICAgICAgICAgJHtzdHlsZVN0cmluZ3MuZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICBgXTogaXNEaXNhYmxlZCxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXQ9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXR9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVXaWRnZXRBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy53aWRnZXRBY3RpdmV9O1xuICAgICAgICAgICAgICBgfVxuICAgICAgICAgICAgICBjbGFzc05hbWVMYWJlbD17Y3NzYFxuICAgICAgICAgICAgICAgICR7c3R5bGVTdHJpbmdzLmxhYmVsfTtcbiAgICAgICAgICAgICAgYH1cbiAgICAgICAgICAgICAgY2xhc3NOYW1lTGFiZWxBY3RpdmU9e2Nzc2BcbiAgICAgICAgICAgICAgICAke3N0eWxlU3RyaW5ncy5sYWJlbEFjdGl2ZX07XG4gICAgICAgICAgICAgIGB9XG4gICAgICAgICAgICAgIGNvbnRyb2xDb21wb25lbnQ9e3dpZGdldC5jb250cm9sfVxuICAgICAgICAgICAgICBlbnRyeT17ZW50cnl9XG4gICAgICAgICAgICAgIGNvbGxlY3Rpb249e2NvbGxlY3Rpb259XG4gICAgICAgICAgICAgIGNvbmZpZz17Y29uZmlnfVxuICAgICAgICAgICAgICBmaWVsZD17ZmllbGR9XG4gICAgICAgICAgICAgIHVuaXF1ZUZpZWxkSWQ9e3RoaXMudW5pcXVlRmllbGRJZH1cbiAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAgICAgICAgICBtZWRpYVBhdGhzPXttZWRpYVBhdGhzfVxuICAgICAgICAgICAgICBtZXRhZGF0YT17bWV0YWRhdGF9XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXsobmV3VmFsdWUsIG5ld01ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgb25DaGFuZ2UoZmllbGQsIG5ld1ZhbHVlLCBuZXdNZXRhZGF0YSk7XG4gICAgICAgICAgICAgICAgY2xlYXJGaWVsZEVycm9ycyh0aGlzLnVuaXF1ZUZpZWxkSWQpOyAvLyDQktC40LTQsNC70Y/RlNC80L4g0L/QvtC80LjQu9C60Lgg0LvQuNGI0LUg0LTQu9GPINGG0YzQvtCz0L4g0L/QvtC70Y9cbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZT17b25WYWxpZGF0ZSAmJiBwYXJ0aWFsKG9uVmFsaWRhdGUsIHRoaXMudW5pcXVlRmllbGRJZCl9XG4gICAgICAgICAgICAgIG9uT3Blbk1lZGlhTGlicmFyeT17b3Blbk1lZGlhTGlicmFyeX1cbiAgICAgICAgICAgICAgb25DbGVhck1lZGlhQ29udHJvbD17Y2xlYXJNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlTWVkaWFDb250cm9sPXtyZW1vdmVNZWRpYUNvbnRyb2x9XG4gICAgICAgICAgICAgIG9uUmVtb3ZlSW5zZXJ0ZWRNZWRpYT17cmVtb3ZlSW5zZXJ0ZWRNZWRpYX1cbiAgICAgICAgICAgICAgb25QZXJzaXN0TWVkaWE9e3BlcnNpc3RNZWRpYX1cbiAgICAgICAgICAgICAgb25BZGRBc3NldD17YWRkQXNzZXR9XG4gICAgICAgICAgICAgIGdldEFzc2V0PXtib3VuZEdldEFzc2V0fVxuICAgICAgICAgICAgICBoYXNBY3RpdmVTdHlsZT17aXNTZWxlY3RlZCB8fCB0aGlzLnN0YXRlLnN0eWxlQWN0aXZlfVxuICAgICAgICAgICAgICBzZXRBY3RpdmVTdHlsZT17KCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHN0eWxlQWN0aXZlOiB0cnVlIH0pfVxuICAgICAgICAgICAgICBzZXRJbmFjdGl2ZVN0eWxlPXsoKSA9PiB0aGlzLnNldFN0YXRlKHsgc3R5bGVBY3RpdmU6IGZhbHNlIH0pfVxuICAgICAgICAgICAgICByZXNvbHZlV2lkZ2V0PXtyZXNvbHZlV2lkZ2V0fVxuICAgICAgICAgICAgICB3aWRnZXQ9e3dpZGdldH1cbiAgICAgICAgICAgICAgZ2V0RWRpdG9yQ29tcG9uZW50cz17Z2V0RWRpdG9yQ29tcG9uZW50c31cbiAgICAgICAgICAgICAgY29udHJvbFJlZj17Y29udHJvbFJlZn1cbiAgICAgICAgICAgICAgZWRpdG9yQ29udHJvbD17Q29ubmVjdGVkRWRpdG9yQ29udHJvbH1cbiAgICAgICAgICAgICAgcXVlcnk9e3F1ZXJ5fVxuICAgICAgICAgICAgICBsb2FkRW50cnk9e2xvYWRFbnRyeX1cbiAgICAgICAgICAgICAgcXVlcnlIaXRzPXtxdWVyeUhpdHNbdGhpcy51bmlxdWVGaWVsZElkXSB8fCBbXX1cbiAgICAgICAgICAgICAgY2xlYXJTZWFyY2g9e2NsZWFyU2VhcmNofVxuICAgICAgICAgICAgICBjbGVhckZpZWxkRXJyb3JzPXtjbGVhckZpZWxkRXJyb3JzfVxuICAgICAgICAgICAgICBpc0ZldGNoaW5nPXtpc0ZldGNoaW5nfVxuICAgICAgICAgICAgICBmaWVsZHNFcnJvcnM9e2ZpZWxkc0Vycm9yc31cbiAgICAgICAgICAgICAgb25WYWxpZGF0ZU9iamVjdD17b25WYWxpZGF0ZU9iamVjdH1cbiAgICAgICAgICAgICAgaXNFZGl0b3JDb21wb25lbnQ9e2lzRWRpdG9yQ29tcG9uZW50fVxuICAgICAgICAgICAgICBpc05ld0VkaXRvckNvbXBvbmVudD17aXNOZXdFZGl0b3JDb21wb25lbnR9XG4gICAgICAgICAgICAgIHBhcmVudElkcz17cGFyZW50SWRzfVxuICAgICAgICAgICAgICB0PXt0fVxuICAgICAgICAgICAgICB2YWxpZGF0ZU1ldGFGaWVsZD17dmFsaWRhdGVNZXRhRmllbGR9XG4gICAgICAgICAgICAgIGlzRGlzYWJsZWQ9e2lzRGlzYWJsZWR9XG4gICAgICAgICAgICAgIGlzRmllbGREdXBsaWNhdGU9e2lzRmllbGREdXBsaWNhdGV9XG4gICAgICAgICAgICAgIGlzRmllbGRIaWRkZW49e2lzRmllbGRIaWRkZW59XG4gICAgICAgICAgICAgIGlzTG9hZGluZ0Fzc2V0PXtpc0xvYWRpbmdBc3NldH1cbiAgICAgICAgICAgICAgbG9jYWxlPXtsb2NhbGV9XG4gICAgICAgICAgICAgIGlzUGFyZW50TGlzdENvbGxhcHNlZD17aXNQYXJlbnRMaXN0Q29sbGFwc2VkfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIHtmaWVsZEhpbnQgJiYgKFxuICAgICAgICAgICAgICA8Q29udHJvbEhpbnQgYWN0aXZlPXtpc1NlbGVjdGVkIHx8IHRoaXMuc3RhdGUuc3R5bGVBY3RpdmV9IGVycm9yPXtoYXNFcnJvcnN9PlxuICAgICAgICAgICAgICAgIDxSZWFjdE1hcmtkb3duXG4gICAgICAgICAgICAgICAgICByZW1hcmtQbHVnaW5zPXtbZ2ZtXX1cbiAgICAgICAgICAgICAgICAgIGFsbG93ZWRFbGVtZW50cz17WydhJywgJ3N0cm9uZycsICdlbScsICdkZWwnXX1cbiAgICAgICAgICAgICAgICAgIHVud3JhcERpc2FsbG93ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICBjb21wb25lbnRzPXt7XG4gICAgICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xuICAgICAgICAgICAgICAgICAgICBhOiAoeyBub2RlLCAuLi5wcm9wcyB9KSA9PiAoXG4gICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5wcm9wc31cbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7IGNvbG9yOiAnaW5oZXJpdCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7ZmllbGRIaW50fVxuICAgICAgICAgICAgICAgIDwvUmVhY3RNYXJrZG93bj5cbiAgICAgICAgICAgICAgPC9Db250cm9sSGludD5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250cm9sQ29udGFpbmVyPlxuICAgICAgICApfVxuICAgICAgPC9DbGFzc05hbWVzPlxuICAgICk7XG4gIH1cbn1cblxuZnVuY3Rpb24gbWFwU3RhdGVUb1Byb3BzKHN0YXRlKSB7XG4gIGNvbnN0IHsgY29sbGVjdGlvbnMsIGVudHJ5RHJhZnQgfSA9IHN0YXRlO1xuICBjb25zdCBlbnRyeSA9IGVudHJ5RHJhZnQuZ2V0KCdlbnRyeScpO1xuICBjb25zdCBjb2xsZWN0aW9uID0gY29sbGVjdGlvbnMuZ2V0KGVudHJ5RHJhZnQuZ2V0SW4oWydlbnRyeScsICdjb2xsZWN0aW9uJ10pKTtcbiAgY29uc3QgaXNMb2FkaW5nQXNzZXQgPSBzZWxlY3RJc0xvYWRpbmdBc3NldChzdGF0ZS5tZWRpYXMpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRFbnRyeShjb2xsZWN0aW9uTmFtZSwgc2x1Zykge1xuICAgIGNvbnN0IHRhcmdldENvbGxlY3Rpb24gPSBjb2xsZWN0aW9ucy5nZXQoY29sbGVjdGlvbk5hbWUpO1xuICAgIGlmICh0YXJnZXRDb2xsZWN0aW9uKSB7XG4gICAgICBjb25zdCBsb2FkZWRFbnRyeSA9IGF3YWl0IHRyeUxvYWRFbnRyeShzdGF0ZSwgdGFyZ2V0Q29sbGVjdGlvbiwgc2x1Zyk7XG4gICAgICByZXR1cm4gbG9hZGVkRW50cnk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2FuJ3QgZmluZCBjb2xsZWN0aW9uICcke2NvbGxlY3Rpb25OYW1lfSdgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lZGlhUGF0aHM6IHN0YXRlLm1lZGlhTGlicmFyeS5nZXQoJ2NvbnRyb2xNZWRpYScpLFxuICAgIGlzRmV0Y2hpbmc6IHN0YXRlLnNlYXJjaC5pc0ZldGNoaW5nLFxuICAgIHF1ZXJ5SGl0czogc3RhdGUuc2VhcmNoLnF1ZXJ5SGl0cyxcbiAgICBjb25maWc6IHN0YXRlLmNvbmZpZyxcbiAgICBlbnRyeSxcbiAgICBjb2xsZWN0aW9uLFxuICAgIGlzTG9hZGluZ0Fzc2V0LFxuICAgIGxvYWRFbnRyeSxcbiAgICB2YWxpZGF0ZU1ldGFGaWVsZDogKGZpZWxkLCB2YWx1ZSwgdCkgPT4gdmFsaWRhdGVNZXRhRmllbGQoc3RhdGUsIGNvbGxlY3Rpb24sIGZpZWxkLCB2YWx1ZSwgdCksXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1hcERpc3BhdGNoVG9Qcm9wcyhkaXNwYXRjaCkge1xuICBjb25zdCBjcmVhdG9ycyA9IGJpbmRBY3Rpb25DcmVhdG9ycyhcbiAgICB7XG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgY2xlYXJNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVNZWRpYUNvbnRyb2wsXG4gICAgICByZW1vdmVJbnNlcnRlZE1lZGlhLFxuICAgICAgcGVyc2lzdE1lZGlhLFxuICAgICAgYWRkQXNzZXQsXG4gICAgICBxdWVyeSxcbiAgICAgIGNsZWFyU2VhcmNoLFxuICAgICAgY2xlYXJGaWVsZEVycm9ycyxcbiAgICB9LFxuICAgIGRpc3BhdGNoLFxuICApO1xuICByZXR1cm4ge1xuICAgIC4uLmNyZWF0b3JzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IChjb2xsZWN0aW9uLCBlbnRyeSkgPT4gYm91bmRHZXRBc3NldChkaXNwYXRjaCwgY29sbGVjdGlvbiwgZW50cnkpLFxuICB9O1xufVxuXG5mdW5jdGlvbiBtZXJnZVByb3BzKHN0YXRlUHJvcHMsIGRpc3BhdGNoUHJvcHMsIG93blByb3BzKSB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGVQcm9wcyxcbiAgICAuLi5kaXNwYXRjaFByb3BzLFxuICAgIC4uLm93blByb3BzLFxuICAgIGJvdW5kR2V0QXNzZXQ6IGRpc3BhdGNoUHJvcHMuYm91bmRHZXRBc3NldChzdGF0ZVByb3BzLmNvbGxlY3Rpb24sIHN0YXRlUHJvcHMuZW50cnkpLFxuICB9O1xufVxuXG5jb25zdCBDb25uZWN0ZWRFZGl0b3JDb250cm9sID0gY29ubmVjdChcbiAgbWFwU3RhdGVUb1Byb3BzLFxuICBtYXBEaXNwYXRjaFRvUHJvcHMsXG4gIG1lcmdlUHJvcHMsXG4pKHRyYW5zbGF0ZSgpKEVkaXRvckNvbnRyb2wpKTtcblxuZXhwb3J0IGRlZmF1bHQgQ29ubmVjdGVkRWRpdG9yQ29udHJvbDtcbiJdfQ== */"))
|
|
201
|
+
}), ___EmotionJSX(LabelComponent, {
|
|
207
202
|
field: field,
|
|
208
203
|
isActive: isSelected || this.state.styleActive,
|
|
209
204
|
hasErrors: hasErrors,
|
|
210
205
|
uniqueFieldId: this.uniqueFieldId,
|
|
211
206
|
isFieldOptional: isFieldOptional,
|
|
212
207
|
t: t
|
|
213
|
-
}), errors && (
|
|
208
|
+
}), errors && ___EmotionJSX(ControlErrorsList, null, errors.map(error => error.message && typeof error.message === 'string' && ___EmotionJSX("li", {
|
|
214
209
|
key: error.message.trim().replace(/[^a-z0-9]+/gi, '-')
|
|
215
|
-
}, error.message)))), (
|
|
210
|
+
}, error.message)))), ___EmotionJSX(Widget, {
|
|
216
211
|
classNameWrapper: cx(css`
|
|
217
212
|
${styleStrings.widget};
|
|
218
213
|
`, {
|
|
@@ -253,7 +248,7 @@ class EditorControl extends _react.default.Component {
|
|
|
253
248
|
onChange(field, newValue, newMetadata);
|
|
254
249
|
clearFieldErrors(this.uniqueFieldId); // Видаляємо помилки лише для цього поля
|
|
255
250
|
},
|
|
256
|
-
onValidate: onValidate && (
|
|
251
|
+
onValidate: onValidate && _partial(onValidate, this.uniqueFieldId),
|
|
257
252
|
onOpenMediaLibrary: openMediaLibrary,
|
|
258
253
|
onClearMediaControl: clearMediaControl,
|
|
259
254
|
onRemoveMediaControl: removeMediaControl,
|
|
@@ -268,10 +263,9 @@ class EditorControl extends _react.default.Component {
|
|
|
268
263
|
setInactiveStyle: () => this.setState({
|
|
269
264
|
styleActive: false
|
|
270
265
|
}),
|
|
271
|
-
resolveWidget:
|
|
266
|
+
resolveWidget: resolveWidget,
|
|
272
267
|
widget: widget,
|
|
273
|
-
getEditorComponents:
|
|
274
|
-
ref: processControlRef && (0, _partial2.default)(processControlRef, field),
|
|
268
|
+
getEditorComponents: getEditorComponents,
|
|
275
269
|
controlRef: controlRef,
|
|
276
270
|
editorControl: ConnectedEditorControl,
|
|
277
271
|
query: query,
|
|
@@ -293,11 +287,11 @@ class EditorControl extends _react.default.Component {
|
|
|
293
287
|
isLoadingAsset: isLoadingAsset,
|
|
294
288
|
locale: locale,
|
|
295
289
|
isParentListCollapsed: isParentListCollapsed
|
|
296
|
-
}), fieldHint && (
|
|
290
|
+
}), fieldHint && ___EmotionJSX(ControlHint, {
|
|
297
291
|
active: isSelected || this.state.styleActive,
|
|
298
292
|
error: hasErrors
|
|
299
|
-
}, (
|
|
300
|
-
remarkPlugins: [
|
|
293
|
+
}, ___EmotionJSX(ReactMarkdown, {
|
|
294
|
+
remarkPlugins: [gfm],
|
|
301
295
|
allowedElements: ['a', 'strong', 'em', 'del'],
|
|
302
296
|
unwrapDisallowed: true,
|
|
303
297
|
components: {
|
|
@@ -307,7 +301,7 @@ class EditorControl extends _react.default.Component {
|
|
|
307
301
|
node
|
|
308
302
|
} = _ref,
|
|
309
303
|
props = _objectWithoutProperties(_ref, _excluded);
|
|
310
|
-
return (
|
|
304
|
+
return ___EmotionJSX("a", _extends({}, props, {
|
|
311
305
|
target: "_blank",
|
|
312
306
|
rel: "noopener noreferrer",
|
|
313
307
|
style: {
|
|
@@ -320,38 +314,37 @@ class EditorControl extends _react.default.Component {
|
|
|
320
314
|
}
|
|
321
315
|
}
|
|
322
316
|
_defineProperty(EditorControl, "propTypes", {
|
|
323
|
-
value:
|
|
324
|
-
field:
|
|
325
|
-
fieldsMetaData:
|
|
326
|
-
fieldsErrors:
|
|
327
|
-
mediaPaths:
|
|
328
|
-
boundGetAsset:
|
|
329
|
-
onChange:
|
|
330
|
-
openMediaLibrary:
|
|
331
|
-
addAsset:
|
|
332
|
-
removeInsertedMedia:
|
|
333
|
-
persistMedia:
|
|
334
|
-
onValidate:
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
isParentListCollapsed: _propTypes.default.bool
|
|
317
|
+
value: PropTypes.oneOfType([PropTypes.node, PropTypes.object, PropTypes.string, PropTypes.bool]),
|
|
318
|
+
field: ImmutablePropTypes.map.isRequired,
|
|
319
|
+
fieldsMetaData: ImmutablePropTypes.map,
|
|
320
|
+
fieldsErrors: ImmutablePropTypes.map,
|
|
321
|
+
mediaPaths: ImmutablePropTypes.map.isRequired,
|
|
322
|
+
boundGetAsset: PropTypes.func.isRequired,
|
|
323
|
+
onChange: PropTypes.func.isRequired,
|
|
324
|
+
openMediaLibrary: PropTypes.func.isRequired,
|
|
325
|
+
addAsset: PropTypes.func.isRequired,
|
|
326
|
+
removeInsertedMedia: PropTypes.func.isRequired,
|
|
327
|
+
persistMedia: PropTypes.func.isRequired,
|
|
328
|
+
onValidate: PropTypes.func,
|
|
329
|
+
controlRef: PropTypes.func,
|
|
330
|
+
query: PropTypes.func.isRequired,
|
|
331
|
+
queryHits: PropTypes.object,
|
|
332
|
+
isFetching: PropTypes.bool,
|
|
333
|
+
clearSearch: PropTypes.func.isRequired,
|
|
334
|
+
clearFieldErrors: PropTypes.func.isRequired,
|
|
335
|
+
loadEntry: PropTypes.func.isRequired,
|
|
336
|
+
t: PropTypes.func.isRequired,
|
|
337
|
+
isEditorComponent: PropTypes.bool,
|
|
338
|
+
isNewEditorComponent: PropTypes.bool,
|
|
339
|
+
parentIds: PropTypes.arrayOf(PropTypes.string),
|
|
340
|
+
entry: ImmutablePropTypes.map.isRequired,
|
|
341
|
+
collection: ImmutablePropTypes.map.isRequired,
|
|
342
|
+
isDisabled: PropTypes.bool,
|
|
343
|
+
isHidden: PropTypes.bool,
|
|
344
|
+
isFieldDuplicate: PropTypes.func,
|
|
345
|
+
isFieldHidden: PropTypes.func,
|
|
346
|
+
locale: PropTypes.string,
|
|
347
|
+
isParentListCollapsed: PropTypes.bool
|
|
355
348
|
});
|
|
356
349
|
_defineProperty(EditorControl, "defaultProps", {
|
|
357
350
|
parentIds: []
|
|
@@ -363,11 +356,11 @@ function mapStateToProps(state) {
|
|
|
363
356
|
} = state;
|
|
364
357
|
const entry = entryDraft.get('entry');
|
|
365
358
|
const collection = collections.get(entryDraft.getIn(['entry', 'collection']));
|
|
366
|
-
const isLoadingAsset =
|
|
359
|
+
const isLoadingAsset = selectIsLoadingAsset(state.medias);
|
|
367
360
|
async function loadEntry(collectionName, slug) {
|
|
368
361
|
const targetCollection = collections.get(collectionName);
|
|
369
362
|
if (targetCollection) {
|
|
370
|
-
const loadedEntry = await
|
|
363
|
+
const loadedEntry = await tryLoadEntry(state, targetCollection, slug);
|
|
371
364
|
return loadedEntry;
|
|
372
365
|
} else {
|
|
373
366
|
throw new Error(`Can't find collection '${collectionName}'`);
|
|
@@ -382,23 +375,23 @@ function mapStateToProps(state) {
|
|
|
382
375
|
collection,
|
|
383
376
|
isLoadingAsset,
|
|
384
377
|
loadEntry,
|
|
385
|
-
validateMetaField: (field, value, t) =>
|
|
378
|
+
validateMetaField: (field, value, t) => validateMetaField(state, collection, field, value, t)
|
|
386
379
|
};
|
|
387
380
|
}
|
|
388
381
|
function mapDispatchToProps(dispatch) {
|
|
389
|
-
const creators =
|
|
390
|
-
openMediaLibrary
|
|
391
|
-
clearMediaControl
|
|
392
|
-
removeMediaControl
|
|
393
|
-
removeInsertedMedia
|
|
394
|
-
persistMedia
|
|
395
|
-
addAsset
|
|
396
|
-
query
|
|
397
|
-
clearSearch
|
|
398
|
-
clearFieldErrors
|
|
382
|
+
const creators = bindActionCreators({
|
|
383
|
+
openMediaLibrary,
|
|
384
|
+
clearMediaControl,
|
|
385
|
+
removeMediaControl,
|
|
386
|
+
removeInsertedMedia,
|
|
387
|
+
persistMedia,
|
|
388
|
+
addAsset,
|
|
389
|
+
query,
|
|
390
|
+
clearSearch,
|
|
391
|
+
clearFieldErrors
|
|
399
392
|
}, dispatch);
|
|
400
393
|
return _objectSpread(_objectSpread({}, creators), {}, {
|
|
401
|
-
boundGetAsset: (collection, entry) =>
|
|
394
|
+
boundGetAsset: (collection, entry) => boundGetAsset(dispatch, collection, entry)
|
|
402
395
|
});
|
|
403
396
|
}
|
|
404
397
|
function mergeProps(stateProps, dispatchProps, ownProps) {
|
|
@@ -406,5 +399,5 @@ function mergeProps(stateProps, dispatchProps, ownProps) {
|
|
|
406
399
|
boundGetAsset: dispatchProps.boundGetAsset(stateProps.collection, stateProps.entry)
|
|
407
400
|
});
|
|
408
401
|
}
|
|
409
|
-
const ConnectedEditorControl =
|
|
410
|
-
|
|
402
|
+
const ConnectedEditorControl = connect(mapStateToProps, mapDispatchToProps, mergeProps)(translate()(EditorControl));
|
|
403
|
+
export default ConnectedEditorControl;
|