botframework-webchat 4.15.8-main.20230406.9f00e6c → 4.15.8-main.20230412.960a5a5
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/webchat-es5.js +1 -1
- package/dist/webchat-minimal.js +1 -1
- package/dist/webchat.js +1 -1
- package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.d.ts +28 -0
- package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.d.ts.map +1 -0
- package/lib/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.js +50 -0
- package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.d.ts.map +1 -1
- package/lib/adaptiveCards/Attachment/AdaptiveCardRenderer.js +12 -3
- package/lib/adaptiveCards/AttachmentForScreenReader/AdaptiveCardAttachment.js +16 -13
- package/lib/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.js +5 -5
- package/lib/adaptiveCards/defaultStyleOptions.js +2 -2
- package/lib/addVersion.js +1 -1
- package/package.json +7 -7
- package/src/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.ts +52 -0
- package/src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx +7 -1
- package/src/adaptiveCards/AttachmentForScreenReader/AdaptiveCardAttachment.js +23 -13
- package/src/adaptiveCards/Styles/StyleSet/AdaptiveCardRenderer.ts +4 -4
- package/src/adaptiveCards/defaultStyleOptions.ts +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { AdaptiveCard } from 'adaptivecards';
|
|
2
|
+
/**
|
|
3
|
+
* Accessibility: "role" attribute must be set if "aria-label" is set.
|
|
4
|
+
*
|
|
5
|
+
* It is possible to render an Adaptive Card with empty content but "aria-label" attribute. The Adaptive Cards JSON looks like:
|
|
6
|
+
*
|
|
7
|
+
* ```json
|
|
8
|
+
* {
|
|
9
|
+
* "type": "AdaptiveCard",
|
|
10
|
+
* "speak": "Hello, World!",
|
|
11
|
+
* "body": [],
|
|
12
|
+
* "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
|
|
13
|
+
* "version": "1.5"
|
|
14
|
+
* }
|
|
15
|
+
* ```
|
|
16
|
+
*
|
|
17
|
+
* The HTML output will be:
|
|
18
|
+
*
|
|
19
|
+
* ```html
|
|
20
|
+
* <div class="ac-adaptiveCard" aria-label="Hello, World!"></div>
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* This violates WAI-ARIA because "aria-label" must not be set on an element without a "role".
|
|
24
|
+
*
|
|
25
|
+
* We need to set "role" attribute to "form" if the card has any input fields and is valid as a "form" role, otherwise, "figure".
|
|
26
|
+
*/
|
|
27
|
+
export default function useRoleModEffect(adaptiveCard: AdaptiveCard): readonly [(cardElement: HTMLElement) => void, () => void];
|
|
28
|
+
//# sourceMappingURL=useRoleModEffect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useRoleModEffect.d.ts","sourceRoot":"","sources":["../../../../src/adaptiveCards/Attachment/AdaptiveCardHacks/useRoleModEffect.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,UAAU,gBAAgB,CACtC,YAAY,EAAE,YAAY,GACzB,SAAS,CAAC,CAAC,WAAW,EAAE,WAAW,KAAK,IAAI,EAAE,MAAM,IAAI,CAAC,CAiB3D"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = useRoleModEffect;
|
|
9
|
+
|
|
10
|
+
var _react = require("react");
|
|
11
|
+
|
|
12
|
+
var _setOrRemoveAttributeIfFalseWithUndo = _interopRequireDefault(require("../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo"));
|
|
13
|
+
|
|
14
|
+
var _useAdaptiveCardModEffect = _interopRequireDefault(require("./private/useAdaptiveCardModEffect"));
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Accessibility: "role" attribute must be set if "aria-label" is set.
|
|
18
|
+
*
|
|
19
|
+
* It is possible to render an Adaptive Card with empty content but "aria-label" attribute. The Adaptive Cards JSON looks like:
|
|
20
|
+
*
|
|
21
|
+
* ```json
|
|
22
|
+
* {
|
|
23
|
+
* "type": "AdaptiveCard",
|
|
24
|
+
* "speak": "Hello, World!",
|
|
25
|
+
* "body": [],
|
|
26
|
+
* "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
|
|
27
|
+
* "version": "1.5"
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* The HTML output will be:
|
|
32
|
+
*
|
|
33
|
+
* ```html
|
|
34
|
+
* <div class="ac-adaptiveCard" aria-label="Hello, World!"></div>
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* This violates WAI-ARIA because "aria-label" must not be set on an element without a "role".
|
|
38
|
+
*
|
|
39
|
+
* We need to set "role" attribute to "form" if the card has any input fields and is valid as a "form" role, otherwise, "figure".
|
|
40
|
+
*/
|
|
41
|
+
function useRoleModEffect(adaptiveCard) {
|
|
42
|
+
var modder = (0, _react.useMemo)(function () {
|
|
43
|
+
return function (_, cardElement) {
|
|
44
|
+
return (0, _setOrRemoveAttributeIfFalseWithUndo.default)(cardElement, 'role', // "form" role requires either "aria-label", "aria-labelledby", or "title".
|
|
45
|
+
cardElement.querySelector('button, input, select, textarea') && cardElement.getAttribute('aria-label') || cardElement.getAttribute('aria-labelledby') || cardElement.getAttribute('title') ? 'form' : 'figure');
|
|
46
|
+
};
|
|
47
|
+
}, []);
|
|
48
|
+
return (0, _useAdaptiveCardModEffect.default)(modder, adaptiveCard);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VSb2xlTW9kRWZmZWN0IiwiYWRhcHRpdmVDYXJkIiwibW9kZGVyIiwidXNlTWVtbyIsIl8iLCJjYXJkRWxlbWVudCIsInNldE9yUmVtb3ZlQXR0cmlidXRlSWZGYWxzZVdpdGhVbmRvIiwicXVlcnlTZWxlY3RvciIsImdldEF0dHJpYnV0ZSIsInVzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdCJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvQXR0YWNobWVudC9BZGFwdGl2ZUNhcmRIYWNrcy91c2VSb2xlTW9kRWZmZWN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyBmcm9tICcuLi8uLi9ET01NYW5pcHVsYXRpb25XaXRoVW5kby9zZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkTW9kRWZmZWN0IGZyb20gJy4vcHJpdmF0ZS91c2VBZGFwdGl2ZUNhcmRNb2RFZmZlY3QnO1xuXG5pbXBvcnQgdHlwZSB7IEFkYXB0aXZlQ2FyZCB9IGZyb20gJ2FkYXB0aXZlY2FyZHMnO1xuXG4vKipcbiAqIEFjY2Vzc2liaWxpdHk6IFwicm9sZVwiIGF0dHJpYnV0ZSBtdXN0IGJlIHNldCBpZiBcImFyaWEtbGFiZWxcIiBpcyBzZXQuXG4gKlxuICogSXQgaXMgcG9zc2libGUgdG8gcmVuZGVyIGFuIEFkYXB0aXZlIENhcmQgd2l0aCBlbXB0eSBjb250ZW50IGJ1dCBcImFyaWEtbGFiZWxcIiBhdHRyaWJ1dGUuIFRoZSBBZGFwdGl2ZSBDYXJkcyBKU09OIGxvb2tzIGxpa2U6XG4gKlxuICogYGBganNvblxuICoge1xuICogICBcInR5cGVcIjogXCJBZGFwdGl2ZUNhcmRcIixcbiAqICAgXCJzcGVha1wiOiBcIkhlbGxvLCBXb3JsZCFcIixcbiAqICAgXCJib2R5XCI6IFtdLFxuICogICBcIiRzY2hlbWFcIjogXCJodHRwOi8vYWRhcHRpdmVjYXJkcy5pby9zY2hlbWFzL2FkYXB0aXZlLWNhcmQuanNvblwiLFxuICogICBcInZlcnNpb25cIjogXCIxLjVcIlxuICogfVxuICogYGBgXG4gKlxuICogVGhlIEhUTUwgb3V0cHV0IHdpbGwgYmU6XG4gKlxuICogYGBgaHRtbFxuICogPGRpdiBjbGFzcz1cImFjLWFkYXB0aXZlQ2FyZFwiIGFyaWEtbGFiZWw9XCJIZWxsbywgV29ybGQhXCI+PC9kaXY+XG4gKiBgYGBcbiAqXG4gKiBUaGlzIHZpb2xhdGVzIFdBSS1BUklBIGJlY2F1c2UgXCJhcmlhLWxhYmVsXCIgbXVzdCBub3QgYmUgc2V0IG9uIGFuIGVsZW1lbnQgd2l0aG91dCBhIFwicm9sZVwiLlxuICpcbiAqIFdlIG5lZWQgdG8gc2V0IFwicm9sZVwiIGF0dHJpYnV0ZSB0byBcImZvcm1cIiBpZiB0aGUgY2FyZCBoYXMgYW55IGlucHV0IGZpZWxkcyBhbmQgaXMgdmFsaWQgYXMgYSBcImZvcm1cIiByb2xlLCBvdGhlcndpc2UsIFwiZmlndXJlXCIuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIHVzZVJvbGVNb2RFZmZlY3QoXG4gIGFkYXB0aXZlQ2FyZDogQWRhcHRpdmVDYXJkXG4pOiByZWFkb25seSBbKGNhcmRFbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gdm9pZCwgKCkgPT4gdm9pZF0ge1xuICBjb25zdCBtb2RkZXIgPSB1c2VNZW1vKFxuICAgICgpID0+IChfLCBjYXJkRWxlbWVudDogSFRNTEVsZW1lbnQpID0+XG4gICAgICBzZXRPclJlbW92ZUF0dHJpYnV0ZUlmRmFsc2VXaXRoVW5kbyhcbiAgICAgICAgY2FyZEVsZW1lbnQsXG4gICAgICAgICdyb2xlJyxcbiAgICAgICAgLy8gXCJmb3JtXCIgcm9sZSByZXF1aXJlcyBlaXRoZXIgXCJhcmlhLWxhYmVsXCIsIFwiYXJpYS1sYWJlbGxlZGJ5XCIsIG9yIFwidGl0bGVcIi5cbiAgICAgICAgKGNhcmRFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2J1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEnKSAmJiBjYXJkRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSkgfHxcbiAgICAgICAgICBjYXJkRWxlbWVudC5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWxsZWRieScpIHx8XG4gICAgICAgICAgY2FyZEVsZW1lbnQuZ2V0QXR0cmlidXRlKCd0aXRsZScpXG4gICAgICAgICAgPyAnZm9ybSdcbiAgICAgICAgICA6ICdmaWd1cmUnXG4gICAgICApLFxuICAgIFtdXG4gICk7XG5cbiAgcmV0dXJuIHVzZUFkYXB0aXZlQ2FyZE1vZEVmZmVjdChtb2RkZXIsIGFkYXB0aXZlQ2FyZCk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOztBQUVBOztBQUNBOztBQUlBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsU0FBU0EsZ0JBQVQsQ0FDYkMsWUFEYSxFQUU4QztFQUMzRCxJQUFNQyxNQUFNLEdBQUcsSUFBQUMsY0FBQSxFQUNiO0lBQUEsT0FBTSxVQUFDQyxDQUFELEVBQUlDLFdBQUo7TUFBQSxPQUNKLElBQUFDLDRDQUFBLEVBQ0VELFdBREYsRUFFRSxNQUZGLEVBR0U7TUFDQ0EsV0FBVyxDQUFDRSxhQUFaLENBQTBCLGlDQUExQixLQUFnRUYsV0FBVyxDQUFDRyxZQUFaLENBQXlCLFlBQXpCLENBQWpFLElBQ0VILFdBQVcsQ0FBQ0csWUFBWixDQUF5QixpQkFBekIsQ0FERixJQUVFSCxXQUFXLENBQUNHLFlBQVosQ0FBeUIsT0FBekIsQ0FGRixHQUdJLE1BSEosR0FJSSxRQVJOLENBREk7SUFBQSxDQUFOO0VBQUEsQ0FEYSxFQVliLEVBWmEsQ0FBZjtFQWVBLE9BQU8sSUFBQUMsaUNBQUEsRUFBeUJQLE1BQXpCLEVBQWlDRCxZQUFqQyxDQUFQO0FBQ0QifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AdaptiveCardRenderer.d.ts","sourceRoot":"","sources":["../../../src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,YAAY,EAA+B,MAAM,eAAe,CAAC;AAIxG,OAAc,EAOZ,GAAG,EACJ,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"AdaptiveCardRenderer.d.ts","sourceRoot":"","sources":["../../../src/adaptiveCards/Attachment/AdaptiveCardRenderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAgC,YAAY,EAA+B,MAAM,eAAe,CAAC;AAIxG,OAAc,EAOZ,GAAG,EACJ,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAmBtE,KAAK,yBAAyB,GAAG;IAC/B,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,YAAY,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,oBAAoB,CAAC;CAClC,CAAC;AAEF,QAAA,MAAM,oBAAoB,EAAE,GAAG,CAAC,yBAAyB,CAkNxD,CAAC;AAuBF,eAAe,oBAAoB,CAAC"}
|
|
@@ -35,6 +35,8 @@ var _useDisabledModEffect3 = _interopRequireDefault(require("./AdaptiveCardHacks
|
|
|
35
35
|
|
|
36
36
|
var _usePersistValuesModEffect = _interopRequireDefault(require("./AdaptiveCardHacks/usePersistValuesModEffect"));
|
|
37
37
|
|
|
38
|
+
var _useRoleModEffect3 = _interopRequireDefault(require("./AdaptiveCardHacks/useRoleModEffect"));
|
|
39
|
+
|
|
38
40
|
var _useValueRef = _interopRequireDefault(require("./AdaptiveCardHacks/private/useValueRef"));
|
|
39
41
|
|
|
40
42
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -202,12 +204,18 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
|
|
|
202
204
|
applyPersistValuesMod = _usePersistValuesModE2[0],
|
|
203
205
|
undoPersistValuesMod = _usePersistValuesModE2[1];
|
|
204
206
|
|
|
207
|
+
var _useRoleModEffect = (0, _useRoleModEffect3.default)(adaptiveCard),
|
|
208
|
+
_useRoleModEffect2 = (0, _slicedToArray2.default)(_useRoleModEffect, 2),
|
|
209
|
+
applyRoleMod = _useRoleModEffect2[0],
|
|
210
|
+
undoRoleMod = _useRoleModEffect2[1];
|
|
211
|
+
|
|
205
212
|
var _useMemo = (0, _react.useMemo)(function () {
|
|
206
213
|
undoActionShouldBePushButtonMod();
|
|
207
214
|
undoActionSetShouldNotBeMenuBarMod();
|
|
208
215
|
undoActiveElementMod();
|
|
209
216
|
undoDisabledMod();
|
|
210
217
|
undoPersistValuesMod();
|
|
218
|
+
undoRoleMod();
|
|
211
219
|
return (0, _renderAdaptiveCard.default)(adaptiveCard, {
|
|
212
220
|
adaptiveCardsHostConfig: adaptiveCardsHostConfig,
|
|
213
221
|
adaptiveCardsPackage: {
|
|
@@ -217,7 +225,7 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
|
|
|
217
225
|
renderMarkdownAsHTML: renderMarkdownAsHTML,
|
|
218
226
|
setTabIndexAtCardRoot: setTabIndexAtCardRoot
|
|
219
227
|
});
|
|
220
|
-
}, [adaptiveCard, adaptiveCardsHostConfig, GlobalSettings, HostConfig, renderMarkdownAsHTML, setTabIndexAtCardRoot, undoActionShouldBePushButtonMod, undoActionSetShouldNotBeMenuBarMod, undoActiveElementMod, undoDisabledMod, undoPersistValuesMod]),
|
|
228
|
+
}, [adaptiveCard, adaptiveCardsHostConfig, GlobalSettings, HostConfig, renderMarkdownAsHTML, setTabIndexAtCardRoot, undoActionShouldBePushButtonMod, undoActionSetShouldNotBeMenuBarMod, undoActiveElementMod, undoDisabledMod, undoPersistValuesMod, undoRoleMod]),
|
|
221
229
|
element = _useMemo.element,
|
|
222
230
|
errors = _useMemo.errors;
|
|
223
231
|
|
|
@@ -239,7 +247,8 @@ var AdaptiveCardRenderer = function AdaptiveCardRenderer(_ref) {
|
|
|
239
247
|
applyActiveElementMod(element);
|
|
240
248
|
applyDisabledMod(element, disabled);
|
|
241
249
|
applyPersistValuesMod(element);
|
|
242
|
-
|
|
250
|
+
applyRoleMod(element);
|
|
251
|
+
}, [actionPerformedClassName, applyActionShouldBePushButtonMod, applyActionSetShouldNotBeMenuBarMod, applyActiveElementMod, applyDisabledMod, applyPersistValuesMod, applyRoleMod, disabled, element]);
|
|
243
252
|
return errors !== null && errors !== void 0 && errors.length ? node_env === 'development' && /*#__PURE__*/_react.default.createElement(ErrorBox, {
|
|
244
253
|
error: errors[0],
|
|
245
254
|
type: localize('ADAPTIVE_CARD_ERROR_BOX_TITLE_RENDER')
|
|
@@ -271,4 +280,4 @@ AdaptiveCardRenderer.propTypes = {
|
|
|
271
280
|
};
|
|
272
281
|
var _default = AdaptiveCardRenderer;
|
|
273
282
|
exports.default = _default;
|
|
274
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFcnJvckJveCIsIkNvbXBvbmVudHMiLCJ1c2VEaXNhYmxlZCIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwidXNlUGVyZm9ybUNhcmRBY3Rpb24iLCJ1c2VSZW5kZXJNYXJrZG93bkFzSFRNTCIsInVzZVNjcm9sbFRvRW5kIiwidXNlU3R5bGVTZXQiLCJub2RlX2VudiIsIkFkYXB0aXZlQ2FyZFJlbmRlcmVyIiwiYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lIiwiYWRhcHRpdmVDYXJkIiwiZGlzYWJsZWRGcm9tUHJvcHMiLCJkaXNhYmxlZCIsInRhcEFjdGlvbiIsImFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQiLCJhZGFwdGl2ZUNhcmRSZW5kZXJlciIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiR2xvYmFsU2V0dGluZ3MiLCJIb3N0Q29uZmlnIiwidXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWciLCJhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsImRpc2FibGVkRnJvbUNvbXBvc2VyIiwiY29udGVudFJlZiIsInVzZVJlZiIsImxvY2FsaXplIiwicGVyZm9ybUNhcmRBY3Rpb24iLCJyZW5kZXJNYXJrZG93bkFzSFRNTCIsInNjcm9sbFRvRW5kIiwidGFwQWN0aW9uUmVmIiwidXNlVmFsdWVSZWYiLCJkaXNhYmxlZFJlZiIsImhhbmRsZUNsaWNrQW5kS2V5UHJlc3MiLCJ1c2VDYWxsYmFjayIsImV2ZW50Iiwia2V5IiwidHlwZSIsInRhcmdldCIsImN1cnJlbnQiLCJhZGFwdGl2ZUNhcmRSb290IiwicXVlcnlTZWxlY3RvciIsImNvbnNvbGUiLCJ3YXJuIiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsImdldFRhYkluZGV4IiwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiIsInVuZGVmaW5lZCIsImhhbmRsZUV4ZWN1dGVBY3Rpb24iLCJhY3Rpb24iLCJhY3Rpb25UeXBlTmFtZSIsImdldEpzb25UeXBlTmFtZSIsImltYWdlIiwiaWNvblVybCIsInRpdGxlIiwidmFsdWUiLCJ1cmwiLCJkYXRhIiwiX19pc0JvdEZyYW1ld29ya0NhcmRBY3Rpb24iLCJjYXJkQWN0aW9uIiwiZXJyb3IiLCJzZXRUYWJJbmRleEF0Q2FyZFJvb3QiLCJ1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QiLCJhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCIsInVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QiLCJ1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QiLCJhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCIsInVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QiLCJ1c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0IiwiYXBwbHlBY3RpdmVFbGVtZW50TW9kIiwidW5kb0FjdGl2ZUVsZW1lbnRNb2QiLCJ1c2VEaXNhYmxlZE1vZEVmZmVjdCIsImFwcGx5RGlzYWJsZWRNb2QiLCJ1bmRvRGlzYWJsZWRNb2QiLCJ1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0IiwiYXBwbHlQZXJzaXN0VmFsdWVzTW9kIiwidW5kb1BlcnNpc3RWYWx1ZXNNb2QiLCJ1c2VNZW1vIiwicmVuZGVyQWRhcHRpdmVDYXJkIiwiYWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJlbGVtZW50IiwiZXJyb3JzIiwib25FeGVjdXRlQWN0aW9uIiwidXNlTGF5b3V0RWZmZWN0IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImxlbmd0aCIsImNsYXNzTmFtZXMiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInNoYXBlIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRpdmVDYXJkcy9BdHRhY2htZW50L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbLTEsIDAsIDJdIH1dICovXG5cbmltcG9ydCB7IEFjdGlvbiBhcyBBZGFwdGl2ZUNhcmRBY3Rpb24sIEFkYXB0aXZlQ2FyZCwgT3BlblVybEFjdGlvbiwgU3VibWl0QWN0aW9uIH0gZnJvbSAnYWRhcHRpdmVjYXJkcyc7XG5pbXBvcnQgeyBDb21wb25lbnRzLCBnZXRUYWJJbmRleCwgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEtleWJvYXJkRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICBWRkNcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RMaW5lQ2FyZEFjdGlvbiB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5pbXBvcnQgeyBCb3RGcmFtZXdvcmtDYXJkQWN0aW9uIH0gZnJvbSAnLi9BZGFwdGl2ZUNhcmRCdWlsZGVyJztcbmltcG9ydCByZW5kZXJBZGFwdGl2ZUNhcmQgZnJvbSAnLi9wcml2YXRlL3JlbmRlckFkYXB0aXZlQ2FyZCc7XG5pbXBvcnQgdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0JztcbmltcG9ydCB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QnO1xuaW1wb3J0IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0JztcbmltcG9ydCB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyBmcm9tICcuLi9ob29rcy91c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UgZnJvbSAnLi4vaG9va3MvdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UnO1xuaW1wb3J0IHVzZURpc2FibGVkTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlRGlzYWJsZWRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0JztcbmltcG9ydCB1c2VWYWx1ZVJlZiBmcm9tICcuL0FkYXB0aXZlQ2FyZEhhY2tzL3ByaXZhdGUvdXNlVmFsdWVSZWYnO1xuXG5jb25zdCB7IEVycm9yQm94IH0gPSBDb21wb25lbnRzO1xuY29uc3QgeyB1c2VEaXNhYmxlZCwgdXNlTG9jYWxpemVyLCB1c2VQZXJmb3JtQ2FyZEFjdGlvbiwgdXNlUmVuZGVyTWFya2Rvd25Bc0hUTUwsIHVzZVNjcm9sbFRvRW5kLCB1c2VTdHlsZVNldCB9ID0gaG9va3M7XG5cbmNvbnN0IG5vZGVfZW52ID0gcHJvY2Vzcy5lbnYubm9kZV9lbnYgfHwgcHJvY2Vzcy5lbnYuTk9ERV9FTlY7XG5cbnR5cGUgQWRhcHRpdmVDYXJkUmVuZGVyZXJQcm9wcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lPzogc3RyaW5nO1xuICBhZGFwdGl2ZUNhcmQ6IEFkYXB0aXZlQ2FyZDtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICB0YXBBY3Rpb24/OiBEaXJlY3RMaW5lQ2FyZEFjdGlvbjtcbn07XG5cbmNvbnN0IEFkYXB0aXZlQ2FyZFJlbmRlcmVyOiBWRkM8QWRhcHRpdmVDYXJkUmVuZGVyZXJQcm9wcz4gPSAoe1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWUsXG4gIGFkYXB0aXZlQ2FyZCxcbiAgZGlzYWJsZWQ6IGRpc2FibGVkRnJvbVByb3BzLFxuICB0YXBBY3Rpb25cbn0pID0+IHtcbiAgY29uc3QgW3sgYWRhcHRpdmVDYXJkUmVuZGVyZXI6IGFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQgfV0gPSB1c2VTdHlsZVNldCgpO1xuICBjb25zdCBbeyBHbG9iYWxTZXR0aW5ncywgSG9zdENvbmZpZyB9XSA9IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlKCk7XG4gIGNvbnN0IFthZGFwdGl2ZUNhcmRzSG9zdENvbmZpZ10gPSB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZygpO1xuICBjb25zdCBbZGlzYWJsZWRGcm9tQ29tcG9zZXJdID0gdXNlRGlzYWJsZWQoKTtcbiAgY29uc3QgY29udGVudFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcGVyZm9ybUNhcmRBY3Rpb24gPSB1c2VQZXJmb3JtQ2FyZEFjdGlvbigpO1xuICBjb25zdCByZW5kZXJNYXJrZG93bkFzSFRNTCA9IHVzZVJlbmRlck1hcmtkb3duQXNIVE1MKCk7XG4gIGNvbnN0IHNjcm9sbFRvRW5kID0gdXNlU2Nyb2xsVG9FbmQoKTtcblxuICBjb25zdCBkaXNhYmxlZCA9IGRpc2FibGVkRnJvbUNvbXBvc2VyIHx8IGRpc2FibGVkRnJvbVByb3BzO1xuICBjb25zdCB0YXBBY3Rpb25SZWYgPSB1c2VWYWx1ZVJlZih0YXBBY3Rpb24pO1xuXG4gIGNvbnN0IGRpc2FibGVkUmVmID0gdXNlVmFsdWVSZWYoZGlzYWJsZWQpO1xuXG4gIC8vIFRPRE86IFtQMl0gIzMxOTkgV2Ugc2hvdWxkIGNvbnNpZGVyIHVzaW5nIGBhZGFwdGl2ZUNhcmQuc2VsZWN0QWN0aW9uYCBpbnN0ZWFkLlxuICAvLyBUaGUgbnVsbCBjaGVjayBmb3IgXCJ0YXBBY3Rpb25cIiBpcyBpbiBcImhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb25cIi5cbiAgY29uc3QgaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyA9IHVzZUNhbGxiYWNrPEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50PiB8IE1vdXNlRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pj4oXG4gICAgKGV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCB7IGtleSwgdHlwZSB9ID0gZXZlbnQgYXMgS2V5Ym9hcmRFdmVudDtcbiAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRGl2RWxlbWVudDtcblxuICAgICAgLy8gU29tZSBpdGVtcywgZS5nLiB0YXBwYWJsZSB0ZXh0LCBjYW5ub3QgYmUgZGlzYWJsZWQgdGhydSBET00gYXR0cmlidXRlc1xuICAgICAgY29uc3QgeyBjdXJyZW50IH0gPSBjb250ZW50UmVmO1xuICAgICAgY29uc3QgYWRhcHRpdmVDYXJkUm9vdCA9IGN1cnJlbnQucXVlcnlTZWxlY3RvcignLmFjLWFkYXB0aXZlQ2FyZFt0YWJpbmRleD1cIjBcIl0nKTtcblxuICAgICAgaWYgKCFhZGFwdGl2ZUNhcmRSb290KSB7XG4gICAgICAgIHJldHVybiBjb25zb2xlLndhcm4oXG4gICAgICAgICAgJ2JvdGZyYW1ld29yay13ZWJjaGF0OiBObyBBZGFwdGl2ZSBDYXJkIHJvb3QgY29udGFpbmVyIGNhbiBiZSBmb3VuZDsgdGhlIGNhcmQgaXMgcHJvYmFibHkgb24gYW4gdW5zdXBwb3J0ZWQgQWRhcHRpdmUgQ2FyZCB2ZXJzaW9uLidcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgLy8gRm9yIFwia2V5cHJlc3NcIiBldmVudCwgd2Ugb25seSBsaXN0ZW4gdG8gRU5URVIgYW5kIFNQQUNFQkFSIGtleS5cbiAgICAgIGlmICh0eXBlID09PSAna2V5cHJlc3MnKSB7XG4gICAgICAgIGlmIChrZXkgIT09ICdFbnRlcicgJiYga2V5ICE9PSAnICcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBXZSB3aWxsIGNhbGwgcGVyZm9ybUNhcmRBY3Rpb24gaWYgZWl0aGVyOlxuICAgICAgLy8gMS4gV2UgYXJlIG9uIHRoZSB0YXJnZXQsIG9yXG4gICAgICAvLyAyLiBUaGUgZXZlbnQtZGlzcGF0Y2hpbmcgZWxlbWVudCBpcyBub3QgaW50ZXJhY3RpdmVcbiAgICAgIGlmICh0YXJnZXQgIT09IGFkYXB0aXZlQ2FyZFJvb3QpIHtcbiAgICAgICAgY29uc3QgdGFiSW5kZXggPSBnZXRUYWJJbmRleCh0YXJnZXQpO1xuXG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGlzIGNsaWNraW5nIG9uIHNvbWV0aGluZyB0aGF0IGlzIGFscmVhZHkgY2xpY2thYmxlLCBkbyBub3QgYWxsb3cgdGhlbSB0byBjbGljayB0aGUgY2FyZC5cbiAgICAgICAgLy8gRS5nLiBhIGhlcm8gY2FyZCBjYW4gYmUgdGFwcGFibGUsIGFuZCBpbWFnZSBhbmQgYnV0dG9ucyBpbnNpZGUgdGhlIGhlcm8gY2FyZCBjYW4gYWxzbyBiZSB0YXBwYWJsZS5cbiAgICAgICAgaWYgKHR5cGVvZiB0YWJJbmRleCA9PT0gJ251bWJlcicgJiYgdGFiSW5kZXggPj0gMCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwZXJmb3JtQ2FyZEFjdGlvbih0YXBBY3Rpb25SZWYuY3VycmVudCk7XG4gICAgICBzY3JvbGxUb0VuZCgpO1xuICAgIH0sXG4gICAgW2NvbnRlbnRSZWYsIHBlcmZvcm1DYXJkQWN0aW9uLCBzY3JvbGxUb0VuZCwgdGFwQWN0aW9uUmVmXVxuICApO1xuXG4gIC8vIE9ubHkgbGlzdGVuIHRvIGV2ZW50IGlmIGl0IGlzIG5vdCBkaXNhYmxlZCBhbmQgaGF2ZSBcInRhcEFjdGlvblwiIHByb3AuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24gPSAhZGlzYWJsZWQgJiYgdGFwQWN0aW9uID8gaGFuZGxlQ2xpY2tBbmRLZXlQcmVzcyA6IHVuZGVmaW5lZDtcblxuICBjb25zdCBoYW5kbGVFeGVjdXRlQWN0aW9uID0gdXNlQ2FsbGJhY2soXG4gICAgKGFjdGlvbjogQWRhcHRpdmVDYXJkQWN0aW9uKTogdm9pZCA9PiB7XG4gICAgICAvLyBTb21lIGl0ZW1zLCBlLmcuIHRhcHBhYmxlIGltYWdlLCBjYW5ub3QgYmUgZGlzYWJsZWQgdGhydSBET00gYXR0cmlidXRlc1xuICAgICAgaWYgKGRpc2FibGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBhY3Rpb25UeXBlTmFtZSA9IGFjdGlvbi5nZXRKc29uVHlwZU5hbWUoKTtcbiAgICAgIGNvbnN0IHsgaWNvblVybDogaW1hZ2UsIHRpdGxlIH0gPSBhY3Rpb247XG5cbiAgICAgIC8vIFdlIGNhbm5vdCB1c2UgXCJpbnN0YW5jZW9mXCIgY2hlY2sgaGVyZSwgYmVjYXVzZSB3ZWIgZGV2cyBtYXkgYnJpbmcgdGhlaXIgb3duIHZlcnNpb24gb2YgQWRhcHRpdmUgQ2FyZHMgcGFja2FnZS5cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgdXNpbmcgXCJnZXRKc29uVHlwZU5hbWUoKVwiIGluc3RlYWQuXG4gICAgICBpZiAoYWN0aW9uVHlwZU5hbWUgPT09ICdBY3Rpb24uT3BlblVybCcpIHtcbiAgICAgICAgY29uc3QgeyB1cmw6IHZhbHVlIH0gPSBhY3Rpb24gYXMgT3BlblVybEFjdGlvbjtcblxuICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgdHlwZTogJ29wZW5VcmwnLFxuICAgICAgICAgIHZhbHVlXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIGlmIChhY3Rpb25UeXBlTmFtZSA9PT0gJ0FjdGlvbi5TdWJtaXQnKSB7XG4gICAgICAgIGNvbnN0IHsgZGF0YSB9ID0gYWN0aW9uIGFzIFN1Ym1pdEFjdGlvbiBhcyB7XG4gICAgICAgICAgZGF0YTogc3RyaW5nIHwgQm90RnJhbWV3b3JrQ2FyZEFjdGlvbjtcbiAgICAgICAgfTtcblxuICAgICAgICBpZiAodHlwZW9mIGRhdGEgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBkYXRhID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIHR5cGU6ICdpbUJhY2snLFxuICAgICAgICAgICAgICB2YWx1ZTogZGF0YVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIGlmIChkYXRhLl9faXNCb3RGcmFtZXdvcmtDYXJkQWN0aW9uKSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbihkYXRhLmNhcmRBY3Rpb24pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBwZXJmb3JtQ2FyZEFjdGlvbih7XG4gICAgICAgICAgICAgIGltYWdlLFxuICAgICAgICAgICAgICB0aXRsZSxcbiAgICAgICAgICAgICAgdHlwZTogJ3Bvc3RCYWNrJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNjcm9sbFRvRW5kKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmVycm9yKGBXZWIgQ2hhdDogcmVjZWl2ZWQgdW5rbm93biBhY3Rpb24gZnJvbSBBZGFwdGl2ZSBDYXJkc2ApO1xuICAgICAgICBjb25zb2xlLmVycm9yKGFjdGlvbik7XG4gICAgICB9XG4gICAgfSxcbiAgICBbZGlzYWJsZWRSZWYsIHBlcmZvcm1DYXJkQWN0aW9uLCBzY3JvbGxUb0VuZF1cbiAgKTtcblxuICAvLyBGb3IgYWNjZXNzaWJpbGl0eSBpc3N1ZSAjMTM0MCwgYHRhYmluZGV4PVwiMFwiYCBtdXN0IG5vdCBiZSBzZXQgZm9yIHRoZSByb290IGNvbnRhaW5lciBpZiBpdCBpcyBub3QgaW50ZXJhY3RpdmUuXG4gIGNvbnN0IHNldFRhYkluZGV4QXRDYXJkUm9vdCA9ICEhdGFwQWN0aW9uO1xuXG4gIGNvbnN0IFthcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCwgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZF0gPVxuICAgIHVzZUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QsIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RdID1cbiAgICB1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5QWN0aXZlRWxlbWVudE1vZCwgdW5kb0FjdGl2ZUVsZW1lbnRNb2RdID0gdXNlQWN0aXZlRWxlbWVudE1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlEaXNhYmxlZE1vZCwgdW5kb0Rpc2FibGVkTW9kXSA9IHVzZURpc2FibGVkTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseVBlcnNpc3RWYWx1ZXNNb2QsIHVuZG9QZXJzaXN0VmFsdWVzTW9kXSA9IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcblxuICBjb25zdCB7IGVsZW1lbnQsIGVycm9ycyB9OiB7IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDsgZXJyb3JzPzogRXJyb3JbXSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCgpO1xuICAgIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QoKTtcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCgpO1xuICAgIHVuZG9EaXNhYmxlZE1vZCgpO1xuICAgIHVuZG9QZXJzaXN0VmFsdWVzTW9kKCk7XG5cbiAgICByZXR1cm4gcmVuZGVyQWRhcHRpdmVDYXJkKGFkYXB0aXZlQ2FyZCwge1xuICAgICAgYWRhcHRpdmVDYXJkc0hvc3RDb25maWcsXG4gICAgICBhZGFwdGl2ZUNhcmRzUGFja2FnZTogeyBHbG9iYWxTZXR0aW5ncywgSG9zdENvbmZpZyB9LFxuICAgICAgcmVuZGVyTWFya2Rvd25Bc0hUTUwsXG4gICAgICBzZXRUYWJJbmRleEF0Q2FyZFJvb3RcbiAgICB9KTtcbiAgfSwgW1xuICAgIGFkYXB0aXZlQ2FyZCxcbiAgICBhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyxcbiAgICBHbG9iYWxTZXR0aW5ncyxcbiAgICBIb3N0Q29uZmlnLFxuICAgIHJlbmRlck1hcmtkb3duQXNIVE1MLFxuICAgIHNldFRhYkluZGV4QXRDYXJkUm9vdCxcbiAgICB1bmRvQWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kLFxuICAgIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QsXG4gICAgdW5kb0FjdGl2ZUVsZW1lbnRNb2QsXG4gICAgdW5kb0Rpc2FibGVkTW9kLFxuICAgIHVuZG9QZXJzaXN0VmFsdWVzTW9kXG4gIF0pO1xuXG4gIHVzZU1lbW8oKCkgPT4ge1xuICAgIGFkYXB0aXZlQ2FyZC5vbkV4ZWN1dGVBY3Rpb24gPSBoYW5kbGVFeGVjdXRlQWN0aW9uO1xuICB9LCBbYWRhcHRpdmVDYXJkLCBoYW5kbGVFeGVjdXRlQWN0aW9uXSk7XG5cbiAgdXNlTGF5b3V0RWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCB7IGN1cnJlbnQgfSA9IGNvbnRlbnRSZWY7XG5cbiAgICBjdXJyZW50Py5hcHBlbmRDaGlsZChlbGVtZW50KTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjdXJyZW50Py5yZW1vdmVDaGlsZChlbGVtZW50KTtcbiAgICB9O1xuICB9LCBbY29udGVudFJlZiwgZWxlbWVudF0pO1xuXG4gIC8vIEFwcGx5IGFsbCBtb2RzIHJlZ2FyZGxlc3Mgd2hldGhlciB0aGUgZWxlbWVudCBjaGFuZ2VkIG9yIG5vdC5cbiAgLy8gVGhpcyBpcyBiZWNhdXNlIHdlIGhhdmUgdW5kb2VkIG1vZHMgd2hlbiB3ZSBjYWxsIHRoZSBgdXNlWFhYTW9kRWZmZWN0YCBob29rLlxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGFwcGx5QWN0aW9uU2hvdWxkQmVQdXNoQnV0dG9uTW9kKGVsZW1lbnQsIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSk7XG4gICAgYXBwbHlBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QoZWxlbWVudCk7XG4gICAgYXBwbHlBY3RpdmVFbGVtZW50TW9kKGVsZW1lbnQpO1xuICAgIGFwcGx5RGlzYWJsZWRNb2QoZWxlbWVudCwgZGlzYWJsZWQpO1xuICAgIGFwcGx5UGVyc2lzdFZhbHVlc01vZChlbGVtZW50KTtcbiAgfSwgW1xuICAgIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSxcbiAgICBhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCxcbiAgICBhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCxcbiAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QsXG4gICAgYXBwbHlEaXNhYmxlZE1vZCxcbiAgICBhcHBseVBlcnNpc3RWYWx1ZXNNb2QsXG4gICAgZGlzYWJsZWQsXG4gICAgZWxlbWVudFxuICBdKTtcblxuICByZXR1cm4gZXJyb3JzPy5sZW5ndGggPyAoXG4gICAgbm9kZV9lbnYgPT09ICdkZXZlbG9wbWVudCcgJiYgPEVycm9yQm94IGVycm9yPXtlcnJvcnNbMF19IHR5cGU9e2xvY2FsaXplKCdBREFQVElWRV9DQVJEX0VSUk9SX0JPWF9USVRMRV9SRU5ERVInKX0gLz5cbiAgKSA6IChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoYWRhcHRpdmVDYXJkUmVuZGVyZXJTdHlsZVNldCArICcnLCAnd2ViY2hhdF9fYWRhcHRpdmUtY2FyZC1yZW5kZXJlcicpfVxuICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiBhcyBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD59XG4gICAgICBvbktleVByZXNzPXtoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uIGFzIEtleWJvYXJkRXZlbnRIYW5kbGVyPEhUTUxEaXZFbGVtZW50Pn1cbiAgICAgIHJlZj17Y29udGVudFJlZn1cbiAgICAvPlxuICApO1xufTtcblxuQWRhcHRpdmVDYXJkUmVuZGVyZXIuZGVmYXVsdFByb3BzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU6ICcnLFxuICBkaXNhYmxlZDogdW5kZWZpbmVkLFxuICB0YXBBY3Rpb246IHVuZGVmaW5lZFxufTtcblxuQWRhcHRpdmVDYXJkUmVuZGVyZXIucHJvcFR5cGVzID0ge1xuICBhY3Rpb25QZXJmb3JtZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGFkYXB0aXZlQ2FyZDogUHJvcFR5cGVzLmFueS5pc1JlcXVpcmVkLFxuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLy8gVHlwZVNjcmlwdCBjbGFzcyBpcyBub3QgbWFwcGFibGUgdG8gUHJvcFR5cGVzLmZ1bmNcbiAgLy8gQHRzLWlnbm9yZVxuICB0YXBBY3Rpb246IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgaW1hZ2U6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG59O1xuXG5leHBvcnQgZGVmYXVsdCBBZGFwdGl2ZUNhcmRSZW5kZXJlcjtcbiJdLCJt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
|
|
283
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJFcnJvckJveCIsIkNvbXBvbmVudHMiLCJ1c2VEaXNhYmxlZCIsImhvb2tzIiwidXNlTG9jYWxpemVyIiwidXNlUGVyZm9ybUNhcmRBY3Rpb24iLCJ1c2VSZW5kZXJNYXJrZG93bkFzSFRNTCIsInVzZVNjcm9sbFRvRW5kIiwidXNlU3R5bGVTZXQiLCJub2RlX2VudiIsIkFkYXB0aXZlQ2FyZFJlbmRlcmVyIiwiYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lIiwiYWRhcHRpdmVDYXJkIiwiZGlzYWJsZWRGcm9tUHJvcHMiLCJkaXNhYmxlZCIsInRhcEFjdGlvbiIsImFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQiLCJhZGFwdGl2ZUNhcmRSZW5kZXJlciIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiR2xvYmFsU2V0dGluZ3MiLCJIb3N0Q29uZmlnIiwidXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWciLCJhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyIsImRpc2FibGVkRnJvbUNvbXBvc2VyIiwiY29udGVudFJlZiIsInVzZVJlZiIsImxvY2FsaXplIiwicGVyZm9ybUNhcmRBY3Rpb24iLCJyZW5kZXJNYXJrZG93bkFzSFRNTCIsInNjcm9sbFRvRW5kIiwidGFwQWN0aW9uUmVmIiwidXNlVmFsdWVSZWYiLCJkaXNhYmxlZFJlZiIsImhhbmRsZUNsaWNrQW5kS2V5UHJlc3MiLCJ1c2VDYWxsYmFjayIsImV2ZW50Iiwia2V5IiwidHlwZSIsInRhcmdldCIsImN1cnJlbnQiLCJhZGFwdGl2ZUNhcmRSb290IiwicXVlcnlTZWxlY3RvciIsImNvbnNvbGUiLCJ3YXJuIiwicHJldmVudERlZmF1bHQiLCJ0YWJJbmRleCIsImdldFRhYkluZGV4IiwiaGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiIsInVuZGVmaW5lZCIsImhhbmRsZUV4ZWN1dGVBY3Rpb24iLCJhY3Rpb24iLCJhY3Rpb25UeXBlTmFtZSIsImdldEpzb25UeXBlTmFtZSIsImltYWdlIiwiaWNvblVybCIsInRpdGxlIiwidmFsdWUiLCJ1cmwiLCJkYXRhIiwiX19pc0JvdEZyYW1ld29ya0NhcmRBY3Rpb24iLCJjYXJkQWN0aW9uIiwiZXJyb3IiLCJzZXRUYWJJbmRleEF0Q2FyZFJvb3QiLCJ1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QiLCJhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCIsInVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QiLCJ1c2VBY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2RFZmZlY3QiLCJhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCIsInVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QiLCJ1c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0IiwiYXBwbHlBY3RpdmVFbGVtZW50TW9kIiwidW5kb0FjdGl2ZUVsZW1lbnRNb2QiLCJ1c2VEaXNhYmxlZE1vZEVmZmVjdCIsImFwcGx5RGlzYWJsZWRNb2QiLCJ1bmRvRGlzYWJsZWRNb2QiLCJ1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0IiwiYXBwbHlQZXJzaXN0VmFsdWVzTW9kIiwidW5kb1BlcnNpc3RWYWx1ZXNNb2QiLCJ1c2VSb2xlTW9kRWZmZWN0IiwiYXBwbHlSb2xlTW9kIiwidW5kb1JvbGVNb2QiLCJ1c2VNZW1vIiwicmVuZGVyQWRhcHRpdmVDYXJkIiwiYWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJlbGVtZW50IiwiZXJyb3JzIiwib25FeGVjdXRlQWN0aW9uIiwidXNlTGF5b3V0RWZmZWN0IiwiYXBwZW5kQ2hpbGQiLCJyZW1vdmVDaGlsZCIsImxlbmd0aCIsImNsYXNzTmFtZXMiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiYm9vbCIsInNoYXBlIl0sInNvdXJjZVJvb3QiOiJidW5kbGU6Ly8vIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYWRhcHRpdmVDYXJkcy9BdHRhY2htZW50L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQgbm8tbWFnaWMtbnVtYmVyczogW1wiZXJyb3JcIiwgeyBcImlnbm9yZVwiOiBbLTEsIDAsIDJdIH1dICovXG5cbmltcG9ydCB7IEFjdGlvbiBhcyBBZGFwdGl2ZUNhcmRBY3Rpb24sIEFkYXB0aXZlQ2FyZCwgT3BlblVybEFjdGlvbiwgU3VibWl0QWN0aW9uIH0gZnJvbSAnYWRhcHRpdmVjYXJkcyc7XG5pbXBvcnQgeyBDb21wb25lbnRzLCBnZXRUYWJJbmRleCwgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7XG4gIEtleWJvYXJkRXZlbnRIYW5kbGVyLFxuICBNb3VzZUV2ZW50SGFuZGxlcixcbiAgdXNlQ2FsbGJhY2ssXG4gIHVzZUxheW91dEVmZmVjdCxcbiAgdXNlTWVtbyxcbiAgdXNlUmVmLFxuICBWRkNcbn0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUgeyBEaXJlY3RMaW5lQ2FyZEFjdGlvbiB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5pbXBvcnQgeyBCb3RGcmFtZXdvcmtDYXJkQWN0aW9uIH0gZnJvbSAnLi9BZGFwdGl2ZUNhcmRCdWlsZGVyJztcbmltcG9ydCByZW5kZXJBZGFwdGl2ZUNhcmQgZnJvbSAnLi9wcml2YXRlL3JlbmRlckFkYXB0aXZlQ2FyZCc7XG5pbXBvcnQgdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0JztcbmltcG9ydCB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QnO1xuaW1wb3J0IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VBY3RpdmVFbGVtZW50TW9kRWZmZWN0JztcbmltcG9ydCB1c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyBmcm9tICcuLi9ob29rcy91c2VBZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyc7XG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UgZnJvbSAnLi4vaG9va3MvdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UnO1xuaW1wb3J0IHVzZURpc2FibGVkTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlRGlzYWJsZWRNb2RFZmZlY3QnO1xuaW1wb3J0IHVzZVBlcnNpc3RWYWx1ZXNNb2RFZmZlY3QgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy91c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0JztcbmltcG9ydCB1c2VSb2xlTW9kRWZmZWN0IGZyb20gJy4vQWRhcHRpdmVDYXJkSGFja3MvdXNlUm9sZU1vZEVmZmVjdCc7XG5pbXBvcnQgdXNlVmFsdWVSZWYgZnJvbSAnLi9BZGFwdGl2ZUNhcmRIYWNrcy9wcml2YXRlL3VzZVZhbHVlUmVmJztcblxuY29uc3QgeyBFcnJvckJveCB9ID0gQ29tcG9uZW50cztcbmNvbnN0IHsgdXNlRGlzYWJsZWQsIHVzZUxvY2FsaXplciwgdXNlUGVyZm9ybUNhcmRBY3Rpb24sIHVzZVJlbmRlck1hcmtkb3duQXNIVE1MLCB1c2VTY3JvbGxUb0VuZCwgdXNlU3R5bGVTZXQgfSA9IGhvb2tzO1xuXG5jb25zdCBub2RlX2VudiA9IHByb2Nlc3MuZW52Lm5vZGVfZW52IHx8IHByb2Nlc3MuZW52Lk5PREVfRU5WO1xuXG50eXBlIEFkYXB0aXZlQ2FyZFJlbmRlcmVyUHJvcHMgPSB7XG4gIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZT86IHN0cmluZztcbiAgYWRhcHRpdmVDYXJkOiBBZGFwdGl2ZUNhcmQ7XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgdGFwQWN0aW9uPzogRGlyZWN0TGluZUNhcmRBY3Rpb247XG59O1xuXG5jb25zdCBBZGFwdGl2ZUNhcmRSZW5kZXJlcjogVkZDPEFkYXB0aXZlQ2FyZFJlbmRlcmVyUHJvcHM+ID0gKHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lLFxuICBhZGFwdGl2ZUNhcmQsXG4gIGRpc2FibGVkOiBkaXNhYmxlZEZyb21Qcm9wcyxcbiAgdGFwQWN0aW9uXG59KSA9PiB7XG4gIGNvbnN0IFt7IGFkYXB0aXZlQ2FyZFJlbmRlcmVyOiBhZGFwdGl2ZUNhcmRSZW5kZXJlclN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgW3sgR2xvYmFsU2V0dGluZ3MsIEhvc3RDb25maWcgfV0gPSB1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSgpO1xuICBjb25zdCBbYWRhcHRpdmVDYXJkc0hvc3RDb25maWddID0gdXNlQWRhcHRpdmVDYXJkc0hvc3RDb25maWcoKTtcbiAgY29uc3QgW2Rpc2FibGVkRnJvbUNvbXBvc2VyXSA9IHVzZURpc2FibGVkKCk7XG4gIGNvbnN0IGNvbnRlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KCk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHBlcmZvcm1DYXJkQWN0aW9uID0gdXNlUGVyZm9ybUNhcmRBY3Rpb24oKTtcbiAgY29uc3QgcmVuZGVyTWFya2Rvd25Bc0hUTUwgPSB1c2VSZW5kZXJNYXJrZG93bkFzSFRNTCgpO1xuICBjb25zdCBzY3JvbGxUb0VuZCA9IHVzZVNjcm9sbFRvRW5kKCk7XG5cbiAgY29uc3QgZGlzYWJsZWQgPSBkaXNhYmxlZEZyb21Db21wb3NlciB8fCBkaXNhYmxlZEZyb21Qcm9wcztcbiAgY29uc3QgdGFwQWN0aW9uUmVmID0gdXNlVmFsdWVSZWYodGFwQWN0aW9uKTtcblxuICBjb25zdCBkaXNhYmxlZFJlZiA9IHVzZVZhbHVlUmVmKGRpc2FibGVkKTtcblxuICAvLyBUT0RPOiBbUDJdICMzMTk5IFdlIHNob3VsZCBjb25zaWRlciB1c2luZyBgYWRhcHRpdmVDYXJkLnNlbGVjdEFjdGlvbmAgaW5zdGVhZC5cbiAgLy8gVGhlIG51bGwgY2hlY2sgZm9yIFwidGFwQWN0aW9uXCIgaXMgaW4gXCJoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uXCIuXG4gIGNvbnN0IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3MgPSB1c2VDYWxsYmFjazxLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD4gfCBNb3VzZUV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD4+KFxuICAgIChldmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3QgeyBrZXksIHR5cGUgfSA9IGV2ZW50IGFzIEtleWJvYXJkRXZlbnQ7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTERpdkVsZW1lbnQ7XG5cbiAgICAgIC8vIFNvbWUgaXRlbXMsIGUuZy4gdGFwcGFibGUgdGV4dCwgY2Fubm90IGJlIGRpc2FibGVkIHRocnUgRE9NIGF0dHJpYnV0ZXNcbiAgICAgIGNvbnN0IHsgY3VycmVudCB9ID0gY29udGVudFJlZjtcbiAgICAgIGNvbnN0IGFkYXB0aXZlQ2FyZFJvb3QgPSBjdXJyZW50LnF1ZXJ5U2VsZWN0b3IoJy5hYy1hZGFwdGl2ZUNhcmRbdGFiaW5kZXg9XCIwXCJdJyk7XG5cbiAgICAgIGlmICghYWRhcHRpdmVDYXJkUm9vdCkge1xuICAgICAgICByZXR1cm4gY29uc29sZS53YXJuKFxuICAgICAgICAgICdib3RmcmFtZXdvcmstd2ViY2hhdDogTm8gQWRhcHRpdmUgQ2FyZCByb290IGNvbnRhaW5lciBjYW4gYmUgZm91bmQ7IHRoZSBjYXJkIGlzIHByb2JhYmx5IG9uIGFuIHVuc3VwcG9ydGVkIEFkYXB0aXZlIENhcmQgdmVyc2lvbi4nXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIEZvciBcImtleXByZXNzXCIgZXZlbnQsIHdlIG9ubHkgbGlzdGVuIHRvIEVOVEVSIGFuZCBTUEFDRUJBUiBrZXkuXG4gICAgICBpZiAodHlwZSA9PT0gJ2tleXByZXNzJykge1xuICAgICAgICBpZiAoa2V5ICE9PSAnRW50ZXInICYmIGtleSAhPT0gJyAnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gV2Ugd2lsbCBjYWxsIHBlcmZvcm1DYXJkQWN0aW9uIGlmIGVpdGhlcjpcbiAgICAgIC8vIDEuIFdlIGFyZSBvbiB0aGUgdGFyZ2V0LCBvclxuICAgICAgLy8gMi4gVGhlIGV2ZW50LWRpc3BhdGNoaW5nIGVsZW1lbnQgaXMgbm90IGludGVyYWN0aXZlXG4gICAgICBpZiAodGFyZ2V0ICE9PSBhZGFwdGl2ZUNhcmRSb290KSB7XG4gICAgICAgIGNvbnN0IHRhYkluZGV4ID0gZ2V0VGFiSW5kZXgodGFyZ2V0KTtcblxuICAgICAgICAvLyBJZiB0aGUgdXNlciBpcyBjbGlja2luZyBvbiBzb21ldGhpbmcgdGhhdCBpcyBhbHJlYWR5IGNsaWNrYWJsZSwgZG8gbm90IGFsbG93IHRoZW0gdG8gY2xpY2sgdGhlIGNhcmQuXG4gICAgICAgIC8vIEUuZy4gYSBoZXJvIGNhcmQgY2FuIGJlIHRhcHBhYmxlLCBhbmQgaW1hZ2UgYW5kIGJ1dHRvbnMgaW5zaWRlIHRoZSBoZXJvIGNhcmQgY2FuIGFsc28gYmUgdGFwcGFibGUuXG4gICAgICAgIGlmICh0eXBlb2YgdGFiSW5kZXggPT09ICdudW1iZXInICYmIHRhYkluZGV4ID49IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcGVyZm9ybUNhcmRBY3Rpb24odGFwQWN0aW9uUmVmLmN1cnJlbnQpO1xuICAgICAgc2Nyb2xsVG9FbmQoKTtcbiAgICB9LFxuICAgIFtjb250ZW50UmVmLCBwZXJmb3JtQ2FyZEFjdGlvbiwgc2Nyb2xsVG9FbmQsIHRhcEFjdGlvblJlZl1cbiAgKTtcblxuICAvLyBPbmx5IGxpc3RlbiB0byBldmVudCBpZiBpdCBpcyBub3QgZGlzYWJsZWQgYW5kIGhhdmUgXCJ0YXBBY3Rpb25cIiBwcm9wLlxuICBjb25zdCBoYW5kbGVDbGlja0FuZEtleVByZXNzRm9yVGFwQWN0aW9uID0gIWRpc2FibGVkICYmIHRhcEFjdGlvbiA/IGhhbmRsZUNsaWNrQW5kS2V5UHJlc3MgOiB1bmRlZmluZWQ7XG5cbiAgY29uc3QgaGFuZGxlRXhlY3V0ZUFjdGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIChhY3Rpb246IEFkYXB0aXZlQ2FyZEFjdGlvbik6IHZvaWQgPT4ge1xuICAgICAgLy8gU29tZSBpdGVtcywgZS5nLiB0YXBwYWJsZSBpbWFnZSwgY2Fubm90IGJlIGRpc2FibGVkIHRocnUgRE9NIGF0dHJpYnV0ZXNcbiAgICAgIGlmIChkaXNhYmxlZFJlZi5jdXJyZW50KSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgYWN0aW9uVHlwZU5hbWUgPSBhY3Rpb24uZ2V0SnNvblR5cGVOYW1lKCk7XG4gICAgICBjb25zdCB7IGljb25Vcmw6IGltYWdlLCB0aXRsZSB9ID0gYWN0aW9uO1xuXG4gICAgICAvLyBXZSBjYW5ub3QgdXNlIFwiaW5zdGFuY2VvZlwiIGNoZWNrIGhlcmUsIGJlY2F1c2Ugd2ViIGRldnMgbWF5IGJyaW5nIHRoZWlyIG93biB2ZXJzaW9uIG9mIEFkYXB0aXZlIENhcmRzIHBhY2thZ2UuXG4gICAgICAvLyBXZSBuZWVkIHRvIGNoZWNrIHVzaW5nIFwiZ2V0SnNvblR5cGVOYW1lKClcIiBpbnN0ZWFkLlxuICAgICAgaWYgKGFjdGlvblR5cGVOYW1lID09PSAnQWN0aW9uLk9wZW5VcmwnKSB7XG4gICAgICAgIGNvbnN0IHsgdXJsOiB2YWx1ZSB9ID0gYWN0aW9uIGFzIE9wZW5VcmxBY3Rpb247XG5cbiAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgIGltYWdlLFxuICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgIHR5cGU6ICdvcGVuVXJsJyxcbiAgICAgICAgICB2YWx1ZVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoYWN0aW9uVHlwZU5hbWUgPT09ICdBY3Rpb24uU3VibWl0Jykge1xuICAgICAgICBjb25zdCB7IGRhdGEgfSA9IGFjdGlvbiBhcyBTdWJtaXRBY3Rpb24gYXMge1xuICAgICAgICAgIGRhdGE6IHN0cmluZyB8IEJvdEZyYW1ld29ya0NhcmRBY3Rpb247XG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKHR5cGVvZiBkYXRhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHBlcmZvcm1DYXJkQWN0aW9uKHtcbiAgICAgICAgICAgICAgaW1hZ2UsXG4gICAgICAgICAgICAgIHRpdGxlLFxuICAgICAgICAgICAgICB0eXBlOiAnaW1CYWNrJyxcbiAgICAgICAgICAgICAgdmFsdWU6IGRhdGFcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZGF0YS5fX2lzQm90RnJhbWV3b3JrQ2FyZEFjdGlvbikge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oZGF0YS5jYXJkQWN0aW9uKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcGVyZm9ybUNhcmRBY3Rpb24oe1xuICAgICAgICAgICAgICBpbWFnZSxcbiAgICAgICAgICAgICAgdGl0bGUsXG4gICAgICAgICAgICAgIHR5cGU6ICdwb3N0QmFjaycsXG4gICAgICAgICAgICAgIHZhbHVlOiBkYXRhXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzY3JvbGxUb0VuZCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgV2ViIENoYXQ6IHJlY2VpdmVkIHVua25vd24gYWN0aW9uIGZyb20gQWRhcHRpdmUgQ2FyZHNgKTtcbiAgICAgICAgY29uc29sZS5lcnJvcihhY3Rpb24pO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2Rpc2FibGVkUmVmLCBwZXJmb3JtQ2FyZEFjdGlvbiwgc2Nyb2xsVG9FbmRdXG4gICk7XG5cbiAgLy8gRm9yIGFjY2Vzc2liaWxpdHkgaXNzdWUgIzEzNDAsIGB0YWJpbmRleD1cIjBcImAgbXVzdCBub3QgYmUgc2V0IGZvciB0aGUgcm9vdCBjb250YWluZXIgaWYgaXQgaXMgbm90IGludGVyYWN0aXZlLlxuICBjb25zdCBzZXRUYWJJbmRleEF0Q2FyZFJvb3QgPSAhIXRhcEFjdGlvbjtcblxuICBjb25zdCBbYXBwbHlBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QsIHVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RdID1cbiAgICB1c2VBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5QWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kLCB1bmRvQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kXSA9XG4gICAgdXNlQWN0aW9uU2V0U2hvdWxkTm90QmVNZW51QmFyTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseUFjdGl2ZUVsZW1lbnRNb2QsIHVuZG9BY3RpdmVFbGVtZW50TW9kXSA9IHVzZUFjdGl2ZUVsZW1lbnRNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcbiAgY29uc3QgW2FwcGx5RGlzYWJsZWRNb2QsIHVuZG9EaXNhYmxlZE1vZF0gPSB1c2VEaXNhYmxlZE1vZEVmZmVjdChhZGFwdGl2ZUNhcmQpO1xuICBjb25zdCBbYXBwbHlQZXJzaXN0VmFsdWVzTW9kLCB1bmRvUGVyc2lzdFZhbHVlc01vZF0gPSB1c2VQZXJzaXN0VmFsdWVzTW9kRWZmZWN0KGFkYXB0aXZlQ2FyZCk7XG4gIGNvbnN0IFthcHBseVJvbGVNb2QsIHVuZG9Sb2xlTW9kXSA9IHVzZVJvbGVNb2RFZmZlY3QoYWRhcHRpdmVDYXJkKTtcblxuICBjb25zdCB7IGVsZW1lbnQsIGVycm9ycyB9OiB7IGVsZW1lbnQ/OiBIVE1MRWxlbWVudDsgZXJyb3JzPzogRXJyb3JbXSB9ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgdW5kb0FjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCgpO1xuICAgIHVuZG9BY3Rpb25TZXRTaG91bGROb3RCZU1lbnVCYXJNb2QoKTtcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCgpO1xuICAgIHVuZG9EaXNhYmxlZE1vZCgpO1xuICAgIHVuZG9QZXJzaXN0VmFsdWVzTW9kKCk7XG4gICAgdW5kb1JvbGVNb2QoKTtcblxuICAgIHJldHVybiByZW5kZXJBZGFwdGl2ZUNhcmQoYWRhcHRpdmVDYXJkLCB7XG4gICAgICBhZGFwdGl2ZUNhcmRzSG9zdENvbmZpZyxcbiAgICAgIGFkYXB0aXZlQ2FyZHNQYWNrYWdlOiB7IEdsb2JhbFNldHRpbmdzLCBIb3N0Q29uZmlnIH0sXG4gICAgICByZW5kZXJNYXJrZG93bkFzSFRNTCxcbiAgICAgIHNldFRhYkluZGV4QXRDYXJkUm9vdFxuICAgIH0pO1xuICB9LCBbXG4gICAgYWRhcHRpdmVDYXJkLFxuICAgIGFkYXB0aXZlQ2FyZHNIb3N0Q29uZmlnLFxuICAgIEdsb2JhbFNldHRpbmdzLFxuICAgIEhvc3RDb25maWcsXG4gICAgcmVuZGVyTWFya2Rvd25Bc0hUTUwsXG4gICAgc2V0VGFiSW5kZXhBdENhcmRSb290LFxuICAgIHVuZG9BY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QsXG4gICAgdW5kb0FjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCxcbiAgICB1bmRvQWN0aXZlRWxlbWVudE1vZCxcbiAgICB1bmRvRGlzYWJsZWRNb2QsXG4gICAgdW5kb1BlcnNpc3RWYWx1ZXNNb2QsXG4gICAgdW5kb1JvbGVNb2RcbiAgXSk7XG5cbiAgdXNlTWVtbygoKSA9PiB7XG4gICAgYWRhcHRpdmVDYXJkLm9uRXhlY3V0ZUFjdGlvbiA9IGhhbmRsZUV4ZWN1dGVBY3Rpb247XG4gIH0sIFthZGFwdGl2ZUNhcmQsIGhhbmRsZUV4ZWN1dGVBY3Rpb25dKTtcblxuICB1c2VMYXlvdXRFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IHsgY3VycmVudCB9ID0gY29udGVudFJlZjtcblxuICAgIGN1cnJlbnQ/LmFwcGVuZENoaWxkKGVsZW1lbnQpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGN1cnJlbnQ/LnJlbW92ZUNoaWxkKGVsZW1lbnQpO1xuICAgIH07XG4gIH0sIFtjb250ZW50UmVmLCBlbGVtZW50XSk7XG5cbiAgLy8gQXBwbHkgYWxsIG1vZHMgcmVnYXJkbGVzcyB3aGV0aGVyIHRoZSBlbGVtZW50IGNoYW5nZWQgb3Igbm90LlxuICAvLyBUaGlzIGlzIGJlY2F1c2Ugd2UgaGF2ZSB1bmRvZWQgbW9kcyB3aGVuIHdlIGNhbGwgdGhlIGB1c2VYWFhNb2RFZmZlY3RgIGhvb2suXG4gIHVzZUxheW91dEVmZmVjdCgoKSA9PiB7XG4gICAgYXBwbHlBY3Rpb25TaG91bGRCZVB1c2hCdXR0b25Nb2QoZWxlbWVudCwgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lKTtcbiAgICBhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZChlbGVtZW50KTtcbiAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QoZWxlbWVudCk7XG4gICAgYXBwbHlEaXNhYmxlZE1vZChlbGVtZW50LCBkaXNhYmxlZCk7XG4gICAgYXBwbHlQZXJzaXN0VmFsdWVzTW9kKGVsZW1lbnQpO1xuICAgIGFwcGx5Um9sZU1vZChlbGVtZW50KTtcbiAgfSwgW1xuICAgIGFjdGlvblBlcmZvcm1lZENsYXNzTmFtZSxcbiAgICBhcHBseUFjdGlvblNob3VsZEJlUHVzaEJ1dHRvbk1vZCxcbiAgICBhcHBseUFjdGlvblNldFNob3VsZE5vdEJlTWVudUJhck1vZCxcbiAgICBhcHBseUFjdGl2ZUVsZW1lbnRNb2QsXG4gICAgYXBwbHlEaXNhYmxlZE1vZCxcbiAgICBhcHBseVBlcnNpc3RWYWx1ZXNNb2QsXG4gICAgYXBwbHlSb2xlTW9kLFxuICAgIGRpc2FibGVkLFxuICAgIGVsZW1lbnRcbiAgXSk7XG5cbiAgcmV0dXJuIGVycm9ycz8ubGVuZ3RoID8gKFxuICAgIG5vZGVfZW52ID09PSAnZGV2ZWxvcG1lbnQnICYmIDxFcnJvckJveCBlcnJvcj17ZXJyb3JzWzBdfSB0eXBlPXtsb2NhbGl6ZSgnQURBUFRJVkVfQ0FSRF9FUlJPUl9CT1hfVElUTEVfUkVOREVSJyl9IC8+XG4gICkgOiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKGFkYXB0aXZlQ2FyZFJlbmRlcmVyU3R5bGVTZXQgKyAnJywgJ3dlYmNoYXRfX2FkYXB0aXZlLWNhcmQtcmVuZGVyZXInKX1cbiAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsaWNrQW5kS2V5UHJlc3NGb3JUYXBBY3Rpb24gYXMgTW91c2VFdmVudEhhbmRsZXI8SFRNTERpdkVsZW1lbnQ+fVxuICAgICAgb25LZXlQcmVzcz17aGFuZGxlQ2xpY2tBbmRLZXlQcmVzc0ZvclRhcEFjdGlvbiBhcyBLZXlib2FyZEV2ZW50SGFuZGxlcjxIVE1MRGl2RWxlbWVudD59XG4gICAgICByZWY9e2NvbnRlbnRSZWZ9XG4gICAgLz5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZFJlbmRlcmVyLmRlZmF1bHRQcm9wcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lOiAnJyxcbiAgZGlzYWJsZWQ6IHVuZGVmaW5lZCxcbiAgdGFwQWN0aW9uOiB1bmRlZmluZWRcbn07XG5cbkFkYXB0aXZlQ2FyZFJlbmRlcmVyLnByb3BUeXBlcyA9IHtcbiAgYWN0aW9uUGVyZm9ybWVkQ2xhc3NOYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICBhZGFwdGl2ZUNhcmQ6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuXG4gIC8vIFR5cGVTY3JpcHQgY2xhc3MgaXMgbm90IG1hcHBhYmxlIHRvIFByb3BUeXBlcy5mdW5jXG4gIC8vIEB0cy1pZ25vcmVcbiAgdGFwQWN0aW9uOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGltYWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHR5cGU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZCxcbiAgICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWRhcHRpdmVDYXJkUmVuZGVyZXI7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFZQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7Ozs7O0FBM0JBO0FBNkJBLElBQVFBLFFBQVIsR0FBcUJDLHdDQUFyQixDQUFRRCxRQUFSO0FBQ0EsSUFBUUUsV0FBUixHQUFrSEMsbUNBQWxILENBQVFELFdBQVI7QUFBQSxJQUFxQkUsWUFBckIsR0FBa0hELG1DQUFsSCxDQUFxQkMsWUFBckI7QUFBQSxJQUFtQ0Msb0JBQW5DLEdBQWtIRixtQ0FBbEgsQ0FBbUNFLG9CQUFuQztBQUFBLElBQXlEQyx1QkFBekQsR0FBa0hILG1DQUFsSCxDQUF5REcsdUJBQXpEO0FBQUEsSUFBa0ZDLGNBQWxGLEdBQWtISixtQ0FBbEgsQ0FBa0ZJLGNBQWxGO0FBQUEsSUFBa0dDLFdBQWxHLEdBQWtITCxtQ0FBbEgsQ0FBa0dLLFdBQWxHO0FBRUEsSUFBTUMsUUFBUSxHQUFHLHlCQUFqQjs7QUFTQSxJQUFNQyxvQkFBb0QsR0FBRyxTQUF2REEsb0JBQXVELE9BS3ZEO0VBQUEsSUFKSkMsd0JBSUksUUFKSkEsd0JBSUk7RUFBQSxJQUhKQyxZQUdJLFFBSEpBLFlBR0k7RUFBQSxJQUZNQyxpQkFFTixRQUZKQyxRQUVJO0VBQUEsSUFESkMsU0FDSSxRQURKQSxTQUNJOztFQUNKLG1CQUFpRVAsV0FBVyxFQUE1RTtFQUFBO0VBQUEsSUFBK0JRLDRCQUEvQixvQkFBU0Msb0JBQVQ7O0VBQ0EsNEJBQXlDLElBQUFDLGdDQUFBLEdBQXpDO0VBQUE7RUFBQTtFQUFBLElBQVNDLGNBQVQsMEJBQVNBLGNBQVQ7RUFBQSxJQUF5QkMsVUFBekIsMEJBQXlCQSxVQUF6Qjs7RUFDQSw0QkFBa0MsSUFBQUMsbUNBQUEsR0FBbEM7RUFBQTtFQUFBLElBQU9DLHVCQUFQOztFQUNBLG1CQUErQnBCLFdBQVcsRUFBMUM7RUFBQTtFQUFBLElBQU9xQixvQkFBUDs7RUFDQSxJQUFNQyxVQUFVLEdBQUcsSUFBQUMsYUFBQSxHQUFuQjtFQUNBLElBQU1DLFFBQVEsR0FBR3RCLFlBQVksRUFBN0I7RUFDQSxJQUFNdUIsaUJBQWlCLEdBQUd0QixvQkFBb0IsRUFBOUM7RUFDQSxJQUFNdUIsb0JBQW9CLEdBQUd0Qix1QkFBdUIsRUFBcEQ7RUFDQSxJQUFNdUIsV0FBVyxHQUFHdEIsY0FBYyxFQUFsQztFQUVBLElBQU1PLFFBQVEsR0FBR1Msb0JBQW9CLElBQUlWLGlCQUF6QztFQUNBLElBQU1pQixZQUFZLEdBQUcsSUFBQUMsb0JBQUEsRUFBWWhCLFNBQVosQ0FBckI7RUFFQSxJQUFNaUIsV0FBVyxHQUFHLElBQUFELG9CQUFBLEVBQVlqQixRQUFaLENBQXBCLENBZEksQ0FnQko7RUFDQTs7RUFDQSxJQUFNbUIsc0JBQXNCLEdBQUcsSUFBQUMsa0JBQUEsRUFDN0IsVUFBQ0MsS0FBRCxFQUFpQjtJQUNmLFlBQXNCQSxLQUF0QjtJQUFBLElBQVFDLEdBQVIsU0FBUUEsR0FBUjtJQUFBLElBQWFDLElBQWIsU0FBYUEsSUFBYjtJQUNBLElBQU1DLE1BQU0sR0FBR0gsS0FBSyxDQUFDRyxNQUFyQixDQUZlLENBSWY7O0lBQ0EsSUFBUUMsT0FBUixHQUFvQmYsVUFBcEIsQ0FBUWUsT0FBUjtJQUNBLElBQU1DLGdCQUFnQixHQUFHRCxPQUFPLENBQUNFLGFBQVIsQ0FBc0IsZ0NBQXRCLENBQXpCOztJQUVBLElBQUksQ0FBQ0QsZ0JBQUwsRUFBdUI7TUFDckIsT0FBT0UsT0FBTyxDQUFDQyxJQUFSLENBQ0wsbUlBREssQ0FBUDtJQUdELENBWmMsQ0FjZjs7O0lBQ0EsSUFBSU4sSUFBSSxLQUFLLFVBQWIsRUFBeUI7TUFDdkIsSUFBSUQsR0FBRyxLQUFLLE9BQVIsSUFBbUJBLEdBQUcsS0FBSyxHQUEvQixFQUFvQztRQUNsQztNQUNEOztNQUVERCxLQUFLLENBQUNTLGNBQU47SUFDRCxDQXJCYyxDQXVCZjtJQUNBO0lBQ0E7OztJQUNBLElBQUlOLE1BQU0sS0FBS0UsZ0JBQWYsRUFBaUM7TUFDL0IsSUFBTUssUUFBUSxHQUFHLElBQUFDLHlDQUFBLEVBQVlSLE1BQVosQ0FBakIsQ0FEK0IsQ0FHL0I7TUFDQTs7TUFDQSxJQUFJLE9BQU9PLFFBQVAsS0FBb0IsUUFBcEIsSUFBZ0NBLFFBQVEsSUFBSSxDQUFoRCxFQUFtRDtRQUNqRDtNQUNEO0lBQ0Y7O0lBRURsQixpQkFBaUIsQ0FBQ0csWUFBWSxDQUFDUyxPQUFkLENBQWpCO0lBQ0FWLFdBQVc7RUFDWixDQXZDNEIsRUF3QzdCLENBQUNMLFVBQUQsRUFBYUcsaUJBQWIsRUFBZ0NFLFdBQWhDLEVBQTZDQyxZQUE3QyxDQXhDNkIsQ0FBL0IsQ0FsQkksQ0E2REo7O0VBQ0EsSUFBTWlCLGtDQUFrQyxHQUFHLENBQUNqQyxRQUFELElBQWFDLFNBQWIsR0FBeUJrQixzQkFBekIsR0FBa0RlLFNBQTdGO0VBRUEsSUFBTUMsbUJBQW1CLEdBQUcsSUFBQWYsa0JBQUEsRUFDMUIsVUFBQ2dCLE1BQUQsRUFBc0M7SUFDcEM7SUFDQSxJQUFJbEIsV0FBVyxDQUFDTyxPQUFoQixFQUF5QjtNQUN2QjtJQUNEOztJQUVELElBQU1ZLGNBQWMsR0FBR0QsTUFBTSxDQUFDRSxlQUFQLEVBQXZCO0lBQ0EsSUFBaUJDLEtBQWpCLEdBQWtDSCxNQUFsQyxDQUFRSSxPQUFSO0lBQUEsSUFBd0JDLEtBQXhCLEdBQWtDTCxNQUFsQyxDQUF3QkssS0FBeEIsQ0FQb0MsQ0FTcEM7SUFDQTs7SUFDQSxJQUFJSixjQUFjLEtBQUssZ0JBQXZCLEVBQXlDO01BQ3ZDLFlBQXVCRCxNQUF2QjtNQUFBLElBQWFNLEtBQWIsU0FBUUMsR0FBUjtNQUVBOUIsaUJBQWlCLENBQUM7UUFDaEIwQixLQUFLLEVBQUxBLEtBRGdCO1FBRWhCRSxLQUFLLEVBQUxBLEtBRmdCO1FBR2hCbEIsSUFBSSxFQUFFLFNBSFU7UUFJaEJtQixLQUFLLEVBQUxBO01BSmdCLENBQUQsQ0FBakI7SUFNRCxDQVRELE1BU08sSUFBSUwsY0FBYyxLQUFLLGVBQXZCLEVBQXdDO01BQzdDLFlBQWlCRCxNQUFqQjtNQUFBLElBQVFRLElBQVIsU0FBUUEsSUFBUjs7TUFJQSxJQUFJLE9BQU9BLElBQVAsS0FBZ0IsV0FBcEIsRUFBaUM7UUFDL0IsSUFBSSxPQUFPQSxJQUFQLEtBQWdCLFFBQXBCLEVBQThCO1VBQzVCL0IsaUJBQWlCLENBQUM7WUFDaEIwQixLQUFLLEVBQUxBLEtBRGdCO1lBRWhCRSxLQUFLLEVBQUxBLEtBRmdCO1lBR2hCbEIsSUFBSSxFQUFFLFFBSFU7WUFJaEJtQixLQUFLLEVBQUVFO1VBSlMsQ0FBRCxDQUFqQjtRQU1ELENBUEQsTUFPTyxJQUFJQSxJQUFJLENBQUNDLDBCQUFULEVBQXFDO1VBQzFDaEMsaUJBQWlCLENBQUMrQixJQUFJLENBQUNFLFVBQU4sQ0FBakI7UUFDRCxDQUZNLE1BRUE7VUFDTGpDLGlCQUFpQixDQUFDO1lBQ2hCMEIsS0FBSyxFQUFMQSxLQURnQjtZQUVoQkUsS0FBSyxFQUFMQSxLQUZnQjtZQUdoQmxCLElBQUksRUFBRSxVQUhVO1lBSWhCbUIsS0FBSyxFQUFFRTtVQUpTLENBQUQsQ0FBakI7UUFNRDtNQUNGOztNQUVEN0IsV0FBVztJQUNaLENBMUJNLE1BMEJBO01BQ0xhLE9BQU8sQ0FBQ21CLEtBQVI7TUFDQW5CLE9BQU8sQ0FBQ21CLEtBQVIsQ0FBY1gsTUFBZDtJQUNEO0VBQ0YsQ0FuRHlCLEVBb0QxQixDQUFDbEIsV0FBRCxFQUFjTCxpQkFBZCxFQUFpQ0UsV0FBakMsQ0FwRDBCLENBQTVCLENBaEVJLENBdUhKOztFQUNBLElBQU1pQyxxQkFBcUIsR0FBRyxDQUFDLENBQUMvQyxTQUFoQzs7RUFFQSw0QkFDRSxJQUFBZ0QsNkNBQUEsRUFBcUNuRCxZQUFyQyxDQURGO0VBQUE7RUFBQSxJQUFPb0QsZ0NBQVA7RUFBQSxJQUF5Q0MsK0JBQXpDOztFQUVBLDRCQUNFLElBQUFDLGdEQUFBLEVBQXdDdEQsWUFBeEMsQ0FERjtFQUFBO0VBQUEsSUFBT3VELG1DQUFQO0VBQUEsSUFBNENDLGtDQUE1Qzs7RUFFQSw0QkFBc0QsSUFBQUMsa0NBQUEsRUFBMEJ6RCxZQUExQixDQUF0RDtFQUFBO0VBQUEsSUFBTzBELHFCQUFQO0VBQUEsSUFBOEJDLG9CQUE5Qjs7RUFDQSw0QkFBNEMsSUFBQUMsOEJBQUEsRUFBcUI1RCxZQUFyQixDQUE1QztFQUFBO0VBQUEsSUFBTzZELGdCQUFQO0VBQUEsSUFBeUJDLGVBQXpCOztFQUNBLDRCQUFzRCxJQUFBQyxrQ0FBQSxFQUEwQi9ELFlBQTFCLENBQXREO0VBQUE7RUFBQSxJQUFPZ0UscUJBQVA7RUFBQSxJQUE4QkMsb0JBQTlCOztFQUNBLHdCQUFvQyxJQUFBQywwQkFBQSxFQUFpQmxFLFlBQWpCLENBQXBDO0VBQUE7RUFBQSxJQUFPbUUsWUFBUDtFQUFBLElBQXFCQyxXQUFyQjs7RUFFQSxlQUF5RSxJQUFBQyxjQUFBLEVBQVEsWUFBTTtJQUNyRmhCLCtCQUErQjtJQUMvQkcsa0NBQWtDO0lBQ2xDRyxvQkFBb0I7SUFDcEJHLGVBQWU7SUFDZkcsb0JBQW9CO0lBQ3BCRyxXQUFXO0lBRVgsT0FBTyxJQUFBRSwyQkFBQSxFQUFtQnRFLFlBQW5CLEVBQWlDO01BQ3RDVSx1QkFBdUIsRUFBdkJBLHVCQURzQztNQUV0QzZELG9CQUFvQixFQUFFO1FBQUVoRSxjQUFjLEVBQWRBLGNBQUY7UUFBa0JDLFVBQVUsRUFBVkE7TUFBbEIsQ0FGZ0I7TUFHdENRLG9CQUFvQixFQUFwQkEsb0JBSHNDO01BSXRDa0MscUJBQXFCLEVBQXJCQTtJQUpzQyxDQUFqQyxDQUFQO0VBTUQsQ0Fkd0UsRUFjdEUsQ0FDRGxELFlBREMsRUFFRFUsdUJBRkMsRUFHREgsY0FIQyxFQUlEQyxVQUpDLEVBS0RRLG9CQUxDLEVBTURrQyxxQkFOQyxFQU9ERywrQkFQQyxFQVFERyxrQ0FSQyxFQVNERyxvQkFUQyxFQVVERyxlQVZDLEVBV0RHLG9CQVhDLEVBWURHLFdBWkMsQ0Fkc0UsQ0FBekU7RUFBQSxJQUFRSSxPQUFSLFlBQVFBLE9BQVI7RUFBQSxJQUFpQkMsTUFBakIsWUFBaUJBLE1BQWpCOztFQTZCQSxJQUFBSixjQUFBLEVBQVEsWUFBTTtJQUNackUsWUFBWSxDQUFDMEUsZUFBYixHQUErQnJDLG1CQUEvQjtFQUNELENBRkQsRUFFRyxDQUFDckMsWUFBRCxFQUFlcUMsbUJBQWYsQ0FGSDtFQUlBLElBQUFzQyxzQkFBQSxFQUFnQixZQUFNO0lBQ3BCLElBQVFoRCxPQUFSLEdBQW9CZixVQUFwQixDQUFRZSxPQUFSO0lBRUFBLE9BQU8sU0FBUCxJQUFBQSxPQUFPLFdBQVAsWUFBQUEsT0FBTyxDQUFFaUQsV0FBVCxDQUFxQkosT0FBckI7SUFFQSxPQUFPLFlBQU07TUFDWDdDLE9BQU8sU0FBUCxJQUFBQSxPQUFPLFdBQVAsWUFBQUEsT0FBTyxDQUFFa0QsV0FBVCxDQUFxQkwsT0FBckI7SUFDRCxDQUZEO0VBR0QsQ0FSRCxFQVFHLENBQUM1RCxVQUFELEVBQWE0RCxPQUFiLENBUkgsRUFwS0ksQ0E4S0o7RUFDQTs7RUFDQSxJQUFBRyxzQkFBQSxFQUFnQixZQUFNO0lBQ3BCdkIsZ0NBQWdDLENBQUNvQixPQUFELEVBQVV6RSx3QkFBVixDQUFoQztJQUNBd0QsbUNBQW1DLENBQUNpQixPQUFELENBQW5DO0lBQ0FkLHFCQUFxQixDQUFDYyxPQUFELENBQXJCO0lBQ0FYLGdCQUFnQixDQUFDVyxPQUFELEVBQVV0RSxRQUFWLENBQWhCO0lBQ0E4RCxxQkFBcUIsQ0FBQ1EsT0FBRCxDQUFyQjtJQUNBTCxZQUFZLENBQUNLLE9BQUQsQ0FBWjtFQUNELENBUEQsRUFPRyxDQUNEekUsd0JBREMsRUFFRHFELGdDQUZDLEVBR0RHLG1DQUhDLEVBSURHLHFCQUpDLEVBS0RHLGdCQUxDLEVBTURHLHFCQU5DLEVBT0RHLFlBUEMsRUFRRGpFLFFBUkMsRUFTRHNFLE9BVEMsQ0FQSDtFQW1CQSxPQUFPQyxNQUFNLFNBQU4sSUFBQUEsTUFBTSxXQUFOLElBQUFBLE1BQU0sQ0FBRUssTUFBUixHQUNMakYsUUFBUSxLQUFLLGFBQWIsaUJBQThCLDZCQUFDLFFBQUQ7SUFBVSxLQUFLLEVBQUU0RSxNQUFNLENBQUMsQ0FBRCxDQUF2QjtJQUE0QixJQUFJLEVBQUUzRCxRQUFRLENBQUMsc0NBQUQ7RUFBMUMsRUFEekIsZ0JBR0w7SUFDRSxTQUFTLEVBQUUsSUFBQWlFLG1CQUFBLEVBQVczRSw0QkFBNEIsR0FBRyxFQUExQyxFQUE4QyxpQ0FBOUMsQ0FEYjtJQUVFLE9BQU8sRUFBRStCLGtDQUZYO0lBR0UsVUFBVSxFQUFFQSxrQ0FIZDtJQUlFLEdBQUcsRUFBRXZCO0VBSlAsRUFIRjtBQVVELENBbE5EOztBQW9OQWQsb0JBQW9CLENBQUNrRixZQUFyQixHQUFvQztFQUNsQ2pGLHdCQUF3QixFQUFFLEVBRFE7RUFFbENHLFFBQVEsRUFBRWtDLFNBRndCO0VBR2xDakMsU0FBUyxFQUFFaUM7QUFIdUIsQ0FBcEM7QUFNQXRDLG9CQUFvQixDQUFDbUYsU0FBckIsR0FBaUM7RUFDL0JsRix3QkFBd0IsRUFBRW1GLGtCQUFBLENBQVVDLE1BREw7RUFFL0JuRixZQUFZLEVBQUVrRixrQkFBQSxDQUFVRSxHQUFWLENBQWNDLFVBRkc7RUFHL0JuRixRQUFRLEVBQUVnRixrQkFBQSxDQUFVSSxJQUhXO0VBSy9CO0VBQ0E7RUFDQW5GLFNBQVMsRUFBRStFLGtCQUFBLENBQVVLLEtBQVYsQ0FBZ0I7SUFDekI5QyxLQUFLLEVBQUV5QyxrQkFBQSxDQUFVQyxNQURRO0lBRXpCeEMsS0FBSyxFQUFFdUMsa0JBQUEsQ0FBVUMsTUFGUTtJQUd6QjFELElBQUksRUFBRXlELGtCQUFBLENBQVVDLE1BQVYsQ0FBaUJFLFVBSEU7SUFJekJ6QyxLQUFLLEVBQUVzQyxrQkFBQSxDQUFVQztFQUpRLENBQWhCO0FBUG9CLENBQWpDO2VBZWVyRixvQiJ9
|
|
@@ -51,19 +51,21 @@ function walkAllItems(node, fn) {
|
|
|
51
51
|
var AdaptiveCardChoiceSetInput = function AdaptiveCardChoiceSetInput(_ref) {
|
|
52
52
|
var _ref$input = _ref.input,
|
|
53
53
|
choices = _ref$input.choices,
|
|
54
|
-
defaultValue = _ref$input.defaultValue
|
|
54
|
+
defaultValue = _ref$input.defaultValue,
|
|
55
|
+
label = _ref$input.label;
|
|
55
56
|
var labelId = (0, _useUniqueId.default)('webchat__id');
|
|
56
57
|
var defaultChoice = choices.find(function (_ref2) {
|
|
57
58
|
var value = _ref2.value;
|
|
58
59
|
return defaultValue === value || !defaultValue && !value;
|
|
59
60
|
});
|
|
60
61
|
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("select", {
|
|
61
|
-
"aria-
|
|
62
|
+
"aria-label": label,
|
|
63
|
+
"aria-labelledby": !label && defaultChoice ? labelId : undefined,
|
|
62
64
|
defaultValue: defaultValue,
|
|
63
65
|
tabIndex: -1
|
|
64
66
|
}, choices.map(function (choice) {
|
|
65
67
|
return /*#__PURE__*/_react.default.createElement("option", {
|
|
66
|
-
id: choice === defaultChoice ? labelId : undefined,
|
|
68
|
+
id: !label && choice === defaultChoice ? labelId : undefined,
|
|
67
69
|
key: choice.value,
|
|
68
70
|
value: choice.value
|
|
69
71
|
}, choice.title);
|
|
@@ -77,6 +79,7 @@ AdaptiveCardChoiceSetInput.propTypes = {
|
|
|
77
79
|
value: _propTypes.default.any
|
|
78
80
|
})),
|
|
79
81
|
defaultValue: _propTypes.default.any,
|
|
82
|
+
label: _propTypes.default.string,
|
|
80
83
|
value: _propTypes.default.any
|
|
81
84
|
}).isRequired
|
|
82
85
|
};
|
|
@@ -118,15 +121,15 @@ var AdaptiveCardAttachment = function AdaptiveCardAttachment(_ref3) {
|
|
|
118
121
|
return input instanceof ChoiceSetInput ? /*#__PURE__*/_react.default.createElement(AdaptiveCardChoiceSetInput, {
|
|
119
122
|
input: input,
|
|
120
123
|
key: index
|
|
121
|
-
}) : input instanceof DateInput ? /*#__PURE__*/_react.default.createElement("
|
|
124
|
+
}) : input instanceof DateInput ? /*#__PURE__*/_react.default.createElement("label", {
|
|
122
125
|
key: index
|
|
123
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
126
|
+
}, input.title, /*#__PURE__*/_react.default.createElement("input", {
|
|
124
127
|
placeholder: input.placeholder,
|
|
125
128
|
tabIndex: -1,
|
|
126
129
|
type: "date"
|
|
127
|
-
})) : input instanceof NumberInput ? /*#__PURE__*/_react.default.createElement("
|
|
130
|
+
})) : input instanceof NumberInput ? /*#__PURE__*/_react.default.createElement("label", {
|
|
128
131
|
key: index
|
|
129
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
132
|
+
}, input.title, /*#__PURE__*/_react.default.createElement("input", {
|
|
130
133
|
placeholder: input.placeholder,
|
|
131
134
|
tabIndex: -1,
|
|
132
135
|
type: "number"
|
|
@@ -135,19 +138,19 @@ var AdaptiveCardAttachment = function AdaptiveCardAttachment(_ref3) {
|
|
|
135
138
|
}, /*#__PURE__*/_react.default.createElement("button", {
|
|
136
139
|
tabIndex: -1,
|
|
137
140
|
type: "button"
|
|
138
|
-
}, input.title)) : input instanceof TextInput ? /*#__PURE__*/_react.default.createElement("
|
|
141
|
+
}, input.title)) : input instanceof TextInput ? /*#__PURE__*/_react.default.createElement("label", {
|
|
139
142
|
key: index
|
|
140
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
143
|
+
}, input.title, /*#__PURE__*/_react.default.createElement("input", {
|
|
141
144
|
placeholder: input.placeholder,
|
|
142
145
|
tabIndex: -1,
|
|
143
146
|
type: "text"
|
|
144
|
-
})) : input instanceof TimeInput ? /*#__PURE__*/_react.default.createElement("
|
|
147
|
+
})) : input instanceof TimeInput ? /*#__PURE__*/_react.default.createElement("label", {
|
|
145
148
|
key: index
|
|
146
|
-
}, /*#__PURE__*/_react.default.createElement("input", {
|
|
149
|
+
}, input.title, /*#__PURE__*/_react.default.createElement("input", {
|
|
147
150
|
placeholder: input.placeholder,
|
|
148
151
|
tabIndex: -1,
|
|
149
152
|
type: "time"
|
|
150
|
-
})) : input instanceof ToggleInput ? /*#__PURE__*/_react.default.createElement("
|
|
153
|
+
})) : input instanceof ToggleInput ? /*#__PURE__*/_react.default.createElement("label", {
|
|
151
154
|
key: index
|
|
152
155
|
}, input.title, /*#__PURE__*/_react.default.createElement("input", {
|
|
153
156
|
defaultChecked: input.value === input.valueOn,
|
|
@@ -162,4 +165,4 @@ AdaptiveCardAttachment.propTypes = {
|
|
|
162
165
|
};
|
|
163
166
|
var _default = AdaptiveCardAttachment;
|
|
164
167
|
exports.default = _default;
|
|
165
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsIndhbGtBbGxJdGVtcyIsIm5vZGUiLCJmbiIsImdldEl0ZW1BdCIsImdldEl0ZW1Db3VudCIsImNvdW50IiwiaW5kZXgiLCJnZXRBY3Rpb25BdCIsImdldEFjdGlvbkNvdW50IiwiQWRhcHRpdmVDYXJkQ2hvaWNlU2V0SW5wdXQiLCJpbnB1dCIsImNob2ljZXMiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbElkIiwidXNlVW5pcXVlSWQiLCJkZWZhdWx0Q2hvaWNlIiwiZmluZCIsInZhbHVlIiwidW5kZWZpbmVkIiwibWFwIiwiY2hvaWNlIiwidGl0bGUiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5T2YiLCJzdHJpbmciLCJhbnkiLCJpc1JlcXVpcmVkIiwiQWRhcHRpdmVDYXJkQXR0YWNobWVudCIsImNvbnRlbnQiLCJsb2NhbGl6ZSIsInBhcnNlQWRhcHRpdmVDYXJkSlNPTiIsInVzZVBhcnNlQWRhcHRpdmVDYXJkSlNPTiIsInVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIiwiQ2hvaWNlU2V0SW5wdXQiLCJEYXRlSW5wdXQiLCJOdW1iZXJJbnB1dCIsIk9wZW5VcmxBY3Rpb24iLCJTaG93Q2FyZEFjdGlvbiIsIlN1Ym1pdEFjdGlvbiIsIlRleHRJbnB1dCIsIlRpbWVJbnB1dCIsIlRvZ2dsZUlucHV0IiwiY2FyZCIsInVzZU1lbW8iLCJpZ25vcmVFcnJvcnMiLCJpbnB1dHMiLCJwdXNoIiwiY2FyZExhYmVsIiwic3BlYWsiLCJwbGFjZWhvbGRlciIsInZhbHVlT24iXSwic291cmNlUm9vdCI6ImJ1bmRsZTovLy8iLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hZGFwdGl2ZUNhcmRzL0F0dGFjaG1lbnRGb3JTY3JlZW5SZWFkZXIvQWRhcHRpdmVDYXJkQXR0YWNobWVudC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9uby1hcnJheS1pbmRleC1rZXkgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2ZvcmJpZC1kb20tcHJvcHMgKi9cbmltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29tcG9uZW50JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlIGZyb20gJy4uL2hvb2tzL3VzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlJztcbmltcG9ydCB1c2VQYXJzZUFkYXB0aXZlQ2FyZEpTT04gZnJvbSAnLi4vaG9va3MvaW50ZXJuYWwvdXNlUGFyc2VBZGFwdGl2ZUNhcmRKU09OJztcbmltcG9ydCB1c2VVbmlxdWVJZCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VVbmlxdWVJZCc7XG5cbmNvbnN0IHsgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuLy8gUGVyZm9ybSBhIGRlcHRoLWZpcnN0IHNlYXJjaCBvZiB0aGUgQWRhcHRpdmUgQ2FyZCB0cmVlLlxuZnVuY3Rpb24gd2Fsa0FsbEl0ZW1zKG5vZGUsIGZuKSB7XG4gIGZuKG5vZGUpO1xuXG4gIGlmIChub2RlLmdldEl0ZW1BdCAmJiBub2RlLmdldEl0ZW1Db3VudCkge1xuICAgIGZvciAobGV0IGNvdW50ID0gbm9kZS5nZXRJdGVtQ291bnQoKSwgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50OyBpbmRleCsrKSB7XG4gICAgICB3YWxrQWxsSXRlbXMobm9kZS5nZXRJdGVtQXQoaW5kZXgpLCBmbik7XG4gICAgfVxuICB9XG5cbiAgaWYgKG5vZGUuZ2V0QWN0aW9uQXQgJiYgbm9kZS5nZXRBY3Rpb25Db3VudCkge1xuICAgIGZvciAobGV0IGNvdW50ID0gbm9kZS5nZXRBY3Rpb25Db3VudCgpLCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7IGluZGV4KyspIHtcbiAgICAgIGZuKG5vZGUuZ2V0QWN0aW9uQXQoaW5kZXgpKTtcbiAgICB9XG4gIH1cbn1cblxuY29uc3QgQWRhcHRpdmVDYXJkQ2hvaWNlU2V0SW5wdXQgPSAoeyBpbnB1dDogeyBjaG9pY2VzLCBkZWZhdWx0VmFsdWUgfSB9KSA9PiB7XG4gIGNvbnN0IGxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9faWQnKTtcbiAgY29uc3QgZGVmYXVsdENob2ljZSA9IGNob2ljZXMuZmluZCgoeyB2YWx1ZSB9KSA9PiBkZWZhdWx0VmFsdWUgPT09IHZhbHVlIHx8ICghZGVmYXVsdFZhbHVlICYmICF2YWx1ZSkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxzZWxlY3QgYXJpYS1sYWJlbGxlZGJ5PXtkZWZhdWx0Q2hvaWNlID8gbGFiZWxJZCA6IHVuZGVmaW5lZH0gZGVmYXVsdFZhbHVlPXtkZWZhdWx0VmFsdWV9IHRhYkluZGV4PXstMX0+XG4gICAgICAgIHtjaG9pY2VzLm1hcChjaG9pY2UgPT4gKFxuICAgICAgICAgIDxvcHRpb24gaWQ9e2Nob2ljZSA9PT0gZGVmYXVsdENob2ljZSA/IGxhYmVsSWQgOiB1bmRlZmluZWR9IGtleT17Y2hvaWNlLnZhbHVlfSB2YWx1ZT17Y2hvaWNlLnZhbHVlfT5cbiAgICAgICAgICAgIHtjaG9pY2UudGl0bGV9XG4gICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICkpfVxuICAgICAgPC9zZWxlY3Q+XG4gICAgPC9kaXY+XG4gICk7XG59O1xuXG5BZGFwdGl2ZUNhcmRDaG9pY2VTZXRJbnB1dC5wcm9wVHlwZXMgPSB7XG4gIGlucHV0OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGNob2ljZXM6IFByb3BUeXBlcy5hcnJheU9mKFxuICAgICAgUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHZhbHVlOiBQcm9wVHlwZXMuYW55XG4gICAgICB9KVxuICAgICksXG4gICAgZGVmYXVsdFZhbHVlOiBQcm9wVHlwZXMuYW55LFxuICAgIHZhbHVlOiBQcm9wVHlwZXMuYW55XG4gIH0pLmlzUmVxdWlyZWRcbn07XG5cbmNvbnN0IEFkYXB0aXZlQ2FyZEF0dGFjaG1lbnQgPSAoeyBjb250ZW50IH0pID0+IHtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgcGFyc2VBZGFwdGl2ZUNhcmRKU09OID0gdXNlUGFyc2VBZGFwdGl2ZUNhcmRKU09OKCk7XG4gIGNvbnN0IFtcbiAgICB7XG4gICAgICBDaG9pY2VTZXRJbnB1dCxcbiAgICAgIERhdGVJbnB1dCxcbiAgICAgIE51bWJlcklucHV0LFxuICAgICAgT3BlblVybEFjdGlvbixcbiAgICAgIFNob3dDYXJkQWN0aW9uLFxuICAgICAgU3VibWl0QWN0aW9uLFxuICAgICAgVGV4dElucHV0LFxuICAgICAgVGltZUlucHV0LFxuICAgICAgVG9nZ2xlSW5wdXRcbiAgICB9XG4gIF0gPSB1c2VBZGFwdGl2ZUNhcmRzUGFja2FnZSgpO1xuXG4gIGNvbnN0IGNhcmQgPSB1c2VNZW1vKCgpID0+IHBhcnNlQWRhcHRpdmVDYXJkSlNPTihjb250ZW50LCB7IGlnbm9yZUVycm9yczogdHJ1ZSB9KSwgW2NvbnRlbnQsIHBhcnNlQWRhcHRpdmVDYXJkSlNPTl0pO1xuICBjb25zdCBpbnB1dHMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBpbnB1dHMgPSBbXTtcblxuICAgIHdhbGtBbGxJdGVtcyhjYXJkLCBub2RlID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIENob2ljZVNldElucHV0IHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBEYXRlSW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIE51bWJlcklucHV0IHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBPcGVuVXJsQWN0aW9uIHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBTaG93Q2FyZEFjdGlvbiB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgU3VibWl0QWN0aW9uIHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBUZXh0SW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIFRpbWVJbnB1dCB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgVG9nZ2xlSW5wdXRcbiAgICAgICkge1xuICAgICAgICBpbnB1dHMucHVzaChub2RlKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiBpbnB1dHM7XG4gIH0sIFtcbiAgICBjYXJkLFxuICAgIENob2ljZVNldElucHV0LFxuICAgIERhdGVJbnB1dCxcbiAgICBOdW1iZXJJbnB1dCxcbiAgICBPcGVuVXJsQWN0aW9uLFxuICAgIFNob3dDYXJkQWN0aW9uLFxuICAgIFN1Ym1pdEFjdGlvbixcbiAgICBUZXh0SW5wdXQsXG4gICAgVGltZUlucHV0LFxuICAgIFRvZ2dsZUlucHV0XG4gIF0pO1xuXG4gIGNvbnN0IGNhcmRMYWJlbCA9IGxvY2FsaXplKCdBVFRBQ0hNRU5UX0NBUkQnLCBjYXJkLnNwZWFrIHx8ICcnLCAnJywgJycpO1xuXG4gIHJldHVybiAoXG4gICAgPGFydGljbGU+XG4gICAgICA8ZGl2PntjYXJkTGFiZWx9PC9kaXY+XG4gICAgICB7aW5wdXRzLm1hcCgoaW5wdXQsIGluZGV4KSA9PlxuICAgICAgICBpbnB1dCBpbnN0YW5jZW9mIENob2ljZVNldElucHV0ID8gKFxuICAgICAgICAgIDxBZGFwdGl2ZUNhcmRDaG9pY2VTZXRJbnB1dCBpbnB1dD17aW5wdXR9IGtleT17aW5kZXh9IC8+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIERhdGVJbnB1dCA/IChcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgPGlucHV0IHBsYWNlaG9sZGVyPXtpbnB1dC5wbGFjZWhvbGRlcn0gdGFiSW5kZXg9ey0xfSB0eXBlPVwiZGF0ZVwiIC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIE51bWJlcklucHV0ID8gKFxuICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0+XG4gICAgICAgICAgICA8aW5wdXQgcGxhY2Vob2xkZXI9e2lucHV0LnBsYWNlaG9sZGVyfSB0YWJJbmRleD17LTF9IHR5cGU9XCJudW1iZXJcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBPcGVuVXJsQWN0aW9uIHx8IGlucHV0IGluc3RhbmNlb2YgU2hvd0NhcmRBY3Rpb24gfHwgaW5wdXQgaW5zdGFuY2VvZiBTdWJtaXRBY3Rpb24gPyAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxidXR0b24gdGFiSW5kZXg9ey0xfSB0eXBlPVwiYnV0dG9uXCI+XG4gICAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUZXh0SW5wdXQgPyAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cInRleHRcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUaW1lSW5wdXQgPyAoXG4gICAgICAgICAgPGRpdiBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cInRpbWVcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUb2dnbGVJbnB1dCA/IChcbiAgICAgICAgICA8ZGl2IGtleT17aW5kZXh9PlxuICAgICAgICAgICAge2lucHV0LnRpdGxlfVxuICAgICAgICAgICAgPGlucHV0IGRlZmF1bHRDaGVja2VkPXtpbnB1dC52YWx1ZSA9PT0gaW5wdXQudmFsdWVPbn0gdGFiSW5kZXg9ey0xfSB0eXBlPVwiY2hlY2tib3hcIiAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApIDogKFxuICAgICAgICAgIGZhbHNlXG4gICAgICAgIClcbiAgICAgICl9XG4gICAgPC9hcnRpY2xlPlxuICApO1xufTtcblxuQWRhcHRpdmVDYXJkQXR0YWNobWVudC5wcm9wVHlwZXMgPSB7XG4gIGNvbnRlbnQ6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZFxufTtcblxuZXhwb3J0IGRlZmF1bHQgQWRhcHRpdmVDYXJkQXR0YWNobWVudDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7QUFSQTs7QUFDQTtBQVNBLElBQVFBLFlBQVIsR0FBeUJDLG1DQUF6QixDQUFRRCxZQUFSLEMsQ0FFQTs7QUFDQSxTQUFTRSxZQUFULENBQXNCQyxJQUF0QixFQUE0QkMsRUFBNUIsRUFBZ0M7RUFDOUJBLEVBQUUsQ0FBQ0QsSUFBRCxDQUFGOztFQUVBLElBQUlBLElBQUksQ0FBQ0UsU0FBTCxJQUFrQkYsSUFBSSxDQUFDRyxZQUEzQixFQUF5QztJQUN2QyxLQUFLLElBQUlDLEtBQUssR0FBR0osSUFBSSxDQUFDRyxZQUFMLEVBQVosRUFBaUNFLEtBQUssR0FBRyxDQUE5QyxFQUFpREEsS0FBSyxHQUFHRCxLQUF6RCxFQUFnRUMsS0FBSyxFQUFyRSxFQUF5RTtNQUN2RU4sWUFBWSxDQUFDQyxJQUFJLENBQUNFLFNBQUwsQ0FBZUcsS0FBZixDQUFELEVBQXdCSixFQUF4QixDQUFaO0lBQ0Q7RUFDRjs7RUFFRCxJQUFJRCxJQUFJLENBQUNNLFdBQUwsSUFBb0JOLElBQUksQ0FBQ08sY0FBN0IsRUFBNkM7SUFDM0MsS0FBSyxJQUFJSCxNQUFLLEdBQUdKLElBQUksQ0FBQ08sY0FBTCxFQUFaLEVBQW1DRixNQUFLLEdBQUcsQ0FBaEQsRUFBbURBLE1BQUssR0FBR0QsTUFBM0QsRUFBa0VDLE1BQUssRUFBdkUsRUFBMkU7TUFDekVKLEVB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
|
|
168
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VMb2NhbGl6ZXIiLCJob29rcyIsIndhbGtBbGxJdGVtcyIsIm5vZGUiLCJmbiIsImdldEl0ZW1BdCIsImdldEl0ZW1Db3VudCIsImNvdW50IiwiaW5kZXgiLCJnZXRBY3Rpb25BdCIsImdldEFjdGlvbkNvdW50IiwiQWRhcHRpdmVDYXJkQ2hvaWNlU2V0SW5wdXQiLCJpbnB1dCIsImNob2ljZXMiLCJkZWZhdWx0VmFsdWUiLCJsYWJlbCIsImxhYmVsSWQiLCJ1c2VVbmlxdWVJZCIsImRlZmF1bHRDaG9pY2UiLCJmaW5kIiwidmFsdWUiLCJ1bmRlZmluZWQiLCJtYXAiLCJjaG9pY2UiLCJ0aXRsZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXJyYXlPZiIsInN0cmluZyIsImFueSIsImlzUmVxdWlyZWQiLCJBZGFwdGl2ZUNhcmRBdHRhY2htZW50IiwiY29udGVudCIsImxvY2FsaXplIiwicGFyc2VBZGFwdGl2ZUNhcmRKU09OIiwidXNlUGFyc2VBZGFwdGl2ZUNhcmRKU09OIiwidXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UiLCJDaG9pY2VTZXRJbnB1dCIsIkRhdGVJbnB1dCIsIk51bWJlcklucHV0IiwiT3BlblVybEFjdGlvbiIsIlNob3dDYXJkQWN0aW9uIiwiU3VibWl0QWN0aW9uIiwiVGV4dElucHV0IiwiVGltZUlucHV0IiwiVG9nZ2xlSW5wdXQiLCJjYXJkIiwidXNlTWVtbyIsImlnbm9yZUVycm9ycyIsImlucHV0cyIsInB1c2giLCJjYXJkTGFiZWwiLCJzcGVhayIsInBsYWNlaG9sZGVyIiwidmFsdWVPbiJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvQXR0YWNobWVudEZvclNjcmVlblJlYWRlci9BZGFwdGl2ZUNhcmRBdHRhY2htZW50LmpzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvZm9yYmlkLWRvbS1wcm9wcyAqL1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1jb21wb25lbnQnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UgZnJvbSAnLi4vaG9va3MvdXNlQWRhcHRpdmVDYXJkc1BhY2thZ2UnO1xuaW1wb3J0IHVzZVBhcnNlQWRhcHRpdmVDYXJkSlNPTiBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VQYXJzZUFkYXB0aXZlQ2FyZEpTT04nO1xuaW1wb3J0IHVzZVVuaXF1ZUlkIGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVVuaXF1ZUlkJztcblxuY29uc3QgeyB1c2VMb2NhbGl6ZXIgfSA9IGhvb2tzO1xuXG4vLyBQZXJmb3JtIGEgZGVwdGgtZmlyc3Qgc2VhcmNoIG9mIHRoZSBBZGFwdGl2ZSBDYXJkIHRyZWUuXG5mdW5jdGlvbiB3YWxrQWxsSXRlbXMobm9kZSwgZm4pIHtcbiAgZm4obm9kZSk7XG5cbiAgaWYgKG5vZGUuZ2V0SXRlbUF0ICYmIG5vZGUuZ2V0SXRlbUNvdW50KSB7XG4gICAgZm9yIChsZXQgY291bnQgPSBub2RlLmdldEl0ZW1Db3VudCgpLCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7IGluZGV4KyspIHtcbiAgICAgIHdhbGtBbGxJdGVtcyhub2RlLmdldEl0ZW1BdChpbmRleCksIGZuKTtcbiAgICB9XG4gIH1cblxuICBpZiAobm9kZS5nZXRBY3Rpb25BdCAmJiBub2RlLmdldEFjdGlvbkNvdW50KSB7XG4gICAgZm9yIChsZXQgY291bnQgPSBub2RlLmdldEFjdGlvbkNvdW50KCksIGluZGV4ID0gMDsgaW5kZXggPCBjb3VudDsgaW5kZXgrKykge1xuICAgICAgZm4obm9kZS5nZXRBY3Rpb25BdChpbmRleCkpO1xuICAgIH1cbiAgfVxufVxuXG5jb25zdCBBZGFwdGl2ZUNhcmRDaG9pY2VTZXRJbnB1dCA9ICh7IGlucHV0OiB7IGNob2ljZXMsIGRlZmF1bHRWYWx1ZSwgbGFiZWwgfSB9KSA9PiB7XG4gIGNvbnN0IGxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9faWQnKTtcbiAgY29uc3QgZGVmYXVsdENob2ljZSA9IGNob2ljZXMuZmluZCgoeyB2YWx1ZSB9KSA9PiBkZWZhdWx0VmFsdWUgPT09IHZhbHVlIHx8ICghZGVmYXVsdFZhbHVlICYmICF2YWx1ZSkpO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdj5cbiAgICAgIDxzZWxlY3RcbiAgICAgICAgYXJpYS1sYWJlbD17bGFiZWx9XG4gICAgICAgIGFyaWEtbGFiZWxsZWRieT17IWxhYmVsICYmIGRlZmF1bHRDaG9pY2UgPyBsYWJlbElkIDogdW5kZWZpbmVkfVxuICAgICAgICBkZWZhdWx0VmFsdWU9e2RlZmF1bHRWYWx1ZX1cbiAgICAgICAgdGFiSW5kZXg9ey0xfVxuICAgICAgPlxuICAgICAgICB7Y2hvaWNlcy5tYXAoY2hvaWNlID0+IChcbiAgICAgICAgICA8b3B0aW9uIGlkPXshbGFiZWwgJiYgY2hvaWNlID09PSBkZWZhdWx0Q2hvaWNlID8gbGFiZWxJZCA6IHVuZGVmaW5lZH0ga2V5PXtjaG9pY2UudmFsdWV9IHZhbHVlPXtjaG9pY2UudmFsdWV9PlxuICAgICAgICAgICAge2Nob2ljZS50aXRsZX1cbiAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgKSl9XG4gICAgICA8L3NlbGVjdD5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZENob2ljZVNldElucHV0LnByb3BUeXBlcyA9IHtcbiAgaW5wdXQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY2hvaWNlczogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgdmFsdWU6IFByb3BUeXBlcy5hbnlcbiAgICAgIH0pXG4gICAgKSxcbiAgICBkZWZhdWx0VmFsdWU6IFByb3BUeXBlcy5hbnksXG4gICAgbGFiZWw6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdmFsdWU6IFByb3BUeXBlcy5hbnlcbiAgfSkuaXNSZXF1aXJlZFxufTtcblxuY29uc3QgQWRhcHRpdmVDYXJkQXR0YWNobWVudCA9ICh7IGNvbnRlbnQgfSkgPT4ge1xuICBjb25zdCBsb2NhbGl6ZSA9IHVzZUxvY2FsaXplcigpO1xuICBjb25zdCBwYXJzZUFkYXB0aXZlQ2FyZEpTT04gPSB1c2VQYXJzZUFkYXB0aXZlQ2FyZEpTT04oKTtcbiAgY29uc3QgW1xuICAgIHtcbiAgICAgIENob2ljZVNldElucHV0LFxuICAgICAgRGF0ZUlucHV0LFxuICAgICAgTnVtYmVySW5wdXQsXG4gICAgICBPcGVuVXJsQWN0aW9uLFxuICAgICAgU2hvd0NhcmRBY3Rpb24sXG4gICAgICBTdWJtaXRBY3Rpb24sXG4gICAgICBUZXh0SW5wdXQsXG4gICAgICBUaW1lSW5wdXQsXG4gICAgICBUb2dnbGVJbnB1dFxuICAgIH1cbiAgXSA9IHVzZUFkYXB0aXZlQ2FyZHNQYWNrYWdlKCk7XG5cbiAgY29uc3QgY2FyZCA9IHVzZU1lbW8oKCkgPT4gcGFyc2VBZGFwdGl2ZUNhcmRKU09OKGNvbnRlbnQsIHsgaWdub3JlRXJyb3JzOiB0cnVlIH0pLCBbY29udGVudCwgcGFyc2VBZGFwdGl2ZUNhcmRKU09OXSk7XG4gIGNvbnN0IGlucHV0cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IGlucHV0cyA9IFtdO1xuXG4gICAgd2Fsa0FsbEl0ZW1zKGNhcmQsIG5vZGUgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgQ2hvaWNlU2V0SW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIERhdGVJbnB1dCB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgTnVtYmVySW5wdXQgfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIE9wZW5VcmxBY3Rpb24gfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIFNob3dDYXJkQWN0aW9uIHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBTdWJtaXRBY3Rpb24gfHxcbiAgICAgICAgbm9kZSBpbnN0YW5jZW9mIFRleHRJbnB1dCB8fFxuICAgICAgICBub2RlIGluc3RhbmNlb2YgVGltZUlucHV0IHx8XG4gICAgICAgIG5vZGUgaW5zdGFuY2VvZiBUb2dnbGVJbnB1dFxuICAgICAgKSB7XG4gICAgICAgIGlucHV0cy5wdXNoKG5vZGUpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgcmV0dXJuIGlucHV0cztcbiAgfSwgW1xuICAgIGNhcmQsXG4gICAgQ2hvaWNlU2V0SW5wdXQsXG4gICAgRGF0ZUlucHV0LFxuICAgIE51bWJlcklucHV0LFxuICAgIE9wZW5VcmxBY3Rpb24sXG4gICAgU2hvd0NhcmRBY3Rpb24sXG4gICAgU3VibWl0QWN0aW9uLFxuICAgIFRleHRJbnB1dCxcbiAgICBUaW1lSW5wdXQsXG4gICAgVG9nZ2xlSW5wdXRcbiAgXSk7XG5cbiAgY29uc3QgY2FyZExhYmVsID0gbG9jYWxpemUoJ0FUVEFDSE1FTlRfQ0FSRCcsIGNhcmQuc3BlYWsgfHwgJycsICcnLCAnJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8YXJ0aWNsZT5cbiAgICAgIDxkaXY+e2NhcmRMYWJlbH08L2Rpdj5cbiAgICAgIHtpbnB1dHMubWFwKChpbnB1dCwgaW5kZXgpID0+XG4gICAgICAgIGlucHV0IGluc3RhbmNlb2YgQ2hvaWNlU2V0SW5wdXQgPyAoXG4gICAgICAgICAgPEFkYXB0aXZlQ2FyZENob2ljZVNldElucHV0IGlucHV0PXtpbnB1dH0ga2V5PXtpbmRleH0gLz5cbiAgICAgICAgKSA6IGlucHV0IGluc3RhbmNlb2YgRGF0ZUlucHV0ID8gKFxuICAgICAgICAgIDxsYWJlbCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cImRhdGVcIiAvPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIE51bWJlcklucHV0ID8gKFxuICAgICAgICAgIDxsYWJlbCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cIm51bWJlclwiIC8+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgKSA6IGlucHV0IGluc3RhbmNlb2YgT3BlblVybEFjdGlvbiB8fCBpbnB1dCBpbnN0YW5jZW9mIFNob3dDYXJkQWN0aW9uIHx8IGlucHV0IGluc3RhbmNlb2YgU3VibWl0QWN0aW9uID8gKFxuICAgICAgICAgIDxkaXYga2V5PXtpbmRleH0+XG4gICAgICAgICAgICA8YnV0dG9uIHRhYkluZGV4PXstMX0gdHlwZT1cImJ1dHRvblwiPlxuICAgICAgICAgICAgICB7aW5wdXQudGl0bGV9XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKSA6IGlucHV0IGluc3RhbmNlb2YgVGV4dElucHV0ID8gKFxuICAgICAgICAgIDxsYWJlbCBrZXk9e2luZGV4fT5cbiAgICAgICAgICAgIHtpbnB1dC50aXRsZX1cbiAgICAgICAgICAgIDxpbnB1dCBwbGFjZWhvbGRlcj17aW5wdXQucGxhY2Vob2xkZXJ9IHRhYkluZGV4PXstMX0gdHlwZT1cInRleHRcIiAvPlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICkgOiBpbnB1dCBpbnN0YW5jZW9mIFRpbWVJbnB1dCA/IChcbiAgICAgICAgICA8bGFiZWwga2V5PXtpbmRleH0+XG4gICAgICAgICAgICB7aW5wdXQudGl0bGV9XG4gICAgICAgICAgICA8aW5wdXQgcGxhY2Vob2xkZXI9e2lucHV0LnBsYWNlaG9sZGVyfSB0YWJJbmRleD17LTF9IHR5cGU9XCJ0aW1lXCIgLz5cbiAgICAgICAgICA8L2xhYmVsPlxuICAgICAgICApIDogaW5wdXQgaW5zdGFuY2VvZiBUb2dnbGVJbnB1dCA/IChcbiAgICAgICAgICA8bGFiZWwga2V5PXtpbmRleH0+XG4gICAgICAgICAgICB7aW5wdXQudGl0bGV9XG4gICAgICAgICAgICA8aW5wdXQgZGVmYXVsdENoZWNrZWQ9e2lucHV0LnZhbHVlID09PSBpbnB1dC52YWx1ZU9ufSB0YWJJbmRleD17LTF9IHR5cGU9XCJjaGVja2JveFwiIC8+XG4gICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICBmYWxzZVxuICAgICAgICApXG4gICAgICApfVxuICAgIDwvYXJ0aWNsZT5cbiAgKTtcbn07XG5cbkFkYXB0aXZlQ2FyZEF0dGFjaG1lbnQucHJvcFR5cGVzID0ge1xuICBjb250ZW50OiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IEFkYXB0aXZlQ2FyZEF0dGFjaG1lbnQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7O0FBUkE7O0FBQ0E7QUFTQSxJQUFRQSxZQUFSLEdBQXlCQyxtQ0FBekIsQ0FBUUQsWUFBUixDLENBRUE7O0FBQ0EsU0FBU0UsWUFBVCxDQUFzQkMsSUFBdEIsRUFBNEJDLEVBQTVCLEVBQWdDO0VBQzlCQSxFQUFFLENBQUNELElBQUQsQ0FBRjs7RUFFQSxJQUFJQSxJQUFJLENBQUNFLFNBQUwsSUFBa0JGLElBQUksQ0FBQ0csWUFBM0IsRUFBeUM7SUFDdkMsS0FBSyxJQUFJQyxLQUFLLEdBQUdKLElBQUksQ0FBQ0csWUFBTCxFQUFaLEVBQWlDRSxLQUFLLEdBQUcsQ0FBOUMsRUFBaURBLEtBQUssR0FBR0QsS0FBekQsRUFBZ0VDLEtBQUssRUFBckUsRUFBeUU7TUFDdkVOLFlB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
|
|
@@ -52,16 +52,16 @@ function _default(_ref) {
|
|
|
52
52
|
// The following styles are copied from :disabled via Chromium.
|
|
53
53
|
'& .ac-pushButton, & input, & select, & textarea': {
|
|
54
54
|
'&[aria-disabled="true"]': {
|
|
55
|
-
backgroundColor: '
|
|
56
|
-
borderColor: '
|
|
55
|
+
backgroundColor: 'rgba(239, 239, 239, 0.3)',
|
|
56
|
+
borderColor: 'rgba(118, 118, 118, 0.3)',
|
|
57
57
|
borderStyle: 'solid',
|
|
58
58
|
borderWidth: 1,
|
|
59
59
|
color: '#545454'
|
|
60
60
|
}
|
|
61
61
|
},
|
|
62
62
|
'& .ac-pushButton[aria-disabled="true"]': {
|
|
63
|
-
backgroundColor: '#
|
|
64
|
-
color: '#
|
|
63
|
+
backgroundColor: '#EEE',
|
|
64
|
+
color: '#4F4F4F'
|
|
65
65
|
},
|
|
66
66
|
'& .ac-pushButton[aria-pressed="true"]': {
|
|
67
67
|
backgroundColor: cardPushButtonBackgroundColor,
|
|
@@ -74,4 +74,4 @@ function _default(_ref) {
|
|
|
74
74
|
}
|
|
75
75
|
};
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
77
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uVGV4dENvbG9yIiwiYWNjZW50IiwicGFkZGluZ1JlZ3VsYXIiLCJwcmltYXJ5Rm9udCIsImJveFNpemluZyIsImZvbnRGYW1pbHkiLCJwYWRkaW5nIiwiYXBwZWFyYW5jZSIsImJhY2tncm91bmRDb2xvciIsImJvcmRlclN0eWxlIiwiYm9yZGVyV2lkdGgiLCJjb2xvciIsImZvbnRXZWlnaHQiLCJib3JkZXJDb2xvciJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvU3R5bGVzL1N0eWxlU2V0L0FkYXB0aXZlQ2FyZFJlbmRlcmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBGdWxsQnVuZGxlU3R5bGVPcHRpb25zIGZyb20gJy4uLy4uLy4uL3R5cGVzL0Z1bGxCdW5kbGVTdHlsZU9wdGlvbnMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoe1xuICBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcixcbiAgY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IsXG4gIGFjY2VudCxcbiAgcGFkZGluZ1JlZ3VsYXIsXG4gIHByaW1hcnlGb250XG59OiBGdWxsQnVuZGxlU3R5bGVPcHRpb25zKSB7XG4gIHJldHVybiB7XG4gICAgJyYud2ViY2hhdF9fYWRhcHRpdmUtY2FyZC1yZW5kZXJlcic6IHtcbiAgICAgIC8vIFJlbGF0ZWQgdG8gIzQwNzUuXG4gICAgICAvLyBBZGFwdGl2ZSBDYXJkcyBhc3N1bWUgaXRzIGhvc3QgaXMgaW4gXCJmb3JjZWQgYm9yZGVyLWJveFwiIG1vZGUuXG4gICAgICAvLyBJbiBDU1MsIHRoZSBkZWZhdWx0IGlzIFwiY29udGVudC1ib3hcIiBtb2RlLlxuICAgICAgLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQ1NTL2JveC1zaXppbmcjdmFsdWVzXG4gICAgICAnJiAqJzoge1xuICAgICAgICBib3hTaXppbmc6ICdib3JkZXItYm94J1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLWlucHV0LCAmIC5hYy1pbmxpbmVBY3Rpb25CdXR0b24sICYgLmFjLXF1aWNrQWN0aW9uQnV0dG9uJzoge1xuICAgICAgICBmb250RmFtaWx5OiBwcmltYXJ5Rm9udFxuICAgICAgfSxcblxuICAgICAgJyYgLmFjLW11bHRpY2hvaWNlSW5wdXQnOiB7XG4gICAgICAgIHBhZGRpbmc6IHBhZGRpbmdSZWd1bGFyXG4gICAgICB9LFxuXG4gICAgICAnJiAuYWMtcHVzaEJ1dHRvbic6IHtcbiAgICAgICAgYXBwZWFyYW5jZTogJ25vbmUnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICdXaGl0ZScsXG4gICAgICAgIGJvcmRlclN0eWxlOiAnc29saWQnLFxuICAgICAgICBib3JkZXJXaWR0aDogMSxcbiAgICAgICAgY29sb3I6IGFjY2VudCxcbiAgICAgICAgZm9udFdlaWdodDogNjAwLFxuICAgICAgICBwYWRkaW5nOiBwYWRkaW5nUmVndWxhclxuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNFNTAwMDAnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmU6aG92ZXIsICYgLmFjLXB1c2hCdXR0b24uc3R5bGUtZGVzdHJ1Y3RpdmU6YWN0aXZlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjQkYwMDAwJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmUnOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyMwMDc4RDcnLFxuICAgICAgICBjb2xvcjogJ3doaXRlJ1xuICAgICAgfSxcblxuICAgICAgJyYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmU6aG92ZXIsICYgLmFjLXB1c2hCdXR0b24uc3R5bGUtcG9zaXRpdmU6YWN0aXZlJzoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjMDA2QUJDJ1xuICAgICAgfSxcblxuICAgICAgLy8gVGhlIGZvbGxvd2luZyBzdHlsZXMgYXJlIGNvcGllZCBmcm9tIDpkaXNhYmxlZCB2aWEgQ2hyb21pdW0uXG5cbiAgICAgICcmIC5hYy1wdXNoQnV0dG9uLCAmIGlucHV0LCAmIHNlbGVjdCwgJiB0ZXh0YXJlYSc6IHtcbiAgICAgICAgJyZbYXJpYS1kaXNhYmxlZD1cInRydWVcIl0nOiB7XG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyMzksIDIzOSwgMjM5LCAwLjMpJyxcbiAgICAgICAgICBib3JkZXJDb2xvcjogJ3JnYmEoMTE4LCAxMTgsIDExOCwgMC4zKScsXG4gICAgICAgICAgYm9yZGVyU3R5bGU6ICdzb2xpZCcsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgY29sb3I6ICcjNTQ1NDU0J1xuICAgICAgICB9XG4gICAgICB9LFxuXG4gICAgICAnJiAuYWMtcHVzaEJ1dHRvblthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSc6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI0VFRScsXG4gICAgICAgIGNvbG9yOiAnIzRGNEY0RidcbiAgICAgIH0sXG5cbiAgICAgICcmIC5hYy1wdXNoQnV0dG9uW2FyaWEtcHJlc3NlZD1cInRydWVcIl0nOiB7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogY2FyZFB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3IsXG4gICAgICAgIGJvcmRlckNvbG9yOiBjYXJkUHVzaEJ1dHRvbkJhY2tncm91bmRDb2xvcixcbiAgICAgICAgY29sb3I6IGNhcmRQdXNoQnV0dG9uVGV4dENvbG9yXG4gICAgICB9LFxuXG4gICAgICAnJiBpbnB1dFthcmlhLWRpc2FibGVkPVwidHJ1ZVwiXSc6IHtcbiAgICAgICAgcGFkZGluZzogJzJweCAxcHgnXG4gICAgICB9XG4gICAgfVxuICB9O1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRWUsd0JBTVk7RUFBQSxJQUx6QkEsNkJBS3lCLFFBTHpCQSw2QkFLeUI7RUFBQSxJQUp6QkMsdUJBSXlCLFFBSnpCQSx1QkFJeUI7RUFBQSxJQUh6QkMsTUFHeUIsUUFIekJBLE1BR3lCO0VBQUEsSUFGekJDLGNBRXlCLFFBRnpCQSxjQUV5QjtFQUFBLElBRHpCQyxXQUN5QixRQUR6QkEsV0FDeUI7RUFDekIsT0FBTztJQUNMLHFDQUFxQztNQUNuQztNQUNBO01BQ0E7TUFDQTtNQUNBLE9BQU87UUFDTEMsU0FBUyxFQUFFO01BRE4sQ0FMNEI7TUFTbkMsa0VBQWtFO1FBQ2hFQyxVQUFVLEVBQUVGO01BRG9ELENBVC9CO01BYW5DLDBCQUEwQjtRQUN4QkcsT0FBTyxFQUFFSjtNQURlLENBYlM7TUFpQm5DLG9CQUFvQjtRQUNsQkssVUFBVSxFQUFFLE1BRE07UUFFbEJDLGVBQWUsRUFBRSxPQUZDO1FBR2xCQyxXQUFXLEVBQUUsT0FISztRQUlsQkMsV0FBVyxFQUFFLENBSks7UUFLbEJDLEtBQUssRUFBRVYsTUFMVztRQU1sQlcsVUFBVSxFQUFFLEdBTk07UUFPbEJOLE9BQU8sRUFBRUo7TUFQUyxDQWpCZTtNQTJCbkMsc0NBQXNDO1FBQ3BDTSxlQUFlLEVBQUUsU0FEbUI7UUFFcENHLEtBQUssRUFBRTtNQUY2QixDQTNCSDtNQWdDbkMsdUZBQXVGO1FBQ3JGSCxlQUFlLEVBQUU7TUFEb0UsQ0FoQ3BEO01Bb0NuQyxtQ0FBbUM7UUFDakNBLGVBQWUsRUFBRSxTQURnQjtRQUVqQ0csS0FBSyxFQUFFO01BRjBCLENBcENBO01BeUNuQyxpRkFBaUY7UUFDL0VILGVBQWUsRUFBRTtNQUQ4RCxDQXpDOUM7TUE2Q25DO01BRUEsbURBQW1EO1FBQ2pELDJCQUEyQjtVQUN6QkEsZUFBZSxFQUFFLDBCQURRO1VBRXpCSyxXQUFXLEVBQUUsMEJBRlk7VUFHekJKLFdBQVcsRUFBRSxPQUhZO1VBSXpCQyxXQUFXLEVBQUUsQ0FKWTtVQUt6QkMsS0FBSyxFQUFFO1FBTGtCO01BRHNCLENBL0NoQjtNQXlEbkMsMENBQTBDO1FBQ3hDSCxlQUFlLEVBQUUsTUFEdUI7UUFFeENHLEtBQUssRUFBRTtNQUZpQyxDQXpEUDtNQThEbkMseUNBQXlDO1FBQ3ZDSCxlQUFlLEVBQUVULDZCQURzQjtRQUV2Q2MsV0FBVyxFQUFFZCw2QkFGMEI7UUFHdkNZLEtBQUssRUFBRVg7TUFIZ0MsQ0E5RE47TUFvRW5DLGlDQUFpQztRQUMvQk0sT0FBTyxFQUFFO01BRHNCO0lBcEVFO0VBRGhDLENBQVA7QUEwRUQifQ==
|
|
@@ -6,11 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var ADAPTIVE_CARDS_DEFAULT_STYLE_OPTIONS = {
|
|
8
8
|
adaptiveCardsParserMaxVersion: undefined,
|
|
9
|
-
cardEmphasisBackgroundColor: '#
|
|
9
|
+
cardEmphasisBackgroundColor: '#F9F9F9',
|
|
10
10
|
cardPushButtonBackgroundColor: '#0063B1',
|
|
11
11
|
cardPushButtonTextColor: 'White',
|
|
12
12
|
richCardWrapTitle: false
|
|
13
13
|
};
|
|
14
14
|
var _default = ADAPTIVE_CARDS_DEFAULT_STYLE_OPTIONS;
|
|
15
15
|
exports.default = _default;
|
|
16
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlMiLCJhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbiIsInVuZGVmaW5lZCIsImNhcmRFbXBoYXNpc0JhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yIiwiY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IiLCJyaWNoQ2FyZFdyYXBUaXRsZSJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvZGVmYXVsdFN0eWxlT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRhcHRpdmVDYXJkc1N0eWxlT3B0aW9ucyBmcm9tICcuL0FkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnMnO1xuXG5jb25zdCBBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlM6IFJlcXVpcmVkPEFkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnM+
|
|
16
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlMiLCJhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbiIsInVuZGVmaW5lZCIsImNhcmRFbXBoYXNpc0JhY2tncm91bmRDb2xvciIsImNhcmRQdXNoQnV0dG9uQmFja2dyb3VuZENvbG9yIiwiY2FyZFB1c2hCdXR0b25UZXh0Q29sb3IiLCJyaWNoQ2FyZFdyYXBUaXRsZSJdLCJzb3VyY2VSb290IjoiYnVuZGxlOi8vLyIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2FkYXB0aXZlQ2FyZHMvZGVmYXVsdFN0eWxlT3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQWRhcHRpdmVDYXJkc1N0eWxlT3B0aW9ucyBmcm9tICcuL0FkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnMnO1xuXG5jb25zdCBBREFQVElWRV9DQVJEU19ERUZBVUxUX1NUWUxFX09QVElPTlM6IFJlcXVpcmVkPEFkYXB0aXZlQ2FyZHNTdHlsZU9wdGlvbnM+ID0ge1xuICBhZGFwdGl2ZUNhcmRzUGFyc2VyTWF4VmVyc2lvbjogdW5kZWZpbmVkLFxuICBjYXJkRW1waGFzaXNCYWNrZ3JvdW5kQ29sb3I6ICcjRjlGOUY5JyxcbiAgY2FyZFB1c2hCdXR0b25CYWNrZ3JvdW5kQ29sb3I6ICcjMDA2M0IxJyxcbiAgY2FyZFB1c2hCdXR0b25UZXh0Q29sb3I6ICdXaGl0ZScsXG4gIHJpY2hDYXJkV3JhcFRpdGxlOiBmYWxzZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgQURBUFRJVkVfQ0FSRFNfREVGQVVMVF9TVFlMRV9PUFRJT05TO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7QUFFQSxJQUFNQSxvQ0FBeUUsR0FBRztFQUNoRkMsNkJBQTZCLEVBQUVDLFNBRGlEO0VBRWhGQywyQkFBMkIsRUFBRSxTQUZtRDtFQUdoRkMsNkJBQTZCLEVBQUUsU0FIaUQ7RUFJaEZDLHVCQUF1QixFQUFFLE9BSnVEO0VBS2hGQyxpQkFBaUIsRUFBRTtBQUw2RCxDQUFsRjtlQVFlTixvQyJ9
|
package/lib/addVersion.js
CHANGED
|
@@ -28,7 +28,7 @@ function setMetaTag(name, content) {
|
|
|
28
28
|
|
|
29
29
|
function addVersion(variant) {
|
|
30
30
|
setMetaTag('botframework-webchat:bundle:variant', variant);
|
|
31
|
-
setMetaTag('botframework-webchat:bundle:version', "4.15.8-main.
|
|
31
|
+
setMetaTag('botframework-webchat:bundle:version', "4.15.8-main.20230412.960a5a5");
|
|
32
32
|
setMetaTag('botframework-webchat:core:version', _botframeworkWebchatCore.version);
|
|
33
33
|
setMetaTag('botframework-webchat:ui:version', _botframeworkWebchatComponent.version);
|
|
34
34
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "botframework-webchat",
|
|
3
|
-
"version": "4.15.8-main.
|
|
3
|
+
"version": "4.15.8-main.20230412.960a5a5",
|
|
4
4
|
"description": "A highly-customizable web-based chat client for Azure Bot Services.",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -92,10 +92,10 @@
|
|
|
92
92
|
"@babel/runtime": "7.19.0",
|
|
93
93
|
"adaptivecards": "2.11.1",
|
|
94
94
|
"botframework-directlinejs": "0.15.1",
|
|
95
|
-
"botframework-directlinespeech-sdk": "4.15.8-main.
|
|
96
|
-
"botframework-webchat-api": "4.15.8-main.
|
|
97
|
-
"botframework-webchat-component": "4.15.8-main.
|
|
98
|
-
"botframework-webchat-core": "4.15.8-main.
|
|
95
|
+
"botframework-directlinespeech-sdk": "4.15.8-main.20230412.960a5a5",
|
|
96
|
+
"botframework-webchat-api": "4.15.8-main.20230412.960a5a5",
|
|
97
|
+
"botframework-webchat-component": "4.15.8-main.20230412.960a5a5",
|
|
98
|
+
"botframework-webchat-core": "4.15.8-main.20230412.960a5a5",
|
|
99
99
|
"classnames": "2.3.2",
|
|
100
100
|
"core-js": "3.28.0",
|
|
101
101
|
"markdown-it": "13.0.1",
|
|
@@ -126,8 +126,8 @@
|
|
|
126
126
|
"babel-plugin-transform-inline-environment-variables": "^0.4.4",
|
|
127
127
|
"concurrently": "^7.6.0",
|
|
128
128
|
"esbuild": "^0.17.10",
|
|
129
|
-
"isomorphic-react": "4.15.8-main.
|
|
130
|
-
"isomorphic-react-dom": "4.15.8-main.
|
|
129
|
+
"isomorphic-react": "4.15.8-main.20230412.960a5a5",
|
|
130
|
+
"isomorphic-react-dom": "4.15.8-main.20230412.960a5a5",
|
|
131
131
|
"source-map-loader": "^4.0.1",
|
|
132
132
|
"terser-webpack-plugin": "^5.3.6",
|
|
133
133
|
"typescript": "^4.9.5",
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { useMemo } from 'react';
|
|
2
|
+
|
|
3
|
+
import setOrRemoveAttributeIfFalseWithUndo from '../../DOMManipulationWithUndo/setOrRemoveAttributeIfFalseWithUndo';
|
|
4
|
+
import useAdaptiveCardModEffect from './private/useAdaptiveCardModEffect';
|
|
5
|
+
|
|
6
|
+
import type { AdaptiveCard } from 'adaptivecards';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Accessibility: "role" attribute must be set if "aria-label" is set.
|
|
10
|
+
*
|
|
11
|
+
* It is possible to render an Adaptive Card with empty content but "aria-label" attribute. The Adaptive Cards JSON looks like:
|
|
12
|
+
*
|
|
13
|
+
* ```json
|
|
14
|
+
* {
|
|
15
|
+
* "type": "AdaptiveCard",
|
|
16
|
+
* "speak": "Hello, World!",
|
|
17
|
+
* "body": [],
|
|
18
|
+
* "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
|
|
19
|
+
* "version": "1.5"
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*
|
|
23
|
+
* The HTML output will be:
|
|
24
|
+
*
|
|
25
|
+
* ```html
|
|
26
|
+
* <div class="ac-adaptiveCard" aria-label="Hello, World!"></div>
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* This violates WAI-ARIA because "aria-label" must not be set on an element without a "role".
|
|
30
|
+
*
|
|
31
|
+
* We need to set "role" attribute to "form" if the card has any input fields and is valid as a "form" role, otherwise, "figure".
|
|
32
|
+
*/
|
|
33
|
+
export default function useRoleModEffect(
|
|
34
|
+
adaptiveCard: AdaptiveCard
|
|
35
|
+
): readonly [(cardElement: HTMLElement) => void, () => void] {
|
|
36
|
+
const modder = useMemo(
|
|
37
|
+
() => (_, cardElement: HTMLElement) =>
|
|
38
|
+
setOrRemoveAttributeIfFalseWithUndo(
|
|
39
|
+
cardElement,
|
|
40
|
+
'role',
|
|
41
|
+
// "form" role requires either "aria-label", "aria-labelledby", or "title".
|
|
42
|
+
(cardElement.querySelector('button, input, select, textarea') && cardElement.getAttribute('aria-label')) ||
|
|
43
|
+
cardElement.getAttribute('aria-labelledby') ||
|
|
44
|
+
cardElement.getAttribute('title')
|
|
45
|
+
? 'form'
|
|
46
|
+
: 'figure'
|
|
47
|
+
),
|
|
48
|
+
[]
|
|
49
|
+
);
|
|
50
|
+
|
|
51
|
+
return useAdaptiveCardModEffect(modder, adaptiveCard);
|
|
52
|
+
}
|
|
@@ -24,6 +24,7 @@ import useAdaptiveCardsHostConfig from '../hooks/useAdaptiveCardsHostConfig';
|
|
|
24
24
|
import useAdaptiveCardsPackage from '../hooks/useAdaptiveCardsPackage';
|
|
25
25
|
import useDisabledModEffect from './AdaptiveCardHacks/useDisabledModEffect';
|
|
26
26
|
import usePersistValuesModEffect from './AdaptiveCardHacks/usePersistValuesModEffect';
|
|
27
|
+
import useRoleModEffect from './AdaptiveCardHacks/useRoleModEffect';
|
|
27
28
|
import useValueRef from './AdaptiveCardHacks/private/useValueRef';
|
|
28
29
|
|
|
29
30
|
const { ErrorBox } = Components;
|
|
@@ -172,6 +173,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
|
|
|
172
173
|
const [applyActiveElementMod, undoActiveElementMod] = useActiveElementModEffect(adaptiveCard);
|
|
173
174
|
const [applyDisabledMod, undoDisabledMod] = useDisabledModEffect(adaptiveCard);
|
|
174
175
|
const [applyPersistValuesMod, undoPersistValuesMod] = usePersistValuesModEffect(adaptiveCard);
|
|
176
|
+
const [applyRoleMod, undoRoleMod] = useRoleModEffect(adaptiveCard);
|
|
175
177
|
|
|
176
178
|
const { element, errors }: { element?: HTMLElement; errors?: Error[] } = useMemo(() => {
|
|
177
179
|
undoActionShouldBePushButtonMod();
|
|
@@ -179,6 +181,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
|
|
|
179
181
|
undoActiveElementMod();
|
|
180
182
|
undoDisabledMod();
|
|
181
183
|
undoPersistValuesMod();
|
|
184
|
+
undoRoleMod();
|
|
182
185
|
|
|
183
186
|
return renderAdaptiveCard(adaptiveCard, {
|
|
184
187
|
adaptiveCardsHostConfig,
|
|
@@ -197,7 +200,8 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
|
|
|
197
200
|
undoActionSetShouldNotBeMenuBarMod,
|
|
198
201
|
undoActiveElementMod,
|
|
199
202
|
undoDisabledMod,
|
|
200
|
-
undoPersistValuesMod
|
|
203
|
+
undoPersistValuesMod,
|
|
204
|
+
undoRoleMod
|
|
201
205
|
]);
|
|
202
206
|
|
|
203
207
|
useMemo(() => {
|
|
@@ -222,6 +226,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
|
|
|
222
226
|
applyActiveElementMod(element);
|
|
223
227
|
applyDisabledMod(element, disabled);
|
|
224
228
|
applyPersistValuesMod(element);
|
|
229
|
+
applyRoleMod(element);
|
|
225
230
|
}, [
|
|
226
231
|
actionPerformedClassName,
|
|
227
232
|
applyActionShouldBePushButtonMod,
|
|
@@ -229,6 +234,7 @@ const AdaptiveCardRenderer: VFC<AdaptiveCardRendererProps> = ({
|
|
|
229
234
|
applyActiveElementMod,
|
|
230
235
|
applyDisabledMod,
|
|
231
236
|
applyPersistValuesMod,
|
|
237
|
+
applyRoleMod,
|
|
232
238
|
disabled,
|
|
233
239
|
element
|
|
234
240
|
]);
|