@tsi-developpement/tsi-shared-ui 1.8.8 → 1.8.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/tsi-components/create-or-edit-modele-import/create-or-edit-modele-import.component.mjs +4 -3
- package/esm2022/lib/tsi-components/input-components/editable-grid/editable-grid.component.mjs +12 -56
- package/esm2022/lib/tsi-components/tsi-dynamic-form/create-or-edit-dynamic-form/create-or-edit-dynamic-form.component.mjs +4 -3
- package/esm2022/lib/tsi-components/tsi-notes-createoredit/tsi-notes.component.mjs +4 -3
- package/esm2022/lib/tsi-components/tsi-upload-fiche/tsi-upload-fiche.component.mjs +4 -3
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs +23 -63
- package/fesm2022/tsi-developpement-tsi-shared-ui.mjs.map +1 -1
- package/lib/tsi-components/create-or-edit-modele-import/create-or-edit-modele-import.component.d.ts +8 -0
- package/lib/tsi-components/input-components/editable-grid/editable-grid.component.d.ts +0 -2
- package/lib/tsi-components/tsi-dynamic-form/create-or-edit-dynamic-form/create-or-edit-dynamic-form.component.d.ts +8 -0
- package/lib/tsi-components/tsi-notes-createoredit/tsi-notes.component.d.ts +8 -0
- package/lib/tsi-components/tsi-upload-fiche/tsi-upload-fiche.component.d.ts +8 -0
- package/package.json +1 -1
|
@@ -37,6 +37,7 @@ export class CreateOrEditModeleImportComponent extends TsiFormComponentBaseCompo
|
|
|
37
37
|
this._businnessClassName = "";
|
|
38
38
|
this.showModeleImportDetails = false;
|
|
39
39
|
this.fileTypeImportEnumRef = FileTypeImportEnum;
|
|
40
|
+
this.modeRef = Modes;
|
|
40
41
|
this.eventsSubjectModeleImportDetail = new Subject();
|
|
41
42
|
this._businnessClassName = config?.data?.entityBusinessClass;
|
|
42
43
|
this.getClassChildsByClassNameEndPoint = ImportExportEndPoints.getClassChildsAsKeyValuePair(this._businnessClassName);
|
|
@@ -194,10 +195,10 @@ export class CreateOrEditModeleImportComponent extends TsiFormComponentBaseCompo
|
|
|
194
195
|
}
|
|
195
196
|
}
|
|
196
197
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateOrEditModeleImportComponent, deps: [{ token: i1.ModeleImportService }, { token: i1.TsiNotificationService }, { token: i2.DynamicDialogConfig }, { token: i2.DynamicDialogRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateOrEditModeleImportComponent, selector: "app-create-or-edit-modele-import", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" [isLoading]=\"isloading\" autocomplete=\"off\">\r\n <Tsi-Modal-Header [inputTitle]=\"header | modalLabel : mode : 'Mod\u00E8le import'\"\r\n (onCloseClick)=\"hide()\"></Tsi-Modal-Header>\r\n\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"grid\">\r\n <div class=\"col-8\">\r\n <div class=\"grid\">\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Modele'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.nom\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'nomModele'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Form'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.form\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomForm'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Classe'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.classe\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomClasse'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Premiere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.premiereLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'premiereLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Derniere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.dernierLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'dernierLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Arrete lors de premier erreur '\"></Tsi-Label>\r\n <Tsi-CheckBox [(inputField)]=\"modeleImport.arretePremierErreur\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'arretePremierErreur'\"></Tsi-CheckBox>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Ordre Ou Titre Colonne'\"></Tsi-Label>\r\n <Tsi-Search-Combo (bindChange)=\"typeImportChange($event)\" class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getTypeNatureDocumentEnum()\r\n \" [(bind)]=\"modeleImport.ordreOuTitreColonne\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Type de fichier'\"></Tsi-Label>\r\n <Tsi-Search-Combo class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getImportFileTypeEnum()\r\n \" [(bind)]=\"modeleImport.fileType\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-3\"\r\n [labelValue]=\"'S\u00E9parateur de fichier CSV'\"></Tsi-Label>\r\n <Tsi-Search-Combo *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-9\"\r\n [listSourceUrl]=\"\r\n modeleImportEndPoints.getCsvFileSeparatorEnum()\r\n \" [(bind)]=\"modeleImport.csvFileSeparator\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showModeleImportDetails\">\r\n <Tsi-Generic-Editable-Grid [gridData]=\"modeleImport.modeleImportDetails\"\r\n [events]=\"eventsSubjectModeleImportDetail.asObservable()\"\r\n (rowDeletedEventEmitter)=\"onSaveModeleImportDetails($event)\" [columns]=\"modeleImportDetailColumns\"\r\n [parent]=\"this\" [showSaveButton]=\"false\" [key]=\"'numLigne'\">\r\n </Tsi-Generic-Editable-Grid>\r\n </div>\r\n\r\n\r\n </fieldset>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\" (onCancelClick)=\"hide()\"\r\n (onSaveClick)=\"save()\" [showSaveAndCloseButton]=\"
|
|
198
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: CreateOrEditModeleImportComponent, selector: "app-create-or-edit-modele-import", providers: [...appProviders], usesInheritance: true, ngImport: i0, template: "<tsi-form class=\"form-horizontal\" [isLoading]=\"isloading\" autocomplete=\"off\">\r\n <Tsi-Modal-Header [inputTitle]=\"header | modalLabel : mode : 'Mod\u00E8le import'\"\r\n (onCloseClick)=\"hide()\"></Tsi-Modal-Header>\r\n\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"grid\">\r\n <div class=\"col-8\">\r\n <div class=\"grid\">\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Modele'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.nom\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'nomModele'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Form'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.form\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomForm'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Classe'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.classe\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomClasse'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Premiere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.premiereLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'premiereLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Derniere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.dernierLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'dernierLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Arrete lors de premier erreur '\"></Tsi-Label>\r\n <Tsi-CheckBox [(inputField)]=\"modeleImport.arretePremierErreur\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'arretePremierErreur'\"></Tsi-CheckBox>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Ordre Ou Titre Colonne'\"></Tsi-Label>\r\n <Tsi-Search-Combo (bindChange)=\"typeImportChange($event)\" class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getTypeNatureDocumentEnum()\r\n \" [(bind)]=\"modeleImport.ordreOuTitreColonne\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Type de fichier'\"></Tsi-Label>\r\n <Tsi-Search-Combo class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getImportFileTypeEnum()\r\n \" [(bind)]=\"modeleImport.fileType\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-3\"\r\n [labelValue]=\"'S\u00E9parateur de fichier CSV'\"></Tsi-Label>\r\n <Tsi-Search-Combo *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-9\"\r\n [listSourceUrl]=\"\r\n modeleImportEndPoints.getCsvFileSeparatorEnum()\r\n \" [(bind)]=\"modeleImport.csvFileSeparator\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showModeleImportDetails\">\r\n <Tsi-Generic-Editable-Grid [gridData]=\"modeleImport.modeleImportDetails\"\r\n [events]=\"eventsSubjectModeleImportDetail.asObservable()\"\r\n (rowDeletedEventEmitter)=\"onSaveModeleImportDetails($event)\" [columns]=\"modeleImportDetailColumns\"\r\n [parent]=\"this\" [showSaveButton]=\"false\" [key]=\"'numLigne'\">\r\n </Tsi-Generic-Editable-Grid>\r\n </div>\r\n\r\n\r\n </fieldset>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\" (onCancelClick)=\"hide()\"\r\n (onSaveClick)=\"save()\" [showSaveAndCloseButton]=\"mode == modeRef.delete\"></Tsi-Modal-Footer>\r\n\r\n</tsi-form>", styles: [""], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.EditableGridComponent, selector: "Tsi-Generic-Editable-Grid", inputs: ["selectedItems", "configuration", "key", "items", "events", "showAddButton", "showDeleteButton", "showEditButton", "showRowSummary", "scrollHeight", "rowPerPage", "pageSize", "columns", "gridData", "isTableLoading", "parent", "showSaveButton", "showActionColumn", "enableRowDisabling", "rowSummaryConfig", "showHaveSumary", "showRowSumary", "selectKeyOnly", "selectionMode", "showConsultButton", "editableGridBusinessClass", "orderColumn", "deleteLineButtonDisabled", "id"], outputs: ["itemsSave", "refreshEventEmitter", "saveDataEventEmitter", "rowChangedEventEmitter", "selectedRowEventEmitter", "addedRowEventEmitter", "focusOutEventEmitter", "cellChanged", "rowDeletedEventEmitter", "selectedItemsChange", "onRowSelect", "focusOutRow", "onConsultClicked"] }, { kind: "component", type: i5.TsiSearchComboComponent, selector: "Tsi-Search-Combo", inputs: ["elementSourceUrl", "listSourceUrl", "listSourceParams", "id-field", "label-field", "multiple", "sort", "showClear", "reloadDataSource", "isFiltered", "selectedLabel", "maxWidth", "businessClass", "comboType", "statusMetadata", "currentRowItem", "datasource", "bind", "maxSelectedLabels", "tooltipMaxDisplayedItems", "bindMode", "showSearchButton", "showAddButton", "showConsultButton", "showUpdateButton"], outputs: ["bindChange", "datasource-loaded", "init", "isLoaded", "selectedLabelChange", "onClick", "onSearchButtonClick", "selectionChange"] }, { kind: "component", type: i6.TsiCheckboxComponent, selector: "Tsi-CheckBox", inputs: ["class", "isBinary", "checked", "tooltipText", "tooltipPosition"], outputs: ["inputFieldChange", "checkedChange"] }, { kind: "component", type: i7.TsiIntegerComponent, selector: "Tsi-Integer", inputs: ["class", "minValue", "maxValue", "delayChangeTime"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i8.TsiTextBoxComponent, selector: "Tsi-Text-Box", inputs: ["textBoxType", "autocomplete"], outputs: ["newItemEvent", "inputFieldChange"] }, { kind: "component", type: i9.TsiLabelComponent, selector: "Tsi-Label", inputs: ["labelValue", "styleClass", "infoText"] }, { kind: "component", type: i10.TsiModalFooterComponent, selector: "Tsi-Modal-Footer", inputs: ["cancelDisabled", "saveDisabled", "cancelLabel", "saveLabel", "isConsult", "isDuplicate", "isOnlyCreate", "additionalButtonLabel", "additionalButtonIcon", "additionalButtonDisabled", "showAdditionalButton", "showSaveAndCloseButton", "mode"], outputs: ["onCancelClick", "onSaveClick", "onAdditionalButtonClick"] }, { kind: "component", type: i11.TsiModalHeaderComponent, selector: "Tsi-Modal-Header", inputs: ["inputTitle"], outputs: ["onCloseClick"] }, { kind: "component", type: i12.TsiFormComponent, selector: "tsi-form", inputs: ["class", "autocomplete", "optionalEndpoints", "disabled", "isLoading", "modalSize", "formEndpoint", "formName", "isReportingToolbarDisabled", "isCreateOnly"], outputs: ["onSave", "onSubmit", "onSubmitFormWorkflowConfiguration", "formRefChange", "onStatusChange"] }, { kind: "pipe", type: i13.ModalLabelPipe, name: "modalLabel" }] }); }
|
|
198
199
|
}
|
|
199
200
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CreateOrEditModeleImportComponent, decorators: [{
|
|
200
201
|
type: Component,
|
|
201
|
-
args: [{ selector: 'app-create-or-edit-modele-import', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" [isLoading]=\"isloading\" autocomplete=\"off\">\r\n <Tsi-Modal-Header [inputTitle]=\"header | modalLabel : mode : 'Mod\u00E8le import'\"\r\n (onCloseClick)=\"hide()\"></Tsi-Modal-Header>\r\n\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"grid\">\r\n <div class=\"col-8\">\r\n <div class=\"grid\">\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Modele'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.nom\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'nomModele'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Form'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.form\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomForm'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Classe'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.classe\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomClasse'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Premiere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.premiereLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'premiereLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Derniere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.dernierLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'dernierLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Arrete lors de premier erreur '\"></Tsi-Label>\r\n <Tsi-CheckBox [(inputField)]=\"modeleImport.arretePremierErreur\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'arretePremierErreur'\"></Tsi-CheckBox>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Ordre Ou Titre Colonne'\"></Tsi-Label>\r\n <Tsi-Search-Combo (bindChange)=\"typeImportChange($event)\" class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getTypeNatureDocumentEnum()\r\n \" [(bind)]=\"modeleImport.ordreOuTitreColonne\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Type de fichier'\"></Tsi-Label>\r\n <Tsi-Search-Combo class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getImportFileTypeEnum()\r\n \" [(bind)]=\"modeleImport.fileType\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-3\"\r\n [labelValue]=\"'S\u00E9parateur de fichier CSV'\"></Tsi-Label>\r\n <Tsi-Search-Combo *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-9\"\r\n [listSourceUrl]=\"\r\n modeleImportEndPoints.getCsvFileSeparatorEnum()\r\n \" [(bind)]=\"modeleImport.csvFileSeparator\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showModeleImportDetails\">\r\n <Tsi-Generic-Editable-Grid [gridData]=\"modeleImport.modeleImportDetails\"\r\n [events]=\"eventsSubjectModeleImportDetail.asObservable()\"\r\n (rowDeletedEventEmitter)=\"onSaveModeleImportDetails($event)\" [columns]=\"modeleImportDetailColumns\"\r\n [parent]=\"this\" [showSaveButton]=\"false\" [key]=\"'numLigne'\">\r\n </Tsi-Generic-Editable-Grid>\r\n </div>\r\n\r\n\r\n </fieldset>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\" (onCancelClick)=\"hide()\"\r\n (onSaveClick)=\"save()\" [showSaveAndCloseButton]=\"
|
|
202
|
+
args: [{ selector: 'app-create-or-edit-modele-import', providers: [...appProviders], template: "<tsi-form class=\"form-horizontal\" [isLoading]=\"isloading\" autocomplete=\"off\">\r\n <Tsi-Modal-Header [inputTitle]=\"header | modalLabel : mode : 'Mod\u00E8le import'\"\r\n (onCloseClick)=\"hide()\"></Tsi-Modal-Header>\r\n\r\n <fieldset [disabled]=\"isDeleteMode() || isConsultMode() \">\r\n\r\n <div class=\"modal-body\">\r\n <div class=\"grid\">\r\n <div class=\"col-8\">\r\n <div class=\"grid\">\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Modele'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.nom\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'nomModele'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Form'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.form\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomForm'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Nom Classe'\"></Tsi-Label>\r\n <Tsi-Text-Box [(inputField)]=\"modeleImport.classe\" [disabled]=\"true\" class=\"col-9\"\r\n [inputName]=\"'nomClasse'\"></Tsi-Text-Box>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Premiere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.premiereLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'premiereLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Derniere Ligne Import'\"></Tsi-Label>\r\n <Tsi-Integer [(inputField)]=\"modeleImport.dernierLigneImport\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'dernierLigneImport'\"></Tsi-Integer>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Arrete lors de premier erreur '\"></Tsi-Label>\r\n <Tsi-CheckBox [(inputField)]=\"modeleImport.arretePremierErreur\" [disabled]=\"false\" class=\"col-9\"\r\n [inputName]=\"'arretePremierErreur'\"></Tsi-CheckBox>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Ordre Ou Titre Colonne'\"></Tsi-Label>\r\n <Tsi-Search-Combo (bindChange)=\"typeImportChange($event)\" class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getTypeNatureDocumentEnum()\r\n \" [(bind)]=\"modeleImport.ordreOuTitreColonne\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label class=\"col-3\" [labelValue]=\"'Type de fichier'\"></Tsi-Label>\r\n <Tsi-Search-Combo class=\"col-9\" [listSourceUrl]=\"\r\n modeleImportEndPoints.getImportFileTypeEnum()\r\n \" [(bind)]=\"modeleImport.fileType\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n <Tsi-Label *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-3\"\r\n [labelValue]=\"'S\u00E9parateur de fichier CSV'\"></Tsi-Label>\r\n <Tsi-Search-Combo *ngIf=\"modeleImport.fileType == fileTypeImportEnumRef.CSV\" class=\"col-9\"\r\n [listSourceUrl]=\"\r\n modeleImportEndPoints.getCsvFileSeparatorEnum()\r\n \" [(bind)]=\"modeleImport.csvFileSeparator\" id-field=\"key\" label-field=\"value\">\r\n </Tsi-Search-Combo>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n\r\n <div *ngIf=\"showModeleImportDetails\">\r\n <Tsi-Generic-Editable-Grid [gridData]=\"modeleImport.modeleImportDetails\"\r\n [events]=\"eventsSubjectModeleImportDetail.asObservable()\"\r\n (rowDeletedEventEmitter)=\"onSaveModeleImportDetails($event)\" [columns]=\"modeleImportDetailColumns\"\r\n [parent]=\"this\" [showSaveButton]=\"false\" [key]=\"'numLigne'\">\r\n </Tsi-Generic-Editable-Grid>\r\n </div>\r\n\r\n\r\n </fieldset>\r\n\r\n <Tsi-Modal-Footer [cancelDisabled]=\"saving\" [saveDisabled]=\"isSubmitDisabled()\" (onCancelClick)=\"hide()\"\r\n (onSaveClick)=\"save()\" [showSaveAndCloseButton]=\"mode == modeRef.delete\"></Tsi-Modal-Footer>\r\n\r\n</tsi-form>" }]
|
|
202
203
|
}], ctorParameters: () => [{ type: i1.ModeleImportService }, { type: i1.TsiNotificationService }, { type: i2.DynamicDialogConfig }, { type: i2.DynamicDialogRef }] });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQtbW9kZWxlLWltcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvY3JlYXRlLW9yLWVkaXQtbW9kZWxlLWltcG9ydC9jcmVhdGUtb3ItZWRpdC1tb2RlbGUtaW1wb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy9jcmVhdGUtb3ItZWRpdC1tb2RlbGUtaW1wb3J0L2NyZWF0ZS1vci1lZGl0LW1vZGVsZS1pbXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFzQixNQUFNLGNBQWMsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF2RSxNQUFNLE9BQU8saUNBQWtDLFNBQVEsNkJB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QUFJLENBQUMsQ0FBQztvQkFDaEIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztvQkFDbkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ3pCLENBQUM7YUFDRixDQUNGLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQzsrR0ExTFUsaUNBQWlDO21HQUFqQyxpQ0FBaUMsMkRBRmpDLENBQUMsR0FBRyxZQUFZLENBQUMsaURDbEI5Qiw0a0lBMkVXOzs0RkR2REUsaUNBQWlDO2tCQU43QyxTQUFTOytCQUNFLGtDQUFrQyxhQUdqQyxDQUFDLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUc2lGb3JtQ29tcG9uZW50QmFzZUNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3RzaS1iYXNlL2NvbXBvbmVudHMvdHNpLWZvcm0tYmFzZS90c2ktZm9ybS1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExvY2FsaXphdGlvbktleXMgfSBmcm9tICcuLi8uLi9jb25zdHMvbG9jYWxpemF0aW9uLWtleSc7XHJcbmltcG9ydCB7IE1vZGVzLCBUeXBlSW1wb3J0RW51bSwgSW5wdXRUeXBlcywgQ1NTVW5pdHMgfSBmcm9tICcuLi8uLi9lbnVtcyc7XHJcbmltcG9ydCB7IEdyaWRDb2x1bW4gfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0IHsgTW9kZWxlSW1wb3J0Q3JlYXRlUmVxdWVzdCwgTW9kZWxlSW1wb3J0RGV0YWlsIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgTW9kZWxlSW1wb3J0U2VydmljZSwgVHNpTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgR3JpZENvbHVtblN0eWxlSGVscGVyIH0gZnJvbSAnLi4vLi4vdHNpLWhlbHBlcnMnO1xyXG5pbXBvcnQgeyBJbXBvcnRFeHBvcnRFbmRQb2ludHMgfSBmcm9tICcuLi8uLi9lbmQtcG9pbnRzL2ltcG9ydC1leHBvcnQtZW5kcG9pbnQnO1xyXG5pbXBvcnQgeyBhcHBQcm92aWRlcnMgfSBmcm9tICcuLi8uLi9jb25zdHMvYXBwLXByb3ZpZGVycyc7XHJcbmltcG9ydCB7IER5bmFtaWNEaWFsb2dDb25maWcsIER5bmFtaWNEaWFsb2dSZWYgfSBmcm9tICdwcmltZW5nL2R5bmFtaWNkaWFsb2cnO1xyXG5pbXBvcnQgeyBGaWxlVHlwZUltcG9ydEVudW0gfSBmcm9tICcuLi8uLi9lbnVtcy9maWxlLXR5cGUtaW1wb3J0LWVudW0nO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtY3JlYXRlLW9yLWVkaXQtbW9kZWxlLWltcG9ydCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NyZWF0ZS1vci1lZGl0LW1vZGVsZS1pbXBvcnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NyZWF0ZS1vci1lZGl0LW1vZGVsZS1pbXBvcnQuY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFsuLi5hcHBQcm92aWRlcnNdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVPckVkaXRNb2RlbGVJbXBvcnRDb21wb25lbnQgZXh0ZW5kcyBUc2lGb3JtQ29tcG9uZW50QmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIG1vZGVsZUltcG9ydERldGFpbENvbHVtbnM6IEFycmF5PEdyaWRDb2x1bW4+ID0gW107XHJcbiAgbW9kZWxlSW1wb3J0OiBNb2RlbGVJbXBvcnRDcmVhdGVSZXF1ZXN0ID0gbmV3IE1vZGVsZUltcG9ydENyZWF0ZVJlcXVlc3QoKVxyXG4gIGdldENvbG9ubmVCeUNsYXNzTmFtZUVuZFBvaW50OiBzdHJpbmcgPSBcIlwiXHJcbiAgZ2V0Q2xhc3NDaGlsZHNCeUNsYXNzTmFtZUVuZFBvaW50OiBzdHJpbmcgPSBcIlwiXHJcbiAgbW9kZWxlSW1wb3J0RW5kUG9pbnRzID0gSW1wb3J0RXhwb3J0RW5kUG9pbnRzXHJcbiAgX2J1c2lubmVzc0NsYXNzTmFtZTogc3RyaW5nID0gXCJcIlxyXG4gIGV2ZW50c1N1YmplY3RNb2RlbGVJbXBvcnREZXRhaWw6IFN1YmplY3Q8dm9pZD47XHJcbiAgb3BlbmVkTW9kZTogYW55XHJcbiAgc2hvd01vZGVsZUltcG9ydERldGFpbHM6IGJvb2xlYW4gPSBmYWxzZVxyXG4gIGZpbGVUeXBlSW1wb3J0RW51bVJlZiA9IEZpbGVUeXBlSW1wb3J0RW51bVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9tb2RlbGVJbXBvcnRTZXJ2aWNlOiBNb2RlbGVJbXBvcnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBfbm90aWZpY2F0aW9uU2VydmljZTogVHNpTm90aWZpY2F0aW9uU2VydmljZSxcclxuICAgIHB1YmxpYyBvdmVycmlkZSBjb25maWc6IER5bmFtaWNEaWFsb2dDb25maWcsIHB1YmxpYyBvdmVycmlkZSByZWY/OiBEeW5hbWljRGlhbG9nUmVmLCkge1xyXG4gICAgc3VwZXIocmVmLCBjb25maWcpO1xyXG4gICAgdGhpcy5ldmVudHNTdWJqZWN0TW9kZWxlSW1wb3J0RGV0YWlsID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICAgIHRoaXMuX2J1c2lubmVzc0NsYXNzTmFtZSA9IGNvbmZpZz8uZGF0YT8uZW50aXR5QnVzaW5lc3NDbGFzc1xyXG4gICAgdGhpcy5nZXRDbGFzc0NoaWxkc0J5Q2xhc3NOYW1lRW5kUG9pbnQgPSBJbXBvcnRFeHBvcnRFbmRQb2ludHMuZ2V0Q2xhc3NDaGlsZHNBc0tleVZhbHVlUGFpcih0aGlzLl9idXNpbm5lc3NDbGFzc05hbWUpXHJcbiAgICB0aGlzLmluaXRNb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zKClcclxuICAgIHRoaXMub3BlbmVkTW9kZSA9IHRoaXMuY29uZmlnLmRhdGE/Lm1vZGUgXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIF91cGRhdGVNb2RlbGVJbXBvcnRGcm9tR3JpZCgpIHtcclxuICAgIHRoaXMuZXZlbnRzU3ViamVjdE1vZGVsZUltcG9ydERldGFpbC5uZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvblNhdmVNb2RlbGVJbXBvcnREZXRhaWxzKGdyaWREYXRhOiBBcnJheTxNb2RlbGVJbXBvcnREZXRhaWw+KSB7XHJcbiAgICB0aGlzLm1vZGVsZUltcG9ydC5tb2RlbGVJbXBvcnREZXRhaWxzID0gZ3JpZERhdGFcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgc3VwZXIubmdPbkluaXQoKVxyXG4gICAgaWYgKHRoaXMuY29uZmlnLmRhdGEgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMubW9kZWxlSW1wb3J0LmNsYXNzZSA9IHRoaXMuY29uZmlnPy5kYXRhPy5lbnRpdHlCdXNpbmVzc0NsYXNzXHJcbiAgICAgIHRoaXMubW9kZWxlSW1wb3J0LmZvcm0gPSB0aGlzLmZvcm1OYW1lXHJcblxyXG4gICAgICBpZiAodGhpcy5vcGVuZWRNb2RlID09IE1vZGVzLmVkaXQgJiYgdGhpcy5jb25maWcuZGF0YT8uaWQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgdGhpcy5fbW9kZWxlSW1wb3J0U2VydmljZS5nZXRCeUlkKHRoaXMuY29uZmlnLmRhdGE/LmlkKVxyXG4gICAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICAgIG5leHQ6IChkYXRhKSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5tb2RlbGVJbXBvcnQgPSBkYXRhXHJcbiAgICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZXNXaXRoUGFyZW50Q29sdW1OYW1lKClcclxuICAgICAgICAgICAgICB0aGlzLnR5cGVJbXBvcnRDaGFuZ2UodGhpcy5tb2RlbGVJbXBvcnQub3JkcmVPdVRpdHJlQ29sb25uZSlcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlVmFsdWVzV2l0aFBhcmVudENvbHVtTmFtZSgpIHtcclxuICAgIGxldCBmaWx0cmVkRGF0YSA9IHRoaXMubW9kZWxlSW1wb3J0Lm1vZGVsZUltcG9ydERldGFpbHNcclxuICAgICAgLmZpbHRlcih4ID0+IHgubm9tQ2xhc3NlRGV0YWlsID09IHVuZGVmaW5lZCB8fCB4Lm5vbUNsYXNzZURldGFpbCA9PSAnJylcclxuICAgIGZpbHRyZWREYXRhLmZvckVhY2goaXRlbSA9PiB7XHJcbiAgICAgIGl0ZW0ubm9tQ2xhc3NlRGV0YWlsID0gdGhpcy5fYnVzaW5uZXNzQ2xhc3NOYW1lXHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgdHlwZUltcG9ydENoYW5nZShldmVudDogYW55KSB7XHJcbiAgICB0aGlzLmluaXRNb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zKClcclxuICAgIGlmIChldmVudCA9PSBUeXBlSW1wb3J0RW51bS5UaXRyZUNvbG9ubmUpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5tb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zLmZpbmRJbmRleCh4ID0+IHguZmllbGQgPT0gXCJudW1lcm9cIilcclxuICAgICAgaWYgKGluZGV4ICE9IC0xKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zLnNwbGljZShpbmRleCwgMSlcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChldmVudCA9PSBUeXBlSW1wb3J0RW51bS5PcmRyZUNvbG9ubmUpIHtcclxuICAgICAgbGV0IGluZGV4ID0gdGhpcy5tb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zLmZpbmRJbmRleCh4ID0+IHguZmllbGQgPT0gXCJub21Db2xvbm5lRmljaGllclwiKVxyXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcclxuICAgICAgICB0aGlzLm1vZGVsZUltcG9ydERldGFpbENvbHVtbnMuc3BsaWNlKGluZGV4LCAxKVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc2hvd01vZGVsZUltcG9ydERldGFpbHMgPSB0cnVlXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNob3dNb2RlbGVJbXBvcnREZXRhaWxzID0gZmFsc2VcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5pdE1vZGVsZUltcG9ydERldGFpbENvbHVtbnMoKSB7XHJcbiAgICB0aGlzLm1vZGVsZUltcG9ydERldGFpbENvbHVtbnMgPSBbXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogXCJub21DbGFzc2VEZXRhaWxcIixcclxuICAgICAgICBoZWFkZXI6IFwiTm9tIENsYXNzZSBEZXRhaWxcIixcclxuICAgICAgICB0eXBlOiBJbnB1dFR5cGVzLlNFQVJDSF9DT01CTyxcclxuICAgICAgICBsaXN0U291cmNlVXJsOiB0aGlzLmdldENsYXNzQ2hpbGRzQnlDbGFzc05hbWVFbmRQb2ludCxcclxuICAgICAgICBpZEZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgbGFiZWxGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgIGlzRmlsdGVyZWQ6IGZhbHNlLFxyXG4gICAgICAgIHdhdGNoRm9yQ2hhbmdlczogdHJ1ZSxcclxuICAgICAgICBzdHlsZTogR3JpZENvbHVtblN0eWxlSGVscGVyLmNyZWF0ZVdpZHRoU3R5bGUoQ1NTVW5pdHMuVlcsIDIwKVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6IFwiY29sb25uZUNsYXNzZVwiLFxyXG4gICAgICAgIGhlYWRlcjogXCJDb2xvbm5lIENsYXNzZVwiLFxyXG4gICAgICAgIHR5cGU6IElucHV0VHlwZXMuU0VBUkNIX0NPTUJPLFxyXG4gICAgICAgIGxpc3RTb3VyY2VVcmw6IHRoaXMuYnVpbGRHZXRDaGlsZENsYXNzQ29sdW1ucyxcclxuICAgICAgICBpZEZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgbGFiZWxGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgIGlzRmlsdGVyZWQ6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6IFwibnVtZXJvXCIsXHJcbiAgICAgICAgaGVhZGVyOiBcIk9yZHJlXCIsXHJcbiAgICAgICAgdHlwZTogSW5wdXRUeXBlcy5JTlRFR0VSLFxyXG4gICAgICAgIHdhdGNoRm9yQ2hhbmdlczogdHJ1ZVxyXG4gICAgICB9LFxyXG4gICAgICB7XHJcbiAgICAgICAgZmllbGQ6IFwibm9tQ29sb25uZUZpY2hpZXJcIixcclxuICAgICAgICBoZWFkZXI6IFwiTm9tIENvbG9ubmUgRmljaGllclwiLFxyXG4gICAgICAgIHR5cGU6IElucHV0VHlwZXMuVEVYVF9CT1gsXHJcbiAgICAgICAgd2F0Y2hGb3JDaGFuZ2VzOiB0cnVlXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogXCJub21Db2xvbm5lQ2xlZkV0cmFuZ2VyZVwiLFxyXG4gICAgICAgIGhlYWRlcjogXCJOb20gQ29sb25uZSBDbGUgRXRyYW5nw6hyZVwiLFxyXG4gICAgICAgIHdhdGNoRm9yQ2hhbmdlczogdHJ1ZSxcclxuICAgICAgICB0eXBlOiBJbnB1dFR5cGVzLlNFQVJDSF9DT01CTyxcclxuICAgICAgICBsaXN0U291cmNlVXJsOiB0aGlzLmJ1aWxkR2V0Q29sdW1tbkZvckZvcmVpZ25LZXlDbGFzcyxcclxuICAgICAgICBpZEZpZWxkOiBcImtleVwiLFxyXG4gICAgICAgIGxhYmVsRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICBpc0ZpbHRlcmVkOiBmYWxzZSxcclxuICAgICAgfSxcclxuICAgIF1cclxuICB9XHJcblxyXG4gIGJ1aWxkR2V0Q29sdW1tbkZvckZvcmVpZ25LZXlDbGFzcyhjdXJyZW50Um93SXRlbTogTW9kZWxlSW1wb3J0RGV0YWlsKSB7XHJcbiAgICBsZXQgY29sdW1uTmFtZSA9IGN1cnJlbnRSb3dJdGVtPy5jb2xvbm5lQ2xhc3NlID8/IFwiXCJcclxuICAgIGxldCBwYXJlbnRFbnRpdHlOYW1lID0gY3VycmVudFJvd0l0ZW0/Lm5vbUNsYXNzZURldGFpbCA/PyBcIlwiXHJcbiAgICByZXR1cm4gSW1wb3J0RXhwb3J0RW5kUG9pbnRzLmdldENvbG9ubmVzQnlDbGFzc05hbWVBc0tleVZhbHVlUGFpcihwYXJlbnRFbnRpdHlOYW1lLCBjb2x1bW5OYW1lKVxyXG4gIH1cclxuXHJcbiAgYnVpbGRHZXRDaGlsZENsYXNzQ29sdW1ucyhjdXJyZW50Um93SXRlbTogTW9kZWxlSW1wb3J0RGV0YWlsKSB7XHJcbiAgICBsZXQgcGFyZW50RW50aXR5TmFtZSA9IGN1cnJlbnRSb3dJdGVtPy5ub21DbGFzc2VEZXRhaWwgPz8gXCJcIlxyXG4gICAgLy8gaWYgKHBhcmVudEVudGl0eU5hbWU/LmVuZHNXaXRoKCdzJykpIHtcclxuICAgIC8vICAgcGFyZW50RW50aXR5TmFtZSA9IHBhcmVudEVudGl0eU5hbWUuc2xpY2UoMCwgLTEpO1xyXG4gICAgLy8gfVxyXG4gICAgcmV0dXJuIEltcG9ydEV4cG9ydEVuZFBvaW50cy5nZXRDb2xvbm5lc0J5Q2xhc3NOYW1lQXNLZXlWYWx1ZVBhaXIocGFyZW50RW50aXR5TmFtZSwgXCJcIilcclxuICB9XHJcblxyXG4gIGJ1aWxkR2V0Q2hpbGRDaGlsZENsYXNzKGN1cnJlbnRSb3dJdGVtOiBNb2RlbGVJbXBvcnREZXRhaWwpIHtcclxuICAgIGxldCBjbGFzc05hbWUgPSBjdXJyZW50Um93SXRlbT8ubm9tQ2xhc3NlRGV0YWlsXHJcbiAgICBpZiAoY2xhc3NOYW1lPy5lbmRzV2l0aCgncycpKSB7XHJcbiAgICAgIGNsYXNzTmFtZSA9IGNsYXNzTmFtZS5zbGljZSgwLCAtMSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gSW1wb3J0RXhwb3J0RW5kUG9pbnRzLmdldENsYXNzQ2hpbGRzQXNLZXlWYWx1ZVBhaXIoY2xhc3NOYW1lKVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlVmFsdWVGcm9tUGFyZW50TW9kZWwoKSB7XHJcbiAgICBsZXQgZmlsdHJlZERhdGEgPSB0aGlzLm1vZGVsZUltcG9ydC5tb2RlbGVJbXBvcnREZXRhaWxzXHJcbiAgICAgIC5maWx0ZXIoeCA9PiB4Lm5vbUNsYXNzZURldGFpbCA9PSB0aGlzLl9idXNpbmVzc0NsYXNzKVxyXG4gICAgZmlsdHJlZERhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaXRlbS5ub21DbGFzc2VEZXRhaWwgPSB1bmRlZmluZWRcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSBzYXZlKCk6IHZvaWQge1xyXG4gICAgc3VwZXIuc2F2ZSgpXHJcbiAgICB0aGlzLnNhdmluZyA9IHRydWVcclxuICAgIHRoaXMuaXNsb2FkaW5nID0gdHJ1ZVxyXG4gICAgdGhpcy5fdXBkYXRlTW9kZWxlSW1wb3J0RnJvbUdyaWQoKVxyXG4gICAgdGhpcy5kZWxldGVWYWx1ZUZyb21QYXJlbnRNb2RlbCgpXHJcbiAgICBpZiAodGhpcy5vcGVuZWRNb2RlID09IE1vZGVzLmNyZWF0ZSkge1xyXG4gICAgICB0aGlzLl9tb2RlbGVJbXBvcnRTZXJ2aWNlLmNyZWF0ZSh0aGlzLm1vZGVsZUltcG9ydCkuc3Vic2NyaWJlKFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIG5leHQ6ICgpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKHRoaXMubChMb2NhbGl6YXRpb25LZXlzLnNhdmVkU3VjY2Vzc2Z1bGx5KSk7XHJcbiAgICAgICAgICAgIHRoaXMuaGlkZSh0cnVlKTtcclxuICAgICAgICAgICAgdGhpcy5vblNhdmUuZW1pdCgpO1xyXG4gICAgICAgICAgICB0aGlzLmlzbG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgKVxyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5vcGVuZWRNb2RlID09IE1vZGVzLmVkaXQgJiYgdGhpcy5tb2RlbGVJbXBvcnQudWlkICE9IHVuZGVmaW5lZCkge1xyXG4gICAgICB0aGlzLl9tb2RlbGVJbXBvcnRTZXJ2aWNlLnVwZGF0ZSh0aGlzLm1vZGVsZUltcG9ydCwgdGhpcy5tb2RlbGVJbXBvcnQudWlkKS5zdWJzY3JpYmUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgdGhpcy5fbm90aWZpY2F0aW9uU2VydmljZS5zdWNjZXNzKHRoaXMubChMb2NhbGl6YXRpb25LZXlzLnVwZGF0ZWRTdWNjZXNzZnVsbHkpKTtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8dHNpLWZvcm0gY2xhc3M9XCJmb3JtLWhvcml6b250YWxcIiBbaXNMb2FkaW5nXT1cImlzbG9hZGluZ1wiIGF1dG9jb21wbGV0ZT1cIm9mZlwiPlxyXG4gIDxUc2ktTW9kYWwtSGVhZGVyIFtpbnB1dFRpdGxlXT1cImhlYWRlciB8IG1vZGFsTGFiZWwgOiBtb2RlIDogJ01vZMOobGUgaW1wb3J0J1wiXHJcbiAgICAob25DbG9zZUNsaWNrKT1cImhpZGUoKVwiPjwvVHNpLU1vZGFsLUhlYWRlcj5cclxuXHJcbiAgPGZpZWxkc2V0IFtkaXNhYmxlZF09XCJpc0RlbGV0ZU1vZGUoKSB8fCBpc0NvbnN1bHRNb2RlKCkgXCI+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHlcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLThcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJncmlkXCI+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInTm9tIE1vZGVsZSdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPFRzaS1UZXh0LUJveCBbKGlucHV0RmllbGQpXT1cIm1vZGVsZUltcG9ydC5ub21cIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICBbaW5wdXROYW1lXT1cIidub21Nb2RlbGUnXCI+PC9Uc2ktVGV4dC1Cb3g+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInTm9tIEZvcm0nXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggWyhpbnB1dEZpZWxkKV09XCJtb2RlbGVJbXBvcnQuZm9ybVwiIFtkaXNhYmxlZF09XCJ0cnVlXCIgY2xhc3M9XCJjb2wtOVwiXHJcbiAgICAgICAgICAgICAgW2lucHV0TmFtZV09XCInbm9tRm9ybSdcIj48L1RzaS1UZXh0LUJveD5cclxuXHJcbiAgICAgICAgICAgIDxUc2ktTGFiZWwgY2xhc3M9XCJjb2wtM1wiIFtsYWJlbFZhbHVlXT1cIidOb20gQ2xhc3NlJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8VHNpLVRleHQtQm94IFsoaW5wdXRGaWVsZCldPVwibW9kZWxlSW1wb3J0LmNsYXNzZVwiIFtkaXNhYmxlZF09XCJ0cnVlXCIgY2xhc3M9XCJjb2wtOVwiXHJcbiAgICAgICAgICAgICAgW2lucHV0TmFtZV09XCInbm9tQ2xhc3NlJ1wiPjwvVHNpLVRleHQtQm94PlxyXG5cclxuICAgICAgICAgICAgPFRzaS1MYWJlbCBjbGFzcz1cImNvbC0zXCIgW2xhYmVsVmFsdWVdPVwiJ1ByZW1pZXJlIExpZ25lIEltcG9ydCdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPFRzaS1JbnRlZ2VyIFsoaW5wdXRGaWVsZCldPVwibW9kZWxlSW1wb3J0LnByZW1pZXJlTGlnbmVJbXBvcnRcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICBbaW5wdXROYW1lXT1cIidwcmVtaWVyZUxpZ25lSW1wb3J0J1wiPjwvVHNpLUludGVnZXI+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInRGVybmllcmUgTGlnbmUgSW1wb3J0J1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8VHNpLUludGVnZXIgWyhpbnB1dEZpZWxkKV09XCJtb2RlbGVJbXBvcnQuZGVybmllckxpZ25lSW1wb3J0XCIgW2Rpc2FibGVkXT1cImZhbHNlXCIgY2xhc3M9XCJjb2wtOVwiXHJcbiAgICAgICAgICAgICAgW2lucHV0TmFtZV09XCInZGVybmllckxpZ25lSW1wb3J0J1wiPjwvVHNpLUludGVnZXI+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInQXJyZXRlIGxvcnMgZGUgcHJlbWllciBlcnJldXIgJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8VHNpLUNoZWNrQm94IFsoaW5wdXRGaWVsZCldPVwibW9kZWxlSW1wb3J0LmFycmV0ZVByZW1pZXJFcnJldXJcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICBbaW5wdXROYW1lXT1cIidhcnJldGVQcmVtaWVyRXJyZXVyJ1wiPjwvVHNpLUNoZWNrQm94PlxyXG5cclxuICAgICAgICAgICAgPFRzaS1MYWJlbCBjbGFzcz1cImNvbC0zXCIgW2xhYmVsVmFsdWVdPVwiJ09yZHJlIE91IFRpdHJlIENvbG9ubmUnXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDxUc2ktU2VhcmNoLUNvbWJvIChiaW5kQ2hhbmdlKT1cInR5cGVJbXBvcnRDaGFuZ2UoJGV2ZW50KVwiIGNsYXNzPVwiY29sLTlcIiBbbGlzdFNvdXJjZVVybF09XCJcclxuICAgICAgICAgICAgICAgICAgbW9kZWxlSW1wb3J0RW5kUG9pbnRzLmdldFR5cGVOYXR1cmVEb2N1bWVudEVudW0oKVxyXG4gICAgICAgICAgICAgICAgXCIgWyhiaW5kKV09XCJtb2RlbGVJbXBvcnQub3JkcmVPdVRpdHJlQ29sb25uZVwiIGlkLWZpZWxkPVwia2V5XCIgbGFiZWwtZmllbGQ9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8L1RzaS1TZWFyY2gtQ29tYm8+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInVHlwZSBkZSBmaWNoaWVyJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyBjbGFzcz1cImNvbC05XCIgW2xpc3RTb3VyY2VVcmxdPVwiXHJcbiAgICAgICAgICAgICAgICAgIG1vZGVsZUltcG9ydEVuZFBvaW50cy5nZXRJbXBvcnRGaWxlVHlwZUVudW0oKVxyXG4gICAgICAgICAgICAgICAgXCIgWyhiaW5kKV09XCJtb2RlbGVJbXBvcnQuZmlsZVR5cGVcIiBpZC1maWVsZD1cImtleVwiIGxhYmVsLWZpZWxkPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgPC9Uc2ktU2VhcmNoLUNvbWJvPlxyXG5cclxuICAgICAgICAgICAgICA8VHNpLUxhYmVsICpuZ0lmPVwibW9kZWxlSW1wb3J0LmZpbGVUeXBlID09IGZpbGVUeXBlSW1wb3J0RW51bVJlZi5DU1ZcIiBjbGFzcz1cImNvbC0zXCJcclxuICAgICAgICAgICAgICAgIFtsYWJlbFZhbHVlXT1cIidTw6lwYXJhdGV1ciBkZSBmaWNoaWVyIENTVidcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgICA8VHNpLVNlYXJjaC1Db21ibyAqbmdJZj1cIm1vZGVsZUltcG9ydC5maWxlVHlwZSA9PSBmaWxlVHlwZUltcG9ydEVudW1SZWYuQ1NWXCIgY2xhc3M9XCJjb2wtOVwiXHJcbiAgICAgICAgICAgICAgICBbbGlzdFNvdXJjZVVybF09XCJcclxuICAgICAgICAgICAgICAgICAgbW9kZWxlSW1wb3J0RW5kUG9pbnRzLmdldENzdkZpbGVTZXBhcmF0b3JFbnVtKClcclxuICAgICAgICAgICAgICAgIFwiIFsoYmluZCldPVwibW9kZWxlSW1wb3J0LmNzdkZpbGVTZXBhcmF0b3JcIiBpZC1maWVsZD1cImtleVwiIGxhYmVsLWZpZWxkPVwidmFsdWVcIj5cclxuICAgICAgICAgICAgICA8L1RzaS1TZWFyY2gtQ29tYm8+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJzaG93TW9kZWxlSW1wb3J0RGV0YWlsc1wiPlxyXG4gICAgICA8VHNpLUdlbmVyaWMtRWRpdGFibGUtR3JpZCBbZ3JpZERhdGFdPVwibW9kZWxlSW1wb3J0Lm1vZGVsZUltcG9ydERldGFpbHNcIlxyXG4gICAgICAgIFtldmVudHNdPVwiZXZlbnRzU3ViamVjdE1vZGVsZUltcG9ydERldGFpbC5hc09ic2VydmFibGUoKVwiXHJcbiAgICAgICAgKHJvd0RlbGV0ZWRFdmVudEVtaXR0ZXIpPVwib25TYXZlTW9kZWxlSW1wb3J0RGV0YWlscygkZXZlbnQpXCIgW2NvbHVtbnNdPVwibW9kZWxlSW1wb3J0RGV0YWlsQ29sdW1uc1wiXHJcbiAgICAgICAgW3BhcmVudF09XCJ0aGlzXCIgW3Nob3dTYXZlQnV0dG9uXT1cImZhbHNlXCIgW2tleV09XCInbnVtTGlnbmUnXCI+XHJcbiAgICAgIDwvVHNpLUdlbmVyaWMtRWRpdGFibGUtR3JpZD5cclxuICAgIDwvZGl2PlxyXG5cclxuXHJcbiAgPC9maWVsZHNldD5cclxuXHJcbiAgPFRzaS1Nb2RhbC1Gb290ZXIgW2NhbmNlbERpc2FibGVkXT1cInNhdmluZ1wiIFtzYXZlRGlzYWJsZWRdPVwiaXNTdWJtaXREaXNhYmxlZCgpXCIgKG9uQ2FuY2VsQ2xpY2spPVwiaGlkZSgpXCJcclxuICAgIChvblNhdmVDbGljayk9XCJzYXZlKClcIiBbc2hvd1NhdmVBbmRDbG9zZUJ1dHRvbl09XCJmYWxzZVwiPjwvVHNpLU1vZGFsLUZvb3Rlcj5cclxuXHJcbjwvdHNpLWZvcm0+Il19
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLW9yLWVkaXQtbW9kZWxlLWltcG9ydC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90c2ktc2hhcmVkLXVpL3NyYy9saWIvdHNpLWNvbXBvbmVudHMvY3JlYXRlLW9yLWVkaXQtbW9kZWxlLWltcG9ydC9jcmVhdGUtb3ItZWRpdC1tb2RlbGUtaW1wb3J0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RzaS1zaGFyZWQtdWkvc3JjL2xpYi90c2ktY29tcG9uZW50cy9jcmVhdGUtb3ItZWRpdC1tb2RlbGUtaW1wb3J0L2NyZWF0ZS1vci1lZGl0LW1vZGVsZS1pbXBvcnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxLQUFLLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFMUUsT0FBTyxFQUFFLHlCQUF5QixFQUFzQixNQUFNLGNBQWMsQ0FBQztBQUU3RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFMUQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7Ozs7Ozs7OztBQVF2RSxNQUFNLE9BQU8saUNBQWtDLFNBQVEsNkJB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Q2hGLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2hCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ25CLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN6QixDQUFDO2FBQ0YsQ0FDRixDQUFBO1FBQ0gsQ0FBQztJQUNILENBQUM7K0dBM0xVLGlDQUFpQzttR0FBakMsaUNBQWlDLDJEQUZqQyxDQUFDLEdBQUcsWUFBWSxDQUFDLGlEQ2xCOUIsNmxJQTJFVzs7NEZEdkRFLGlDQUFpQztrQkFON0MsU0FBUzsrQkFDRSxrQ0FBa0MsYUFHakMsQ0FBQyxHQUFHLFlBQVksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHNpRm9ybUNvbXBvbmVudEJhc2VDb21wb25lbnQgfSBmcm9tICcuLi8uLi90c2ktYmFzZS9jb21wb25lbnRzL3RzaS1mb3JtLWJhc2UvdHNpLWZvcm0tYmFzZS5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBMb2NhbGl6YXRpb25LZXlzIH0gZnJvbSAnLi4vLi4vY29uc3RzL2xvY2FsaXphdGlvbi1rZXknO1xyXG5pbXBvcnQgeyBNb2RlcywgVHlwZUltcG9ydEVudW0sIElucHV0VHlwZXMsIENTU1VuaXRzIH0gZnJvbSAnLi4vLi4vZW51bXMnO1xyXG5pbXBvcnQgeyBHcmlkQ29sdW1uIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IE1vZGVsZUltcG9ydENyZWF0ZVJlcXVlc3QsIE1vZGVsZUltcG9ydERldGFpbCB9IGZyb20gJy4uLy4uL21vZGVscyc7XHJcbmltcG9ydCB7IE1vZGVsZUltcG9ydFNlcnZpY2UsIFRzaU5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IEdyaWRDb2x1bW5TdHlsZUhlbHBlciB9IGZyb20gJy4uLy4uL3RzaS1oZWxwZXJzJztcclxuaW1wb3J0IHsgSW1wb3J0RXhwb3J0RW5kUG9pbnRzIH0gZnJvbSAnLi4vLi4vZW5kLXBvaW50cy9pbXBvcnQtZXhwb3J0LWVuZHBvaW50JztcclxuaW1wb3J0IHsgYXBwUHJvdmlkZXJzIH0gZnJvbSAnLi4vLi4vY29uc3RzL2FwcC1wcm92aWRlcnMnO1xyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnLCBEeW5hbWljRGlhbG9nUmVmIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgRmlsZVR5cGVJbXBvcnRFbnVtIH0gZnJvbSAnLi4vLi4vZW51bXMvZmlsZS10eXBlLWltcG9ydC1lbnVtJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWNyZWF0ZS1vci1lZGl0LW1vZGVsZS1pbXBvcnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtb3ItZWRpdC1tb2RlbGUtaW1wb3J0LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtb3ItZWRpdC1tb2RlbGUtaW1wb3J0LmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgcHJvdmlkZXJzOiBbLi4uYXBwUHJvdmlkZXJzXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3JlYXRlT3JFZGl0TW9kZWxlSW1wb3J0Q29tcG9uZW50IGV4dGVuZHMgVHNpRm9ybUNvbXBvbmVudEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBtb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zOiBBcnJheTxHcmlkQ29sdW1uPiA9IFtdO1xyXG4gIG1vZGVsZUltcG9ydDogTW9kZWxlSW1wb3J0Q3JlYXRlUmVxdWVzdCA9IG5ldyBNb2RlbGVJbXBvcnRDcmVhdGVSZXF1ZXN0KClcclxuICBnZXRDb2xvbm5lQnlDbGFzc05hbWVFbmRQb2ludDogc3RyaW5nID0gXCJcIlxyXG4gIGdldENsYXNzQ2hpbGRzQnlDbGFzc05hbWVFbmRQb2ludDogc3RyaW5nID0gXCJcIlxyXG4gIG1vZGVsZUltcG9ydEVuZFBvaW50cyA9IEltcG9ydEV4cG9ydEVuZFBvaW50c1xyXG4gIF9idXNpbm5lc3NDbGFzc05hbWU6IHN0cmluZyA9IFwiXCJcclxuICBldmVudHNTdWJqZWN0TW9kZWxlSW1wb3J0RGV0YWlsOiBTdWJqZWN0PHZvaWQ+O1xyXG4gIG9wZW5lZE1vZGU6IGFueVxyXG4gIHNob3dNb2RlbGVJbXBvcnREZXRhaWxzOiBib29sZWFuID0gZmFsc2VcclxuICBmaWxlVHlwZUltcG9ydEVudW1SZWYgPSBGaWxlVHlwZUltcG9ydEVudW1cclxuICBtb2RlUmVmID0gTW9kZXM7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX21vZGVsZUltcG9ydFNlcnZpY2U6IE1vZGVsZUltcG9ydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIF9ub3RpZmljYXRpb25TZXJ2aWNlOiBUc2lOb3RpZmljYXRpb25TZXJ2aWNlLFxyXG4gICAgcHVibGljIG92ZXJyaWRlIGNvbmZpZzogRHluYW1pY0RpYWxvZ0NvbmZpZywgcHVibGljIG92ZXJyaWRlIHJlZj86IER5bmFtaWNEaWFsb2dSZWYsKSB7XHJcbiAgICBzdXBlcihyZWYsIGNvbmZpZyk7XHJcbiAgICB0aGlzLmV2ZW50c1N1YmplY3RNb2RlbGVJbXBvcnREZXRhaWwgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgdGhpcy5fYnVzaW5uZXNzQ2xhc3NOYW1lID0gY29uZmlnPy5kYXRhPy5lbnRpdHlCdXNpbmVzc0NsYXNzXHJcbiAgICB0aGlzLmdldENsYXNzQ2hpbGRzQnlDbGFzc05hbWVFbmRQb2ludCA9IEltcG9ydEV4cG9ydEVuZFBvaW50cy5nZXRDbGFzc0NoaWxkc0FzS2V5VmFsdWVQYWlyKHRoaXMuX2J1c2lubmVzc0NsYXNzTmFtZSlcclxuICAgIHRoaXMuaW5pdE1vZGVsZUltcG9ydERldGFpbENvbHVtbnMoKVxyXG4gICAgdGhpcy5vcGVuZWRNb2RlID0gdGhpcy5jb25maWcuZGF0YT8ubW9kZSBcclxuICB9XHJcblxyXG4gIHByaXZhdGUgX3VwZGF0ZU1vZGVsZUltcG9ydEZyb21HcmlkKCkge1xyXG4gICAgdGhpcy5ldmVudHNTdWJqZWN0TW9kZWxlSW1wb3J0RGV0YWlsLm5leHQoKTtcclxuICB9XHJcblxyXG4gIG9uU2F2ZU1vZGVsZUltcG9ydERldGFpbHMoZ3JpZERhdGE6IEFycmF5PE1vZGVsZUltcG9ydERldGFpbD4pIHtcclxuICAgIHRoaXMubW9kZWxlSW1wb3J0Lm1vZGVsZUltcG9ydERldGFpbHMgPSBncmlkRGF0YVxyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICBzdXBlci5uZ09uSW5pdCgpXHJcbiAgICBpZiAodGhpcy5jb25maWcuZGF0YSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5tb2RlbGVJbXBvcnQuY2xhc3NlID0gdGhpcy5jb25maWc/LmRhdGE/LmVudGl0eUJ1c2luZXNzQ2xhc3NcclxuICAgICAgdGhpcy5tb2RlbGVJbXBvcnQuZm9ybSA9IHRoaXMuZm9ybU5hbWVcclxuXHJcbiAgICAgIGlmICh0aGlzLm9wZW5lZE1vZGUgPT0gTW9kZXMuZWRpdCAmJiB0aGlzLmNvbmZpZy5kYXRhPy5pZCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgICB0aGlzLl9tb2RlbGVJbXBvcnRTZXJ2aWNlLmdldEJ5SWQodGhpcy5jb25maWcuZGF0YT8uaWQpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgICAgbmV4dDogKGRhdGEpID0+IHtcclxuICAgICAgICAgICAgICB0aGlzLm1vZGVsZUltcG9ydCA9IGRhdGFcclxuICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVZhbHVlc1dpdGhQYXJlbnRDb2x1bU5hbWUoKVxyXG4gICAgICAgICAgICAgIHRoaXMudHlwZUltcG9ydENoYW5nZSh0aGlzLm1vZGVsZUltcG9ydC5vcmRyZU91VGl0cmVDb2xvbm5lKVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB1cGRhdGVWYWx1ZXNXaXRoUGFyZW50Q29sdW1OYW1lKCkge1xyXG4gICAgbGV0IGZpbHRyZWREYXRhID0gdGhpcy5tb2RlbGVJbXBvcnQubW9kZWxlSW1wb3J0RGV0YWlsc1xyXG4gICAgICAuZmlsdGVyKHggPT4geC5ub21DbGFzc2VEZXRhaWwgPT0gdW5kZWZpbmVkIHx8IHgubm9tQ2xhc3NlRGV0YWlsID09ICcnKVxyXG4gICAgZmlsdHJlZERhdGEuZm9yRWFjaChpdGVtID0+IHtcclxuICAgICAgaXRlbS5ub21DbGFzc2VEZXRhaWwgPSB0aGlzLl9idXNpbm5lc3NDbGFzc05hbWVcclxuICAgIH0pXHJcbiAgfVxyXG5cclxuICB0eXBlSW1wb3J0Q2hhbmdlKGV2ZW50OiBhbnkpIHtcclxuICAgIHRoaXMuaW5pdE1vZGVsZUltcG9ydERldGFpbENvbHVtbnMoKVxyXG4gICAgaWYgKGV2ZW50ID09IFR5cGVJbXBvcnRFbnVtLlRpdHJlQ29sb25uZSkge1xyXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLm1vZGVsZUltcG9ydERldGFpbENvbHVtbnMuZmluZEluZGV4KHggPT4geC5maWVsZCA9PSBcIm51bWVyb1wiKVxyXG4gICAgICBpZiAoaW5kZXggIT0gLTEpIHtcclxuICAgICAgICB0aGlzLm1vZGVsZUltcG9ydERldGFpbENvbHVtbnMuc3BsaWNlKGluZGV4LCAxKVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2UgaWYgKGV2ZW50ID09IFR5cGVJbXBvcnRFbnVtLk9yZHJlQ29sb25uZSkge1xyXG4gICAgICBsZXQgaW5kZXggPSB0aGlzLm1vZGVsZUltcG9ydERldGFpbENvbHVtbnMuZmluZEluZGV4KHggPT4geC5maWVsZCA9PSBcIm5vbUNvbG9ubmVGaWNoaWVyXCIpXHJcbiAgICAgIGlmIChpbmRleCAhPSAtMSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxlSW1wb3J0RGV0YWlsQ29sdW1ucy5zcGxpY2UoaW5kZXgsIDEpXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmIChldmVudCAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zaG93TW9kZWxlSW1wb3J0RGV0YWlscyA9IHRydWVcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2hvd01vZGVsZUltcG9ydERldGFpbHMgPSBmYWxzZVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbml0TW9kZWxlSW1wb3J0RGV0YWlsQ29sdW1ucygpIHtcclxuICAgIHRoaXMubW9kZWxlSW1wb3J0RGV0YWlsQ29sdW1ucyA9IFtcclxuICAgICAge1xyXG4gICAgICAgIGZpZWxkOiBcIm5vbUNsYXNzZURldGFpbFwiLFxyXG4gICAgICAgIGhlYWRlcjogXCJOb20gQ2xhc3NlIERldGFpbFwiLFxyXG4gICAgICAgIHR5cGU6IElucHV0VHlwZXMuU0VBUkNIX0NPTUJPLFxyXG4gICAgICAgIGxpc3RTb3VyY2VVcmw6IHRoaXMuZ2V0Q2xhc3NDaGlsZHNCeUNsYXNzTmFtZUVuZFBvaW50LFxyXG4gICAgICAgIGlkRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICBsYWJlbEZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgaXNGaWx0ZXJlZDogZmFsc2UsXHJcbiAgICAgICAgd2F0Y2hGb3JDaGFuZ2VzOiB0cnVlLFxyXG4gICAgICAgIHN0eWxlOiBHcmlkQ29sdW1uU3R5bGVIZWxwZXIuY3JlYXRlV2lkdGhTdHlsZShDU1NVbml0cy5WVywgMjApXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogXCJjb2xvbm5lQ2xhc3NlXCIsXHJcbiAgICAgICAgaGVhZGVyOiBcIkNvbG9ubmUgQ2xhc3NlXCIsXHJcbiAgICAgICAgdHlwZTogSW5wdXRUeXBlcy5TRUFSQ0hfQ09NQk8sXHJcbiAgICAgICAgbGlzdFNvdXJjZVVybDogdGhpcy5idWlsZEdldENoaWxkQ2xhc3NDb2x1bW5zLFxyXG4gICAgICAgIGlkRmllbGQ6IFwidmFsdWVcIixcclxuICAgICAgICBsYWJlbEZpZWxkOiBcInZhbHVlXCIsXHJcbiAgICAgICAgaXNGaWx0ZXJlZDogZmFsc2UsXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogXCJudW1lcm9cIixcclxuICAgICAgICBoZWFkZXI6IFwiT3JkcmVcIixcclxuICAgICAgICB0eXBlOiBJbnB1dFR5cGVzLklOVEVHRVIsXHJcbiAgICAgICAgd2F0Y2hGb3JDaGFuZ2VzOiB0cnVlXHJcbiAgICAgIH0sXHJcbiAgICAgIHtcclxuICAgICAgICBmaWVsZDogXCJub21Db2xvbm5lRmljaGllclwiLFxyXG4gICAgICAgIGhlYWRlcjogXCJOb20gQ29sb25uZSBGaWNoaWVyXCIsXHJcbiAgICAgICAgdHlwZTogSW5wdXRUeXBlcy5URVhUX0JPWCxcclxuICAgICAgICB3YXRjaEZvckNoYW5nZXM6IHRydWVcclxuICAgICAgfSxcclxuICAgICAge1xyXG4gICAgICAgIGZpZWxkOiBcIm5vbUNvbG9ubmVDbGVmRXRyYW5nZXJlXCIsXHJcbiAgICAgICAgaGVhZGVyOiBcIk5vbSBDb2xvbm5lIENsZSBFdHJhbmfDqHJlXCIsXHJcbiAgICAgICAgd2F0Y2hGb3JDaGFuZ2VzOiB0cnVlLFxyXG4gICAgICAgIHR5cGU6IElucHV0VHlwZXMuU0VBUkNIX0NPTUJPLFxyXG4gICAgICAgIGxpc3RTb3VyY2VVcmw6IHRoaXMuYnVpbGRHZXRDb2x1bW1uRm9yRm9yZWlnbktleUNsYXNzLFxyXG4gICAgICAgIGlkRmllbGQ6IFwia2V5XCIsXHJcbiAgICAgICAgbGFiZWxGaWVsZDogXCJ2YWx1ZVwiLFxyXG4gICAgICAgIGlzRmlsdGVyZWQ6IGZhbHNlLFxyXG4gICAgICB9LFxyXG4gICAgXVxyXG4gIH1cclxuXHJcbiAgYnVpbGRHZXRDb2x1bW1uRm9yRm9yZWlnbktleUNsYXNzKGN1cnJlbnRSb3dJdGVtOiBNb2RlbGVJbXBvcnREZXRhaWwpIHtcclxuICAgIGxldCBjb2x1bW5OYW1lID0gY3VycmVudFJvd0l0ZW0/LmNvbG9ubmVDbGFzc2UgPz8gXCJcIlxyXG4gICAgbGV0IHBhcmVudEVudGl0eU5hbWUgPSBjdXJyZW50Um93SXRlbT8ubm9tQ2xhc3NlRGV0YWlsID8/IFwiXCJcclxuICAgIHJldHVybiBJbXBvcnRFeHBvcnRFbmRQb2ludHMuZ2V0Q29sb25uZXNCeUNsYXNzTmFtZUFzS2V5VmFsdWVQYWlyKHBhcmVudEVudGl0eU5hbWUsIGNvbHVtbk5hbWUpXHJcbiAgfVxyXG5cclxuICBidWlsZEdldENoaWxkQ2xhc3NDb2x1bW5zKGN1cnJlbnRSb3dJdGVtOiBNb2RlbGVJbXBvcnREZXRhaWwpIHtcclxuICAgIGxldCBwYXJlbnRFbnRpdHlOYW1lID0gY3VycmVudFJvd0l0ZW0/Lm5vbUNsYXNzZURldGFpbCA/PyBcIlwiXHJcbiAgICAvLyBpZiAocGFyZW50RW50aXR5TmFtZT8uZW5kc1dpdGgoJ3MnKSkge1xyXG4gICAgLy8gICBwYXJlbnRFbnRpdHlOYW1lID0gcGFyZW50RW50aXR5TmFtZS5zbGljZSgwLCAtMSk7XHJcbiAgICAvLyB9XHJcbiAgICByZXR1cm4gSW1wb3J0RXhwb3J0RW5kUG9pbnRzLmdldENvbG9ubmVzQnlDbGFzc05hbWVBc0tleVZhbHVlUGFpcihwYXJlbnRFbnRpdHlOYW1lLCBcIlwiKVxyXG4gIH1cclxuXHJcbiAgYnVpbGRHZXRDaGlsZENoaWxkQ2xhc3MoY3VycmVudFJvd0l0ZW06IE1vZGVsZUltcG9ydERldGFpbCkge1xyXG4gICAgbGV0IGNsYXNzTmFtZSA9IGN1cnJlbnRSb3dJdGVtPy5ub21DbGFzc2VEZXRhaWxcclxuICAgIGlmIChjbGFzc05hbWU/LmVuZHNXaXRoKCdzJykpIHtcclxuICAgICAgY2xhc3NOYW1lID0gY2xhc3NOYW1lLnNsaWNlKDAsIC0xKTtcclxuICAgIH1cclxuICAgIHJldHVybiBJbXBvcnRFeHBvcnRFbmRQb2ludHMuZ2V0Q2xhc3NDaGlsZHNBc0tleVZhbHVlUGFpcihjbGFzc05hbWUpXHJcbiAgfVxyXG5cclxuICBkZWxldGVWYWx1ZUZyb21QYXJlbnRNb2RlbCgpIHtcclxuICAgIGxldCBmaWx0cmVkRGF0YSA9IHRoaXMubW9kZWxlSW1wb3J0Lm1vZGVsZUltcG9ydERldGFpbHNcclxuICAgICAgLmZpbHRlcih4ID0+IHgubm9tQ2xhc3NlRGV0YWlsID09IHRoaXMuX2J1c2luZXNzQ2xhc3MpXHJcbiAgICBmaWx0cmVkRGF0YS5mb3JFYWNoKGl0ZW0gPT4ge1xyXG4gICAgICBpdGVtLm5vbUNsYXNzZURldGFpbCA9IHVuZGVmaW5lZFxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIG92ZXJyaWRlIHNhdmUoKTogdm9pZCB7XHJcbiAgICBzdXBlci5zYXZlKClcclxuICAgIHRoaXMuc2F2aW5nID0gdHJ1ZVxyXG4gICAgdGhpcy5pc2xvYWRpbmcgPSB0cnVlXHJcbiAgICB0aGlzLl91cGRhdGVNb2RlbGVJbXBvcnRGcm9tR3JpZCgpXHJcbiAgICB0aGlzLmRlbGV0ZVZhbHVlRnJvbVBhcmVudE1vZGVsKClcclxuICAgIGlmICh0aGlzLm9wZW5lZE1vZGUgPT0gTW9kZXMuY3JlYXRlKSB7XHJcbiAgICAgIHRoaXMuX21vZGVsZUltcG9ydFNlcnZpY2UuY3JlYXRlKHRoaXMubW9kZWxlSW1wb3J0KS5zdWJzY3JpYmUoXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbmV4dDogKCkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3ModGhpcy5sKExvY2FsaXphdGlvbktleXMuc2F2ZWRTdWNjZXNzZnVsbHkpKTtcclxuICAgICAgICAgICAgdGhpcy5oaWRlKHRydWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uU2F2ZS5lbWl0KCk7XHJcbiAgICAgICAgICAgIHRoaXMuaXNsb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApXHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLm9wZW5lZE1vZGUgPT0gTW9kZXMuZWRpdCAmJiB0aGlzLm1vZGVsZUltcG9ydC51aWQgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuX21vZGVsZUltcG9ydFNlcnZpY2UudXBkYXRlKHRoaXMubW9kZWxlSW1wb3J0LCB0aGlzLm1vZGVsZUltcG9ydC51aWQpLnN1YnNjcmliZShcclxuICAgICAgICB7XHJcbiAgICAgICAgICBuZXh0OiAoZGF0YSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLl9ub3RpZmljYXRpb25TZXJ2aWNlLnN1Y2Nlc3ModGhpcy5sKExvY2FsaXphdGlvbktleXMudXBkYXRlZFN1Y2Nlc3NmdWxseSkpO1xyXG4gICAgICAgICAgICB0aGlzLmhpZGUodHJ1ZSk7XHJcbiAgICAgICAgICAgIHRoaXMub25TYXZlLmVtaXQoKTtcclxuICAgICAgICAgICAgdGhpcy5pc2xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIClcclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIjx0c2ktZm9ybSBjbGFzcz1cImZvcm0taG9yaXpvbnRhbFwiIFtpc0xvYWRpbmddPVwiaXNsb2FkaW5nXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCI+XHJcbiAgPFRzaS1Nb2RhbC1IZWFkZXIgW2lucHV0VGl0bGVdPVwiaGVhZGVyIHwgbW9kYWxMYWJlbCA6IG1vZGUgOiAnTW9kw6hsZSBpbXBvcnQnXCJcclxuICAgIChvbkNsb3NlQ2xpY2spPVwiaGlkZSgpXCI+PC9Uc2ktTW9kYWwtSGVhZGVyPlxyXG5cclxuICA8ZmllbGRzZXQgW2Rpc2FibGVkXT1cImlzRGVsZXRlTW9kZSgpIHx8IGlzQ29uc3VsdE1vZGUoKSBcIj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZ3JpZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtOFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImdyaWRcIj5cclxuXHJcbiAgICAgICAgICAgIDxUc2ktTGFiZWwgY2xhc3M9XCJjb2wtM1wiIFtsYWJlbFZhbHVlXT1cIidOb20gTW9kZWxlJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8VHNpLVRleHQtQm94IFsoaW5wdXRGaWVsZCldPVwibW9kZWxlSW1wb3J0Lm5vbVwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIGNsYXNzPVwiY29sLTlcIlxyXG4gICAgICAgICAgICAgIFtpbnB1dE5hbWVdPVwiJ25vbU1vZGVsZSdcIj48L1RzaS1UZXh0LUJveD5cclxuXHJcbiAgICAgICAgICAgIDxUc2ktTGFiZWwgY2xhc3M9XCJjb2wtM1wiIFtsYWJlbFZhbHVlXT1cIidOb20gRm9ybSdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPFRzaS1UZXh0LUJveCBbKGlucHV0RmllbGQpXT1cIm1vZGVsZUltcG9ydC5mb3JtXCIgW2Rpc2FibGVkXT1cInRydWVcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICBbaW5wdXROYW1lXT1cIidub21Gb3JtJ1wiPjwvVHNpLVRleHQtQm94PlxyXG5cclxuICAgICAgICAgICAgPFRzaS1MYWJlbCBjbGFzcz1cImNvbC0zXCIgW2xhYmVsVmFsdWVdPVwiJ05vbSBDbGFzc2UnXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDxUc2ktVGV4dC1Cb3ggWyhpbnB1dEZpZWxkKV09XCJtb2RlbGVJbXBvcnQuY2xhc3NlXCIgW2Rpc2FibGVkXT1cInRydWVcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICBbaW5wdXROYW1lXT1cIidub21DbGFzc2UnXCI+PC9Uc2ktVGV4dC1Cb3g+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInUHJlbWllcmUgTGlnbmUgSW1wb3J0J1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICA8VHNpLUludGVnZXIgWyhpbnB1dEZpZWxkKV09XCJtb2RlbGVJbXBvcnQucHJlbWllcmVMaWduZUltcG9ydFwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIGNsYXNzPVwiY29sLTlcIlxyXG4gICAgICAgICAgICAgIFtpbnB1dE5hbWVdPVwiJ3ByZW1pZXJlTGlnbmVJbXBvcnQnXCI+PC9Uc2ktSW50ZWdlcj5cclxuXHJcbiAgICAgICAgICAgIDxUc2ktTGFiZWwgY2xhc3M9XCJjb2wtM1wiIFtsYWJlbFZhbHVlXT1cIidEZXJuaWVyZSBMaWduZSBJbXBvcnQnXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDxUc2ktSW50ZWdlciBbKGlucHV0RmllbGQpXT1cIm1vZGVsZUltcG9ydC5kZXJuaWVyTGlnbmVJbXBvcnRcIiBbZGlzYWJsZWRdPVwiZmFsc2VcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICBbaW5wdXROYW1lXT1cIidkZXJuaWVyTGlnbmVJbXBvcnQnXCI+PC9Uc2ktSW50ZWdlcj5cclxuXHJcbiAgICAgICAgICAgIDxUc2ktTGFiZWwgY2xhc3M9XCJjb2wtM1wiIFtsYWJlbFZhbHVlXT1cIidBcnJldGUgbG9ycyBkZSBwcmVtaWVyIGVycmV1ciAnXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDxUc2ktQ2hlY2tCb3ggWyhpbnB1dEZpZWxkKV09XCJtb2RlbGVJbXBvcnQuYXJyZXRlUHJlbWllckVycmV1clwiIFtkaXNhYmxlZF09XCJmYWxzZVwiIGNsYXNzPVwiY29sLTlcIlxyXG4gICAgICAgICAgICAgIFtpbnB1dE5hbWVdPVwiJ2FycmV0ZVByZW1pZXJFcnJldXInXCI+PC9Uc2ktQ2hlY2tCb3g+XHJcblxyXG4gICAgICAgICAgICA8VHNpLUxhYmVsIGNsYXNzPVwiY29sLTNcIiBbbGFiZWxWYWx1ZV09XCInT3JkcmUgT3UgVGl0cmUgQ29sb25uZSdcIj48L1RzaS1MYWJlbD5cclxuICAgICAgICAgICAgPFRzaS1TZWFyY2gtQ29tYm8gKGJpbmRDaGFuZ2UpPVwidHlwZUltcG9ydENoYW5nZSgkZXZlbnQpXCIgY2xhc3M9XCJjb2wtOVwiIFtsaXN0U291cmNlVXJsXT1cIlxyXG4gICAgICAgICAgICAgICAgICBtb2RlbGVJbXBvcnRFbmRQb2ludHMuZ2V0VHlwZU5hdHVyZURvY3VtZW50RW51bSgpXHJcbiAgICAgICAgICAgICAgICBcIiBbKGJpbmQpXT1cIm1vZGVsZUltcG9ydC5vcmRyZU91VGl0cmVDb2xvbm5lXCIgaWQtZmllbGQ9XCJrZXlcIiBsYWJlbC1maWVsZD1cInZhbHVlXCI+XHJcbiAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuXHJcbiAgICAgICAgICAgIDxUc2ktTGFiZWwgY2xhc3M9XCJjb2wtM1wiIFtsYWJlbFZhbHVlXT1cIidUeXBlIGRlIGZpY2hpZXInXCI+PC9Uc2ktTGFiZWw+XHJcbiAgICAgICAgICAgIDxUc2ktU2VhcmNoLUNvbWJvIGNsYXNzPVwiY29sLTlcIiBbbGlzdFNvdXJjZVVybF09XCJcclxuICAgICAgICAgICAgICAgICAgbW9kZWxlSW1wb3J0RW5kUG9pbnRzLmdldEltcG9ydEZpbGVUeXBlRW51bSgpXHJcbiAgICAgICAgICAgICAgICBcIiBbKGJpbmQpXT1cIm1vZGVsZUltcG9ydC5maWxlVHlwZVwiIGlkLWZpZWxkPVwia2V5XCIgbGFiZWwtZmllbGQ9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICA8L1RzaS1TZWFyY2gtQ29tYm8+XHJcblxyXG4gICAgICAgICAgICAgIDxUc2ktTGFiZWwgKm5nSWY9XCJtb2RlbGVJbXBvcnQuZmlsZVR5cGUgPT0gZmlsZVR5cGVJbXBvcnRFbnVtUmVmLkNTVlwiIGNsYXNzPVwiY29sLTNcIlxyXG4gICAgICAgICAgICAgICAgW2xhYmVsVmFsdWVdPVwiJ1PDqXBhcmF0ZXVyIGRlIGZpY2hpZXIgQ1NWJ1wiPjwvVHNpLUxhYmVsPlxyXG4gICAgICAgICAgICAgIDxUc2ktU2VhcmNoLUNvbWJvICpuZ0lmPVwibW9kZWxlSW1wb3J0LmZpbGVUeXBlID09IGZpbGVUeXBlSW1wb3J0RW51bVJlZi5DU1ZcIiBjbGFzcz1cImNvbC05XCJcclxuICAgICAgICAgICAgICAgIFtsaXN0U291cmNlVXJsXT1cIlxyXG4gICAgICAgICAgICAgICAgICBtb2RlbGVJbXBvcnRFbmRQb2ludHMuZ2V0Q3N2RmlsZVNlcGFyYXRvckVudW0oKVxyXG4gICAgICAgICAgICAgICAgXCIgWyhiaW5kKV09XCJtb2RlbGVJbXBvcnQuY3N2RmlsZVNlcGFyYXRvclwiIGlkLWZpZWxkPVwia2V5XCIgbGFiZWwtZmllbGQ9XCJ2YWx1ZVwiPlxyXG4gICAgICAgICAgICAgIDwvVHNpLVNlYXJjaC1Db21ibz5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInNob3dNb2RlbGVJbXBvcnREZXRhaWxzXCI+XHJcbiAgICAgIDxUc2ktR2VuZXJpYy1FZGl0YWJsZS1HcmlkIFtncmlkRGF0YV09XCJtb2RlbGVJbXBvcnQubW9kZWxlSW1wb3J0RGV0YWlsc1wiXHJcbiAgICAgICAgW2V2ZW50c109XCJldmVudHNTdWJqZWN0TW9kZWxlSW1wb3J0RGV0YWlsLmFzT2JzZXJ2YWJsZSgpXCJcclxuICAgICAgICAocm93RGVsZXRlZEV2ZW50RW1pdHRlcik9XCJvblNhdmVNb2RlbGVJbXBvcnREZXRhaWxzKCRldmVudClcIiBbY29sdW1uc109XCJtb2RlbGVJbXBvcnREZXRhaWxDb2x1bW5zXCJcclxuICAgICAgICBbcGFyZW50XT1cInRoaXNcIiBbc2hvd1NhdmVCdXR0b25dPVwiZmFsc2VcIiBba2V5XT1cIidudW1MaWduZSdcIj5cclxuICAgICAgPC9Uc2ktR2VuZXJpYy1FZGl0YWJsZS1HcmlkPlxyXG4gICAgPC9kaXY+XHJcblxyXG5cclxuICA8L2ZpZWxkc2V0PlxyXG5cclxuICA8VHNpLU1vZGFsLUZvb3RlciBbY2FuY2VsRGlzYWJsZWRdPVwic2F2aW5nXCIgW3NhdmVEaXNhYmxlZF09XCJpc1N1Ym1pdERpc2FibGVkKClcIiAob25DYW5jZWxDbGljayk9XCJoaWRlKClcIlxyXG4gICAgKG9uU2F2ZUNsaWNrKT1cInNhdmUoKVwiIFtzaG93U2F2ZUFuZENsb3NlQnV0dG9uXT1cIm1vZGUgPT0gbW9kZVJlZi5kZWxldGVcIj48L1RzaS1Nb2RhbC1Gb290ZXI+XHJcblxyXG48L3RzaS1mb3JtPiJdfQ==
|