@agilemotion/oui-react-js 2.0.16 → 2.0.18
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/components/Calender.css +1 -1
- package/dist/components/TableCellContent.js +9 -18
- package/dist/components/dashboard/FoldingSideTabDashboard.css +1 -1
- package/dist/components/dashboard/FoldingSideTabDashboard.js +10 -7
- package/dist/components/form/LookupField.js +27 -3
- package/dist/components/layout/Layout.js +15 -3
- package/dist/components/layout/ViewPort.js +2 -2
- package/dist/components/layout/Window.css +4 -1
- package/dist/components/layout/Window.js +147 -29
- package/dist/components/layout/WindowDialog.js +8 -5
- package/dist/components/layout/WindowViewPort.js +8 -2
- package/dist/components/media/Chat.js +4 -2
- package/dist/components/media/ClosablePanel.js +55 -27
- package/dist/components/media/MediaSoupHelper.js +13 -1
- package/dist/components/media/SideBarContent.js +22 -8
- package/dist/components/media/TrainingRoom.js +141 -46
- package/dist/components/media/VCEventType.js +3 -1
- package/dist/components/media/VCParticipantList.js +53 -27
- package/dist/components/media/VCRoom.css +22 -0
- package/dist/components/media/VCRoom.js +34 -15
- package/dist/components/media/VCRoomParticipant.css +3 -2
- package/dist/components/media/VCRoomParticipant.js +140 -48
- package/dist/components/media/VCRoomRecorder.js +117 -40
- package/dist/components/media/VCRoomWorkspace.css +0 -1
- package/dist/components/media/VCRoomWorkspace.js +158 -23
- package/dist/components/media/VCSettings.js +462 -0
- package/dist/components/media/VideoPlayer.js +4 -1
- package/dist/components/media/audioLevelMeter.js +96 -0
- package/dist/components/media/chat/ChatRoom.js +13 -9
- package/dist/components/media/chat/ChatRoomItem.js +3 -2
- package/dist/components/media/chat/ChatRoomWrapper.js +4 -1
- package/dist/components/media/chat/ChatRooms.scss +5 -3
- package/dist/hooks/useContainerWidth.js +44 -0
- package/dist/js/Media.js +11 -2
- package/dist/view/security/RegisterInteractionPortal.js +101 -3
- package/package.json +2 -2
|
@@ -11,7 +11,7 @@ var _ThemeProvider = _interopRequireDefault(require("@mui/styles/ThemeProvider")
|
|
|
11
11
|
var _react2 = require("@emotion/react");
|
|
12
12
|
var _ApplicationManager = _interopRequireDefault(require("../../ApplicationManager"));
|
|
13
13
|
var _ViewPort = _interopRequireDefault(require("../../components/layout/ViewPort"));
|
|
14
|
-
var
|
|
14
|
+
var _reactLoaderSpinner = require("react-loader-spinner");
|
|
15
15
|
var _Utils = _interopRequireDefault(require("../../Utils"));
|
|
16
16
|
var _RestUtils = require("../../RestUtils");
|
|
17
17
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
@@ -58,6 +58,15 @@ const FOOTER_LINKS = [{
|
|
|
58
58
|
label: 'POPIA Notice',
|
|
59
59
|
file: 'popia-notice.html'
|
|
60
60
|
}];
|
|
61
|
+
|
|
62
|
+
// The bare /register entry is a one-shot bootstrap: it loads the wizard graph
|
|
63
|
+
// and immediately forwards into /register/<type>/<id> (see RouteActionHandler).
|
|
64
|
+
// That leaves /register as a spent, blank back-target. This module-level flag
|
|
65
|
+
// (true once we've bootstrapped this SPA session) lets a *back*-navigation to
|
|
66
|
+
// the bare entry redirect to /login instead of re-bootstrapping into a blank
|
|
67
|
+
// page. It resets on a full page load — which is exactly how a fresh
|
|
68
|
+
// registration starts, since the login page links to /register via <a href>.
|
|
69
|
+
let registrationBootstrapped = false;
|
|
61
70
|
const RegisterInteractionPortal = props => {
|
|
62
71
|
const navigate = (0, _reactRouterDom.useNavigate)();
|
|
63
72
|
// The :type route segment (e.g. 'vendor'). Falls back to 'vendor'
|
|
@@ -75,12 +84,41 @@ const RegisterInteractionPortal = props => {
|
|
|
75
84
|
// resolve when it lands on /view/<viewId>.
|
|
76
85
|
const [viewLoaded, setViewLoaded] = _react.default.useState(false);
|
|
77
86
|
const [error, setError] = _react.default.useState(null);
|
|
87
|
+
|
|
88
|
+
// Back-navigation guard. Keyed on rawType (not the bootstrap deps) because
|
|
89
|
+
// React Router reuses this same component instance when the URL changes
|
|
90
|
+
// between /register/:type and the bare /register — and `type` defaults to
|
|
91
|
+
// 'vendor' in both, so the bootstrap effect's [type, viewPath] deps never
|
|
92
|
+
// change and would not re-run. rawType, however, flips 'vendor' → undefined
|
|
93
|
+
// on the way back to the bare entry. When that happens after we've already
|
|
94
|
+
// bootstrapped this session, the wizard graph is spent and the bare entry
|
|
95
|
+
// would render blank — send the user to login instead.
|
|
96
|
+
_react.default.useEffect(() => {
|
|
97
|
+
if (!rawType && registrationBootstrapped) {
|
|
98
|
+
navigate('/login', {
|
|
99
|
+
replace: true
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}, [rawType]);
|
|
78
103
|
_react.default.useEffect(() => {
|
|
104
|
+
// Mirror of the guard above for the remount case (fresh mount on the
|
|
105
|
+
// bare entry after bootstrapping): skip re-bootstrapping and bounce to
|
|
106
|
+
// login rather than rendering blank.
|
|
107
|
+
if (!rawType && registrationBootstrapped) {
|
|
108
|
+
navigate('/login', {
|
|
109
|
+
replace: true
|
|
110
|
+
});
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
79
113
|
if (!viewPath) {
|
|
80
114
|
setError("Registration type \"".concat(type, "\" is not supported."));
|
|
81
115
|
return;
|
|
82
116
|
}
|
|
83
117
|
|
|
118
|
+
// We're committing to the bootstrap — mark the flow as entered so a
|
|
119
|
+
// later browser-back to the bare entry hits the guard above.
|
|
120
|
+
registrationBootstrapped = true;
|
|
121
|
+
|
|
84
122
|
// Hardcoded tenant for now until tenant resolution is implemented
|
|
85
123
|
_ApplicationManager.default.setActiveTenant('COJ');
|
|
86
124
|
_ApplicationManager.default.setServiceApiPath(props.implConfig.serviceApiPath);
|
|
@@ -192,6 +230,67 @@ const RegisterInteractionPortal = props => {
|
|
|
192
230
|
}, "Back to login")));
|
|
193
231
|
}
|
|
194
232
|
|
|
233
|
+
// While the public CDUI fetch is in flight, show a branded loading screen
|
|
234
|
+
// and keep the ViewPort unmounted — it has nothing to resolve until the
|
|
235
|
+
// wizard view JSON is fetched and registered (the viewLoaded gate the
|
|
236
|
+
// header comment describes). Colours fall back to the COJ palette when
|
|
237
|
+
// implConfig hasn't been plumbed through yet.
|
|
238
|
+
if (!viewLoaded) {
|
|
239
|
+
const primary = props.implConfig && props.implConfig.primaryColor || '#1a3c5e';
|
|
240
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
241
|
+
className: "main w-100 h-100 d-inline-block coj-skin",
|
|
242
|
+
style: {
|
|
243
|
+
position: 'relative',
|
|
244
|
+
minHeight: '100vh',
|
|
245
|
+
color: '#1a3c5e',
|
|
246
|
+
background: "#f1f1f1"
|
|
247
|
+
}
|
|
248
|
+
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
249
|
+
style: {
|
|
250
|
+
position: 'absolute',
|
|
251
|
+
top: '30%',
|
|
252
|
+
left: '50%',
|
|
253
|
+
transform: 'translate(-50%, -50%)',
|
|
254
|
+
display: 'flex',
|
|
255
|
+
flexDirection: 'column',
|
|
256
|
+
alignItems: 'center',
|
|
257
|
+
gap: '10px',
|
|
258
|
+
textAlign: 'center',
|
|
259
|
+
whiteSpace: 'nowrap'
|
|
260
|
+
}
|
|
261
|
+
}, /*#__PURE__*/_react.default.createElement("h1", {
|
|
262
|
+
style: {
|
|
263
|
+
margin: 0,
|
|
264
|
+
fontSize: '42px',
|
|
265
|
+
fontWeight: 700,
|
|
266
|
+
letterSpacing: '0.10em',
|
|
267
|
+
textShadow: '0 2px 12px rgba(0,0,0,0.25)'
|
|
268
|
+
}
|
|
269
|
+
}), /*#__PURE__*/_react.default.createElement("p", {
|
|
270
|
+
style: {
|
|
271
|
+
margin: 0,
|
|
272
|
+
fontSize: '15px',
|
|
273
|
+
letterSpacing: '0.02em',
|
|
274
|
+
opacity: 0.82
|
|
275
|
+
}
|
|
276
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
277
|
+
style: {
|
|
278
|
+
position: 'absolute',
|
|
279
|
+
top: '50%',
|
|
280
|
+
left: '50%',
|
|
281
|
+
transform: 'translate(-50%, -50%)'
|
|
282
|
+
}
|
|
283
|
+
}, /*#__PURE__*/_react.default.createElement(_reactLoaderSpinner.Oval, {
|
|
284
|
+
visible: true,
|
|
285
|
+
height: "60",
|
|
286
|
+
width: "60",
|
|
287
|
+
color: "#ffffff",
|
|
288
|
+
secondaryColor: "rgba(255,255,255,0.3)",
|
|
289
|
+
strokeWidth: 3,
|
|
290
|
+
ariaLabel: "registration-loading"
|
|
291
|
+
})));
|
|
292
|
+
}
|
|
293
|
+
|
|
195
294
|
// Tenant code that scopes the agreement-asset path. Default to 'coj'
|
|
196
295
|
// until implConfig.orgCode is plumbed through from the portal config
|
|
197
296
|
// endpoint — the existing pages live under /agreements/coj/.
|
|
@@ -289,7 +388,6 @@ const RegisterInteractionPortal = props => {
|
|
|
289
388
|
key: link.file,
|
|
290
389
|
href: agreementBase + '/' + link.file,
|
|
291
390
|
target: "_blank",
|
|
292
|
-
CAn: true,
|
|
293
391
|
rel: "noopener noreferrer",
|
|
294
392
|
style: {
|
|
295
393
|
color: '#1a3c5e',
|
|
@@ -299,4 +397,4 @@ const RegisterInteractionPortal = props => {
|
|
|
299
397
|
}, link.label))), /*#__PURE__*/_react.default.createElement("div", null, "\xA9 ", new Date().getFullYear(), " City of Johannesburg. All rights reserved.")));
|
|
300
398
|
};
|
|
301
399
|
var _default = exports.default = RegisterInteractionPortal;
|
|
302
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfTG9hZGluZ0luZGljYXRvciIsIl9VdGlscyIsIl9SZXN0VXRpbHMiLCJlIiwiX19lc01vZHVsZSIsImRlZmF1bHQiLCJob3N0Iiwid2luZG93IiwibG9jYXRpb24iLCJwcm90b2NvbCIsImhvc3RuYW1lIiwiUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyIsInZlbmRvciIsIkZPT1RFUl9MSU5LUyIsImxhYmVsIiwiZmlsZSIsIlJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwiLCJwcm9wcyIsIm5hdmlnYXRlIiwidXNlTmF2aWdhdGUiLCJ0eXBlIiwicmF3VHlwZSIsInVzZVBhcmFtcyIsInRvTG93ZXJDYXNlIiwidmlld1BhdGgiLCJ2aWV3TG9hZGVkIiwic2V0Vmlld0xvYWRlZCIsIlJlYWN0IiwidXNlU3RhdGUiLCJlcnJvciIsInNldEVycm9yIiwidXNlRWZmZWN0IiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRBY3RpdmVUZW5hbnQiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImRhdGEiLCJjb25zb2xlIiwiaXNXaW5kb3ciLCJsb2FkR3JhcGgiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjb2xvciIsIm1hcmdpbiIsImhyZWYiLCJ0ZXh0RGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJvcmdDb2RlIiwiU3RyaW5nIiwiYWdyZWVtZW50QmFzZSIsIm9yaWdpbiIsImZsZXhEaXJlY3Rpb24iLCJmbGV4IiwibWluSGVpZ2h0IiwicG9zaXRpb24iLCJUaGVtZVByb3ZpZGVyIiwidGhlbWUiLCJjcmVhdGVUaGVtZSIsInBhbGV0dGUiLCJwcmltYXJ5IiwibWFpbiIsInByaW1hcnlDb2xvciIsInNlY29uZGFyeSIsInNlY29uZGFyeUNvbG9yIiwiY29tcG9uZW50cyIsIk11aUNzc0Jhc2VsaW5lIiwic3R5bGVPdmVycmlkZXMiLCJib2R5Iiwic2Nyb2xsYmFyQ29sb3IiLCJzY3JvbGxiYXJXaWR0aCIsIndpZHRoIiwiaGVpZ2h0IiwiYmFja2dyb3VuZCIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclJhZGl1cyIsInRyYW5zaXRpb24iLCJDc3NCYXNlbGluZSIsIndpbmRvd1Bpbm5lZCIsIm1lbnVPZmZzZXQiLCJsYW5kaW5nUGFnZSIsImZsZXhTaHJpbmsiLCJib3JkZXJUb3AiLCJmb250U2l6ZSIsImdhcCIsImZsZXhXcmFwIiwibWFyZ2luQm90dG9tIiwibWFwIiwibGluayIsInRhcmdldCIsIkNBbiIsInJlbCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlldy9zZWN1cml0eS9SZWdpc3RlckludGVyYWN0aW9uUG9ydGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZU5hdmlnYXRlLCB1c2VQYXJhbXN9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge2NyZWF0ZVRoZW1lLCBDc3NCYXNlbGluZX0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBUaGVtZVByb3ZpZGVyIGZyb20gXCJAbXVpL3N0eWxlcy9UaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQge1RoZW1lUHJvdmlkZXIgYXMgRW1vdGlvblRoZW1lUHJvdmlkZXJ9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0XCI7XG5pbXBvcnQgTG9hZGluZ0luZGljYXRvciBmcm9tIFwiLi4vLi4vY29tcG9uZW50cy9Mb2FkaW5nSW5kaWNhdG9yXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vUmVzdFV0aWxzXCI7XG5cbi8vIEhvc3RuYW1lIG9ubHkg4oCUIG1hdGNoZXMgdGhlIFVSTC1jb25zdHJ1Y3Rpb24gc3R5bGUgaW5cbi8vIEludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcy4gY29udGV4dC1yb290ICsgc2VydmljZSBwYXRoIGdldCBhcHBlbmRlZFxuLy8gd2hlbiB0aGUgYWN0dWFsIHJlcXVlc3QgaXMgYnVpbHQuXG5jb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG4vKipcbiAqIFNrZWxldG9uIGZvciB0aGUgcmVnaXN0cmF0aW9uIHBvcnRhbCDigJQgd2lyZXMgdGhlIEFwcGxpY2F0aW9uTWFuYWdlcixcbiAqIHRoZSBkdWFsIEVtb3Rpb24vTVVJIHRoZW1lIHByb3ZpZGVycywgYW5kIGEgQ0RVSSB7QGxpbmsgVmlld1BvcnR9LlxuICogVGhlIGFjdHVhbCByZWdpc3RyYXRpb24gdmlldyBsYW5kcyBpbiBhIGZvbGxvdy11cCBzcHJpbnRcbiAqIChzcGVjL3JlZ2lzdHJhdGlvbi5tZCDCpzIpLiBNaXJyb3JzIHtAY29kZSBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanN9XG4gKiBmb3IgdGhlbWUgKyBtYW5hZ2VyIGluaXQgYnV0IG9taXRzIHRoZSB7QGNvZGUgL3N5c3RlbS9zZXR1cH0gYW5kXG4gKiB7QGNvZGUgL2F1dGgvdXNlci9maW5kfSBlbmRwb2ludHMg4oCUIHRoZSByZWdpc3RyYXRpb24gZmxvdyBydW5zXG4gKiB1bmF1dGhlbnRpY2F0ZWQgYW5kIHRoZXJlIGlzIG5vIGxvZ2dlZC1pbiB1c2VyIHRvIGxvb2sgdXAuXG4gKlxuICogPHA+QmVjYXVzZSBubyB7QGNvZGUgZGFzaGJvYXJkU2V0dGluZ3N9IGlzIGxvYWRlZCBoZXJlIChubyBhdXRoKSwgYm90aFxuICogdGhlIEVtb3Rpb24gb3V0ZXIgYW5kIE1hdGVyaWFsIGlubmVyIHRoZW1lcyBhcmUgc2VlZGVkIGZyb21cbiAqIHtAY29kZSBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvciAvIHNlY29uZGFyeUNvbG9yfSDigJQgdGhlIHNhbWVcbiAqIGZhbGxiYWNrIHRoZSBsb2dpbiBwb3J0YWwgdXNlcy5cbiAqL1xuLy8gVHlwZS1zY29wZWQgcmVnaXN0cmF0aW9uOiBlYWNoIHR5cGUgaGFzIGl0cyBvd24gd2l6YXJkIEpTT04gdW5kZXJcbi8vIC9wb3J0YWwvdmlld3MvcmVnaXN0cmF0aW9uLy4gTmV3IHR5cGVzIGFkZCBhbiBlbnRyeSBoZXJlLlxuY29uc3QgUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyA9IHtcbiAgICB2ZW5kb3I6ICcvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24tdmVuZG9yLmpzb24nLFxufTtcblxuLy8gRVVMQS1zdGFuZGFyZCBmb290ZXIgbGlua3MuIFRoZSBhZ3JlZW1lbnQgSFRNTCBmaWxlcyBhcmUgaG9zdGVkIHVuZGVyXG4vLyAvYWdyZWVtZW50cy88b3JnQ29kZT4vPGRvYz4uaHRtbCAoc2VydmVkIGJ5IG5naW54IGluIHByb2QgLyBTcHJpbmdcbi8vIHN0YXRpYy1yZXNvdXJjZSBtYXBwaW5nIGluIGRldikuIE5ldyBsZWdhbCBkb2N1bWVudHMgYWRkIGFuIGVudHJ5XG4vLyBoZXJlLiBXaGVuIGFjY2VwdGFuY2UtY2hlY2tib3ggY2FwdHVyZSBsYW5kcyBpbiB0aGUgd2l6YXJkLCBzd2l0Y2hcbi8vIHRoZXNlIFVSTHMgdG8gdmVyc2lvbmVkIHBhdGhzIChlLmcuIHRlcm1zLW9mLXNlcnZpY2UvdjEuaHRtbCkuXG5jb25zdCBGT09URVJfTElOS1MgPSBbXG4gICAge2xhYmVsOiAnVGVybXMgb2YgU2VydmljZScsIGZpbGU6ICd0ZXJtcy1vZi1zZXJ2aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQcml2YWN5IFBvbGljeScsIGZpbGU6ICdwcml2YWN5LXBvbGljeS5odG1sJ30sXG4gICAge2xhYmVsOiAnQ29va2llIE5vdGljZScsIGZpbGU6ICdjb29raWUtbm90aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQT1BJQSBOb3RpY2UnLCBmaWxlOiAncG9waWEtbm90aWNlLmh0bWwnfSxcbl07XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIFJlYWN0LnVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghdmlld1BhdGgpIHtcbiAgICAgICAgICAgIHNldEVycm9yKGBSZWdpc3RyYXRpb24gdHlwZSBcIiR7dHlwZX1cIiBpcyBub3Qgc3VwcG9ydGVkLmApO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cblxuICAgICAgICAvLyBIYXJkY29kZWQgdGVuYW50IGZvciBub3cgdW50aWwgdGVuYW50IHJlc29sdXRpb24gaXMgaW1wbGVtZW50ZWRcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0QWN0aXZlVGVuYW50KCdDT0onKTtcblxuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRTZXJ2aWNlQXBpUGF0aChwcm9wcy5pbXBsQ29uZmlnLnNlcnZpY2VBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0VUlDb25maWdQYXRoKHByb3BzLmltcGxDb25maWcudWlDb25maWdQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0Q29udGV4dFJvb3QocHJvcHMuY29udGV4dFJvb3QpO1xuICAgICAgICBhcHBsaWNhdGlvTWFuYWdlci5zZXRGaWxlc0FwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5maWxlc0FwaVBhdGgpO1xuICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuc2V0TmF2aWdhdG9yKChwYXRoKSA9PiB7XG4gICAgICAgICAgICBuYXZpZ2F0ZShwYXRoKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgLy8gUHVibGljIENEVUkgZmV0Y2gg4oCUIGhpdHMgdGhlIHVucHJvdGVjdGVkIGVuZHBvaW50IHdlIGFkZGVkXG4gICAgICAgIC8vIHRvIG91aS1zZXJ2ZXIgKHdoaXRlbGlzdGVkIGluIFJlc291cmNlU2VydmVyQ29uZmlnKS4gVGhlXG4gICAgICAgIC8vIHJldHVybmVkIEpTT04gaXMgZGlzcGF0Y2hlZCB0aGUgc2FtZSB3YXkgUm91dGVBY3Rpb25IYW5kbGVyXG4gICAgICAgIC8vIGRvZXMgaXQ6IHNpbmdsZS1wYWdlIGB2aWV3YCDihpIgYWRkVmlldyArIG5hdmlnYXRlOyBtdWx0aS1zdGVwXG4gICAgICAgIC8vIGBncmFwaGAg4oaSIGxvYWRHcmFwaCAod2hpY2ggb3ducyBzdGVwcGVyIHN0YXRlICsgZmlyc3Qtbm9kZVxuICAgICAgICAvLyByb3V0aW5nKS4gTWl4aW5nIHRoZW0gdXAgcm91dGVzIGEgZ3JhcGggdGhyb3VnaCBhZGRWaWV3IGFuZFxuICAgICAgICAvLyBsZWF2ZXMgdGhlIHdpemFyZCBub2RlcyB1bnJlYWNoYWJsZS5cbiAgICAgICAgc2VuZFJlcXVlc3QoXG4gICAgICAgICAgICBob3N0ICsgYXBwbGljYXRpb25NYW5hZ2VyLmdldENvbnRleHRSb290KCkgKyAnL3VpL2FwaS92MS92aWV3L3B1YmxpYy9nZXQ/dmVyc2lvbj0xLjAmaWQ9JyArIHZpZXdQYXRoLFxuICAgICAgICAgICAgKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzZW5kUmVxdWVzdCBhdXRvLWRlY29kZXMgdGhlIHtfY2R1aV96fSB3aXJlIHdyYXAgZm9yXG4gICAgICAgICAgICAgICAgLy8gL3VpL2FwaS92Ki8gVVJMcyDigJQgZGF0YSBoZXJlIGlzIHRoZSByYXcgdmlldyBjb25maWcuXG4gICAgICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCBlbXB0eSBwYXlsb2FkJyk7XG4gICAgICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGRhdGEudHlwZSA9PT0gJ2dyYXBoJykge1xuICAgICAgICAgICAgICAgICAgICAvLyBNaXJyb3IgUm91dGVBY3Rpb25IYW5kbGVyJ3MgZ3JhcGggYnJhbmNoOiBoYW5kIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyByYXcgY29uZmlnIHRvIGxvYWRHcmFwaCwgd2hpY2ggbWFuYWdlcyBpbnRlcm5hbFxuICAgICAgICAgICAgICAgICAgICAvLyBub2RlIG5hdmlnYXRpb24uIE5vIG1hbnVhbCBuYXZpZ2F0ZSBoZXJlIOKAlFxuICAgICAgICAgICAgICAgICAgICAvLyBsb2FkR3JhcGggcm91dGVzIHRvIHRoZSBmaXJzdCBub2RlIGl0c2VsZi5cbiAgICAgICAgICAgICAgICAgICAgZGF0YS5pc1dpbmRvdyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubG9hZEdyYXBoKHRydWUsIGRhdGEsIFtdLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS50eXBlID09PSAndmlldycpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gU2luZ2xlLXBhZ2UgdmlldzogYnVpbGQgdGhlIGVudmVsb3BlIGFuZCByZWdpc3RlclxuICAgICAgICAgICAgICAgICAgICAvLyBpdCBvbiB0aGUgJ21haW4nIGNvbnRleHQsIHRoZW4gbmF2aWdhdGUgdG8gdGhlXG4gICAgICAgICAgICAgICAgICAgIC8vIHR5cGUtc2NvcGVkIHJlZ2lzdGVyIHJvdXRlIHNvIHRoZSBWaWV3UG9ydFxuICAgICAgICAgICAgICAgICAgICAvLyByZXNvbHZlcyBpdC4gTWlycm9ycyBSb3V0ZUFjdGlvbkhhbmRsZXIncyB2aWV3XG4gICAgICAgICAgICAgICAgICAgIC8vIGJyYW5jaCwgd2l0aCB0aGUgcmVnaXN0ZXItcG9ydGFsIFVSTCBwYXR0ZXJuXG4gICAgICAgICAgICAgICAgICAgIC8vICgvcmVnaXN0ZXIvOnR5cGUvOmlkKSBzdWJzdGl0dXRlZCBmb3IgL3ZpZXcvOmlkLlxuICAgICAgICAgICAgICAgICAgICBjb25zdCBkZWZhdWx0TW9kZWwgPSB7fTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdmlldyA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZzogZGF0YSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtZXRlcnM6IFtdLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFwaToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgaWQoKSB7IHJldHVybiBkYXRhLmlkOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXQgbW9kZWwoKSB7IHJldHVybiBkZWZhdWx0TW9kZWw7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldENoaWxkOiAoKSA9PiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVNb2RlbDogKHZhbHVlcykgPT4geyBVdGlscy51cGRhdGVNb2RlbCh2YWx1ZXMsIGRlZmF1bHRNb2RlbCk7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldE1vZGVsVmFsdWU6IChrZXksIHZhbHVlKSA9PiB7IGRlZmF1bHRNb2RlbFtrZXldID0gdmFsdWU7IH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldE1vZGVsVmFsdWU6IChrZXkpID0+IGRlZmF1bHRNb2RlbFtrZXldLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2FkZWQ6ICgpID0+IGZhbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIuYWRkVmlldyh2aWV3LCBkYXRhLmlkLCB0cnVlLCAnbWFpbicpO1xuICAgICAgICAgICAgICAgICAgICBzZXRWaWV3TG9hZGVkKHRydWUpO1xuICAgICAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbk1hbmFnZXIubmF2aWdhdGUoJy9yZWdpc3Rlci8nICsgdHlwZSArICcvJyArIGRhdGEuaWQpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ1B1YmxpYyByZWdpc3RyYXRpb24gdmlldyBmZXRjaCByZXR1cm5lZCB1bmV4cGVjdGVkIHR5cGUnLCBkYXRhLnR5cGUsIGRhdGEpO1xuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKGUpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdGYWlsZWQgdG8gbG9hZCByZWdpc3RyYXRpb24gdmlldycsIGUpO1xuICAgICAgICAgICAgICAgIHNldEVycm9yKCdSZWdpc3RyYXRpb24gdmlldyBjb3VsZCBub3QgYmUgbG9hZGVkLicpO1xuICAgICAgICAgICAgfSwgZmFsc2UsIHRydWVcbiAgICAgICAgKTtcbiAgICB9LCBbdHlwZSwgdmlld1BhdGhdKTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCIgc3R5bGU9e3tkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7bWF4V2lkdGg6IDQyMCwgcGFkZGluZzogMzIsIHRleHRBbGlnbjogJ2NlbnRlcid9fT5cbiAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgbWFyZ2luOiAnMCAwIDEycHgnfX0+Tm90IGF2YWlsYWJsZTwvaDI+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7Y29sb3I6ICcjNmI3Nzg1JywgbWFyZ2luOiAnMCAwIDE2cHgnfX0+e2Vycm9yfTwvcD5cbiAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIi9sb2dpblwiIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX0+QmFjayB0byBsb2dpbjwvYT5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8vIFRlbmFudCBjb2RlIHRoYXQgc2NvcGVzIHRoZSBhZ3JlZW1lbnQtYXNzZXQgcGF0aC4gRGVmYXVsdCB0byAnY29qJ1xuICAgIC8vIHVudGlsIGltcGxDb25maWcub3JnQ29kZSBpcyBwbHVtYmVkIHRocm91Z2ggZnJvbSB0aGUgcG9ydGFsIGNvbmZpZ1xuICAgIC8vIGVuZHBvaW50IOKAlCB0aGUgZXhpc3RpbmcgcGFnZXMgbGl2ZSB1bmRlciAvYWdyZWVtZW50cy9jb2ovLlxuICAgIGNvbnN0IG9yZ0NvZGUgPSAocHJvcHMuaW1wbENvbmZpZyAmJiBwcm9wcy5pbXBsQ29uZmlnLm9yZ0NvZGVcbiAgICAgICAgPyBTdHJpbmcocHJvcHMuaW1wbENvbmZpZy5vcmdDb2RlKVxuICAgICAgICA6ICdjb2onKS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IGFncmVlbWVudEJhc2UgPSB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgJy9hZ3JlZW1lbnRzLycgKyBvcmdDb2RlO1xuXG4gICAgcmV0dXJuIChcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiXG4gICAgICAgICAgICBzdHlsZT17e2Rpc3BsYXk6ICdmbGV4JywgZmxleERpcmVjdGlvbjogJ2NvbHVtbid9fVxuICAgICAgICA+XG4gICAgICAgICAgICA8ZGl2IHN0eWxlPXt7ZmxleDogJzEgMSBhdXRvJywgbWluSGVpZ2h0OiAnY2FsYygxMDB2aCAtIDcycHgpJywgcG9zaXRpb246ICdyZWxhdGl2ZSd9fT5cbiAgICAgICAgICAgICAgICA8RW1vdGlvblRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhbGV0dGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPFRoZW1lUHJvdmlkZXJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lPXtjcmVhdGVUaGVtZSh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vjb25kYXJ5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWluOiBwcm9wcy5pbXBsQ29uZmlnLnNlY29uZGFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNdWlDc3NCYXNlbGluZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGVPdmVycmlkZXM6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib2R5OiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZpcmVmb3hcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsYmFyQ29sb3I6ICdyZ2JhKDEwMCwgMTAwLCAxMDAsIDAuNCkgdHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJXaWR0aDogJ3RoaW4nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gV2ViS2l0IGJyb3dzZXJzXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICc6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrJzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAndHJhbnNwYXJlbnQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246ICdiYWNrZ3JvdW5kLWNvbG9yIDAuM3MnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXInOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC42KScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Q3NzQmFzZWxpbmUvPlxuICAgICAgICAgICAgICAgICAgICAgICAgPFZpZXdQb3J0IHdpbmRvd1Bpbm5lZD17ZmFsc2V9IG1lbnVPZmZzZXQ9ezB9IGxhbmRpbmdQYWdlPXtcIk5PTkVcIn0gc3R5bGU9e3t3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICdjYWxjKDEwMCUgLSA3MnB4KScsIHBvc2l0aW9uOiAnZml4ZWQnfX0vPlxuICAgICAgICAgICAgICAgICAgICA8L1RoZW1lUHJvdmlkZXI+XG4gICAgICAgICAgICAgICAgPC9FbW90aW9uVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGZvb3RlclxuICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGZsZXhTaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxNnB4IDI0cHgnLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAnI2ZmZmZmZicsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclRvcDogJzFweCBzb2xpZCAjZTZlYWYwJyxcbiAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxM3B4JyxcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICcjNmI3Nzg1JyxcbiAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMjRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4V3JhcDogJ3dyYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAnNnB4J1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge0ZPT1RFUl9MSU5LUy5tYXAoKGxpbmspID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5PXtsaW5rLmZpbGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaHJlZj17YWdyZWVtZW50QmFzZSArICcvJyArIGxpbmsuZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ9XCJfYmxhbmtcIkNBblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7Y29sb3I6ICcjMWEzYzVlJywgdGV4dERlY29yYXRpb246ICdub25lJywgZm9udFdlaWdodDogNTAwfX1cbiAgICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGluay5sYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdj5cbiAgICAgICAgICAgICAgICAgICAgJmNvcHk7IHtuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCl9IENpdHkgb2YgSm9oYW5uZXNidXJnLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9mb290ZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBSZWdpc3RlckludGVyYWN0aW9uUG9ydGFsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxlQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxTQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFBRyxjQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxPQUFBLEdBQUFK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
|
|
400
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9yZWFjdFJvdXRlckRvbSIsIl9tYXRlcmlhbCIsIl9UaGVtZVByb3ZpZGVyIiwiX3JlYWN0MiIsIl9BcHBsaWNhdGlvbk1hbmFnZXIiLCJfVmlld1BvcnQiLCJfcmVhY3RMb2FkZXJTcGlubmVyIiwiX1V0aWxzIiwiX1Jlc3RVdGlscyIsImUiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhvc3QiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsInByb3RvY29sIiwiaG9zdG5hbWUiLCJSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXIiwidmVuZG9yIiwiRk9PVEVSX0xJTktTIiwibGFiZWwiLCJmaWxlIiwicmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkIiwiUmVnaXN0ZXJJbnRlcmFjdGlvblBvcnRhbCIsInByb3BzIiwibmF2aWdhdGUiLCJ1c2VOYXZpZ2F0ZSIsInR5cGUiLCJyYXdUeXBlIiwidXNlUGFyYW1zIiwidG9Mb3dlckNhc2UiLCJ2aWV3UGF0aCIsInZpZXdMb2FkZWQiLCJzZXRWaWV3TG9hZGVkIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImVycm9yIiwic2V0RXJyb3IiLCJ1c2VFZmZlY3QiLCJyZXBsYWNlIiwiY29uY2F0IiwiYXBwbGljYXRpb01hbmFnZXIiLCJzZXRBY3RpdmVUZW5hbnQiLCJzZXRTZXJ2aWNlQXBpUGF0aCIsImltcGxDb25maWciLCJzZXJ2aWNlQXBpUGF0aCIsInNldFVJQ29uZmlnUGF0aCIsInVpQ29uZmlnUGF0aCIsInNldENvbnRleHRSb290IiwiY29udGV4dFJvb3QiLCJzZXRGaWxlc0FwaVBhdGgiLCJmaWxlc0FwaVBhdGgiLCJhcHBsaWNhdGlvbk1hbmFnZXIiLCJzZXROYXZpZ2F0b3IiLCJwYXRoIiwic2VuZFJlcXVlc3QiLCJnZXRDb250ZXh0Um9vdCIsImRhdGEiLCJjb25zb2xlIiwiaXNXaW5kb3ciLCJsb2FkR3JhcGgiLCJkZWZhdWx0TW9kZWwiLCJ2aWV3IiwiY29uZmlnIiwicGFyYW1ldGVycyIsInBhcmVudCIsImhhbmRsZSIsImFwaSIsImlkIiwibW9kZWwiLCJnZXRDaGlsZCIsInVwZGF0ZU1vZGVsIiwidmFsdWVzIiwiVXRpbHMiLCJzZXRNb2RlbFZhbHVlIiwia2V5IiwidmFsdWUiLCJnZXRNb2RlbFZhbHVlIiwibG9hZGVkIiwiYWRkVmlldyIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJtYXhXaWR0aCIsInBhZGRpbmciLCJ0ZXh0QWxpZ24iLCJjb2xvciIsIm1hcmdpbiIsImhyZWYiLCJ0ZXh0RGVjb3JhdGlvbiIsImZvbnRXZWlnaHQiLCJwcmltYXJ5IiwicHJpbWFyeUNvbG9yIiwicG9zaXRpb24iLCJtaW5IZWlnaHQiLCJiYWNrZ3JvdW5kIiwidG9wIiwibGVmdCIsInRyYW5zZm9ybSIsImZsZXhEaXJlY3Rpb24iLCJnYXAiLCJ3aGl0ZVNwYWNlIiwiZm9udFNpemUiLCJsZXR0ZXJTcGFjaW5nIiwidGV4dFNoYWRvdyIsIm9wYWNpdHkiLCJPdmFsIiwidmlzaWJsZSIsImhlaWdodCIsIndpZHRoIiwic2Vjb25kYXJ5Q29sb3IiLCJzdHJva2VXaWR0aCIsImFyaWFMYWJlbCIsIm9yZ0NvZGUiLCJTdHJpbmciLCJhZ3JlZW1lbnRCYXNlIiwib3JpZ2luIiwiZmxleCIsIlRoZW1lUHJvdmlkZXIiLCJ0aGVtZSIsImNyZWF0ZVRoZW1lIiwicGFsZXR0ZSIsIm1haW4iLCJzZWNvbmRhcnkiLCJjb21wb25lbnRzIiwiTXVpQ3NzQmFzZWxpbmUiLCJzdHlsZU92ZXJyaWRlcyIsImJvZHkiLCJzY3JvbGxiYXJDb2xvciIsInNjcm9sbGJhcldpZHRoIiwiYmFja2dyb3VuZENvbG9yIiwiYm9yZGVyUmFkaXVzIiwidHJhbnNpdGlvbiIsIkNzc0Jhc2VsaW5lIiwid2luZG93UGlubmVkIiwibWVudU9mZnNldCIsImxhbmRpbmdQYWdlIiwiZmxleFNocmluayIsImJvcmRlclRvcCIsImZsZXhXcmFwIiwibWFyZ2luQm90dG9tIiwibWFwIiwibGluayIsInRhcmdldCIsInJlbCIsIkRhdGUiLCJnZXRGdWxsWWVhciIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvdmlldy9zZWN1cml0eS9SZWdpc3RlckludGVyYWN0aW9uUG9ydGFsLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQge3VzZU5hdmlnYXRlLCB1c2VQYXJhbXN9IGZyb20gXCJyZWFjdC1yb3V0ZXItZG9tXCI7XG5pbXBvcnQge2NyZWF0ZVRoZW1lLCBDc3NCYXNlbGluZX0gZnJvbSBcIkBtdWkvbWF0ZXJpYWxcIjtcbmltcG9ydCBUaGVtZVByb3ZpZGVyIGZyb20gXCJAbXVpL3N0eWxlcy9UaGVtZVByb3ZpZGVyXCI7XG5pbXBvcnQge1RoZW1lUHJvdmlkZXIgYXMgRW1vdGlvblRoZW1lUHJvdmlkZXJ9IGZyb20gXCJAZW1vdGlvbi9yZWFjdFwiO1xuXG5pbXBvcnQgYXBwbGljYXRpb01hbmFnZXIgZnJvbSBcIi4uLy4uL0FwcGxpY2F0aW9uTWFuYWdlclwiO1xuaW1wb3J0IGFwcGxpY2F0aW9uTWFuYWdlciBmcm9tIFwiLi4vLi4vQXBwbGljYXRpb25NYW5hZ2VyXCI7XG5pbXBvcnQgVmlld1BvcnQgZnJvbSBcIi4uLy4uL2NvbXBvbmVudHMvbGF5b3V0L1ZpZXdQb3J0XCI7XG5pbXBvcnQgeyBPdmFsIH0gZnJvbSBcInJlYWN0LWxvYWRlci1zcGlubmVyXCI7XG5pbXBvcnQgVXRpbHMgZnJvbSBcIi4uLy4uL1V0aWxzXCI7XG5pbXBvcnQge3NlbmRSZXF1ZXN0fSBmcm9tIFwiLi4vLi4vUmVzdFV0aWxzXCI7XG5cbi8vIEhvc3RuYW1lIG9ubHkg4oCUIG1hdGNoZXMgdGhlIFVSTC1jb25zdHJ1Y3Rpb24gc3R5bGUgaW5cbi8vIEludGVyYWN0aW9uUG9ydGFsQXBwSG9tZS5qcy4gY29udGV4dC1yb290ICsgc2VydmljZSBwYXRoIGdldCBhcHBlbmRlZFxuLy8gd2hlbiB0aGUgYWN0dWFsIHJlcXVlc3QgaXMgYnVpbHQuXG5jb25zdCBob3N0ID0gd2luZG93LmxvY2F0aW9uLnByb3RvY29sICsgXCIvL1wiICsgd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lO1xuXG4vKipcbiAqIFNrZWxldG9uIGZvciB0aGUgcmVnaXN0cmF0aW9uIHBvcnRhbCDigJQgd2lyZXMgdGhlIEFwcGxpY2F0aW9uTWFuYWdlcixcbiAqIHRoZSBkdWFsIEVtb3Rpb24vTVVJIHRoZW1lIHByb3ZpZGVycywgYW5kIGEgQ0RVSSB7QGxpbmsgVmlld1BvcnR9LlxuICogVGhlIGFjdHVhbCByZWdpc3RyYXRpb24gdmlldyBsYW5kcyBpbiBhIGZvbGxvdy11cCBzcHJpbnRcbiAqIChzcGVjL3JlZ2lzdHJhdGlvbi5tZCDCpzIpLiBNaXJyb3JzIHtAY29kZSBJbnRlcmFjdGlvblBvcnRhbEFwcEhvbWUuanN9XG4gKiBmb3IgdGhlbWUgKyBtYW5hZ2VyIGluaXQgYnV0IG9taXRzIHRoZSB7QGNvZGUgL3N5c3RlbS9zZXR1cH0gYW5kXG4gKiB7QGNvZGUgL2F1dGgvdXNlci9maW5kfSBlbmRwb2ludHMg4oCUIHRoZSByZWdpc3RyYXRpb24gZmxvdyBydW5zXG4gKiB1bmF1dGhlbnRpY2F0ZWQgYW5kIHRoZXJlIGlzIG5vIGxvZ2dlZC1pbiB1c2VyIHRvIGxvb2sgdXAuXG4gKlxuICogPHA+QmVjYXVzZSBubyB7QGNvZGUgZGFzaGJvYXJkU2V0dGluZ3N9IGlzIGxvYWRlZCBoZXJlIChubyBhdXRoKSwgYm90aFxuICogdGhlIEVtb3Rpb24gb3V0ZXIgYW5kIE1hdGVyaWFsIGlubmVyIHRoZW1lcyBhcmUgc2VlZGVkIGZyb21cbiAqIHtAY29kZSBwcm9wcy5pbXBsQ29uZmlnLnByaW1hcnlDb2xvciAvIHNlY29uZGFyeUNvbG9yfSDigJQgdGhlIHNhbWVcbiAqIGZhbGxiYWNrIHRoZSBsb2dpbiBwb3J0YWwgdXNlcy5cbiAqL1xuLy8gVHlwZS1zY29wZWQgcmVnaXN0cmF0aW9uOiBlYWNoIHR5cGUgaGFzIGl0cyBvd24gd2l6YXJkIEpTT04gdW5kZXJcbi8vIC9wb3J0YWwvdmlld3MvcmVnaXN0cmF0aW9uLy4gTmV3IHR5cGVzIGFkZCBhbiBlbnRyeSBoZXJlLlxuY29uc3QgUkVHSVNUUkFUSU9OX1RZUEVfVE9fVklFVyA9IHtcbiAgICB2ZW5kb3I6ICcvcG9ydGFsL3ZpZXdzL3JlZ2lzdHJhdGlvbi9yZWdpc3RyYXRpb24tdmVuZG9yLmpzb24nLFxufTtcblxuLy8gRVVMQS1zdGFuZGFyZCBmb290ZXIgbGlua3MuIFRoZSBhZ3JlZW1lbnQgSFRNTCBmaWxlcyBhcmUgaG9zdGVkIHVuZGVyXG4vLyAvYWdyZWVtZW50cy88b3JnQ29kZT4vPGRvYz4uaHRtbCAoc2VydmVkIGJ5IG5naW54IGluIHByb2QgLyBTcHJpbmdcbi8vIHN0YXRpYy1yZXNvdXJjZSBtYXBwaW5nIGluIGRldikuIE5ldyBsZWdhbCBkb2N1bWVudHMgYWRkIGFuIGVudHJ5XG4vLyBoZXJlLiBXaGVuIGFjY2VwdGFuY2UtY2hlY2tib3ggY2FwdHVyZSBsYW5kcyBpbiB0aGUgd2l6YXJkLCBzd2l0Y2hcbi8vIHRoZXNlIFVSTHMgdG8gdmVyc2lvbmVkIHBhdGhzIChlLmcuIHRlcm1zLW9mLXNlcnZpY2UvdjEuaHRtbCkuXG5jb25zdCBGT09URVJfTElOS1MgPSBbXG4gICAge2xhYmVsOiAnVGVybXMgb2YgU2VydmljZScsIGZpbGU6ICd0ZXJtcy1vZi1zZXJ2aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQcml2YWN5IFBvbGljeScsIGZpbGU6ICdwcml2YWN5LXBvbGljeS5odG1sJ30sXG4gICAge2xhYmVsOiAnQ29va2llIE5vdGljZScsIGZpbGU6ICdjb29raWUtbm90aWNlLmh0bWwnfSxcbiAgICB7bGFiZWw6ICdQT1BJQSBOb3RpY2UnLCBmaWxlOiAncG9waWEtbm90aWNlLmh0bWwnfSxcbl07XG5cbi8vIFRoZSBiYXJlIC9yZWdpc3RlciBlbnRyeSBpcyBhIG9uZS1zaG90IGJvb3RzdHJhcDogaXQgbG9hZHMgdGhlIHdpemFyZCBncmFwaFxuLy8gYW5kIGltbWVkaWF0ZWx5IGZvcndhcmRzIGludG8gL3JlZ2lzdGVyLzx0eXBlPi88aWQ+IChzZWUgUm91dGVBY3Rpb25IYW5kbGVyKS5cbi8vIFRoYXQgbGVhdmVzIC9yZWdpc3RlciBhcyBhIHNwZW50LCBibGFuayBiYWNrLXRhcmdldC4gVGhpcyBtb2R1bGUtbGV2ZWwgZmxhZ1xuLy8gKHRydWUgb25jZSB3ZSd2ZSBib290c3RyYXBwZWQgdGhpcyBTUEEgc2Vzc2lvbikgbGV0cyBhICpiYWNrKi1uYXZpZ2F0aW9uIHRvXG4vLyB0aGUgYmFyZSBlbnRyeSByZWRpcmVjdCB0byAvbG9naW4gaW5zdGVhZCBvZiByZS1ib290c3RyYXBwaW5nIGludG8gYSBibGFua1xuLy8gcGFnZS4gSXQgcmVzZXRzIG9uIGEgZnVsbCBwYWdlIGxvYWQg4oCUIHdoaWNoIGlzIGV4YWN0bHkgaG93IGEgZnJlc2hcbi8vIHJlZ2lzdHJhdGlvbiBzdGFydHMsIHNpbmNlIHRoZSBsb2dpbiBwYWdlIGxpbmtzIHRvIC9yZWdpc3RlciB2aWEgPGEgaHJlZj4uXG5sZXQgcmVnaXN0cmF0aW9uQm9vdHN0cmFwcGVkID0gZmFsc2U7XG5cbmNvbnN0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWwgPSAocHJvcHMpID0+IHtcbiAgICBjb25zdCBuYXZpZ2F0ZSA9IHVzZU5hdmlnYXRlKCk7XG4gICAgLy8gVGhlIDp0eXBlIHJvdXRlIHNlZ21lbnQgKGUuZy4gJ3ZlbmRvcicpLiBGYWxscyBiYWNrIHRvICd2ZW5kb3InXG4gICAgLy8gd2hlbiB0aGUgcm91dGUgaGFzIG5vIHR5cGUgc2VnbWVudCB5ZXQg4oCUIGtlZXBzIGEgYmFyZSAvcmVnaXN0ZXJcbiAgICAvLyByZXF1ZXN0IHdvcmtpbmcgZHVyaW5nIHRoZSByb2xsb3V0IHdpbmRvdy5cbiAgICBjb25zdCB7dHlwZTogcmF3VHlwZX0gPSB1c2VQYXJhbXMoKTtcbiAgICBjb25zdCB0eXBlID0gKHJhd1R5cGUgfHwgJ3ZlbmRvcicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3Qgdmlld1BhdGggPSBSRUdJU1RSQVRJT05fVFlQRV9UT19WSUVXW3R5cGVdO1xuXG4gICAgLy8gR2F0ZXMgdGhlIHJlbmRlciDigJQgYmxvY2sgdGhlIFZpZXdQb3J0IG1vdW50IHVudGlsIHRoZSB3aXphcmRcbiAgICAvLyB2aWV3IEpTT04gaGFzIGJlZW4gZmV0Y2hlZCBhbmQgcmVnaXN0ZXJlZCB3aXRoIHRoZVxuICAgIC8vIEFwcGxpY2F0aW9uTWFuYWdlciwgb3RoZXJ3aXNlIHRoZSBDRFVJIHJvdXRlciBoYXMgbm90aGluZyB0b1xuICAgIC8vIHJlc29sdmUgd2hlbiBpdCBsYW5kcyBvbiAvdmlldy88dmlld0lkPi5cbiAgICBjb25zdCBbdmlld0xvYWRlZCwgc2V0Vmlld0xvYWRlZF0gPSBSZWFjdC51c2VTdGF0ZShmYWxzZSk7XG4gICAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSBSZWFjdC51c2VTdGF0ZShudWxsKTtcblxuICAgIC8vIEJhY2stbmF2aWdhdGlvbiBndWFyZC4gS2V5ZWQgb24gcmF3VHlwZSAobm90IHRoZSBib290c3RyYXAgZGVwcykgYmVjYXVzZVxuICAgIC8vIFJlYWN0IFJvdXRlciByZXVzZXMgdGhpcyBzYW1lIGNvbXBvbmVudCBpbnN0YW5jZSB3aGVuIHRoZSBVUkwgY2hhbmdlc1xuICAgIC8vIGJldHdlZW4gL3JlZ2lzdGVyLzp0eXBlIGFuZCB0aGUgYmFyZSAvcmVnaXN0ZXIg4oCUIGFuZCBgdHlwZWAgZGVmYXVsdHMgdG9cbiAgICAvLyAndmVuZG9yJyBpbiBib3RoLCBzbyB0aGUgYm9vdHN0cmFwIGVmZmVjdCdzIFt0eXBlLCB2aWV3UGF0aF0gZGVwcyBuZXZlclxuICAgIC8vIGNoYW5nZSBhbmQgd291bGQgbm90IHJlLXJ1bi4gcmF3VHlwZSwgaG93ZXZlciwgZmxpcHMgJ3ZlbmRvcicg4oaSIHVuZGVmaW5lZFxuICAgIC8vIG9uIHRoZSB3YXkgYmFjayB0byB0aGUgYmFyZSBlbnRyeS4gV2hlbiB0aGF0IGhhcHBlbnMgYWZ0ZXIgd2UndmUgYWxyZWFkeVxuICAgIC8vIGJvb3RzdHJhcHBlZCB0aGlzIHNlc3Npb24sIHRoZSB3aXphcmQgZ3JhcGggaXMgc3BlbnQgYW5kIHRoZSBiYXJlIGVudHJ5XG4gICAgLy8gd291bGQgcmVuZGVyIGJsYW5rIOKAlCBzZW5kIHRoZSB1c2VyIHRvIGxvZ2luIGluc3RlYWQuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFyYXdUeXBlICYmIHJlZ2lzdHJhdGlvbkJvb3RzdHJhcHBlZCkge1xuICAgICAgICAgICAgbmF2aWdhdGUoJy9sb2dpbicsIHtyZXBsYWNlOiB0cnVlfSk7XG4gICAgICAgIH1cbiAgICB9LCBbcmF3VHlwZV0pO1xuXG4gICAgUmVhY3QudXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgLy8gTWlycm9yIG9mIHRoZSBndWFyZCBhYm92ZSBmb3IgdGhlIHJlbW91bnQgY2FzZSAoZnJlc2ggbW91bnQgb24gdGhlXG4gICAgICAgIC8vIGJhcmUgZW50cnkgYWZ0ZXIgYm9vdHN0cmFwcGluZyk6IHNraXAgcmUtYm9vdHN0cmFwcGluZyBhbmQgYm91bmNlIHRvXG4gICAgICAgIC8vIGxvZ2luIHJhdGhlciB0aGFuIHJlbmRlcmluZyBibGFuay5cbiAgICAgICAgaWYgKCFyYXdUeXBlICYmIHJlZ2lzdHJhdGlvbkJvb3RzdHJhcHBlZCkge1xuICAgICAgICAgICAgbmF2aWdhdGUoJy9sb2dpbicsIHtyZXBsYWNlOiB0cnVlfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXZpZXdQYXRoKSB7XG4gICAgICAgICAgICBzZXRFcnJvcihgUmVnaXN0cmF0aW9uIHR5cGUgXCIke3R5cGV9XCIgaXMgbm90IHN1cHBvcnRlZC5gKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlJ3JlIGNvbW1pdHRpbmcgdG8gdGhlIGJvb3RzdHJhcCDigJQgbWFyayB0aGUgZmxvdyBhcyBlbnRlcmVkIHNvIGFcbiAgICAgICAgLy8gbGF0ZXIgYnJvd3Nlci1iYWNrIHRvIHRoZSBiYXJlIGVudHJ5IGhpdHMgdGhlIGd1YXJkIGFib3ZlLlxuICAgICAgICByZWdpc3RyYXRpb25Cb290c3RyYXBwZWQgPSB0cnVlO1xuXG5cbiAgICAgICAgLy8gSGFyZGNvZGVkIHRlbmFudCBmb3Igbm93IHVudGlsIHRlbmFudCByZXNvbHV0aW9uIGlzIGltcGxlbWVudGVkXG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldEFjdGl2ZVRlbmFudCgnQ09KJyk7XG5cbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0U2VydmljZUFwaVBhdGgocHJvcHMuaW1wbENvbmZpZy5zZXJ2aWNlQXBpUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldFVJQ29uZmlnUGF0aChwcm9wcy5pbXBsQ29uZmlnLnVpQ29uZmlnUGF0aCk7XG4gICAgICAgIGFwcGxpY2F0aW9NYW5hZ2VyLnNldENvbnRleHRSb290KHByb3BzLmNvbnRleHRSb290KTtcbiAgICAgICAgYXBwbGljYXRpb01hbmFnZXIuc2V0RmlsZXNBcGlQYXRoKHByb3BzLmltcGxDb25maWcuZmlsZXNBcGlQYXRoKTtcbiAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLnNldE5hdmlnYXRvcigocGF0aCkgPT4ge1xuICAgICAgICAgICAgbmF2aWdhdGUocGF0aCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8vIFB1YmxpYyBDRFVJIGZldGNoIOKAlCBoaXRzIHRoZSB1bnByb3RlY3RlZCBlbmRwb2ludCB3ZSBhZGRlZFxuICAgICAgICAvLyB0byBvdWktc2VydmVyICh3aGl0ZWxpc3RlZCBpbiBSZXNvdXJjZVNlcnZlckNvbmZpZykuIFRoZVxuICAgICAgICAvLyByZXR1cm5lZCBKU09OIGlzIGRpc3BhdGNoZWQgdGhlIHNhbWUgd2F5IFJvdXRlQWN0aW9uSGFuZGxlclxuICAgICAgICAvLyBkb2VzIGl0OiBzaW5nbGUtcGFnZSBgdmlld2Ag4oaSIGFkZFZpZXcgKyBuYXZpZ2F0ZTsgbXVsdGktc3RlcFxuICAgICAgICAvLyBgZ3JhcGhgIOKGkiBsb2FkR3JhcGggKHdoaWNoIG93bnMgc3RlcHBlciBzdGF0ZSArIGZpcnN0LW5vZGVcbiAgICAgICAgLy8gcm91dGluZykuIE1peGluZyB0aGVtIHVwIHJvdXRlcyBhIGdyYXBoIHRocm91Z2ggYWRkVmlldyBhbmRcbiAgICAgICAgLy8gbGVhdmVzIHRoZSB3aXphcmQgbm9kZXMgdW5yZWFjaGFibGUuXG4gICAgICAgIHNlbmRSZXF1ZXN0KFxuICAgICAgICAgICAgaG9zdCArIGFwcGxpY2F0aW9uTWFuYWdlci5nZXRDb250ZXh0Um9vdCgpICsgJy91aS9hcGkvdjEvdmlldy9wdWJsaWMvZ2V0P3ZlcnNpb249MS4wJmlkPScgKyB2aWV3UGF0aCxcbiAgICAgICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gc2VuZFJlcXVlc3QgYXV0by1kZWNvZGVzIHRoZSB7X2NkdWlfen0gd2lyZSB3cmFwIGZvclxuICAgICAgICAgICAgICAgIC8vIC91aS9hcGkvdiovIFVSTHMg4oCUIGRhdGEgaGVyZSBpcyB0aGUgcmF3IHZpZXcgY29uZmlnLlxuICAgICAgICAgICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdQdWJsaWMgcmVnaXN0cmF0aW9uIHZpZXcgZmV0Y2ggcmV0dXJuZWQgZW1wdHkgcGF5bG9hZCcpO1xuICAgICAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChkYXRhLnR5cGUgPT09ICdncmFwaCcpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gTWlycm9yIFJvdXRlQWN0aW9uSGFuZGxlcidzIGdyYXBoIGJyYW5jaDogaGFuZCB0aGVcbiAgICAgICAgICAgICAgICAgICAgLy8gcmF3IGNvbmZpZyB0byBsb2FkR3JhcGgsIHdoaWNoIG1hbmFnZXMgaW50ZXJuYWxcbiAgICAgICAgICAgICAgICAgICAgLy8gbm9kZSBuYXZpZ2F0aW9uLiBObyBtYW51YWwgbmF2aWdhdGUgaGVyZSDigJRcbiAgICAgICAgICAgICAgICAgICAgLy8gbG9hZEdyYXBoIHJvdXRlcyB0byB0aGUgZmlyc3Qgbm9kZSBpdHNlbGYuXG4gICAgICAgICAgICAgICAgICAgIGRhdGEuaXNXaW5kb3cgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmxvYWRHcmFwaCh0cnVlLCBkYXRhLCBbXSwgJ21haW4nKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0Vmlld0xvYWRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGRhdGEudHlwZSA9PT0gJ3ZpZXcnKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNpbmdsZS1wYWdlIHZpZXc6IGJ1aWxkIHRoZSBlbnZlbG9wZSBhbmQgcmVnaXN0ZXJcbiAgICAgICAgICAgICAgICAgICAgLy8gaXQgb24gdGhlICdtYWluJyBjb250ZXh0LCB0aGVuIG5hdmlnYXRlIHRvIHRoZVxuICAgICAgICAgICAgICAgICAgICAvLyB0eXBlLXNjb3BlZCByZWdpc3RlciByb3V0ZSBzbyB0aGUgVmlld1BvcnRcbiAgICAgICAgICAgICAgICAgICAgLy8gcmVzb2x2ZXMgaXQuIE1pcnJvcnMgUm91dGVBY3Rpb25IYW5kbGVyJ3Mgdmlld1xuICAgICAgICAgICAgICAgICAgICAvLyBicmFuY2gsIHdpdGggdGhlIHJlZ2lzdGVyLXBvcnRhbCBVUkwgcGF0dGVyblxuICAgICAgICAgICAgICAgICAgICAvLyAoL3JlZ2lzdGVyLzp0eXBlLzppZCkgc3Vic3RpdHV0ZWQgZm9yIC92aWV3LzppZC5cbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZGVmYXVsdE1vZGVsID0ge307XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHZpZXcgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25maWc6IGRhdGEsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiBbXSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcmVudDogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGU6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcGk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IGlkKCkgeyByZXR1cm4gZGF0YS5pZDsgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2V0IG1vZGVsKCkgeyByZXR1cm4gZGVmYXVsdE1vZGVsOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRDaGlsZDogKCkgPT4gbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXBkYXRlTW9kZWw6ICh2YWx1ZXMpID0+IHsgVXRpbHMudXBkYXRlTW9kZWwodmFsdWVzLCBkZWZhdWx0TW9kZWwpOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRNb2RlbFZhbHVlOiAoa2V5LCB2YWx1ZSkgPT4geyBkZWZhdWx0TW9kZWxba2V5XSA9IHZhbHVlOyB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRNb2RlbFZhbHVlOiAoa2V5KSA9PiBkZWZhdWx0TW9kZWxba2V5XSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVkOiAoKSA9PiBmYWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLmFkZFZpZXcodmlldywgZGF0YS5pZCwgdHJ1ZSwgJ21haW4nKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0Vmlld0xvYWRlZCh0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb25NYW5hZ2VyLm5hdmlnYXRlKCcvcmVnaXN0ZXIvJyArIHR5cGUgKyAnLycgKyBkYXRhLmlkKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdQdWJsaWMgcmVnaXN0cmF0aW9uIHZpZXcgZmV0Y2ggcmV0dXJuZWQgdW5leHBlY3RlZCB0eXBlJywgZGF0YS50eXBlLCBkYXRhKTtcbiAgICAgICAgICAgICAgICAgICAgc2V0RXJyb3IoJ1JlZ2lzdHJhdGlvbiB2aWV3IGNvdWxkIG5vdCBiZSBsb2FkZWQuJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRmFpbGVkIHRvIGxvYWQgcmVnaXN0cmF0aW9uIHZpZXcnLCBlKTtcbiAgICAgICAgICAgICAgICBzZXRFcnJvcignUmVnaXN0cmF0aW9uIHZpZXcgY291bGQgbm90IGJlIGxvYWRlZC4nKTtcbiAgICAgICAgICAgIH0sIGZhbHNlLCB0cnVlXG4gICAgICAgICk7XG4gICAgfSwgW3R5cGUsIHZpZXdQYXRoXSk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibWFpbiB3LTEwMCBoLTEwMCBkLWlubGluZS1ibG9jayBjb2otc2tpblwiIHN0eWxlPXt7ZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e21heFdpZHRoOiA0MjAsIHBhZGRpbmc6IDMyLCB0ZXh0QWxpZ246ICdjZW50ZXInfX0+XG4gICAgICAgICAgICAgICAgICAgIDxoMiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIG1hcmdpbjogJzAgMCAxMnB4J319Pk5vdCBhdmFpbGFibGU8L2gyPlxuICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT17e2NvbG9yOiAnIzZiNzc4NScsIG1hcmdpbjogJzAgMCAxNnB4J319PntlcnJvcn08L3A+XG4gICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIvbG9naW5cIiBzdHlsZT17e2NvbG9yOiAnIzFhM2M1ZScsIHRleHREZWNvcmF0aW9uOiAnbm9uZScsIGZvbnRXZWlnaHQ6IDUwMH19PkJhY2sgdG8gbG9naW48L2E+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBXaGlsZSB0aGUgcHVibGljIENEVUkgZmV0Y2ggaXMgaW4gZmxpZ2h0LCBzaG93IGEgYnJhbmRlZCBsb2FkaW5nIHNjcmVlblxuICAgIC8vIGFuZCBrZWVwIHRoZSBWaWV3UG9ydCB1bm1vdW50ZWQg4oCUIGl0IGhhcyBub3RoaW5nIHRvIHJlc29sdmUgdW50aWwgdGhlXG4gICAgLy8gd2l6YXJkIHZpZXcgSlNPTiBpcyBmZXRjaGVkIGFuZCByZWdpc3RlcmVkICh0aGUgdmlld0xvYWRlZCBnYXRlIHRoZVxuICAgIC8vIGhlYWRlciBjb21tZW50IGRlc2NyaWJlcykuIENvbG91cnMgZmFsbCBiYWNrIHRvIHRoZSBDT0ogcGFsZXR0ZSB3aGVuXG4gICAgLy8gaW1wbENvbmZpZyBoYXNuJ3QgYmVlbiBwbHVtYmVkIHRocm91Z2ggeWV0LlxuICAgIGlmICghdmlld0xvYWRlZCkge1xuICAgICAgICBjb25zdCBwcmltYXJ5ID0gKHByb3BzLmltcGxDb25maWcgJiYgcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IpIHx8ICcjMWEzYzVlJztcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCJcbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbiAgICAgICAgICAgICAgICAgICAgbWluSGVpZ2h0OiAnMTAwdmgnLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyMxYTNjNWUnLFxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBgI2YxZjFmMWAsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7LyogQ2FwdGlvbiBzaXRzIGluIHRoZSB1cHBlciBhcmVhOyB0aGUgc3Bpbm5lciBpcyBwaW5uZWQgZGVhZC1jZW50cmUuICovfVxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsIHRvcDogJzMwJScsIGxlZnQ6ICc1MCUnLCB0cmFuc2Zvcm06ICd0cmFuc2xhdGUoLTUwJSwgLTUwJSknLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnMTBweCcsXG4gICAgICAgICAgICAgICAgICAgIHRleHRBbGlnbjogJ2NlbnRlcicsIHdoaXRlU3BhY2U6ICdub3dyYXAnLFxuICAgICAgICAgICAgICAgIH19PlxuICAgICAgICAgICAgICAgICAgICA8aDEgc3R5bGU9e3ttYXJnaW46IDAsIGZvbnRTaXplOiAnNDJweCcsIGZvbnRXZWlnaHQ6IDcwMCwgbGV0dGVyU3BhY2luZzogJzAuMTBlbScsIHRleHRTaGFkb3c6ICcwIDJweCAxMnB4IHJnYmEoMCwwLDAsMC4yNSknfX0+XG4gICAgICAgICAgICAgICAgICAgIDwvaDE+XG4gICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPXt7bWFyZ2luOiAwLCBmb250U2l6ZTogJzE1cHgnLCBsZXR0ZXJTcGFjaW5nOiAnMC4wMmVtJywgb3BhY2l0eTogMC44Mn19PlxuICAgICAgICAgICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17e3Bvc2l0aW9uOiAnYWJzb2x1dGUnLCB0b3A6ICc1MCUnLCBsZWZ0OiAnNTAlJywgdHJhbnNmb3JtOiAndHJhbnNsYXRlKC01MCUsIC01MCUpJ319PlxuICAgICAgICAgICAgICAgICAgICA8T3ZhbFxuICAgICAgICAgICAgICAgICAgICAgICAgdmlzaWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjYwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiNjBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I9XCIjZmZmZmZmXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlY29uZGFyeUNvbG9yPVwicmdiYSgyNTUsMjU1LDI1NSwwLjMpXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPXszfVxuICAgICAgICAgICAgICAgICAgICAgICAgYXJpYUxhYmVsPVwicmVnaXN0cmF0aW9uLWxvYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVGVuYW50IGNvZGUgdGhhdCBzY29wZXMgdGhlIGFncmVlbWVudC1hc3NldCBwYXRoLiBEZWZhdWx0IHRvICdjb2onXG4gICAgLy8gdW50aWwgaW1wbENvbmZpZy5vcmdDb2RlIGlzIHBsdW1iZWQgdGhyb3VnaCBmcm9tIHRoZSBwb3J0YWwgY29uZmlnXG4gICAgLy8gZW5kcG9pbnQg4oCUIHRoZSBleGlzdGluZyBwYWdlcyBsaXZlIHVuZGVyIC9hZ3JlZW1lbnRzL2Nvai8uXG4gICAgY29uc3Qgb3JnQ29kZSA9IChwcm9wcy5pbXBsQ29uZmlnICYmIHByb3BzLmltcGxDb25maWcub3JnQ29kZVxuICAgICAgICA/IFN0cmluZyhwcm9wcy5pbXBsQ29uZmlnLm9yZ0NvZGUpXG4gICAgICAgIDogJ2NvaicpLnRvTG93ZXJDYXNlKCk7XG4gICAgY29uc3QgYWdyZWVtZW50QmFzZSA9IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyAnL2FncmVlbWVudHMvJyArIG9yZ0NvZGU7XG5cbiAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9XCJtYWluIHctMTAwIGgtMTAwIGQtaW5saW5lLWJsb2NrIGNvai1za2luXCJcbiAgICAgICAgICAgIHN0eWxlPXt7ZGlzcGxheTogJ2ZsZXgnLCBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJ319XG4gICAgICAgID5cbiAgICAgICAgICAgIDxkaXYgc3R5bGU9e3tmbGV4OiAnMSAxIGF1dG8nLCBtaW5IZWlnaHQ6ICdjYWxjKDEwMHZoIC0gNzJweCknLCBwb3NpdGlvbjogJ3JlbGF0aXZlJ319PlxuICAgICAgICAgICAgICAgIDxFbW90aW9uVGhlbWVQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICB0aGVtZT17Y3JlYXRlVGhlbWUoe1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFsZXR0ZToge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbjogcHJvcHMuaW1wbENvbmZpZy5wcmltYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbjogcHJvcHMuaW1wbENvbmZpZy5zZWNvbmRhcnlDb2xvcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8VGhlbWVQcm92aWRlclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhlbWU9e2NyZWF0ZVRoZW1lKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWxldHRlOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcucHJpbWFyeUNvbG9yLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWNvbmRhcnk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1haW46IHByb3BzLmltcGxDb25maWcuc2Vjb25kYXJ5Q29sb3IsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wb25lbnRzOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE11aUNzc0Jhc2VsaW5lOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHlsZU92ZXJyaWRlczoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvZHk6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlyZWZveFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzY3JvbGxiYXJDb2xvcjogJ3JnYmEoMTAwLCAxMDAsIDEwMCwgMC40KSB0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGJhcldpZHRoOiAndGhpbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBXZWJLaXQgYnJvd3NlcnNcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICc4cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICc4cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJzo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2snOiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICd0cmFuc3BhcmVudCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjQpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogJ2JhY2tncm91bmQtY29sb3IgMC4zcycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3Zlcic6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgxMDAsIDEwMCwgMTAwLCAwLjYpJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDc3NCYXNlbGluZS8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8Vmlld1BvcnQgd2luZG93UGlubmVkPXtmYWxzZX0gbWVudU9mZnNldD17MH0gbGFuZGluZ1BhZ2U9e1wiTk9ORVwifSBzdHlsZT17e3dpZHRoOiAnMTAwJScsIGhlaWdodDogJ2NhbGMoMTAwJSAtIDcycHgpJywgcG9zaXRpb246ICdmaXhlZCd9fS8+XG4gICAgICAgICAgICAgICAgICAgIDwvVGhlbWVQcm92aWRlcj5cbiAgICAgICAgICAgICAgICA8L0Vtb3Rpb25UaGVtZVByb3ZpZGVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8Zm9vdGVyXG4gICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZmxleFNocmluazogMCxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzE2cHggMjRweCcsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICcjZmZmZmZmJyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyVG9wOiAnMXB4IHNvbGlkICNlNmVhZjAnLFxuICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzEzcHgnLFxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJyM2Yjc3ODUnLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICBnYXA6ICcyNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXhXcmFwOiAnd3JhcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206ICc2cHgnXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7Rk9PVEVSX0xJTktTLm1hcCgobGluaykgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2xpbmsuZmlsZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBocmVmPXthZ3JlZW1lbnRCYXNlICsgJy8nICsgbGluay5maWxlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldD1cIl9ibGFua1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tjb2xvcjogJyMxYTNjNWUnLCB0ZXh0RGVjb3JhdGlvbjogJ25vbmUnLCBmb250V2VpZ2h0OiA1MDB9fVxuICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtsaW5rLmxhYmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8ZGl2PlxuICAgICAgICAgICAgICAgICAgICAmY29weTsge25ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKX0gQ2l0eSBvZiBKb2hhbm5lc2J1cmcuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L2Zvb3Rlcj5cbiAgICAgICAgPC9kaXY+XG4gICAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFJlZ2lzdGVySW50ZXJhY3Rpb25Qb3J0YWw7XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLGVBQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLFNBQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLGNBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLE9BQUEsR0FBQUosT0FBQTtBQUVBLElBQUFLLG1CQUFBLEdBQUFOLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxJQUFBTSxTQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxtQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsTUFBQSxHQUFBVCxzQkFBQSxDQUFBQyxPQUFBO0FBQ0EsSUFBQVMsVUFBQSxHQUFBVCxPQUFBO0FBQTRDLFNBQUFELHVCQUFBVyxDQUFBLFdBQUFBLENBQUEsSUFBQUEsQ0FBQSxDQUFBQyxVQUFBLEdBQUFELENBQUEsS0FBQUUsT0FBQSxFQUFBRixDQUFBO0FBRTVDO0FBQ0E7QUFDQTtBQUNBLE1BQU1HLElBQUksR0FBR0MsTUFBTSxDQUFDQyxRQUFRLENBQUNDLFFB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agilemotion/oui-react-js",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.18",
|
|
4
4
|
"description": "AgileMotion React UI Component Library - A comprehensive collection of dashboard components, forms, media controls, and more",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "",
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
"linkifyjs": "^4.1.3",
|
|
88
88
|
"mammoth": "^1.8.0",
|
|
89
89
|
"material-ui": "^0.20.2",
|
|
90
|
-
"mediasoup-client": "
|
|
90
|
+
"mediasoup-client": "3.12.3",
|
|
91
91
|
"mobx": "^5.15.4",
|
|
92
92
|
"moment": "^2.30.1",
|
|
93
93
|
"perfect-scrollbar": "^1.5.0",
|