@smartbit4all/ng-client 4.2.172 → 4.3.1
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/README.md +386 -386
- package/esm2022/lib/component-factory-service/component-factory-service.module.mjs +1 -1
- package/esm2022/lib/component-factory-service/component-factory-service.service.mjs +1 -1
- package/esm2022/lib/component-factory-service/projects.mjs +1 -1
- package/esm2022/lib/session/api/api/api.mjs +1 -1
- package/esm2022/lib/session/api/index.mjs +1 -1
- package/esm2022/lib/session/api/model/models.mjs +1 -1
- package/esm2022/lib/session/api/model/session.mjs +1 -1
- package/esm2022/lib/session/api/model/sessionInfoData.mjs +1 -1
- package/esm2022/lib/session/cookie-service/smart-cookie.service.mjs +1 -1
- package/esm2022/lib/session/projects.mjs +1 -1
- package/esm2022/lib/session/smart-error-catching.interceptor.mjs +1 -1
- package/esm2022/lib/session/smart-header-maintainer.interceptor.mjs +1 -1
- package/esm2022/lib/session/smart-session-handler.service.mjs +1 -1
- package/esm2022/lib/session/smart-session.module.mjs +1 -1
- package/esm2022/lib/session/smart-session.service.mjs +1 -1
- package/esm2022/lib/session/smart-timer/smart-session-timer.component.mjs +3 -3
- package/esm2022/lib/session/smart-timer/smart-session-timer.service.mjs +1 -1
- package/esm2022/lib/shared/projects.mjs +1 -1
- package/esm2022/lib/shared/shared.module.mjs +1 -1
- package/esm2022/lib/shared/smart-tooltip.directive.mjs +1 -1
- package/esm2022/lib/shared/smarttable.date-pipe.mjs +1 -1
- package/esm2022/lib/smart-client/projects.mjs +1 -1
- package/esm2022/lib/smart-client/smart-authentication.service.mjs +1 -1
- package/esm2022/lib/smart-client/smart-component-api-client.mjs +12 -2
- package/esm2022/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +3 -3
- package/esm2022/lib/smart-client/smart.component.mjs +1 -1
- package/esm2022/lib/smart-client/smart.service.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/layoutDefinitionDescriptor.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/model/toolbarProperties.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-component-layout/projects.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout-utility.mjs +1 -1
- package/esm2022/lib/smart-component-layout/smart-component-layout.component.mjs +3 -3
- package/esm2022/lib/smart-component-layout/smart-component-layout.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/api/diagramService.service.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/index.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramColor.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDataContainer.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDataItem.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDataSet.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramDescriptor.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramModel.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/diagramShape.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/drawTime.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/labelText.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/param.mjs +1 -1
- package/esm2022/lib/smart-diagram/api/variables.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/default-smart-diagram-options.provider.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/smart-diagram.component.mjs +22 -22
- package/esm2022/lib/smart-diagram/component/smart-diagram.module.mjs +1 -1
- package/esm2022/lib/smart-diagram/component/smart-diagram.util.mjs +1 -1
- package/esm2022/lib/smart-diagram/projects.mjs +1 -1
- package/esm2022/lib/smart-dialog/projects.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.component.mjs +3 -3
- package/esm2022/lib/smart-dialog/smartdialog.model.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.module.mjs +1 -1
- package/esm2022/lib/smart-dialog/smartdialog.service.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/expandable-section.component.mjs +3 -3
- package/esm2022/lib/smart-expandable-section/expandable-section.model.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/projects.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.module.mjs +1 -1
- package/esm2022/lib/smart-expandable-section/smart-expandable-section.service.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/api/filter/model/model.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +1 -1
- package/esm2022/lib/smart-filter/api/value/model/value.mjs +1 -1
- package/esm2022/lib/smart-filter/projects.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.component.mjs +3 -3
- package/esm2022/lib/smart-filter/smart-filter/smart-filter.service.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter.model.mjs +1 -1
- package/esm2022/lib/smart-filter/smart-filter.module.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/filterExpressionOrderBy.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-filter-editor/filterExpressionBuilderApiActions.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/project.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-item/smart-filter-expression-item.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/components/smart-filter-expression-items/smart-filter-expression-items.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor-content/smart-filter-editor-content.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.model.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.module.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-editor.service.mjs +1 -1
- package/esm2022/lib/smart-filter-editor/smart-filter-params/components/smart-filter-param/smart-filter-param.component.mjs +3 -3
- package/esm2022/lib/smart-filter-editor/smart-filter-params/smart-filter-params.component.mjs +3 -3
- package/esm2022/lib/smart-form/api/model/dateFieldProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/multiFileUploaderProperties.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/selectionDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartFormWidgetType.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/smartWidgetDefinition.mjs +1 -1
- package/esm2022/lib/smart-form/api/model/valueChangeMode.mjs +1 -1
- package/esm2022/lib/smart-form/highlightMacthingString-pipe.mjs +1 -1
- package/esm2022/lib/smart-form/projects.mjs +1 -1
- package/esm2022/lib/smart-form/services/smartform.layout-definition.service.mjs +1 -1
- package/esm2022/lib/smart-form/services/smartform.service.mjs +1 -1
- package/esm2022/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.component.mjs +3 -3
- package/esm2022/lib/smart-form/smartform.form-model.mjs +1 -1
- package/esm2022/lib/smart-form/smartform.model.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/components/smart-multi-file-editor/smart-multi-file-editor.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/directives/comparable-dropdown.directive.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/directives/comparable-multiselect.directive.mjs +1 -1
- package/esm2022/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +3 -3
- package/esm2022/lib/smart-form/widgets/smartformwidget/trackCaps.directive.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/gridExportDescriptor.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-grid/components/expandable-grid/expandable-grid.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/generic-component/expanded-row-renderer.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +3 -3
- package/esm2022/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +3 -3
- package/esm2022/lib/smart-grid/models/model.mjs +1 -1
- package/esm2022/lib/smart-grid/projects.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid-toolbar-util.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid.component.mjs +3 -3
- package/esm2022/lib/smart-grid/smart-grid.module.mjs +1 -1
- package/esm2022/lib/smart-grid/smart-grid.service.mjs +1 -1
- package/esm2022/lib/smart-icon/projects.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon/smart-icon.component.mjs +3 -3
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.component.mjs +3 -3
- package/esm2022/lib/smart-icon/smart-icon/ui-badge/ui-badge.directive.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon.module.mjs +1 -1
- package/esm2022/lib/smart-icon/smart-icon.service.mjs +1 -1
- package/esm2022/lib/smart-map/abstract-map.mjs +1 -1
- package/esm2022/lib/smart-map/api/api/api.mjs +1 -1
- package/esm2022/lib/smart-map/api/api/geoMap.service.mjs +1 -1
- package/esm2022/lib/smart-map/api/api.module.mjs +1 -1
- package/esm2022/lib/smart-map/api/configuration.mjs +1 -1
- package/esm2022/lib/smart-map/api/encoder.mjs +1 -1
- package/esm2022/lib/smart-map/api/index.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/gPSPosition.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/gPSRoute.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapChange.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapDataLoadingMode.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/api/model/geoMapEditingSession.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapInteraction.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapItem.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapItemKind.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapLayer.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapLayerChange.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapLayerDescriptor.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapModel.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapOperationMode.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapSelectionMode.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapServerModel.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapTextType.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapViewState.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/geoMapViewport.mjs +1 -1
- package/esm2022/lib/smart-map/api/model/models.mjs +1 -1
- package/esm2022/lib/smart-map/api/param.mjs +1 -1
- package/esm2022/lib/smart-map/api/variables.mjs +1 -1
- package/esm2022/lib/smart-map/api-default/api-default.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 +3 -3
- 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-navbar/projects.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.component.mjs +3 -3
- package/esm2022/lib/smart-navbar/smart-navbar.model.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.module.mjs +1 -1
- package/esm2022/lib/smart-navbar/smart-navbar.service.mjs +1 -1
- package/esm2022/lib/smart-navigation/projects.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.interface.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.module.mjs +1 -1
- package/esm2022/lib/smart-navigation/smart-navigation.service.mjs +1 -1
- package/esm2022/lib/smart-ng-client.module.mjs +1 -1
- package/esm2022/lib/smart-ng-client.service.mjs +1 -1
- package/esm2022/lib/smart-subject/projects.mjs +1 -1
- package/esm2022/lib/smart-subject/smart-subject.mjs +1 -1
- package/esm2022/lib/smart-tab-group/projects.mjs +1 -1
- package/esm2022/lib/smart-tab-group/smart-tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/smart-tab-group.module.mjs +1 -1
- package/esm2022/lib/smart-tab-group/smart-tab-group.service.mjs +1 -1
- package/esm2022/lib/smart-tab-group/tab-content/tab-content.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +3 -3
- package/esm2022/lib/smart-tab-group/tabTile.model.mjs +1 -1
- package/esm2022/lib/smart-table/components/default-actions-popup/default-actions-popup.component.mjs +3 -3
- package/esm2022/lib/smart-table/components/loading/loading.component.mjs +3 -3
- package/esm2022/lib/smart-table/directives/mat-context-menu-trigger-for.directive.mjs +1 -1
- package/esm2022/lib/smart-table/projects.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.component.mjs +3 -3
- package/esm2022/lib/smart-table/smarttable.model.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.module.mjs +1 -1
- package/esm2022/lib/smart-table/smarttable.service.mjs +1 -1
- package/esm2022/lib/smart-table/tables/material-table/material-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +3 -3
- package/esm2022/lib/smart-table/tables/table.mjs +1 -1
- package/esm2022/lib/smart-tree/projects.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree-generic.service.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.component.mjs +3 -3
- package/esm2022/lib/smart-tree/smarttree.model.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.module.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.node.model.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.service.interface.mjs +1 -1
- package/esm2022/lib/smart-tree/smarttree.service.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/api/tree.service.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/configuration.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/encoder.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/param.mjs +1 -1
- package/esm2022/lib/smart-tree/tree-api/variables.mjs +1 -1
- package/esm2022/lib/smart-validation/named-validator.service.mjs +1 -1
- package/esm2022/lib/smart-validation/projects.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/api/view.service.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/binaryData.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationError.mjs +1 -1
- package/esm2022/lib/view-context/api/api-default/invocationRequest.mjs +1 -1
- package/esm2022/lib/view-context/api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionDefinition.mjs +1 -1
- package/esm2022/lib/view-context/api/model/uiActionSchedule.mjs +1 -1
- package/esm2022/lib/view-context/invalid-fields-snack-bar/invalid-fields-snack-bar.component.mjs +3 -3
- package/esm2022/lib/view-context/message-dialog/message-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/projects.mjs +1 -1
- package/esm2022/lib/view-context/property-definition-data.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.constants.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/menu/menu.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/success-snack-bar/success-snack-bar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/photo-capture-widget/photo-capture-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/prime-file-uploader/prime-file-uploader.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/upload-widget.utils.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/components/upload-widget/voice-record-widget/voice-record-widget.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-dialog-button/ui-action-dialog-button.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action-button/ui-action-button.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-ui-action/ui-action.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context-dialog.service.mjs +2 -1
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.component.mjs +3 -3
- package/esm2022/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.interceptor.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.model.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.module.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-context.service.mjs +1 -1
- package/esm2022/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +1 -1
- package/esm2022/lib/view-context/utility/componentLibrary.mjs +1 -1
- package/esm2022/lib/view-context/utility/smart-object-utility.mjs +1 -1
- package/esm2022/lib/view-context/utility/smart-style-utility.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api/api.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api/value.service.mjs +1 -1
- package/esm2022/lib/view-context/value-api/api.module.mjs +1 -1
- package/esm2022/lib/view-context/value-api/configuration.mjs +1 -1
- package/esm2022/lib/view-context/value-api/encoder.mjs +1 -1
- package/esm2022/lib/view-context/value-api/index.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/genericValue.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/models.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/value.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetData.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinition.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionData.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionIdentifier.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetDefinitionKind.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetExpression.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetOperand.mjs +1 -1
- package/esm2022/lib/view-context/value-api/model/valueSetOperation.mjs +1 -1
- package/esm2022/lib/view-context/value-api/param.mjs +1 -1
- package/esm2022/lib/view-context/value-api/variables.mjs +1 -1
- package/esm2022/projects.mjs +1 -1
- package/fesm2022/smartbit4all-ng-client.mjs +141 -130
- package/fesm2022/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/smart-client/smart-component-api-client.d.ts +3 -1
- package/package.json +1 -1
- package/smartbit4all-ng-client-4.3.1.tgz +0 -0
- package/smartbit4all-ng-client-4.2.172.tgz +0 -0
|
@@ -169,11 +169,11 @@ export class SmartformComponent {
|
|
|
169
169
|
return [];
|
|
170
170
|
}
|
|
171
171
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartformComponent, deps: [{ token: i1.SmartFormService }, { token: COMPONENT_LIBRARY }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
172
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartformComponent, selector: "smartform", inputs: { smartForm: "smartForm" }, providers: [SmartFormService], viewQueries: [{ propertyName: "smartWidgetsQL", predicate: SmartformwidgetComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form *ngIf=\"smartForm\" (keydown)=\"keyDownFunction($event)\" [formGroup]=\"form\" class=\"flex form\">\n <h2 *ngIf=\"smartForm.name\">\n {{ smartForm.name }}\n </h2>\n <div [ngClass]=\"smartForm.direction === direction.ROW ? 'row' : 'col'\">\n <div *ngFor=\"let widget of smartForm.widgets\" class=\"item\">\n <smartformwidget\n *ngIf=\"widget.isVisible === undefined ? true : widget.isVisible\"\n [widgetInstance]=\"widget\"\n [form]=\"form\"\n class=\"grid-item\"\n [onBlur]=\"onBlurSubject\"\n [onValueChange]=\"onValueChangeSubject\"\n [blurSophisticatedValueChange]=\"blurSophisticatedValueChange\"\n [sophisticatedValueChange]=\"sophisticatedValueChange\"\n class=\"{{ widget.key }}\"\n [labelColor]=\"smartForm.labelTheme\"\n (valueCleared)=\"submitForm(true)\"\n ></smartformwidget>\n </div>\n </div>\n</form>\n", styles: [".col{display:flex;flex-direction:column;gap:.25em}.row{display:flex;flex-wrap:wrap;gap:.25em}.grid-item{text-align:left}.item{flex:1}.item ::ng-deep .p-inputtext{width:100%!important;min-height:45px}.item ::ng-deep p-inputnumber,.item ::ng-deep .p-inputnumber{width:100%!important;height:45px!important}.item ::ng-deep .p-dropdown,.item ::ng-deep .p-multiselect{width:100%!important}.item ::ng-deep p-overlay{z-index:1002}.item ::ng-deep .p-chips{width:100%!important;height:45px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.SmartformwidgetComponent, selector: "smartformwidget", inputs: ["form", "widgetInstance", "onBlur", "onValueChange", "labelColor", "sophisticatedValueChange", "blurSophisticatedValueChange"], outputs: ["valueCleared"] }] }); }
|
|
172
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: SmartformComponent, selector: "smartform", inputs: { smartForm: "smartForm" }, providers: [SmartFormService], viewQueries: [{ propertyName: "smartWidgetsQL", predicate: SmartformwidgetComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form *ngIf=\"smartForm\" (keydown)=\"keyDownFunction($event)\" [formGroup]=\"form\" class=\"flex form\">\r\n <h2 *ngIf=\"smartForm.name\">\r\n {{ smartForm.name }}\r\n </h2>\r\n <div [ngClass]=\"smartForm.direction === direction.ROW ? 'row' : 'col'\">\r\n <div *ngFor=\"let widget of smartForm.widgets\" class=\"item\">\r\n <smartformwidget\r\n *ngIf=\"widget.isVisible === undefined ? true : widget.isVisible\"\r\n [widgetInstance]=\"widget\"\r\n [form]=\"form\"\r\n class=\"grid-item\"\r\n [onBlur]=\"onBlurSubject\"\r\n [onValueChange]=\"onValueChangeSubject\"\r\n [blurSophisticatedValueChange]=\"blurSophisticatedValueChange\"\r\n [sophisticatedValueChange]=\"sophisticatedValueChange\"\r\n class=\"{{ widget.key }}\"\r\n [labelColor]=\"smartForm.labelTheme\"\r\n (valueCleared)=\"submitForm(true)\"\r\n ></smartformwidget>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".col{display:flex;flex-direction:column;gap:.25em}.row{display:flex;flex-wrap:wrap;gap:.25em}.grid-item{text-align:left}.item{flex:1}.item ::ng-deep .p-inputtext{width:100%!important;min-height:45px}.item ::ng-deep p-inputnumber,.item ::ng-deep .p-inputnumber{width:100%!important;height:45px!important}.item ::ng-deep .p-dropdown,.item ::ng-deep .p-multiselect{width:100%!important}.item ::ng-deep p-overlay{z-index:1002}.item ::ng-deep .p-chips{width:100%!important;height:45px!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i4.SmartformwidgetComponent, selector: "smartformwidget", inputs: ["form", "widgetInstance", "onBlur", "onValueChange", "labelColor", "sophisticatedValueChange", "blurSophisticatedValueChange"], outputs: ["valueCleared"] }] }); }
|
|
173
173
|
}
|
|
174
174
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartformComponent, decorators: [{
|
|
175
175
|
type: Component,
|
|
176
|
-
args: [{ selector: 'smartform', providers: [SmartFormService], template: "<form *ngIf=\"smartForm\" (keydown)=\"keyDownFunction($event)\" [formGroup]=\"form\" class=\"flex form\">\n <h2 *ngIf=\"smartForm.name\">\n {{ smartForm.name }}\n </h2>\n <div [ngClass]=\"smartForm.direction === direction.ROW ? 'row' : 'col'\">\n <div *ngFor=\"let widget of smartForm.widgets\" class=\"item\">\n <smartformwidget\n *ngIf=\"widget.isVisible === undefined ? true : widget.isVisible\"\n [widgetInstance]=\"widget\"\n [form]=\"form\"\n class=\"grid-item\"\n [onBlur]=\"onBlurSubject\"\n [onValueChange]=\"onValueChangeSubject\"\n [blurSophisticatedValueChange]=\"blurSophisticatedValueChange\"\n [sophisticatedValueChange]=\"sophisticatedValueChange\"\n class=\"{{ widget.key }}\"\n [labelColor]=\"smartForm.labelTheme\"\n (valueCleared)=\"submitForm(true)\"\n ></smartformwidget>\n </div>\n </div>\n</form>\n", styles: [".col{display:flex;flex-direction:column;gap:.25em}.row{display:flex;flex-wrap:wrap;gap:.25em}.grid-item{text-align:left}.item{flex:1}.item ::ng-deep .p-inputtext{width:100%!important;min-height:45px}.item ::ng-deep p-inputnumber,.item ::ng-deep .p-inputnumber{width:100%!important;height:45px!important}.item ::ng-deep .p-dropdown,.item ::ng-deep .p-multiselect{width:100%!important}.item ::ng-deep p-overlay{z-index:1002}.item ::ng-deep .p-chips{width:100%!important;height:45px!important}\n"] }]
|
|
176
|
+
args: [{ selector: 'smartform', providers: [SmartFormService], template: "<form *ngIf=\"smartForm\" (keydown)=\"keyDownFunction($event)\" [formGroup]=\"form\" class=\"flex form\">\r\n <h2 *ngIf=\"smartForm.name\">\r\n {{ smartForm.name }}\r\n </h2>\r\n <div [ngClass]=\"smartForm.direction === direction.ROW ? 'row' : 'col'\">\r\n <div *ngFor=\"let widget of smartForm.widgets\" class=\"item\">\r\n <smartformwidget\r\n *ngIf=\"widget.isVisible === undefined ? true : widget.isVisible\"\r\n [widgetInstance]=\"widget\"\r\n [form]=\"form\"\r\n class=\"grid-item\"\r\n [onBlur]=\"onBlurSubject\"\r\n [onValueChange]=\"onValueChangeSubject\"\r\n [blurSophisticatedValueChange]=\"blurSophisticatedValueChange\"\r\n [sophisticatedValueChange]=\"sophisticatedValueChange\"\r\n class=\"{{ widget.key }}\"\r\n [labelColor]=\"smartForm.labelTheme\"\r\n (valueCleared)=\"submitForm(true)\"\r\n ></smartformwidget>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".col{display:flex;flex-direction:column;gap:.25em}.row{display:flex;flex-wrap:wrap;gap:.25em}.grid-item{text-align:left}.item{flex:1}.item ::ng-deep .p-inputtext{width:100%!important;min-height:45px}.item ::ng-deep p-inputnumber,.item ::ng-deep .p-inputnumber{width:100%!important;height:45px!important}.item ::ng-deep .p-dropdown,.item ::ng-deep .p-multiselect{width:100%!important}.item ::ng-deep p-overlay{z-index:1002}.item ::ng-deep .p-chips{width:100%!important;height:45px!important}\n"] }]
|
|
177
177
|
}], ctorParameters: () => [{ type: i1.SmartFormService }, { type: i5.ComponentLibrary, decorators: [{
|
|
178
178
|
type: Inject,
|
|
179
179
|
args: [COMPONENT_LIBRARY]
|
|
@@ -183,4 +183,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
183
183
|
type: ViewChildren,
|
|
184
184
|
args: [SmartformwidgetComponent]
|
|
185
185
|
}] } });
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFNTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUloRSxPQUFPLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sMENBQTBDLENBQUM7QUFFL0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7Ozs7Ozs7QUFRL0YsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxPQUF5QixFQUNDLE9BQXlCO1FBRG5ELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ0MsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFyQnJELGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUtqRCxvQkFBZSxHQUEyQixFQUFFLENBQUM7UUFFN0MsNkJBQXdCLEdBQXNDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRixpQ0FBNEIsR0FBc0MsSUFBSSxZQUFZLENBQ2hGLElBQUksQ0FB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Q0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLFNBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjO2lCQUMvQixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO2lCQUMzRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOytHQTlMVSxrQkFBa0Isa0RBc0JuQixpQkFBaUI7bUdBdEJoQixrQkFBa0Isd0VBRmxCLENBQUMsZ0JBQWdCLENBQUMsNkRBbUJmLHdCQUF3QixxRUM5Q3hDLDQ1QkFzQkE7OzRGRE9hLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxXQUFXLGFBR1YsQ0FBQyxnQkFBZ0IsQ0FBQzs7MEJBd0IxQixNQUFNOzJCQUFDLGlCQUFpQjt5Q0FuQmxCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBZU4sY0FBYztzQkFEYixZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVW50eXBlZEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb24sIFNtYXJ0Rm9ybVdpZGdldFR5cGUgfSBmcm9tICcuL2FwaSc7XG5pbXBvcnQgeyBTbWFydEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zbWFydGZvcm0uc2VydmljZSc7XG5pbXBvcnQgeyBTbWFydEZvcm0sIFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMsIFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSB9IGZyb20gJy4vc21hcnRmb3JtLm1vZGVsJztcbi8vIGltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcbmltcG9ydCB7IENPTVBPTkVOVF9MSUJSQVJZLCBDb21wb25lbnRMaWJyYXJ5IH0gZnJvbSAnLi4vdmlldy1jb250ZXh0L3V0aWxpdHkvY29tcG9uZW50TGlicmFyeSc7XG5pbXBvcnQgeyBTbWFydEZvcm1XaWRnZXQgfSBmcm9tICcuL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcbmltcG9ydCB7IFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9zbWFydGZvcm13aWRnZXQvc21hcnRmb3Jtd2lkZ2V0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NtYXJ0Zm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9zbWFydGZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zbWFydGZvcm0uY29tcG9uZW50LmNzcyddLFxuICBwcm92aWRlcnM6IFtTbWFydEZvcm1TZXJ2aWNlXSxcbn0pXG5leHBvcnQgY2xhc3MgU21hcnRmb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3ksIE9uQ2hhbmdlcyB7XG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcblxuICBASW5wdXQoKSBzbWFydEZvcm0/OiBTbWFydEZvcm07XG4gIG9uQmx1clN1YmplY3Q/OiBTdWJqZWN0PGFueT47XG4gIG9uVmFsdWVDaGFuZ2VTdWJqZWN0PzogU3ViamVjdDxhbnk+O1xuICBvcmlnaW5hbFdpZGdldHM6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10gPSBbXTtcblxuICBzb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U6IFN1YmplY3Q8U29waGlzdGljYXRlZFZhbHVlQ2hhbmdlPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICBibHVyU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlOiBTdWJqZWN0PFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZT4gPSBuZXcgU21hcnRTdWJqZWN0KFxuICAgIHRoaXMuX2Rlc3Ryb3kkXG4gICk7XG5cbiAgZm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XG5cbiAgZGlyZWN0aW9uID0gU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uO1xuXG4gIEBWaWV3Q2hpbGRyZW4oU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50KVxuICBzbWFydFdpZGdldHNRTD86IFF1ZXJ5TGlzdDxTbWFydGZvcm13aWRnZXRDb21wb25lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2VydmljZTogU21hcnRGb3JtU2VydmljZSxcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxuICApIHt9XG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IGNoYW5nZXNbJ3NtYXJ0Rm9ybSddLmN1cnJlbnRWYWx1ZTtcbiAgICB0aGlzLm9yaWdpbmFsV2lkZ2V0cyA9IFtdO1xuICAgIGlmICh0aGlzLnNtYXJ0Rm9ybSkge1xuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XG4gICAgfVxuICB9XG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNtYXJ0Rm9ybSkge1xuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XG4gICAgfVxuICAgIHRoaXMub25CbHVyU3ViamVjdCA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xuICB9XG5cbiAgLy8gbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAvLyAgIGlmICh0aGlzLnNtYXJ0V2lkZ2V0c1FMKSB7XG4gIC8vICAgICB0aGlzLmhhbmRsZVF1ZXJ5TGlzdCh0aGlzLnNtYXJ0V2lkZ2V0c1FMLCAod2lkZ2V0KSA9PiB7XG4gIC8vICAgICAgIC8vID8/P1xuICAvLyAgICAgfSk7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgLy8gLy8gVE9ETyB0aGlzIGlzIGEgZHVwbGljYXRlIGZyb20gU21hcnRGb3JtQXBpQ2xpZW50IC0+IG1vdmUgaXQgdG8gYSB1dGlsaXR5XG4gIC8vIHByb3RlY3RlZCBoYW5kbGVRdWVyeUxpc3Q8VD4ocWw6IFF1ZXJ5TGlzdDxUPiwgaGFuZGxlcjogKGVsOiBUKSA9PiB2b2lkKSB7XG4gIC8vICAgcWwuZm9yRWFjaCgoZWwpID0+IGhhbmRsZXIoZWwpKTtcbiAgLy8gICBxbC5jaGFuZ2VzXG4gIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAvLyAgICAgLnN1YnNjcmliZSgobGlzdCkgPT4gKGxpc3QgYXMgUXVlcnlMaXN0PFQ+KS5mb3JFYWNoKChlbCkgPT4gaGFuZGxlcihlbCkpKTtcbiAgLy8gfVxuXG4gIHJlZnJlc2goKTogdm9pZCB7XG4gICAgdGhpcy5zZXJ2aWNlLnNldFZhbHVlc0Zyb21Nb2RlbCgpO1xuICB9XG5cbiAgY29uc3RydWN0Rm9ybSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc21hcnRGb3JtKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NtYXJ0Zm9ybSBoYXMgbm90IGJlZW4gZGVmaW5lZCEnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zbWFydEZvcm0udXNlT25WYWx1ZUNoYW5nZUV2ZW50ICYmICF0aGlzLm9uVmFsdWVDaGFuZ2VTdWJqZWN0KSB7XG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdWJqZWN0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XG4gICAgfVxuXG4gICAgdGhpcy5zZXJ2aWNlLnNtYXJ0Rm9ybSA9IHRoaXMuc21hcnRGb3JtO1xuICAgIGlmICghdGhpcy5vcmlnaW5hbFdpZGdldHMgfHwgdGhpcy5vcmlnaW5hbFdpZGdldHMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aGlzLm9yaWdpbmFsV2lkZ2V0cyA9IHRoaXMuc21hcnRGb3JtLndpZGdldHM7XG4gICAgfVxuICAgIHRoaXMuc2VydmljZS5zZXRWYWx1ZXNGcm9tTW9kZWwodGhpcy5vcmlnaW5hbFdpZGdldHMsIHRoaXMuY29tcExpYik7XG4gICAgdGhpcy5zZXJ2aWNlLmFwcGx5Q29uc3RyYWludHModGhpcy5vcmlnaW5hbFdpZGdldHMpO1xuICAgIHRoaXMuc21hcnRGb3JtLndpZGdldHMgPSB0aGlzLnNlcnZpY2UuZmlsdGVyV2lkZ2V0c0J5VmlzaWJpbGl0eSh0aGlzLm9yaWdpbmFsV2lkZ2V0cyk7XG4gICAgdGhpcy5mb3JtID0gdGhpcy5zZXJ2aWNlLnRvRm9ybUdyb3VwKHRoaXMuY29tcExpYik7XG5cbiAgICBpZiAodGhpcy5zbWFydEZvcm0udHJhbnNsYXRlU2VydmljZSkge1xuICAgICAgdGhpcy5zbWFydEZvcm0udHJhbnNsYXRlU2VydmljZS5vbkxhbmdDaGFuZ2UucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnRyYW5zbGF0ZVdpZGdldHModGhpcy5zbWFydEZvcm0hLndpZGdldHMpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnRyYW5zbGF0ZVdpZGdldHModGhpcy5zbWFydEZvcm0ud2lkZ2V0cyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyB0cmFuc2xhdGVXaWRnZXRzKHdpZGdldHM6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+W10pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UudHJhbnNsYXRlV2lkZ2V0cyh0aGlzLnNtYXJ0Rm9ybSEud2lkZ2V0cyk7XG4gICAgdGhpcy5tYXJrQWxsV2lkZ2V0c0ZvckNoYW5nZURldGVjdGlvbigpO1xuICB9XG5cbiAgcHVibGljIG1hcmtBbGxXaWRnZXRzRm9yQ2hhbmdlRGV0ZWN0aW9uKCkge1xuICAgIHRoaXMuZ2V0QWxsU21hcnRXaWRnZXRzKCkuZm9yRWFjaCgod2lkZ2V0KSA9PiB3aWRnZXQuY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCkpO1xuICB9XG4gIHByaXZhdGUgZ2V0QWxsU21hcnRXaWRnZXRzKCk6IFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudFtdIHtcbiAgICBjb25zdCByZXN1bHQ6IFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudFtdID0gW107XG4gICAgdGhpcy5zbWFydFdpZGdldHNRTD8uZm9yRWFjaCgod2lkZ2V0KSA9PiB7XG4gICAgICByZXN1bHQucHVzaCguLi50aGlzLmdldENoaWxkV2lkZ2V0cyh3aWRnZXQpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZFdpZGdldHMod2lkZ2V0OiBTbWFydGZvcm13aWRnZXRDb21wb25lbnQpOiBTbWFydGZvcm13aWRnZXRDb21wb25lbnRbXSB7XG4gICAgaWYgKHdpZGdldC53aWRnZXRJbnN0YW5jZS50eXBlID09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuQ09OVEFJTkVSKSB7XG4gICAgICBjb25zdCByZXN1bHQ6IFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudFtdID0gW107XG4gICAgICB3aWRnZXQuY2hpbGRyZW5XaWRnZXRzUUw/LmZvckVhY2goKGNoaWxkKSA9PiByZXN1bHQucHVzaCguLi50aGlzLmdldENoaWxkV2lkZ2V0cyhjaGlsZCkpKTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBbd2lkZ2V0XTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9kZXN0cm95JC5uZXh0KCk7XG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxuXG4gIGdldEZvcm0oKTogVW50eXBlZEZvcm1Hcm91cCB7XG4gICAgcmV0dXJuIHRoaXMuZm9ybTtcbiAgfVxuXG4gIGdldEludmFsaWRGaWVsZHMoKTogU21hcnRGb3JtSW52YWxpZEZpZWxkcyB7XG4gICAgbGV0IGludmFsaWRGaWVsZHM6IFNtYXJ0Rm9ybUludmFsaWRGaWVsZHMgPSB7XG4gICAgICBpbnZhbGlkRmllbGRLZXlzOiBbXSxcbiAgICAgIGludmFsaWRGaWVsZE5hbWVzOiBbXSxcbiAgICB9O1xuICAgIGlmICh0aGlzLmZvcm0pIHtcbiAgICAgIGZvciAoY29uc3QgY29udHJvbCBvZiBPYmplY3Qua2V5cyh0aGlzLmZvcm0uY29udHJvbHMpKSB7XG4gICAgICAgIGlmICghdGhpcy5mb3JtLmNvbnRyb2xzW2NvbnRyb2xdLnZhbGlkKSB7XG4gICAgICAgICAgbGV0IHdpZGdldCA9IHRoaXMuc2VydmljZS5nZXRTbWFydEZvcm1XaWRnZXRCeUtleShjb250cm9sKTtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB3aWRnZXQgJiZcbiAgICAgICAgICAgIHdpZGdldC50eXBlICE9PSBTbWFydEZvcm1XaWRnZXRUeXBlLkNPTlRBSU5FUiAmJlxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSU5ESUNBVE9SICYmXG4gICAgICAgICAgICB3aWRnZXQudHlwZSAhPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5MQUJFTCAmJlxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuRklMRV9VUExPQURFUiAmJlxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSU1BR0UgJiZcbiAgICAgICAgICAgIHdpZGdldC50eXBlICE9PSBTbWFydEZvcm1XaWRnZXRUeXBlLlNWRyAmJlxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuRElWSURFUiAmJlxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuQlVUVE9OICYmXG4gICAgICAgICAgICB3aWRnZXQudHlwZSAhPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5DT01QT05FTlQgJiZcbiAgICAgICAgICAgIHdpZGdldC50eXBlICE9PSBTbWFydEZvcm1XaWRnZXRUeXBlLllPVVRVQkVfUExBWUVSICYmXG4gICAgICAgICAgICAhd2lkZ2V0LmlzRGlzYWJsZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkTmFtZXMucHVzaCh3aWRnZXQubGFiZWwpO1xuICAgICAgICAgICAgaW52YWxpZEZpZWxkcy5pbnZhbGlkRmllbGRLZXlzLnB1c2god2lkZ2V0LmtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkRmllbGRzO1xuICB9XG5cbiAgc3VibWl0Rm9ybSh2YWxpZGF0ZSA9IHRydWUpOiBTbWFydEZvcm0ge1xuICAgIGlmICh2YWxpZGF0ZSkge1xuICAgICAgdGhpcy5zbWFydEZvcm0hLmludmFsaWRGaWVsZHMgPSB1bmRlZmluZWQ7XG5cbiAgICAgIGlmICh0aGlzLmZvcm0gJiYgdGhpcy5mb3JtLmludmFsaWQpIHtcbiAgICAgICAgZm9yIChjb25zdCBjb250cm9sIG9mIE9iamVjdC5rZXlzKHRoaXMuZm9ybS5jb250cm9scykpIHtcbiAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbF0ubWFya0FzVG91Y2hlZCgpO1xuICAgICAgICAgIHRoaXMuZm9ybS5jb250cm9sc1tjb250cm9sXS5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICAgIC8vIHRoaXMuZm9ybS5jb250cm9sc1tjb250cm9sXS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNtYXJ0Rm9ybSEuaW52YWxpZEZpZWxkcyA9IHRoaXMuZ2V0SW52YWxpZEZpZWxkcygpO1xuICAgICAgICB0aGlzLm1hcmtBbGxXaWRnZXRzRm9yQ2hhbmdlRGV0ZWN0aW9uKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnNtYXJ0Rm9ybSE7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNlcnZpY2UudG9TbWFydEZvcm0odGhpcy5mb3JtKTtcbiAgfVxuXG4gIGtleURvd25GdW5jdGlvbihldmVudDogYW55KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleUNvZGUgPT09IDEzICYmIHRoaXMuc21hcnRGb3JtIS5zdWJtaXRPbkVudGVyKSB7XG4gICAgICB0aGlzLnNtYXJ0Rm9ybSEuc3VibWl0T25FbnRlcigpO1xuICAgIH1cbiAgfVxuXG4gIGdldE1vZGVsKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS5nZXRNb2RlbCh0aGlzLmZvcm0pO1xuICB9XG5cbiAgZ2V0VG9vbGJhcnMoKTogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50W10ge1xuICAgIGlmICh0aGlzLnNtYXJ0V2lkZ2V0c1FMKSB7XG4gICAgICBsZXQgdG9vbGJhcnMgPSB0aGlzLnNtYXJ0V2lkZ2V0c1FMXG4gICAgICAgIC5maWx0ZXIoKHdpZGdldCkgPT4gd2lkZ2V0LnRvb2xiYXIgIT09IHVuZGVmaW5lZCAmJiB3aWRnZXQudG9vbGJhciAhPT0gbnVsbClcbiAgICAgICAgLm1hcCgod2lkZ2V0KSA9PiB3aWRnZXQudG9vbGJhciEpO1xuICAgICAgaWYgKHRvb2xiYXJzKSB7XG4gICAgICAgIHJldHVybiB0b29sYmFycztcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFtdO1xuICB9XG59XG4iLCI8Zm9ybSAqbmdJZj1cInNtYXJ0Rm9ybVwiIChrZXlkb3duKT1cImtleURvd25GdW5jdGlvbigkZXZlbnQpXCIgW2Zvcm1Hcm91cF09XCJmb3JtXCIgY2xhc3M9XCJmbGV4IGZvcm1cIj5cbiAgPGgyICpuZ0lmPVwic21hcnRGb3JtLm5hbWVcIj5cbiAgICB7eyBzbWFydEZvcm0ubmFtZSB9fVxuICA8L2gyPlxuICA8ZGl2IFtuZ0NsYXNzXT1cInNtYXJ0Rm9ybS5kaXJlY3Rpb24gPT09IGRpcmVjdGlvbi5ST1cgPyAncm93JyA6ICdjb2wnXCI+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgd2lkZ2V0IG9mIHNtYXJ0Rm9ybS53aWRnZXRzXCIgY2xhc3M9XCJpdGVtXCI+XG4gICAgICA8c21hcnRmb3Jtd2lkZ2V0XG4gICAgICAgICpuZ0lmPVwid2lkZ2V0LmlzVmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHdpZGdldC5pc1Zpc2libGVcIlxuICAgICAgICBbd2lkZ2V0SW5zdGFuY2VdPVwid2lkZ2V0XCJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiXG4gICAgICAgIGNsYXNzPVwiZ3JpZC1pdGVtXCJcbiAgICAgICAgW29uQmx1cl09XCJvbkJsdXJTdWJqZWN0XCJcbiAgICAgICAgW29uVmFsdWVDaGFuZ2VdPVwib25WYWx1ZUNoYW5nZVN1YmplY3RcIlxuICAgICAgICBbYmx1clNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZV09XCJibHVyU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlXCJcbiAgICAgICAgW3NvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZV09XCJzb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2VcIlxuICAgICAgICBjbGFzcz1cInt7IHdpZGdldC5rZXkgfX1cIlxuICAgICAgICBbbGFiZWxDb2xvcl09XCJzbWFydEZvcm0ubGFiZWxUaGVtZVwiXG4gICAgICAgICh2YWx1ZUNsZWFyZWQpPVwic3VibWl0Rm9ybSh0cnVlKVwiXG4gICAgICA+PC9zbWFydGZvcm13aWRnZXQ+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9mb3JtPlxuIl19
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vc21hcnRmb3JtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsTUFBTSxFQUNOLEtBQUssRUFNTCxZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3pELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLE9BQU8sQ0FBQztBQUN0RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUloRSxPQUFPLEVBQUUsaUJBQWlCLEVBQW9CLE1BQU0sMENBQTBDLENBQUM7QUFFL0YsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0scURBQXFELENBQUM7Ozs7Ozs7QUFRL0YsTUFBTSxPQUFPLGtCQUFrQjtJQW9CN0IsWUFDVSxPQUF5QixFQUNDLE9BQXlCO1FBRG5ELFlBQU8sR0FBUCxPQUFPLENBQWtCO1FBQ0MsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUFyQnJELGNBQVMsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUtqRCxvQkFBZSxHQUEyQixFQUFFLENBQUM7UUFFN0MsNkJBQXdCLEdBQXNDLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMvRixpQ0FBNEIsR0FBc0MsSUFBSSxZQUFZLENBQ2hGLElBQUksQ0FBQyxTQUFTLENBQ2YsQ0FBQztRQUlGLGNBQVMsR0FBRyx3QkFBd0IsQ0FBQztJQVFsQyxDQUFDO0lBQ0osV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDLFlBQVksQ0FBQztRQUNuRCxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztRQUMxQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDdkIsQ0FBQztJQUNILENBQUM7SUFDRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQiw4REFBOEQ7SUFDOUQsZUFBZTtJQUNmLFVBQVU7SUFDVixNQUFNO0lBQ04sSUFBSTtJQUVKLDhFQUE4RTtJQUM5RSw2RUFBNkU7SUFDN0UscUNBQXFDO0lBQ3JDLGVBQWU7SUFDZix1Q0FBdUM7SUFDdkMsaUZBQWlGO0lBQ2pGLElBQUk7SUFFSixPQUFPO1FBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNwQixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7UUFDckQsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxxQkFBcUIsSUFBSSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO1lBQ3ZFLElBQUksQ0FBQyxvQkFBb0IsR0FBRyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0QsQ0FBQztRQUVELElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDeEMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDL0QsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNoRCxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUN0RixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVuRCxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsU0FBUyxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7Z0JBQzFGLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBVSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2pELENBQUMsQ0FBQyxDQUFDO1lBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDaEQsQ0FBQztJQUNILENBQUM7SUFFTyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsT0FBK0I7UUFDNUQsTUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7SUFDMUMsQ0FBQztJQUVNLGdDQUFnQztRQUNyQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUN0RixDQUFDO0lBQ08sa0JBQWtCO1FBQ3hCLE1BQU0sTUFBTSxHQUErQixFQUFFLENBQUM7UUFDOUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUN0QyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBQy9DLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVPLGVBQWUsQ0FBQyxNQUFnQztRQUN0RCxJQUFJLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2hFLE1BQU0sTUFBTSxHQUErQixFQUFFLENBQUM7WUFDOUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFGLE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xCLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTztRQUNMLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxhQUFhLEdBQTJCO1lBQzFDLGdCQUFnQixFQUFFLEVBQUU7WUFDcEIsaUJBQWlCLEVBQUUsRUFBRTtTQUN0QixDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO2dCQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ3ZDLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsdUJBQXVCLENBQUMsT0FBTyxDQUFDLENBQUM7b0JBQzNELElBQ0UsTUFBTTt3QkFDTixNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLFNBQVM7d0JBQzdDLE1BQU0sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsU0FBUzt3QkFDN0MsTUFBTSxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxLQUFLO3dCQUN6QyxNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLGFBQWE7d0JBQ2pELE1BQU0sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsS0FBSzt3QkFDekMsTUFBTSxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxHQUFHO3dCQUN2QyxNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLE9BQU87d0JBQzNDLE1BQU0sQ0FBQyxJQUFJLEtBQUssbUJBQW1CLENBQUMsTUFBTTt3QkFDMUMsTUFBTSxDQUFDLElBQUksS0FBSyxtQkFBbUIsQ0FBQyxTQUFTO3dCQUM3QyxNQUFNLENBQUMsSUFBSSxLQUFLLG1CQUFtQixDQUFDLGNBQWM7d0JBQ2xELENBQUMsTUFBTSxDQUFDLFVBQVUsRUFDbEIsQ0FBQzt3QkFDRCxhQUFhLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDbkQsYUFBYSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7b0JBQ2xELENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELFVBQVUsQ0FBQyxRQUFRLEdBQUcsSUFBSTtRQUN4QixJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ2IsSUFBSSxDQUFDLFNBQVUsQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDO1lBRTFDLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO2dCQUNuQyxLQUFLLE1BQU0sT0FBTyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO29CQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDNUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7b0JBQzFDLCtDQUErQztnQkFDakQsQ0FBQztnQkFFRCxJQUFJLENBQUMsU0FBVSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFDeEQsSUFBSSxDQUFDLGdDQUFnQyxFQUFFLENBQUM7Z0JBQ3hDLE9BQU8sSUFBSSxDQUFDLFNBQVUsQ0FBQztZQUN6QixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBVTtRQUN4QixJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLElBQUksQ0FBQyxTQUFVLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLFNBQVUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNsQyxDQUFDO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3hCLElBQUksUUFBUSxHQUFHLElBQUksQ0FBQyxjQUFjO2lCQUMvQixNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxDQUFDO2lCQUMzRSxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxPQUFRLENBQUMsQ0FBQztZQUNwQyxJQUFJLFFBQVEsRUFBRSxDQUFDO2dCQUNiLE9BQU8sUUFBUSxDQUFDO1lBQ2xCLENBQUM7UUFDSCxDQUFDO1FBQ0QsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDOytHQTlMVSxrQkFBa0Isa0RBc0JuQixpQkFBaUI7bUdBdEJoQixrQkFBa0Isd0VBRmxCLENBQUMsZ0JBQWdCLENBQUMsNkRBbUJmLHdCQUF3QixxRUM5Q3hDLHc4QkFzQkE7OzRGRE9hLGtCQUFrQjtrQkFOOUIsU0FBUzsrQkFDRSxXQUFXLGFBR1YsQ0FBQyxnQkFBZ0IsQ0FBQzs7MEJBd0IxQixNQUFNOzJCQUFDLGlCQUFpQjt5Q0FuQmxCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBZU4sY0FBYztzQkFEYixZQUFZO3VCQUFDLHdCQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEluamVjdCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25EZXN0cm95LFxyXG4gIE9uSW5pdCxcclxuICBRdWVyeUxpc3QsXHJcbiAgU2ltcGxlQ2hhbmdlcyxcclxuICBWaWV3Q2hpbGRyZW4sXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydFN1YmplY3QgfSBmcm9tICcuLi9zbWFydC1zdWJqZWN0L3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLCBTbWFydEZvcm1XaWRnZXRUeXBlIH0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQgeyBTbWFydEZvcm1TZXJ2aWNlIH0gZnJvbSAnLi9zZXJ2aWNlcy9zbWFydGZvcm0uc2VydmljZSc7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybSwgU21hcnRGb3JtSW52YWxpZEZpZWxkcywgU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlIH0gZnJvbSAnLi9zbWFydGZvcm0ubW9kZWwnO1xyXG4vLyBpbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL3VpLWFjdGlvbi10b29sYmFyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vdWktYWN0aW9uLXRvb2xiYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ09NUE9ORU5UX0xJQlJBUlksIENvbXBvbmVudExpYnJhcnkgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgU21hcnRGb3JtV2lkZ2V0IH0gZnJvbSAnLi9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybXdpZGdldENvbXBvbmVudCB9IGZyb20gJy4vd2lkZ2V0cy9zbWFydGZvcm13aWRnZXQvc21hcnRmb3Jtd2lkZ2V0LmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0Zm9ybScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0Zm9ybS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnRmb3JtLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtTbWFydEZvcm1TZXJ2aWNlXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Zm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3kkOiBTdWJqZWN0PHZvaWQ+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgQElucHV0KCkgc21hcnRGb3JtPzogU21hcnRGb3JtO1xyXG4gIG9uQmx1clN1YmplY3Q/OiBTdWJqZWN0PGFueT47XHJcbiAgb25WYWx1ZUNoYW5nZVN1YmplY3Q/OiBTdWJqZWN0PGFueT47XHJcbiAgb3JpZ2luYWxXaWRnZXRzOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdID0gW107XHJcblxyXG4gIHNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZTogU3ViamVjdDxTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U+ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgYmx1clNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZTogU3ViamVjdDxTb3BoaXN0aWNhdGVkVmFsdWVDaGFuZ2U+ID0gbmV3IFNtYXJ0U3ViamVjdChcclxuICAgIHRoaXMuX2Rlc3Ryb3kkXHJcbiAgKTtcclxuXHJcbiAgZm9ybSE6IFVudHlwZWRGb3JtR3JvdXA7XHJcblxyXG4gIGRpcmVjdGlvbiA9IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbjtcclxuXHJcbiAgQFZpZXdDaGlsZHJlbihTbWFydGZvcm13aWRnZXRDb21wb25lbnQpXHJcbiAgc21hcnRXaWRnZXRzUUw/OiBRdWVyeUxpc3Q8U21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50PjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFNtYXJ0Rm9ybVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBwdWJsaWMgY29tcExpYjogQ29tcG9uZW50TGlicmFyeVxyXG4gICkge31cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0Rm9ybSA9IGNoYW5nZXNbJ3NtYXJ0Rm9ybSddLmN1cnJlbnRWYWx1ZTtcclxuICAgIHRoaXMub3JpZ2luYWxXaWRnZXRzID0gW107XHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm0pIHtcclxuICAgICAgdGhpcy5jb25zdHJ1Y3RGb3JtKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc21hcnRGb3JtKSB7XHJcbiAgICAgIHRoaXMuY29uc3RydWN0Rm9ybSgpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5vbkJsdXJTdWJqZWN0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgfVxyXG5cclxuICAvLyBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgLy8gICBpZiAodGhpcy5zbWFydFdpZGdldHNRTCkge1xyXG4gIC8vICAgICB0aGlzLmhhbmRsZVF1ZXJ5TGlzdCh0aGlzLnNtYXJ0V2lkZ2V0c1FMLCAod2lkZ2V0KSA9PiB7XHJcbiAgLy8gICAgICAgLy8gPz8/XHJcbiAgLy8gICAgIH0pO1xyXG4gIC8vICAgfVxyXG4gIC8vIH1cclxuXHJcbiAgLy8gLy8gVE9ETyB0aGlzIGlzIGEgZHVwbGljYXRlIGZyb20gU21hcnRGb3JtQXBpQ2xpZW50IC0+IG1vdmUgaXQgdG8gYSB1dGlsaXR5XHJcbiAgLy8gcHJvdGVjdGVkIGhhbmRsZVF1ZXJ5TGlzdDxUPihxbDogUXVlcnlMaXN0PFQ+LCBoYW5kbGVyOiAoZWw6IFQpID0+IHZvaWQpIHtcclxuICAvLyAgIHFsLmZvckVhY2goKGVsKSA9PiBoYW5kbGVyKGVsKSk7XHJcbiAgLy8gICBxbC5jaGFuZ2VzXHJcbiAgLy8gICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXHJcbiAgLy8gICAgIC5zdWJzY3JpYmUoKGxpc3QpID0+IChsaXN0IGFzIFF1ZXJ5TGlzdDxUPikuZm9yRWFjaCgoZWwpID0+IGhhbmRsZXIoZWwpKSk7XHJcbiAgLy8gfVxyXG5cclxuICByZWZyZXNoKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLnNldFZhbHVlc0Zyb21Nb2RlbCgpO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0Rm9ybSgpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5zbWFydEZvcm0pIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTbWFydGZvcm0gaGFzIG5vdCBiZWVuIGRlZmluZWQhJyk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuc21hcnRGb3JtLnVzZU9uVmFsdWVDaGFuZ2VFdmVudCAmJiAhdGhpcy5vblZhbHVlQ2hhbmdlU3ViamVjdCkge1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdWJqZWN0ID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZXJ2aWNlLnNtYXJ0Rm9ybSA9IHRoaXMuc21hcnRGb3JtO1xyXG4gICAgaWYgKCF0aGlzLm9yaWdpbmFsV2lkZ2V0cyB8fCB0aGlzLm9yaWdpbmFsV2lkZ2V0cy5sZW5ndGggPT09IDApIHtcclxuICAgICAgdGhpcy5vcmlnaW5hbFdpZGdldHMgPSB0aGlzLnNtYXJ0Rm9ybS53aWRnZXRzO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXJ2aWNlLnNldFZhbHVlc0Zyb21Nb2RlbCh0aGlzLm9yaWdpbmFsV2lkZ2V0cywgdGhpcy5jb21wTGliKTtcclxuICAgIHRoaXMuc2VydmljZS5hcHBseUNvbnN0cmFpbnRzKHRoaXMub3JpZ2luYWxXaWRnZXRzKTtcclxuICAgIHRoaXMuc21hcnRGb3JtLndpZGdldHMgPSB0aGlzLnNlcnZpY2UuZmlsdGVyV2lkZ2V0c0J5VmlzaWJpbGl0eSh0aGlzLm9yaWdpbmFsV2lkZ2V0cyk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLnNlcnZpY2UudG9Gb3JtR3JvdXAodGhpcy5jb21wTGliKTtcclxuXHJcbiAgICBpZiAodGhpcy5zbWFydEZvcm0udHJhbnNsYXRlU2VydmljZSkge1xyXG4gICAgICB0aGlzLnNtYXJ0Rm9ybS50cmFuc2xhdGVTZXJ2aWNlLm9uTGFuZ0NoYW5nZS5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy50cmFuc2xhdGVXaWRnZXRzKHRoaXMuc21hcnRGb3JtIS53aWRnZXRzKTtcclxuICAgICAgfSk7XHJcbiAgICAgIHRoaXMudHJhbnNsYXRlV2lkZ2V0cyh0aGlzLnNtYXJ0Rm9ybS53aWRnZXRzKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgdHJhbnNsYXRlV2lkZ2V0cyh3aWRnZXRzOiBTbWFydEZvcm1XaWRnZXQ8YW55PltdKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnNlcnZpY2UudHJhbnNsYXRlV2lkZ2V0cyh0aGlzLnNtYXJ0Rm9ybSEud2lkZ2V0cyk7XHJcbiAgICB0aGlzLm1hcmtBbGxXaWRnZXRzRm9yQ2hhbmdlRGV0ZWN0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgbWFya0FsbFdpZGdldHNGb3JDaGFuZ2VEZXRlY3Rpb24oKSB7XHJcbiAgICB0aGlzLmdldEFsbFNtYXJ0V2lkZ2V0cygpLmZvckVhY2goKHdpZGdldCkgPT4gd2lkZ2V0LmNoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBnZXRBbGxTbWFydFdpZGdldHMoKTogU21hcnRmb3Jtd2lkZ2V0Q29tcG9uZW50W10ge1xyXG4gICAgY29uc3QgcmVzdWx0OiBTbWFydGZvcm13aWRnZXRDb21wb25lbnRbXSA9IFtdO1xyXG4gICAgdGhpcy5zbWFydFdpZGdldHNRTD8uZm9yRWFjaCgod2lkZ2V0KSA9PiB7XHJcbiAgICAgIHJlc3VsdC5wdXNoKC4uLnRoaXMuZ2V0Q2hpbGRXaWRnZXRzKHdpZGdldCkpO1xyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRDaGlsZFdpZGdldHMod2lkZ2V0OiBTbWFydGZvcm13aWRnZXRDb21wb25lbnQpOiBTbWFydGZvcm13aWRnZXRDb21wb25lbnRbXSB7XHJcbiAgICBpZiAod2lkZ2V0LndpZGdldEluc3RhbmNlLnR5cGUgPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5DT05UQUlORVIpIHtcclxuICAgICAgY29uc3QgcmVzdWx0OiBTbWFydGZvcm13aWRnZXRDb21wb25lbnRbXSA9IFtdO1xyXG4gICAgICB3aWRnZXQuY2hpbGRyZW5XaWRnZXRzUUw/LmZvckVhY2goKGNoaWxkKSA9PiByZXN1bHQucHVzaCguLi50aGlzLmdldENoaWxkV2lkZ2V0cyhjaGlsZCkpKTtcclxuICAgICAgcmV0dXJuIHJlc3VsdDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBbd2lkZ2V0XTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldEZvcm0oKTogVW50eXBlZEZvcm1Hcm91cCB7XHJcbiAgICByZXR1cm4gdGhpcy5mb3JtO1xyXG4gIH1cclxuXHJcbiAgZ2V0SW52YWxpZEZpZWxkcygpOiBTbWFydEZvcm1JbnZhbGlkRmllbGRzIHtcclxuICAgIGxldCBpbnZhbGlkRmllbGRzOiBTbWFydEZvcm1JbnZhbGlkRmllbGRzID0ge1xyXG4gICAgICBpbnZhbGlkRmllbGRLZXlzOiBbXSxcclxuICAgICAgaW52YWxpZEZpZWxkTmFtZXM6IFtdLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLmZvcm0pIHtcclxuICAgICAgZm9yIChjb25zdCBjb250cm9sIG9mIE9iamVjdC5rZXlzKHRoaXMuZm9ybS5jb250cm9scykpIHtcclxuICAgICAgICBpZiAoIXRoaXMuZm9ybS5jb250cm9sc1tjb250cm9sXS52YWxpZCkge1xyXG4gICAgICAgICAgbGV0IHdpZGdldCA9IHRoaXMuc2VydmljZS5nZXRTbWFydEZvcm1XaWRnZXRCeUtleShjb250cm9sKTtcclxuICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgd2lkZ2V0ICYmXHJcbiAgICAgICAgICAgIHdpZGdldC50eXBlICE9PSBTbWFydEZvcm1XaWRnZXRUeXBlLkNPTlRBSU5FUiAmJlxyXG4gICAgICAgICAgICB3aWRnZXQudHlwZSAhPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5JTkRJQ0FUT1IgJiZcclxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuTEFCRUwgJiZcclxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuRklMRV9VUExPQURFUiAmJlxyXG4gICAgICAgICAgICB3aWRnZXQudHlwZSAhPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5JTUFHRSAmJlxyXG4gICAgICAgICAgICB3aWRnZXQudHlwZSAhPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5TVkcgJiZcclxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuRElWSURFUiAmJlxyXG4gICAgICAgICAgICB3aWRnZXQudHlwZSAhPT0gU21hcnRGb3JtV2lkZ2V0VHlwZS5CVVRUT04gJiZcclxuICAgICAgICAgICAgd2lkZ2V0LnR5cGUgIT09IFNtYXJ0Rm9ybVdpZGdldFR5cGUuQ09NUE9ORU5UICYmXHJcbiAgICAgICAgICAgIHdpZGdldC50eXBlICE9PSBTbWFydEZvcm1XaWRnZXRUeXBlLllPVVRVQkVfUExBWUVSICYmXHJcbiAgICAgICAgICAgICF3aWRnZXQuaXNEaXNhYmxlZFxyXG4gICAgICAgICAgKSB7XHJcbiAgICAgICAgICAgIGludmFsaWRGaWVsZHMuaW52YWxpZEZpZWxkTmFtZXMucHVzaCh3aWRnZXQubGFiZWwpO1xyXG4gICAgICAgICAgICBpbnZhbGlkRmllbGRzLmludmFsaWRGaWVsZEtleXMucHVzaCh3aWRnZXQua2V5KTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBpbnZhbGlkRmllbGRzO1xyXG4gIH1cclxuXHJcbiAgc3VibWl0Rm9ybSh2YWxpZGF0ZSA9IHRydWUpOiBTbWFydEZvcm0ge1xyXG4gICAgaWYgKHZhbGlkYXRlKSB7XHJcbiAgICAgIHRoaXMuc21hcnRGb3JtIS5pbnZhbGlkRmllbGRzID0gdW5kZWZpbmVkO1xyXG5cclxuICAgICAgaWYgKHRoaXMuZm9ybSAmJiB0aGlzLmZvcm0uaW52YWxpZCkge1xyXG4gICAgICAgIGZvciAoY29uc3QgY29udHJvbCBvZiBPYmplY3Qua2V5cyh0aGlzLmZvcm0uY29udHJvbHMpKSB7XHJcbiAgICAgICAgICB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbF0ubWFya0FzVG91Y2hlZCgpO1xyXG4gICAgICAgICAgdGhpcy5mb3JtLmNvbnRyb2xzW2NvbnRyb2xdLm1hcmtBc0RpcnR5KCk7XHJcbiAgICAgICAgICAvLyB0aGlzLmZvcm0uY29udHJvbHNbY29udHJvbF0uc2V0VmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zbWFydEZvcm0hLmludmFsaWRGaWVsZHMgPSB0aGlzLmdldEludmFsaWRGaWVsZHMoKTtcclxuICAgICAgICB0aGlzLm1hcmtBbGxXaWRnZXRzRm9yQ2hhbmdlRGV0ZWN0aW9uKCk7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuc21hcnRGb3JtITtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRoaXMuc2VydmljZS50b1NtYXJ0Rm9ybSh0aGlzLmZvcm0pO1xyXG4gIH1cclxuXHJcbiAga2V5RG93bkZ1bmN0aW9uKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXlDb2RlID09PSAxMyAmJiB0aGlzLnNtYXJ0Rm9ybSEuc3VibWl0T25FbnRlcikge1xyXG4gICAgICB0aGlzLnNtYXJ0Rm9ybSEuc3VibWl0T25FbnRlcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0TW9kZWwoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLnNlcnZpY2UuZ2V0TW9kZWwodGhpcy5mb3JtKTtcclxuICB9XHJcblxyXG4gIGdldFRvb2xiYXJzKCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudFtdIHtcclxuICAgIGlmICh0aGlzLnNtYXJ0V2lkZ2V0c1FMKSB7XHJcbiAgICAgIGxldCB0b29sYmFycyA9IHRoaXMuc21hcnRXaWRnZXRzUUxcclxuICAgICAgICAuZmlsdGVyKCh3aWRnZXQpID0+IHdpZGdldC50b29sYmFyICE9PSB1bmRlZmluZWQgJiYgd2lkZ2V0LnRvb2xiYXIgIT09IG51bGwpXHJcbiAgICAgICAgLm1hcCgod2lkZ2V0KSA9PiB3aWRnZXQudG9vbGJhciEpO1xyXG4gICAgICBpZiAodG9vbGJhcnMpIHtcclxuICAgICAgICByZXR1cm4gdG9vbGJhcnM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHJldHVybiBbXTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm0gKm5nSWY9XCJzbWFydEZvcm1cIiAoa2V5ZG93bik9XCJrZXlEb3duRnVuY3Rpb24oJGV2ZW50KVwiIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZmxleCBmb3JtXCI+XHJcbiAgPGgyICpuZ0lmPVwic21hcnRGb3JtLm5hbWVcIj5cclxuICAgIHt7IHNtYXJ0Rm9ybS5uYW1lIH19XHJcbiAgPC9oMj5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cInNtYXJ0Rm9ybS5kaXJlY3Rpb24gPT09IGRpcmVjdGlvbi5ST1cgPyAncm93JyA6ICdjb2wnXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCB3aWRnZXQgb2Ygc21hcnRGb3JtLndpZGdldHNcIiBjbGFzcz1cIml0ZW1cIj5cclxuICAgICAgPHNtYXJ0Zm9ybXdpZGdldFxyXG4gICAgICAgICpuZ0lmPVwid2lkZ2V0LmlzVmlzaWJsZSA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHdpZGdldC5pc1Zpc2libGVcIlxyXG4gICAgICAgIFt3aWRnZXRJbnN0YW5jZV09XCJ3aWRnZXRcIlxyXG4gICAgICAgIFtmb3JtXT1cImZvcm1cIlxyXG4gICAgICAgIGNsYXNzPVwiZ3JpZC1pdGVtXCJcclxuICAgICAgICBbb25CbHVyXT1cIm9uQmx1clN1YmplY3RcIlxyXG4gICAgICAgIFtvblZhbHVlQ2hhbmdlXT1cIm9uVmFsdWVDaGFuZ2VTdWJqZWN0XCJcclxuICAgICAgICBbYmx1clNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZV09XCJibHVyU29waGlzdGljYXRlZFZhbHVlQ2hhbmdlXCJcclxuICAgICAgICBbc29waGlzdGljYXRlZFZhbHVlQ2hhbmdlXT1cInNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZVwiXHJcbiAgICAgICAgY2xhc3M9XCJ7eyB3aWRnZXQua2V5IH19XCJcclxuICAgICAgICBbbGFiZWxDb2xvcl09XCJzbWFydEZvcm0ubGFiZWxUaGVtZVwiXHJcbiAgICAgICAgKHZhbHVlQ2xlYXJlZCk9XCJzdWJtaXRGb3JtKHRydWUpXCJcclxuICAgICAgPjwvc21hcnRmb3Jtd2lkZ2V0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZm9ybT5cclxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmb3JtLmZvcm0tbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWlsbE1vZHVsZXMgfSBmcm9tICduZ3gtcXVpbGwnO1xuaW1wb3J0IHtcbiAgRGF0ZUZpZWxkUHJvcGVydGllcyxcbiAgRmlsZVVwbG9hZGVyUHJvcGVydGllcyxcbiAgTXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzLFxuICBJbWFnZVByb3BlcnRpZXMsXG4gIFNlbGVjdGlvbkRlZmluaXRpb24sXG4gIFNtYXJ0Rm9ybUlucHV0TW9kZSxcbiAgU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uLFxuICBTbWFydEZvcm1XaWRnZXRUeXBlLFxuICBTbWFydFdpZGdldEhpbnQsXG4gIFNvcnREZWZpbml0aW9uLFxuICBUZXh0RmllbGRQcm9wZXJ0aWVzLFxuICBWYWx1ZUNoYW5nZU1vZGUsXG59IGZyb20gJy4vYXBpJztcbmltcG9ydCB7XG4gIFNtYXJ0Rm9ybVRleHRGaWVsZEJ1dHRvbixcbiAgU21hcnRGb3JtV2lkZ2V0V2lkdGgsXG4gIFNtYXJ0SW5kaWNhdG9yLFxuICBTbWFydFZhbGlkYXRvcixcbiAgVG9nZ2xlTGFiZWxQb3NpdGlvbixcbn0gZnJvbSAnLi9zbWFydGZvcm0ubW9kZWwnO1xuaW1wb3J0IHsgSW1hZ2VSZXNvdXJjZSwgU3R5bGUgfSBmcm9tICcuLi92aWV3LWNvbnRleHQvYXBpJztcblxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTbWFydEZvcm1XaWRnZXQ8VD4gPVxuICB8IFNtYXJ0VGV4dEZpZWxkPFQ+XG4gIHwgU21hcnRUZXh0RmllbGROdW1iZXI8VD5cbiAgfCBTbWFydFRleHRGaWVsZENoaXBzPFQ+XG4gIHwgU21hcnRUZXh0RmllbGRMb29rdXA8VD5cbiAgfCBTbWFydFRleHRCb3g8VD5cbiAgfCBTbWFydFNlbGVjdDxUPlxuICB8IFNtYXJ0U2VsZWN0TXVsdGlwbGU8VD5cbiAgfCBTbWFydENoZWNrQm94PFQ+XG4gIHwgU21hcnRDaGVja0JveDI8VD5cbiAgfCBTbWFydFJhZGlvQnV0dG9uPFQ+XG4gIHwgU21hcnREYXRlUGlja2VyPFQ+XG4gIHwgU21hcnREYXRlVGltZVBpY2tlcjxUPlxuICB8IFNtYXJ0Q29udGFpbmVyPFQ+XG4gIHwgU21hcnRMYWJlbFxuICB8IFNtYXJ0VGltZTxUPlxuICB8IFNtYXJ0VG9nZ2xlPFQ+XG4gIHwgU21hcnRJbmRpY2F0b3JJdGVtXG4gIHwgU21hcnRGaWxlVXBsb2FkZXJcbiAgfCBTbWFydE11bHRpRmlsZVVwbG9hZGVyXG4gIHwgU21hcnRJbWFnZVxuICB8IFNtYXJ0RGl2aWRlclxuICB8IFNtYXJ0QnV0dG9uXG4gIHwgU21hcnRGb3JtSW5saW5lQ29tcG9uZW50XG4gIHwgU21hcnRSaWNoVGV4dFxuICB8IFNtYXJ0U29ydGFibGU8VD5cbiAgfCBTbWFydE1hdHJpeFxuICB8IFNtYXJ0WW91dHViZVBsYXllclxuICB8IFNtYXJ0TW9udGhQaWNrZXJcbiAgfCBTbWFydFN2ZztcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRleHRGaWVsZDxUPiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRDtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBUO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgb3JpZ2luYWxQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlciB8IG51bWJlcjtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgaXNQYXNzd29yZD86IGJvb2xlYW47XG4gIHRleHRGaWVsZEJ1dHRvbj86IFNtYXJ0Rm9ybVRleHRGaWVsZEJ1dHRvbjtcbiAgY2Fwc0xvY2tXYXJuaW5nPzogc3RyaW5nO1xuICBjYXBzTG9ja1dhcm5pbmdJY29uPzogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBtYXNrPzogc3RyaW5nO1xuICBlcnJvcj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xuICBpY29uUG9zaXRpb24/OiAnUFJFJyB8ICdQT1NUJztcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XG4gIHZhbHVlTGlzdD86IFNtYXJ0SXRlbTxUPltdO1xuICBzZWxlY3Rpb24/OiBTZWxlY3Rpb25EZWZpbml0aW9uO1xuICBmaWx0ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XG4gIG1heExlbmd0aD86IG51bWJlcjtcbiAgc2hvd0NoYXJhY3RlckxpbWl0U3VmZml4PzogYm9vbGVhbjtcbiAgdG9vbGJhcklkPzogc3RyaW5nO1xuICBpbnB1dE1vZGU/OiBTbWFydEZvcm1JbnB1dE1vZGU7XG4gIHRleHRGaWVsZFByb3BlcnRpZXM/OiBUZXh0RmllbGRQcm9wZXJ0aWVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VGV4dEZpZWxkTnVtYmVyPFQ+IHtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5URVhUX0ZJRUxEX05VTUJFUjtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBUO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgb3JpZ2luYWxQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlciB8IG51bWJlcjtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xuICBwcmVmaXg/OiBzdHJpbmc7XG4gIHN1ZmZpeD86IHN0cmluZztcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgdGV4dEZpZWxkQnV0dG9uPzogU21hcnRGb3JtVGV4dEZpZWxkQnV0dG9uO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBtaW5WYWx1ZXM/OiBudW1iZXI7XG4gIG1heFZhbHVlcz86IG51bWJlcjtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGljb24/OiBzdHJpbmc7XG4gIGljb25Db2xvcj86IHN0cmluZztcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUZXh0RmllbGRDaGlwczxUPiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRF9DSElQUztcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBUO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgb3JpZ2luYWxQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBlcnJvcj86IHN0cmluZztcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XG4gIHZhbHVlTGlzdDogU21hcnRJdGVtPFQ+W107XG4gIG1pblZhbHVlcz86IG51bWJlcjtcbiAgbWF4VmFsdWVzPzogbnVtYmVyO1xuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRleHRGaWVsZExvb2t1cDxUPiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRF9MT09LVVA7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIHZhbHVlPzogVDtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG9yaWdpbmFsUGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9ySWNvbj86IHN0cmluZztcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xuICBtaW5WYWx1ZXM/OiBudW1iZXI7XG4gIG1heFZhbHVlcz86IG51bWJlcjtcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbiAgdG9vbGJhcklkPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRleHRCb3g8VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlRFWFRfQk9YO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICB2YWx1ZT86IFQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBvcmlnaW5hbFBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGVycm9yPzogc3RyaW5nO1xuICBlcnJvckljb24/OiBzdHJpbmc7XG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBzaG93Q2hhcmFjdGVyTGltaXRTdWZmaXg/OiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydFNlbGVjdDxUPiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuU0VMRUNUO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgdmFsdWU/OiBUO1xuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGVycm9yPzogc3RyaW5nO1xuICBlcnJvckljb24/OiBzdHJpbmc7XG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcbiAgdmFsdWVMaXN0OiBTbWFydEl0ZW1zPFQ+W107XG4gIHNlbGVjdGlvbj86IFNlbGVjdGlvbkRlZmluaXRpb247XG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XG4gIGNvbXBhcmVXaXRoPzogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XG59XG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0U2VsZWN0TXVsdGlwbGU8VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlNFTEVDVF9NVUxUSVBMRTtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBUO1xuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBlcnJvcj86IHN0cmluZztcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XG4gIHZhbHVlTGlzdDogU21hcnRJdGVtczxUPltdO1xuICBzZWxlY3Rpb24/OiBTZWxlY3Rpb25EZWZpbml0aW9uO1xuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xuICBjb21wYXJlV2l0aD86IChvMTogYW55LCBvMjogYW55KSA9PiBib29sZWFuO1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydENoZWNrQm94PFQ+IHtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5DSEVDS19CT1g7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIHZhbHVlPzogVDtcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBlcnJvcj86IHN0cmluZztcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XG4gIHNlbGVjdGlvbj86IFNlbGVjdGlvbkRlZmluaXRpb247XG4gIGRpcmVjdGlvbj86IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbjtcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRDaGVja0JveDI8VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkNIRUNLX0JPWF8yO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICB2YWx1ZT86IFQ7XG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9ySWNvbj86IHN0cmluZztcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xuICB2YWx1ZUxpc3Q6IFNtYXJ0SXRlbTxUPltdO1xuICBzZWxlY3Rpb24/OiBTZWxlY3Rpb25EZWZpbml0aW9uO1xuICBkaXJlY3Rpb24/OiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb247XG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0UmFkaW9CdXR0b248VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlJBRElPX0JVVFRPTjtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgdmFsdWU/OiBUO1xuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGVycm9yPzogc3RyaW5nO1xuICBlcnJvckljb24/OiBzdHJpbmc7XG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcbiAgdmFsdWVMaXN0OiBTbWFydEl0ZW08VD5bXTtcbiAgc2VsZWN0aW9uPzogU2VsZWN0aW9uRGVmaW5pdGlvbjtcbiAgZGlyZWN0aW9uPzogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uO1xuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydERhdGVQaWNrZXI8VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkRBVEVfUElDS0VSO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICB2YWx1ZT86IFQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGVycm9yPzogc3RyaW5nO1xuICBlcnJvckljb24/OiBzdHJpbmc7XG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcbiAgZGF0ZUZvcm1hdEhpbnQ/OiBzdHJpbmc7XG4gIGRhdGVGaWVsZFByb3BlcnRpZXM/OiBEYXRlRmllbGRQcm9wZXJ0aWVzO1xuICBmaWx0ZXI/OiAoZDogRGF0ZSB8IG51bGwpID0+IGJvb2xlYW47XG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0RGF0ZVRpbWVQaWNrZXI8VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkRBVEVfVElNRV9QSUNLRVI7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIHZhbHVlPzogVDtcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9ySWNvbj86IHN0cmluZztcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xuICBkYXRlRm9ybWF0SGludD86IHN0cmluZztcbiAgZGF0ZUZpZWxkUHJvcGVydGllcz86IERhdGVGaWVsZFByb3BlcnRpZXM7XG4gIGZpbHRlcj86IChkOiBEYXRlIHwgbnVsbCkgPT4gYm9vbGVhbjtcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRDb250YWluZXI8VD4ge1xuICBrZXk/OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5DT05UQUlORVI7XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIHZhbHVlTGlzdDogU21hcnRGb3JtV2lkZ2V0PFQ+W107XG4gIGRpcmVjdGlvbj86IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIHN0eWxlPzogU3R5bGU7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0TGFiZWwge1xuICBrZXk/OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5MQUJFTDtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgd2lkZ2V0RGVzY3JpcHRpb24/OiBzdHJpbmc7XG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XG4gIG1hcmtBc1JlcXVpcmVkPzogYm9vbGVhbjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUaW1lPFQ+IHtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5USU1FO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICB2YWx1ZT86IFQ7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGVycm9yPzogc3RyaW5nO1xuICBlcnJvckljb24/OiBzdHJpbmc7XG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUb2dnbGU8VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlRPR0dMRTtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgdmFsdWU/OiBUO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XG4gIHRvZ2dsZUxhYmVsUG9zaXRpb24/OiBUb2dnbGVMYWJlbFBvc2l0aW9uO1xuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9ySWNvbj86IHN0cmluZztcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydEluZGljYXRvckl0ZW0ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLklORElDQVRPUjtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgaW5kaWNhdG9yOiBTbWFydEluZGljYXRvcjtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xufVxuXG5leHBvcnQgZGVjbGFyZSB0eXBlIFNtYXJ0SXRlbXM8VD4gPSBTbWFydEl0ZW08VD4gfCBTbWFydEl0ZW1Hcm91cDxUPjtcblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEl0ZW08VD4ge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLklURU07XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICB2YWx1ZT86IFQ7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpY29uPzogc3RyaW5nO1xuICBpY29uQ29sb3I/OiBzdHJpbmc7XG4gIGltYWdlVXJsPzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTbWFydEl0ZW1Hcm91cDxUPiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSVRFTV9HUk9VUDtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICB2YWx1ZUxpc3Q6IFNtYXJ0SXRlbTxUPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0RmlsZVVwbG9hZGVyIHtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5GSUxFX1VQTE9BREVSO1xuICB2YWx1ZT86IGFueTtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGZpbGVGb3JtYXRzPzogc3RyaW5nW107XG4gIG1heFNpemVNYj86IG51bWJlcjtcbiAgaTE4bj86IGFueTtcbiAgZmlsZVVwbG9hZGVyUHJvcGVydGllcz86IEZpbGVVcGxvYWRlclByb3BlcnRpZXM7XG4gIHRvb2xiYXJJZD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydE11bHRpRmlsZVVwbG9hZGVyIHtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5NVUxUSV9GSUxFX1VQTE9BREVSO1xuICB2YWx1ZT86IGFueTtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGZpbGVGb3JtYXRzPzogc3RyaW5nW107XG4gIG1heFNpemVNYj86IG51bWJlcjtcbiAgaTE4bj86IGFueTtcbiAgbXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzPzogTXVsdGlGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzO1xuICB0b29sYmFySWQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRJbWFnZSB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSU1BR0U7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgdmFsdWU/OiBJbWFnZVJlc291cmNlO1xuICBpbWFnZUNzcz86IHN0cmluZztcbiAgaW1hZ2VQcm9wZXJ0aWVzPzogSW1hZ2VQcm9wZXJ0aWVzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0RGl2aWRlciB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuRElWSURFUjtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICB2YWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydEJ1dHRvbiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuQlVUVE9OO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIHZhbHVlPzogc3RyaW5nO1xuICB1aUFjdGlvbj86IGFueTtcbiAgdWlBY3Rpb25EZXNjcmlwdG9yOiBhbnk7XG4gIGNhbGxiYWNrOiAoKHVpQWN0aW9uOiBhbnkpID0+IHZvaWQpIHwgKChrZXk6IHN0cmluZykgPT4gdm9pZCk7XG59XG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0Rm9ybUlubGluZUNvbXBvbmVudCB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuQ09NUE9ORU5UO1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xuICBsYWJlbDogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGNvbXBvbmVudDogYW55O1xuICBpbnB1dDogTWFwPHN0cmluZywgYW55Pjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydFJpY2hUZXh0IHtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5SSUNIX1RFWFQ7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgb3JpZ2luYWxQbGFjZWhvbGRlcj86IHN0cmluZztcbiAgcXVpbGxNb2R1bGVzOiBRdWlsbE1vZHVsZXM7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9ySWNvbj86IHN0cmluZztcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIHNob3dDaGFyYWN0ZXJMaW1pdFN1ZmZpeD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRTb3J0YWJsZTxUPiB7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuU09SVEFCTEU7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHZhbHVlPzogc3RyaW5nO1xuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xuICBzaG93TGFiZWw/OiBib29sZWFuO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBjc3NDbGFzcz86IHN0cmluZztcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xuICBzdHlsZT86IFN0eWxlO1xuICBsYWJlbFN0eWxlPzogU3R5bGU7XG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcbiAgZXJyb3I/OiBzdHJpbmc7XG4gIGVycm9ySWNvbj86IHN0cmluZztcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcbiAgdmFsdWVMaXN0PzogU21hcnRJdGVtPFQ+W107XG4gIGlzTXVsdGlwbGU/OiBib29sZWFuO1xuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xuICBpY29uPzogc3RyaW5nO1xuICBzb3J0RGVmaW5pdGlvbjogU29ydERlZmluaXRpb247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRNYXRyaXgge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLk1BVFJJWDtcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgdmFsdWU/OiBhbnk7XG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XG4gIHN0eWxlPzogU3R5bGU7XG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xuICBlcnJvcj86IHN0cmluZztcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xuICBpc011bHRpcGxlPzogYm9vbGVhbjtcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbiAgYnV0dG9uPzogU21hcnRNYXRyaXhCdXR0b247XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRNYXRyaXhCdXR0b24ge1xuICBpY29uQ29kZT86IHN0cmluZztcbiAgY2FsbGJhY2s6ICh3aWRnZXQ6IFNtYXJ0Rm9ybVdpZGdldDxhbnk+LCByb3c6IGFueSkgPT4gYW55O1xuICBjb2xvcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTbWFydFlvdXR1YmVQbGF5ZXIge1xuICBrZXk/OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5ZT1VUVUJFX1BMQVlFUjtcbiAgbGluaz86IHN0cmluZztcbiAgdmlkZW9JZD86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICB3aWR0aD86IG51bWJlcjtcbiAgc3RhcnRTZWNvbmRzPzogbnVtYmVyIHwgMDtcbiAgZW5kU2Vjb25kcz86IG51bWJlcjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBsYWJlbD86IHN0cmluZztcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRNb250aFBpY2tlciB7XG4gIGtleTogc3RyaW5nO1xuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuTU9OVEhfUElDS0VSO1xuICB2YWx1ZT86IHN0cmluZztcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XG4gIGxhYmVsOiBzdHJpbmc7XG4gIHNob3dMYWJlbD86IGJvb2xlYW47XG4gIGVycm9yPzogc3RyaW5nO1xuICBlcnJvckljb24/OiBzdHJpbmc7XG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICBpc1Zpc2libGU/OiBib29sZWFuO1xuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRTdmcge1xuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlNWRztcbiAga2V5OiBzdHJpbmc7XG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcbiAgbGFiZWw6IHN0cmluZztcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcbiAgc3R5bGU/OiBTdHlsZTtcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xuICB2YWx1ZT86IHN0cmluZztcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcbn1cbiJdfQ==
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmb3JtLmZvcm0tbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi9zbWFydC1mb3JtL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBRdWlsbE1vZHVsZXMgfSBmcm9tICduZ3gtcXVpbGwnO1xyXG5pbXBvcnQge1xyXG4gIERhdGVGaWVsZFByb3BlcnRpZXMsXHJcbiAgRmlsZVVwbG9hZGVyUHJvcGVydGllcyxcclxuICBNdWx0aUZpbGVVcGxvYWRlclByb3BlcnRpZXMsXHJcbiAgSW1hZ2VQcm9wZXJ0aWVzLFxyXG4gIFNlbGVjdGlvbkRlZmluaXRpb24sXHJcbiAgU21hcnRGb3JtSW5wdXRNb2RlLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbixcclxuICBTbWFydEZvcm1XaWRnZXRUeXBlLFxyXG4gIFNtYXJ0V2lkZ2V0SGludCxcclxuICBTb3J0RGVmaW5pdGlvbixcclxuICBUZXh0RmllbGRQcm9wZXJ0aWVzLFxyXG4gIFZhbHVlQ2hhbmdlTW9kZSxcclxufSBmcm9tICcuL2FwaSc7XHJcbmltcG9ydCB7XHJcbiAgU21hcnRGb3JtVGV4dEZpZWxkQnV0dG9uLFxyXG4gIFNtYXJ0Rm9ybVdpZGdldFdpZHRoLFxyXG4gIFNtYXJ0SW5kaWNhdG9yLFxyXG4gIFNtYXJ0VmFsaWRhdG9yLFxyXG4gIFRvZ2dsZUxhYmVsUG9zaXRpb24sXHJcbn0gZnJvbSAnLi9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBJbWFnZVJlc291cmNlLCBTdHlsZSB9IGZyb20gJy4uL3ZpZXctY29udGV4dC9hcGknO1xyXG5cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTbWFydEZvcm1XaWRnZXQ8VD4gPVxyXG4gIHwgU21hcnRUZXh0RmllbGQ8VD5cclxuICB8IFNtYXJ0VGV4dEZpZWxkTnVtYmVyPFQ+XHJcbiAgfCBTbWFydFRleHRGaWVsZENoaXBzPFQ+XHJcbiAgfCBTbWFydFRleHRGaWVsZExvb2t1cDxUPlxyXG4gIHwgU21hcnRUZXh0Qm94PFQ+XHJcbiAgfCBTbWFydFNlbGVjdDxUPlxyXG4gIHwgU21hcnRTZWxlY3RNdWx0aXBsZTxUPlxyXG4gIHwgU21hcnRDaGVja0JveDxUPlxyXG4gIHwgU21hcnRDaGVja0JveDI8VD5cclxuICB8IFNtYXJ0UmFkaW9CdXR0b248VD5cclxuICB8IFNtYXJ0RGF0ZVBpY2tlcjxUPlxyXG4gIHwgU21hcnREYXRlVGltZVBpY2tlcjxUPlxyXG4gIHwgU21hcnRDb250YWluZXI8VD5cclxuICB8IFNtYXJ0TGFiZWxcclxuICB8IFNtYXJ0VGltZTxUPlxyXG4gIHwgU21hcnRUb2dnbGU8VD5cclxuICB8IFNtYXJ0SW5kaWNhdG9ySXRlbVxyXG4gIHwgU21hcnRGaWxlVXBsb2FkZXJcclxuICB8IFNtYXJ0TXVsdGlGaWxlVXBsb2FkZXJcclxuICB8IFNtYXJ0SW1hZ2VcclxuICB8IFNtYXJ0RGl2aWRlclxyXG4gIHwgU21hcnRCdXR0b25cclxuICB8IFNtYXJ0Rm9ybUlubGluZUNvbXBvbmVudFxyXG4gIHwgU21hcnRSaWNoVGV4dFxyXG4gIHwgU21hcnRTb3J0YWJsZTxUPlxyXG4gIHwgU21hcnRNYXRyaXhcclxuICB8IFNtYXJ0WW91dHViZVBsYXllclxyXG4gIHwgU21hcnRNb250aFBpY2tlclxyXG4gIHwgU21hcnRTdmc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VGV4dEZpZWxkPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlRFWFRfRklFTEQ7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIHZhbHVlPzogVDtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBvcmlnaW5hbFBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXIgfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgcHJlZml4Pzogc3RyaW5nO1xyXG4gIHN1ZmZpeD86IHN0cmluZztcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzUGFzc3dvcmQ/OiBib29sZWFuO1xyXG4gIHRleHRGaWVsZEJ1dHRvbj86IFNtYXJ0Rm9ybVRleHRGaWVsZEJ1dHRvbjtcclxuICBjYXBzTG9ja1dhcm5pbmc/OiBzdHJpbmc7XHJcbiAgY2Fwc0xvY2tXYXJuaW5nSWNvbj86IHN0cmluZztcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIG1hc2s/OiBzdHJpbmc7XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBpY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgaWNvblBvc2l0aW9uPzogJ1BSRScgfCAnUE9TVCc7XHJcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcclxuICB2YWx1ZUxpc3Q/OiBTbWFydEl0ZW08VD5bXTtcclxuICBzZWxlY3Rpb24/OiBTZWxlY3Rpb25EZWZpbml0aW9uO1xyXG4gIGZpbHRlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xyXG4gIG1heExlbmd0aD86IG51bWJlcjtcclxuICBzaG93Q2hhcmFjdGVyTGltaXRTdWZmaXg/OiBib29sZWFuO1xyXG4gIHRvb2xiYXJJZD86IHN0cmluZztcclxuICBpbnB1dE1vZGU/OiBTbWFydEZvcm1JbnB1dE1vZGU7XHJcbiAgdGV4dEZpZWxkUHJvcGVydGllcz86IFRleHRGaWVsZFByb3BlcnRpZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRUZXh0RmllbGROdW1iZXI8VD4ge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRF9OVU1CRVI7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIHZhbHVlPzogVDtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBvcmlnaW5hbFBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXIgfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgcHJlZml4Pzogc3RyaW5nO1xyXG4gIHN1ZmZpeD86IHN0cmluZztcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIHRleHRGaWVsZEJ1dHRvbj86IFNtYXJ0Rm9ybVRleHRGaWVsZEJ1dHRvbjtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIG1pblZhbHVlcz86IG51bWJlcjtcclxuICBtYXhWYWx1ZXM/OiBudW1iZXI7XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBpY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcclxuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VGV4dEZpZWxkQ2hpcHM8VD4ge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9GSUVMRF9DSElQUztcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgdmFsdWU/OiBUO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIG9yaWdpbmFsUGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcclxuICB2YWx1ZUxpc3Q6IFNtYXJ0SXRlbTxUPltdO1xyXG4gIG1pblZhbHVlcz86IG51bWJlcjtcclxuICBtYXhWYWx1ZXM/OiBudW1iZXI7XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VGV4dEZpZWxkTG9va3VwPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlRFWFRfRklFTERfTE9PS1VQO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcclxuICB2YWx1ZT86IFQ7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBtaW5XaWR0aD86IFNtYXJ0Rm9ybVdpZGdldFdpZHRoIHwgbnVtYmVyO1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xyXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xyXG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xyXG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiBTdHlsZTtcclxuICBsYWJlbFN0eWxlPzogU3R5bGU7XHJcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcclxuICBlcnJvcj86IHN0cmluZztcclxuICBlcnJvckljb24/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xyXG4gIG1pblZhbHVlcz86IG51bWJlcjtcclxuICBtYXhWYWx1ZXM/OiBudW1iZXI7XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxuICB0b29sYmFySWQ/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRleHRCb3g8VD4ge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVEVYVF9CT1g7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIHZhbHVlPzogVDtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBvcmlnaW5hbFBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxuICBtYXhMZW5ndGg/OiBudW1iZXI7XHJcbiAgc2hvd0NoYXJhY3RlckxpbWl0U3VmZml4PzogYm9vbGVhbjtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0U2VsZWN0PFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlNFTEVDVDtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBUO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgdmFsdWVMaXN0OiBTbWFydEl0ZW1zPFQ+W107XHJcbiAgc2VsZWN0aW9uPzogU2VsZWN0aW9uRGVmaW5pdGlvbjtcclxuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xyXG4gIGNvbXBhcmVXaXRoPzogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFNlbGVjdE11bHRpcGxlPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlNFTEVDVF9NVUxUSVBMRTtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgdmFsdWU/OiBUO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBwbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgdmFsdWVMaXN0OiBTbWFydEl0ZW1zPFQ+W107XHJcbiAgc2VsZWN0aW9uPzogU2VsZWN0aW9uRGVmaW5pdGlvbjtcclxuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xyXG4gIGNvbXBhcmVXaXRoPzogKG8xOiBhbnksIG8yOiBhbnkpID0+IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydENoZWNrQm94PFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkNIRUNLX0JPWDtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgdmFsdWU/OiBUO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgc2VsZWN0aW9uPzogU2VsZWN0aW9uRGVmaW5pdGlvbjtcclxuICBkaXJlY3Rpb24/OiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb247XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0Q2hlY2tCb3gyPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkNIRUNLX0JPWF8yO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcclxuICB2YWx1ZT86IFQ7XHJcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcclxuICB2YWx1ZUxpc3Q6IFNtYXJ0SXRlbTxUPltdO1xyXG4gIHNlbGVjdGlvbj86IFNlbGVjdGlvbkRlZmluaXRpb247XHJcbiAgZGlyZWN0aW9uPzogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uO1xyXG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFJhZGlvQnV0dG9uPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlJBRElPX0JVVFRPTjtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgdmFsdWU/OiBUO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgdmFsdWVMaXN0OiBTbWFydEl0ZW08VD5bXTtcclxuICBzZWxlY3Rpb24/OiBTZWxlY3Rpb25EZWZpbml0aW9uO1xyXG4gIGRpcmVjdGlvbj86IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbjtcclxuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnREYXRlUGlja2VyPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkRBVEVfUElDS0VSO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcclxuICB2YWx1ZT86IFQ7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcclxuICBkYXRlRm9ybWF0SGludD86IHN0cmluZztcclxuICBkYXRlRmllbGRQcm9wZXJ0aWVzPzogRGF0ZUZpZWxkUHJvcGVydGllcztcclxuICBmaWx0ZXI/OiAoZDogRGF0ZSB8IG51bGwpID0+IGJvb2xlYW47XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0RGF0ZVRpbWVQaWNrZXI8VD4ge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuREFURV9USU1FX1BJQ0tFUjtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgdmFsdWU/OiBUO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaXNSZWFkb25seT86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgZGF0ZUZvcm1hdEhpbnQ/OiBzdHJpbmc7XHJcbiAgZGF0ZUZpZWxkUHJvcGVydGllcz86IERhdGVGaWVsZFByb3BlcnRpZXM7XHJcbiAgZmlsdGVyPzogKGQ6IERhdGUgfCBudWxsKSA9PiBib29sZWFuO1xyXG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydENvbnRhaW5lcjxUPiB7XHJcbiAga2V5Pzogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkNPTlRBSU5FUjtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIHZhbHVlTGlzdDogU21hcnRGb3JtV2lkZ2V0PFQ+W107XHJcbiAgZGlyZWN0aW9uPzogU21hcnRGb3JtV2lkZ2V0RGlyZWN0aW9uO1xyXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydExhYmVsIHtcclxuICBrZXk/OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuTEFCRUw7XHJcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgd2lkZ2V0RGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcclxuICBtYXJrQXNSZXF1aXJlZD86IGJvb2xlYW47XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFRpbWU8VD4ge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuVElNRTtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgdmFsdWU/OiBUO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIG1pbldpZHRoPzogU21hcnRGb3JtV2lkZ2V0V2lkdGggfCBudW1iZXI7XHJcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VG9nZ2xlPFQ+IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLlRPR0dMRTtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgdmFsdWU/OiBUO1xyXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICB0b2dnbGVMYWJlbFBvc2l0aW9uPzogVG9nZ2xlTGFiZWxQb3NpdGlvbjtcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBlcnJvcj86IHN0cmluZztcclxuICBlcnJvckljb24/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEluZGljYXRvckl0ZW0ge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuSU5ESUNBVE9SO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcclxuICBpbmRpY2F0b3I6IFNtYXJ0SW5kaWNhdG9yO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxufVxyXG5cclxuZXhwb3J0IGRlY2xhcmUgdHlwZSBTbWFydEl0ZW1zPFQ+ID0gU21hcnRJdGVtPFQ+IHwgU21hcnRJdGVtR3JvdXA8VD47XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0SXRlbTxUPiB7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xyXG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiBTdHlsZTtcclxuICBsYWJlbFN0eWxlPzogU3R5bGU7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICB2YWx1ZT86IFQ7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgaWNvbj86IHN0cmluZztcclxuICBpY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgaW1hZ2VVcmw/OiBzdHJpbmc7XHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEl0ZW1Hcm91cDxUPiB7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JVEVNX0dST1VQO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xyXG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiBTdHlsZTtcclxuICBsYWJlbFN0eWxlPzogU3R5bGU7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICB2YWx1ZUxpc3Q6IFNtYXJ0SXRlbTxUPltdO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0RmlsZVVwbG9hZGVyIHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkZJTEVfVVBMT0FERVI7XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBmaWxlRm9ybWF0cz86IHN0cmluZ1tdO1xyXG4gIG1heFNpemVNYj86IG51bWJlcjtcclxuICBpMThuPzogYW55O1xyXG4gIGZpbGVVcGxvYWRlclByb3BlcnRpZXM/OiBGaWxlVXBsb2FkZXJQcm9wZXJ0aWVzO1xyXG4gIHRvb2xiYXJJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydE11bHRpRmlsZVVwbG9hZGVyIHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLk1VTFRJX0ZJTEVfVVBMT0FERVI7XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBmaWxlRm9ybWF0cz86IHN0cmluZ1tdO1xyXG4gIG1heFNpemVNYj86IG51bWJlcjtcclxuICBpMThuPzogYW55O1xyXG4gIG11bHRpRmlsZVVwbG9hZGVyUHJvcGVydGllcz86IE11bHRpRmlsZVVwbG9hZGVyUHJvcGVydGllcztcclxuICB0b29sYmFySWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRJbWFnZSB7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5JTUFHRTtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIHZhbHVlPzogSW1hZ2VSZXNvdXJjZTtcclxuICBpbWFnZUNzcz86IHN0cmluZztcclxuICBpbWFnZVByb3BlcnRpZXM/OiBJbWFnZVByb3BlcnRpZXM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnREaXZpZGVyIHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkRJVklERVI7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICB2YWx1ZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEJ1dHRvbiB7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5CVVRUT047XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICB2YWx1ZT86IHN0cmluZztcclxuICB1aUFjdGlvbj86IGFueTtcclxuICB1aUFjdGlvbkRlc2NyaXB0b3I6IGFueTtcclxuICBjYWxsYmFjazogKCh1aUFjdGlvbjogYW55KSA9PiB2b2lkKSB8ICgoa2V5OiBzdHJpbmcpID0+IHZvaWQpO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRGb3JtSW5saW5lQ29tcG9uZW50IHtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLkNPTVBPTkVOVDtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGNvbXBvbmVudDogYW55O1xyXG4gIGlucHV0OiBNYXA8c3RyaW5nLCBhbnk+O1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0UmljaFRleHQge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuUklDSF9URVhUO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHZhbHVlPzogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxQbGFjZWhvbGRlcj86IHN0cmluZztcclxuICBxdWlsbE1vZHVsZXM6IFF1aWxsTW9kdWxlcztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBlcnJvcj86IHN0cmluZztcclxuICBlcnJvckljb24/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xyXG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XHJcbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xyXG4gIHNob3dDaGFyYWN0ZXJMaW1pdFN1ZmZpeD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRTb3J0YWJsZTxUPiB7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5TT1JUQUJMRTtcclxuICBrZXk6IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgbGFiZWw6IHN0cmluZztcclxuICB2YWx1ZT86IHN0cmluZztcclxuICBvcmlnaW5hbExhYmVsPzogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgaXNWaXNpYmxlPzogYm9vbGVhbjtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzRGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGlzUmVhZG9ubHk/OiBib29sZWFuO1xyXG4gIGVycm9yPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbj86IHN0cmluZztcclxuICBlcnJvckljb25Db2xvcj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yQ29sb3I/OiBzdHJpbmc7XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgdmFsdWVMaXN0PzogU21hcnRJdGVtPFQ+W107XHJcbiAgaXNNdWx0aXBsZT86IGJvb2xlYW47XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIHNvcnREZWZpbml0aW9uOiBTb3J0RGVmaW5pdGlvbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydE1hdHJpeCB7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5NQVRSSVg7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWVDaGFuZ2VNb2RlPzogVmFsdWVDaGFuZ2VNb2RlO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgdmFsdWU/OiBhbnk7XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgY3NzQ2xhc3M/OiBzdHJpbmc7XHJcbiAgY3NzTGFiZWxDbGFzcz86IHN0cmluZztcclxuICBsYWJlbFBvc2l0aW9uQ2xhc3M/OiBzdHJpbmc7XHJcbiAgaXNGbG9hdExhYmVsPzogYm9vbGVhbjtcclxuICBzdHlsZT86IFN0eWxlO1xyXG4gIGxhYmVsU3R5bGU/OiBTdHlsZTtcclxuICBpc0Rpc2FibGVkPzogYm9vbGVhbjtcclxuICBpc1JlYWRvbmx5PzogYm9vbGVhbjtcclxuICBlcnJvcj86IHN0cmluZztcclxuICBlcnJvckljb24/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uQ29sb3I/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JNZXNzYWdlPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9ySWNvbj86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckNvbG9yPzogc3RyaW5nO1xyXG4gIHZhbGlkYXRvcnM/OiBTbWFydFZhbGlkYXRvcltdO1xyXG4gIGlzTXVsdGlwbGU/OiBib29sZWFuO1xyXG4gIGhpbnQ/OiBTbWFydFdpZGdldEhpbnQ7XHJcbiAgYnV0dG9uPzogU21hcnRNYXRyaXhCdXR0b247XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRNYXRyaXhCdXR0b24ge1xyXG4gIGljb25Db2RlPzogc3RyaW5nO1xyXG4gIGNhbGxiYWNrOiAod2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55Piwgcm93OiBhbnkpID0+IGFueTtcclxuICBjb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydFlvdXR1YmVQbGF5ZXIge1xyXG4gIGtleT86IHN0cmluZztcclxuICB2YWx1ZUNoYW5nZU1vZGU/OiBWYWx1ZUNoYW5nZU1vZGU7XHJcbiAgdHlwZTogU21hcnRGb3JtV2lkZ2V0VHlwZS5ZT1VUVUJFX1BMQVlFUjtcclxuICBsaW5rPzogc3RyaW5nO1xyXG4gIHZpZGVvSWQ/OiBzdHJpbmc7XHJcbiAgaGVpZ2h0PzogbnVtYmVyO1xyXG4gIHdpZHRoPzogbnVtYmVyO1xyXG4gIHN0YXJ0U2Vjb25kcz86IG51bWJlciB8IDA7XHJcbiAgZW5kU2Vjb25kcz86IG51bWJlcjtcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgbGFiZWw/OiBzdHJpbmc7XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgaGludD86IFNtYXJ0V2lkZ2V0SGludDtcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0TW9udGhQaWNrZXIge1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICB0eXBlOiBTbWFydEZvcm1XaWRnZXRUeXBlLk1PTlRIX1BJQ0tFUjtcclxuICB2YWx1ZT86IHN0cmluZztcclxuICB2YWxpZGF0b3JzPzogU21hcnRWYWxpZGF0b3JbXTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIHNob3dMYWJlbD86IGJvb2xlYW47XHJcbiAgZXJyb3I/OiBzdHJpbmc7XHJcbiAgZXJyb3JJY29uPzogc3RyaW5nO1xyXG4gIGVycm9ySWNvbkNvbG9yPzogc3RyaW5nO1xyXG4gIHNlcnZlckVycm9yTWVzc2FnZT86IHN0cmluZztcclxuICBzZXJ2ZXJFcnJvckljb24/OiBzdHJpbmc7XHJcbiAgc2VydmVyRXJyb3JDb2xvcj86IHN0cmluZztcclxuICBjc3NDbGFzcz86IHN0cmluZztcclxuICBjc3NMYWJlbENsYXNzPzogc3RyaW5nO1xyXG4gIGxhYmVsUG9zaXRpb25DbGFzcz86IHN0cmluZztcclxuICBpc0Zsb2F0TGFiZWw/OiBib29sZWFuO1xyXG4gIHN0eWxlPzogU3R5bGU7XHJcbiAgbGFiZWxTdHlsZT86IFN0eWxlO1xyXG4gIGlzVmlzaWJsZT86IGJvb2xlYW47XHJcbiAgaXNEaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgb3JpZ2luYWxMYWJlbD86IHN0cmluZztcclxuICBoaW50PzogU21hcnRXaWRnZXRIaW50O1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRTdmcge1xyXG4gIHR5cGU6IFNtYXJ0Rm9ybVdpZGdldFR5cGUuU1ZHO1xyXG4gIGtleTogc3RyaW5nO1xyXG4gIHZhbHVlQ2hhbmdlTW9kZT86IFZhbHVlQ2hhbmdlTW9kZTtcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIG9yaWdpbmFsTGFiZWw/OiBzdHJpbmc7XHJcbiAgc2hvd0xhYmVsPzogYm9vbGVhbjtcclxuICBpc1Zpc2libGU/OiBib29sZWFuO1xyXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xyXG4gIGNzc0xhYmVsQ2xhc3M/OiBzdHJpbmc7XHJcbiAgbGFiZWxQb3NpdGlvbkNsYXNzPzogc3RyaW5nO1xyXG4gIGlzRmxvYXRMYWJlbD86IGJvb2xlYW47XHJcbiAgc3R5bGU/OiBTdHlsZTtcclxuICBsYWJlbFN0eWxlPzogU3R5bGU7XHJcbiAgdmFsdWU/OiBzdHJpbmc7XHJcbiAgbWluV2lkdGg/OiBTbWFydEZvcm1XaWRnZXRXaWR0aCB8IG51bWJlcjtcclxufVxyXG4iXX0=
|
|
@@ -35,4 +35,4 @@ export var SmartWidgetHintPosition;
|
|
|
35
35
|
SmartWidgetHintPosition[SmartWidgetHintPosition["UNDER_LABEL"] = 0] = "UNDER_LABEL";
|
|
36
36
|
SmartWidgetHintPosition[SmartWidgetHintPosition["UNDER_INPUT"] = 1] = "UNDER_INPUT";
|
|
37
37
|
})(SmartWidgetHintPosition || (SmartWidgetHintPosition = {}));
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnRmb3JtLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS9zbWFydGZvcm0ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBMkJBLE1BQU0sQ0FBTixJQUFZLG9CQUtYO0FBTEQsV0FBWSxvQkFBb0I7SUFDOUIsbUVBQVcsQ0FBQTtJQUNYLHFFQUFZLENBQUE7SUFDWixtRUFBVyxDQUFBO0lBQ1gsK0VBQWlCLENBQUE7QUFDbkIsQ0FBQyxFQUxXLG9CQUFvQixLQUFwQixvQkFBb0IsUUFLL0I7QUFFRCxNQUFNLENBQU4sSUFBWSxvQ0FHWDtBQUhELFdBQVksb0NBQW9DO0lBQzlDLDZGQUFHLENBQUE7SUFDSCwrRkFBSSxDQUFBO0FBQ04sQ0FBQyxFQUhXLG9DQUFvQyxLQUFwQyxvQ0FBb0MsUUFHL0M7QUFXRCxNQUFNLENBQU4sSUFBWSxtQkFHWDtBQUhELFdBQVksbUJBQW1CO0lBQzdCLHdDQUFpQixDQUFBO0lBQ2pCLHNDQUFlLENBQUE7QUFDakIsQ0FBQyxFQUhXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFHOUI7QUEwQkQsTUFBTSxDQUFOLElBQVksa0JBYVg7QUFiRCxXQUFZLGtCQUFrQjtJQUM1QixxQkFBcUI7SUFDckIsMkNBQXFCLENBQUE7SUFDckIsK0NBQXlCLENBQUE7SUFDekIscUNBQWUsQ0FBQTtJQUNmLGlDQUFXLENBQUE7SUFDWCw2Q0FBdUIsQ0FBQTtJQUN2QixpQ0FBVyxDQUFBO0lBQ1gsNkNBQXVCLENBQUE7SUFDdkIseUNBQW1CLENBQUE7SUFDbkIsNkRBQXVDLENBQUE7SUFDdkMsb0JBQW9CO0lBQ3BCLDREQUFzQyxDQUFBO0FBQ3hDLENBQUMsRUFiVyxrQkFBa0IsS0FBbEIsa0JBQWtCLFFBYTdCO0FBNENELE1BQU0sQ0FBTixJQUFZLHVCQUdYO0FBSEQsV0FBWSx1QkFBdUI7SUFDakMsbUZBQVcsQ0FBQTtJQUNYLG1GQUFXLENBQUE7QUFDYixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFZhbGlkYXRvckZuIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldCB9IGZyb20gXCIuL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsXCI7XHJcbmltcG9ydCB7IFNtYXJ0Rm9ybVdpZGdldERpcmVjdGlvbiB9IGZyb20gXCIuL2FwaVwiO1xyXG5pbXBvcnQgeyBTbWFydFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tIFwiLi4vdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC5tb2RlbFwiO1xyXG5pbXBvcnQgeyBOYW1lZFZhbGlkYXRvciB9IGZyb20gXCIuLi92aWV3LWNvbnRleHQvYXBpXCI7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNvcGhpc3RpY2F0ZWRWYWx1ZUNoYW5nZSB7XHJcbiAga2V5OiBzdHJpbmc7XHJcbiAgdmFsdWU6IGFueTtcclxuICBraW5kOiBcImJhc2ljXCIgfCBcInNlbGVjdGlvblwiO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0Rm9ybUNvbXBvbmVudENvbnN0cmFpbnQge1xyXG4gIC8qKlxyXG4gICAqIFRoZSBkYXRhIG5hbWUgdG8gaWRlbnRpZnkgdGhlIHJlbGF0ZWQgY29tcG9uZW50IG9yIGNvbXBvbmVuZXRzLiBJZiBpdCBpcyBhIHBhdGggdGhlIGZvcm1hdCBpcyB0aGUgZm9sbG93aW5nIC0gZGF0YVNoZWV0LmZpZWxkLlxyXG4gICAqL1xyXG4gIGRhdGFOYW1lPzogc3RyaW5nO1xyXG4gIHZpc2libGU/OiBib29sZWFuO1xyXG4gIG1hbmRhdG9yeT86IGJvb2xlYW47XHJcbiAgZW5hYmxlZD86IGJvb2xlYW47XHJcbiAgbWF4PzogbnVtYmVyO1xyXG4gIG1heExlbmd0aD86IG51bWJlcjtcclxuICBtaW4/OiBudW1iZXI7XHJcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xyXG4gIG5hbWVkVmFsaWRhdG9ycz86IEFycmF5PE5hbWVkVmFsaWRhdG9yPjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU21hcnRGb3JtV2lkZ2V0V2lkdGgge1xyXG4gIFNNQUxMID0gMTUwLFxyXG4gIE1FRElVTSA9IDI1MCxcclxuICBMQVJHRSA9IDM1MCxcclxuICBFWFRSQV9MQVJHRSA9IDQ1MCxcclxufVxyXG5cclxuZXhwb3J0IGVudW0gU21hcnRGb3JtVGV4dEZpZWxkQnV0dG9uSWNvblBvc2l0aW9uIHtcclxuICBQUkUsXHJcbiAgUE9TVCxcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZvcm1UZXh0RmllbGRCdXR0b24ge1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvblBvc2l0aW9uPzogU21hcnRGb3JtVGV4dEZpZWxkQnV0dG9uSWNvblBvc2l0aW9uO1xyXG4gIGxhYmVsPzogc3RyaW5nO1xyXG4gIGNhbGxiYWNrOiAod2lkZ2V0OiBTbWFydEZvcm1XaWRnZXQ8YW55PikgPT4gYW55O1xyXG4gIGNvbG9yPzogc3RyaW5nO1xyXG4gIGljb25Db2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gVG9nZ2xlTGFiZWxQb3NpdGlvbiB7XHJcbiAgQkVGT1JFID0gXCJiZWZvcmVcIixcclxuICBBRlRFUiA9IFwiYWZ0ZXJcIixcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZvcm1JbnZhbGlkRmllbGRzIHtcclxuICBpbnZhbGlkRmllbGROYW1lczogc3RyaW5nW107XHJcbiAgaW52YWxpZEZpZWxkS2V5czogc3RyaW5nW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRJbmRpY2F0b3Ige1xyXG4gIGluZGljYXRlUHJvcGVydHk6IHN0cmluZztcclxuICBpbmRpY2F0b3JMZW5ndGg6IG51bWJlcjtcclxuICBpbmRpY2F0b3JTdGF0dXNMYWJlbHM6IHN0cmluZ1tdO1xyXG4gIG9yaWdpbmFsSW5kaWNhdG9yU3RhdHVzTGFiZWxzPzogc3RyaW5nW107XHJcbiAgaW5kaWNhdG9yVmFsdWU6IG51bWJlcjtcclxuICBjaGFuZ2VJbmRpY2F0b3JTdGF0dXM6ICh2YWx1ZVRvQ2hlY2s6IHN0cmluZykgPT4gbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNtYXJ0VmFsaWRhdG9yIHtcclxuICB2YWxpZGF0b3I6IFZhbGlkYXRvckZuO1xyXG4gIGlzQ3VzdG9tPzogYm9vbGVhbjtcclxuICBlcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgb3JpZ2luYWxFcnJvck1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgbmFtZTogU21hcnRWYWxpZGF0b3JOYW1lIHwgc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaWNvbkNvbG9yPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTbWFydFZhbGlkYXRvck5hbWUge1xyXG4gIC8vIEFuZ3VsYXIgdmFsaWRhdG9yc1xyXG4gIHJlcXVpcmVkID0gXCJyZXF1aXJlZFwiLFxyXG4gIHJlcXVpcmVkVHJ1ZSA9IFwicmVxdWlyZWRcIixcclxuICBlbWFpbCA9IFwiZW1haWxcIixcclxuICBtYXggPSBcIm1heFwiLFxyXG4gIG1heExlbmd0aCA9IFwibWF4bGVuZ3RoXCIsXHJcbiAgbWluID0gXCJtaW5cIixcclxuICBtaW5MZW5ndGggPSBcIm1pbmxlbmd0aFwiLFxyXG4gIHBhdHRlcm4gPSBcInBhdHRlcm5cIixcclxuICBwYXNzd29yZFZhbGlkYXRvciA9IFwicGFzc3dvcmRWYWxpZGF0b3JcIixcclxuICAvLyBDdXN0b20gdmFsaWRhdG9yc1xyXG4gIGZpZWxkTWF0Y2hpbmdWYWxpZGF0b3IgPSBcImZpZWxkc01hdGNoXCIsXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBEeW5hbWljIGZvcm1zIGNhbiBiZSBlYXNpbHkgZGVmaW5lZCB3aXRoIHRoaXMgaW50ZXJmYWNlLlxyXG4gKlxyXG4gKiBAcGFyYW0gbmFtZSBUaGUgbmFtZSBvZiB0aGUgZm9ybVxyXG4gKiBAcGFyYW0gd2lkZ2V0cyBUaGUgd2lkZ2V0cyBwcmVzZW50ZWQgaW4gdGhlIGZvcm1cclxuICpcclxuICogQGF1dGhvciBSb2xhbmQgRsOpbnllc1xyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBTbWFydEZvcm0ge1xyXG4gIG5hbWU/OiBzdHJpbmc7XHJcbiAgZGlyZWN0aW9uOiBTbWFydEZvcm1XaWRnZXREaXJlY3Rpb247XHJcbiAgd2lkZ2V0czogU21hcnRGb3JtV2lkZ2V0PGFueT5bXTtcclxuICBjb21wb25lbnRNb2RlbD86IGFueTtcclxuICB1c2VPbkJsdXJFdmVudD86IGJvb2xlYW47XHJcbiAgdXNlT25WYWx1ZUNoYW5nZUV2ZW50PzogYm9vbGVhbjtcclxuICBzaG93TGFiZWw/OiBib29sZWFuO1xyXG4gIHN1Ym1pdE9uRW50ZXI/OiAoKSA9PiB2b2lkO1xyXG4gIGxhYmVsVGhlbWU/OiBzdHJpbmc7XHJcbiAgdmFsaWRhdG9ycz86IFNtYXJ0VmFsaWRhdG9yW107XHJcbiAgdHJhbnNsYXRlU2VydmljZT86IFNtYXJ0VHJhbnNsYXRlU2VydmljZTtcclxuICBpbnZhbGlkRmllbGRzPzogU21hcnRGb3JtSW52YWxpZEZpZWxkcztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZSB7XHJcbiAgLyoqXHJcbiAgICogVGhlIHVyaSB0aGUgb2JqZWN0IG9mIHRoZSB2YWx1ZSBjYW4gYmUgYWNjZXNzZWQuXHJcbiAgICovXHJcbiAgb2JqZWN0VXJpOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogVGhlIGxvZ2ljYWwgY29kZSBvZiB0aGUgc2VsZWN0YWJsZSB2YWx1ZS5cclxuICAgKi9cclxuICBjb2RlPzogc3RyaW5nO1xyXG4gIC8qKlxyXG4gICAqIFRoZSBzdHJpbmcgdmFsdWUgdGhhdCBjYW4gYmUgc2hvd24gb24gdWkuIEl0IG1pZ2h0IGJlIGEgbGFiZWwgY29kZSBvciB0aGUgZXhhY3QgbGFiZWwuXHJcbiAgICovXHJcbiAgZGlzcGxheVZhbHVlOiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogVGhlIGNvZGUgb2YgaWNvbiB0aGF0IGNhbiBiZSBhc3NvY2lhdGllZCB3aXRoIHRoZSB2YWx1ZS4gSXQgbWF5IGJlIGEgdXJpLlxyXG4gICAqL1xyXG4gIGljb25Db2RlPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBTbWFydFdpZGdldEhpbnRQb3NpdGlvbiB7XHJcbiAgVU5ERVJfTEFCRUwsXHJcbiAgVU5ERVJfSU5QVVQsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgU21hcnRXaWRnZXRIaW50Q29uZmlnIHtcclxuICBwb3NpdGlvbjogU21hcnRXaWRnZXRIaW50UG9zaXRpb247XHJcbn1cclxuIl19
|
package/esm2022/lib/smart-form/widgets/components/smart-file-editor/smart-file-editor.component.mjs
CHANGED
|
@@ -152,7 +152,7 @@ export class SmartFileEditorComponent {
|
|
|
152
152
|
useExisting: forwardRef(() => SmartFileEditorComponent),
|
|
153
153
|
multi: true,
|
|
154
154
|
},
|
|
155
|
-
], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "@if (widgetInstance && widgetInstance.fileUploaderProperties) {\n<h4\n *ngIf=\"widgetInstance.showLabel\"\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\n [ngClass]=\"getLabelNgClass()\"\n [ngStyle]=\"getLabelStyle()\"\n>\n {{ widgetInstance.label }}\n</h4>\n\n<div class=\"fileEditorComponent\">\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\n <div class=\"errorMessage\">\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\n <span> Unsupported widgetInstance.value type for this widget.</span>\n </div>\n } @else if (!widgetInstance.value || fileToChange) {\n <smart-upload-widget\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\n [ngClass]=\"getNgClass()\"\n [ngStyle]=\"getStyle()\"\n [uploadDescriptor]=\"widgetInstance.fileUploaderProperties.uploadDescriptor!\"\n [isMultiple]=\"false\"\n [isDisabled]=\"widgetInstance.isDisabled\"\n (uploadFilesEvent)=\"upload($event)\"\n />\n }\n\n <div\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\n class=\"uploadedFileContainer\"\n [style.display]=\"\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\n \"\n >\n <div class=\"uploadedFile\">\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\n\n <div class=\"fileData\">\n <div class=\"fileDataContainer\">\n <span class=\"fileName\">{{ widgetInstance.value?.fileName }}</span>\n <span class=\"fileSize\">{{ formatSize(widgetInstance.value?.size) }}</span>\n </div>\n </div>\n\n <div class=\"fileActions\">\n <smart-ui-action-toolbar [id]=\"widgetInstance.toolbarId\" #toolbar></smart-ui-action-toolbar>\n\n @if (!fileToChange) {\n <ui-action-button\n class=\"changeButton\"\n (actionClick)=\"change(widgetInstance.value)\"\n [disabled]=\"widgetInstance.isDisabled\"\n [descriptor]=\"changeButton\"\n >\n </ui-action-button>\n } @else {\n <ui-action-button\n class=\"removeIcon\"\n (actionClick)=\"cancelChange()\"\n [descriptor]=\"removeButton\"\n ></ui-action-button>\n }\n </div>\n </div>\n </div>\n</div>\n}\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius)}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.fileEditorComponent:has(::ng-deep prime-file-uploader) ::ng-deep .uploadedFile,.fileEditorComponent:has(::ng-deep smartfileuploader) ::ng-deep .uploadedFile{border-top:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .fileData *{opacity:.7}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i4.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i5.UploadWidgetComponent, selector: "smart-upload-widget", inputs: ["uploadDescriptor", "isMultiple", "isDisabled"], outputs: ["uploadFilesEvent"] }] }); }
|
|
155
|
+
], viewQueries: [{ propertyName: "toolbar", first: true, predicate: ["toolbar"], descendants: true }], ngImport: i0, template: "@if (widgetInstance && widgetInstance.fileUploaderProperties) {\r\n<h4\r\n *ngIf=\"widgetInstance.showLabel\"\r\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\r\n [ngClass]=\"getLabelNgClass()\"\r\n [ngStyle]=\"getLabelStyle()\"\r\n>\r\n {{ widgetInstance.label }}\r\n</h4>\r\n\r\n<div class=\"fileEditorComponent\">\r\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\r\n <div class=\"errorMessage\">\r\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\r\n <span> Unsupported widgetInstance.value type for this widget.</span>\r\n </div>\r\n } @else if (!widgetInstance.value || fileToChange) {\r\n <smart-upload-widget\r\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\r\n [ngClass]=\"getNgClass()\"\r\n [ngStyle]=\"getStyle()\"\r\n [uploadDescriptor]=\"widgetInstance.fileUploaderProperties.uploadDescriptor!\"\r\n [isMultiple]=\"false\"\r\n [isDisabled]=\"widgetInstance.isDisabled\"\r\n (uploadFilesEvent)=\"upload($event)\"\r\n />\r\n }\r\n\r\n <div\r\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\r\n class=\"uploadedFileContainer\"\r\n [style.display]=\"\r\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\r\n \"\r\n >\r\n <div class=\"uploadedFile\">\r\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\r\n\r\n <div class=\"fileData\">\r\n <div class=\"fileDataContainer\">\r\n <span class=\"fileName\">{{ widgetInstance.value?.fileName }}</span>\r\n <span class=\"fileSize\">{{ formatSize(widgetInstance.value?.size) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fileActions\">\r\n <smart-ui-action-toolbar [id]=\"widgetInstance.toolbarId\" #toolbar></smart-ui-action-toolbar>\r\n\r\n @if (!fileToChange) {\r\n <ui-action-button\r\n class=\"changeButton\"\r\n (actionClick)=\"change(widgetInstance.value)\"\r\n [disabled]=\"widgetInstance.isDisabled\"\r\n [descriptor]=\"changeButton\"\r\n >\r\n </ui-action-button>\r\n } @else {\r\n <ui-action-button\r\n class=\"removeIcon\"\r\n (actionClick)=\"cancelChange()\"\r\n [descriptor]=\"removeButton\"\r\n ></ui-action-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius)}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.fileEditorComponent:has(::ng-deep prime-file-uploader) ::ng-deep .uploadedFile,.fileEditorComponent:has(::ng-deep smartfileuploader) ::ng-deep .uploadedFile{border-top:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .fileData *{opacity:.7}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.SmartIconComponent, selector: "smart-icon", inputs: ["icon", "color", "imageResource"] }, { kind: "component", type: i3.UiActionToolbarComponent, selector: "smart-ui-action-toolbar", inputs: ["uiActionModels", "uiActionDescriptorService", "id", "scrollOnWrap", "toolbarPropertes"] }, { kind: "component", type: i4.UiActionButtonComponent, selector: "ui-action-button", inputs: ["disabled", "descriptor", "code", "addedCssClass", "addBasicClasses"], outputs: ["actionClick", "actionDoubleClick"] }, { kind: "component", type: i5.UploadWidgetComponent, selector: "smart-upload-widget", inputs: ["uploadDescriptor", "isMultiple", "isDisabled"], outputs: ["uploadFilesEvent"] }] }); }
|
|
156
156
|
}
|
|
157
157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartFileEditorComponent, decorators: [{
|
|
158
158
|
type: Component,
|
|
@@ -162,7 +162,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
162
162
|
useExisting: forwardRef(() => SmartFileEditorComponent),
|
|
163
163
|
multi: true,
|
|
164
164
|
},
|
|
165
|
-
], template: "@if (widgetInstance && widgetInstance.fileUploaderProperties) {\n<h4\n *ngIf=\"widgetInstance.showLabel\"\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\n [ngClass]=\"getLabelNgClass()\"\n [ngStyle]=\"getLabelStyle()\"\n>\n {{ widgetInstance.label }}\n</h4>\n\n<div class=\"fileEditorComponent\">\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\n <div class=\"errorMessage\">\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\n <span> Unsupported widgetInstance.value type for this widget.</span>\n </div>\n } @else if (!widgetInstance.value || fileToChange) {\n <smart-upload-widget\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\n [ngClass]=\"getNgClass()\"\n [ngStyle]=\"getStyle()\"\n [uploadDescriptor]=\"widgetInstance.fileUploaderProperties.uploadDescriptor!\"\n [isMultiple]=\"false\"\n [isDisabled]=\"widgetInstance.isDisabled\"\n (uploadFilesEvent)=\"upload($event)\"\n />\n }\n\n <div\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\n class=\"uploadedFileContainer\"\n [style.display]=\"\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\n \"\n >\n <div class=\"uploadedFile\">\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\n\n <div class=\"fileData\">\n <div class=\"fileDataContainer\">\n <span class=\"fileName\">{{ widgetInstance.value?.fileName }}</span>\n <span class=\"fileSize\">{{ formatSize(widgetInstance.value?.size) }}</span>\n </div>\n </div>\n\n <div class=\"fileActions\">\n <smart-ui-action-toolbar [id]=\"widgetInstance.toolbarId\" #toolbar></smart-ui-action-toolbar>\n\n @if (!fileToChange) {\n <ui-action-button\n class=\"changeButton\"\n (actionClick)=\"change(widgetInstance.value)\"\n [disabled]=\"widgetInstance.isDisabled\"\n [descriptor]=\"changeButton\"\n >\n </ui-action-button>\n } @else {\n <ui-action-button\n class=\"removeIcon\"\n (actionClick)=\"cancelChange()\"\n [descriptor]=\"removeButton\"\n ></ui-action-button>\n }\n </div>\n </div>\n </div>\n</div>\n}\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius)}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.fileEditorComponent:has(::ng-deep prime-file-uploader) ::ng-deep .uploadedFile,.fileEditorComponent:has(::ng-deep smartfileuploader) ::ng-deep .uploadedFile{border-top:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .fileData *{opacity:.7}\n"] }]
|
|
165
|
+
], template: "@if (widgetInstance && widgetInstance.fileUploaderProperties) {\r\n<h4\r\n *ngIf=\"widgetInstance.showLabel\"\r\n class=\"labelContainer {{ widgetInstance.cssLabelClass ?? '' }}\"\r\n [ngClass]=\"getLabelNgClass()\"\r\n [ngStyle]=\"getLabelStyle()\"\r\n>\r\n {{ widgetInstance.label }}\r\n</h4>\r\n\r\n<div class=\"fileEditorComponent\">\r\n @if (widgetInstance.value && !isTypeSupported(widgetInstance.value)) {\r\n <div class=\"errorMessage\">\r\n <smart-icon [icon]=\"errorIcon\" [color]=\"'var(--warninig-color)'\"></smart-icon>\r\n <span> Unsupported widgetInstance.value type for this widget.</span>\r\n </div>\r\n } @else if (!widgetInstance.value || fileToChange) {\r\n <smart-upload-widget\r\n class=\"widgetContent {{ widgetInstance.cssClass ?? '' }}\"\r\n [ngClass]=\"getNgClass()\"\r\n [ngStyle]=\"getStyle()\"\r\n [uploadDescriptor]=\"widgetInstance.fileUploaderProperties.uploadDescriptor!\"\r\n [isMultiple]=\"false\"\r\n [isDisabled]=\"widgetInstance.isDisabled\"\r\n (uploadFilesEvent)=\"upload($event)\"\r\n />\r\n }\r\n\r\n <div\r\n [ngClass]=\"{ disabledWidget: widgetInstance.isDisabled }\"\r\n class=\"uploadedFileContainer\"\r\n [style.display]=\"\r\n widgetInstance.value && isTypeSupported(widgetInstance.value) ? 'block' : 'none'\r\n \"\r\n >\r\n <div class=\"uploadedFile\">\r\n <smart-icon class=\"uploadedFileIcon\" [icon]=\"fileIcon\"></smart-icon>\r\n\r\n <div class=\"fileData\">\r\n <div class=\"fileDataContainer\">\r\n <span class=\"fileName\">{{ widgetInstance.value?.fileName }}</span>\r\n <span class=\"fileSize\">{{ formatSize(widgetInstance.value?.size) }}</span>\r\n </div>\r\n </div>\r\n\r\n <div class=\"fileActions\">\r\n <smart-ui-action-toolbar [id]=\"widgetInstance.toolbarId\" #toolbar></smart-ui-action-toolbar>\r\n\r\n @if (!fileToChange) {\r\n <ui-action-button\r\n class=\"changeButton\"\r\n (actionClick)=\"change(widgetInstance.value)\"\r\n [disabled]=\"widgetInstance.isDisabled\"\r\n [descriptor]=\"changeButton\"\r\n >\r\n </ui-action-button>\r\n } @else {\r\n <ui-action-button\r\n class=\"removeIcon\"\r\n (actionClick)=\"cancelChange()\"\r\n [descriptor]=\"removeButton\"\r\n ></ui-action-button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n}\r\n", styles: [":host{--border-color: #a6aabd60;--warninig-color: #be2d2e;--def-border-radius: .5rem;width:100%}.fileEditorComponent{border:2px dashed var(--border-color);border-radius:var(--def-border-radius)}.fileEditorComponent ::ng-deep smartfileuploader ::ng-deep .container{border:unset;border-radius:unset}.uploadedFileContainer{display:flex;flex-direction:column}.uploadedFile{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;padding:1rem;gap:1rem}.fileEditorComponent:has(::ng-deep prime-file-uploader) ::ng-deep .uploadedFile,.fileEditorComponent:has(::ng-deep smartfileuploader) ::ng-deep .uploadedFile{border-top:1px solid #e0e0e0}.fileSize{display:flex;flex-direction:row;font-size:smaller}.fileData{flex:1;display:flex;flex-direction:column}.fileDataContainer{display:flex;flex-direction:column;justify-content:flex-end;width:fit-content}.fileActions{display:flex;flex-direction:row;justify-content:flex-end;gap:.5rem}.fileActions ::ng-deep button{border:unset}.fileActions ::ng-deep button:hover{border:unset}.removeIcon ::ng-deep mat-icon{color:var(--warninig-color)}smart-icon ::ng-deep mat-icon{font-size:3rem;width:unset;height:unset}.uploadedFileIcon{width:3rem;display:flex;justify-content:center}:host ::ng-deep .p-fileupload-content{border:unset;border-radius:var(--def-border-radius)}smart-icon ::ng-deep .pi{font-size:2rem!important}.fileEditorComponent:has(::ng-deep .errorMessage){border-color:var(--warninig-color)}.errorMessage{padding:1rem;font-size:1.5rem;color:var(--warninig-color);display:flex;flex-direction:row;align-items:center;gap:1rem}:host ::ng-deep .disabledWidget ::ng-deep .changeButton *,:host ::ng-deep .disabledWidget ::ng-deep .fileData *{opacity:.7}\n"] }]
|
|
166
166
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i6.ComponentLibrary, decorators: [{
|
|
167
167
|
type: Inject,
|
|
168
168
|
args: [COMPONENT_LIBRARY]
|
|
@@ -176,4 +176,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
176
176
|
}], uploadFilesEvent: [{
|
|
177
177
|
type: Output
|
|
178
178
|
}] } });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtZmlsZS1lZGl0b3Ivc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtZmlsZS1lZGl0b3Ivc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDekYsT0FBTyxFQUNMLFlBQVksRUFFWixrQkFBa0IsR0FHbkIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLG1EQUFtRCxDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVGQUF1RixDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFjekUsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUF3QjtRQUN6QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtB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SztZQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDdkIsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXVCLENBQUMsUUFBUTtZQUNuRSxZQUFZLEVBQUUsWUFBWSxDQUFDLEdBQUc7U0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ25GLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzsrR0FsTFUsd0JBQXdCLG1EQXlCekIsaUJBQWlCO21HQXpCaEIsd0JBQXdCLDZJQVJ4QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiw4SEN0Q0gsd3hFQW9FQTs7NEZENUJhLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkEyQkUsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUFHLFFBQVE7eUNBeEJoQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBS2hCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBVUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBmb3J3YXJkUmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU21hcnRGaWxlVXBsb2FkZXIgfSBmcm9tICcuLi8uLi8uLi9zbWFydGZvcm0uZm9ybS1tb2RlbCc7XG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xuaW1wb3J0IHtcbiAgSWNvblBvc2l0aW9uLFxuICBVaUFjdGlvbixcbiAgVWlBY3Rpb25CdXR0b25UeXBlLFxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXG4gIFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcixcbn0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L2FwaS9tb2RlbC9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgQ09NUE9ORU5UX0xJQlJBUlksXG4gIENvbXBvbmVudExpYnJhcnksXG59IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L2NvbXBvbmVudExpYnJhcnknO1xuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgVXBsb2FkV2lkZ2V0VXRpbHMgfSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvc21hcnQtdWktYWN0aW9uL2NvbXBvbmVudHMvdXBsb2FkLXdpZGdldC91cGxvYWQtd2lkZ2V0LnV0aWxzJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc21hcnQtZmlsZS1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50LmNzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU21hcnRGaWxlRWRpdG9yQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNtYXJ0RmlsZUVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcbiAgQFZpZXdDaGlsZCgndG9vbGJhcicpIHRvb2xiYXIhOiBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQ7XG5cbiAgcHJpdmF0ZSBfd2lkZ2V0SW5zdGFuY2UhOiBTbWFydEZpbGVVcGxvYWRlcjtcblxuICBASW5wdXQoKVxuICBnZXQgd2lkZ2V0SW5zdGFuY2UoKTogU21hcnRGaWxlVXBsb2FkZXIge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRJbnN0YW5jZTtcbiAgfVxuICBzZXQgd2lkZ2V0SW5zdGFuY2UodmFsdWU6IFNtYXJ0RmlsZVVwbG9hZGVyKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmNsb25lKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgdXBsb2FkRmlsZXNFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xuICAgIGZpbGVzOiBhbnlbXTtcbiAgICB1aUFjdGlvbjogVWlBY3Rpb247XG4gICAgdXBsb2FkRGVzY3JpcHRvcj86IFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcjtcbiAgfT4oKTtcblxuICBmaWxlVG9DaGFuZ2U/OiBhbnk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoQ09NUE9ORU5UX0xJQlJBUlkpIEBPcHRpb25hbCgpIHB1YmxpYyBjb21wTGliPzogQ29tcG9uZW50TGlicmFyeVxuICApIHt9XG5cbiAgcHJpdmF0ZSBjbG9uZSh2YWx1ZTogU21hcnRGaWxlVXBsb2FkZXIpIHtcbiAgICB0aGlzLl93aWRnZXRJbnN0YW5jZSA9XG4gICAgICB0eXBlb2Ygc3RydWN0dXJlZENsb25lID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gc3RydWN0dXJlZENsb25lKHZhbHVlKVxuICAgICAgICA6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcblxuICAgIGlmICghdGhpcy5fd2lkZ2V0SW5zdGFuY2UuZmlsZVVwbG9hZGVyUHJvcGVydGllcz8udW5kb0ljb24pIHtcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLmZpbGVVcGxvYWRlclByb3BlcnRpZXMgPSB7XG4gICAgICAgIC4uLih0aGlzLl93aWRnZXRJbnN0YW5jZS5maWxlVXBsb2FkZXJQcm9wZXJ0aWVzID8/IHt9KSxcbiAgICAgICAgdW5kb0ljb246IHsgaWRlbnRpZmllcjogJ3VuZG8nIH0sXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgdXBsb2FkKGV2ZW50OiBhbnkpOiB2b2lkIHtcbiAgICBpZiAoIWV2ZW50LmZpbGVzIHx8IGV2ZW50LmZpbGVzLmxlbmd0aCA9PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHJvcHMgPSB0aGlzLl93aWRnZXRJbnN0YW5jZS5maWxlVXBsb2FkZXJQcm9wZXJ0aWVzITtcbiAgICBjb25zdCB1aUFjdGlvbiA9IHRoaXMuZmlsZVRvQ2hhbmdlXG4gICAgICA/IHByb3BzLmNoYW5nZUFjdGlvbiA/PyBwcm9wcy51cGxvYWRBY3Rpb25cbiAgICAgIDogcHJvcHMudXBsb2FkQWN0aW9uO1xuXG4gICAgdGhpcy51cGxvYWRGaWxlc0V2ZW50LmVtaXQoe1xuICAgICAgZmlsZXM6IGV2ZW50LmZpbGVzLFxuICAgICAgdWlBY3Rpb246IHVpQWN0aW9uISxcbiAgICAgIHVwbG9hZERlc2NyaXB0b3I6IGV2ZW50LnVwbG9hZERlc2NyaXB0b3IsXG4gICAgfSk7XG5cbiAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuX3dpZGdldEluc3RhbmNlLnZhbHVlKTtcbiAgICB0aGlzLmZpbGVUb0NoYW5nZSA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNoYW5nZShmaWxlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmZpbGVUb0NoYW5nZSA9IGZpbGU7XG4gIH1cblxuICBjYW5jZWxDaGFuZ2UoKTogdm9pZCB7XG4gICAgdGhpcy5maWxlVG9DaGFuZ2UgPSB1bmRlZmluZWQ7XG4gIH1cblxuICBpc1R5cGVTdXBwb3J0ZWQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhISh2YWx1ZSAmJiAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgJiYgJ2RhdGFVcmknIGluIHZhbHVlKTtcbiAgfVxuXG4gIGZvcm1hdFNpemUoYnl0ZXM6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIFVwbG9hZFdpZGdldFV0aWxzLmZvcm1hdFNpemUoYnl0ZXMpO1xuICB9XG5cbiAgLy8gLS0tLSBTbWFydCBmb3JtIHdpZGdldCBmdW5jdGlvbnMgLS0tLVxuICBnZXRMYWJlbE5nQ2xhc3MoKTogeyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRJbnN0YW5jZT8ubGFiZWxTdHlsZVxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ0NsYXNzZXModGhpcy5fd2lkZ2V0SW5zdGFuY2UubGFiZWxTdHlsZSlcbiAgICAgIDoge307XG4gIH1cblxuICBnZXRMYWJlbFN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0ge1xuICAgIHJldHVybiB0aGlzLl93aWRnZXRJbnN0YW5jZT8ubGFiZWxTdHlsZVxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5sYWJlbFN0eWxlKVxuICAgICAgOiB7fTtcbiAgfVxuXG4gIGdldE5nQ2xhc3MoKTogeyBbY2xhc3NOYW1lOiBzdHJpbmddOiBib29sZWFuIH0ge1xuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ0NsYXNzZXModGhpcy5fd2lkZ2V0SW5zdGFuY2U/LnN0eWxlKTtcbiAgfVxuXG4gIGdldFN0eWxlKCk6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIHwgbnVtYmVyIH0ge1xuICAgIGlmICghdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUpIHtcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlID0ge1xuICAgICAgICBjbGFzc2VzVG9BZGQ6IFtdLFxuICAgICAgICBjbGFzc2VzVG9SZW1vdmU6IFtdLFxuICAgICAgICBzdHlsZToge30sXG4gICAgICB9O1xuICAgIH1cblxuICAgIGlmICghKCd3aWR0aCcgaW4gdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUuc3R5bGUpICYmICdtaW5XaWR0aCcgaW4gdGhpcy5fd2lkZ2V0SW5zdGFuY2UpIHtcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlWyd3aWR0aCddID0gYCR7dGhpcy5fd2lkZ2V0SW5zdGFuY2UubWluV2lkdGh9cHhgO1xuICAgIH1cblxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5zdHlsZSk7XG4gIH1cblxuICAvLyAtLS0tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIC0tLS1cblxuICBvbkNoYW5nZSA9ICh2YWx1ZTogYW55KSA9PiB7fTtcbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XG4gIGlzRGlzYWJsZWQgPSBmYWxzZTtcblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCAmJiB0aGlzLl93aWRnZXRJbnN0YW5jZSkge1xuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2UudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuaXNEaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XG4gIH1cblxuICAvLyAtLS0tIFVJIGdldHRlcnMgLS0tLVxuXG4gIGdldCBmaWxlSWNvbigpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmNvbXBMaWIgPT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ2ZpbGUnIDogJ2luc2VydF9kcml2ZV9maWxlJztcbiAgfVxuXG4gIGdldCBjaGFuZ2VCdXR0b24oKTogVWlBY3Rpb25EZXNjcmlwdG9yIHtcbiAgICB2YXIgcHJvcHMgPSB0aGlzLl93aWRnZXRJbnN0YW5jZS5maWxlVXBsb2FkZXJQcm9wZXJ0aWVzITtcbiAgICB2YXIgYmFzZUFjdGlvbiA9IHByb3BzLmNoYW5nZUFjdGlvbiA/PyBwcm9wcy51cGxvYWRBY3Rpb24hO1xuXG4gICAgdmFyIGNoYW5nZURlc2NyaXB0b3IgPSB7XG4gICAgICAuLi4oYmFzZUFjdGlvbi5kZXNjcmlwdG9yID8/IHt9KSxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIGNvbG9yOiAncHJpbWFyeScsXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTixcbiAgICAgIGljb246IHRoaXMuY29tcExpYiA9PT0gQ29tcG9uZW50TGlicmFyeS5QUklNRU5HID8gJ3N5bmMnIDogJ3N5bmNfYWx0JyxcbiAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBSRSxcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNoYW5nZURlc2NyaXB0b3I7XG4gIH1cblxuICBnZXQgcmVtb3ZlQnV0dG9uKCk6IFVpQWN0aW9uRGVzY3JpcHRvciB7XG4gICAgdmFyIGNoYW5nZUJ1dHRvbiA9IHRoaXMuY2hhbmdlQnV0dG9uO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIGNvbG9yOiBjaGFuZ2VCdXR0b24uY29sb3IsXG4gICAgICB0eXBlOiBjaGFuZ2VCdXR0b24udHlwZSxcbiAgICAgIGljb25SZXNvdXJjZTogdGhpcy5fd2lkZ2V0SW5zdGFuY2UuZmlsZVVwbG9hZGVyUHJvcGVydGllcyEudW5kb0ljb24sXG4gICAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXG4gICAgfTtcbiAgfVxuXG4gIGdldCBlcnJvckljb24oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jb21wTGliID09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdleGNsYW1hdGlvbi1jaXJjbGUnIDogJ2Vycm9yJztcbiAgfVxuXG4gIGdldCB0b29sYmFyQ29tcG9uZW50KCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB7XG4gICAgcmV0dXJuIHRoaXMudG9vbGJhcjtcbiAgfVxufVxuIiwiQGlmICh3aWRnZXRJbnN0YW5jZSAmJiB3aWRnZXRJbnN0YW5jZS5maWxlVXBsb2FkZXJQcm9wZXJ0aWVzKSB7XG48aDRcbiAgKm5nSWY9XCJ3aWRnZXRJbnN0YW5jZS5zaG93TGFiZWxcIlxuICBjbGFzcz1cImxhYmVsQ29udGFpbmVyIHt7IHdpZGdldEluc3RhbmNlLmNzc0xhYmVsQ2xhc3MgPz8gJycgfX1cIlxuICBbbmdDbGFzc109XCJnZXRMYWJlbE5nQ2xhc3MoKVwiXG4gIFtuZ1N0eWxlXT1cImdldExhYmVsU3R5bGUoKVwiXG4+XG4gIHt7IHdpZGdldEluc3RhbmNlLmxhYmVsIH19XG48L2g0PlxuXG48ZGl2IGNsYXNzPVwiZmlsZUVkaXRvckNvbXBvbmVudFwiPlxuICBAaWYgKHdpZGdldEluc3RhbmNlLnZhbHVlICYmICFpc1R5cGVTdXBwb3J0ZWQod2lkZ2V0SW5zdGFuY2UudmFsdWUpKSB7XG4gIDxkaXYgY2xhc3M9XCJlcnJvck1lc3NhZ2VcIj5cbiAgICA8c21hcnQtaWNvbiBbaWNvbl09XCJlcnJvckljb25cIiBbY29sb3JdPVwiJ3ZhcigtLXdhcm5pbmlnLWNvbG9yKSdcIj48L3NtYXJ0LWljb24+XG4gICAgPHNwYW4+IFVuc3VwcG9ydGVkIHdpZGdldEluc3RhbmNlLnZhbHVlIHR5cGUgZm9yIHRoaXMgd2lkZ2V0Ljwvc3Bhbj5cbiAgPC9kaXY+XG4gIH0gQGVsc2UgaWYgKCF3aWRnZXRJbnN0YW5jZS52YWx1ZSB8fCBmaWxlVG9DaGFuZ2UpIHtcbiAgPHNtYXJ0LXVwbG9hZC13aWRnZXRcbiAgICBjbGFzcz1cIndpZGdldENvbnRlbnQge3sgd2lkZ2V0SW5zdGFuY2UuY3NzQ2xhc3MgPz8gJycgfX1cIlxuICAgIFtuZ0NsYXNzXT1cImdldE5nQ2xhc3MoKVwiXG4gICAgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiXG4gICAgW3VwbG9hZERlc2NyaXB0b3JdPVwid2lkZ2V0SW5zdGFuY2UuZmlsZVVwbG9hZGVyUHJvcGVydGllcy51cGxvYWREZXNjcmlwdG9yIVwiXG4gICAgW2lzTXVsdGlwbGVdPVwiZmFsc2VcIlxuICAgIFtpc0Rpc2FibGVkXT1cIndpZGdldEluc3RhbmNlLmlzRGlzYWJsZWRcIlxuICAgICh1cGxvYWRGaWxlc0V2ZW50KT1cInVwbG9hZCgkZXZlbnQpXCJcbiAgLz5cbiAgfVxuXG4gIDxkaXZcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkV2lkZ2V0OiB3aWRnZXRJbnN0YW5jZS5pc0Rpc2FibGVkIH1cIlxuICAgIGNsYXNzPVwidXBsb2FkZWRGaWxlQ29udGFpbmVyXCJcbiAgICBbc3R5bGUuZGlzcGxheV09XCJcbiAgICAgIHdpZGdldEluc3RhbmNlLnZhbHVlICYmIGlzVHlwZVN1cHBvcnRlZCh3aWRnZXRJbnN0YW5jZS52YWx1ZSkgPyAnYmxvY2snIDogJ25vbmUnXG4gICAgXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRlZEZpbGVcIj5cbiAgICAgIDxzbWFydC1pY29uIGNsYXNzPVwidXBsb2FkZWRGaWxlSWNvblwiIFtpY29uXT1cImZpbGVJY29uXCI+PC9zbWFydC1pY29uPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsZURhdGFcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZpbGVEYXRhQ29udGFpbmVyXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmaWxlTmFtZVwiPnt7IHdpZGdldEluc3RhbmNlLnZhbHVlPy5maWxlTmFtZSB9fTwvc3Bhbj5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGVTaXplXCI+e3sgZm9ybWF0U2l6ZSh3aWRnZXRJbnN0YW5jZS52YWx1ZT8uc2l6ZSkgfX08L3NwYW4+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJmaWxlQWN0aW9uc1wiPlxuICAgICAgICA8c21hcnQtdWktYWN0aW9uLXRvb2xiYXIgW2lkXT1cIndpZGdldEluc3RhbmNlLnRvb2xiYXJJZFwiICN0b29sYmFyPjwvc21hcnQtdWktYWN0aW9uLXRvb2xiYXI+XG5cbiAgICAgICAgQGlmICghZmlsZVRvQ2hhbmdlKSB7XG4gICAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXG4gICAgICAgICAgY2xhc3M9XCJjaGFuZ2VCdXR0b25cIlxuICAgICAgICAgIChhY3Rpb25DbGljayk9XCJjaGFuZ2Uod2lkZ2V0SW5zdGFuY2UudmFsdWUpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwid2lkZ2V0SW5zdGFuY2UuaXNEaXNhYmxlZFwiXG4gICAgICAgICAgW2Rlc2NyaXB0b3JdPVwiY2hhbmdlQnV0dG9uXCJcbiAgICAgICAgPlxuICAgICAgICA8L3VpLWFjdGlvbi1idXR0b24+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICA8dWktYWN0aW9uLWJ1dHRvblxuICAgICAgICAgIGNsYXNzPVwicmVtb3ZlSWNvblwiXG4gICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNhbmNlbENoYW5nZSgpXCJcbiAgICAgICAgICBbZGVzY3JpcHRvcl09XCJyZW1vdmVCdXR0b25cIlxuICAgICAgICA+PC91aS1hY3Rpb24tYnV0dG9uPlxuICAgICAgICB9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbn1cbiJdfQ==
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtZmlsZS1lZGl0b3Ivc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtZmlsZS1lZGl0b3Ivc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFDekYsT0FBTyxFQUNMLFlBQVksRUFFWixrQkFBa0IsR0FHbkIsTUFBTSwyQ0FBMkMsQ0FBQztBQUNuRCxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGdCQUFnQixHQUNqQixNQUFNLG1EQUFtRCxDQUFDO0FBRTNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVGQUF1RixDQUFDO0FBQzFILE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFjekUsTUFBTSxPQUFPLHdCQUF3QjtJQUtuQyxJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUF3QjtRQUN6QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLEtB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SztZQUN6QixJQUFJLEVBQUUsWUFBWSxDQUFDLElBQUk7WUFDdkIsWUFBWSxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsc0JBQXVCLENBQUMsUUFBUTtZQUNuRSxZQUFZLEVBQUUsWUFBWSxDQUFDLEdBQUc7U0FDL0IsQ0FBQztJQUNKLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxPQUFPLElBQUksZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO0lBQ25GLENBQUM7SUFFRCxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDdEIsQ0FBQzsrR0FsTFUsd0JBQXdCLG1EQXlCekIsaUJBQWlCO21HQXpCaEIsd0JBQXdCLDZJQVJ4QjtZQUNUO2dCQUNFLE9BQU8sRUFBRSxpQkFBaUI7Z0JBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3ZELEtBQUssRUFBRSxJQUFJO2FBQ1o7U0FDRiw4SEN0Q0gsZzZFQW9FQTs7NEZENUJhLHdCQUF3QjtrQkFacEMsU0FBUzsrQkFDRSxtQkFBbUIsYUFHbEI7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUseUJBQXlCLENBQUM7NEJBQ3ZELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzswQkEyQkUsTUFBTTsyQkFBQyxpQkFBaUI7OzBCQUFHLFFBQVE7eUNBeEJoQixPQUFPO3NCQUE1QixTQUFTO3VCQUFDLFNBQVM7Z0JBS2hCLGNBQWM7c0JBRGpCLEtBQUs7Z0JBVUksZ0JBQWdCO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIGZvcndhcmRSZWYsXHJcbiAgSW5qZWN0LFxyXG4gIElucHV0LFxyXG4gIE9wdGlvbmFsLFxyXG4gIE91dHB1dCxcclxuICBWaWV3Q2hpbGQsXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtYXJ0RmlsZVVwbG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vc21hcnRmb3JtLmZvcm0tbW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFN0eWxlVXRpbGl0eSB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC91dGlsaXR5L3NtYXJ0LXN0eWxlLXV0aWxpdHknO1xyXG5pbXBvcnQge1xyXG4gIEljb25Qb3NpdGlvbixcclxuICBVaUFjdGlvbixcclxuICBVaUFjdGlvbkJ1dHRvblR5cGUsXHJcbiAgVWlBY3Rpb25EZXNjcmlwdG9yLFxyXG4gIFVpQWN0aW9uVXBsb2FkRGVzY3JpcHRvcixcclxufSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvYXBpL21vZGVsL21vZGVscyc7XHJcbmltcG9ydCB7XHJcbiAgQ09NUE9ORU5UX0xJQlJBUlksXHJcbiAgQ29tcG9uZW50TGlicmFyeSxcclxufSBmcm9tICcuLi8uLi8uLi8uLi92aWV3LWNvbnRleHQvdXRpbGl0eS9jb21wb25lbnRMaWJyYXJ5JztcclxuaW1wb3J0IHsgVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vdmlldy1jb250ZXh0L3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVcGxvYWRXaWRnZXRVdGlscyB9IGZyb20gJy4uLy4uLy4uLy4uL3ZpZXctY29udGV4dC9zbWFydC11aS1hY3Rpb24vY29tcG9uZW50cy91cGxvYWQtd2lkZ2V0L3VwbG9hZC13aWRnZXQudXRpbHMnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3NtYXJ0LWZpbGUtZWRpdG9yJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vc21hcnQtZmlsZS1lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9zbWFydC1maWxlLWVkaXRvci5jb21wb25lbnQuY3NzJyxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNtYXJ0RmlsZUVkaXRvckNvbXBvbmVudCksXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRGaWxlRWRpdG9yQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIEBWaWV3Q2hpbGQoJ3Rvb2xiYXInKSB0b29sYmFyITogVWlBY3Rpb25Ub29sYmFyQ29tcG9uZW50O1xyXG5cclxuICBwcml2YXRlIF93aWRnZXRJbnN0YW5jZSE6IFNtYXJ0RmlsZVVwbG9hZGVyO1xyXG5cclxuICBASW5wdXQoKVxyXG4gIGdldCB3aWRnZXRJbnN0YW5jZSgpOiBTbWFydEZpbGVVcGxvYWRlciB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U7XHJcbiAgfVxyXG4gIHNldCB3aWRnZXRJbnN0YW5jZSh2YWx1ZTogU21hcnRGaWxlVXBsb2FkZXIpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLmNsb25lKHZhbHVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBPdXRwdXQoKSB1cGxvYWRGaWxlc0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx7XHJcbiAgICBmaWxlczogYW55W107XHJcbiAgICB1aUFjdGlvbjogVWlBY3Rpb247XHJcbiAgICB1cGxvYWREZXNjcmlwdG9yPzogVWlBY3Rpb25VcGxvYWREZXNjcmlwdG9yO1xyXG4gIH0+KCk7XHJcblxyXG4gIGZpbGVUb0NoYW5nZT86IGFueTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBASW5qZWN0KENPTVBPTkVOVF9MSUJSQVJZKSBAT3B0aW9uYWwoKSBwdWJsaWMgY29tcExpYj86IENvbXBvbmVudExpYnJhcnlcclxuICApIHt9XHJcblxyXG4gIHByaXZhdGUgY2xvbmUodmFsdWU6IFNtYXJ0RmlsZVVwbG9hZGVyKSB7XHJcbiAgICB0aGlzLl93aWRnZXRJbnN0YW5jZSA9XHJcbiAgICAgIHR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUgPT09ICdmdW5jdGlvbidcclxuICAgICAgICA/IHN0cnVjdHVyZWRDbG9uZSh2YWx1ZSlcclxuICAgICAgICA6IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkodmFsdWUpKTtcclxuXHJcbiAgICBpZiAoIXRoaXMuX3dpZGdldEluc3RhbmNlLmZpbGVVcGxvYWRlclByb3BlcnRpZXM/LnVuZG9JY29uKSB7XHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLmZpbGVVcGxvYWRlclByb3BlcnRpZXMgPSB7XHJcbiAgICAgICAgLi4uKHRoaXMuX3dpZGdldEluc3RhbmNlLmZpbGVVcGxvYWRlclByb3BlcnRpZXMgPz8ge30pLFxyXG4gICAgICAgIHVuZG9JY29uOiB7IGlkZW50aWZpZXI6ICd1bmRvJyB9LFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgdXBsb2FkKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICghZXZlbnQuZmlsZXMgfHwgZXZlbnQuZmlsZXMubGVuZ3RoID09IDApIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHByb3BzID0gdGhpcy5fd2lkZ2V0SW5zdGFuY2UuZmlsZVVwbG9hZGVyUHJvcGVydGllcyE7XHJcbiAgICBjb25zdCB1aUFjdGlvbiA9IHRoaXMuZmlsZVRvQ2hhbmdlXHJcbiAgICAgID8gcHJvcHMuY2hhbmdlQWN0aW9uID8/IHByb3BzLnVwbG9hZEFjdGlvblxyXG4gICAgICA6IHByb3BzLnVwbG9hZEFjdGlvbjtcclxuXHJcbiAgICB0aGlzLnVwbG9hZEZpbGVzRXZlbnQuZW1pdCh7XHJcbiAgICAgIGZpbGVzOiBldmVudC5maWxlcyxcclxuICAgICAgdWlBY3Rpb246IHVpQWN0aW9uISxcclxuICAgICAgdXBsb2FkRGVzY3JpcHRvcjogZXZlbnQudXBsb2FkRGVzY3JpcHRvcixcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMub25DaGFuZ2UodGhpcy5fd2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xyXG4gICAgdGhpcy5maWxlVG9DaGFuZ2UgPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2UoZmlsZTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVUb0NoYW5nZSA9IGZpbGU7XHJcbiAgfVxyXG5cclxuICBjYW5jZWxDaGFuZ2UoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVUb0NoYW5nZSA9IHVuZGVmaW5lZDtcclxuICB9XHJcblxyXG4gIGlzVHlwZVN1cHBvcnRlZCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gISEodmFsdWUgJiYgIUFycmF5LmlzQXJyYXkodmFsdWUpICYmICdkYXRhVXJpJyBpbiB2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBmb3JtYXRTaXplKGJ5dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIFVwbG9hZFdpZGdldFV0aWxzLmZvcm1hdFNpemUoYnl0ZXMpO1xyXG4gIH1cclxuXHJcbiAgLy8gLS0tLSBTbWFydCBmb3JtIHdpZGdldCBmdW5jdGlvbnMgLS0tLVxyXG4gIGdldExhYmVsTmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U/LmxhYmVsU3R5bGVcclxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ0NsYXNzZXModGhpcy5fd2lkZ2V0SW5zdGFuY2UubGFiZWxTdHlsZSlcclxuICAgICAgOiB7fTtcclxuICB9XHJcblxyXG4gIGdldExhYmVsU3R5bGUoKTogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfCBudW1iZXIgfSB7XHJcbiAgICByZXR1cm4gdGhpcy5fd2lkZ2V0SW5zdGFuY2U/LmxhYmVsU3R5bGVcclxuICAgICAgPyBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5sYWJlbFN0eWxlKVxyXG4gICAgICA6IHt9O1xyXG4gIH1cclxuXHJcbiAgZ2V0TmdDbGFzcygpOiB7IFtjbGFzc05hbWU6IHN0cmluZ106IGJvb2xlYW4gfSB7XHJcbiAgICByZXR1cm4gU21hcnRTdHlsZVV0aWxpdHkuZ2V0TmdDbGFzc2VzKHRoaXMuX3dpZGdldEluc3RhbmNlPy5zdHlsZSk7XHJcbiAgfVxyXG5cclxuICBnZXRTdHlsZSgpOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB8IG51bWJlciB9IHtcclxuICAgIGlmICghdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUpIHtcclxuICAgICAgdGhpcy5fd2lkZ2V0SW5zdGFuY2Uuc3R5bGUgPSB7XHJcbiAgICAgICAgY2xhc3Nlc1RvQWRkOiBbXSxcclxuICAgICAgICBjbGFzc2VzVG9SZW1vdmU6IFtdLFxyXG4gICAgICAgIHN0eWxlOiB7fSxcclxuICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoISgnd2lkdGgnIGluIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlKSAmJiAnbWluV2lkdGgnIGluIHRoaXMuX3dpZGdldEluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnN0eWxlLnN0eWxlWyd3aWR0aCddID0gYCR7dGhpcy5fd2lkZ2V0SW5zdGFuY2UubWluV2lkdGh9cHhgO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBTbWFydFN0eWxlVXRpbGl0eS5nZXROZ1N0eWxlcyh0aGlzLl93aWRnZXRJbnN0YW5jZS5zdHlsZSk7XHJcbiAgfVxyXG5cclxuICAvLyAtLS0tIENvbnRyb2xWYWx1ZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIC0tLS1cclxuXHJcbiAgb25DaGFuZ2UgPSAodmFsdWU6IGFueSkgPT4ge307XHJcbiAgb25Ub3VjaGVkID0gKCkgPT4ge307XHJcbiAgaXNEaXNhYmxlZCA9IGZhbHNlO1xyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuX3dpZGdldEluc3RhbmNlKSB7XHJcbiAgICAgIHRoaXMuX3dpZGdldEluc3RhbmNlLnZhbHVlID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgdGhpcy5pc0Rpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICB9XHJcblxyXG4gIC8vIC0tLS0gVUkgZ2V0dGVycyAtLS0tXHJcblxyXG4gIGdldCBmaWxlSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMuY29tcExpYiA9PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnZmlsZScgOiAnaW5zZXJ0X2RyaXZlX2ZpbGUnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGNoYW5nZUJ1dHRvbigpOiBVaUFjdGlvbkRlc2NyaXB0b3Ige1xyXG4gICAgdmFyIHByb3BzID0gdGhpcy5fd2lkZ2V0SW5zdGFuY2UuZmlsZVVwbG9hZGVyUHJvcGVydGllcyE7XHJcbiAgICB2YXIgYmFzZUFjdGlvbiA9IHByb3BzLmNoYW5nZUFjdGlvbiA/PyBwcm9wcy51cGxvYWRBY3Rpb24hO1xyXG5cclxuICAgIHZhciBjaGFuZ2VEZXNjcmlwdG9yID0ge1xyXG4gICAgICAuLi4oYmFzZUFjdGlvbi5kZXNjcmlwdG9yID8/IHt9KSxcclxuICAgICAgdGl0bGU6ICcnLFxyXG4gICAgICBjb2xvcjogJ3ByaW1hcnknLFxyXG4gICAgICB0eXBlOiBVaUFjdGlvbkJ1dHRvblR5cGUuSUNPTixcclxuICAgICAgaWNvbjogdGhpcy5jb21wTGliID09PSBDb21wb25lbnRMaWJyYXJ5LlBSSU1FTkcgPyAnc3luYycgOiAnc3luY19hbHQnLFxyXG4gICAgICBpY29uUG9zaXRpb246IEljb25Qb3NpdGlvbi5QUkUsXHJcbiAgICB9O1xyXG5cclxuICAgIHJldHVybiBjaGFuZ2VEZXNjcmlwdG9yO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHJlbW92ZUJ1dHRvbigpOiBVaUFjdGlvbkRlc2NyaXB0b3Ige1xyXG4gICAgdmFyIGNoYW5nZUJ1dHRvbiA9IHRoaXMuY2hhbmdlQnV0dG9uO1xyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIHRpdGxlOiAnJyxcclxuICAgICAgY29sb3I6IGNoYW5nZUJ1dHRvbi5jb2xvcixcclxuICAgICAgdHlwZTogY2hhbmdlQnV0dG9uLnR5cGUsXHJcbiAgICAgIGljb25SZXNvdXJjZTogdGhpcy5fd2lkZ2V0SW5zdGFuY2UuZmlsZVVwbG9hZGVyUHJvcGVydGllcyEudW5kb0ljb24sXHJcbiAgICAgIGljb25Qb3NpdGlvbjogSWNvblBvc2l0aW9uLlBSRSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBnZXQgZXJyb3JJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5jb21wTGliID09IENvbXBvbmVudExpYnJhcnkuUFJJTUVORyA/ICdleGNsYW1hdGlvbi1jaXJjbGUnIDogJ2Vycm9yJztcclxuICB9XHJcblxyXG4gIGdldCB0b29sYmFyQ29tcG9uZW50KCk6IFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCB7XHJcbiAgICByZXR1cm4gdGhpcy50b29sYmFyO1xyXG4gIH1cclxufVxyXG4iLCJAaWYgKHdpZGdldEluc3RhbmNlICYmIHdpZGdldEluc3RhbmNlLmZpbGVVcGxvYWRlclByb3BlcnRpZXMpIHtcclxuPGg0XHJcbiAgKm5nSWY9XCJ3aWRnZXRJbnN0YW5jZS5zaG93TGFiZWxcIlxyXG4gIGNsYXNzPVwibGFiZWxDb250YWluZXIge3sgd2lkZ2V0SW5zdGFuY2UuY3NzTGFiZWxDbGFzcyA/PyAnJyB9fVwiXHJcbiAgW25nQ2xhc3NdPVwiZ2V0TGFiZWxOZ0NsYXNzKClcIlxyXG4gIFtuZ1N0eWxlXT1cImdldExhYmVsU3R5bGUoKVwiXHJcbj5cclxuICB7eyB3aWRnZXRJbnN0YW5jZS5sYWJlbCB9fVxyXG48L2g0PlxyXG5cclxuPGRpdiBjbGFzcz1cImZpbGVFZGl0b3JDb21wb25lbnRcIj5cclxuICBAaWYgKHdpZGdldEluc3RhbmNlLnZhbHVlICYmICFpc1R5cGVTdXBwb3J0ZWQod2lkZ2V0SW5zdGFuY2UudmFsdWUpKSB7XHJcbiAgPGRpdiBjbGFzcz1cImVycm9yTWVzc2FnZVwiPlxyXG4gICAgPHNtYXJ0LWljb24gW2ljb25dPVwiZXJyb3JJY29uXCIgW2NvbG9yXT1cIid2YXIoLS13YXJuaW5pZy1jb2xvciknXCI+PC9zbWFydC1pY29uPlxyXG4gICAgPHNwYW4+IFVuc3VwcG9ydGVkIHdpZGdldEluc3RhbmNlLnZhbHVlIHR5cGUgZm9yIHRoaXMgd2lkZ2V0Ljwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICB9IEBlbHNlIGlmICghd2lkZ2V0SW5zdGFuY2UudmFsdWUgfHwgZmlsZVRvQ2hhbmdlKSB7XHJcbiAgPHNtYXJ0LXVwbG9hZC13aWRnZXRcclxuICAgIGNsYXNzPVwid2lkZ2V0Q29udGVudCB7eyB3aWRnZXRJbnN0YW5jZS5jc3NDbGFzcyA/PyAnJyB9fVwiXHJcbiAgICBbbmdDbGFzc109XCJnZXROZ0NsYXNzKClcIlxyXG4gICAgW25nU3R5bGVdPVwiZ2V0U3R5bGUoKVwiXHJcbiAgICBbdXBsb2FkRGVzY3JpcHRvcl09XCJ3aWRnZXRJbnN0YW5jZS5maWxlVXBsb2FkZXJQcm9wZXJ0aWVzLnVwbG9hZERlc2NyaXB0b3IhXCJcclxuICAgIFtpc011bHRpcGxlXT1cImZhbHNlXCJcclxuICAgIFtpc0Rpc2FibGVkXT1cIndpZGdldEluc3RhbmNlLmlzRGlzYWJsZWRcIlxyXG4gICAgKHVwbG9hZEZpbGVzRXZlbnQpPVwidXBsb2FkKCRldmVudClcIlxyXG4gIC8+XHJcbiAgfVxyXG5cclxuICA8ZGl2XHJcbiAgICBbbmdDbGFzc109XCJ7IGRpc2FibGVkV2lkZ2V0OiB3aWRnZXRJbnN0YW5jZS5pc0Rpc2FibGVkIH1cIlxyXG4gICAgY2xhc3M9XCJ1cGxvYWRlZEZpbGVDb250YWluZXJcIlxyXG4gICAgW3N0eWxlLmRpc3BsYXldPVwiXHJcbiAgICAgIHdpZGdldEluc3RhbmNlLnZhbHVlICYmIGlzVHlwZVN1cHBvcnRlZCh3aWRnZXRJbnN0YW5jZS52YWx1ZSkgPyAnYmxvY2snIDogJ25vbmUnXHJcbiAgICBcIlxyXG4gID5cclxuICAgIDxkaXYgY2xhc3M9XCJ1cGxvYWRlZEZpbGVcIj5cclxuICAgICAgPHNtYXJ0LWljb24gY2xhc3M9XCJ1cGxvYWRlZEZpbGVJY29uXCIgW2ljb25dPVwiZmlsZUljb25cIj48L3NtYXJ0LWljb24+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZmlsZURhdGFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZmlsZURhdGFDb250YWluZXJcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmlsZU5hbWVcIj57eyB3aWRnZXRJbnN0YW5jZS52YWx1ZT8uZmlsZU5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImZpbGVTaXplXCI+e3sgZm9ybWF0U2l6ZSh3aWRnZXRJbnN0YW5jZS52YWx1ZT8uc2l6ZSkgfX08L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImZpbGVBY3Rpb25zXCI+XHJcbiAgICAgICAgPHNtYXJ0LXVpLWFjdGlvbi10b29sYmFyIFtpZF09XCJ3aWRnZXRJbnN0YW5jZS50b29sYmFySWRcIiAjdG9vbGJhcj48L3NtYXJ0LXVpLWFjdGlvbi10b29sYmFyPlxyXG5cclxuICAgICAgICBAaWYgKCFmaWxlVG9DaGFuZ2UpIHtcclxuICAgICAgICA8dWktYWN0aW9uLWJ1dHRvblxyXG4gICAgICAgICAgY2xhc3M9XCJjaGFuZ2VCdXR0b25cIlxyXG4gICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNoYW5nZSh3aWRnZXRJbnN0YW5jZS52YWx1ZSlcIlxyXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIndpZGdldEluc3RhbmNlLmlzRGlzYWJsZWRcIlxyXG4gICAgICAgICAgW2Rlc2NyaXB0b3JdPVwiY2hhbmdlQnV0dG9uXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC91aS1hY3Rpb24tYnV0dG9uPlxyXG4gICAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDx1aS1hY3Rpb24tYnV0dG9uXHJcbiAgICAgICAgICBjbGFzcz1cInJlbW92ZUljb25cIlxyXG4gICAgICAgICAgKGFjdGlvbkNsaWNrKT1cImNhbmNlbENoYW5nZSgpXCJcclxuICAgICAgICAgIFtkZXNjcmlwdG9yXT1cInJlbW92ZUJ1dHRvblwiXHJcbiAgICAgICAgPjwvdWktYWN0aW9uLWJ1dHRvbj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG59XHJcbiJdfQ==
|
|
@@ -64,7 +64,7 @@ export class SmartMonthPickerComponent {
|
|
|
64
64
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
65
65
|
},
|
|
66
66
|
{ provide: MAT_DATE_FORMATS, useValue: YEARH_MONTH_FORMAT },
|
|
67
|
-
], ngImport: i0, template: "<div class=\"smart-month-picker-container\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n [matDatepicker]=\"dp\"\n placeholder=\"Month and Year\"\n [formControl]=\"date\"\n (input)=\"handleChange($event)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\n <mat-datepicker\n #dp\n startView=\"multi-year\"\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\n panelClass=\"example-month-picker\"\n >\n </mat-datepicker>\n </mat-form-field>\n <div class=\"smart-month-picker-hint\">\n <mat-hint\n *ngIf=\"\n !widgetInstance?.hint || widgetInstance?.hint?.position === SmartWidgetHintPosition.INPUT\n \"\n >{{ widgetInstance.hint?.text }}</mat-hint\n >\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
|
|
67
|
+
], ngImport: i0, template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n [matDatepicker]=\"dp\"\r\n placeholder=\"Month and Year\"\r\n [formControl]=\"date\"\r\n (input)=\"handleChange($event)\"\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #dp\r\n startView=\"multi-year\"\r\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\r\n panelClass=\"example-month-picker\"\r\n >\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <div class=\"smart-month-picker-hint\">\r\n <mat-hint\r\n *ngIf=\"\r\n !widgetInstance?.hint || widgetInstance?.hint?.position === SmartWidgetHintPosition.INPUT\r\n \"\r\n >{{ widgetInstance.hint?.text }}</mat-hint\r\n >\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i5.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }] }); }
|
|
68
68
|
}
|
|
69
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: SmartMonthPickerComponent, decorators: [{
|
|
70
70
|
type: Component,
|
|
@@ -75,10 +75,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
|
|
|
75
75
|
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
76
76
|
},
|
|
77
77
|
{ provide: MAT_DATE_FORMATS, useValue: YEARH_MONTH_FORMAT },
|
|
78
|
-
], template: "<div class=\"smart-month-picker-container\">\n <mat-form-field appearance=\"outline\">\n <input\n matInput\n [matDatepicker]=\"dp\"\n placeholder=\"Month and Year\"\n [formControl]=\"date\"\n (input)=\"handleChange($event)\"\n />\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\n <mat-datepicker\n #dp\n startView=\"multi-year\"\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\n panelClass=\"example-month-picker\"\n >\n </mat-datepicker>\n </mat-form-field>\n <div class=\"smart-month-picker-hint\">\n <mat-hint\n *ngIf=\"\n !widgetInstance?.hint || widgetInstance?.hint?.position === SmartWidgetHintPosition.INPUT\n \"\n >{{ widgetInstance.hint?.text }}</mat-hint\n >\n </div>\n</div>\n" }]
|
|
78
|
+
], template: "<div class=\"smart-month-picker-container\">\r\n <mat-form-field appearance=\"outline\">\r\n <input\r\n matInput\r\n [matDatepicker]=\"dp\"\r\n placeholder=\"Month and Year\"\r\n [formControl]=\"date\"\r\n (input)=\"handleChange($event)\"\r\n />\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\"></mat-datepicker-toggle>\r\n <mat-datepicker\r\n #dp\r\n startView=\"multi-year\"\r\n (monthSelected)=\"chosenMonthHandler($event, dp)\"\r\n panelClass=\"example-month-picker\"\r\n >\r\n </mat-datepicker>\r\n </mat-form-field>\r\n <div class=\"smart-month-picker-hint\">\r\n <mat-hint\r\n *ngIf=\"\r\n !widgetInstance?.hint || widgetInstance?.hint?.position === SmartWidgetHintPosition.INPUT\r\n \"\r\n >{{ widgetInstance.hint?.text }}</mat-hint\r\n >\r\n </div>\r\n</div>\r\n" }]
|
|
79
79
|
}], propDecorators: { widgetInstance: [{
|
|
80
80
|
type: Input
|
|
81
81
|
}], valueChange: [{
|
|
82
82
|
type: Output
|
|
83
83
|
}] } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3NtYXJ0LWZvcm0vd2lkZ2V0cy9jb21wb25lbnRzL3NtYXJ0LW1vbnRoLXBpY2tlci9zbWFydC1tb250aC1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvc21hcnQtZm9ybS93aWRnZXRzL2NvbXBvbmVudHMvc21hcnQtbW9udGgtcGlja2VyL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxrQkFBa0IsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQy9ELE9BQU8sRUFDTCwrQkFBK0IsRUFDL0IsaUJBQWlCLEdBQ2xCLE1BQU0sa0NBQWtDLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxnQkFBZ0IsRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUl4RixPQUFPLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFHNUIsT0FBTyxFQUFtQiwyQkFBMkIsRUFBRSxNQUFNLGNBQWMsQ0FBQzs7Ozs7OztBQUU1RSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRztJQUNoQyxLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsU0FBUztLQUNyQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxTQUFTLElBQUksU0FBUztRQUNqQyxjQUFjLEVBQUUsVUFBVTtRQUMxQixhQUFhLEVBQUUsSUFBSTtRQUNuQixrQkFBa0IsRUFBRSxXQUFXO0tBQ2hDO0NBQ0YsQ0FBQztBQWVGLE1BQU0sT0FBTyx5QkFBeUI7SUFidEM7UUFlWSxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0MsNEJBQXVCLEdBQUcsMkJBQTJCLENBQUM7S0FxQ3ZEO0lBbkNDLFFBQVE7UUFDTix1RUFBdUU7UUFDdkUsb0RBQW9EO1FBQ3BELHNDQUFzQztRQUN0QyxnREFBZ0Q7UUFDaEQsV0FBVztRQUNYLDJDQUEyQztRQUMzQyw0Q0FBNEM7UUFDNUMsSUFBSTtRQUVKLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsQ0FBQztRQUV4QyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDOUIsSUFBSSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDcEQsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLGtCQUFrQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2xELENBQUM7YUFBTSxDQUFDO1lBQ04sOEJBQThCO1lBQzlCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQWMsRUFBRSxVQUFpQztRQUNsRSxxQ0FBcUM7UUFDckMsbUNBQW1DO1FBQ25DLGlDQUFpQztRQUVqQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUUzQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QixVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDekMsQ0FBQzsrR0F4Q1UseUJBQXlCO21HQUF6Qix5QkFBeUIsd0lBVHpCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLFdBQVc7Z0JBQ3BCLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLElBQUksRUFBRSxDQUFDLGVBQWUsRUFBRSwrQkFBK0IsQ0FBQzthQUN6RDtZQUNELEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxrQkFBa0IsRUFBRTtTQUM1RCwwQkN0Q0gscTJCQTJCQTs7NEZEYWEseUJBQXlCO2tCQWJyQyxTQUFTOytCQUNFLHdCQUF3QixhQUd2Qjt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsV0FBVzs0QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjs0QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3lCQUN6RDt3QkFDRCxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUU7cUJBQzVEOzhCQUdRLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVW50eXBlZEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7XHJcbiAgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OUyxcclxuICBNb21lbnREYXRlQWRhcHRlcixcclxufSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC1tb21lbnQtYWRhcHRlcic7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgU21hcnRNb250aFBpY2tlciB9IGZyb20gJy4uLy4uLy4uL3NtYXJ0Zm9ybS5mb3JtLW1vZGVsJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IFkgfSBmcm9tICdAYW5ndWxhci9jZGsva2V5Y29kZXMnO1xyXG5pbXBvcnQgeyBTbWFydFZhbGlkYXRvciwgU21hcnRXaWRnZXRIaW50UG9zaXRpb24gfSBmcm9tICcuLi8uLi8uLi9zbWFydGZvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBTbWFydFdpZGdldEhpbnQsIFNtYXJ0V2lkZ2V0SGludFBvc2l0aW9uRW51bSB9IGZyb20gJy4uLy4uLy4uL2FwaSc7XHJcblxyXG5leHBvcnQgY29uc3QgWUVBUkhfTU9OVEhfRk9STUFUID0ge1xyXG4gIHBhcnNlOiB7XHJcbiAgICBkYXRlSW5wdXQ6ICdNTS9ZWVlZJyxcclxuICB9LFxyXG4gIGRpc3BsYXk6IHtcclxuICAgIGRhdGVJbnB1dDogJ01NL1lZWVknIHx8ICdZWVlZL01NJyxcclxuICAgIG1vbnRoWWVhckxhYmVsOiAnTU1NIFlZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ01NTU0gWVlZWScsXHJcbiAgfSxcclxufTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXNtYXJ0LW1vbnRoLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3NtYXJ0LW1vbnRoLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vc21hcnQtbW9udGgtcGlja2VyLmNvbXBvbmVudC5jc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogRGF0ZUFkYXB0ZXIsXHJcbiAgICAgIHVzZUNsYXNzOiBNb21lbnREYXRlQWRhcHRlcixcclxuICAgICAgZGVwczogW01BVF9EQVRFX0xPQ0FMRSwgTUFUX01PTUVOVF9EQVRFX0FEQVBURVJfT1BUSU9OU10sXHJcbiAgICB9LFxyXG4gICAgeyBwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogWUVBUkhfTU9OVEhfRk9STUFUIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0TW9udGhQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIHdpZGdldEluc3RhbmNlITogU21hcnRNb250aFBpY2tlcjtcclxuICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZGF0ZSE6IFVudHlwZWRGb3JtQ29udHJvbDtcclxuICBTbWFydFdpZGdldEhpbnRQb3NpdGlvbiA9IFNtYXJ0V2lkZ2V0SGludFBvc2l0aW9uRW51bTtcclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBpZiAodGhpcy53aWRnZXRJbnN0YW5jZS52YWx1ZSAmJiB0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlLmxlbmd0aCkge1xyXG4gICAgLy8gICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUpO1xyXG4gICAgLy8gICBsZXQgdmFsdWVJbk1vbWVudCA9IG1vbWVudChkYXRlKTtcclxuICAgIC8vICAgdGhpcy5kYXRlID0gbmV3IEZvcm1Db250cm9sKHZhbHVlSW5Nb21lbnQpO1xyXG4gICAgLy8gfSBlbHNlIHtcclxuICAgIC8vICAgdGhpcy5kYXRlID0gbmV3IEZvcm1Db250cm9sKG1vbWVudCgpKTtcclxuICAgIC8vICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMuZGF0ZS52YWx1ZSk7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgbW9tZW50KHRoaXMud2lkZ2V0SW5zdGFuY2UudmFsdWUgfHwgJycpO1xyXG5cclxuICAgIGlmICh0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlKSB7XHJcbiAgICAgIGxldCBtb21lbXRWYWx1ZSA9IG1vbWVudCh0aGlzLndpZGdldEluc3RhbmNlLnZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbChtb21lbXRWYWx1ZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBsZXQgbW9tZW10VmFsdWUgPSBtb21lbnQoKTtcclxuICAgICAgdGhpcy5kYXRlID0gbmV3IFVudHlwZWRGb3JtQ29udHJvbCgnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjaG9zZW5Nb250aEhhbmRsZXIobW9tZW50OiBNb21lbnQsIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8TW9tZW50Pikge1xyXG4gICAgLy8gY29uc3QgY3RybFZhbHVlID0gdGhpcy5kYXRlLnZhbHVlO1xyXG4gICAgLy8gY3RybFZhbHVlLm1vbnRoKG1vbWVudC5tb250aCgpKTtcclxuICAgIC8vIGN0cmxWYWx1ZS55ZWFyKG1vbWVudC55ZWFyKCkpO1xyXG5cclxuICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZShtb21lbnQpO1xyXG5cclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dChtb21lbnQpO1xyXG4gICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh0aGlzLmRhdGUudmFsdWUpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwic21hcnQtbW9udGgtcGlja2VyLWNvbnRhaW5lclwiPlxyXG4gIDxtYXQtZm9ybS1maWVsZCBhcHBlYXJhbmNlPVwib3V0bGluZVwiPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIG1hdElucHV0XHJcbiAgICAgIFttYXREYXRlcGlja2VyXT1cImRwXCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJNb250aCBhbmQgWWVhclwiXHJcbiAgICAgIFtmb3JtQ29udHJvbF09XCJkYXRlXCJcclxuICAgICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXItdG9nZ2xlIG1hdFN1ZmZpeCBbZm9yXT1cImRwXCI+PC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgICA8bWF0LWRhdGVwaWNrZXJcclxuICAgICAgI2RwXHJcbiAgICAgIHN0YXJ0Vmlldz1cIm11bHRpLXllYXJcIlxyXG4gICAgICAobW9udGhTZWxlY3RlZCk9XCJjaG9zZW5Nb250aEhhbmRsZXIoJGV2ZW50LCBkcClcIlxyXG4gICAgICBwYW5lbENsYXNzPVwiZXhhbXBsZS1tb250aC1waWNrZXJcIlxyXG4gICAgPlxyXG4gICAgPC9tYXQtZGF0ZXBpY2tlcj5cclxuICA8L21hdC1mb3JtLWZpZWxkPlxyXG4gIDxkaXYgY2xhc3M9XCJzbWFydC1tb250aC1waWNrZXItaGludFwiPlxyXG4gICAgPG1hdC1oaW50XHJcbiAgICAgICpuZ0lmPVwiXHJcbiAgICAgICAgIXdpZGdldEluc3RhbmNlPy5oaW50IHx8IHdpZGdldEluc3RhbmNlPy5oaW50Py5wb3NpdGlvbiA9PT0gU21hcnRXaWRnZXRIaW50UG9zaXRpb24uSU5QVVRcclxuICAgICAgXCJcclxuICAgICAgPnt7IHdpZGdldEluc3RhbmNlLmhpbnQ/LnRleHQgfX08L21hdC1oaW50XHJcbiAgICA+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|