@1money/component-ui 0.0.67 → 0.0.69
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/es/business/Filter/Account/Account.d.ts +2 -0
- package/es/business/Filter/Account/Account.js +289 -0
- package/es/business/Filter/Account/index.d.ts +2 -0
- package/es/business/Filter/Account/index.js +3 -0
- package/es/business/Filter/Account/interface.d.ts +83 -0
- package/es/business/Filter/Account/interface.js +2 -0
- package/es/business/Filter/Account/style/Account.css +84 -0
- package/es/business/Filter/Account/style/css.js +2 -0
- package/es/business/Filter/Account/style/index.d.ts +1 -0
- package/es/business/Filter/Account/style/index.js +2 -0
- package/es/business/Filter/Asset/Asset.d.ts +2 -0
- package/es/business/Filter/Asset/Asset.js +306 -0
- package/es/business/Filter/Asset/index.d.ts +2 -0
- package/es/business/Filter/Asset/index.js +3 -0
- package/es/business/Filter/Asset/interface.d.ts +90 -0
- package/es/business/Filter/Asset/interface.js +2 -0
- package/es/business/Filter/Asset/style/Asset.css +96 -0
- package/es/business/Filter/Asset/style/css.js +2 -0
- package/es/business/Filter/Asset/style/index.d.ts +1 -0
- package/es/business/Filter/Asset/style/index.js +2 -0
- package/es/business/Filter/DateRange/DateRange.d.ts +2 -0
- package/es/business/Filter/DateRange/DateRange.js +393 -0
- package/es/business/Filter/DateRange/index.d.ts +2 -0
- package/es/business/Filter/DateRange/index.js +3 -0
- package/es/business/Filter/DateRange/interface.d.ts +68 -0
- package/es/business/Filter/DateRange/interface.js +9 -0
- package/es/business/Filter/DateRange/style/DateRange.css +85 -0
- package/es/business/Filter/DateRange/style/css.js +2 -0
- package/es/business/Filter/DateRange/style/index.d.ts +1 -0
- package/es/business/Filter/DateRange/style/index.js +2 -0
- package/es/business/Filter/Option/Option.d.ts +2 -0
- package/es/business/Filter/Option/Option.js +264 -0
- package/es/business/Filter/Option/index.d.ts +2 -0
- package/es/business/Filter/Option/index.js +3 -0
- package/es/business/Filter/Option/interface.d.ts +81 -0
- package/es/business/Filter/Option/interface.js +2 -0
- package/es/business/Filter/Option/style/Option.css +72 -0
- package/es/business/Filter/Option/style/css.js +2 -0
- package/es/business/Filter/Option/style/index.d.ts +1 -0
- package/es/business/Filter/Option/style/index.js +2 -0
- package/es/business/Filter/index.d.ts +4 -0
- package/es/business/Filter/index.js +5 -0
- package/es/business/Select/Asset/AssetSelect.js +49 -27
- package/es/business/Select/Asset/interface.d.ts +16 -1
- package/es/business/Select/Asset/style/AssetSelect.css +5 -0
- package/es/business/Select/Network/NetworkSelect.js +79 -13
- package/es/business/Select/Network/interface.d.ts +43 -9
- package/es/business/Select/Network/interface.js +9 -2
- package/es/business/Select/Network/style/NetworkSelect.css +10 -0
- package/es/business/index.d.ts +1 -0
- package/es/business/index.js +2 -1
- package/es/components/ProForm/interface.d.ts +3 -1
- package/es/components/ProForm/layouts/QueryFilter.js +5 -1
- package/es/components/ProTable/ProTable.d.ts +5 -0
- package/es/components/ProTable/ProTable.js +309 -0
- package/es/components/ProTable/constants.d.ts +12 -0
- package/es/components/ProTable/constants.js +12 -0
- package/es/components/ProTable/core/genColumns.d.ts +10 -0
- package/es/components/ProTable/core/genColumns.js +81 -0
- package/es/components/ProTable/core/genSearchFields.d.ts +19 -0
- package/es/components/ProTable/core/genSearchFields.js +103 -0
- package/es/components/ProTable/core/useAwaitableReload.d.ts +17 -0
- package/es/components/ProTable/core/useAwaitableReload.js +39 -0
- package/es/components/ProTable/core/utils.d.ts +12 -0
- package/es/components/ProTable/core/utils.js +21 -0
- package/es/components/ProTable/index.d.ts +4 -0
- package/es/components/ProTable/index.js +5 -0
- package/es/components/ProTable/interface.d.ts +132 -0
- package/es/components/ProTable/interface.js +2 -0
- package/es/components/ProTable/style/ProTable.css +47 -0
- package/es/components/ProTable/style/css.js +6 -0
- package/es/components/ProTable/style/index.d.ts +5 -0
- package/es/components/ProTable/style/index.js +6 -0
- package/es/components/ProTable/useFetchData.d.ts +48 -0
- package/es/components/ProTable/useFetchData.js +270 -0
- package/es/components/Select/Select.js +3 -2
- package/es/components/Select/interface.d.ts +2 -0
- package/es/index.css +1 -1
- package/es/index.d.ts +2 -0
- package/es/index.js +2 -1
- package/lib/business/Filter/Account/Account.d.ts +2 -0
- package/lib/business/Filter/Account/Account.js +296 -0
- package/lib/business/Filter/Account/index.d.ts +2 -0
- package/lib/business/Filter/Account/index.js +28 -0
- package/lib/business/Filter/Account/interface.d.ts +83 -0
- package/lib/business/Filter/Account/interface.js +6 -0
- package/lib/business/Filter/Account/style/Account.css +84 -0
- package/lib/business/Filter/Account/style/css.js +4 -0
- package/lib/business/Filter/Account/style/index.d.ts +1 -0
- package/lib/business/Filter/Account/style/index.js +4 -0
- package/lib/business/Filter/Asset/Asset.d.ts +2 -0
- package/lib/business/Filter/Asset/Asset.js +313 -0
- package/lib/business/Filter/Asset/index.d.ts +2 -0
- package/lib/business/Filter/Asset/index.js +28 -0
- package/lib/business/Filter/Asset/interface.d.ts +90 -0
- package/lib/business/Filter/Asset/interface.js +6 -0
- package/lib/business/Filter/Asset/style/Asset.css +96 -0
- package/lib/business/Filter/Asset/style/css.js +4 -0
- package/lib/business/Filter/Asset/style/index.d.ts +1 -0
- package/lib/business/Filter/Asset/style/index.js +4 -0
- package/lib/business/Filter/DateRange/DateRange.d.ts +2 -0
- package/lib/business/Filter/DateRange/DateRange.js +400 -0
- package/lib/business/Filter/DateRange/index.d.ts +2 -0
- package/lib/business/Filter/DateRange/index.js +28 -0
- package/lib/business/Filter/DateRange/interface.d.ts +68 -0
- package/lib/business/Filter/DateRange/interface.js +15 -0
- package/lib/business/Filter/DateRange/style/DateRange.css +85 -0
- package/lib/business/Filter/DateRange/style/css.js +4 -0
- package/lib/business/Filter/DateRange/style/index.d.ts +1 -0
- package/lib/business/Filter/DateRange/style/index.js +4 -0
- package/lib/business/Filter/Option/Option.d.ts +2 -0
- package/lib/business/Filter/Option/Option.js +271 -0
- package/lib/business/Filter/Option/index.d.ts +2 -0
- package/lib/business/Filter/Option/index.js +28 -0
- package/lib/business/Filter/Option/interface.d.ts +81 -0
- package/lib/business/Filter/Option/interface.js +6 -0
- package/lib/business/Filter/Option/style/Option.css +72 -0
- package/lib/business/Filter/Option/style/css.js +4 -0
- package/lib/business/Filter/Option/style/index.d.ts +1 -0
- package/lib/business/Filter/Option/style/index.js +4 -0
- package/lib/business/Filter/index.d.ts +4 -0
- package/lib/business/Filter/index.js +50 -0
- package/lib/business/Select/Asset/AssetSelect.js +49 -27
- package/lib/business/Select/Asset/interface.d.ts +16 -1
- package/lib/business/Select/Asset/style/AssetSelect.css +5 -0
- package/lib/business/Select/Network/NetworkSelect.js +80 -13
- package/lib/business/Select/Network/interface.d.ts +43 -9
- package/lib/business/Select/Network/interface.js +10 -1
- package/lib/business/Select/Network/style/NetworkSelect.css +10 -0
- package/lib/business/index.d.ts +1 -0
- package/lib/business/index.js +12 -1
- package/lib/components/ProForm/interface.d.ts +3 -1
- package/lib/components/ProForm/layouts/QueryFilter.js +5 -1
- package/lib/components/ProTable/ProTable.d.ts +5 -0
- package/lib/components/ProTable/ProTable.js +316 -0
- package/lib/components/ProTable/constants.d.ts +12 -0
- package/lib/components/ProTable/constants.js +18 -0
- package/lib/components/ProTable/core/genColumns.d.ts +10 -0
- package/lib/components/ProTable/core/genColumns.js +87 -0
- package/lib/components/ProTable/core/genSearchFields.d.ts +19 -0
- package/lib/components/ProTable/core/genSearchFields.js +111 -0
- package/lib/components/ProTable/core/useAwaitableReload.d.ts +17 -0
- package/lib/components/ProTable/core/useAwaitableReload.js +46 -0
- package/lib/components/ProTable/core/utils.d.ts +12 -0
- package/lib/components/ProTable/core/utils.js +28 -0
- package/lib/components/ProTable/index.d.ts +4 -0
- package/lib/components/ProTable/index.js +33 -0
- package/lib/components/ProTable/interface.d.ts +132 -0
- package/lib/components/ProTable/interface.js +6 -0
- package/lib/components/ProTable/style/ProTable.css +47 -0
- package/lib/components/ProTable/style/css.js +8 -0
- package/lib/components/ProTable/style/index.d.ts +5 -0
- package/lib/components/ProTable/style/index.js +8 -0
- package/lib/components/ProTable/useFetchData.d.ts +48 -0
- package/lib/components/ProTable/useFetchData.js +277 -0
- package/lib/components/Select/Select.js +3 -2
- package/lib/components/Select/interface.d.ts +2 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +8 -1
- package/package.json +31 -1
- package/scripts/mcp-server/examples.generated.json +156 -0
- package/scripts/mcp-server/index.generated.json +741 -1
|
@@ -78,6 +78,7 @@ export var Select = function Select(props) {
|
|
|
78
78
|
allowDeselect = _props$allowDeselect === void 0 ? false : _props$allowDeselect,
|
|
79
79
|
panelClassName = props.panelClassName,
|
|
80
80
|
optionClassName = props.optionClassName,
|
|
81
|
+
groupLabelClassName = props.groupLabelClassName,
|
|
81
82
|
_props$listMaxHeight = props.listMaxHeight,
|
|
82
83
|
listMaxHeight = _props$listMaxHeight === void 0 ? DEFAULT_MAX_HEIGHT : _props$listMaxHeight,
|
|
83
84
|
offset = props.offset,
|
|
@@ -505,7 +506,7 @@ export var Select = function Select(props) {
|
|
|
505
506
|
return _jsxs("div", {
|
|
506
507
|
className: classes('group'),
|
|
507
508
|
children: [group.label && _jsx("div", {
|
|
508
|
-
className: classes('group-label'),
|
|
509
|
+
className: classes('group-label', groupLabelClassName),
|
|
509
510
|
children: _jsx(TypographyLabel, {
|
|
510
511
|
size: SELECT_TYPOGRAPHY.groupLabel.size,
|
|
511
512
|
strong: true,
|
|
@@ -571,4 +572,4 @@ export var Select = function Select(props) {
|
|
|
571
572
|
};
|
|
572
573
|
Select.displayName = 'Select';
|
|
573
574
|
export default /*#__PURE__*/memo(Select);
|
|
574
|
-
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVR5cGVhaGVhZCIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJJY29ucyIsIlNwaW5uZXIiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJ1c2VTZWxlY3RTaGVsbCIsIktFWUJPQVJEIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJleHRyYWN0T3B0aW9uVGV4dCIsImZpbHRlck9wdGlvbkdyb3VwcyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJnZXRNdWx0aXBsZVZhbHVlIiwiZ2V0Rm9udFNpemUiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJpc09wdGlvblNlbGVjdGVkIiwibm9ybWFsaXplU2l6ZSIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRvcHRpb25zIiwib3B0aW9ucyIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiZGlzYWJsZWRQcm9wIiwiX3Byb3BzJHJlYWRPbmx5IiwicmVhZE9ubHkiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwiX3Byb3BzJGZpbHRlcklucHV0QXV0IiwiZmlsdGVySW5wdXRBdXRvRm9jdXMiLCJsYWJlbCIsImxhYmVsQ2xhc3NOYW1lIiwiaW5mbyIsImRlc2NyaXB0aW9uIiwiZmVlZGJhY2siLCJfcHJvcHMkcmVxdWlyZWQiLCJyZXF1aXJlZCIsInByZWZpeCIsIl9wcm9wcyRlbXB0eUNvbnRlbnQiLCJlbXB0eUNvbnRlbnQiLCJwYW5lbEhlYWRlciIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJHBvcnRhbCIsInBvcnRhbCIsIl9wcm9wcyRhbGxvd0Rlc2VsZWN0IiwiYWxsb3dEZXNlbGVjdCIsInBhbmVsQ2xhc3NOYW1lIiwib3B0aW9uQ2xhc3NOYW1lIiwiX3Byb3BzJGxpc3RNYXhIZWlnaHQiLCJsaXN0TWF4SGVpZ2h0Iiwib2Zmc2V0IiwiYW5pbWF0aW9uIiwib25DaGFuZ2UiLCJvbk9wZW5DaGFuZ2UiLCJvblNlYXJjaENoYW5nZSIsIm9uQmx1ciIsImZpbHRlck9wdGlvbiIsInJlbmRlck9wdGlvbiIsInJlbmRlck9wdGlvbkNvbnRlbnQiLCJyZW5kZXJWYWx1ZSIsInJlZiIsImludGVyYWN0aXZlIiwiY2xhc3NlcyIsImF1dG9JZCIsInRyaWdnZXJJZCIsImxhYmVsSWQiLCJkZXNjcmlwdGlvbklkIiwiZmVlZGJhY2tJZCIsIm9wdGlvbklkUHJlZml4IiwiX3VzZUNvbnRyb2xsZWRTdGF0ZSIsInVuZGVmaW5lZCIsIl91c2VDb250cm9sbGVkU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpbm5lclZhbHVlIiwic2V0SW5uZXJWYWx1ZSIsIl91c2VDb250cm9sbGVkU3RhdGUzIiwiX3VzZUNvbnRyb2xsZWRTdGF0ZTQiLCJpbm5lclNlYXJjaFZhbHVlIiwic2V0SW5uZXJTZWFyY2hWYWx1ZSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJhY3RpdmVJbmRleCIsInNldEFjdGl2ZUluZGV4Iiwibm9ybWFsaXplZFNpemUiLCJhbGxPcHRpb25Hcm91cHMiLCJhbGxGbGF0T3B0aW9ucyIsInZpc2libGVPcHRpb25Hcm91cHMiLCJ2aXNpYmxlRmxhdE9wdGlvbnMiLCJzZWxlY3RlZE9wdGlvbnMiLCJzZWxlY3RlZEluZGV4IiwibGVuZ3RoIiwibWF0Y2hlZEluZGV4IiwiZmluZEluZGV4Iiwib3B0aW9uIiwiaGFzU2VsZWN0aW9uIiwibGlzdFJlZiIsImxpc3RDb250ZW50UmVmIiwiZmxvYXRpbmdSZWYiLCJ0cmlnZ2VyUmVmIiwic2VhcmNoSW5wdXRSZWYiLCJoYW5kbGVUcmlnZ2VyUmVmIiwibm9kZSIsImN1cnJlbnQiLCJfdXNlU2VsZWN0U2hlbGwiLCJpbm5lck9wZW4iLCJpc09wZW4iLCJoYW5kbGVPcGVuQ2hhbmdlIiwic2V0T3BlbiIsInJlZnMiLCJjb250ZXh0IiwiZmxvYXRpbmdTdHlsZXMiLCJ0cmFuc2l0aW9uU3R5bGVzIiwiaXNNb3VudGVkIiwiYmFzZUludGVyYWN0aW9ucyIsInNldFJlZmVyZW5jZSIsInNldEZsb2F0aW5nIiwibGlzdE5hdmlnYXRpb24iLCJvbk5hdmlnYXRlIiwiZW5hYmxlZCIsImxvb3AiLCJ2aXJ0dWFsIiwidHlwZWFoZWFkIiwib25NYXRjaCIsIl91c2VJbnRlcmFjdGlvbnMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJnZXRSZWZlcmVuY2VQcm9wcyIsImdldEZsb2F0aW5nUHJvcHMiLCJnZXRJdGVtUHJvcHMiLCJmaXJzdEVuYWJsZWRJbmRleCIsInByZXYiLCJfYSIsImZvY3VzIiwicHJldmVudFNjcm9sbCIsInNsaWNlIiwic2V0U2VhcmNoSW5wdXRSZWYiLCJub3RpZnlCbHVySWZPdXRzaWRlIiwicmVsYXRlZFRhcmdldCIsImV2ZW50IiwiX2IiLCJuZXh0VGFyZ2V0Iiwid2l0aGluVHJpZ2dlciIsImNvbnRhaW5zIiwid2l0aGluRmxvYXRpbmciLCJoYW5kbGVUcmlnZ2VyQmx1ciIsImhhbmRsZU9wdGlvbkJsdXIiLCJjb21taXRDaGFuZ2UiLCJuZXh0VmFsdWUiLCJuZXh0T3B0aW9uIiwiaGFuZGxlU2VsZWN0T3B0aW9uIiwibmV4dE9wdGlvbnMiLCJoYW5kbGVSZW1vdmVTZWxlY3RlZFZhbHVlIiwib3B0aW9uVmFsdWUiLCJpbmNsdWRlcyIsImhhbmRsZVRyaWdnZXJLZXlEb3duIiwia2V5IiwiRU5URVIiLCJTUEFDRSIsInByZXZlbnREZWZhdWx0IiwiQVJST1dfRE9XTiIsIkFSUk9XX1VQIiwiaGFuZGxlSXRlbU1vdXNlRW50ZXIiLCJpbmRleCIsImhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZVRhZ1JlbW92ZUNsaWNrIiwiaGFuZGxlU2VhcmNoQmx1ciIsImhhbmRsZVNlYXJjaENoYW5nZSIsIl9ldmVudCIsImZpbmRFbmFibGVkSW5kZXgiLCJkaXJlY3Rpb24iLCJzdGFydCIsInN0ZXAiLCJjYW5kaWRhdGUiLCJoYW5kbGVTZWFyY2hLZXlEb3duIiwibmV4dCIsIkVTQ0FQRSIsInJlbmRlclZhbHVlTWV0YSIsImZvbnRTaXplIiwidmFsdWVMYWJlbENsYXNzIiwiaXNNdWx0aXBsZVZhbHVlRmlsbGVkIiwidHJpZ2dlckNsYXNzTmFtZSIsImljb25TaXplIiwiYWN0aXZlT3B0aW9uSWQiLCJmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5IiwiZGVzY3JpYmVkQnlJZHMiLCJmaWx0ZXIiLCJCb29sZWFuIiwiam9pbiIsImNoaWxkcmVuIiwiT2JqZWN0IiwiYXNzaWduIiwidHlwZSIsIm9uS2V5RG93biIsIm9uUmVtb3ZlIiwib25SZW1vdmVDbGljayIsIm9uUmVtb3ZlTW91c2VEb3duIiwic3Ryb2tlV2lkdGgiLCJjb2xvciIsInBhbmVsTm9kZSIsIm1vZGFsIiwiaW5pdGlhbEZvY3VzIiwicmV0dXJuRm9jdXMiLCJhY3RpdmVEZXNjZW5kYW50IiwiZW1wdHkiLCJmbGF0SW5kZXgiLCJtYXAiLCJncm91cCIsImdyb3VwTGFiZWwiLCJzdHJvbmciLCJvcHRpb25GbGF0SW5kZXgiLCJzZWxlY3RlZCIsImFjdGl2ZSIsIm9wdGlvbk1ldGEiLCJyb2xlIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsImNvbnRlbnQiLCJkaXNwbGF5TmFtZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxHQUFHLElBQUlDLElBQUksRUFBRUMsSUFBSSxJQUFJQyxLQUFLLFFBQVEsbUJBQW1CO0FDQTlELFNBQ0VDLG9CQUFvQixFQUNwQkMsY0FBYyxFQUNkQyxlQUFlLEVBQ2ZDLGlCQUFpQixFQUNqQkMsWUFBWSxRQUNQLG9CQUFvQjtBQUMzQixTQUFTQyxJQUFJLEVBQUVDLFNBQVMsRUFBRUMsS0FBSyxFQUFFQyxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDekUsU0FBU0Msa0JBQWtCLEVBQUVDLGdCQUFnQixRQUFRLGVBQWU7QUFDcEUsU0FBU0MsS0FBSyxRQUFRLFVBQVU7QUFDaEMsU0FBU0MsT0FBTyxRQUFRLFlBQVk7QUFDcEMsU0FBU0MsY0FBYyxFQUFFQyxl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Q0FBQztnQkFBQSxDQUFBLEVBbEVNK00sS0FBSyxDQUFDcEQsR0FBRyxDQW1FYjtjQUFBLENBQ1AsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNIO1VBQUEsQ0FBQSxDQUNHLEVBQ0xySCxXQUFXLElBQUksSUFBSSxJQUNsQmhHLElBQUEsQ0FBQSxLQUFBLEVBQUE7WUFBSzhDLFNBQVMsRUFBRTBFLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFBQStILFFBQUEsRUFBR3ZKO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9LLE1BQU0sR0FBR3JHLElBQUEsQ0FBQ0ksY0FBYyxFQUFBO1FBQUFtUCxRQUFBLEVBQUVVO01BQVMsQ0FBQSxDQUFrQixHQUFHQSxTQUFTO0lBQzFFLENBQUMsQ0FBQyxDQUFFO0VBQUEsQ0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRHROLE1BQU0sQ0FBQ3lPLFdBQVcsR0FBRyxRQUFRO0FBRTdCLDRCQUFlNVEsSUFBSSxDQUFDbUMsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdE5hdmlnYXRpb24sIHVzZVR5cGVhaGVhZCwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IFNlbGVjdE9wdGlvbkNvbnRlbnQgZnJvbSAnLi9TZWxlY3RPcHRpb25Db250ZW50JztcbmltcG9ydCBTZWxlY3RTZWFyY2hDb250cm9sIGZyb20gJy4vU2VsZWN0U2VhcmNoQ29udHJvbCc7XG5pbXBvcnQgU2VsZWN0VmFsdWVDb250ZW50IGZyb20gJy4vU2VsZWN0VmFsdWVDb250ZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBLRVlCT0FSRCwgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0T3B0aW9uVGV4dCwgZmlsdGVyT3B0aW9uR3JvdXBzLCBmbGF0dGVuT3B0aW9uR3JvdXBzLCBnZXRNdWx0aXBsZVZhbHVlLCBnZXRGb250U2l6ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHN0eWxlLCBpZCwgbmFtZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSwgcGxhY2Vob2xkZXIgPSAnVmFsdWUnLCBvcHRpb25zID0gW10sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkOiBkaXNhYmxlZFByb3AgPSBmYWxzZSwgcmVhZE9ubHkgPSBmYWxzZSwgbG9hZGluZyA9IGZhbHNlLCBtdWx0aXBsZSA9IGZhbHNlLCBtYXhWaXNpYmxlVmFsdWVzLCBzZWFyY2hhYmxlID0gZmFsc2UsIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsIHNlYXJjaFZhbHVlLCBkZWZhdWx0U2VhcmNoVmFsdWUgPSAnJywgZmlsdGVySW5wdXRBdXRvRm9jdXMgPSB0cnVlLCBsYWJlbCwgbGFiZWxDbGFzc05hbWUsIGluZm8sIGRlc2NyaXB0aW9uLCBmZWVkYmFjaywgcmVxdWlyZWQgPSB0cnVlLCBwcmVmaXgsIGVtcHR5Q29udGVudCA9ICdObyBvcHRpb25zJywgcGFuZWxIZWFkZXIsIHBhbmVsRm9vdGVyLCBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBwb3J0YWwgPSB0cnVlLCBhbGxvd0Rlc2VsZWN0ID0gZmFsc2UsIHBhbmVsQ2xhc3NOYW1lLCBvcHRpb25DbGFzc05hbWUsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIG9mZnNldCwgYW5pbWF0aW9uLCBvbkNoYW5nZSwgb25PcGVuQ2hhbmdlLCBvblNlYXJjaENoYW5nZSwgb25CbHVyLCBmaWx0ZXJPcHRpb24sIHJlbmRlck9wdGlvbiwgcmVuZGVyT3B0aW9uQ29udGVudCwgcmVuZGVyVmFsdWUsIHJlZiwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRpc2FibGVkID0gZGlzYWJsZWRQcm9wIHx8IGxvYWRpbmc7XG4gICAgY29uc3QgaW50ZXJhY3RpdmUgPSAhZGlzYWJsZWQgJiYgIXJlYWRPbmx5O1xuICAgIGNvbnN0IGNsYXNzZXMgPSByb290Q2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gaWQgIT09IG51bGwgJiYgaWQgIT09IHZvaWQgMCA/IGlkIDogYXV0b0lkO1xuICAgIGNvbnN0IGxhYmVsSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGZlZWRiYWNrSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IG9wdGlvbklkUHJlZml4ID0gdXNlSWQoKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKG11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpLCB2YWx1ZSk7XG4gICAgY29uc3QgW2lubmVyU2VhcmNoVmFsdWUsIHNldElubmVyU2VhcmNoVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRTZWFyY2hWYWx1ZSwgc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGFsbE9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gbm9ybWFsaXplT3B0aW9uR3JvdXBzKG9wdGlvbnMpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGFsbEZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiAoc2VhcmNoYWJsZVxuICAgICAgICA/IGZpbHRlck9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMsIGlubmVyU2VhcmNoVmFsdWUsIGZpbHRlck9wdGlvbilcbiAgICAgICAgOiBhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzLCBmaWx0ZXJPcHRpb24sIGlubmVyU2VhcmNoVmFsdWUsIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCB2aXNpYmxlRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHModmlzaWJsZU9wdGlvbkdyb3VwcyksIFt2aXNpYmxlT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBnZXRTZWxlY3RlZE9wdGlvbnMoYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlKSwgW2FsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZV0pO1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoZWRJbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZEluZGV4ID49IDAgPyBtYXRjaGVkSW5kZXggOiBudWxsO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbnMsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGxpc3RDb250ZW50UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBmbG9hdGluZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlYXJjaElucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHsgaXNPcGVuOiBpbm5lck9wZW4sIHNldE9wZW46IGhhbmRsZU9wZW5DaGFuZ2UsIHJlZnMsIGNvbnRleHQsIGZsb2F0aW5nU3R5bGVzLCB0cmFuc2l0aW9uU3R5bGVzLCBpc01vdW50ZWQsIGJhc2VJbnRlcmFjdGlvbnMsIH0gPSB1c2VTZWxlY3RTaGVsbCh7XG4gICAgICAgIG9wZW4sXG4gICAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgbGlzdE1heEhlaWdodCxcbiAgICAgICAgYW5pbWF0aW9uLFxuICAgICAgICBvZmZzZXQsXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmZXJlbmNlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgaGFuZGxlVHJpZ2dlclJlZihub2RlKTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGbG9hdGluZyA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRGbG9hdGluZyhub2RlKTtcbiAgICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgY29uc3QgbGlzdE5hdmlnYXRpb24gPSB1c2VMaXN0TmF2aWdhdGlvbihjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBvbk5hdmlnYXRlOiBzZXRBY3RpdmVJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuLFxuICAgICAgICBsb29wOiB0cnVlLFxuICAgICAgICB2aXJ0dWFsOiBzZWFyY2hhYmxlLFxuICAgIH0pO1xuICAgIGNvbnN0IHR5cGVhaGVhZCA9IHVzZVR5cGVhaGVhZChjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWY6IGxpc3RDb250ZW50UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuICYmICFzZWFyY2hhYmxlLFxuICAgICAgICBvbk1hdGNoOiBzZXRBY3RpdmVJbmRleCxcbiAgICB9KTtcbiAgICBjb25zdCB7IGdldFJlZmVyZW5jZVByb3BzLCBnZXRGbG9hdGluZ1Byb3BzLCBnZXRJdGVtUHJvcHMgfSA9IHVzZUludGVyYWN0aW9ucyhbXG4gICAgICAgIC4uLmJhc2VJbnRlcmFjdGlvbnMsXG4gICAgICAgIGxpc3ROYXZpZ2F0aW9uLFxuICAgICAgICB0eXBlYWhlYWQsXG4gICAgXSk7XG4gICAgY29uc3QgZmlyc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gIW9wdGlvbi5kaXNhYmxlZCksIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsICYmIHZpc2libGVGbGF0T3B0aW9uc1twcmV2XSAmJiAhdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwID8gZmlyc3RFbmFibGVkSW5kZXggOiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9LCBbZmlyc3RFbmFibGVkSW5kZXgsIGlubmVyT3Blbiwgc2VsZWN0ZWRJbmRleCwgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWlubmVyT3BlbiB8fCBhY3RpdmVJbmRleCA9PT0gbnVsbCB8fCBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2FjdGl2ZUluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGlubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxpc3RSZWYuY3VycmVudCA9IGxpc3RSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudCA9IGxpc3RDb250ZW50UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9ucy5sZW5ndGhdKTtcbiAgICBjb25zdCBzZXRTZWFyY2hJbnB1dFJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgc2VhcmNoSW5wdXRSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChub2RlICYmIGlubmVyT3BlbiAmJiBmaWx0ZXJJbnB1dEF1dG9Gb2N1cykge1xuICAgICAgICAgICAgbm9kZS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcHRpb25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29tbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBuZXh0T3B0aW9uKSA9PiB7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbiwgbmFtZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0T3B0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRvZ2dsZU11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbnMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvd0Rlc2VsZWN0ICYmIGlubmVyVmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29tbWl0Q2hhbmdlKG9wdGlvbi52YWx1ZSwgb3B0aW9uKTtcbiAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAoX2IgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoIWludGVyYWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRU5URVIgfHwgZXZlbnQua2V5ID09PSBLRVlCT0FSRC5TUEFDRSkge1xuICAgICAgICAgICAgaWYgKGlubmVyT3BlbiAmJlxuICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24odmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoIWlubmVyT3Blbik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX1VQKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbU1vdXNlRW50ZXIgPSB1c2VFdmVudENhbGxiYWNrKChpbmRleCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tpbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZUNsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgX2V2ZW50KSA9PiB7XG4gICAgICAgIHNldElubmVyU2VhcmNoVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25TZWFyY2hDaGFuZ2UgPT09IG51bGwgfHwgb25TZWFyY2hDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2VhcmNoQ2hhbmdlKG5leHRWYWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgZmluZEVuYWJsZWRJbmRleCA9IHVzZUV2ZW50Q2FsbGJhY2soKGN1cnJlbnQsIGRpcmVjdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50ICE9PSB2b2lkIDAgPyBjdXJyZW50IDogKGRpcmVjdGlvbiA9PT0gMSA/IC0xIDogbGVuZ3RoKTtcbiAgICAgICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuZ3RoOyBzdGVwICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9ICgoc3RhcnQgKyBkaXJlY3Rpb24gKiBzdGVwKSAlIGxlbmd0aCArIGxlbmd0aCkgJSBsZW5ndGg7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbY2FuZGlkYXRlXSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBmaW5kRW5hYmxlZEluZGV4KGFjdGl2ZUluZGV4LCAxKTtcbiAgICAgICAgICAgIGlmIChuZXh0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgobmV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gZmluZEVuYWJsZWRJbmRleChhY3RpdmVJbmRleCwgLTEpO1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbmRleChwcmV2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUikge1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24odmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRVNDQVBFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZU1ldGEgPSB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICAgICAgc2l6ZTogbm9ybWFsaXplZFNpemUsXG4gICAgICAgIGZvbnRTaXplOiBnZXRGb250U2l6ZShub3JtYWxpemVkU2l6ZSksXG4gICAgfTtcbiAgICBjb25zdCB2YWx1ZUxhYmVsQ2xhc3MgPSBoYXNTZWxlY3Rpb24gPyAndmFsdWUnIDogJ3BsYWNlaG9sZGVyJztcbiAgICBjb25zdCBpc011bHRpcGxlVmFsdWVGaWxsZWQgPSAobXVsdGlwbGUgJiZcbiAgICAgICAgaGFzU2VsZWN0aW9uICYmXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMgPT09IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgdHJpZ2dlckNsYXNzTmFtZSA9IGNsYXNzZXMoJ3RyaWdnZXInLCBqb2luQ2xzKGNsYXNzZXMoYHRyaWdnZXItJHtub3JtYWxpemVkU2l6ZX1gKSwgY2xhc3NlcyhgdHJpZ2dlci0ke3ZhcmlhbnR9YCksIGlubmVyT3BlbiAmJiBjbGFzc2VzKCd0cmlnZ2VyLW9wZW4nKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItbXVsdGlwbGUtZmlsbGVkJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgIWRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItcmVhZG9ubHknKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdzbWFsbCcgPyAxNiA6IDIwO1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbklkID0gc2VhcmNoYWJsZSAmJiBpbm5lck9wZW4gJiYgYWN0aXZlSW5kZXggIT09IG51bGxcbiAgICAgICAgPyBgJHtvcHRpb25JZFByZWZpeH0tJHthY3RpdmVJbmRleH1gXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtcbiAgICAgICAgZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCxcbiAgICAgICAgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAnYXJpYS1yZWFkb25seSc6IHJlYWRPbmx5IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVUcmlnZ2VyS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1tdWx0aXBsZWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogX2pzeChTZWxlY3RWYWx1ZUNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3NlcywgaGFzU2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24sIG11bHRpcGxlOiBtdWx0aXBsZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIHJlbmRlclZhbHVlTWV0YTogcmVuZGVyVmFsdWVNZXRhLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucywgbWF4VmlzaWJsZVZhbHVlczogbWF4VmlzaWJsZVZhbHVlcywgb25SZW1vdmU6IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUsIG9uUmVtb3ZlQ2xpY2s6IGhhbmRsZVRhZ1JlbW92ZUNsaWNrLCBvblJlbW92ZU1vdXNlRG93bjogaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIH0pIH0pXSB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9qc3goU3Bpbm5lciwgeyBzaXplOiBpY29uU2l6ZSwgc3Ryb2tlV2lkdGg6IDIgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogaW5uZXJPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSldIH0pKSwgaXNNb3VudGVkICYmIGludGVyYWN0aXZlICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtzZWFyY2hhYmxlICYmIChfanN4KFNlbGVjdFNlYXJjaENvbnRyb2wsIHsgcmVmOiBzZXRTZWFyY2hJbnB1dFJlZiwgY2xhc3NlczogY2xhc3NlcywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpemU9e25vcm1hbGl6ZWRTaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBcInNtYWxsXCIsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIGFjdGl2ZURlc2NlbmRhbnQ6IGFjdGl2ZU9wdGlvbklkLCBvbkJsdXI6IGhhbmRsZVNlYXJjaEJsdXIsIG9uQ2hhbmdlOiBoYW5kbGVTZWFyY2hDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlU2VhcmNoS2V5RG93biB9KSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiBbcGFuZWxIZWFkZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBwYW5lbEhlYWRlciB9KSksIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggPT09IDAgPyAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZW1wdHknKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LmNvbG9yLCBjaGlsZHJlbjogZW1wdHlDb250ZW50IH0pIH0pKSA6ICgoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uRmxhdEluZGV4ID0gZmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVJbmRleCA9PT0gb3B0aW9uRmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICEhb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtvcHRpb25JZFByZWZpeH0tJHtvcHRpb25GbGF0SW5kZXh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbicsIGpvaW5DbHMoYWN0aXZlICYmIGNsYXNzZXMoJ29wdGlvbi1hY3RpdmUnKSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcygnb3B0aW9uLXNlbGVjdGVkJyksIG9wdGlvbi5kaXNhYmxlZCAmJiBjbGFzc2VzKCdvcHRpb24tZGlzYWJsZWQnKSwgb3B0aW9uQ2xhc3NOYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCwgc2l6ZTogbm9ybWFsaXplZFNpemUsIGNvbnRlbnQ6IHJlbmRlck9wdGlvbkNvbnRlbnQgPT09IG51bGwgfHwgcmVuZGVyT3B0aW9uQ29udGVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVuZGVyT3B0aW9uQ29udGVudChvcHRpb24sIG9wdGlvbk1ldGEpIH0pKSB9KSwgYCR7Z3JvdXAua2V5fS0ke29wdGlvbi52YWx1ZX1gKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSldIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
575
|
+
//# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsImNvbXBvbmVudHMvc3JjL2NvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZsb2F0aW5nRm9jdXNNYW5hZ2VyIiwiRmxvYXRpbmdQb3J0YWwiLCJ1c2VJbnRlcmFjdGlvbnMiLCJ1c2VMaXN0TmF2aWdhdGlvbiIsInVzZVR5cGVhaGVhZCIsIm1lbW8iLCJ1c2VFZmZlY3QiLCJ1c2VJZCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNvbnRyb2xsZWRTdGF0ZSIsInVzZUV2ZW50Q2FsbGJhY2siLCJJY29ucyIsIlNwaW5uZXIiLCJUeXBvZ3JhcGh5Qm9keSIsIlR5cG9ncmFwaHlMYWJlbCIsImpvaW5DbHMiLCJkZWZhdWx0Iiwicm9vdENsYXNzbmFtZXMiLCJTZWxlY3RGaWVsZFNoZWxsIiwiU2VsZWN0T3B0aW9uQ29udGVudCIsIlNlbGVjdFNlYXJjaENvbnRyb2wiLCJTZWxlY3RWYWx1ZUNvbnRlbnQiLCJ1c2VTZWxlY3RTaGVsbCIsIktFWUJPQVJEIiwiU0VMRUNUX1RZUE9HUkFQSFkiLCJleHRyYWN0T3B0aW9uVGV4dCIsImZpbHRlck9wdGlvbkdyb3VwcyIsImZsYXR0ZW5PcHRpb25Hcm91cHMiLCJnZXRNdWx0aXBsZVZhbHVlIiwiZ2V0Rm9udFNpemUiLCJnZXRPcHRpb25zQnlWYWx1ZXMiLCJnZXRTZWxlY3RlZE9wdGlvbnMiLCJpc09wdGlvblNlbGVjdGVkIiwibm9ybWFsaXplU2l6ZSIsIm5vcm1hbGl6ZU9wdGlvbkdyb3VwcyIsInJlbW92ZU11bHRpcGxlVmFsdWUiLCJ0b2dnbGVNdWx0aXBsZVZhbHVlIiwiREVGQVVMVF9NQVhfSEVJR0hUIiwiU2VsZWN0IiwicHJvcHMiLCJfcHJvcHMkY2xhc3NOYW1lIiwiY2xhc3NOYW1lIiwiX3Byb3BzJHByZWZpeENscyIsInByZWZpeENscyIsInN0eWxlIiwiaWQiLCJuYW1lIiwiYXJpYUxhYmVsIiwiYXJpYUxhYmVsbGVkQnkiLCJfcHJvcHMkcGxhY2Vob2xkZXIiLCJwbGFjZWhvbGRlciIsIl9wcm9wcyRvcHRpb25zIiwib3B0aW9ucyIsInZhbHVlIiwiZGVmYXVsdFZhbHVlIiwiX3Byb3BzJHNpemUiLCJzaXplIiwiX3Byb3BzJHN0YXR1cyIsInN0YXR1cyIsIl9wcm9wcyR2YXJpYW50IiwidmFyaWFudCIsIl9wcm9wcyRkaXNhYmxlZCIsImRpc2FibGVkIiwiZGlzYWJsZWRQcm9wIiwiX3Byb3BzJHJlYWRPbmx5IiwicmVhZE9ubHkiLCJfcHJvcHMkbG9hZGluZyIsImxvYWRpbmciLCJfcHJvcHMkbXVsdGlwbGUiLCJtdWx0aXBsZSIsIm1heFZpc2libGVWYWx1ZXMiLCJfcHJvcHMkc2VhcmNoYWJsZSIsInNlYXJjaGFibGUiLCJfcHJvcHMkc2VhcmNoUGxhY2Vob2wiLCJzZWFyY2hQbGFjZWhvbGRlciIsInNlYXJjaFZhbHVlIiwiX3Byb3BzJGRlZmF1bHRTZWFyY2hWIiwiZGVmYXVsdFNlYXJjaFZhbHVlIiwiX3Byb3BzJGZpbHRlcklucHV0QXV0IiwiZmlsdGVySW5wdXRBdXRvRm9jdXMiLCJsYWJlbCIsImxhYmVsQ2xhc3NOYW1lIiwiaW5mbyIsImRlc2NyaXB0aW9uIiwiZmVlZGJhY2siLCJfcHJvcHMkcmVxdWlyZWQiLCJyZXF1aXJlZCIsInByZWZpeCIsIl9wcm9wcyRlbXB0eUNvbnRlbnQiLCJlbXB0eUNvbnRlbnQiLCJwYW5lbEhlYWRlciIsInBhbmVsRm9vdGVyIiwib3BlbiIsIl9wcm9wcyRkZWZhdWx0T3BlbiIsImRlZmF1bHRPcGVuIiwiX3Byb3BzJHBvcnRhbCIsInBvcnRhbCIsIl9wcm9wcyRhbGxvd0Rlc2VsZWN0IiwiYWxsb3dEZXNlbGVjdCIsInBhbmVsQ2xhc3NOYW1lIiwib3B0aW9uQ2xhc3NOYW1lIiwiZ3JvdXBMYWJlbENsYXNzTmFtZSIsIl9wcm9wcyRsaXN0TWF4SGVpZ2h0IiwibGlzdE1heEhlaWdodCIsIm9mZnNldCIsImFuaW1hdGlvbiIsIm9uQ2hhbmdlIiwib25PcGVuQ2hhbmdlIiwib25TZWFyY2hDaGFuZ2UiLCJvbkJsdXIiLCJmaWx0ZXJPcHRpb24iLCJyZW5kZXJPcHRpb24iLCJyZW5kZXJPcHRpb25Db250ZW50IiwicmVuZGVyVmFsdWUiLCJyZWYiLCJpbnRlcmFjdGl2ZSIsImNsYXNzZXMiLCJhdXRvSWQiLCJ0cmlnZ2VySWQiLCJsYWJlbElkIiwiZGVzY3JpcHRpb25JZCIsImZlZWRiYWNrSWQiLCJvcHRpb25JZFByZWZpeCIsIl91c2VDb250cm9sbGVkU3RhdGUiLCJ1bmRlZmluZWQiLCJfdXNlQ29udHJvbGxlZFN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaW5uZXJWYWx1ZSIsInNldElubmVyVmFsdWUiLCJfdXNlQ29udHJvbGxlZFN0YXRlMyIsIl91c2VDb250cm9sbGVkU3RhdGU0IiwiaW5uZXJTZWFyY2hWYWx1ZSIsInNldElubmVyU2VhcmNoVmFsdWUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiYWN0aXZlSW5kZXgiLCJzZXRBY3RpdmVJbmRleCIsIm5vcm1hbGl6ZWRTaXplIiwiYWxsT3B0aW9uR3JvdXBzIiwiYWxsRmxhdE9wdGlvbnMiLCJ2aXNpYmxlT3B0aW9uR3JvdXBzIiwidmlzaWJsZUZsYXRPcHRpb25zIiwic2VsZWN0ZWRPcHRpb25zIiwic2VsZWN0ZWRJbmRleCIsImxlbmd0aCIsIm1hdGNoZWRJbmRleCIsImZpbmRJbmRleCIsIm9wdGlvbiIsImhhc1NlbGVjdGlvbiIsImxpc3RSZWYiLCJsaXN0Q29udGVudFJlZiIsImZsb2F0aW5nUmVmIiwidHJpZ2dlclJlZiIsInNlYXJjaElucHV0UmVmIiwiaGFuZGxlVHJpZ2dlclJlZiIsIm5vZGUiLCJjdXJyZW50IiwiX3VzZVNlbGVjdFNoZWxsIiwiaW5uZXJPcGVuIiwiaXNPcGVuIiwiaGFuZGxlT3BlbkNoYW5nZSIsInNldE9wZW4iLCJyZWZzIiwiY29udGV4dCIsImZsb2F0aW5nU3R5bGVzIiwidHJhbnNpdGlvblN0eWxlcyIsImlzTW91bnRlZCIsImJhc2VJbnRlcmFjdGlvbnMiLCJzZXRSZWZlcmVuY2UiLCJzZXRGbG9hdGluZyIsImxpc3ROYXZpZ2F0aW9uIiwib25OYXZpZ2F0ZSIsImVuYWJsZWQiLCJsb29wIiwidmlydHVhbCIsInR5cGVhaGVhZCIsIm9uTWF0Y2giLCJfdXNlSW50ZXJhY3Rpb25zIiwiY29uY2F0IiwiX3RvQ29uc3VtYWJsZUFycmF5IiwiZ2V0UmVmZXJlbmNlUHJvcHMiLCJnZXRGbG9hdGluZ1Byb3BzIiwiZ2V0SXRlbVByb3BzIiwiZmlyc3RFbmFibGVkSW5kZXgiLCJwcmV2IiwiX2EiLCJmb2N1cyIsInByZXZlbnRTY3JvbGwiLCJzbGljZSIsInNldFNlYXJjaElucHV0UmVmIiwibm90aWZ5Qmx1cklmT3V0c2lkZSIsInJlbGF0ZWRUYXJnZXQiLCJldmVudCIsIl9iIiwibmV4dFRhcmdldCIsIndpdGhpblRyaWdnZXIiLCJjb250YWlucyIsIndpdGhpbkZsb2F0aW5nIiwiaGFuZGxlVHJpZ2dlckJsdXIiLCJoYW5kbGVPcHRpb25CbHVyIiwiY29tbWl0Q2hhbmdlIiwibmV4dFZhbHVlIiwibmV4dE9wdGlvbiIsImhhbmRsZVNlbGVjdE9wdGlvbiIsIm5leHRPcHRpb25zIiwiaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSIsIm9wdGlvblZhbHVlIiwiaW5jbHVkZXMiLCJoYW5kbGVUcmlnZ2VyS2V5RG93biIsImtleSIsIkVOVEVSIiwiU1BBQ0UiLCJwcmV2ZW50RGVmYXVsdCIsIkFSUk9XX0RPV04iLCJBUlJPV19VUCIsImhhbmRsZUl0ZW1Nb3VzZUVudGVyIiwiaW5kZXgiLCJoYW5kbGVUYWdSZW1vdmVNb3VzZURvd24iLCJzdG9wUHJvcGFnYXRpb24iLCJoYW5kbGVUYWdSZW1vdmVDbGljayIsImhhbmRsZVNlYXJjaEJsdXIiLCJoYW5kbGVTZWFyY2hDaGFuZ2UiLCJfZXZlbnQiLCJmaW5kRW5hYmxlZEluZGV4IiwiZGlyZWN0aW9uIiwic3RhcnQiLCJzdGVwIiwiY2FuZGlkYXRlIiwiaGFuZGxlU2VhcmNoS2V5RG93biIsIm5leHQiLCJFU0NBUEUiLCJyZW5kZXJWYWx1ZU1ldGEiLCJmb250U2l6ZSIsInZhbHVlTGFiZWxDbGFzcyIsImlzTXVsdGlwbGVWYWx1ZUZpbGxlZCIsInRyaWdnZXJDbGFzc05hbWUiLCJpY29uU2l6ZSIsImFjdGl2ZU9wdGlvbklkIiwiZmxvYXRpbmdBcmlhTGFiZWxsZWRCeSIsImRlc2NyaWJlZEJ5SWRzIiwiZmlsdGVyIiwiQm9vbGVhbiIsImpvaW4iLCJjaGlsZHJlbiIsIk9iamVjdCIsImFzc2lnbiIsInR5cGUiLCJvbktleURvd24iLCJvblJlbW92ZSIsIm9uUmVtb3ZlQ2xpY2siLCJvblJlbW92ZU1vdXNlRG93biIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJwYW5lbE5vZGUiLCJtb2RhbCIsImluaXRpYWxGb2N1cyIsInJldHVybkZvY3VzIiwiYWN0aXZlRGVzY2VuZGFudCIsImVtcHR5IiwiZmxhdEluZGV4IiwibWFwIiwiZ3JvdXAiLCJncm91cExhYmVsIiwic3Ryb25nIiwib3B0aW9uRmxhdEluZGV4Iiwic2VsZWN0ZWQiLCJhY3RpdmUiLCJvcHRpb25NZXRhIiwicm9sZSIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJjb250ZW50IiwiZGlzcGxheU5hbWUiXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsR0FBRyxJQUFJQyxJQUFJLEVBQUVDLElBQUksSUFBSUMsS0FBSyxRQUFRLG1CQUFtQjtBQ0E5RCxTQUNFQyxvQkFBb0IsRUFDcEJDLGNBQWMsRUFDZEMsZUFBZSxFQUNmQyxpQkFBaUIsRUFDakJDLFlBQVksUUFDUCxvQkFBb0I7QUFDM0IsU0FBU0MsSUFBSSxFQUFFQyxTQUFTLEVBQUVDLEtBQUssRUFBRUMsT0FBTyxFQUFFQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLGtCQUFrQixFQUFFQyxnQkFBZ0IsUUFBUSxlQUFlO0FBQ3BFLFNBQVNDLEtBQUssUUFBUSxVQUFVO0FBQ2hDLFNBQVNDLE9BQU8sUUFBUSxZQUFZO0FB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RixLQUFLLENBQUNwRCxHQUFHLE9BQUEvQixNQUFBLENBQUkvQixNQUFNLENBQUM5RixLQUFLLENBQUUsQ0FzQzVCO2tCQUViLENBQUMsQ0FBQztnQkFBQSxDQUFBLEVBbEVNZ04sS0FBSyxDQUFDcEQsR0FBRyxDQW1FYjtjQUFBLENBQ1AsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNIO1VBQUEsQ0FBQSxDQUNHLEVBQ0x0SCxXQUFXLElBQUksSUFBSSxJQUNsQmhHLElBQUEsQ0FBQSxLQUFBLEVBQUE7WUFBSzhDLFNBQVMsRUFBRTJFLE9BQU8sQ0FBQyxjQUFjLENBQUM7WUFBQStILFFBQUEsRUFBR3hKO1VBQVcsQ0FBQSxDQUN0RDtRQUFBLENBQUEsQ0FBQTtNQUNHLENBQUEsQ0FFVDtNQUVELE9BQU9LLE1BQU0sR0FBR3JHLElBQUEsQ0FBQ0ksY0FBYyxFQUFBO1FBQUFvUCxRQUFBLEVBQUVVO01BQVMsQ0FBQSxDQUFrQixHQUFHQSxTQUFTO0lBQzFFLENBQUMsQ0FBQyxDQUFFO0VBQUEsQ0FBQSxDQUNhO0FBRXZCLENBQUM7QUFFRHZOLE1BQU0sQ0FBQzBPLFdBQVcsR0FBRyxRQUFRO0FBRTdCLDRCQUFlN1EsSUFBSSxDQUFDbUMsTUFBTSxDQUFDIiwiZmlsZSI6ImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGpzeCBhcyBfanN4LCBqc3hzIGFzIF9qc3hzIH0gZnJvbSBcInJlYWN0L2pzeC1ydW50aW1lXCI7XG5pbXBvcnQgeyBGbG9hdGluZ0ZvY3VzTWFuYWdlciwgRmxvYXRpbmdQb3J0YWwsIHVzZUludGVyYWN0aW9ucywgdXNlTGlzdE5hdmlnYXRpb24sIHVzZVR5cGVhaGVhZCwgfSBmcm9tICdAZmxvYXRpbmctdWkvcmVhY3QnO1xuaW1wb3J0IHsgbWVtbywgdXNlRWZmZWN0LCB1c2VJZCwgdXNlTWVtbywgdXNlUmVmLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHVzZUNvbnRyb2xsZWRTdGF0ZSwgdXNlRXZlbnRDYWxsYmFjayB9IGZyb20gJ0AxbW9uZXkvaG9va3MnO1xuaW1wb3J0IHsgSWNvbnMgfSBmcm9tICcuLi9JY29ucyc7XG5pbXBvcnQgeyBTcGlubmVyIH0gZnJvbSAnLi4vU3Bpbm5lcic7XG5pbXBvcnQgeyBUeXBvZ3JhcGh5Qm9keSwgVHlwb2dyYXBoeUxhYmVsIH0gZnJvbSAnLi4vVHlwb2dyYXBoeSc7XG5pbXBvcnQgeyBqb2luQ2xzLCBkZWZhdWx0IGFzIHJvb3RDbGFzc25hbWVzIH0gZnJvbSAnLi4vLi4vdXRpbHMvY2xhc3NuYW1lcyc7XG5pbXBvcnQgU2VsZWN0RmllbGRTaGVsbCBmcm9tICcuL1NlbGVjdEZpZWxkU2hlbGwnO1xuaW1wb3J0IFNlbGVjdE9wdGlvbkNvbnRlbnQgZnJvbSAnLi9TZWxlY3RPcHRpb25Db250ZW50JztcbmltcG9ydCBTZWxlY3RTZWFyY2hDb250cm9sIGZyb20gJy4vU2VsZWN0U2VhcmNoQ29udHJvbCc7XG5pbXBvcnQgU2VsZWN0VmFsdWVDb250ZW50IGZyb20gJy4vU2VsZWN0VmFsdWVDb250ZW50JztcbmltcG9ydCB7IHVzZVNlbGVjdFNoZWxsIH0gZnJvbSAnLi91c2VTZWxlY3RTaGVsbCc7XG5pbXBvcnQgeyBLRVlCT0FSRCwgU0VMRUNUX1RZUE9HUkFQSFkgfSBmcm9tICcuL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBleHRyYWN0T3B0aW9uVGV4dCwgZmlsdGVyT3B0aW9uR3JvdXBzLCBmbGF0dGVuT3B0aW9uR3JvdXBzLCBnZXRNdWx0aXBsZVZhbHVlLCBnZXRGb250U2l6ZSwgZ2V0T3B0aW9uc0J5VmFsdWVzLCBnZXRTZWxlY3RlZE9wdGlvbnMsIGlzT3B0aW9uU2VsZWN0ZWQsIG5vcm1hbGl6ZVNpemUsIG5vcm1hbGl6ZU9wdGlvbkdyb3VwcywgcmVtb3ZlTXVsdGlwbGVWYWx1ZSwgdG9nZ2xlTXVsdGlwbGVWYWx1ZSwgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCAnLi9zdHlsZSc7XG5jb25zdCBERUZBVUxUX01BWF9IRUlHSFQgPSAzMjA7XG5leHBvcnQgY29uc3QgU2VsZWN0ID0gKHByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBjbGFzc05hbWUgPSAnJywgcHJlZml4Q2xzID0gJ3NlbGVjdCcsIHN0eWxlLCBpZCwgbmFtZSwgJ2FyaWEtbGFiZWwnOiBhcmlhTGFiZWwsICdhcmlhLWxhYmVsbGVkYnknOiBhcmlhTGFiZWxsZWRCeSwgcGxhY2Vob2xkZXIgPSAnVmFsdWUnLCBvcHRpb25zID0gW10sIHZhbHVlLCBkZWZhdWx0VmFsdWUsIHNpemUgPSAnbGFyZ2UnLCBzdGF0dXMgPSAnZGVmYXVsdCcsIHZhcmlhbnQgPSAnZmlsbCcsIGRpc2FibGVkOiBkaXNhYmxlZFByb3AgPSBmYWxzZSwgcmVhZE9ubHkgPSBmYWxzZSwgbG9hZGluZyA9IGZhbHNlLCBtdWx0aXBsZSA9IGZhbHNlLCBtYXhWaXNpYmxlVmFsdWVzLCBzZWFyY2hhYmxlID0gZmFsc2UsIHNlYXJjaFBsYWNlaG9sZGVyID0gJ1NlYXJjaCcsIHNlYXJjaFZhbHVlLCBkZWZhdWx0U2VhcmNoVmFsdWUgPSAnJywgZmlsdGVySW5wdXRBdXRvRm9jdXMgPSB0cnVlLCBsYWJlbCwgbGFiZWxDbGFzc05hbWUsIGluZm8sIGRlc2NyaXB0aW9uLCBmZWVkYmFjaywgcmVxdWlyZWQgPSB0cnVlLCBwcmVmaXgsIGVtcHR5Q29udGVudCA9ICdObyBvcHRpb25zJywgcGFuZWxIZWFkZXIsIHBhbmVsRm9vdGVyLCBvcGVuLCBkZWZhdWx0T3BlbiA9IGZhbHNlLCBwb3J0YWwgPSB0cnVlLCBhbGxvd0Rlc2VsZWN0ID0gZmFsc2UsIHBhbmVsQ2xhc3NOYW1lLCBvcHRpb25DbGFzc05hbWUsIGdyb3VwTGFiZWxDbGFzc05hbWUsIGxpc3RNYXhIZWlnaHQgPSBERUZBVUxUX01BWF9IRUlHSFQsIG9mZnNldCwgYW5pbWF0aW9uLCBvbkNoYW5nZSwgb25PcGVuQ2hhbmdlLCBvblNlYXJjaENoYW5nZSwgb25CbHVyLCBmaWx0ZXJPcHRpb24sIHJlbmRlck9wdGlvbiwgcmVuZGVyT3B0aW9uQ29udGVudCwgcmVuZGVyVmFsdWUsIHJlZiwgfSA9IHByb3BzO1xuICAgIGNvbnN0IGRpc2FibGVkID0gZGlzYWJsZWRQcm9wIHx8IGxvYWRpbmc7XG4gICAgY29uc3QgaW50ZXJhY3RpdmUgPSAhZGlzYWJsZWQgJiYgIXJlYWRPbmx5O1xuICAgIGNvbnN0IGNsYXNzZXMgPSByb290Q2xhc3NuYW1lcyhwcmVmaXhDbHMpO1xuICAgIGNvbnN0IGF1dG9JZCA9IHVzZUlkKCk7XG4gICAgY29uc3QgdHJpZ2dlcklkID0gaWQgIT09IG51bGwgJiYgaWQgIT09IHZvaWQgMCA/IGlkIDogYXV0b0lkO1xuICAgIGNvbnN0IGxhYmVsSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGRlc2NyaXB0aW9uSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IGZlZWRiYWNrSWQgPSB1c2VJZCgpO1xuICAgIGNvbnN0IG9wdGlvbklkUHJlZml4ID0gdXNlSWQoKTtcbiAgICBjb25zdCBbaW5uZXJWYWx1ZSwgc2V0SW5uZXJWYWx1ZV0gPSB1c2VDb250cm9sbGVkU3RhdGUoZGVmYXVsdFZhbHVlICE9PSBudWxsICYmIGRlZmF1bHRWYWx1ZSAhPT0gdm9pZCAwID8gZGVmYXVsdFZhbHVlIDogKG11bHRpcGxlID8gW10gOiB1bmRlZmluZWQpLCB2YWx1ZSk7XG4gICAgY29uc3QgW2lubmVyU2VhcmNoVmFsdWUsIHNldElubmVyU2VhcmNoVmFsdWVdID0gdXNlQ29udHJvbGxlZFN0YXRlKGRlZmF1bHRTZWFyY2hWYWx1ZSwgc2VhcmNoVmFsdWUpO1xuICAgIGNvbnN0IFthY3RpdmVJbmRleCwgc2V0QWN0aXZlSW5kZXhdID0gdXNlU3RhdGUobnVsbCk7XG4gICAgY29uc3Qgbm9ybWFsaXplZFNpemUgPSBub3JtYWxpemVTaXplKHNpemUpO1xuICAgIGNvbnN0IGFsbE9wdGlvbkdyb3VwcyA9IHVzZU1lbW8oKCkgPT4gbm9ybWFsaXplT3B0aW9uR3JvdXBzKG9wdGlvbnMpLCBbb3B0aW9uc10pO1xuICAgIGNvbnN0IGFsbEZsYXRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBmbGF0dGVuT3B0aW9uR3JvdXBzKGFsbE9wdGlvbkdyb3VwcyksIFthbGxPcHRpb25Hcm91cHNdKTtcbiAgICBjb25zdCB2aXNpYmxlT3B0aW9uR3JvdXBzID0gdXNlTWVtbygoKSA9PiAoc2VhcmNoYWJsZVxuICAgICAgICA/IGZpbHRlck9wdGlvbkdyb3VwcyhhbGxPcHRpb25Hcm91cHMsIGlubmVyU2VhcmNoVmFsdWUsIGZpbHRlck9wdGlvbilcbiAgICAgICAgOiBhbGxPcHRpb25Hcm91cHMpLCBbYWxsT3B0aW9uR3JvdXBzLCBmaWx0ZXJPcHRpb24sIGlubmVyU2VhcmNoVmFsdWUsIHNlYXJjaGFibGVdKTtcbiAgICBjb25zdCB2aXNpYmxlRmxhdE9wdGlvbnMgPSB1c2VNZW1vKCgpID0+IGZsYXR0ZW5PcHRpb25Hcm91cHModmlzaWJsZU9wdGlvbkdyb3VwcyksIFt2aXNpYmxlT3B0aW9uR3JvdXBzXSk7XG4gICAgY29uc3Qgc2VsZWN0ZWRPcHRpb25zID0gdXNlTWVtbygoKSA9PiBnZXRTZWxlY3RlZE9wdGlvbnMoYWxsRmxhdE9wdGlvbnMsIGlubmVyVmFsdWUsIG11bHRpcGxlKSwgW2FsbEZsYXRPcHRpb25zLCBpbm5lclZhbHVlLCBtdWx0aXBsZV0pO1xuICAgIGNvbnN0IHNlbGVjdGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHtcbiAgICAgICAgaWYgKHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1hdGNoZWRJbmRleCA9IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlID09PSBzZWxlY3RlZE9wdGlvbnNbMF0udmFsdWUpO1xuICAgICAgICByZXR1cm4gbWF0Y2hlZEluZGV4ID49IDAgPyBtYXRjaGVkSW5kZXggOiBudWxsO1xuICAgIH0sIFtzZWxlY3RlZE9wdGlvbnMsIHZpc2libGVGbGF0T3B0aW9uc10pO1xuICAgIGNvbnN0IGhhc1NlbGVjdGlvbiA9IHNlbGVjdGVkT3B0aW9ucy5sZW5ndGggPiAwO1xuICAgIGNvbnN0IGxpc3RSZWYgPSB1c2VSZWYoW10pO1xuICAgIGNvbnN0IGxpc3RDb250ZW50UmVmID0gdXNlUmVmKFtdKTtcbiAgICBjb25zdCBmbG9hdGluZ1JlZiA9IHVzZVJlZihudWxsKTtcbiAgICBjb25zdCB0cmlnZ2VyUmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IHNlYXJjaElucHV0UmVmID0gdXNlUmVmKG51bGwpO1xuICAgIGNvbnN0IGhhbmRsZVRyaWdnZXJSZWYgPSB1c2VFdmVudENhbGxiYWNrKChub2RlKSA9PiB7XG4gICAgICAgIHRyaWdnZXJSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIHJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IHsgaXNPcGVuOiBpbm5lck9wZW4sIHNldE9wZW46IGhhbmRsZU9wZW5DaGFuZ2UsIHJlZnMsIGNvbnRleHQsIGZsb2F0aW5nU3R5bGVzLCB0cmFuc2l0aW9uU3R5bGVzLCBpc01vdW50ZWQsIGJhc2VJbnRlcmFjdGlvbnMsIH0gPSB1c2VTZWxlY3RTaGVsbCh7XG4gICAgICAgIG9wZW4sXG4gICAgICAgIGRlZmF1bHRPcGVuLFxuICAgICAgICBvbk9wZW5DaGFuZ2UsXG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgbGlzdE1heEhlaWdodCxcbiAgICAgICAgYW5pbWF0aW9uLFxuICAgICAgICBvZmZzZXQsXG4gICAgfSk7XG4gICAgY29uc3Qgc2V0UmVmZXJlbmNlID0gdXNlRXZlbnRDYWxsYmFjaygobm9kZSkgPT4ge1xuICAgICAgICByZWZzLnNldFJlZmVyZW5jZShub2RlKTtcbiAgICAgICAgaGFuZGxlVHJpZ2dlclJlZihub2RlKTtcbiAgICB9KTtcbiAgICBjb25zdCBzZXRGbG9hdGluZyA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgcmVmcy5zZXRGbG9hdGluZyhub2RlKTtcbiAgICAgICAgZmxvYXRpbmdSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgfSk7XG4gICAgY29uc3QgbGlzdE5hdmlnYXRpb24gPSB1c2VMaXN0TmF2aWdhdGlvbihjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWYsXG4gICAgICAgIGFjdGl2ZUluZGV4LFxuICAgICAgICBzZWxlY3RlZEluZGV4LFxuICAgICAgICBvbk5hdmlnYXRlOiBzZXRBY3RpdmVJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuLFxuICAgICAgICBsb29wOiB0cnVlLFxuICAgICAgICB2aXJ0dWFsOiBzZWFyY2hhYmxlLFxuICAgIH0pO1xuICAgIGNvbnN0IHR5cGVhaGVhZCA9IHVzZVR5cGVhaGVhZChjb250ZXh0LCB7XG4gICAgICAgIGxpc3RSZWY6IGxpc3RDb250ZW50UmVmLFxuICAgICAgICBhY3RpdmVJbmRleCxcbiAgICAgICAgc2VsZWN0ZWRJbmRleCxcbiAgICAgICAgZW5hYmxlZDogaW5uZXJPcGVuICYmICFzZWFyY2hhYmxlLFxuICAgICAgICBvbk1hdGNoOiBzZXRBY3RpdmVJbmRleCxcbiAgICB9KTtcbiAgICBjb25zdCB7IGdldFJlZmVyZW5jZVByb3BzLCBnZXRGbG9hdGluZ1Byb3BzLCBnZXRJdGVtUHJvcHMgfSA9IHVzZUludGVyYWN0aW9ucyhbXG4gICAgICAgIC4uLmJhc2VJbnRlcmFjdGlvbnMsXG4gICAgICAgIGxpc3ROYXZpZ2F0aW9uLFxuICAgICAgICB0eXBlYWhlYWQsXG4gICAgXSk7XG4gICAgY29uc3QgZmlyc3RFbmFibGVkSW5kZXggPSB1c2VNZW1vKCgpID0+IHZpc2libGVGbGF0T3B0aW9ucy5maW5kSW5kZXgoKG9wdGlvbikgPT4gIW9wdGlvbi5kaXNhYmxlZCksIFt2aXNpYmxlRmxhdE9wdGlvbnNdKTtcbiAgICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgICAgICBpZiAoIWlubmVyT3Blbikge1xuICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgoc2VsZWN0ZWRJbmRleCk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc2V0QWN0aXZlSW5kZXgoKHByZXYpID0+IHtcbiAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsICYmIHZpc2libGVGbGF0T3B0aW9uc1twcmV2XSAmJiAhdmlzaWJsZUZsYXRPcHRpb25zW3ByZXZdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZXY7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc2VsZWN0ZWRJbmRleCAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgICAgIHZpc2libGVGbGF0T3B0aW9uc1tzZWxlY3RlZEluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbc2VsZWN0ZWRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRJbmRleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmaXJzdEVuYWJsZWRJbmRleCA+PSAwID8gZmlyc3RFbmFibGVkSW5kZXggOiBudWxsO1xuICAgICAgICB9KTtcbiAgICB9LCBbZmlyc3RFbmFibGVkSW5kZXgsIGlubmVyT3Blbiwgc2VsZWN0ZWRJbmRleCwgdmlzaWJsZUZsYXRPcHRpb25zXSk7XG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICBpZiAoIWlubmVyT3BlbiB8fCBhY3RpdmVJbmRleCA9PT0gbnVsbCB8fCBzZWFyY2hhYmxlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKF9hID0gbGlzdFJlZi5jdXJyZW50W2FjdGl2ZUluZGV4XSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmZvY3VzKHsgcHJldmVudFNjcm9sbDogdHJ1ZSB9KTtcbiAgICB9LCBbYWN0aXZlSW5kZXgsIGlubmVyT3Blbiwgc2VhcmNoYWJsZV0pO1xuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGxpc3RSZWYuY3VycmVudCA9IGxpc3RSZWYuY3VycmVudC5zbGljZSgwLCB2aXNpYmxlRmxhdE9wdGlvbnMubGVuZ3RoKTtcbiAgICAgICAgbGlzdENvbnRlbnRSZWYuY3VycmVudCA9IGxpc3RDb250ZW50UmVmLmN1cnJlbnQuc2xpY2UoMCwgdmlzaWJsZUZsYXRPcHRpb25zLmxlbmd0aCk7XG4gICAgfSwgW3Zpc2libGVGbGF0T3B0aW9ucy5sZW5ndGhdKTtcbiAgICBjb25zdCBzZXRTZWFyY2hJbnB1dFJlZiA9IHVzZUV2ZW50Q2FsbGJhY2soKG5vZGUpID0+IHtcbiAgICAgICAgc2VhcmNoSW5wdXRSZWYuY3VycmVudCA9IG5vZGU7XG4gICAgICAgIGlmIChub2RlICYmIGlubmVyT3BlbiAmJiBmaWx0ZXJJbnB1dEF1dG9Gb2N1cykge1xuICAgICAgICAgICAgbm9kZS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBub3RpZnlCbHVySWZPdXRzaWRlID0gdXNlRXZlbnRDYWxsYmFjaygocmVsYXRlZFRhcmdldCwgZXZlbnQpID0+IHtcbiAgICAgICAgdmFyIF9hLCBfYjtcbiAgICAgICAgY29uc3QgbmV4dFRhcmdldCA9IHJlbGF0ZWRUYXJnZXQ7XG4gICAgICAgIGNvbnN0IHdpdGhpblRyaWdnZXIgPSAhIShuZXh0VGFyZ2V0ICYmICgoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBjb25zdCB3aXRoaW5GbG9hdGluZyA9ICEhKG5leHRUYXJnZXQgJiYgKChfYiA9IGZsb2F0aW5nUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5jb250YWlucyhuZXh0VGFyZ2V0KSkpO1xuICAgICAgICBpZiAoIXdpdGhpblRyaWdnZXIgJiYgIXdpdGhpbkZsb2F0aW5nKSB7XG4gICAgICAgICAgICBvbkJsdXIgPT09IG51bGwgfHwgb25CbHVyID09PSB2b2lkIDAgPyB2b2lkIDAgOiBvbkJsdXIoZXZlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlckJsdXIgPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBub3RpZnlCbHVySWZPdXRzaWRlKGV2ZW50LnJlbGF0ZWRUYXJnZXQsIGV2ZW50KTtcbiAgICB9KTtcbiAgICBjb25zdCBoYW5kbGVPcHRpb25CbHVyID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgbm90aWZ5Qmx1cklmT3V0c2lkZShldmVudC5yZWxhdGVkVGFyZ2V0LCBldmVudCk7XG4gICAgfSk7XG4gICAgY29uc3QgY29tbWl0Q2hhbmdlID0gdXNlRXZlbnRDYWxsYmFjaygobmV4dFZhbHVlLCBuZXh0T3B0aW9uKSA9PiB7XG4gICAgICAgIHNldElubmVyVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25DaGFuZ2UgPT09IG51bGwgfHwgb25DaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQ2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbiwgbmFtZSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VsZWN0T3B0aW9uID0gdXNlRXZlbnRDYWxsYmFjaygob3B0aW9uKSA9PiB7XG4gICAgICAgIHZhciBfYSwgX2I7XG4gICAgICAgIGlmIChvcHRpb24uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobXVsdGlwbGUpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRvZ2dsZU11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKG5leHRWYWx1ZSwgbmV4dE9wdGlvbnMpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhbGxvd0Rlc2VsZWN0ICYmIGlubmVyVmFsdWUgPT09IG9wdGlvbi52YWx1ZSkge1xuICAgICAgICAgICAgY29tbWl0Q2hhbmdlKHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoZmFsc2UpO1xuICAgICAgICAgICAgb25CbHVyID09PSBudWxsIHx8IG9uQmx1ciA9PT0gdm9pZCAwID8gdm9pZCAwIDogb25CbHVyKCk7XG4gICAgICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29tbWl0Q2hhbmdlKG9wdGlvbi52YWx1ZSwgb3B0aW9uKTtcbiAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgIG9uQmx1ciA9PT0gbnVsbCB8fCBvbkJsdXIgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uQmx1cigpO1xuICAgICAgICAoX2IgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9iID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYi5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlUmVtb3ZlU2VsZWN0ZWRWYWx1ZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG9wdGlvblZhbHVlKSA9PiB7XG4gICAgICAgIGlmICghbXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWdldE11bHRpcGxlVmFsdWUoaW5uZXJWYWx1ZSkuaW5jbHVkZXMob3B0aW9uVmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gcmVtb3ZlTXVsdGlwbGVWYWx1ZShpbm5lclZhbHVlLCBvcHRpb25WYWx1ZSk7XG4gICAgICAgIGNvbnN0IG5leHRPcHRpb25zID0gZ2V0T3B0aW9uc0J5VmFsdWVzKGFsbEZsYXRPcHRpb25zLCBuZXh0VmFsdWUpO1xuICAgICAgICBjb21taXRDaGFuZ2UobmV4dFZhbHVlLCBuZXh0T3B0aW9ucyk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlVHJpZ2dlcktleURvd24gPSB1c2VFdmVudENhbGxiYWNrKChldmVudCkgPT4ge1xuICAgICAgICBpZiAoIWludGVyYWN0aXZlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRU5URVIgfHwgZXZlbnQua2V5ID09PSBLRVlCT0FSRC5TUEFDRSkge1xuICAgICAgICAgICAgaWYgKGlubmVyT3BlbiAmJlxuICAgICAgICAgICAgICAgIGFjdGl2ZUluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24odmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGhhbmRsZU9wZW5DaGFuZ2UoIWlubmVyT3Blbik7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTiB8fCBldmVudC5rZXkgPT09IEtFWUJPQVJELkFSUk9XX1VQKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaWYgKCFpbm5lck9wZW4pIHtcbiAgICAgICAgICAgICAgICBoYW5kbGVPcGVuQ2hhbmdlKHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlSXRlbU1vdXNlRW50ZXIgPSB1c2VFdmVudENhbGxiYWNrKChpbmRleCkgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGlmICghKChfYSA9IHZpc2libGVGbGF0T3B0aW9uc1tpbmRleF0pID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5kaXNhYmxlZCkpIHtcbiAgICAgICAgICAgIHNldEFjdGl2ZUluZGV4KGluZGV4KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZU1vdXNlRG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVRhZ1JlbW92ZUNsaWNrID0gdXNlRXZlbnRDYWxsYmFjaygoZXZlbnQpID0+IHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoQmx1ciA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIG5vdGlmeUJsdXJJZk91dHNpZGUoZXZlbnQucmVsYXRlZFRhcmdldCwgZXZlbnQpO1xuICAgIH0pO1xuICAgIGNvbnN0IGhhbmRsZVNlYXJjaENoYW5nZSA9IHVzZUV2ZW50Q2FsbGJhY2soKG5leHRWYWx1ZSwgX2V2ZW50KSA9PiB7XG4gICAgICAgIHNldElubmVyU2VhcmNoVmFsdWUobmV4dFZhbHVlKTtcbiAgICAgICAgb25TZWFyY2hDaGFuZ2UgPT09IG51bGwgfHwgb25TZWFyY2hDaGFuZ2UgPT09IHZvaWQgMCA/IHZvaWQgMCA6IG9uU2VhcmNoQ2hhbmdlKG5leHRWYWx1ZSk7XG4gICAgfSk7XG4gICAgY29uc3QgZmluZEVuYWJsZWRJbmRleCA9IHVzZUV2ZW50Q2FsbGJhY2soKGN1cnJlbnQsIGRpcmVjdGlvbikgPT4ge1xuICAgICAgICB2YXIgX2E7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGg7XG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHN0YXJ0ID0gY3VycmVudCAhPT0gbnVsbCAmJiBjdXJyZW50ICE9PSB2b2lkIDAgPyBjdXJyZW50IDogKGRpcmVjdGlvbiA9PT0gMSA/IC0xIDogbGVuZ3RoKTtcbiAgICAgICAgZm9yIChsZXQgc3RlcCA9IDE7IHN0ZXAgPD0gbGVuZ3RoOyBzdGVwICs9IDEpIHtcbiAgICAgICAgICAgIGNvbnN0IGNhbmRpZGF0ZSA9ICgoc3RhcnQgKyBkaXJlY3Rpb24gKiBzdGVwKSAlIGxlbmd0aCArIGxlbmd0aCkgJSBsZW5ndGg7XG4gICAgICAgICAgICBpZiAoISgoX2EgPSB2aXNpYmxlRmxhdE9wdGlvbnNbY2FuZGlkYXRlXSkgPT09IG51bGwgfHwgX2EgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9hLmRpc2FibGVkKSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBjYW5kaWRhdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG4gICAgY29uc3QgaGFuZGxlU2VhcmNoS2V5RG93biA9IHVzZUV2ZW50Q2FsbGJhY2soKGV2ZW50KSA9PiB7XG4gICAgICAgIHZhciBfYTtcbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfRE9XTikge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBmaW5kRW5hYmxlZEluZGV4KGFjdGl2ZUluZGV4LCAxKTtcbiAgICAgICAgICAgIGlmIChuZXh0ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgc2V0QWN0aXZlSW5kZXgobmV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuQVJST1dfVVApIHtcbiAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICBjb25zdCBwcmV2ID0gZmluZEVuYWJsZWRJbmRleChhY3RpdmVJbmRleCwgLTEpO1xuICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICBzZXRBY3RpdmVJbmRleChwcmV2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBLRVlCT0FSRC5FTlRFUikge1xuICAgICAgICAgICAgaWYgKGFjdGl2ZUluZGV4ICE9PSBudWxsICYmXG4gICAgICAgICAgICAgICAgdmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSAmJlxuICAgICAgICAgICAgICAgICF2aXNpYmxlRmxhdE9wdGlvbnNbYWN0aXZlSW5kZXhdLmRpc2FibGVkKSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb24odmlzaWJsZUZsYXRPcHRpb25zW2FjdGl2ZUluZGV4XSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV2ZW50LmtleSA9PT0gS0VZQk9BUkQuRVNDQVBFKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgaGFuZGxlT3BlbkNoYW5nZShmYWxzZSk7XG4gICAgICAgICAgICAoX2EgPSB0cmlnZ2VyUmVmLmN1cnJlbnQpID09PSBudWxsIHx8IF9hID09PSB2b2lkIDAgPyB2b2lkIDAgOiBfYS5mb2N1cyh7IHByZXZlbnRTY3JvbGw6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCByZW5kZXJWYWx1ZU1ldGEgPSB7XG4gICAgICAgIGRpc2FibGVkLFxuICAgICAgICByZWFkT25seSxcbiAgICAgICAgbXVsdGlwbGUsXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMsXG4gICAgICAgIG9wZW46IGlubmVyT3BlbixcbiAgICAgICAgcGxhY2Vob2xkZXI6ICFoYXNTZWxlY3Rpb24sXG4gICAgICAgIHNlbGVjdGVkT3B0aW9ucyxcbiAgICAgICAgc2l6ZTogbm9ybWFsaXplZFNpemUsXG4gICAgICAgIGZvbnRTaXplOiBnZXRGb250U2l6ZShub3JtYWxpemVkU2l6ZSksXG4gICAgfTtcbiAgICBjb25zdCB2YWx1ZUxhYmVsQ2xhc3MgPSBoYXNTZWxlY3Rpb24gPyAndmFsdWUnIDogJ3BsYWNlaG9sZGVyJztcbiAgICBjb25zdCBpc011bHRpcGxlVmFsdWVGaWxsZWQgPSAobXVsdGlwbGUgJiZcbiAgICAgICAgaGFzU2VsZWN0aW9uICYmXG4gICAgICAgIG1heFZpc2libGVWYWx1ZXMgPT09IHVuZGVmaW5lZCk7XG4gICAgY29uc3QgdHJpZ2dlckNsYXNzTmFtZSA9IGNsYXNzZXMoJ3RyaWdnZXInLCBqb2luQ2xzKGNsYXNzZXMoYHRyaWdnZXItJHtub3JtYWxpemVkU2l6ZX1gKSwgY2xhc3NlcyhgdHJpZ2dlci0ke3ZhcmlhbnR9YCksIGlubmVyT3BlbiAmJiBjbGFzc2VzKCd0cmlnZ2VyLW9wZW4nKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItbXVsdGlwbGUtZmlsbGVkJyksIGhhc1NlbGVjdGlvbiA/IGNsYXNzZXMoJ3RyaWdnZXItZmlsbGVkJykgOiBjbGFzc2VzKCd0cmlnZ2VyLXBsYWNlaG9sZGVyJyksIHN0YXR1cyAhPT0gJ2RlZmF1bHQnICYmIGNsYXNzZXMoYHRyaWdnZXItJHtzdGF0dXN9YCksIGRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItZGlzYWJsZWQnKSwgcmVhZE9ubHkgJiYgIWRpc2FibGVkICYmIGNsYXNzZXMoJ3RyaWdnZXItcmVhZG9ubHknKSkpO1xuICAgIGNvbnN0IGljb25TaXplID0gbm9ybWFsaXplZFNpemUgPT09ICdzbWFsbCcgPyAxNiA6IDIwO1xuICAgIGNvbnN0IGFjdGl2ZU9wdGlvbklkID0gc2VhcmNoYWJsZSAmJiBpbm5lck9wZW4gJiYgYWN0aXZlSW5kZXggIT09IG51bGxcbiAgICAgICAgPyBgJHtvcHRpb25JZFByZWZpeH0tJHthY3RpdmVJbmRleH1gXG4gICAgICAgIDogdW5kZWZpbmVkO1xuICAgIGNvbnN0IGZsb2F0aW5nQXJpYUxhYmVsbGVkQnkgPSBhcmlhTGFiZWxsZWRCeSAhPT0gbnVsbCAmJiBhcmlhTGFiZWxsZWRCeSAhPT0gdm9pZCAwID8gYXJpYUxhYmVsbGVkQnkgOiAobGFiZWwgPyBsYWJlbElkIDogdW5kZWZpbmVkKTtcbiAgICBjb25zdCBkZXNjcmliZWRCeUlkcyA9IFtcbiAgICAgICAgZGVzY3JpcHRpb24gPyBkZXNjcmlwdGlvbklkIDogbnVsbCxcbiAgICAgICAgZmVlZGJhY2sgPyBmZWVkYmFja0lkIDogbnVsbCxcbiAgICBdLmZpbHRlcihCb29sZWFuKS5qb2luKCcgJykgfHwgdW5kZWZpbmVkO1xuICAgIHJldHVybiAoX2pzeHMoU2VsZWN0RmllbGRTaGVsbCwgeyBjbGFzc2VzOiBjbGFzc2VzLCBjbGFzc05hbWU6IGNsYXNzTmFtZSwgc2l6ZTogbm9ybWFsaXplZFNpemUsIHZhcmlhbnQ6IHZhcmlhbnQsIHN0YXR1czogc3RhdHVzLCBkaXNhYmxlZDogZGlzYWJsZWQsIHJlYWRPbmx5OiByZWFkT25seSwgbG9hZGluZzogbG9hZGluZywgbGFiZWw6IGxhYmVsLCBsYWJlbENsYXNzTmFtZTogbGFiZWxDbGFzc05hbWUsIGluZm86IGluZm8sIGRlc2NyaXB0aW9uOiBkZXNjcmlwdGlvbiwgZmVlZGJhY2s6IGZlZWRiYWNrLCByZXF1aXJlZDogcmVxdWlyZWQsIGxhYmVsSWQ6IGxhYmVsSWQsIGRlc2NyaXB0aW9uSWQ6IGRlc2NyaXB0aW9uSWQsIGZlZWRiYWNrSWQ6IGZlZWRiYWNrSWQsIGNoaWxkcmVuOiBbX2pzeHMoXCJidXR0b25cIiwgT2JqZWN0LmFzc2lnbih7fSwgZ2V0UmVmZXJlbmNlUHJvcHMoe1xuICAgICAgICAgICAgICAgIHJlZjogc2V0UmVmZXJlbmNlLFxuICAgICAgICAgICAgICAgIGlkOiB0cmlnZ2VySWQsXG4gICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgbmFtZSxcbiAgICAgICAgICAgICAgICBkaXNhYmxlZCxcbiAgICAgICAgICAgICAgICAnYXJpYS1yZWFkb25seSc6IHJlYWRPbmx5IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU6IHRyaWdnZXJDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgb25LZXlEb3duOiBoYW5kbGVUcmlnZ2VyS2V5RG93bixcbiAgICAgICAgICAgICAgICBvbkJsdXI6IGhhbmRsZVRyaWdnZXJCbHVyLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsJzogYXJpYUxhYmVsLFxuICAgICAgICAgICAgICAgICdhcmlhLWxhYmVsbGVkYnknOiBmbG9hdGluZ0FyaWFMYWJlbGxlZEJ5LFxuICAgICAgICAgICAgICAgICdhcmlhLWRlc2NyaWJlZGJ5JzogZGVzY3JpYmVkQnlJZHMsXG4gICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogW19qc3hzKFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnY29udGVudCcpLCBjaGlsZHJlbjogW3ByZWZpeCAmJiBfanN4KFwic3BhblwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncHJlZml4JyksIGNoaWxkcmVuOiBwcmVmaXggfSksIF9qc3goXCJzcGFuXCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKHZhbHVlTGFiZWxDbGFzcywgam9pbkNscyhjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tJHtub3JtYWxpemVkU2l6ZX1gKSwgaXNNdWx0aXBsZVZhbHVlRmlsbGVkICYmIGNsYXNzZXMoYCR7dmFsdWVMYWJlbENsYXNzfS1tdWx0aXBsZWApLCBkaXNhYmxlZCAmJiBjbGFzc2VzKGAke3ZhbHVlTGFiZWxDbGFzc30tZGlzYWJsZWRgKSkpLCBjaGlsZHJlbjogX2pzeChTZWxlY3RWYWx1ZUNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3NlcywgaGFzU2VsZWN0aW9uOiBoYXNTZWxlY3Rpb24sIG11bHRpcGxlOiBtdWx0aXBsZSwgcGxhY2Vob2xkZXI6IHBsYWNlaG9sZGVyLCByZW5kZXJWYWx1ZTogcmVuZGVyVmFsdWUsIHJlbmRlclZhbHVlTWV0YTogcmVuZGVyVmFsdWVNZXRhLCBzZWxlY3RlZE9wdGlvbnM6IHNlbGVjdGVkT3B0aW9ucywgbWF4VmlzaWJsZVZhbHVlczogbWF4VmlzaWJsZVZhbHVlcywgb25SZW1vdmU6IGhhbmRsZVJlbW92ZVNlbGVjdGVkVmFsdWUsIG9uUmVtb3ZlQ2xpY2s6IGhhbmRsZVRhZ1JlbW92ZUNsaWNrLCBvblJlbW92ZU1vdXNlRG93bjogaGFuZGxlVGFnUmVtb3ZlTW91c2VEb3duIH0pIH0pXSB9KSwgX2pzeChcInNwYW5cIiwgeyBjbGFzc05hbWU6IGNsYXNzZXMoJ2ljb24nKSwgY2hpbGRyZW46IGxvYWRpbmdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IF9qc3goU3Bpbm5lciwgeyBzaXplOiBpY29uU2l6ZSwgc3Ryb2tlV2lkdGg6IDIgfSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHJlYWRPbmx5XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID8gbnVsbFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IF9qc3goSWNvbnMsIHsgbmFtZTogaW5uZXJPcGVuID8gJ2NoZXZyb25VcCcgOiAnY2hldnJvbkRvd24nLCBzaXplOiBpY29uU2l6ZSwgY29sb3I6IFwiY3VycmVudENvbG9yXCIgfSkgfSldIH0pKSwgaXNNb3VudGVkICYmIGludGVyYWN0aXZlICYmICgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFuZWxOb2RlID0gKF9qc3goRmxvYXRpbmdGb2N1c01hbmFnZXIsIHsgY29udGV4dDogY29udGV4dCwgbW9kYWw6IGZhbHNlLCBpbml0aWFsRm9jdXM6IC0xLCByZXR1cm5Gb2N1czogZmFsc2UsIGNoaWxkcmVuOiBfanN4cyhcImRpdlwiLCBPYmplY3QuYXNzaWduKHt9LCBnZXRGbG9hdGluZ1Byb3BzKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZjogc2V0RmxvYXRpbmcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGpvaW5DbHMoY2xhc3NlcygncGFuZWwnKSwgcGFuZWxDbGFzc05hbWUpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc3R5bGU6IE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZmxvYXRpbmdTdHlsZXMpLCB0cmFuc2l0aW9uU3R5bGVzKSxcbiAgICAgICAgICAgICAgICAgICAgfSksIHsgY2hpbGRyZW46IFtzZWFyY2hhYmxlICYmIChfanN4KFNlbGVjdFNlYXJjaENvbnRyb2wsIHsgcmVmOiBzZXRTZWFyY2hJbnB1dFJlZiwgY2xhc3NlczogY2xhc3NlcywgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHNpemU9e25vcm1hbGl6ZWRTaXplfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBcInNtYWxsXCIsIHBsYWNlaG9sZGVyOiBzZWFyY2hQbGFjZWhvbGRlciwgdmFsdWU6IGlubmVyU2VhcmNoVmFsdWUsIGFjdGl2ZURlc2NlbmRhbnQ6IGFjdGl2ZU9wdGlvbklkLCBvbkJsdXI6IGhhbmRsZVNlYXJjaEJsdXIsIG9uQ2hhbmdlOiBoYW5kbGVTZWFyY2hDaGFuZ2UsIG9uS2V5RG93bjogaGFuZGxlU2VhcmNoS2V5RG93biB9KSksIF9qc3hzKFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1ib2R5JyksIGNoaWxkcmVuOiBbcGFuZWxIZWFkZXIgIT0gbnVsbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygncGFuZWwtaGVhZGVyJyksIGNoaWxkcmVuOiBwYW5lbEhlYWRlciB9KSksIHZpc2libGVGbGF0T3B0aW9ucy5sZW5ndGggPT09IDAgPyAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZW1wdHknKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUJvZHksIHsgc2l6ZTogU0VMRUNUX1RZUE9HUkFQSFkuZW1wdHkuc2l6ZSwgY29sb3I6IFNFTEVDVF9UWVBPR1JBUEhZLmVtcHR5LmNvbG9yLCBjaGlsZHJlbjogZW1wdHlDb250ZW50IH0pIH0pKSA6ICgoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCBmbGF0SW5kZXggPSAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB2aXNpYmxlT3B0aW9uR3JvdXBzLm1hcCgoZ3JvdXApID0+IChfanN4cyhcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAnKSwgY2hpbGRyZW46IFtncm91cC5sYWJlbCAmJiAoX2pzeChcImRpdlwiLCB7IGNsYXNzTmFtZTogY2xhc3NlcygnZ3JvdXAtbGFiZWwnLCBncm91cExhYmVsQ2xhc3NOYW1lKSwgY2hpbGRyZW46IF9qc3goVHlwb2dyYXBoeUxhYmVsLCB7IHNpemU6IFNFTEVDVF9UWVBPR1JBUEhZLmdyb3VwTGFiZWwuc2l6ZSwgc3Ryb25nOiB0cnVlLCBjaGlsZHJlbjogZ3JvdXAubGFiZWwgfSkgfSkpLCBncm91cC5vcHRpb25zLm1hcCgob3B0aW9uKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qgb3B0aW9uRmxhdEluZGV4ID0gZmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZsYXRJbmRleCArPSAxO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGVkID0gaXNPcHRpb25TZWxlY3RlZChpbm5lclZhbHVlLCBtdWx0aXBsZSwgb3B0aW9uLnZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBhY3RpdmUgPSBhY3RpdmVJbmRleCA9PT0gb3B0aW9uRmxhdEluZGV4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG9wdGlvbk1ldGEgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6ICEhb3B0aW9uLmRpc2FibGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleDogb3B0aW9uRmxhdEluZGV4LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aXBsZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogaW5uZXJPcGVuLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6IGdldEZvbnRTaXplKG5vcm1hbGl6ZWRTaXplKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RDb250ZW50UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IGV4dHJhY3RPcHRpb25UZXh0KG9wdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChfanN4KFwiYnV0dG9uXCIsIE9iamVjdC5hc3NpZ24oe30sIGdldEl0ZW1Qcm9wcyh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZihub2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0UmVmLmN1cnJlbnRbb3B0aW9uRmxhdEluZGV4XSA9IG5vZGU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkOiBgJHtvcHRpb25JZFByZWZpeH0tJHtvcHRpb25GbGF0SW5kZXh9YCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2J1dHRvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU6ICdvcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6IGNsYXNzZXMoJ29wdGlvbicsIGpvaW5DbHMoYWN0aXZlICYmIGNsYXNzZXMoJ29wdGlvbi1hY3RpdmUnKSwgc2VsZWN0ZWQgJiYgY2xhc3Nlcygnb3B0aW9uLXNlbGVjdGVkJyksIG9wdGlvbi5kaXNhYmxlZCAmJiBjbGFzc2VzKCdvcHRpb24tZGlzYWJsZWQnKSwgb3B0aW9uQ2xhc3NOYW1lKSksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkOiBvcHRpb24uZGlzYWJsZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhcmlhLXNlbGVjdGVkJzogc2VsZWN0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s6IChldmVudCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbihvcHRpb24pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbk1vdXNlRW50ZXI6ICgpID0+IGhhbmRsZUl0ZW1Nb3VzZUVudGVyKG9wdGlvbkZsYXRJbmRleCksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQmx1cjogaGFuZGxlT3B0aW9uQmx1cixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KSwgeyBjaGlsZHJlbjogcmVuZGVyT3B0aW9uID8gKHJlbmRlck9wdGlvbihvcHRpb24sIG9wdGlvbk1ldGEpKSA6IChfanN4KFNlbGVjdE9wdGlvbkNvbnRlbnQsIHsgY2xhc3NlczogY2xhc3Nlcywgb3B0aW9uOiBvcHRpb24sIHNlbGVjdGVkOiBzZWxlY3RlZCwgc2l6ZTogbm9ybWFsaXplZFNpemUsIGNvbnRlbnQ6IHJlbmRlck9wdGlvbkNvbnRlbnQgPT09IG51bGwgfHwgcmVuZGVyT3B0aW9uQ29udGVudCA9PT0gdm9pZCAwID8gdm9pZCAwIDogcmVuZGVyT3B0aW9uQ29udGVudChvcHRpb24sIG9wdGlvbk1ldGEpIH0pKSB9KSwgYCR7Z3JvdXAua2V5fS0ke29wdGlvbi52YWx1ZX1gKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KV0gfSwgZ3JvdXAua2V5KSkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkoKSldIH0pLCBwYW5lbEZvb3RlciAhPSBudWxsICYmIChfanN4KFwiZGl2XCIsIHsgY2xhc3NOYW1lOiBjbGFzc2VzKCdwYW5lbC1mb290ZXInKSwgY2hpbGRyZW46IHBhbmVsRm9vdGVyIH0pKV0gfSkpIH0pKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gcG9ydGFsID8gX2pzeChGbG9hdGluZ1BvcnRhbCwgeyBjaGlsZHJlbjogcGFuZWxOb2RlIH0pIDogcGFuZWxOb2RlO1xuICAgICAgICAgICAgfSkoKV0gfSkpO1xufTtcblNlbGVjdC5kaXNwbGF5TmFtZSA9ICdTZWxlY3QnO1xuZXhwb3J0IGRlZmF1bHQgbWVtbyhTZWxlY3QpOyIsbnVsbF0sInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMifQ==
|
|
@@ -128,6 +128,8 @@ export interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, 'defau
|
|
|
128
128
|
allowDeselect?: boolean;
|
|
129
129
|
panelClassName?: string;
|
|
130
130
|
optionClassName?: string;
|
|
131
|
+
/** Class applied to each option-group heading (the label above a group's options). */
|
|
132
|
+
groupLabelClassName?: string;
|
|
131
133
|
listMaxHeight?: number;
|
|
132
134
|
/**
|
|
133
135
|
* Gap between panel and trigger.
|