@sapui5/sap.fe.macros 1.141.1 → 1.142.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/Breadcrumbs.js +4 -10
- package/src/sap/fe/macros/Breadcrumbs.tsx +2 -8
- package/src/sap/fe/macros/Chart.js +34 -23
- package/src/sap/fe/macros/Chart.tsx +25 -11
- package/src/sap/fe/macros/CollaborativeDraftHandler.js +48 -31
- package/src/sap/fe/macros/CollaborativeDraftHandler.tsx +51 -26
- package/src/sap/fe/macros/CollectionBindingInfo.js +8 -2
- package/src/sap/fe/macros/CollectionBindingInfo.ts +11 -6
- package/src/sap/fe/macros/CommonHelper.js +14 -24
- package/src/sap/fe/macros/CommonHelper.ts +18 -25
- package/src/sap/fe/macros/Field.js +30 -13
- package/src/sap/fe/macros/Field.ts +60 -30
- package/src/sap/fe/macros/FooterContent.js +5 -2
- package/src/sap/fe/macros/FooterContent.tsx +6 -3
- package/src/sap/fe/macros/KPITag.js +1 -1
- package/src/sap/fe/macros/KPITag.tsx +3 -1
- package/src/sap/fe/macros/MacroAPI.js +3 -2
- package/src/sap/fe/macros/MacroAPI.ts +2 -2
- package/src/sap/fe/macros/MessageButton.js +3 -2
- package/src/sap/fe/macros/MessageButton.tsx +5 -2
- package/src/sap/fe/macros/MicroChart.js +10 -6
- package/src/sap/fe/macros/MicroChart.tsx +8 -2
- package/src/sap/fe/macros/MultiValueField.js +22 -36
- package/src/sap/fe/macros/MultiValueField.tsx +34 -66
- package/src/sap/fe/macros/RichTextEditor.js +3 -4
- package/src/sap/fe/macros/RichTextEditor.tsx +2 -3
- package/src/sap/fe/macros/Status.js +35 -8
- package/src/sap/fe/macros/Status.tsx +23 -2
- package/src/sap/fe/macros/ValueHelp.js +5 -2
- package/src/sap/fe/macros/ValueHelp.tsx +5 -0
- package/src/sap/fe/macros/ai/EasyFilterBar.js +7 -34
- package/src/sap/fe/macros/ai/EasyFilterBar.tsx +6 -35
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.js +31 -7
- package/src/sap/fe/macros/ai/EasyFilterDataFetcher.ts +33 -6
- package/src/sap/fe/macros/chart/Action.js +25 -2
- package/src/sap/fe/macros/chart/Action.ts +13 -0
- package/src/sap/fe/macros/chart/ActionGroup.js +25 -2
- package/src/sap/fe/macros/chart/ActionGroup.ts +13 -0
- package/src/sap/fe/macros/chart/ChartDelegate.js +8 -8
- package/src/sap/fe/macros/chart/ChartDelegate.ts +17 -12
- package/src/sap/fe/macros/chart/MdcChartTemplate.js +54 -11
- package/src/sap/fe/macros/chart/MdcChartTemplate.tsx +70 -11
- package/src/sap/fe/macros/chart/OverflowGroup.js +62 -0
- package/src/sap/fe/macros/chart/OverflowGroup.ts +22 -0
- package/src/sap/fe/macros/controls/FilterBar.js +39 -3
- package/src/sap/fe/macros/controls/FilterBar.ts +42 -1
- package/src/sap/fe/macros/controls/RadioButtons.js +18 -5
- package/src/sap/fe/macros/controls/RadioButtons.tsx +10 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +37 -9
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +45 -6
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.js +4 -2
- package/src/sap/fe/macros/draftIndicator/DraftIndicator.tsx +3 -1
- package/src/sap/fe/macros/field/FieldFormatOptions.js +3 -3
- package/src/sap/fe/macros/field/FieldFormatOptions.ts +1 -1
- package/src/sap/fe/macros/field/FieldHelper.js +4 -3
- package/src/sap/fe/macros/field/FieldHelper.ts +7 -1
- package/src/sap/fe/macros/field/FieldRuntime.js +38 -8
- package/src/sap/fe/macros/field/FieldRuntime.ts +65 -7
- package/src/sap/fe/macros/field/FieldRuntimeHelper.js +3 -34
- package/src/sap/fe/macros/field/FieldRuntimeHelper.ts +28 -53
- package/src/sap/fe/macros/field/FieldTemplating.js +5 -4
- package/src/sap/fe/macros/field/FieldTemplating.ts +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.js +6 -4
- package/src/sap/fe/macros/filter/FilterFieldHelper.ts +7 -2
- package/src/sap/fe/macros/filter/FilterUtils.js +100 -36
- package/src/sap/fe/macros/filter/FilterUtils.ts +127 -39
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.js +2 -2
- package/src/sap/fe/macros/filterBar/ExtendedSemanticDateOperators.ts +1 -1
- package/src/sap/fe/macros/filterBar/FilterBar.block.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBar.block.tsx +19 -8
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +10 -7
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +31 -16
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.js +4 -3
- package/src/sap/fe/macros/filterBar/FilterBarDelegate.ts +5 -2
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
- package/src/sap/fe/macros/form/Form.block.js +27 -2
- package/src/sap/fe/macros/form/Form.block.ts +31 -11
- package/src/sap/fe/macros/form/FormActionButtons.fragment.xml +13 -3
- package/src/sap/fe/macros/form/FormContainer.block.js +96 -65
- package/src/sap/fe/macros/form/FormContainer.block.ts +104 -65
- package/src/sap/fe/macros/formatters/TableFormatter.js +13 -10
- package/src/sap/fe/macros/formatters/TableFormatter.ts +11 -9
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.js +6 -4
- package/src/sap/fe/macros/formatters/VisualFilterFormatter.ts +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.js +5 -5
- package/src/sap/fe/macros/inlineEdit/InlineEdit.ts +4 -4
- package/src/sap/fe/macros/insights/InsightsService.js +3 -2
- package/src/sap/fe/macros/insights/InsightsService.ts +2 -1
- package/src/sap/fe/macros/internal/DataPoint.js +7 -8
- package/src/sap/fe/macros/internal/DataPoint.tsx +6 -9
- package/src/sap/fe/macros/internal/field/DisplayStyle.js +8 -6
- package/src/sap/fe/macros/internal/field/DisplayStyle.tsx +7 -8
- package/src/sap/fe/macros/internal/field/EditStyle.js +9 -20
- package/src/sap/fe/macros/internal/field/EditStyle.tsx +17 -41
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.js +2 -2
- package/src/sap/fe/macros/internal/field/FieldBlockStructure.tsx +1 -1
- package/src/sap/fe/macros/internal/field/FieldStructure.js +1 -2
- package/src/sap/fe/macros/internal/field/FieldStructure.tsx +0 -2
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.js +7 -7
- package/src/sap/fe/macros/internal/field/FieldStructureHelper.ts +17 -11
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.js +9 -6
- package/src/sap/fe/macros/internal/valuehelp/AdditionalValueFormatter.ts +7 -5
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.js +4 -4
- package/src/sap/fe/macros/internal/valuehelp/TableDelegate.ts +6 -6
- package/src/sap/fe/macros/internal/valuehelp/ValueListDialogTable.fragment.xml +5 -2
- package/src/sap/fe/macros/library.js +3 -3
- package/src/sap/fe/macros/library.ts +2 -0
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +15 -5
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +21 -5
- package/src/sap/fe/macros/messagebundle.properties +7 -5
- package/src/sap/fe/macros/messagebundle_ar.properties +12 -3
- package/src/sap/fe/macros/messagebundle_bg.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ca.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cnr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_cs.properties +11 -2
- package/src/sap/fe/macros/messagebundle_cy.properties +12 -3
- package/src/sap/fe/macros/messagebundle_da.properties +12 -3
- package/src/sap/fe/macros/messagebundle_de.properties +16 -7
- package/src/sap/fe/macros/messagebundle_el.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_GB.properties +13 -4
- package/src/sap/fe/macros/messagebundle_en_US_saprigi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es.properties +12 -3
- package/src/sap/fe/macros/messagebundle_es_MX.properties +12 -3
- package/src/sap/fe/macros/messagebundle_et.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_fr_CA.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hi.properties +12 -3
- package/src/sap/fe/macros/messagebundle_hr.properties +13 -4
- package/src/sap/fe/macros/messagebundle_hu.properties +12 -3
- package/src/sap/fe/macros/messagebundle_id.properties +18 -9
- package/src/sap/fe/macros/messagebundle_it.properties +12 -3
- package/src/sap/fe/macros/messagebundle_iw.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ja.properties +12 -3
- package/src/sap/fe/macros/messagebundle_kk.properties +11 -2
- package/src/sap/fe/macros/messagebundle_ko.properties +13 -4
- package/src/sap/fe/macros/messagebundle_lt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_lv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_mk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ms.properties +12 -3
- package/src/sap/fe/macros/messagebundle_nl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_no.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pl.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt.properties +12 -3
- package/src/sap/fe/macros/messagebundle_pt_PT.properties +12 -3
- package/src/sap/fe/macros/messagebundle_ro.properties +13 -4
- package/src/sap/fe/macros/messagebundle_ru.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sh.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sl.properties +13 -4
- package/src/sap/fe/macros/messagebundle_sr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_sv.properties +12 -3
- package/src/sap/fe/macros/messagebundle_th.properties +11 -2
- package/src/sap/fe/macros/messagebundle_tr.properties +12 -3
- package/src/sap/fe/macros/messagebundle_uk.properties +12 -3
- package/src/sap/fe/macros/messagebundle_vi.properties +13 -4
- package/src/sap/fe/macros/messagebundle_zh_CN.properties +12 -3
- package/src/sap/fe/macros/messagebundle_zh_TW.properties +12 -3
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.js +2 -2
- package/src/sap/fe/macros/richtexteditor/ButtonGroup.ts +2 -2
- package/src/sap/fe/macros/table/Action.js +15 -2
- package/src/sap/fe/macros/table/Action.ts +11 -1
- package/src/sap/fe/macros/table/ActionGroup.js +15 -2
- package/src/sap/fe/macros/table/ActionGroup.ts +8 -0
- package/src/sap/fe/macros/table/ActionGroupOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionGroupOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionOverride.js +14 -2
- package/src/sap/fe/macros/table/ActionOverride.ts +7 -0
- package/src/sap/fe/macros/table/ActionsTemplating.js +16 -2
- package/src/sap/fe/macros/table/ActionsTemplating.tsx +15 -0
- package/src/sap/fe/macros/table/MdcTableTemplate.js +91 -10
- package/src/sap/fe/macros/table/MdcTableTemplate.tsx +131 -10
- package/src/sap/fe/macros/table/OverflowGroups.js +59 -0
- package/src/sap/fe/macros/table/OverflowGroups.ts +27 -0
- package/src/sap/fe/macros/table/Table.block.js +70 -29
- package/src/sap/fe/macros/table/Table.block.tsx +65 -12
- package/src/sap/fe/macros/table/TableAPI.js +169 -131
- package/src/sap/fe/macros/table/TableAPI.ts +58 -28
- package/src/sap/fe/macros/table/TableDefinition.js +19 -2
- package/src/sap/fe/macros/table/TableDefinition.ts +17 -1
- package/src/sap/fe/macros/table/TableEventHandlerProvider.js +4 -3
- package/src/sap/fe/macros/table/TableEventHandlerProvider.ts +8 -9
- package/src/sap/fe/macros/table/TableHelper.js +5 -2
- package/src/sap/fe/macros/table/TableHelper.ts +5 -2
- package/src/sap/fe/macros/table/TableRuntime.js +2 -2
- package/src/sap/fe/macros/table/TableRuntime.ts +4 -6
- package/src/sap/fe/macros/table/TableSizeHelper.js +4 -4
- package/src/sap/fe/macros/table/TableSizeHelper.ts +6 -11
- package/src/sap/fe/macros/table/delegates/TableDelegate.js +67 -26
- package/src/sap/fe/macros/table/delegates/TableDelegate.ts +108 -118
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.js +2 -2
- package/src/sap/fe/macros/table/massEdit/MassEditDialogHelper.tsx +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.js +1 -1
- package/src/sap/fe/macros/table/massEdit/MassEditField.tsx +3 -6
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.js +6 -5
- package/src/sap/fe/macros/table/mixin/EmptyRowsHandler.ts +10 -4
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.js +7 -9
- package/src/sap/fe/macros/table/mixin/TableAPIStateHandler.ts +7 -8
- package/src/sap/fe/macros/table/mixin/TableExport.js +1 -1
- package/src/sap/fe/macros/table/mixin/TableExport.ts +3 -3
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.js +4 -4
- package/src/sap/fe/macros/visualfilters/InteractiveChartHelper.ts +3 -3
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +20 -2
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +28 -6
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.js +6 -3
- package/src/sap/fe/macros/visualfilters/VisualFilterRuntime.ts +4 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.js +3 -3
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveCharts.tsx +10 -4
- package/src/sap/fe/macros/visualfilters/fragments/InteractiveDonutChart.fragment.xml +1 -1
|
@@ -4,7 +4,7 @@ import { type PropertyAnnotations_Core } from "@sap-ux/vocabularies-types/vocabu
|
|
|
4
4
|
import type { DataField, FieldGroupType, ReferenceFacet } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
5
5
|
import { UIAnnotationTypes } from "@sap-ux/vocabularies-types/vocabularies/UI";
|
|
6
6
|
import Log from "sap/base/Log";
|
|
7
|
-
import type { PathInModelExpression } from "sap/fe/base/BindingToolkit";
|
|
7
|
+
import type { CompiledBindingToolkitExpression, PathInModelExpression } from "sap/fe/base/BindingToolkit";
|
|
8
8
|
import {
|
|
9
9
|
EDM_TYPE_MAPPING,
|
|
10
10
|
compileExpression,
|
|
@@ -82,6 +82,8 @@ import FileUploader from "sap/ui/unified/FileUploader";
|
|
|
82
82
|
import FileUploaderHttpRequestMethod from "sap/ui/unified/FileUploaderHttpRequestMethod";
|
|
83
83
|
import { displayMessageForFailedUpload, showFileSizeExceedDialog, showTypeMismatchDialog } from "../internal/helpers/Upload";
|
|
84
84
|
|
|
85
|
+
import type { DataModelObjectPath } from "sap/fe/core/templating/DataModelPathHelper";
|
|
86
|
+
import { getValueBinding } from "sap/fe/macros/field/FieldTemplating";
|
|
85
87
|
type ParameterDefaultValue = { paramName: string; value: unknown; latePropertyError?: boolean; noPossibleValue?: boolean };
|
|
86
88
|
|
|
87
89
|
type ElementGroup = { facetTitle: PropertyAnnotationValue<string> | undefined; data: ActionParameter[] };
|
|
@@ -316,8 +318,10 @@ export default class ActionParameterDialog {
|
|
|
316
318
|
private async createField(parameter: ActionParameter, parameterContext: Context): Promise<Field> {
|
|
317
319
|
let display = "Value";
|
|
318
320
|
let additionalValue;
|
|
321
|
+
let bindingValue;
|
|
319
322
|
try {
|
|
320
323
|
display = await FieldHelper.getAPDialogDisplayFormat(parameterContext.getObject(), { context: parameterContext });
|
|
324
|
+
bindingValue = await this.getAPDialogBindingValue(parameter, parameterContext, { context: parameterContext });
|
|
321
325
|
if (hasValueHelp(parameter)) {
|
|
322
326
|
additionalValue = await this.getAdditionalValue({ context: parameterContext });
|
|
323
327
|
}
|
|
@@ -330,7 +334,7 @@ export default class ActionParameterDialog {
|
|
|
330
334
|
<Field
|
|
331
335
|
delegate={{ name: "sap/fe/macros/field/FieldBaseDelegate", payload: { retrieveTextFromValueList: true } }}
|
|
332
336
|
id={generate(["APD_", parameter.name])}
|
|
333
|
-
value={
|
|
337
|
+
value={bindingValue}
|
|
334
338
|
placeholder={placeHolderExpression}
|
|
335
339
|
display={display}
|
|
336
340
|
editMode={this.getParameterEditMode(parameter)}
|
|
@@ -864,6 +868,10 @@ export default class ActionParameterDialog {
|
|
|
864
868
|
public closeDialog(): void {
|
|
865
869
|
if (this.dialog) {
|
|
866
870
|
this.parameters.events?.onParameterDialogClosed?.();
|
|
871
|
+
// when the dialog is cancelled, messages need to be removed in case the same action should be executed again
|
|
872
|
+
for (const i in this.actionParameterInfos) {
|
|
873
|
+
this.removeMessagesForParameter(this.actionParameterInfos[i].parameter);
|
|
874
|
+
}
|
|
867
875
|
this.dialog.close();
|
|
868
876
|
}
|
|
869
877
|
this.isDialogOpen = false;
|
|
@@ -1194,10 +1202,6 @@ export default class ActionParameterDialog {
|
|
|
1194
1202
|
* Manages the close of the dialog.
|
|
1195
1203
|
*/
|
|
1196
1204
|
private afterClose(): void {
|
|
1197
|
-
// when the dialog is cancelled, messages need to be removed in case the same action should be executed again
|
|
1198
|
-
for (const i in this.actionParameterInfos) {
|
|
1199
|
-
this.removeMessagesForParameter(this.actionParameterInfos[i].parameter);
|
|
1200
|
-
}
|
|
1201
1205
|
this.dialog?.destroy();
|
|
1202
1206
|
this.buttonLock = false; //needed here, not in the press events finally clause. In case the UI is sluggish, begin button could be pressed again.
|
|
1203
1207
|
}
|
|
@@ -1240,4 +1244,39 @@ export default class ActionParameterDialog {
|
|
|
1240
1244
|
}
|
|
1241
1245
|
}
|
|
1242
1246
|
}
|
|
1247
|
+
|
|
1248
|
+
/**
|
|
1249
|
+
* Gets the value binding for an action parameter. We add special handling for currency and unit beause they are not
|
|
1250
|
+
* part of the annotation helper format function.
|
|
1251
|
+
* @param parameter The parameter
|
|
1252
|
+
* @param parameterContext The parameter context
|
|
1253
|
+
* @param oInterface The parameter
|
|
1254
|
+
* @returns The binding for the value of the action parameter.
|
|
1255
|
+
*/
|
|
1256
|
+
private async getAPDialogBindingValue(
|
|
1257
|
+
parameter: ActionParameter,
|
|
1258
|
+
parameterContext: Context,
|
|
1259
|
+
oInterface: ComputedAnnotationInterface
|
|
1260
|
+
): Promise<CompiledBindingToolkitExpression | string> {
|
|
1261
|
+
const oModel = oInterface.context.getModel() as ODataMetaModel;
|
|
1262
|
+
const sContextPath = oInterface.context.getPath();
|
|
1263
|
+
const oActionParameterAnnotations = oModel.getObject(`${sContextPath}@`);
|
|
1264
|
+
let propertyObjectPath: DataModelObjectPath<Property>;
|
|
1265
|
+
|
|
1266
|
+
if (
|
|
1267
|
+
oActionParameterAnnotations["@Org.OData.Measures.V1.ISOCurrency"] ||
|
|
1268
|
+
oActionParameterAnnotations["@Org.OData.Measures.V1.Unit"]
|
|
1269
|
+
) {
|
|
1270
|
+
const actionMetaPath = this.action.isBound
|
|
1271
|
+
? `${this.metaModel.getMetaPath(this.parameters.contexts[0].getPath())}/${convertTypes(this.metaModel).namespace}.${
|
|
1272
|
+
this.action.name
|
|
1273
|
+
}`
|
|
1274
|
+
: `/${this.action.name}`;
|
|
1275
|
+
const metaContext = this.metaModel.createBindingContext(`${actionMetaPath}/${parameter.name}`)!;
|
|
1276
|
+
propertyObjectPath = getInvolvedDataModelObjects(metaContext);
|
|
1277
|
+
return getValueBinding(propertyObjectPath, {});
|
|
1278
|
+
} else {
|
|
1279
|
+
return AnnotationHelper.format(parameterContext.getObject(), { context: parameterContext });
|
|
1280
|
+
}
|
|
1281
|
+
}
|
|
1243
1282
|
}
|
|
@@ -184,6 +184,7 @@ sap.ui.define(["sap/base/strings/formatMessage", "sap/fe/base/BindingToolkit", "
|
|
|
184
184
|
* @returns The created popover control
|
|
185
185
|
*/;
|
|
186
186
|
_proto.createPopover = function createPopover(control) {
|
|
187
|
+
const resourceBundle = Library.getResourceBundleFor("sap.fe.macros");
|
|
187
188
|
const isDraftWithNoChangesBinding = and(not(Entity.IsActive), isEmpty(pathInModel("DraftAdministrativeData/LastChangeDateTime")));
|
|
188
189
|
const draftWithNoChangesTextBinding = this.draftIndicatorType === ObjectMarkerVisibility.IconAndText ? pathInModel("M_DRAFT_POPOVER_ADMIN_GENERIC_LOCKED_OBJECT_POPOVER_TEXT", "sap.fe.i18n") : pathInModel("C_DRAFT_POPOVER_ADMIN_DATA_DRAFTINFO_POPOVER_NO_DATA_TEXT", "sap.fe.i18n");
|
|
189
190
|
const isDraftWithChangesBinding = and(not(Entity.IsActive), not(isEmpty(pathInModel("DraftAdministrativeData/LastChangeDateTime"))));
|
|
@@ -208,6 +209,7 @@ sap.ui.define(["sap/base/strings/formatMessage", "sap/fe/base/BindingToolkit", "
|
|
|
208
209
|
placement: "Auto",
|
|
209
210
|
endButton: _jsx(Button, {
|
|
210
211
|
icon: "sap-icon://decline",
|
|
212
|
+
tooltip: resourceBundle.getText("C_DRAFTINDICATOR_CLOSE_BUTTON"),
|
|
211
213
|
press: () => {
|
|
212
214
|
this.draftPopover?.close();
|
|
213
215
|
}
|
|
@@ -297,7 +299,7 @@ sap.ui.define(["sap/base/strings/formatMessage", "sap/fe/base/BindingToolkit", "
|
|
|
297
299
|
const type = ifElse(not(Entity.IsActive), ObjectMarkerType.Draft, ifElse(Entity.HasDraft, ifElse(!!this.usedInAnalyticalTable, ObjectMarkerType.Locked, ifElse(pathInModel("DraftAdministrativeData/InProcessByUser"), ObjectMarkerType.Locked, ObjectMarkerType.Unsaved)), ObjectMarkerType.Flagged));
|
|
298
300
|
let visible;
|
|
299
301
|
if (this.usedInTable === true) {
|
|
300
|
-
visible = or(not(Entity.IsActive),
|
|
302
|
+
visible = or(not(Entity.IsActive), Entity.HasDraft);
|
|
301
303
|
} else {
|
|
302
304
|
// If Entity.HasDraft is empty, there is no context at all, so don't show the indicator
|
|
303
305
|
visible = and(not(isEmpty(Entity.HasDraft)), not(UI.IsEditable), Entity.HasDraft, not(pathInModel("DraftAdministrativeData/DraftIsCreatedByMe")));
|
|
@@ -368,4 +370,4 @@ sap.ui.define(["sap/base/strings/formatMessage", "sap/fe/base/BindingToolkit", "
|
|
|
368
370
|
_exports = DraftIndicator;
|
|
369
371
|
return _exports;
|
|
370
372
|
}, false);
|
|
371
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdEluZGljYXRvciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsInJlcXVpcmVkIiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiX2RlYzgiLCJhbGxvd2VkVmFsdWVzIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwic2V0RHJhZnRJbmRpY2F0b3JUeXBlIiwiaW5kaWNhdG9yIiwiT2JqZWN0TWFya2VyVmlzaWJpbGl0eSIsIkljb25Pbmx5IiwiSWNvbkFuZFRleHQiLCJpbmNsdWRlcyIsInNldFByb3BlcnR5IiwiRXJyb3IiLCJhZGRBcmlhTGFiZWxsZWRCeUZvckRyYWZ0SW5kaWNhdG9yIiwiZWxlbWVudCIsImFyaWFMYWJlbGxlZEJ5cyIsImNvbnRlbnQiLCJnZXRBcmlhTGFiZWxsZWRCeSIsImFkZEFyaWFMYWJlbGxlZEJ5Iiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNyZWF0ZUNvbnRlbnQiLCJmb3JtYXREcmFmdE93bmVyVGV4dEluUG9wb3ZlciIsImhhc0RyYWZ0RW50aXR5IiwiZHJhZnRJblByb2Nlc3NCeVVzZXIiLCJkcmFmdExhc3RDaGFuZ2VkQnlVc2VyIiwiZHJhZnRJblByb2Nlc3NCeVVzZXJEZXNjIiwiZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlckRlc2MiLCJtYWNyb1Jlc291cmNlQnVuZGxlIiwiTGlicmFyeSIsImdldFJlc291cmNlQnVuZGxlRm9yIiwidXNlckRlc2NyaXB0aW9uIiwiZ2V0VGV4dCIsImdldERyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcyIsIm1ldGFEYXRhIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsImNvbnRleHRQYXRoIiwiZHJhZnRBZG1pbkVsZW1lbnQiLCJ0YXJnZXRFbnRpdHlUeXBlIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJmaW5kIiwiYSIsIm5hbWUiLCJkcmFmdEFkbWluUHJvcGVydGllcyIsInRhcmdldFR5cGUiLCJlbnRpdHlQcm9wZXJ0aWVzIiwibWFwIiwib0RyYWZ0QWRtaW5Qcm9wZXJ0eSIsImdldFBvcG92ZXJUaXRsZUJpbmRpbmdFeHByZXNzaW9uIiwiaWZFbHNlIiwibm90IiwiRW50aXR5IiwiSXNBY3RpdmUiLCJpc0hpZGRlbkRyYWZ0RW5hYmxlZCIsInBhdGhJbk1vZGVsIiwiSGFzRHJhZnQiLCJpc0VtcHR5IiwiZHJhZnRJbmRpY2F0b3JUeXBlIiwiZ2V0RHJhZnRPd25lclRleHRCaW5kaW5nRXhwcmVzc2lvbiIsImRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcyIsInBhcnRzIiwicGF0aCIsInB1c2giLCJmb3JtYXR0ZXIiLCJjcmVhdGVQb3BvdmVyIiwiY29udHJvbCIsImlzRHJhZnRXaXRoTm9DaGFuZ2VzQmluZGluZyIsImFuZCIsImRyYWZ0V2l0aE5vQ2hhbmdlc1RleHRCaW5kaW5nIiwiaXNEcmFmdFdpdGhDaGFuZ2VzQmluZGluZyIsImRyYWZ0V2l0aENoYW5nZXNUZXh0QmluZGluZyIsIm1vZGVsIiwiZm9ybWF0TWVzc2FnZSIsImlzQWN0aXZlSW5zdGFuY2VCaW5kaW5nIiwiYWN0aXZlSW5zdGFuY2VUZXh0QmluZGluZyIsInBvcG92ZXIiLCJfanN4IiwiUG9wb3ZlciIsInRpdGxlIiwic2hvd0hlYWRlciIsInZlcnRpY2FsU2Nyb2xsaW5nIiwiY2xhc3MiLCJwbGFjZW1lbnQiLCJlbmRCdXR0b24iLCJCdXR0b24iLCJpY29uIiwicHJlc3MiLCJkcmFmdFBvcG92ZXIiLCJjbG9zZSIsImNoaWxkcmVuIiwiX2pzeHMiLCJWQm94IiwidmlzaWJsZSIsIlRleHQiLCJ0ZXh0IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiYWRkRGVwZW5kZW50Iiwib25PYmplY3RNYXJrZXJQcmVzc2VkIiwiZXZlbnQiLCJzb3VyY2UiLCJnZXRTb3VyY2UiLCJiaW5kaW5nQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJvcGVuQnkiLCJnZXRJY29uQW5kVGV4dEFkZGl0aW9uYWxJbmZvQmluZGluZ0V4cHJlc3Npb24iLCJvckJpbmRpbmdzIiwib3IiLCJnZXRJY29uQW5kVGV4dENvbnRlbnQiLCJnZXRBcHBDb21wb25lbnQiLCJnZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcyIsImdldENhcGFiaWxpdGllcyIsIkhpZGRlbkRyYWZ0IiwiZW5hYmxlZCIsIm9iak1hcmtlclR5cGUiLCJPYmplY3RNYXJrZXJUeXBlIiwiVW5zYXZlZCIsIkRyYWZ0IiwiTG9ja2VkQnkiLCJVbnNhdmVkQnkiLCJGbGFnZ2VkIiwidmlzaWJpbGl0eSIsIlRleHRPbmx5IiwiT2JqZWN0TWFya2VyIiwiYmluZCIsImFkZGl0aW9uYWxJbmZvIiwiYXJpYUxhYmVsbGVkQnkiLCJyZWFjdGl2ZUFyZWFNb2RlIiwiZ2V0SWNvbk9ubHlDb250ZW50IiwidXNlZEluQW5hbHl0aWNhbFRhYmxlIiwiTG9ja2VkIiwidXNlZEluVGFibGUiLCJVSSIsIklzRWRpdGFibGUiLCJ1bmRlZmluZWQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdEluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IGZvcm1hdE1lc3NhZ2UgZnJvbSBcInNhcC9iYXNlL3N0cmluZ3MvZm9ybWF0TWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgeyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24sIFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGFuZCwgaWZFbHNlLCBpc0VtcHR5LCBub3QsIG9yLCBwYXRoSW5Nb2RlbCB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHR5cGUgeyBIaWRkZW5EcmFmdCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IEVudGl0eSwgVUkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgT2JqZWN0TWFya2VyJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vT2JqZWN0TWFya2VyXCI7XG5pbXBvcnQgT2JqZWN0TWFya2VyIGZyb20gXCJzYXAvbS9PYmplY3RNYXJrZXJcIjtcbmltcG9ydCBQb3BvdmVyIGZyb20gXCJzYXAvbS9Qb3BvdmVyXCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCB7IE9iamVjdE1hcmtlclR5cGUsIE9iamVjdE1hcmtlclZpc2liaWxpdHkgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCB0eXBlIE9EYXRhVjRDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIGZvciBjcmVhdGluZyBhIERyYWZ0SW5kaWNhdG9yIGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqXG4gKiBVc2FnZSBleGFtcGxlOlxuICogPHByZT5cbiAqICZsdDttYWNyb3M6RHJhZnRJbmRpY2F0b3JcbiAqIGlkPVwiU29tZUlEXCJcbiAqIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqIEBwcml2YXRlXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuZHJhZnRJbmRpY2F0b3IuRHJhZnRJbmRpY2F0b3JcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWZ0SW5kaWNhdG9yIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxDb250cm9sPiB7XG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgRHJhZnRJbmRpY2F0b3Jcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHRwdWJsaWMgaWQ/OiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHB1YmxpYyBkcmFmdEluZGljYXRvclR5cGU/OiBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25Pbmx5IHwgT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uQW5kVGV4dCA9IE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbkFuZFRleHQ7XG5cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdHJlcXVpcmVkOiB0cnVlXG5cdH0pXG5cdGNvbnRleHRQYXRoITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHRwdWJsaWMgY2xhc3MgPSBcIlwiO1xuXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0cHVibGljIHVzZWRJblRhYmxlPzogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdHB1YmxpYyB1c2VkSW5BbmFseXRpY2FsVGFibGU/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIklubGluZVwiLCBcIk92ZXJsYXlcIl0gfSlcblx0cmVhY3RpdmVBcmVhTW9kZT86IFwiSW5saW5lXCIgfCBcIk92ZXJsYXlcIjtcblxuXHRkcmFmdFBvcG92ZXI/OiBQb3BvdmVyO1xuXG5cdHByaXZhdGUgaXNIaWRkZW5EcmFmdEVuYWJsZWQ/OiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6ICRDb250cm9sU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8RHJhZnRJbmRpY2F0b3I+LCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcywgb3RoZXJzKTtcblx0fVxuXG5cdHNldERyYWZ0SW5kaWNhdG9yVHlwZShcblx0XHRpbmRpY2F0b3I6IE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbk9ubHkgfCBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25BbmRUZXh0IHwgT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5UZXh0T25seVxuXHQpOiB2b2lkIHtcblx0XHRpZiAoW09iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbk9ubHksIE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbkFuZFRleHRdLmluY2x1ZGVzKGluZGljYXRvcikpIHtcblx0XHRcdHRoaXMuc2V0UHJvcGVydHkoXCJkcmFmdEluZGljYXRvclR5cGVcIiwgaW5kaWNhdG9yKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBBbGxvd2VkIHZhbHVlICR7aW5kaWNhdG9yfSBkb2VzIG5vdCBtYXRjaGApO1xuXHRcdH1cblx0fVxuXG5cdGFkZEFyaWFMYWJlbGxlZEJ5Rm9yRHJhZnRJbmRpY2F0b3IoZWxlbWVudDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJpYUxhYmVsbGVkQnlzID0gKHRoaXMuY29udGVudCBhcyB1bmtub3duIGFzIE9iamVjdE1hcmtlcik/LmdldEFyaWFMYWJlbGxlZEJ5KCkgPz8gW107XG5cdFx0aWYgKCFhcmlhTGFiZWxsZWRCeXMuaW5jbHVkZXMoZWxlbWVudCkpIHtcblx0XHRcdCh0aGlzLmNvbnRlbnQgYXMgdW5rbm93biBhcyBPYmplY3RNYXJrZXIpPy5hZGRBcmlhTGFiZWxsZWRCeShlbGVtZW50KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciBmb3IgdGhlIG9uTWV0YWRhdGFBdmFpbGFibGUgZXZlbnQuXG5cdCAqL1xuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5jb250ZW50KSB7XG5cdFx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUnVudGltZSBmb3JtYXR0ZXIgZnVuY3Rpb24gdG8gZm9ybWF0IHRoZSBjb3JyZWN0IHRleHQgdGhhdCBkaXNwbGF5cyB0aGUgb3duZXIgb2YgYSBkcmFmdC5cblx0ICpcblx0ICogVGhpcyBpcyB1c2VkIGluIGNhc2UgdGhlIERyYWZ0SW5kaWNhdG9yIGlzIHNob3duIGZvciBhbiBhY3RpdmUgZW50aXR5IHRoYXQgaGFzIGEgZHJhZnQgb2YgYW5vdGhlciB1c2VyLlxuXHQgKiBAcGFyYW0gaGFzRHJhZnRFbnRpdHlcblx0ICogQHBhcmFtIGRyYWZ0SW5Qcm9jZXNzQnlVc2VyXG5cdCAqIEBwYXJhbSBkcmFmdExhc3RDaGFuZ2VkQnlVc2VyXG5cdCAqIEBwYXJhbSBkcmFmdEluUHJvY2Vzc0J5VXNlckRlc2Ncblx0ICogQHBhcmFtIGRyYWZ0TGFzdENoYW5nZWRCeVVzZXJEZXNjXG5cdCAqIEByZXR1cm5zIFRleHQgdG8gZGlzcGxheVxuXHQgKi9cblx0c3RhdGljIGZvcm1hdERyYWZ0T3duZXJUZXh0SW5Qb3BvdmVyKFxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcblx0XHR0aGlzOiB2b2lkLFxuXHRcdGhhc0RyYWZ0RW50aXR5OiBib29sZWFuLFxuXHRcdGRyYWZ0SW5Qcm9jZXNzQnlVc2VyOiBzdHJpbmcsXG5cdFx0ZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlcjogc3RyaW5nLFxuXHRcdGRyYWZ0SW5Qcm9jZXNzQnlVc2VyRGVzYzogc3RyaW5nLFxuXHRcdGRyYWZ0TGFzdENoYW5nZWRCeVVzZXJEZXNjOiBzdHJpbmdcblx0KTogc3RyaW5nIHtcblx0XHRjb25zdCBtYWNyb1Jlc291cmNlQnVuZGxlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5tYWNyb3NcIik7XG5cdFx0aWYgKCFtYWNyb1Jlc291cmNlQnVuZGxlKSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdFx0aWYgKGhhc0RyYWZ0RW50aXR5KSB7XG5cdFx0XHRjb25zdCB1c2VyRGVzY3JpcHRpb24gPVxuXHRcdFx0XHRkcmFmdEluUHJvY2Vzc0J5VXNlckRlc2MgfHwgZHJhZnRJblByb2Nlc3NCeVVzZXIgfHwgZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlckRlc2MgfHwgZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlcjtcblxuXHRcdFx0aWYgKCF1c2VyRGVzY3JpcHRpb24pIHtcblx0XHRcdFx0cmV0dXJuIG1hY3JvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRklFTERfUlVOVElNRV9EUkFGVF9QT1BPVkVSX1VOU0FWRURfQ0hBTkdFU19CWV9VTktOT1dOXCIpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGRyYWZ0SW5Qcm9jZXNzQnlVc2VyXG5cdFx0XHRcdFx0PyBtYWNyb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0ZJRUxEX1JVTlRJTUVfRFJBRlRfUE9QT1ZFUl9MT0NLRURfQllfS05PV05cIiwgW3VzZXJEZXNjcmlwdGlvbl0pXG5cdFx0XHRcdFx0OiBtYWNyb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0ZJRUxEX1JVTlRJTUVfRFJBRlRfUE9QT1ZFUl9VTlNBVkVEX0NIQU5HRVNfQllfS05PV05cIiwgW3VzZXJEZXNjcmlwdGlvbl0pO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gbWFjcm9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9GSUVMRF9SVU5USU1FX0RSQUZUX1BPUE9WRVJfTk9fREFUQV9URVhUXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKipcblx0ICogR2V0cyB0aGUgcHJvcGVydGllcyBvZiB0aGUgRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEgZW50aXR5IGNvbm5lY3RlZCB0byB0aGUgZ2l2ZW4gZW50aXR5IHNldFxuXHQgKlxuXHQgKiBAcmV0dXJucyBMaXN0IG9mIHByb3BlcnR5IG5hbWVzXG5cdCAqL1xuXHRnZXREcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG1ldGFEYXRhOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PiB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCh0aGlzLmNvbnRleHRQYXRoKTtcblx0XHRjb25zdCBkcmFmdEFkbWluRWxlbWVudCA9IG1ldGFEYXRhPy50YXJnZXRFbnRpdHlUeXBlLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZpbmQoKGEpID0+IGEubmFtZSA9PT0gXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YVwiKTtcblx0XHRjb25zdCBkcmFmdEFkbWluUHJvcGVydGllcyA9IGRyYWZ0QWRtaW5FbGVtZW50Py50YXJnZXRUeXBlLmVudGl0eVByb3BlcnRpZXM7XG5cdFx0cmV0dXJuIGRyYWZ0QWRtaW5Qcm9wZXJ0aWVzPy5tYXAoKG9EcmFmdEFkbWluUHJvcGVydHkpID0+IG9EcmFmdEFkbWluUHJvcGVydHkubmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ29uc3RydWN0cyB0aGUgYmluZGluZyBleHByZXNzaW9uIGZvciB0aGUgdGV4dCBkaXNwbGF5ZWQgYXMgdGl0bGUgb2YgdGhlIHBvcHVwLlxuXHQgKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uXG5cdCAqL1xuXHRnZXRQb3BvdmVyVGl0bGVCaW5kaW5nRXhwcmVzc2lvbigpOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248UHJpbWl0aXZlVHlwZT4ge1xuXHRcdHJldHVybiBpZkVsc2UoXG5cdFx0XHRub3QoRW50aXR5LklzQWN0aXZlKSxcblx0XHRcdHRoaXMuaXNIaWRkZW5EcmFmdEVuYWJsZWRcblx0XHRcdFx0PyBwYXRoSW5Nb2RlbChcIk1fRFJBRlRfUE9QT1ZFUl9BRE1JTl9VTlNBVkVEX09CSkVDVFwiLCBcInNhcC5mZS5pMThuXCIpXG5cdFx0XHRcdDogcGF0aEluTW9kZWwoXCJNX0NPTU1PTl9EUkFGVF9PQkpFQ1RcIiwgXCJzYXAuZmUuaTE4blwiKSxcblx0XHRcdGlmRWxzZShcblx0XHRcdFx0RW50aXR5Lkhhc0RyYWZ0LFxuXHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0bm90KGlzRW1wdHkocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIikpKSxcblx0XHRcdFx0XHRwYXRoSW5Nb2RlbChcIk1fQ09NTU9OX0RSQUZUX0xPQ0tFRF9PQkpFQ1RcIiwgXCJzYXAuZmUuaTE4blwiKSxcblx0XHRcdFx0XHRwYXRoSW5Nb2RlbChcIk1fRFJBRlRfUE9QT1ZFUl9BRE1JTl9VTlNBVkVEX09CSkVDVFwiLCBcInNhcC5mZS5pMThuXCIpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHRoaXMuZHJhZnRJbmRpY2F0b3JUeXBlID09PSBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25BbmRUZXh0XG5cdFx0XHRcdFx0PyBcIiBcIlxuXHRcdFx0XHRcdDogcGF0aEluTW9kZWwoXCJDX0RSQUZUX1BPUE9WRVJfQURNSU5fREFUQV9EUkFGVElORk9fRkxBR0dFRF9PQkpFQ1RcIiwgXCJzYXAuZmUuaTE4blwiKVxuXHRcdFx0KVxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ29uc3RydWN0cyB0aGUgYmluZGluZyBleHByZXNzaW9uIGZvciB0aGUgdGV4dCBkaXNwbGF5ZWQgdG8gaWRlbnRpZnkgdGhlIGRyYWZ0IG93bmVyIGluIHRoZSBwb3B1cC5cblx0ICogVGhpcyBiaW5kaW5nIGlzIGNvbmZpZ3VyZWQgdG8gY2FsbCBmb3JtYXREcmFmdE93bmVyVGV4dEluUG9wb3ZlciBhdCBydW50aW1lLlxuXHQgKlxuXHQgKiBXZSBjYW5ub3QgcmVmZXJlbmNlIGZvcm1hdERyYWZ0T3duZXJUZXh0SW5Qb3BvdmVyIGRpcmVjdGx5IGFzIHdlIG5lZWQgdG8gY29uZGl0aW9uYWxseSBwYXNzIHByb3BlcnRpZXMgdGhhdCBtaWdodCBleGlzdCBvciBub3QsXG5cdCAqIGFuZCByZWZlcnJpbmcgdG8gbm9uLWV4aXN0aW5nIHByb3BlcnRpZXMgZmFpbHMgdGhlIGJpbmRpbmcuXG5cdCAqIEByZXR1cm5zIFRoZSBiaW5kaW5nIGV4cHJlc3Npb25cblx0ICovXG5cdGdldERyYWZ0T3duZXJUZXh0QmluZGluZ0V4cHJlc3Npb24oKToge1xuXHRcdHBhcnRzOiB1bmtub3duW107XG5cdFx0Zm9ybWF0dGVyOiAoXG5cdFx0XHRoYXNEcmFmdEVudGl0eTogYm9vbGVhbixcblx0XHRcdGRyYWZ0SW5Qcm9jZXNzQnlVc2VyOiBzdHJpbmcsXG5cdFx0XHRkcmFmdExhc3RDaGFuZ2VkQnlVc2VyOiBzdHJpbmcsXG5cdFx0XHRkcmFmdEluUHJvY2Vzc0J5VXNlckRlc2M6IHN0cmluZyxcblx0XHRcdGRyYWZ0TGFzdENoYW5nZWRCeVVzZXJEZXNjOiBzdHJpbmdcblx0XHQpID0+IHN0cmluZztcblx0fSB7XG5cdFx0Y29uc3QgZHJhZnRBZG1pbmlzdHJhdGl2ZURhdGFQcm9wZXJ0aWVzID0gdGhpcy5nZXREcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXMoKTtcblxuXHRcdGNvbnN0IHBhcnRzID0gW1xuXHRcdFx0eyBwYXRoOiBcIkhhc0RyYWZ0RW50aXR5XCIsIHRhcmdldFR5cGU6IFwiYW55XCIgfSxcblx0XHRcdHsgcGF0aDogXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIiB9LFxuXHRcdFx0eyBwYXRoOiBcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VkQnlVc2VyXCIgfVxuXHRcdF07XG5cdFx0aWYgKGRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcz8uaW5jbHVkZXMoXCJJblByb2Nlc3NCeVVzZXJEZXNjcmlwdGlvblwiKSkge1xuXHRcdFx0cGFydHMucHVzaCh7IHBhdGg6IFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvSW5Qcm9jZXNzQnlVc2VyRGVzY3JpcHRpb25cIiB9KTtcblx0XHR9XG5cdFx0aWYgKGRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcz8uaW5jbHVkZXMoXCJMYXN0Q2hhbmdlZEJ5VXNlckRlc2NyaXB0aW9uXCIpKSB7XG5cdFx0XHRwYXJ0cy5wdXNoKHsgcGF0aDogXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9MYXN0Q2hhbmdlZEJ5VXNlckRlc2NyaXB0aW9uXCIgfSk7XG5cdFx0fVxuXG5cdFx0Ly9wYXJ0cy5wdXNoKHtwYXRoOiBcInNhcC5mZS5pMThuPlwifSlcblxuXHRcdHJldHVybiB7IHBhcnRzLCBmb3JtYXR0ZXI6IERyYWZ0SW5kaWNhdG9yLmZvcm1hdERyYWZ0T3duZXJUZXh0SW5Qb3BvdmVyIH07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIHBvcG92ZXIgY29udHJvbCB0byBkaXNwbGF5IGRyYWZ0IGluZm9ybWF0aW9uLlxuXHQgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRoYXQgdGhlIHBvcG92ZXIgaXMgdG8gYmUgY3JlYXRlZCBmb3Jcblx0ICogQHJldHVybnMgVGhlIGNyZWF0ZWQgcG9wb3ZlciBjb250cm9sXG5cdCAqL1xuXHRjcmVhdGVQb3BvdmVyKGNvbnRyb2w6IENvbnRyb2wpOiBQb3BvdmVyIHtcblx0XHRjb25zdCBpc0RyYWZ0V2l0aE5vQ2hhbmdlc0JpbmRpbmcgPSBhbmQobm90KEVudGl0eS5Jc0FjdGl2ZSksIGlzRW1wdHkocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9MYXN0Q2hhbmdlRGF0ZVRpbWVcIikpKTtcblx0XHRjb25zdCBkcmFmdFdpdGhOb0NoYW5nZXNUZXh0QmluZGluZyA9XG5cdFx0XHR0aGlzLmRyYWZ0SW5kaWNhdG9yVHlwZSA9PT0gT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uQW5kVGV4dFxuXHRcdFx0XHQ/IHBhdGhJbk1vZGVsKFwiTV9EUkFGVF9QT1BPVkVSX0FETUlOX0dFTkVSSUNfTE9DS0VEX09CSkVDVF9QT1BPVkVSX1RFWFRcIiwgXCJzYXAuZmUuaTE4blwiKVxuXHRcdFx0XHQ6IHBhdGhJbk1vZGVsKFwiQ19EUkFGVF9QT1BPVkVSX0FETUlOX0RBVEFfRFJBRlRJTkZPX1BPUE9WRVJfTk9fREFUQV9URVhUXCIsIFwic2FwLmZlLmkxOG5cIik7XG5cblx0XHRjb25zdCBpc0RyYWZ0V2l0aENoYW5nZXNCaW5kaW5nID0gYW5kKFxuXHRcdFx0bm90KEVudGl0eS5Jc0FjdGl2ZSksXG5cdFx0XHRub3QoaXNFbXB0eShwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VEYXRlVGltZVwiKSkpXG5cdFx0KTtcblx0XHRjb25zdCBkcmFmdFdpdGhDaGFuZ2VzVGV4dEJpbmRpbmcgPSB7XG5cdFx0XHRwYXJ0czogW1xuXHRcdFx0XHR7IHBhdGg6IFwiTV9EUkFGVF9QT1BPVkVSX0FETUlOX0xBU1RfQ0hBTkdFX1RFWFRcIiwgbW9kZWw6IFwic2FwLmZlLmkxOG5cIiB9LFxuXHRcdFx0XHR7IHBhdGg6IFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvTGFzdENoYW5nZURhdGVUaW1lXCIgfVxuXHRcdFx0XSxcblx0XHRcdGZvcm1hdHRlcjogZm9ybWF0TWVzc2FnZVxuXHRcdH07XG5cblx0XHRjb25zdCBpc0FjdGl2ZUluc3RhbmNlQmluZGluZyA9IGFuZChFbnRpdHkuSXNBY3RpdmUsIG5vdChpc0VtcHR5KHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvTGFzdENoYW5nZURhdGVUaW1lXCIpKSkpO1xuXHRcdGNvbnN0IGFjdGl2ZUluc3RhbmNlVGV4dEJpbmRpbmcgPSB7IC4uLmRyYWZ0V2l0aENoYW5nZXNUZXh0QmluZGluZyB9O1xuXG5cdFx0Y29uc3QgcG9wb3ZlcjogUG9wb3ZlciA9IChcblx0XHRcdDxQb3BvdmVyXG5cdFx0XHRcdHRpdGxlPXt0aGlzLmdldFBvcG92ZXJUaXRsZUJpbmRpbmdFeHByZXNzaW9uKCl9XG5cdFx0XHRcdHNob3dIZWFkZXI9e3RydWV9XG5cdFx0XHRcdHZlcnRpY2FsU2Nyb2xsaW5nPXtmYWxzZX1cblx0XHRcdFx0Y2xhc3M9e1wic2FwVWlDb250ZW50UGFkZGluZ1wifVxuXHRcdFx0XHRwbGFjZW1lbnQ9e1wiQXV0b1wifVxuXHRcdFx0XHRlbmRCdXR0b249e1xuXHRcdFx0XHRcdChcblx0XHRcdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRcdFx0aWNvbj17XCJzYXAtaWNvbjovL2RlY2xpbmVcIn1cblx0XHRcdFx0XHRcdFx0cHJlc3M9eygpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmRyYWZ0UG9wb3Zlcj8uY2xvc2UoKTtcblx0XHRcdFx0XHRcdFx0fX1cblx0XHRcdFx0XHRcdC8+XG5cdFx0XHRcdFx0KSBhcyBCdXR0b25cblx0XHRcdFx0fVxuXHRcdFx0PlxuXHRcdFx0XHQ8VkJveCBjbGFzcz17XCJzYXBVaUNvbnRlbnRQYWRkaW5nXCJ9PlxuXHRcdFx0XHRcdDxWQm94IHZpc2libGU9e2lzRHJhZnRXaXRoTm9DaGFuZ2VzQmluZGluZ30+XG5cdFx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXtkcmFmdFdpdGhOb0NoYW5nZXNUZXh0QmluZGluZ30gLz5cblx0XHRcdFx0XHQ8L1ZCb3g+XG5cdFx0XHRcdFx0PFZCb3ggdmlzaWJsZT17aXNEcmFmdFdpdGhDaGFuZ2VzQmluZGluZ30+XG5cdFx0XHRcdFx0XHQ8VGV4dCB0ZXh0PXtkcmFmdFdpdGhDaGFuZ2VzVGV4dEJpbmRpbmd9IC8+XG5cdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHRcdDxWQm94IHZpc2libGU9e2lzQWN0aXZlSW5zdGFuY2VCaW5kaW5nfT5cblx0XHRcdFx0XHRcdDxUZXh0IHRleHQ9e3RoaXMuZ2V0RHJhZnRPd25lclRleHRCaW5kaW5nRXhwcmVzc2lvbigpfSAvPlxuXHRcdFx0XHRcdFx0PFRleHQgY2xhc3M9e1wic2FwVWlTbWFsbE1hcmdpblRvcFwifSB0ZXh0PXthY3RpdmVJbnN0YW5jZVRleHRCaW5kaW5nfSAvPlxuXHRcdFx0XHRcdDwvVkJveD5cblx0XHRcdFx0PC9WQm94PlxuXHRcdFx0PC9Qb3BvdmVyPlxuXHRcdCkgYXMgUG9wb3ZlcjtcblxuXHRcdENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcoY29udHJvbCkuYWRkRGVwZW5kZW50KHBvcG92ZXIpO1xuXHRcdHJldHVybiBwb3BvdmVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIEhhbmRsZXMgcHJlc3Npbmcgb2YgdGhlIG9iamVjdCBtYXJrZXIgYnkgb3BlbmluZyBhIGNvcnJlc3BvbmRpbmcgcG9wb3Zlci5cblx0ICogQHBhcmFtIGV2ZW50IEV2ZW50IG9iamVjdCBwYXNzZWQgZnJvbSB0aGUgcHJlc3MgZXZlbnRcblx0ICovXG5cdG9uT2JqZWN0TWFya2VyUHJlc3NlZChldmVudDogT2JqZWN0TWFya2VyJFByZXNzRXZlbnQpOiB2b2lkIHtcblx0XHRjb25zdCBzb3VyY2UgPSBldmVudC5nZXRTb3VyY2UoKTtcblx0XHRjb25zdCBiaW5kaW5nQ29udGV4dCA9IHNvdXJjZS5nZXRCaW5kaW5nQ29udGV4dCgpIGFzIE9EYXRhVjRDb250ZXh0O1xuXG5cdFx0dGhpcy5kcmFmdFBvcG92ZXIgPz89IHRoaXMuY3JlYXRlUG9wb3Zlcihzb3VyY2UpO1xuXG5cdFx0dGhpcy5kcmFmdFBvcG92ZXIuc2V0QmluZGluZ0NvbnRleHQoYmluZGluZ0NvbnRleHQpO1xuXHRcdHRoaXMuZHJhZnRQb3BvdmVyLm9wZW5CeShzb3VyY2UsIGZhbHNlKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDb25zdHJ1Y3RzIHRoZSBiaW5kaW5nIGV4cHJlc3Npb24gZm9yIHRoZSBcImFkZGl0aW9uYWxJbmZvXCIgYXR0cmlidXRlIGluIHRoZSBcIkljb25BbmRUZXh0XCIgY2FzZS5cblx0ICogQHJldHVybnMgVGhlIGJpbmRpbmcgZXhwcmVzc2lvblxuXHQgKi9cblx0Z2V0SWNvbkFuZFRleHRBZGRpdGlvbmFsSW5mb0JpbmRpbmdFeHByZXNzaW9uKCk6IEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxzdHJpbmc+IHtcblx0XHRjb25zdCBkcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXMgPSB0aGlzLmdldERyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcygpO1xuXG5cdFx0Y29uc3Qgb3JCaW5kaW5ncyA9IFtdO1xuXHRcdGlmIChkcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXM/LmluY2x1ZGVzKFwiSW5Qcm9jZXNzQnlVc2VyRGVzY3JpcHRpb25cIikpIHtcblx0XHRcdG9yQmluZGluZ3MucHVzaChwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0luUHJvY2Vzc0J5VXNlckRlc2NyaXB0aW9uXCIpKTtcblx0XHR9XG5cdFx0b3JCaW5kaW5ncy5wdXNoKHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvSW5Qcm9jZXNzQnlVc2VyXCIpKTtcblx0XHRpZiAoZHJhZnRBZG1pbmlzdHJhdGl2ZURhdGFQcm9wZXJ0aWVzPy5pbmNsdWRlcyhcIkxhc3RDaGFuZ2VkQnlVc2VyRGVzY3JpcHRpb25cIikpIHtcblx0XHRcdG9yQmluZGluZ3MucHVzaChwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VkQnlVc2VyRGVzY3JpcHRpb25cIikpO1xuXHRcdH1cblx0XHRvckJpbmRpbmdzLnB1c2gocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9MYXN0Q2hhbmdlZEJ5VXNlclwiKSk7XG5cblx0XHRyZXR1cm4gaWZFbHNlPHN0cmluZz4oRW50aXR5Lkhhc0RyYWZ0LCBvciguLi5vckJpbmRpbmdzKSBhcyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248c3RyaW5nPiwgXCJcIik7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGlzIGJ1aWxkaW5nIGJsb2NrIGZvciB0aGUgXCJJY29uQW5kVGV4dFwiIHR5cGUuXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIHRyZWVcblx0ICovXG5cdGdldEljb25BbmRUZXh0Q29udGVudCgpOiBPYmplY3RNYXJrZXIge1xuXHRcdHRoaXMuaXNIaWRkZW5EcmFmdEVuYWJsZWQgPSAodGhpcy5nZXRBcHBDb21wb25lbnQoKT8uZ2V0RW52aXJvbm1lbnRDYXBhYmlsaXRpZXMoKS5nZXRDYXBhYmlsaXRpZXMoKS5IaWRkZW5EcmFmdCBhcyBIaWRkZW5EcmFmdClcblx0XHRcdD8uZW5hYmxlZDtcblx0XHRjb25zdCBvYmpNYXJrZXJUeXBlID0gdGhpcy5pc0hpZGRlbkRyYWZ0RW5hYmxlZCA/IE9iamVjdE1hcmtlclR5cGUuVW5zYXZlZCA6IE9iamVjdE1hcmtlclR5cGUuRHJhZnQ7XG5cdFx0Y29uc3QgdHlwZSA9IGlmRWxzZShcblx0XHRcdG5vdChFbnRpdHkuSXNBY3RpdmUpLFxuXHRcdFx0b2JqTWFya2VyVHlwZSxcblx0XHRcdGlmRWxzZShcblx0XHRcdFx0RW50aXR5Lkhhc0RyYWZ0LFxuXHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0cGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIiksXG5cdFx0XHRcdFx0T2JqZWN0TWFya2VyVHlwZS5Mb2NrZWRCeSxcblx0XHRcdFx0XHRpZkVsc2UocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9MYXN0Q2hhbmdlZEJ5VXNlclwiKSwgT2JqZWN0TWFya2VyVHlwZS5VbnNhdmVkQnksIE9iamVjdE1hcmtlclR5cGUuVW5zYXZlZClcblx0XHRcdFx0KSxcblx0XHRcdFx0T2JqZWN0TWFya2VyVHlwZS5GbGFnZ2VkXG5cdFx0XHQpXG5cdFx0KTtcblxuXHRcdGNvbnN0IHZpc2liaWxpdHkgPSBpZkVsc2Uobm90KEVudGl0eS5IYXNEcmFmdCksIE9iamVjdE1hcmtlclZpc2liaWxpdHkuVGV4dE9ubHksIE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbkFuZFRleHQpO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDxPYmplY3RNYXJrZXJcblx0XHRcdFx0dHlwZT17dHlwZX1cblx0XHRcdFx0cHJlc3M9e3RoaXMub25PYmplY3RNYXJrZXJQcmVzc2VkLmJpbmQodGhpcyl9XG5cdFx0XHRcdHZpc2liaWxpdHk9e3Zpc2liaWxpdHl9XG5cdFx0XHRcdGFkZGl0aW9uYWxJbmZvPXt0aGlzLmdldEljb25BbmRUZXh0QWRkaXRpb25hbEluZm9CaW5kaW5nRXhwcmVzc2lvbigpfVxuXHRcdFx0XHRhcmlhTGFiZWxsZWRCeT17dGhpcy5hcmlhTGFiZWxsZWRCeSA/IHRoaXMuYXJpYUxhYmVsbGVkQnkgOiBbXX1cblx0XHRcdFx0Y2xhc3M9e3RoaXMuY2xhc3N9XG5cdFx0XHRcdHJlYWN0aXZlQXJlYU1vZGU9e3RoaXMucmVhY3RpdmVBcmVhTW9kZX1cblx0XHRcdC8+XG5cdFx0KSBhcyBPYmplY3RNYXJrZXI7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGlzIGJ1aWxkaW5nIGJsb2NrIGZvciB0aGUgXCJJY29uT25seVwiIHR5cGUuXG5cdCAqIEByZXR1cm5zIFRoZSBjb250cm9sIHRyZWVcblx0ICovXG5cdGdldEljb25Pbmx5Q29udGVudCgpOiBPYmplY3RNYXJrZXIge1xuXHRcdGNvbnN0IHR5cGUgPSBpZkVsc2UoXG5cdFx0XHRub3QoRW50aXR5LklzQWN0aXZlKSxcblx0XHRcdE9iamVjdE1hcmtlclR5cGUuRHJhZnQsXG5cdFx0XHRpZkVsc2UoXG5cdFx0XHRcdEVudGl0eS5IYXNEcmFmdCxcblx0XHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRcdCEhdGhpcy51c2VkSW5BbmFseXRpY2FsVGFibGUsXG5cdFx0XHRcdFx0T2JqZWN0TWFya2VyVHlwZS5Mb2NrZWQsXG5cdFx0XHRcdFx0aWZFbHNlKHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvSW5Qcm9jZXNzQnlVc2VyXCIpLCBPYmplY3RNYXJrZXJUeXBlLkxvY2tlZCwgT2JqZWN0TWFya2VyVHlwZS5VbnNhdmVkKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRPYmplY3RNYXJrZXJUeXBlLkZsYWdnZWRcblx0XHRcdClcblx0XHQpO1xuXG5cdFx0bGV0IHZpc2libGU7XG5cdFx0aWYgKHRoaXMudXNlZEluVGFibGUgPT09IHRydWUpIHtcblx0XHRcdHZpc2libGUgPSBvcihub3QoRW50aXR5LklzQWN0aXZlKSwgYW5kKEVudGl0eS5Jc0FjdGl2ZSwgRW50aXR5Lkhhc0RyYWZ0KSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIElmIEVudGl0eS5IYXNEcmFmdCBpcyBlbXB0eSwgdGhlcmUgaXMgbm8gY29udGV4dCBhdCBhbGwsIHNvIGRvbid0IHNob3cgdGhlIGluZGljYXRvclxuXHRcdFx0dmlzaWJsZSA9IGFuZChcblx0XHRcdFx0bm90KGlzRW1wdHkoRW50aXR5Lkhhc0RyYWZ0KSksXG5cdFx0XHRcdG5vdChVSS5Jc0VkaXRhYmxlKSxcblx0XHRcdFx0RW50aXR5Lkhhc0RyYWZ0LFxuXHRcdFx0XHRub3QocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9EcmFmdElzQ3JlYXRlZEJ5TWVcIikpXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdHJldHVybiAoXG5cdFx0XHQ8T2JqZWN0TWFya2VyXG5cdFx0XHRcdHR5cGU9e3R5cGV9XG5cdFx0XHRcdHByZXNzPXshdGhpcy51c2VkSW5BbmFseXRpY2FsVGFibGUgPyB0aGlzLm9uT2JqZWN0TWFya2VyUHJlc3NlZC5iaW5kKHRoaXMpIDogdW5kZWZpbmVkfVxuXHRcdFx0XHR2aXNpYmlsaXR5PXtPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25Pbmx5fVxuXHRcdFx0XHR2aXNpYmxlPXt2aXNpYmxlfVxuXHRcdFx0XHRhcmlhTGFiZWxsZWRCeT17dGhpcy5hcmlhTGFiZWxsZWRCeSA/IHRoaXMuYXJpYUxhYmVsbGVkQnkgOiBbXX1cblx0XHRcdFx0Y2xhc3M9e3RoaXMuY2xhc3N9XG5cdFx0XHRcdHJlYWN0aXZlQXJlYU1vZGU9e3RoaXMucmVhY3RpdmVBcmVhTW9kZX1cblx0XHRcdC8+XG5cdFx0KSBhcyBPYmplY3RNYXJrZXI7XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgY29udGVudCBvZiB0aGlzIGJ1aWxkaW5nIGJsb2NrLlxuXHQgKiBAcmV0dXJucyBUaGUgY29udHJvbCB0cmVlXG5cdCAqL1xuXHRjcmVhdGVDb250ZW50KCk6IE9iamVjdE1hcmtlciB8IHVuZGVmaW5lZCB7XG5cdFx0aWYgKHRoaXMuZHJhZnRJbmRpY2F0b3JUeXBlID09PSBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25BbmRUZXh0KSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5nZXRJY29uQW5kVGV4dENvbnRlbnQoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0SWNvbk9ubHlDb250ZW50KCk7XG5cdFx0fVxuXHR9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBdUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFWQSxJQVlxQkEsY0FBYyxJQUFBQyxJQUFBLEdBRGxDQyxjQUFjLENBQUMsNkNBQTZDLENBQUMsRUFBQUMsS0FBQSxHQUs1REMsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRTtFQUNQLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR0RGLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUU7RUFDUCxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQUdESCxRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFLFFBQVE7SUFDZEcsUUFBUSxFQUFFO0VBQ1gsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FHREwsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRTtFQUNQLENBQUMsQ0FBQyxFQUFBSyxLQUFBLEdBR0ROLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUU7RUFDUCxDQUFDLENBQUMsRUFBQU0sS0FBQSxHQUdEUCxRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFO0VBQ1AsQ0FBQyxDQUFDLEVBQUFPLEtBQUEsR0FHRFIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVRLGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTO0VBQUUsQ0FBQyxDQUFDLEVBQUFaLElBQUEsQ0FBQWEsTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxjQUFBO0lBT25FLFNBQUFoQixlQUFZaUIsVUFBMkQsRUFBRUMsTUFBeUIsRUFBRTtNQUFBLElBQUFDLEtBQUE7TUFDbkdBLEtBQUEsR0FBQUgsY0FBQSxDQUFBSSxJQUFBLE9BQU1ILFVBQVUsRUFBRUMsTUFBTSxDQUFDO01BMUMxQjtBQUNEO0FBQ0E7TUFGQ0csMEJBQUEsQ0FBQUYsS0FBQSxRQUFBRyxXQUFBLEVBQUFILEtBQUE7TUFBQUUsMEJBQUEsQ0FBQUYsS0FBQSx3QkFBQUksWUFBQSxFQUFBSixLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsaUJBQUFLLFlBQUEsRUFBQUwsS0FBQTtNQUFBRSwwQkFBQSxDQUFBRixLQUFBLFdBQUFNLFlBQUEsRUFBQU4sS0FBQTtNQUFBRSwwQkFBQSxDQUFBRixLQUFBLGlCQUFBTyxZQUFBLEVBQUFQLEtBQUE7TUFBQUUsMEJBQUEsQ0FBQUYsS0FBQSwyQkFBQVEsWUFBQSxFQUFBUixLQUFBO01BQUFFLDBCQUFBLENBQUFGLEtBQUEsc0JBQUFTLFlBQUEsRUFBQVQsS0FBQTtNQUFBLE9BQUFBLEtBQUE7SUEyQ0E7SUFBQ1UsUUFBQSxHQUFBN0IsY0FBQTtJQUFBOEIsY0FBQSxDQUFBOUIsY0FBQSxFQUFBZ0IsY0FBQTtJQUFBLElBQUFlLE1BQUEsR0FBQS9CLGNBQUEsQ0FBQWdDLFNBQUE7SUFBQUQsTUFBQSxDQUVERSxxQkFBcUIsR0FBckIsU0FBQUEscUJBQXFCQSxDQUNwQkMsU0FBaUgsRUFDMUc7TUFDUCxJQUFJLENBQUNDLHNCQUFzQixDQUFDQyxRQUFRLEVBQUVELHNCQUFzQixDQUFDRSxXQUFXLENBQUMsQ0FBQ0MsUUFBUSxDQUFDSixTQUFTLENBQUMsRUFBRTtRQUM5RixJQUFJLENBQUNLLFdBQVcsQ0FBQyxvQkFBb0IsRUFBRUwsU0FBUyxDQUFDO01BQ2xELENBQUMsTUFBTTtRQUNOLE1BQU0sSUFBSU0sS0FBSyxDQUFDLGlCQUFpQk4sU0FBUyxpQkFBaUIsQ0FBQztNQUM3RDtJQUNELENBQUM7SUFBQUgsTUFBQSxDQUVEVSxrQ0FBa0MsR0FBbEMsU0FBQUEsa0NBQWtDQSxDQUFDQyxPQUFlLEVBQVE7TUFDekQsTUFBTUMsZUFBZSxHQUFJLElBQUksQ0FBQ0MsT0FBTyxFQUE4QkMsaUJBQWlCLENBQUMsQ0FBQyxJQUFJLEVBQUU7TUFDNUYsSUFBSSxDQUFDRixlQUFlLENBQUNMLFFBQVEsQ0FBQ0ksT0FBTyxDQUFDLEVBQUU7UUFDdEMsSUFBSSxDQUFDRSxPQUFPLEVBQThCRSxpQkFBaUIsQ0FBQ0osT0FBTyxDQUFDO01BQ3RFO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBLE9BRkM7SUFBQVgsTUFBQSxDQUdBZ0IsbUJBQW1CLEdBQW5CLFNBQUFBLG1CQUFtQkEsQ0FBQSxFQUFTO01BQzNCLElBQUksQ0FBQyxJQUFJLENBQUNILE9BQU8sRUFBRTtRQUNsQixJQUFJLENBQUNBLE9BQU8sR0FBRyxJQUFJLENBQUNJLGFBQWEsQ0FBQyxDQUFDO01BQ3BDO0lBQ0Q7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVZDO0lBQUFoRCxjQUFBLENBV09pRCw2QkFBNkIsR0FBcEMsU0FBT0EsNkJBQTZCQSxDQUduQ0MsY0FBdUIsRUFDdkJDLG9CQUE0QixFQUM1QkMsc0JBQThCLEVBQzlCQyx3QkFBZ0MsRUFDaENDLDBCQUFrQyxFQUN6QjtNQUNULE1BQU1DLG1CQUFtQixHQUFHQyxPQUFPLENBQUNDLG9CQUFvQixDQUFDLGVBQWUsQ0FBQztNQUN6RSxJQUFJLENBQUNGLG1CQUFtQixFQUFFO1FBQ3pCLE9BQU8sRUFBRTtNQUNWO01BQ0EsSUFBSUwsY0FBYyxFQUFFO1FBQ25CLE1BQU1RLGVBQWUsR0FDcEJMLHdCQUF3QixJQUFJRixvQkFBb0IsSUFBSUcsMEJBQTBCLElBQUlGLHNCQUFzQjtRQUV6RyxJQUFJLENBQUNNLGVBQWUsRUFBRTtVQUNyQixPQUFPSCxtQkFBbUIsQ0FBQ0ksT0FBTyxDQUFDLDBEQUEwRCxDQUFDO1FBQy9GLENBQUMsTUFBTTtVQUNOLE9BQU9SLG9CQUFvQixHQUN4QkksbUJBQW1CLENBQUNJLE9BQU8sQ0FBQywrQ0FBK0MsRUFBRSxDQUFDRCxlQUFlLENBQUMsQ0FBQyxHQUMvRkgsbUJBQW1CLENBQUNJLE9BQU8sQ0FBQyx3REFBd0QsRUFBRSxDQUFDRCxlQUFlLENBQUMsQ0FBQztRQUM1RztNQUNELENBQUMsTUFBTTtRQUNOLE9BQU9ILG1CQUFtQixDQUFDSSxPQUFPLENBQUMsNENBQTRDLENBQUM7TUFDakY7SUFDRDs7SUFFQTtBQUNEO0FBQ0E7QUFDQTtBQUNBLE9BSkM7SUFBQTVCLE1BQUEsQ0FLQTZCLG9DQUFvQyxHQUFwQyxTQUFBQSxvQ0FBb0NBLENBQUEsRUFBeUI7TUFDNUQsTUFBTUMsUUFBbUQsR0FBRyxJQUFJLENBQUNDLHNCQUFzQixDQUFDLElBQUksQ0FBQ0MsV0FBVyxDQUFDO01BQ3pHLE1BQU1DLGlCQUFpQixHQUFHSCxRQUFRLEVBQUVJLGdCQUFnQixDQUFDQyxvQkFBb0IsQ0FBQ0MsSUFBSSxDQUFFQyxDQUFDLElBQUtBLENBQUMsQ0FBQ0MsSUFBSSxLQUFLLHlCQUF5QixDQUFDO01BQzNILE1BQU1DLG9CQUFvQixHQUFHTixpQkFBaUIsRUFBRU8sVUFBVSxDQUFDQyxnQkFBZ0I7TUFDM0UsT0FBT0Ysb0JBQW9CLEVBQUVHLEdBQUcsQ0FBRUMsbUJBQW1CLElBQUtBLG1CQUFtQixDQUFDTCxJQUFJLENBQUM7SUFDcEY7O0lBRUE7QUFDRDtBQUNBO0FBQ0EsT0FIQztJQUFBdEMsTUFBQSxDQUlBNEMsZ0NBQWdDLEdBQWhDLFNBQUFBLGdDQUFnQ0EsQ0FBQSxFQUE0QztNQUMzRSxPQUFPQyxNQUFNLENBQ1pDLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLENBQUMsRUFDcEIsSUFBSSxDQUFDQyxvQkFBb0IsR0FDdEJDLFdBQVcsQ0FBQyxzQ0FBc0MsRUFBRSxhQUFhLENBQUMsR0FDbEVBLFdBQVcsQ0FBQyx1QkFBdUIsRUFBRSxhQUFhLENBQUMsRUFDdERMLE1BQU0sQ0FDTEUsTUFBTSxDQUFDSSxRQUFRLEVBQ2ZOLE1BQU0sQ0FDTEMsR0FBRyxDQUFDTSxPQUFPLENBQUNGLFdBQVcsQ0FBQyx5Q0FBeUMsQ0FBQyxDQUFDLENBQUMsRUFDcEVBLFdBQVcsQ0FBQyw4QkFBOEIsRUFBRSxhQUFhLENBQUMsRUFDMURBLFdBQVcsQ0FBQyxzQ0FBc0MsRUFBRSxhQUFhLENBQ2xFLENBQUMsRUFDRCxJQUFJLENBQUNHLGtCQUFrQixLQUFLakQsc0JBQXNCLENBQUNFLFdBQVcsR0FDM0QsR0FBRyxHQUNINEMsV0FBVyxDQUFDLHFEQUFxRCxFQUFFLGFBQWEsQ0FDcEYsQ0FDRCxDQUFDO0lBQ0Y7O0lBRUE7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQVBDO0lBQUFsRCxNQUFBLENBUUFzRCxrQ0FBa0MsR0FBbEMsU0FBQUEsa0NBQWtDQSxDQUFBLEVBU2hDO01BQ0QsTUFBTUMsaUNBQWlDLEdBQUcsSUFBSSxDQUFDMUIsb0NBQW9DLENBQUMsQ0FBQztNQUVyRixNQUFNMkIsS0FBSyxHQUFHLENBQ2I7UUFBRUMsSUFBSSxFQUFFLGdCQUFnQjtRQUFFakIsVUFBVSxFQUFFO01BQU0sQ0FBQyxFQUM3QztRQUFFaUIsSUFBSSxFQUFFO01BQTBDLENBQUMsRUFDbkQ7UUFBRUEsSUFBSSxFQUFFO01BQTRDLENBQUMsQ0FDckQ7TUFDRCxJQUFJRixpQ0FBaUMsRUFBRWhELFFBQVEsQ0FBQyw0QkFBNEIsQ0FBQyxFQUFFO1FBQzlFaUQsS0FBSyxDQUFDRSxJQUFJLENBQUM7VUFBRUQsSUFBSSxFQUFFO1FBQXFELENBQUMsQ0FBQztNQUMzRTtNQUNBLElBQUlGLGlDQUFpQyxFQUFFaEQsUUFBUSxDQUFDLDhCQUE4QixDQUFDLEVBQUU7UUFDaEZpRCxLQUFLLENBQUNFLElBQUksQ0FBQztVQUFFRCxJQUFJLEVBQUU7UUFBdUQsQ0FBQyxDQUFDO01BQzdFOztNQUVBOztNQUVBLE9BQU87UUFBRUQsS0FBSztRQUFFRyxTQUFTLEVBQUUxRixjQUFjLENBQUNpRDtNQUE4QixDQUFDO0lBQzFFOztJQUVBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0EsT0FKQztJQUFBbEIsTUFBQSxDQUtBNEQsYUFBYSxHQUFiLFNBQUFBLGFBQWFBLENBQUNDLE9BQWdCLEVBQVc7TUFDeEMsTUFBTUMsMkJBQTJCLEdBQUdDLEdBQUcsQ0FBQ2pCLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLENBQUMsRUFBRUksT0FBTyxDQUFDRixXQUFXLENBQUMsNENBQTRDLENBQUMsQ0FBQyxDQUFDO01BQ2pJLE1BQU1jLDZCQUE2QixHQUNsQyxJQUFJLENBQUNYLGtCQUFrQixLQUFLakQsc0JBQXNCLENBQUNFLFdBQVcsR0FDM0Q0QyxXQUFXLENBQUMsMERBQTBELEVBQUUsYUFBYSxDQUFDLEdBQ3RGQSxXQUFXLENBQUMsMkRBQTJELEVBQUUsYUFBYSxDQUFDO01BRTNGLE1BQU1lLHlCQUF5QixHQUFHRixHQUFHLENBQ3BDakIsR0FBRyxDQUFDQyxNQUFNLENBQUNDLFFBQVEsQ0FBQyxFQUNwQkYsR0FBRyxDQUFDTSxPQUFPLENBQUNGLFdBQVcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQ3ZFLENBQUM7TUFDRCxNQUFNZ0IsMkJBQTJCLEdBQUc7UUFDbkNWLEtBQUssRUFBRSxDQUNOO1VBQUVDLElBQUksRUFBRSx3Q0FBd0M7VUFBRVUsS0FBSyxFQUFFO1FBQWMsQ0FBQyxFQUN4RTtVQUFFVixJQUFJLEVBQUU7UUFBNkMsQ0FBQyxDQUN0RDtRQUNERSxTQUFTLEVBQUVTO01BQ1osQ0FBQztNQUVELE1BQU1DLHVCQUF1QixHQUFHTixHQUFHLENBQUNoQixNQUFNLENBQUNDLFFBQVEsRUFBRUYsR0FBRyxDQUFDTSxPQUFPLENBQUNGLFdBQVcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDLENBQUMsQ0FBQztNQUM3SCxNQUFNb0IseUJBQXlCLEdBQUc7UUFBRSxHQUFHSjtNQUE0QixDQUFDO01BRXBFLE1BQU1LLE9BQWdCLEdBQ3JCQyxJQUFBLENBQUNDLE9BQU87UUFDUEMsS0FBSyxFQUFFLElBQUksQ0FBQzlCLGdDQUFnQyxDQUFDLENBQUU7UUFDL0MrQixVQUFVLEVBQUUsSUFBSztRQUNqQkMsaUJBQWlCLEVBQUUsS0FBTTtRQUN6QkMsS0FBSyxFQUFFLHFCQUFzQjtRQUM3QkMsU0FBUyxFQUFFLE1BQU87UUFDbEJDLFNBQVMsRUFFUFAsSUFBQSxDQUFDUSxNQUFNO1VBQ05DLElBQUksRUFBRSxvQkFBcUI7VUFDM0JDLEtBQUssRUFBRUEsQ0FBQSxLQUFZO1lBQ2xCLElBQUksQ0FBQ0MsWUFBWSxFQUFFQyxLQUFLLENBQUMsQ0FBQztVQUMzQjtRQUFFLENBQ0YsQ0FFRjtRQUFBQyxRQUFBLEVBRURDLEtBQUEsQ0FBQ0MsSUFBSTtVQUFDVixLQUFLLEVBQUUscUJBQXNCO1VBQUFRLFFBQUEsR0FDbENiLElBQUEsQ0FBQ2UsSUFBSTtZQUFDQyxPQUFPLEVBQUUxQiwyQkFBNEI7WUFBQXVCLFFBQUEsRUFDMUNiLElBQUEsQ0FBQ2lCLElBQUk7Y0FBQ0MsSUFBSSxFQUFFMUI7WUFBOEIsQ0FBRTtVQUFDLENBQ3hDLENBQUMsRUFDUFEsSUFBQSxDQUFDZSxJQUFJO1lBQUNDLE9BQU8sRUFBRXZCLHlCQUEwQjtZQUFBb0IsUUFBQSxFQUN4Q2IsSUFBQSxDQUFDaUIsSUFBSTtjQUFDQyxJQUFJLEVBQUV4QjtZQUE0QixDQUFFO1VBQUMsQ0FDdEMsQ0FBQyxFQUNQb0IsS0FBQSxDQUFDQyxJQUFJO1lBQUNDLE9BQU8sRUFBRW5CLHVCQUF3QjtZQUFBZ0IsUUFBQSxHQUN0Q2IsSUFBQSxDQUFDaUIsSUFBSTtjQUFDQyxJQUFJLEVBQUUsSUFBSSxDQUFDcEMsa0NBQWtDLENBQUM7WUFBRSxDQUFFLENBQUMsRUFDekRrQixJQUFBLENBQUNpQixJQUFJO2NBQUNaLEtBQUssRUFBRSxxQkFBc0I7Y0FBQ2EsSUFBSSxFQUFFcEI7WUFBMEIsQ0FBRSxDQUFDO1VBQUEsQ0FDbEUsQ0FBQztRQUFBLENBQ0Y7TUFBQyxDQUNDLENBQ0U7TUFFWnFCLFdBQVcsQ0FBQ0MsYUFBYSxDQUFDL0IsT0FBTyxDQUFDLENBQUNnQyxZQUFZLENBQUN0QixPQUFPLENBQUM7TUFDeEQsT0FBT0EsT0FBTztJQUNmOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQXZFLE1BQUEsQ0FJQThGLHFCQUFxQixHQUFyQixTQUFBQSxxQkFBcUJBLENBQUNDLEtBQThCLEVBQVE7TUFDM0QsTUFBTUMsTUFBTSxHQUFHRCxLQUFLLENBQUNFLFNBQVMsQ0FBQyxDQUFDO01BQ2hDLE1BQU1DLGNBQWMsR0FBR0YsTUFBTSxDQUFDRyxpQkFBaUIsQ0FBQyxDQUFtQjtNQUVuRSxJQUFJLENBQUNoQixZQUFZLEtBQUssSUFBSSxDQUFDdkIsYUFBYSxDQUFDb0MsTUFBTSxDQUFDO01BRWhELElBQUksQ0FBQ2IsWUFBWSxDQUFDaUIsaUJBQWlCLENBQUNGLGNBQWMsQ0FBQztNQUNuRCxJQUFJLENBQUNmLFlBQVksQ0FBQ2tCLE1BQU0sQ0FBQ0wsTUFBTSxFQUFFLEtBQUssQ0FBQztJQUN4Qzs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUFoRyxNQUFBLENBSUFzRyw2Q0FBNkMsR0FBN0MsU0FBQUEsNkNBQTZDQSxDQUFBLEVBQXFDO01BQ2pGLE1BQU0vQyxpQ0FBaUMsR0FBRyxJQUFJLENBQUMxQixvQ0FBb0MsQ0FBQyxDQUFDO01BRXJGLE1BQU0wRSxVQUFVLEdBQUcsRUFBRTtNQUNyQixJQUFJaEQsaUNBQWlDLEVBQUVoRCxRQUFRLENBQUMsNEJBQTRCLENBQUMsRUFBRTtRQUM5RWdHLFVBQVUsQ0FBQzdDLElBQUksQ0FBQ1IsV0FBVyxDQUFDLG9EQUFvRCxDQUFDLENBQUM7TUFDbkY7TUFDQXFELFVBQVUsQ0FBQzdDLElBQUksQ0FBQ1IsV0FBVyxDQUFDLHlDQUF5QyxDQUFDLENBQUM7TUFDdkUsSUFBSUssaUNBQWlDLEVBQUVoRCxRQUFRLENBQUMsOEJBQThCLENBQUMsRUFBRTtRQUNoRmdHLFVBQVUsQ0FBQzdDLElBQUksQ0FBQ1IsV0FBVyxDQUFDLHNEQUFzRCxDQUFDLENBQUM7TUFDckY7TUFDQXFELFVBQVUsQ0FBQzdDLElBQUksQ0FBQ1IsV0FBVyxDQUFDLDJDQUEyQyxDQUFDLENBQUM7TUFFekUsT0FBT0wsTUFBTSxDQUFTRSxNQUFNLENBQUNJLFFBQVEsRUFBRXFELEVBQUUsQ0FBQyxHQUFHRCxVQUFVLENBQUMsRUFBc0MsRUFBRSxDQUFDO0lBQ2xHOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQXZHLE1BQUEsQ0FJQXlHLHFCQUFxQixHQUFyQixTQUFBQSxxQkFBcUJBLENBQUEsRUFBaUI7TUFDckMsSUFBSSxDQUFDeEQsb0JBQW9CLEdBQUksSUFBSSxDQUFDeUQsZUFBZSxDQUFDLENBQUMsRUFBRUMsMEJBQTBCLENBQUMsQ0FBQyxDQUFDQyxlQUFlLENBQUMsQ0FBQyxDQUFDQyxXQUFXLEVBQzVHQyxPQUFPO01BQ1YsTUFBTUMsYUFBYSxHQUFHLElBQUksQ0FBQzlELG9CQUFvQixHQUFHK0QsZ0JBQWdCLENBQUNDLE9BQU8sR0FBR0QsZ0JBQWdCLENBQUNFLEtBQUs7TUFDbkcsTUFBTTVJLElBQUksR0FBR3VFLE1BQU0sQ0FDbEJDLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLENBQUMsRUFDcEIrRCxhQUFhLEVBQ2JsRSxNQUFNLENBQ0xFLE1BQU0sQ0FBQ0ksUUFBUSxFQUNmTixNQUFNLENBQ0xLLFdBQVcsQ0FBQyx5Q0FBeUMsQ0FBQyxFQUN0RDhELGdCQUFnQixDQUFDRyxRQUFRLEVBQ3pCdEUsTUFBTSxDQUFDSyxXQUFXLENBQUMsMkNBQTJDLENBQUMsRUFBRThELGdCQUFnQixDQUFDSSxTQUFTLEVBQUVKLGdCQUFnQixDQUFDQyxPQUFPLENBQ3RILENBQUMsRUFDREQsZ0JBQWdCLENBQUNLLE9BQ2xCLENBQ0QsQ0FBQztNQUVELE1BQU1DLFVBQVUsR0FBR3pFLE1BQU0sQ0FBQ0MsR0FBRyxDQUFDQyxNQUFNLENBQUNJLFFBQVEsQ0FBQyxFQUFFL0Msc0JBQXNCLENBQUNtSCxRQUFRLEVBQUVuSCxzQkFBc0IsQ0FBQ0UsV0FBVyxDQUFDO01BRXBILE9BQ0NrRSxJQUFBLENBQUNnRCxZQUFZO1FBQ1psSixJQUFJLEVBQUVBLElBQUs7UUFDWDRHLEtBQUssRUFBRSxJQUFJLENBQUNZLHFCQUFxQixDQUFDMkIsSUFBSSxDQUFDLElBQUksQ0FBRTtRQUM3Q0gsVUFBVSxFQUFFQSxVQUFXO1FBQ3ZCSSxjQUFjLEVBQUUsSUFBSSxDQUFDcEIsNkNBQTZDLENBQUMsQ0FBRTtRQUNyRXFCLGNBQWMsRUFBRSxJQUFJLENBQUNBLGNBQWMsR0FBRyxJQUFJLENBQUNBLGNBQWMsR0FBRyxFQUFHO1FBQy9EOUMsS0FBSyxFQUFFLElBQUksQ0FBQ0EsS0FBTTtRQUNsQitDLGdCQUFnQixFQUFFLElBQUksQ0FBQ0E7TUFBaUIsQ0FDeEMsQ0FBQztJQUVKOztJQUVBO0FBQ0Q7QUFDQTtBQUNBLE9BSEM7SUFBQTVILE1BQUEsQ0FJQTZILGtCQUFrQixHQUFsQixTQUFBQSxrQkFBa0JBLENBQUEsRUFBaUI7TUFDbEMsTUFBTXZKLElBQUksR0FBR3VFLE1BQU0sQ0FDbEJDLEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLENBQUMsRUFDcEJnRSxnQkFBZ0IsQ0FBQ0UsS0FBSyxFQUN0QnJFLE1BQU0sQ0FDTEUsTUFBTSxDQUFDSSxRQUFRLEVBQ2ZOLE1BQU0sQ0FDTCxDQUFDLENBQUMsSUFBSSxDQUFDaUYscUJBQXFCLEVBQzVCZCxnQkFBZ0IsQ0FBQ2UsTUFBTSxFQUN2QmxGLE1BQU0sQ0FBQ0ssV0FBVyxDQUFDLHlDQUF5QyxDQUFDLEVBQUU4RCxnQkFBZ0IsQ0FBQ2UsTUFBTSxFQUFFZixnQkFBZ0IsQ0FBQ0MsT0FBTyxDQUNqSCxDQUFDLEVBQ0RELGdCQUFnQixDQUFDSyxPQUNsQixDQUNELENBQUM7TUFFRCxJQUFJN0IsT0FBTztNQUNYLElBQUksSUFBSSxDQUFDd0MsV0FBVyxLQUFLLElBQUksRUFBRTtRQUM5QnhDLE9BQU8sR0FBR2dCLEVBQUUsQ0FBQzFELEdBQUcsQ0FBQ0MsTUFBTSxDQUFDQyxRQUFRLENBQUMsRUFBRWUsR0FBRyxDQUFDaEIsTUFBTSxDQUFDQyxRQUFRLEVBQUVELE1BQU0sQ0FBQ0ksUUFBUSxDQUFDLENBQUM7TUFDMUUsQ0FBQyxNQUFNO1FBQ047UUFDQXFDLE9BQU8sR0FBR3pCLEdBQUcsQ0FDWmpCLEdBQUcsQ0FBQ00sT0FBTyxDQUFDTCxNQUFNLENBQUNJLFFBQVEsQ0FBQyxDQUFDLEVBQzdCTCxHQUFHLENBQUNtRixFQUFFLENBQUNDLFVBQVUsQ0FBQyxFQUNsQm5GLE1BQU0sQ0FBQ0ksUUFBUSxFQUNmTCxHQUFHLENBQUNJLFdBQVcsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUM5RCxDQUFDO01BQ0Y7TUFFQSxPQUNDc0IsSUFBQSxDQUFDZ0QsWUFBWTtRQUNabEosSUFBSSxFQUFFQSxJQUFLO1FBQ1g0RyxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUM0QyxxQkFBcUIsR0FBRyxJQUFJLENBQUNoQyxxQkFBcUIsQ0FBQzJCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBR1UsU0FBVTtRQUN2RmIsVUFBVSxFQUFFbEgsc0JBQXNCLENBQUNDLFFBQVM7UUFDNUNtRixPQUFPLEVBQUVBLE9BQVE7UUFDakJtQyxjQUFjLEVBQUUsSUFBSSxDQUFDQSxjQUFjLEdBQUcsSUFBSSxDQUFDQSxjQUFjLEdBQUcsRUFBRztRQUMvRDlDLEtBQUssRUFBRSxJQUFJLENBQUNBLEtBQU07UUFDbEIrQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUNBO01BQWlCLENBQ3hDLENBQUM7SUFFSjs7SUFFQTtBQUNEO0FBQ0E7QUFDQSxPQUhDO0lBQUE1SCxNQUFBLENBSUFpQixhQUFhLEdBQWIsU0FBQUEsYUFBYUEsQ0FBQSxFQUE2QjtNQUN6QyxJQUFJLElBQUksQ0FBQ29DLGtCQUFrQixLQUFLakQsc0JBQXNCLENBQUNFLFdBQVcsRUFBRTtRQUNuRSxPQUFPLElBQUksQ0FBQ21HLHFCQUFxQixDQUFDLENBQUM7TUFDcEMsQ0FBQyxNQUFNO1FBQ04sT0FBTyxJQUFJLENBQUNvQixrQkFBa0IsQ0FBQyxDQUFDO01BQ2pDO0lBQ0QsQ0FBQztJQUFBLE9BQUE1SixjQUFBO0VBQUEsRUF2WDBDbUssYUFBYSxHQUFBN0ksV0FBQSxHQUFBOEkseUJBQUEsQ0FBQXJKLE9BQUEsQ0FBQWlCLFNBQUEsU0FBQTdCLEtBQUE7SUFBQWtLLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBakosWUFBQSxHQUFBNkkseUJBQUEsQ0FBQXJKLE9BQUEsQ0FBQWlCLFNBQUEseUJBQUExQixLQUFBO0lBQUErSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBLFdBQUFBLENBQUE7TUFBQSxPQVkyQ3JJLHNCQUFzQixDQUFDRSxXQUFXO0lBQUE7RUFBQSxJQUFBYixZQUFBLEdBQUE0SSx5QkFBQSxDQUFBckosT0FBQSxDQUFBaUIsU0FBQSxrQkFBQXpCLEtBQUE7SUFBQThKLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBL0ksWUFBQSxHQUFBMkkseUJBQUEsQ0FBQXJKLE9BQUEsQ0FBQWlCLFNBQUEsWUFBQXZCLEtBQUE7SUFBQTRKLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BV3RILEVBQUU7SUFBQTtFQUFBLElBQUE5SSxZQUFBLEdBQUEwSSx5QkFBQSxDQUFBckosT0FBQSxDQUFBaUIsU0FBQSxrQkFBQXRCLEtBQUE7SUFBQTJKLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBN0ksWUFBQSxHQUFBeUkseUJBQUEsQ0FBQXJKLE9BQUEsQ0FBQWlCLFNBQUEsNEJBQUFyQixLQUFBO0lBQUEwSixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTVJLFlBQUEsR0FBQXdJLHlCQUFBLENBQUFySixPQUFBLENBQUFpQixTQUFBLHVCQUFBcEIsS0FBQTtJQUFBeUosWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF6SixPQUFBLE1BQUFELE1BQUE7RUFBQWUsUUFBQSxHQUFBN0IsY0FBQTtFQUFBLE9BQUE2QixRQUFBO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
373
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJEcmFmdEluZGljYXRvciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwicHJvcGVydHkiLCJ0eXBlIiwiX2RlYzMiLCJfZGVjNCIsInJlcXVpcmVkIiwiX2RlYzUiLCJfZGVjNiIsIl9kZWM3IiwiX2RlYzgiLCJhbGxvd2VkVmFsdWVzIiwiX2NsYXNzIiwiX2NsYXNzMiIsIl9CdWlsZGluZ0Jsb2NrIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZXhwb3J0cyIsIl9pbmhlcml0c0xvb3NlIiwiX3Byb3RvIiwicHJvdG90eXBlIiwic2V0RHJhZnRJbmRpY2F0b3JUeXBlIiwiaW5kaWNhdG9yIiwiT2JqZWN0TWFya2VyVmlzaWJpbGl0eSIsIkljb25Pbmx5IiwiSWNvbkFuZFRleHQiLCJpbmNsdWRlcyIsInNldFByb3BlcnR5IiwiRXJyb3IiLCJhZGRBcmlhTGFiZWxsZWRCeUZvckRyYWZ0SW5kaWNhdG9yIiwiZWxlbWVudCIsImFyaWFMYWJlbGxlZEJ5cyIsImNvbnRlbnQiLCJnZXRBcmlhTGFiZWxsZWRCeSIsImFkZEFyaWFMYWJlbGxlZEJ5Iiwib25NZXRhZGF0YUF2YWlsYWJsZSIsImNyZWF0ZUNvbnRlbnQiLCJmb3JtYXREcmFmdE93bmVyVGV4dEluUG9wb3ZlciIsImhhc0RyYWZ0RW50aXR5IiwiZHJhZnRJblByb2Nlc3NCeVVzZXIiLCJkcmFmdExhc3RDaGFuZ2VkQnlVc2VyIiwiZHJhZnRJblByb2Nlc3NCeVVzZXJEZXNjIiwiZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlckRlc2MiLCJtYWNyb1Jlc291cmNlQnVuZGxlIiwiTGlicmFyeSIsImdldFJlc291cmNlQnVuZGxlRm9yIiwidXNlckRlc2NyaXB0aW9uIiwiZ2V0VGV4dCIsImdldERyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcyIsIm1ldGFEYXRhIiwiZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCIsImNvbnRleHRQYXRoIiwiZHJhZnRBZG1pbkVsZW1lbnQiLCJ0YXJnZXRFbnRpdHlUeXBlIiwibmF2aWdhdGlvblByb3BlcnRpZXMiLCJmaW5kIiwiYSIsIm5hbWUiLCJkcmFmdEFkbWluUHJvcGVydGllcyIsInRhcmdldFR5cGUiLCJlbnRpdHlQcm9wZXJ0aWVzIiwibWFwIiwib0RyYWZ0QWRtaW5Qcm9wZXJ0eSIsImdldFBvcG92ZXJUaXRsZUJpbmRpbmdFeHByZXNzaW9uIiwiaWZFbHNlIiwibm90IiwiRW50aXR5IiwiSXNBY3RpdmUiLCJpc0hpZGRlbkRyYWZ0RW5hYmxlZCIsInBhdGhJbk1vZGVsIiwiSGFzRHJhZnQiLCJpc0VtcHR5IiwiZHJhZnRJbmRpY2F0b3JUeXBlIiwiZ2V0RHJhZnRPd25lclRleHRCaW5kaW5nRXhwcmVzc2lvbiIsImRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcyIsInBhcnRzIiwicGF0aCIsInB1c2giLCJmb3JtYXR0ZXIiLCJjcmVhdGVQb3BvdmVyIiwiY29udHJvbCIsInJlc291cmNlQnVuZGxlIiwiaXNEcmFmdFdpdGhOb0NoYW5nZXNCaW5kaW5nIiwiYW5kIiwiZHJhZnRXaXRoTm9DaGFuZ2VzVGV4dEJpbmRpbmciLCJpc0RyYWZ0V2l0aENoYW5nZXNCaW5kaW5nIiwiZHJhZnRXaXRoQ2hhbmdlc1RleHRCaW5kaW5nIiwibW9kZWwiLCJmb3JtYXRNZXNzYWdlIiwiaXNBY3RpdmVJbnN0YW5jZUJpbmRpbmciLCJhY3RpdmVJbnN0YW5jZVRleHRCaW5kaW5nIiwicG9wb3ZlciIsIl9qc3giLCJQb3BvdmVyIiwidGl0bGUiLCJzaG93SGVhZGVyIiwidmVydGljYWxTY3JvbGxpbmciLCJjbGFzcyIsInBsYWNlbWVudCIsImVuZEJ1dHRvbiIsIkJ1dHRvbiIsImljb24iLCJ0b29sdGlwIiwicHJlc3MiLCJkcmFmdFBvcG92ZXIiLCJjbG9zZSIsImNoaWxkcmVuIiwiX2pzeHMiLCJWQm94IiwidmlzaWJsZSIsIlRleHQiLCJ0ZXh0IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3IiwiYWRkRGVwZW5kZW50Iiwib25PYmplY3RNYXJrZXJQcmVzc2VkIiwiZXZlbnQiLCJzb3VyY2UiLCJnZXRTb3VyY2UiLCJiaW5kaW5nQ29udGV4dCIsImdldEJpbmRpbmdDb250ZXh0Iiwic2V0QmluZGluZ0NvbnRleHQiLCJvcGVuQnkiLCJnZXRJY29uQW5kVGV4dEFkZGl0aW9uYWxJbmZvQmluZGluZ0V4cHJlc3Npb24iLCJvckJpbmRpbmdzIiwib3IiLCJnZXRJY29uQW5kVGV4dENvbnRlbnQiLCJnZXRBcHBDb21wb25lbnQiLCJnZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcyIsImdldENhcGFiaWxpdGllcyIsIkhpZGRlbkRyYWZ0IiwiZW5hYmxlZCIsIm9iak1hcmtlclR5cGUiLCJPYmplY3RNYXJrZXJUeXBlIiwiVW5zYXZlZCIsIkRyYWZ0IiwiTG9ja2VkQnkiLCJVbnNhdmVkQnkiLCJGbGFnZ2VkIiwidmlzaWJpbGl0eSIsIlRleHRPbmx5IiwiT2JqZWN0TWFya2VyIiwiYmluZCIsImFkZGl0aW9uYWxJbmZvIiwiYXJpYUxhYmVsbGVkQnkiLCJyZWFjdGl2ZUFyZWFNb2RlIiwiZ2V0SWNvbk9ubHlDb250ZW50IiwidXNlZEluQW5hbHl0aWNhbFRhYmxlIiwiTG9ja2VkIiwidXNlZEluVGFibGUiLCJVSSIsIklzRWRpdGFibGUiLCJ1bmRlZmluZWQiLCJCdWlsZGluZ0Jsb2NrIiwiX2FwcGx5RGVjb3JhdGVkRGVzY3JpcHRvciIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJ3cml0YWJsZSIsImluaXRpYWxpemVyIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJEcmFmdEluZGljYXRvci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eSB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlc1wiO1xuaW1wb3J0IGZvcm1hdE1lc3NhZ2UgZnJvbSBcInNhcC9iYXNlL3N0cmluZ3MvZm9ybWF0TWVzc2FnZVwiO1xuaW1wb3J0IHR5cGUgeyBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24sIFByaW1pdGl2ZVR5cGUgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGFuZCwgaWZFbHNlLCBpc0VtcHR5LCBub3QsIG9yLCBwYXRoSW5Nb2RlbCB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBkZWZpbmVVSTVDbGFzcywgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvQnVpbGRpbmdCbG9ja1wiO1xuaW1wb3J0IHR5cGUgeyBIaWRkZW5EcmFmdCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCB7IEVudGl0eSwgVUkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9CaW5kaW5nSGVscGVyXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCB0eXBlIHsgT2JqZWN0TWFya2VyJFByZXNzRXZlbnQgfSBmcm9tIFwic2FwL20vT2JqZWN0TWFya2VyXCI7XG5pbXBvcnQgT2JqZWN0TWFya2VyIGZyb20gXCJzYXAvbS9PYmplY3RNYXJrZXJcIjtcbmltcG9ydCBQb3BvdmVyIGZyb20gXCJzYXAvbS9Qb3BvdmVyXCI7XG5pbXBvcnQgVGV4dCBmcm9tIFwic2FwL20vVGV4dFwiO1xuaW1wb3J0IFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCB7IE9iamVjdE1hcmtlclR5cGUsIE9iamVjdE1hcmtlclZpc2liaWxpdHkgfSBmcm9tIFwic2FwL20vbGlicmFyeVwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IHR5cGUgeyAkQ29udHJvbFNldHRpbmdzIH0gZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBMaWJyYXJ5IGZyb20gXCJzYXAvdWkvY29yZS9MaWJcIjtcbmltcG9ydCB0eXBlIE9EYXRhVjRDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIGZvciBjcmVhdGluZyBhIERyYWZ0SW5kaWNhdG9yIGJhc2VkIG9uIHRoZSBtZXRhZGF0YSBwcm92aWRlZCBieSBPRGF0YSBWNC5cbiAqXG4gKiBVc2FnZSBleGFtcGxlOlxuICogPHByZT5cbiAqICZsdDttYWNyb3M6RHJhZnRJbmRpY2F0b3JcbiAqIGlkPVwiU29tZUlEXCJcbiAqIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqIEBwcml2YXRlXG4gKi9cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuZHJhZnRJbmRpY2F0b3IuRHJhZnRJbmRpY2F0b3JcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIERyYWZ0SW5kaWNhdG9yIGV4dGVuZHMgQnVpbGRpbmdCbG9jazxDb250cm9sPiB7XG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgRHJhZnRJbmRpY2F0b3Jcblx0ICovXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHRwdWJsaWMgaWQ/OiBzdHJpbmc7XG5cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHB1YmxpYyBkcmFmdEluZGljYXRvclR5cGU/OiBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25Pbmx5IHwgT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uQW5kVGV4dCA9IE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbkFuZFRleHQ7XG5cblx0QHByb3BlcnR5KHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdHJlcXVpcmVkOiB0cnVlXG5cdH0pXG5cdGNvbnRleHRQYXRoITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHRwdWJsaWMgY2xhc3MgPSBcIlwiO1xuXG5cdEBwcm9wZXJ0eSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0cHVibGljIHVzZWRJblRhYmxlPzogYm9vbGVhbjtcblxuXHRAcHJvcGVydHkoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdHB1YmxpYyB1c2VkSW5BbmFseXRpY2FsVGFibGU/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIsIGFsbG93ZWRWYWx1ZXM6IFtcIklubGluZVwiLCBcIk92ZXJsYXlcIl0gfSlcblx0cmVhY3RpdmVBcmVhTW9kZT86IFwiSW5saW5lXCIgfCBcIk92ZXJsYXlcIjtcblxuXHRkcmFmdFBvcG92ZXI/OiBQb3BvdmVyO1xuXG5cdHByaXZhdGUgaXNIaWRkZW5EcmFmdEVuYWJsZWQ/OiBib29sZWFuO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6ICRDb250cm9sU2V0dGluZ3MgJiBQcm9wZXJ0aWVzT2Y8RHJhZnRJbmRpY2F0b3I+LCBvdGhlcnM/OiAkQ29udHJvbFNldHRpbmdzKSB7XG5cdFx0c3VwZXIocHJvcGVydGllcywgb3RoZXJzKTtcblx0fVxuXG5cdHNldERyYWZ0SW5kaWNhdG9yVHlwZShcblx0XHRpbmRpY2F0b3I6IE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbk9ubHkgfCBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25BbmRUZXh0IHwgT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5UZXh0T25seVxuXHQpOiB2b2lkIHtcblx0XHRpZiAoW09iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbk9ubHksIE9iamVjdE1hcmtlclZpc2liaWxpdHkuSWNvbkFuZFRleHRdLmluY2x1ZGVzKGluZGljYXRvcikpIHtcblx0XHRcdHRoaXMuc2V0UHJvcGVydHkoXCJkcmFmdEluZGljYXRvclR5cGVcIiwgaW5kaWNhdG9yKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBBbGxvd2VkIHZhbHVlICR7aW5kaWNhdG9yfSBkb2VzIG5vdCBtYXRjaGApO1xuXHRcdH1cblx0fVxuXG5cdGFkZEFyaWFMYWJlbGxlZEJ5Rm9yRHJhZnRJbmRpY2F0b3IoZWxlbWVudDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYXJpYUxhYmVsbGVkQnlzID0gKHRoaXMuY29udGVudCBhcyB1bmtub3duIGFzIE9iamVjdE1hcmtlcik/LmdldEFyaWFMYWJlbGxlZEJ5KCkgPz8gW107XG5cdFx0aWYgKCFhcmlhTGFiZWxsZWRCeXMuaW5jbHVkZXMoZWxlbWVudCkpIHtcblx0XHRcdCh0aGlzLmNvbnRlbnQgYXMgdW5rbm93biBhcyBPYmplY3RNYXJrZXIpPy5hZGRBcmlhTGFiZWxsZWRCeShlbGVtZW50KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlciBmb3IgdGhlIG9uTWV0YWRhdGFBdmFpbGFibGUgZXZlbnQuXG5cdCAqL1xuXHRvbk1ldGFkYXRhQXZhaWxhYmxlKCk6IHZvaWQge1xuXHRcdGlmICghdGhpcy5jb250ZW50KSB7XG5cdFx0XHR0aGlzLmNvbnRlbnQgPSB0aGlzLmNyZWF0ZUNvbnRlbnQoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUnVudGltZSBmb3JtYXR0ZXIgZnVuY3Rpb24gdG8gZm9ybWF0IHRoZSBjb3JyZWN0IHRleHQgdGhhdCBkaXNwbGF5cyB0aGUgb3duZXIgb2YgYSBkcmFmdC5cblx0ICpcblx0ICogVGhpcyBpcyB1c2VkIGluIGNhc2UgdGhlIERyYWZ0SW5kaWNhdG9yIGlzIHNob3duIGZvciBhbiBhY3RpdmUgZW50aXR5IHRoYXQgaGFzIGEgZHJhZnQgb2YgYW5vdGhlciB1c2VyLlxuXHQgKiBAcGFyYW0gaGFzRHJhZnRFbnRpdHlcblx0ICogQHBhcmFtIGRyYWZ0SW5Qcm9jZXNzQnlVc2VyXG5cdCAqIEBwYXJhbSBkcmFmdExhc3RDaGFuZ2VkQnlVc2VyXG5cdCAqIEBwYXJhbSBkcmFmdEluUHJvY2Vzc0J5VXNlckRlc2Ncblx0ICogQHBhcmFtIGRyYWZ0TGFzdENoYW5nZWRCeVVzZXJEZXNjXG5cdCAqIEByZXR1cm5zIFRleHQgdG8gZGlzcGxheVxuXHQgKi9cblx0c3RhdGljIGZvcm1hdERyYWZ0T3duZXJUZXh0SW5Qb3BvdmVyKFxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGVcblx0XHR0aGlzOiB2b2lkLFxuXHRcdGhhc0RyYWZ0RW50aXR5OiBib29sZWFuLFxuXHRcdGRyYWZ0SW5Qcm9jZXNzQnlVc2VyOiBzdHJpbmcsXG5cdFx0ZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlcjogc3RyaW5nLFxuXHRcdGRyYWZ0SW5Qcm9jZXNzQnlVc2VyRGVzYzogc3RyaW5nLFxuXHRcdGRyYWZ0TGFzdENoYW5nZWRCeVVzZXJEZXNjOiBzdHJpbmdcblx0KTogc3RyaW5nIHtcblx0XHRjb25zdCBtYWNyb1Jlc291cmNlQnVuZGxlID0gTGlicmFyeS5nZXRSZXNvdXJjZUJ1bmRsZUZvcihcInNhcC5mZS5tYWNyb3NcIik7XG5cdFx0aWYgKCFtYWNyb1Jlc291cmNlQnVuZGxlKSB7XG5cdFx0XHRyZXR1cm4gXCJcIjtcblx0XHR9XG5cdFx0aWYgKGhhc0RyYWZ0RW50aXR5KSB7XG5cdFx0XHRjb25zdCB1c2VyRGVzY3JpcHRpb24gPVxuXHRcdFx0XHRkcmFmdEluUHJvY2Vzc0J5VXNlckRlc2MgfHwgZHJhZnRJblByb2Nlc3NCeVVzZXIgfHwgZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlckRlc2MgfHwgZHJhZnRMYXN0Q2hhbmdlZEJ5VXNlcjtcblxuXHRcdFx0aWYgKCF1c2VyRGVzY3JpcHRpb24pIHtcblx0XHRcdFx0cmV0dXJuIG1hY3JvUmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIk1fRklFTERfUlVOVElNRV9EUkFGVF9QT1BPVkVSX1VOU0FWRURfQ0hBTkdFU19CWV9VTktOT1dOXCIpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0cmV0dXJuIGRyYWZ0SW5Qcm9jZXNzQnlVc2VyXG5cdFx0XHRcdFx0PyBtYWNyb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0ZJRUxEX1JVTlRJTUVfRFJBRlRfUE9QT1ZFUl9MT0NLRURfQllfS05PV05cIiwgW3VzZXJEZXNjcmlwdGlvbl0pXG5cdFx0XHRcdFx0OiBtYWNyb1Jlc291cmNlQnVuZGxlLmdldFRleHQoXCJNX0ZJRUxEX1JVTlRJTUVfRFJBRlRfUE9QT1ZFUl9VTlNBVkVEX0NIQU5HRVNfQllfS05PV05cIiwgW3VzZXJEZXNjcmlwdGlvbl0pO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gbWFjcm9SZXNvdXJjZUJ1bmRsZS5nZXRUZXh0KFwiTV9GSUVMRF9SVU5USU1FX0RSQUZUX1BPUE9WRVJfTk9fREFUQV9URVhUXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8qKipcblx0ICogR2V0cyB0aGUgcHJvcGVydGllcyBvZiB0aGUgRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEgZW50aXR5IGNvbm5lY3RlZCB0byB0aGUgZ2l2ZW4gZW50aXR5IHNldFxuXHQgKlxuXHQgKiBAcmV0dXJucyBMaXN0IG9mIHByb3BlcnR5IG5hbWVzXG5cdCAqL1xuXHRnZXREcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXMoKTogc3RyaW5nW10gfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IG1ldGFEYXRhOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PiB8IHVuZGVmaW5lZCA9IHRoaXMuZ2V0RGF0YU1vZGVsT2JqZWN0UGF0aCh0aGlzLmNvbnRleHRQYXRoKTtcblx0XHRjb25zdCBkcmFmdEFkbWluRWxlbWVudCA9IG1ldGFEYXRhPy50YXJnZXRFbnRpdHlUeXBlLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZpbmQoKGEpID0+IGEubmFtZSA9PT0gXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YVwiKTtcblx0XHRjb25zdCBkcmFmdEFkbWluUHJvcGVydGllcyA9IGRyYWZ0QWRtaW5FbGVtZW50Py50YXJnZXRUeXBlLmVudGl0eVByb3BlcnRpZXM7XG5cdFx0cmV0dXJuIGRyYWZ0QWRtaW5Qcm9wZXJ0aWVzPy5tYXAoKG9EcmFmdEFkbWluUHJvcGVydHkpID0+IG9EcmFmdEFkbWluUHJvcGVydHkubmFtZSk7XG5cdH1cblxuXHQvKipcblx0ICogQ29uc3RydWN0cyB0aGUgYmluZGluZyBleHByZXNzaW9uIGZvciB0aGUgdGV4dCBkaXNwbGF5ZWQgYXMgdGl0bGUgb2YgdGhlIHBvcHVwLlxuXHQgKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uXG5cdCAqL1xuXHRnZXRQb3BvdmVyVGl0bGVCaW5kaW5nRXhwcmVzc2lvbigpOiBCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb248UHJpbWl0aXZlVHlwZT4ge1xuXHRcdHJldHVybiBpZkVsc2UoXG5cdFx0XHRub3QoRW50aXR5LklzQWN0aXZlKSxcblx0XHRcdHRoaXMuaXNIaWRkZW5EcmFmdEVuYWJsZWRcblx0XHRcdFx0PyBwYXRoSW5Nb2RlbChcIk1fRFJBRlRfUE9QT1ZFUl9BRE1JTl9VTlNBVkVEX09CSkVDVFwiLCBcInNhcC5mZS5pMThuXCIpXG5cdFx0XHRcdDogcGF0aEluTW9kZWwoXCJNX0NPTU1PTl9EUkFGVF9PQkpFQ1RcIiwgXCJzYXAuZmUuaTE4blwiKSxcblx0XHRcdGlmRWxzZShcblx0XHRcdFx0RW50aXR5Lkhhc0RyYWZ0LFxuXHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0bm90KGlzRW1wdHkocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIikpKSxcblx0XHRcdFx0XHRwYXRoSW5Nb2RlbChcIk1fQ09NTU9OX0RSQUZUX0xPQ0tFRF9PQkpFQ1RcIiwgXCJzYXAuZmUuaTE4blwiKSxcblx0XHRcdFx0XHRwYXRoSW5Nb2RlbChcIk1fRFJBRlRfUE9QT1ZFUl9BRE1JTl9VTlNBVkVEX09CSkVDVFwiLCBcInNhcC5mZS5pMThuXCIpXG5cdFx0XHRcdCksXG5cdFx0XHRcdHRoaXMuZHJhZnRJbmRpY2F0b3JUeXBlID09PSBPYmplY3RNYXJrZXJWaXNpYmlsaXR5Lkljb25BbmRUZXh0XG5cdFx0XHRcdFx0PyBcIiBcIlxuXHRcdFx0XHRcdDogcGF0aEluTW9kZWwoXCJDX0RSQUZUX1BPUE9WRVJfQURNSU5fREFUQV9EUkFGVElORk9fRkxBR0dFRF9PQkpFQ1RcIiwgXCJzYXAuZmUuaTE4blwiKVxuXHRcdFx0KVxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogQ29uc3RydWN0cyB0aGUgYmluZGluZyBleHByZXNzaW9uIGZvciB0aGUgdGV4dCBkaXNwbGF5ZWQgdG8gaWRlbnRpZnkgdGhlIGRyYWZ0IG93bmVyIGluIHRoZSBwb3B1cC5cblx0ICogVGhpcyBiaW5kaW5nIGlzIGNvbmZpZ3VyZWQgdG8gY2FsbCBmb3JtYXREcmFmdE93bmVyVGV4dEluUG9wb3ZlciBhdCBydW50aW1lLlxuXHQgKlxuXHQgKiBXZSBjYW5ub3QgcmVmZXJlbmNlIGZvcm1hdERyYWZ0T3duZXJUZXh0SW5Qb3BvdmVyIGRpcmVjdGx5IGFzIHdlIG5lZWQgdG8gY29uZGl0aW9uYWxseSBwYXNzIHByb3BlcnRpZXMgdGhhdCBtaWdodCBleGlzdCBvciBub3QsXG5cdCAqIGFuZCByZWZlcnJpbmcgdG8gbm9uLWV4aXN0aW5nIHByb3BlcnRpZXMgZmFpbHMgdGhlIGJpbmRpbmcuXG5cdCAqIEByZXR1cm5zIFRoZSBiaW5kaW5nIGV4cHJlc3Npb25cblx0ICovXG5cdGdldERyYWZ0T3duZXJUZXh0QmluZGluZ0V4cHJlc3Npb24oKToge1xuXHRcdHBhcnRzOiB1bmtub3duW107XG5cdFx0Zm9ybWF0dGVyOiAoXG5cdFx0XHRoYXNEcmFmdEVudGl0eTogYm9vbGVhbixcblx0XHRcdGRyYWZ0SW5Qcm9jZXNzQnlVc2VyOiBzdHJpbmcsXG5cdFx0XHRkcmFmdExhc3RDaGFuZ2VkQnlVc2VyOiBzdHJpbmcsXG5cdFx0XHRkcmFmdEluUHJvY2Vzc0J5VXNlckRlc2M6IHN0cmluZyxcblx0XHRcdGRyYWZ0TGFzdENoYW5nZWRCeVVzZXJEZXNjOiBzdHJpbmdcblx0XHQpID0+IHN0cmluZztcblx0fSB7XG5cdFx0Y29uc3QgZHJhZnRBZG1pbmlzdHJhdGl2ZURhdGFQcm9wZXJ0aWVzID0gdGhpcy5nZXREcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXMoKTtcblxuXHRcdGNvbnN0IHBhcnRzID0gW1xuXHRcdFx0eyBwYXRoOiBcIkhhc0RyYWZ0RW50aXR5XCIsIHRhcmdldFR5cGU6IFwiYW55XCIgfSxcblx0XHRcdHsgcGF0aDogXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIiB9LFxuXHRcdFx0eyBwYXRoOiBcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VkQnlVc2VyXCIgfVxuXHRcdF07XG5cdFx0aWYgKGRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcz8uaW5jbHVkZXMoXCJJblByb2Nlc3NCeVVzZXJEZXNjcmlwdGlvblwiKSkge1xuXHRcdFx0cGFydHMucHVzaCh7IHBhdGg6IFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvSW5Qcm9jZXNzQnlVc2VyRGVzY3JpcHRpb25cIiB9KTtcblx0XHR9XG5cdFx0aWYgKGRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcz8uaW5jbHVkZXMoXCJMYXN0Q2hhbmdlZEJ5VXNlckRlc2NyaXB0aW9uXCIpKSB7XG5cdFx0XHRwYXJ0cy5wdXNoKHsgcGF0aDogXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9MYXN0Q2hhbmdlZEJ5VXNlckRlc2NyaXB0aW9uXCIgfSk7XG5cdFx0fVxuXG5cdFx0Ly9wYXJ0cy5wdXNoKHtwYXRoOiBcInNhcC5mZS5pMThuPlwifSlcblxuXHRcdHJldHVybiB7IHBhcnRzLCBmb3JtYXR0ZXI6IERyYWZ0SW5kaWNhdG9yLmZvcm1hdERyYWZ0T3duZXJUZXh0SW5Qb3BvdmVyIH07XG5cdH1cblxuXHQvKipcblx0ICogQ3JlYXRlcyBhIHBvcG92ZXIgY29udHJvbCB0byBkaXNwbGF5IGRyYWZ0IGluZm9ybWF0aW9uLlxuXHQgKiBAcGFyYW0gY29udHJvbCBDb250cm9sIHRoYXQgdGhlIHBvcG92ZXIgaXMgdG8gYmUgY3JlYXRlZCBmb3Jcblx0ICogQHJldHVybnMgVGhlIGNyZWF0ZWQgcG9wb3ZlciBjb250cm9sXG5cdCAqL1xuXHRjcmVhdGVQb3BvdmVyKGNvbnRyb2w6IENvbnRyb2wpOiBQb3BvdmVyIHtcblx0XHRjb25zdCByZXNvdXJjZUJ1bmRsZSA9IExpYnJhcnkuZ2V0UmVzb3VyY2VCdW5kbGVGb3IoXCJzYXAuZmUubWFjcm9zXCIpITtcblx0XHRjb25zdCBpc0RyYWZ0V2l0aE5vQ2hhbmdlc0JpbmRpbmcgPSBhbmQobm90KEVudGl0eS5Jc0FjdGl2ZSksIGlzRW1wdHkocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9MYXN0Q2hhbmdlRGF0ZVRpbWVcIikpKTtcblx0XHRjb25zdCBkcmFmdFdpdGhOb0NoYW5nZXNUZXh0QmluZGluZyA9XG5cdFx0XHR0aGlzLmRyYWZ0SW5kaWNhdG9yVHlwZSA9PT0gT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uQW5kVGV4dFxuXHRcdFx0XHQ/IHBhdGhJbk1vZGVsKFwiTV9EUkFGVF9QT1BPVkVSX0FETUlOX0dFTkVSSUNfTE9DS0VEX09CSkVDVF9QT1BPVkVSX1RFWFRcIiwgXCJzYXAuZmUuaTE4blwiKVxuXHRcdFx0XHQ6IHBhdGhJbk1vZGVsKFwiQ19EUkFGVF9QT1BPVkVSX0FETUlOX0RBVEFfRFJBRlRJTkZPX1BPUE9WRVJfTk9fREFUQV9URVhUXCIsIFwic2FwLmZlLmkxOG5cIik7XG5cblx0XHRjb25zdCBpc0RyYWZ0V2l0aENoYW5nZXNCaW5kaW5nID0gYW5kKFxuXHRcdFx0bm90KEVudGl0eS5Jc0FjdGl2ZSksXG5cdFx0XHRub3QoaXNFbXB0eShwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VEYXRlVGltZVwiKSkpXG5cdFx0KTtcblx0XHRjb25zdCBkcmFmdFdpdGhDaGFuZ2VzVGV4dEJpbmRpbmcgPSB7XG5cdFx0XHRwYXJ0czogW1xuXHRcdFx0XHR7IHBhdGg6IFwiTV9EUkFGVF9QT1BPVkVSX0FETUlOX0xBU1RfQ0hBTkdFX1RFWFRcIiwgbW9kZWw6IFwic2FwLmZlLmkxOG5cIiB9LFxuXHRcdFx0XHR7IHBhdGg6IFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvTGFzdENoYW5nZURhdGVUaW1lXCIgfVxuXHRcdFx0XSxcblx0XHRcdGZvcm1hdHRlcjogZm9ybWF0TWVzc2FnZVxuXHRcdH07XG5cblx0XHRjb25zdCBpc0FjdGl2ZUluc3RhbmNlQmluZGluZyA9IGFuZChFbnRpdHkuSXNBY3RpdmUsIG5vdChpc0VtcHR5KHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvTGFzdENoYW5nZURhdGVUaW1lXCIpKSkpO1xuXHRcdGNvbnN0IGFjdGl2ZUluc3RhbmNlVGV4dEJpbmRpbmcgPSB7IC4uLmRyYWZ0V2l0aENoYW5nZXNUZXh0QmluZGluZyB9O1xuXG5cdFx0Y29uc3QgcG9wb3ZlcjogUG9wb3ZlciA9IChcblx0XHRcdDxQb3BvdmVyXG5cdFx0XHRcdHRpdGxlPXt0aGlzLmdldFBvcG92ZXJUaXRsZUJpbmRpbmdFeHByZXNzaW9uKCl9XG5cdFx0XHRcdHNob3dIZWFkZXI9e3RydWV9XG5cdFx0XHRcdHZlcnRpY2FsU2Nyb2xsaW5nPXtmYWxzZX1cblx0XHRcdFx0Y2xhc3M9e1wic2FwVWlDb250ZW50UGFkZGluZ1wifVxuXHRcdFx0XHRwbGFjZW1lbnQ9e1wiQXV0b1wifVxuXHRcdFx0XHRlbmRCdXR0b249e1xuXHRcdFx0XHRcdChcblx0XHRcdFx0XHRcdDxCdXR0b25cblx0XHRcdFx0XHRcdFx0aWNvbj17XCJzYXAtaWNvbjovL2RlY2xpbmVcIn1cblx0XHRcdFx0XHRcdFx0dG9vbHRpcD17cmVzb3VyY2VCdW5kbGUuZ2V0VGV4dChcIkNfRFJBRlRJTkRJQ0FUT1JfQ0xPU0VfQlVUVE9OXCIpfVxuXHRcdFx0XHRcdFx0XHRwcmVzcz17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuZHJhZnRQb3BvdmVyPy5jbG9zZSgpO1xuXHRcdFx0XHRcdFx0XHR9fVxuXHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHQpIGFzIEJ1dHRvblxuXHRcdFx0XHR9XG5cdFx0XHQ+XG5cdFx0XHRcdDxWQm94IGNsYXNzPXtcInNhcFVpQ29udGVudFBhZGRpbmdcIn0+XG5cdFx0XHRcdFx0PFZCb3ggdmlzaWJsZT17aXNEcmFmdFdpdGhOb0NoYW5nZXNCaW5kaW5nfT5cblx0XHRcdFx0XHRcdDxUZXh0IHRleHQ9e2RyYWZ0V2l0aE5vQ2hhbmdlc1RleHRCaW5kaW5nfSAvPlxuXHRcdFx0XHRcdDwvVkJveD5cblx0XHRcdFx0XHQ8VkJveCB2aXNpYmxlPXtpc0RyYWZ0V2l0aENoYW5nZXNCaW5kaW5nfT5cblx0XHRcdFx0XHRcdDxUZXh0IHRleHQ9e2RyYWZ0V2l0aENoYW5nZXNUZXh0QmluZGluZ30gLz5cblx0XHRcdFx0XHQ8L1ZCb3g+XG5cdFx0XHRcdFx0PFZCb3ggdmlzaWJsZT17aXNBY3RpdmVJbnN0YW5jZUJpbmRpbmd9PlxuXHRcdFx0XHRcdFx0PFRleHQgdGV4dD17dGhpcy5nZXREcmFmdE93bmVyVGV4dEJpbmRpbmdFeHByZXNzaW9uKCl9IC8+XG5cdFx0XHRcdFx0XHQ8VGV4dCBjbGFzcz17XCJzYXBVaVNtYWxsTWFyZ2luVG9wXCJ9IHRleHQ9e2FjdGl2ZUluc3RhbmNlVGV4dEJpbmRpbmd9IC8+XG5cdFx0XHRcdFx0PC9WQm94PlxuXHRcdFx0XHQ8L1ZCb3g+XG5cdFx0XHQ8L1BvcG92ZXI+XG5cdFx0KSBhcyBQb3BvdmVyO1xuXG5cdFx0Q29tbW9uVXRpbHMuZ2V0VGFyZ2V0Vmlldyhjb250cm9sKS5hZGREZXBlbmRlbnQocG9wb3Zlcik7XG5cdFx0cmV0dXJuIHBvcG92ZXI7XG5cdH1cblxuXHQvKipcblx0ICogSGFuZGxlcyBwcmVzc2luZyBvZiB0aGUgb2JqZWN0IG1hcmtlciBieSBvcGVuaW5nIGEgY29ycmVzcG9uZGluZyBwb3BvdmVyLlxuXHQgKiBAcGFyYW0gZXZlbnQgRXZlbnQgb2JqZWN0IHBhc3NlZCBmcm9tIHRoZSBwcmVzcyBldmVudFxuXHQgKi9cblx0b25PYmplY3RNYXJrZXJQcmVzc2VkKGV2ZW50OiBPYmplY3RNYXJrZXIkUHJlc3NFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IHNvdXJjZSA9IGV2ZW50LmdldFNvdXJjZSgpO1xuXHRcdGNvbnN0IGJpbmRpbmdDb250ZXh0ID0gc291cmNlLmdldEJpbmRpbmdDb250ZXh0KCkgYXMgT0RhdGFWNENvbnRleHQ7XG5cblx0XHR0aGlzLmRyYWZ0UG9wb3ZlciA/Pz0gdGhpcy5jcmVhdGVQb3BvdmVyKHNvdXJjZSk7XG5cblx0XHR0aGlzLmRyYWZ0UG9wb3Zlci5zZXRCaW5kaW5nQ29udGV4dChiaW5kaW5nQ29udGV4dCk7XG5cdFx0dGhpcy5kcmFmdFBvcG92ZXIub3BlbkJ5KHNvdXJjZSwgZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENvbnN0cnVjdHMgdGhlIGJpbmRpbmcgZXhwcmVzc2lvbiBmb3IgdGhlIFwiYWRkaXRpb25hbEluZm9cIiBhdHRyaWJ1dGUgaW4gdGhlIFwiSWNvbkFuZFRleHRcIiBjYXNlLlxuXHQgKiBAcmV0dXJucyBUaGUgYmluZGluZyBleHByZXNzaW9uXG5cdCAqL1xuXHRnZXRJY29uQW5kVGV4dEFkZGl0aW9uYWxJbmZvQmluZGluZ0V4cHJlc3Npb24oKTogQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uPHN0cmluZz4ge1xuXHRcdGNvbnN0IGRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcyA9IHRoaXMuZ2V0RHJhZnRBZG1pbmlzdHJhdGl2ZURhdGFQcm9wZXJ0aWVzKCk7XG5cblx0XHRjb25zdCBvckJpbmRpbmdzID0gW107XG5cdFx0aWYgKGRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhUHJvcGVydGllcz8uaW5jbHVkZXMoXCJJblByb2Nlc3NCeVVzZXJEZXNjcmlwdGlvblwiKSkge1xuXHRcdFx0b3JCaW5kaW5ncy5wdXNoKHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvSW5Qcm9jZXNzQnlVc2VyRGVzY3JpcHRpb25cIikpO1xuXHRcdH1cblx0XHRvckJpbmRpbmdzLnB1c2gocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIikpO1xuXHRcdGlmIChkcmFmdEFkbWluaXN0cmF0aXZlRGF0YVByb3BlcnRpZXM/LmluY2x1ZGVzKFwiTGFzdENoYW5nZWRCeVVzZXJEZXNjcmlwdGlvblwiKSkge1xuXHRcdFx0b3JCaW5kaW5ncy5wdXNoKHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvTGFzdENoYW5nZWRCeVVzZXJEZXNjcmlwdGlvblwiKSk7XG5cdFx0fVxuXHRcdG9yQmluZGluZ3MucHVzaChwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VkQnlVc2VyXCIpKTtcblxuXHRcdHJldHVybiBpZkVsc2U8c3RyaW5nPihFbnRpdHkuSGFzRHJhZnQsIG9yKC4uLm9yQmluZGluZ3MpIGFzIEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbjxzdHJpbmc+LCBcIlwiKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoaXMgYnVpbGRpbmcgYmxvY2sgZm9yIHRoZSBcIkljb25BbmRUZXh0XCIgdHlwZS5cblx0ICogQHJldHVybnMgVGhlIGNvbnRyb2wgdHJlZVxuXHQgKi9cblx0Z2V0SWNvbkFuZFRleHRDb250ZW50KCk6IE9iamVjdE1hcmtlciB7XG5cdFx0dGhpcy5pc0hpZGRlbkRyYWZ0RW5hYmxlZCA9ICh0aGlzLmdldEFwcENvbXBvbmVudCgpPy5nZXRFbnZpcm9ubWVudENhcGFiaWxpdGllcygpLmdldENhcGFiaWxpdGllcygpLkhpZGRlbkRyYWZ0IGFzIEhpZGRlbkRyYWZ0KVxuXHRcdFx0Py5lbmFibGVkO1xuXHRcdGNvbnN0IG9iak1hcmtlclR5cGUgPSB0aGlzLmlzSGlkZGVuRHJhZnRFbmFibGVkID8gT2JqZWN0TWFya2VyVHlwZS5VbnNhdmVkIDogT2JqZWN0TWFya2VyVHlwZS5EcmFmdDtcblx0XHRjb25zdCB0eXBlID0gaWZFbHNlKFxuXHRcdFx0bm90KEVudGl0eS5Jc0FjdGl2ZSksXG5cdFx0XHRvYmpNYXJrZXJUeXBlLFxuXHRcdFx0aWZFbHNlKFxuXHRcdFx0XHRFbnRpdHkuSGFzRHJhZnQsXG5cdFx0XHRcdGlmRWxzZShcblx0XHRcdFx0XHRwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0luUHJvY2Vzc0J5VXNlclwiKSxcblx0XHRcdFx0XHRPYmplY3RNYXJrZXJUeXBlLkxvY2tlZEJ5LFxuXHRcdFx0XHRcdGlmRWxzZShwYXRoSW5Nb2RlbChcIkRyYWZ0QWRtaW5pc3RyYXRpdmVEYXRhL0xhc3RDaGFuZ2VkQnlVc2VyXCIpLCBPYmplY3RNYXJrZXJUeXBlLlVuc2F2ZWRCeSwgT2JqZWN0TWFya2VyVHlwZS5VbnNhdmVkKVxuXHRcdFx0XHQpLFxuXHRcdFx0XHRPYmplY3RNYXJrZXJUeXBlLkZsYWdnZWRcblx0XHRcdClcblx0XHQpO1xuXG5cdFx0Y29uc3QgdmlzaWJpbGl0eSA9IGlmRWxzZShub3QoRW50aXR5Lkhhc0RyYWZ0KSwgT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5UZXh0T25seSwgT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uQW5kVGV4dCk7XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0PE9iamVjdE1hcmtlclxuXHRcdFx0XHR0eXBlPXt0eXBlfVxuXHRcdFx0XHRwcmVzcz17dGhpcy5vbk9iamVjdE1hcmtlclByZXNzZWQuYmluZCh0aGlzKX1cblx0XHRcdFx0dmlzaWJpbGl0eT17dmlzaWJpbGl0eX1cblx0XHRcdFx0YWRkaXRpb25hbEluZm89e3RoaXMuZ2V0SWNvbkFuZFRleHRBZGRpdGlvbmFsSW5mb0JpbmRpbmdFeHByZXNzaW9uKCl9XG5cdFx0XHRcdGFyaWFMYWJlbGxlZEJ5PXt0aGlzLmFyaWFMYWJlbGxlZEJ5ID8gdGhpcy5hcmlhTGFiZWxsZWRCeSA6IFtdfVxuXHRcdFx0XHRjbGFzcz17dGhpcy5jbGFzc31cblx0XHRcdFx0cmVhY3RpdmVBcmVhTW9kZT17dGhpcy5yZWFjdGl2ZUFyZWFNb2RlfVxuXHRcdFx0Lz5cblx0XHQpIGFzIE9iamVjdE1hcmtlcjtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBjb250ZW50IG9mIHRoaXMgYnVpbGRpbmcgYmxvY2sgZm9yIHRoZSBcIkljb25Pbmx5XCIgdHlwZS5cblx0ICogQHJldHVybnMgVGhlIGNvbnRyb2wgdHJlZVxuXHQgKi9cblx0Z2V0SWNvbk9ubHlDb250ZW50KCk6IE9iamVjdE1hcmtlciB7XG5cdFx0Y29uc3QgdHlwZSA9IGlmRWxzZShcblx0XHRcdG5vdChFbnRpdHkuSXNBY3RpdmUpLFxuXHRcdFx0T2JqZWN0TWFya2VyVHlwZS5EcmFmdCxcblx0XHRcdGlmRWxzZShcblx0XHRcdFx0RW50aXR5Lkhhc0RyYWZ0LFxuXHRcdFx0XHRpZkVsc2UoXG5cdFx0XHRcdFx0ISF0aGlzLnVzZWRJbkFuYWx5dGljYWxUYWJsZSxcblx0XHRcdFx0XHRPYmplY3RNYXJrZXJUeXBlLkxvY2tlZCxcblx0XHRcdFx0XHRpZkVsc2UocGF0aEluTW9kZWwoXCJEcmFmdEFkbWluaXN0cmF0aXZlRGF0YS9JblByb2Nlc3NCeVVzZXJcIiksIE9iamVjdE1hcmtlclR5cGUuTG9ja2VkLCBPYmplY3RNYXJrZXJUeXBlLlVuc2F2ZWQpXG5cdFx0XHRcdCksXG5cdFx0XHRcdE9iamVjdE1hcmtlclR5cGUuRmxhZ2dlZFxuXHRcdFx0KVxuXHRcdCk7XG5cblx0XHRsZXQgdmlzaWJsZTtcblx0XHRpZiAodGhpcy51c2VkSW5UYWJsZSA9PT0gdHJ1ZSkge1xuXHRcdFx0dmlzaWJsZSA9IG9yKG5vdChFbnRpdHkuSXNBY3RpdmUpLCBFbnRpdHkuSGFzRHJhZnQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBJZiBFbnRpdHkuSGFzRHJhZnQgaXMgZW1wdHksIHRoZXJlIGlzIG5vIGNvbnRleHQgYXQgYWxsLCBzbyBkb24ndCBzaG93IHRoZSBpbmRpY2F0b3Jcblx0XHRcdHZpc2libGUgPSBhbmQoXG5cdFx0XHRcdG5vdChpc0VtcHR5KEVudGl0eS5IYXNEcmFmdCkpLFxuXHRcdFx0XHRub3QoVUkuSXNFZGl0YWJsZSksXG5cdFx0XHRcdEVudGl0eS5IYXNEcmFmdCxcblx0XHRcdFx0bm90KHBhdGhJbk1vZGVsKFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGEvRHJhZnRJc0NyZWF0ZWRCeU1lXCIpKVxuXHRcdFx0KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0PE9iamVjdE1hcmtlclxuXHRcdFx0XHR0eXBlPXt0eXBlfVxuXHRcdFx0XHRwcmVzcz17IXRoaXMudXNlZEluQW5hbHl0aWNhbFRhYmxlID8gdGhpcy5vbk9iamVjdE1hcmtlclByZXNzZWQuYmluZCh0aGlzKSA6IHVuZGVmaW5lZH1cblx0XHRcdFx0dmlzaWJpbGl0eT17T2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uT25seX1cblx0XHRcdFx0dmlzaWJsZT17dmlzaWJsZX1cblx0XHRcdFx0YXJpYUxhYmVsbGVkQnk9e3RoaXMuYXJpYUxhYmVsbGVkQnkgPyB0aGlzLmFyaWFMYWJlbGxlZEJ5IDogW119XG5cdFx0XHRcdGNsYXNzPXt0aGlzLmNsYXNzfVxuXHRcdFx0XHRyZWFjdGl2ZUFyZWFNb2RlPXt0aGlzLnJlYWN0aXZlQXJlYU1vZGV9XG5cdFx0XHQvPlxuXHRcdCkgYXMgT2JqZWN0TWFya2VyO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGNvbnRlbnQgb2YgdGhpcyBidWlsZGluZyBibG9jay5cblx0ICogQHJldHVybnMgVGhlIGNvbnRyb2wgdHJlZVxuXHQgKi9cblx0Y3JlYXRlQ29udGVudCgpOiBPYmplY3RNYXJrZXIgfCB1bmRlZmluZWQge1xuXHRcdGlmICh0aGlzLmRyYWZ0SW5kaWNhdG9yVHlwZSA9PT0gT2JqZWN0TWFya2VyVmlzaWJpbGl0eS5JY29uQW5kVGV4dCkge1xuXHRcdFx0cmV0dXJuIHRoaXMuZ2V0SWNvbkFuZFRleHRDb250ZW50KCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJldHVybiB0aGlzLmdldEljb25Pbmx5Q29udGVudCgpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQXVCQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBVkEsSUFZcUJBLGNBQWMsSUFBQUMsSUFBQSxHQURsQ0MsY0FBYyxDQUFDLDZDQUE2QyxDQUFDLEVBQUFDLEtBQUEsR0FLNURDLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUU7RUFDUCxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUdERixRQUFRLENBQUM7SUFDVEMsSUFBSSxFQUFFO0VBQ1AsQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FHREgsUUFBUSxDQUFDO0lBQ1RDLElBQUksRUFBRSxRQUFRO0lBQ2RHLFFBQVEsRUFBRTtFQUNYLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBR0RMLFFBQVEsQ0FBQztJQUNUQyxJQUFJLEVBQUU7RUFDUCxDQUFDLENBQUMsRUFBQUssS0FBQSxHQUdETixRQUFRLENBQUM7SUFDVEMsSUFB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Q3pDLElBQUksSUFBSSxDQUFDb0Msa0JBQWtCLEtBQUtqRCxzQkFBc0IsQ0FBQ0UsV0FBVyxFQUFFO1FBQ25FLE9BQU8sSUFBSSxDQUFDcUcscUJBQXFCLENBQUMsQ0FBQztNQUNwQyxDQUFDLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQ29CLGtCQUFrQixDQUFDLENBQUM7TUFDakM7SUFDRCxDQUFDO0lBQUEsT0FBQTlKLGNBQUE7RUFBQSxFQXpYMENxSyxhQUFhLEdBQUEvSSxXQUFBLEdBQUFnSix5QkFBQSxDQUFBdkosT0FBQSxDQUFBaUIsU0FBQSxTQUFBN0IsS0FBQTtJQUFBb0ssWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFuSixZQUFBLEdBQUErSSx5QkFBQSxDQUFBdkosT0FBQSxDQUFBaUIsU0FBQSx5QkFBQTFCLEtBQUE7SUFBQWlLLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUEsV0FBQUEsQ0FBQTtNQUFBLE9BWTJDdkksc0JBQXNCLENBQUNFLFdBQVc7SUFBQTtFQUFBLElBQUFiLFlBQUEsR0FBQThJLHlCQUFBLENBQUF2SixPQUFBLENBQUFpQixTQUFBLGtCQUFBekIsS0FBQTtJQUFBZ0ssWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFqSixZQUFBLEdBQUE2SSx5QkFBQSxDQUFBdkosT0FBQSxDQUFBaUIsU0FBQSxZQUFBdkIsS0FBQTtJQUFBOEosWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQSxXQUFBQSxDQUFBO01BQUEsT0FXdEgsRUFBRTtJQUFBO0VBQUEsSUFBQWhKLFlBQUEsR0FBQTRJLHlCQUFBLENBQUF2SixPQUFBLENBQUFpQixTQUFBLGtCQUFBdEIsS0FBQTtJQUFBNkosWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUEvSSxZQUFBLEdBQUEySSx5QkFBQSxDQUFBdkosT0FBQSxDQUFBaUIsU0FBQSw0QkFBQXJCLEtBQUE7SUFBQTRKLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBOUksWUFBQSxHQUFBMEkseUJBQUEsQ0FBQXZKLE9BQUEsQ0FBQWlCLFNBQUEsdUJBQUFwQixLQUFBO0lBQUEySixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTNKLE9BQUEsTUFBQUQsTUFBQTtFQUFBZSxRQUFBLEdBQUE3QixjQUFBO0VBQUEsT0FBQTZCLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -224,6 +224,7 @@ export default class DraftIndicator extends BuildingBlock<Control> {
|
|
|
224
224
|
* @returns The created popover control
|
|
225
225
|
*/
|
|
226
226
|
createPopover(control: Control): Popover {
|
|
227
|
+
const resourceBundle = Library.getResourceBundleFor("sap.fe.macros")!;
|
|
227
228
|
const isDraftWithNoChangesBinding = and(not(Entity.IsActive), isEmpty(pathInModel("DraftAdministrativeData/LastChangeDateTime")));
|
|
228
229
|
const draftWithNoChangesTextBinding =
|
|
229
230
|
this.draftIndicatorType === ObjectMarkerVisibility.IconAndText
|
|
@@ -256,6 +257,7 @@ export default class DraftIndicator extends BuildingBlock<Control> {
|
|
|
256
257
|
(
|
|
257
258
|
<Button
|
|
258
259
|
icon={"sap-icon://decline"}
|
|
260
|
+
tooltip={resourceBundle.getText("C_DRAFTINDICATOR_CLOSE_BUTTON")}
|
|
259
261
|
press={(): void => {
|
|
260
262
|
this.draftPopover?.close();
|
|
261
263
|
}}
|
|
@@ -374,7 +376,7 @@ export default class DraftIndicator extends BuildingBlock<Control> {
|
|
|
374
376
|
|
|
375
377
|
let visible;
|
|
376
378
|
if (this.usedInTable === true) {
|
|
377
|
-
visible = or(not(Entity.IsActive),
|
|
379
|
+
visible = or(not(Entity.IsActive), Entity.HasDraft);
|
|
378
380
|
} else {
|
|
379
381
|
// If Entity.HasDraft is empty, there is no context at all, so don't show the indicator
|
|
380
382
|
visible = and(
|
|
@@ -273,7 +273,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
273
273
|
*
|
|
274
274
|
* @private
|
|
275
275
|
*/
|
|
276
|
-
_initializerDefineProperty(_this, "
|
|
276
|
+
_initializerDefineProperty(_this, "collectionFieldsName", _descriptor30, _this);
|
|
277
277
|
/**
|
|
278
278
|
* Indicates if this field is part of a field group
|
|
279
279
|
* @private
|
|
@@ -444,7 +444,7 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
444
444
|
enumerable: true,
|
|
445
445
|
writable: true,
|
|
446
446
|
initializer: null
|
|
447
|
-
}), _descriptor30 = _applyDecoratedDescriptor(_class2.prototype, "
|
|
447
|
+
}), _descriptor30 = _applyDecoratedDescriptor(_class2.prototype, "collectionFieldsName", [_dec31], {
|
|
448
448
|
configurable: true,
|
|
449
449
|
enumerable: true,
|
|
450
450
|
writable: true,
|
|
@@ -478,4 +478,4 @@ sap.ui.define(["sap/fe/base/ClassSupport", "sap/fe/macros/controls/BuildingBlock
|
|
|
478
478
|
_exports = FieldFormatOptions;
|
|
479
479
|
return _exports;
|
|
480
480
|
}, false);
|
|
481
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiYWxsb3dlZFZhbHVlcyIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9kZWMyMSIsIl9kZWMyMiIsIl9kZWMyMyIsIl9kZWMyNCIsIl9kZWMyNSIsIl9kZWMyNiIsIl9kZWMyNyIsIl9kZWMyOCIsIl9kZWMyOSIsIl9kZWMzMCIsIl9kZWMzMSIsIl9kZWMzMiIsIl9kZWMzMyIsIl9kZWMzNCIsIl9kZWMzNSIsIl9kZWMzNiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja09iamVjdFAiLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfZGVzY3JpcHRvcjE5IiwiX2Rlc2NyaXB0b3IyMCIsIl9kZXNjcmlwdG9yMjEiLCJfZGVzY3JpcHRvcjIyIiwiX2Rlc2NyaXB0b3IyMyIsIl9kZXNjcmlwdG9yMjQiLCJfZGVzY3JpcHRvcjI1IiwiX2Rlc2NyaXB0b3IyNiIsIl9kZXNjcmlwdG9yMjciLCJfZGVzY3JpcHRvcjI4IiwiX2Rlc2NyaXB0b3IyOSIsIl9kZXNjcmlwdG9yMzAiLCJfZGVzY3JpcHRvcjMxIiwiX2Rlc2NyaXB0b3IzMiIsIl9kZXNjcmlwdG9yMzMiLCJfZGVzY3JpcHRvcjM0IiwiX2Rlc2NyaXB0b3IzNSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkRm9ybWF0T3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVTdHlsZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIjtcblxuZXhwb3J0IHR5cGUgRmllbGRFZGl0U3R5bGUgPSBcIlJhZGlvQnV0dG9uc1wiO1xuLyoqXG4gKiBBZGRpdGlvbmFsIGZvcm1hdCBvcHRpb25zIGZvciB0aGUgZmllbGQuXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpZWxkRm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPEZpZWxkRm9ybWF0T3B0aW9ucz4sIG90aGVycz86IFByb3BlcnRpZXNPZjxGaWVsZEZvcm1hdE9wdGlvbnM+KSB7XG5cdFx0c3VwZXIocHJvcHMgYXMgc3RyaW5nLCBvdGhlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBmaWVsZCB2YWx1ZSBhbmQgYXNzb2NpYXRlZCB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIHRvZ2V0aGVyLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIlZhbHVlXCIsIFwiRGVzY3JpcHRpb25cIiwgXCJEZXNjcmlwdGlvblZhbHVlXCIgYW5kIFwiVmFsdWVEZXNjcmlwdGlvblwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogXCJWYWx1ZVwiIHwgXCJEZXNjcmlwdGlvblwiIHwgXCJEZXNjcmlwdGlvblZhbHVlXCIgfCBcIlZhbHVlRGVzY3JpcHRpb25cIjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiBhbmQgaG93IHRoZSBmaWVsZCBtZWFzdXJlIHdpbGwgYmUgZGlzcGxheWVkLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIkhpZGRlblwiIGFuZCBcIlJlYWRPbmx5XCJcblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVhc3VyZURpc3BsYXlNb2RlPzogXCJIaWRkZW5cIiB8IFwiUmVhZE9ubHlcIjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgZm9yIG11bHRpbGluZSB0ZXh0cyBpbiBlZGl0IG1vZGUuPGJyLz5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIgfSlcblx0dGV4dExpbmVzRWRpdD86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhhdCBtdWx0aWxpbmUgdGV4dHMgaW4gZWRpdCBtb2RlIGNhbiBncm93IHRvLjxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhMaW5lcz86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRleHQgZmllbGQgdGhhdCBhcmUgc2hvd24gaW5pdGlhbGx5Ljxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBob3cgdGhlIGZ1bGwgdGV4dCB3aWxsIGJlIGRpc3BsYXllZC48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJJblBsYWNlXCIgYW5kIFwiUG9wb3ZlclwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHRFeHBhbmRCZWhhdmlvckRpc3BsYXk/OiBcIkluUGxhY2VcIiB8IFwiUG9wb3ZlclwiO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZvciB0aGUgbXVsdGlsaW5lIHRleHQgdmFsdWUuPGJyLz5cblx0ICpcblx0ICogSWYgYSBtdWx0aWxpbmUgdGV4dCBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNoYXJhY3RlcnMsIHRoZSBjb3VudGVyIGJlbG93IHRoZSBpbnB1dCBmaWVsZCBkaXNwbGF5cyB0aGUgZXhhY3QgbnVtYmVyLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4TGVuZ3RoPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSBkYXRlIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0RhdGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd1RpbWU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lem9uZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dUaW1lem9uZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgaG93IHRoZSBmaWVsZCBzaG91bGQgYmUgcmVuZGVyZWQsIGUuZy4gYXMgcmFkaW8gYnV0dG9ucy4gPGJyLz5cblx0ICogSWYgbm90IGFsbCBwcmVyZXF1aXNpdGVzIGFyZSBtZXQsIHRoZSBmaWVsZCB3aWxsIGRlZmF1bHQgYmFjayB0byB0aGUgc3RhbmRhcmQgcmVuZGVyaW5nLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wiUmFkaW9CdXR0b25zXCJdIH0pXG5cdGZpZWxkRWRpdFN0eWxlPzogRmllbGRFZGl0U3R5bGU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyBpZiByYWRpbyBidXR0b25zIHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGhvcml6b250YWwgbGF5b3V0LiA8YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmFkaW9CdXR0b25zSG9yaXpvbnRhbExheW91dD86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgdGhlIGRpc3BsYXkgc3R5bGUgZm9yIHRoZSBkYXRlLCB0aW1lLCBvciBkYXRlVGltZSBmb3JtYXQuIDxici8+XG5cdCAqIElmIHRoZXJlIGlzIGEgZGF0ZVRpbWVQYXR0ZXJuIGRlZmluZWQsIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJzaG9ydFwiLCBcIm1lZGl1bVwiLCBcImxvbmdcIiwgXCJmdWxsXCJdIH0pXG5cdGRhdGVUaW1lU3R5bGU/OiBEYXRlVGltZVN0eWxlO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgYSBjdXN0b20gcGF0dGVybiBmb3IgdGhlIGRhdGUsIHRpbWUsIG9yIGRhdGVUaW1lIGZvcm1hdC4gPGJyLz5cblx0ICogSWYgYSBkYXRlVGltZVBhdHRlcm4gaXMgZGVmaW5lZCwgdGhlIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkYXRlVGltZVBhdHRlcm4/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqICBXaGVuIHRoZSBGaWVsZCBpcyBkaXNwbGF5ZWQgYXMgYSBjbGlja2FibGUgZWxlbWVudCwgaXQgZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBvZiB0aGUgY2xpY2thYmxlIGVsZW1lbnQ6XG5cdCAqXG5cdCAqIC0gUmVhY3RpdmVBcmVhTW9kZS5JbmxpbmUgLSBUaGUgbGluayBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBsaW5rIGlzIGRpc3BsYXllZCBhcyBhbiBvdmVybGF5IG9uIHRvcCBvZiBvdGhlciBpbnRlcmFjdGl2ZSBwYXJ0cyBvZiB0aGUgcGFnZS5cblx0ICogTm90ZTogSXQgaXMgZGVzaWduZWQgdG8gbWFrZSB0aGUgY2xpY2thYmxlIGVsZW1lbnQgZWFzaWVyIHRvIGFjdGl2YXRlIGFuZCBoZWxwcyBtZWV0IHRoZSBXQ0FHIDIuMiBUYXJnZXQgU2l6ZSByZXF1aXJlbWVudC4gSXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciB0aGUgU0FQIEhvcml6b24gdGhlbWVzLiBOb3RlOiBUaGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgdG8gaGVscCB1c2VycyBhdm9pZCBhY2NpZGVudGFsbHkgc2VsZWN0aW5nIChjbGlja2luZyBvciB0YXBwaW5nKSB1bmludGVuZGVkIFVJIGVsZW1lbnRzLiBVSSBlbGVtZW50cyBwb3NpdGlvbmVkIG92ZXIgb3RoZXIgcGFydHMgb2YgdGhlIHBhZ2UgbWF5IG5lZWQgYW4gaW52aXNpYmxlIGFjdGl2ZSB0b3VjaCBhcmVhLiBUaGlzIGVuc3VyZXMgdGhhdCBubyBlbGVtZW50cyBiZW5lYXRoIGFyZSBhY3RpdmF0ZWQgYWNjaWRlbnRhbGx5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgb3ZlcmxheSBlbGVtZW50LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJJbmxpbmVcIiwgXCJPdmVybGF5XCJdIH0pXG5cdHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0Ly8gaW50ZXJuYWwgcHJvcGVydGllc1xuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRNb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aGFzRHJhZnRJbmRpY2F0b3I/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIGFuZCBpZiB0aGUgZmllbGQgaXMgcGFydCBvZiBhbiBpbmFjdGl2ZSByb3csIHRoZW4gYSBjaGVjayB3aWxsIGJlIGRvbmUgdG8gZGV0ZXJtaW5lIGlmIHRoZSB1bmRlcmx5aW5nIHByb3BlcnR5IGhhcyBhIG5vbi1pbnNlcnRhYmxlIHJlc3RyaWN0aW9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmb3JJbmxpbmVDcmVhdGlvblJvd3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIHRoZW4gdGhlIG5hdmlnYXRpb25hdmFpbGFibGUgcHJvcGVydHkgd2lsbCBub3QgYmUgdXNlZCBmb3IgdGhlIGVuYWJsZW1lbnQgb2YgdGhlIElCTiBidXR0b25cblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlnbm9yZU5hdmlnYXRpb25BdmFpbGFibGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNDdXJyZW5jeU9yVW5pdEFsaWduZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSBmYWxsYmFjayBmZWF0dXJlIGZvciB0aGUgdXNhZ2Ugb2YgdGhlIHRleHQgYW5ub3RhdGlvbiBmcm9tIHRoZSB2YWx1ZSBsaXN0c1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHNlbWFudGlja2V5cz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBQcmVmZXJyZWQgY29udHJvbCB0byB2aXN1YWxpemUgc2VtYW50aWMga2V5IHByb3BlcnRpZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0c2VtYW50aWNLZXlTdHlsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogSWYgc2V0IHRvICd0cnVlJywgU0FQIEZpb3JpIGVsZW1lbnRzIHNob3dzIGFuIGVtcHR5IGluZGljYXRvciBpbiBkaXNwbGF5IG1vZGUgZm9yIHRoZSB0ZXh0IGFuZCBsaW5rc1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSB0aGVuIHNldHMgdGhlIGdpdmVuIGljb24gaW5zdGVhZCBvZiB0ZXh0IGluIEFjdGlvbi9JQk4gQnV0dG9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93SWNvblVybD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBob3cgdGhlIGFsaWdubWVudCB3b3JrcyBiZXR3ZWVuIFRhYmxlIG1vZGUgKERhdGUgYW5kIE51bWVyaWMgRW5kIGFsaWdubWVudCkgYW5kIEZvcm0gbW9kZSAobnVtZXJpYyBhbGlnbmVkIEVuZCBpbiBlZGl0IGFuZCBCZWdpbiBpbiBkaXNwbGF5KVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0ZXh0QWxpZ25Nb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRjb21wYWN0U2VtYW50aWNLZXk/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkR3JvdXBEcmFmdEluZGljYXRvclByb3BlcnR5UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRHcm91cE5hbWU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYSBmaWVsZCBncm91cFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNGaWVsZEdyb3VwSXRlbT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYW4gYW5hbHl0aWNhbCB0YWJsZSBhZ2dyZWdhdGVkIHJvd1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY2FsQWdncmVnYXRlZFJvdz86IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd09ubHlVbml0RGVjaW1hbHM/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHByZXNlcnZlRGVjaW1hbHNGb3JDdXJyZW5jeT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIElmIHRydWUsIGJvb2xlYW4gZmllbGRzIGFyZSBkaXNwbGF5ZWQgYXMgcmFkaW8gYnV0dG9ucy5cblx0ICogQHByaXZhdGVcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VSYWRpb0J1dHRvbnNGb3JCb29sZWFuPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsa0JBQWtCLElBQUFDLElBQUEsR0FEdENDLGNBQWMsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFBQyxLQUFB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
|
|
481
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJGaWVsZEZvcm1hdE9wdGlvbnMiLCJfZGVjIiwiZGVmaW5lVUk1Q2xhc3MiLCJfZGVjMiIsInByb3BlcnR5IiwidHlwZSIsIl9kZWMzIiwiX2RlYzQiLCJfZGVjNSIsIl9kZWM2IiwiX2RlYzciLCJfZGVjOCIsIl9kZWM5IiwiX2RlYzEwIiwiX2RlYzExIiwiX2RlYzEyIiwiYWxsb3dlZFZhbHVlcyIsIl9kZWMxMyIsIl9kZWMxNCIsIl9kZWMxNSIsIl9kZWMxNiIsIl9kZWMxNyIsIl9kZWMxOCIsIl9kZWMxOSIsIl9kZWMyMCIsIl9kZWMyMSIsIl9kZWMyMiIsIl9kZWMyMyIsIl9kZWMyNCIsIl9kZWMyNSIsIl9kZWMyNiIsIl9kZWMyNyIsIl9kZWMyOCIsIl9kZWMyOSIsIl9kZWMzMCIsIl9kZWMzMSIsIl9kZWMzMiIsIl9kZWMzMyIsIl9kZWMzNCIsIl9kZWMzNSIsIl9kZWMzNiIsIl9jbGFzcyIsIl9jbGFzczIiLCJfQnVpbGRpbmdCbG9ja09iamVjdFAiLCJwcm9wcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJfZGVzY3JpcHRvcjUiLCJfZGVzY3JpcHRvcjYiLCJfZGVzY3JpcHRvcjciLCJfZGVzY3JpcHRvcjgiLCJfZGVzY3JpcHRvcjkiLCJfZGVzY3JpcHRvcjEwIiwiX2Rlc2NyaXB0b3IxMSIsIl9kZXNjcmlwdG9yMTIiLCJfZGVzY3JpcHRvcjEzIiwiX2Rlc2NyaXB0b3IxNCIsIl9kZXNjcmlwdG9yMTUiLCJfZGVzY3JpcHRvcjE2IiwiX2Rlc2NyaXB0b3IxNyIsIl9kZXNjcmlwdG9yMTgiLCJfZGVzY3JpcHRvcjE5IiwiX2Rlc2NyaXB0b3IyMCIsIl9kZXNjcmlwdG9yMjEiLCJfZGVzY3JpcHRvcjIyIiwiX2Rlc2NyaXB0b3IyMyIsIl9kZXNjcmlwdG9yMjQiLCJfZGVzY3JpcHRvcjI1IiwiX2Rlc2NyaXB0b3IyNiIsIl9kZXNjcmlwdG9yMjciLCJfZGVzY3JpcHRvcjI4IiwiX2Rlc2NyaXB0b3IyOSIsIl9kZXNjcmlwdG9yMzAiLCJfZGVzY3JpcHRvcjMxIiwiX2Rlc2NyaXB0b3IzMiIsIl9kZXNjcmlwdG9yMzMiLCJfZGVzY3JpcHRvcjM0IiwiX2Rlc2NyaXB0b3IzNSIsIl9leHBvcnRzIiwiX2luaGVyaXRzTG9vc2UiLCJCdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHkiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIkZpZWxkRm9ybWF0T3B0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgRGF0ZVRpbWVTdHlsZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9CdWlsZGluZ0Jsb2NrT2JqZWN0UHJvcGVydHlcIjtcblxuZXhwb3J0IHR5cGUgRmllbGRFZGl0U3R5bGUgPSBcIlJhZGlvQnV0dG9uc1wiO1xuLyoqXG4gKiBBZGRpdGlvbmFsIGZvcm1hdCBvcHRpb25zIGZvciB0aGUgZmllbGQuXG4gKiBAYWxpYXMgc2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5maWVsZC5GaWVsZEZvcm1hdE9wdGlvbnNcIilcbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZpZWxkRm9ybWF0T3B0aW9ucyBleHRlbmRzIEJ1aWxkaW5nQmxvY2tPYmplY3RQcm9wZXJ0eSB7XG5cdGNvbnN0cnVjdG9yKHByb3BzPzogc3RyaW5nIHwgUHJvcGVydGllc09mPEZpZWxkRm9ybWF0T3B0aW9ucz4sIG90aGVycz86IFByb3BlcnRpZXNPZjxGaWVsZEZvcm1hdE9wdGlvbnM+KSB7XG5cdFx0c3VwZXIocHJvcHMgYXMgc3RyaW5nLCBvdGhlcnMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgaG93IHRoZSBmaWVsZCB2YWx1ZSBhbmQgYXNzb2NpYXRlZCB0ZXh0IHdpbGwgYmUgZGlzcGxheWVkIHRvZ2V0aGVyLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIlZhbHVlXCIsIFwiRGVzY3JpcHRpb25cIiwgXCJEZXNjcmlwdGlvblZhbHVlXCIgYW5kIFwiVmFsdWVEZXNjcmlwdGlvblwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGRpc3BsYXlNb2RlPzogXCJWYWx1ZVwiIHwgXCJEZXNjcmlwdGlvblwiIHwgXCJEZXNjcmlwdGlvblZhbHVlXCIgfCBcIlZhbHVlRGVzY3JpcHRpb25cIjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBpZiBhbmQgaG93IHRoZSBmaWVsZCBtZWFzdXJlIHdpbGwgYmUgZGlzcGxheWVkLjxici8+XG5cdCAqXG5cdCAqIEFsbG93ZWQgdmFsdWVzIGFyZSBcIkhpZGRlblwiIGFuZCBcIlJlYWRPbmx5XCJcblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bWVhc3VyZURpc3BsYXlNb2RlPzogXCJIaWRkZW5cIiB8IFwiUmVhZE9ubHlcIjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgZm9yIG11bHRpbGluZSB0ZXh0cyBpbiBlZGl0IG1vZGUuPGJyLz5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiaW50XCIgfSlcblx0dGV4dExpbmVzRWRpdD86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgbGluZXMgdGhhdCBtdWx0aWxpbmUgdGV4dHMgaW4gZWRpdCBtb2RlIGNhbiBncm93IHRvLjxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhMaW5lcz86IG51bWJlcjtcblxuXHQvKipcblx0ICogTWF4aW11bSBudW1iZXIgb2YgY2hhcmFjdGVycyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRleHQgZmllbGQgdGhhdCBhcmUgc2hvd24gaW5pdGlhbGx5Ljxici8+XG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImludFwiIH0pXG5cdHRleHRNYXhDaGFyYWN0ZXJzRGlzcGxheT86IG51bWJlcjtcblxuXHQvKipcblx0ICogRGVmaW5lcyBob3cgdGhlIGZ1bGwgdGV4dCB3aWxsIGJlIGRpc3BsYXllZC48YnIvPlxuXHQgKlxuXHQgKiBBbGxvd2VkIHZhbHVlcyBhcmUgXCJJblBsYWNlXCIgYW5kIFwiUG9wb3ZlclwiXG5cdCAqICBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHRleHRFeHBhbmRCZWhhdmlvckRpc3BsYXk/OiBcIkluUGxhY2VcIiB8IFwiUG9wb3ZlclwiO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBjaGFyYWN0ZXJzIGZvciB0aGUgbXVsdGlsaW5lIHRleHQgdmFsdWUuPGJyLz5cblx0ICpcblx0ICogSWYgYSBtdWx0aWxpbmUgdGV4dCBleGNlZWRzIHRoZSBtYXhpbXVtIG51bWJlciBvZiBhbGxvd2VkIGNoYXJhY3RlcnMsIHRoZSBjb3VudGVyIGJlbG93IHRoZSBpbnB1dCBmaWVsZCBkaXNwbGF5cyB0aGUgZXhhY3QgbnVtYmVyLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJpbnRcIiB9KVxuXHR0ZXh0TWF4TGVuZ3RoPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSBkYXRlIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0RhdGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lIHBhcnQgb2YgYSBkYXRlIHRpbWUgd2l0aCB0aW1lem9uZSBmaWVsZCBzaG91bGQgYmUgc2hvd24uIDxici8+XG5cdCAqXG5cdCAqIFRoZSBkYXRlVGltZU9mZnNldCBmaWVsZCBtdXN0IGhhdmUgYSB0aW1lem9uZSBhbm5vdGF0aW9uLlxuXHQgKlxuXHQgKiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyB0cnVlLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd1RpbWU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIGlmIHRoZSB0aW1lem9uZSBwYXJ0IG9mIGEgZGF0ZSB0aW1lIHdpdGggdGltZXpvbmUgZmllbGQgc2hvdWxkIGJlIHNob3duLiA8YnIvPlxuXHQgKlxuXHQgKiBUaGUgZGF0ZVRpbWVPZmZzZXQgZmllbGQgbXVzdCBoYXZlIGEgdGltZXpvbmUgYW5ub3RhdGlvbi5cblx0ICpcblx0ICogVGhlIGRlZmF1bHQgdmFsdWUgaXMgdHJ1ZS5cblx0ICogIEBwdWJsaWNcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHNob3dUaW1lem9uZT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERldGVybWluZXMgaG93IHRoZSBmaWVsZCBzaG91bGQgYmUgcmVuZGVyZWQsIGUuZy4gYXMgcmFkaW8gYnV0dG9ucy4gPGJyLz5cblx0ICogSWYgbm90IGFsbCBwcmVyZXF1aXNpdGVzIGFyZSBtZXQsIHRoZSBmaWVsZCB3aWxsIGRlZmF1bHQgYmFjayB0byB0aGUgc3RhbmRhcmQgcmVuZGVyaW5nLlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiwgYWxsb3dlZFZhbHVlczogW1wiUmFkaW9CdXR0b25zXCJdIH0pXG5cdGZpZWxkRWRpdFN0eWxlPzogRmllbGRFZGl0U3R5bGU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyBpZiByYWRpbyBidXR0b25zIHNob3VsZCBiZSByZW5kZXJlZCBpbiBhIGhvcml6b250YWwgbGF5b3V0LiA8YnIvPlxuXHQgKiAgQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmFkaW9CdXR0b25zSG9yaXpvbnRhbExheW91dD86IGJvb2xlYW47XG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgdGhlIGRpc3BsYXkgc3R5bGUgZm9yIHRoZSBkYXRlLCB0aW1lLCBvciBkYXRlVGltZSBmb3JtYXQuIDxici8+XG5cdCAqIElmIHRoZXJlIGlzIGEgZGF0ZVRpbWVQYXR0ZXJuIGRlZmluZWQsIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJzaG9ydFwiLCBcIm1lZGl1bVwiLCBcImxvbmdcIiwgXCJmdWxsXCJdIH0pXG5cdGRhdGVUaW1lU3R5bGU/OiBEYXRlVGltZVN0eWxlO1xuXG5cdC8qKlxuXHQgKiBQcm9wZXJ0eSBmb3IgZGVmaW5pbmcgYSBjdXN0b20gcGF0dGVybiBmb3IgdGhlIGRhdGUsIHRpbWUsIG9yIGRhdGVUaW1lIGZvcm1hdC4gPGJyLz5cblx0ICogSWYgYSBkYXRlVGltZVBhdHRlcm4gaXMgZGVmaW5lZCwgdGhlIGRhdGVUaW1lU3R5bGUgaXMgaWdub3JlZC5cblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRkYXRlVGltZVBhdHRlcm4/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqICBXaGVuIHRoZSBGaWVsZCBpcyBkaXNwbGF5ZWQgYXMgYSBjbGlja2FibGUgZWxlbWVudCwgaXQgZGVmaW5lcyB0aGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBvZiB0aGUgY2xpY2thYmxlIGVsZW1lbnQ6XG5cdCAqXG5cdCAqIC0gUmVhY3RpdmVBcmVhTW9kZS5JbmxpbmUgLSBUaGUgbGluayBpcyBkaXNwbGF5ZWQgYXMgcGFydCBvZiBhIHNlbnRlbmNlLlxuXHQgKiAtIFJlYWN0aXZlQXJlYU1vZGUuT3ZlcmxheSAtIFRoZSBsaW5rIGlzIGRpc3BsYXllZCBhcyBhbiBvdmVybGF5IG9uIHRvcCBvZiBvdGhlciBpbnRlcmFjdGl2ZSBwYXJ0cyBvZiB0aGUgcGFnZS5cblx0ICogTm90ZTogSXQgaXMgZGVzaWduZWQgdG8gbWFrZSB0aGUgY2xpY2thYmxlIGVsZW1lbnQgZWFzaWVyIHRvIGFjdGl2YXRlIGFuZCBoZWxwcyBtZWV0IHRoZSBXQ0FHIDIuMiBUYXJnZXQgU2l6ZSByZXF1aXJlbWVudC4gSXQgaXMgYXBwbGljYWJsZSBvbmx5IGZvciB0aGUgU0FQIEhvcml6b24gdGhlbWVzLiBOb3RlOiBUaGUgc2l6ZSBvZiB0aGUgcmVhY3RpdmUgYXJlYSBpcyBzdWZmaWNpZW50bHkgbGFyZ2UgdG8gaGVscCB1c2VycyBhdm9pZCBhY2NpZGVudGFsbHkgc2VsZWN0aW5nIChjbGlja2luZyBvciB0YXBwaW5nKSB1bmludGVuZGVkIFVJIGVsZW1lbnRzLiBVSSBlbGVtZW50cyBwb3NpdGlvbmVkIG92ZXIgb3RoZXIgcGFydHMgb2YgdGhlIHBhZ2UgbWF5IG5lZWQgYW4gaW52aXNpYmxlIGFjdGl2ZSB0b3VjaCBhcmVhLiBUaGlzIGVuc3VyZXMgdGhhdCBubyBlbGVtZW50cyBiZW5lYXRoIGFyZSBhY3RpdmF0ZWQgYWNjaWRlbnRhbGx5IHdoZW4gdGhlIHVzZXIgdHJpZXMgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgb3ZlcmxheSBlbGVtZW50LlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiLCBhbGxvd2VkVmFsdWVzOiBbXCJJbmxpbmVcIiwgXCJPdmVybGF5XCJdIH0pXG5cdHJlYWN0aXZlQXJlYU1vZGU/OiBcIklubGluZVwiIHwgXCJPdmVybGF5XCI7XG5cblx0Ly8gaW50ZXJuYWwgcHJvcGVydGllc1xuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmllbGRNb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aGFzRHJhZnRJbmRpY2F0b3I/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIGFuZCBpZiB0aGUgZmllbGQgaXMgcGFydCBvZiBhbiBpbmFjdGl2ZSByb3csIHRoZW4gYSBjaGVjayB3aWxsIGJlIGRvbmUgdG8gZGV0ZXJtaW5lIGlmIHRoZSB1bmRlcmx5aW5nIHByb3BlcnR5IGhhcyBhIG5vbi1pbnNlcnRhYmxlIHJlc3RyaWN0aW9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRmb3JJbmxpbmVDcmVhdGlvblJvd3M/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBJZiB0cnVlIHRoZW4gdGhlIG5hdmlnYXRpb25hdmFpbGFibGUgcHJvcGVydHkgd2lsbCBub3QgYmUgdXNlZCBmb3IgdGhlIGVuYWJsZW1lbnQgb2YgdGhlIElCTiBidXR0b25cblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdGlnbm9yZU5hdmlnYXRpb25BdmFpbGFibGU/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNDdXJyZW5jeU9yVW5pdEFsaWduZWQ/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSBmYWxsYmFjayBmZWF0dXJlIGZvciB0aGUgdXNhZ2Ugb2YgdGhlIHRleHQgYW5ub3RhdGlvbiBmcm9tIHRoZSB2YWx1ZSBsaXN0c1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0cmV0cmlldmVUZXh0RnJvbVZhbHVlTGlzdD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHNlbWFudGlja2V5cz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBQcmVmZXJyZWQgY29udHJvbCB0byB2aXN1YWxpemUgc2VtYW50aWMga2V5IHByb3BlcnRpZXNcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0c2VtYW50aWNLZXlTdHlsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogSWYgc2V0IHRvICd0cnVlJywgU0FQIEZpb3JpIGVsZW1lbnRzIHNob3dzIGFuIGVtcHR5IGluZGljYXRvciBpbiBkaXNwbGF5IG1vZGUgZm9yIHRoZSB0ZXh0IGFuZCBsaW5rc1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd0VtcHR5SW5kaWNhdG9yPzogYm9vbGVhbjtcblxuXHQvKipcblx0ICogSWYgdHJ1ZSB0aGVuIHNldHMgdGhlIGdpdmVuIGljb24gaW5zdGVhZCBvZiB0ZXh0IGluIEFjdGlvbi9JQk4gQnV0dG9uXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRzaG93SWNvblVybD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBob3cgdGhlIGFsaWdubWVudCB3b3JrcyBiZXR3ZWVuIFRhYmxlIG1vZGUgKERhdGUgYW5kIE51bWVyaWMgRW5kIGFsaWdubWVudCkgYW5kIEZvcm0gbW9kZSAobnVtZXJpYyBhbGlnbmVkIEVuZCBpbiBlZGl0IGFuZCBCZWdpbiBpbiBkaXNwbGF5KVxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHR0ZXh0QWxpZ25Nb2RlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRjb21wYWN0U2VtYW50aWNLZXk/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpZWxkR3JvdXBEcmFmdEluZGljYXRvclByb3BlcnR5UGF0aD86IHN0cmluZztcblxuXHQvKipcblx0ICpcblx0ICogQHByaXZhdGVcblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0Y29sbGVjdGlvbkZpZWxkc05hbWU/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEluZGljYXRlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYSBmaWVsZCBncm91cFxuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNGaWVsZEdyb3VwSXRlbT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIERlc2NyaWJlcyBpZiB0aGlzIGZpZWxkIGlzIHBhcnQgb2YgYW4gYW5hbHl0aWNhbCB0YWJsZSBhZ2dyZWdhdGVkIHJvd1xuXHQgKiBAcHJpdmF0ZVxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0aXNBbmFseXRpY2FsQWdncmVnYXRlZFJvdz86IGJvb2xlYW47XG5cblx0QHByb3BlcnR5KHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0c2hvd09ubHlVbml0RGVjaW1hbHM/OiBib29sZWFuO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHByZXNlcnZlRGVjaW1hbHNGb3JDdXJyZW5jeT86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIElmIHRydWUsIGJvb2xlYW4gZmllbGRzIGFyZSBkaXNwbGF5ZWQgYXMgcmFkaW8gYnV0dG9ucy5cblx0ICogQHByaXZhdGVcblx0ICogQGV4cGVyaW1lbnRhbFxuXHQgKiBAdWk1LWV4cGVyaW1lbnRhbC1zaW5jZSAxLjE0MS4wXG5cdCAqIEBzaW5jZSAxLjE0MS4wXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VSYWRpb0J1dHRvbnNGb3JCb29sZWFuPzogYm9vbGVhbjtcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQU1BO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFKQSxJQU1xQkEsa0JBQWtCLElBQUFDLElBQUEsR0FEdENDLGNBQWMsQ0FBQyx3Q0FBd0MsQ0FBQyxFQUFBQyxLQUFBLEdBWXZEQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FTNUJGLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUUsS0FBQSxHQU81QkgsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFNLENBQUMsQ0FBQyxFQUFBRyxLQUFBLEdBT3pCSixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFJLEtBQUEsR0FPekJMLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBTSxDQUFDLENBQUMsRUFBQUssS0FBQSxHQVN6Qk4sUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBTSxLQUFBLEdBUzVCUCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQU0sQ0FBQyxDQUFDLEVBQUFPLEtBQUEsR0FXekJSLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQVEsTUFBQSxHQVc3QlQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBUyxNQUFBLEdBVzdCVixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFVLE1BQUEsR0FRN0JYLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUUsUUFBUTtJQUFFVyxhQUFhLEVBQUUsQ0FBQyxjQUFjO0VBQUUsQ0FBQyxDQUFDLEVBQUFDLE1BQUEsR0FPN0RiLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQWEsTUFBQSxHQVE3QmQsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVXLGFBQWEsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU07RUFBRSxDQUFDLENBQUMsRUFBQUcsTUFBQSxHQVFoRmYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBZSxNQUFBLEdBVzVCaEIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRSxRQUFRO0lBQUVXLGFBQWEsRUFBRSxDQUFDLFFBQVEsRUFBRSxTQUFTO0VBQUUsQ0FBQyxDQUFDLEVBQUFLLE1BQUEsR0FRbEVqQixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFpQixNQUFBLEdBTzVCbEIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBa0IsTUFBQSxHQU83Qm5CLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQW1CLE1BQUEsR0FPN0JwQixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFvQixNQUFBLEdBTzdCckIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBcUIsTUFBQSxHQU83QnRCLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQXNCLE1BQUEsR0FPN0J2QixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUF1QixNQUFBLEdBTzdCeEIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBd0IsTUFBQSxHQU81QnpCLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQXlCLE1BQUEsR0FPNUIxQixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUEwQixNQUFBLEdBTzdCM0IsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBMkIsTUFBQSxHQU83QjVCLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQTRCLE1BQUEsR0FPNUI3QixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUE2QixNQUFBLEdBTzVCOUIsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBOEIsTUFBQSxHQU81Qi9CLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQStCLE1BQUEsR0FPNUJoQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFnQyxNQUFBLEdBTzdCakMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBaUMsTUFBQSxHQUc3QmxDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsRUFBQWtDLE1BQUEsR0FHN0JuQyxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFtQyxNQUFBLEdBVTdCcEMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBSixJQUFBLENBQUF3QyxNQUFBLElBQUFDLE9BQUEsMEJBQUFDLHFCQUFBO0lBN1E5QixTQUFBM0MsbUJBQVk0QyxLQUFpRCxFQUFFQyxNQUF5QyxFQUFFO01BQUEsSUFBQUMsS0FBQTtNQUN6R0EsS0FBQSxHQUFBSCxxQkFBQSxDQUFBSSxJQUFBLE9BQU1ILEtBQUssRUFBWUMsTUFBTSxDQUFDO01BRy9CO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUxDRywwQkFBQSxDQUFBRixLQUFBLGlCQUFBRyxXQUFBLEVBQUFILEtBQUE7TUFTQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFMQ0UsMEJBQUEsQ0FBQUYsS0FBQSx3QkFBQUksWUFBQSxFQUFBSixLQUFBO01BU0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSxtQkFBQUssWUFBQSxFQUFBTCxLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSxrQkFBQU0sWUFBQSxFQUFBTixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSw4QkFBQU8sWUFBQSxFQUFBUCxLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BTENFLDBCQUFBLENBQUFGLEtBQUEsK0JBQUFRLFlBQUEsRUFBQVIsS0FBQTtNQVNBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQUxDRSwwQkFBQSxDQUFBRixLQUFBLG1CQUFBUyxZQUFBLEVBQUFULEtBQUE7TUFTQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BUENFLDBCQUFBLENBQUFGLEtBQUEsY0FBQVUsWUFBQSxFQUFBVixLQUFBO01BV0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQVBDRSwwQkFBQSxDQUFBRixLQUFBLGNBQUFXLFlBQUEsRUFBQVgsS0FBQTtNQVdBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7TUFQQ0UsMEJBQUEsQ0FBQUYsS0FBQSxrQkFBQVksYUFBQSxFQUFBWixLQUFBO01BV0E7QUFDRDtBQUNBO0FBQ0E7QUFDQTtNQUpDRSwwQkFBQSxDQUFBRixLQUFBLG9CQUFBYSxhQUFBLEVBQUFiLEtBQUE7TUFRQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLGtDQUFBYyxhQUFBLEVBQUFkLEtBQUE7TUFNQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO01BSkNFLDBCQUFBLENBQUFGLEtBQUEsbUJBQUFlLGFBQUEsRUFBQWYsS0FBQTtNQVNBO0FBQ0Q7QUFDQTtBQUNBO0FBQ0E7TUFKQ0UsMEJBQUEsQ0FBQUYsS0FBQSxxQkFBQWdCLGFBQUEsRUFBQWhCLEtBQUE7TUFRQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO01BUENFLDBCQUFBLENBQUFGLEtBQUEsc0JBQUFpQixhQUFBLEVBQUFqQixLQUFBO01BV0E7TUFDQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLGVBQUFrQixhQUFBLEVBQUFsQixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSx1QkFBQW1CLGFBQUEsRUFBQW5CLEtBQUE7TUFPQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLGlCQUFBb0IsYUFBQSxFQUFBcEIsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsMkJBQUFxQixhQUFBLEVBQUFyQixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSwrQkFBQXNCLGFBQUEsRUFBQXRCLEtBQUE7TUFPQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLDZCQUFBdUIsYUFBQSxFQUFBdkIsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsK0JBQUF3QixhQUFBLEVBQUF4QixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSxrQkFBQXlCLGFBQUEsRUFBQXpCLEtBQUE7TUFPQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLHNCQUFBMEIsYUFBQSxFQUFBMUIsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsd0JBQUEyQixhQUFBLEVBQUEzQixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSxpQkFBQTRCLGFBQUEsRUFBQTVCLEtBQUE7TUFPQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLG1CQUFBNkIsYUFBQSxFQUFBN0IsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsd0JBQUE4QixhQUFBLEVBQUE5QixLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSwwQ0FBQStCLGFBQUEsRUFBQS9CLEtBQUE7TUFPQTtBQUNEO0FBQ0E7QUFDQTtNQUhDRSwwQkFBQSxDQUFBRixLQUFBLDBCQUFBZ0MsYUFBQSxFQUFBaEMsS0FBQTtNQU9BO0FBQ0Q7QUFDQTtBQUNBO01BSENFLDBCQUFBLENBQUFGLEtBQUEsc0JBQUFpQyxhQUFBLEVBQUFqQyxLQUFBO01BT0E7QUFDRDtBQUNBO0FBQ0E7TUFIQ0UsMEJBQUEsQ0FBQUYsS0FBQSwrQkFBQWtDLGFBQUEsRUFBQWxDLEtBQUE7TUFBQUUsMEJBQUEsQ0FBQUYsS0FBQSwwQkFBQW1DLGFBQUEsRUFBQW5DLEtBQUE7TUFBQUUsMEJBQUEsQ0FBQUYsS0FBQSxpQ0FBQW9DLGFBQUEsRUFBQXBDLEtBQUE7TUFhQTtBQUNEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtNQU5DRSwwQkFBQSxDQUFBRixLQUFBLCtCQUFBcUMsYUFBQSxFQUFBckMsS0FBQTtNQUFBLE9BQUFBLEtBQUE7SUFwUUE7SUFBQ3NDLFFBQUEsR0FBQXBGLGtCQUFBO0lBQUFxRixjQUFBLENBQUFyRixrQkFBQSxFQUFBMkMscUJBQUE7SUFBQSxPQUFBM0Msa0JBQUE7RUFBQSxFQUg4Q3NGLDJCQUEyQixHQUFBckMsV0FBQSxHQUFBc0MseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsa0JBQUFyRixLQUFBO0lBQUFzRixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTFDLFlBQUEsR0FBQXFDLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLHlCQUFBbEYsS0FBQTtJQUFBbUYsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF6QyxZQUFBLEdBQUFvQyx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxvQkFBQWpGLEtBQUE7SUFBQWtGLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBeEMsWUFBQSxHQUFBbUMseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsbUJBQUFoRixLQUFBO0lBQUFpRixZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXZDLFlBQUEsR0FBQWtDLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLCtCQUFBL0UsS0FBQTtJQUFBZ0YsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF0QyxZQUFBLEdBQUFpQyx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxnQ0FBQTlFLEtBQUE7SUFBQStFLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBckMsWUFBQSxHQUFBZ0MseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsb0JBQUE3RSxLQUFBO0lBQUE4RSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXBDLFlBQUEsR0FBQStCLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLGVBQUE1RSxLQUFBO0lBQUE2RSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQW5DLFlBQUEsR0FBQThCLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLGVBQUEzRSxNQUFBO0lBQUE0RSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWxDLGFBQUEsR0FBQTZCLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLG1CQUFBMUUsTUFBQTtJQUFBMkUsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFqQyxhQUFBLEdBQUE0Qix5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxxQkFBQXpFLE1BQUE7SUFBQTBFLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBaEMsYUFBQSxHQUFBMkIseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsbUNBQUF2RSxNQUFBO0lBQUF3RSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQS9CLGFBQUEsR0FBQTBCLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLG9CQUFBdEUsTUFBQTtJQUFBdUUsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUE5QixhQUFBLEdBQUF5Qix5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxzQkFBQXJFLE1BQUE7SUFBQXNFLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBN0IsYUFBQSxHQUFBd0IseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsdUJBQUFwRSxNQUFBO0lBQUFxRSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQTVCLGFBQUEsR0FBQXVCLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLGdCQUFBbkUsTUFBQTtJQUFBb0UsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUEzQixhQUFBLEdBQUFzQix5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSx3QkFBQWxFLE1BQUE7SUFBQW1FLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBMUIsYUFBQSxHQUFBcUIseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsa0JBQUFqRSxNQUFBO0lBQUFrRSxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXpCLGFBQUEsR0FBQW9CLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLDRCQUFBaEUsTUFBQTtJQUFBaUUsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUF4QixhQUFBLEdBQUFtQix5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxnQ0FBQS9ELE1BQUE7SUFBQWdFLFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBdkIsYUFBQSxHQUFBa0IseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsOEJBQUE5RCxNQUFBO0lBQUErRCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQXRCLGFBQUEsR0FBQWlCLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLGdDQUFBN0QsTUFBQTtJQUFBOEQsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFyQixhQUFBLEdBQUFnQix5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxtQkFBQTVELE1BQUE7SUFBQTZELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBcEIsYUFBQSxHQUFBZSx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSx1QkFBQTNELE1BQUE7SUFBQTRELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBbkIsYUFBQSxHQUFBYyx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSx5QkFBQTFELE1BQUE7SUFBQTJELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBbEIsYUFBQSxHQUFBYSx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxrQkFBQXpELE1BQUE7SUFBQTBELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBakIsYUFBQSxHQUFBWSx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxvQkFBQXhELE1BQUE7SUFBQXlELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBaEIsYUFBQSxHQUFBVyx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSx5QkFBQXZELE1BQUE7SUFBQXdELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBZixhQUFBLEdBQUFVLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLDJDQUFBdEQsTUFBQTtJQUFBdUQsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFkLGFBQUEsR0FBQVMseUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsMkJBQUFyRCxNQUFBO0lBQUFzRCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQWIsYUFBQSxHQUFBUSx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSx1QkFBQXBELE1BQUE7SUFBQXFELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBWixhQUFBLEdBQUFPLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLGdDQUFBbkQsTUFBQTtJQUFBb0QsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFYLGFBQUEsR0FBQU0seUJBQUEsQ0FBQTdDLE9BQUEsQ0FBQThDLFNBQUEsMkJBQUFsRCxNQUFBO0lBQUFtRCxZQUFBO0lBQUFDLFVBQUE7SUFBQUMsUUFBQTtJQUFBQyxXQUFBO0VBQUEsSUFBQVYsYUFBQSxHQUFBSyx5QkFBQSxDQUFBN0MsT0FBQSxDQUFBOEMsU0FBQSxrQ0FBQWpELE1BQUE7SUFBQWtELFlBQUE7SUFBQUMsVUFBQTtJQUFBQyxRQUFBO0lBQUFDLFdBQUE7RUFBQSxJQUFBVCxhQUFBLEdBQUFJLHlCQUFBLENBQUE3QyxPQUFBLENBQUE4QyxTQUFBLGdDQUFBaEQsTUFBQTtJQUFBaUQsWUFBQTtJQUFBQyxVQUFBO0lBQUFDLFFBQUE7SUFBQUMsV0FBQTtFQUFBLElBQUFsRCxPQUFBLE1BQUFELE1BQUE7RUFBQTJDLFFBQUEsR0FBQXBGLGtCQUFBO0VBQUEsT0FBQW9GLFFBQUE7QUFBQSIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -251,7 +251,7 @@ export default class FieldFormatOptions extends BuildingBlockObjectProperty {
|
|
|
251
251
|
* @private
|
|
252
252
|
*/
|
|
253
253
|
@property({ type: "string" })
|
|
254
|
-
|
|
254
|
+
collectionFieldsName?: string;
|
|
255
255
|
|
|
256
256
|
/**
|
|
257
257
|
* Indicates if this field is part of a field group
|