@smartbit4all/ng-client 2.2.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/component-factory-service/component-factory-service.module.mjs +17 -0
- package/esm2020/lib/component-factory-service/component-factory-service.service.mjs +35 -0
- package/esm2020/lib/component-factory-service/projects.mjs +6 -0
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.component.mjs +1 -1
- package/esm2020/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.mjs +5 -5
- package/esm2020/lib/session/dev-tool/smart-dev-tool-floating-button/smart-dev-tool-floating-button.component.mjs +1 -1
- package/esm2020/lib/session/dev-tool/smart-dev-tool.service.mjs +2 -2
- package/esm2020/lib/session/smart-session.module.mjs +18 -18
- package/esm2020/lib/session/smart-session.service.mjs +2 -2
- package/esm2020/lib/session/smart-timer/smart-session-timer.service.mjs +2 -2
- package/esm2020/lib/smart-client/smart-authentication.service.mjs +2 -2
- package/esm2020/lib/smart-client/smart-component-api-client.mjs +2 -3
- package/esm2020/lib/smart-client/smart-file-uploader/smart-file-uploader.component.mjs +2 -2
- package/esm2020/lib/smart-component-layout/api/api/api.mjs +4 -0
- package/esm2020/lib/smart-component-layout/api/api/default.service.mjs +133 -0
- package/esm2020/lib/smart-component-layout/api/api.module.mjs +40 -0
- package/esm2020/lib/smart-component-layout/api/configuration.mjs +91 -0
- package/esm2020/lib/smart-component-layout/api/encoder.mjs +19 -0
- package/esm2020/lib/smart-component-layout/api/index.mjs +7 -0
- package/esm2020/lib/smart-component-layout/api/model/componentType.mjs +17 -0
- package/esm2020/lib/smart-component-layout/api/model/componentWidgetType.mjs +17 -0
- package/esm2020/lib/smart-component-layout/api/model/layoutDirection.mjs +16 -0
- package/esm2020/lib/smart-component-layout/api/model/models.mjs +6 -0
- package/esm2020/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.mjs +2 -0
- package/esm2020/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.mjs +2 -0
- package/esm2020/lib/smart-component-layout/api/param.mjs +2 -0
- package/esm2020/lib/smart-component-layout/api/variables.mjs +9 -0
- package/esm2020/lib/smart-component-layout/projects.mjs +8 -0
- package/esm2020/lib/smart-component-layout/smart-component-layout-utility.mjs +7 -0
- package/esm2020/lib/smart-component-layout/smart-component-layout.component.mjs +123 -0
- package/esm2020/lib/smart-component-layout/smart-component-layout.module.mjs +43 -0
- package/esm2020/lib/smart-dialog/projects.mjs +8 -0
- package/esm2020/lib/smart-dialog/smartdialog.component.mjs +54 -0
- package/esm2020/lib/smart-dialog/smartdialog.model.mjs +16 -0
- package/esm2020/lib/smart-dialog/smartdialog.module.mjs +49 -0
- package/esm2020/lib/smart-dialog/smartdialog.service.mjs +60 -0
- package/esm2020/lib/smart-expandable-section/expandable-section.component.mjs +82 -0
- package/esm2020/lib/smart-expandable-section/expandable-section.model.mjs +12 -0
- package/esm2020/lib/smart-expandable-section/projects.mjs +8 -0
- package/esm2020/lib/smart-expandable-section/smart-expandable-section.module.mjs +51 -0
- package/esm2020/lib/smart-expandable-section/smart-expandable-section.service.mjs +14 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.mjs +16 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderField.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.mjs +9 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionData.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionDataType.mjs +19 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionField.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionFieldList.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.mjs +25 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionList.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOperandData.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOperation.mjs +31 -0
- package/esm2020/lib/smart-filter/api/filter/model/filterExpressionOrderBy.mjs +19 -0
- package/esm2020/lib/smart-filter/api/filter/model/model.mjs +16 -0
- package/esm2020/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.mjs +2 -0
- package/esm2020/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.mjs +13 -0
- package/esm2020/lib/smart-filter/api/value/model/value.mjs +13 -0
- package/esm2020/lib/smart-filter/projects.mjs +9 -0
- package/esm2020/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.mjs +14 -0
- package/esm2020/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.mjs +159 -0
- package/esm2020/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.mjs +45 -0
- package/esm2020/lib/smart-filter/smart-filter/smart-filter.component.mjs +36 -0
- package/esm2020/lib/smart-filter/smart-filter/smart-filter.service.mjs +31 -0
- package/esm2020/lib/smart-filter/smart-filter.model.mjs +13 -0
- package/esm2020/lib/smart-filter/smart-filter.module.mjs +33 -0
- package/esm2020/lib/smart-form/api/api/api.mjs +4 -0
- package/esm2020/lib/smart-form/api/api/default.service.mjs +133 -0
- package/esm2020/lib/smart-form/api/api.module.mjs +40 -0
- package/esm2020/lib/smart-form/api/configuration.mjs +91 -0
- package/esm2020/lib/smart-form/api/encoder.mjs +19 -0
- package/esm2020/lib/smart-form/api/index.mjs +7 -0
- package/esm2020/lib/smart-form/api/model/models.mjs +8 -0
- package/esm2020/lib/smart-form/api/model/propertyMapping.mjs +13 -0
- package/esm2020/lib/smart-form/api/model/selectionDefinition.mjs +8 -0
- package/esm2020/lib/smart-form/api/model/smartFormWidgetDirection.mjs +16 -0
- package/esm2020/lib/smart-form/api/model/smartFormWidgetType.mjs +44 -0
- package/esm2020/lib/smart-form/api/model/smartLayoutDefinition.mjs +2 -0
- package/esm2020/lib/smart-form/api/model/smartMatrixModel.mjs +2 -0
- package/esm2020/lib/smart-form/api/model/smartWidgetDefinition.mjs +2 -0
- package/esm2020/lib/smart-form/api/param.mjs +2 -0
- package/esm2020/lib/smart-form/api/variables.mjs +9 -0
- package/esm2020/lib/smart-form/projects.mjs +13 -0
- package/esm2020/lib/smart-form/services/smartform.layout-definition.service.mjs +397 -0
- package/esm2020/lib/smart-form/services/smartform.service.mjs +483 -0
- package/esm2020/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.mjs +14 -0
- package/esm2020/lib/smart-form/smartfileuploader/smartfileuploader.component.mjs +78 -0
- package/esm2020/lib/smart-form/smartfileuploader/smartfileuploader.model.mjs +2 -0
- package/esm2020/lib/smart-form/smartform.component.mjs +117 -0
- package/esm2020/lib/smart-form/smartform.form-model.mjs +2 -0
- package/esm2020/lib/smart-form/smartform.model.mjs +38 -0
- package/esm2020/lib/smart-form/smartform.module.mjs +146 -0
- package/esm2020/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.mjs +76 -0
- package/esm2020/lib/smart-form/widgets/smartformwidget/smartformwidget.component.mjs +589 -0
- package/esm2020/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.mjs +59 -0
- package/esm2020/lib/smart-form/widgets/smartformwidget/trackCaps.directive.mjs +31 -0
- package/esm2020/lib/smart-grid/api/grid-api/api/api.mjs +4 -0
- package/esm2020/lib/smart-grid/api/grid-api/api/grid.service.mjs +372 -0
- package/esm2020/lib/smart-grid/api/grid-api/api.module.mjs +40 -0
- package/esm2020/lib/smart-grid/api/grid-api/configuration.mjs +72 -0
- package/esm2020/lib/smart-grid/api/grid-api/encoder.mjs +19 -0
- package/esm2020/lib/smart-grid/api/grid-api/index.mjs +6 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridColumnMeta.mjs +13 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.mjs +21 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridModel.mjs +2 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridPage.mjs +2 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridRow.mjs +2 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionMode.mjs +17 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridSelectionType.mjs +16 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridServerModel.mjs +2 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridUpdateData.mjs +2 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridView.mjs +2 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/gridViewDescriptor.mjs +8 -0
- package/esm2020/lib/smart-grid/api/grid-api/model/models.mjs +12 -0
- package/esm2020/lib/smart-grid/api/grid-api/variables.mjs +9 -0
- package/esm2020/lib/smart-grid/components/expandable-grid/expandable-grid.component.mjs +20 -0
- package/esm2020/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.mjs +56 -0
- package/esm2020/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.mjs +166 -0
- package/esm2020/lib/smart-grid/models/model.mjs +28 -0
- package/esm2020/lib/smart-grid/projects.mjs +9 -0
- package/esm2020/lib/smart-grid/smart-grid.component.mjs +452 -0
- package/esm2020/lib/smart-grid/smart-grid.module.mjs +69 -0
- package/esm2020/lib/smart-grid/smart-grid.service.mjs +71 -0
- package/esm2020/lib/smart-icon/projects.mjs +7 -0
- package/esm2020/lib/smart-icon/smart-icon/smart-icon.component.mjs +48 -0
- package/esm2020/lib/smart-icon/smart-icon.module.mjs +22 -0
- package/esm2020/lib/smart-icon/smart-icon.service.mjs +45 -0
- package/esm2020/lib/smart-navbar/projects.mjs +8 -0
- package/esm2020/lib/smart-navbar/smart-navbar.component.mjs +61 -0
- package/esm2020/lib/smart-navbar/smart-navbar.model.mjs +6 -0
- package/esm2020/lib/smart-navbar/smart-navbar.module.mjs +65 -0
- package/esm2020/lib/smart-navbar/smart-navbar.service.mjs +14 -0
- package/esm2020/lib/smart-navigation/projects.mjs +6 -0
- package/esm2020/lib/smart-navigation/smart-navigation.interface.mjs +2 -0
- package/esm2020/lib/smart-navigation/smart-navigation.module.mjs +18 -0
- package/esm2020/lib/smart-navigation/smart-navigation.service.mjs +56 -0
- package/esm2020/lib/smart-ng-client.module.mjs +16 -4
- package/esm2020/lib/smart-subject/projects.mjs +5 -0
- package/esm2020/lib/smart-subject/smart-subject.mjs +21 -0
- package/esm2020/lib/smart-tab-group/projects.mjs +8 -0
- package/esm2020/lib/smart-tab-group/smart-tab-group.component.mjs +43 -0
- package/esm2020/lib/smart-tab-group/smart-tab-group.module.mjs +25 -0
- package/esm2020/lib/smart-tab-group/smart-tab-group.service.mjs +14 -0
- package/esm2020/lib/smart-tab-group/tab-content/tab-content.component.mjs +31 -0
- package/esm2020/lib/smart-tab-group/tab-group-simplified/tab-group.component.mjs +66 -0
- package/esm2020/lib/smart-tab-group/tabTile.model.mjs +2 -0
- package/esm2020/lib/smart-table/components/loading/loading.component.mjs +15 -0
- package/esm2020/lib/smart-table/projects.mjs +9 -0
- package/esm2020/lib/smart-table/smarttable.component.mjs +98 -0
- package/esm2020/lib/smart-table/smarttable.date-pipe.mjs +43 -0
- package/esm2020/lib/smart-table/smarttable.model.mjs +167 -0
- package/esm2020/lib/smart-table/smarttable.module.mjs +89 -0
- package/esm2020/lib/smart-table/smarttable.service.mjs +14 -0
- package/esm2020/lib/smart-table/tables/material-table/material-table.component.mjs +36 -0
- package/esm2020/lib/smart-table/tables/mobile-table/mobile-table.component.mjs +22 -0
- package/esm2020/lib/smart-table/tables/table.mjs +411 -0
- package/esm2020/lib/smart-tree/smarttree.component.mjs +2 -2
- package/esm2020/lib/smart-tree/smarttree.model.mjs +1 -1
- package/esm2020/lib/smart-tree/smarttree.module.mjs +2 -2
- package/esm2020/lib/smart-tree/smarttree.service.interface.mjs +1 -1
- package/esm2020/lib/smart-tree/smarttree.service.mjs +1 -1
- package/esm2020/lib/view-context/api/api/api.mjs +1 -1
- package/esm2020/lib/view-context/api/api/view.service.mjs +1 -1
- package/esm2020/lib/view-context/api/api.module.mjs +1 -1
- package/esm2020/lib/view-context/api/configuration.mjs +1 -1
- package/esm2020/lib/view-context/api/encoder.mjs +1 -1
- package/esm2020/lib/view-context/api/index.mjs +1 -1
- package/esm2020/lib/view-context/api/model/closeResult.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentModel.mjs +1 -1
- package/esm2020/lib/view-context/api/model/componentModelChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChangeEvent.mjs +1 -1
- package/esm2020/lib/view-context/api/model/dataChangeKind.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageOption.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageOptionType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageResult.mjs +1 -1
- package/esm2020/lib/view-context/api/model/messageType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/models.mjs +1 -1
- package/esm2020/lib/view-context/api/model/openPendingData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/smartLinkData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiAction.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonIconPos.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionButtonType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionDialogDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionFeedbackType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionInputType.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionRequest.mjs +1 -1
- package/esm2020/lib/view-context/api/model/uiActionUploadDescriptor.mjs +1 -1
- package/esm2020/lib/view-context/api/model/valueSet.mjs +1 -1
- package/esm2020/lib/view-context/api/model/view.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewApiError.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewConstraint.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContext.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextChange.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewContextUpdate.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewData.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewState.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewStateUpdate.mjs +1 -1
- package/esm2020/lib/view-context/api/model/viewType.mjs +1 -1
- package/esm2020/lib/view-context/api/param.mjs +1 -1
- package/esm2020/lib/view-context/api/variables.mjs +1 -1
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component.mjs +1 -1
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.mjs +3 -3
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.mjs +3 -3
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.mjs +3 -3
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.mjs +8 -7
- package/esm2020/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.mjs +3 -3
- package/esm2020/lib/view-context/smart-ui-action/ui-action-toolbar.component.mjs +4 -3
- package/esm2020/lib/view-context/smart-ui-action/ui-action.descriptor.service.mjs +2 -2
- package/esm2020/lib/view-context/smart-ui-action/ui-action.model.mjs +1 -1
- package/esm2020/lib/view-context/smart-ui-action/ui-action.service.mjs +2 -2
- package/esm2020/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.mjs +2 -2
- package/esm2020/lib/view-context/smart-view-context.module.mjs +3 -3
- package/esm2020/lib/view-context/smart-view-context.service.mjs +4 -4
- package/esm2020/lib/view-context/smart-view-redirect/smart-view-redirect.mjs +9 -9
- package/esm2020/lib/view-context/value-api/model/valueSetData.mjs +1 -1
- package/esm2020/projects.mjs +15 -3
- package/fesm2015/smartbit4all-ng-client.mjs +9465 -3578
- package/fesm2015/smartbit4all-ng-client.mjs.map +1 -1
- package/fesm2020/smartbit4all-ng-client.mjs +9275 -3460
- package/fesm2020/smartbit4all-ng-client.mjs.map +1 -1
- package/lib/component-factory-service/component-factory-service.module.d.ts +6 -0
- package/lib/component-factory-service/component-factory-service.service.d.ts +13 -0
- package/lib/component-factory-service/projects.d.ts +2 -0
- package/lib/session/dev-tool/smart-dev-tool-dialog/smart-dev-tool-dialog.service.d.ts +1 -1
- package/lib/session/smart-session.module.d.ts +1 -1
- package/lib/smart-client/smart-component-api-client.d.ts +3 -4
- package/lib/smart-client/smart-file-uploader/smart-file-uploader.component.d.ts +3 -3
- package/lib/smart-component-layout/api/api/api.d.ts +3 -0
- package/lib/smart-component-layout/api/api/default.service.d.ts +33 -0
- package/lib/smart-component-layout/api/api.module.d.ts +11 -0
- package/lib/smart-component-layout/api/configuration.d.ts +104 -0
- package/lib/smart-component-layout/api/encoder.d.ts +11 -0
- package/lib/smart-component-layout/api/index.d.ts +6 -0
- package/lib/smart-component-layout/api/model/componentType.d.ts +17 -0
- package/lib/smart-component-layout/api/model/componentWidgetType.d.ts +17 -0
- package/lib/smart-component-layout/api/model/layoutDirection.d.ts +16 -0
- package/lib/smart-component-layout/api/model/models.d.ts +5 -0
- package/lib/smart-component-layout/api/model/smartComponentLayoutDefinition.d.ts +29 -0
- package/lib/smart-component-layout/api/model/smartComponentWidgetDefinition.d.ts +21 -0
- package/lib/smart-component-layout/api/param.d.ts +37 -0
- package/lib/smart-component-layout/api/variables.d.ts +8 -0
- package/lib/smart-component-layout/projects.d.ts +4 -0
- package/lib/smart-component-layout/smart-component-layout-utility.d.ts +4 -0
- package/lib/smart-component-layout/smart-component-layout.component.d.ts +35 -0
- package/lib/smart-component-layout/smart-component-layout.module.d.ts +13 -0
- package/lib/smart-dialog/projects.d.ts +4 -0
- package/lib/smart-dialog/smartdialog.component.d.ts +19 -0
- package/lib/smart-dialog/smartdialog.model.d.ts +67 -0
- package/lib/smart-dialog/smartdialog.module.d.ts +14 -0
- package/lib/smart-dialog/smartdialog.service.d.ts +20 -0
- package/lib/smart-expandable-section/expandable-section.component.d.ts +25 -0
- package/lib/smart-expandable-section/expandable-section.model.d.ts +40 -0
- package/lib/smart-expandable-section/projects.d.ts +4 -0
- package/lib/smart-expandable-section/smart-expandable-section.module.d.ts +15 -0
- package/lib/smart-expandable-section/smart-expandable-section.service.d.ts +6 -0
- package/lib/smart-filter/api/filter/model/filterExpressionBoolOperator.d.ts +16 -0
- package/lib/smart-filter/api/filter/model/filterExpressionBuilderField.d.ts +27 -0
- package/lib/smart-filter/api/filter/model/filterExpressionBuilderGroup.d.ts +39 -0
- package/lib/smart-filter/api/filter/model/filterExpressionBuilderModel.d.ts +21 -0
- package/lib/smart-filter/api/filter/model/filterExpressionData.d.ts +27 -0
- package/lib/smart-filter/api/filter/model/filterExpressionDataType.d.ts +19 -0
- package/lib/smart-filter/api/filter/model/filterExpressionField.d.ts +37 -0
- package/lib/smart-filter/api/filter/model/filterExpressionFieldList.d.ts +21 -0
- package/lib/smart-filter/api/filter/model/filterExpressionFieldWidgetType.d.ts +25 -0
- package/lib/smart-filter/api/filter/model/filterExpressionList.d.ts +18 -0
- package/lib/smart-filter/api/filter/model/filterExpressionOperandData.d.ts +24 -0
- package/lib/smart-filter/api/filter/model/filterExpressionOperation.d.ts +31 -0
- package/lib/smart-filter/api/filter/model/filterExpressionOrderBy.d.ts +28 -0
- package/lib/smart-filter/api/filter/model/model.d.ts +15 -0
- package/lib/smart-filter/api/filter/model/searchIndexObjectDefinitionData.d.ts +19 -0
- package/lib/smart-filter/api/filter/model/searchIndexPropertyDefinitionData.d.ts +18 -0
- package/lib/smart-filter/api/value/model/value.d.ts +29 -0
- package/lib/smart-filter/projects.d.ts +5 -0
- package/lib/smart-filter/smart-filter/components/smart-filter-expression-field/smart-filter-expression-field.component.d.ts +8 -0
- package/lib/smart-filter/smart-filter/components/smart-filter-simple/components/smart-filter-simple-field/smart-filter-simple-field.component.d.ts +31 -0
- package/lib/smart-filter/smart-filter/components/smart-filter-simple/smart-filter-simple.component.d.ts +18 -0
- package/lib/smart-filter/smart-filter/smart-filter.component.d.ts +15 -0
- package/lib/smart-filter/smart-filter/smart-filter.service.d.ts +16 -0
- package/lib/smart-filter/smart-filter.model.d.ts +25 -0
- package/lib/smart-filter/smart-filter.module.d.ts +15 -0
- package/lib/smart-form/api/api/api.d.ts +3 -0
- package/lib/smart-form/api/api/default.service.d.ts +33 -0
- package/lib/smart-form/api/api.module.d.ts +11 -0
- package/lib/smart-form/api/configuration.d.ts +104 -0
- package/lib/smart-form/api/encoder.d.ts +11 -0
- package/lib/smart-form/api/index.d.ts +6 -0
- package/lib/smart-form/api/model/models.d.ts +7 -0
- package/lib/smart-form/api/model/propertyMapping.d.ts +24 -0
- package/lib/smart-form/api/model/selectionDefinition.d.ts +40 -0
- package/lib/smart-form/api/model/smartFormWidgetDirection.d.ts +16 -0
- package/lib/smart-form/api/model/smartFormWidgetType.d.ts +42 -0
- package/lib/smart-form/api/model/smartLayoutDefinition.d.ts +15 -0
- package/lib/smart-form/api/model/smartMatrixModel.d.ts +28 -0
- package/lib/smart-form/api/model/smartWidgetDefinition.d.ts +77 -0
- package/lib/smart-form/api/param.d.ts +37 -0
- package/lib/smart-form/api/variables.d.ts +8 -0
- package/lib/smart-form/projects.d.ts +9 -0
- package/lib/smart-form/services/smartform.layout-definition.service.d.ts +40 -0
- package/lib/smart-form/services/smartform.service.d.ts +29 -0
- package/lib/smart-form/smartfileuploader/large-file-snack-bar/large-file-snack-bar.component.d.ts +8 -0
- package/lib/smart-form/smartfileuploader/smartfileuploader.component.d.ts +22 -0
- package/lib/smart-form/smartfileuploader/smartfileuploader.model.d.ts +7 -0
- package/lib/smart-form/smartform.component.d.ts +33 -0
- package/lib/smart-form/smartform.form-model.d.ts +521 -0
- package/lib/smart-form/smartform.model.d.ts +120 -0
- package/lib/smart-form/smartform.module.d.ts +34 -0
- package/lib/smart-form/widgets/components/smart-month-picker/smart-month-picker.component.d.ts +29 -0
- package/lib/smart-form/widgets/smartformwidget/smartformwidget.component.d.ts +84 -0
- package/lib/smart-form/widgets/smartformwidget/sortable-widget/sortable-widget.component.d.ts +20 -0
- package/lib/smart-form/widgets/smartformwidget/trackCaps.directive.d.ts +9 -0
- package/lib/smart-grid/api/grid-api/api/api.d.ts +3 -0
- package/lib/smart-grid/api/grid-api/api/grid.service.d.ts +140 -0
- package/lib/smart-grid/api/grid-api/api.module.d.ts +11 -0
- package/lib/smart-grid/api/grid-api/configuration.d.ts +80 -0
- package/lib/smart-grid/api/grid-api/encoder.d.ts +11 -0
- package/lib/smart-grid/api/grid-api/index.d.ts +5 -0
- package/lib/smart-grid/api/grid-api/model/gridColumnMeta.d.ts +18 -0
- package/lib/smart-grid/api/grid-api/model/gridDataAccessConfig.d.ts +35 -0
- package/lib/smart-grid/api/grid-api/model/gridModel.d.ts +30 -0
- package/lib/smart-grid/api/grid-api/model/gridPage.d.ts +26 -0
- package/lib/smart-grid/api/grid-api/model/gridRow.d.ts +22 -0
- package/lib/smart-grid/api/grid-api/model/gridSelectionMode.d.ts +17 -0
- package/lib/smart-grid/api/grid-api/model/gridSelectionType.d.ts +16 -0
- package/lib/smart-grid/api/grid-api/model/gridServerModel.d.ts +20 -0
- package/lib/smart-grid/api/grid-api/model/gridUpdateData.d.ts +19 -0
- package/lib/smart-grid/api/grid-api/model/gridView.d.ts +21 -0
- package/lib/smart-grid/api/grid-api/model/gridViewDescriptor.d.ts +33 -0
- package/lib/smart-grid/api/grid-api/model/models.d.ts +11 -0
- package/lib/smart-grid/api/grid-api/variables.d.ts +8 -0
- package/lib/smart-grid/components/expandable-grid/expandable-grid.component.d.ts +10 -0
- package/lib/smart-grid/components/smart-grid-card/smart-grid-card.component.d.ts +21 -0
- package/lib/smart-grid/components/table-layout-definer/table-layout-definer.component.d.ts +40 -0
- package/lib/smart-grid/models/model.d.ts +70 -0
- package/lib/smart-grid/projects.d.ts +5 -0
- package/lib/smart-grid/smart-grid.component.d.ts +67 -0
- package/lib/smart-grid/smart-grid.module.d.ts +20 -0
- package/lib/smart-grid/smart-grid.service.d.ts +26 -0
- package/lib/smart-icon/projects.d.ts +3 -0
- package/lib/smart-icon/smart-icon/smart-icon.component.d.ts +17 -0
- package/lib/smart-icon/smart-icon.module.d.ts +10 -0
- package/lib/smart-icon/smart-icon.service.d.ts +21 -0
- package/lib/smart-navbar/projects.d.ts +4 -0
- package/lib/smart-navbar/smart-navbar.component.d.ts +20 -0
- package/lib/smart-navbar/smart-navbar.model.d.ts +48 -0
- package/lib/smart-navbar/smart-navbar.module.d.ts +18 -0
- package/lib/smart-navbar/smart-navbar.service.d.ts +6 -0
- package/lib/smart-navigation/projects.d.ts +2 -0
- package/lib/smart-navigation/smart-navigation.interface.d.ts +11 -0
- package/lib/smart-navigation/smart-navigation.module.d.ts +6 -0
- package/lib/smart-navigation/smart-navigation.service.d.ts +18 -0
- package/lib/smart-ng-client.module.d.ts +9 -6
- package/lib/smart-subject/projects.d.ts +1 -0
- package/lib/smart-subject/smart-subject.d.ts +6 -0
- package/lib/smart-tab-group/projects.d.ts +4 -0
- package/lib/smart-tab-group/smart-tab-group.component.d.ts +21 -0
- package/lib/smart-tab-group/smart-tab-group.module.d.ts +13 -0
- package/lib/smart-tab-group/smart-tab-group.service.d.ts +6 -0
- package/lib/smart-tab-group/tab-content/tab-content.component.d.ts +14 -0
- package/lib/smart-tab-group/tab-group-simplified/tab-group.component.d.ts +29 -0
- package/lib/smart-tab-group/tabTile.model.d.ts +8 -0
- package/lib/smart-table/components/loading/loading.component.d.ts +8 -0
- package/lib/smart-table/projects.d.ts +5 -0
- package/lib/smart-table/smarttable.component.d.ts +34 -0
- package/lib/smart-table/smarttable.date-pipe.d.ts +18 -0
- package/lib/smart-table/smarttable.model.d.ts +183 -0
- package/lib/smart-table/smarttable.module.d.ts +23 -0
- package/lib/smart-table/smarttable.service.d.ts +6 -0
- package/lib/smart-table/tables/material-table/material-table.component.d.ts +8 -0
- package/lib/smart-table/tables/mobile-table/mobile-table.component.d.ts +8 -0
- package/lib/smart-table/tables/table.d.ts +59 -0
- package/lib/smart-tree/smarttree.component.d.ts +1 -1
- package/lib/smart-tree/smarttree.model.d.ts +1 -1
- package/lib/smart-tree/smarttree.module.d.ts +1 -1
- package/lib/smart-tree/smarttree.service.d.ts +1 -1
- package/lib/smart-tree/smarttree.service.interface.d.ts +1 -1
- package/lib/view-context/api/model/componentModel.d.ts +3 -2
- package/lib/view-context/api/model/view.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component.d.ts +1 -1
- package/lib/view-context/smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-ui-action/ui-action-toolbar.component.d.ts +1 -1
- package/lib/view-context/smart-ui-action/ui-action.model.d.ts +3 -1
- package/lib/view-context/smart-view-context-error-dialog/smart-view-context-error-dialog.service.d.ts +1 -1
- package/lib/view-context/smart-view-context.module.d.ts +2 -2
- package/lib/view-context/smart-view-context.service.d.ts +3 -3
- package/lib/view-context/smart-view-redirect/smart-view-redirect.d.ts +3 -3
- package/lib/view-context/value-api/model/valueSetData.d.ts +1 -1
- package/package.json +1 -4
- package/projects.d.ts +14 -2
- package/smartbit4all-ng-client-3.0.0.tgz +0 -0
- package/src/lib/component-factory-service/README.md +99 -0
- package/src/lib/smart-component-layout/README.md +31 -0
- package/src/lib/smart-component-layout/api/README.md +226 -0
- package/src/lib/smart-dialog/README.md +197 -0
- package/src/lib/smart-expandable-section/README.md +249 -0
- package/src/lib/smart-filter/README.md +101 -0
- package/src/lib/smart-form/README.md +1178 -0
- package/src/lib/smart-form/api/README.md +226 -0
- package/src/lib/smart-grid/README.md +24 -0
- package/src/lib/smart-grid/api/grid-api/README.md +203 -0
- package/src/lib/smart-icon/README.md +116 -0
- package/src/lib/smart-navbar/README.md +119 -0
- package/src/lib/smart-navigation/README.md +141 -0
- package/src/lib/smart-tab-group/README.md +155 -0
- package/src/lib/smart-table/README.md +667 -0
- package/src/lib/view-context/api/README.md +226 -226
- package/esm2020/lib/smart-client/projects.mjs +0 -5
- package/esm2020/lib/smart-client/smart.component.mjs +0 -30
- package/esm2020/lib/smart-client/smart.service.mjs +0 -30
- package/lib/smart-client/projects.d.ts +0 -4
- package/lib/smart-client/smart.component.d.ts +0 -11
- package/lib/smart-client/smart.service.d.ts +0 -11
- package/smartbit4all-ng-client-2.2.2.tgz +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
|
-
import { SmartdialogService } from '
|
|
2
|
+
import { SmartdialogService } from '../../../projects';
|
|
3
3
|
import { SmartViewContextErrorDialogButtonLabel, SmartViewContextErrorDialogMessage, SmartViewContextErrorDialogTitle, } from '../smart-view-context.service';
|
|
4
4
|
import { SmartViewContextErrorDialogComponent } from './smart-view-context-error-dialog.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
@@ -66,4 +66,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
66
66
|
providedIn: 'root',
|
|
67
67
|
}]
|
|
68
68
|
}], ctorParameters: function () { return [{ type: i1.MatDialog }, { type: i2.Router }, { type: i3.SmartViewContextService }]; } });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
69
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFtQixrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBSXhFLE9BQU8sRUFDTCxzQ0FBc0MsRUFDdEMsa0NBQWtDLEVBQ2xDLGdDQUFnQyxHQUVqQyxNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7OztBQUtuRyxNQUFNLE9BQU8sa0NBQW1DLFNBQVEsa0JBQWtCO0lBS3hFLFlBQVksTUFBaUIsRUFBRSxNQUFjLEVBQVUsV0FBb0M7UUFDekYsS0FBSyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUQrQixnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFGM0YsZUFBVSxHQUE2QixFQUFFLENBQUM7SUFJMUMsQ0FBQztJQUVRLGlCQUFpQixDQUFDLE1BQVcsSUFBUyxDQUFDO0lBRXZDLFVBQVU7UUFDakIsTUFBTSxVQUFVLEdBQW9CO1lBQ2xDLE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsRUFBRTthQUNWO1lBQ0QsSUFBSSxFQUFFLEVBQUU7WUFDUixlQUFlLEVBQUUsb0NBQW9DO1NBQ3RELENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxvQ0FBb0MsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVRLEtBQUssQ0FBQyxXQUFXO1FBQ3hCLElBQUksU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUM7UUFDdEMsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxLQUFLLENBQUMsMkJBQTJCO1FBQy9CLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUU7WUFDM0IsT0FBTyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsaUNBQWlDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN6RjtRQUVELElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksV0FBVyxDQUFDO1FBQ2hCLElBQUksT0FBTyxDQUFDO1FBRVosSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixFQUFFO1lBQ3JDLFdBQVcsR0FBRyxNQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2lCQUNsRCxHQUFHLENBQUMsZ0NBQWdDLENBQUM7aUJBQ3JDLFNBQVMsRUFBRSxDQUFDO1lBQ2YsV0FBVyxHQUFHLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7aUJBQ2xELEdBQUcsQ0FBQyxzQ0FBc0MsQ0FBQztpQkFDM0MsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQjtpQkFDOUMsR0FBRyxDQUFDLGtDQUFrQyxDQUFDO2lCQUN2QyxTQUFTLEVBQUUsQ0FBQztTQUNoQjthQUFNO1lBQ0wsV0FBVyxHQUFHLElBQUksQ0FBQztZQUNuQixXQUFXLEdBQUcsTUFBTSxDQUFDO1lBQ3JCLE9BQU8sR0FBRyx1QkFBdUIsQ0FBQztTQUNuQztRQUVELE9BQU87WUFDTCxJQUFJLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLElBQUksRUFBRTtZQUNuQyxPQUFPLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxPQUFPLElBQUksT0FBTztZQUM5QyxXQUFXO1lBQ1gsV0FBVztTQUNaLENBQUM7SUFDSixDQUFDOzsrSEExRFUsa0NBQWtDO21JQUFsQyxrQ0FBa0MsY0FGakMsTUFBTTsyRkFFUCxrQ0FBa0M7a0JBSDlDLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNtYXJ0RGlhbG9nRGF0YSwgU21hcnRkaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vcHJvamVjdHMnO1xyXG5cclxuaW1wb3J0IHsgVmlld0FwaUVycm9yIH0gZnJvbSAnLi4vYXBpJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dEFwaUVycm9yIH0gZnJvbSAnLi4vc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dCdXR0b25MYWJlbCxcclxuICBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dNZXNzYWdlLFxyXG4gIFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ1RpdGxlLFxyXG4gIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlLFxyXG59IGZyb20gJy4uL3NtYXJ0LXZpZXctY29udGV4dC5zZXJ2aWNlJztcclxuaW1wb3J0IHsgU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC12aWV3LWNvbnRleHQtZXJyb3ItZGlhbG9nLmNvbXBvbmVudCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nU2VydmljZSBleHRlbmRzIFNtYXJ0ZGlhbG9nU2VydmljZSB7XHJcbiAgdmlld0FwaUVycm9yPzogVmlld0FwaUVycm9yO1xyXG5cclxuICBkaWFsb2dSZWZzOiBNYXREaWFsb2dSZWY8YW55LCBhbnk+W10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IoZGlhbG9nOiBNYXREaWFsb2csIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHZpZXdDb250ZXh0OiBTbWFydFZpZXdDb250ZXh0U2VydmljZSkge1xyXG4gICAgc3VwZXIoZGlhbG9nLCByb3V0ZXIpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgaGFuZGxlQWZ0ZXJDbG9zZWQocmVzdWx0OiBhbnkpOiB2b2lkIHt9XHJcblxyXG4gIG92ZXJyaWRlIG9wZW5EaWFsb2coKTogdm9pZCB7XHJcbiAgICBjb25zdCBkaWFsb2dEYXRhOiBTbWFydERpYWxvZ0RhdGEgPSB7XHJcbiAgICAgIGNvbnRlbnQ6IHtcclxuICAgICAgICB0aXRsZTogJycsXHJcbiAgICAgIH0sXHJcbiAgICAgIHNpemU6IHt9LFxyXG4gICAgICBjdXN0b21Db21wb25lbnQ6IFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0NvbXBvbmVudCxcclxuICAgIH07XHJcbiAgICB0aGlzLmRpYWxvZ1JlZnMucHVzaCh0aGlzLmNyZWF0ZURpYWxvZ1JlZihkaWFsb2dEYXRhLCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQpKTtcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIGFzeW5jIGNsb3NlRGlhbG9nKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nUmVmcy5wb3AoKTtcclxuICAgIGRpYWxvZ1JlZj8uY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIGdldFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcigpOiBQcm9taXNlPFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcj4ge1xyXG4gICAgaWYgKHRoaXMudmlld0FwaUVycm9yPy5jb2RlKSB7XHJcbiAgICAgIHJldHVybiBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LmdldFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvckJ5Q29kZSh0aGlzLnZpZXdBcGlFcnJvci5jb2RlKTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgZGlhbG9nVGl0bGU7XHJcbiAgICBsZXQgYnV0dG9uTGFiZWw7XHJcbiAgICBsZXQgbWVzc2FnZTtcclxuXHJcbiAgICBpZiAodGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlKSB7XHJcbiAgICAgIGRpYWxvZ1RpdGxlID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldChTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dUaXRsZSlcclxuICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICAgIGJ1dHRvbkxhYmVsID0gYXdhaXQgdGhpcy52aWV3Q29udGV4dC50cmFuc2xhdGVTZXJ2aWNlXHJcbiAgICAgICAgLmdldChTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dCdXR0b25MYWJlbClcclxuICAgICAgICAudG9Qcm9taXNlKCk7XHJcbiAgICAgIG1lc3NhZ2UgPSBhd2FpdCB0aGlzLnZpZXdDb250ZXh0LnRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICAgICAuZ2V0KFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ01lc3NhZ2UpXHJcbiAgICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgYnV0dG9uTGFiZWwgPSAnT2snO1xyXG4gICAgICBkaWFsb2dUaXRsZSA9ICdIaWJhJztcclxuICAgICAgbWVzc2FnZSA9ICdBbiBlcnJvciBoYXMgb2NjdXJlZC4nO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiB7XHJcbiAgICAgIGNvZGU6IHRoaXMudmlld0FwaUVycm9yPy5jb2RlID8/ICcnLFxyXG4gICAgICBtZXNzYWdlOiB0aGlzLnZpZXdBcGlFcnJvcj8ubWVzc2FnZSA/PyBtZXNzYWdlLFxyXG4gICAgICBidXR0b25MYWJlbCxcclxuICAgICAgZGlhbG9nVGl0bGUsXHJcbiAgICB9O1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -9,13 +9,13 @@ import { SmartViewContextService } from './smart-view-context.service';
|
|
|
9
9
|
import { SmartViewContextErrorDialogComponent } from './smart-view-context-error-dialog/smart-view-context-error-dialog.component';
|
|
10
10
|
import { SmartViewContextInterceptor } from './smart-view-context.interceptor';
|
|
11
11
|
import { SmartViewRedirect } from './smart-view-redirect/smart-view-redirect';
|
|
12
|
-
import { SmartIconModule } from '@smartbit4all/icon';
|
|
13
12
|
import { UiActionToolbarComponent } from './smart-ui-action/ui-action-toolbar.component';
|
|
14
13
|
import { UiActionInputDialogComponent } from './smart-ui-action/dialogs/ui-action-input-dialog/ui-action-input-dialog.component';
|
|
15
14
|
import { UiActionConfirmDialogComponent } from './smart-ui-action/dialogs/ui-action-confirm-dialog/ui-action-confirm-dialog.component';
|
|
16
|
-
import { SmartformModule } from '@smartbit4all/form';
|
|
17
15
|
import { MatSnackBarModule } from '@angular/material/snack-bar';
|
|
18
16
|
import { UiActionFileUploadDialogComponent } from './smart-ui-action/dialogs/ui-action-file-upload-dialog/ui-action-file-upload-dialog.component';
|
|
17
|
+
import { SmartIconModule } from '../smart-icon/projects';
|
|
18
|
+
import { SmartformModule } from '../smart-form/projects';
|
|
19
19
|
import * as i0 from "@angular/core";
|
|
20
20
|
export class SmartViewContextModule {
|
|
21
21
|
}
|
|
@@ -84,4 +84,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
84
84
|
],
|
|
85
85
|
}]
|
|
86
86
|
}] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LWNvbnRleHQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxvQ0FBb0MsRUFBRSxNQUFNLDZFQUE2RSxDQUFDO0FBQ25JLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQy9FLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw0QkFBNEIsRUFBRSxNQUFNLG1GQUFtRixDQUFDO0FBQ2pJLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHVGQUF1RixDQUFDO0FBQ3ZJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLCtGQUErRixDQUFDO0FBQ2xKLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7O0FBZ0N6RCxNQUFNLE9BQU8sc0JBQXNCOzttSEFBdEIsc0JBQXNCO29IQUF0QixzQkFBc0IsaUJBNUIvQixzQkFBc0I7UUFDdEIsb0NBQW9DO1FBQ3BDLGlCQUFpQjtRQUNqQix3QkFBd0I7UUFDeEIsNEJBQTRCO1FBQzVCLDhCQUE4QjtRQUM5QixpQ0FBaUMsYUFHakMsWUFBWTtRQUNaLGdCQUFnQjtRQUNoQixlQUFlO1FBQ2YsZUFBZTtRQUNmLGFBQWE7UUFDYixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLGVBQWUsYUFFUCx3QkFBd0IsRUFBRSw0QkFBNEI7b0hBVXJELHNCQUFzQixhQVR0QjtRQUNULHVCQUF1QjtRQUN2QjtZQUNFLE9BQU8sRUFBRSxpQkFBaUI7WUFDMUIsUUFBUSxFQUFFLDJCQUEyQjtZQUNyQyxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsWUFsQlE7WUFDUCxZQUFZO1lBQ1osZ0JBQWdCO1lBQ2hCLGVBQWU7WUFDZixlQUFlO1lBQ2YsYUFBYTtZQUNiLGlCQUFpQjtZQUNqQixlQUFlO1lBQ2YsZUFBZTtTQUNoQjsyRkFXVSxzQkFBc0I7a0JBOUJsQyxRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRTt3QkFDWixzQkFBc0I7d0JBQ3RCLG9DQUFvQzt3QkFDcEMsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLDRCQUE0Qjt3QkFDNUIsOEJBQThCO3dCQUM5QixpQ0FBaUM7cUJBQ2xDO29CQUNELE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGdCQUFnQjt3QkFDaEIsZUFBZTt3QkFDZixlQUFlO3dCQUNmLGFBQWE7d0JBQ2IsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLGVBQWU7cUJBQ2hCO29CQUNELE9BQU8sRUFBRSxDQUFDLHdCQUF3QixFQUFFLDRCQUE0QixDQUFDO29CQUNqRSxTQUFTLEVBQUU7d0JBQ1QsdUJBQXVCO3dCQUN2Qjs0QkFDRSxPQUFPLEVBQUUsaUJBQWlCOzRCQUMxQixRQUFRLEVBQUUsMkJBQTJCOzRCQUNyQyxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEh0dHBDbGllbnRNb2R1bGUsIEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xyXG5pbXBvcnQgeyBNYXRDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNZXNzYWdlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWRpYWxvZy9tZXNzYWdlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0U2VydmljZSB9IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC1lcnJvci1kaWFsb2cvc21hcnQtdmlldy1jb250ZXh0LWVycm9yLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBTbWFydFZpZXdDb250ZXh0SW50ZXJjZXB0b3IgfSBmcm9tICcuL3NtYXJ0LXZpZXctY29udGV4dC5pbnRlcmNlcHRvcic7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld1JlZGlyZWN0IH0gZnJvbSAnLi9zbWFydC12aWV3LXJlZGlyZWN0L3NtYXJ0LXZpZXctcmVkaXJlY3QnO1xyXG5pbXBvcnQgeyBVaUFjdGlvblRvb2xiYXJDb21wb25lbnQgfSBmcm9tICcuL3NtYXJ0LXVpLWFjdGlvbi91aS1hY3Rpb24tdG9vbGJhci5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBVaUFjdGlvbklucHV0RGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24taW5wdXQtZGlhbG9nL3VpLWFjdGlvbi1pbnB1dC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVWlBY3Rpb25Db25maXJtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tY29uZmlybS1kaWFsb2cvdWktYWN0aW9uLWNvbmZpcm0tZGlhbG9nLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdFNuYWNrQmFyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcclxuaW1wb3J0IHsgVWlBY3Rpb25GaWxlVXBsb2FkRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9zbWFydC11aS1hY3Rpb24vZGlhbG9ncy91aS1hY3Rpb24tZmlsZS11cGxvYWQtZGlhbG9nL3VpLWFjdGlvbi1maWxlLXVwbG9hZC1kaWFsb2cuY29tcG9uZW50JztcclxuaW1wb3J0IHsgU21hcnRJY29uTW9kdWxlIH0gZnJvbSAnLi4vc21hcnQtaWNvbi9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0Zm9ybU1vZHVsZSB9IGZyb20gJy4uL3NtYXJ0LWZvcm0vcHJvamVjdHMnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIE1lc3NhZ2VEaWFsb2dDb21wb25lbnQsXHJcbiAgICBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dDb21wb25lbnQsXHJcbiAgICBTbWFydFZpZXdSZWRpcmVjdCxcclxuICAgIFVpQWN0aW9uVG9vbGJhckNvbXBvbmVudCxcclxuICAgIFVpQWN0aW9uSW5wdXREaWFsb2dDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbkNvbmZpcm1EaWFsb2dDb21wb25lbnQsXHJcbiAgICBVaUFjdGlvbkZpbGVVcGxvYWREaWFsb2dDb21wb25lbnQsXHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxyXG4gICAgTWF0Q29tbW9uTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFNuYWNrQmFyTW9kdWxlLFxyXG4gICAgU21hcnRJY29uTW9kdWxlLFxyXG4gICAgU21hcnRmb3JtTW9kdWxlLFxyXG4gIF0sXHJcbiAgZXhwb3J0czogW1VpQWN0aW9uVG9vbGJhckNvbXBvbmVudCwgVWlBY3Rpb25JbnB1dERpYWxvZ0NvbXBvbmVudF0sXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICBTbWFydFZpZXdDb250ZXh0U2VydmljZSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogSFRUUF9JTlRFUkNFUFRPUlMsXHJcbiAgICAgIHVzZUNsYXNzOiBTbWFydFZpZXdDb250ZXh0SW50ZXJjZXB0b3IsXHJcbiAgICAgIG11bHRpOiB0cnVlLFxyXG4gICAgfSxcclxuICBdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgU21hcnRWaWV3Q29udGV4dE1vZHVsZSB7fVxyXG4iXX0=
|
|
@@ -2,12 +2,12 @@ import { Injectable } from '@angular/core';
|
|
|
2
2
|
import { Subject, takeUntil } from 'rxjs';
|
|
3
3
|
import { ViewState, ViewType, } from './api';
|
|
4
4
|
import { MessageDialogComponent } from './message-dialog/message-dialog.component';
|
|
5
|
-
import { SmartSubject } from '
|
|
5
|
+
import { SmartSubject } from '../smart-subject/projects';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "./api";
|
|
8
8
|
import * as i2 from "../session/smart-session.service";
|
|
9
|
-
import * as i3 from "
|
|
10
|
-
import * as i4 from "
|
|
9
|
+
import * as i3 from "../smart-navigation/projects";
|
|
10
|
+
import * as i4 from "../smart-dialog/projects";
|
|
11
11
|
export const SmartViewContextErrorDialogButtonLabel = 'SmartViewContextErrorDialogButtonLabel';
|
|
12
12
|
export const SmartViewContextErrorDialogTitle = 'SmartViewContextErrorDialogTitle';
|
|
13
13
|
export const SmartViewContextErrorDialogMessage = 'SmartViewContextErrorDialogMessage';
|
|
@@ -536,4 +536,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
536
536
|
providedIn: 'root',
|
|
537
537
|
}]
|
|
538
538
|
}], ctorParameters: function () { return []; } });
|
|
539
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUd0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBY0wsU0FBUyxFQUNULFFBQVEsR0FDVCxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBUW5GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQzs7Ozs7O0FBRXJELE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLHdDQUF3QyxDQUFDO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLGtDQUFrQyxDQUFDO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLG9DQUFvQyxDQUFDO0FBS3ZGLE1BQU0sT0FBTyx1QkFBdUI7SUE0Q2xDLFlBQ1UsSUFBaUIsRUFDakIsT0FBNEIsRUFDNUIsVUFBa0MsRUFDbEMsTUFBMEIsRUFDMUIsZUFBZ0M7UUFKaEMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFoRGxDLGNBQVMsR0FBVyxpQkFBaUIsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBVyxpQkFBaUIsQ0FBQztRQUloRCxpQkFBWSxHQUFpQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pELG9CQUFlLEdB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LFVBQVUsQ0FBQyxJQUFrQixFQUFFLFdBQW9CLEtBQUs7UUFDdEQsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDhEQUE4RDtTQUN6RjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx1REFBdUQ7U0FDL0U7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsT0FBTztTQUNSO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7OzRHQXRDVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFNtYXJ0ZGlhbG9nU2VydmljZSB9IGZyb20gJ0BzbWFydGJpdDRhbGwvZGlhbG9nJztcclxuaW1wb3J0IHsgU21hcnROYXZpZ2F0aW9uU2VydmljZSB9IGZyb20gJ0BzbWFydGJpdDRhbGwvbmF2aWdhdGlvbic7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudE1vZGVsLFxyXG4gIENvbXBvbmVudE1vZGVsQ2hhbmdlLFxyXG4gIERhdGFDaGFuZ2UsXHJcbiAgTWVzc2FnZURhdGEsXHJcbiAgTWVzc2FnZVJlc3VsdCxcclxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25SZXF1ZXN0LFxyXG4gIFZpZXdDb25zdHJhaW50LFxyXG4gIFZpZXdDb250ZXh0Q2hhbmdlLFxyXG4gIFZpZXdDb250ZXh0RGF0YSxcclxuICBWaWV3Q29udGV4dFVwZGF0ZSxcclxuICBWaWV3RGF0YSxcclxuICBWaWV3U2VydmljZSxcclxuICBWaWV3U3RhdGUsXHJcbiAgVmlld1R5cGUsXHJcbn0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQgeyBNZXNzYWdlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWRpYWxvZy9tZXNzYWdlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFNtYXJ0VHJhbnNsYXRlU2VydmljZSxcclxuICBTbWFydFZpZXdDb250ZXh0QXBpRXJyb3IsXHJcbiAgU21hcnRWaWV3Q29udGV4dEFwaUVycm9ycyxcclxuICBTbWFydFZpZXdEaWFsb2dSZWYsXHJcbiAgU21hcnRWaWV3SGFuZGxlck1vZGVsLFxyXG59IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnQHNtYXJ0Yml0NGFsbC9zdWJqZWN0JztcclxuXHJcbmV4cG9ydCBjb25zdCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dCdXR0b25MYWJlbCA9ICdTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dCdXR0b25MYWJlbCc7XHJcbmV4cG9ydCBjb25zdCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dUaXRsZSA9ICdTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dUaXRsZSc7XHJcbmV4cG9ydCBjb25zdCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dNZXNzYWdlID0gJ1NtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ01lc3NhZ2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHRhYklkTmFtZTogc3RyaW5nID0gJ3ZpZXdDb250ZXh0VXVpZCc7XHJcbiAgcHJpdmF0ZSB0YWJJZGh0dHBIZWFkZXJOYW1lOiBzdHJpbmcgPSAndmlld0NvbnRleHRVdWlkJztcclxuICBwdWJsaWMgbWVzc2FnZURpYWxvZ25hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIHVybD86IHN0cmluZztcclxuICBwcml2YXRlIHZpZXdDb250ZXh0PzogVmlld0NvbnRleHREYXRhO1xyXG4gIHByaXZhdGUgdmlld0hhbmRsZXJzOiBBcnJheTxTbWFydFZpZXdIYW5kbGVyTW9kZWw+ID0gbmV3IEFycmF5KCk7XHJcbiAgcHJpdmF0ZSBvcGVuZWRWaWV3VXVpZHM6IEFycmF5PHN0cmluZz4gPSBuZXcgQXJyYXkoKTtcclxuICBwcml2YXRlIG9wZW5lZFZpZXdEYXRhOiBBcnJheTxWaWV3RGF0YT4gPSBuZXcgQXJyYXkoKTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyB1dWlkT2ZQYWdlSGFzQmVlbkNoYW5nZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG4gIHB1YmxpYyB2aWV3Q29udGV4dEhhc0JlZW5TeW5jZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBwcml2YXRlIGluaXRpYWxpemVSdW5uaW5nOiBTdWJqZWN0PFZpZXdDb250ZXh0RGF0YT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHB1YmxpYyBzbWFydFZpZXdDb250ZXh0QXBpRXJyb3JzPzogU21hcnRWaWV3Q29udGV4dEFwaUVycm9ycztcclxuXHJcbiAgcHVibGljIG9wZW5TbWFydExpbms6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBwdWJsaWMgaXNPcGVuaW5nU21hcnRMaW5rOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgZGlhbG9nUmVmczogU21hcnRWaWV3RGlhbG9nUmVmW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBhY3Rpb25EZXNjcmlwdG9ycz86IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XHJcblxyXG4gIHB1YmxpYyBjb21tb25GZWVkYmFja1RleHQ/OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBzbWFydEFwaUNsaWVudHM6IE1hcDxzdHJpbmcsIFNtYXJ0U3ViamVjdDxhbnk+PiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgcHVibGljIHNldCB0cmFuc2xhdGVTZXJ2aWNlKHRyYW5zbGF0ZVNlcnZpY2U6IFNtYXJ0VHJhbnNsYXRlU2VydmljZSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZSA9IHRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VDaGFuZ2VkLm5leHQoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZUNoYW5nZWQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdHJhbnNsYXRlU2VydmljZSgpOiBTbWFydFRyYW5zbGF0ZVNlcnZpY2UgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZT86IFNtYXJ0VHJhbnNsYXRlU2VydmljZTtcclxuICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZpZXc6IFZpZXdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBTbWFydE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFNtYXJ0ZGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpUXVldWVTZXJ2aWNlOiBBcGlRdWV1ZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2xsb3codXVpZDogc3RyaW5nLCBkZXRlY3RDaGFuZ2U6IFNtYXJ0U3ViamVjdDxhbnk+KTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0QXBpQ2xpZW50cy5zZXQodXVpZCwgZGV0ZWN0Q2hhbmdlKTtcclxuICB9XHJcbiAgcHVibGljIHVuZm9sbG93KHV1aWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydEFwaUNsaWVudHMuZGVsZXRlKHV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEFjdGlvbkRlc2NyaXB0b3JzKGFjdGlvbkRlc2NyaXB0b3JzOiBNYXA8c3RyaW5nLCBVaUFjdGlvbkRlc2NyaXB0b3I+KTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGlvbkRlc2NyaXB0b3JzID0gYWN0aW9uRGVzY3JpcHRvcnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aW9uRGVzY3JpcHRvcnMoKTogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aW9uRGVzY3JpcHRvcnMpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTm8gYWN0aW9uIGRlc2NyaXB0b3JzIGhhcyBiZWVuIHNldCB0byBWaWV3Q29udGV4dC4nKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmFjdGlvbkRlc2NyaXB0b3JzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpZXdIYW5kbGVycyh2aWV3SGFuZGxlcnM6IEFycmF5PFNtYXJ0Vmlld0hhbmRsZXJNb2RlbD4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0hhbmRsZXJzID0gdmlld0hhbmRsZXJzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpZXdBcGlFcnJvcnModmlld0FwaUVycm9yczogU21hcnRWaWV3Q29udGV4dEFwaUVycm9ycyk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydFZpZXdDb250ZXh0QXBpRXJyb3JzID0gdmlld0FwaUVycm9ycztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNZXNzYWdlRGlhbG9nTmFtZShtZXNzYWdlRGlhbG9nTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lc3NhZ2VEaWFsb2duYW1lID0gbWVzc2FnZURpYWxvZ05hbWU7XHJcbiAgICB0aGlzLnZpZXdIYW5kbGVycy5wdXNoKHtcclxuICAgICAgbmFtZTogbWVzc2FnZURpYWxvZ05hbWUsXHJcbiAgICAgIGNvbXBvbmVudDogTWVzc2FnZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcFVybEZvclZpZXdTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3LmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggPSB0aGlzLnVybDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudXJsID0gdXJsICsgJy92aWV3JztcclxuICAgIHRoaXMuc2V0VXBVcmxGb3JWaWV3U2VydmljZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFuZFN5bmNWaWV3Q29udGV4dCh1dWlkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXV1aWQpIHtcclxuICAgICAgdXVpZCA9IHRoaXMuZ2V0VXVpZE9mUGFnZSh0aGlzLnRhYklkTmFtZSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHV1aWQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnN5bmNWaWV3KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRWaWV3Q29udGV4dCh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPFZpZXdDb250ZXh0RGF0YT4ge1xyXG4gICAgdGhpcy52aWV3Q29udGV4dCA9IGF3YWl0IHRoaXMudmlldy5nZXRWaWV3Q29udGV4dCh1dWlkKS50b1Byb21pc2UoKTtcclxuICAgIGlmICghdGhpcy52aWV3Q29udGV4dCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZpZXdDb250ZXh0IGRvZXMgbm90IGV4aXN0IHdpdGggdGhlIGdpdmVuIHV1aWQuJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRWaWV3Q29udGV4dERhdGFCeVBhZ2VOYW1lKHBhZ2VOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFZpZXdEYXRhPiB7XHJcbiAgICBpZiAoIXRoaXMudmlld0NvbnRleHQpIHtcclxuICAgICAgbGV0IHZpZXdDb250ZXh0VXVpZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy50YWJJZE5hbWUpO1xyXG4gICAgICBpZiAoIXZpZXdDb250ZXh0VXVpZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVmlldyBjb250ZXh0IGlzIG5vdCBpbml0aWFsaXplZCEnKTtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHZpZXdDb250ZXh0VXVpZCEpO1xyXG4gICAgfVxyXG4gICAgbGV0IHBhZ2VVdWlkID0gdGhpcy5nZXRVdWlkT2ZQYWdlKHBhZ2VOYW1lKTtcclxuXHJcbiAgICBsZXQgdmlld0NvbnRleHRCeVBhZ2VOYW1lID0gdGhpcy52aWV3Q29udGV4dD8udmlld3MuZmluZCgodmlldykgPT4gdmlldy51dWlkID09PSBwYWdlVXVpZCk7XHJcbiAgICBpZiAoIXZpZXdDb250ZXh0QnlQYWdlTmFtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBWaWV3RGF0YSBvZiAke3BhZ2VOYW1lfSBpcyBub3QgZm91bmQhYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmlld0NvbnRleHRCeVBhZ2VOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZVZpZXdDb250ZXh0KFxyXG4gICAgdmlld0NvbnRleHRVcGRhdGU6IFZpZXdDb250ZXh0VXBkYXRlXHJcbiAgKTogUHJvbWlzZTxWaWV3Q29udGV4dERhdGEgfCB1bmRlZmluZWQ+IHtcclxuICAgIHRoaXMudmlld0NvbnRleHQgPSBhd2FpdCB0aGlzLnZpZXcudXBkYXRlVmlld0NvbnRleHQodmlld0NvbnRleHRVcGRhdGUpLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclNlc3Npb25TdG9yYWdlKCk6IHZvaWQge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIHRoaXMub3BlbmVkVmlld0RhdGEgPSBbXTtcclxuICAgIHRoaXMub3BlbmVkVmlld1V1aWRzID0gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRhYklkKHRhYklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy50YWJJZE5hbWUsIHRhYklkKTtcclxuICAgIHRoaXMuc2Vzc2lvbi5hZGRIZWFkZXJQYXJhbSh7XHJcbiAgICAgIGhlYWRlck5hbWU6IHRoaXMudGFiSWRodHRwSGVhZGVyTmFtZSxcclxuICAgICAgdmFsdWU6IHRhYklkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc3RhcnRWaWV3Q29udGV4dCgpOiBQcm9taXNlPFZpZXdDb250ZXh0RGF0YT4ge1xyXG4gICAgdGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblxyXG4gICAgbGV0IG5ld1ZpZXdDb250ZXh0OiBWaWV3Q29udGV4dERhdGEgfCB1bmRlZmluZWQgPSBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgLmNyZWF0ZVZpZXdDb250ZXh0KClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgaWYgKCFuZXdWaWV3Q29udGV4dCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIFZpZXdDb250ZXh0IHdhcyBjcmVhdGVkJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0ID0gbmV3Vmlld0NvbnRleHQ7XHJcbiAgICB0aGlzLnNldFRhYklkKG5ld1ZpZXdDb250ZXh0LnV1aWQhKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKHV1aWQ/OiBzdHJpbmcpOiBQcm9taXNlPFZpZXdDb250ZXh0RGF0YSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcudG9Qcm9taXNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlld0hhbmRsZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBcIlRoZXJlIGFyZW4ndCBhbnkgdmlld0hhbmRsZXJzIGluIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlISBQcm92aWRlIHNvbWUgdG8gdXNlIGl0cyBmdW5jdGlvbnMuXCJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlRGlhbG9nbmFtZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgbWVzc2FnZURpYWxvZ05hbWUgcHJvdmlkZWQgYnkgdGhlIGJhY2tlbmQgaGFzIG5vdCBiZWVuIHNldC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHV1aWQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VGFiSWQodXVpZCk7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHV1aWQpO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRWaWV3Q29udGV4dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Vmlld0NvbnRleHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0ITtcclxuICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nLm5leHQodGhpcy52aWV3Q29udGV4dCEpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblZpZXcodmlldzogVmlld0RhdGEpOiB2b2lkIHtcclxuICAgIGxldCB2aWV3SGFuZGxlcjogU21hcnRWaWV3SGFuZGxlck1vZGVsIHwgdW5kZWZpbmVkID0gdGhpcy52aWV3SGFuZGxlcnMuZmluZChcclxuICAgICAgKGhhbmRsZXIpID0+IGhhbmRsZXIubmFtZSA9PT0gdmlldy52aWV3TmFtZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXZpZXdIYW5kbGVyKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU21hcnRWaWV3SGFuZGxlck1vZGVsIHdhcyBub3QgZm91bmQgYnkgdmlldyBuYW1lOiAke3ZpZXcudmlld05hbWV9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmlldy50eXBlID09PSBWaWV3VHlwZS5EaWFsb2cpIHtcclxuICAgICAgaWYgKCF2aWV3SGFuZGxlci5jb21wb25lbnQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICBgQ29tcG9uZW50IGlzIHVuZGVmaW5lZCBpbiBTbWFydFZpZXdIYW5kbGVyTW9kZWwgd2l0aCBuYW1lOiAke3ZpZXcudmlld05hbWV9YFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW5Db21wb25lbnRBc0RpYWxvZyh2aWV3SGFuZGxlci5jb21wb25lbnQsIHZpZXdIYW5kbGVyLm5hbWUpO1xyXG4gICAgICBkaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgICAgLy8gaWYgKHZpZXcudmlld05hbWUgPT09IHRoaXMubWVzc2FnZURpYWxvZ25hbWUpIHtcclxuICAgICAgLy8gICBpZiAodmlldy5tZXNzYWdlPy5vcHRpb25zICYmIHZpZXcubWVzc2FnZS5vcHRpb25zLmxlbmd0aCkge1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZnMucHVzaCh7XHJcbiAgICAgICAgdXVpZDogdmlldy51dWlkLFxyXG4gICAgICAgIGRpYWxvZ1JlZixcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHZpZXcudHlwZSA9PT0gVmlld1R5cGUuTm9ybWFsKSB7XHJcbiAgICAgIGlmICh2aWV3SGFuZGxlci5yb3V0ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSb3V0ZSBpcyB1bmRlZmluZWQgaW4gU21hcnRWaWV3SGFuZGxlck1vZGVsIHdpdGggbmFtZTogJHt2aWV3LnZpZXdOYW1lfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZVRvKHZpZXdIYW5kbGVyLnJvdXRlLnNwbGl0KCcvJykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgdHlwZSBvZiB0aGUgdmlldyBhbmQgaXRzIHZpZXdIYW5kbGVyIGlzIG5vdCB0aGUgc2FtZSEnKTtcclxuICAgIH1cclxuXHJcbiAgICB2aWV3LnN0YXRlID0gVmlld1N0YXRlLk9wZW5lZDtcclxuXHJcbiAgICB0aGlzLm9wZW5lZFZpZXdVdWlkcy5wdXNoKHZpZXcudXVpZCk7XHJcbiAgICB0aGlzLm9wZW5lZFZpZXdEYXRhLnB1c2godmlldyk7XHJcblxyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh2aWV3LnZpZXdOYW1lLCB2aWV3LnV1aWQpO1xyXG4gICAgdGhpcy51dWlkT2ZQYWdlSGFzQmVlbkNoYW5nZWQubmV4dCh2aWV3LnZpZXdOYW1lKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVZpZXdDb250ZXh0KHtcclxuICAgICAgdXBkYXRlczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHN0YXRlOiBWaWV3U3RhdGUuT3BlbmVkLFxyXG4gICAgICAgICAgdXVpZDogdmlldy51dWlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHV1aWQ6IHRoaXMudmlld0NvbnRleHQ/LnV1aWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVZpZXcodmlldzogVmlld0RhdGEpOiB2b2lkIHtcclxuICAgIGxldCB2aWV3SGFuZGxlcjogU21hcnRWaWV3SGFuZGxlck1vZGVsIHwgdW5kZWZpbmVkID0gdGhpcy52aWV3SGFuZGxlcnMuZmluZChcclxuICAgICAgKGhhbmRsZXIpID0+IGhhbmRsZXIubmFtZSA9PT0gdmlldy52aWV3TmFtZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXZpZXdIYW5kbGVyKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU21hcnRWaWV3SGFuZGxlck1vZGVsIHdhcyBub3QgZm91bmQgYnkgdmlldyBuYW1lOiAke3ZpZXcudmlld05hbWV9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZpZXcudHlwZSA9PT0gVmlld1R5cGUuRGlhbG9nKSB7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1JlZnMuZmluZChcclxuICAgICAgICAoZGlhbG9nUmVmOiBTbWFydFZpZXdEaWFsb2dSZWYpID0+IGRpYWxvZ1JlZi51dWlkID09PSB2aWV3LnV1aWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGRpYWxvZ1JlZikge1xyXG4gICAgICAgIGRpYWxvZ1JlZi5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmRpYWxvZ1JlZnMuaW5kZXhPZihkaWFsb2dSZWYpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRGlhbG9nUmVmIGlzIG5vdCBmb3VuZCBieSB1dWlkLicpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHZpZXcudHlwZSA9PT0gVmlld1R5cGUuTm9ybWFsKSB7XHJcbiAgICAgIC8vIFRPRE86IGNsb3NlIG5vcm1hbCBwYWdlPz8/XHJcbiAgICAgIC8vIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZVRvKHZpZXdIYW5kbGVyLnJvdXRlLnNwbGl0KFwiL1wiKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSB0eXBlIG9mIHRoZSB2aWV3IGFuZCBpdHMgdmlld0hhbmRsZXIgaXMgbm90IHRoZSBzYW1lIScpO1xyXG4gICAgfVxyXG5cclxuICAgIHZpZXcuc3RhdGUgPSBWaWV3U3RhdGUuQ2xvc2VkO1xyXG5cclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcGVuZWRWaWV3VXVpZHMuaW5kZXhPZih2aWV3LnV1aWQpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5vcGVuZWRWaWV3VXVpZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgdGhpcy5vcGVuZWRWaWV3RGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHZpZXcudmlld05hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlVmlld0NvbnRleHQoe1xyXG4gICAgICB1cGRhdGVzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc3RhdGU6IFZpZXdTdGF0ZS5DbG9zZWQsXHJcbiAgICAgICAgICB1dWlkOiB2aWV3LnV1aWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgdXVpZDogdGhpcy52aWV3Q29udGV4dD8udXVpZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc3RvcmVWaWV3cyh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy52aWV3Q29udGV4dCkge1xyXG4gICAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHV1aWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3Q29udGV4dCEudmlld3MubWFwKCh2aWV3OiBWaWV3RGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLm9wZW5WaWV3KHZpZXcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3luY1ZpZXcoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0Py52aWV3cy5tYXAoKHZpZXc6IFZpZXdEYXRhKSA9PiB7XHJcbiAgICAgIHN3aXRjaCAodmlldy5zdGF0ZSkge1xyXG4gICAgICAgIGNhc2UgVmlld1N0YXRlLlRvT3BlbjpcclxuICAgICAgICAgIHRoaXMub3BlblZpZXcodmlldyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZpZXdTdGF0ZS5Ub0Nsb3NlOlxyXG4gICAgICAgICAgdGhpcy5jbG9zZVZpZXcodmlldyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgdmlld0RhdGFUb0Nsb3NlID0gdGhpcy5vcGVuZWRWaWV3RGF0YS5maWx0ZXIoXHJcbiAgICAgICh2aWV3RGF0YTogVmlld0RhdGEpID0+XHJcbiAgICAgICAgIXRoaXMudmlld0NvbnRleHQ/LnZpZXdzXHJcbiAgICAgICAgICAuZmxhdE1hcCgodmlld0RhdGE6IFZpZXdEYXRhKSA9PiB2aWV3RGF0YS51dWlkKVxyXG4gICAgICAgICAgLmluY2x1ZGVzKHZpZXdEYXRhLnV1aWQpXHJcbiAgICApO1xyXG4gICAgaWYgKHZpZXdEYXRhVG9DbG9zZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHZpZXdEYXRhVG9DbG9zZS5tYXAoKHZpZXdEYXRhOiBWaWV3RGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VWaWV3KHZpZXdEYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGV4dEhhc0JlZW5TeW5jZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFV1aWRPZlBhZ2UocGFnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdXVpZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0ocGFnZU5hbWUpO1xyXG4gICAgaWYgKCF1dWlkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHV1aWQgb2YgJHtwYWdlTmFtZX0gaXMgbm90IGF2YWlsYWJsZS5gKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1dWlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG1lc3NhZ2UobWVzc2FnZURhdGE6IE1lc3NhZ2VEYXRhLCBtZXNzYWdlUmVzdWx0OiBNZXNzYWdlUmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgLm1lc3NhZ2UobWVzc2FnZURhdGEudmlld1V1aWQgPz8gJycsIG1lc3NhZ2VEYXRhLnV1aWQsIG1lc3NhZ2VSZXN1bHQpXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIGF3YWl0IHRoaXMuZ2V0QW5kU3luY1ZpZXdDb250ZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U21hcnRWaWV3Q29udGV4dEFwaUVycm9yQnlDb2RlKGNvZGU6IHN0cmluZyk6IFByb21pc2U8U21hcnRWaWV3Q29udGV4dEFwaUVycm9yPiB7XHJcbiAgICBsZXQgYnV0dG9uTGFiZWw7XHJcbiAgICBsZXQgZGlhbG9nVGl0bGU7XHJcbiAgICBsZXQgbWVzc2FnZTtcclxuICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgYnV0dG9uTGFiZWwgPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICAgICAuZ2V0KFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0J1dHRvbkxhYmVsKVxyXG4gICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgICAgZGlhbG9nVGl0bGUgPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ1RpdGxlKS50b1Byb21pc2UoKTtcclxuICAgICAgbWVzc2FnZSA9IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nTWVzc2FnZSkudG9Qcm9taXNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBidXR0b25MYWJlbCA9ICdPayc7XHJcbiAgICAgIGRpYWxvZ1RpdGxlID0gJ0hpYmEnO1xyXG4gICAgICBtZXNzYWdlID0gJ0FuIGVycm9yIGhhcyBvY2N1cmVkLic7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcnMpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgYnV0dG9uTGFiZWwsXHJcbiAgICAgICAgZGlhbG9nVGl0bGUsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgYXBpRXJyb3JzV2l0aENvZGUgPSB0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcnMudmlld0NvbnRleHRBcGlFcnJvcnMuZmlsdGVyKFxyXG4gICAgICAoYXBpRXJyb3I6IFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBhcGlFcnJvci5jb2RlID09PSBjb2RlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgaWYgKCFhcGlFcnJvcnNXaXRoQ29kZSB8fCAoYXBpRXJyb3JzV2l0aENvZGUgJiYgIWFwaUVycm9yc1dpdGhDb2RlLmxlbmd0aCkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgU21hcnRWaWV3Q29udGV4dEFwaUVycm9yIHdpdGggY29kZSAke2NvZGV9IGNvdWxkIG5vdCBiZSBmb3VuZC5gKTtcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBtZXNzYWdlLFxyXG4gICAgICAgIGJ1dHRvbkxhYmVsLFxyXG4gICAgICAgIGRpYWxvZ1RpdGxlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFwaUVycm9yc1dpdGhDb2RlWzBdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFZpZXdDb25zdHJhaW50KHV1aWQ6IHN0cmluZyk6IFByb21pc2U8Vmlld0NvbnN0cmFpbnQ+IHtcclxuICAgIGxldCB2aWV3Q29uc3RyYWludFJlc3BvbnNlID0gYXdhaXQgdGhpcy52aWV3LmdldFZpZXdDb25zdHJhaW50KHV1aWQpLnRvUHJvbWlzZSgpO1xyXG4gICAgaWYgKCF2aWV3Q29uc3RyYWludFJlc3BvbnNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBnZXQgVmlld0NvbnN0cmFpbnQgd2l0aCB0aGUgZ2l2ZW4gdXVpZC4nKTtcclxuICAgIHJldHVybiB2aWV3Q29uc3RyYWludFJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNob3dQdWJsaXNoZWRWaWV3KGNoYW5uZWw6IHN0cmluZywgdXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnNlc3Npb24uaW5pdGlhbGl6ZSgpO1xyXG4gICAgLy8gVE9ETyBpbml0IHZpZXcgY29udGV4dCBhdXRvbWF0aWNhbGx5XHJcbiAgICAvLyBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcclxuXHJcbiAgICB0aGlzLmlzT3BlbmluZ1NtYXJ0TGluayA9IHRydWU7XHJcbiAgICB0aGlzLm9wZW5TbWFydExpbmsubmV4dCgpO1xyXG4gICAgYXdhaXQgdGhpcy5vcGVuU21hcnRMaW5rLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMudmlldy5zaG93UHVibGlzaGVkVmlldyhjaGFubmVsLCB1dWlkKS50b1Byb21pc2UoKTtcclxuICAgIGF3YWl0IHRoaXMuZ2V0QW5kU3luY1ZpZXdDb250ZXh0KCk7XHJcbiAgICB0aGlzLmlzT3BlbmluZ1NtYXJ0TGluayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRvd25sb2FkUmVzb3VyY2UodXVpZDogc3RyaW5nLCBpdGVtOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudmlldy5kb3dubG9hZEl0ZW0odXVpZCwgaXRlbSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGVyZm9ybUFjdGlvbih1dWlkOiBzdHJpbmcsIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGVyZm9ybUFjdGlvbih7XHJcbiAgICAgIHV1aWQsXHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgIH0pO1xyXG4gICAgLy8gY29uc3QgaXNDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLy8gdGhpcy5hcGlRdWV1ZVNlcnZpY2UuYWRkVG9RdWV1ZSh7XHJcbiAgICAvLyAgIGNhbGxiYWNrOiB0aGlzLl9wZXJmb3JtQWN0aW9uLmJpbmQodGhpcyksXHJcbiAgICAvLyAgIGNvbmZpZzoge1xyXG4gICAgLy8gICAgIHV1aWQsXHJcbiAgICAvLyAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICBpc0NvbXBsZXRlZCxcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gcmV0dXJuIGF3YWl0IGlzQ29tcGxldGVkLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHBlcmZvcm1XaWRnZXRBY3Rpb24oXHJcbiAgICB1dWlkOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRJZDogc3RyaW5nLFxyXG4gICAgbm9kZUlkOiBzdHJpbmcsXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3BlcmZvcm1XaWRnZXRBY3Rpb24oeyB1dWlkLCB3aWRnZXRJZCwgbm9kZUlkLCB1aUFjdGlvblJlcXVlc3QgfSk7XHJcbiAgICAvLyBjb25zdCBpc0NvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAvLyB0aGlzLmFwaVF1ZXVlU2VydmljZS5hZGRUb1F1ZXVlKHtcclxuICAgIC8vICAgY2FsbGJhY2s6IHRoaXMuX3BlcmZvcm1XaWRnZXRBY3Rpb24uYmluZCh0aGlzKSxcclxuICAgIC8vICAgY29uZmlnOiB7XHJcbiAgICAvLyAgICAgdXVpZCxcclxuICAgIC8vICAgICB3aWRnZXRJZCxcclxuICAgIC8vICAgICBub2RlSWQsXHJcbiAgICAvLyAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICBpc0NvbXBsZXRlZCxcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gcmV0dXJuIGF3YWl0IGlzQ29tcGxldGVkLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHBlcmZvcm1XaWRnZXRNYWluQWN0aW9uKFxyXG4gICAgdXVpZDogc3RyaW5nLFxyXG4gICAgd2lkZ2V0SWQ6IHN0cmluZyxcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGVyZm9ybVdpZGdldE1haW5BY3Rpb24oeyB1dWlkLCB3aWRnZXRJZCwgdWlBY3Rpb25SZXF1ZXN0IH0pO1xyXG4gICAgLy8gY29uc3QgaXNDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLy8gdGhpcy5hcGlRdWV1ZVNlcnZpY2UuYWRkVG9RdWV1ZSh7XHJcbiAgICAvLyAgIGNhbGxiYWNrOiB0aGlzLl9wZXJmb3JtV2lkZ2V0TWFpbkFjdGlvbi5iaW5kKHRoaXMpLFxyXG4gICAgLy8gICBjb25maWc6IHtcclxuICAgIC8vICAgICB1dWlkLFxyXG4gICAgLy8gICAgIHdpZGdldElkLFxyXG4gICAgLy8gICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgIC8vICAgfSxcclxuICAgIC8vICAgaXNDb21wbGV0ZWQsXHJcbiAgICAvLyB9KTtcclxuICAgIC8vIHJldHVybiBhd2FpdCBpc0NvbXBsZXRlZC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwZXJmb3JtVXBsb2FkQWN0aW9uKFxyXG4gICAgdXVpZDogc3RyaW5nLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICBwYXJhbTogJ0lOUFVUJyB8ICdJTlBVVDInLFxyXG4gICAgY29udGVudDogYW55XHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9wZXJmb3JtVXBsb2FkQWN0aW9uKHtcclxuICAgICAgdXVpZCxcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgICBwYXJhbSxcclxuICAgICAgY29udGVudCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHBlcmZvcm1VcGxvYWRNdWx0aXBsZUFjdGlvbihcclxuICAgIHV1aWQ6IHN0cmluZyxcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgcGFyYW06ICdJTlBVVCcgfCAnSU5QVVQyJyxcclxuICAgIGNvbnRlbnQ6IGFueVtdXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9wZXJmb3JtVXBsb2FkTXVsdGlwbGVBY3Rpb24oe1xyXG4gICAgICB1dWlkLFxyXG4gICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgIHBhcmFtLFxyXG4gICAgICBjb250ZW50LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGF0YUNoYW5nZWQodXVpZDogc3RyaW5nLCBkYXRhQ2hhbmdlOiBEYXRhQ2hhbmdlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fZGF0YUNoYW5nZWQoeyB1dWlkLCBkYXRhQ2hhbmdlIH0pO1xyXG4gICAgLy8gY29uc3QgaXNDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLy8gdGhpcy5hcGlRdWV1ZVNlcnZpY2UuYWRkVG9RdWV1ZShcclxuICAgIC8vICAge1xyXG4gICAgLy8gICAgIGNhbGxiYWNrOiB0aGlzLl9kYXRhQ2hhbmdlZC5iaW5kKHRoaXMpLFxyXG4gICAgLy8gICAgIGNvbmZpZzoge1xyXG4gICAgLy8gICAgICAgdXVpZCxcclxuICAgIC8vICAgICAgIGRhdGFDaGFuZ2UsXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICBpc0NvbXBsZXRlZCxcclxuICAgIC8vICAgfSxcclxuICAgIC8vICAgdHJ1ZVxyXG4gICAgLy8gKTtcclxuICAgIC8vIHJldHVybiBhd2FpdCBpc0NvbXBsZXRlZC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1BY3Rpb24oY29uZmlnOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy52aWV3LnBlcmZvcm1BY3Rpb24oY29uZmlnLnV1aWQsIGNvbmZpZy51aUFjdGlvblJlcXVlc3QpLnRvUHJvbWlzZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcGVyZm9ybVdpZGdldEFjdGlvbihjb25maWc6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxyXG4gICAgICBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgICAucGVyZm9ybVdpZGdldEFjdGlvbihjb25maWcudXVpZCwgY29uZmlnLndpZGdldElkLCBjb25maWcubm9kZUlkLCBjb25maWcudWlBY3Rpb25SZXF1ZXN0KVxyXG4gICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1XaWRnZXRNYWluQWN0aW9uKGNvbmZpZzogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXHJcbiAgICAgIGF3YWl0IHRoaXMudmlld1xyXG4gICAgICAgIC5wZXJmb3JtV2lkZ2V0TWFpbkFjdGlvbihjb25maWcudXVpZCwgY29uZmlnLndpZGdldElkLCBjb25maWcudWlBY3Rpb25SZXF1ZXN0KVxyXG4gICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1VcGxvYWRBY3Rpb24oY29uZmlnOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy52aWV3XHJcbiAgICAgICAgLnVwbG9hZEFjdGlvbihcclxuICAgICAgICAgIGNvbmZpZy51dWlkLFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoY29uZmlnLnVpQWN0aW9uUmVxdWVzdCksXHJcbiAgICAgICAgICBjb25maWcucGFyYW0sXHJcbiAgICAgICAgICBjb25maWcuY29udGVudFxyXG4gICAgICAgIClcclxuICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1VcGxvYWRNdWx0aXBsZUFjdGlvbihjb25maWc6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxyXG4gICAgICBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgICAudXBsb2FkTXVsdGlwbGVBY3Rpb24oXHJcbiAgICAgICAgICBjb25maWcudXVpZCxcclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGNvbmZpZy51aUFjdGlvblJlcXVlc3QpLFxyXG4gICAgICAgICAgY29uZmlnLnBhcmFtLFxyXG4gICAgICAgICAgY29uZmlnLmNvbnRlbnRcclxuICAgICAgICApXHJcbiAgICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZGF0YUNoYW5nZWQoY29uZmlnOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy52aWV3LmRhdGFDaGFuZ2VkKGNvbmZpZy51dWlkLCBjb25maWcuZGF0YUNoYW5nZSkudG9Qcm9taXNlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxyXG4gICAgdmlld0NvbnRleHRDaGFuZ2U6IFZpZXdDb250ZXh0Q2hhbmdlIHwgdW5kZWZpbmVkXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0ID0gdmlld0NvbnRleHRDaGFuZ2U/LnZpZXdDb250ZXh0O1xyXG4gICAgdGhpcy5zeW5jVmlldygpO1xyXG5cclxuICAgIGlmICh2aWV3Q29udGV4dENoYW5nZT8uY2hhbmdlcykge1xyXG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXModmlld0NvbnRleHRDaGFuZ2UuY2hhbmdlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUNoYW5nZXMoY2hhbmdlczogQXJyYXk8Q29tcG9uZW50TW9kZWxDaGFuZ2U+KTogdm9pZCB7XHJcbiAgICBjaGFuZ2VzLmZvckVhY2goKGNvbXBvbmVudE1vZGVsQ2hhbmdlOiBDb21wb25lbnRNb2RlbENoYW5nZSkgPT4ge1xyXG4gICAgICBsZXQgZGV0ZWN0Q2hhbmdlOiBTbWFydFN1YmplY3Q8Q29tcG9uZW50TW9kZWxDaGFuZ2U+IHwgdW5kZWZpbmVkID0gdGhpcy5zbWFydEFwaUNsaWVudHMuZ2V0KFxyXG4gICAgICAgIGNvbXBvbmVudE1vZGVsQ2hhbmdlLnV1aWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGRldGVjdENoYW5nZSkge1xyXG4gICAgICAgIGRldGVjdENoYW5nZS5uZXh0KGNvbXBvbmVudE1vZGVsQ2hhbmdlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9hZCh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy52aWV3LmdldENvbXBvbmVudE1vZGVsKHV1aWQpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvYWQyKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8Vmlld0NvbnRleHRDaGFuZ2UgfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLnZpZXcuZ2V0Q29tcG9uZW50TW9kZWwyKHV1aWQpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IElTX0FTWU5DX1BBUkFNX05BTUUgPSAnaXNBc3luYyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwaVF1ZXVlQ2FsbCB7XHJcbiAgY2FsbGJhY2s6IChjb25maWc6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIGNvbmZpZzogYW55O1xyXG4gIGlzQ29tcGxldGVkOiBTdWJqZWN0PHZvaWQ+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpUXVldWVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgcXVldWU6IEFwaVF1ZXVlQ2FsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBpc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIHF1ZXVlU3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucXVldWVTdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJvY2Vzc1F1ZXVlKCkpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBhZGRUb1F1ZXVlKGNhbGw6IEFwaVF1ZXVlQ2FsbCwgcHJpb3JpdHk6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgaWYgKHByaW9yaXR5KSB7XHJcbiAgICAgIHRoaXMucXVldWUudW5zaGlmdChjYWxsKTsgLy8gQWRkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHF1ZXVlIGlmIGl0IGhhcyBoaWdoZXIgcHJpb3JpdHlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucXVldWUucHVzaChjYWxsKTsgLy8gQWRkIGF0IHRoZSBlbmQgb2YgdGhlIHF1ZXVlIGlmIGl0IGhhcyBsb3dlciBwcmlvcml0eVxyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmlzUHJvY2Vzc2luZykge1xyXG4gICAgICB0aGlzLnByb2Nlc3NRdWV1ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcHJvY2Vzc1F1ZXVlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMucXVldWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhcGlRdWV1ZUNhbGwgPSB0aGlzLnF1ZXVlLnNoaWZ0KCk7XHJcbiAgICBpZiAoYXBpUXVldWVDYWxsKSB7XHJcbiAgICAgIGF3YWl0IGFwaVF1ZXVlQ2FsbC5jYWxsYmFjayhhcGlRdWV1ZUNhbGwuY29uZmlnKTtcclxuICAgICAgYXBpUXVldWVDYWxsLmlzQ29tcGxldGVkLmNvbXBsZXRlKCk7XHJcbiAgICAgIHRoaXMucXVldWVTdWJqZWN0Lm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
539
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL2xpYi92aWV3LWNvbnRleHQvc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUN0RCxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUxQyxPQUFPLEVBY0wsU0FBUyxFQUNULFFBQVEsR0FDVCxNQUFNLE9BQU8sQ0FBQztBQUNmLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBUW5GLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBSXpELE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHLHdDQUF3QyxDQUFDO0FBQy9GLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLGtDQUFrQyxDQUFDO0FBQ25GLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFHLG9DQUFvQyxDQUFDO0FBS3ZGLE1BQU0sT0FBTyx1QkFBdUI7SUE0Q2xDLFlBQ1UsSUFBaUIsRUFDakIsT0FBNEIsRUFDNUIsVUFBa0MsRUFDbEMsTUFBMEIsRUFDMUIsZUFBZ0M7UUFKaEMsU0FBSSxHQUFKLElBQUksQ0FBYTtRQUNqQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQUM1QixlQUFVLEdBQVYsVUFBVSxDQUF3QjtRQUNsQyxXQUFNLEdBQU4sTUFBTSxDQUFvQjtRQUMxQixvQkFBZSxHQUFmLGVBQWUsQ0FBaUI7UUFoRGxDLGNBQVMsR0FBVyxpQkFBaUIsQ0FBQztRQUN0Qyx3QkFBbUIsR0FBVyxpQkFBaUIsQ0FBQztRQUloRCxpQkFBWSxHQUFpQyxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pELG9CQUFlLEdB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LFVBQVUsQ0FBQyxJQUFrQixFQUFFLFdBQW9CLEtBQUs7UUFDdEQsSUFBSSxRQUFRLEVBQUU7WUFDWixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDhEQUE4RDtTQUN6RjthQUFNO1lBQ0wsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyx1REFBdUQ7U0FDL0U7UUFDRCxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDM0IsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7WUFDMUIsT0FBTztTQUNSO1FBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN4QyxJQUFJLFlBQVksRUFBRTtZQUNoQixNQUFNLFlBQVksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELFlBQVksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztTQUMxQjtJQUNILENBQUM7OzRHQXRDVSxlQUFlO2dIQUFmLGVBQWUsY0FGZCxNQUFNOzJGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgT25EZXN0cm95IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBTbWFydFNlc3Npb25TZXJ2aWNlIH0gZnJvbSAnLi4vc2Vzc2lvbi9zbWFydC1zZXNzaW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQge1xyXG4gIENvbXBvbmVudE1vZGVsLFxyXG4gIENvbXBvbmVudE1vZGVsQ2hhbmdlLFxyXG4gIERhdGFDaGFuZ2UsXHJcbiAgTWVzc2FnZURhdGEsXHJcbiAgTWVzc2FnZVJlc3VsdCxcclxuICBVaUFjdGlvbkRlc2NyaXB0b3IsXHJcbiAgVWlBY3Rpb25SZXF1ZXN0LFxyXG4gIFZpZXdDb25zdHJhaW50LFxyXG4gIFZpZXdDb250ZXh0Q2hhbmdlLFxyXG4gIFZpZXdDb250ZXh0RGF0YSxcclxuICBWaWV3Q29udGV4dFVwZGF0ZSxcclxuICBWaWV3RGF0YSxcclxuICBWaWV3U2VydmljZSxcclxuICBWaWV3U3RhdGUsXHJcbiAgVmlld1R5cGUsXHJcbn0gZnJvbSAnLi9hcGknO1xyXG5pbXBvcnQgeyBNZXNzYWdlRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9tZXNzYWdlLWRpYWxvZy9tZXNzYWdlLWRpYWxvZy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1xyXG4gIFNtYXJ0VHJhbnNsYXRlU2VydmljZSxcclxuICBTbWFydFZpZXdDb250ZXh0QXBpRXJyb3IsXHJcbiAgU21hcnRWaWV3Q29udGV4dEFwaUVycm9ycyxcclxuICBTbWFydFZpZXdEaWFsb2dSZWYsXHJcbiAgU21hcnRWaWV3SGFuZGxlck1vZGVsLFxyXG59IGZyb20gJy4vc21hcnQtdmlldy1jb250ZXh0Lm1vZGVsJztcclxuaW1wb3J0IHsgU21hcnRTdWJqZWN0IH0gZnJvbSAnLi4vc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XHJcbmltcG9ydCB7IFNtYXJ0TmF2aWdhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9zbWFydC1uYXZpZ2F0aW9uL3Byb2plY3RzJztcclxuaW1wb3J0IHsgU21hcnRkaWFsb2dTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtZGlhbG9nL3Byb2plY3RzJztcclxuXHJcbmV4cG9ydCBjb25zdCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dCdXR0b25MYWJlbCA9ICdTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dCdXR0b25MYWJlbCc7XHJcbmV4cG9ydCBjb25zdCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dUaXRsZSA9ICdTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dUaXRsZSc7XHJcbmV4cG9ydCBjb25zdCBTbWFydFZpZXdDb250ZXh0RXJyb3JEaWFsb2dNZXNzYWdlID0gJ1NtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ01lc3NhZ2UnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIHRhYklkTmFtZTogc3RyaW5nID0gJ3ZpZXdDb250ZXh0VXVpZCc7XHJcbiAgcHJpdmF0ZSB0YWJJZGh0dHBIZWFkZXJOYW1lOiBzdHJpbmcgPSAndmlld0NvbnRleHRVdWlkJztcclxuICBwdWJsaWMgbWVzc2FnZURpYWxvZ25hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcclxuICBwcml2YXRlIHVybD86IHN0cmluZztcclxuICBwcml2YXRlIHZpZXdDb250ZXh0PzogVmlld0NvbnRleHREYXRhO1xyXG4gIHByaXZhdGUgdmlld0hhbmRsZXJzOiBBcnJheTxTbWFydFZpZXdIYW5kbGVyTW9kZWw+ID0gbmV3IEFycmF5KCk7XHJcbiAgcHJpdmF0ZSBvcGVuZWRWaWV3VXVpZHM6IEFycmF5PHN0cmluZz4gPSBuZXcgQXJyYXkoKTtcclxuICBwcml2YXRlIG9wZW5lZFZpZXdEYXRhOiBBcnJheTxWaWV3RGF0YT4gPSBuZXcgQXJyYXkoKTtcclxuXHJcbiAgcHJpdmF0ZSBfZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHB1YmxpYyB1dWlkT2ZQYWdlSGFzQmVlbkNoYW5nZWQ6IFN1YmplY3Q8c3RyaW5nPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG4gIHB1YmxpYyB2aWV3Q29udGV4dEhhc0JlZW5TeW5jZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBwcml2YXRlIGluaXRpYWxpemVSdW5uaW5nOiBTdWJqZWN0PFZpZXdDb250ZXh0RGF0YT4gfCB1bmRlZmluZWQ7XHJcblxyXG4gIHB1YmxpYyBzbWFydFZpZXdDb250ZXh0QXBpRXJyb3JzPzogU21hcnRWaWV3Q29udGV4dEFwaUVycm9ycztcclxuXHJcbiAgcHVibGljIG9wZW5TbWFydExpbms6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuICBwdWJsaWMgaXNPcGVuaW5nU21hcnRMaW5rOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHByaXZhdGUgZGlhbG9nUmVmczogU21hcnRWaWV3RGlhbG9nUmVmW10gPSBbXTtcclxuXHJcbiAgcHJpdmF0ZSBhY3Rpb25EZXNjcmlwdG9ycz86IE1hcDxzdHJpbmcsIFVpQWN0aW9uRGVzY3JpcHRvcj47XHJcblxyXG4gIHB1YmxpYyBjb21tb25GZWVkYmFja1RleHQ/OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyBzbWFydEFwaUNsaWVudHM6IE1hcDxzdHJpbmcsIFNtYXJ0U3ViamVjdDxhbnk+PiA9IG5ldyBNYXAoKTtcclxuXHJcbiAgcHVibGljIHNldCB0cmFuc2xhdGVTZXJ2aWNlKHRyYW5zbGF0ZVNlcnZpY2U6IFNtYXJ0VHJhbnNsYXRlU2VydmljZSB8IHVuZGVmaW5lZCkge1xyXG4gICAgdGhpcy5fdHJhbnNsYXRlU2VydmljZSA9IHRyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VDaGFuZ2VkLm5leHQoKTtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZUNoYW5nZWQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdHJhbnNsYXRlU2VydmljZSgpOiBTbWFydFRyYW5zbGF0ZVNlcnZpY2UgfCB1bmRlZmluZWQge1xyXG4gICAgaWYgKHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2U7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfdHJhbnNsYXRlU2VydmljZT86IFNtYXJ0VHJhbnNsYXRlU2VydmljZTtcclxuICBwdWJsaWMgdHJhbnNsYXRlU2VydmljZUNoYW5nZWQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU21hcnRTdWJqZWN0KHRoaXMuX2Rlc3Ryb3kkKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHZpZXc6IFZpZXdTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzZXNzaW9uOiBTbWFydFNlc3Npb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBuYXZpZ2F0aW9uOiBTbWFydE5hdmlnYXRpb25TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkaWFsb2c6IFNtYXJ0ZGlhbG9nU2VydmljZSxcclxuICAgIHByaXZhdGUgYXBpUXVldWVTZXJ2aWNlOiBBcGlRdWV1ZVNlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5fZGVzdHJveSQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb2xsb3codXVpZDogc3RyaW5nLCBkZXRlY3RDaGFuZ2U6IFNtYXJ0U3ViamVjdDxhbnk+KTogdm9pZCB7XHJcbiAgICB0aGlzLnNtYXJ0QXBpQ2xpZW50cy5zZXQodXVpZCwgZGV0ZWN0Q2hhbmdlKTtcclxuICB9XHJcbiAgcHVibGljIHVuZm9sbG93KHV1aWQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydEFwaUNsaWVudHMuZGVsZXRlKHV1aWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldEFjdGlvbkRlc2NyaXB0b3JzKGFjdGlvbkRlc2NyaXB0b3JzOiBNYXA8c3RyaW5nLCBVaUFjdGlvbkRlc2NyaXB0b3I+KTogdm9pZCB7XHJcbiAgICB0aGlzLmFjdGlvbkRlc2NyaXB0b3JzID0gYWN0aW9uRGVzY3JpcHRvcnM7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0QWN0aW9uRGVzY3JpcHRvcnMoKTogTWFwPHN0cmluZywgVWlBY3Rpb25EZXNjcmlwdG9yPiB8IHVuZGVmaW5lZCB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aW9uRGVzY3JpcHRvcnMpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignTm8gYWN0aW9uIGRlc2NyaXB0b3JzIGhhcyBiZWVuIHNldCB0byBWaWV3Q29udGV4dC4nKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmFjdGlvbkRlc2NyaXB0b3JzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpZXdIYW5kbGVycyh2aWV3SGFuZGxlcnM6IEFycmF5PFNtYXJ0Vmlld0hhbmRsZXJNb2RlbD4pOiB2b2lkIHtcclxuICAgIHRoaXMudmlld0hhbmRsZXJzID0gdmlld0hhbmRsZXJzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldFZpZXdBcGlFcnJvcnModmlld0FwaUVycm9yczogU21hcnRWaWV3Q29udGV4dEFwaUVycm9ycyk6IHZvaWQge1xyXG4gICAgdGhpcy5zbWFydFZpZXdDb250ZXh0QXBpRXJyb3JzID0gdmlld0FwaUVycm9ycztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRNZXNzYWdlRGlhbG9nTmFtZShtZXNzYWdlRGlhbG9nTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLm1lc3NhZ2VEaWFsb2duYW1lID0gbWVzc2FnZURpYWxvZ05hbWU7XHJcbiAgICB0aGlzLnZpZXdIYW5kbGVycy5wdXNoKHtcclxuICAgICAgbmFtZTogbWVzc2FnZURpYWxvZ05hbWUsXHJcbiAgICAgIGNvbXBvbmVudDogTWVzc2FnZURpYWxvZ0NvbXBvbmVudCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRVcFVybEZvclZpZXdTZXJ2aWNlKCk6IHZvaWQge1xyXG4gICAgdGhpcy52aWV3LmNvbmZpZ3VyYXRpb24uYmFzZVBhdGggPSB0aGlzLnVybDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXRVcmwodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMudXJsID0gdXJsICsgJy92aWV3JztcclxuICAgIHRoaXMuc2V0VXBVcmxGb3JWaWV3U2VydmljZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldEFuZFN5bmNWaWV3Q29udGV4dCh1dWlkPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBpZiAoIXV1aWQpIHtcclxuICAgICAgdXVpZCA9IHRoaXMuZ2V0VXVpZE9mUGFnZSh0aGlzLnRhYklkTmFtZSk7XHJcbiAgICB9XHJcbiAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHV1aWQpLnRoZW4oKCkgPT4ge1xyXG4gICAgICB0aGlzLnN5bmNWaWV3KCk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRWaWV3Q29udGV4dCh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPFZpZXdDb250ZXh0RGF0YT4ge1xyXG4gICAgdGhpcy52aWV3Q29udGV4dCA9IGF3YWl0IHRoaXMudmlldy5nZXRWaWV3Q29udGV4dCh1dWlkKS50b1Byb21pc2UoKTtcclxuICAgIGlmICghdGhpcy52aWV3Q29udGV4dCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1ZpZXdDb250ZXh0IGRvZXMgbm90IGV4aXN0IHdpdGggdGhlIGdpdmVuIHV1aWQuJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBnZXRWaWV3Q29udGV4dERhdGFCeVBhZ2VOYW1lKHBhZ2VOYW1lOiBzdHJpbmcpOiBQcm9taXNlPFZpZXdEYXRhPiB7XHJcbiAgICBpZiAoIXRoaXMudmlld0NvbnRleHQpIHtcclxuICAgICAgbGV0IHZpZXdDb250ZXh0VXVpZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0odGhpcy50YWJJZE5hbWUpO1xyXG4gICAgICBpZiAoIXZpZXdDb250ZXh0VXVpZCkge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVmlldyBjb250ZXh0IGlzIG5vdCBpbml0aWFsaXplZCEnKTtcclxuICAgICAgfVxyXG4gICAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHZpZXdDb250ZXh0VXVpZCEpO1xyXG4gICAgfVxyXG4gICAgbGV0IHBhZ2VVdWlkID0gdGhpcy5nZXRVdWlkT2ZQYWdlKHBhZ2VOYW1lKTtcclxuXHJcbiAgICBsZXQgdmlld0NvbnRleHRCeVBhZ2VOYW1lID0gdGhpcy52aWV3Q29udGV4dD8udmlld3MuZmluZCgodmlldykgPT4gdmlldy51dWlkID09PSBwYWdlVXVpZCk7XHJcbiAgICBpZiAoIXZpZXdDb250ZXh0QnlQYWdlTmFtZSkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFRoZSBWaWV3RGF0YSBvZiAke3BhZ2VOYW1lfSBpcyBub3QgZm91bmQhYCk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmlld0NvbnRleHRCeVBhZ2VOYW1lO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHVwZGF0ZVZpZXdDb250ZXh0KFxyXG4gICAgdmlld0NvbnRleHRVcGRhdGU6IFZpZXdDb250ZXh0VXBkYXRlXHJcbiAgKTogUHJvbWlzZTxWaWV3Q29udGV4dERhdGEgfCB1bmRlZmluZWQ+IHtcclxuICAgIHRoaXMudmlld0NvbnRleHQgPSBhd2FpdCB0aGlzLnZpZXcudXBkYXRlVmlld0NvbnRleHQodmlld0NvbnRleHRVcGRhdGUpLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbGVhclNlc3Npb25TdG9yYWdlKCk6IHZvaWQge1xyXG4gICAgc2Vzc2lvblN0b3JhZ2UuY2xlYXIoKTtcclxuICAgIHRoaXMub3BlbmVkVmlld0RhdGEgPSBbXTtcclxuICAgIHRoaXMub3BlbmVkVmlld1V1aWRzID0gW107XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldFRhYklkKHRhYklkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odGhpcy50YWJJZE5hbWUsIHRhYklkKTtcclxuICAgIHRoaXMuc2Vzc2lvbi5hZGRIZWFkZXJQYXJhbSh7XHJcbiAgICAgIGhlYWRlck5hbWU6IHRoaXMudGFiSWRodHRwSGVhZGVyTmFtZSxcclxuICAgICAgdmFsdWU6IHRhYklkLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgc3RhcnRWaWV3Q29udGV4dCgpOiBQcm9taXNlPFZpZXdDb250ZXh0RGF0YT4ge1xyXG4gICAgdGhpcy5jbGVhclNlc3Npb25TdG9yYWdlKCk7XHJcblxyXG4gICAgbGV0IG5ld1ZpZXdDb250ZXh0OiBWaWV3Q29udGV4dERhdGEgfCB1bmRlZmluZWQgPSBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgLmNyZWF0ZVZpZXdDb250ZXh0KClcclxuICAgICAgLnRvUHJvbWlzZSgpO1xyXG4gICAgaWYgKCFuZXdWaWV3Q29udGV4dCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIFZpZXdDb250ZXh0IHdhcyBjcmVhdGVkJyk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0ID0gbmV3Vmlld0NvbnRleHQ7XHJcbiAgICB0aGlzLnNldFRhYklkKG5ld1ZpZXdDb250ZXh0LnV1aWQhKTtcclxuXHJcbiAgICByZXR1cm4gdGhpcy52aWV3Q29udGV4dDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBpbml0aWFsaXplKHV1aWQ/OiBzdHJpbmcpOiBQcm9taXNlPFZpZXdDb250ZXh0RGF0YSB8IHVuZGVmaW5lZD4ge1xyXG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcpIHtcclxuICAgICAgcmV0dXJuIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcudG9Qcm9taXNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gbmV3IFNtYXJ0U3ViamVjdCh0aGlzLl9kZXN0cm95JCk7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgaWYgKHRoaXMudmlld0hhbmRsZXJzLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxyXG4gICAgICAgICAgICBcIlRoZXJlIGFyZW4ndCBhbnkgdmlld0hhbmRsZXJzIGluIFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlISBQcm92aWRlIHNvbWUgdG8gdXNlIGl0cyBmdW5jdGlvbnMuXCJcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghdGhpcy5tZXNzYWdlRGlhbG9nbmFtZSkge1xyXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgbWVzc2FnZURpYWxvZ05hbWUgcHJvdmlkZWQgYnkgdGhlIGJhY2tlbmQgaGFzIG5vdCBiZWVuIHNldC4nKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgaWYgKHV1aWQpIHtcclxuICAgICAgICAgIHRoaXMuc2V0VGFiSWQodXVpZCk7XHJcbiAgICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHV1aWQpO1xyXG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XHJcbiAgICAgICAgICAgIGF3YWl0IHRoaXMuc3RhcnRWaWV3Q29udGV4dCgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLnN0YXJ0Vmlld0NvbnRleHQoKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnZpZXdDb250ZXh0ITtcclxuICAgICAgfSBmaW5hbGx5IHtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nLm5leHQodGhpcy52aWV3Q29udGV4dCEpO1xyXG4gICAgICAgIHRoaXMuaW5pdGlhbGl6ZVJ1bm5pbmcuY29tcGxldGUoKTtcclxuICAgICAgICB0aGlzLmluaXRpYWxpemVSdW5uaW5nID0gdW5kZWZpbmVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblZpZXcodmlldzogVmlld0RhdGEpOiB2b2lkIHtcclxuICAgIGxldCB2aWV3SGFuZGxlcjogU21hcnRWaWV3SGFuZGxlck1vZGVsIHwgdW5kZWZpbmVkID0gdGhpcy52aWV3SGFuZGxlcnMuZmluZChcclxuICAgICAgKGhhbmRsZXIpID0+IGhhbmRsZXIubmFtZSA9PT0gdmlldy52aWV3TmFtZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXZpZXdIYW5kbGVyKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU21hcnRWaWV3SGFuZGxlck1vZGVsIHdhcyBub3QgZm91bmQgYnkgdmlldyBuYW1lOiAke3ZpZXcudmlld05hbWV9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAodmlldy50eXBlID09PSBWaWV3VHlwZS5EaWFsb2cpIHtcclxuICAgICAgaWYgKCF2aWV3SGFuZGxlci5jb21wb25lbnQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgICBgQ29tcG9uZW50IGlzIHVuZGVmaW5lZCBpbiBTbWFydFZpZXdIYW5kbGVyTW9kZWwgd2l0aCBuYW1lOiAke3ZpZXcudmlld05hbWV9YFxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IGRpYWxvZ1JlZiA9IHRoaXMuZGlhbG9nLm9wZW5Db21wb25lbnRBc0RpYWxvZyh2aWV3SGFuZGxlci5jb21wb25lbnQsIHZpZXdIYW5kbGVyLm5hbWUpO1xyXG4gICAgICBkaWFsb2dSZWYuZGlzYWJsZUNsb3NlID0gdHJ1ZTtcclxuICAgICAgLy8gaWYgKHZpZXcudmlld05hbWUgPT09IHRoaXMubWVzc2FnZURpYWxvZ25hbWUpIHtcclxuICAgICAgLy8gICBpZiAodmlldy5tZXNzYWdlPy5vcHRpb25zICYmIHZpZXcubWVzc2FnZS5vcHRpb25zLmxlbmd0aCkge1xyXG4gICAgICAvLyAgIH1cclxuICAgICAgLy8gfVxyXG4gICAgICB0aGlzLmRpYWxvZ1JlZnMucHVzaCh7XHJcbiAgICAgICAgdXVpZDogdmlldy51dWlkLFxyXG4gICAgICAgIGRpYWxvZ1JlZixcclxuICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYgKHZpZXcudHlwZSA9PT0gVmlld1R5cGUuTm9ybWFsKSB7XHJcbiAgICAgIGlmICh2aWV3SGFuZGxlci5yb3V0ZSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSb3V0ZSBpcyB1bmRlZmluZWQgaW4gU21hcnRWaWV3SGFuZGxlck1vZGVsIHdpdGggbmFtZTogJHt2aWV3LnZpZXdOYW1lfWApO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZVRvKHZpZXdIYW5kbGVyLnJvdXRlLnNwbGl0KCcvJykpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgdHlwZSBvZiB0aGUgdmlldyBhbmQgaXRzIHZpZXdIYW5kbGVyIGlzIG5vdCB0aGUgc2FtZSEnKTtcclxuICAgIH1cclxuXHJcbiAgICB2aWV3LnN0YXRlID0gVmlld1N0YXRlLk9wZW5lZDtcclxuXHJcbiAgICB0aGlzLm9wZW5lZFZpZXdVdWlkcy5wdXNoKHZpZXcudXVpZCk7XHJcbiAgICB0aGlzLm9wZW5lZFZpZXdEYXRhLnB1c2godmlldyk7XHJcblxyXG4gICAgc2Vzc2lvblN0b3JhZ2Uuc2V0SXRlbSh2aWV3LnZpZXdOYW1lLCB2aWV3LnV1aWQpO1xyXG4gICAgdGhpcy51dWlkT2ZQYWdlSGFzQmVlbkNoYW5nZWQubmV4dCh2aWV3LnZpZXdOYW1lKTtcclxuXHJcbiAgICB0aGlzLnVwZGF0ZVZpZXdDb250ZXh0KHtcclxuICAgICAgdXBkYXRlczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgIHN0YXRlOiBWaWV3U3RhdGUuT3BlbmVkLFxyXG4gICAgICAgICAgdXVpZDogdmlldy51dWlkLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF0sXHJcbiAgICAgIHV1aWQ6IHRoaXMudmlld0NvbnRleHQ/LnV1aWQsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBjbG9zZVZpZXcodmlldzogVmlld0RhdGEpOiB2b2lkIHtcclxuICAgIGxldCB2aWV3SGFuZGxlcjogU21hcnRWaWV3SGFuZGxlck1vZGVsIHwgdW5kZWZpbmVkID0gdGhpcy52aWV3SGFuZGxlcnMuZmluZChcclxuICAgICAgKGhhbmRsZXIpID0+IGhhbmRsZXIubmFtZSA9PT0gdmlldy52aWV3TmFtZVxyXG4gICAgKTtcclxuXHJcbiAgICBpZiAoIXZpZXdIYW5kbGVyKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU21hcnRWaWV3SGFuZGxlck1vZGVsIHdhcyBub3QgZm91bmQgYnkgdmlldyBuYW1lOiAke3ZpZXcudmlld05hbWV9YCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHZpZXcudHlwZSA9PT0gVmlld1R5cGUuRGlhbG9nKSB7XHJcbiAgICAgIGxldCBkaWFsb2dSZWYgPSB0aGlzLmRpYWxvZ1JlZnMuZmluZChcclxuICAgICAgICAoZGlhbG9nUmVmOiBTbWFydFZpZXdEaWFsb2dSZWYpID0+IGRpYWxvZ1JlZi51dWlkID09PSB2aWV3LnV1aWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGRpYWxvZ1JlZikge1xyXG4gICAgICAgIGRpYWxvZ1JlZi5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgICAgICBsZXQgaW5kZXggPSB0aGlzLmRpYWxvZ1JlZnMuaW5kZXhPZihkaWFsb2dSZWYpO1xyXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignRGlhbG9nUmVmIGlzIG5vdCBmb3VuZCBieSB1dWlkLicpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKHZpZXcudHlwZSA9PT0gVmlld1R5cGUuTm9ybWFsKSB7XHJcbiAgICAgIC8vIFRPRE86IGNsb3NlIG5vcm1hbCBwYWdlPz8/XHJcbiAgICAgIC8vIHRoaXMubmF2aWdhdGlvbi5uYXZpZ2F0ZVRvKHZpZXdIYW5kbGVyLnJvdXRlLnNwbGl0KFwiL1wiKSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1RoZSB0eXBlIG9mIHRoZSB2aWV3IGFuZCBpdHMgdmlld0hhbmRsZXIgaXMgbm90IHRoZSBzYW1lIScpO1xyXG4gICAgfVxyXG5cclxuICAgIHZpZXcuc3RhdGUgPSBWaWV3U3RhdGUuQ2xvc2VkO1xyXG5cclxuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcGVuZWRWaWV3VXVpZHMuaW5kZXhPZih2aWV3LnV1aWQpO1xyXG4gICAgaWYgKGluZGV4ID49IDApIHtcclxuICAgICAgdGhpcy5vcGVuZWRWaWV3VXVpZHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgICAgdGhpcy5vcGVuZWRWaWV3RGF0YS5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICBzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHZpZXcudmlld05hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXBkYXRlVmlld0NvbnRleHQoe1xyXG4gICAgICB1cGRhdGVzOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgc3RhdGU6IFZpZXdTdGF0ZS5DbG9zZWQsXHJcbiAgICAgICAgICB1dWlkOiB2aWV3LnV1aWQsXHJcbiAgICAgICAgfSxcclxuICAgICAgXSxcclxuICAgICAgdXVpZDogdGhpcy52aWV3Q29udGV4dD8udXVpZCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHJlc3RvcmVWaWV3cyh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIGlmICghdGhpcy52aWV3Q29udGV4dCkge1xyXG4gICAgICBhd2FpdCB0aGlzLmdldFZpZXdDb250ZXh0KHV1aWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy52aWV3Q29udGV4dCEudmlld3MubWFwKCh2aWV3OiBWaWV3RGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLm9wZW5WaWV3KHZpZXcpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgc3luY1ZpZXcoKTogdm9pZCB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0Py52aWV3cy5tYXAoKHZpZXc6IFZpZXdEYXRhKSA9PiB7XHJcbiAgICAgIHN3aXRjaCAodmlldy5zdGF0ZSkge1xyXG4gICAgICAgIGNhc2UgVmlld1N0YXRlLlRvT3BlbjpcclxuICAgICAgICAgIHRoaXMub3BlblZpZXcodmlldyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFZpZXdTdGF0ZS5Ub0Nsb3NlOlxyXG4gICAgICAgICAgdGhpcy5jbG9zZVZpZXcodmlldyk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgY29uc3Qgdmlld0RhdGFUb0Nsb3NlID0gdGhpcy5vcGVuZWRWaWV3RGF0YS5maWx0ZXIoXHJcbiAgICAgICh2aWV3RGF0YTogVmlld0RhdGEpID0+XHJcbiAgICAgICAgIXRoaXMudmlld0NvbnRleHQ/LnZpZXdzXHJcbiAgICAgICAgICAuZmxhdE1hcCgodmlld0RhdGE6IFZpZXdEYXRhKSA9PiB2aWV3RGF0YS51dWlkKVxyXG4gICAgICAgICAgLmluY2x1ZGVzKHZpZXdEYXRhLnV1aWQpXHJcbiAgICApO1xyXG4gICAgaWYgKHZpZXdEYXRhVG9DbG9zZT8ubGVuZ3RoKSB7XHJcbiAgICAgIHZpZXdEYXRhVG9DbG9zZS5tYXAoKHZpZXdEYXRhOiBWaWV3RGF0YSkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2xvc2VWaWV3KHZpZXdEYXRhKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy52aWV3Q29udGV4dEhhc0JlZW5TeW5jZWQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldFV1aWRPZlBhZ2UocGFnZU5hbWU6IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgICBsZXQgdXVpZCA9IHNlc3Npb25TdG9yYWdlLmdldEl0ZW0ocGFnZU5hbWUpO1xyXG4gICAgaWYgKCF1dWlkKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVGhlIHV1aWQgb2YgJHtwYWdlTmFtZX0gaXMgbm90IGF2YWlsYWJsZS5gKTtcclxuICAgIH1cclxuICAgIHJldHVybiB1dWlkO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIG1lc3NhZ2UobWVzc2FnZURhdGE6IE1lc3NhZ2VEYXRhLCBtZXNzYWdlUmVzdWx0OiBNZXNzYWdlUmVzdWx0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgLm1lc3NhZ2UobWVzc2FnZURhdGEudmlld1V1aWQgPz8gJycsIG1lc3NhZ2VEYXRhLnV1aWQsIG1lc3NhZ2VSZXN1bHQpXHJcbiAgICAgIC50b1Byb21pc2UoKTtcclxuICAgIGF3YWl0IHRoaXMuZ2V0QW5kU3luY1ZpZXdDb250ZXh0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0U21hcnRWaWV3Q29udGV4dEFwaUVycm9yQnlDb2RlKGNvZGU6IHN0cmluZyk6IFByb21pc2U8U21hcnRWaWV3Q29udGV4dEFwaUVycm9yPiB7XHJcbiAgICBsZXQgYnV0dG9uTGFiZWw7XHJcbiAgICBsZXQgZGlhbG9nVGl0bGU7XHJcbiAgICBsZXQgbWVzc2FnZTtcclxuICAgIGlmICh0aGlzLnRyYW5zbGF0ZVNlcnZpY2UpIHtcclxuICAgICAgYnV0dG9uTGFiZWwgPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2VcclxuICAgICAgICAuZ2V0KFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ0J1dHRvbkxhYmVsKVxyXG4gICAgICAgIC50b1Byb21pc2UoKTtcclxuICAgICAgZGlhbG9nVGl0bGUgPSBhd2FpdCB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuZ2V0KFNtYXJ0Vmlld0NvbnRleHRFcnJvckRpYWxvZ1RpdGxlKS50b1Byb21pc2UoKTtcclxuICAgICAgbWVzc2FnZSA9IGF3YWl0IHRoaXMudHJhbnNsYXRlU2VydmljZS5nZXQoU21hcnRWaWV3Q29udGV4dEVycm9yRGlhbG9nTWVzc2FnZSkudG9Qcm9taXNlKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBidXR0b25MYWJlbCA9ICdPayc7XHJcbiAgICAgIGRpYWxvZ1RpdGxlID0gJ0hpYmEnO1xyXG4gICAgICBtZXNzYWdlID0gJ0FuIGVycm9yIGhhcyBvY2N1cmVkLic7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcnMpIHtcclxuICAgICAgcmV0dXJuIHtcclxuICAgICAgICBjb2RlLFxyXG4gICAgICAgIG1lc3NhZ2UsXHJcbiAgICAgICAgYnV0dG9uTGFiZWwsXHJcbiAgICAgICAgZGlhbG9nVGl0bGUsXHJcbiAgICAgIH07XHJcbiAgICB9XHJcbiAgICBsZXQgYXBpRXJyb3JzV2l0aENvZGUgPSB0aGlzLnNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcnMudmlld0NvbnRleHRBcGlFcnJvcnMuZmlsdGVyKFxyXG4gICAgICAoYXBpRXJyb3I6IFNtYXJ0Vmlld0NvbnRleHRBcGlFcnJvcikgPT4ge1xyXG4gICAgICAgIHJldHVybiBhcGlFcnJvci5jb2RlID09PSBjb2RlO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gICAgaWYgKCFhcGlFcnJvcnNXaXRoQ29kZSB8fCAoYXBpRXJyb3JzV2l0aENvZGUgJiYgIWFwaUVycm9yc1dpdGhDb2RlLmxlbmd0aCkpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihgU21hcnRWaWV3Q29udGV4dEFwaUVycm9yIHdpdGggY29kZSAke2NvZGV9IGNvdWxkIG5vdCBiZSBmb3VuZC5gKTtcclxuXHJcbiAgICAgIHJldHVybiB7XHJcbiAgICAgICAgY29kZSxcclxuICAgICAgICBtZXNzYWdlLFxyXG4gICAgICAgIGJ1dHRvbkxhYmVsLFxyXG4gICAgICAgIGRpYWxvZ1RpdGxlLFxyXG4gICAgICB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGFwaUVycm9yc1dpdGhDb2RlWzBdO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGdldFZpZXdDb25zdHJhaW50KHV1aWQ6IHN0cmluZyk6IFByb21pc2U8Vmlld0NvbnN0cmFpbnQ+IHtcclxuICAgIGxldCB2aWV3Q29uc3RyYWludFJlc3BvbnNlID0gYXdhaXQgdGhpcy52aWV3LmdldFZpZXdDb25zdHJhaW50KHV1aWQpLnRvUHJvbWlzZSgpO1xyXG4gICAgaWYgKCF2aWV3Q29uc3RyYWludFJlc3BvbnNlKVxyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NvdWxkIG5vdCBnZXQgVmlld0NvbnN0cmFpbnQgd2l0aCB0aGUgZ2l2ZW4gdXVpZC4nKTtcclxuICAgIHJldHVybiB2aWV3Q29uc3RyYWludFJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHNob3dQdWJsaXNoZWRWaWV3KGNoYW5uZWw6IHN0cmluZywgdXVpZDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICBhd2FpdCB0aGlzLnNlc3Npb24uaW5pdGlhbGl6ZSgpO1xyXG4gICAgLy8gVE9ETyBpbml0IHZpZXcgY29udGV4dCBhdXRvbWF0aWNhbGx5XHJcbiAgICAvLyBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcclxuXHJcbiAgICB0aGlzLmlzT3BlbmluZ1NtYXJ0TGluayA9IHRydWU7XHJcbiAgICB0aGlzLm9wZW5TbWFydExpbmsubmV4dCgpO1xyXG4gICAgYXdhaXQgdGhpcy5vcGVuU21hcnRMaW5rLnRvUHJvbWlzZSgpO1xyXG5cclxuICAgIGF3YWl0IHRoaXMudmlldy5zaG93UHVibGlzaGVkVmlldyhjaGFubmVsLCB1dWlkKS50b1Byb21pc2UoKTtcclxuICAgIGF3YWl0IHRoaXMuZ2V0QW5kU3luY1ZpZXdDb250ZXh0KCk7XHJcbiAgICB0aGlzLmlzT3BlbmluZ1NtYXJ0TGluayA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGRvd25sb2FkUmVzb3VyY2UodXVpZDogc3RyaW5nLCBpdGVtOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMudmlldy5kb3dubG9hZEl0ZW0odXVpZCwgaXRlbSkudG9Qcm9taXNlKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgcGVyZm9ybUFjdGlvbih1dWlkOiBzdHJpbmcsIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGVyZm9ybUFjdGlvbih7XHJcbiAgICAgIHV1aWQsXHJcbiAgICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgIH0pO1xyXG4gICAgLy8gY29uc3QgaXNDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLy8gdGhpcy5hcGlRdWV1ZVNlcnZpY2UuYWRkVG9RdWV1ZSh7XHJcbiAgICAvLyAgIGNhbGxiYWNrOiB0aGlzLl9wZXJmb3JtQWN0aW9uLmJpbmQodGhpcyksXHJcbiAgICAvLyAgIGNvbmZpZzoge1xyXG4gICAgLy8gICAgIHV1aWQsXHJcbiAgICAvLyAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICBpc0NvbXBsZXRlZCxcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gcmV0dXJuIGF3YWl0IGlzQ29tcGxldGVkLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHBlcmZvcm1XaWRnZXRBY3Rpb24oXHJcbiAgICB1dWlkOiBzdHJpbmcsXHJcbiAgICB3aWRnZXRJZDogc3RyaW5nLFxyXG4gICAgbm9kZUlkOiBzdHJpbmcsXHJcbiAgICB1aUFjdGlvblJlcXVlc3Q6IFVpQWN0aW9uUmVxdWVzdFxyXG4gICk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuX3BlcmZvcm1XaWRnZXRBY3Rpb24oeyB1dWlkLCB3aWRnZXRJZCwgbm9kZUlkLCB1aUFjdGlvblJlcXVlc3QgfSk7XHJcbiAgICAvLyBjb25zdCBpc0NvbXBsZXRlZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICAvLyB0aGlzLmFwaVF1ZXVlU2VydmljZS5hZGRUb1F1ZXVlKHtcclxuICAgIC8vICAgY2FsbGJhY2s6IHRoaXMuX3BlcmZvcm1XaWRnZXRBY3Rpb24uYmluZCh0aGlzKSxcclxuICAgIC8vICAgY29uZmlnOiB7XHJcbiAgICAvLyAgICAgdXVpZCxcclxuICAgIC8vICAgICB3aWRnZXRJZCxcclxuICAgIC8vICAgICBub2RlSWQsXHJcbiAgICAvLyAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgLy8gICB9LFxyXG4gICAgLy8gICBpc0NvbXBsZXRlZCxcclxuICAgIC8vIH0pO1xyXG4gICAgLy8gcmV0dXJuIGF3YWl0IGlzQ29tcGxldGVkLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHBlcmZvcm1XaWRnZXRNYWluQWN0aW9uKFxyXG4gICAgdXVpZDogc3RyaW5nLFxyXG4gICAgd2lkZ2V0SWQ6IHN0cmluZyxcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0XHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fcGVyZm9ybVdpZGdldE1haW5BY3Rpb24oeyB1dWlkLCB3aWRnZXRJZCwgdWlBY3Rpb25SZXF1ZXN0IH0pO1xyXG4gICAgLy8gY29uc3QgaXNDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLy8gdGhpcy5hcGlRdWV1ZVNlcnZpY2UuYWRkVG9RdWV1ZSh7XHJcbiAgICAvLyAgIGNhbGxiYWNrOiB0aGlzLl9wZXJmb3JtV2lkZ2V0TWFpbkFjdGlvbi5iaW5kKHRoaXMpLFxyXG4gICAgLy8gICBjb25maWc6IHtcclxuICAgIC8vICAgICB1dWlkLFxyXG4gICAgLy8gICAgIHdpZGdldElkLFxyXG4gICAgLy8gICAgIHVpQWN0aW9uUmVxdWVzdCxcclxuICAgIC8vICAgfSxcclxuICAgIC8vICAgaXNDb21wbGV0ZWQsXHJcbiAgICAvLyB9KTtcclxuICAgIC8vIHJldHVybiBhd2FpdCBpc0NvbXBsZXRlZC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBhc3luYyBwZXJmb3JtVXBsb2FkQWN0aW9uKFxyXG4gICAgdXVpZDogc3RyaW5nLFxyXG4gICAgdWlBY3Rpb25SZXF1ZXN0OiBVaUFjdGlvblJlcXVlc3QsXHJcbiAgICBwYXJhbTogJ0lOUFVUJyB8ICdJTlBVVDInLFxyXG4gICAgY29udGVudDogYW55XHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9wZXJmb3JtVXBsb2FkQWN0aW9uKHtcclxuICAgICAgdXVpZCxcclxuICAgICAgdWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgICBwYXJhbSxcclxuICAgICAgY29udGVudCxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIHBlcmZvcm1VcGxvYWRNdWx0aXBsZUFjdGlvbihcclxuICAgIHV1aWQ6IHN0cmluZyxcclxuICAgIHVpQWN0aW9uUmVxdWVzdDogVWlBY3Rpb25SZXF1ZXN0LFxyXG4gICAgcGFyYW06ICdJTlBVVCcgfCAnSU5QVVQyJyxcclxuICAgIGNvbnRlbnQ6IGFueVtdXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLl9wZXJmb3JtVXBsb2FkTXVsdGlwbGVBY3Rpb24oe1xyXG4gICAgICB1dWlkLFxyXG4gICAgICB1aUFjdGlvblJlcXVlc3QsXHJcbiAgICAgIHBhcmFtLFxyXG4gICAgICBjb250ZW50LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgZGF0YUNoYW5nZWQodXVpZDogc3RyaW5nLCBkYXRhQ2hhbmdlOiBEYXRhQ2hhbmdlKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5fZGF0YUNoYW5nZWQoeyB1dWlkLCBkYXRhQ2hhbmdlIH0pO1xyXG4gICAgLy8gY29uc3QgaXNDb21wbGV0ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgLy8gdGhpcy5hcGlRdWV1ZVNlcnZpY2UuYWRkVG9RdWV1ZShcclxuICAgIC8vICAge1xyXG4gICAgLy8gICAgIGNhbGxiYWNrOiB0aGlzLl9kYXRhQ2hhbmdlZC5iaW5kKHRoaXMpLFxyXG4gICAgLy8gICAgIGNvbmZpZzoge1xyXG4gICAgLy8gICAgICAgdXVpZCxcclxuICAgIC8vICAgICAgIGRhdGFDaGFuZ2UsXHJcbiAgICAvLyAgICAgfSxcclxuICAgIC8vICAgICBpc0NvbXBsZXRlZCxcclxuICAgIC8vICAgfSxcclxuICAgIC8vICAgdHJ1ZVxyXG4gICAgLy8gKTtcclxuICAgIC8vIHJldHVybiBhd2FpdCBpc0NvbXBsZXRlZC50b1Byb21pc2UoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1BY3Rpb24oY29uZmlnOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy52aWV3LnBlcmZvcm1BY3Rpb24oY29uZmlnLnV1aWQsIGNvbmZpZy51aUFjdGlvblJlcXVlc3QpLnRvUHJvbWlzZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfcGVyZm9ybVdpZGdldEFjdGlvbihjb25maWc6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxyXG4gICAgICBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgICAucGVyZm9ybVdpZGdldEFjdGlvbihjb25maWcudXVpZCwgY29uZmlnLndpZGdldElkLCBjb25maWcubm9kZUlkLCBjb25maWcudWlBY3Rpb25SZXF1ZXN0KVxyXG4gICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1XaWRnZXRNYWluQWN0aW9uKGNvbmZpZzogYW55KTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5oYW5kbGVQZXJmb3JtQWN0aW9uUmVzcG9uc2UoXHJcbiAgICAgIGF3YWl0IHRoaXMudmlld1xyXG4gICAgICAgIC5wZXJmb3JtV2lkZ2V0TWFpbkFjdGlvbihjb25maWcudXVpZCwgY29uZmlnLndpZGdldElkLCBjb25maWcudWlBY3Rpb25SZXF1ZXN0KVxyXG4gICAgICAgIC50b1Byb21pc2UoKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1VcGxvYWRBY3Rpb24oY29uZmlnOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy52aWV3XHJcbiAgICAgICAgLnVwbG9hZEFjdGlvbihcclxuICAgICAgICAgIGNvbmZpZy51dWlkLFxyXG4gICAgICAgICAgSlNPTi5zdHJpbmdpZnkoY29uZmlnLnVpQWN0aW9uUmVxdWVzdCksXHJcbiAgICAgICAgICBjb25maWcucGFyYW0sXHJcbiAgICAgICAgICBjb25maWcuY29udGVudFxyXG4gICAgICAgIClcclxuICAgICAgICAudG9Qcm9taXNlKClcclxuICAgICk7XHJcbiAgfVxyXG4gIHByaXZhdGUgYXN5bmMgX3BlcmZvcm1VcGxvYWRNdWx0aXBsZUFjdGlvbihjb25maWc6IGFueSk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxyXG4gICAgICBhd2FpdCB0aGlzLnZpZXdcclxuICAgICAgICAudXBsb2FkTXVsdGlwbGVBY3Rpb24oXHJcbiAgICAgICAgICBjb25maWcudXVpZCxcclxuICAgICAgICAgIEpTT04uc3RyaW5naWZ5KGNvbmZpZy51aUFjdGlvblJlcXVlc3QpLFxyXG4gICAgICAgICAgY29uZmlnLnBhcmFtLFxyXG4gICAgICAgICAgY29uZmlnLmNvbnRlbnRcclxuICAgICAgICApXHJcbiAgICAgICAgLnRvUHJvbWlzZSgpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhc3luYyBfZGF0YUNoYW5nZWQoY29uZmlnOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLmhhbmRsZVBlcmZvcm1BY3Rpb25SZXNwb25zZShcclxuICAgICAgYXdhaXQgdGhpcy52aWV3LmRhdGFDaGFuZ2VkKGNvbmZpZy51dWlkLCBjb25maWcuZGF0YUNoYW5nZSkudG9Qcm9taXNlKClcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgaGFuZGxlUGVyZm9ybUFjdGlvblJlc3BvbnNlKFxyXG4gICAgdmlld0NvbnRleHRDaGFuZ2U6IFZpZXdDb250ZXh0Q2hhbmdlIHwgdW5kZWZpbmVkXHJcbiAgKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICB0aGlzLnZpZXdDb250ZXh0ID0gdmlld0NvbnRleHRDaGFuZ2U/LnZpZXdDb250ZXh0O1xyXG4gICAgdGhpcy5zeW5jVmlldygpO1xyXG5cclxuICAgIGlmICh2aWV3Q29udGV4dENoYW5nZT8uY2hhbmdlcykge1xyXG4gICAgICB0aGlzLmhhbmRsZUNoYW5nZXModmlld0NvbnRleHRDaGFuZ2UuY2hhbmdlcyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhbmRsZUNoYW5nZXMoY2hhbmdlczogQXJyYXk8Q29tcG9uZW50TW9kZWxDaGFuZ2U+KTogdm9pZCB7XHJcbiAgICBjaGFuZ2VzLmZvckVhY2goKGNvbXBvbmVudE1vZGVsQ2hhbmdlOiBDb21wb25lbnRNb2RlbENoYW5nZSkgPT4ge1xyXG4gICAgICBsZXQgZGV0ZWN0Q2hhbmdlOiBTbWFydFN1YmplY3Q8Q29tcG9uZW50TW9kZWxDaGFuZ2U+IHwgdW5kZWZpbmVkID0gdGhpcy5zbWFydEFwaUNsaWVudHMuZ2V0KFxyXG4gICAgICAgIGNvbXBvbmVudE1vZGVsQ2hhbmdlLnV1aWRcclxuICAgICAgKTtcclxuICAgICAgaWYgKGRldGVjdENoYW5nZSkge1xyXG4gICAgICAgIGRldGVjdENoYW5nZS5uZXh0KGNvbXBvbmVudE1vZGVsQ2hhbmdlKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgYXN5bmMgbG9hZCh1dWlkOiBzdHJpbmcpOiBQcm9taXNlPENvbXBvbmVudE1vZGVsIHwgdW5kZWZpbmVkPiB7XHJcbiAgICByZXR1cm4gYXdhaXQgdGhpcy52aWV3LmdldENvbXBvbmVudE1vZGVsKHV1aWQpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGxvYWQyKHV1aWQ6IHN0cmluZyk6IFByb21pc2U8Vmlld0NvbnRleHRDaGFuZ2UgfCB1bmRlZmluZWQ+IHtcclxuICAgIHJldHVybiBhd2FpdCB0aGlzLnZpZXcuZ2V0Q29tcG9uZW50TW9kZWwyKHV1aWQpLnRvUHJvbWlzZSgpO1xyXG4gIH1cclxufVxyXG5cclxuZXhwb3J0IGNvbnN0IElTX0FTWU5DX1BBUkFNX05BTUUgPSAnaXNBc3luYyc7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFwaVF1ZXVlQ2FsbCB7XHJcbiAgY2FsbGJhY2s6IChjb25maWc6IGFueSkgPT4gUHJvbWlzZTxhbnk+O1xyXG4gIGNvbmZpZzogYW55O1xyXG4gIGlzQ29tcGxldGVkOiBTdWJqZWN0PHZvaWQ+O1xyXG59XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBpUXVldWVTZXJ2aWNlIGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95JDogU3ViamVjdDx2b2lkPiA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIHByaXZhdGUgcXVldWU6IEFwaVF1ZXVlQ2FsbFtdID0gW107XHJcbiAgcHJpdmF0ZSBpc1Byb2Nlc3NpbmcgPSBmYWxzZTtcclxuICBwcml2YXRlIHF1ZXVlU3ViamVjdDogU3ViamVjdDx2b2lkPiA9IG5ldyBTbWFydFN1YmplY3QodGhpcy5fZGVzdHJveSQpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHtcclxuICAgIHRoaXMucXVldWVTdWJqZWN0LnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMucHJvY2Vzc1F1ZXVlKCkpO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBhZGRUb1F1ZXVlKGNhbGw6IEFwaVF1ZXVlQ2FsbCwgcHJpb3JpdHk6IGJvb2xlYW4gPSBmYWxzZSkge1xyXG4gICAgaWYgKHByaW9yaXR5KSB7XHJcbiAgICAgIHRoaXMucXVldWUudW5zaGlmdChjYWxsKTsgLy8gQWRkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHF1ZXVlIGlmIGl0IGhhcyBoaWdoZXIgcHJpb3JpdHlcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMucXVldWUucHVzaChjYWxsKTsgLy8gQWRkIGF0IHRoZSBlbmQgb2YgdGhlIHF1ZXVlIGlmIGl0IGhhcyBsb3dlciBwcmlvcml0eVxyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmlzUHJvY2Vzc2luZykge1xyXG4gICAgICB0aGlzLnByb2Nlc3NRdWV1ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYXN5bmMgcHJvY2Vzc1F1ZXVlKCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgaWYgKHRoaXMucXVldWUubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHRoaXMuaXNQcm9jZXNzaW5nID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBhcGlRdWV1ZUNhbGwgPSB0aGlzLnF1ZXVlLnNoaWZ0KCk7XHJcbiAgICBpZiAoYXBpUXVldWVDYWxsKSB7XHJcbiAgICAgIGF3YWl0IGFwaVF1ZXVlQ2FsbC5jYWxsYmFjayhhcGlRdWV1ZUNhbGwuY29uZmlnKTtcclxuICAgICAgYXBpUXVldWVDYWxsLmlzQ29tcGxldGVkLmNvbXBsZXRlKCk7XHJcbiAgICAgIHRoaXMucXVldWVTdWJqZWN0Lm5leHQoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIl19
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { Component } from
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "../smart-view-context.service";
|
|
4
|
-
import * as i2 from "
|
|
4
|
+
import * as i2 from "../../smart-navigation/projects";
|
|
5
5
|
import * as i3 from "@angular/router";
|
|
6
6
|
export class SmartViewRedirect {
|
|
7
7
|
constructor(service, navigation, route) {
|
|
@@ -13,21 +13,21 @@ export class SmartViewRedirect {
|
|
|
13
13
|
let channel = this.route.snapshot.paramMap.get(SmartLinkChannelVariableInPath);
|
|
14
14
|
let uuid = this.route.snapshot.paramMap.get(SmartLinkUuidVariableInPath);
|
|
15
15
|
if (!channel || !uuid) {
|
|
16
|
-
throw new Error(
|
|
16
|
+
throw new Error('channel or uuid is not reachable from the url!');
|
|
17
17
|
}
|
|
18
18
|
this.service.showPublishedView(channel, uuid);
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
SmartViewRedirect.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewRedirect, deps: [{ token: i1.SmartViewContextService }, { token: i2.SmartNavigationService }, { token: i3.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
-
SmartViewRedirect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartViewRedirect, selector: "app-redirect", ngImport: i0, template:
|
|
23
|
+
SmartViewRedirect.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SmartViewRedirect, selector: "app-redirect", ngImport: i0, template: '<div>Smart redirect</div>', isInline: true });
|
|
24
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SmartViewRedirect, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{
|
|
27
|
-
selector:
|
|
28
|
-
template:
|
|
27
|
+
selector: 'app-redirect',
|
|
28
|
+
template: '<div>Smart redirect</div>',
|
|
29
29
|
}]
|
|
30
30
|
}], ctorParameters: function () { return [{ type: i1.SmartViewContextService }, { type: i2.SmartNavigationService }, { type: i3.ActivatedRoute }]; } });
|
|
31
|
-
export const SmartLinkChannelVariableInPath =
|
|
32
|
-
export const SmartLinkUuidVariableInPath =
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
export const SmartLinkChannelVariableInPath = 'channel';
|
|
32
|
+
export const SmartLinkUuidVariableInPath = 'uuid';
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic21hcnQtdmlldy1yZWRpcmVjdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NtYXJ0LW5nLWNsaWVudC9zcmMvbGliL3ZpZXctY29udGV4dC9zbWFydC12aWV3LXJlZGlyZWN0L3NtYXJ0LXZpZXctcmVkaXJlY3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTMUMsTUFBTSxPQUFPLGlCQUFpQjtJQUM1QixZQUNVLE9BQWdDLEVBQ2hDLFVBQWtDLEVBQ2xDLEtBQXFCO1FBRnJCLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBQ2hDLGVBQVUsR0FBVixVQUFVLENBQXdCO1FBQ2xDLFVBQUssR0FBTCxLQUFLLENBQWdCO1FBRTdCLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFO1lBQ25ELElBQUksT0FBTyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsOEJBQThCLENBQUMsQ0FBQztZQUMvRSxJQUFJLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLDJCQUEyQixDQUFDLENBQUM7WUFFekUsSUFBSSxDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxnREFBZ0QsQ0FBQyxDQUFDO2FBQ25FO1lBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOzs4R0FoQlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsb0RBRmxCLDJCQUEyQjsyRkFFMUIsaUJBQWlCO2tCQUo3QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxjQUFjO29CQUN4QixRQUFRLEVBQUUsMkJBQTJCO2lCQUN0Qzs7QUFvQkQsTUFBTSxDQUFDLE1BQU0sOEJBQThCLEdBQVcsU0FBUyxDQUFDO0FBQ2hFLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFXLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFNtYXJ0Vmlld0NvbnRleHRTZXJ2aWNlIH0gZnJvbSAnLi4vc21hcnQtdmlldy1jb250ZXh0LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbWFydE5hdmlnYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc21hcnQtbmF2aWdhdGlvbi9wcm9qZWN0cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1yZWRpcmVjdCcsXHJcbiAgdGVtcGxhdGU6ICc8ZGl2PlNtYXJ0IHJlZGlyZWN0PC9kaXY+JyxcclxufSlcclxuZXhwb3J0IGNsYXNzIFNtYXJ0Vmlld1JlZGlyZWN0IHtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgc2VydmljZTogU21hcnRWaWV3Q29udGV4dFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIG5hdmlnYXRpb246IFNtYXJ0TmF2aWdhdGlvblNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxyXG4gICkge1xyXG4gICAgdGhpcy5uYXZpZ2F0aW9uLnJvdXRlID0gdGhpcy5yb3V0ZTtcclxuICAgIHRoaXMubmF2aWdhdGlvbi5zdWJzY3JpYmVUb1VybENoYW5nZSgodXJsOiBzdHJpbmcpID0+IHtcclxuICAgICAgbGV0IGNoYW5uZWwgPSB0aGlzLnJvdXRlLnNuYXBzaG90LnBhcmFtTWFwLmdldChTbWFydExpbmtDaGFubmVsVmFyaWFibGVJblBhdGgpO1xyXG4gICAgICBsZXQgdXVpZCA9IHRoaXMucm91dGUuc25hcHNob3QucGFyYW1NYXAuZ2V0KFNtYXJ0TGlua1V1aWRWYXJpYWJsZUluUGF0aCk7XHJcblxyXG4gICAgICBpZiAoIWNoYW5uZWwgfHwgIXV1aWQpIHtcclxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NoYW5uZWwgb3IgdXVpZCBpcyBub3QgcmVhY2hhYmxlIGZyb20gdGhlIHVybCEnKTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnNlcnZpY2Uuc2hvd1B1Ymxpc2hlZFZpZXcoY2hhbm5lbCwgdXVpZCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBTbWFydExpbmtDaGFubmVsVmFyaWFibGVJblBhdGg6IHN0cmluZyA9ICdjaGFubmVsJztcclxuZXhwb3J0IGNvbnN0IFNtYXJ0TGlua1V1aWRWYXJpYWJsZUluUGF0aDogc3RyaW5nID0gJ3V1aWQnO1xyXG4iXX0=
|
|
@@ -10,4 +10,4 @@
|
|
|
10
10
|
* Do not edit the class manually.
|
|
11
11
|
*/
|
|
12
12
|
export {};
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVTZXREYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc21hcnQtbmctY2xpZW50L3NyYy9saWIvdmlldy1jb250ZXh0L3ZhbHVlLWFwaS9tb2RlbC92YWx1ZVNldERhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7R0FVRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiB2YWx1ZSBhcGlcclxuICogdmFsdWUgYXBpXHJcbiAqXHJcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBPcGVuQVBJIGRvY3VtZW50OiAxLjAuMFxyXG4gKiBDb250YWN0OiBpbmZvQGl0NGFsbC5odVxyXG4gKlxyXG4gKiBOT1RFOiBUaGlzIGNsYXNzIGlzIGF1dG8gZ2VuZXJhdGVkIGJ5IE9wZW5BUEkgR2VuZXJhdG9yIChodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2gpLlxyXG4gKiBodHRwczovL29wZW5hcGktZ2VuZXJhdG9yLnRlY2hcclxuICogRG8gbm90IGVkaXQgdGhlIGNsYXNzIG1hbnVhbGx5LlxyXG4gKi9cclxuXHJcbmltcG9ydCB7IEZpbHRlckV4cHJlc3Npb25CdWlsZGVyTW9kZWwgfSBmcm9tICcuLi8uLi8uLi9zbWFydC1maWx0ZXIvcHJvamVjdHMnO1xyXG5pbXBvcnQgeyBQcm9wZXJ0eURlZmluaXRpb25EYXRhIH0gZnJvbSAnLi4vLi4vcHJvcGVydHktZGVmaW5pdGlvbi1kYXRhJztcclxuXHJcbi8qKlxyXG4gKiBUaGUgaW5zdGFuY2Ugb2YgdGhlIFZhbHVlU2V0RGVmaW50aW9uIHRoYXQgY29uYXRpbnMgZXZlcnkgaW5mb3JtYXRpb24gaW5saW5lLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBWYWx1ZVNldERhdGEge1xyXG4gIHF1YWxpZmllZE5hbWU6IHN0cmluZztcclxuICAvKipcclxuICAgKiBUaGUgbmFtZSBvZiB0aGUga2V5IHByb3BlcnR5IGluIHRoZSB2YWx1ZS4gSXQgd2lsbCBiZSB0aGUgdmFsdWUgdGhhdCBjb3BpZWQgaW50byB0aGUgcmVmZXJlbmNlIHdoZW4gYSBnaXZlbiBpdGVtIGlzIHNlbGVjdGVkIGZyb20gdGhlIHZhbHVlIHNldC5cclxuICAgKi9cclxuICBrZXlQcm9wZXJ0eT86IHN0cmluZztcclxuICBwcm9wZXJ0aWVzOiBBcnJheTxQcm9wZXJ0eURlZmluaXRpb25EYXRhPjtcclxuICAvKipcclxuICAgKiBPcHRpb25hbCBpY29uIGNvZGUgZm9yIHRoZSBnaXZlbiB2YWx1ZSBzZXQuXHJcbiAgICovXHJcbiAgaWNvbkNvZGU/OiBzdHJpbmc7XHJcbiAgLyoqXHJcbiAgICogSWYgdHJ1ZSB0aGVuIHRoZSB2YWx1ZSBzZXQgaXMgbm90IGRlZmluZWQgYW5kIG5vdCBhY2Nlc3NpYmxlLlxyXG4gICAqL1xyXG4gIHVuZGVmaW5lZD86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogSWYgdHJ1ZSB0aGVuIHRoZSB2YWx1ZXMgZG9lc25cXCd0IGNvbnRhaW5zIHRoZSB0aGUgd2hvbGUgdmFsdWVzIHNldCBvciBpdCBtaWd0aCBiZSBlbXB0eSBhbmQgd2UgaGF2ZSB0byBhc2sgZm9yIGZpbHRlcmVkIHNldCBvZiB2YWx1ZXMgdXNpbmcgdGhlIGZpbHRlciBmaWVsZHMgYXZhaWxhYmxlLlxyXG4gICAqL1xyXG4gIGxhenk/OiBib29sZWFuO1xyXG4gIHZhbHVlczogQXJyYXk8b2JqZWN0PjtcclxuICAvKipcclxuICAgKiBUaGUgZmlsdGVyIGV4cHJlc3Npb24gbW9kZWwgZm9yIHRoZSBzZWFyY2ggZnJvbSB2YWx1ZXMuXHJcbiAgICovXHJcbiAgZmlsdGVyTW9kZWw/OiBGaWx0ZXJFeHByZXNzaW9uQnVpbGRlck1vZGVsO1xyXG59XHJcbiJdfQ==
|
package/esm2020/projects.mjs
CHANGED
|
@@ -4,8 +4,20 @@
|
|
|
4
4
|
export * from './lib/smart-ng-client.service';
|
|
5
5
|
export * from './lib/smart-ng-client.module';
|
|
6
6
|
export * from './lib/smart-client/smart-file-uploader/smart-file-uploader.component';
|
|
7
|
-
export * from './lib/
|
|
7
|
+
export * from './lib/component-factory-service/projects';
|
|
8
8
|
export * from './lib/session/projects';
|
|
9
|
-
export * from './lib/smart-
|
|
9
|
+
export * from './lib/smart-component-layout/projects';
|
|
10
|
+
export * from './lib/smart-dialog/projects';
|
|
11
|
+
export * from './lib/smart-expandable-section/projects';
|
|
12
|
+
export * from './lib/smart-filter/projects';
|
|
13
|
+
export * from './lib/smart-form/projects';
|
|
14
|
+
export * from './lib/smart-grid/projects';
|
|
15
|
+
export * from './lib/smart-icon/projects';
|
|
16
|
+
export * from './lib/smart-navbar/projects';
|
|
17
|
+
export * from './lib/smart-navigation/projects';
|
|
18
|
+
export * from './lib/smart-subject/projects';
|
|
19
|
+
export * from './lib/smart-tab-group/projects';
|
|
20
|
+
export * from './lib/smart-table/projects';
|
|
10
21
|
export * from './lib/smart-tree/projects';
|
|
11
|
-
|
|
22
|
+
export * from './lib/view-context/projects';
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvamVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9zbWFydC1uZy1jbGllbnQvc3JjL3Byb2plY3RzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0VBQXNFLENBQUM7QUFFckYsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBzbWFydC1uZy1jbGllbnRcclxuICovXHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uZy1jbGllbnQuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LW5nLWNsaWVudC5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1jbGllbnQvc21hcnQtZmlsZS11cGxvYWRlci9zbWFydC1maWxlLXVwbG9hZGVyLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnQtZmFjdG9yeS1zZXJ2aWNlL3Byb2plY3RzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc2Vzc2lvbi9wcm9qZWN0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWNvbXBvbmVudC1sYXlvdXQvcHJvamVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1kaWFsb2cvcHJvamVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1leHBhbmRhYmxlLXNlY3Rpb24vcHJvamVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1maWx0ZXIvcHJvamVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1mb3JtL3Byb2plY3RzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtZ3JpZC9wcm9qZWN0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LWljb24vcHJvamVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uYXZiYXIvcHJvamVjdHMnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zbWFydC1uYXZpZ2F0aW9uL3Byb2plY3RzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc3ViamVjdC9wcm9qZWN0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXRhYi1ncm91cC9wcm9qZWN0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NtYXJ0LXRhYmxlL3Byb2plY3RzJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtdHJlZS9wcm9qZWN0cyc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ZpZXctY29udGV4dC9wcm9qZWN0cyc7XHJcbiJdfQ==
|