barsa-sap-ui 1.0.360 → 1.0.362
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/barsa-bar-panel/barsa-bar-panel.component.mjs +23 -0
- package/esm2020/lib/barsa-base-panel/barsa-base-layout-panel.component.mjs +29 -0
- package/esm2020/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.mjs +23 -0
- package/esm2020/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.mjs +61 -0
- package/esm2020/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.mjs +22 -0
- package/esm2020/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.mjs +5 -12
- package/esm2020/lib/barsa-list-file-linear/barsa-list-file-linear.component.mjs +3 -3
- package/esm2020/lib/barsa-sap-ui.module.mjs +22 -17
- package/esm2020/lib/barsa-tinyemce/barsa-tinyemce.component.mjs +13 -4
- package/esm2020/lib/form-toolbar-button/form-toolbar-button.component.mjs +4 -3
- package/esm2020/lib/index.mjs +12 -2
- package/esm2020/lib/layout-actions/layout-actions.component.mjs +3 -3
- package/esm2020/lib/layout-control/layout-control.component.mjs +5 -4
- package/esm2020/lib/ui-date-time/ui-date-time.component.mjs +3 -3
- package/esm2020/lib/ui-linear-list-container-with-button/ui-linear-list-container-with-button.component.mjs +3 -3
- package/esm2020/lib/ui-mo-info-ulv-combo/ui-mo-info-ulv-combo.component.mjs +3 -3
- package/esm2020/lib/ui-simple-combo/ui-simple-combo.component.mjs +3 -3
- package/esm2020/lib/ui-tinymce/ui-tinymce.component.mjs +2 -2
- package/esm2020/public-api.mjs +7 -1
- package/fesm2015/barsa-sap-ui.mjs +178 -37
- package/fesm2015/barsa-sap-ui.mjs.map +1 -1
- package/fesm2020/barsa-sap-ui.mjs +176 -37
- package/fesm2020/barsa-sap-ui.mjs.map +1 -1
- package/lib/barsa-bar-panel/barsa-bar-panel.component.d.ts +9 -0
- package/lib/barsa-base-panel/barsa-base-layout-panel.component.d.ts +12 -0
- package/lib/barsa-card-layout-panel/barsa-card-layout-panel.component.d.ts +14 -0
- package/lib/barsa-enum-menu-button/barsa-enum-menu-button.component.d.ts +23 -0
- package/lib/barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component.d.ts +9 -0
- package/lib/barsa-linkable-items-panel/barsa-linkable-items-panel.component.d.ts +0 -1
- package/lib/barsa-sap-ui.module.d.ts +32 -27
- package/lib/form-toolbar-button/form-toolbar-button.component.d.ts +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/ui-date-time/ui-date-time.component.d.ts +7 -0
- package/package.json +1 -1
- package/public-api.d.ts +6 -0
|
@@ -175,20 +175,25 @@ import * as i156 from "./barsa-pishnamayesh-payam/barsa-pishnamayesh-payam.compo
|
|
|
175
175
|
import * as i157 from "./barsa-text-ellipsis/barsa-text-ellipsis.component";
|
|
176
176
|
import * as i158 from "./barsa-list-file-linear-gmail/barsa-list-file-linear-gmail.component";
|
|
177
177
|
import * as i159 from "./barsa-linkable-items-panel/barsa-linkable-items-panel.component";
|
|
178
|
-
import * as i160 from "./
|
|
179
|
-
import * as i161 from "./
|
|
180
|
-
import * as i162 from "./
|
|
181
|
-
import * as i163 from "./barsa-
|
|
182
|
-
import * as i164 from "./
|
|
183
|
-
import * as i165 from "./
|
|
184
|
-
import * as i166 from "./
|
|
185
|
-
import * as i167 from "./
|
|
186
|
-
import * as i168 from "./
|
|
187
|
-
import * as i169 from "./
|
|
188
|
-
import * as i170 from "./
|
|
189
|
-
import * as i171 from "./
|
|
190
|
-
import * as i172 from "./
|
|
191
|
-
import * as i173 from "
|
|
178
|
+
import * as i160 from "./barsa-enum-menu-button/barsa-enum-menu-button.component";
|
|
179
|
+
import * as i161 from "./barsa-card-layout-panel/barsa-card-layout-panel.component";
|
|
180
|
+
import * as i162 from "./barsa-horizontal-flex-panel/barsa-horizontal-flex-panel.component";
|
|
181
|
+
import * as i163 from "./barsa-base-panel/barsa-base-layout-panel.component";
|
|
182
|
+
import * as i164 from "./barsa-bar-panel/barsa-bar-panel.component";
|
|
183
|
+
import * as i165 from "./upload-file-status.pipe";
|
|
184
|
+
import * as i166 from "./sap-font.pipe";
|
|
185
|
+
import * as i167 from "./sap-font-class.pipe";
|
|
186
|
+
import * as i168 from "./barsa-tree-item/node-has-one-depth-level.pipe";
|
|
187
|
+
import * as i169 from "./column-matrix-renderer/matrix-value.pipe";
|
|
188
|
+
import * as i170 from "./dynamic-page-size.pipe";
|
|
189
|
+
import * as i171 from "./wizard-layout.directive";
|
|
190
|
+
import * as i172 from "./col-renderer.directive";
|
|
191
|
+
import * as i173 from "./apply-conditional-formmatings.directive";
|
|
192
|
+
import * as i174 from "./report-view-renderer.directive";
|
|
193
|
+
import * as i175 from "./fullscreen-dialog.directive";
|
|
194
|
+
import * as i176 from "./fullscreen-files.directive";
|
|
195
|
+
import * as i177 from "./download-files.directive";
|
|
196
|
+
import * as i178 from "@fundamental-ngx/core";
|
|
192
197
|
const rootProviders = [
|
|
193
198
|
Overlay,
|
|
194
199
|
GlobalContentDensityService,
|
|
@@ -220,7 +225,7 @@ export class BarsaSapUiModule extends BaseModule {
|
|
|
220
225
|
}
|
|
221
226
|
}
|
|
222
227
|
BarsaSapUiModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaSapUiModule, deps: [{ token: i1.DynamicComponentService }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
223
|
-
BarsaSapUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: BarsaSapUiModule, declarations: [i2.UiTextFieldComponent, i3.LyLayoutFieldLabelComponent, i4.UiCheckBoxComponent, i5.UiSimpleComboComponent, i6.UiRadioGroupComponent, i7.UiGridComponent, i8.LyLayoutContainerOfRootComponent, i9.LyLayoutPanelComponent, i10.UiReadOnlyFieldComponent, i11.UiContainerWithButtonComponent, i12.UiPictureFileComponent, i13.UiMoInfoUlvComboComponent, i14.UiMultiSelectComboComponent, i15.UiNumDecimalUiComponent, i16.UiNumIntUiComponent, i17.UiTimeSpanComponent, i18.UiFileLinearListBoxComponent, i19.LyEmptySpaceComponent, i20.UiSinglePictureComponent, i21.UlvSelectionComponent, i22.UlvToolbarComponent, i23.UlvPagingComponent, i24.UiGridSortSettingComponent, i25.UiGridSortItemComponent, i26.UiGridColumnsComponent, i27.MaskComponent, i28.UiInfoBarPanelComponent, i29.UiFormPanelToolbarComponent, i30.UiFormPanelComponent, i31.UiSearchCommandInfoUiComponent, i32.UlvSettingsComponent, i33.UiTinymceComponent, i34.UiButtonComponent, i35.UiDateTimeComponent, i36.FormDialogComponent, i37.HeaderFacetKeyValueComponent, i38.HeaderFacetFormComponent, i39.HeaderFacetRateComponent, i40.HeaderFacetProgressComponent, i41.HeaderFacetMicrochartComponent, i42.HeaderFacetPlainTextComponent, i43.UiMoInfoSubFormUiComponent, i44.ResponsiveToolbarComponent, i45.ResponsiveToolbarRendererComponent, i46.UiTextAreaComponent, i47.LayoutControlComponent, i48.LayoutWizardComponent, i49.FormWizardComponent, i50.FormDialogLessComponent, i51.RichTextStaticComponent, i52.UiPicturesInfoComponent, i53.LyHorizontalLayoutComponent, i54.LyVerticalLayoutComponent, i55.LyTabContainerComponent, i56.LyTabPageComponent, i57.LyLabelComponent, i58.UiMoInfoComboViewerComponent, i59.UlMsgBoxAdapterComponent, i60.UiTreeComponent, i61.HeaderAvatarComponent, i62.UiWorkflowPanelUiComponent, i63.UlvContextMenuComponent, i64.UlLoadingMaskUiComponent, i65.UiTextFieldAutoCompleteComponent, i66.CaptchaFieldComponent, i67.LySimpleLabelComponent, i68.GlobalSearchPanelComponent, i69.GlobalSearchModuleComponent, i70.GlobalSearchComponent, i71.HyperlinkComponent, i72.StaticTextComponent, i73.UlToastAdapterComponent, i74.MessageStripComponent, i75.UiLinearListContainerWithButtonComponent, i76.FundamentalDynamicFormComponent, i77.LayoutActionsComponent, i78.LyLayoutContainerComponent, i79.UiUlvFormMultiSelectUiComponent, i80.UlvFormMultiSelectComponent, i81.UlvColumnSettingsComponent, i82.UlvFilterSettingsComponent, i83.UlvSortSettingsComponent, i84.UlvGroupbySettingsComponent, i85.BarsaListFileLinearComponent, i86.UiPdfViewerComponent, i87.BarsaTinyemceComponent, i88.UiMonacoEditorComponent, i89.BarsaMonacoEditorComponent, i90.BarsaDateTimePickerComponent, i91.BarsaTreeItemComponent, i92.UiSwitchButtonComponent, i93.UiColorUiComponent, i94.LyLineComponent, i95.UiUlvMainUiComponent, i96.ReportNavigatorComponent, i97.ManageFiltersReportComponent, i98.ReportSearchFieldsManageComponent, i99.ReportSearchFieldsHiddenSettingsComponent, i100.SearchPanelComponent, i101.ReportSearchPanelSaveComponent, i102.UiGridFilterSettingsComponent, i103.UiGridFilterItemComponent, i104.UiDateRangeExComponent, i105.UlNotifyPopupComponent, i106.UiTableViewComponent, i107.UiListViewComponent, i108.UiCardViewComponent, i109.UiReportContainerComponent, i110.NoDataComponent, i111.ColumnRendererComponent, i112.InlineSaveAndCancelComponent, i113.UiTreeViewComponent, i112.InlineSaveAndCancelComponent, i114.UiCalendarComponent, i115.UiAspReportViewerComponent, i116.UiGraphComponent, i117.UiExceptionFormComponent, i118.UiEditableGridComponent, i119.ColumnMatrixRendererComponent, i120.UiMatrixViewComponent, i121.CustomDateTimeComponent, i122.BarsaAspViewerComponent, i123.FileInDialogComponent, i124.UiMoInfoGeneralObjectUiComponent, i125.UiGanttChartComponent, i126.GanttDhtmlChartViewComponent, i127.ProgressIndicatorComponent, i128.CardViewContentComponent, i129.CardItemComponent, i130.UiCardViewHorizontalGroupComponent, i131.TitleComponent, i132.BarsaUlvMainComponent, i133.ListItemComponent, i134.HtreeCreateNewComponent, i135.BarsaTableHeaderComponent, i136.BarsaTableRowComponent, i137.BarsaTableColumnComponent, i138.BreadcrumbComponent, i139.UiLabelComponent, i140.FormToolbarButtonComponent, i141.BarsaSearchFormComponent, i142.ReportNewTopFormComponent, i143.BarsaNetworkOfflineComponent, i144.FileViewerContentComponent, i145.FileViewerPopoverComponent, i146.FileViewerComponent, i147.BlobViewerComponent, i148.NotificationItemComponent, i149.BarsaCartableTemplateComponent, i150.BarsaCartableGroupComponent, i151.BarsaCartableFormComponent, i152.BarsaColumnIndicatorComponent, i153.BarsaFieldKeyValueComponent, i154.BarsaToolbaritemSearchComponent, i155.UiHtmlViewerComponent, i156.BarsaPishnamayeshPayamComponent, i157.BarsaTextEllipsisComponent, i158.BarsaListFileLinearGmailComponent, i159.BarsaLinkableItemsPanelComponent, i160.
|
|
228
|
+
BarsaSapUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.7", ngImport: i0, type: BarsaSapUiModule, declarations: [i2.UiTextFieldComponent, i3.LyLayoutFieldLabelComponent, i4.UiCheckBoxComponent, i5.UiSimpleComboComponent, i6.UiRadioGroupComponent, i7.UiGridComponent, i8.LyLayoutContainerOfRootComponent, i9.LyLayoutPanelComponent, i10.UiReadOnlyFieldComponent, i11.UiContainerWithButtonComponent, i12.UiPictureFileComponent, i13.UiMoInfoUlvComboComponent, i14.UiMultiSelectComboComponent, i15.UiNumDecimalUiComponent, i16.UiNumIntUiComponent, i17.UiTimeSpanComponent, i18.UiFileLinearListBoxComponent, i19.LyEmptySpaceComponent, i20.UiSinglePictureComponent, i21.UlvSelectionComponent, i22.UlvToolbarComponent, i23.UlvPagingComponent, i24.UiGridSortSettingComponent, i25.UiGridSortItemComponent, i26.UiGridColumnsComponent, i27.MaskComponent, i28.UiInfoBarPanelComponent, i29.UiFormPanelToolbarComponent, i30.UiFormPanelComponent, i31.UiSearchCommandInfoUiComponent, i32.UlvSettingsComponent, i33.UiTinymceComponent, i34.UiButtonComponent, i35.UiDateTimeComponent, i36.FormDialogComponent, i37.HeaderFacetKeyValueComponent, i38.HeaderFacetFormComponent, i39.HeaderFacetRateComponent, i40.HeaderFacetProgressComponent, i41.HeaderFacetMicrochartComponent, i42.HeaderFacetPlainTextComponent, i43.UiMoInfoSubFormUiComponent, i44.ResponsiveToolbarComponent, i45.ResponsiveToolbarRendererComponent, i46.UiTextAreaComponent, i47.LayoutControlComponent, i48.LayoutWizardComponent, i49.FormWizardComponent, i50.FormDialogLessComponent, i51.RichTextStaticComponent, i52.UiPicturesInfoComponent, i53.LyHorizontalLayoutComponent, i54.LyVerticalLayoutComponent, i55.LyTabContainerComponent, i56.LyTabPageComponent, i57.LyLabelComponent, i58.UiMoInfoComboViewerComponent, i59.UlMsgBoxAdapterComponent, i60.UiTreeComponent, i61.HeaderAvatarComponent, i62.UiWorkflowPanelUiComponent, i63.UlvContextMenuComponent, i64.UlLoadingMaskUiComponent, i65.UiTextFieldAutoCompleteComponent, i66.CaptchaFieldComponent, i67.LySimpleLabelComponent, i68.GlobalSearchPanelComponent, i69.GlobalSearchModuleComponent, i70.GlobalSearchComponent, i71.HyperlinkComponent, i72.StaticTextComponent, i73.UlToastAdapterComponent, i74.MessageStripComponent, i75.UiLinearListContainerWithButtonComponent, i76.FundamentalDynamicFormComponent, i77.LayoutActionsComponent, i78.LyLayoutContainerComponent, i79.UiUlvFormMultiSelectUiComponent, i80.UlvFormMultiSelectComponent, i81.UlvColumnSettingsComponent, i82.UlvFilterSettingsComponent, i83.UlvSortSettingsComponent, i84.UlvGroupbySettingsComponent, i85.BarsaListFileLinearComponent, i86.UiPdfViewerComponent, i87.BarsaTinyemceComponent, i88.UiMonacoEditorComponent, i89.BarsaMonacoEditorComponent, i90.BarsaDateTimePickerComponent, i91.BarsaTreeItemComponent, i92.UiSwitchButtonComponent, i93.UiColorUiComponent, i94.LyLineComponent, i95.UiUlvMainUiComponent, i96.ReportNavigatorComponent, i97.ManageFiltersReportComponent, i98.ReportSearchFieldsManageComponent, i99.ReportSearchFieldsHiddenSettingsComponent, i100.SearchPanelComponent, i101.ReportSearchPanelSaveComponent, i102.UiGridFilterSettingsComponent, i103.UiGridFilterItemComponent, i104.UiDateRangeExComponent, i105.UlNotifyPopupComponent, i106.UiTableViewComponent, i107.UiListViewComponent, i108.UiCardViewComponent, i109.UiReportContainerComponent, i110.NoDataComponent, i111.ColumnRendererComponent, i112.InlineSaveAndCancelComponent, i113.UiTreeViewComponent, i112.InlineSaveAndCancelComponent, i114.UiCalendarComponent, i115.UiAspReportViewerComponent, i116.UiGraphComponent, i117.UiExceptionFormComponent, i118.UiEditableGridComponent, i119.ColumnMatrixRendererComponent, i120.UiMatrixViewComponent, i121.CustomDateTimeComponent, i122.BarsaAspViewerComponent, i123.FileInDialogComponent, i124.UiMoInfoGeneralObjectUiComponent, i125.UiGanttChartComponent, i126.GanttDhtmlChartViewComponent, i127.ProgressIndicatorComponent, i128.CardViewContentComponent, i129.CardItemComponent, i130.UiCardViewHorizontalGroupComponent, i131.TitleComponent, i132.BarsaUlvMainComponent, i133.ListItemComponent, i134.HtreeCreateNewComponent, i135.BarsaTableHeaderComponent, i136.BarsaTableRowComponent, i137.BarsaTableColumnComponent, i138.BreadcrumbComponent, i139.UiLabelComponent, i140.FormToolbarButtonComponent, i141.BarsaSearchFormComponent, i142.ReportNewTopFormComponent, i143.BarsaNetworkOfflineComponent, i144.FileViewerContentComponent, i145.FileViewerPopoverComponent, i146.FileViewerComponent, i147.BlobViewerComponent, i148.NotificationItemComponent, i149.BarsaCartableTemplateComponent, i150.BarsaCartableGroupComponent, i151.BarsaCartableFormComponent, i152.BarsaColumnIndicatorComponent, i153.BarsaFieldKeyValueComponent, i154.BarsaToolbaritemSearchComponent, i155.UiHtmlViewerComponent, i156.BarsaPishnamayeshPayamComponent, i157.BarsaTextEllipsisComponent, i158.BarsaListFileLinearGmailComponent, i159.BarsaLinkableItemsPanelComponent, i160.BarsaEnumMenuButtonComponent, i161.BarsaCardLayoutPanelComponent, i162.BarsaHorizontalFlexPanelComponent, i163.BarsaBaseLayoutPanelComponent, i164.BarsaBarPanelComponent, i165.UploadFileStatusPipe, i166.SapFontPipe, i167.SapFontClassPipe, i108.StringToArrayPipe, i168.NodeHasOneDepthLevelPipe, i169.MatrixValuePipe, i170.DynamicPageSizePipe, i171.WizardLayoutDirective, i172.ColRendererDirective, i173.ApplyConditionalFormatsDirective, i174.ReportViewRendererDirective, i175.FullscreenDialogDirective, i176.FullscreenFilesDirective, i177.DownloadFilesDirective], imports: [CommonModule,
|
|
224
229
|
FormsModule,
|
|
225
230
|
ReactiveFormsModule,
|
|
226
231
|
BarsaNovinRayCoreModule,
|
|
@@ -236,7 +241,7 @@ BarsaSapUiModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", versio
|
|
|
236
241
|
BarsaCalendarModule,
|
|
237
242
|
BarsaSapUiRoutingModule,
|
|
238
243
|
PdfJsViewerModule,
|
|
239
|
-
ResizableModule,
|
|
244
|
+
ResizableModule, i178.ContentDensityModule], exports: [i2.UiTextFieldComponent, i3.LyLayoutFieldLabelComponent, i4.UiCheckBoxComponent, i5.UiSimpleComboComponent, i6.UiRadioGroupComponent, i7.UiGridComponent, i8.LyLayoutContainerOfRootComponent, i9.LyLayoutPanelComponent, i10.UiReadOnlyFieldComponent, i11.UiContainerWithButtonComponent, i12.UiPictureFileComponent, i13.UiMoInfoUlvComboComponent, i14.UiMultiSelectComboComponent, i15.UiNumDecimalUiComponent, i16.UiNumIntUiComponent, i17.UiTimeSpanComponent, i18.UiFileLinearListBoxComponent, i19.LyEmptySpaceComponent, i20.UiSinglePictureComponent, i21.UlvSelectionComponent, i22.UlvToolbarComponent, i23.UlvPagingComponent, i24.UiGridSortSettingComponent, i25.UiGridSortItemComponent, i26.UiGridColumnsComponent, i27.MaskComponent, i28.UiInfoBarPanelComponent, i29.UiFormPanelToolbarComponent, i30.UiFormPanelComponent, i31.UiSearchCommandInfoUiComponent, i32.UlvSettingsComponent, i33.UiTinymceComponent, i34.UiButtonComponent, i35.UiDateTimeComponent, i36.FormDialogComponent, i37.HeaderFacetKeyValueComponent, i38.HeaderFacetFormComponent, i39.HeaderFacetRateComponent, i40.HeaderFacetProgressComponent, i41.HeaderFacetMicrochartComponent, i42.HeaderFacetPlainTextComponent, i43.UiMoInfoSubFormUiComponent, i44.ResponsiveToolbarComponent, i45.ResponsiveToolbarRendererComponent, i46.UiTextAreaComponent, i47.LayoutControlComponent, i48.LayoutWizardComponent, i49.FormWizardComponent, i50.FormDialogLessComponent, i51.RichTextStaticComponent, i52.UiPicturesInfoComponent, i53.LyHorizontalLayoutComponent, i54.LyVerticalLayoutComponent, i55.LyTabContainerComponent, i56.LyTabPageComponent, i57.LyLabelComponent, i58.UiMoInfoComboViewerComponent, i59.UlMsgBoxAdapterComponent, i60.UiTreeComponent, i61.HeaderAvatarComponent, i62.UiWorkflowPanelUiComponent, i63.UlvContextMenuComponent, i64.UlLoadingMaskUiComponent, i65.UiTextFieldAutoCompleteComponent, i66.CaptchaFieldComponent, i67.LySimpleLabelComponent, i68.GlobalSearchPanelComponent, i69.GlobalSearchModuleComponent, i70.GlobalSearchComponent, i71.HyperlinkComponent, i72.StaticTextComponent, i73.UlToastAdapterComponent, i74.MessageStripComponent, i75.UiLinearListContainerWithButtonComponent, i76.FundamentalDynamicFormComponent, i77.LayoutActionsComponent, i78.LyLayoutContainerComponent, i79.UiUlvFormMultiSelectUiComponent, i80.UlvFormMultiSelectComponent, i81.UlvColumnSettingsComponent, i82.UlvFilterSettingsComponent, i83.UlvSortSettingsComponent, i84.UlvGroupbySettingsComponent, i85.BarsaListFileLinearComponent, i86.UiPdfViewerComponent, i87.BarsaTinyemceComponent, i88.UiMonacoEditorComponent, i89.BarsaMonacoEditorComponent, i90.BarsaDateTimePickerComponent, i91.BarsaTreeItemComponent, i92.UiSwitchButtonComponent, i93.UiColorUiComponent, i94.LyLineComponent, i95.UiUlvMainUiComponent, i96.ReportNavigatorComponent, i97.ManageFiltersReportComponent, i98.ReportSearchFieldsManageComponent, i99.ReportSearchFieldsHiddenSettingsComponent, i100.SearchPanelComponent, i101.ReportSearchPanelSaveComponent, i102.UiGridFilterSettingsComponent, i103.UiGridFilterItemComponent, i104.UiDateRangeExComponent, i105.UlNotifyPopupComponent, i106.UiTableViewComponent, i107.UiListViewComponent, i108.UiCardViewComponent, i109.UiReportContainerComponent, i110.NoDataComponent, i111.ColumnRendererComponent, i112.InlineSaveAndCancelComponent, i113.UiTreeViewComponent, i112.InlineSaveAndCancelComponent, i114.UiCalendarComponent, i115.UiAspReportViewerComponent, i116.UiGraphComponent, i117.UiExceptionFormComponent, i118.UiEditableGridComponent, i119.ColumnMatrixRendererComponent, i120.UiMatrixViewComponent, i121.CustomDateTimeComponent, i122.BarsaAspViewerComponent, i123.FileInDialogComponent, i124.UiMoInfoGeneralObjectUiComponent, i125.UiGanttChartComponent, i126.GanttDhtmlChartViewComponent, i127.ProgressIndicatorComponent, i128.CardViewContentComponent, i129.CardItemComponent, i130.UiCardViewHorizontalGroupComponent, i131.TitleComponent, i132.BarsaUlvMainComponent, i133.ListItemComponent, i134.HtreeCreateNewComponent, i135.BarsaTableHeaderComponent, i136.BarsaTableRowComponent, i137.BarsaTableColumnComponent, i138.BreadcrumbComponent, i139.UiLabelComponent, i140.FormToolbarButtonComponent, i141.BarsaSearchFormComponent, i142.ReportNewTopFormComponent, i143.BarsaNetworkOfflineComponent, i144.FileViewerContentComponent, i145.FileViewerPopoverComponent, i146.FileViewerComponent, i147.BlobViewerComponent, i148.NotificationItemComponent, i149.BarsaCartableTemplateComponent, i150.BarsaCartableGroupComponent, i151.BarsaCartableFormComponent, i152.BarsaColumnIndicatorComponent, i153.BarsaFieldKeyValueComponent, i154.BarsaToolbaritemSearchComponent, i155.UiHtmlViewerComponent, i156.BarsaPishnamayeshPayamComponent, i157.BarsaTextEllipsisComponent, i158.BarsaListFileLinearGmailComponent, i159.BarsaLinkableItemsPanelComponent, i160.BarsaEnumMenuButtonComponent, i161.BarsaCardLayoutPanelComponent, i162.BarsaHorizontalFlexPanelComponent, i163.BarsaBaseLayoutPanelComponent, i164.BarsaBarPanelComponent, i171.WizardLayoutDirective, i172.ColRendererDirective, i173.ApplyConditionalFormatsDirective, i174.ReportViewRendererDirective, i175.FullscreenDialogDirective, i176.FullscreenFilesDirective, i177.DownloadFilesDirective, i165.UploadFileStatusPipe, i166.SapFontPipe, i167.SapFontClassPipe, i108.StringToArrayPipe, i168.NodeHasOneDepthLevelPipe, i169.MatrixValuePipe, i170.DynamicPageSizePipe] });
|
|
240
245
|
BarsaSapUiModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: BarsaSapUiModule, providers: [{ provide: DIALOG_SERVICE, useClass: DialogService }], imports: [CommonModule,
|
|
241
246
|
FormsModule,
|
|
242
247
|
ReactiveFormsModule,
|
|
@@ -292,4 +297,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
292
297
|
providers: [{ provide: DIALOG_SERVICE, useClass: DialogService }]
|
|
293
298
|
}]
|
|
294
299
|
}], ctorParameters: function () { return [{ type: i1.DynamicComponentService }, { type: i0.ComponentFactoryResolver }]; } });
|
|
295
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
300
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2Etc2FwLXVpLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2JhcnNhLXNhcC11aS9zcmMvbGliL2JhcnNhLXNhcC11aS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHNCQUFzQixFQUV0QixRQUFRLEVBQ1IsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMvQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNwRCxPQUFPLEVBQ0gsd0JBQXdCLEVBQ3hCLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLGFBQWEsRUFDYixhQUFhLEVBQ2Isb0JBQW9CLEVBQ3BCLGtCQUFrQixFQUNsQiwyQkFBMkIsRUFDM0IsVUFBVSxFQUNWLGVBQWUsRUFDZixtQkFBbUIsRUFDdEIsTUFBTSx1QkFBdUIsQ0FBQztBQUUvQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUVyRCxPQUFPLEVBQ0gsYUFBYSxFQUViLHVCQUF1QixFQUN2QixVQUFVLEVBQ1YsY0FBYyxFQUNkLHFCQUFxQixFQUNyQiwwQkFBMEIsRUFDMUIsYUFBYSxFQUNiLGVBQWUsRUFDbEIsTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxP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QUFPO1NBQzFELENBQUM7MkZBS0csZ0JBQWdCO2tCQTlCNUIsUUFBUTttQkFBQztvQkFDTixZQUFZLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLEtBQUssRUFBRSxHQUFHLFVBQVUsQ0FBQztvQkFDdEQsT0FBTyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsc0JBQXNCLENBQUM7b0JBQ25ELE9BQU8sRUFBRTt3QkFDTCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLGNBQWM7d0JBQ2QsY0FBYzt3QkFDZCx3QkFBd0I7d0JBQ3hCLFdBQVc7d0JBQ1gsWUFBWTt3QkFDWixVQUFVO3dCQUNWLG1CQUFtQjt3QkFDbkIsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLG1CQUFtQjt3QkFDbkIsdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLGVBQWU7d0JBQ2Ysb0JBQW9CLENBQUMsT0FBTyxDQUFDOzRCQUN6QixPQUFPLEVBQUUsY0FBYzs0QkFDdkIsVUFBVSxFQUFFLG9CQUFvQjs0QkFDaEMsMkJBQTJCLEVBQUUsa0JBQWtCLENBQUMsT0FBTzt5QkFDMUQsQ0FBQztxQkFDTDtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxHQUFHLFVBQVUsRUFBRSxHQUFHLFVBQVUsRUFBRSxHQUFHLEtBQUssQ0FBQztvQkFDakQsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsQ0FBQztpQkFDcEUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlcixcbiAgICBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLFxuICAgIE1vZHVsZVdpdGhQcm92aWRlcnMsXG4gICAgTmdNb2R1bGUsXG4gICAgTk9fRVJST1JTX1NDSEVNQSxcbiAgICBBUFBfSU5JVElBTElaRVJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE92ZXJsYXkgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IENka1RhYmxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RhYmxlJztcbmltcG9ydCB7XG4gICAgRnVuZGFtZW50YWxOZ3hDb3JlTW9kdWxlLFxuICAgIFJ0bFNlcnZpY2UsXG4gICAgV2l6YXJkTW9kdWxlLFxuICAgIEZhY2V0TW9kdWxlLFxuICAgIFRoZW1lc1NlcnZpY2UsXG4gICAgRGlhbG9nU2VydmljZSxcbiAgICBDb250ZW50RGVuc2l0eU1vZHVsZSxcbiAgICBDb250ZW50RGVuc2l0eU1vZGUsXG4gICAgR2xvYmFsQ29udGVudERlbnNpdHlTZXJ2aWNlLFxuICAgIFBpcGVNb2R1bGUsXG4gICAgTm90aWZpY2F0aW9uUmVmLFxuICAgIE1lc3NhZ2VUb2FzdFNlcnZpY2Vcbn0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcblxuaW1wb3J0IHsgUGRmSnNWaWV3ZXJNb2R1bGUgfSBmcm9tICduZzItcGRmanMtdmlld2VyJztcblxuaW1wb3J0IHtcbiAgICBQb3J0YWxTZXJ2aWNlLFxuICAgIER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLFxuICAgIEJhcnNhTm92aW5SYXlDb3JlTW9kdWxlLFxuICAgIEJhc2VNb2R1bGUsXG4gICAgRElBTE9HX1NFUlZJQ0UsXG4gICAgRk9STV9ESUFMT0dfQ09NUE9ORU5ULFxuICAgIE5PVElGSUNBVEFJT05fUE9QVVBfU0VSVkVSLFxuICAgIFRPQVNUX1NFUlZJQ0UsXG4gICAgUmVzaXphYmxlTW9kdWxlXG59IGZyb20gJ2JhcnNhLW5vdmluLXJheS1jb3JlJztcblxuaW1wb3J0IHsgQmFyc2FDYWxlbmRhck1vZHVsZSB9IGZyb20gJ2JhcnNhLWNhbGVuZGFyJztcbmltcG9ydCB7IENvbG9yU3dhdGNoZXNNb2R1bGUgfSBmcm9tICduZ3gtY29sb3Ivc3dhdGNoZXMnO1xuaW1wb3J0IHsgQ29sb3JDaHJvbWVNb2R1bGUgfSBmcm9tICduZ3gtY29sb3IvY2hyb21lJztcbmltcG9ydCB7IENsaXBib2FyZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jbGlwYm9hcmQnO1xuXG5pbXBvcnQgeyBjb21wb25lbnRzLCBwaXBlcywgZGlyZWN0aXZlcywgSU5JVF9TQVBGSU9SSSB9IGZyb20gJy4vaW5kZXgnO1xuaW1wb3J0IHsgQmFyc2FTYXBVaVJvdXRpbmdNb2R1bGUgfSBmcm9tICcuL2JhcnNhLXNhcC11aS1yb3V0aW5nLm1vZHVsZSc7XG5pbXBvcnQgeyBGb3JtRGlhbG9nQ29tcG9uZW50IH0gZnJvbSAnLi9mb3JtLWRpYWxvZy9mb3JtLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgTm90aWZpY2F0aW9uUG9wdXBTZXJ2aWNlIH0gZnJvbSAnLi9ub3RpZmljYXRpb24tcG9wdXAuc2VydmljZSc7XG5cbmNvbnN0IHJvb3RQcm92aWRlcnMgPSBbXG4gICAgT3ZlcmxheSxcbiAgICBHbG9iYWxDb250ZW50RGVuc2l0eVNlcnZpY2UsXG4gICAgVGhlbWVzU2VydmljZSxcbiAgICBOb3RpZmljYXRpb25SZWYsXG4gICAgUnRsU2VydmljZSxcbiAgICB7XG4gICAgICAgIHByb3ZpZGU6IEFQUF9JTklUSUFMSVpFUixcbiAgICAgICAgdXNlRmFjdG9yeTogSU5JVF9TQVBGSU9SSSxcbiAgICAgICAgZGVwczogW1J0bFNlcnZpY2UsIEdsb2JhbENvbnRlbnREZW5zaXR5U2VydmljZSwgVGhlbWVzU2VydmljZSwgUG9ydGFsU2VydmljZV0sXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfSxcbiAgICB7IHByb3ZpZGU6IEZPUk1fRElBTE9HX0NPTVBPTkVOVCwgdXNlVmFsdWU6IEZvcm1EaWFsb2dDb21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IE5PVElGSUNBVEFJT05fUE9QVVBfU0VSVkVSLCB1c2VDbGFzczogTm90aWZpY2F0aW9uUG9wdXBTZXJ2aWNlIH0sXG4gICAgeyBwcm92aWRlOiBUT0FTVF9TRVJWSUNFLCB1c2VDbGFzczogTWVzc2FnZVRvYXN0U2VydmljZSB9XG5dO1xuXG5ATmdNb2R1bGUoe1xuICAgIGRlY2xhcmF0aW9uczogWy4uLmNvbXBvbmVudHMsIC4uLnBpcGVzLCAuLi5kaXJlY3RpdmVzXSxcbiAgICBzY2hlbWFzOiBbTk9fRVJST1JTX1NDSEVNQSwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQV0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgICAgICBCYXJzYU5vdmluUmF5Q29yZU1vZHVsZSxcbiAgICAgICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgICAgIENka1RhYmxlTW9kdWxlLFxuICAgICAgICBGdW5kYW1lbnRhbE5neENvcmVNb2R1bGUsXG4gICAgICAgIEZhY2V0TW9kdWxlLFxuICAgICAgICBXaXphcmRNb2R1bGUsXG4gICAgICAgIFBpcGVNb2R1bGUsXG4gICAgICAgIENvbG9yU3dhdGNoZXNNb2R1bGUsXG4gICAgICAgIENvbG9yQ2hyb21lTW9kdWxlLFxuICAgICAgICBDbGlwYm9hcmRNb2R1bGUsXG4gICAgICAgIEJhcnNhQ2FsZW5kYXJNb2R1bGUsXG4gICAgICAgIEJhcnNhU2FwVWlSb3V0aW5nTW9kdWxlLFxuICAgICAgICBQZGZKc1ZpZXdlck1vZHVsZSxcbiAgICAgICAgUmVzaXphYmxlTW9kdWxlLFxuICAgICAgICBDb250ZW50RGVuc2l0eU1vZHVsZS5mb3JSb290KHtcbiAgICAgICAgICAgIHN0b3JhZ2U6ICdsb2NhbFN0b3JhZ2UnLCAvLyBjYW4gYmUgJ3VybCcgb3IgJ21lbW9yeSdcbiAgICAgICAgICAgIHN0b3JhZ2VLZXk6ICdfX2NvbnRlbnREZW5zaXR5X18nLFxuICAgICAgICAgICAgZGVmYXVsdEdsb2JhbENvbnRlbnREZW5zaXR5OiBDb250ZW50RGVuc2l0eU1vZGUuQ09NUEFDVFxuICAgICAgICB9KVxuICAgIF0sXG4gICAgZXhwb3J0czogWy4uLmNvbXBvbmVudHMsIC4uLmRpcmVjdGl2ZXMsIC4uLnBpcGVzXSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IERJQUxPR19TRVJWSUNFLCB1c2VDbGFzczogRGlhbG9nU2VydmljZSB9XVxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVNhcFVpTW9kdWxlIGV4dGVuZHMgQmFzZU1vZHVsZSB7XG4gICAgcHJvdGVjdGVkIGR5bmFtaWNDb21wb25lbnRzID0gWy4uLmNvbXBvbmVudHNdO1xuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBkY206IER5bmFtaWNDb21wb25lbnRTZXJ2aWNlLCBwcm90ZWN0ZWQgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIpIHtcbiAgICAgICAgc3VwZXIoZGNtLCBjb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsICdCYXJzYVNhcFVpTW9kdWxlJyk7XG4gICAgfVxuICAgIHN0YXRpYyBmb3JSb290KCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8QmFyc2FTYXBVaU1vZHVsZT4ge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbmdNb2R1bGU6IEJhcnNhU2FwVWlNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IFsuLi5waXBlcywgLi4ucm9vdFByb3ZpZGVyc11cbiAgICAgICAgfTtcbiAgICB9XG59XG4iXX0=
|
|
@@ -82,12 +82,13 @@ export class BarsaTinyemceComponent extends BaseComponent {
|
|
|
82
82
|
this.tinyMCEConfig.inline = false;
|
|
83
83
|
this.tinyMCEConfig.menubar = !this.IsInline;
|
|
84
84
|
this.tinyMCEConfig.theme_advanced_resizing = true;
|
|
85
|
-
this.tinyMCEConfig.
|
|
86
|
-
this.tinyMCEConfig.
|
|
85
|
+
this.tinyMCEConfig.toolbar_location = 'top';
|
|
86
|
+
// this.tinyMCEConfig.toolbar_mode = 'floating';
|
|
87
|
+
// this.tinyMCEConfig.toolbar_sticky = true;
|
|
88
|
+
// this.tinyMCEConfig.toolbar_sticky_offset = 100;
|
|
87
89
|
this.tinyMCEConfig.font_family_formats =
|
|
88
90
|
'BarsaFont=BarsaFont;Arial=arial,helvetica,sans-serif; Courier New=courier new,courier,monospace;';
|
|
89
91
|
this.tinyMCEConfig.font_size_formats = '8pt 10pt 12pt 14pt 18pt 24pt 36pt';
|
|
90
|
-
this.tinyMCEConfig.toolbar_mode = 'scrolling';
|
|
91
92
|
this.tinyMCEConfig.plugins = [
|
|
92
93
|
'advlist',
|
|
93
94
|
'anchor',
|
|
@@ -123,6 +124,14 @@ export class BarsaTinyemceComponent extends BaseComponent {
|
|
|
123
124
|
`defaultVerbs barsaImage | insert | forecolor backcolor fontfamily fontsize | bullist numlist outdent indent | removeformat` +
|
|
124
125
|
` | undo redo | copy cut paste | blocks | bold italic | alignleft aligncenter alignright alignjustify ltr rtl`
|
|
125
126
|
];
|
|
127
|
+
if (this.IsInline) {
|
|
128
|
+
this.tinyMCEConfig.toolbar = [
|
|
129
|
+
`defaultVerbs barsaImage | insert | forecolor backcolor fontfamily fontsize | bullist numlist` +
|
|
130
|
+
` | undo redo | bold italic | ltr rtl`
|
|
131
|
+
];
|
|
132
|
+
}
|
|
133
|
+
this.tinyMCEConfig.quickbars_selection_toolbar =
|
|
134
|
+
'bold italic fontsize | forecolor backcolor|defaultVerbs barsaImage';
|
|
126
135
|
const tinymceSettingsGlobal = window.tinymceSettings;
|
|
127
136
|
let tinymceSettings = BarsaApi.Common.Util.TryGetValue(this.Setting, 'JsonExtraProp.tinymceSettings');
|
|
128
137
|
tinymceSettings = BarsaApi.Common.Merger.Merge(tinymceSettingsGlobal, tinymceSettings);
|
|
@@ -409,4 +418,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
409
418
|
}], tinyInit: [{
|
|
410
419
|
type: Output
|
|
411
420
|
}] } });
|
|
412
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RCxPQUFPLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFFaEIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQWE5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQW1CckQsWUFBc0IsY0FBNkIsRUFBWSxHQUFlO1FBQzFFLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBWnBFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUFpWmhCLGtCQUFhLEdBQUcsR0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM5QiwyQ0FBMkM7WUFDM0MseURBQXlE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S0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRU8sZUFBZSxDQUFDLEVBQU87UUFDM0IsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLGFBQWEsRUFBRSxlQUFlLEVBQUUsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RFLElBQUksSUFBSSxFQUFFO1lBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1NBQ2xDO0lBQ0wsQ0FBQzs7bUhBOWFRLHNCQUFzQjt1R0FBdEIsc0JBQXNCLDBPQUZwQixDQUFDLGFBQWEsQ0FBQyw2S0NsQzlCLGlZQVNBOzJGRDJCYSxzQkFBc0I7a0JBUGxDLFNBQVM7K0JBQ0ksb0JBQW9CLG1CQUdiLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxhQUFhLENBQUM7NkhBR0gsU0FBUztzQkFBL0IsU0FBUzt1QkFBQyxVQUFVO2dCQUNaLE9BQU87c0JBQWYsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0ksV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBFbGVtZW50UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbnB1dCxcbiAgICBPbkNoYW5nZXMsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFZpZXdDaGlsZFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpbGVVcGxvYWRlckNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBjb25jYXRNYXAsIHRha2VVbnRpbCwgdGFwIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7XG4gICAgQmFzZUNvbXBvbmVudCxcbiAgICBCYXJzYUFwaSxcbiAgICBnZXRVbmlxdWVJZCxcbiAgICBpc0Z1bmN0aW9uLFxuICAgIFVwbG9hZFNlcnZpY2UsXG4gICAgR2VuZXJhbENvbnRyb2xJbmZvTW9kZWxcbn0gZnJvbSAnYmFyc2Etbm92aW4tcmF5LWNvcmUnO1xuXG5kZWNsYXJlIGNvbnN0IHdpbmRvdzogYW55O1xuZGVjbGFyZSBjb25zdCB0aW55bWNlOiBhbnk7XG5kZWNsYXJlIGNvbnN0IGhlYWQ6IGFueTtcbmRlY2xhcmUgY29uc3QgJDogYW55O1xuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdic3UtYmFyc2EtdGlueWVtY2UnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtVcGxvYWRTZXJ2aWNlXVxufSlcbmV4cG9ydCBjbGFzcyBCYXJzYVRpbnllbWNlQ29tcG9uZW50IGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcbiAgICBAVmlld0NoaWxkKCd1cGxvYWRlcicpIF91cGxvYWRlcjogRmlsZVVwbG9hZGVyQ29tcG9uZW50O1xuICAgIEBJbnB1dCgpIFNldHRpbmc6IEdlbmVyYWxDb250cm9sSW5mb01vZGVsO1xuICAgIEBJbnB1dCgpIGlzUmVhZG9ubHk6IGJvb2xlYW47XG4gICAgQElucHV0KCkgdmFsdWU6IGFueTtcbiAgICBASW5wdXQoKSBJc0lubGluZTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSBkZWZhdWx0VmVyYnM6IHsgVGl0bGU6IHN0cmluZzsgSHRtbDogc3RyaW5nIH1bXTtcbiAgICBAT3V0cHV0KCkgdmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcbiAgICBAT3V0cHV0KCkgdGlueUluaXQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gICAgdGlueUhvc3RJZCA9IHRoaXMuX2dlbmVyYXRlVGlueUhvc3RJZCgpO1xuICAgIHRpbnlNQ0VDb25maWc6IGFueSA9IHt9O1xuICAgIGVkaXRvcjogYW55O1xuICAgIHd5c2l3eWdJbnRpYWxpemVkOiBib29sZWFuO1xuICAgIGludGlhbGl6YXRpb25JblByb2dyZXNzOiBib29sZWFuO1xuICAgIGVkaXRvclZhbHVlOiBzdHJpbmc7XG5cbiAgICBpZnJhbUJvZHlJbm5lckh0bWw6IHN0cmluZztcbiAgICBoZWlnaHQ6IG51bWJlcjtcblxuICAgIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBfdXBsb2FkU2VydmljZTogVXBsb2FkU2VydmljZSwgcHJvdGVjdGVkIF9lbDogRWxlbWVudFJlZikge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhzaW1wbGVDaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXMpO1xuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy52YWx1ZSAmJiAhc2ltcGxlQ2hhbmdlcy52YWx1ZS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZShzaW1wbGVDaGFuZ2VzLnZhbHVlLmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMuZGlzYWJsZSAmJiAhc2ltcGxlQ2hhbmdlcy5kaXNhYmxlLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICBjb25zdCBkaXNiYWxlID0gc2ltcGxlQ2hhbmdlcy5kaXNhYmxlLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIGlmIChkaXNiYWxlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXREaXNhYmxlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuc2V0RW5hYmxlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNpbXBsZUNoYW5nZXMucmVhZG9ubHkgJiYgIXNpbXBsZUNoYW5nZXMucmVhZG9ubHkuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0UmVhZE9ubHkoc2ltcGxlQ2hhbmdlcy5yZWFkb25seS5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLmhlaWdodCA9ICh0aGlzLl9lbC5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KS5jbGllbnRIZWlnaHQ7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgdGhpcy5sb2FkVGlueU1jZSgpO1xuICAgIH1cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgdGhpcy5kZXN0cm95VGlueW1jZSgpO1xuICAgIH1cblxuICAgIG9uRmlsZVNlbGVjdGlvbihmaWxlczogRmlsZVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBsb2FkRmlsZShmaWxlcykucGlwZSh0YWtlVW50aWwodGhpcy5fb25EZXN0cm95JCkpLnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBsb2FkVGlueU1jZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLlNldHRpbmcuSXNIdG1sVmlld2VyKSB7XG4gICAgICAgICAgICBoZWFkLmxvYWQoWydMaWIvdGlueW1jZS90aW55bWNlLm1pbi5qcyddLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5wcmVwYXJlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGluaXRpbGl6ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5oZWlnaHQgPSAnMTAwJSc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy53aWR0aCA9ICcxMDAlJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnNlbGVjdG9yID0gJyMnICsgdGhpcy50aW55SG9zdElkO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGxhY2Vob2xkZXIgPSB0aGlzLlNldHRpbmcuQ29udHJvbEZpZWxkQ2FwdGlvblRyYW5zbGF0ZWQ7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5jb250ZW50X2NzcyA9ICdhc3NldHMvUmVzb3VyY2VzL2ZvbnRzL0lyYW4uY3NzJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmRpcmVjdGlvbmFsaXR5ID0gJ3J0bCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5sYW5ndWFnZSA9ICdmYV9JUic7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wcm9tb3Rpb24gPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnBhc3RlX2RhdGFfaW1hZ2VzID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250TmFtZSA9ICdCYXJzYUZvbnQnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnRTaXplID0gJzEycHgnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuc3RhdHVzYmFyID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5pbmxpbmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLm1lbnViYXIgPSAhdGhpcy5Jc0lubGluZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRoZW1lX2FkdmFuY2VkX3Jlc2l6aW5nID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXJfbW9kZSA9ICdmbG9hdGluZyc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50b29sYmFyX2xvY2F0aW9uID0gJ2JvdHRvbSc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5mb250X2ZhbWlseV9mb3JtYXRzID1cbiAgICAgICAgICAgICdCYXJzYUZvbnQ9QmFyc2FGb250O0FyaWFsPWFyaWFsLGhlbHZldGljYSxzYW5zLXNlcmlmOyBDb3VyaWVyIE5ldz1jb3VyaWVyIG5ldyxjb3VyaWVyLG1vbm9zcGFjZTsnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZm9udF9zaXplX2Zvcm1hdHMgPSAnOHB0IDEwcHQgMTJwdCAxNHB0IDE4cHQgMjRwdCAzNnB0JztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXJfbW9kZSA9ICdzY3JvbGxpbmcnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGx1Z2lucyA9IFtcbiAgICAgICAgICAgICdhZHZsaXN0JyxcbiAgICAgICAgICAgICdhbmNob3InLFxuICAgICAgICAgICAgJ2F1dG9saW5rJyxcbiAgICAgICAgICAgICdhdXRvc2F2ZScsXG4gICAgICAgICAgICAnY2hhcm1hcCcsXG4gICAgICAgICAgICAnY29kZScsXG4gICAgICAgICAgICAnY29kZXNhbXBsZScsXG4gICAgICAgICAgICAnZGlyZWN0aW9uYWxpdHknLFxuICAgICAgICAgICAgJ2Vtb3RpY29ucycsXG4gICAgICAgICAgICAnZnVsbHNjcmVlbicsXG4gICAgICAgICAgICAnaGVscCcsXG4gICAgICAgICAgICAnaW1hZ2UnLFxuICAgICAgICAgICAgJ2ltcG9ydGNzcycsXG4gICAgICAgICAgICAnaW5zZXJ0ZGF0ZXRpbWUnLFxuICAgICAgICAgICAgJ2xpbmsnLFxuICAgICAgICAgICAgJ2xpc3RzJyxcbiAgICAgICAgICAgICdtZWRpYScsXG4gICAgICAgICAgICAnbm9uYnJlYWtpbmcnLFxuICAgICAgICAgICAgJ3BhZ2VicmVhaycsXG4gICAgICAgICAgICAncHJldmlldycsXG4gICAgICAgICAgICAncXVpY2tiYXJzJyxcbiAgICAgICAgICAgICdzYXZlJyxcbiAgICAgICAgICAgICdzZWFyY2hyZXBsYWNlJyxcbiAgICAgICAgICAgICd0YWJsZScsXG4gICAgICAgICAgICAndGVtcGxhdGUnLFxuICAgICAgICAgICAgJ3Zpc3VhbGJsb2NrcycsXG4gICAgICAgICAgICAndmlzdWFsY2hhcnMnLFxuICAgICAgICAgICAgJ3dvcmRjb3VudCcsXG4gICAgICAgICAgICAnYXV0b3Jlc2l6ZSdcbiAgICAgICAgXTtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXIgPSBbXG4gICAgICAgICAgICBgZGVmYXVsdFZlcmJzIGJhcnNhSW1hZ2UgfCBpbnNlcnQgfCBmb3JlY29sb3IgYmFja2NvbG9yIGZvbnRmYW1pbHkgZm9udHNpemUgfCBidWxsaXN0IG51bWxpc3Qgb3V0ZGVudCBpbmRlbnQgfCByZW1vdmVmb3JtYXRgICtcbiAgICAgICAgICAgICAgICBgIHwgdW5kbyByZWRvIHwgY29weSBjdXQgcGFzdGUgfCBibG9ja3MgfCBib2xkIGl0YWxpYyB8IGFsaWdubGVmdCBhbGlnbmNlbnRlciBhbGlnbnJpZ2h0IGFsaWduanVzdGlmeSBsdHIgcnRsYFxuICAgICAgICBdO1xuXG4gICAgICAgIGNvbnN0IHRpbnltY2VTZXR0aW5nc0dsb2JhbCA9IHdpbmRvdy50aW55bWNlU2V0dGluZ3M7XG4gICAgICAgIGxldCB0aW55bWNlU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uVXRpbC5UcnlHZXRWYWx1ZSh0aGlzLlNldHRpbmcsICdKc29uRXh0cmFQcm9wLnRpbnltY2VTZXR0aW5ncycpO1xuICAgICAgICB0aW55bWNlU2V0dGluZ3MgPSBCYXJzYUFwaS5Db21tb24uTWVyZ2VyLk1lcmdlKHRpbnltY2VTZXR0aW5nc0dsb2JhbCwgdGlueW1jZVNldHRpbmdzKTtcbiAgICAgICAgaWYgKCF0aW55bWNlU2V0dGluZ3MgJiYgQXJyYXkuaXNBcnJheSh0aW55bWNlU2V0dGluZ3MpKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGlueW1jZVNldHRpbmdzKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnW2l0ZW0ua2V5XSA9IGl0ZW0udmFsdWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcubWVudWJhciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnN0YXR1c2JhciA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnBsdWdpbnMgPSBbJ2F1dG9yZXNpemUnXTtcbiAgICAgICAgICAgIC8vIHRoaXMudGlueU1DRUNvbmZpZy5wbHVnaW5zID0gW107XG4gICAgICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhciA9IGZhbHNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHVzZXJTZXR1cDogKGVkaXRvcjogYW55KSA9PiB2b2lkO1xuXG4gICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXApIHtcbiAgICAgICAgICAgIHVzZXJTZXR1cCA9IHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZGVmYXVsdFZlcmJzTWVudTogYW55ID0gW107XG5cbiAgICAgICAgLy8gQkVHSU46IHNldHVwXG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zZXR1cCA9IChlZCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lZGl0b3IgPSBlZDtcbiAgICAgICAgICAgIGlmICghdGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGVmYXVsdFZlcmJzKSB7XG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWZXJic01lbnUgPSBbXTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kZWZhdWx0VmVyYnMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZlcmJzTWVudS5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogaXRlbS5IdG1sLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdtZW51aXRlbScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogaXRlbS5UaXRsZSB8fCBpdGVtLkh0bWwucmVwbGFjZSgvPGJyXFxzKlxcLz8+L2dpLCAnICcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGVkLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRSYXdIVE1MJywgZmFsc2UsIGl0ZW0uSHRtbCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVkLmluc2VydENvbnRlbnQoaXRlbS5IdG1sLCB7IGZvcm1hdDogJ3JhdycgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlZC51aS5yZWdpc3RyeS5hZGRTcGxpdEJ1dHRvbignYmFyc2FJbWFnZScsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ2luc2VydCcsXG4gICAgICAgICAgICAgICAgICAgIGljb246ICdpbWFnZScsXG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdJbnNlcnQgSW1hZ2UgQXMgQmFzZTY0JyxcbiAgICAgICAgICAgICAgICAgICAgb25BY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5XYXRlcmZhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbmVtY2UuRW1iZWRJbWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRmlsZURpYWxvZzogdGhpcy5TaG93T3BlbkZpbGVEaWFsb2cuYmluZCh0aGlzKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0QmFzZTY0OiB0aGlzLkluc2VydEJhc2U2NC5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLkZpbmFsaXplKGVyciwgcmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBvbkl0ZW1BY3Rpb246ICgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5XYXRlcmZhbGwoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RpbmVtY2UuVXBsb2FkVG9EYXRhYmFzZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvcGVuRmlsZURpYWxvZzogdGhpcy5TaG93VXBsb2FkV2luZG93LmJpbmQodGhpcylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChlcnIsIHJlc3VsdCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuRmluYWxpemUoZXJyLCByZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgIGZldGNoOiAoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Nob2ljZWl0ZW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0OiAndXBsb2FkJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWNvbjogJ2ltYWdlJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9vbHRpcDogJ1VwbG9hZCBJbWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAndXBsb2FkJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIF07XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhpdGVtcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgICAgIGVkLnVpLnJlZ2lzdHJ5LmFkZE1lbnVCdXR0b24oJ2RlZmF1bHRWZXJicycsIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dDogJ9i52KjYp9ix2KrZh9in24wg2b7bjNi0INmB2LHYticsXG4gICAgICAgICAgICAgICAgICAgIGZldGNoOiAoY2FsbGJhY2spID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxiYWNrKGRlZmF1bHRWZXJic01lbnUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKGlzRnVuY3Rpb24od2luZG93LnRpbnltY2VTZXR1cCkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2luZG93LnRpbnltY2VTZXR1cC5jYWxsKHRoaXMsIHRoaXMsIGVkKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsZXQgaGFzSW5pdCA9IGZhbHNlO1xuICAgICAgICAgICAgZWQub24oJ2luaXQnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy53eXNpd3lnSW50aWFsaXplZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5pbnRpYWxpemF0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy52YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udE5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgZWQuZXhlY0NvbW1hbmQoJ0ZvbnROYW1lJywgZmFsc2UsIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udE5hbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250U2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBlZC5leGVjQ29tbWFuZCgnRm9udFNpemUnLCBmYWxzZSwgdGhpcy50aW55TUNFQ29uZmlnLmRlZmF1bHRGb250U2l6ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmlzUmVhZG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zZXRSZWFkT25seSh0aGlzLmlzUmVhZG9ubHkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAvLyBUaGlzIHBpZWNlIG9mIGNvZGUgc29sdmVzIHRoZSBwcm9ibGVtIG9mIGNoYW5nZSBwcm9wYWdhdGlvbiBzbyB0aGF0XG4gICAgICAgICAgICAgICAgLy8gdGhlcmUgaXMgbm8gbmVlZCB0byBjYWxsIHRyaWdnZXJTYXZlXG4gICAgICAgICAgICAgICAgY29uc3Qgc2V0Q29udGVudCA9IGVkLnNldENvbnRlbnQ7XG4gICAgICAgICAgICAgICAgZWQuc2V0Q29udGVudCA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHNldENvbnRlbnQuYXBwbHkoZWQsIGFyZ3MpO1xuICAgICAgICAgICAgICAgICAgICBlZC5kaXNwYXRjaCgnY2hhbmdlJywge30pO1xuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgaGFzSW5pdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy50aW55SW5pdC5lbWl0KCk7XG4gICAgICAgICAgICAgICAgY29uc3QgaWZyYW1FbDogSFRNTElGcmFtZUVsZW1lbnQgPSBlZC5pZnJhbWVFbGVtZW50O1xuICAgICAgICAgICAgICAgIGlmIChpZnJhbUVsKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmcmFtRWwuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuX29uTG9hZElmcmFtZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIC8vIENhdGNoIGFuZCBwcm9wYWdhdGUgdGhlIGNoYW5nZSBldmVudFxuICAgICAgICAgICAgbGV0IG9sZENvbnRlbnQgPSBudWxsO1xuICAgICAgICAgICAgZWQub24oJ2NoYW5nZSBrZXl1cCcsICgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXd2YWwgPSBlZC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICAgICAgaWYgKG5ld3ZhbCA9PT0gb2xkQ29udGVudCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgb2xkQ29udGVudCA9IG5ld3ZhbDtcbiAgICAgICAgICAgICAgICBpZiAoIWhhc0luaXQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGVkLnNhdmUoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmVkaXRvclZhbHVlID0gbmV3dmFsO1xuICAgICAgICAgICAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChuZXd2YWwpO1xuICAgICAgICAgICAgICAgIC8vIHRoaXMuY29udGV4dC5maXJlRXZlbnQoJ2NoYW5nZScsIHRoaXMsIG5ld3ZhbCwgb2xkdmFsLCB7fSk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgZWQub24oJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIFRPRE9cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICBpZiAodXNlclNldHVwKSB7XG4gICAgICAgICAgICAgICAgdXNlclNldHVwKGVkKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBTaG93VXBsb2FkV2luZG93KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl91cGxvYWRlci5vcGVuKCk7XG4gICAgfVxuICAgIFNob3dPcGVuRmlsZURpYWxvZyhkb1JldHVybik6IHZvaWQge1xuICAgICAgICBjb25zdCBpbnB1dDogYW55ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCd0eXBlJywgJ2ZpbGUnKTtcbiAgICAgICAgaW5wdXQuc2V0QXR0cmlidXRlKCdhY2NlcHQnLCAnaW1hZ2UvKicpO1xuXG4gICAgICAgIGlucHV0Lm9uY2hhbmdlID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgZmlsZSA9IGlucHV0LmZpbGVzWzBdO1xuXG4gICAgICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICAgICAgcmVhZGVyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgICAgICBsZXQgYmFzZTY0ID0gcmVhZGVyLnJlc3VsdCBhcyBzdHJpbmc7XG4gICAgICAgICAgICAgICAgYmFzZTY0ID0gYmFzZTY0LnNwbGl0KCcsJylbMV07XG4gICAgICAgICAgICAgICAgZG9SZXR1cm4obnVsbCwgYmFzZTY0KTtcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChmaWxlKTtcbiAgICAgICAgfTtcblxuICAgICAgICBpbnB1dC5jbGljaygpO1xuICAgIH1cbiAgICBJbnNlcnRCYXNlNjQoYmFzZTY0LCBkb1JldHVybik6IHZvaWQge1xuICAgICAgICB0aGlzLmVkaXRvci5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0Q29udGVudCcsIGZhbHNlLCAnPGltZyBzcmM9ZGF0YTppbWFnZS9wbmc7YmFzZTY0LCcgKyBiYXNlNjQgKyAnIC8+Jyk7XG4gICAgICAgIGRvUmV0dXJuKCk7XG4gICAgfVxuICAgIGdldFZhbHVlKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBsZXQgcmVzID0gbnVsbDtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGlmIChlZCkge1xuICAgICAgICAgICAgICAgIHJlcyA9IGVkLmdldENvbnRlbnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIHNldFZhbHVlKHZhbHVlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZVRpbnkoKTtcbiAgICB9XG4gICAgc2V0VmFsdWVUaW55KCk6IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBpZiAoZWQpIHtcbiAgICAgICAgICAgICAgICBlZC5zZXRDb250ZW50KHRoaXMudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cbiAgICBmb2N1cygpOiBhbnkge1xuICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICB0aW55bWNlLmV4ZWNDb21tYW5kKCdtY2VGb2N1cycsIGZhbHNlLCAnaWRfb2ZfdGV4dGFyZWEnKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcztcbiAgICB9XG5cbiAgICBzZXRFbmFibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNldERpc2FibGUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2V0UmVhZE9ubHkocmVhZE9ubHkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGVkLmdldEJvZHkoKS5zZXRBdHRyaWJ1dGUoJ2NvbnRlbnRlZGl0YWJsZScsICFyZWFkT25seSk7XG4gICAgICAgICAgICBpZiAocmVhZE9ubHkpIHtcbiAgICAgICAgICAgICAgICAkKCcudG94LWVkaXRvci1oZWFkZXInKS5oaWRlKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICQoJy50b3gtZWRpdG9yLWhlYWRlcicpLmhpZGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGRlc3Ryb3lUaW55bWNlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5TZXR0aW5nLklzSHRtbFZpZXdlcikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVkID0gdGlueW1jZS5nZXQodGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgaWYgKGVkKSB7XG4gICAgICAgICAgICAvLyB0aW55bWNlLmV4ZWNDb21tYW5kKCdtY2VSZW1vdmVDb250cm9sJywgdHJ1ZSwgdGhpcy50aW55SG9zdElkKTtcbiAgICAgICAgICAgIGlmIChlZC5pZnJhbWVFbGVtZW50KSB7XG4gICAgICAgICAgICAgICAgZWQuaWZyYW1lRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdsb2FkJywgdGhpcy5fb25Mb2FkSWZyYW1lKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVkLmRlc3Ryb3koZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHByaXZhdGUgdXBsb2FkRmlsZShmaWxlczogRmlsZVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3VwbG9hZFNlcnZpY2UuY29tcHJlc3NGaWxlcyQoZmlsZXMpLnBpcGUoXG4gICAgICAgICAgICBjb25jYXRNYXAoKGZvcm1EYXRhOiBGb3JtRGF0YSkgPT5cbiAgICAgICAgICAgICAgICB0aGlzLl91cGxvYWRTZXJ2aWNlLnVwbG9hZChmb3JtRGF0YSwgdGhpcy5TZXR0aW5nLlN0b3JhZ2VGaWxlRmllbGRJZCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHJlcykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBwaWN0dXJlID0gcmVzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwaWN0dXJlLkVycm9yTXNnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkJ3Lk1zZy5FcnJvcihwaWN0dXJlLkVycm9yTXNnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCB2YWx1ZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLi4ucGljdHVyZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZUlkOiBwaWN0dXJlLkZpbGVJZFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fYWRkSW1hZ2VzKHZhbHVlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuICAgIHByaXZhdGUgX2FkZEltYWdlcyhmaWxlOiB7IEZpbGVJZDogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdXJsID0gJy9JSC5hc2h4P3R5PVN0b3JhZ2VGaWxlJmtleT0nICsgZmlsZS5GaWxlSWQ7XG4gICAgICAgIGNvbnN0IGh0bWwgPSAnPGltZyBzcmM9JyArIHVybCArICcgLz4nO1xuXG4gICAgICAgIHRoaXMuZWRpdG9yLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgZmFsc2UsIGh0bWwpO1xuICAgIH1cbiAgICBwcml2YXRlIHByZXBhcmUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlsaXplKCk7XG4gICAgICAgIHRpbnltY2UuaW5pdCh0aGlzLnRpbnlNQ0VDb25maWcpO1xuICAgICAgICB0aGlzLmludGlhbGl6YXRpb25JblByb2dyZXNzID0gZmFsc2U7XG4gICAgICAgIHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQgPSB0cnVlO1xuICAgIH1cbiAgICBwcml2YXRlIF9vbkxvYWRJZnJhbWUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmVkaXRvclZhbHVlO1xuICAgICAgICAvLyBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgIC8vIGVkLmV4ZWNDb21tYW5kKCdtY2VJbnNlcnRDb250ZW50JywgZmFsc2UsIHRoaXMudmFsdWUpO1xuXG4gICAgICAgIC8vIGVkLmluc2VydENvbnRlbnQodGhpcy52YWx1ZSwgeyBmb3JtYXQ6ICdyYXcnIH0pO1xuICAgICAgICAvLyB0aGlzLl9yZW1vdmVPdmVyZmxvdyhlZCk7XG4gICAgICAgIHRoaXMuZGVzdHJveVRpbnltY2UoKTtcbiAgICAgICAgdGhpcy5wcmVwYXJlKCk7XG4gICAgfTtcbiAgICBwcml2YXRlIF9nZW5lcmF0ZVRpbnlIb3N0SWQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGBhXyR7Z2V0VW5pcXVlSWQoMil9YDtcbiAgICB9XG5cbiAgICBwcml2YXRlIF9yZW1vdmVPdmVyZmxvdyhlZDogYW55KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGh0bWwgPSBlZC5pZnJhbWVFbGVtZW50Py5jb250ZW50RG9jdW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoJ2h0bWwnKTtcbiAgICAgICAgaWYgKGh0bWwpIHtcbiAgICAgICAgICAgIGh0bWwuc3R5bGUub3ZlcmZsb3cgPSAnaGlkZGVuJztcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmZC1pbnB1dCB0aW55d3JhcHBlclwiIFtzdHlsZS5taW4taGVpZ2h0LnB4XT1cImhlaWdodFwiIFtpZF09XCJ0aW55SG9zdElkXCI+PC9kaXY+XG48ZmQtZmlsZS11cGxvYWRlclxuICAgICN1cGxvYWRlclxuICAgIFtzdHlsZS5kaXNwbGF5XT1cIidub25lJ1wiXG4gICAgW2FjY2VwdF09XCInJ1wiXG4gICAgW211bHRpcGxlXT1cImZhbHNlXCJcbiAgICAoc2VsZWN0ZWRGaWxlc0NoYW5nZWQpPVwib25GaWxlU2VsZWN0aW9uKCRldmVudClcIlxuPjwvZmQtZmlsZS11cGxvYWRlcj5cbjwhLS0gPHRleHRhcmVhIFtpZF09XCJ0aW55SG9zdElkXCIgc3R5bGU9XCJoZWlnaHQ6IDEwMCU7IHZpc2liaWxpdHk6IGhpZGRlblwiPjwvdGV4dGFyZWE+IC0tPlxuIl19
|
|
421
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvYmFyc2EtdGlueWVtY2UvYmFyc2EtdGlueWVtY2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVILHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4sU0FBUyxFQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBYyxTQUFTLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RCxPQUFPLEVBQ0gsYUFBYSxFQUNiLFFBQVEsRUFDUixXQUFXLEVBQ1gsVUFBVSxFQUNWLGFBQWEsRUFFaEIsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQWE5QixNQUFNLE9BQU8sc0JBQXVCLFNBQVEsYUFBYTtJQW1CckQsWUFBc0IsY0FBNkIsRUFBWSxHQUFlO1FBQzFFLEtBQUssRUFBRSxDQUFDO1FBRFUsbUJBQWMsR0FBZCxjQUFjLENBQWU7UUFBWSxRQUFHLEdBQUgsR0FBRyxDQUFZO1FBWnBFLGdCQUFXLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0QyxhQUFRLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUN4QyxlQUFVLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDeEMsa0JBQWEsR0FBUSxFQUFFLENBQUM7UUEyWmhCLGtCQUFhLEdBQUcsR0FBUyxFQUFFO1lBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUM5QiwyQ0FBMkM7WUFDM0MseURBQXlE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akMsSUFBSSxDQUFDLHVCQUF1QixHQUFHLEtBQUssQ0FBQztRQUNyQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO0lBQ2xDLENBQUM7SUFXTyxtQkFBbUI7UUFDdkIsT0FBTyxLQUFLLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFTyxlQUFlLENBQUMsRUFBTztRQUMzQixNQUFNLElBQUksR0FBRyxFQUFFLENBQUMsYUFBYSxFQUFFLGVBQWUsRUFBRSxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDdEUsSUFBSSxJQUFJLEVBQUU7WUFDTixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7U0FDbEM7SUFDTCxDQUFDOzttSEF4YlEsc0JBQXNCO3VHQUF0QixzQkFBc0IsME9BRnBCLENBQUMsYUFBYSxDQUFDLDZLQ2xDOUIsaVlBU0E7MkZEMkJhLHNCQUFzQjtrQkFQbEMsU0FBUzsrQkFDSSxvQkFBb0IsbUJBR2IsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGFBQWEsQ0FBQzs2SEFHSCxTQUFTO3NCQUEvQixTQUFTO3VCQUFDLFVBQVU7Z0JBQ1osT0FBTztzQkFBZixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT3V0cHV0LFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsZVVwbG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIGNvbmNhdE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBCYXNlQ29tcG9uZW50LFxuICAgIEJhcnNhQXBpLFxuICAgIGdldFVuaXF1ZUlkLFxuICAgIGlzRnVuY3Rpb24sXG4gICAgVXBsb2FkU2VydmljZSxcbiAgICBHZW5lcmFsQ29udHJvbEluZm9Nb2RlbFxufSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbmRlY2xhcmUgY29uc3Qgd2luZG93OiBhbnk7XG5kZWNsYXJlIGNvbnN0IHRpbnltY2U6IGFueTtcbmRlY2xhcmUgY29uc3QgaGVhZDogYW55O1xuZGVjbGFyZSBjb25zdCAkOiBhbnk7XG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2JzdS1iYXJzYS10aW55ZW1jZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2JhcnNhLXRpbnllbWNlLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9iYXJzYS10aW55ZW1jZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1VwbG9hZFNlcnZpY2VdXG59KVxuZXhwb3J0IGNsYXNzIEJhcnNhVGlueWVtY2VDb21wb25lbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPbkNoYW5nZXMge1xuICAgIEBWaWV3Q2hpbGQoJ3VwbG9hZGVyJykgX3VwbG9hZGVyOiBGaWxlVXBsb2FkZXJDb21wb25lbnQ7XG4gICAgQElucHV0KCkgU2V0dGluZzogR2VuZXJhbENvbnRyb2xJbmZvTW9kZWw7XG4gICAgQElucHV0KCkgaXNSZWFkb25seTogYm9vbGVhbjtcbiAgICBASW5wdXQoKSB2YWx1ZTogYW55O1xuICAgIEBJbnB1dCgpIElzSW5saW5lOiBib29sZWFuO1xuICAgIEBJbnB1dCgpIGRlZmF1bHRWZXJiczogeyBUaXRsZTogc3RyaW5nOyBIdG1sOiBzdHJpbmcgfVtdO1xuICAgIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuICAgIEBPdXRwdXQoKSB0aW55SW5pdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgICB0aW55SG9zdElkID0gdGhpcy5fZ2VuZXJhdGVUaW55SG9zdElkKCk7XG4gICAgdGlueU1DRUNvbmZpZzogYW55ID0ge307XG4gICAgZWRpdG9yOiBhbnk7XG4gICAgd3lzaXd5Z0ludGlhbGl6ZWQ6IGJvb2xlYW47XG4gICAgaW50aWFsaXphdGlvbkluUHJvZ3Jlc3M6IGJvb2xlYW47XG4gICAgZWRpdG9yVmFsdWU6IHN0cmluZztcblxuICAgIGlmcmFtQm9keUlubmVySHRtbDogc3RyaW5nO1xuICAgIGhlaWdodDogbnVtYmVyO1xuXG4gICAgY29uc3RydWN0b3IocHJvdGVjdGVkIF91cGxvYWRTZXJ2aWNlOiBVcGxvYWRTZXJ2aWNlLCBwcm90ZWN0ZWQgX2VsOiBFbGVtZW50UmVmKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuICAgIG5nT25DaGFuZ2VzKHNpbXBsZUNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoc2ltcGxlQ2hhbmdlcyk7XG4gICAgICAgIGlmIChzaW1wbGVDaGFuZ2VzLnZhbHVlICYmICFzaW1wbGVDaGFuZ2VzLnZhbHVlLmZpcnN0Q2hhbmdlKSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlKHNpbXBsZUNoYW5nZXMudmFsdWUuY3VycmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy5kaXNhYmxlICYmICFzaW1wbGVDaGFuZ2VzLmRpc2FibGUuZmlyc3RDaGFuZ2UpIHtcbiAgICAgICAgICAgIGNvbnN0IGRpc2JhbGUgPSBzaW1wbGVDaGFuZ2VzLmRpc2FibGUuY3VycmVudFZhbHVlO1xuICAgICAgICAgICAgaWYgKGRpc2JhbGUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldERpc2FibGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRFbmFibGUoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoc2ltcGxlQ2hhbmdlcy5yZWFkb25seSAmJiAhc2ltcGxlQ2hhbmdlcy5yZWFkb25seS5maXJzdENoYW5nZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRSZWFkT25seShzaW1wbGVDaGFuZ2VzLnJlYWRvbmx5LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25Jbml0KCk7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpLmNsaWVudEhlaWdodDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICB0aGlzLmxvYWRUaW55TWNlKCk7XG4gICAgfVxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lUaW55bWNlKCk7XG4gICAgfVxuXG4gICAgb25GaWxlU2VsZWN0aW9uKGZpbGVzOiBGaWxlW10pOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGxvYWRGaWxlKGZpbGVzKS5waXBlKHRha2VVbnRpbCh0aGlzLl9vbkRlc3Ryb3kkKSkuc3Vic2NyaWJlKCk7XG4gICAgfVxuICAgIGxvYWRUaW55TWNlKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuU2V0dGluZy5Jc0h0bWxWaWV3ZXIpIHtcbiAgICAgICAgICAgIGhlYWQubG9hZChbJ0xpYi90aW55bWNlL3RpbnltY2UubWluLmpzJ10sICgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXBhcmUoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5pdGlsaXplKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy50aW55TUNFQ29uZmlnLnNldHVwKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmhlaWdodCA9ICcxMDAlJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLndpZHRoID0gJzEwMCUnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuc2VsZWN0b3IgPSAnIycgKyB0aGlzLnRpbnlIb3N0SWQ7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wbGFjZWhvbGRlciA9IHRoaXMuU2V0dGluZy5Db250cm9sRmllbGRDYXB0aW9uVHJhbnNsYXRlZDtcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmNvbnRlbnRfY3NzID0gJ2Fzc2V0cy9SZXNvdXJjZXMvZm9udHMvSXJhbi5jc3MnO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZGlyZWN0aW9uYWxpdHkgPSAncnRsJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmxhbmd1YWdlID0gJ2ZhX0lSJztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnByb21vdGlvbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucGFzdGVfZGF0YV9pbWFnZXMgPSB0cnVlO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnROYW1lID0gJ0JhcnNhRm9udCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udFNpemUgPSAnMTJweCc7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zdGF0dXNiYXIgPSBmYWxzZTtcblxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuaW5saW5lID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5tZW51YmFyID0gIXRoaXMuSXNJbmxpbmU7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50aGVtZV9hZHZhbmNlZF9yZXNpemluZyA9IHRydWU7XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50b29sYmFyX2xvY2F0aW9uID0gJ3RvcCc7XG4gICAgICAgIC8vIHRoaXMudGlueU1DRUNvbmZpZy50b29sYmFyX21vZGUgPSAnZmxvYXRpbmcnO1xuICAgICAgICAvLyB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhcl9zdGlja3kgPSB0cnVlO1xuICAgICAgICAvLyB0aGlzLnRpbnlNQ0VDb25maWcudG9vbGJhcl9zdGlja3lfb2Zmc2V0ID0gMTAwO1xuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuZm9udF9mYW1pbHlfZm9ybWF0cyA9XG4gICAgICAgICAgICAnQmFyc2FGb250PUJhcnNhRm9udDtBcmlhbD1hcmlhbCxoZWx2ZXRpY2Esc2Fucy1zZXJpZjsgQ291cmllciBOZXc9Y291cmllciBuZXcsY291cmllcixtb25vc3BhY2U7JztcbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLmZvbnRfc2l6ZV9mb3JtYXRzID0gJzhwdCAxMHB0IDEycHQgMTRwdCAxOHB0IDI0cHQgMzZwdCc7XG5cbiAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnBsdWdpbnMgPSBbXG4gICAgICAgICAgICAnYWR2bGlzdCcsXG4gICAgICAgICAgICAnYW5jaG9yJyxcbiAgICAgICAgICAgICdhdXRvbGluaycsXG4gICAgICAgICAgICAnYXV0b3NhdmUnLFxuICAgICAgICAgICAgJ2NoYXJtYXAnLFxuICAgICAgICAgICAgJ2NvZGUnLFxuICAgICAgICAgICAgJ2NvZGVzYW1wbGUnLFxuICAgICAgICAgICAgJ2RpcmVjdGlvbmFsaXR5JyxcbiAgICAgICAgICAgICdlbW90aWNvbnMnLFxuICAgICAgICAgICAgJ2Z1bGxzY3JlZW4nLFxuICAgICAgICAgICAgJ2hlbHAnLFxuICAgICAgICAgICAgJ2ltYWdlJyxcbiAgICAgICAgICAgICdpbXBvcnRjc3MnLFxuICAgICAgICAgICAgJ2luc2VydGRhdGV0aW1lJyxcbiAgICAgICAgICAgICdsaW5rJyxcbiAgICAgICAgICAgICdsaXN0cycsXG4gICAgICAgICAgICAnbWVkaWEnLFxuICAgICAgICAgICAgJ25vbmJyZWFraW5nJyxcbiAgICAgICAgICAgICdwYWdlYnJlYWsnLFxuICAgICAgICAgICAgJ3ByZXZpZXcnLFxuICAgICAgICAgICAgJ3F1aWNrYmFycycsXG4gICAgICAgICAgICAnc2F2ZScsXG4gICAgICAgICAgICAnc2VhcmNocmVwbGFjZScsXG4gICAgICAgICAgICAndGFibGUnLFxuICAgICAgICAgICAgJ3RlbXBsYXRlJyxcbiAgICAgICAgICAgICd2aXN1YWxibG9ja3MnLFxuICAgICAgICAgICAgJ3Zpc3VhbGNoYXJzJyxcbiAgICAgICAgICAgICd3b3JkY291bnQnLFxuICAgICAgICAgICAgJ2F1dG9yZXNpemUnXG4gICAgICAgIF07XG4gICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50b29sYmFyID0gW1xuICAgICAgICAgICAgYGRlZmF1bHRWZXJicyBiYXJzYUltYWdlIHwgaW5zZXJ0IHwgZm9yZWNvbG9yIGJhY2tjb2xvciBmb250ZmFtaWx5IGZvbnRzaXplIHwgYnVsbGlzdCBudW1saXN0IG91dGRlbnQgaW5kZW50IHwgcmVtb3ZlZm9ybWF0YCArXG4gICAgICAgICAgICAgICAgYCB8IHVuZG8gcmVkbyB8IGNvcHkgY3V0IHBhc3RlIHwgYmxvY2tzIHwgYm9sZCBpdGFsaWMgfCBhbGlnbmxlZnQgYWxpZ25jZW50ZXIgYWxpZ25yaWdodCBhbGlnbmp1c3RpZnkgbHRyIHJ0bGBcbiAgICAgICAgXTtcbiAgICAgICAgaWYgKHRoaXMuSXNJbmxpbmUpIHtcbiAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy50b29sYmFyID0gW1xuICAgICAgICAgICAgICAgIGBkZWZhdWx0VmVyYnMgYmFyc2FJbWFnZSB8IGluc2VydCB8IGZvcmVjb2xvciBiYWNrY29sb3IgZm9udGZhbWlseSBmb250c2l6ZSB8IGJ1bGxpc3QgbnVtbGlzdGAgK1xuICAgICAgICAgICAgICAgICAgICBgIHwgdW5kbyByZWRvIHwgYm9sZCBpdGFsaWMgfCBsdHIgcnRsYFxuICAgICAgICAgICAgXTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcucXVpY2tiYXJzX3NlbGVjdGlvbl90b29sYmFyID1cbiAgICAgICAgICAgICdib2xkIGl0YWxpYyBmb250c2l6ZSB8IGZvcmVjb2xvciBiYWNrY29sb3J8ZGVmYXVsdFZlcmJzIGJhcnNhSW1hZ2UnO1xuICAgICAgICBjb25zdCB0aW55bWNlU2V0dGluZ3NHbG9iYWwgPSB3aW5kb3cudGlueW1jZVNldHRpbmdzO1xuICAgICAgICBsZXQgdGlueW1jZVNldHRpbmdzID0gQmFyc2FBcGkuQ29tbW9uLlV0aWwuVHJ5R2V0VmFsdWUodGhpcy5TZXR0aW5nLCAnSnNvbkV4dHJhUHJvcC50aW55bWNlU2V0dGluZ3MnKTtcbiAgICAgICAgdGlueW1jZVNldHRpbmdzID0gQmFyc2FBcGkuQ29tbW9uLk1lcmdlci5NZXJnZSh0aW55bWNlU2V0dGluZ3NHbG9iYWwsIHRpbnltY2VTZXR0aW5ncyk7XG4gICAgICAgIGlmICghdGlueW1jZVNldHRpbmdzICYmIEFycmF5LmlzQXJyYXkodGlueW1jZVNldHRpbmdzKSkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIHRpbnltY2VTZXR0aW5ncykge1xuICAgICAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZ1tpdGVtLmtleV0gPSBpdGVtLnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLm1lbnViYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5zdGF0dXNiYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMudGlueU1DRUNvbmZpZy5wbHVnaW5zID0gWydhdXRvcmVzaXplJ107XG4gICAgICAgICAgICAvLyB0aGlzLnRpbnlNQ0VDb25maWcucGx1Z2lucyA9IFtdO1xuICAgICAgICAgICAgdGhpcy50aW55TUNFQ29uZmlnLnRvb2xiYXIgPSBmYWxzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCB1c2VyU2V0dXA6IChlZGl0b3I6IGFueSkgPT4gdm9pZDtcblxuICAgICAgICBpZiAodGhpcy50aW55TUNFQ29uZmlnLnNldHVwKSB7XG4gICAgICAgICAgICB1c2VyU2V0dXAgPSB0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXA7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRlZmF1bHRWZXJic01lbnU6IGFueSA9IFtdO1xuXG4gICAgICAgIC8vIEJFR0lOOiBzZXR1cFxuICAgICAgICB0aGlzLnRpbnlNQ0VDb25maWcuc2V0dXAgPSAoZWQpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZWRpdG9yID0gZWQ7XG4gICAgICAgICAgICBpZiAoIXRoaXMuaXNSZWFkb25seSkge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRlZmF1bHRWZXJicykge1xuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmVyYnNNZW51ID0gW107XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGVmYXVsdFZlcmJzLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWZXJic01lbnUucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IGl0ZW0uSHRtbCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnbWVudWl0ZW0nLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQ6IGl0ZW0uVGl0bGUgfHwgaXRlbS5IdG1sLnJlcGxhY2UoLzxiclxccypcXC8/Pi9naSwgJyAnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbkFjdGlvbjogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBlZC5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0UmF3SFRNTCcsIGZhbHNlLCBpdGVtLkh0bWwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlZC5pbnNlcnRDb250ZW50KGl0ZW0uSHRtbCwgeyBmb3JtYXQ6ICdyYXcnIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWQudWkucmVnaXN0cnkuYWRkU3BsaXRCdXR0b24oJ2JhcnNhSW1hZ2UnLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICdpbnNlcnQnLFxuICAgICAgICAgICAgICAgICAgICBpY29uOiAnaW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwOiAnSW5zZXJ0IEltYWdlIEFzIEJhc2U2NCcsXG4gICAgICAgICAgICAgICAgICAgIG9uQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuV2F0ZXJmYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW5lbWNlLkVtYmVkSW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkZpbGVEaWFsb2c6IHRoaXMuU2hvd09wZW5GaWxlRGlhbG9nLmJpbmQodGhpcyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydEJhc2U2NDogdGhpcy5JbnNlcnRCYXNlNjQuYmluZCh0aGlzKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKGVyciwgcmVzdWx0KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcnNhQXBpLkNvbW1vbi5Bc3luYy5GaW5hbGl6ZShlcnIsIHJlc3VsdCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgb25JdGVtQWN0aW9uOiAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Db21tb24uQXN5bmMuV2F0ZXJmYWxsKFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdUaW5lbWNlLlVwbG9hZFRvRGF0YWJhc2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbkZpbGVEaWFsb2c6IHRoaXMuU2hvd1VwbG9hZFdpbmRvdy5iaW5kKHRoaXMpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZXJyLCByZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFyc2FBcGkuQ29tbW9uLkFzeW5jLkZpbmFsaXplKGVyciwgcmVzdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAgICBmZXRjaDogKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdjaG9pY2VpdGVtJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dDogJ3VwbG9hZCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGljb246ICdpbWFnZScsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvb2x0aXA6ICdVcGxvYWQgSW1hZ2UnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogJ3VwbG9hZCdcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2soaXRlbXMpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgICAgICBlZC51aS5yZWdpc3RyeS5hZGRNZW51QnV0dG9uKCdkZWZhdWx0VmVyYnMnLCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQ6ICfYudio2KfYsdiq2YfYp9uMINm+24zYtCDZgdix2LYnLFxuICAgICAgICAgICAgICAgICAgICBmZXRjaDogKGNhbGxiYWNrKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYWxsYmFjayhkZWZhdWx0VmVyYnNNZW51KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIGlmIChpc0Z1bmN0aW9uKHdpbmRvdy50aW55bWNlU2V0dXApKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpbmRvdy50aW55bWNlU2V0dXAuY2FsbCh0aGlzLCB0aGlzLCBlZCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGV0IGhhc0luaXQgPSBmYWxzZTtcbiAgICAgICAgICAgIGVkLm9uKCdpbml0JywgKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMud3lzaXd5Z0ludGlhbGl6ZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaW50aWFsaXphdGlvbkluUHJvZ3Jlc3MgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudmFsdWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgICAgIGVkLmV4ZWNDb21tYW5kKCdGb250TmFtZScsIGZhbHNlLCB0aGlzLnRpbnlNQ0VDb25maWcuZGVmYXVsdEZvbnROYW1lKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udFNpemUpIHtcbiAgICAgICAgICAgICAgICAgICAgZWQuZXhlY0NvbW1hbmQoJ0ZvbnRTaXplJywgZmFsc2UsIHRoaXMudGlueU1DRUNvbmZpZy5kZWZhdWx0Rm9udFNpemUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pc1JlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0UmVhZE9ubHkodGhpcy5pc1JlYWRvbmx5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBwaWVjZSBvZiBjb2RlIHNvbHZlcyB0aGUgcHJvYmxlbSBvZiBjaGFuZ2UgcHJvcGFnYXRpb24gc28gdGhhdFxuICAgICAgICAgICAgICAgIC8vIHRoZXJlIGlzIG5vIG5lZWQgdG8gY2FsbCB0cmlnZ2VyU2F2ZVxuICAgICAgICAgICAgICAgIGNvbnN0IHNldENvbnRlbnQgPSBlZC5zZXRDb250ZW50O1xuICAgICAgICAgICAgICAgIGVkLnNldENvbnRlbnQgPSAoLi4uYXJncykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRDb250ZW50LmFwcGx5KGVkLCBhcmdzKTtcbiAgICAgICAgICAgICAgICAgICAgZWQuZGlzcGF0Y2goJ2NoYW5nZScsIHt9KTtcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGhhc0luaXQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMudGlueUluaXQuZW1pdCgpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGlmcmFtRWw6IEhUTUxJRnJhbWVFbGVtZW50ID0gZWQuaWZyYW1lRWxlbWVudDtcbiAgICAgICAgICAgICAgICBpZiAoaWZyYW1FbCkge1xuICAgICAgICAgICAgICAgICAgICBpZnJhbUVsLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCB0aGlzLl9vbkxvYWRJZnJhbWUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgICAvLyBDYXRjaCBhbmQgcHJvcGFnYXRlIHRoZSBjaGFuZ2UgZXZlbnRcbiAgICAgICAgICAgIGxldCBvbGRDb250ZW50ID0gbnVsbDtcbiAgICAgICAgICAgIGVkLm9uKCdjaGFuZ2Uga2V5dXAnLCAoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3dmFsID0gZWQuZ2V0Q29udGVudCgpO1xuICAgICAgICAgICAgICAgIGlmIChuZXd2YWwgPT09IG9sZENvbnRlbnQpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIG9sZENvbnRlbnQgPSBuZXd2YWw7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNJbml0KSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBlZC5zYXZlKCk7XG4gICAgICAgICAgICAgICAgdGhpcy5lZGl0b3JWYWx1ZSA9IG5ld3ZhbDtcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQobmV3dmFsKTtcbiAgICAgICAgICAgICAgICAvLyB0aGlzLmNvbnRleHQuZmlyZUV2ZW50KCdjaGFuZ2UnLCB0aGlzLCBuZXd2YWwsIG9sZHZhbCwge30pO1xuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIGVkLm9uKCdmb2N1cycsICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBUT0RPXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgaWYgKHVzZXJTZXR1cCkge1xuICAgICAgICAgICAgICAgIHVzZXJTZXR1cChlZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgU2hvd1VwbG9hZFdpbmRvdygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fdXBsb2FkZXIub3BlbigpO1xuICAgIH1cbiAgICBTaG93T3BlbkZpbGVEaWFsb2coZG9SZXR1cm4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgaW5wdXQ6IGFueSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgndHlwZScsICdmaWxlJyk7XG4gICAgICAgIGlucHV0LnNldEF0dHJpYnV0ZSgnYWNjZXB0JywgJ2ltYWdlLyonKTtcblxuICAgICAgICBpbnB1dC5vbmNoYW5nZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGZpbGUgPSBpbnB1dC5maWxlc1swXTtcblxuICAgICAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgICAgIHJlYWRlci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGV0IGJhc2U2NCA9IHJlYWRlci5yZXN1bHQgYXMgc3RyaW5nO1xuICAgICAgICAgICAgICAgIGJhc2U2NCA9IGJhc2U2NC5zcGxpdCgnLCcpWzFdO1xuICAgICAgICAgICAgICAgIGRvUmV0dXJuKG51bGwsIGJhc2U2NCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgcmVhZGVyLnJlYWRBc0RhdGFVUkwoZmlsZSk7XG4gICAgICAgIH07XG5cbiAgICAgICAgaW5wdXQuY2xpY2soKTtcbiAgICB9XG4gICAgSW5zZXJ0QmFzZTY0KGJhc2U2NCwgZG9SZXR1cm4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5lZGl0b3IuZXhlY0NvbW1hbmQoJ21jZUluc2VydENvbnRlbnQnLCBmYWxzZSwgJzxpbWcgc3JjPWRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCwnICsgYmFzZTY0ICsgJyAvPicpO1xuICAgICAgICBkb1JldHVybigpO1xuICAgIH1cbiAgICBnZXRWYWx1ZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgbGV0IHJlcyA9IG51bGw7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBpZiAoZWQpIHtcbiAgICAgICAgICAgICAgICByZXMgPSBlZC5nZXRDb250ZW50KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzO1xuICAgIH1cbiAgICBzZXRWYWx1ZSh2YWx1ZSk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgICAgIHRoaXMuc2V0VmFsdWVUaW55KCk7XG4gICAgfVxuICAgIHNldFZhbHVlVGlueSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAodGhpcy53eXNpd3lnSW50aWFsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAgICAgaWYgKGVkKSB7XG4gICAgICAgICAgICAgICAgZWQuc2V0Q29udGVudCh0aGlzLnZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZTtcbiAgICB9XG4gICAgZm9jdXMoKTogYW55IHtcbiAgICAgICAgaWYgKHRoaXMuaXNSZWFkb25seSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy53eXNpd3lnSW50aWFsaXplZCkge1xuICAgICAgICAgICAgdGlueW1jZS5leGVjQ29tbWFuZCgnbWNlRm9jdXMnLCBmYWxzZSwgJ2lkX29mX3RleHRhcmVhJyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfVxuXG4gICAgc2V0RW5hYmxlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy53eXNpd3lnSW50aWFsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAgICAgZWQuZ2V0Qm9keSgpLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXREaXNhYmxlKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy53eXNpd3lnSW50aWFsaXplZCkge1xuICAgICAgICAgICAgY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAgICAgZWQuZ2V0Qm9keSgpLnNldEF0dHJpYnV0ZSgnY29udGVudGVkaXRhYmxlJywgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHNldFJlYWRPbmx5KHJlYWRPbmx5KTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnd5c2l3eWdJbnRpYWxpemVkKSB7XG4gICAgICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBlZC5nZXRCb2R5KCkuc2V0QXR0cmlidXRlKCdjb250ZW50ZWRpdGFibGUnLCAhcmVhZE9ubHkpO1xuICAgICAgICAgICAgaWYgKHJlYWRPbmx5KSB7XG4gICAgICAgICAgICAgICAgJCgnLnRveC1lZGl0b3ItaGVhZGVyJykuaGlkZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAkKCcudG94LWVkaXRvci1oZWFkZXInKS5oaWRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZXN0cm95VGlueW1jZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuU2V0dGluZy5Jc0h0bWxWaWV3ZXIpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlZCA9IHRpbnltY2UuZ2V0KHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgIGlmIChlZCkge1xuICAgICAgICAgICAgLy8gdGlueW1jZS5leGVjQ29tbWFuZCgnbWNlUmVtb3ZlQ29udHJvbCcsIHRydWUsIHRoaXMudGlueUhvc3RJZCk7XG4gICAgICAgICAgICBpZiAoZWQuaWZyYW1lRWxlbWVudCkge1xuICAgICAgICAgICAgICAgIGVkLmlmcmFtZUVsZW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbG9hZCcsIHRoaXMuX29uTG9hZElmcmFtZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlZC5kZXN0cm95KGZhbHNlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBwcml2YXRlIHVwbG9hZEZpbGUoZmlsZXM6IEZpbGVbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl91cGxvYWRTZXJ2aWNlLmNvbXByZXNzRmlsZXMkKGZpbGVzKS5waXBlKFxuICAgICAgICAgICAgY29uY2F0TWFwKChmb3JtRGF0YTogRm9ybURhdGEpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5fdXBsb2FkU2VydmljZS51cGxvYWQoZm9ybURhdGEsIHRoaXMuU2V0dGluZy5TdG9yYWdlRmlsZUZpZWxkSWQpLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHRhcCgocmVzKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXMpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcGljdHVyZSA9IHJlc1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocGljdHVyZS5FcnJvck1zZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYXJzYUFwaS5Cdy5Nc2cuRXJyb3IocGljdHVyZS5FcnJvck1zZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdmFsdWUgPSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLnBpY3R1cmUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGVJZDogcGljdHVyZS5GaWxlSWRcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2FkZEltYWdlcyh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKVxuICAgICAgICApO1xuICAgIH1cbiAgICBwcml2YXRlIF9hZGRJbWFnZXMoZmlsZTogeyBGaWxlSWQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHVybCA9ICcvSUguYXNoeD90eT1TdG9yYWdlRmlsZSZrZXk9JyArIGZpbGUuRmlsZUlkO1xuICAgICAgICBjb25zdCBodG1sID0gJzxpbWcgc3JjPScgKyB1cmwgKyAnIC8+JztcblxuICAgICAgICB0aGlzLmVkaXRvci5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0Q29udGVudCcsIGZhbHNlLCBodG1sKTtcbiAgICB9XG4gICAgcHJpdmF0ZSBwcmVwYXJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmluaXRpbGl6ZSgpO1xuICAgICAgICB0aW55bWNlLmluaXQodGhpcy50aW55TUNFQ29uZmlnKTtcbiAgICAgICAgdGhpcy5pbnRpYWxpemF0aW9uSW5Qcm9ncmVzcyA9IGZhbHNlO1xuICAgICAgICB0aGlzLnd5c2l3eWdJbnRpYWxpemVkID0gdHJ1ZTtcbiAgICB9XG4gICAgcHJpdmF0ZSBfb25Mb2FkSWZyYW1lID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5lZGl0b3JWYWx1ZTtcbiAgICAgICAgLy8gY29uc3QgZWQgPSB0aW55bWNlLmdldCh0aGlzLnRpbnlIb3N0SWQpO1xuICAgICAgICAvLyBlZC5leGVjQ29tbWFuZCgnbWNlSW5zZXJ0Q29udGVudCcsIGZhbHNlLCB0aGlzLnZhbHVlKTtcblxuICAgICAgICAvLyBlZC5pbnNlcnRDb250ZW50KHRoaXMudmFsdWUsIHsgZm9ybWF0OiAncmF3JyB9KTtcbiAgICAgICAgLy8gdGhpcy5fcmVtb3ZlT3ZlcmZsb3coZWQpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lUaW55bWNlKCk7XG4gICAgICAgIHRoaXMucHJlcGFyZSgpO1xuICAgIH07XG4gICAgcHJpdmF0ZSBfZ2VuZXJhdGVUaW55SG9zdElkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBgYV8ke2dldFVuaXF1ZUlkKDIpfWA7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfcmVtb3ZlT3ZlcmZsb3coZWQ6IGFueSk6IHZvaWQge1xuICAgICAgICBjb25zdCBodG1sID0gZWQuaWZyYW1lRWxlbWVudD8uY29udGVudERvY3VtZW50Py5xdWVyeVNlbGVjdG9yKCdodG1sJyk7XG4gICAgICAgIGlmIChodG1sKSB7XG4gICAgICAgICAgICBodG1sLnN0eWxlLm92ZXJmbG93ID0gJ2hpZGRlbic7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZmQtaW5wdXQgdGlueXdyYXBwZXJcIiBbc3R5bGUubWluLWhlaWdodC5weF09XCJoZWlnaHRcIiBbaWRdPVwidGlueUhvc3RJZFwiPjwvZGl2PlxuPGZkLWZpbGUtdXBsb2FkZXJcbiAgICAjdXBsb2FkZXJcbiAgICBbc3R5bGUuZGlzcGxheV09XCInbm9uZSdcIlxuICAgIFthY2NlcHRdPVwiJydcIlxuICAgIFttdWx0aXBsZV09XCJmYWxzZVwiXG4gICAgKHNlbGVjdGVkRmlsZXNDaGFuZ2VkKT1cIm9uRmlsZVNlbGVjdGlvbigkZXZlbnQpXCJcbj48L2ZkLWZpbGUtdXBsb2FkZXI+XG48IS0tIDx0ZXh0YXJlYSBbaWRdPVwidGlueUhvc3RJZFwiIHN0eWxlPVwiaGVpZ2h0OiAxMDAlOyB2aXNpYmlsaXR5OiBoaWRkZW5cIj48L3RleHRhcmVhPiAtLT5cbiJdfQ==
|
|
@@ -16,6 +16,7 @@ export class FormToolbarButtonComponent extends BaseFormToolbaritemPropsComponen
|
|
|
16
16
|
this.onlyIcon = this.parameters.OnlyIcon;
|
|
17
17
|
this.icon = this.parameters.Icon;
|
|
18
18
|
this.fdType = this.parameters.FdType$Caption;
|
|
19
|
+
this.minWidth = this.parameters.MinWidth;
|
|
19
20
|
this.text = this.inlineHelp = this.context.text;
|
|
20
21
|
// this.inlineHelpDirective.disabled = this.parameters.ShowTooltip === false;
|
|
21
22
|
}
|
|
@@ -29,10 +30,10 @@ export class FormToolbarButtonComponent extends BaseFormToolbaritemPropsComponen
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
FormToolbarButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormToolbarButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
32
|
-
FormToolbarButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormToolbarButtonComponent, selector: "bsu-form-toolbar-button", inputs: { parameters: "parameters" }, outputs: { btnClick: "btnClick" }, viewQueries: [{ propertyName: "inlineHelpDirective", first: true, predicate: InlineHelpDirective, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button\n fd-toolbar-item\n fd-button\n [title]=\"inlineHelp | bbbTranslate\"\n [glyph]=\"icon\"\n [class.control-disabled]=\"isEnable === false ? true : false\"\n [fdType]=\"fdType || (!isEnable ? 'transparent' : fdType)\"\n (click)=\"btnClick.emit()\"\n>\n <span *ngIf=\"!onlyIcon || showText\">{{ text | bbbTranslate }}</span>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i3.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
|
+
FormToolbarButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.7", type: FormToolbarButtonComponent, selector: "bsu-form-toolbar-button", inputs: { parameters: "parameters" }, outputs: { btnClick: "btnClick" }, viewQueries: [{ propertyName: "inlineHelpDirective", first: true, predicate: InlineHelpDirective, descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<button\n fd-toolbar-item\n fd-button\n [title]=\"inlineHelp | bbbTranslate\"\n [glyph]=\"icon\"\n [class.control-disabled]=\"isEnable === false ? true : false\"\n [fdType]=\"fdType || (!isEnable ? 'transparent' : fdType)\"\n (click)=\"btnClick.emit()\"\n [style.min-width.px]=\"minWidth ? minWidth : null\"\n>\n <span *ngIf=\"!onlyIcon || showText\">{{ text | bbbTranslate }}</span>\n</button>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "directive", type: i3.ToolbarItemDirective, selector: "[fd-toolbar-item]" }, { kind: "pipe", type: i4.BbbTranslatePipe, name: "bbbTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
33
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImport: i0, type: FormToolbarButtonComponent, decorators: [{
|
|
34
35
|
type: Component,
|
|
35
|
-
args: [{ selector: 'bsu-form-toolbar-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n fd-toolbar-item\n fd-button\n [title]=\"inlineHelp | bbbTranslate\"\n [glyph]=\"icon\"\n [class.control-disabled]=\"isEnable === false ? true : false\"\n [fdType]=\"fdType || (!isEnable ? 'transparent' : fdType)\"\n (click)=\"btnClick.emit()\"\n>\n <span *ngIf=\"!onlyIcon || showText\">{{ text | bbbTranslate }}</span>\n</button>\n" }]
|
|
36
|
+
args: [{ selector: 'bsu-form-toolbar-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n fd-toolbar-item\n fd-button\n [title]=\"inlineHelp | bbbTranslate\"\n [glyph]=\"icon\"\n [class.control-disabled]=\"isEnable === false ? true : false\"\n [fdType]=\"fdType || (!isEnable ? 'transparent' : fdType)\"\n (click)=\"btnClick.emit()\"\n [style.min-width.px]=\"minWidth ? minWidth : null\"\n>\n <span *ngIf=\"!onlyIcon || showText\">{{ text | bbbTranslate }}</span>\n</button>\n" }]
|
|
36
37
|
}], propDecorators: { inlineHelpDirective: [{
|
|
37
38
|
type: ViewChild,
|
|
38
39
|
args: [InlineHelpDirective, { static: true }]
|
|
@@ -41,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.7", ngImpor
|
|
|
41
42
|
}], btnClick: [{
|
|
42
43
|
type: Output
|
|
43
44
|
}] } });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS10b29sYmFyLWJ1dHRvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9iYXJzYS1zYXAtdWkvc3JjL2xpYi9mb3JtLXRvb2xiYXItYnV0dG9uL2Zvcm0tdG9vbGJhci1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYmFyc2Etc2FwLXVpL3NyYy9saWIvZm9ybS10b29sYmFyLWJ1dHRvbi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUVaLFNBQVMsRUFHWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7O0FBUXpFLE1BQU0sT0FBTywwQkFBMkIsU0FBUSxpQ0FBaUM7SUFOakY7O1FBU2MsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7S0F3QmpEO0lBakJHLFFBQVE7UUFDSixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQztRQUN6QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDaEQsNkVBQTZFO0lBQ2pGLENBQUM7SUFDRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFDO1FBQzdCLElBQUksUUFBUSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsSUFBSSxRQUFRLENBQUMsWUFBWSxLQUFLLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDOUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDO1lBQ3RDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDNUI7SUFDTCxDQUFDOzt1SEExQlEsMEJBQTBCOzJHQUExQiwwQkFBMEIsNkxBQ3hCLG1CQUFtQiwwR0NyQmxDLHlhQVlBOzJGRFFhLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDSSx5QkFBeUIsbUJBR2xCLHVCQUF1QixDQUFDLE1BQU07OEJBR0csbUJBQW1CO3NCQUFwRSxTQUFTO3VCQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDdkMsVUFBVTtzQkFBbEIsS0FBSztnQkFDSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDb21wb25lbnQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgSW5wdXQsXG4gICAgT3V0cHV0LFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBPbkluaXQsXG4gICAgVmlld0NoaWxkLFxuICAgIFNpbXBsZUNoYW5nZXMsXG4gICAgT25DaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQnV0dG9uVHlwZSwgSW5saW5lSGVscERpcmVjdGl2ZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZSc7XG5pbXBvcnQgeyBCYXNlRm9ybVRvb2xiYXJpdGVtUHJvcHNDb21wb25lbnQgfSBmcm9tICdiYXJzYS1ub3Zpbi1yYXktY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnYnN1LWZvcm0tdG9vbGJhci1idXR0b24nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9mb3JtLXRvb2xiYXItYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRm9ybVRvb2xiYXJCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBCYXNlRm9ybVRvb2xiYXJpdGVtUHJvcHNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG4gICAgQFZpZXdDaGlsZChJbmxpbmVIZWxwRGlyZWN0aXZlLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbmxpbmVIZWxwRGlyZWN0aXZlOiBJbmxpbmVIZWxwRGlyZWN0aXZlO1xuICAgIEBJbnB1dCgpIHBhcmFtZXRlcnM7XG4gICAgQE91dHB1dCgpIGJ0bkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xuICAgIG9ubHlJY29uOiBib29sZWFuO1xuICAgIGljb246IHN0cmluZztcbiAgICBpbmxpbmVIZWxwOiBzdHJpbmc7XG4gICAgZmRUeXBlOiBCdXR0b25UeXBlO1xuICAgIHRleHQ6IHN0cmluZztcbiAgICBtaW5XaWR0aDogbnVtYmVyO1xuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuICAgICAgICB0aGlzLm9ubHlJY29uID0gdGhpcy5wYXJhbWV0ZXJzLk9ubHlJY29uO1xuICAgICAgICB0aGlzLmljb24gPSB0aGlzLnBhcmFtZXRlcnMuSWNvbjtcbiAgICAgICAgdGhpcy5mZFR5cGUgPSB0aGlzLnBhcmFtZXRlcnMuRmRUeXBlJENhcHRpb247XG4gICAgICAgIHRoaXMubWluV2lkdGggPSB0aGlzLnBhcmFtZXRlcnMuTWluV2lkdGg7XG4gICAgICAgIHRoaXMudGV4dCA9IHRoaXMuaW5saW5lSGVscCA9IHRoaXMuY29udGV4dC50ZXh0O1xuICAgICAgICAvLyB0aGlzLmlubGluZUhlbHBEaXJlY3RpdmUuZGlzYWJsZWQgPSB0aGlzLnBhcmFtZXRlcnMuU2hvd1Rvb2x0aXAgPT09IGZhbHNlO1xuICAgIH1cbiAgICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25DaGFuZ2VzKGNoYW5nZXMpO1xuICAgICAgICBjb25zdCB7IGlzRW5hYmxlIH0gPSBjaGFuZ2VzO1xuICAgICAgICBpZiAoaXNFbmFibGUgJiYgIWlzRW5hYmxlLmZpcnN0Q2hhbmdlICYmIGlzRW5hYmxlLmN1cnJlbnRWYWx1ZSAhPT0gdGhpcy5pc0VuYWJsZSkge1xuICAgICAgICAgICAgdGhpcy5pc0VuYWJsZSA9IGlzRW5hYmxlLmN1cnJlbnRWYWx1ZTtcbiAgICAgICAgICAgIHRoaXMuX2Nkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxidXR0b25cbiAgICBmZC10b29sYmFyLWl0ZW1cbiAgICBmZC1idXR0b25cbiAgICBbdGl0bGVdPVwiaW5saW5lSGVscCB8IGJiYlRyYW5zbGF0ZVwiXG4gICAgW2dseXBoXT1cImljb25cIlxuICAgIFtjbGFzcy5jb250cm9sLWRpc2FibGVkXT1cImlzRW5hYmxlID09PSBmYWxzZSA/IHRydWUgOiBmYWxzZVwiXG4gICAgW2ZkVHlwZV09XCJmZFR5cGUgfHwgKCFpc0VuYWJsZSA/ICd0cmFuc3BhcmVudCcgOiBmZFR5cGUpXCJcbiAgICAoY2xpY2spPVwiYnRuQ2xpY2suZW1pdCgpXCJcbiAgICBbc3R5bGUubWluLXdpZHRoLnB4XT1cIm1pbldpZHRoID8gbWluV2lkdGggOiBudWxsXCJcbj5cbiAgICA8c3BhbiAqbmdJZj1cIiFvbmx5SWNvbiB8fCBzaG93VGV4dFwiPnt7IHRleHQgfCBiYmJUcmFuc2xhdGUgfX08L3NwYW4+XG48L2J1dHRvbj5cbiJdfQ==
|