@agilemotion/oui-react-js 2.0.27 → 2.0.28
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/AuthImage.js +68 -0
- package/dist/components/FileThumb.js +25 -54
- package/dist/components/TabPanel.js +14 -3
- package/dist/components/form/UploadField.js +14 -45
- package/dist/components/media/VCRoomParticipant.js +5 -9
- package/dist/components/media/VideoPlayer.js +61 -7
- package/dist/components/media/chat/ChatRoom.js +17 -19
- package/dist/documentDownload.js +79 -0
- package/package.json +1 -1
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useDocumentObjectUrl = exports.default = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _documentDownload = require("./documentDownload");
|
|
9
|
+
const _excluded = ["repositoryId", "fallbackSrc"];
|
|
10
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
12
|
+
function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
|
|
13
|
+
function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
|
|
14
|
+
/**
|
|
15
|
+
* Resolve a docs-stored document to an object URL, fetched with header auth (no tokens in the URL).
|
|
16
|
+
* Returns null until it loads / when {@code repositoryId} is falsy. The object URL is revoked on
|
|
17
|
+
* unmount or when the id changes, so there is no leak.
|
|
18
|
+
*
|
|
19
|
+
* <p>Use this for background-image displays; use {@link AuthImage} for a plain {@code <img>}.
|
|
20
|
+
*/
|
|
21
|
+
const useDocumentObjectUrl = repositoryId => {
|
|
22
|
+
const [objectUrl, setObjectUrl] = _react.default.useState(null);
|
|
23
|
+
_react.default.useEffect(() => {
|
|
24
|
+
if (!repositoryId) {
|
|
25
|
+
setObjectUrl(null);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
let active = true;
|
|
29
|
+
let created = null;
|
|
30
|
+
(0, _documentDownload.fetchDocumentObjectUrl)(repositoryId).then(url => {
|
|
31
|
+
if (active) {
|
|
32
|
+
created = url;
|
|
33
|
+
setObjectUrl(url);
|
|
34
|
+
} else {
|
|
35
|
+
URL.revokeObjectURL(url);
|
|
36
|
+
}
|
|
37
|
+
}).catch(() => {});
|
|
38
|
+
return () => {
|
|
39
|
+
active = false;
|
|
40
|
+
if (created) {
|
|
41
|
+
URL.revokeObjectURL(created);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
}, [repositoryId]);
|
|
45
|
+
return objectUrl;
|
|
46
|
+
};
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* {@code <img>} for a docs-stored image, fetched with header auth as an object URL — so the access
|
|
50
|
+
* token never appears in the URL/query string. Shows {@code fallbackSrc} (e.g. a not-yet-persisted
|
|
51
|
+
* base64 payload, or a placeholder) while loading or when there is no {@code repositoryId}. Any
|
|
52
|
+
* other props (alt, style, className, onClick, ...) pass through to the underlying image.
|
|
53
|
+
*/
|
|
54
|
+
exports.useDocumentObjectUrl = useDocumentObjectUrl;
|
|
55
|
+
const AuthImage = _ref => {
|
|
56
|
+
let {
|
|
57
|
+
repositoryId,
|
|
58
|
+
fallbackSrc
|
|
59
|
+
} = _ref,
|
|
60
|
+
imgProps = _objectWithoutProperties(_ref, _excluded);
|
|
61
|
+
const objectUrl = useDocumentObjectUrl(repositoryId);
|
|
62
|
+
const src = objectUrl || fallbackSrc || undefined;
|
|
63
|
+
return /*#__PURE__*/_react.default.createElement("img", _extends({
|
|
64
|
+
src: src
|
|
65
|
+
}, imgProps));
|
|
66
|
+
};
|
|
67
|
+
var _default = exports.default = AuthImage;
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9kb2N1bWVudERvd25sb2FkIiwiX2V4Y2x1ZGVkIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2V4dGVuZHMiLCJPYmplY3QiLCJhc3NpZ24iLCJiaW5kIiwibiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInQiLCJyIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiYXBwbHkiLCJfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMiLCJvIiwiaSIsIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiaW5kZXhPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwidXNlRG9jdW1lbnRPYmplY3RVcmwiLCJyZXBvc2l0b3J5SWQiLCJvYmplY3RVcmwiLCJzZXRPYmplY3RVcmwiLCJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwiYWN0aXZlIiwiY3JlYXRlZCIsImZldGNoRG9jdW1lbnRPYmplY3RVcmwiLCJ0aGVuIiwidXJsIiwiVVJMIiwicmV2b2tlT2JqZWN0VVJMIiwiY2F0Y2giLCJleHBvcnRzIiwiQXV0aEltYWdlIiwiX3JlZiIsImZhbGxiYWNrU3JjIiwiaW1nUHJvcHMiLCJzcmMiLCJ1bmRlZmluZWQiLCJjcmVhdGVFbGVtZW50IiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi9zcmMvbGliL0F1dGhJbWFnZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7ZmV0Y2hEb2N1bWVudE9iamVjdFVybH0gZnJvbSAnLi9kb2N1bWVudERvd25sb2FkJztcblxuLyoqXG4gKiBSZXNvbHZlIGEgZG9jcy1zdG9yZWQgZG9jdW1lbnQgdG8gYW4gb2JqZWN0IFVSTCwgZmV0Y2hlZCB3aXRoIGhlYWRlciBhdXRoIChubyB0b2tlbnMgaW4gdGhlIFVSTCkuXG4gKiBSZXR1cm5zIG51bGwgdW50aWwgaXQgbG9hZHMgLyB3aGVuIHtAY29kZSByZXBvc2l0b3J5SWR9IGlzIGZhbHN5LiBUaGUgb2JqZWN0IFVSTCBpcyByZXZva2VkIG9uXG4gKiB1bm1vdW50IG9yIHdoZW4gdGhlIGlkIGNoYW5nZXMsIHNvIHRoZXJlIGlzIG5vIGxlYWsuXG4gKlxuICogPHA+VXNlIHRoaXMgZm9yIGJhY2tncm91bmQtaW1hZ2UgZGlzcGxheXM7IHVzZSB7QGxpbmsgQXV0aEltYWdlfSBmb3IgYSBwbGFpbiB7QGNvZGUgPGltZz59LlxuICovXG5leHBvcnQgY29uc3QgdXNlRG9jdW1lbnRPYmplY3RVcmwgPSAocmVwb3NpdG9yeUlkKSA9PiB7XG4gICAgY29uc3QgW29iamVjdFVybCwgc2V0T2JqZWN0VXJsXSA9IFJlYWN0LnVzZVN0YXRlKG51bGwpO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFyZXBvc2l0b3J5SWQpIHtcbiAgICAgICAgICAgIHNldE9iamVjdFVybChudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNyZWF0ZWQgPSBudWxsO1xuICAgICAgICBmZXRjaERvY3VtZW50T2JqZWN0VXJsKHJlcG9zaXRvcnlJZClcbiAgICAgICAgICAgIC50aGVuKCh1cmwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgPSB1cmw7XG4gICAgICAgICAgICAgICAgICAgIHNldE9iamVjdFVybCh1cmwpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwodXJsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHt9KTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICAgIGFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGNyZWF0ZWQpIHtcbiAgICAgICAgICAgICAgICBVUkwucmV2b2tlT2JqZWN0VVJMKGNyZWF0ZWQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0sIFtyZXBvc2l0b3J5SWRdKTtcblxuICAgIHJldHVybiBvYmplY3RVcmw7XG59O1xuXG4vKipcbiAqIHtAY29kZSA8aW1nPn0gZm9yIGEgZG9jcy1zdG9yZWQgaW1hZ2UsIGZldGNoZWQgd2l0aCBoZWFkZXIgYXV0aCBhcyBhbiBvYmplY3QgVVJMIOKAlCBzbyB0aGUgYWNjZXNzXG4gKiB0b2tlbiBuZXZlciBhcHBlYXJzIGluIHRoZSBVUkwvcXVlcnkgc3RyaW5nLiBTaG93cyB7QGNvZGUgZmFsbGJhY2tTcmN9IChlLmcuIGEgbm90LXlldC1wZXJzaXN0ZWRcbiAqIGJhc2U2NCBwYXlsb2FkLCBvciBhIHBsYWNlaG9sZGVyKSB3aGlsZSBsb2FkaW5nIG9yIHdoZW4gdGhlcmUgaXMgbm8ge0Bjb2RlIHJlcG9zaXRvcnlJZH0uIEFueVxuICogb3RoZXIgcHJvcHMgKGFsdCwgc3R5bGUsIGNsYXNzTmFtZSwgb25DbGljaywgLi4uKSBwYXNzIHRocm91Z2ggdG8gdGhlIHVuZGVybHlpbmcgaW1hZ2UuXG4gKi9cbmNvbnN0IEF1dGhJbWFnZSA9ICh7cmVwb3NpdG9yeUlkLCBmYWxsYmFja1NyYywgLi4uaW1nUHJvcHN9KSA9PiB7XG4gICAgY29uc3Qgb2JqZWN0VXJsID0gdXNlRG9jdW1lbnRPYmplY3RVcmwocmVwb3NpdG9yeUlkKTtcbiAgICBjb25zdCBzcmMgPSBvYmplY3RVcmwgfHwgZmFsbGJhY2tTcmMgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiA8aW1nIHNyYz17c3JjfSB7Li4uaW1nUHJvcHN9Lz47XG59O1xuXG5leHBvcnQgZGVmYXVsdCBBdXRoSW1hZ2U7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FB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
|
|
@@ -8,7 +8,6 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
8
8
|
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
9
9
|
var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
|
|
10
10
|
var _Icon = _interopRequireDefault(require("./Icon"));
|
|
11
|
-
var _ApplicationManager = _interopRequireDefault(require("../ApplicationManager"));
|
|
12
11
|
var _pdfIcon = _interopRequireDefault(require("../assets/img/pdf-icon.png"));
|
|
13
12
|
var _msword = _interopRequireDefault(require("../assets/img/msword.png"));
|
|
14
13
|
var _media = _interopRequireDefault(require("../assets/img/media.png"));
|
|
@@ -18,63 +17,26 @@ var _excel = _interopRequireDefault(require("../assets/img/excel.png"));
|
|
|
18
17
|
var _powerpoint = _interopRequireDefault(require("../assets/img/powerpoint.png"));
|
|
19
18
|
var _defaultFileThumb = _interopRequireDefault(require("../assets/img/default-file-thumb.png"));
|
|
20
19
|
var _Utils = _interopRequireDefault(require("../Utils"));
|
|
20
|
+
var _documentDownload = require("../documentDownload");
|
|
21
21
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
22
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
23
|
-
const location = window.location.protocol + '//' + window.location.hostname;
|
|
24
23
|
const FileThumb = props => {
|
|
24
|
+
var _file$documentReposit;
|
|
25
25
|
const [file] = (0, _react.useState)(props.file);
|
|
26
26
|
const [imageObjectUrl, setImageObjectUrl] = (0, _react.useState)(null);
|
|
27
|
-
|
|
27
|
+
// A saved document exposes its key as documentRepositoryId or repositoryId depending on the caller.
|
|
28
|
+
const repositoryId = file ? (_file$documentReposit = file.documentRepositoryId) !== null && _file$documentReposit !== void 0 ? _file$documentReposit : file.repositoryId : null;
|
|
28
29
|
|
|
29
|
-
//
|
|
30
|
-
// tenant (profile) header; a plain browser GET (img/anchor) can't send it, so the tenant falls
|
|
31
|
-
// back to the raw token profile and the bucket name is malformed. getActiveTenant() can be null
|
|
32
|
-
// (e.g. no active tenant selected) — in that case we omit the header and let the service fall back.
|
|
33
|
-
const fetchDocumentObjectUrl = documentRepositoryId => {
|
|
34
|
-
const headers = {};
|
|
35
|
-
const tenant = _ApplicationManager.default.getActiveTenant();
|
|
36
|
-
if (!_Utils.default.isNull(tenant)) {
|
|
37
|
-
headers['tenant'] = tenant;
|
|
38
|
-
}
|
|
39
|
-
return fetch(encodeURI(buildDownloadUrl(documentRepositoryId)), {
|
|
40
|
-
method: 'GET',
|
|
41
|
-
headers
|
|
42
|
-
}).then(response => {
|
|
43
|
-
if (!response.ok) {
|
|
44
|
-
return Promise.reject({
|
|
45
|
-
code: response.status,
|
|
46
|
-
message: response.statusText
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
return response.blob();
|
|
50
|
-
}).then(blob => URL.createObjectURL(blob));
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
// Open a stored document in a new tab. The tab is opened synchronously (before the async fetch)
|
|
54
|
-
// so it isn't blocked as a pop-up; its location is set once the tenant-scoped blob is ready.
|
|
55
|
-
const openDocument = documentRepositoryId => {
|
|
56
|
-
const win = window.open('', '_blank');
|
|
57
|
-
fetchDocumentObjectUrl(documentRepositoryId).then(objectUrl => {
|
|
58
|
-
if (win) {
|
|
59
|
-
win.location = objectUrl;
|
|
60
|
-
}
|
|
61
|
-
}).catch(() => {
|
|
62
|
-
if (win) {
|
|
63
|
-
win.close();
|
|
64
|
-
}
|
|
65
|
-
});
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
// IMAGE thumbnails: fetch the stored image with the tenant header and hold it as an object URL.
|
|
30
|
+
// IMAGE thumbnails: fetch the stored image (header auth) and hold it as an object URL.
|
|
69
31
|
_react.default.useEffect(() => {
|
|
70
32
|
const isImageFile = file && file.type ? file.type.startsWith('image/') : false;
|
|
71
|
-
if (!file || !
|
|
33
|
+
if (!file || !repositoryId || !isImageFile) {
|
|
72
34
|
setImageObjectUrl(null);
|
|
73
35
|
return;
|
|
74
36
|
}
|
|
75
37
|
let active = true;
|
|
76
38
|
let created = null;
|
|
77
|
-
|
|
39
|
+
(0, _documentDownload.fetchDocumentObjectUrl)(repositoryId).then(objectUrl => {
|
|
78
40
|
if (active) {
|
|
79
41
|
created = objectUrl;
|
|
80
42
|
setImageObjectUrl(objectUrl);
|
|
@@ -123,7 +85,9 @@ const FileThumb = props => {
|
|
|
123
85
|
}
|
|
124
86
|
}, !props.disabled && /*#__PURE__*/_react.default.createElement("div", {
|
|
125
87
|
style: {
|
|
126
|
-
width: '10%'
|
|
88
|
+
width: '10%',
|
|
89
|
+
marginLeft: '4px',
|
|
90
|
+
marginRight: '4px'
|
|
127
91
|
}
|
|
128
92
|
}, /*#__PURE__*/_react.default.createElement(_IconButton.default, {
|
|
129
93
|
"aria-controls": "menu-list-grow",
|
|
@@ -140,17 +104,17 @@ const FileThumb = props => {
|
|
|
140
104
|
overflow: 'hidden',
|
|
141
105
|
textOverflow: 'ellipsis',
|
|
142
106
|
marginLeft: '10px',
|
|
143
|
-
|
|
107
|
+
margin: '4px 4px 0 4px',
|
|
144
108
|
whiteSpace: 'nowrap'
|
|
145
109
|
},
|
|
146
110
|
className: 'col'
|
|
147
|
-
},
|
|
111
|
+
}, repositoryId ? /*#__PURE__*/_react.default.createElement("a", {
|
|
148
112
|
style: {
|
|
149
113
|
cursor: 'pointer'
|
|
150
114
|
},
|
|
151
115
|
onClick: e => {
|
|
152
116
|
e.preventDefault();
|
|
153
|
-
|
|
117
|
+
(0, _documentDownload.downloadDocument)(repositoryId, file.name);
|
|
154
118
|
}
|
|
155
119
|
}, file.name) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, file.name))), (_Utils.default.isNull(props.showImage) || props.showImage) && /*#__PURE__*/_react.default.createElement("div", {
|
|
156
120
|
className: 'row',
|
|
@@ -158,12 +122,18 @@ const FileThumb = props => {
|
|
|
158
122
|
width: '98%',
|
|
159
123
|
height: '70%',
|
|
160
124
|
marginLeft: 0,
|
|
161
|
-
marginRight: 0
|
|
125
|
+
marginRight: 0,
|
|
126
|
+
padding: '4px'
|
|
162
127
|
}
|
|
163
128
|
}, /*#__PURE__*/_react.default.createElement(_Button.default, {
|
|
164
|
-
variant: "
|
|
129
|
+
variant: "text",
|
|
165
130
|
component: "span",
|
|
166
|
-
disabled:
|
|
131
|
+
disabled: _Utils.default.isNull(repositoryId),
|
|
132
|
+
onClick: () => {
|
|
133
|
+
if (!_Utils.default.isNull(repositoryId)) {
|
|
134
|
+
(0, _documentDownload.downloadDocument)(repositoryId, file.name);
|
|
135
|
+
}
|
|
136
|
+
},
|
|
167
137
|
style: {
|
|
168
138
|
width: '100%',
|
|
169
139
|
height: '100%',
|
|
@@ -171,9 +141,10 @@ const FileThumb = props => {
|
|
|
171
141
|
backgroundSize: 'contain',
|
|
172
142
|
backgroundPosition: 'center',
|
|
173
143
|
backgroundColor: 'transparent',
|
|
174
|
-
|
|
144
|
+
cursor: _Utils.default.isNull(repositoryId) ? 'default' : 'pointer',
|
|
145
|
+
backgroundImage: isImage() ? "url(".concat(repositoryId ? imageObjectUrl || _defaultFileThumb.default : file.payload, ")") : "url(".concat(getThumbImage(), ")")
|
|
175
146
|
}
|
|
176
147
|
})));
|
|
177
148
|
};
|
|
178
149
|
var _default = exports.default = FileThumb;
|
|
179
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQnV0dG9uIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JY29uQnV0dG9uIiwiX0ljb24iLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX3BkZkljb24iLCJfbXN3b3JkIiwiX21lZGlhIiwiX3ppcCIsIl9kb2MiLCJfZXhjZWwiLCJfcG93ZXJwb2ludCIsIl9kZWZhdWx0RmlsZVRodW1iIiwiX1V0aWxzIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwidCIsIldlYWtNYXAiLCJyIiwibiIsIm8iLCJpIiwiZiIsIl9fcHJvdG9fXyIsImhhcyIsImdldCIsInNldCIsImhhc093blByb3BlcnR5IiwiY2FsbCIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwibG9jYXRpb24iLCJ3aW5kb3ciLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiRmlsZVRodW1iIiwicHJvcHMiLCJmaWxlIiwidXNlU3RhdGUiLCJpbWFnZU9iamVjdFVybCIsInNldEltYWdlT2JqZWN0VXJsIiwiYnVpbGREb3dubG9hZFVybCIsImRvY3VtZW50UmVwb3NpdG9yeUlkIiwiYXBwbGljYXRpb25NYW5hZ2VyIiwiZ2V0Q29udGV4dFJvb3QiLCJzZXNzaW9uU3RvcmFnZSIsImdldEl0ZW0iLCJmZXRjaERvY3VtZW50T2JqZWN0VXJsIiwiaGVhZGVycyIsInRlbmFudCIsImdldEFjdGl2ZVRlbmFudCIsIlV0aWxzIiwiaXNOdWxsIiwiZmV0Y2giLCJlbmNvZGVVUkkiLCJtZXRob2QiLCJ0aGVuIiwicmVzcG9uc2UiLCJvayIsIlByb21pc2UiLCJyZWplY3QiLCJjb2RlIiwic3RhdHVzIiwibWVzc2FnZSIsInN0YXR1c1RleHQiLCJibG9iIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwib3BlbkRvY3VtZW50Iiwid2luIiwib3BlbiIsIm9iamVjdFVybCIsImNhdGNoIiwiY2xvc2UiLCJSZWFjdCIsInVzZUVmZmVjdCIsImlzSW1hZ2VGaWxlIiwidHlwZSIsInN0YXJ0c1dpdGgiLCJhY3RpdmUiLCJjcmVhdGVkIiwicmV2b2tlT2JqZWN0VVJMIiwiaXNJbWFnZSIsIl9maWxlJHR5cGUiLCJnZXRUaHVtYkltYWdlIiwiZGVmYXVsdEltYWdlIiwicGRmIiwibXN3b3JkIiwibWVkaWEiLCJ6aXAiLCJkb2MiLCJleGNlbCIsInBvd2VycG9pbnQiLCJjcmVhdGVFbGVtZW50IiwiY2xhc3NOYW1lIiwic3R5bGUiLCJ3aWR0aCIsInNob3dJbWFnZSIsImhlaWdodCIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJib3JkZXJSYWRpdXMiLCJtYXJnaW4iLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJib3JkZXIiLCJkaXNhYmxlZCIsIm9uQ2xpY2siLCJvbkRlbGV0ZSIsImlkIiwib3ZlcmZsb3ciLCJ0ZXh0T3ZlcmZsb3ciLCJtYXJnaW5Ub3AiLCJ3aGl0ZVNwYWNlIiwiY3Vyc29yIiwicHJldmVudERlZmF1bHQiLCJuYW1lIiwiRnJhZ21lbnQiLCJ2YXJpYW50IiwiY29tcG9uZW50IiwiYmFja2dyb3VuZFJlcGVhdCIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZEltYWdlIiwiY29uY2F0IiwicGF5bG9hZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9GaWxlVGh1bWIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgSWNvbiBmcm9tICcuL0ljb24nO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tICcuLi9BcHBsaWNhdGlvbk1hbmFnZXInO1xuaW1wb3J0IHBkZiBmcm9tICcuLi9hc3NldHMvaW1nL3BkZi1pY29uLnBuZyc7XG5pbXBvcnQgbXN3b3JkIGZyb20gJy4uL2Fzc2V0cy9pbWcvbXN3b3JkLnBuZyc7XG5pbXBvcnQgbWVkaWEgZnJvbSAnLi4vYXNzZXRzL2ltZy9tZWRpYS5wbmcnO1xuaW1wb3J0IHppcCBmcm9tICcuLi9hc3NldHMvaW1nL3ppcC5wbmcnO1xuaW1wb3J0IGRvYyBmcm9tICcuLi9hc3NldHMvaW1nL2RvYy5wbmcnO1xuaW1wb3J0IGV4Y2VsIGZyb20gJy4uL2Fzc2V0cy9pbWcvZXhjZWwucG5nJztcbmltcG9ydCBwb3dlcnBvaW50IGZyb20gJy4uL2Fzc2V0cy9pbWcvcG93ZXJwb2ludC5wbmcnO1xuaW1wb3J0IGRlZmF1bHRJbWFnZSBmcm9tICcuLi9hc3NldHMvaW1nL2RlZmF1bHQtZmlsZS10aHVtYi5wbmcnO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi9VdGlsc1wiO1xuXG5jb25zdCBsb2NhdGlvbiA9IHdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbCArICcvLycgKyB3aW5kb3cubG9jYXRpb24uaG9zdG5hbWU7XG5jb25zdCBGaWxlVGh1bWIgPSAocHJvcHMpID0+IHtcblxuICAgIGNvbnN0IFtmaWxlXSA9IHVzZVN0YXRlKHByb3BzLmZpbGUpO1xuICAgIGNvbnN0IFtpbWFnZU9iamVjdFVybCwgc2V0SW1hZ2VPYmplY3RVcmxdID0gdXNlU3RhdGUobnVsbCk7XG5cbiAgICBjb25zdCBidWlsZERvd25sb2FkVXJsID0gKGRvY3VtZW50UmVwb3NpdG9yeUlkKSA9PlxuICAgICAgICBsb2NhdGlvbiArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgJy9kb2NzL2FwaS92MS9tYW5hZ2VyL2Rvd25sb2FkLycgKyBkb2N1bWVudFJlcG9zaXRvcnlJZCArXG4gICAgICAgICc/YWNjZXNzX3Rva2VuPScgKyBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdhY2Nlc3NUb2tlbicpICsgJyZpZFRva2VuPScgKyBzZXNzaW9uU3RvcmFnZS5nZXRJdGVtKCdpZFRva2VuJyk7XG5cbiAgICAvLyBGZXRjaCBhIHN0b3JlZCBkb2N1bWVudCBhcyBhbiBvYmplY3QgVVJMLiBUaGUgZG9jcyBzZXJ2aWNlIHJlc29sdmVzIHRoZSBTMyBidWNrZXQgZnJvbSB0aGVcbiAgICAvLyB0ZW5hbnQgKHByb2ZpbGUpIGhlYWRlcjsgYSBwbGFpbiBicm93c2VyIEdFVCAoaW1nL2FuY2hvcikgY2FuJ3Qgc2VuZCBpdCwgc28gdGhlIHRlbmFudCBmYWxsc1xuICAgIC8vIGJhY2sgdG8gdGhlIHJhdyB0b2tlbiBwcm9maWxlIGFuZCB0aGUgYnVja2V0IG5hbWUgaXMgbWFsZm9ybWVkLiBnZXRBY3RpdmVUZW5hbnQoKSBjYW4gYmUgbnVsbFxuICAgIC8vIChlLmcuIG5vIGFjdGl2ZSB0ZW5hbnQgc2VsZWN0ZWQpIOKAlCBpbiB0aGF0IGNhc2Ugd2Ugb21pdCB0aGUgaGVhZGVyIGFuZCBsZXQgdGhlIHNlcnZpY2UgZmFsbCBiYWNrLlxuICAgIGNvbnN0IGZldGNoRG9jdW1lbnRPYmplY3RVcmwgPSAoZG9jdW1lbnRSZXBvc2l0b3J5SWQpID0+IHtcbiAgICAgICAgY29uc3QgaGVhZGVycyA9IHt9O1xuICAgICAgICBjb25zdCB0ZW5hbnQgPSBhcHBsaWNhdGlvbk1hbmFnZXIuZ2V0QWN0aXZlVGVuYW50KCk7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHRlbmFudCkpIHtcbiAgICAgICAgICAgIGhlYWRlcnNbJ3RlbmFudCddID0gdGVuYW50O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmZXRjaChlbmNvZGVVUkkoYnVpbGREb3dubG9hZFVybChkb2N1bWVudFJlcG9zaXRvcnlJZCkpLCB7bWV0aG9kOiAnR0VUJywgaGVhZGVyc30pXG4gICAgICAgICAgICAudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdCh7Y29kZTogcmVzcG9uc2Uuc3RhdHVzLCBtZXNzYWdlOiByZXNwb25zZS5zdGF0dXNUZXh0fSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiByZXNwb25zZS5ibG9iKCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnRoZW4oKGJsb2IpID0+IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYikpO1xuICAgIH07XG5cbiAgICAvLyBPcGVuIGEgc3RvcmVkIGRvY3VtZW50IGluIGEgbmV3IHRhYi4gVGhlIHRhYiBpcyBvcGVuZWQgc3luY2hyb25vdXNseSAoYmVmb3JlIHRoZSBhc3luYyBmZXRjaClcbiAgICAvLyBzbyBpdCBpc24ndCBibG9ja2VkIGFzIGEgcG9wLXVwOyBpdHMgbG9jYXRpb24gaXMgc2V0IG9uY2UgdGhlIHRlbmFudC1zY29wZWQgYmxvYiBpcyByZWFkeS5cbiAgICBjb25zdCBvcGVuRG9jdW1lbnQgPSAoZG9jdW1lbnRSZXBvc2l0b3J5SWQpID0+IHtcbiAgICAgICAgY29uc3Qgd2luID0gd2luZG93Lm9wZW4oJycsICdfYmxhbmsnKTtcbiAgICAgICAgZmV0Y2hEb2N1bWVudE9iamVjdFVybChkb2N1bWVudFJlcG9zaXRvcnlJZClcbiAgICAgICAgICAgIC50aGVuKChvYmplY3RVcmwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAod2luKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbi5sb2NhdGlvbiA9IG9iamVjdFVybDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAod2luKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbi5jbG9zZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH07XG5cbiAgICAvLyBJTUFHRSB0aHVtYm5haWxzOiBmZXRjaCB0aGUgc3RvcmVkIGltYWdlIHdpdGggdGhlIHRlbmFudCBoZWFkZXIgYW5kIGhvbGQgaXQgYXMgYW4gb2JqZWN0IFVSTC5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBjb25zdCBpc0ltYWdlRmlsZSA9IGZpbGUgJiYgZmlsZS50eXBlID8gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpIDogZmFsc2U7XG4gICAgICAgIGlmICghZmlsZSB8fCAhZmlsZS5kb2N1bWVudFJlcG9zaXRvcnlJZCB8fCAhaXNJbWFnZUZpbGUpIHtcbiAgICAgICAgICAgIHNldEltYWdlT2JqZWN0VXJsKG51bGwpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGxldCBhY3RpdmUgPSB0cnVlO1xuICAgICAgICBsZXQgY3JlYXRlZCA9IG51bGw7XG4gICAgICAgIGZldGNoRG9jdW1lbnRPYmplY3RVcmwoZmlsZS5kb2N1bWVudFJlcG9zaXRvcnlJZClcbiAgICAgICAgICAgIC50aGVuKChvYmplY3RVcmwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgPSBvYmplY3RVcmw7XG4gICAgICAgICAgICAgICAgICAgIHNldEltYWdlT2JqZWN0VXJsKG9iamVjdFVybCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoY3JlYXRlZCkge1xuICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoY3JlYXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW2ZpbGVdKTtcblxuICAgIGNvbnN0IGlzSW1hZ2UgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXRUaHVtYkltYWdlID0gKCkgPT4ge1xuICAgICAgICBpZiAoIWZpbGUgfHwgIWZpbGUudHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRJbWFnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9wZGYnID8gcGRmXG4gICAgICAgICAgICA6IGZpbGUudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgPyBtc3dvcmRcbiAgICAgICAgICAgICAgICA6IGZpbGUudHlwZS5zdGFydHNXaXRoKCd2aWRlby8nKSA/IG1lZGlhXG4gICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpID8gbWVkaWFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vemlwJyA/IHppcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnID8gZG9jXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyA/IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZpbGUudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyA/IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcgPyBwb3dlcnBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbicgPyBwb3dlcnBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGRlZmF1bHRJbWFnZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfSBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IFV0aWxzLmlzTnVsbChwcm9wcy5zaG93SW1hZ2UpIHx8IHByb3BzLnNob3dJbWFnZSA/ICcxMjhweCcgOiAnMTAwJScsXG4gICAgICAgICAgICBoZWlnaHQ6IFV0aWxzLmlzTnVsbChwcm9wcy5zaG93SW1hZ2UpIHx8IHByb3BzLnNob3dJbWFnZSA/ICcxMjhweCcgOiAnMjhweCcsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICBtYXJnaW46ICc0cHgnLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogMCxcbiAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAwLFxuICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNhYWEnXG4gICAgICAgIH19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfSBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBVdGlscy5pc051bGwocHJvcHMuc2hvd0ltYWdlKSB8fCBwcm9wcy5zaG93SW1hZ2UgPyAnMjAlJyA6IG51bGwsXG4gICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogJzRweCcsXG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc0cHgnXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICFwcm9wcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwJSdcbiAgICAgICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8SWNvbkJ1dHRvblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtZW51LWxpc3QtZ3Jvd1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4J1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gcHJvcHMub25EZWxldGUoZmlsZSl9XG4gICAgICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPEljb24gaWQ9eydERUxFVEUnfS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dE92ZXJmbG93OiAnZWxsaXBzaXMnLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAnMTBweCcsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnXG4gICAgICAgICAgICAgICAgfX0gY2xhc3NOYW1lPXsnY29sJ30+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUuZG9jdW1lbnRSZXBvc2l0b3J5SWQgP1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhIHN0eWxlPXt7Y3Vyc29yOiAncG9pbnRlcid9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkRvY3VtZW50KGZpbGUuZG9jdW1lbnRSZXBvc2l0b3J5SWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PntmaWxlLm5hbWV9PC9hPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8PntmaWxlLm5hbWV9PC8+XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIChVdGlscy5pc051bGwocHJvcHMuc2hvd0ltYWdlKSB8fCBwcm9wcy5zaG93SW1hZ2UpICYmXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfSBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzk4JScsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzcwJScsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDAsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAwXG4gICAgICAgICAgICAgICAgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxCdXR0b24gdmFyaWFudD1cImNvbnRhaW5lZFwiIGNvbXBvbmVudD1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kUmVwZWF0OiAnbm8tcmVwZWF0JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFNpemU6ICdjb250YWluJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFBvc2l0aW9uOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kSW1hZ2U6IGlzSW1hZ2UoKSA/IGB1cmwoJHtmaWxlLmRvY3VtZW50UmVwb3NpdG9yeUlkID8gKGltYWdlT2JqZWN0VXJsIHx8IGRlZmF1bHRJbWFnZSkgOiBmaWxlLnBheWxvYWR9KWAgOiBgdXJsKCR7Z2V0VGh1bWJJbWFnZSgpfSlgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVUaHVtYjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssbUJBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQUosc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFPLE9BQUEsR0FBQUwsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFRLE1BQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLElBQUEsR0FBQVAsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFVLElBQUEsR0FBQVIsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFXLE1BQUEsR0FBQVQsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFZLFdBQUEsR0FBQVYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFhLGlCQUFBLEdBQUFYLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBYyxNQUFBLEdBQUFaLHNCQUFBLENBQUFGLE9BQUE7QUFBNkIsU0FBQUUsdUJBQUFhLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBaEIsd0JBQUFnQixDQUFBLEVBQUFHLENBQUEsNkJBQUFDLE9BQUEsTUFBQUMsQ0FBQSxPQUFBRCxPQUFBLElBQUFFLENBQUEsT0FBQUYsT0FBQSxZQUFBcEIsdUJBQUEsWUFBQUEsQ0FBQWdCLENBQUEs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
|
|
150
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfQnV0dG9uIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9JY29uQnV0dG9uIiwiX0ljb24iLCJfcGRmSWNvbiIsIl9tc3dvcmQiLCJfbWVkaWEiLCJfemlwIiwiX2RvYyIsIl9leGNlbCIsIl9wb3dlcnBvaW50IiwiX2RlZmF1bHRGaWxlVGh1bWIiLCJfVXRpbHMiLCJfZG9jdW1lbnREb3dubG9hZCIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsInQiLCJXZWFrTWFwIiwiciIsIm4iLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJoYXMiLCJnZXQiLCJzZXQiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIkZpbGVUaHVtYiIsInByb3BzIiwiX2ZpbGUkZG9jdW1lbnRSZXBvc2l0IiwiZmlsZSIsInVzZVN0YXRlIiwiaW1hZ2VPYmplY3RVcmwiLCJzZXRJbWFnZU9iamVjdFVybCIsInJlcG9zaXRvcnlJZCIsImRvY3VtZW50UmVwb3NpdG9yeUlkIiwiUmVhY3QiLCJ1c2VFZmZlY3QiLCJpc0ltYWdlRmlsZSIsInR5cGUiLCJzdGFydHNXaXRoIiwiYWN0aXZlIiwiY3JlYXRlZCIsImZldGNoRG9jdW1lbnRPYmplY3RVcmwiLCJ0aGVuIiwib2JqZWN0VXJsIiwiVVJMIiwicmV2b2tlT2JqZWN0VVJMIiwiY2F0Y2giLCJpc0ltYWdlIiwiX2ZpbGUkdHlwZSIsImdldFRodW1iSW1hZ2UiLCJkZWZhdWx0SW1hZ2UiLCJwZGYiLCJtc3dvcmQiLCJtZWRpYSIsInppcCIsImRvYyIsImV4Y2VsIiwicG93ZXJwb2ludCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsIndpZHRoIiwiVXRpbHMiLCJpc051bGwiLCJzaG93SW1hZ2UiLCJoZWlnaHQiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiYm9yZGVyUmFkaXVzIiwibWFyZ2luIiwibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0IiwiYm9yZGVyIiwiZGlzYWJsZWQiLCJvbkNsaWNrIiwib25EZWxldGUiLCJpZCIsIm92ZXJmbG93IiwidGV4dE92ZXJmbG93Iiwid2hpdGVTcGFjZSIsImN1cnNvciIsInByZXZlbnREZWZhdWx0IiwiZG93bmxvYWREb2N1bWVudCIsIm5hbWUiLCJGcmFnbWVudCIsInBhZGRpbmciLCJ2YXJpYW50IiwiY29tcG9uZW50IiwiYmFja2dyb3VuZFJlcGVhdCIsImJhY2tncm91bmRTaXplIiwiYmFja2dyb3VuZFBvc2l0aW9uIiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZEltYWdlIiwiY29uY2F0IiwicGF5bG9hZCIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9GaWxlVGh1bWIuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCwge3VzZVN0YXRlfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQnV0dG9uJztcbmltcG9ydCBJY29uQnV0dG9uIGZyb20gJ0BtdWkvbWF0ZXJpYWwvSWNvbkJ1dHRvbic7XG5pbXBvcnQgSWNvbiBmcm9tICcuL0ljb24nO1xuaW1wb3J0IHBkZiBmcm9tICcuLi9hc3NldHMvaW1nL3BkZi1pY29uLnBuZyc7XG5pbXBvcnQgbXN3b3JkIGZyb20gJy4uL2Fzc2V0cy9pbWcvbXN3b3JkLnBuZyc7XG5pbXBvcnQgbWVkaWEgZnJvbSAnLi4vYXNzZXRzL2ltZy9tZWRpYS5wbmcnO1xuaW1wb3J0IHppcCBmcm9tICcuLi9hc3NldHMvaW1nL3ppcC5wbmcnO1xuaW1wb3J0IGRvYyBmcm9tICcuLi9hc3NldHMvaW1nL2RvYy5wbmcnO1xuaW1wb3J0IGV4Y2VsIGZyb20gJy4uL2Fzc2V0cy9pbWcvZXhjZWwucG5nJztcbmltcG9ydCBwb3dlcnBvaW50IGZyb20gJy4uL2Fzc2V0cy9pbWcvcG93ZXJwb2ludC5wbmcnO1xuaW1wb3J0IGRlZmF1bHRJbWFnZSBmcm9tICcuLi9hc3NldHMvaW1nL2RlZmF1bHQtZmlsZS10aHVtYi5wbmcnO1xuaW1wb3J0IFV0aWxzIGZyb20gXCIuLi9VdGlsc1wiO1xuaW1wb3J0IHtkb3dubG9hZERvY3VtZW50LCBmZXRjaERvY3VtZW50T2JqZWN0VXJsfSBmcm9tICcuLi9kb2N1bWVudERvd25sb2FkJztcblxuY29uc3QgRmlsZVRodW1iID0gKHByb3BzKSA9PiB7XG5cbiAgICBjb25zdCBbZmlsZV0gPSB1c2VTdGF0ZShwcm9wcy5maWxlKTtcbiAgICBjb25zdCBbaW1hZ2VPYmplY3RVcmwsIHNldEltYWdlT2JqZWN0VXJsXSA9IHVzZVN0YXRlKG51bGwpO1xuICAgIC8vIEEgc2F2ZWQgZG9jdW1lbnQgZXhwb3NlcyBpdHMga2V5IGFzIGRvY3VtZW50UmVwb3NpdG9yeUlkIG9yIHJlcG9zaXRvcnlJZCBkZXBlbmRpbmcgb24gdGhlIGNhbGxlci5cbiAgICBjb25zdCByZXBvc2l0b3J5SWQgPSBmaWxlID8gKGZpbGUuZG9jdW1lbnRSZXBvc2l0b3J5SWQgPz8gZmlsZS5yZXBvc2l0b3J5SWQpIDogbnVsbDtcblxuICAgIC8vIElNQUdFIHRodW1ibmFpbHM6IGZldGNoIHRoZSBzdG9yZWQgaW1hZ2UgKGhlYWRlciBhdXRoKSBhbmQgaG9sZCBpdCBhcyBhbiBvYmplY3QgVVJMLlxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGlzSW1hZ2VGaWxlID0gZmlsZSAmJiBmaWxlLnR5cGUgPyBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJykgOiBmYWxzZTtcbiAgICAgICAgaWYgKCFmaWxlIHx8ICFyZXBvc2l0b3J5SWQgfHwgIWlzSW1hZ2VGaWxlKSB7XG4gICAgICAgICAgICBzZXRJbWFnZU9iamVjdFVybChudWxsKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBsZXQgYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgbGV0IGNyZWF0ZWQgPSBudWxsO1xuICAgICAgICBmZXRjaERvY3VtZW50T2JqZWN0VXJsKHJlcG9zaXRvcnlJZClcbiAgICAgICAgICAgIC50aGVuKChvYmplY3RVcmwpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAoYWN0aXZlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNyZWF0ZWQgPSBvYmplY3RVcmw7XG4gICAgICAgICAgICAgICAgICAgIHNldEltYWdlT2JqZWN0VXJsKG9iamVjdFVybCk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgVVJMLnJldm9rZU9iamVjdFVSTChvYmplY3RVcmwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgICAgYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICBpZiAoY3JlYXRlZCkge1xuICAgICAgICAgICAgICAgIFVSTC5yZXZva2VPYmplY3RVUkwoY3JlYXRlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW2ZpbGVdKTtcblxuICAgIGNvbnN0IGlzSW1hZ2UgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiBmaWxlLnR5cGU/LnN0YXJ0c1dpdGgoJ2ltYWdlLycpO1xuICAgIH07XG5cbiAgICBjb25zdCBnZXRUaHVtYkltYWdlID0gKCkgPT4ge1xuICAgICAgICBpZiAoIWZpbGUgfHwgIWZpbGUudHlwZSkge1xuICAgICAgICAgICAgcmV0dXJuIGRlZmF1bHRJbWFnZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBmaWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi9wZGYnID8gcGRmXG4gICAgICAgICAgICA6IGZpbGUudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL21zd29yZCcgPyBtc3dvcmRcbiAgICAgICAgICAgICAgICA6IGZpbGUudHlwZS5zdGFydHNXaXRoKCd2aWRlby8nKSA/IG1lZGlhXG4gICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2F1ZGlvLycpID8gbWVkaWFcbiAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vemlwJyA/IHppcFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnID8gZG9jXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyA/IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGZpbGUudHlwZSA9PT0gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyA/IGV4Y2VsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBmaWxlLnR5cGUgPT09ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcgPyBwb3dlcnBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogZmlsZS50eXBlID09PSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbicgPyBwb3dlcnBvaW50XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IGRlZmF1bHRJbWFnZTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfSBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IFV0aWxzLmlzTnVsbChwcm9wcy5zaG93SW1hZ2UpIHx8IHByb3BzLnNob3dJbWFnZSA/ICcxMjhweCcgOiAnMTAwJScsXG4gICAgICAgICAgICBoZWlnaHQ6IFV0aWxzLmlzTnVsbChwcm9wcy5zaG93SW1hZ2UpIHx8IHByb3BzLnNob3dJbWFnZSA/ICcxMjhweCcgOiAnMjhweCcsXG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICBtYXJnaW46ICc0cHgnLFxuICAgICAgICAgICAgbWFyZ2luTGVmdDogMCxcbiAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAwLFxuICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkICNhYWEnXG4gICAgICAgIH19PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydyb3cnfSBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBVdGlscy5pc051bGwocHJvcHMuc2hvd0ltYWdlKSB8fCBwcm9wcy5zaG93SW1hZ2UgPyAnMjAlJyA6IG51bGwsXG4gICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogJzRweCcsXG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6ICc0cHgnXG4gICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICFwcm9wcy5kaXNhYmxlZCAmJlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAnNHB4J1xuICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJpYS1jb250cm9scz1cIm1lbnUtbGlzdC1ncm93XCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc4cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICc4cHgnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBwcm9wcy5vbkRlbGV0ZShmaWxlKX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8SWNvbiBpZD17J0RFTEVURSd9Lz5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0T3ZlcmZsb3c6ICdlbGxpcHNpcycsXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6ICcxMHB4JyxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAnNHB4IDRweCAwIDRweCcsXG4gICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3dyYXAnXG4gICAgICAgICAgICAgICAgfX0gY2xhc3NOYW1lPXsnY29sJ30+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlcG9zaXRvcnlJZCA/XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGEgc3R5bGU9e3tjdXJzb3I6ICdwb2ludGVyJ319XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkb3dubG9hZERvY3VtZW50KHJlcG9zaXRvcnlJZCwgZmlsZS5uYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT57ZmlsZS5uYW1lfTwvYT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPD57ZmlsZS5uYW1lfTwvPlxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAoVXRpbHMuaXNOdWxsKHByb3BzLnNob3dJbWFnZSkgfHwgcHJvcHMuc2hvd0ltYWdlKSAmJlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsncm93J30gc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc5OCUnLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICc3MCUnLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiAwLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzRweCdcbiAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgPEJ1dHRvbiB2YXJpYW50PVwidGV4dFwiIGNvbXBvbmVudD1cInNwYW5cIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtVdGlscy5pc051bGwocmVwb3NpdG9yeUlkKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHJlcG9zaXRvcnlJZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvd25sb2FkRG9jdW1lbnQocmVwb3NpdG9yeUlkLCBmaWxlLm5hbWUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZFJlcGVhdDogJ25vLXJlcGVhdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRTaXplOiAnY29udGFpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRQb3NpdGlvbjogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBVdGlscy5pc051bGwocmVwb3NpdG9yeUlkKSA/ICdkZWZhdWx0JyA6ICdwb2ludGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZEltYWdlOiBpc0ltYWdlKCkgPyBgdXJsKCR7cmVwb3NpdG9yeUlkID8gKGltYWdlT2JqZWN0VXJsIHx8IGRlZmF1bHRJbWFnZSkgOiBmaWxlLnBheWxvYWR9KWAgOiBgdXJsKCR7Z2V0VGh1bWJJbWFnZSgpfSlgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEZpbGVUaHVtYjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUMsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBQ0QsSUFBQUMsT0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsV0FBQSxHQUFBRCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUksS0FBQSxHQUFBRixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUssUUFBQSxHQUFBSCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU0sT0FBQSxHQUFBSixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQU8sTUFBQSxHQUFBTCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVEsSUFBQSxHQUFBTixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVMsSUFBQSxHQUFBUCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVUsTUFBQSxHQUFBUixzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVcsV0FBQSxHQUFBVCxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQVksaUJBQUEsR0FBQVYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFhLE1BQUEsR0FBQVgsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFjLGlCQUFBLEdBQUFkLE9BQUE7QUFBNkUsU0FBQUUsdUJBQUFhLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBaEIsd0JBQUFnQixD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
|
|
@@ -33,6 +33,7 @@ const TabPanel = /*#__PURE__*/_react.default.memo(props => {
|
|
|
33
33
|
const [tabValue, setTabValue] = _react.default.useState(0);
|
|
34
34
|
const [errors, setErrors] = _react.default.useState({});
|
|
35
35
|
const [visibleTabPages, setVisibleTabPages] = _react.default.useState(null);
|
|
36
|
+
const [visible, setVisible] = _react.default.useState(false);
|
|
36
37
|
const loaded = _react.default.useRef(false);
|
|
37
38
|
const [componentHandles] = _react.default.useState({});
|
|
38
39
|
const handleTabChange = (event, newValue) => {
|
|
@@ -159,14 +160,24 @@ const TabPanel = /*#__PURE__*/_react.default.memo(props => {
|
|
|
159
160
|
clearErrors: () => {
|
|
160
161
|
setErrors({});
|
|
161
162
|
},
|
|
162
|
-
refresh: () => {},
|
|
163
163
|
redraw: () => {
|
|
164
164
|
// Force re-render
|
|
165
165
|
setVisibleTabPages(null);
|
|
166
|
+
},
|
|
167
|
+
refresh() {
|
|
168
|
+
let parsedConfig = _Utils.default.parseConfig(props.config, props.viewId);
|
|
169
|
+
if (!_Utils.default.isNull(props.config) && !_Utils.default.isNull(parsedConfig.visible)) {
|
|
170
|
+
setVisible(_Utils.default.evaluateBooleanExpression(parsedConfig.visible, parsedConfig.id));
|
|
171
|
+
} else {
|
|
172
|
+
setVisible(true);
|
|
173
|
+
}
|
|
174
|
+
},
|
|
175
|
+
set visible(visible) {
|
|
176
|
+
setVisible(visible);
|
|
166
177
|
}
|
|
167
178
|
};
|
|
168
179
|
};
|
|
169
|
-
return !_Utils.default.isNull(visibleTabPages) && /*#__PURE__*/_react.default.createElement("div", {
|
|
180
|
+
return !_Utils.default.isNull(visibleTabPages) && visible && /*#__PURE__*/_react.default.createElement("div", {
|
|
170
181
|
style: {
|
|
171
182
|
width: (_props$config = props.config) !== null && _props$config !== void 0 && (_props$config = _props$config.attributes) !== null && _props$config !== void 0 && (_props$config = _props$config.style) !== null && _props$config !== void 0 && _props$config.width ? (_props$config2 = props.config) === null || _props$config2 === void 0 || (_props$config2 = _props$config2.attributes) === null || _props$config2 === void 0 || (_props$config2 = _props$config2.style) === null || _props$config2 === void 0 ? void 0 : _props$config2.width : '100%',
|
|
172
183
|
height: (_props$config3 = props.config) !== null && _props$config3 !== void 0 && (_props$config3 = _props$config3.attributes) !== null && _props$config3 !== void 0 && (_props$config3 = _props$config3.style) !== null && _props$config3 !== void 0 && _props$config3.height ? (_props$config4 = props.config) === null || _props$config4 === void 0 || (_props$config4 = _props$config4.attributes) === null || _props$config4 === void 0 || (_props$config4 = _props$config4.style) === null || _props$config4 === void 0 ? void 0 : _props$config4.height : '100%'
|
|
@@ -245,4 +256,4 @@ const TabPanel = /*#__PURE__*/_react.default.memo(props => {
|
|
|
245
256
|
})));
|
|
246
257
|
});
|
|
247
258
|
var _default = exports.default = TabPanel;
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9BcHBCYXIiLCJfVGFiIiwiX1RhYnMiLCJfVGFiUGFnZSIsIl9TZWN0aW9uIiwiX1Rvb2xiYXIiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX0xheW91dCIsIl9JY29uIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2V4dGVuZHMiLCJPYmplY3QiLCJhc3NpZ24iLCJiaW5kIiwibiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInQiLCJyIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiYXBwbHkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsImExMXlQcm9wcyIsImluZGV4IiwiaWQiLCJjb25jYXQiLCJUYWJQYW5lbCIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwiX3Byb3BzJGNvbmZpZyIsIl9wcm9wcyRjb25maWcyIiwiX3Byb3BzJGNvbmZpZzMiLCJfcHJvcHMkY29uZmlnNCIsInRhYlZhbHVlIiwic2V0VGFiVmFsdWUiLCJ1c2VTdGF0ZSIsImVycm9ycyIsInNldEVycm9ycyIsInZpc2libGVUYWJQYWdlcyIsInNldFZpc2libGVUYWJQYWdlcyIsImxvYWRlZCIsInVzZVJlZiIsImNvbXBvbmVudEhhbmRsZXMiLCJoYW5kbGVUYWJDaGFuZ2UiLCJldmVudCIsIm5ld1ZhbHVlIiwiY3JlYXRlQ29tcG9uZW50SGFuZGxlIiwiY29tcG9uZW50IiwiVXRpbHMiLCJpc051bGwiLCJoYW5kbGUiLCJ1c2VFZmZlY3QiLCJhcGkiLCJzZXR1cFZpc2libGVQYWdlcyIsImNvbmZpZyIsInRhYlBhZ2VzIiwiYWxsVmlzaWJsZVRhYlBhZ2VzIiwicGFnZSIsInBhcnNlZENvbmZpZyIsInBhcnNlQ29uZmlnIiwidmlld0lkIiwidmlzaWJsZSIsImV2YWx1YXRlQm9vbGVhbkV4cHJlc3Npb24iLCJzZXR1cCIsImZvcm0iLCJzZXRDb250YWluZXJFcnJvckhhbmRsZXIiLCJjb250YWluZXJFcnJvcnMiLCJzaG91bGRSZWZyZXNoIiwicHJvcGVydGllcyIsImdldE93blByb3BlcnR5TmFtZXMiLCJwcm9wZXJ0eSIsImFwcGxpY2F0aW9uTWFuYWdlciIsImlzRm9ybU1hcmtlcnNFbmFibGVkIiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiY3VycmVudCIsInJlbmRlclRhYlBhZ2VDb21wb25lbnQiLCJ0YWJJZCIsInR5cGUiLCJjcmVhdGVFbGVtZW50Iiwia2V5SGFuZGxlciIsImtleSIsInBhcmVudElkIiwidmFsdWVzIiwiTGF5b3V0IiwicmVuZGVyUGFnZSIsInBhZ2VJbmRleCIsImNsYXNzTmFtZSIsImNvbXBvbmVudHMiLCJtYXAiLCJnZXRDaGlsZHJlbiIsImNoaWxkcmVuIiwiX2NvbXBvbmVudEhhbmRsZSRhcGkiLCJjb21wb25lbnRIYW5kbGUiLCJjaGlsZCIsInNldFBhZ2VIYXNFcnJvciIsInBhZ2VJZCIsImhhc0Vycm9yIiwiY2xlYXJFcnJvcnMiLCJyZWZyZXNoIiwicmVkcmF3Iiwic3R5bGUiLCJ3aWR0aCIsImF0dHJpYnV0ZXMiLCJoZWlnaHQiLCJwb3NpdGlvbiIsImNvbG9yIiwiYmFja2dyb3VuZCIsImJveFNoYWRvdyIsImJvcmRlckJvdHRvbSIsIm9uQ2hhbmdlIiwidmFyaWFudCIsInNjcm9sbEJ1dHRvbnMiLCJhbGxvd1Njcm9sbEJ1dHRvbnNNb2JpbGUiLCJ0ZXh0Q29sb3IiLCJpbmRpY2F0b3JDb2xvciIsInN4IiwibWluV2lkdGgiLCJpY29uSWQiLCJsYWJlbCIsImljb24iLCJ1bmRlZmluZWQiLCJpY29uUG9zaXRpb24iLCJ3cmFwcGVkIiwibWF4V2lkdGgiLCJ3aGl0ZVNwYWNlIiwid29yZEJyZWFrIiwidGV4dFRyYW5zZm9ybSIsIm1lcmdlU3R5bGVzIiwiX3BhZ2UkYXR0cmlidXRlcyIsIl9wYWdlJGF0dHJpYnV0ZXMyIiwiZGlzcGxheSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvY29tcG9uZW50cy9UYWJQYW5lbC5qc3giXSwic291cmNlc0NvbnRlbnQiOlsi77u/aW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBVdGlscyBmcm9tICcuLi9VdGlscyc7XG5pbXBvcnQgQXBwQmFyIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQXBwQmFyJztcbmltcG9ydCBUYWIgZnJvbSAnQG11aS9tYXRlcmlhbC9UYWInO1xuaW1wb3J0IFRhYnMgZnJvbSAnQG11aS9tYXRlcmlhbC9UYWJzJztcbmltcG9ydCBUYWJQYWdlIGZyb20gJy4vVGFiUGFnZSc7XG5pbXBvcnQgRm9ybVNlY3Rpb24gZnJvbSAnLi9mb3JtL1NlY3Rpb24nO1xuaW1wb3J0IFRvb2xiYXIgZnJvbSAnLi9Ub29sYmFyJztcbmltcG9ydCBhcHBsaWNhdGlvbk1hbmFnZXIgZnJvbSAnLi4vQXBwbGljYXRpb25NYW5hZ2VyJztcbmltcG9ydCB7TGF5b3V0fSBmcm9tICcuL2xheW91dC9MYXlvdXQnO1xuaW1wb3J0IEljb24gZnJvbSAnLi9JY29uJztcblxuZnVuY3Rpb24gYTExeVByb3BzKGluZGV4KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgaWQ6IGBzaW1wbGUtdGFiLSR7aW5kZXh9YCxcbiAgICAgICAgJ2FyaWEtY29udHJvbHMnOiBgc2ltcGxlLXRhYnBhbmVsLSR7aW5kZXh9YCxcbiAgICB9O1xufVxuXG5jb25zdCBUYWJQYW5lbCA9IFJlYWN0Lm1lbW8oKHByb3BzKSA9PiB7XG4gICAgY29uc3QgW3RhYlZhbHVlLCBzZXRUYWJWYWx1ZV0gPSBSZWFjdC51c2VTdGF0ZSgwKTtcbiAgICBjb25zdCBbZXJyb3JzLCBzZXRFcnJvcnNdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuICAgIGNvbnN0IFt2aXNpYmxlVGFiUGFnZXMsIHNldFZpc2libGVUYWJQYWdlc10gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcbiAgICBjb25zdCBsb2FkZWQgPSBSZWFjdC51c2VSZWYoZmFsc2UpO1xuICAgIGNvbnN0IFtjb21wb25lbnRIYW5kbGVzXSA9IFJlYWN0LnVzZVN0YXRlKHt9KTtcblxuICAgIGNvbnN0IGhhbmRsZVRhYkNoYW5nZSA9IChldmVudCwgbmV3VmFsdWUpID0+IHtcbiAgICAgICAgc2V0VGFiVmFsdWUobmV3VmFsdWUpO1xuICAgIH07XG5cbiAgICBjb25zdCBjcmVhdGVDb21wb25lbnRIYW5kbGUgPSAoY29tcG9uZW50KSA9PiB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwoY29tcG9uZW50SGFuZGxlc1tjb21wb25lbnQuaWRdKSkge1xuICAgICAgICAgICAgbGV0IGhhbmRsZSA9IHt9O1xuICAgICAgICAgICAgY29tcG9uZW50SGFuZGxlc1tjb21wb25lbnQuaWRdID0gaGFuZGxlO1xuICAgICAgICAgICAgcmV0dXJuIGhhbmRsZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnRIYW5kbGVzW2NvbXBvbmVudC5pZF07XG4gICAgfTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHByb3BzLmhhbmRsZS5hcGkgPSBhcGkoKTtcbiAgICB9KTtcblxuICAgIGZ1bmN0aW9uIHNldHVwVmlzaWJsZVBhZ2VzKCkge1xuICAgICAgICBpZiAocHJvcHMuY29uZmlnLnRhYlBhZ2VzKSB7XG4gICAgICAgICAgICBsZXQgYWxsVmlzaWJsZVRhYlBhZ2VzID0gW107XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHBhZ2Ugb2YgcHJvcHMuY29uZmlnLnRhYlBhZ2VzKSB7XG4gICAgICAgICAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChwYWdlLmlkKSkge1xuICAgICAgICAgICAgICAgICAgICBwYWdlLmlkID0gaW5kZXggKyAnLXRhYi1wYWdlJztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcocGFnZSwgcHJvcHMudmlld0lkKTtcbiAgICAgICAgICAgICAgICBsZXQgdmlzaWJsZSA9IFV0aWxzLmlzTnVsbChwYXJzZWRDb25maWcudmlzaWJsZSkgfHwgVXRpbHMuZXZhbHVhdGVCb29sZWFuRXhwcmVzc2lvbihwYXJzZWRDb25maWcudmlzaWJsZSwgcGFnZS5pZCk7XG4gICAgICAgICAgICAgICAgaWYgKHZpc2libGUpIHtcbiAgICAgICAgICAgICAgICAgICAgYWxsVmlzaWJsZVRhYlBhZ2VzLnB1c2gocGFnZSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNldFZpc2libGVUYWJQYWdlcyhhbGxWaXNpYmxlVGFiUGFnZXMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2V0dXAoKSB7XG4gICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLmZvcm0pKSB7XG4gICAgICAgICAgICBwcm9wcy5mb3JtKClcbiAgICAgICAgICAgICAgICAuc2V0Q29udGFpbmVyRXJyb3JIYW5kbGVyKChjb250YWluZXJFcnJvcnMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHNob3VsZFJlZnJlc2ggPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgbGV0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjb250YWluZXJFcnJvcnMpO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgcHJvcGVydGllcykge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGVycm9yc1twcm9wZXJ0eV0gIT09IGNvbnRhaW5lckVycm9yc1twcm9wZXJ0eV0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGRSZWZyZXNoID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIGlmIChhcHBsaWNhdGlvbk1hbmFnZXIuaXNGb3JtTWFya2Vyc0VuYWJsZWQoKSAmJiBzaG91bGRSZWZyZXNoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcnMoSlNPTi5wYXJzZShKU09OLnN0cmluZ2lmeShjb250YWluZXJFcnJvcnMpKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vc2V0dXBWaXNpYmxlUGFnZXMoKTtcbiAgICAgICAgbG9hZGVkLmN1cnJlbnQgPSB0cnVlO1xuICAgIH1cblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIHNldHVwKCk7XG4gICAgfSwgW10pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYoIXZpc2libGVUYWJQYWdlcykge1xuICAgICAgICAgICAgc2V0dXBWaXNpYmxlUGFnZXMoKVxuICAgICAgICB9XG4gICAgfSwgW3Zpc2libGVUYWJQYWdlc10pO1xuXG4gICAgZnVuY3Rpb24gcmVuZGVyVGFiUGFnZUNvbXBvbmVudChjb21wb25lbnQsIHRhYklkLCBpbmRleCkge1xuICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKGNvbXBvbmVudC5pZCkpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudC5pZCA9IGluZGV4ICsgJy10YWItY29udGVudCc7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gY29tcG9uZW50LnR5cGUgPT09ICdmb3JtU2VjdGlvbicgP1xuICAgICAgICAgICAgPEZvcm1TZWN0aW9uIGtleUhhbmRsZXI9e3Byb3BzLmtleUhhbmRsZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjb21wb25lbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlnPXtjb21wb25lbnR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlPXtjcmVhdGVDb21wb25lbnRIYW5kbGUoY29tcG9uZW50KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICBmb3JtPXtwcm9wcy5mb3JtfVxuICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudElkPXt0YWJJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3SWQ9e3Byb3BzLnZpZXdJZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZXM9e3Byb3BzLnZhbHVlc31cbiAgICAgICAgICAgIC8+IDpcbiAgICAgICAgICAgIGNvbXBvbmVudC50eXBlID09PSAndG9vbGJhcicgP1xuICAgICAgICAgICAgICAgIDxUb29sYmFyIGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y29tcG9uZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+IDpcbiAgICAgICAgICAgICAgICBjb21wb25lbnQudHlwZSA9PT0gJ2xheW91dCcgP1xuICAgICAgICAgICAgICAgICAgICA8TGF5b3V0IGNvbmZpZz17Y29tcG9uZW50fSBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y29tcG9uZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfS8+IDpcbiAgICAgICAgICAgICAgICAgICAgPGRpdj57J1Vuc3VwcG9ydGVkIGNvbXBvbmVudCB0eXBlICcgKyBjb21wb25lbnQudHlwZX08L2Rpdj47XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcmVuZGVyUGFnZShwYWdlLCBwYWdlSW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIDxkaXYgY2xhc3NOYW1lPXsndGFiLXBhZ2UtY29udGFpbmVyJ30+XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgcGFnZS5jb21wb25lbnRzLm1hcCgoY29tcG9uZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVuZGVyVGFiUGFnZUNvbXBvbmVudChjb21wb25lbnQsIHBhZ2UuaWQsIHBhZ2VJbmRleCArIGluZGV4KTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj47XG4gICAgfVxuXG4gICAgY29uc3QgYXBpID0gKCkgPT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgZ2V0IGlkKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcm9wcy5jb25maWcuaWQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0Q2hpbGRyZW46ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgY2hpbGRyZW4gPSBbXTtcblxuICAgICAgICAgICAgICAgIGxldCBwcm9wZXJ0aWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMoY29tcG9uZW50SGFuZGxlcyk7XG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBjb21wb25lbnRIYW5kbGUgPSBjb21wb25lbnRIYW5kbGVzW3Byb3BlcnR5XTtcbiAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjb21wb25lbnRIYW5kbGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIVV0aWxzLmlzTnVsbChjb21wb25lbnRIYW5kbGUuYXBpPy5nZXRDaGlsZHJlbikpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgY29tcG9uZW50SGFuZGxlLmFwaS5nZXRDaGlsZHJlbigpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjaGlsZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICByZXR1cm4gY2hpbGRyZW47XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0IHZhbHVlKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgc2V0VGFiVmFsdWUodmFsdWUpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdldCB2YWx1ZSgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFiVmFsdWU7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgc2V0UGFnZUhhc0Vycm9yOiAocGFnZUlkLCBoYXNFcnJvcikgPT4ge1xuICAgICAgICAgICAgICAgIHNldEVycm9ycyh7Li4uZXJyb3JzLCBbcGFnZUlkXTogaGFzRXJyb3J9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBjbGVhckVycm9yczogKCkgPT4ge1xuICAgICAgICAgICAgICAgIHNldEVycm9ycyh7fSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmcmVzaDogKCkgPT4ge1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHJlZHJhdzogKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIEZvcmNlIHJlLXJlbmRlclxuICAgICAgICAgICAgICAgIHNldFZpc2libGVUYWJQYWdlcyhudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgIVV0aWxzLmlzTnVsbCh2aXNpYmxlVGFiUGFnZXMpICYmXG4gICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgIHdpZHRoOiBwcm9wcy5jb25maWc/LmF0dHJpYnV0ZXM/LnN0eWxlPy53aWR0aCA/IHByb3BzLmNvbmZpZz8uYXR0cmlidXRlcz8uc3R5bGU/LndpZHRoIDogJzEwMCUnLFxuICAgICAgICAgICAgaGVpZ2h0OiBwcm9wcy5jb25maWc/LmF0dHJpYnV0ZXM/LnN0eWxlPy5oZWlnaHQgPyBwcm9wcy5jb25maWc/LmF0dHJpYnV0ZXM/LnN0eWxlPy5oZWlnaHQgOiAnMTAwJSdcbiAgICAgICAgfX0+XG4gICAgICAgICAgICA8QXBwQmFyIHBvc2l0aW9uPVwic3RhdGljXCIgY29sb3I9XCJkZWZhdWx0XCJcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hTaGFkb3c6ICdub25lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlckJvdHRvbTogJzFweCBzb2xpZCAjZTFlMWUxJ1xuICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICA8VGFic1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZT17dGFiVmFsdWV9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXtoYW5kbGVUYWJDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJzY3JvbGxhYmxlXCIgICAgICAgICAgICAgICAgLy8gZW5hYmxlcyBob3Jpem9udGFsIHNjcm9sbFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGxCdXR0b25zPVwiYXV0b1wiICAgICAgICAgICAgICAgIC8vIHNob3dzIGFycm93cyB3aGVuIG5lZWRlZFxuICAgICAgICAgICAgICAgICAgICBhbGxvd1Njcm9sbEJ1dHRvbnNNb2JpbGUgICAgICAgICAgICAvLyBzaG93IGFycm93cyBvbiBtb2JpbGUgdG9vXG4gICAgICAgICAgICAgICAgICAgIHRleHRDb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JDb2xvcj1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPVwidGFic1wiXG4gICAgICAgICAgICAgICAgICAgIHN4PXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBvcHRpb25hbDogcmVkdWNlIGRlZmF1bHQgbWluIHdpZHRoIHNvIG1vcmUgdGFicyBmaXRcbiAgICAgICAgICAgICAgICAgICAgICAgICcmIC5NdWlUYWItcm9vdCc6IHttaW5XaWR0aDogMTIwfSxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt2aXNpYmxlVGFiUGFnZXMubWFwKChwYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3B0aW9uYWwgcGVyLXRhYiBpY29uOiBgYXR0cmlidXRlcy5pY29uYCBpcyB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEljb24gY29tcG9uZW50J3MgaWQgKGUuZy4gXCJXT1JLXCIsIFwiVklFV1wiKS4gV2hlblxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gcHJlc2VudCwgcmVuZGVyIHRvIHRoZSBsZWZ0IG9mIHRoZSBsYWJlbC5cbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGljb25JZCA9IHBhZ2UuYXR0cmlidXRlc1snaWNvbiddO1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGFiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYmVsPXtwYWdlLmF0dHJpYnV0ZXNbJ2xhYmVsJ119XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb249e2ljb25JZCA/IDxJY29uIGlkPXtpY29uSWR9Lz4gOiB1bmRlZmluZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb25Qb3NpdGlvbj17aWNvbklkID8gJ3N0YXJ0JyA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JhcHBlZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gYWxsb3cgbXVsdGktbGluZSBsYWJlbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Li4uYTExeVByb3BzKGluZGV4KX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1heFdpZHRoOiAyNDAsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICcxMDAlJywgICAgICAgICAgICAgICAgIC8vIGNvbnN0cmFpbiBzbyB3cmFwcGluZyBjYW4gb2NjdXJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaXRlU3BhY2U6ICdub3JtYWwnLCAgICAgICAgICAgICAvLyBhbGxvdyB3cmFwXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3b3JkQnJlYWs6ICdicmVhay13b3JkJywgICAgICAgICAgLy8gYnJlYWsgbG9uZyB3b3Jkc1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dFRyYW5zZm9ybTogJ3VwcGVyY2FzZScsICAgICAgICAgICAgLy8ga2VlcCBvcmlnaW5hbCBjYXNpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGxpY2F0aW9uTWFuYWdlci5pc0Zvcm1NYXJrZXJzRW5hYmxlZCgpICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JzW3BhZ2UuaWRdID09PSB0cnVlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gJyNlZDUyNDknXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICA8L1RhYnM+XG4gICAgICAgICAgICA8L0FwcEJhcj5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXtVdGlscy5tZXJnZVN0eWxlcyh7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwJSAtIDY0cHgpJ1xuICAgICAgICAgICAgICAgIH0sIHByb3BzLmNvbmZpZyl9PlxuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmxlVGFiUGFnZXMubWFwKChwYWdlLCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiA8ZGl2IGtleT17aW5kZXh9IHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogcGFnZT8uYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCA/IHBhZ2U/LmF0dHJpYnV0ZXM/LnN0eWxlPy5oZWlnaHQgOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYlZhbHVlID09PSBpbmRleCA/IG51bGwgOiAnbm9uZSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9fT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRhYlBhZ2VcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0YWJWYWx1ZX0gaW5kZXg9e2luZGV4fSBjb25maWc9e3BhZ2V9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAge3JlbmRlclBhZ2UocGFnZSwgaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RhYlBhZ2U+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+O1xuICAgICAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICApO1xufSk7XG5cbmV4cG9ydCBkZWZhdWx0IFRhYlBhbmVsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQyxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDRCxJQUFBQyxNQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxJQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFMLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSyxRQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTSxRQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxRQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxtQkFBQSxH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
|
|
259
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9VdGlscyIsIl9BcHBCYXIiLCJfVGFiIiwiX1RhYnMiLCJfVGFiUGFnZSIsIl9TZWN0aW9uIiwiX1Rvb2xiYXIiLCJfQXBwbGljYXRpb25NYW5hZ2VyIiwiX0xheW91dCIsIl9JY29uIiwiZSIsIl9fZXNNb2R1bGUiLCJkZWZhdWx0IiwiX2V4dGVuZHMiLCJPYmplY3QiLCJhc3NpZ24iLCJiaW5kIiwibiIsImFyZ3VtZW50cyIsImxlbmd0aCIsInQiLCJyIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiYXBwbHkiLCJvd25LZXlzIiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsIm8iLCJmaWx0ZXIiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJlbnVtZXJhYmxlIiwicHVzaCIsIl9vYmplY3RTcHJlYWQiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsIl90b1Byb3BlcnR5S2V5IiwidmFsdWUiLCJjb25maWd1cmFibGUiLCJ3cml0YWJsZSIsImkiLCJfdG9QcmltaXRpdmUiLCJTeW1ib2wiLCJ0b1ByaW1pdGl2ZSIsIlR5cGVFcnJvciIsIlN0cmluZyIsIk51bWJlciIsImExMXlQcm9wcyIsImluZGV4IiwiaWQiLCJjb25jYXQiLCJUYWJQYW5lbCIsIlJlYWN0IiwibWVtbyIsInByb3BzIiwiX3Byb3BzJGNvbmZpZyIsIl9wcm9wcyRjb25maWcyIiwiX3Byb3BzJGNvbmZpZzMiLCJfcHJvcHMkY29uZmlnNCIsInRhYlZhbHVlIiwic2V0VGFiVmFsdWUiLCJ1c2VTdGF0ZSIsImVycm9ycyIsInNldEVycm9ycyIsInZpc2libGVUYWJQYWdlcyIsInNldFZpc2libGVUYWJQYWdlcyIsInZpc2libGUiLCJzZXRWaXNpYmxlIiwibG9hZGVkIiwidXNlUmVmIiwiY29tcG9uZW50SGFuZGxlcyIsImhhbmRsZVRhYkNoYW5nZSIsImV2ZW50IiwibmV3VmFsdWUiLCJjcmVhdGVDb21wb25lbnRIYW5kbGUiLCJjb21wb25lbnQiLCJVdGlscyIsImlzTnVsbCIsImhhbmRsZSIsInVzZUVmZmVjdCIsImFwaSIsInNldHVwVmlzaWJsZVBhZ2VzIiwiY29uZmlnIiwidGFiUGFnZXMiLCJhbGxWaXNpYmxlVGFiUGFnZXMiLCJwYWdlIiwicGFyc2VkQ29uZmlnIiwicGFyc2VDb25maWciLCJ2aWV3SWQiLCJldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uIiwic2V0dXAiLCJmb3JtIiwic2V0Q29udGFpbmVyRXJyb3JIYW5kbGVyIiwiY29udGFpbmVyRXJyb3JzIiwic2hvdWxkUmVmcmVzaCIsInByb3BlcnRpZXMiLCJnZXRPd25Qcm9wZXJ0eU5hbWVzIiwicHJvcGVydHkiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJpc0Zvcm1NYXJrZXJzRW5hYmxlZCIsIkpTT04iLCJwYXJzZSIsInN0cmluZ2lmeSIsImN1cnJlbnQiLCJyZW5kZXJUYWJQYWdlQ29tcG9uZW50IiwidGFiSWQiLCJ0eXBlIiwiY3JlYXRlRWxlbWVudCIsImtleUhhbmRsZXIiLCJrZXkiLCJwYXJlbnRJZCIsInZhbHVlcyIsIkxheW91dCIsInJlbmRlclBhZ2UiLCJwYWdlSW5kZXgiLCJjbGFzc05hbWUiLCJjb21wb25lbnRzIiwibWFwIiwiZ2V0Q2hpbGRyZW4iLCJjaGlsZHJlbiIsIl9jb21wb25lbnRIYW5kbGUkYXBpIiwiY29tcG9uZW50SGFuZGxlIiwiY2hpbGQiLCJzZXRQYWdlSGFzRXJyb3IiLCJwYWdlSWQiLCJoYXNFcnJvciIsImNsZWFyRXJyb3JzIiwicmVkcmF3IiwicmVmcmVzaCIsInN0eWxlIiwid2lkdGgiLCJhdHRyaWJ1dGVzIiwiaGVpZ2h0IiwicG9zaXRpb24iLCJjb2xvciIsImJhY2tncm91bmQiLCJib3hTaGFkb3ciLCJib3JkZXJCb3R0b20iLCJvbkNoYW5nZSIsInZhcmlhbnQiLCJzY3JvbGxCdXR0b25zIiwiYWxsb3dTY3JvbGxCdXR0b25zTW9iaWxlIiwidGV4dENvbG9yIiwiaW5kaWNhdG9yQ29sb3IiLCJzeCIsIm1pbldpZHRoIiwiaWNvbklkIiwibGFiZWwiLCJpY29uIiwidW5kZWZpbmVkIiwiaWNvblBvc2l0aW9uIiwid3JhcHBlZCIsIm1heFdpZHRoIiwid2hpdGVTcGFjZSIsIndvcmRCcmVhayIsInRleHRUcmFuc2Zvcm0iLCJtZXJnZVN0eWxlcyIsIl9wYWdlJGF0dHJpYnV0ZXMiLCJfcGFnZSRhdHRyaWJ1dGVzMiIsImRpc3BsYXkiLCJfZGVmYXVsdCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvVGFiUGFuZWwuanN4Il0sInNvdXJjZXNDb250ZW50IjpbIu+7v2ltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgVXRpbHMgZnJvbSAnLi4vVXRpbHMnO1xuaW1wb3J0IEFwcEJhciBmcm9tICdAbXVpL21hdGVyaWFsL0FwcEJhcic7XG5pbXBvcnQgVGFiIGZyb20gJ0BtdWkvbWF0ZXJpYWwvVGFiJztcbmltcG9ydCBUYWJzIGZyb20gJ0BtdWkvbWF0ZXJpYWwvVGFicyc7XG5pbXBvcnQgVGFiUGFnZSBmcm9tICcuL1RhYlBhZ2UnO1xuaW1wb3J0IEZvcm1TZWN0aW9uIGZyb20gJy4vZm9ybS9TZWN0aW9uJztcbmltcG9ydCBUb29sYmFyIGZyb20gJy4vVG9vbGJhcic7XG5pbXBvcnQgYXBwbGljYXRpb25NYW5hZ2VyIGZyb20gJy4uL0FwcGxpY2F0aW9uTWFuYWdlcic7XG5pbXBvcnQge0xheW91dH0gZnJvbSAnLi9sYXlvdXQvTGF5b3V0JztcbmltcG9ydCBJY29uIGZyb20gJy4vSWNvbic7XG5cbmZ1bmN0aW9uIGExMXlQcm9wcyhpbmRleCkge1xuICAgIHJldHVybiB7XG4gICAgICAgIGlkOiBgc2ltcGxlLXRhYi0ke2luZGV4fWAsXG4gICAgICAgICdhcmlhLWNvbnRyb2xzJzogYHNpbXBsZS10YWJwYW5lbC0ke2luZGV4fWAsXG4gICAgfTtcbn1cblxuY29uc3QgVGFiUGFuZWwgPSBSZWFjdC5tZW1vKChwcm9wcykgPT4ge1xuICAgIGNvbnN0IFt0YWJWYWx1ZSwgc2V0VGFiVmFsdWVdID0gUmVhY3QudXNlU3RhdGUoMCk7XG4gICAgY29uc3QgW2Vycm9ycywgc2V0RXJyb3JzXSA9IFJlYWN0LnVzZVN0YXRlKHt9KTtcbiAgICBjb25zdCBbdmlzaWJsZVRhYlBhZ2VzLCBzZXRWaXNpYmxlVGFiUGFnZXNdID0gUmVhY3QudXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3QgW3Zpc2libGUsIHNldFZpc2libGVdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuICAgIGNvbnN0IGxvYWRlZCA9IFJlYWN0LnVzZVJlZihmYWxzZSk7XG4gICAgY29uc3QgW2NvbXBvbmVudEhhbmRsZXNdID0gUmVhY3QudXNlU3RhdGUoe30pO1xuXG4gICAgY29uc3QgaGFuZGxlVGFiQ2hhbmdlID0gKGV2ZW50LCBuZXdWYWx1ZSkgPT4ge1xuICAgICAgICBzZXRUYWJWYWx1ZShuZXdWYWx1ZSk7XG4gICAgfTtcblxuICAgIGNvbnN0IGNyZWF0ZUNvbXBvbmVudEhhbmRsZSA9IChjb21wb25lbnQpID0+IHtcbiAgICAgICAgaWYgKFV0aWxzLmlzTnVsbChjb21wb25lbnRIYW5kbGVzW2NvbXBvbmVudC5pZF0pKSB7XG4gICAgICAgICAgICBsZXQgaGFuZGxlID0ge307XG4gICAgICAgICAgICBjb21wb25lbnRIYW5kbGVzW2NvbXBvbmVudC5pZF0gPSBoYW5kbGU7XG4gICAgICAgICAgICByZXR1cm4gaGFuZGxlO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbXBvbmVudEhhbmRsZXNbY29tcG9uZW50LmlkXTtcbiAgICB9O1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgcHJvcHMuaGFuZGxlLmFwaSA9IGFwaSgpO1xuICAgIH0pO1xuXG4gICAgZnVuY3Rpb24gc2V0dXBWaXNpYmxlUGFnZXMoKSB7XG4gICAgICAgIGlmIChwcm9wcy5jb25maWcudGFiUGFnZXMpIHtcbiAgICAgICAgICAgIGxldCBhbGxWaXNpYmxlVGFiUGFnZXMgPSBbXTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgcGFnZSBvZiBwcm9wcy5jb25maWcudGFiUGFnZXMpIHtcbiAgICAgICAgICAgICAgICBpZiAoVXRpbHMuaXNOdWxsKHBhZ2UuaWQpKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZ2UuaWQgPSBpbmRleCArICctdGFiLXBhZ2UnO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxldCBwYXJzZWRDb25maWcgPSBVdGlscy5wYXJzZUNvbmZpZyhwYWdlLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgICAgIGxldCB2aXNpYmxlID0gVXRpbHMuaXNOdWxsKHBhcnNlZENvbmZpZy52aXNpYmxlKSB8fCBVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwYWdlLmlkKTtcbiAgICAgICAgICAgICAgICBpZiAodmlzaWJsZSkge1xuICAgICAgICAgICAgICAgICAgICBhbGxWaXNpYmxlVGFiUGFnZXMucHVzaChwYWdlKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc2V0VmlzaWJsZVRhYlBhZ2VzKGFsbFZpc2libGVUYWJQYWdlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzZXR1cCgpIHtcbiAgICAgICAgaWYgKCFVdGlscy5pc051bGwocHJvcHMuZm9ybSkpIHtcbiAgICAgICAgICAgIHByb3BzLmZvcm0oKVxuICAgICAgICAgICAgICAgIC5zZXRDb250YWluZXJFcnJvckhhbmRsZXIoKGNvbnRhaW5lckVycm9ycykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBsZXQgc2hvdWxkUmVmcmVzaCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBsZXQgcHJvcGVydGllcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGNvbnRhaW5lckVycm9ycyk7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eSBvZiBwcm9wZXJ0aWVzKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3JzW3Byb3BlcnR5XSAhPT0gY29udGFpbmVyRXJyb3JzW3Byb3BlcnR5XSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNob3VsZFJlZnJlc2ggPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGFwcGxpY2F0aW9uTWFuYWdlci5pc0Zvcm1NYXJrZXJzRW5hYmxlZCgpICYmIHNob3VsZFJlZnJlc2gpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNldEVycm9ycyhKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KGNvbnRhaW5lckVycm9ycykpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy9zZXR1cFZpc2libGVQYWdlcygpO1xuICAgICAgICBsb2FkZWQuY3VycmVudCA9IHRydWU7XG4gICAgfVxuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgc2V0dXAoKTtcbiAgICB9LCBbXSk7XG5cbiAgICBSZWFjdC51c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZighdmlzaWJsZVRhYlBhZ2VzKSB7XG4gICAgICAgICAgICBzZXR1cFZpc2libGVQYWdlcygpXG4gICAgICAgIH1cbiAgICB9LCBbdmlzaWJsZVRhYlBhZ2VzXSk7XG5cbiAgICBmdW5jdGlvbiByZW5kZXJUYWJQYWdlQ29tcG9uZW50KGNvbXBvbmVudCwgdGFiSWQsIGluZGV4KSB7XG4gICAgICAgIGlmIChVdGlscy5pc051bGwoY29tcG9uZW50LmlkKSkge1xuICAgICAgICAgICAgY29tcG9uZW50LmlkID0gaW5kZXggKyAnLXRhYi1jb250ZW50JztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjb21wb25lbnQudHlwZSA9PT0gJ2Zvcm1TZWN0aW9uJyA/XG4gICAgICAgICAgICA8Rm9ybVNlY3Rpb24ga2V5SGFuZGxlcj17cHJvcHMua2V5SGFuZGxlcn1cbiAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2NvbXBvbmVudC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWc9e2NvbXBvbmVudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU9e2NyZWF0ZUNvbXBvbmVudEhhbmRsZShjb21wb25lbnQpfVxuICAgICAgICAgICAgICAgICAgICAgICAgIGZvcm09e3Byb3BzLmZvcm19XG4gICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50SWQ9e3RhYklkfVxuICAgICAgICAgICAgICAgICAgICAgICAgIHZpZXdJZD17cHJvcHMudmlld0lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlcz17cHJvcHMudmFsdWVzfVxuICAgICAgICAgICAgLz4gOlxuICAgICAgICAgICAgY29tcG9uZW50LnR5cGUgPT09ICd0b29sYmFyJyA/XG4gICAgICAgICAgICAgICAgPFRvb2xiYXIgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjb21wb25lbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz4gOlxuICAgICAgICAgICAgICAgIGNvbXBvbmVudC50eXBlID09PSAnbGF5b3V0JyA/XG4gICAgICAgICAgICAgICAgICAgIDxMYXlvdXQgY29uZmlnPXtjb21wb25lbnR9IGhhbmRsZT17Y3JlYXRlQ29tcG9uZW50SGFuZGxlKGNvbXBvbmVudCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtjb21wb25lbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlld0lkPXtwcm9wcy52aWV3SWR9Lz4gOlxuICAgICAgICAgICAgICAgICAgICA8ZGl2PnsnVW5zdXBwb3J0ZWQgY29tcG9uZW50IHR5cGUgJyArIGNvbXBvbmVudC50eXBlfTwvZGl2PjtcbiAgICB9XG5cbiAgICBmdW5jdGlvbiByZW5kZXJQYWdlKHBhZ2UsIHBhZ2VJbmRleCkge1xuICAgICAgICByZXR1cm4gPGRpdiBjbGFzc05hbWU9eyd0YWItcGFnZS1jb250YWluZXInfT5cbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBwYWdlLmNvbXBvbmVudHMubWFwKChjb21wb25lbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiByZW5kZXJUYWJQYWdlQ29tcG9uZW50KGNvbXBvbmVudCwgcGFnZS5pZCwgcGFnZUluZGV4ICsgaW5kZXgpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PjtcbiAgICB9XG5cbiAgICBjb25zdCBhcGkgPSAoKSA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBnZXQgaWQoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByb3BzLmNvbmZpZy5pZDtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBnZXRDaGlsZHJlbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgIGxldCBjaGlsZHJlbiA9IFtdO1xuXG4gICAgICAgICAgICAgICAgbGV0IHByb3BlcnRpZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhjb21wb25lbnRIYW5kbGVzKTtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHByb3BlcnRpZXMpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IGNvbXBvbmVudEhhbmRsZSA9IGNvbXBvbmVudEhhbmRsZXNbcHJvcGVydHldO1xuICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNvbXBvbmVudEhhbmRsZSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKGNvbXBvbmVudEhhbmRsZS5hcGk/LmdldENoaWxkcmVuKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBjaGlsZCBvZiBjb21wb25lbnRIYW5kbGUuYXBpLmdldENoaWxkcmVuKCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHJldHVybiBjaGlsZHJlbjtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgdmFsdWUodmFsdWUpIHtcbiAgICAgICAgICAgICAgICBzZXRUYWJWYWx1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgZ2V0IHZhbHVlKCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0YWJWYWx1ZTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXRQYWdlSGFzRXJyb3I6IChwYWdlSWQsIGhhc0Vycm9yKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3JzKHsuLi5lcnJvcnMsIFtwYWdlSWRdOiBoYXNFcnJvcn0pO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGNsZWFyRXJyb3JzOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgc2V0RXJyb3JzKHt9KTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICByZWRyYXc6ICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBGb3JjZSByZS1yZW5kZXJcbiAgICAgICAgICAgICAgICBzZXRWaXNpYmxlVGFiUGFnZXMobnVsbCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgcmVmcmVzaCgpIHtcbiAgICAgICAgICAgICAgICBsZXQgcGFyc2VkQ29uZmlnID0gVXRpbHMucGFyc2VDb25maWcocHJvcHMuY29uZmlnLCBwcm9wcy52aWV3SWQpO1xuICAgICAgICAgICAgICAgIGlmICghVXRpbHMuaXNOdWxsKHByb3BzLmNvbmZpZykgJiYgIVV0aWxzLmlzTnVsbChwYXJzZWRDb25maWcudmlzaWJsZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0VmlzaWJsZShVdGlscy5ldmFsdWF0ZUJvb2xlYW5FeHByZXNzaW9uKHBhcnNlZENvbmZpZy52aXNpYmxlLCBwYXJzZWRDb25maWcuaWQpKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzZXRWaXNpYmxlKHRydWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzZXQgdmlzaWJsZSh2aXNpYmxlKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaWJsZSh2aXNpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgIVV0aWxzLmlzTnVsbCh2aXNpYmxlVGFiUGFnZXMpICYmIHZpc2libGUgJiZcbiAgICAgICAgPGRpdiBzdHlsZT17e1xuICAgICAgICAgICAgd2lkdGg6IHByb3BzLmNvbmZpZz8uYXR0cmlidXRlcz8uc3R5bGU/LndpZHRoID8gcHJvcHMuY29uZmlnPy5hdHRyaWJ1dGVzPy5zdHlsZT8ud2lkdGggOiAnMTAwJScsXG4gICAgICAgICAgICBoZWlnaHQ6IHByb3BzLmNvbmZpZz8uYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCA/IHByb3BzLmNvbmZpZz8uYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCA6ICcxMDAlJ1xuICAgICAgICB9fT5cbiAgICAgICAgICAgIDxBcHBCYXIgcG9zaXRpb249XCJzdGF0aWNcIiBjb2xvcj1cImRlZmF1bHRcIlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJ3RyYW5zcGFyZW50JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveFNoYWRvdzogJ25vbmUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyQm90dG9tOiAnMXB4IHNvbGlkICNlMWUxZTEnXG4gICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgIDxUYWJzXG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXt0YWJWYWx1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2hhbmRsZVRhYkNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInNjcm9sbGFibGVcIiAgICAgICAgICAgICAgICAvLyBlbmFibGVzIGhvcml6b250YWwgc2Nyb2xsXG4gICAgICAgICAgICAgICAgICAgIHNjcm9sbEJ1dHRvbnM9XCJhdXRvXCIgICAgICAgICAgICAgICAgLy8gc2hvd3MgYXJyb3dzIHdoZW4gbmVlZGVkXG4gICAgICAgICAgICAgICAgICAgIGFsbG93U2Nyb2xsQnV0dG9uc01vYmlsZSAgICAgICAgICAgIC8vIHNob3cgYXJyb3dzIG9uIG1vYmlsZSB0b29cbiAgICAgICAgICAgICAgICAgICAgdGV4dENvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIGluZGljYXRvckNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtbGFiZWw9XCJ0YWJzXCJcbiAgICAgICAgICAgICAgICAgICAgc3g9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG9wdGlvbmFsOiByZWR1Y2UgZGVmYXVsdCBtaW4gd2lkdGggc28gbW9yZSB0YWJzIGZpdFxuICAgICAgICAgICAgICAgICAgICAgICAgJyYgLk11aVRhYi1yb290Jzoge21pbldpZHRoOiAxMjB9LFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3Zpc2libGVUYWJQYWdlcy5tYXAoKHBhZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBPcHRpb25hbCBwZXItdGFiIGljb246IGBhdHRyaWJ1dGVzLmljb25gIGlzIHRoZVxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWNvbiBjb21wb25lbnQncyBpZCAoZS5nLiBcIldPUktcIiwgXCJWSUVXXCIpLiBXaGVuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBwcmVzZW50LCByZW5kZXIgdG8gdGhlIGxlZnQgb2YgdGhlIGxhYmVsLlxuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgaWNvbklkID0gcGFnZS5hdHRyaWJ1dGVzWydpY29uJ107XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxUYWJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtpbmRleH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFiZWw9e3BhZ2UuYXR0cmlidXRlc1snbGFiZWwnXX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbj17aWNvbklkID8gPEljb24gaWQ9e2ljb25JZH0vPiA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvblBvc2l0aW9uPXtpY29uSWQgPyAnc3RhcnQnIDogdW5kZWZpbmVkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cmFwcGVkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBhbGxvdyBtdWx0aS1saW5lIGxhYmVsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsuLi5hMTF5UHJvcHMoaW5kZXgpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeD17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWF4V2lkdGg6IDI0MCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogJzEwMCUnLCAgICAgICAgICAgICAgICAgLy8gY29uc3RyYWluIHNvIHdyYXBwaW5nIGNhbiBvY2N1clxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpdGVTcGFjZTogJ25vcm1hbCcsICAgICAgICAgICAgIC8vIGFsbG93IHdyYXBcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdvcmRCcmVhazogJ2JyZWFrLXdvcmQnLCAgICAgICAgICAvLyBicmVhayBsb25nIHdvcmRzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0VHJhbnNmb3JtOiAndXBwZXJjYXNlJywgICAgICAgICAgICAvLyBrZWVwIG9yaWdpbmFsIGNhc2luZ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmlzRm9ybU1hcmtlcnNFbmFibGVkKCkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnMgIT09IG51bGwgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcnNbcGFnZS5pZF0gPT09IHRydWVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAnI2VkNTI0OSdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIDwvVGFicz5cbiAgICAgICAgICAgIDwvQXBwQmFyPlxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e1V0aWxzLm1lcmdlU3R5bGVzKHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDAlIC0gNjRweCknXG4gICAgICAgICAgICAgICAgfSwgcHJvcHMuY29uZmlnKX0+XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZpc2libGVUYWJQYWdlcy5tYXAoKHBhZ2UsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDxkaXYga2V5PXtpbmRleH0gc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBwYWdlPy5hdHRyaWJ1dGVzPy5zdHlsZT8uaGVpZ2h0ID8gcGFnZT8uYXR0cmlidXRlcz8uc3R5bGU/LmhlaWdodCA6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogdGFiVmFsdWUgPT09IGluZGV4ID8gbnVsbCA6ICdub25lJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGFiUGFnZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e3RhYlZhbHVlfSBpbmRleD17aW5kZXh9IGNvbmZpZz17cGFnZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7cmVuZGVyUGFnZShwYWdlLCBpbmRleCl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvVGFiUGFnZT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj47XG4gICAgICAgICAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICB9XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59KTtcblxuZXhwb3J0IGRlZmF1bHQgVGFiUGFuZWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFDLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNELElBQUFDLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUgsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFHLElBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLEtBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQVAsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFPLFFBQUEsR0FBQVIsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFRLG1CQUFBLEdBQUFULHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUyxPQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxLQUFBLEdBQUFYLHNCQUFBLENBQUFDLE9BQUE7QUFBMEIsU0FBQUQsdUJBQUFZLENBQUEsV0FBQUEsQ0FBQSxJQUFBQSxDQUFBLENBQUFDLFVBQUEsR0FBQUQsQ0FBQSxLQUFBRSxPQUFBLEVBQUFGLENBQUE7QUFBQSxTQUFBRyxTQUFBLFdBQUFBLFFBQUEsR0FBQUMsTUFBQSxDQUFBQyxNQUFBLEdBQUFELE1BQUEsQ0FBQUMsTUFBQSxDQUFBQyxJQUFBLGVBQUFDLENBQUEsYUFBQVAsQ0FBQSxNQUFBQSxDQUFBLEdBQUFRLFNBQUEsQ0FBQUMsTUFBQSxFQUFBVCxDQUFBLFVBQUFVLENBQUEsR0FBQUYsU0FBQSxDQUFBUixDQUFBLFlBQUFXLENBQUEs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
|