@smartbit4all/ng-client 4.2.23 → 4.2.25
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/esm2022/lib/smart-client/smart.component.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api/default.service.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/index.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/componentWidgetType.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/layoutDirection.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/param.mjs +1 -1
- package/esm2022/lib/smart-component-layout/api/variables.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/api/filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBoolOperator.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderApiConfig.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderGroup.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionBuilderUiModel.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionDataType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionField.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldEditor.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionFieldWidgetType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionList.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperandData.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/filterExpressionOperation.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/model/smartFilterType.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/param.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/api/variables.mjs +1 -1
- package/esm2022/lib/smart-form/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-form/api/api/default.service.mjs +1 -1
- package/esm2022/lib/smart-form/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-form/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-form/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-form/api/index.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/propertyMapping.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormInputMode.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetDirection.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartLayoutDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartMatrixModel.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartWidgetHint.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
- package/esm2022/lib/smart-form/api/param.mjs +1 -1
- package/esm2022/lib/smart-form/api/variables.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/api.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api/grid.service.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/api.module.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/index.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnContentType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridPage.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridRow.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionChange.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridView.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/model/models.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/param.mjs +1 -1
- package/esm2022/lib/smart-grid/api/grid-api/variables.mjs +1 -1
- package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
- package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceDescriptor.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataSourceType.mjs +1 -1
- package/esm2022/lib/smart-map/impl/google-map.mjs +1 -1
- package/esm2022/lib/smart-map/impl/leaflet-map.mjs +1 -1
- package/esm2022/lib/smart-map/projects.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.component.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.module.mjs +1 -1
- package/esm2022/lib/smart-map/smart-map.types.mjs +1 -1
- package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.module.mjs +1 -1
- package/esm2022/lib/smart-validation/smart-validation.types.mjs +1 -1
- package/esm2022/lib/view-context/api/model/componentConstraint.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/namedValidator.mjs +1 -1
- package/esm2022/src/lib/smart-chart/smart-chart/smart-chart.component.mjs +38 -7
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs +37 -6
- package/fesm2022/smartbit4all-ng-client-src-lib-smart-chart.mjs.map +1 -1
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.2.25.tgz +0 -0
- package/src/lib/smart-chart/smart-chart/smart-chart.component.d.ts +1 -0
- package/smartbit4all-ng-client-4.2.23.tgz +0 -0
|
@@ -190,4 +190,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
190
190
|
}], parent: [{
|
|
191
191
|
type: Input
|
|
192
192
|
}] } });
|
|
193
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9zbWFydC1tYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL3NtYXJ0LW1hcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBR0wsY0FBYyxFQUdkLG1CQUFtQixHQUtwQixNQUFNLE9BQU8sQ0FBQzs7Ozs7QUFJZixNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBWSxZQUFZLENBQUMsQ0FBQztBQUV0RSxNQUFNLE1BQU0sR0FBdUMsQ0FBQyxDQUFvQixFQUFFLENBQW9CLEVBQUUsRUFBRTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdELE9BQU8sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsTUFBTSxJQUFJLFNBQVMsQ0FBQyxJQUFJLEtBQUssQ0FBQyxDQUFDO0FBQ3ZELENBQUMsQ0FBQztBQU9GLE1BQU0sT0FBTyxpQkFBaUI7SUF5QjVCLFlBRVMsU0FBb0IsRUFDbkIsR0FBa0I7UUFEbkIsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUNuQixRQUFHLEdBQUgsR0FBRyxDQUFlO1FBM0I1QixjQUFTLEdBQUcsU0FBUyxDQUFDO1FBTWIsVUFBSyxHQUE0QyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkUsVUFBSyxHQUE4QixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ3hELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUMzQixPQUFPLEtBQUssRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMzRCxDQUFDLENBQUMsQ0FBQztRQUVNLGNBQVMsR0FBd0IsUUFBUSxDQUNoRCxHQUFHLEVBQUUsQ0FDSCxJQUFJLEdBQUcsQ0FDTCxJQUFJLENBQUMsS0FBSyxFQUFFO2FBQ1QsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQzthQUM3QixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFHLENBQUM7YUFDbkIsTUFBTSxFQUFFLENBQ1osQ0FDSixDQUFDO0lBUUMsQ0FBQztJQUVKLFFBQVE7UUFDTixlQUFlO0lBQ2pCLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ2QsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJO1FBQ1IsTUFBTSxLQUFLLEdBQWdCLE1BQU0sYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7UUFDMUYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLG1DQUFtQyxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUNELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBSSxDQUFDLFFBQXdCO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDdkIsT0FBTyxDQUFDLEdBQUcsQ0FBQywwQkFBMEIsQ0FBQyxDQUFDO1lBQ3hDLElBQUksRUFBRSxFQUFFLENBQUM7Z0JBQ1AsRUFBRSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7WUFDekIsQ0FBQztZQUNELE9BQU8sRUFBRSxDQUFDO1FBQ1osQ0FBQyxDQUFDLENBQUM7UUFDSCxNQUFNLE1BQU0sR0FBaUIsTUFBTSxhQUFhLENBQzlDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FDcEQsQ0FBQztRQUNGLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDNUIsQ0FBQztJQUVELEtBQUssQ0FBQyxNQUFNLENBQUMsUUFBeUI7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN2QixJQUFJLEVBQUUsRUFBRSxDQUFDO2dCQUNQLEVBQUUsQ0FBQyxTQUFTLEdBQUcsUUFBUSxDQUFDO1lBQzFCLENBQUM7WUFDRCxPQUFPLEVBQUUsQ0FBQztRQUNaLENBQUMsQ0FBQyxDQUFDO1FBQ0gsTUFBTSxNQUFNLEdBQWlCLE1BQU0sYUFBYSxDQUM5QyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLENBQ3RELENBQUM7UUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFTyxZQUFZLENBQUMsTUFBb0I7UUFDdkMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUU7WUFDdkIsTUFBTSxVQUFVLEdBQTZCLElBQUksR0FBRyxFQUFFLENBQUM7WUFDdkQsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNSLE9BQU8sRUFBRSxDQUFDO1lBQ1osQ0FBQztZQUNELEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFLLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRSxLQUFLLE1BQU0sV0FBVyxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdkMsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLElBQUssQ0FBQztnQkFDbEMsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLEtBQUssQ0FBQztnQkFDaEMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxPQUFPLEVBQUU7b0JBQ3RCLElBQUksRUFBRSxPQUFPO29CQUNiLEtBQUssRUFBRSxLQUFLO2lCQUNiLENBQUMsQ0FBQztZQUNMLENBQUM7WUFDRCxPQUFPO2dCQUNMLEdBQUcsRUFBRTtnQkFDTCxNQUFNLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQzthQUNqQyxDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLFFBQXFCO1FBQ2xDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsYUFBYSxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMzRixRQUFRLGFBQWEsRUFBRSxDQUFDO1lBQ3RCLEtBQUssbUJBQW1CLENBQUMsTUFBTTtnQkFDN0IsMkVBQTJFO2dCQUMzRSxNQUFNO1lBQ1IsS0FBSyxtQkFBbUIsQ0FBQyxTQUFTO2dCQUNoQyxtQ0FBbUM7Z0JBQ25DLE1BQU07WUFDUixLQUFLLG1CQUFtQixDQUFDLFNBQVM7Z0JBQ2hDLGFBQWEsQ0FDWCxJQUFJLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUU7b0JBQzVDLGFBQWE7b0JBQ2IsVUFBVSxFQUFFO3dCQUNWLElBQUksRUFBRSxjQUFjLENBQUMsTUFBTSxFQUFFLDJDQUEyQzt3QkFDeEUsUUFBUTt3QkFDUixLQUFLLEVBQUUsRUFBRTt3QkFDVCxNQUFNLEVBQUUsRUFBRTt3QkFDVixPQUFPLEVBQUUsRUFBRTtxQkFDWjtvQkFDRCxXQUFXLEVBQUUsRUFBRTtvQkFDZixPQUFPLEVBQUUsS0FBSztpQkFDZixDQUFDLENBQ0gsQ0FBQyxJQUFJLENBQ0osQ0FBQyxNQUF5QixFQUFFLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQzt3QkFDN0IsT0FBTyxDQUFDLElBQUksQ0FBQyw4Q0FBOEMsQ0FBQyxDQUFDO3dCQUM3RCxPQUFPLElBQUksQ0FBQztvQkFDZCxDQUFDO3lCQUFNLENBQUM7d0JBQ04sT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsMkJBQTJCLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3JFLENBQUM7Z0JBQ0gsQ0FBQyxFQUNELENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ1gsT0FBTyxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxHQUFHLENBQUMsQ0FBQztnQkFDM0QsQ0FBQyxDQUNGLENBQUM7UUFDTixDQUFDO0lBQ0gsQ0FBQztJQUVELGVBQWUsQ0FBQyxFQUFVO1FBQ3hCLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxTQUFTLEVBQUUsYUFBYSxJQUFJLG1CQUFtQixDQUFDLE1BQU0sQ0FBQztRQUMzRixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLHdEQUF3RCxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzNFLE9BQU87UUFDVCxDQUFDO1FBRUQsUUFBUSxhQUFhLEVBQUUsQ0FBQztZQUN0QixLQUFLLG1CQUFtQixDQUFDLE1BQU07Z0JBQzdCLHFCQUFxQjtnQkFDckIsTUFBTTtZQUNSLEtBQUssbUJBQW1CLENBQUMsU0FBUztnQkFDaEMsYUFBYSxDQUNYLElBQUksQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRTtvQkFDNUMsYUFBYTtvQkFDYixVQUFVO29CQUNWLFdBQVcsRUFBRSxFQUFFO29CQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztpQkFDbEMsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUNKLENBQUMsTUFBeUIsRUFBRSxFQUFFO29CQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLENBQUMsQ0FBQzt3QkFDN0QsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNyRSxDQUFDO2dCQUNILENBQUMsRUFDRCxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FDRixDQUFDO2dCQUNGLE1BQU07WUFDUixLQUFLLG1CQUFtQixDQUFDLFNBQVM7Z0JBQ2hDLHNGQUFzRjtnQkFDdEYsZ0RBQWdEO2dCQUNoRCxhQUFhLENBQ1gsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO29CQUM1QyxhQUFhO29CQUNiLFVBQVU7b0JBQ1YsV0FBVyxFQUFFLEVBQUU7b0JBQ2YsT0FBTyxFQUFFLElBQUk7aUJBQ2QsQ0FBQyxDQUNILENBQUMsSUFBSSxDQUNKLENBQUMsTUFBeUIsRUFBRSxFQUFFO29CQUM1QixJQUFJLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUM7d0JBQzdCLE9BQU8sQ0FBQyxJQUFJLENBQUMsOENBQThDLENBQUMsQ0FBQzt3QkFDN0QsT0FBTyxJQUFJLENBQUM7b0JBQ2QsQ0FBQzt5QkFBTSxDQUFDO3dCQUNOLE9BQU8sSUFBSSxDQUFDLGtCQUFrQixDQUFDLDJCQUEyQixDQUFDLE1BQU0sQ0FBQyxDQUFDO29CQUNyRSxDQUFDO2dCQUNILENBQUMsRUFDRCxDQUFDLEdBQVEsRUFBRSxFQUFFO29CQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMscUNBQXFDLEVBQUUsR0FBRyxDQUFDLENBQUM7Z0JBQzNELENBQUMsQ0FDRixDQUFDO2dCQUNGLE1BQU07UUFDVixDQUFDO0lBQ0gsQ0FBQzsrR0F0TVUsaUJBQWlCLGtCQTBCbEIsVUFBVTttR0ExQlQsaUJBQWlCLHVIQy9DOUIsaTVCQTJCQTs7NEZEb0JhLGlCQUFpQjtrQkFMN0IsU0FBUzsrQkFDRSxXQUFXOzswQkE4QmxCLE1BQU07MkJBQUMsVUFBVTtxRUF2QlgsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBjb21wdXRlZCxcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgU2lnbmFsLFxuICBzaWduYWwsXG4gIFZhbHVlRXF1YWxpdHlGbixcbiAgV3JpdGFibGVTaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbGFzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgR2VvTWFwQ2hhbmdlLFxuICBHZW9NYXBJdGVtLFxuICBHZW9NYXBJdGVtS2luZCxcbiAgR2VvTWFwTGF5ZXIsXG4gIEdlb01hcE1vZGVsLFxuICBHZW9NYXBPcGVyYXRpb25Nb2RlLFxuICBHZW9NYXBTZXJ2aWNlLFxuICBHZW9NYXBWaWV3cG9ydCxcbiAgR2VvTWFwVmlld1N0YXRlLFxuICBHUFNQb3NpdGlvbixcbn0gZnJvbSAnLi9hcGknO1xuaW1wb3J0IHsgVmlld0NvbnRleHRDaGFuZ2UgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpJztcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcblxuZXhwb3J0IGVudW0gTWFwRW5naW5lIHtcbiAgR09PR0xFID0gJ0dPT0dMRScsXG4gIExFQUZMRVQgPSAnTEVBRkxFVCcsXG59XG5cbmV4cG9ydCBjb25zdCBNQVBfRU5HSU5FID0gbmV3IEluamVjdGlvblRva2VuPE1hcEVuZ2luZT4oJ01BUF9FTkdJTkUnKTtcblxuY29uc3QgaXRlbUVxOiBWYWx1ZUVxdWFsaXR5Rm48QXJyYXk8R2VvTWFwSXRlbT4+ID0gKGE6IEFycmF5PEdlb01hcEl0ZW0+LCBiOiBBcnJheTxHZW9NYXBJdGVtPikgPT4ge1xuICBjb25zdCBwb3NpdGlvbnMgPSBuZXcgU2V0KGEubWFwKChpdDogR2VvTWFwSXRlbSkgPT4gaXQucG9zaXRpb24pKTtcbiAgYi5mb3JFYWNoKChpdDogR2VvTWFwSXRlbSkgPT4gcG9zaXRpb25zLmRlbGV0ZShpdC5wb3NpdGlvbikpO1xuICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIHBvc2l0aW9ucy5zaXplID09PSAwO1xufTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtbWFwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LW1hcC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9zbWFydC1tYXAuY29tcG9uZW50LmNzcycsXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0TWFwQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlclZpZXdJbml0IHtcbiAgTWFwRW5naW5lID0gTWFwRW5naW5lO1xuXG4gIEBJbnB1dCgpIHV1aWQhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGlkZW50aWZpZXIhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHBhcmVudD86IGFueTtcblxuICByZWFkb25seSBtb2RlbDogV3JpdGFibGVTaWduYWw8R2VvTWFwTW9kZWwgfCB1bmRlZmluZWQ+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGl0ZW1zOiBTaWduYWw8QXJyYXk8R2VvTWFwSXRlbT4+ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1vZGVsID0gdGhpcy5tb2RlbCgpO1xuICAgIHJldHVybiBtb2RlbD8ubGF5ZXJzLmZsYXRNYXAoKGwpID0+IGwuaXRlbXMgPz8gW10pID8/IFtdO1xuICB9KTtcblxuICByZWFkb25seSBzZWxlY3Rpb246IFNpZ25hbDxTZXQ8c3RyaW5nPj4gPSBjb21wdXRlZChcbiAgICAoKSA9PlxuICAgICAgbmV3IFNldChcbiAgICAgICAgdGhpcy5pdGVtcygpXG4gICAgICAgICAgLmZpbHRlcigoaXQpID0+ICEhaXQuc2VsZWN0ZWQpXG4gICAgICAgICAgLm1hcCgoaXQpID0+IGl0LmlkISlcbiAgICAgICAgICAudmFsdWVzKClcbiAgICAgIClcbiAgKTtcblxuICB2aWV3Q29udGV4dFNlcnZpY2U/OiBTbWFydFZpZXdDb250ZXh0U2VydmljZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KE1BUF9FTkdJTkUpXG4gICAgcHVibGljIG1hcEVuZ2luZTogTWFwRW5naW5lLFxuICAgIHByaXZhdGUgYXBpOiBHZW9NYXBTZXJ2aWNlXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAvLyB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgfVxuXG4gIGFzeW5jIGxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgbW9kZWw6IEdlb01hcE1vZGVsID0gYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLmFwaS5sb2FkKHRoaXMudXVpZCwgdGhpcy5pZGVudGlmaWVyKSk7XG4gICAgaWYgKCFtb2RlbC52aWV3cG9ydCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdHZW9NYXBNb2RlbCBjb250YWlucyBubyB2aWV3cG9ydCEnKTtcbiAgICB9XG4gICAgdGhpcy5tb2RlbC51cGRhdGUoKCkgPT4gbW9kZWwpO1xuICB9XG5cbiAgYXN5bmMgbW92ZSh2aWV3cG9ydDogR2VvTWFwVmlld3BvcnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoaXQpID0+IHtcbiAgICAgIGNvbnNvbGUubG9nKCdtb2RlbCB1cGRhdGUgaXMgcnVubmluZyEnKTtcbiAgICAgIGlmIChpdCkge1xuICAgICAgICBpdC52aWV3cG9ydCA9IHZpZXdwb3J0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGl0O1xuICAgIH0pO1xuICAgIGNvbnN0IGNoYW5nZTogR2VvTWFwQ2hhbmdlID0gYXdhaXQgbGFzdFZhbHVlRnJvbShcbiAgICAgIHRoaXMuYXBpLm1vdmUodGhpcy51dWlkLCB0aGlzLmlkZW50aWZpZXIsIHZpZXdwb3J0KVxuICAgICk7XG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoY2hhbmdlKTtcbiAgfVxuXG4gIGFzeW5jIHVwZGF0ZShtYXBTdGF0ZTogR2VvTWFwVmlld1N0YXRlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5tb2RlbC51cGRhdGUoKGl0KSA9PiB7XG4gICAgICBpZiAoaXQpIHtcbiAgICAgICAgaXQudmlld1N0YXRlID0gbWFwU3RhdGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXQ7XG4gICAgfSk7XG4gICAgY29uc3QgY2hhbmdlOiBHZW9NYXBDaGFuZ2UgPSBhd2FpdCBsYXN0VmFsdWVGcm9tKFxuICAgICAgdGhpcy5hcGkudXBkYXRlKHRoaXMudXVpZCwgdGhpcy5pZGVudGlmaWVyLCBtYXBTdGF0ZSlcbiAgICApO1xuICAgIHRoaXMuaGFuZGxlQ2hhbmdlKGNoYW5nZSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUNoYW5nZShjaGFuZ2U6IEdlb01hcENoYW5nZSk6IHZvaWQge1xuICAgIGlmICghY2hhbmdlLml0ZW1zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5tb2RlbC51cGRhdGUoKGl0KSA9PiB7XG4gICAgICBjb25zdCBsYXllcnNCeUlkOiBNYXA8c3RyaW5nLCBHZW9NYXBMYXllcj4gPSBuZXcgTWFwKCk7XG4gICAgICBpZiAoIWl0KSB7XG4gICAgICAgIHJldHVybiBpdDtcbiAgICAgIH1cbiAgICAgIGl0LmxheWVycy5mb3JFYWNoKChsYXllcikgPT4gbGF5ZXJzQnlJZC5zZXQobGF5ZXIuY29kZSEsIGxheWVyKSk7XG4gICAgICBmb3IgKGNvbnN0IGxheWVyQ2hhbmdlIG9mIGNoYW5nZS5pdGVtcykge1xuICAgICAgICBjb25zdCBsYXllcklkID0gbGF5ZXJDaGFuZ2UuY29kZSE7XG4gICAgICAgIGNvbnN0IHRvQWRkID0gbGF5ZXJDaGFuZ2UudG9BZGQ7XG4gICAgICAgIGxheWVyc0J5SWQuc2V0KGxheWVySWQsIHtcbiAgICAgICAgICBjb2RlOiBsYXllcklkLFxuICAgICAgICAgIGl0ZW1zOiB0b0FkZCxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5pdCxcbiAgICAgICAgbGF5ZXJzOiBbLi4ubGF5ZXJzQnlJZC52YWx1ZXMoKV0sXG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlTWFwQ2xpY2socG9zaXRpb246IEdQU1Bvc2l0aW9uKTogdm9pZCB7XG4gICAgY29uc3Qgb3BlcmF0aW9uTW9kZSA9IHRoaXMubW9kZWwoKT8udmlld1N0YXRlPy5vcGVyYXRpb25Nb2RlID8/IEdlb01hcE9wZXJhdGlvbk1vZGUuQUNUSU9OO1xuICAgIHN3aXRjaCAob3BlcmF0aW9uTW9kZSkge1xuICAgICAgY2FzZSBHZW9NYXBPcGVyYXRpb25Nb2RlLkFDVElPTjpcbiAgICAgICAgLy8gVE9ETzogRmlyZSBhY3Rpb24gZm9yIGxheWVyLCBpZiBhcHBsaWNhYmxlIChtYXliZSBvbmx5IG9uIGRvdWJsZSBjbGljaykuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBHZW9NYXBPcGVyYXRpb25Nb2RlLlNFTEVDVElPTjpcbiAgICAgICAgLy8gbm8tb3AsIGNhbid0IHNlbGVjdCBlbXB0eSBzcGFjZS5cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEdlb01hcE9wZXJhdGlvbk1vZGUuUExBQ0VNRU5UOlxuICAgICAgICBsYXN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMuYXBpLmludGVyYWN0KHRoaXMudXVpZCwgdGhpcy5pZGVudGlmaWVyLCB7XG4gICAgICAgICAgICBvcGVyYXRpb25Nb2RlLFxuICAgICAgICAgICAgdGFyZ2V0SXRlbToge1xuICAgICAgICAgICAgICBraW5kOiBHZW9NYXBJdGVtS2luZC5NQVJLRVIsIC8vIEZJWE1FOiBXZSBzaGFsbCBzdXBwb3J0IG1vcmUgaXRlbSBraW5kcyFcbiAgICAgICAgICAgICAgcG9zaXRpb24sXG4gICAgICAgICAgICAgIGljb25zOiB7fSxcbiAgICAgICAgICAgICAgYm91bmRzOiBbXSxcbiAgICAgICAgICAgICAgYWN0aW9uczogW10sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgdGFyZ2V0TGF5ZXI6ICcnLFxuICAgICAgICAgICAgaW52ZXJzZTogZmFsc2UsXG4gICAgICAgICAgfSlcbiAgICAgICAgKS50aGVuKFxuICAgICAgICAgIChjaGFuZ2U6IFZpZXdDb250ZXh0Q2hhbmdlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudmlld0NvbnRleHRTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignU21hcnQgTWFwIGhhcyBubyBWaWV3Q29udGV4dCBTZXJ2aWNlIHNldCB1cCEnKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dFNlcnZpY2UuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKGNoYW5nZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHN1Ym1pdCBzZWxlY3Rpb24gY2hhbmdlISAnLCBlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBoYW5kbGVJdGVtQ2xpY2soaWQ6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IG9wZXJhdGlvbk1vZGUgPSB0aGlzLm1vZGVsKCk/LnZpZXdTdGF0ZT8ub3BlcmF0aW9uTW9kZSA/PyBHZW9NYXBPcGVyYXRpb25Nb2RlLkFDVElPTjtcbiAgICBjb25zdCB0YXJnZXRJdGVtID0gdGhpcy5pdGVtcygpLmZpbmQoKGl0KSA9PiBpZCA9PT0gaXQuaWQpO1xuICAgIGlmICghdGFyZ2V0SXRlbSkge1xuICAgICAgY29uc29sZS53YXJuKCdTZWxlY3Rpb24gaXRlbSBpcyBzZWVtaW5nbHkgbWlzc2luZyBmcm9tIGtub3duIGl0ZW1zOiAnLCBpZCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3dpdGNoIChvcGVyYXRpb25Nb2RlKSB7XG4gICAgICBjYXNlIEdlb01hcE9wZXJhdGlvbk1vZGUuQUNUSU9OOlxuICAgICAgICAvLyBUT0RPOiBmaXJlIGFjdGlvbiFcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIEdlb01hcE9wZXJhdGlvbk1vZGUuU0VMRUNUSU9OOlxuICAgICAgICBsYXN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMuYXBpLmludGVyYWN0KHRoaXMudXVpZCwgdGhpcy5pZGVudGlmaWVyLCB7XG4gICAgICAgICAgICBvcGVyYXRpb25Nb2RlLFxuICAgICAgICAgICAgdGFyZ2V0SXRlbSxcbiAgICAgICAgICAgIHRhcmdldExheWVyOiAnJyxcbiAgICAgICAgICAgIGludmVyc2U6IHRoaXMuc2VsZWN0aW9uKCkuaGFzKGlkKSxcbiAgICAgICAgICB9KVxuICAgICAgICApLnRoZW4oXG4gICAgICAgICAgKGNoYW5nZTogVmlld0NvbnRleHRDaGFuZ2UpID0+IHtcbiAgICAgICAgICAgIGlmICghdGhpcy52aWV3Q29udGV4dFNlcnZpY2UpIHtcbiAgICAgICAgICAgICAgY29uc29sZS53YXJuKCdTbWFydCBNYXAgaGFzIG5vIFZpZXdDb250ZXh0IFNlcnZpY2Ugc2V0IHVwIScpO1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0U2VydmljZS5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoY2hhbmdlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnI6IGFueSkgPT4ge1xuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc3VibWl0IHNlbGVjdGlvbiBjaGFuZ2UhICcsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgR2VvTWFwT3BlcmF0aW9uTW9kZS5QTEFDRU1FTlQ6XG4gICAgICAgIC8vIGNsaWNraW5nIGFuIGl0ZW0gbWF5IHJlbW92ZSBpdCwgaWYgaXQncyBvbmx5IGEgcGVuZGluZyBpdGVtLiBUbyByZXBvc2l0aW9uIGV4aXN0aW5nXG4gICAgICAgIC8vIGl0ZW1zLCB3ZSBzaGFsbCByZWFjdCB0byBkcmFnRW5kIGV2ZW50cyBvbmx5LlxuICAgICAgICBsYXN0VmFsdWVGcm9tKFxuICAgICAgICAgIHRoaXMuYXBpLmludGVyYWN0KHRoaXMudXVpZCwgdGhpcy5pZGVudGlmaWVyLCB7XG4gICAgICAgICAgICBvcGVyYXRpb25Nb2RlLFxuICAgICAgICAgICAgdGFyZ2V0SXRlbSxcbiAgICAgICAgICAgIHRhcmdldExheWVyOiAnJyxcbiAgICAgICAgICAgIGludmVyc2U6IHRydWUsXG4gICAgICAgICAgfSlcbiAgICAgICAgKS50aGVuKFxuICAgICAgICAgIChjaGFuZ2U6IFZpZXdDb250ZXh0Q2hhbmdlKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMudmlld0NvbnRleHRTZXJ2aWNlKSB7XG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignU21hcnQgTWFwIGhhcyBubyBWaWV3Q29udGV4dCBTZXJ2aWNlIHNldCB1cCEnKTtcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dFNlcnZpY2UuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKGNoYW5nZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHN1Ym1pdCBwbGFjZW1lbnQgY2hhbmdlISAnLCBlcnIpO1xuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG59XG4iLCJAaWYgKG1vZGVsKCkpIHsgQGlmIChtYXBFbmdpbmUgPT09IE1hcEVuZ2luZS5HT09HTEUpIHtcclxuPGdvb2dsZS1tYXBcclxuICBbbW9kZWxdPVwibW9kZWwoKSFcIlxyXG4gIFtpdGVtc109XCJpdGVtcygpXCJcclxuICBbc3R5bGVdPVwieyB3aWR0aDogJzEwMCUnLCBoZWlnaHQ6ICczMjBweCcgfVwiXHJcbiAgKG9uTWFwRHJhZ0VuZCk9XCJtb3ZlKCRldmVudC52aWV3cG9ydClcIlxyXG4gIChvblpvb21DaGFuZ2VkKT1cIm1vdmUoJGV2ZW50LnZpZXdwb3J0KVwiXHJcbiAgKG9uTWFwQ2xpY2spPVwiaGFuZGxlTWFwQ2xpY2soJGV2ZW50LmNvb3JkaW5hdGVzKVwiXHJcbiAgKG9uT3ZlcmxheUNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQuaXRlbUlkKVwiXHJcbj5cclxuPC9nb29nbGUtbWFwPlxyXG59IEBlbHNlIGlmIChtYXBFbmdpbmUgPT09IE1hcEVuZ2luZS5MRUFGTEVUKSB7XHJcbjxsZWFmbGV0LW1hcFxyXG4gIFttb2RlbF09XCJtb2RlbCgpIVwiXHJcbiAgW2l0ZW1zXT1cIml0ZW1zKClcIlxyXG4gIChvbk1hcERyYWdFbmQpPVwibW92ZSgkZXZlbnQudmlld3BvcnQpXCJcclxuICAob25ab29tQ2hhbmdlZCk9XCJtb3ZlKCRldmVudC52aWV3cG9ydClcIlxyXG4gIChvbk1hcENsaWNrKT1cImhhbmRsZU1hcENsaWNrKCRldmVudC5jb29yZGluYXRlcylcIlxyXG4gIChvbk92ZXJsYXlDbGljayk9XCJoYW5kbGVJdGVtQ2xpY2soJGV2ZW50Lml0ZW1JZClcIlxyXG4+XHJcbjwvbGVhZmxldC1tYXA+XHJcbn0gQGVsc2Uge1xyXG48cD5cclxuICA8c3Ryb25nPk5vdCByZWNvZ25pc2VkIG1hcCBlbmdpbmU6IFsge3sgbWFwRW5naW5lIH19IF08L3N0cm9uZz5cclxuPC9wPlxyXG48cD5QbGVhc2UgcHJvdmlkZSBhIHZhbGlkIGNob2ljZSBvZiBtYXAgZW5naW5lITwvcD5cclxufSB9XHJcbiJdfQ==
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWFwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9zbWFydC1tYXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL3NtYXJ0LW1hcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULFFBQVEsRUFDUixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxNQUFNLEdBR1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyQyxPQUFPLEVBR0wsY0FBYyxFQUdkLG1CQUFtQixHQUtwQixNQUFNLE9BQU8sQ0FBQzs7Ozs7QUFJZixNQUFNLENBQU4sSUFBWSxTQUdYO0FBSEQsV0FBWSxTQUFTO0lBQ25CLDhCQUFpQixDQUFBO0lBQ2pCLGdDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxTQUFTLEtBQVQsU0FBUyxRQUdwQjtBQUVELE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBWSxZQUFZLENBQUMsQ0FBQztBQUV0RSxNQUFNLE1BQU0sR0FBdUMsQ0FBQyxDQUFvQixFQUFFLENBQW9CLEVBQUUsRUFBRTtJQUNoRyxNQUFNLFNBQVMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNsRSxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBYyxFQUFFLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzdELE9B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clxuICBBZnRlclZpZXdJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBjb21wdXRlZCxcclxuICBJbmplY3QsXHJcbiAgSW5qZWN0aW9uVG9rZW4sXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFNpZ25hbCxcclxuICBzaWduYWwsXHJcbiAgVmFsdWVFcXVhbGl0eUZuLFxyXG4gIFdyaXRhYmxlU2lnbmFsLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgR2VvTWFwQ2hhbmdlLFxyXG4gIEdlb01hcEl0ZW0sXHJcbiAgR2VvTWFwSXRlbUtpbmQsXHJcbiAgR2VvTWFwTGF5ZXIsXHJcbiAgR2VvTWFwTW9kZWwsXHJcbiAgR2VvTWFwT3BlcmF0aW9uTW9kZSxcclxuICBHZW9NYXBTZXJ2aWNlLFxyXG4gIEdlb01hcFZpZXdwb3J0LFxyXG4gIEdlb01hcFZpZXdTdGF0ZSxcclxuICBHUFNQb3NpdGlvbixcclxufSBmcm9tICcuL2FwaSc7XHJcbmltcG9ydCB7IFZpZXdDb250ZXh0Q2hhbmdlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCBlbnVtIE1hcEVuZ2luZSB7XHJcbiAgR09PR0xFID0gJ0dPT0dMRScsXHJcbiAgTEVBRkxFVCA9ICdMRUFGTEVUJyxcclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IE1BUF9FTkdJTkUgPSBuZXcgSW5qZWN0aW9uVG9rZW48TWFwRW5naW5lPignTUFQX0VOR0lORScpO1xyXG5cclxuY29uc3QgaXRlbUVxOiBWYWx1ZUVxdWFsaXR5Rm48QXJyYXk8R2VvTWFwSXRlbT4+ID0gKGE6IEFycmF5PEdlb01hcEl0ZW0+LCBiOiBBcnJheTxHZW9NYXBJdGVtPikgPT4ge1xyXG4gIGNvbnN0IHBvc2l0aW9ucyA9IG5ldyBTZXQoYS5tYXAoKGl0OiBHZW9NYXBJdGVtKSA9PiBpdC5wb3NpdGlvbikpO1xyXG4gIGIuZm9yRWFjaCgoaXQ6IEdlb01hcEl0ZW0pID0+IHBvc2l0aW9ucy5kZWxldGUoaXQucG9zaXRpb24pKTtcclxuICByZXR1cm4gYS5sZW5ndGggPT09IGIubGVuZ3RoICYmIHBvc2l0aW9ucy5zaXplID09PSAwO1xyXG59O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdzbWFydC1tYXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydC1tYXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zbWFydC1tYXAuY29tcG9uZW50LmNzcycsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbWFydE1hcENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgTWFwRW5naW5lID0gTWFwRW5naW5lO1xyXG5cclxuICBASW5wdXQoKSB1dWlkITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlkZW50aWZpZXIhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFyZW50PzogYW55O1xyXG5cclxuICByZWFkb25seSBtb2RlbDogV3JpdGFibGVTaWduYWw8R2VvTWFwTW9kZWwgfCB1bmRlZmluZWQ+ID0gc2lnbmFsKHVuZGVmaW5lZCk7XHJcbiAgcmVhZG9ubHkgaXRlbXM6IFNpZ25hbDxBcnJheTxHZW9NYXBJdGVtPj4gPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBjb25zdCBtb2RlbCA9IHRoaXMubW9kZWwoKTtcclxuICAgIHJldHVybiBtb2RlbD8ubGF5ZXJzLmZsYXRNYXAoKGwpID0+IGwuaXRlbXMgPz8gW10pID8/IFtdO1xyXG4gIH0pO1xyXG5cclxuICByZWFkb25seSBzZWxlY3Rpb246IFNpZ25hbDxTZXQ8c3RyaW5nPj4gPSBjb21wdXRlZChcclxuICAgICgpID0+XHJcbiAgICAgIG5ldyBTZXQoXHJcbiAgICAgICAgdGhpcy5pdGVtcygpXHJcbiAgICAgICAgICAuZmlsdGVyKChpdCkgPT4gISFpdC5zZWxlY3RlZClcclxuICAgICAgICAgIC5tYXAoKGl0KSA9PiBpdC5pZCEpXHJcbiAgICAgICAgICAudmFsdWVzKClcclxuICAgICAgKVxyXG4gICk7XHJcblxyXG4gIHZpZXdDb250ZXh0U2VydmljZT86IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIEBJbmplY3QoTUFQX0VOR0lORSlcclxuICAgIHB1YmxpYyBtYXBFbmdpbmU6IE1hcEVuZ2luZSxcclxuICAgIHByaXZhdGUgYXBpOiBHZW9NYXBTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIHRoaXMubG9hZCgpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5sb2FkKCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBsb2FkKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgY29uc3QgbW9kZWw6IEdlb01hcE1vZGVsID0gYXdhaXQgbGFzdFZhbHVlRnJvbSh0aGlzLmFwaS5sb2FkKHRoaXMudXVpZCwgdGhpcy5pZGVudGlmaWVyKSk7XHJcbiAgICBpZiAoIW1vZGVsLnZpZXdwb3J0KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcignR2VvTWFwTW9kZWwgY29udGFpbnMgbm8gdmlld3BvcnQhJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoKSA9PiBtb2RlbCk7XHJcbiAgfVxyXG5cclxuICBhc3luYyBtb3ZlKHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgdGhpcy5tb2RlbC51cGRhdGUoKGl0KSA9PiB7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdtb2RlbCB1cGRhdGUgaXMgcnVubmluZyEnKTtcclxuICAgICAgaWYgKGl0KSB7XHJcbiAgICAgICAgaXQudmlld3BvcnQgPSB2aWV3cG9ydDtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gaXQ7XHJcbiAgICB9KTtcclxuICAgIGNvbnN0IGNoYW5nZTogR2VvTWFwQ2hhbmdlID0gYXdhaXQgbGFzdFZhbHVlRnJvbShcclxuICAgICAgdGhpcy5hcGkubW92ZSh0aGlzLnV1aWQsIHRoaXMuaWRlbnRpZmllciwgdmlld3BvcnQpXHJcbiAgICApO1xyXG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoY2hhbmdlKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHVwZGF0ZShtYXBTdGF0ZTogR2VvTWFwVmlld1N0YXRlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLm1vZGVsLnVwZGF0ZSgoaXQpID0+IHtcclxuICAgICAgaWYgKGl0KSB7XHJcbiAgICAgICAgaXQudmlld1N0YXRlID0gbWFwU3RhdGU7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIGl0O1xyXG4gICAgfSk7XHJcbiAgICBjb25zdCBjaGFuZ2U6IEdlb01hcENoYW5nZSA9IGF3YWl0IGxhc3RWYWx1ZUZyb20oXHJcbiAgICAgIHRoaXMuYXBpLnVwZGF0ZSh0aGlzLnV1aWQsIHRoaXMuaWRlbnRpZmllciwgbWFwU3RhdGUpXHJcbiAgICApO1xyXG4gICAgdGhpcy5oYW5kbGVDaGFuZ2UoY2hhbmdlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFuZGxlQ2hhbmdlKGNoYW5nZTogR2VvTWFwQ2hhbmdlKTogdm9pZCB7XHJcbiAgICBpZiAoIWNoYW5nZS5pdGVtcykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5tb2RlbC51cGRhdGUoKGl0KSA9PiB7XHJcbiAgICAgIGNvbnN0IGxheWVyc0J5SWQ6IE1hcDxzdHJpbmcsIEdlb01hcExheWVyPiA9IG5ldyBNYXAoKTtcclxuICAgICAgaWYgKCFpdCkge1xyXG4gICAgICAgIHJldHVybiBpdDtcclxuICAgICAgfVxyXG4gICAgICBpdC5sYXllcnMuZm9yRWFjaCgobGF5ZXIpID0+IGxheWVyc0J5SWQuc2V0KGxheWVyLmNvZGUhLCBsYXllcikpO1xyXG4gICAgICBmb3IgKGNvbnN0IGxheWVyQ2hhbmdlIG9mIGNoYW5nZS5pdGVtcykge1xyXG4gICAgICAgIGNvbnN0IGxheWVySWQgPSBsYXllckNoYW5nZS5jb2RlITtcclxuICAgICAgICBjb25zdCB0b0FkZCA9IGxheWVyQ2hhbmdlLnRvQWRkO1xyXG4gICAgICAgIGxheWVyc0J5SWQuc2V0KGxheWVySWQsIHtcclxuICAgICAgICAgIGNvZGU6IGxheWVySWQsXHJcbiAgICAgICAgICBpdGVtczogdG9BZGQsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICAuLi5pdCxcclxuICAgICAgICBsYXllcnM6IFsuLi5sYXllcnNCeUlkLnZhbHVlcygpXSxcclxuICAgICAgfTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlTWFwQ2xpY2socG9zaXRpb246IEdQU1Bvc2l0aW9uKTogdm9pZCB7XHJcbiAgICBjb25zdCBvcGVyYXRpb25Nb2RlID0gdGhpcy5tb2RlbCgpPy52aWV3U3RhdGU/Lm9wZXJhdGlvbk1vZGUgPz8gR2VvTWFwT3BlcmF0aW9uTW9kZS5BQ1RJT047XHJcbiAgICBzd2l0Y2ggKG9wZXJhdGlvbk1vZGUpIHtcclxuICAgICAgY2FzZSBHZW9NYXBPcGVyYXRpb25Nb2RlLkFDVElPTjpcclxuICAgICAgICAvLyBUT0RPOiBGaXJlIGFjdGlvbiBmb3IgbGF5ZXIsIGlmIGFwcGxpY2FibGUgKG1heWJlIG9ubHkgb24gZG91YmxlIGNsaWNrKS5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBHZW9NYXBPcGVyYXRpb25Nb2RlLlNFTEVDVElPTjpcclxuICAgICAgICAvLyBuby1vcCwgY2FuJ3Qgc2VsZWN0IGVtcHR5IHNwYWNlLlxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEdlb01hcE9wZXJhdGlvbk1vZGUuUExBQ0VNRU5UOlxyXG4gICAgICAgIGxhc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgICB0aGlzLmFwaS5pbnRlcmFjdCh0aGlzLnV1aWQsIHRoaXMuaWRlbnRpZmllciwge1xyXG4gICAgICAgICAgICBvcGVyYXRpb25Nb2RlLFxyXG4gICAgICAgICAgICB0YXJnZXRJdGVtOiB7XHJcbiAgICAgICAgICAgICAga2luZDogR2VvTWFwSXRlbUtpbmQuTUFSS0VSLCAvLyBGSVhNRTogV2Ugc2hhbGwgc3VwcG9ydCBtb3JlIGl0ZW0ga2luZHMhXHJcbiAgICAgICAgICAgICAgcG9zaXRpb24sXHJcbiAgICAgICAgICAgICAgaWNvbnM6IHt9LFxyXG4gICAgICAgICAgICAgIGJvdW5kczogW10sXHJcbiAgICAgICAgICAgICAgYWN0aW9uczogW10sXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHRhcmdldExheWVyOiAnJyxcclxuICAgICAgICAgICAgaW52ZXJzZTogZmFsc2UsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICkudGhlbihcclxuICAgICAgICAgIChjaGFuZ2U6IFZpZXdDb250ZXh0Q2hhbmdlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy52aWV3Q29udGV4dFNlcnZpY2UpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NtYXJ0IE1hcCBoYXMgbm8gVmlld0NvbnRleHQgU2VydmljZSBzZXQgdXAhJyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHRTZXJ2aWNlLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShjaGFuZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHN1Ym1pdCBzZWxlY3Rpb24gY2hhbmdlISAnLCBlcnIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVJdGVtQ2xpY2soaWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3Qgb3BlcmF0aW9uTW9kZSA9IHRoaXMubW9kZWwoKT8udmlld1N0YXRlPy5vcGVyYXRpb25Nb2RlID8/IEdlb01hcE9wZXJhdGlvbk1vZGUuQUNUSU9OO1xyXG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRoaXMuaXRlbXMoKS5maW5kKChpdCkgPT4gaWQgPT09IGl0LmlkKTtcclxuICAgIGlmICghdGFyZ2V0SXRlbSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oJ1NlbGVjdGlvbiBpdGVtIGlzIHNlZW1pbmdseSBtaXNzaW5nIGZyb20ga25vd24gaXRlbXM6ICcsIGlkKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAob3BlcmF0aW9uTW9kZSkge1xyXG4gICAgICBjYXNlIEdlb01hcE9wZXJhdGlvbk1vZGUuQUNUSU9OOlxyXG4gICAgICAgIC8vIFRPRE86IGZpcmUgYWN0aW9uIVxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIEdlb01hcE9wZXJhdGlvbk1vZGUuU0VMRUNUSU9OOlxyXG4gICAgICAgIGxhc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgICB0aGlzLmFwaS5pbnRlcmFjdCh0aGlzLnV1aWQsIHRoaXMuaWRlbnRpZmllciwge1xyXG4gICAgICAgICAgICBvcGVyYXRpb25Nb2RlLFxyXG4gICAgICAgICAgICB0YXJnZXRJdGVtLFxyXG4gICAgICAgICAgICB0YXJnZXRMYXllcjogJycsXHJcbiAgICAgICAgICAgIGludmVyc2U6IHRoaXMuc2VsZWN0aW9uKCkuaGFzKGlkKSxcclxuICAgICAgICAgIH0pXHJcbiAgICAgICAgKS50aGVuKFxyXG4gICAgICAgICAgKGNoYW5nZTogVmlld0NvbnRleHRDaGFuZ2UpID0+IHtcclxuICAgICAgICAgICAgaWYgKCF0aGlzLnZpZXdDb250ZXh0U2VydmljZSkge1xyXG4gICAgICAgICAgICAgIGNvbnNvbGUud2FybignU21hcnQgTWFwIGhhcyBubyBWaWV3Q29udGV4dCBTZXJ2aWNlIHNldCB1cCEnKTtcclxuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dFNlcnZpY2UuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKGNoYW5nZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICAoZXJyOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKCdDb3VsZCBub3Qgc3VibWl0IHNlbGVjdGlvbiBjaGFuZ2UhICcsIGVycik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBHZW9NYXBPcGVyYXRpb25Nb2RlLlBMQUNFTUVOVDpcclxuICAgICAgICAvLyBjbGlja2luZyBhbiBpdGVtIG1heSByZW1vdmUgaXQsIGlmIGl0J3Mgb25seSBhIHBlbmRpbmcgaXRlbS4gVG8gcmVwb3NpdGlvbiBleGlzdGluZ1xyXG4gICAgICAgIC8vIGl0ZW1zLCB3ZSBzaGFsbCByZWFjdCB0byBkcmFnRW5kIGV2ZW50cyBvbmx5LlxyXG4gICAgICAgIGxhc3RWYWx1ZUZyb20oXHJcbiAgICAgICAgICB0aGlzLmFwaS5pbnRlcmFjdCh0aGlzLnV1aWQsIHRoaXMuaWRlbnRpZmllciwge1xyXG4gICAgICAgICAgICBvcGVyYXRpb25Nb2RlLFxyXG4gICAgICAgICAgICB0YXJnZXRJdGVtLFxyXG4gICAgICAgICAgICB0YXJnZXRMYXllcjogJycsXHJcbiAgICAgICAgICAgIGludmVyc2U6IHRydWUsXHJcbiAgICAgICAgICB9KVxyXG4gICAgICAgICkudGhlbihcclxuICAgICAgICAgIChjaGFuZ2U6IFZpZXdDb250ZXh0Q2hhbmdlKSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy52aWV3Q29udGV4dFNlcnZpY2UpIHtcclxuICAgICAgICAgICAgICBjb25zb2xlLndhcm4oJ1NtYXJ0IE1hcCBoYXMgbm8gVmlld0NvbnRleHQgU2VydmljZSBzZXQgdXAhJyk7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudmlld0NvbnRleHRTZXJ2aWNlLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShjaGFuZ2UpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgKGVycjogYW55KSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybignQ291bGQgbm90IHN1Ym1pdCBwbGFjZW1lbnQgY2hhbmdlISAnLCBlcnIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIkBpZiAobW9kZWwoKSkgeyBAaWYgKG1hcEVuZ2luZSA9PT0gTWFwRW5naW5lLkdPT0dMRSkge1xyXG48Z29vZ2xlLW1hcFxyXG4gIFttb2RlbF09XCJtb2RlbCgpIVwiXHJcbiAgW2l0ZW1zXT1cIml0ZW1zKClcIlxyXG4gIFtzdHlsZV09XCJ7IHdpZHRoOiAnMTAwJScsIGhlaWdodDogJzMyMHB4JyB9XCJcclxuICAob25NYXBEcmFnRW5kKT1cIm1vdmUoJGV2ZW50LnZpZXdwb3J0KVwiXHJcbiAgKG9uWm9vbUNoYW5nZWQpPVwibW92ZSgkZXZlbnQudmlld3BvcnQpXCJcclxuICAob25NYXBDbGljayk9XCJoYW5kbGVNYXBDbGljaygkZXZlbnQuY29vcmRpbmF0ZXMpXCJcclxuICAob25PdmVybGF5Q2xpY2spPVwiaGFuZGxlSXRlbUNsaWNrKCRldmVudC5pdGVtSWQpXCJcclxuPlxyXG48L2dvb2dsZS1tYXA+XHJcbn0gQGVsc2UgaWYgKG1hcEVuZ2luZSA9PT0gTWFwRW5naW5lLkxFQUZMRVQpIHtcclxuPGxlYWZsZXQtbWFwXHJcbiAgW21vZGVsXT1cIm1vZGVsKCkhXCJcclxuICBbaXRlbXNdPVwiaXRlbXMoKVwiXHJcbiAgKG9uTWFwRHJhZ0VuZCk9XCJtb3ZlKCRldmVudC52aWV3cG9ydClcIlxyXG4gIChvblpvb21DaGFuZ2VkKT1cIm1vdmUoJGV2ZW50LnZpZXdwb3J0KVwiXHJcbiAgKG9uTWFwQ2xpY2spPVwiaGFuZGxlTWFwQ2xpY2soJGV2ZW50LmNvb3JkaW5hdGVzKVwiXHJcbiAgKG9uT3ZlcmxheUNsaWNrKT1cImhhbmRsZUl0ZW1DbGljaygkZXZlbnQuaXRlbUlkKVwiXHJcbj5cclxuPC9sZWFmbGV0LW1hcD5cclxufSBAZWxzZSB7XHJcbjxwPlxyXG4gIDxzdHJvbmc+Tm90IHJlY29nbmlzZWQgbWFwIGVuZ2luZTogWyB7eyBtYXBFbmdpbmUgfX0gXTwvc3Ryb25nPlxyXG48L3A+XHJcbjxwPlBsZWFzZSBwcm92aWRlIGEgdmFsaWQgY2hvaWNlIG9mIG1hcCBlbmdpbmUhPC9wPlxyXG59IH1cclxuIl19
|
|
@@ -19,4 +19,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
19
19
|
exports: [SmartMapComponent, GoogleMap, LeafletMap],
|
|
20
20
|
}]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWFwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LW1hcC9zbWFydC1tYXAubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNqRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUM5QyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBUWhELE1BQU0sT0FBTyxjQUFjOytHQUFkLGNBQWM7Z0hBQWQsY0FBYyxpQkFMVixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxhQUM3QyxZQUFZLEVBQUUsYUFBYSxhQUUzQixpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVTtnSEFFdkMsY0FBYyxhQUhkLENBQUMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsWUFEdEQsWUFBWSxFQUFFLGFBQWE7OzRGQUkxQixjQUFjO2tCQU4xQixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLGlCQUFpQixFQUFFLFNBQVMsRUFBRSxVQUFVLENBQUM7b0JBQ3hELE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUM7b0JBQ3RDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDO29CQUNoRSxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxDQUFDO2lCQUNwRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1BUF9FTkdJTkUsIE1hcEVuZ2luZSwgU21hcnRNYXBDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LW1hcC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBCcm93c2VyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEdvb2dsZU1hcCB9IGZyb20gJy4vaW1wbC9nb29nbGUtbWFwJztcclxuaW1wb3J0IHsgTGVhZmxldE1hcCB9IGZyb20gJy4vaW1wbC9sZWFmbGV0LW1hcCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW1NtYXJ0TWFwQ29tcG9uZW50LCBHb29nbGVNYXAsIExlYWZsZXRNYXBdLFxyXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEJyb3dzZXJNb2R1bGVdLFxyXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogTUFQX0VOR0lORSwgdXNlVmFsdWU6IE1hcEVuZ2luZS5HT09HTEUgfV0sXHJcbiAgZXhwb3J0czogW1NtYXJ0TWFwQ29tcG9uZW50LCBHb29nbGVNYXAsIExlYWZsZXRNYXBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRNYXBNb2R1bGUge31cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbWFwLnR5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtbWFwL3NtYXJ0LW1hcC50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2VvTWFwVmlld3BvcnQsIEdQU1Bvc2l0aW9uIH0gZnJvbSAnLi9hcGknO1xyXG5cclxuZXhwb3J0IHR5cGUgTWFwRHJhZ2dlZEV2ZW50ID0ge1xyXG4gIHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydDtcclxuICBvcmlnaW5hbEV2ZW50OiBhbnk7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBab29tQ2hhbmdlZEV2ZW50ID0ge1xyXG4gIHZpZXdwb3J0OiBHZW9NYXBWaWV3cG9ydDtcclxuICBvcmlnaW5hbEV2ZW50OiBhbnk7XHJcbn07XHJcblxyXG5leHBvcnQgdHlwZSBNYXBJdGVtQ2xpY2tlZEV2ZW50ID0ge1xyXG4gIGl0ZW1JZDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsRXZlbnQ6IGFueTtcclxufTtcclxuXHJcbmV4cG9ydCB0eXBlIE1hcENsaWNrZWRFdmVudCA9IHtcclxuICBjb29yZGluYXRlczogR1BTUG9zaXRpb247XHJcbiAgb3JpZ2luYWxFdmVudDogYW55O1xyXG59O1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb29yZCB7XHJcbiAgeDogbnVtYmVyO1xyXG4gIHk6IG51bWJlcjtcclxufVxyXG4iXX0=
|
|
@@ -112,4 +112,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
112
112
|
}, {
|
|
113
113
|
type: Optional
|
|
114
114
|
}] }] });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtdmFsaWRhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC12YWxpZGF0aW9uL25hbWVkLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQWtCLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTWxGLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBQ2pDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBQ2pDLE1BQU0sc0JBQXNCLEdBQUcsV0FBVyxDQUFDO0FBQzNDLE1BQU0sc0JBQXNCLEdBQUcsV0FBVyxDQUFDO0FBRzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBaUQsU0FBa0M7UUFDakYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQXVCLEVBQUUsQ0FBK0I7UUFDdEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsVUFBVSxHQUFHLEVB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QUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbkIsY0FBYyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1RSxDQUFDO2dCQUVELE1BQU07WUFDUixLQUFLLDJCQUEyQixDQUFDLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7K0dBNUdVLHFCQUFxQixrQkFHWixlQUFlO21IQUh4QixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUlJLE1BQU07MkJBQUMsZUFBZTs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldCB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xuaW1wb3J0IHsgU21hcnRGb3JtQ29tcG9uZW50Q29uc3RyYWludCwgU21hcnRWYWxpZGF0b3IgfSBmcm9tICcuLi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5tb2RlbCc7XG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTkFNRURfVkFMSURBVE9SLCBWYWxpZGF0b3JGYWN0b3J5IH0gZnJvbSAnLi9zbWFydC12YWxpZGF0aW9uLnR5cGVzJztcbmltcG9ydCB7IE5hbWVkVmFsaWRhdG9yLCBOYW1lZFZhbGlkYXRvck9wZXJhdGlvbkVudW0gfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpJztcblxuZXhwb3J0IHR5cGUgVmFsaWRhdGVkV2lkZ2V0PFQ+ID0gU21hcnRGb3JtV2lkZ2V0PFQ+ICYge1xuICB2YWxpZGF0b3JzOiBBcnJheTxTbWFydFZhbGlkYXRvcj47XG59O1xuXG5jb25zdCBWQUxJREFUT1JfTkFNRV9NQVggPSAnbWF4JztcbmNvbnN0IFZBTElEQVRPUl9OQU1FX01JTiA9ICdtaW4nO1xuY29uc3QgVkFMSURBVE9SX05BTUVfTUFYX0xFTiA9ICdtYXhMZW5ndGgnO1xuY29uc3QgVkFMSURBVE9SX05BTUVfTUlOX0xFTiA9ICdtaW5MZW5ndGgnO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmFtZWRWYWxpZGF0b3JTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3JpZXM6IE1hcDxzdHJpbmcsIFZhbGlkYXRvckZhY3Rvcnk+O1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoTkFNRURfVkFMSURBVE9SKSBAT3B0aW9uYWwoKSBmYWN0b3JpZXM6IEFycmF5PFZhbGlkYXRvckZhY3Rvcnk+KSB7XG4gICAgY29uc29sZS5sb2coZmFjdG9yaWVzKTtcbiAgICB0aGlzLmZhY3RvcmllcyA9IGZhY3RvcmllcyA/IG5ldyBNYXAoZmFjdG9yaWVzLm1hcCgoaXQpID0+IFtpdC5uYW1lLCBpdF0pKSA6IG5ldyBNYXAoKTtcbiAgfVxuXG4gIGFwcGx5Q29uc3RyYWludCh3OiBWYWxpZGF0ZWRXaWRnZXQ8YW55PiwgYzogU21hcnRGb3JtQ29tcG9uZW50Q29uc3RyYWludCkge1xuICAgIGlmICghdy52YWxpZGF0b3JzKSB7XG4gICAgICB3LnZhbGlkYXRvcnMgPSBbXTtcbiAgICB9XG5cbiAgICB0aGlzLmFwcGx5QnVpbHRJblZhbGlkYXRvcnModywgYyk7XG4gICAgaWYgKGMubmFtZWRWYWxpZGF0b3JzKSB7XG4gICAgICB0aGlzLmFwcGx5TmFtZWRWYWxpZGF0b3JzKHcsIGMubmFtZWRWYWxpZGF0b3JzKTtcbiAgICB9XG4gIH1cblxuICAvLyBUT0RPOiB0aGlzIGxvb2tzIGhvcnJpZmljLCByZWZhY3RvciFcbiAgcHJpdmF0ZSBhcHBseUJ1aWx0SW5WYWxpZGF0b3JzKHc6IFZhbGlkYXRlZFdpZGdldDxhbnk+LCBjOiBTbWFydEZvcm1Db21wb25lbnRDb25zdHJhaW50KSB7XG4gICAgaWYgKGMubWF4KSB7XG4gICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gVkFMSURBVE9SX05BTUVfTUFYKTtcbiAgICAgIGlmIChjLm1heCA+IDApIHtcbiAgICAgICAgdy52YWxpZGF0b3JzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IFZBTElEQVRPUl9OQU1FX01BWCxcbiAgICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMubWF4KGMubWF4KSxcbiAgICAgICAgICBpc0N1c3RvbTogZmFsc2UsXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiAnJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGMubWluKSB7XG4gICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gVkFMSURBVE9SX05BTUVfTUlOKTtcbiAgICAgIGlmIChjLm1pbiA+IDApIHtcbiAgICAgICAgdy52YWxpZGF0b3JzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IFZBTElEQVRPUl9OQU1FX01JTixcbiAgICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMubWluKGMubWluKSxcbiAgICAgICAgICBpc0N1c3RvbTogZmFsc2UsXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiAnJyxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGMubWF4TGVuZ3RoKSB7XG4gICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gVkFMSURBVE9SX05BTUVfTUFYX0xFTik7XG4gICAgICBpZiAoYy5tYXhMZW5ndGggPiAwKSB7XG4gICAgICAgIHcudmFsaWRhdG9ycy5wdXNoKHtcbiAgICAgICAgICBuYW1lOiBWQUxJREFUT1JfTkFNRV9NQVhfTEVOLFxuICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5tYXhMZW5ndGgoYy5tYXhMZW5ndGgpLFxuICAgICAgICAgIGlzQ3VzdG9tOiBmYWxzZSxcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6ICcnLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYy5taW5MZW5ndGgpIHtcbiAgICAgIHcudmFsaWRhdG9ycyA9IHcudmFsaWRhdG9ycy5maWx0ZXIoKGl0KSA9PiBpdC5uYW1lICE9PSBWQUxJREFUT1JfTkFNRV9NSU5fTEVOKTtcbiAgICAgIGlmIChjLm1pbkxlbmd0aCA+IDApIHtcbiAgICAgICAgdy52YWxpZGF0b3JzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IFZBTElEQVRPUl9OQU1FX01JTl9MRU4sXG4gICAgICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLm1pbkxlbmd0aChjLm1pbkxlbmd0aCksXG4gICAgICAgICAgaXNDdXN0b206IGZhbHNlLFxuICAgICAgICAgIGVycm9yTWVzc2FnZTogJycsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlOYW1lZFZhbGlkYXRvcnModzogVmFsaWRhdGVkV2lkZ2V0PGFueT4sIG5hbWVkVmFsaWRhdG9yczogQXJyYXk8TmFtZWRWYWxpZGF0b3I+KSB7XG4gICAgZm9yIChjb25zdCB2IG9mIG5hbWVkVmFsaWRhdG9ycykge1xuICAgICAgdGhpcy5hcHBseU5hbWVkVmFsaWRhdG9yKHcsIHYpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlOYW1lZFZhbGlkYXRvcih3OiBWYWxpZGF0ZWRXaWRnZXQ8YW55PiwgbmFtZWRWYWxpZGF0b3I6IE5hbWVkVmFsaWRhdG9yKSB7XG4gICAgY29uc3QgdmFsaWRhdG9yRmFjdG9yeSA9IHRoaXMuZmFjdG9yaWVzLmdldChuYW1lZFZhbGlkYXRvci5uYW1lKTtcbiAgICBpZiAoIXZhbGlkYXRvckZhY3RvcnkpIHtcbiAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgYEN1c3RvbSB2YWxpZGF0b3IgbmFtZWQgJHtuYW1lZFZhbGlkYXRvci5uYW1lfSB3YXMgcmVxdWVzdGVkLCBidXQgaXNuJ3QgcHJlc2VudCFgXG4gICAgICApO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHN3aXRjaCAobmFtZWRWYWxpZGF0b3Iub3BlcmF0aW9uKSB7XG4gICAgICBjYXNlIE5hbWVkVmFsaWRhdG9yT3BlcmF0aW9uRW51bS5BREQ6XG4gICAgICAgIHcudmFsaWRhdG9ycyA9IHcudmFsaWRhdG9ycy5maWx0ZXIoKGl0KSA9PiBpdC5uYW1lICE9PSBuYW1lZFZhbGlkYXRvci5uYW1lKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yRm4gPSB2YWxpZGF0b3JGYWN0b3J5LmNyZWF0ZShuYW1lZFZhbGlkYXRvci5wYXJhbXMpO1xuICAgICAgICB3LnZhbGlkYXRvcnMucHVzaCh7XG4gICAgICAgICAgbmFtZTogbmFtZWRWYWxpZGF0b3IubmFtZSxcbiAgICAgICAgICBpc0N1c3RvbTogdHJ1ZSxcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6ICcnLFxuICAgICAgICAgIHZhbGlkYXRvcjogdmFsaWRhdG9yRm4sXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBOYW1lZFZhbGlkYXRvck9wZXJhdGlvbkVudW0uQUxURVI6XG4gICAgICAgIGNvbnN0IHNtYXJ0VmFsaWRhdG9yID0gdy52YWxpZGF0b3JzLmZpbmQoKGl0KSA9PiBpdC5uYW1lID09PSBuYW1lZFZhbGlkYXRvci5uYW1lKTtcbiAgICAgICAgaWYgKHNtYXJ0VmFsaWRhdG9yKSB7XG4gICAgICAgICAgc21hcnRWYWxpZGF0b3IudmFsaWRhdG9yID0gdmFsaWRhdG9yRmFjdG9yeS5jcmVhdGUobmFtZWRWYWxpZGF0b3IucGFyYW1zKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBOYW1lZFZhbGlkYXRvck9wZXJhdGlvbkVudW0uUkVNT1ZFOlxuICAgICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gbmFtZWRWYWxpZGF0b3IubmFtZSk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
115
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWQtdmFsaWRhdG9yLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC12YWxpZGF0aW9uL25hbWVkLXZhbGlkYXRvci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDNUMsT0FBTyxFQUFFLGVBQWUsRUFBb0IsTUFBTSwwQkFBMEIsQ0FBQztBQUM3RSxPQUFPLEVBQWtCLDJCQUEyQixFQUFFLE1BQU0scUJBQXFCLENBQUM7O0FBTWxGLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBQ2pDLE1BQU0sa0JBQWtCLEdBQUcsS0FBSyxDQUFDO0FBQ2pDLE1BQU0sc0JBQXNCLEdBQUcsV0FBVyxDQUFDO0FBQzNDLE1BQU0sc0JBQXNCLEdBQUcsV0FBVyxDQUFDO0FBRzNDLE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFBaUQsU0FBa0M7UUFDakYsT0FBTyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUN2QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUN6RixDQUFDO0lBRUQsZUFBZSxDQUFDLENBQXVCLEVBQUUsQ0FBK0I7UUFDdEUsSUFBSSxDQUFDLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsVUFBVSxHQUFHLEVB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QUMsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDbEYsSUFBSSxjQUFjLEVBQUUsQ0FBQztvQkFDbkIsY0FBYyxDQUFDLFNBQVMsR0FBRyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2dCQUM1RSxDQUFDO2dCQUVELE1BQU07WUFDUixLQUFLLDJCQUEyQixDQUFDLE1BQU07Z0JBQ3JDLENBQUMsQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM1RSxNQUFNO1FBQ1YsQ0FBQztJQUNILENBQUM7K0dBNUdVLHFCQUFxQixrQkFHWixlQUFlO21IQUh4QixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUlJLE1BQU07MkJBQUMsZUFBZTs7MEJBQUcsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0IH0gZnJvbSAnLi4vc21hcnQtZm9ybS9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybUNvbXBvbmVudENvbnN0cmFpbnQsIFNtYXJ0VmFsaWRhdG9yIH0gZnJvbSAnLi4vc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBOQU1FRF9WQUxJREFUT1IsIFZhbGlkYXRvckZhY3RvcnkgfSBmcm9tICcuL3NtYXJ0LXZhbGlkYXRpb24udHlwZXMnO1xyXG5pbXBvcnQgeyBOYW1lZFZhbGlkYXRvciwgTmFtZWRWYWxpZGF0b3JPcGVyYXRpb25FbnVtIH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L2FwaSc7XHJcblxyXG5leHBvcnQgdHlwZSBWYWxpZGF0ZWRXaWRnZXQ8VD4gPSBTbWFydEZvcm1XaWRnZXQ8VD4gJiB7XHJcbiAgdmFsaWRhdG9yczogQXJyYXk8U21hcnRWYWxpZGF0b3I+O1xyXG59O1xyXG5cclxuY29uc3QgVkFMSURBVE9SX05BTUVfTUFYID0gJ21heCc7XHJcbmNvbnN0IFZBTElEQVRPUl9OQU1FX01JTiA9ICdtaW4nO1xyXG5jb25zdCBWQUxJREFUT1JfTkFNRV9NQVhfTEVOID0gJ21heExlbmd0aCc7XHJcbmNvbnN0IFZBTElEQVRPUl9OQU1FX01JTl9MRU4gPSAnbWluTGVuZ3RoJztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIE5hbWVkVmFsaWRhdG9yU2VydmljZSB7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmYWN0b3JpZXM6IE1hcDxzdHJpbmcsIFZhbGlkYXRvckZhY3Rvcnk+O1xyXG5cclxuICBjb25zdHJ1Y3RvcihASW5qZWN0KE5BTUVEX1ZBTElEQVRPUikgQE9wdGlvbmFsKCkgZmFjdG9yaWVzOiBBcnJheTxWYWxpZGF0b3JGYWN0b3J5Pikge1xyXG4gICAgY29uc29sZS5sb2coZmFjdG9yaWVzKTtcclxuICAgIHRoaXMuZmFjdG9yaWVzID0gZmFjdG9yaWVzID8gbmV3IE1hcChmYWN0b3JpZXMubWFwKChpdCkgPT4gW2l0Lm5hbWUsIGl0XSkpIDogbmV3IE1hcCgpO1xyXG4gIH1cclxuXHJcbiAgYXBwbHlDb25zdHJhaW50KHc6IFZhbGlkYXRlZFdpZGdldDxhbnk+LCBjOiBTbWFydEZvcm1Db21wb25lbnRDb25zdHJhaW50KSB7XHJcbiAgICBpZiAoIXcudmFsaWRhdG9ycykge1xyXG4gICAgICB3LnZhbGlkYXRvcnMgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFwcGx5QnVpbHRJblZhbGlkYXRvcnModywgYyk7XHJcbiAgICBpZiAoYy5uYW1lZFZhbGlkYXRvcnMpIHtcclxuICAgICAgdGhpcy5hcHBseU5hbWVkVmFsaWRhdG9ycyh3LCBjLm5hbWVkVmFsaWRhdG9ycyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBUT0RPOiB0aGlzIGxvb2tzIGhvcnJpZmljLCByZWZhY3RvciFcclxuICBwcml2YXRlIGFwcGx5QnVpbHRJblZhbGlkYXRvcnModzogVmFsaWRhdGVkV2lkZ2V0PGFueT4sIGM6IFNtYXJ0Rm9ybUNvbXBvbmVudENvbnN0cmFpbnQpIHtcclxuICAgIGlmIChjLm1heCkge1xyXG4gICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gVkFMSURBVE9SX05BTUVfTUFYKTtcclxuICAgICAgaWYgKGMubWF4ID4gMCkge1xyXG4gICAgICAgIHcudmFsaWRhdG9ycy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IFZBTElEQVRPUl9OQU1FX01BWCxcclxuICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5tYXgoYy5tYXgpLFxyXG4gICAgICAgICAgaXNDdXN0b206IGZhbHNlLFxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjLm1pbikge1xyXG4gICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gVkFMSURBVE9SX05BTUVfTUlOKTtcclxuICAgICAgaWYgKGMubWluID4gMCkge1xyXG4gICAgICAgIHcudmFsaWRhdG9ycy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IFZBTElEQVRPUl9OQU1FX01JTixcclxuICAgICAgICAgIHZhbGlkYXRvcjogVmFsaWRhdG9ycy5taW4oYy5taW4pLFxyXG4gICAgICAgICAgaXNDdXN0b206IGZhbHNlLFxyXG4gICAgICAgICAgZXJyb3JNZXNzYWdlOiAnJyxcclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmIChjLm1heExlbmd0aCkge1xyXG4gICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gVkFMSURBVE9SX05BTUVfTUFYX0xFTik7XHJcbiAgICAgIGlmIChjLm1heExlbmd0aCA+IDApIHtcclxuICAgICAgICB3LnZhbGlkYXRvcnMucHVzaCh7XHJcbiAgICAgICAgICBuYW1lOiBWQUxJREFUT1JfTkFNRV9NQVhfTEVOLFxyXG4gICAgICAgICAgdmFsaWRhdG9yOiBWYWxpZGF0b3JzLm1heExlbmd0aChjLm1heExlbmd0aCksXHJcbiAgICAgICAgICBpc0N1c3RvbTogZmFsc2UsXHJcbiAgICAgICAgICBlcnJvck1lc3NhZ2U6ICcnLFxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGMubWluTGVuZ3RoKSB7XHJcbiAgICAgIHcudmFsaWRhdG9ycyA9IHcudmFsaWRhdG9ycy5maWx0ZXIoKGl0KSA9PiBpdC5uYW1lICE9PSBWQUxJREFUT1JfTkFNRV9NSU5fTEVOKTtcclxuICAgICAgaWYgKGMubWluTGVuZ3RoID4gMCkge1xyXG4gICAgICAgIHcudmFsaWRhdG9ycy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IFZBTElEQVRPUl9OQU1FX01JTl9MRU4sXHJcbiAgICAgICAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcnMubWluTGVuZ3RoKGMubWluTGVuZ3RoKSxcclxuICAgICAgICAgIGlzQ3VzdG9tOiBmYWxzZSxcclxuICAgICAgICAgIGVycm9yTWVzc2FnZTogJycsXHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlOYW1lZFZhbGlkYXRvcnModzogVmFsaWRhdGVkV2lkZ2V0PGFueT4sIG5hbWVkVmFsaWRhdG9yczogQXJyYXk8TmFtZWRWYWxpZGF0b3I+KSB7XHJcbiAgICBmb3IgKGNvbnN0IHYgb2YgbmFtZWRWYWxpZGF0b3JzKSB7XHJcbiAgICAgIHRoaXMuYXBwbHlOYW1lZFZhbGlkYXRvcih3LCB2KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXBwbHlOYW1lZFZhbGlkYXRvcih3OiBWYWxpZGF0ZWRXaWRnZXQ8YW55PiwgbmFtZWRWYWxpZGF0b3I6IE5hbWVkVmFsaWRhdG9yKSB7XHJcbiAgICBjb25zdCB2YWxpZGF0b3JGYWN0b3J5ID0gdGhpcy5mYWN0b3JpZXMuZ2V0KG5hbWVkVmFsaWRhdG9yLm5hbWUpO1xyXG4gICAgaWYgKCF2YWxpZGF0b3JGYWN0b3J5KSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihcclxuICAgICAgICBgQ3VzdG9tIHZhbGlkYXRvciBuYW1lZCAke25hbWVkVmFsaWRhdG9yLm5hbWV9IHdhcyByZXF1ZXN0ZWQsIGJ1dCBpc24ndCBwcmVzZW50IWBcclxuICAgICAgKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHN3aXRjaCAobmFtZWRWYWxpZGF0b3Iub3BlcmF0aW9uKSB7XHJcbiAgICAgIGNhc2UgTmFtZWRWYWxpZGF0b3JPcGVyYXRpb25FbnVtLkFERDpcclxuICAgICAgICB3LnZhbGlkYXRvcnMgPSB3LnZhbGlkYXRvcnMuZmlsdGVyKChpdCkgPT4gaXQubmFtZSAhPT0gbmFtZWRWYWxpZGF0b3IubmFtZSk7XHJcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yRm4gPSB2YWxpZGF0b3JGYWN0b3J5LmNyZWF0ZShuYW1lZFZhbGlkYXRvci5wYXJhbXMpO1xyXG4gICAgICAgIHcudmFsaWRhdG9ycy5wdXNoKHtcclxuICAgICAgICAgIG5hbWU6IG5hbWVkVmFsaWRhdG9yLm5hbWUsXHJcbiAgICAgICAgICBpc0N1c3RvbTogdHJ1ZSxcclxuICAgICAgICAgIGVycm9yTWVzc2FnZTogJycsXHJcbiAgICAgICAgICB2YWxpZGF0b3I6IHZhbGlkYXRvckZuLFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSBOYW1lZFZhbGlkYXRvck9wZXJhdGlvbkVudW0uQUxURVI6XHJcbiAgICAgICAgY29uc3Qgc21hcnRWYWxpZGF0b3IgPSB3LnZhbGlkYXRvcnMuZmluZCgoaXQpID0+IGl0Lm5hbWUgPT09IG5hbWVkVmFsaWRhdG9yLm5hbWUpO1xyXG4gICAgICAgIGlmIChzbWFydFZhbGlkYXRvcikge1xyXG4gICAgICAgICAgc21hcnRWYWxpZGF0b3IudmFsaWRhdG9yID0gdmFsaWRhdG9yRmFjdG9yeS5jcmVhdGUobmFtZWRWYWxpZGF0b3IucGFyYW1zKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIE5hbWVkVmFsaWRhdG9yT3BlcmF0aW9uRW51bS5SRU1PVkU6XHJcbiAgICAgICAgdy52YWxpZGF0b3JzID0gdy52YWxpZGF0b3JzLmZpbHRlcigoaXQpID0+IGl0Lm5hbWUgIT09IG5hbWVkVmFsaWRhdG9yLm5hbWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
21
21
|
exports: [],
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmFsaWRhdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC12YWxpZGF0aW9uL3NtYXJ0LXZhbGlkYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDOztBQVFsRSxNQUFNLE9BQU8scUJBQXFCO0lBQ3pCLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBMEI7UUFDOUMsT0FBTztZQUNMLFFBQVEsRUFBRSxxQkFBcUI7WUFDL0IsU0FBUyxFQUFFLENBQUMscUJBQXFCLEVBQUUsR0FBRyxTQUFTLENBQUM7U0FDakQsQ0FBQztJQUNKLENBQUM7K0dBTlUscUJBQXFCO2dIQUFyQixxQkFBcUI7Z0hBQXJCLHFCQUFxQixhQUhyQixDQUFDLHFCQUFxQixDQUFDOzs0RkFHdkIscUJBQXFCO2tCQU5qQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsRUFBRTtvQkFDWCxTQUFTLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLEVBQUU7aUJBQ1oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmFtZWRWYWxpZGF0b3JTZXJ2aWNlIH0gZnJvbSAnLi9uYW1lZC12YWxpZGF0b3Iuc2VydmljZSc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgaW1wb3J0czogW10sXHJcbiAgcHJvdmlkZXJzOiBbTmFtZWRWYWxpZGF0b3JTZXJ2aWNlXSxcclxuICBleHBvcnRzOiBbXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0VmFsaWRhdGlvbk1vZHVsZSB7XHJcbiAgcHVibGljIHN0YXRpYyBmb3JSb290KHByb3ZpZGVyczogQXJyYXk8UHJvdmlkZXI+KTogTW9kdWxlV2l0aFByb3ZpZGVyczxTbWFydFZhbGlkYXRpb25Nb2R1bGU+IHtcclxuICAgIHJldHVybiB7XHJcbiAgICAgIG5nTW9kdWxlOiBTbWFydFZhbGlkYXRpb25Nb2R1bGUsXHJcbiAgICAgIHByb3ZpZGVyczogW05hbWVkVmFsaWRhdG9yU2VydmljZSwgLi4ucHJvdmlkZXJzXSxcclxuICAgIH07XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const EMPTY_PARAMS = {};
|
|
3
3
|
export const NAMED_VALIDATOR = new InjectionToken('Named validator factory');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmFsaWRhdGlvbi50eXBlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LXZhbGlkYXRpb24vc21hcnQtdmFsaWRhdGlvbi50eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBTS9DLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBd0IsRUFBRSxDQUFDO0FBU3BELE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBcUMsSUFBSSxjQUFjLENBQ2pGLHlCQUF5QixDQUMxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRvclBhcmFtZXRlcnMge1xyXG4gIFtrOiBzdHJpbmddOiBhbnk7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBFTVBUWV9QQVJBTVM6IFZhbGlkYXRvclBhcmFtZXRlcnMgPSB7fTtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVmFsaWRhdG9yRmFjdG9yeSB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHBhcmFtczogQXJyYXk8U3RyaW5nPjtcclxuXHJcbiAgY3JlYXRlKHZhbGlkYXRvclBhcmFtZXRlcnM/OiBWYWxpZGF0b3JQYXJhbWV0ZXJzKTogVmFsaWRhdG9yRm47XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBOQU1FRF9WQUxJREFUT1I6IEluamVjdGlvblRva2VuPFZhbGlkYXRvckZhY3Rvcnk+ID0gbmV3IEluamVjdGlvblRva2VuKFxyXG4gICdOYW1lZCB2YWxpZGF0b3IgZmFjdG9yeSdcclxuKTtcclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50Q29uc3RyYWludC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9hcGkvbW9kZWwvY29tcG9uZW50Q29uc3RyYWludC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIFZpZXcgQVBJXHJcbiAqIFZpZXcgQVBJXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuaW1wb3J0IHsgTmFtZWRWYWxpZGF0b3IgfSBmcm9tICcuL25hbWVkVmFsaWRhdG9yJztcclxuaW1wb3J0IHsgVmFsdWVTZXREYXRhIH0gZnJvbSAnLi4vLi4vdmFsdWUtYXBpJztcclxuXHJcblxyXG4vKipcclxuICogVGhlIGNvbXBvbmVudCBjb25zdHJhaW50IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUgY29uc3RyYWludHMgYmVsb25nIHRvIGEgZ2l2ZW4gY29tcG9uZW50ICh0ZXh0ZmllbGQsIGNvbWJvYm94IGV0Yy4pIG9uIHRoZSB2aWV3LiBUaGUgVUkgbXVzdCBpZGVudGlmeSB0aGUgY29tcG9uZW50IGJ5IHRoZSBkYXRhTmFtZSB0aGF0IGlzIGEgcGF0aCBvZiB0aGUgZGF0YSBuYW1lIHNlcGFyYXRlZCBieSBkb3QgbGlrZSBkYXRhU2hlZXQuZmllbGQuIFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBDb21wb25lbnRDb25zdHJhaW50IHsgXHJcbiAgICAvKipcclxuICAgICAqIFRoZSBkYXRhIG5hbWUgdG8gaWRlbnRpZnkgdGhlIHJlbGF0ZWQgY29tcG9uZW50IG9yIGNvbXBvbmVuZXRzLiBJZiBpdCBpcyBhIHBhdGggdGhlIGZvcm1hdCBpcyB0aGUgZm9sbG93aW5nIC0gZGF0YVNoZWV0LmZpZWxkLlxyXG4gICAgICovXHJcbiAgICBkYXRhTmFtZT86IHN0cmluZztcclxuICAgIHZpc2libGU/OiBib29sZWFuO1xyXG4gICAgbWFuZGF0b3J5PzogYm9vbGVhbjtcclxuICAgIGVuYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgdmFsdWVTZXQ/OiBWYWx1ZVNldERhdGE7XHJcbiAgICBtaW4/OiBudW1iZXI7XHJcbiAgICBtYXg/OiBudW1iZXI7XHJcbiAgICBtaW5MZW5ndGg/OiBudW1iZXI7XHJcbiAgICBtYXhMZW5ndGg/OiBudW1iZXI7XHJcbiAgICBuYW1lZFZhbGlkYXRvcnM6IEFycmF5PE5hbWVkVmFsaWRhdG9yPjtcclxufVxyXG5cclxuIl19
|
|
@@ -51,4 +51,4 @@ export * from './viewPlaceholder';
|
|
|
51
51
|
export * from './viewState';
|
|
52
52
|
export * from './viewStateUpdate';
|
|
53
53
|
export * from './viewType';
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L2FwaS9tb2RlbC9tb2RlbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxlQUFlLENBQUM7QUFDOUIsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxZQUFZLENBQUM7QUFDM0IsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsYUFBYSxDQUFDO0FBQzVCLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyxZQUFZLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NsaXBib2FyZERhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL2Nsb3NlUmVzdWx0JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRDb25zdHJhaW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRNb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vY29tcG9uZW50TW9kZWxDaGFuZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGFDaGFuZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGFDaGFuZ2VFdmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0YUNoYW5nZUtpbmQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RldmljZUluZm8nO1xyXG5leHBvcnQgKiBmcm9tICcuL2Rvd25sb2FkZWRGaWxlJztcclxuZXhwb3J0ICogZnJvbSAnLi9pY29uUG9zaXRpb24nO1xyXG5leHBvcnQgKiBmcm9tICcuL2ltYWdlUmVzb3VyY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpbmsnO1xyXG5leHBvcnQgKiBmcm9tICcuL21lc3NhZ2VEYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlT3B0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlT3B0aW9uVHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZVJlc3VsdCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbWVzc2FnZVRleHRUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi9tZXNzYWdlVHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbmFtZWRWYWxpZGF0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL29wZW5QZW5kaW5nRGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmVyUmVxdWVzdEV4ZWN1dGlvblN0YXQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlcnZlclJlcXVlc3RUcmFjayc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc2VydmVyUmVxdWVzdFR5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NtYXJ0TGlua0RhdGEnO1xyXG5leHBvcnQgKiBmcm9tICcuL3N0YXRpc3RpY1JlY29yZCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3R5bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uJztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvbkJ1dHRvbkRlc2NyaXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uQnV0dG9uVHlwZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdWlBY3Rpb25Db25zdHJhaW50JztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvbkRlc2NyaXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uRGlhbG9nRGVzY3JpcHRvcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vdWlBY3Rpb25GZWVkYmFja1R5cGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uSW5wdXRUeXBlJztcclxuZXhwb3J0ICogZnJvbSAnLi91aUFjdGlvblJlcXVlc3QnO1xyXG5leHBvcnQgKiBmcm9tICcuL3VpQWN0aW9uVG9vbHRpcCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yJztcclxuZXhwb3J0ICogZnJvbSAnLi91cGxvYWRlZEZpbGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZhbHVlU2V0JztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3JztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3QXBpRXJyb3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdDb25zdHJhaW50JztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3Q29udGV4dCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld0NvbnRleHRDaGFuZ2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdDb250ZXh0RGF0YSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld0NvbnRleHRVcGRhdGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdEYXRhJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3RXZlbnRIYW5kbGVyJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3UGxhY2Vob2xkZXInO1xyXG5leHBvcnQgKiBmcm9tICcuL3ZpZXdTdGF0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdmlld1N0YXRlVXBkYXRlJztcclxuZXhwb3J0ICogZnJvbSAnLi92aWV3VHlwZSc7XHJcbiJdfQ==
|
|
@@ -16,4 +16,4 @@ export var NamedValidatorOperationEnum;
|
|
|
16
16
|
NamedValidatorOperationEnum["ALTER"] = "ALTER";
|
|
17
17
|
})(NamedValidatorOperationEnum || (NamedValidatorOperationEnum = {}));
|
|
18
18
|
;
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZWRWYWxpZGF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvYXBpL21vZGVsL25hbWVkVmFsaWRhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFXSCxNQUFNLENBQU4sSUFBWSwyQkFJWDtBQUpELFdBQVksMkJBQTJCO0lBQ25DLDBDQUFXLENBQUE7SUFDWCxnREFBaUIsQ0FBQTtJQUNqQiw4Q0FBZSxDQUFBO0FBQ25CLENBQUMsRUFKVywyQkFBMkIsS0FBM0IsMkJBQTJCLFFBSXRDO0FBQUEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBWaWV3IEFQSVxyXG4gKiBWaWV3IEFQSVxyXG4gKlxyXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgT3BlbkFQSSBkb2N1bWVudDogMS4wLjBcclxuICogQ29udGFjdDogaW5mb0BpdDRhbGwuaHVcclxuICpcclxuICogTk9URTogVGhpcyBjbGFzcyBpcyBhdXRvIGdlbmVyYXRlZCBieSBPcGVuQVBJIEdlbmVyYXRvciAoaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoKS5cclxuICogaHR0cHM6Ly9vcGVuYXBpLWdlbmVyYXRvci50ZWNoXHJcbiAqIERvIG5vdCBlZGl0IHRoZSBjbGFzcyBtYW51YWxseS5cclxuICovXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBOYW1lZFZhbGlkYXRvciB7IFxyXG4gICAgbmFtZTogc3RyaW5nO1xyXG4gICAgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IG9iamVjdDsgfTtcclxuICAgIC8qKlxyXG4gICAgICogQUREOiAgICAgUkVNT1ZFOiAgQUxURVI6ICBEbyBub3QgZXhwbGljaXRseSBhZGQsIGJ1dCBhbHRlciBwcmVleGlzdGluZyBtYXRjaGluZyB2YWxpZGF0b3JcXCdzIHBhcmFtZXRlcnMgXHJcbiAgICAgKi9cclxuICAgIG9wZXJhdGlvbjogTmFtZWRWYWxpZGF0b3JPcGVyYXRpb25FbnVtO1xyXG59XHJcbmV4cG9ydCBlbnVtIE5hbWVkVmFsaWRhdG9yT3BlcmF0aW9uRW51bSB7XHJcbiAgICBBREQgPSAnQUREJyxcclxuICAgIFJFTU9WRSA9ICdSRU1PVkUnLFxyXG4gICAgQUxURVIgPSAnQUxURVInXHJcbn07XHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -94,22 +94,22 @@ export class SmartChartComponent {
|
|
|
94
94
|
options.plugins.annotation = options.plugins.annotation || {};
|
|
95
95
|
options.plugins.annotation.annotations =
|
|
96
96
|
options.plugins.annotation.annotations || {};
|
|
97
|
-
|
|
97
|
+
let borderColor = `rgba(
|
|
98
98
|
${shape.borderColor?.red ?? 0},
|
|
99
99
|
${shape.borderColor?.green ?? 0},
|
|
100
100
|
${shape.borderColor?.blue ?? 0},
|
|
101
101
|
${shape.borderColor?.alpha ?? 1})`;
|
|
102
|
-
|
|
102
|
+
let backgroundColor = `rgba(
|
|
103
103
|
${shape.backgroundColor?.red ?? 0},
|
|
104
104
|
${shape.backgroundColor?.green ?? 0},
|
|
105
105
|
${shape.backgroundColor?.blue ?? 0},
|
|
106
106
|
${shape.backgroundColor?.alpha ?? 1})`;
|
|
107
|
-
|
|
107
|
+
let fontColor = `rgba(
|
|
108
108
|
${shape.labelText?.color?.red ?? 0},
|
|
109
109
|
${shape.labelText?.color?.green ?? 0},
|
|
110
110
|
${shape.labelText?.color?.blue ?? 0},
|
|
111
111
|
${shape.labelText?.color?.alpha ?? 1})`;
|
|
112
|
-
|
|
112
|
+
let borderDash;
|
|
113
113
|
if (shape.borderDashLength && shape.borderDashGap) {
|
|
114
114
|
borderDash = [shape.borderDashLength, shape.borderDashGap];
|
|
115
115
|
}
|
|
@@ -167,12 +167,12 @@ export class SmartChartComponent {
|
|
|
167
167
|
});
|
|
168
168
|
}
|
|
169
169
|
if (descriptor.backgroundColor) {
|
|
170
|
-
|
|
170
|
+
let backgroundColor = `rgba(
|
|
171
171
|
${descriptor.backgroundColor?.red ?? 0},
|
|
172
172
|
${descriptor.backgroundColor?.green ?? 0},
|
|
173
173
|
${descriptor.backgroundColor?.blue ?? 0},
|
|
174
174
|
${descriptor.backgroundColor?.alpha ?? 1})`;
|
|
175
|
-
|
|
175
|
+
let id = "customCanvasBackgroundColor";
|
|
176
176
|
const plugin = {
|
|
177
177
|
id: id,
|
|
178
178
|
beforeDraw: (chart, args, options) => {
|
|
@@ -224,6 +224,37 @@ export class SmartChartComponent {
|
|
|
224
224
|
getChart() {
|
|
225
225
|
return this.chart?.chart;
|
|
226
226
|
}
|
|
227
|
+
getVisiblePoints() {
|
|
228
|
+
if (!this.chart)
|
|
229
|
+
return;
|
|
230
|
+
const chartInstance = this.chart.chart;
|
|
231
|
+
if (!chartInstance)
|
|
232
|
+
return;
|
|
233
|
+
const visiblePoints = [];
|
|
234
|
+
chartInstance.data.datasets.forEach((dataset, datasetIndex) => {
|
|
235
|
+
const meta = chartInstance.getDatasetMeta(datasetIndex);
|
|
236
|
+
// Check if the dataset is hidden
|
|
237
|
+
if (!chartInstance.isDatasetVisible(datasetIndex)) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const xMin = meta.xScale.min;
|
|
241
|
+
const xMax = meta.xScale.max;
|
|
242
|
+
const yMin = meta.yScale.min;
|
|
243
|
+
const yMax = meta.yScale.max;
|
|
244
|
+
dataset.data.forEach((point, dataIndex) => {
|
|
245
|
+
const { x, y } = point;
|
|
246
|
+
if (x >= xMin && x <= xMax && y >= yMin && y <= yMax) {
|
|
247
|
+
visiblePoints.push({
|
|
248
|
+
datasetIndex,
|
|
249
|
+
dataIndex,
|
|
250
|
+
x,
|
|
251
|
+
y,
|
|
252
|
+
});
|
|
253
|
+
}
|
|
254
|
+
});
|
|
255
|
+
});
|
|
256
|
+
return visiblePoints;
|
|
257
|
+
}
|
|
227
258
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartChartComponent, deps: [{ token: i1.DefaultChartOptionsProvider }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
228
259
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartChartComponent, selector: "smart-chart", inputs: { diagramUiModel: "diagramUiModel", options: "options", plugins: "plugins" }, outputs: { dataSelect: "dataSelect", chartClick: "chartClick", onDataClicked: "onDataClicked" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chartJSRef"], descendants: true }], ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] }); }
|
|
229
260
|
}
|
|
@@ -251,4 +282,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
251
282
|
}], onDataClicked: [{
|
|
252
283
|
type: Output
|
|
253
284
|
}] } });
|
|
254
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFPakMsT0FBTyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFPN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFDVSxtQkFBZ0QsRUFDakIsT0FBMEI7UUFEekQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE2QjtRQWJqRCxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBRW5CLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFDLEVBQUU7UUFNckQscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFNbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ25ELEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztRQUNqQyxLQUFLLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFDO1FBQ3hCLE1BQU0sV0FBVyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsRUFBRSxXQUFXO1lBQy9ELENBQUMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFVBQVUsQ0FBQyxXQUFXO1lBQzVDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFFUCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pFLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUNoQyxPQUFPLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVksQ0FBQyxDQUFDO1FBQ2xFLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FDdEIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxDQUFDLEVBQzFELE9BQU8sQ0FDUixDQUFDO1FBQ0osQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDbEQsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLFdBQVksQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTyxTQUFTLENBQUMsTUFBVyxFQUFFLE1BQVc7UUFDeEMsS0FBSyxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDdEMsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDLFlBQVksTUFBTSxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO2dCQUNqRCxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3ZFLENBQUM7UUFDSCxDQUFDO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUFNLElBQUksRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3BDLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFTyxxQkFBcUIsQ0FBQyxVQUE2QjtRQUN6RCxNQUFNLE9BQU8sR0FBUTtZQUNuQixPQUFPLEVBQUU7Z0JBQ1AsTUFBTSxFQUFFO29CQUNOLE9BQU8sRUFBRSxVQUFVLENBQUMsa0JBQWtCLElBQUksSUFBSTtpQkFDL0M7YUFDRjtZQUNELE1BQU0sRUFBRSxFQUFTO1NBQ2xCLENBQUM7UUFDRixJQUNFLFVBQVUsQ0FBQyxXQUFXLEtBQUssU0FBUztZQUNwQyxVQUFVLENBQUMsV0FBVyxLQUFLLFNBQVMsRUFDcEMsQ0FBQztZQUNELE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHO2dCQUNqQixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJO2lCQUMvQztnQkFDRCxHQUFHLEVBQUUsVUFBVSxDQUFDLFdBQVc7Z0JBQzNCLEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVzthQUM1QixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRztnQkFDakIsS0FBSyxFQUFFO29CQUNMLE9BQU8sRUFBRSxVQUFVLENBQUMsa0JBQWtCLElBQUksSUFBSTtpQkFDL0M7YUFDRixDQUFDO1FBQ0osQ0FBQztRQUNELElBQ0UsVUFBVSxDQUFDLFdBQVcsS0FBSyxTQUFTO1lBQ3BDLFVBQVUsQ0FBQyxXQUFXLEtBQUssU0FBUyxFQUNwQyxDQUFDO1lBQ0QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUc7Z0JBQ2pCLEtBQUssRUFBRTtvQkFDTCxPQUFPLEVBQUUsVUFBVSxDQUFDLGtCQUFrQixJQUFJLElBQUk7aUJBQy9DO2dCQUNELEdBQUcsRUFBRSxVQUFVLENBQUMsV0FBVztnQkFDM0IsR0FBRyxFQUFFLFVBQVUsQ0FBQyxXQUFXO2FBQzVCLENBQUM7UUFDSixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHO2dCQUNqQixLQUFLLEVBQUU7b0JBQ0wsT0FBTyxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsSUFBSSxJQUFJO2lCQUMvQzthQUNGLENBQUM7UUFDSixDQUFDO1FBRUQsZUFBZTtRQUNmLElBQUksVUFBVSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQzdCLFVBQVUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBbUIsRUFBRSxLQUFhLEVBQUUsRUFBRTtnQkFDdEUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO2dCQUM5RCxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXO29CQUNwQyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLElBQUksRUFBRSxDQUFDO2dCQUUvQyxJQUFJLFdBQVcsR0FBRztXQUNmLEtBQUssQ0FBQyxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUM7V0FDM0IsS0FBSyxDQUFDLFdBQVcsRUFBRSxLQUFLLElBQUksQ0FBQztXQUM3QixLQUFLLENBQUMsV0FBVyxFQUFFLElBQUksSUFBSSxDQUFDO1dBQzVCLEtBQUssQ0FBQyxXQUFXLEVBQUUsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDO2dCQUNwQyxJQUFJLGVBQWUsR0FBRztXQUNuQixLQUFLLENBQUMsZUFBZSxFQUFFLEdBQUcsSUFBSSxDQUFDO1dBQy9CLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxJQUFJLENBQUM7V0FDakMsS0FBSyxDQUFDLGVBQWUsRUFBRSxJQUFJLElBQUksQ0FBQztXQUNoQyxLQUFLLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQztnQkFFeEMsSUFBSSxTQUFTLEdBQUc7V0FDYixLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxHQUFHLElBQUksQ0FBQztXQUNoQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQztXQUNsQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQztXQUNqQyxLQUFLLENBQUMsU0FBUyxFQUFFLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7Z0JBRXpDLElBQUksVUFBVSxDQUFDO2dCQUNmLElBQUksS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDbEQsVUFBVSxHQUFHLENBQUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztnQkFDN0QsQ0FBQztxQkFBTSxDQUFDO29CQUNOLFVBQVUsR0FBRyxTQUFTLENBQUM7Z0JBQ3pCLENBQUM7Z0JBRUQsTUFBTSxjQUFjLEdBQUc7b0JBQ3JCLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxJQUFJLE1BQU07b0JBQy9CLGVBQWUsRUFBRSxlQUFlLElBQUksU0FBUztvQkFDN0MsV0FBVyxFQUFFLFdBQVcsSUFBSSxTQUFTO29CQUNyQyxXQUFXLEVBQUUsS0FBSyxDQUFDLFdBQVcsSUFBSSxDQUFDO29CQUNuQyxVQUFVLEVBQUUsVUFBVSxJQUFJLFNBQVM7b0JBQ25DLFFBQVEsRUFBRSxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVM7aUJBQ3RDLENBQUM7Z0JBRUYsUUFBUSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7b0JBQ3hCLEtBQUssS0FBSyxDQUFDO29CQUNYLEtBQUssTUFBTSxDQUFDO29CQUNaLEtBQUssU0FBUzt3QkFDWixPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsUUFBUSxLQUFLLEVBQUUsQ0FBQyxHQUFHOzRCQUN4RCxHQUFHLGNBQWM7NEJBQ2pCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVM7NEJBQzdCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVM7NEJBQzdCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVM7NEJBQzdCLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxJQUFJLFNBQVM7eUJBQzlCLENBQUM7d0JBQ0YsTUFBTTtvQkFFUixLQUFLLE9BQU87d0JBQ1YsT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsR0FBRzs0QkFDeEQsR0FBRyxjQUFjOzRCQUNqQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxTQUFTOzRCQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxTQUFTOzRCQUMvQixPQUFPLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxPQUFPLElBQUksU0FBUzs0QkFDOUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsU0FBUyxJQUFJLFNBQVM7NEJBQ2xELEtBQUssRUFBRSxTQUFTLElBQUksU0FBUzs0QkFDN0IsSUFBSSxFQUFFO2dDQUNKLElBQUksRUFBRSxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUksSUFBSSxTQUFTO2dDQUN4QyxNQUFNLEVBQUUsS0FBSyxDQUFDLFNBQVMsRUFBRSxNQUFNLElBQUksU0FBUztnQ0FDNUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxTQUFTLEVBQUUsS0FBSyxJQUFJLFNBQVM7NkJBQzNDO3lCQUNGLENBQUM7d0JBQ0YsTUFBTTtvQkFFUixLQUFLLE9BQU8sQ0FBQztvQkFDYixLQUFLLFNBQVM7d0JBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxDQUFDLFFBQVEsS0FBSyxFQUFFLENBQUMsR0FBRzs0QkFDeEQsR0FBRyxjQUFjOzRCQUNqQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxTQUFTOzRCQUMvQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUksSUFBSSxTQUFTO3lCQUNoQyxDQUFDO3dCQUNGLE1BQU07b0JBRVI7d0JBQ0UsMENBQTBDO3dCQUMxQyxPQUFPLENBQUMsSUFBSSxDQUFDLHVCQUF1QixLQUFLLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQzt3QkFDdkQsTUFBTTtnQkFDVixDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDO1FBRUQsSUFBSSxVQUFVLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDL0IsSUFBSSxlQUFlLEdBQUc7VUFDbEIsVUFBVSxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUksQ0FBQztVQUNwQyxVQUFVLENBQUMsZUFBZSxFQUFFLEtBQUssSUFBSSxDQUFDO1VBQ3RDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsSUFBSSxJQUFJLENBQUM7VUFDckMsVUFBVSxDQUFDLGVBQWUsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUM7WUFFOUMsSUFBSSxFQUFFLEdBQUcsNkJBQTZCLENBQUM7WUFDdkMsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsRUFBRSxFQUFFLEVBQUU7Z0JBQ04sVUFBVSxFQUFFLENBQUMsS0FBVSxFQUFFLElBQVMsRUFBRSxPQUFZLEVBQUUsRUFBRTtvQkFDbEQsTUFBTSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxLQUFLLENBQUM7b0JBRWpDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDWCxHQUFHLENBQUMsd0JBQXdCLEdBQUcsa0JBQWtCLENBQUM7b0JBQ2xELEdBQUcsQ0FBQyxTQUFTLEdBQUcsZUFBZSxDQUFDO29CQUNoQyxHQUFHLENBQUMsUUFBUSxDQUNWLFNBQVMsQ0FBQyxJQUFJLEVBQ2QsU0FBUyxDQUFDLEdBQUcsRUFDYixTQUFTLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQyxJQUFJLEVBQ2hDLFNBQVMsQ0FBQyxNQUFNLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FDakMsQ0FBQztvQkFDRixHQUFHLENBQUMsT0FBTyxFQUFFLENBQUM7Z0JBQ2hCLENBQUM7YUFDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFMUIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUc7Z0JBQ3pCLEtBQUssRUFBRSxlQUFlO2FBQ3ZCLENBQUM7UUFDSixDQUFDO1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFVO1FBQzVCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUEyQixDQUFDO1FBQ2pELE1BQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFckMsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE1BQU0sUUFBUSxHQUFHLEtBQUssQ0FBQyx5QkFBeUIsQ0FDOUMsS0FBSyxFQUNMLFNBQVMsRUFDVCxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsRUFDbkIsS0FBSyxDQUNOLENBQUM7WUFDRixJQUFJLFFBQVEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7Z0JBQzFCLE9BQU87WUFDVCxDQUFDO1lBQ0QsTUFBTSxZQUFZLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQzNELE9BQU87b0JBQ0wsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO29CQUMvQixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVM7b0JBQ3pCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztpQkFDdEIsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUFDO1lBRUgsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUNuRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWM7UUFDWixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLENBQUM7SUFDdEMsQ0FBQztJQUVELE9BQU87UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDO0lBQzNCLENBQUM7K0dBNVFVLG1CQUFtQiw2REFrQnBCLGlCQUFpQjttR0FsQmhCLG1CQUFtQiwrVUM3QmhDLGdZQWNBOzs0RkRlYSxtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsYUFBYTs7MEJBc0JwQixNQUFNOzJCQUFDLGlCQUFpQjs7MEJBQUcsUUFBUTt5Q0FqQmIsS0FBSztzQkFBN0IsU0FBUzt1QkFBQyxZQUFZO2dCQUNkLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFFSSxVQUFVO3NCQUFuQixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csYUFBYTtzQkFBdEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBJbmplY3QsXHJcbiAgSW5wdXQsXHJcbiAgT3B0aW9uYWwsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIgfSBmcm9tIFwiLi9kZWZhdWx0LWNoYXJ0LW9wdGlvbnMucHJvdmlkZXJcIjtcclxuaW1wb3J0IHtcclxuICBDT01QT05FTlRfTElCUkFSWSxcclxuICBDb21wb25lbnRMaWJyYXJ5LFxyXG59IGZyb20gXCIuLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5XCI7XHJcbmltcG9ydCB7IENoYXJ0IH0gZnJvbSBcImNoYXJ0LmpzXCI7XHJcbmltcG9ydCB7IFVJQ2hhcnQgfSBmcm9tIFwicHJpbWVuZy9jaGFydFwiO1xyXG5pbXBvcnQge1xyXG4gIERpYWdyYW1EZXNjcmlwdG9yLFxyXG4gIERpYWdyYW1TaGFwZSxcclxuICBEaWFncmFtVWlNb2RlbCxcclxufSBmcm9tIFwiLi9zbWFydC1jaGFydDIvYXBpXCI7XHJcbmltcG9ydCBBbm5vdGF0aW9uUGx1Z2luIGZyb20gXCJjaGFydGpzLXBsdWdpbi1hbm5vdGF0aW9uXCI7XHJcbmltcG9ydCBab29tUGx1Z2luIGZyb20gXCJjaGFydGpzLXBsdWdpbi16b29tXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJzbWFydC1jaGFydFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vc21hcnQtY2hhcnQuY29tcG9uZW50LmNzc1wiXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Q2hhcnRDb21wb25lbnQge1xyXG4gIEBWaWV3Q2hpbGQoXCJjaGFydEpTUmVmXCIpIGNoYXJ0PzogVUlDaGFydDtcclxuICBASW5wdXQoKSBkaWFncmFtVWlNb2RlbCE6IERpYWdyYW1VaU1vZGVsO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM/OiBhbnk7XHJcbiAgQElucHV0KCkgcGx1Z2luczogYW55W10gPSBbXTtcclxuXHJcbiAgQE91dHB1dCgpIGRhdGFTZWxlY3QgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgY2hhcnRDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkRhdGFDbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7IC8vXHJcblxyXG4gIGRhdGE6IGFueTtcclxuICB0eXBlOiBhbnk7XHJcblxyXG4gIGNvbXBMaWI6IENvbXBvbmVudExpYnJhcnk7XHJcbiAgY29tcG9uZW50TGlicmFyeSA9IENvbXBvbmVudExpYnJhcnk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjaGFydE9wdGlvblByb3ZpZGVyOiBEZWZhdWx0Q2hhcnRPcHRpb25zUHJvdmlkZXIsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge1xyXG4gICAgdGhpcy5jb21wTGliID0gY29tcExpYiA/PyBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkc7XHJcbiAgICBDaGFydC5yZWdpc3RlcihBbm5vdGF0aW9uUGx1Z2luKTtcclxuICAgIENoYXJ0LnJlZ2lzdGVyKFpvb21QbHVnaW4pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBsZXQgb3B0aW9ucyA9IHVuZGVmaW5lZDtcclxuICAgIGNvbnN0IGRpYWdyYW1UeXBlID0gISF0aGlzLmRpYWdyYW1VaU1vZGVsLmRlc2NyaXB0b3I/LmRpYWdyYW1UeXBlXHJcbiAgICAgID8gdGhpcy5kaWFncmFtVWlNb2RlbC5kZXNjcmlwdG9yLmRpYWdyYW1UeXBlXHJcbiAgICAgIDogXCJcIjtcclxuXHJcbiAgICBjb25zdCBmYWN0b3J5ID0gdGhpcy5jaGFydE9wdGlvblByb3ZpZGVyLmdldEZhY3RvcnkoZGlhZ3JhbVR5cGUpO1xyXG4gICAgdGhpcy50eXBlID0gZmFjdG9yeS5jaGFydEpzVHlwZTtcclxuICAgIG9wdGlvbnMgPSBmYWN0b3J5LmNyZWF0ZU9wdGlvbnModGhpcy5kaWFncmFtVWlNb2RlbC5kaWFncmFtRGF0YSEpO1xyXG4gICAgaWYgKHRoaXMuZGlhZ3JhbVVpTW9kZWwuZGVzY3JpcHRvcikge1xyXG4gICAgICBvcHRpb25zID0gdGhpcy5kZWVwTWVyZ2UoXHJcbiAgICAgICAgdGhpcy5jb252ZXJ0QmFja2VuZE9wdGlvbnModGhpcy5kaWFncmFtVWlNb2RlbC5kZXNjcmlwdG9yKSxcclxuICAgICAgICBvcHRpb25zXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vcHRpb25zKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZXBNZXJnZSh0aGlzLm9wdGlvbnMsIG9wdGlvbnMpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XHJcbiAgICB0aGlzLmRhdGEgPSBmYWN0b3J5LnRyYW5zZm9ybURhdGEodGhpcy5kaWFncmFtVWlNb2RlbC5kaWFncmFtRGF0YSEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBkZWVwTWVyZ2UodGFyZ2V0OiBhbnksIHNvdXJjZTogYW55KTogYW55IHtcclxuICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHNvdXJjZSkpIHtcclxuICAgICAgaWYgKHNvdXJjZVtrZXldIGluc3RhbmNlb2YgT2JqZWN0ICYmIHRhcmdldFtrZXldKSB7XHJcbiAgICAgICAgT2JqZWN0LmFzc2lnbihzb3VyY2Vba2V5XSwgdGhpcy5kZWVwTWVyZ2UodGFyZ2V0W2tleV0sIHNvdXJjZVtrZXldKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIE9iamVjdC5hc3NpZ24odGFyZ2V0IHx8IHt9LCBzb3VyY2UpO1xyXG4gICAgcmV0dXJuIHRhcmdldDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY29udmVydEJhY2tlbmRPcHRpb25zKGRlc2NyaXB0b3I6IERpYWdyYW1EZXNjcmlwdG9yKSB7XHJcbiAgICBjb25zdCBvcHRpb25zOiBhbnkgPSB7XHJcbiAgICAgIHBsdWdpbnM6IHtcclxuICAgICAgICBsZWdlbmQ6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xlZ2VuZEZvckNoYXJ0ID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgICAgc2NhbGVzOiB7fSBhcyBhbnksXHJcbiAgICB9O1xyXG4gICAgaWYgKFxyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1NaW5YICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgZGVzY3JpcHRvci5kaWFncmFtTWF4WCAhPT0gdW5kZWZpbmVkXHJcbiAgICApIHtcclxuICAgICAgb3B0aW9ucy5zY2FsZXMueCA9IHtcclxuICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZGVzY3JpcHRvci5zaG93TGFiZWxzRm9yWEF4aXMgPz8gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIG1pbjogZGVzY3JpcHRvci5kaWFncmFtTWluWCxcclxuICAgICAgICBtYXg6IGRlc2NyaXB0b3IuZGlhZ3JhbU1heFgsXHJcbiAgICAgIH07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBvcHRpb25zLnNjYWxlcy54ID0ge1xyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBkZXNjcmlwdG9yLnNob3dMYWJlbHNGb3JYQXhpcyA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGRlc2NyaXB0b3IuZGlhZ3JhbU1pblkgIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1NYXhZICE9PSB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnNjYWxlcy55ID0ge1xyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBkZXNjcmlwdG9yLnNob3dMYWJlbHNGb3JZQXhpcyA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWluOiBkZXNjcmlwdG9yLmRpYWdyYW1NaW5ZLFxyXG4gICAgICAgIG1heDogZGVzY3JpcHRvci5kaWFncmFtTWF4WSxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG9wdGlvbnMuc2NhbGVzLnkgPSB7XHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xhYmVsc0ZvcllBeGlzID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICAvL0NyZWF0ZSBzaGFwZXNcclxuICAgIGlmIChkZXNjcmlwdG9yLmRpYWdyYW1TaGFwZXMpIHtcclxuICAgICAgZGVzY3JpcHRvci5kaWFncmFtU2hhcGVzLmZvckVhY2goKHNoYXBlOiBEaWFncmFtU2hhcGUsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgICBvcHRpb25zLnBsdWdpbnMuYW5ub3RhdGlvbiA9IG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uIHx8IHt9O1xyXG4gICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uLmFubm90YXRpb25zID1cclxuICAgICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uLmFubm90YXRpb25zIHx8IHt9O1xyXG5cclxuICAgICAgICB2YXIgYm9yZGVyQ29sb3IgPSBgcmdiYShcclxuICAgICAgICAgJHtzaGFwZS5ib3JkZXJDb2xvcj8ucmVkID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5ncmVlbiA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5ib3JkZXJDb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5ib3JkZXJDb2xvcj8uYWxwaGEgPz8gMX0pYDtcclxuICAgICAgICB2YXIgYmFja2dyb3VuZENvbG9yID0gYHJnYmEoXHJcbiAgICAgICAgICR7c2hhcGUuYmFja2dyb3VuZENvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUuYmFja2dyb3VuZENvbG9yPy5ncmVlbiA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LmJsdWUgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUuYmFja2dyb3VuZENvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG5cclxuICAgICAgICB2YXIgZm9udENvbG9yID0gYHJnYmEoXHJcbiAgICAgICAgICR7c2hhcGUubGFiZWxUZXh0Py5jb2xvcj8ucmVkID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmxhYmVsVGV4dD8uY29sb3I/LmdyZWVuID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmxhYmVsVGV4dD8uY29sb3I/LmJsdWUgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUubGFiZWxUZXh0Py5jb2xvcj8uYWxwaGEgPz8gMX0pYDtcclxuXHJcbiAgICAgICAgdmFyIGJvcmRlckRhc2g7XHJcbiAgICAgICAgaWYgKHNoYXBlLmJvcmRlckRhc2hMZW5ndGggJiYgc2hhcGUuYm9yZGVyRGFzaEdhcCkge1xyXG4gICAgICAgICAgYm9yZGVyRGFzaCA9IFtzaGFwZS5ib3JkZXJEYXNoTGVuZ3RoLCBzaGFwZS5ib3JkZXJEYXNoR2FwXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgYm9yZGVyRGFzaCA9IHVuZGVmaW5lZDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IGJhc2VBbm5vdGF0aW9uID0ge1xyXG4gICAgICAgICAgdHlwZTogc2hhcGUuc2hhcGVUeXBlID8/IFwibGluZVwiLFxyXG4gICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBiYWNrZ3JvdW5kQ29sb3IgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IGJvcmRlckNvbG9yID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGJvcmRlcldpZHRoOiBzaGFwZS5ib3JkZXJXaWR0aCA/PyAxLFxyXG4gICAgICAgICAgYm9yZGVyRGFzaDogYm9yZGVyRGFzaCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICBkcmF3VGltZTogc2hhcGUuZHJhd1RpbWUgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHN3aXRjaCAoc2hhcGUuc2hhcGVUeXBlKSB7XHJcbiAgICAgICAgICBjYXNlIFwiYm94XCI6XHJcbiAgICAgICAgICBjYXNlIFwibGluZVwiOlxyXG4gICAgICAgICAgY2FzZSBcImVsbGlwc2VcIjpcclxuICAgICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnNbYHNoYXBlJHtpbmRleH1gXSA9IHtcclxuICAgICAgICAgICAgICAuLi5iYXNlQW5ub3RhdGlvbixcclxuICAgICAgICAgICAgICB4TWluOiBzaGFwZS54TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB4TWF4OiBzaGFwZS54TWF4ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB5TWluOiBzaGFwZS55TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB5TWF4OiBzaGFwZS55TWF4ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBcImxhYmVsXCI6XHJcbiAgICAgICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uLmFubm90YXRpb25zW2BzaGFwZSR7aW5kZXh9YF0gPSB7XHJcbiAgICAgICAgICAgICAgLi4uYmFzZUFubm90YXRpb24sXHJcbiAgICAgICAgICAgICAgeFZhbHVlOiBzaGFwZS54TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB5VmFsdWU6IHNoYXBlLnlNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6IHNoYXBlLmxhYmVsVGV4dD8uY29udGVudCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgdGV4dEFsaWduOiBzaGFwZS5sYWJlbFRleHQ/LnRleHRBbGlnbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgY29sb3I6IGZvbnRDb2xvciA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgZm9udDoge1xyXG4gICAgICAgICAgICAgICAgc2l6ZTogc2hhcGUubGFiZWxUZXh0Py5zaXplID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICAgIHdlaWdodDogc2hhcGUubGFiZWxUZXh0Py53ZWlnaHQgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgc3R5bGU6IHNoYXBlLmxhYmVsVGV4dD8uc3R5bGUgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGNhc2UgXCJwb2ludFwiOlxyXG4gICAgICAgICAgY2FzZSBcInBvbHlnb25cIjpcclxuICAgICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnNbYHNoYXBlJHtpbmRleH1gXSA9IHtcclxuICAgICAgICAgICAgICAuLi5iYXNlQW5ub3RhdGlvbixcclxuICAgICAgICAgICAgICB4VmFsdWU6IHNoYXBlLnhNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHlWYWx1ZTogc2hhcGUueU1pbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG5cclxuICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgIC8vIE9wdGlvbmFsbHkgaGFuZGxlIGFueSBvdGhlciBzaGFwZSB0eXBlc1xyXG4gICAgICAgICAgICBjb25zb2xlLndhcm4oYFVua25vd24gc2hhcGUgdHlwZTogJHtzaGFwZS5zaGFwZVR5cGV9YCk7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yKSB7XHJcbiAgICAgIHZhciBiYWNrZ3JvdW5kQ29sb3IgPSBgcmdiYShcclxuICAgICAgICAke2Rlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgJHtkZXNjcmlwdG9yLmJhY2tncm91bmRDb2xvcj8uZ3JlZW4gPz8gMH0sXHJcbiAgICAgICAgJHtkZXNjcmlwdG9yLmJhY2tncm91bmRDb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAke2Rlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG5cclxuICAgICAgdmFyIGlkID0gXCJjdXN0b21DYW52YXNCYWNrZ3JvdW5kQ29sb3JcIjtcclxuICAgICAgY29uc3QgcGx1Z2luID0ge1xyXG4gICAgICAgIGlkOiBpZCxcclxuICAgICAgICBiZWZvcmVEcmF3OiAoY2hhcnQ6IGFueSwgYXJnczogYW55LCBvcHRpb25zOiBhbnkpID0+IHtcclxuICAgICAgICAgIGNvbnN0IHsgY3R4LCBjaGFydEFyZWEgfSA9IGNoYXJ0O1xyXG5cclxuICAgICAgICAgIGN0eC5zYXZlKCk7XHJcbiAgICAgICAgICBjdHguZ2xvYmFsQ29tcG9zaXRlT3BlcmF0aW9uID0gXCJkZXN0aW5hdGlvbi1vdmVyXCI7XHJcbiAgICAgICAgICBjdHguZmlsbFN0eWxlID0gYmFja2dyb3VuZENvbG9yO1xyXG4gICAgICAgICAgY3R4LmZpbGxSZWN0KFxyXG4gICAgICAgICAgICBjaGFydEFyZWEubGVmdCxcclxuICAgICAgICAgICAgY2hhcnRBcmVhLnRvcCxcclxuICAgICAgICAgICAgY2hhcnRBcmVhLnJpZ2h0IC0gY2hhcnRBcmVhLmxlZnQsXHJcbiAgICAgICAgICAgIGNoYXJ0QXJlYS5ib3R0b20gLSBjaGFydEFyZWEudG9wXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgY3R4LnJlc3RvcmUoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgICB0aGlzLnBsdWdpbnMucHVzaChwbHVnaW4pO1xyXG5cclxuICAgICAgb3B0aW9ucy5wbHVnaW5zW2Ake2lkfWBdID0ge1xyXG4gICAgICAgIGNvbG9yOiBiYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb3B0aW9ucztcclxuICB9XHJcblxyXG4gIG9uRGF0YVNlbGVjdChldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmRhdGFTZWxlY3QuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVDaGFydENsaWNrKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMuY2hhcnRDbGljay5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZU9uRGF0YUNsaWNrZWQoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgY29uc3QgY2FudmFzID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxDYW52YXNFbGVtZW50O1xyXG4gICAgY29uc3QgY2hhcnQgPSBDaGFydC5nZXRDaGFydChjYW52YXMpO1xyXG5cclxuICAgIGlmIChjaGFydCkge1xyXG4gICAgICBjb25zdCBlbGVtZW50cyA9IGNoYXJ0LmdldEVsZW1lbnRzQXRFdmVudEZvck1vZGUoXHJcbiAgICAgICAgZXZlbnQsXHJcbiAgICAgICAgXCJuZWFyZXN0XCIsXHJcbiAgICAgICAgeyBpbnRlcnNlY3Q6IHRydWUgfSxcclxuICAgICAgICBmYWxzZVxyXG4gICAgICApO1xyXG4gICAgICBpZiAoZWxlbWVudHMubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgICAgcmV0dXJuO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGNsaWNrZWRJdGVtcyA9IGNoYXJ0LnRvb2x0aXA/LmRhdGFQb2ludHM/Lm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICBkYXRhc2V0SW5kZXg6IGl0ZW0uZGF0YXNldEluZGV4LFxyXG4gICAgICAgICAgaXRlbUluZGV4OiBpdGVtLmRhdGFJbmRleCxcclxuICAgICAgICAgIGVsZW1lbnQ6IGl0ZW0uZWxlbWVudCxcclxuICAgICAgICB9O1xyXG4gICAgICB9KTtcclxuXHJcbiAgICAgIHRoaXMub25EYXRhQ2xpY2tlZC5lbWl0KHsgZXZlbnQsIGNsaWNrZWRJdGVtcyB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEJhc2U2NEltYWdlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmdldEJhc2U2NEltYWdlKCk7XHJcbiAgfVxyXG5cclxuICByZWZyZXNoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LnJlZnJlc2goKTtcclxuICB9XHJcblxyXG4gIGdldENoYXJ0KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY2hhcnQ/LmNoYXJ0O1xyXG4gIH1cclxufVxyXG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbjxwLWNoYXJ0XHJcbiAgI2NoYXJ0SlNSZWZcclxuICBbdHlwZV09XCJ0eXBlXCJcclxuICBbZGF0YV09XCJkYXRhXCJcclxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICBbcGx1Z2luc109XCJwbHVnaW5zXCJcclxuICAob25EYXRhU2VsZWN0KT1cIm9uRGF0YVNlbGVjdCgkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlQ2hhcnRDbGljaygkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlT25EYXRhQ2xpY2tlZCgkZXZlbnQpXCJcclxuLz5cclxufSBAZWxzZSB7XHJcbjxwPk9ubHkgUHJpbWVOZyBjb21wb25lbnQgbGlicmFyeSBpcyBzdXBwb3J0ZWQ8L3A+XHJcbn1cclxuIl19
|
|
285
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtY2hhcnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtY2hhcnQvc21hcnQtY2hhcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFDTCxRQUFRLEVBQ1IsTUFBTSxFQUNOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUV2QixPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLDBDQUEwQyxDQUFDO0FBQ2xELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFPakMsT0FBTyxnQkFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLFVBQVUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFPN0MsTUFBTSxPQUFPLG1CQUFtQjtJQWdCOUIsWUFDVSxtQkFBZ0QsRUFDakIsT0FBMEI7UUFEekQsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE2QjtRQWJqRCxZQUFPLEdBQVUsRUFBRSxDQUFDO1FBRW5CLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3JDLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQyxDQUFDLEVBQUU7UUFNckQscUJBQWdCLEdBQUcsZ0JBQWdCLENBQUM7UUFNbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDO1FBQ25ELEtBQUssQ0FBQyxRQUFRLENB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bWl0dGVyLFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPcHRpb25hbCxcclxuICBPdXRwdXQsXHJcbiAgVmlld0NoaWxkLFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlciB9IGZyb20gXCIuL2RlZmF1bHQtY2hhcnQtb3B0aW9ucy5wcm92aWRlclwiO1xyXG5pbXBvcnQge1xyXG4gIENPTVBPTkVOVF9MSUJSQVJZLFxyXG4gIENvbXBvbmVudExpYnJhcnksXHJcbn0gZnJvbSBcIi4uL3ZpZXctY29udGV4dC91dGlsaXR5L2NvbXBvbmVudExpYnJhcnlcIjtcclxuaW1wb3J0IHsgQ2hhcnQgfSBmcm9tIFwiY2hhcnQuanNcIjtcclxuaW1wb3J0IHsgVUlDaGFydCB9IGZyb20gXCJwcmltZW5nL2NoYXJ0XCI7XHJcbmltcG9ydCB7XHJcbiAgRGlhZ3JhbURlc2NyaXB0b3IsXHJcbiAgRGlhZ3JhbVNoYXBlLFxyXG4gIERpYWdyYW1VaU1vZGVsLFxyXG59IGZyb20gXCIuL3NtYXJ0LWNoYXJ0Mi9hcGlcIjtcclxuaW1wb3J0IEFubm90YXRpb25QbHVnaW4gZnJvbSBcImNoYXJ0anMtcGx1Z2luLWFubm90YXRpb25cIjtcclxuaW1wb3J0IFpvb21QbHVnaW4gZnJvbSBcImNoYXJ0anMtcGx1Z2luLXpvb21cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcInNtYXJ0LWNoYXJ0XCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9zbWFydC1jaGFydC5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9zbWFydC1jaGFydC5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRDaGFydENvbXBvbmVudCB7XHJcbiAgQFZpZXdDaGlsZChcImNoYXJ0SlNSZWZcIikgY2hhcnQ/OiBVSUNoYXJ0O1xyXG4gIEBJbnB1dCgpIGRpYWdyYW1VaU1vZGVsITogRGlhZ3JhbVVpTW9kZWw7XHJcbiAgQElucHV0KCkgb3B0aW9ucz86IGFueTtcclxuICBASW5wdXQoKSBwbHVnaW5zOiBhbnlbXSA9IFtdO1xyXG5cclxuICBAT3V0cHV0KCkgZGF0YVNlbGVjdCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBjaGFydENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgQE91dHB1dCgpIG9uRGF0YUNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTsgLy9cclxuXHJcbiAgZGF0YTogYW55O1xyXG4gIHR5cGU6IGFueTtcclxuXHJcbiAgY29tcExpYjogQ29tcG9uZW50TGlicmFyeTtcclxuICBjb21wb25lbnRMaWJyYXJ5ID0gQ29tcG9uZW50TGlicmFyeTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNoYXJ0T3B0aW9uUHJvdmlkZXI6IERlZmF1bHRDaGFydE9wdGlvbnNQcm92aWRlcixcclxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIEBPcHRpb25hbCgpIGNvbXBMaWI/OiBDb21wb25lbnRMaWJyYXJ5XHJcbiAgKSB7XHJcbiAgICB0aGlzLmNvbXBMaWIgPSBjb21wTGliID8/IENvbXBvbmVudExpYnJhcnkuUFJJTUVORztcclxuICAgIENoYXJ0LnJlZ2lzdGVyKEFubm90YXRpb25QbHVnaW4pO1xyXG4gICAgQ2hhcnQucmVnaXN0ZXIoWm9vbVBsdWdpbik7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGxldCBvcHRpb25zID0gdW5kZWZpbmVkO1xyXG4gICAgY29uc3QgZGlhZ3JhbVR5cGUgPSAhIXRoaXMuZGlhZ3JhbVVpTW9kZWwuZGVzY3JpcHRvcj8uZGlhZ3JhbVR5cGVcclxuICAgICAgPyB0aGlzLmRpYWdyYW1VaU1vZGVsLmRlc2NyaXB0b3IuZGlhZ3JhbVR5cGVcclxuICAgICAgOiBcIlwiO1xyXG5cclxuICAgIGNvbnN0IGZhY3RvcnkgPSB0aGlzLmNoYXJ0T3B0aW9uUHJvdmlkZXIuZ2V0RmFjdG9yeShkaWFncmFtVHlwZSk7XHJcbiAgICB0aGlzLnR5cGUgPSBmYWN0b3J5LmNoYXJ0SnNUeXBlO1xyXG4gICAgb3B0aW9ucyA9IGZhY3RvcnkuY3JlYXRlT3B0aW9ucyh0aGlzLmRpYWdyYW1VaU1vZGVsLmRpYWdyYW1EYXRhISk7XHJcbiAgICBpZiAodGhpcy5kaWFncmFtVWlNb2RlbC5kZXNjcmlwdG9yKSB7XHJcbiAgICAgIG9wdGlvbnMgPSB0aGlzLmRlZXBNZXJnZShcclxuICAgICAgICB0aGlzLmNvbnZlcnRCYWNrZW5kT3B0aW9ucyh0aGlzLmRpYWdyYW1VaU1vZGVsLmRlc2NyaXB0b3IpLFxyXG4gICAgICAgIG9wdGlvbnNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLm9wdGlvbnMpIHtcclxuICAgICAgb3B0aW9ucyA9IHRoaXMuZGVlcE1lcmdlKHRoaXMub3B0aW9ucywgb3B0aW9ucyk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucztcclxuICAgIHRoaXMuZGF0YSA9IGZhY3RvcnkudHJhbnNmb3JtRGF0YSh0aGlzLmRpYWdyYW1VaU1vZGVsLmRpYWdyYW1EYXRhISk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGRlZXBNZXJnZSh0YXJnZXQ6IGFueSwgc291cmNlOiBhbnkpOiBhbnkge1xyXG4gICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc291cmNlKSkge1xyXG4gICAgICBpZiAoc291cmNlW2tleV0gaW5zdGFuY2VvZiBPYmplY3QgJiYgdGFyZ2V0W2tleV0pIHtcclxuICAgICAgICBPYmplY3QuYXNzaWduKHNvdXJjZVtrZXldLCB0aGlzLmRlZXBNZXJnZSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgT2JqZWN0LmFzc2lnbih0YXJnZXQgfHwge30sIHNvdXJjZSk7XHJcbiAgICByZXR1cm4gdGFyZ2V0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0QmFja2VuZE9wdGlvbnMoZGVzY3JpcHRvcjogRGlhZ3JhbURlc2NyaXB0b3IpIHtcclxuICAgIGNvbnN0IG9wdGlvbnM6IGFueSA9IHtcclxuICAgICAgcGx1Z2luczoge1xyXG4gICAgICAgIGxlZ2VuZDoge1xyXG4gICAgICAgICAgZGlzcGxheTogZGVzY3JpcHRvci5zaG93TGVnZW5kRm9yQ2hhcnQgPz8gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9LFxyXG4gICAgICBzY2FsZXM6IHt9IGFzIGFueSxcclxuICAgIH07XHJcbiAgICBpZiAoXHJcbiAgICAgIGRlc2NyaXB0b3IuZGlhZ3JhbU1pblggIT09IHVuZGVmaW5lZCAmJlxyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1NYXhYICE9PSB1bmRlZmluZWRcclxuICAgICkge1xyXG4gICAgICBvcHRpb25zLnNjYWxlcy54ID0ge1xyXG4gICAgICAgIHRpY2tzOiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBkZXNjcmlwdG9yLnNob3dMYWJlbHNGb3JYQXhpcyA/PyB0cnVlLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgbWluOiBkZXNjcmlwdG9yLmRpYWdyYW1NaW5YLFxyXG4gICAgICAgIG1heDogZGVzY3JpcHRvci5kaWFncmFtTWF4WCxcclxuICAgICAgfTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG9wdGlvbnMuc2NhbGVzLnggPSB7XHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xhYmVsc0ZvclhBeGlzID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIGlmIChcclxuICAgICAgZGVzY3JpcHRvci5kaWFncmFtTWluWSAhPT0gdW5kZWZpbmVkICYmXHJcbiAgICAgIGRlc2NyaXB0b3IuZGlhZ3JhbU1heFkgIT09IHVuZGVmaW5lZFxyXG4gICAgKSB7XHJcbiAgICAgIG9wdGlvbnMuc2NhbGVzLnkgPSB7XHJcbiAgICAgICAgdGlja3M6IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGRlc2NyaXB0b3Iuc2hvd0xhYmVsc0ZvcllBeGlzID8/IHRydWUsXHJcbiAgICAgICAgfSxcclxuICAgICAgICBtaW46IGRlc2NyaXB0b3IuZGlhZ3JhbU1pblksXHJcbiAgICAgICAgbWF4OiBkZXNjcmlwdG9yLmRpYWdyYW1NYXhZLFxyXG4gICAgICB9O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgb3B0aW9ucy5zY2FsZXMueSA9IHtcclxuICAgICAgICB0aWNrczoge1xyXG4gICAgICAgICAgZGlzcGxheTogZGVzY3JpcHRvci5zaG93TGFiZWxzRm9yWUF4aXMgPz8gdHJ1ZSxcclxuICAgICAgICB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIC8vQ3JlYXRlIHNoYXBlc1xyXG4gICAgaWYgKGRlc2NyaXB0b3IuZGlhZ3JhbVNoYXBlcykge1xyXG4gICAgICBkZXNjcmlwdG9yLmRpYWdyYW1TaGFwZXMuZm9yRWFjaCgoc2hhcGU6IERpYWdyYW1TaGFwZSwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIG9wdGlvbnMucGx1Z2lucy5hbm5vdGF0aW9uID0gb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24gfHwge307XHJcbiAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnMgPVxyXG4gICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnMgfHwge307XHJcblxyXG4gICAgICAgIGxldCBib3JkZXJDb2xvciA9IGByZ2JhKFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUuYm9yZGVyQ29sb3I/LmdyZWVuID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5ibHVlID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJvcmRlckNvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG4gICAgICAgIGxldCBiYWNrZ3JvdW5kQ29sb3IgPSBgcmdiYShcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LnJlZCA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LmdyZWVuID8/IDB9LFxyXG4gICAgICAgICAke3NoYXBlLmJhY2tncm91bmRDb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5iYWNrZ3JvdW5kQ29sb3I/LmFscGhhID8/IDF9KWA7XHJcblxyXG4gICAgICAgIGxldCBmb250Q29sb3IgPSBgcmdiYShcclxuICAgICAgICAgJHtzaGFwZS5sYWJlbFRleHQ/LmNvbG9yPy5yZWQgPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUubGFiZWxUZXh0Py5jb2xvcj8uZ3JlZW4gPz8gMH0sXHJcbiAgICAgICAgICR7c2hhcGUubGFiZWxUZXh0Py5jb2xvcj8uYmx1ZSA/PyAwfSxcclxuICAgICAgICAgJHtzaGFwZS5sYWJlbFRleHQ/LmNvbG9yPy5hbHBoYSA/PyAxfSlgO1xyXG5cclxuICAgICAgICBsZXQgYm9yZGVyRGFzaDtcclxuICAgICAgICBpZiAoc2hhcGUuYm9yZGVyRGFzaExlbmd0aCAmJiBzaGFwZS5ib3JkZXJEYXNoR2FwKSB7XHJcbiAgICAgICAgICBib3JkZXJEYXNoID0gW3NoYXBlLmJvcmRlckRhc2hMZW5ndGgsIHNoYXBlLmJvcmRlckRhc2hHYXBdO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBib3JkZXJEYXNoID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgYmFzZUFubm90YXRpb24gPSB7XHJcbiAgICAgICAgICB0eXBlOiBzaGFwZS5zaGFwZVR5cGUgPz8gXCJsaW5lXCIsXHJcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IGJhY2tncm91bmRDb2xvciA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICBib3JkZXJDb2xvcjogYm9yZGVyQ29sb3IgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IHNoYXBlLmJvcmRlcldpZHRoID8/IDEsXHJcbiAgICAgICAgICBib3JkZXJEYXNoOiBib3JkZXJEYXNoID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgIGRyYXdUaW1lOiBzaGFwZS5kcmF3VGltZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgc3dpdGNoIChzaGFwZS5zaGFwZVR5cGUpIHtcclxuICAgICAgICAgIGNhc2UgXCJib3hcIjpcclxuICAgICAgICAgIGNhc2UgXCJsaW5lXCI6XHJcbiAgICAgICAgICBjYXNlIFwiZWxsaXBzZVwiOlxyXG4gICAgICAgICAgICBvcHRpb25zLnBsdWdpbnMuYW5ub3RhdGlvbi5hbm5vdGF0aW9uc1tgc2hhcGUke2luZGV4fWBdID0ge1xyXG4gICAgICAgICAgICAgIC4uLmJhc2VBbm5vdGF0aW9uLFxyXG4gICAgICAgICAgICAgIHhNaW46IHNoYXBlLnhNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHhNYXg6IHNoYXBlLnhNYXggPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHlNaW46IHNoYXBlLnlNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHlNYXg6IHNoYXBlLnlNYXggPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICBicmVhaztcclxuXHJcbiAgICAgICAgICBjYXNlIFwibGFiZWxcIjpcclxuICAgICAgICAgICAgb3B0aW9ucy5wbHVnaW5zLmFubm90YXRpb24uYW5ub3RhdGlvbnNbYHNoYXBlJHtpbmRleH1gXSA9IHtcclxuICAgICAgICAgICAgICAuLi5iYXNlQW5ub3RhdGlvbixcclxuICAgICAgICAgICAgICB4VmFsdWU6IHNoYXBlLnhNaW4gPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgIHlWYWx1ZTogc2hhcGUueU1pbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgY29udGVudDogc2hhcGUubGFiZWxUZXh0Py5jb250ZW50ID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICB0ZXh0QWxpZ246IHNoYXBlLmxhYmVsVGV4dD8udGV4dEFsaWduID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICBjb2xvcjogZm9udENvbG9yID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgICBmb250OiB7XHJcbiAgICAgICAgICAgICAgICBzaXplOiBzaGFwZS5sYWJlbFRleHQ/LnNpemUgPz8gdW5kZWZpbmVkLFxyXG4gICAgICAgICAgICAgICAgd2VpZ2h0OiBzaGFwZS5sYWJlbFRleHQ/LndlaWdodCA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgICBzdHlsZTogc2hhcGUubGFiZWxUZXh0Py5zdHlsZSA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgY2FzZSBcInBvaW50XCI6XHJcbiAgICAgICAgICBjYXNlIFwicG9seWdvblwiOlxyXG4gICAgICAgICAgICBvcHRpb25zLnBsdWdpbnMuYW5ub3RhdGlvbi5hbm5vdGF0aW9uc1tgc2hhcGUke2luZGV4fWBdID0ge1xyXG4gICAgICAgICAgICAgIC4uLmJhc2VBbm5vdGF0aW9uLFxyXG4gICAgICAgICAgICAgIHhWYWx1ZTogc2hhcGUueE1pbiA/PyB1bmRlZmluZWQsXHJcbiAgICAgICAgICAgICAgeVZhbHVlOiBzaGFwZS55TWluID8/IHVuZGVmaW5lZCxcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcblxyXG4gICAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgLy8gT3B0aW9uYWxseSBoYW5kbGUgYW55IG90aGVyIHNoYXBlIHR5cGVzXHJcbiAgICAgICAgICAgIGNvbnNvbGUud2FybihgVW5rbm93biBzaGFwZSB0eXBlOiAke3NoYXBlLnNoYXBlVHlwZX1gKTtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGVzY3JpcHRvci5iYWNrZ3JvdW5kQ29sb3IpIHtcclxuICAgICAgbGV0IGJhY2tncm91bmRDb2xvciA9IGByZ2JhKFxyXG4gICAgICAgICR7ZGVzY3JpcHRvci5iYWNrZ3JvdW5kQ29sb3I/LnJlZCA/PyAwfSxcclxuICAgICAgICAke2Rlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yPy5ncmVlbiA/PyAwfSxcclxuICAgICAgICAke2Rlc2NyaXB0b3IuYmFja2dyb3VuZENvbG9yPy5ibHVlID8/IDB9LFxyXG4gICAgICAgICR7ZGVzY3JpcHRvci5iYWNrZ3JvdW5kQ29sb3I/LmFscGhhID8/IDF9KWA7XHJcblxyXG4gICAgICBsZXQgaWQgPSBcImN1c3RvbUNhbnZhc0JhY2tncm91bmRDb2xvclwiO1xyXG4gICAgICBjb25zdCBwbHVnaW4gPSB7XHJcbiAgICAgICAgaWQ6IGlkLFxyXG4gICAgICAgIGJlZm9yZURyYXc6IChjaGFydDogYW55LCBhcmdzOiBhbnksIG9wdGlvbnM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgY29uc3QgeyBjdHgsIGNoYXJ0QXJlYSB9ID0gY2hhcnQ7XHJcblxyXG4gICAgICAgICAgY3R4LnNhdmUoKTtcclxuICAgICAgICAgIGN0eC5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb24gPSBcImRlc3RpbmF0aW9uLW92ZXJcIjtcclxuICAgICAgICAgIGN0eC5maWxsU3R5bGUgPSBiYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgICAgICBjdHguZmlsbFJlY3QoXHJcbiAgICAgICAgICAgIGNoYXJ0QXJlYS5sZWZ0LFxyXG4gICAgICAgICAgICBjaGFydEFyZWEudG9wLFxyXG4gICAgICAgICAgICBjaGFydEFyZWEucmlnaHQgLSBjaGFydEFyZWEubGVmdCxcclxuICAgICAgICAgICAgY2hhcnRBcmVhLmJvdHRvbSAtIGNoYXJ0QXJlYS50b3BcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICBjdHgucmVzdG9yZSgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH07XHJcbiAgICAgIHRoaXMucGx1Z2lucy5wdXNoKHBsdWdpbik7XHJcblxyXG4gICAgICBvcHRpb25zLnBsdWdpbnNbYCR7aWR9YF0gPSB7XHJcbiAgICAgICAgY29sb3I6IGJhY2tncm91bmRDb2xvcixcclxuICAgICAgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBvcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgb25EYXRhU2VsZWN0KGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuZGF0YVNlbGVjdC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUNoYXJ0Q2xpY2soZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5jaGFydENsaWNrLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlT25EYXRhQ2xpY2tlZChldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBjYW52YXMgPSBldmVudC50YXJnZXQgYXMgSFRNTENhbnZhc0VsZW1lbnQ7XHJcbiAgICBjb25zdCBjaGFydCA9IENoYXJ0LmdldENoYXJ0KGNhbnZhcyk7XHJcblxyXG4gICAgaWYgKGNoYXJ0KSB7XHJcbiAgICAgIGNvbnN0IGVsZW1lbnRzID0gY2hhcnQuZ2V0RWxlbWVudHNBdEV2ZW50Rm9yTW9kZShcclxuICAgICAgICBldmVudCxcclxuICAgICAgICBcIm5lYXJlc3RcIixcclxuICAgICAgICB7IGludGVyc2VjdDogdHJ1ZSB9LFxyXG4gICAgICAgIGZhbHNlXHJcbiAgICAgICk7XHJcbiAgICAgIGlmIChlbGVtZW50cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgICByZXR1cm47XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgY2xpY2tlZEl0ZW1zID0gY2hhcnQudG9vbHRpcD8uZGF0YVBvaW50cz8ubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHtcclxuICAgICAgICAgIGRhdGFzZXRJbmRleDogaXRlbS5kYXRhc2V0SW5kZXgsXHJcbiAgICAgICAgICBpdGVtSW5kZXg6IGl0ZW0uZGF0YUluZGV4LFxyXG4gICAgICAgICAgZWxlbWVudDogaXRlbS5lbGVtZW50LFxyXG4gICAgICAgIH07XHJcbiAgICAgIH0pO1xyXG5cclxuICAgICAgdGhpcy5vbkRhdGFDbGlja2VkLmVtaXQoeyBldmVudCwgY2xpY2tlZEl0ZW1zIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0QmFzZTY0SW1hZ2UoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFydD8uZ2V0QmFzZTY0SW1hZ2UoKTtcclxuICB9XHJcblxyXG4gIHJlZnJlc2goKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFydD8ucmVmcmVzaCgpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Q2hhcnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jaGFydD8uY2hhcnQ7XHJcbiAgfVxyXG4gIGdldFZpc2libGVQb2ludHMoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2hhcnQpIHJldHVybjtcclxuXHJcbiAgICBjb25zdCBjaGFydEluc3RhbmNlID0gdGhpcy5jaGFydC5jaGFydDtcclxuICAgIGlmICghY2hhcnRJbnN0YW5jZSkgcmV0dXJuO1xyXG5cclxuICAgIGNvbnN0IHZpc2libGVQb2ludHM6IGFueSA9IFtdO1xyXG5cclxuICAgIGNoYXJ0SW5zdGFuY2UuZGF0YS5kYXRhc2V0cy5mb3JFYWNoKChkYXRhc2V0OiBhbnksIGRhdGFzZXRJbmRleDogYW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IG1ldGEgPSBjaGFydEluc3RhbmNlLmdldERhdGFzZXRNZXRhKGRhdGFzZXRJbmRleCk7XHJcblxyXG4gICAgICAvLyBDaGVjayBpZiB0aGUgZGF0YXNldCBpcyBoaWRkZW5cclxuICAgICAgaWYgKCFjaGFydEluc3RhbmNlLmlzRGF0YXNldFZpc2libGUoZGF0YXNldEluZGV4KSkge1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY29uc3QgeE1pbiA9IG1ldGEueFNjYWxlLm1pbjtcclxuICAgICAgY29uc3QgeE1heCA9IG1ldGEueFNjYWxlLm1heDtcclxuICAgICAgY29uc3QgeU1pbiA9IG1ldGEueVNjYWxlLm1pbjtcclxuICAgICAgY29uc3QgeU1heCA9IG1ldGEueVNjYWxlLm1heDtcclxuXHJcbiAgICAgIGRhdGFzZXQuZGF0YS5mb3JFYWNoKChwb2ludDogYW55LCBkYXRhSW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHsgeCwgeSB9ID0gcG9pbnQ7XHJcblxyXG4gICAgICAgIGlmICh4ID49IHhNaW4gJiYgeCA8PSB4TWF4ICYmIHkgPj0geU1pbiAmJiB5IDw9IHlNYXgpIHtcclxuICAgICAgICAgIHZpc2libGVQb2ludHMucHVzaCh7XHJcbiAgICAgICAgICAgIGRhdGFzZXRJbmRleCxcclxuICAgICAgICAgICAgZGF0YUluZGV4LFxyXG4gICAgICAgICAgICB4LFxyXG4gICAgICAgICAgICB5LFxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB2aXNpYmxlUG9pbnRzO1xyXG4gIH1cclxufVxyXG4iLCJAaWYoY29tcExpYiA9PT0gY29tcG9uZW50TGlicmFyeS5QUklNRU5HKSB7XHJcbjxwLWNoYXJ0XHJcbiAgI2NoYXJ0SlNSZWZcclxuICBbdHlwZV09XCJ0eXBlXCJcclxuICBbZGF0YV09XCJkYXRhXCJcclxuICBbb3B0aW9uc109XCJvcHRpb25zXCJcclxuICBbcGx1Z2luc109XCJwbHVnaW5zXCJcclxuICAob25EYXRhU2VsZWN0KT1cIm9uRGF0YVNlbGVjdCgkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlQ2hhcnRDbGljaygkZXZlbnQpXCJcclxuICAoY2xpY2spPVwiaGFuZGxlT25EYXRhQ2xpY2tlZCgkZXZlbnQpXCJcclxuLz5cclxufSBAZWxzZSB7XHJcbjxwPk9ubHkgUHJpbWVOZyBjb21wb25lbnQgbGlicmFyeSBpcyBzdXBwb3J0ZWQ8L3A+XHJcbn1cclxuIl19
|
|
@@ -333,22 +333,22 @@ class SmartChartComponent {
|
|
|
333
333
|
options.plugins.annotation = options.plugins.annotation || {};
|
|
334
334
|
options.plugins.annotation.annotations =
|
|
335
335
|
options.plugins.annotation.annotations || {};
|
|
336
|
-
|
|
336
|
+
let borderColor = `rgba(
|
|
337
337
|
${shape.borderColor?.red ?? 0},
|
|
338
338
|
${shape.borderColor?.green ?? 0},
|
|
339
339
|
${shape.borderColor?.blue ?? 0},
|
|
340
340
|
${shape.borderColor?.alpha ?? 1})`;
|
|
341
|
-
|
|
341
|
+
let backgroundColor = `rgba(
|
|
342
342
|
${shape.backgroundColor?.red ?? 0},
|
|
343
343
|
${shape.backgroundColor?.green ?? 0},
|
|
344
344
|
${shape.backgroundColor?.blue ?? 0},
|
|
345
345
|
${shape.backgroundColor?.alpha ?? 1})`;
|
|
346
|
-
|
|
346
|
+
let fontColor = `rgba(
|
|
347
347
|
${shape.labelText?.color?.red ?? 0},
|
|
348
348
|
${shape.labelText?.color?.green ?? 0},
|
|
349
349
|
${shape.labelText?.color?.blue ?? 0},
|
|
350
350
|
${shape.labelText?.color?.alpha ?? 1})`;
|
|
351
|
-
|
|
351
|
+
let borderDash;
|
|
352
352
|
if (shape.borderDashLength && shape.borderDashGap) {
|
|
353
353
|
borderDash = [shape.borderDashLength, shape.borderDashGap];
|
|
354
354
|
}
|
|
@@ -406,12 +406,12 @@ class SmartChartComponent {
|
|
|
406
406
|
});
|
|
407
407
|
}
|
|
408
408
|
if (descriptor.backgroundColor) {
|
|
409
|
-
|
|
409
|
+
let backgroundColor = `rgba(
|
|
410
410
|
${descriptor.backgroundColor?.red ?? 0},
|
|
411
411
|
${descriptor.backgroundColor?.green ?? 0},
|
|
412
412
|
${descriptor.backgroundColor?.blue ?? 0},
|
|
413
413
|
${descriptor.backgroundColor?.alpha ?? 1})`;
|
|
414
|
-
|
|
414
|
+
let id = "customCanvasBackgroundColor";
|
|
415
415
|
const plugin = {
|
|
416
416
|
id: id,
|
|
417
417
|
beforeDraw: (chart, args, options) => {
|
|
@@ -463,6 +463,37 @@ class SmartChartComponent {
|
|
|
463
463
|
getChart() {
|
|
464
464
|
return this.chart?.chart;
|
|
465
465
|
}
|
|
466
|
+
getVisiblePoints() {
|
|
467
|
+
if (!this.chart)
|
|
468
|
+
return;
|
|
469
|
+
const chartInstance = this.chart.chart;
|
|
470
|
+
if (!chartInstance)
|
|
471
|
+
return;
|
|
472
|
+
const visiblePoints = [];
|
|
473
|
+
chartInstance.data.datasets.forEach((dataset, datasetIndex) => {
|
|
474
|
+
const meta = chartInstance.getDatasetMeta(datasetIndex);
|
|
475
|
+
// Check if the dataset is hidden
|
|
476
|
+
if (!chartInstance.isDatasetVisible(datasetIndex)) {
|
|
477
|
+
return;
|
|
478
|
+
}
|
|
479
|
+
const xMin = meta.xScale.min;
|
|
480
|
+
const xMax = meta.xScale.max;
|
|
481
|
+
const yMin = meta.yScale.min;
|
|
482
|
+
const yMax = meta.yScale.max;
|
|
483
|
+
dataset.data.forEach((point, dataIndex) => {
|
|
484
|
+
const { x, y } = point;
|
|
485
|
+
if (x >= xMin && x <= xMax && y >= yMin && y <= yMax) {
|
|
486
|
+
visiblePoints.push({
|
|
487
|
+
datasetIndex,
|
|
488
|
+
dataIndex,
|
|
489
|
+
x,
|
|
490
|
+
y,
|
|
491
|
+
});
|
|
492
|
+
}
|
|
493
|
+
});
|
|
494
|
+
});
|
|
495
|
+
return visiblePoints;
|
|
496
|
+
}
|
|
466
497
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartChartComponent, deps: [{ token: DefaultChartOptionsProvider }, { token: COMPONENT_LIBRARY, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
467
498
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: SmartChartComponent, selector: "smart-chart", inputs: { diagramUiModel: "diagramUiModel", options: "options", plugins: "plugins" }, outputs: { dataSelect: "dataSelect", chartClick: "chartClick", onDataClicked: "onDataClicked" }, viewQueries: [{ propertyName: "chart", first: true, predicate: ["chartJSRef"], descendants: true }], ngImport: i0, template: "@if(compLib === componentLibrary.PRIMENG) {\r\n<p-chart\r\n #chartJSRef\r\n [type]=\"type\"\r\n [data]=\"data\"\r\n [options]=\"options\"\r\n [plugins]=\"plugins\"\r\n (onDataSelect)=\"onDataSelect($event)\"\r\n (click)=\"handleChartClick($event)\"\r\n (click)=\"handleOnDataClicked($event)\"\r\n/>\r\n} @else {\r\n<p>Only PrimeNg component library is supported</p>\r\n}\r\n", styles: [""], dependencies: [{ kind: "component", type: i2.UIChart, selector: "p-chart", inputs: ["type", "plugins", "width", "height", "responsive", "ariaLabel", "ariaLabelledBy", "data", "options"], outputs: ["onDataSelect"] }] }); }
|
|
468
499
|
}
|