@ieeesa-npm/tenants 0.5.0 → 0.5.2
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/assets/constants.json +10 -1
- package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs +73 -6
- package/esm2022/lib/components/tenant-basic-details/tenant-basic-details.component.mjs +3 -3
- package/esm2022/lib/components/view-tenant-details/view-tenant-details.component.mjs +142 -7
- package/esm2022/lib/models/required-profile-fields.model.mjs +2 -0
- package/esm2022/lib/services/tenant-applications.service.mjs +15 -1
- package/fesm2022/ieeesa-npm-tenants.mjs +247 -22
- package/fesm2022/ieeesa-npm-tenants.mjs.map +1 -1
- package/lib/components/create-tenant-application/create-tenant-application.component.d.ts +9 -0
- package/lib/components/tenant-basic-details/tenant-basic-details.component.d.ts +4 -1
- package/lib/components/view-tenant-details/view-tenant-details.component.d.ts +38 -3
- package/lib/models/required-profile-fields.model.d.ts +25 -0
- package/lib/services/tenant-applications.service.d.ts +12 -1
- package/package.json +1 -1
package/esm2022/lib/components/create-tenant-application/create-tenant-application.component.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, EventEmitter, Output, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
|
-
import { AlignType, FormControlType, AllowedFileTypes, DynamicFormComponent, } from '@ieeesa-npm/presentation';
|
|
2
|
+
import { AlignType, FormControlType, AllowedFileTypes, DynamicFormComponent, SlideToggleComponent, } from '@ieeesa-npm/presentation';
|
|
3
3
|
import { Subject, takeUntil } from 'rxjs';
|
|
4
4
|
import * as screenTexts from '../../assets/constants.json';
|
|
5
5
|
import { Validators } from '@angular/forms';
|
|
@@ -40,7 +40,14 @@ export class CreateTenantApplicationComponent {
|
|
|
40
40
|
AllowedFileTypes.PNG,
|
|
41
41
|
AllowedFileTypes.SVG,
|
|
42
42
|
];
|
|
43
|
+
this.tenantFunctionTypeEnum = TenantFunctionType;
|
|
43
44
|
this.isAppLogoModified = false;
|
|
45
|
+
this.requiredProfileFieldOptions = [
|
|
46
|
+
{ field: 'phone', label: 'Phone number', enabled: false },
|
|
47
|
+
{ field: 'address', label: 'Address', enabled: false },
|
|
48
|
+
{ field: 'employer', label: 'Employer', enabled: false },
|
|
49
|
+
];
|
|
50
|
+
this.requiredProfileFieldsInitialState = {};
|
|
44
51
|
}
|
|
45
52
|
ngOnInit() {
|
|
46
53
|
this.tenantFunctionType = this.tenantAppService?.getTenantFunctionType();
|
|
@@ -101,6 +108,9 @@ export class CreateTenantApplicationComponent {
|
|
|
101
108
|
});
|
|
102
109
|
}
|
|
103
110
|
this.initializeCreateTenantFormGroup();
|
|
111
|
+
if (this.tenantFunctionType === TenantFunctionType.EDIT) {
|
|
112
|
+
this.getRequiredProfileFields();
|
|
113
|
+
}
|
|
104
114
|
}
|
|
105
115
|
},
|
|
106
116
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -260,7 +270,7 @@ export class CreateTenantApplicationComponent {
|
|
|
260
270
|
minSelectionRequired: 1,
|
|
261
271
|
ariaLabel: this.createTenantTexts?.label?.ariaLabel?.featuresList,
|
|
262
272
|
ariaDescribedById: this.createTenantTexts?.label?.ariaDescribedById?.featuresList,
|
|
263
|
-
supportMessage:
|
|
273
|
+
supportMessage: '',
|
|
264
274
|
requiredErrorMessage: this.createTenantTexts?.message?.error?.required,
|
|
265
275
|
validation: [Validators.required],
|
|
266
276
|
},
|
|
@@ -357,7 +367,7 @@ export class CreateTenantApplicationComponent {
|
|
|
357
367
|
this.updatedTenantBasicInfo.features =
|
|
358
368
|
this.tenantAppService.getFeaturesList(this.featuresOptions);
|
|
359
369
|
this.tenantAppService.setSelectedTenantInformation(this.updatedTenantBasicInfo);
|
|
360
|
-
this.
|
|
370
|
+
this.updateRequiredProfileFields(response);
|
|
361
371
|
}
|
|
362
372
|
},
|
|
363
373
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
@@ -366,6 +376,63 @@ export class CreateTenantApplicationComponent {
|
|
|
366
376
|
},
|
|
367
377
|
});
|
|
368
378
|
}
|
|
379
|
+
getRequiredProfileFields() {
|
|
380
|
+
this.tenantAppService
|
|
381
|
+
.getRequiredProfileFields(this.selectedTenantInfo?.appId)
|
|
382
|
+
.pipe(takeUntil(this.destroy$))
|
|
383
|
+
.subscribe({
|
|
384
|
+
next: (response) => {
|
|
385
|
+
const configuration = response?.body?.[0];
|
|
386
|
+
if (response?.status && configuration) {
|
|
387
|
+
this.requiredProfileFieldsConfiguration = configuration;
|
|
388
|
+
const requiredFields = configuration.configFieldValue?.requiredFields ?? [];
|
|
389
|
+
this.requiredProfileFieldOptions = this.requiredProfileFieldOptions.map((option) => ({ ...option, enabled: requiredFields.includes(option.field) }));
|
|
390
|
+
this.captureRequiredProfileFieldsState();
|
|
391
|
+
}
|
|
392
|
+
},
|
|
393
|
+
error: (error) => {
|
|
394
|
+
this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
|
|
395
|
+
},
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
captureRequiredProfileFieldsState() {
|
|
399
|
+
this.requiredProfileFieldsInitialState = this.requiredProfileFieldOptions.reduce((state, option) => ({ ...state, [option.field]: option.enabled }), {});
|
|
400
|
+
}
|
|
401
|
+
hasRequiredProfileFieldsChanges() {
|
|
402
|
+
return this.requiredProfileFieldOptions.some((option) => option.enabled !== this.requiredProfileFieldsInitialState[option.field]);
|
|
403
|
+
}
|
|
404
|
+
updateRequiredProfileFields(response) {
|
|
405
|
+
if (!this.requiredProfileFieldsConfiguration || !this.hasRequiredProfileFieldsChanges()) {
|
|
406
|
+
this.submitFormResponse.emit(response);
|
|
407
|
+
return;
|
|
408
|
+
}
|
|
409
|
+
const payload = {
|
|
410
|
+
payload: {
|
|
411
|
+
appId: this.selectedTenantInfo?.appId,
|
|
412
|
+
configFieldName: 'required_profile_fields',
|
|
413
|
+
configFieldId: this.requiredProfileFieldsConfiguration.configFieldId,
|
|
414
|
+
configFieldValue: {
|
|
415
|
+
requiredFields: this.requiredProfileFieldOptions
|
|
416
|
+
.filter((option) => option.enabled)
|
|
417
|
+
.map((option) => option.field),
|
|
418
|
+
},
|
|
419
|
+
},
|
|
420
|
+
};
|
|
421
|
+
this.tenantAppService
|
|
422
|
+
.updateRequiredProfileFields(payload)
|
|
423
|
+
.pipe(takeUntil(this.destroy$))
|
|
424
|
+
.subscribe({
|
|
425
|
+
next: (configurationResponse) => {
|
|
426
|
+
if (configurationResponse?.status) {
|
|
427
|
+
this.captureRequiredProfileFieldsState();
|
|
428
|
+
this.submitFormResponse.emit(response);
|
|
429
|
+
}
|
|
430
|
+
},
|
|
431
|
+
error: (error) => {
|
|
432
|
+
this.sharedService.handleErrors(error, this.createTenantTexts?.errors);
|
|
433
|
+
},
|
|
434
|
+
});
|
|
435
|
+
}
|
|
369
436
|
/**
|
|
370
437
|
* Constructs create tenant payload from the form data and returns.
|
|
371
438
|
* @param {*} formData
|
|
@@ -496,11 +563,11 @@ export class CreateTenantApplicationComponent {
|
|
|
496
563
|
this.destroy$.unsubscribe();
|
|
497
564
|
}
|
|
498
565
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateTenantApplicationComponent, deps: [{ token: i1.FileUploadService }, { token: i2.TenantApplicationsService }, { token: i3.SharedService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
499
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateTenantApplicationComponent, isStandalone: true, selector: "ieeesa-create-tenant-application", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-modal-dialog.ieeesa-create-tenant,.ieeesa-modal-dialog.ieeesa-edit-tenant{max-width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-container,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-surface,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-dialog-content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal-title{margin-left:15px!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__actions,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em;margin-top:2em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label{padding-left:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content{color:#1c1b1f}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:90%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-flex,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "fileUploadStatus", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "isRightButtonNeeded", "actionButtonAlign", "fileDownloadAndDeleteConfig"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "formMultiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"], exportAs: ["dynamicForm"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
566
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CreateTenantApplicationComponent, isStandalone: true, selector: "ieeesa-create-tenant-application", outputs: { submitFormResponse: "submitFormResponse", formCancel: "formCancel" }, viewQueries: [{ propertyName: "dynamicFormComponent", first: true, predicate: DynamicFormComponent, descendants: true }], ngImport: i0, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n projectedContentAfterControlName=\"features\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n>\r\n <p class=\"create-tenant-required-profile-fields-title\" afterControl>\r\n Required Profile Fields\r\n </p>\r\n <section\r\n afterControl\r\n *ngIf=\"tenantFunctionType === tenantFunctionTypeEnum.EDIT\"\r\n class=\"create-tenant-required-profile-fields\"\r\n>\r\n <div class=\"create-tenant-required-profile-fields__list\">\r\n <div class=\"create-tenant-required-profile-fields__option create-tenant-required-profile-fields__option--fixed\">\r\n <span class=\"create-tenant-required-profile-fields__label\">Name</span>\r\n <span class=\"create-tenant-required-profile-fields__switch create-tenant-required-profile-fields__switch--on\" aria-hidden=\"true\"></span>\r\n <span class=\"create-tenant-required-profile-fields__status\">Mandatory</span>\r\n </div>\r\n <div class=\"create-tenant-required-profile-fields__option create-tenant-required-profile-fields__option--fixed\">\r\n <span class=\"create-tenant-required-profile-fields__label\">Email ID</span>\r\n <span class=\"create-tenant-required-profile-fields__switch create-tenant-required-profile-fields__switch--on\" aria-hidden=\"true\"></span>\r\n <span class=\"create-tenant-required-profile-fields__status\">Mandatory</span>\r\n </div>\r\n <div\r\n class=\"create-tenant-required-profile-fields__option\"\r\n *ngFor=\"let option of requiredProfileFieldOptions\"\r\n >\r\n <span class=\"create-tenant-required-profile-fields__label\">{{ option.label }}</span>\r\n <ieeesa-slide-toggle\r\n [slideToggle]=\"{ id: option.field, label: '', checked: option.enabled, ariaLabel: option.label }\"\r\n (slideToggleChange)=\"option.enabled = $event.checked\"\r\n ></ieeesa-slide-toggle>\r\n <span class=\"create-tenant-required-profile-fields__status\">{{ option.enabled ? 'Mandatory' : 'Non-mandatory' }}</span>\r\n </div>\r\n </div>\r\n </section>\r\n</ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-modal-dialog.ieeesa-create-tenant,.ieeesa-modal-dialog.ieeesa-edit-tenant{max-width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-container,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-surface,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-dialog-content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal-title{margin-left:15px!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__actions,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em;margin-top:2em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label{padding-left:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content{color:#1c1b1f}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:90%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-flex,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields{margin:0;padding:0;width:100%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__list,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__list{display:flex;flex-direction:column;gap:.75em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option{align-items:center;display:flex;gap:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option .ieeesa-slide-toggle-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option .ieeesa-slide-toggle-field{margin-left:auto;min-width:2.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__label{color:#1c1b1f!important;font-family:Calibri Regular;font-size:1rem!important;line-height:24px;min-width:8.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__status,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__status{color:#00629b;font-family:Calibri Regular;font-size:.875rem;line-height:20px}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch{background:#fff;border:1px solid #00629b;border-radius:100px;display:inline-block;height:1.29em;position:relative;width:2.29em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch:after{background:#fff;border:1px solid #00629b;border-radius:50%;content:\"\";height:1.1em;left:.05em;position:absolute;top:.04em;width:1.1em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on{background:#00629b}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on:after{border-color:#00629b;left:1.05em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__switch,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__switch{opacity:.45}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__label,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__status,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__status{color:#c0c7cd}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields-title{color:#49454f;font-family:Calibri Regular;font-size:.75rem;letter-spacing:.03125em;line-height:16px;margin:1em 0 .5em;width:100%}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:100%}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: DynamicFormComponent, selector: "ieeesa-dynamic-form", inputs: ["formGroups", "submitResponse", "searchResponse", "fileUploadStatus", "colWidth", "isLegendVisible", "rightButtonLabel", "leftButtonLabel", "isSubmitButtonDisabled", "isLeftButtonDisabled", "isLeftButtonNeeded", "isRightButtonNeeded", "actionButtonAlign", "fileDownloadAndDeleteConfig"], outputs: ["formSubmit", "formChange", "formInput", "formLeftButtonClicked", "formSearchApply", "formGroupsReference", "dropdownChange", "formCheckboxSelection", "formDateSelected", "formSelectSearch", "formControlChange", "formAutoCompleteSearch", "formAutoCompleteClearSearchValue", "autoCompleteOptionSelected", "formAfterContentInit", "formSelectedDateRange", "addFormGroup", "formTimeSelected", "supportTextLinkClick", "formSlideToggleChange", "formFileUpload", "dropdownOpenedChange", "formColorPickerChange", "formRadioOptionSelected", "ctaButtonClick", "formMultiSelectAutoCompleteSearch", "formMultiSelectAutoCompleteClearSearchValue", "multiSelectAutoCompleteOptionsSelected", "formRichTextEditorContentChange"], exportAs: ["dynamicForm"] }, { kind: "component", type: SlideToggleComponent, selector: "ieeesa-slide-toggle", inputs: ["formControlName", "slideToggle", "isDisabled", "canShowIcon"], outputs: ["slideToggleChange"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
500
567
|
}
|
|
501
568
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CreateTenantApplicationComponent, decorators: [{
|
|
502
569
|
type: Component,
|
|
503
|
-
args: [{ selector: 'ieeesa-create-tenant-application', standalone: true, imports: [CommonModule, DynamicFormComponent], encapsulation: ViewEncapsulation.None, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n></ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-modal-dialog.ieeesa-create-tenant,.ieeesa-modal-dialog.ieeesa-edit-tenant{max-width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-container,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-surface,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-dialog-content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal-title{margin-left:15px!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__actions,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em;margin-top:2em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label{padding-left:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content{color:#1c1b1f}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:90%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-flex,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:100%}}\n"] }]
|
|
570
|
+
args: [{ selector: 'ieeesa-create-tenant-application', standalone: true, imports: [CommonModule, DynamicFormComponent, SlideToggleComponent], encapsulation: ViewEncapsulation.None, template: "<ieeesa-dynamic-form\r\n *ngIf=\"createTenantFormGroup\"\r\n class=\"ieeesa-create-tenant-form\"\r\n [leftButtonLabel]=\"leftButtonLabel\"\r\n [rightButtonLabel]=\"rightButtonLabel\"\r\n [isLegendVisible]=\"false\"\r\n [colWidth]=\"colWidth\"\r\n [actionButtonAlign]=\"actionButtonAlign\"\r\n [formGroups]=\"createTenantFormGroup\"\r\n projectedContentAfterControlName=\"features\"\r\n [isLeftButtonNeeded]=\"true\"\r\n (formSubmit)=\"onCreateTenantFormSubmit($event)\"\r\n (formChange)=\"onCreateTenantFormChange($event)\"\r\n (formLeftButtonClicked)=\"onFormCancel()\"\r\n (formGroupsReference)=\"getCreateTenantFormGroupRef($event)\"\r\n (formFileUpload)=\"onFormFileUpload($event)\"\r\n (formColorPickerChange)=\"onColorPickerChange($event)\"\r\n (formRadioOptionSelected)=\"onRadioOptionSelected($event)\"\r\n>\r\n <p class=\"create-tenant-required-profile-fields-title\" afterControl>\r\n Required Profile Fields\r\n </p>\r\n <section\r\n afterControl\r\n *ngIf=\"tenantFunctionType === tenantFunctionTypeEnum.EDIT\"\r\n class=\"create-tenant-required-profile-fields\"\r\n>\r\n <div class=\"create-tenant-required-profile-fields__list\">\r\n <div class=\"create-tenant-required-profile-fields__option create-tenant-required-profile-fields__option--fixed\">\r\n <span class=\"create-tenant-required-profile-fields__label\">Name</span>\r\n <span class=\"create-tenant-required-profile-fields__switch create-tenant-required-profile-fields__switch--on\" aria-hidden=\"true\"></span>\r\n <span class=\"create-tenant-required-profile-fields__status\">Mandatory</span>\r\n </div>\r\n <div class=\"create-tenant-required-profile-fields__option create-tenant-required-profile-fields__option--fixed\">\r\n <span class=\"create-tenant-required-profile-fields__label\">Email ID</span>\r\n <span class=\"create-tenant-required-profile-fields__switch create-tenant-required-profile-fields__switch--on\" aria-hidden=\"true\"></span>\r\n <span class=\"create-tenant-required-profile-fields__status\">Mandatory</span>\r\n </div>\r\n <div\r\n class=\"create-tenant-required-profile-fields__option\"\r\n *ngFor=\"let option of requiredProfileFieldOptions\"\r\n >\r\n <span class=\"create-tenant-required-profile-fields__label\">{{ option.label }}</span>\r\n <ieeesa-slide-toggle\r\n [slideToggle]=\"{ id: option.field, label: '', checked: option.enabled, ariaLabel: option.label }\"\r\n (slideToggleChange)=\"option.enabled = $event.checked\"\r\n ></ieeesa-slide-toggle>\r\n <span class=\"create-tenant-required-profile-fields__status\">{{ option.enabled ? 'Mandatory' : 'Non-mandatory' }}</span>\r\n </div>\r\n </div>\r\n </section>\r\n</ieeesa-dynamic-form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.5625rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25rem;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625rem;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-45{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.813rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375rem;line-height:52px;color:#000;letter-spacing:0}.ieeesa-display-sm-38{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.375rem;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-32{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125rem;line-height:40px;color:#000;letter-spacing:0}.ieeesa-headline-md-30{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.875rem;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:32px;color:#00629b;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625rem;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-lg-24{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.5rem;line-height:28px;color:#000;letter-spacing:0}.ieeesa-title-md-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-btn-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#00629b;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125rem;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-16{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-18{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.125rem;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:20px;color:#1c1b1f;letter-spacing:.015625em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-sm-12{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.75rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-body-color-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875rem;line-height:18px;color:#49454f;letter-spacing:.025em}.ieeesa-body-sm-bold-14{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:.875rem;line-height:16px;color:#000;letter-spacing:.025em}.ieeesa-title-inter-lg-bold-24{font-family:Inter Bold;font-style:normal;font-weight:700;font-size:1.5rem;line-height:29px;color:#000;letter-spacing:0}.mat-mdc-button.mat-mdc-button-base.mat-primary-button,.mat-mdc-button.mat-mdc-button-base.mat-secondary-button,.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button,.mat-mdc-button.mat-mdc-button-base.mat-text-button{min-width:103px;width:auto;min-height:40px;height:auto;border-radius:3px;text-align:center;padding:.625em 1.5em;border:none;font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#000;letter-spacing:.00625em}.mat-mdc-button.mat-mdc-button-base>.mat-icon{margin-right:11px}.mat-mdc-button.mat-mdc-button-base.mat-primary-button{background-color:#00629b;color:#fff}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:focus{background:#1f75a7}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:hover{background-color:#003e65}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:active{background-color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-primary-button:disabled{background-color:#1c1b1f1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button{color:#fff;background:#a7a8aa;box-shadow:0 1px 2px #0000004d,0 2px 6px 2px #00000026}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:hover{background:#a7a8aa}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:focus{background:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:active{background:#1d192b1f}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:#1c1b1f1f;color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button{background-color:#fff;border:1px solid #00629b;color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:hover{background-color:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:focus{background-color:#f0f5f9}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:active{background:#6750a41f}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.mat-mdc-button.mat-mdc-button-base.mat-text-button{color:#00629b}.mat-mdc-button.mat-mdc-button-base.mat-text-button:hover,.mat-mdc-button.mat-mdc-button-base.mat-text-button:active{background:#6750a414}.mat-mdc-button.mat-mdc-button-base.mat-text-button:disabled{color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.ieeesa-view-more-or-less-button{border:none;background:none;text-decoration:underline;color:#00629b}.flex-align-center{display:flex;align-items:center;justify-content:center}.mat-button-toggle-checked{background-color:#a7a8aa}.mat-button-toggle-checked .mat-button-toggle-label-content:before{font-family:\"Font Awesome 5 Free\";font-weight:900;content:\"\\f00c\";padding-right:.5625em}.mat-button-toggle-group .mat-button-toggle-label-content{font-family:Calibri Bold;font-style:normal;font-weight:700;font-size:1rem;line-height:20px;color:#1c1b1f;letter-spacing:.00625em}.no-bg-color-btn{color:#00629b;border-radius:3px;border:1px solid #00629b;min-height:40px;height:auto}@media (max-width: 768px){.mat-button-toggle-group .mat-button-toggle-label-content{max-width:8ch;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;position:relative}}.cdk-overlay-pane .mat-mdc-tooltip .mdc-tooltip__surface{color:#525252;padding:6px 12px;font-family:Calibri Regular;font-size:1rem;border:1px solid #cac4d0;background:#fff;box-shadow:0 4px 8px #00000040;max-width:unset!important}.cdk-overlay-pane .mat-mdc-option .mdc-list-item__primary-text{font-family:Calibri Regular!important}.cdk-overlay-pane.ieeesa-modal-confirm-dialog,.cdk-overlay-pane.ieeesa-modal-dialog,.cdk-overlay-pane.ieeesa-alert-dialog{width:100%;min-width:312px}.mat-mdc-form-field{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1rem;line-height:24px;color:#49454f;letter-spacing:.03125em}.ieeesa-cancel-modal-confirm-dialog{width:25vw!important}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation{padding:1.5em 1.5em 1em}.ieeesa-cancel-modal-confirm-dialog .ieeesa-confirmation .mat-mdc-dialog-content{text-align:center;padding:0 0 1em!important}.mat-mdc-button,.mat-mdc-outlined-button{--mat-mdc-button-persistent-ripple-color: unset}@media (max-width: 768px){.ieeesa-cancel-modal-confirm-dialog{width:90vw!important}}.ieeesa-wrapper-border{border:1px solid #b2b7be;border-top:none;padding:1.5em;border-radius:0 0 4px 4px}.ieeesa-modal-dialog.ieeesa-create-tenant,.ieeesa-modal-dialog.ieeesa-edit-tenant{max-width:60vw!important}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-container,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-container{box-shadow:none}.ieeesa-modal-dialog.ieeesa-create-tenant .mat-mdc-dialog-surface,.ieeesa-modal-dialog.ieeesa-edit-tenant .mat-mdc-dialog-surface{border-radius:0;margin:1em 0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal{box-shadow:0 3px #11b7e5 inset,0 4px 24px #00000080;padding-bottom:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-dialog-content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-dialog-content{padding:1.5em 1em .75em!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal-title{margin-left:15px!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__actions,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__actions{flex-direction:row-reverse;gap:.5em;padding:2em 1em .75em;margin-top:2em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field{margin-bottom:1em;padding-top:0!important}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field .mdc-label{padding-left:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-text-area-field__resize{resize:vertical}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field__content{color:#1c1b1f}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-text-field-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mat-mdc-form-field-focus-overlay{background:#fff;padding:0;border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:before,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field .ieeesa-input-field:has(.mdc-text-field--disabled) .mdc-line-ripple:after{border:0}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:90%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-flex,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-flex{width:62.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .mat-mdc-form-field-subscript-wrapper{display:none}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields{margin:0;padding:0;width:100%}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__list,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__list{display:flex;flex-direction:column;gap:.75em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option{align-items:center;display:flex;gap:.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option .ieeesa-slide-toggle-field,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option .ieeesa-slide-toggle-field{margin-left:auto;min-width:2.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__label{color:#1c1b1f!important;font-family:Calibri Regular;font-size:1rem!important;line-height:24px;min-width:8.5em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__status,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__status{color:#00629b;font-family:Calibri Regular;font-size:.875rem;line-height:20px}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch{background:#fff;border:1px solid #00629b;border-radius:100px;display:inline-block;height:1.29em;position:relative;width:2.29em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch:after{background:#fff;border:1px solid #00629b;border-radius:50%;content:\"\";height:1.1em;left:.05em;position:absolute;top:.04em;width:1.1em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on{background:#00629b}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on:after,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__switch--on:after{border-color:#00629b;left:1.05em}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__switch,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__switch{opacity:.45}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__label,.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__status,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__label,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields__option--fixed .create-tenant-required-profile-fields__status{color:#c0c7cd}.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .create-tenant-required-profile-fields-title,.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .create-tenant-required-profile-fields-title{color:#49454f;font-family:Calibri Regular;font-size:.75rem;letter-spacing:.03125em;line-height:16px;margin:1em 0 .5em;width:100%}@media (max-width: 767px){.ieeesa-modal-dialog.ieeesa-create-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo),.ieeesa-modal-dialog.ieeesa-edit-tenant .ieeesa-modal .ieeesa-dynamic-form__form-field:not(.app-description,.app-logo){width:100%}}\n"] }]
|
|
504
571
|
}], ctorParameters: function () { return [{ type: i1.FileUploadService }, { type: i2.TenantApplicationsService }, { type: i3.SharedService }]; }, propDecorators: { dynamicFormComponent: [{
|
|
505
572
|
type: ViewChild,
|
|
506
573
|
args: [DynamicFormComponent]
|
|
@@ -509,4 +576,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
509
576
|
}], formCancel: [{
|
|
510
577
|
type: Output
|
|
511
578
|
}] } });
|
|
512
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnRzL3NyYy9saWIvY29tcG9uZW50cy9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBR1QsZUFBZSxFQUNmLGdCQUFnQixFQUdoQixvQkFBb0IsR0FHckIsTUFBTSwwQkFBMEIsQ0FBQztBQUNsQyxPQUFPLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQyxPQUFPLEtBQUssV0FBVyxNQUFNLDZCQUE2QixDQUFDO0FBQzNELE9BQU8sRUFBd0IsVUFBVSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFjakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0seUNBQXlDLENBQUM7Ozs7OztBQVU3RSxNQUFNLE9BQU8sZ0NBQWdDO0lB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T0FHRztJQUNILHFCQUFxQixDQUFDLFdBQXdCO1FBQzVDLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxXQUFXLENBQUM7SUFDM0MsQ0FBQztJQUNEOzs7T0FHRztJQUNILFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzlCLENBQUM7K0dBemtCVSxnQ0FBZ0M7bUdBQWhDLGdDQUFnQyxtT0FXaEMsb0JBQW9CLGdEQzlEakMseXlCQWtCQSx1M2FENEJZLFlBQVksbUlBQUUsb0JBQW9COzs0RkFLakMsZ0NBQWdDO2tCQVI1QyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLENBQUMsaUJBRzlCLGlCQUFpQixDQUFDLElBQUk7NEtBY3JDLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBRXJCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBbGlnblR5cGUsXHJcbiAgQ2hlY2tib3hPcHRpb24sXHJcbiAgRm9ybUdyaWQsXHJcbiAgRm9ybUNvbnRyb2xUeXBlLFxyXG4gIEFsbG93ZWRGaWxlVHlwZXMsXHJcbiAgRmlsZVVwbG9hZFByZXNpZ25lZFVybCxcclxuICBSYWRpb09wdGlvbixcclxuICBEeW5hbWljRm9ybUNvbXBvbmVudCxcclxuICBGb3JtTW9kZWwsXHJcbiAgRmlsZVVwbG9hZFNlcnZpY2UsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vYXNzZXRzL3RlbmFudC12YWxpZGF0aW9ucyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1TdGF0dXMgfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5pbXBvcnQgeyB2YWxpZENvbG9yVmFsaWRhdG9yIH0gZnJvbSAnbmd4LWNvbG9ycyc7XHJcbmltcG9ydCB7IEZlYXR1cmVzLCBHZXRGZWF0dXJlc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlYXR1cmVzLm1vZGVsJztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwVHlwZUNvbmZpZyxcclxuICBHZXRBcHBUeXBlc1Jlc3BvbnNlLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9hcHAtdHlwZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkLFxyXG4gIENyZWF0ZVRlbmFudFJlc3BvbnNlLFxyXG4gIE5ld1RlbmFudEluZm8sXHJcbiAgVGVuYW50QmFzaWNJbmZvLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy90ZW5hbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50RnVuY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudC1mdW5jdGlvbi10eXBlLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWNyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHluYW1pY0Zvcm1Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8Ym9vbGVhbj4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNvbnN0YW50czogYW55ID0gc2NyZWVuVGV4dHM7XHJcbiAgY3JlYXRlVGVuYW50VGV4dHMgPSB0aGlzLmNvbnN0YW50cz8uY3JlYXRlVGVuYW50O1xyXG4gIGxlZnRCdXR0b25MYWJlbCA9IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5sZWZ0QnV0dG9uTGFiZWw7XHJcbiAgcmlnaHRCdXR0b25MYWJlbCA9IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5yaWdodEJ1dHRvbkxhYmVsO1xyXG4gIGNvbFdpZHRoOiBGb3JtR3JpZCA9IHsgeHM6IDEyLCB4bDogMTIsIHNtOiAxMiwgbWQ6IDEyLCBsZzogMTIgfTtcclxuICBjcmVhdGVUZW5hbnRGb3JtR3JvdXAhOiBGb3JtTW9kZWw7XHJcbiAgYWN0aW9uQnV0dG9uQWxpZ24gPSBBbGlnblR5cGUuTEVGVDtcclxuICBjcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYhOiBGb3JtR3JvdXA7XHJcbiAgQFZpZXdDaGlsZChEeW5hbWljRm9ybUNvbXBvbmVudClcclxuICBkeW5hbWljRm9ybUNvbXBvbmVudCE6IER5bmFtaWNGb3JtQ29tcG9uZW50O1xyXG4gIEBPdXRwdXQoKSBzdWJtaXRGb3JtUmVzcG9uc2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGZvcm1DYW5jZWwgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgZmVhdHVyZXNPcHRpb25zITogQ2hlY2tib3hPcHRpb25bXTtcclxuICBhcHBUeXBlT3B0aW9ucyE6IFJhZGlvT3B0aW9uW107XHJcbiAgY3JlYXRlVGVuYW50UGF5bG9hZCE6IENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkO1xyXG4gIGZpbGVVcGxvYWRQcmVzaWduZWRVcmwhOiBzdHJpbmc7XHJcbiAgZmlsZURvd25sb2FkUHJlc2lnbmVkVXJsITogc3RyaW5nO1xyXG4gIGZpbGUhOiBGaWxlIHwgRmlsZUxpc3Q7XHJcbiAgYWxsb3dlZEZpbGVUeXBlcyA9IFtcclxuICAgIEFsbG93ZWRGaWxlVHlwZXMuSlBHLFxyXG4gICAgQWxsb3dlZEZpbGVUeXBlcy5QTkcsXHJcbiAgICBBbGxvd2VkRmlsZVR5cGVzLlNWRyxcclxuICBdO1xyXG4gIHNlbGVjdGVkQ29sb3IhOiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRBcHBUeXBlT3B0aW9uITogUmFkaW9PcHRpb247XHJcbiAgdGVuYW50RnVuY3Rpb25UeXBlITogVGVuYW50RnVuY3Rpb25UeXBlO1xyXG4gIHNlbGVjdGVkVGVuYW50SW5mbyE6IFRlbmFudEJhc2ljSW5mbyB8IHVuZGVmaW5lZDtcclxuICBpc0FwcExvZ29Nb2RpZmllZCA9IGZhbHNlO1xyXG4gIHVwZGF0ZWRUZW5hbnRCYXNpY0luZm8hOiBOZXdUZW5hbnRJbmZvO1xyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwdWJsaWMgZmlsZVVwbG9hZFNlcnZpY2U6IEZpbGVVcGxvYWRTZXJ2aWNlLFxyXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzXHJcbiAgICBwcml2YXRlIHRlbmFudEFwcFNlcnZpY2U6IFRlbmFudEFwcGxpY2F0aW9uc1NlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgc2hhcmVkU2VydmljZTogU2hhcmVkU2VydmljZSAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tZW1wdHktZnVuY3Rpb25cclxuICApIHt9XHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9IHRoaXMudGVuYW50QXBwU2VydmljZT8uZ2V0VGVuYW50RnVuY3Rpb25UeXBlKCk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbyA9XHJcbiAgICAgIHRoaXMudGVuYW50QXBwU2VydmljZT8uZ2V0U2VsZWN0ZWRUZW5hbnRJbmZvcm1hdGlvbigpO1xyXG4gICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRBcGlCYXNlVXJsKHRoaXMudGVuYW50QXBwU2VydmljZT8uYXBpQmFzZVVybCk7XHJcbiAgICB0aGlzLmdldEZlYXR1cmVzKCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGxpc3Qgb2YgZmVhdHVyZXMgYW5kIHVwZGF0ZXMgdGhlIGZvcm0gY29udHJvbC5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBnZXRGZWF0dXJlcygpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50QXBwU2VydmljZVxyXG4gICAgICAuZ2V0RmVhdHVyZXMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogR2V0RmVhdHVyZXNSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5mZWF0dXJlc09wdGlvbnMgPSB0aGlzLnRlbmFudEFwcFNlcnZpY2UuZ2V0RmVhdHVyZU9wdGlvbnMoXHJcbiAgICAgICAgICAgICAgcmVzcG9uc2U/LmJvZHkgYXMgRmVhdHVyZXNbXVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUKVxyXG4gICAgICAgICAgICAgIHRoaXMuZmVhdHVyZXNPcHRpb25zPy5mb3JFYWNoKChvcHRpb246IENoZWNrYm94T3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAoXHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5mZWF0dXJlcz8uc29tZShcclxuICAgICAgICAgICAgICAgICAgICAoZmVhdHVyZTogRmVhdHVyZXMpID0+IGZlYXR1cmU/LmZlYXR1cmVJZCA9PT0gb3B0aW9uPy5pZFxyXG4gICAgICAgICAgICAgICAgICApXHJcbiAgICAgICAgICAgICAgICApIHtcclxuICAgICAgICAgICAgICAgICAgb3B0aW9uLmNoZWNrZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB0aGlzLmdldEFwcGxpY2F0aW9uVHlwZXMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHRoZSBhcHBsaWNhdGlvbi90ZW5hbnQgdHlwZXMgYW5kIHVwZGF0ZXMgdGhlIGZvcm0gY29udHJvbC5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBnZXRBcHBsaWNhdGlvblR5cGVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRBcHBsaWNhdGlvblR5cGVzKClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IEdldEFwcFR5cGVzUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChyZXNwb25zZT8uc3RhdHVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwVHlwZU9wdGlvbnMgPVxyXG4gICAgICAgICAgICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRBcHBsaWNhdGlvblR5cGVPcHRpb25zKFxyXG4gICAgICAgICAgICAgICAgcmVzcG9uc2U/LmJvZHkgYXMgQXBwVHlwZUNvbmZpZ1tdXHJcbiAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuYXBwVHlwZU9wdGlvbnM/LmZvckVhY2goKHJhZGlvT3B0aW9uOiBSYWRpb09wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYgKHJhZGlvT3B0aW9uPy5pZCA9PT0gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcFR5cGUpIHtcclxuICAgICAgICAgICAgICAgICAgcmFkaW9PcHRpb24uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRBcHBUeXBlT3B0aW9uID0gcmFkaW9PcHRpb247XHJcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICByYWRpb09wdGlvbi5jaGVja2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5pbml0aWFsaXplQ3JlYXRlVGVuYW50Rm9ybUdyb3VwKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogSW5pdGlhbGl6ZSB0aGUgY3JlYXRlIHRlbmFudCBmb3JtIGdyb3VwIGFycmF5LlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGluaXRpYWxpemVDcmVhdGVUZW5hbnRGb3JtR3JvdXAoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cCA9IHtcclxuICAgICAgZm9ybUdyb3VwOiBbXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgbGVnZW5kOiAnJyxcclxuICAgICAgICAgIGNvbnRyb2xzOiBbXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBUaXRsZSArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcFRpdGxlJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBUaXRsZVxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChcclxuICAgICAgICAgICAgICAgICAgVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hcHBUaXRsZU1heExlbmd0aFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwVGl0bGUsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5hcHBUaXRsZU1heENoYXJzLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwVGl0bGUsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcFRpdGxlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiBgJHt0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwSWR9JHtcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCA/ICcnIDogJyonXHJcbiAgICAgICAgICAgICAgfWAsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBJZCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwSWRcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hcHBJZE1heExlbmd0aCksXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnBhdHRlcm4oVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hbHBoYU51bWVyaWMpLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgZGlzYWJsZWQ6IHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/ICcnXHJcbiAgICAgICAgICAgICAgICAgIDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcElkLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIG1heEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdD8uYXBwSWRNYXhDaGFycyxcclxuICAgICAgICAgICAgICBwYXR0ZXJuRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnBhdHRlcm4/LmFwcElkLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwSWQsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcElkLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlPy5GSUxFX1VQTE9BRCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcExvZ28gKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBMb2dvJyxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBMb2dvXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICcnLFxyXG4gICAgICAgICAgICAgIGlzRmlsZVNlbGVjdGVkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElULFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwTG9nbyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBMb2dvLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBMb2dvLFxyXG4gICAgICAgICAgICAgIGlzTXVsdGlGaWxlVXBsb2FkOiBmYWxzZSxcclxuICAgICAgICAgICAgICBtYXhVcGxvYWRGaWxlU2l6ZTogMixcclxuICAgICAgICAgICAgICBtYXhGaWxlU2l6ZUVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5saW1pdD8uYXBwTG9nb01heFNpemUsXHJcbiAgICAgICAgICAgICAgYWxsb3dlZEZpbGVUeXBlRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmludmFsaWRGaWxlLFxyXG4gICAgICAgICAgICAgIGFsbG93ZWRGaWxlVHlwZXM6IHRoaXMuYWxsb3dlZEZpbGVUeXBlcyxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcEhlYWRpbmcgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBIZWFkaW5nJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBIZWFkaW5nXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcEhlYWRpbmdNYXhMZW5ndGhcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcEhlYWRpbmcsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0XHJcbiAgICAgICAgICAgICAgICAgID8uYXBwSGVhZGluZ01heENoYXJzLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uZW1haWwsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBIZWFkaW5nLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBIZWFkaW5nLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlRFWFRfQVJFQSxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcERlc2NyaXB0aW9uICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwRGVzY3JpcHRpb24nLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcERlc2NyaXB0aW9uXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcERlc2NyaXB0aW9uTWF4TGVuZ3RoXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0XHJcbiAgICAgICAgICAgICAgICAgID8uYXBwRGVzY3JpcHRpb25NYXhDaGFycyxcclxuICAgICAgICAgICAgICBtYXhDaGFyQ291bnQ6IFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwRGVzY3JpcHRpb25NYXhMZW5ndGgsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uYXBwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWRcclxuICAgICAgICAgICAgICAgICAgPy5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICBhcmlhTXVsdGlsaW5lOiB0cnVlLFxyXG4gICAgICAgICAgICAgIGlzUmVzaXplOiB0cnVlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLkNPTE9SX1BJQ0tFUixcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcEJnQ29sb3IgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdiYWNrZ3JvdW5kQ29sb3InLFxyXG4gICAgICAgICAgICAgIHZhbHVlOiAnJyxcclxuICAgICAgICAgICAgICBkZWZhdWx0Q29sb3I6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYmFja2dyb3VuZENvbG9yXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgcGxhY2Vob2xkZXI6ICcnLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwQmdDb2xvcixcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbVmFsaWRhdG9ycy5yZXF1aXJlZCwgdmFsaWRDb2xvclZhbGlkYXRvcigpXSxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBpbnZhbGlkQ29sb3JFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZENvbG9yLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcEJnQ29sb3IsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwQmdDb2xvcixcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcEhlbHBMaW5rICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwSGVscExpbmsnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcEhlbHBMaW5rXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLnVybCksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uYXBwSGVscExpbmssXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBIZWxwTGluayxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwSGVscExpbmssXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuQ0hFQ0tCT1gsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5mZWF0dXJlc0xpc3QgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdmZWF0dXJlcycsXHJcbiAgICAgICAgICAgICAgY2hlY2tib3hPcHRpb25zOiB0aGlzLmZlYXR1cmVzT3B0aW9ucyxcclxuICAgICAgICAgICAgICBtaW5TZWxlY3Rpb25SZXF1aXJlZDogMSxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmZlYXR1cmVzTGlzdCxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uZmVhdHVyZXNMaXN0LFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uZmVhdHVyZXNMaXN0LFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmRvbWFpblVSTCArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcERvbWFpblVybCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwRG9tYWluVXJsXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLnVybCksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmRvbWFpblVSTCxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBwYXR0ZXJuRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnBhdHRlcm4/LmFwcERvbWFpblVybCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmRvbWFpblVSTCxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uZG9tYWluVVJMLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlJBRElPLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiBgJHt0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwVHlwZX0ke1xyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUID8gJycgOiAnKidcclxuICAgICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcFR5cGUnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcFR5cGVcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElULFxyXG4gICAgICAgICAgICAgIHJhZGlvT3B0aW9uczogdGhpcy5hcHBUeXBlT3B0aW9ucyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBUeXBlLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBUeXBlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgUGF5bG9hZCBhbmQgZ2V0cyBwcmVzaWduZWQgdXJsIGZvciBmaWxlIHVwbG9hZCBvbiBmb3JtIHN1Ym1pc3Npb24uXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybVxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ3JlYXRlVGVuYW50Rm9ybVN1Ym1pdChmb3JtOiBGb3JtR3JvdXBbXSk6IHZvaWQge1xyXG4gICAgZm9ybVswXT8ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgaWYgKGZvcm1bMF0uc3RhdHVzID09PSBGb3JtU3RhdHVzLlZBTElEKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZCA9IHRoaXMuZ2V0Q3JlYXRlVGVuYW50UGF5bG9hZChcclxuICAgICAgICBmb3JtWzBdLmdldFJhd1ZhbHVlKClcclxuICAgICAgKTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCAmJlxyXG4gICAgICAgICghdGhpcy5pc0FwcExvZ29Nb2RpZmllZCB8fCAhdGhpcy5maWxlKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmVkaXRUZW5hbnQoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbGUpIHtcclxuICAgICAgICB0aGlzLmdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmwoXHJcbiAgICAgICAgICB0aGlzLmZpbGUsXHJcbiAgICAgICAgICBmb3JtWzBdPy5jb250cm9sc1snYXBwSWQnXT8udmFsdWVcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlVGVuYW50KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgdGVuYW50IG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVUZW5hbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmNyZWF0ZVRlbmFudCh0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBDcmVhdGVUZW5hbnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2Uuc2V0TmV3VGVuYW50SW5mbyhcclxuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQ/LnBheWxvYWRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgbW9kaWZpZWQgdGVuYW50IGluZm9ybWF0aW9uIG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBlZGl0VGVuYW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5lZGl0VGVuYW50KHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IENyZWF0ZVRlbmFudFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRUZW5hbnRCYXNpY0luZm8gPSB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQ/LnBheWxvYWQ7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mby5mZWF0dXJlcyA9XHJcbiAgICAgICAgICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEZlYXR1cmVzTGlzdCh0aGlzLmZlYXR1cmVzT3B0aW9ucyk7XHJcbiAgICAgICAgICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5zZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKFxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mbyBhcyBUZW5hbnRCYXNpY0luZm9cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQ29uc3RydWN0cyBjcmVhdGUgdGVuYW50IHBheWxvYWQgZnJvbSB0aGUgZm9ybSBkYXRhIGFuZCByZXR1cm5zLlxyXG4gICAqIEBwYXJhbSB7Kn0gZm9ybURhdGFcclxuICAgKiBAcmV0dXJuIHtDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZH1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldENyZWF0ZVRlbmFudFBheWxvYWQoZm9ybURhdGE6IGFueSk6IENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkIHtcclxuICAgIGNvbnN0IHBheWxvYWQ6IENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkID0ge1xyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgYXBwVGl0bGU6IGZvcm1EYXRhPy5hcHBUaXRsZSxcclxuICAgICAgICBhcHBJZDogZm9ybURhdGE/LmFwcElkLFxyXG4gICAgICAgIGFwcEhlYWRpbmc6IGZvcm1EYXRhPy5hcHBIZWFkaW5nLFxyXG4gICAgICAgIGFwcERlc2NyaXB0aW9uOiBmb3JtRGF0YT8uYXBwRGVzY3JpcHRpb24sXHJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBmb3JtRGF0YT8uYmFja2dyb3VuZENvbG9yLFxyXG4gICAgICAgIGFwcExvZ286IGZvcm1EYXRhPy5hcHBMb2dvLFxyXG4gICAgICAgIGFwcERvbWFpblVybDogZm9ybURhdGE/LmFwcERvbWFpblVybCxcclxuICAgICAgICBhcHBIZWxwTGluazogZm9ybURhdGE/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgIGFwcFR5cGU6IHRoaXMuc2VsZWN0ZWRBcHBUeXBlT3B0aW9uPy5pZCBhcyBzdHJpbmcsXHJcbiAgICAgICAgZmVhdHVyZXM6IHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRGZWF0dXJlSWRzKHRoaXMuZmVhdHVyZXNPcHRpb25zKSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICByZXR1cm4gcGF5bG9hZDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgY3JlYXRlIHRlbmFudCBmb3JtIGdyb3VwIHJlZmVyZW5jZSBhbmQgZGlzYWJsZXMgZGVmYXVsdCBmZWF0dXJlcy5cclxuICAgKiBAcGFyYW0ge0Zvcm1Hcm91cFtdfSBmb3JtXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZ2V0Q3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmKGZvcm06IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZiA9IGZvcm1bMF07XHJcbiAgICBjb25zdCBmZWF0dXJlc0Zvcm1BcnJheSA9IHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmPy5jb250cm9sc1tcclxuICAgICAgJ2ZlYXR1cmVzJ1xyXG4gICAgXSBhcyBGb3JtQXJyYXk7XHJcbiAgICB0aGlzLmZlYXR1cmVzT3B0aW9ucz8uZm9yRWFjaCgob3B0aW9uOiBDaGVja2JveE9wdGlvbiwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICBpZiAob3B0aW9uPy5kaXNhYmxlZCkge1xyXG4gICAgICAgIGZlYXR1cmVzRm9ybUFycmF5Py5hdChpbmRleCkuZGlzYWJsZSgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyBjcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYgb24gYWRkIG9yIGVkaXQgdGVuYW50IGZvcm0gY2hhbmdlIGV2ZW50LlxyXG4gICAqIEBwYXJhbSB7Rm9ybUdyb3VwW119IGZvcm1cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBvbkNyZWF0ZVRlbmFudEZvcm1DaGFuZ2UoZm9ybTogRm9ybUdyb3VwW10pOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmID0gZm9ybVswXTtcclxuICAgIHRoaXMuaXNBcHBMb2dvTW9kaWZpZWQgPVxyXG4gICAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZj8uY29udHJvbHNbJ2FwcExvZ28nXT8uZGlydHkgJiZcclxuICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtIGNhbmNlbCBldmVudC5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1DYW5jZWwoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1DYW5jZWwuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgc2VsZWN0ZWQgZmlsZSB3aGVuIHRoZSBmaWxlIGlzIGJyb3dzZWQgYW5kIG9uIGZvcm1GaWxlVXBsb2FkIGV2ZW50IGlzIHRyaWdnZXJlZC5cclxuICAgKiBAcGFyYW0ge0ZpbGUgfCBGaWxlTGlzdH0gZmlsZVxyXG4gICAqL1xyXG4gIG9uRm9ybUZpbGVVcGxvYWQoZmlsZTogRmlsZSB8IEZpbGVMaXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGUgPSBmaWxlO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBHZXRzIHByZS1zaWduZWQgVVJMIHRvIHVwbG9hZCB0aGUgc2VsZWN0ZWQgZmlsZSB0byBBV1MgUzMgYnVja2V0LlxyXG4gICAqIEBwYXJhbSB7RmlsZSB8IEZpbGVMaXN0fSBmaWxlXHJcbiAgICovXHJcbiAgZ2V0RmlsZVVwbG9hZFByZXNpZ25lZFVybChmaWxlOiBGaWxlIHwgRmlsZUxpc3QsIGFwcElkOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLmdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmwoZmlsZSwgYXBwSWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBGaWxlVXBsb2FkUHJlc2lnbmVkVXJsKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbGVVcGxvYWRQcmVzaWduZWRVcmwgPSByZXNwb25zZT8uYm9keTtcclxuICAgICAgICAgIGlmICh0aGlzLmZpbGVVcGxvYWRQcmVzaWduZWRVcmwpIHRoaXMudXBsb2FkRmlsZVRvUzMoZmlsZSk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSwgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uLCBuby1lbXB0eS1mdW5jdGlvblxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBsb2FkcyB0aGUgZmlsZSB0byBBV1MgUzMgYnVja2V0IGFuZCBzdWJtaXQgdGhlIGZvcm0gZGF0YSB0byBBUEkgdG8gY3JlYXRlIG5ldyB0ZW5hbnQuXHJcbiAgICogQHBhcmFtIHtGaWxlIHwgRmlsZUxpc3R9IGZpbGVcclxuICAgKi9cclxuICB1cGxvYWRGaWxlVG9TMyhmaWxlOiBGaWxlIHwgRmlsZUxpc3QpOiB2b2lkIHtcclxuICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2VcclxuICAgICAgLnVwbG9hZEZpbGVUb1MzKHRoaXMuZmlsZVVwbG9hZFByZXNpZ25lZFVybCwgZmlsZSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnNldEZpbGVVcGxvYWRTdGF0dXModHJ1ZSk7XHJcbiAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLWV4cHJlc3Npb25zXHJcbiAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgPyB0aGlzLmVkaXRUZW5hbnQoKVxyXG4gICAgICAgICAgICA6IHRoaXMuY3JlYXRlVGVuYW50KCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRGaWxlVXBsb2FkU3RhdHVzKGZhbHNlKTtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFRyaWdnZXJzIHdoZW4gdGhlIGNvbG9yIHBpY2tlciB2YWx1ZXMgaGFzIGJlZW4gY2hhbmdlZC5cclxuICAgKiBAcGFyYW0ge3N0cmluZ30gY29sb3JcclxuICAgKi9cclxuICBvbkNvbG9yUGlja2VyQ2hhbmdlKGNvbG9yOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRDb2xvciA9IGNvbG9yO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSByYWRpbyBvcHRpb24gaGFzIGJlZW4gY2hhbmdlZC5cclxuICAgKiBAcGFyYW0ge1JhZGlvT3B0aW9ufSByYWRpb09wdGlvblxyXG4gICAqL1xyXG4gIG9uUmFkaW9PcHRpb25TZWxlY3RlZChyYWRpb09wdGlvbjogUmFkaW9PcHRpb24pOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRBcHBUeXBlT3B0aW9uID0gcmFkaW9PcHRpb247XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25EZXN0cm95IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byB1bnN1YnNjcmliZSB0aGUgb3BlbiBvYnNlcnZhYmxlIHN1YnNjcmlwdGlvbnMuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxpZWVlc2EtZHluYW1pYy1mb3JtXHJcbiAgKm5nSWY9XCJjcmVhdGVUZW5hbnRGb3JtR3JvdXBcIlxyXG4gIGNsYXNzPVwiaWVlZXNhLWNyZWF0ZS10ZW5hbnQtZm9ybVwiXHJcbiAgW2xlZnRCdXR0b25MYWJlbF09XCJsZWZ0QnV0dG9uTGFiZWxcIlxyXG4gIFtyaWdodEJ1dHRvbkxhYmVsXT1cInJpZ2h0QnV0dG9uTGFiZWxcIlxyXG4gIFtpc0xlZ2VuZFZpc2libGVdPVwiZmFsc2VcIlxyXG4gIFtjb2xXaWR0aF09XCJjb2xXaWR0aFwiXHJcbiAgW2FjdGlvbkJ1dHRvbkFsaWduXT1cImFjdGlvbkJ1dHRvbkFsaWduXCJcclxuICBbZm9ybUdyb3Vwc109XCJjcmVhdGVUZW5hbnRGb3JtR3JvdXBcIlxyXG4gIFtpc0xlZnRCdXR0b25OZWVkZWRdPVwidHJ1ZVwiXHJcbiAgKGZvcm1TdWJtaXQpPVwib25DcmVhdGVUZW5hbnRGb3JtU3VibWl0KCRldmVudClcIlxyXG4gIChmb3JtQ2hhbmdlKT1cIm9uQ3JlYXRlVGVuYW50Rm9ybUNoYW5nZSgkZXZlbnQpXCJcclxuICAoZm9ybUxlZnRCdXR0b25DbGlja2VkKT1cIm9uRm9ybUNhbmNlbCgpXCJcclxuICAoZm9ybUdyb3Vwc1JlZmVyZW5jZSk9XCJnZXRDcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYoJGV2ZW50KVwiXHJcbiAgKGZvcm1GaWxlVXBsb2FkKT1cIm9uRm9ybUZpbGVVcGxvYWQoJGV2ZW50KVwiXHJcbiAgKGZvcm1Db2xvclBpY2tlckNoYW5nZSk9XCJvbkNvbG9yUGlja2VyQ2hhbmdlKCRldmVudClcIlxyXG4gIChmb3JtUmFkaW9PcHRpb25TZWxlY3RlZCk9XCJvblJhZGlvT3B0aW9uU2VsZWN0ZWQoJGV2ZW50KVwiXHJcbj48L2llZWVzYS1keW5hbWljLWZvcm0+XHJcbiJdfQ==
|
|
579
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90ZW5hbnRzL3NyYy9saWIvY29tcG9uZW50cy9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uL2NyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGVuYW50cy9zcmMvbGliL2NvbXBvbmVudHMvY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi9jcmVhdGUtdGVuYW50LWFwcGxpY2F0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsWUFBWSxFQUdaLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDTCxTQUFTLEVBR1QsZUFBZSxFQUNmLGdCQUFnQixFQUdoQixvQkFBb0IsRUFHcEIsb0JBQW9CLEdBQ3JCLE1BQU0sMEJBQTBCLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxLQUFLLFdBQVcsTUFBTSw2QkFBNkIsQ0FBQztBQUMzRCxPQUFPLEVBQXdCLFVBQVUsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sWUFBWSxDQUFDO0FBY2pELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOzs7Ozs7QUFnQjdFLE1BQU0s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QlUsZ0NBQWdDO21HQUFoQyxnQ0FBZ0MsbU9BV2hDLG9CQUFvQixnRENyRWpDLHd0RkFvREEsMjBpQkRDWSxZQUFZLGdRQUFFLG9CQUFvQixzbENBQUUsb0JBQW9COzs0RkFLdkQsZ0NBQWdDO2tCQVI1QyxTQUFTOytCQUNFLGtDQUFrQyxjQUNoQyxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsb0JBQW9CLENBQUMsaUJBR3BELGlCQUFpQixDQUFDLElBQUk7NEtBY3JDLG9CQUFvQjtzQkFEbkIsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBRXJCLGtCQUFrQjtzQkFBM0IsTUFBTTtnQkFDRyxVQUFVO3NCQUFuQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgRXZlbnRFbWl0dGVyLFxyXG4gIE9uRGVzdHJveSxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtcclxuICBBbGlnblR5cGUsXHJcbiAgQ2hlY2tib3hPcHRpb24sXHJcbiAgRm9ybUdyaWQsXHJcbiAgRm9ybUNvbnRyb2xUeXBlLFxyXG4gIEFsbG93ZWRGaWxlVHlwZXMsXHJcbiAgRmlsZVVwbG9hZFByZXNpZ25lZFVybCxcclxuICBSYWRpb09wdGlvbixcclxuICBEeW5hbWljRm9ybUNvbXBvbmVudCxcclxuICBGb3JtTW9kZWwsXHJcbiAgRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgU2xpZGVUb2dnbGVDb21wb25lbnQsXHJcbn0gZnJvbSAnQGllZWVzYS1ucG0vcHJlc2VudGF0aW9uJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIHNjcmVlblRleHRzIGZyb20gJy4uLy4uL2Fzc2V0cy9jb25zdGFudHMuanNvbic7XHJcbmltcG9ydCB7IEZvcm1BcnJheSwgRm9ybUdyb3VwLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zIH0gZnJvbSAnLi4vLi4vYXNzZXRzL3RlbmFudC12YWxpZGF0aW9ucyc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1TdGF0dXMgfSBmcm9tICdAaWVlZXNhLW5wbS9tb2RlbHMnO1xyXG5pbXBvcnQgeyB2YWxpZENvbG9yVmFsaWRhdG9yIH0gZnJvbSAnbmd4LWNvbG9ycyc7XHJcbmltcG9ydCB7IEZlYXR1cmVzLCBHZXRGZWF0dXJlc1Jlc3BvbnNlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2ZlYXR1cmVzLm1vZGVsJztcclxuaW1wb3J0IHsgVGVuYW50QXBwbGljYXRpb25zU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RlbmFudC1hcHBsaWNhdGlvbnMuc2VydmljZSc7XHJcbmltcG9ydCB7XHJcbiAgQXBwVHlwZUNvbmZpZyxcclxuICBHZXRBcHBUeXBlc1Jlc3BvbnNlLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy9hcHAtdHlwZS1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQge1xyXG4gIENyZWF0ZVRlbmFudFJlcXVlc3RQYXlsb2FkLFxyXG4gIENyZWF0ZVRlbmFudFJlc3BvbnNlLFxyXG4gIE5ld1RlbmFudEluZm8sXHJcbiAgVGVuYW50QmFzaWNJbmZvLFxyXG59IGZyb20gJy4uLy4uL21vZGVscy90ZW5hbnQubW9kZWwnO1xyXG5pbXBvcnQgeyBTaGFyZWRTZXJ2aWNlIH0gZnJvbSAnQGllZWVzYS1ucG0vc2hhcmVkJztcclxuaW1wb3J0IHsgVGVuYW50RnVuY3Rpb25UeXBlIH0gZnJvbSAnLi4vLi4vbW9kZWxzL3RlbmFudC1mdW5jdGlvbi10eXBlLm1vZGVsJztcclxuaW1wb3J0IHtcclxuICBSZXF1aXJlZFByb2ZpbGVGaWVsZE9wdGlvbixcclxuICBSZXF1aXJlZFByb2ZpbGVGaWVsZHNDb25maWd1cmF0aW9uLFxyXG4gIFJlcXVpcmVkUHJvZmlsZUZpZWxkc1Jlc3BvbnNlLFxyXG4gIFVwZGF0ZVJlcXVpcmVkUHJvZmlsZUZpZWxkc1BheWxvYWQsXHJcbn0gZnJvbSAnLi4vLi4vbW9kZWxzL3JlcXVpcmVkLXByb2ZpbGUtZmllbGRzLm1vZGVsJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWNyZWF0ZS10ZW5hbnQtYXBwbGljYXRpb24nLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHluYW1pY0Zvcm1Db21wb25lbnQsIFNsaWRlVG9nZ2xlQ29tcG9uZW50XSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY3JlYXRlLXRlbmFudC1hcHBsaWNhdGlvbi5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBkZXN0cm95JCA9IG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBjb25zdGFudHM6IGFueSA9IHNjcmVlblRleHRzO1xyXG4gIGNyZWF0ZVRlbmFudFRleHRzID0gdGhpcy5jb25zdGFudHM/LmNyZWF0ZVRlbmFudDtcclxuICBsZWZ0QnV0dG9uTGFiZWwgPSB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8ubGVmdEJ1dHRvbkxhYmVsO1xyXG4gIHJpZ2h0QnV0dG9uTGFiZWwgPSB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8ucmlnaHRCdXR0b25MYWJlbDtcclxuICBjb2xXaWR0aDogRm9ybUdyaWQgPSB7IHhzOiAxMiwgeGw6IDEyLCBzbTogMTIsIG1kOiAxMiwgbGc6IDEyIH07XHJcbiAgY3JlYXRlVGVuYW50Rm9ybUdyb3VwITogRm9ybU1vZGVsO1xyXG4gIGFjdGlvbkJ1dHRvbkFsaWduID0gQWxpZ25UeXBlLkxFRlQ7XHJcbiAgY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmITogRm9ybUdyb3VwO1xyXG4gIEBWaWV3Q2hpbGQoRHluYW1pY0Zvcm1Db21wb25lbnQpXHJcbiAgZHluYW1pY0Zvcm1Db21wb25lbnQhOiBEeW5hbWljRm9ybUNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgc3VibWl0Rm9ybVJlc3BvbnNlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ2FuY2VsID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIGZlYXR1cmVzT3B0aW9ucyE6IENoZWNrYm94T3B0aW9uW107XHJcbiAgYXBwVHlwZU9wdGlvbnMhOiBSYWRpb09wdGlvbltdO1xyXG4gIGNyZWF0ZVRlbmFudFBheWxvYWQhOiBDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZDtcclxuICBmaWxlVXBsb2FkUHJlc2lnbmVkVXJsITogc3RyaW5nO1xyXG4gIGZpbGVEb3dubG9hZFByZXNpZ25lZFVybCE6IHN0cmluZztcclxuICBmaWxlITogRmlsZSB8IEZpbGVMaXN0O1xyXG4gIGFsbG93ZWRGaWxlVHlwZXMgPSBbXHJcbiAgICBBbGxvd2VkRmlsZVR5cGVzLkpQRyxcclxuICAgIEFsbG93ZWRGaWxlVHlwZXMuUE5HLFxyXG4gICAgQWxsb3dlZEZpbGVUeXBlcy5TVkcsXHJcbiAgXTtcclxuICBzZWxlY3RlZENvbG9yITogc3RyaW5nO1xyXG4gIHNlbGVjdGVkQXBwVHlwZU9wdGlvbiE6IFJhZGlvT3B0aW9uO1xyXG4gIHRlbmFudEZ1bmN0aW9uVHlwZSE6IFRlbmFudEZ1bmN0aW9uVHlwZTtcclxuICB0ZW5hbnRGdW5jdGlvblR5cGVFbnVtID0gVGVuYW50RnVuY3Rpb25UeXBlO1xyXG4gIHNlbGVjdGVkVGVuYW50SW5mbyE6IFRlbmFudEJhc2ljSW5mbyB8IHVuZGVmaW5lZDtcclxuICBpc0FwcExvZ29Nb2RpZmllZCA9IGZhbHNlO1xyXG4gIHVwZGF0ZWRUZW5hbnRCYXNpY0luZm8hOiBOZXdUZW5hbnRJbmZvO1xyXG4gIHJlcXVpcmVkUHJvZmlsZUZpZWxkc0NvbmZpZ3VyYXRpb24/OiBSZXF1aXJlZFByb2ZpbGVGaWVsZHNDb25maWd1cmF0aW9uO1xyXG4gIHJlcXVpcmVkUHJvZmlsZUZpZWxkT3B0aW9uczogUmVxdWlyZWRQcm9maWxlRmllbGRPcHRpb25bXSA9IFtcclxuICAgIHsgZmllbGQ6ICdwaG9uZScsIGxhYmVsOiAnUGhvbmUgbnVtYmVyJywgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgIHsgZmllbGQ6ICdhZGRyZXNzJywgbGFiZWw6ICdBZGRyZXNzJywgZW5hYmxlZDogZmFsc2UgfSxcclxuICAgIHsgZmllbGQ6ICdlbXBsb3llcicsIGxhYmVsOiAnRW1wbG95ZXInLCBlbmFibGVkOiBmYWxzZSB9LFxyXG4gIF07XHJcbiAgcHJpdmF0ZSByZXF1aXJlZFByb2ZpbGVGaWVsZHNJbml0aWFsU3RhdGU6IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+ID0ge307XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHB1YmxpYyBmaWxlVXBsb2FkU2VydmljZTogRmlsZVVwbG9hZFNlcnZpY2UsXHJcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnNcclxuICAgIHByaXZhdGUgdGVuYW50QXBwU2VydmljZTogVGVuYW50QXBwbGljYXRpb25zU2VydmljZSxcclxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11bnVzZWQtdmFyc1xyXG4gICAgcHJpdmF0ZSBzaGFyZWRTZXJ2aWNlOiBTaGFyZWRTZXJ2aWNlIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eS1mdW5jdGlvblxyXG4gICkge31cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID0gdGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5nZXRUZW5hbnRGdW5jdGlvblR5cGUoKTtcclxuICAgIHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvID1cclxuICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5nZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKCk7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlLnNldEFwaUJhc2VVcmwodGhpcy50ZW5hbnRBcHBTZXJ2aWNlPy5hcGlCYXNlVXJsKTtcclxuICAgIHRoaXMuZ2V0RmVhdHVyZXMoKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0cyB0aGUgbGlzdCBvZiBmZWF0dXJlcyBhbmQgdXBkYXRlcyB0aGUgZm9ybSBjb250cm9sLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEZlYXR1cmVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5nZXRGZWF0dXJlcygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBHZXRGZWF0dXJlc1Jlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLmZlYXR1cmVzT3B0aW9ucyA9IHRoaXMudGVuYW50QXBwU2VydmljZS5nZXRGZWF0dXJlT3B0aW9ucyhcclxuICAgICAgICAgICAgICByZXNwb25zZT8uYm9keSBhcyBGZWF0dXJlc1tdXHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQpXHJcbiAgICAgICAgICAgICAgdGhpcy5mZWF0dXJlc09wdGlvbnM/LmZvckVhY2goKG9wdGlvbjogQ2hlY2tib3hPcHRpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmIChcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmZlYXR1cmVzPy5zb21lKFxyXG4gICAgICAgICAgICAgICAgICAgIChmZWF0dXJlOiBGZWF0dXJlcykgPT4gZmVhdHVyZT8uZmVhdHVyZUlkID09PSBvcHRpb24/LmlkXHJcbiAgICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgICAgICkge1xyXG4gICAgICAgICAgICAgICAgICBvcHRpb24uY2hlY2tlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIHRoaXMuZ2V0QXBwbGljYXRpb25UeXBlcygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIGFwcGxpY2F0aW9uL3RlbmFudCB0eXBlcyBhbmQgdXBkYXRlcyB0aGUgZm9ybSBjb250cm9sLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldEFwcGxpY2F0aW9uVHlwZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmdldEFwcGxpY2F0aW9uVHlwZXMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogR2V0QXBwVHlwZXNSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMpIHtcclxuICAgICAgICAgICAgdGhpcy5hcHBUeXBlT3B0aW9ucyA9XHJcbiAgICAgICAgICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEFwcGxpY2F0aW9uVHlwZU9wdGlvbnMoXHJcbiAgICAgICAgICAgICAgICByZXNwb25zZT8uYm9keSBhcyBBcHBUeXBlQ29uZmlnW11cclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAodGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5hcHBUeXBlT3B0aW9ucz8uZm9yRWFjaCgocmFkaW9PcHRpb246IFJhZGlvT3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICBpZiAocmFkaW9PcHRpb24/LmlkID09PSB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwVHlwZSkge1xyXG4gICAgICAgICAgICAgICAgICByYWRpb09wdGlvbi5jaGVja2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZEFwcFR5cGVPcHRpb24gPSByYWRpb09wdGlvbjtcclxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgIHJhZGlvT3B0aW9uLmNoZWNrZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmluaXRpYWxpemVDcmVhdGVUZW5hbnRGb3JtR3JvdXAoKTtcclxuICAgICAgICAgICAgaWYgKHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCkge1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0UmVxdWlyZWRQcm9maWxlRmllbGRzKCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBJbml0aWFsaXplIHRoZSBjcmVhdGUgdGVuYW50IGZvcm0gZ3JvdXAgYXJyYXkuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgaW5pdGlhbGl6ZUNyZWF0ZVRlbmFudEZvcm1Hcm91cCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlVGVuYW50Rm9ybUdyb3VwID0ge1xyXG4gICAgICBmb3JtR3JvdXA6IFtcclxuICAgICAgICB7XHJcbiAgICAgICAgICBsZWdlbmQ6ICcnLFxyXG4gICAgICAgICAgY29udHJvbHM6IFtcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFwcFRpdGxlICsgJyonLFxyXG4gICAgICAgICAgICAgIGNvbnRyb2xOYW1lOiAnYXBwVGl0bGUnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcFRpdGxlXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMubWF4TGVuZ3RoKFxyXG4gICAgICAgICAgICAgICAgICBUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcFRpdGxlTWF4TGVuZ3RoXHJcbiAgICAgICAgICAgICAgICApLFxyXG4gICAgICAgICAgICAgIF0sXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBUaXRsZSxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXQ/LmFwcFRpdGxlTWF4Q2hhcnMsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBUaXRsZSxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwVGl0bGUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuSU5QVVQsXHJcbiAgICAgICAgICAgICAgbGFiZWw6IGAke3RoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcHBJZH0ke1xyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUID8gJycgOiAnKidcclxuICAgICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcElkJyxcclxuICAgICAgICAgICAgICB2YWx1ZTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBJZFxyXG4gICAgICAgICAgICAgICAgICA6ICcnLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLm1heExlbmd0aChUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFwcElkTWF4TGVuZ3RoKSxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLmFscGhhTnVtZXJpYyksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElULFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gJydcclxuICAgICAgICAgICAgICAgICAgOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwSWQsXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgbWF4RXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5hcHBJZE1heENoYXJzLFxyXG4gICAgICAgICAgICAgIHBhdHRlcm5FcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucGF0dGVybj8uYXBwSWQsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBJZCxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uYXBwSWQsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGU/LkZJTEVfVVBMT0FELFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwTG9nbyArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcExvZ28nLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcExvZ29cclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJycsXHJcbiAgICAgICAgICAgICAgaXNGaWxlU2VsZWN0ZWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVQsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBMb2dvLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcExvZ28sXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcExvZ28sXHJcbiAgICAgICAgICAgICAgaXNNdWx0aUZpbGVVcGxvYWQ6IGZhbHNlLFxyXG4gICAgICAgICAgICAgIG1heFVwbG9hZEZpbGVTaXplOiAyLFxyXG4gICAgICAgICAgICAgIG1heEZpbGVTaXplRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LmxpbWl0Py5hcHBMb2dvTWF4U2l6ZSxcclxuICAgICAgICAgICAgICBhbGxvd2VkRmlsZVR5cGVFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8uaW52YWxpZEZpbGUsXHJcbiAgICAgICAgICAgICAgYWxsb3dlZEZpbGVUeXBlczogdGhpcy5hbGxvd2VkRmlsZVR5cGVzLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwSGVhZGluZyArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcEhlYWRpbmcnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcEhlYWRpbmdcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoXHJcbiAgICAgICAgICAgICAgICAgIFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwSGVhZGluZ01heExlbmd0aFxyXG4gICAgICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwSGVhZGluZyxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXRcclxuICAgICAgICAgICAgICAgICAgPy5hcHBIZWFkaW5nTWF4Q2hhcnMsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuPy5lbWFpbCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcEhlYWRpbmcsXHJcbiAgICAgICAgICAgICAgYXJpYURlc2NyaWJlZEJ5SWQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYURlc2NyaWJlZEJ5SWQ/LmFwcEhlYWRpbmcsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuVEVYVF9BUkVBLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwRGVzY3JpcHRpb24gKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBEZXNjcmlwdGlvbicsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwRGVzY3JpcHRpb25cclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5tYXhMZW5ndGgoXHJcbiAgICAgICAgICAgICAgICAgIFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMuYXBwRGVzY3JpcHRpb25NYXhMZW5ndGhcclxuICAgICAgICAgICAgICAgICksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBtYXhFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ubGltaXRcclxuICAgICAgICAgICAgICAgICAgPy5hcHBEZXNjcmlwdGlvbk1heENoYXJzLFxyXG4gICAgICAgICAgICAgIG1heENoYXJDb3VudDogVGVuYW50c1ZhbGlkYXRpb25QYXR0ZXJucy5hcHBEZXNjcmlwdGlvbk1heExlbmd0aCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBEZXNjcmlwdGlvbixcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZFxyXG4gICAgICAgICAgICAgICAgICA/LmFwcERlc2NyaXB0aW9uLFxyXG4gICAgICAgICAgICAgIGFyaWFNdWx0aWxpbmU6IHRydWUsXHJcbiAgICAgICAgICAgICAgaXNSZXNpemU6IHRydWUsXHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICB0eXBlOiBGb3JtQ29udHJvbFR5cGUuQ09MT1JfUElDS0VSLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwQmdDb2xvciArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2JhY2tncm91bmRDb2xvcicsXHJcbiAgICAgICAgICAgICAgdmFsdWU6ICcnLFxyXG4gICAgICAgICAgICAgIGRlZmF1bHRDb2xvcjpcclxuICAgICAgICAgICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVFxyXG4gICAgICAgICAgICAgICAgICA/IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5iYWNrZ3JvdW5kQ29sb3JcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBwbGFjZWhvbGRlcjogJycsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBCZ0NvbG9yLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkLCB2YWxpZENvbG9yVmFsaWRhdG9yKCldLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIGludmFsaWRDb2xvckVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5pbnZhbGlkQ29sb3IsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwQmdDb2xvcixcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LnN1cHBvcnRUZXh0Py5hcHBCZ0NvbG9yLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLklOUFVULFxyXG4gICAgICAgICAgICAgIGxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwSGVscExpbmsgKyAnKicsXHJcbiAgICAgICAgICAgICAgY29udHJvbE5hbWU6ICdhcHBIZWxwTGluaycsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwSGVscExpbmtcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbXHJcbiAgICAgICAgICAgICAgICBWYWxpZGF0b3JzLnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5wYXR0ZXJuKFRlbmFudHNWYWxpZGF0aW9uUGF0dGVybnMudXJsKSxcclxuICAgICAgICAgICAgICBdLFxyXG4gICAgICAgICAgICAgIHN1cHBvcnRNZXNzYWdlOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5zdXBwb3J0VGV4dD8uYXBwSGVscExpbmssXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgcGF0dGVybkVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5wYXR0ZXJuPy5hcHBIZWxwTGluayxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmFwcEhlbHBMaW5rLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBIZWxwTGluayxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5DSEVDS0JPWCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmZlYXR1cmVzTGlzdCArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2ZlYXR1cmVzJyxcclxuICAgICAgICAgICAgICBjaGVja2JveE9wdGlvbnM6IHRoaXMuZmVhdHVyZXNPcHRpb25zLFxyXG4gICAgICAgICAgICAgIG1pblNlbGVjdGlvblJlcXVpcmVkOiAxLFxyXG4gICAgICAgICAgICAgIGFyaWFMYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFMYWJlbD8uZmVhdHVyZXNMaXN0LFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5mZWF0dXJlc0xpc3QsXHJcbiAgICAgICAgICAgICAgc3VwcG9ydE1lc3NhZ2U6ICcnLFxyXG4gICAgICAgICAgICAgIHJlcXVpcmVkRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnJlcXVpcmVkLFxyXG4gICAgICAgICAgICAgIHZhbGlkYXRpb246IFtWYWxpZGF0b3JzLnJlcXVpcmVkXSxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgIHR5cGU6IEZvcm1Db250cm9sVHlwZS5JTlBVVCxcclxuICAgICAgICAgICAgICBsYWJlbDogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmRvbWFpblVSTCArICcqJyxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcERvbWFpblVybCcsXHJcbiAgICAgICAgICAgICAgdmFsdWU6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gVGVuYW50RnVuY3Rpb25UeXBlLkVESVRcclxuICAgICAgICAgICAgICAgICAgPyB0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwRG9tYWluVXJsXHJcbiAgICAgICAgICAgICAgICAgIDogJycsXHJcbiAgICAgICAgICAgICAgdmFsaWRhdGlvbjogW1xyXG4gICAgICAgICAgICAgICAgVmFsaWRhdG9ycy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICAgIFZhbGlkYXRvcnMucGF0dGVybihUZW5hbnRzVmFsaWRhdGlvblBhdHRlcm5zLnVybCksXHJcbiAgICAgICAgICAgICAgXSxcclxuICAgICAgICAgICAgICBzdXBwb3J0TWVzc2FnZTogdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uc3VwcG9ydFRleHQ/LmRvbWFpblVSTCxcclxuICAgICAgICAgICAgICByZXF1aXJlZEVycm9yTWVzc2FnZTpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/Lm1lc3NhZ2U/LmVycm9yPy5yZXF1aXJlZCxcclxuICAgICAgICAgICAgICBwYXR0ZXJuRXJyb3JNZXNzYWdlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubWVzc2FnZT8uZXJyb3I/LnBhdHRlcm4/LmFwcERvbWFpblVybCxcclxuICAgICAgICAgICAgICBhcmlhTGFiZWw6IHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhTGFiZWw/LmRvbWFpblVSTCxcclxuICAgICAgICAgICAgICBhcmlhRGVzY3JpYmVkQnlJZDpcclxuICAgICAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmxhYmVsPy5hcmlhRGVzY3JpYmVkQnlJZD8uZG9tYWluVVJMLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgdHlwZTogRm9ybUNvbnRyb2xUeXBlLlJBRElPLFxyXG4gICAgICAgICAgICAgIGxhYmVsOiBgJHt0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXBwVHlwZX0ke1xyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUID8gJycgOiAnKidcclxuICAgICAgICAgICAgICB9YCxcclxuICAgICAgICAgICAgICBjb250cm9sTmFtZTogJ2FwcFR5cGUnLFxyXG4gICAgICAgICAgICAgIHZhbHVlOlxyXG4gICAgICAgICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZFRlbmFudEluZm8/LmFwcFR5cGVcclxuICAgICAgICAgICAgICAgICAgOiAnJyxcclxuICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElULFxyXG4gICAgICAgICAgICAgIHJhZGlvT3B0aW9uczogdGhpcy5hcHBUeXBlT3B0aW9ucyxcclxuICAgICAgICAgICAgICB2YWxpZGF0aW9uOiBbVmFsaWRhdG9ycy5yZXF1aXJlZF0sXHJcbiAgICAgICAgICAgICAgcmVxdWlyZWRFcnJvck1lc3NhZ2U6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5tZXNzYWdlPy5lcnJvcj8ucmVxdWlyZWQsXHJcbiAgICAgICAgICAgICAgYXJpYUxhYmVsOiB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5sYWJlbD8uYXJpYUxhYmVsPy5hcHBUeXBlLFxyXG4gICAgICAgICAgICAgIGFyaWFEZXNjcmliZWRCeUlkOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8ubGFiZWw/LmFyaWFEZXNjcmliZWRCeUlkPy5hcHBUeXBlLFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgUGF5bG9hZCBhbmQgZ2V0cyBwcmVzaWduZWQgdXJsIGZvciBmaWxlIHVwbG9hZCBvbiBmb3JtIHN1Ym1pc3Npb24uXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybVxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uQ3JlYXRlVGVuYW50Rm9ybVN1Ym1pdChmb3JtOiBGb3JtR3JvdXBbXSk6IHZvaWQge1xyXG4gICAgZm9ybVswXT8ubWFya0FsbEFzVG91Y2hlZCgpO1xyXG4gICAgaWYgKGZvcm1bMF0uc3RhdHVzID09PSBGb3JtU3RhdHVzLlZBTElEKSB7XHJcbiAgICAgIHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZCA9IHRoaXMuZ2V0Q3JlYXRlVGVuYW50UGF5bG9hZChcclxuICAgICAgICBmb3JtWzBdLmdldFJhd1ZhbHVlKClcclxuICAgICAgKTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVCAmJlxyXG4gICAgICAgICghdGhpcy5pc0FwcExvZ29Nb2RpZmllZCB8fCAhdGhpcy5maWxlKVxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLmVkaXRUZW5hbnQoKTtcclxuICAgICAgfSBlbHNlIGlmICh0aGlzLmZpbGUpIHtcclxuICAgICAgICB0aGlzLmdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmwoXHJcbiAgICAgICAgICB0aGlzLmZpbGUsXHJcbiAgICAgICAgICBmb3JtWzBdPy5jb250cm9sc1snYXBwSWQnXT8udmFsdWVcclxuICAgICAgICApO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuY3JlYXRlVGVuYW50KCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgYSBuZXcgdGVuYW50IG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVUZW5hbnQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmNyZWF0ZVRlbmFudCh0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlc3BvbnNlOiBDcmVhdGVUZW5hbnRSZXNwb25zZSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlLnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2Uuc2V0TmV3VGVuYW50SW5mbyhcclxuICAgICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQ/LnBheWxvYWRcclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy5zdWJtaXRGb3JtUmVzcG9uc2UuZW1pdChyZXNwb25zZSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhcclxuICAgICAgICAgICAgZXJyb3IsXHJcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9yc1xyXG4gICAgICAgICAgKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVXBkYXRlcyB0aGUgbW9kaWZpZWQgdGVuYW50IGluZm9ybWF0aW9uIG9uIGZvcm0gc3VibWlzc2lvbi5cclxuICAgKiBAbWVtYmVyb2YgQ3JlYXRlVGVuYW50QXBwbGljYXRpb25Db21wb25lbnRcclxuICAgKi9cclxuICBlZGl0VGVuYW50KCk6IHZvaWQge1xyXG4gICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlXHJcbiAgICAgIC5lZGl0VGVuYW50KHRoaXMuY3JlYXRlVGVuYW50UGF5bG9hZClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IENyZWF0ZVRlbmFudFJlc3BvbnNlKSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZWRUZW5hbnRCYXNpY0luZm8gPSB0aGlzLmNyZWF0ZVRlbmFudFBheWxvYWQ/LnBheWxvYWQ7XHJcbiAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mby5mZWF0dXJlcyA9XHJcbiAgICAgICAgICAgICAgdGhpcy50ZW5hbnRBcHBTZXJ2aWNlLmdldEZlYXR1cmVzTGlzdCh0aGlzLmZlYXR1cmVzT3B0aW9ucyk7XHJcbiAgICAgICAgICAgIHRoaXMudGVuYW50QXBwU2VydmljZS5zZXRTZWxlY3RlZFRlbmFudEluZm9ybWF0aW9uKFxyXG4gICAgICAgICAgICAgIHRoaXMudXBkYXRlZFRlbmFudEJhc2ljSW5mbyBhcyBUZW5hbnRCYXNpY0luZm9cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVSZXF1aXJlZFByb2ZpbGVGaWVsZHMocmVzcG9uc2UpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRSZXF1aXJlZFByb2ZpbGVGaWVsZHMoKTogdm9pZCB7XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLmdldFJlcXVpcmVkUHJvZmlsZUZpZWxkcyh0aGlzLnNlbGVjdGVkVGVuYW50SW5mbz8uYXBwSWQgYXMgc3RyaW5nKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogUmVxdWlyZWRQcm9maWxlRmllbGRzUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGNvbnN0IGNvbmZpZ3VyYXRpb24gPSByZXNwb25zZT8uYm9keT8uWzBdO1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlPy5zdGF0dXMgJiYgY29uZmlndXJhdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLnJlcXVpcmVkUHJvZmlsZUZpZWxkc0NvbmZpZ3VyYXRpb24gPSBjb25maWd1cmF0aW9uO1xyXG4gICAgICAgICAgICBjb25zdCByZXF1aXJlZEZpZWxkcyA9IGNvbmZpZ3VyYXRpb24uY29uZmlnRmllbGRWYWx1ZT8ucmVxdWlyZWRGaWVsZHMgPz8gW107XHJcbiAgICAgICAgICAgIHRoaXMucmVxdWlyZWRQcm9maWxlRmllbGRPcHRpb25zID0gdGhpcy5yZXF1aXJlZFByb2ZpbGVGaWVsZE9wdGlvbnMubWFwKFxyXG4gICAgICAgICAgICAgIChvcHRpb24pID0+ICh7IC4uLm9wdGlvbiwgZW5hYmxlZDogcmVxdWlyZWRGaWVsZHMuaW5jbHVkZXMob3B0aW9uLmZpZWxkKSB9KVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVSZXF1aXJlZFByb2ZpbGVGaWVsZHNTdGF0ZSgpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnJvcjogdW5rbm93bikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5zaGFyZWRTZXJ2aWNlLmhhbmRsZUVycm9ycyhlcnJvciwgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FwdHVyZVJlcXVpcmVkUHJvZmlsZUZpZWxkc1N0YXRlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5yZXF1aXJlZFByb2ZpbGVGaWVsZHNJbml0aWFsU3RhdGUgPSB0aGlzLnJlcXVpcmVkUHJvZmlsZUZpZWxkT3B0aW9ucy5yZWR1Y2UoXHJcbiAgICAgIChzdGF0ZSwgb3B0aW9uKSA9PiAoeyAuLi5zdGF0ZSwgW29wdGlvbi5maWVsZF06IG9wdGlvbi5lbmFibGVkIH0pLFxyXG4gICAgICB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaGFzUmVxdWlyZWRQcm9maWxlRmllbGRzQ2hhbmdlcygpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLnJlcXVpcmVkUHJvZmlsZUZpZWxkT3B0aW9ucy5zb21lKFxyXG4gICAgICAob3B0aW9uKSA9PiBvcHRpb24uZW5hYmxlZCAhPT0gdGhpcy5yZXF1aXJlZFByb2ZpbGVGaWVsZHNJbml0aWFsU3RhdGVbb3B0aW9uLmZpZWxkXVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlUmVxdWlyZWRQcm9maWxlRmllbGRzKHJlc3BvbnNlOiBDcmVhdGVUZW5hbnRSZXNwb25zZSk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLnJlcXVpcmVkUHJvZmlsZUZpZWxkc0NvbmZpZ3VyYXRpb24gfHwgIXRoaXMuaGFzUmVxdWlyZWRQcm9maWxlRmllbGRzQ2hhbmdlcygpKSB7XHJcbiAgICAgIHRoaXMuc3VibWl0Rm9ybVJlc3BvbnNlLmVtaXQocmVzcG9uc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXlsb2FkOiBVcGRhdGVSZXF1aXJlZFByb2ZpbGVGaWVsZHNQYXlsb2FkID0ge1xyXG4gICAgICBwYXlsb2FkOiB7XHJcbiAgICAgICAgYXBwSWQ6IHRoaXMuc2VsZWN0ZWRUZW5hbnRJbmZvPy5hcHBJZCBhcyBzdHJpbmcsXHJcbiAgICAgICAgY29uZmlnRmllbGROYW1lOiAncmVxdWlyZWRfcHJvZmlsZV9maWVsZHMnLFxyXG4gICAgICAgIGNvbmZpZ0ZpZWxkSWQ6IHRoaXMucmVxdWlyZWRQcm9maWxlRmllbGRzQ29uZmlndXJhdGlvbi5jb25maWdGaWVsZElkLFxyXG4gICAgICAgIGNvbmZpZ0ZpZWxkVmFsdWU6IHtcclxuICAgICAgICAgIHJlcXVpcmVkRmllbGRzOiB0aGlzLnJlcXVpcmVkUHJvZmlsZUZpZWxkT3B0aW9uc1xyXG4gICAgICAgICAgICAuZmlsdGVyKChvcHRpb24pID0+IG9wdGlvbi5lbmFibGVkKVxyXG4gICAgICAgICAgICAubWFwKChvcHRpb24pID0+IG9wdGlvbi5maWVsZCksXHJcbiAgICAgICAgfSxcclxuICAgICAgfSxcclxuICAgIH07XHJcbiAgICB0aGlzLnRlbmFudEFwcFNlcnZpY2VcclxuICAgICAgLnVwZGF0ZVJlcXVpcmVkUHJvZmlsZUZpZWxkcyhwYXlsb2FkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChjb25maWd1cmF0aW9uUmVzcG9uc2UpID0+IHtcclxuICAgICAgICAgIGlmIChjb25maWd1cmF0aW9uUmVzcG9uc2U/LnN0YXR1cykge1xyXG4gICAgICAgICAgICB0aGlzLmNhcHR1cmVSZXF1aXJlZFByb2ZpbGVGaWVsZHNTdGF0ZSgpO1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdEZvcm1SZXNwb25zZS5lbWl0KHJlc3BvbnNlKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyb3I6IHVua25vd24pID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoZXJyb3IsIHRoaXMuY3JlYXRlVGVuYW50VGV4dHM/LmVycm9ycyk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENvbnN0cnVjdHMgY3JlYXRlIHRlbmFudCBwYXlsb2FkIGZyb20gdGhlIGZvcm0gZGF0YSBhbmQgcmV0dXJucy5cclxuICAgKiBAcGFyYW0geyp9IGZvcm1EYXRhXHJcbiAgICogQHJldHVybiB7Q3JlYXRlVGVuYW50UmVxdWVzdFBheWxvYWR9XHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXRDcmVhdGVUZW5hbnRQYXlsb2FkKGZvcm1EYXRhOiBhbnkpOiBDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZCB7XHJcbiAgICBjb25zdCBwYXlsb2FkOiBDcmVhdGVUZW5hbnRSZXF1ZXN0UGF5bG9hZCA9IHtcclxuICAgICAgcGF5bG9hZDoge1xyXG4gICAgICAgIGFwcFRpdGxlOiBmb3JtRGF0YT8uYXBwVGl0bGUsXHJcbiAgICAgICAgYXBwSWQ6IGZvcm1EYXRhPy5hcHBJZCxcclxuICAgICAgICBhcHBIZWFkaW5nOiBmb3JtRGF0YT8uYXBwSGVhZGluZyxcclxuICAgICAgICBhcHBEZXNjcmlwdGlvbjogZm9ybURhdGE/LmFwcERlc2NyaXB0aW9uLFxyXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogZm9ybURhdGE/LmJhY2tncm91bmRDb2xvcixcclxuICAgICAgICBhcHBMb2dvOiBmb3JtRGF0YT8uYXBwTG9nbyxcclxuICAgICAgICBhcHBEb21haW5Vcmw6IGZvcm1EYXRhPy5hcHBEb21haW5VcmwsXHJcbiAgICAgICAgYXBwSGVscExpbms6IGZvcm1EYXRhPy5hcHBIZWxwTGluayxcclxuICAgICAgICBhcHBUeXBlOiB0aGlzLnNlbGVjdGVkQXBwVHlwZU9wdGlvbj8uaWQgYXMgc3RyaW5nLFxyXG4gICAgICAgIGZlYXR1cmVzOiB0aGlzLnRlbmFudEFwcFNlcnZpY2UuZ2V0RmVhdHVyZUlkcyh0aGlzLmZlYXR1cmVzT3B0aW9ucyksXHJcbiAgICAgIH0sXHJcbiAgICB9O1xyXG4gICAgcmV0dXJuIHBheWxvYWQ7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBHZXRzIGNyZWF0ZSB0ZW5hbnQgZm9ybSBncm91cCByZWZlcmVuY2UgYW5kIGRpc2FibGVzIGRlZmF1bHQgZmVhdHVyZXMuXHJcbiAgICogQHBhcmFtIHtGb3JtR3JvdXBbXX0gZm9ybVxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIGdldENyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZihmb3JtOiBGb3JtR3JvdXBbXSk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWYgPSBmb3JtWzBdO1xyXG4gICAgY29uc3QgZmVhdHVyZXNGb3JtQXJyYXkgPSB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZj8uY29udHJvbHNbXHJcbiAgICAgICdmZWF0dXJlcydcclxuICAgIF0gYXMgRm9ybUFycmF5O1xyXG4gICAgdGhpcy5mZWF0dXJlc09wdGlvbnM/LmZvckVhY2goKG9wdGlvbjogQ2hlY2tib3hPcHRpb24sIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgaWYgKG9wdGlvbj8uZGlzYWJsZWQpIHtcclxuICAgICAgICBmZWF0dXJlc0Zvcm1BcnJheT8uYXQoaW5kZXgpLmRpc2FibGUoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwZGF0ZXMgY3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmIG9uIGFkZCBvciBlZGl0IHRlbmFudCBmb3JtIGNoYW5nZSBldmVudC5cclxuICAgKiBAcGFyYW0ge0Zvcm1Hcm91cFtdfSBmb3JtXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25DcmVhdGVUZW5hbnRGb3JtQ2hhbmdlKGZvcm06IEZvcm1Hcm91cFtdKTogdm9pZCB7XHJcbiAgICB0aGlzLmNyZWF0ZVRlbmFudEZvcm1Hcm91cFJlZiA9IGZvcm1bMF07XHJcbiAgICB0aGlzLmlzQXBwTG9nb01vZGlmaWVkID1cclxuICAgICAgdGhpcy5jcmVhdGVUZW5hbnRGb3JtR3JvdXBSZWY/LmNvbnRyb2xzWydhcHBMb2dvJ10/LmRpcnR5ICYmXHJcbiAgICAgIHRoaXMudGVuYW50RnVuY3Rpb25UeXBlID09PSBUZW5hbnRGdW5jdGlvblR5cGUuRURJVDtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogRW1pdHMgZm9ybSBjYW5jZWwgZXZlbnQuXHJcbiAgICogQG1lbWJlcm9mIENyZWF0ZVRlbmFudEFwcGxpY2F0aW9uQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25Gb3JtQ2FuY2VsKCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ2FuY2VsLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEdldHMgdGhlIHNlbGVjdGVkIGZpbGUgd2hlbiB0aGUgZmlsZSBpcyBicm93c2VkIGFuZCBvbiBmb3JtRmlsZVVwbG9hZCBldmVudCBpcyB0cmlnZ2VyZWQuXHJcbiAgICogQHBhcmFtIHtGaWxlIHwgRmlsZUxpc3R9IGZpbGVcclxuICAgKi9cclxuICBvbkZvcm1GaWxlVXBsb2FkKGZpbGU6IEZpbGUgfCBGaWxlTGlzdCk6IHZvaWQge1xyXG4gICAgdGhpcy5maWxlID0gZmlsZTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogR2V0cyBwcmUtc2lnbmVkIFVSTCB0byB1cGxvYWQgdGhlIHNlbGVjdGVkIGZpbGUgdG8gQVdTIFMzIGJ1Y2tldC5cclxuICAgKiBAcGFyYW0ge0ZpbGUgfCBGaWxlTGlzdH0gZmlsZVxyXG4gICAqL1xyXG4gIGdldEZpbGVVcGxvYWRQcmVzaWduZWRVcmwoZmlsZTogRmlsZSB8IEZpbGVMaXN0LCBhcHBJZDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICAgIC5nZXRGaWxlVXBsb2FkUHJlc2lnbmVkVXJsKGZpbGUsIGFwcElkKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXNwb25zZTogRmlsZVVwbG9hZFByZXNpZ25lZFVybCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlVXBsb2FkUHJlc2lnbmVkVXJsID0gcmVzcG9uc2U/LmJvZHk7XHJcbiAgICAgICAgICBpZiAodGhpcy5maWxlVXBsb2FkUHJlc2lnbmVkVXJsKSB0aGlzLnVwbG9hZEZpbGVUb1MzKGZpbGUpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnksIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiwgbm8tZW1wdHktZnVuY3Rpb25cclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuc2hhcmVkU2VydmljZS5oYW5kbGVFcnJvcnMoXHJcbiAgICAgICAgICAgIGVycm9yLFxyXG4gICAgICAgICAgICB0aGlzLmNyZWF0ZVRlbmFudFRleHRzPy5lcnJvcnNcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIFVwbG9hZHMgdGhlIGZpbGUgdG8gQVdTIFMzIGJ1Y2tldCBhbmQgc3VibWl0IHRoZSBmb3JtIGRhdGEgdG8gQVBJIHRvIGNyZWF0ZSBuZXcgdGVuYW50LlxyXG4gICAqIEBwYXJhbSB7RmlsZSB8IEZpbGVMaXN0fSBmaWxlXHJcbiAgICovXHJcbiAgdXBsb2FkRmlsZVRvUzMoZmlsZTogRmlsZSB8IEZpbGVMaXN0KTogdm9pZCB7XHJcbiAgICB0aGlzLmZpbGVVcGxvYWRTZXJ2aWNlXHJcbiAgICAgIC51cGxvYWRGaWxlVG9TMyh0aGlzLmZpbGVVcGxvYWRQcmVzaWduZWRVcmwsIGZpbGUpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBuZXh0OiAocmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5maWxlVXBsb2FkU2VydmljZS5zZXRGaWxlVXBsb2FkU3RhdHVzKHRydWUpO1xyXG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC1leHByZXNzaW9uc1xyXG4gICAgICAgICAgdGhpcy50ZW5hbnRGdW5jdGlvblR5cGUgPT09IFRlbmFudEZ1bmN0aW9uVHlwZS5FRElUXHJcbiAgICAgICAgICAgID8gdGhpcy5lZGl0VGVuYW50KClcclxuICAgICAgICAgICAgOiB0aGlzLmNyZWF0ZVRlbmFudCgpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVudXNlZC12YXJzLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMsIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICAgICAgICBlcnJvcjogKGVycm9yOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZmlsZVVwbG9hZFNlcnZpY2Uuc2V0RmlsZVVwbG9hZFN0YXR1cyhmYWxzZSk7XHJcbiAgICAgICAgICB0aGlzLnNoYXJlZFNlcnZpY2UuaGFuZGxlRXJyb3JzKFxyXG4gICAgICAgICAgICBlcnJvcixcclxuICAgICAgICAgICAgdGhpcy5jcmVhdGVUZW5hbnRUZXh0cz8uZXJyb3JzXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBUcmlnZ2VycyB3aGVuIHRoZSBjb2xvciBwaWNrZXIgdmFsdWVzIGhhcyBiZWVuIGNoYW5nZWQuXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbG9yXHJcbiAgICovXHJcbiAgb25Db2xvclBpY2tlckNoYW5nZShjb2xvcjogc3RyaW5nKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQ29sb3IgPSBjb2xvcjtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogVHJpZ2dlcnMgd2hlbiB0aGUgcmFkaW8gb3B0aW9uIGhhcyBiZWVuIGNoYW5nZWQuXHJcbiAgICogQHBhcmFtIHtSYWRpb09wdGlvbn0gcmFkaW9PcHRpb25cclxuICAgKi9cclxuICBvblJhZGlvT3B0aW9uU2VsZWN0ZWQocmFkaW9PcHRpb246IFJhZGlvT3B0aW9uKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkQXBwVHlwZU9wdGlvbiA9IHJhZGlvT3B0aW9uO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBJbXBsZW1lbnRhdGlvbiBvZiBuZ09uRGVzdHJveSBsaWZlY3ljbGUgaG9vayBtZXRob2QgdG8gdW5zdWJzY3JpYmUgdGhlIG9wZW4gb2JzZXJ2YWJsZSBzdWJzY3JpcHRpb25zLlxyXG4gICAqIEBtZW1iZXJvZiBDcmVhdGVUZW5hbnRBcHBsaWNhdGlvbkNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8aWVlZXNhLWR5bmFtaWMtZm9ybVxyXG4gICpuZ0lmPVwiY3JlYXRlVGVuYW50Rm9ybUdyb3VwXCJcclxuICBjbGFzcz1cImllZWVzYS1jcmVhdGUtdGVuYW50LWZvcm1cIlxyXG4gIFtsZWZ0QnV0dG9uTGFiZWxdPVwibGVmdEJ1dHRvbkxhYmVsXCJcclxuICBbcmlnaHRCdXR0b25MYWJlbF09XCJyaWdodEJ1dHRvbkxhYmVsXCJcclxuICBbaXNMZWdlbmRWaXNpYmxlXT1cImZhbHNlXCJcclxuICBbY29sV2lkdGhdPVwiY29sV2lkdGhcIlxyXG4gIFthY3Rpb25CdXR0b25BbGlnbl09XCJhY3Rpb25CdXR0b25BbGlnblwiXHJcbiAgW2Zvcm1Hcm91cHNdPVwiY3JlYXRlVGVuYW50Rm9ybUdyb3VwXCJcclxuICBwcm9qZWN0ZWRDb250ZW50QWZ0ZXJDb250cm9sTmFtZT1cImZlYXR1cmVzXCJcclxuICBbaXNMZWZ0QnV0dG9uTmVlZGVkXT1cInRydWVcIlxyXG4gIChmb3JtU3VibWl0KT1cIm9uQ3JlYXRlVGVuYW50Rm9ybVN1Ym1pdCgkZXZlbnQpXCJcclxuICAoZm9ybUNoYW5nZSk9XCJvbkNyZWF0ZVRlbmFudEZvcm1DaGFuZ2UoJGV2ZW50KVwiXHJcbiAgKGZvcm1MZWZ0QnV0dG9uQ2xpY2tlZCk9XCJvbkZvcm1DYW5jZWwoKVwiXHJcbiAgKGZvcm1Hcm91cHNSZWZlcmVuY2UpPVwiZ2V0Q3JlYXRlVGVuYW50Rm9ybUdyb3VwUmVmKCRldmVudClcIlxyXG4gIChmb3JtRmlsZVVwbG9hZCk9XCJvbkZvcm1GaWxlVXBsb2FkKCRldmVudClcIlxyXG4gIChmb3JtQ29sb3JQaWNrZXJDaGFuZ2UpPVwib25Db2xvclBpY2tlckNoYW5nZSgkZXZlbnQpXCJcclxuICAoZm9ybVJhZGlvT3B0aW9uU2VsZWN0ZWQpPVwib25SYWRpb09wdGlvblNlbGVjdGVkKCRldmVudClcIlxyXG4+XHJcbiAgPHAgY2xhc3M9XCJjcmVhdGUtdGVuYW50LXJlcXVpcmVkLXByb2ZpbGUtZmllbGRzLXRpdGxlXCIgYWZ0ZXJDb250cm9sPlxyXG4gICAgUmVxdWlyZWQgUHJvZmlsZSBGaWVsZHNcclxuICA8L3A+XHJcbiAgPHNlY3Rpb25cclxuICBhZnRlckNvbnRyb2xcclxuICAqbmdJZj1cInRlbmFudEZ1bmN0aW9uVHlwZSA9PT0gdGVuYW50RnVuY3Rpb25UeXBlRW51bS5FRElUXCJcclxuICBjbGFzcz1cImNyZWF0ZS10ZW5hbnQtcmVxdWlyZWQtcHJvZmlsZS1maWVsZHNcIlxyXG4+XHJcbiAgPGRpdiBjbGFzcz1cImNyZWF0ZS10ZW5hbnQtcmVxdWlyZWQtcHJvZmlsZS1maWVsZHNfX2xpc3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjcmVhdGUtdGVuYW50LXJlcXVpcmVkLXByb2ZpbGUtZmllbGRzX19vcHRpb24gY3JlYXRlLXRlbmFudC1yZXF1aXJlZC1wcm9maWxlLWZpZWxkc19fb3B0aW9uLS1maXhlZFwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNyZWF0ZS10ZW5hbnQtcmVxdWlyZWQtcHJvZmlsZS1maWVsZHNfX2xhYmVsXCI+TmFtZTwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjcmVhdGUtdGVuYW50LXJlcXVpcmVkLXByb2ZpbGUtZmllbGRzX19zd2l0Y2ggY3JlYXRlLXRlbmFudC1yZXF1aXJlZC1wcm9maWxlLWZpZWxkc19fc3dpdGNoLS1vblwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPjwvc3Bhbj5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjcmVhdGUtdGVuYW50LXJlcXVpcmVkLXByb2ZpbGUtZmllbGRzX19zdGF0dXNcIj5NYW5kYXRvcnk8L3NwYW4+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjcmVhdGUtdGVuYW50LXJlcXVpcmVkLXByb2ZpbGUtZmllbGRzX19vcHRpb24gY3JlYXRlLXRlbmFudC1yZXF1aXJlZC1wcm9maWxlLWZpZWxkc19fb3B0aW9uLS1maXhlZFwiPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNyZWF0ZS10ZW5hbnQtcmVxdWlyZWQtcHJvZmlsZS1maWVsZHNfX2xhYmVsXCI+RW1haWwgSUQ8L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY3JlYXRlLXRlbmFudC1yZXF1aXJlZC1wcm9maWxlLWZpZWxkc19fc3dpdGNoIGNyZWF0ZS10ZW5hbnQtcmVxdWlyZWQtcHJvZmlsZS1maWVsZHNfX3N3aXRjaC0tb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIj48L3NwYW4+XHJcbiAgICAgIDxzcGFuIGNsYXNzPVwiY3JlYXRlLXRlbmFudC1yZXF1aXJlZC1wcm9maWxlLWZpZWxkc19fc3RhdHVzXCI+TWFuZGF0b3J5PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGNsYXNzPVwiY3JlYXRlLXRlbmFudC1yZXF1aXJlZC1wcm9maWxlLWZpZWxkc19fb3B0aW9uXCJcclxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiByZXF1aXJlZFByb2ZpbGVGaWVsZE9wdGlvbnNcIlxyXG4gICAgPlxyXG4gICAgICA8c3BhbiBjbGFzcz1cImNyZWF0ZS10ZW5hbnQtcmVxdWlyZWQtcHJvZmlsZS1maWVsZHNfX2xhYmVsXCI+e3sgb3B0aW9uLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICA8aWVlZXNhLXNsaWRlLXRvZ2dsZVxyXG4gICAgICAgIFtzbGlkZVRvZ2dsZV09XCJ7IGlkOiBvcHRpb24uZmllbGQsIGxhYmVsOiAnJywgY2hlY2tlZDogb3B0aW9uLmVuYWJsZWQsIGFyaWFMYWJlbDogb3B0aW9uLmxhYmVsIH1cIlxyXG4gICAgICAgIChzbGlkZVRvZ2dsZUNoYW5nZSk9XCJvcHRpb24uZW5hYmxlZCA9ICRldmVudC5jaGVja2VkXCJcclxuICAgICAgPjwvaWVlZXNhLXNsaWRlLXRvZ2dsZT5cclxuICAgICAgPHNwYW4gY2xhc3M9XCJjcmVhdGUtdGVuYW50LXJlcXVpcmVkLXByb2ZpbGUtZmllbGRzX19zdGF0dXNcIj57eyBvcHRpb24uZW5hYmxlZCA/ICdNYW5kYXRvcnknIDogJ05vbi1tYW5kYXRvcnknIH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPC9zZWN0aW9uPlxyXG48L2llZWVzYS1keW5hbWljLWZvcm0+XHJcbiJdfQ==
|