@ieeesa-npm/presentation 0.1.7 → 0.1.9
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.
|
@@ -4,7 +4,7 @@ import { CommonModule } from '@angular/common';
|
|
|
4
4
|
import { MatButtonModule } from '@angular/material/button';
|
|
5
5
|
import { DynamicFormFieldDirective } from '../../directives/dynamic-form-field/dynamic-form-field.directive';
|
|
6
6
|
import { AlignmentType } from '../../models/alignment-types.model';
|
|
7
|
-
import { FocusInvalidFormFieldDirective } from '
|
|
7
|
+
import { FocusInvalidFormFieldDirective } from '../../directives/dynamic-form-field/focus-invalid-form-field.directive';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
import * as i1 from "@angular/forms";
|
|
10
10
|
import * as i2 from "@angular/common";
|
|
@@ -257,7 +257,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
257
257
|
ReactiveFormsModule,
|
|
258
258
|
DynamicFormFieldDirective,
|
|
259
259
|
MatButtonModule,
|
|
260
|
-
FocusInvalidFormFieldDirective
|
|
260
|
+
FocusInvalidFormFieldDirective,
|
|
261
261
|
], template: "<form\r\n class=\"ieeesa-dynamic-form\"\r\n [formGroup]=\"form\"\r\n (change)=\"onFormChange()\"\r\n (ngSubmit)=\"onFormSubmit()\"\r\n (input)=\"formInputChange($event)\"\r\n ieeesaFocusInvalidFormField\r\n>\r\n <fieldset\r\n class=\"ieeesa-dynamic-form__fieldset\"\r\n *ngFor=\"\r\n let formGrp of formGroupArray;\r\n let i = index;\r\n trackBy: trackByFormGroup\r\n \"\r\n >\r\n <legend class=\"float-none w-auto p-2\" *ngIf=\"isLegendVisible\">\r\n {{ legendsArray[i] }}:\r\n </legend>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-{{ colWidth.xs }} col-sm-{{ colWidth.sm }} col-md-{{\r\n colWidth.md\r\n }} col-lg-{{ colWidth.lg }} col-xl-{{ colWidth.xl }}\r\n ieeesa-dynamic-form__form-field\"\r\n [ngClass]=\"getRowClassName(formControlArray[i][j].controlName)\"\r\n *ngFor=\"let control of formControlArray[i]; let j = index\"\r\n >\r\n <ng-template\r\n ieeesaDynamicFormField\r\n [config]=\"formControlArray[i][j]\"\r\n [group]=\"formGrp\"\r\n [submitResponse]=\"submitResponse\"\r\n [searchResponse]=\"searchResponse\"\r\n (formSearchApply)=\"onSearchApply($event)\"\r\n (formDropdownSelected)=\"onFormChange(); onDropdownChange()\"\r\n (formDateSelected)=\"onDateSelected($event)\"\r\n (formSelectedDateRange)=\"onSelectedDateRange($event)\"\r\n (formSelectSearch)=\"onSelectSearch($event)\"\r\n (formAutoCompleteSearch)=\"onAutoCompleteSearch($event)\"\r\n (autoCompleteOptionSelected)=\"onAutoCompleteOptionSelected()\"\r\n >\r\n </ng-template>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-12 ieeesa-dynamic-form__actions\"\r\n [ngClass]=\"{\r\n 'justify-content-end': actionButtonAlignment === alignmentType.LEFT,\r\n 'justify-content-center': actionButtonAlignment === alignmentType.MIDDLE,\r\n 'justify-content-start': actionButtonAlignment === alignmentType.RIGHT\r\n }\"\r\n >\r\n <button\r\n type=\"submit\"\r\n mat-button\r\n class=\"mat-primary-button ieeesa-dynamic-form__actions--right-btn\"\r\n [disabled]=\"isSubmitButtonDisabled\"\r\n >\r\n {{ rightButtonLabel }}\r\n </button>\r\n <button\r\n *ngIf=\"isLeftButtonNeeded\"\r\n type=\"button\"\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-dynamic-form__actions--left-btn\"\r\n (click)=\"onLeftButtonClicked()\"\r\n [disabled]=\"isLeftButtonDisabled\"\r\n >\r\n {{ leftButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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{width:100%;min-width:312px}.ieeesa-dynamic-form__actions{display:flex;padding-top:15px}.ieeesa-dynamic-form__actions--left-btn{margin-right:2%}.ieeesa-dynamic-form__form-field{padding-top:20px}\n"] }]
|
|
262
262
|
}], ctorParameters: function () { return [{ type: i1.FormBuilder }]; }, propDecorators: { formFields: [{
|
|
263
263
|
type: ViewChildren,
|
|
@@ -313,4 +313,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
313
313
|
}], actionButtonAlignment: [{
|
|
314
314
|
type: Input
|
|
315
315
|
}] } });
|
|
316
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLGdGQUFnRixDQUFDOzs7OztBQUVoSTs7Ozs7O0dBTUc7QUFlSCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9COzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWdCO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUlEOzs7T0FHRztJQUNILElBRUksY0FBYyxDQUFDLEtBQVU7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QU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRUcsMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBU0UscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtR3JpZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWdyaWQubW9kZWwnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9keW5hbWljLWZvcm0tZmllbGQvZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFsaWdubWVudFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWxpZ25tZW50LXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9jdXNJbnZhbGlkRm9ybUZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnQHByZXNlbnRhdGlvbi9kaXJlY3RpdmVzL2R5bmFtaWMtZm9ybS1maWVsZC9mb2N1cy1pbnZhbGlkLWZvcm0tZmllbGQuZGlyZWN0aXZlJztcclxuXHJcbi8qKlxyXG4gKiBDcmVhdGVzIGEgcmVhY3RpdmUgZm9ybSBkeW5hbWljYWxseSBiYXNlZCBvbiB0aGUgcGFzc2VkIGZvcm0gZmllbGQgY29uZmlndXJhdGlvbiBhbmQgaGFuZGxlcyB0aGUgZm9ybSBldmVudHMuXHJcbiAqIEBleHBvcnRcclxuICogQGNsYXNzIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAqIEBpbXBsZW1lbnRzIHtPbkluaXR9XHJcbiAqIEBpbXBsZW1lbnRzIHtBZnRlckNvbnRlbnRJbml0fVxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgZXhwb3J0QXM6ICdkeW5hbWljRm9ybScsXHJcbiAgc2VsZWN0b3I6ICdpZWVlc2EtZHluYW1pYy1mb3JtJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXHJcbiAgICBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgRm9jdXNJbnZhbGlkRm9ybUZpZWxkRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHluYW1pYy1mb3JtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9keW5hbWljLWZvcm0uY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIER5bmFtaWNGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBBZnRlckNvbnRlbnRJbml0IHtcclxuICBAVmlld0NoaWxkcmVuKER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmUpXHJcbiAgZm9ybUZpZWxkcyE6IFF1ZXJ5TGlzdDxEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlPjtcclxuICBwcml2YXRlIF9mb3JtR3JvdXBzITogRm9ybU1vZGVsO1xyXG4gIC8qKlxyXG4gICAqIEZvcm1Hcm91cHMgcGFzc2VkIGFuIGFuIGlucHV0IGFuZCB3aGljaCBjb250YWlucyBjb25maWd1cmF0aW9uIGluZm9ybWF0aW9uIG9mIGV2ZXJ5IGZvcm0gZmllbGRzLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgc2V0IGZvcm1Hcm91cHModmFsdWU6IEZvcm1Nb2RlbCkge1xyXG4gICAgdGhpcy5fZm9ybUdyb3VwcyA9IHZhbHVlO1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBBcnJheSgpO1xyXG4gIH1cclxuICBnZXQgZm9ybUdyb3VwcygpOiBGb3JtTW9kZWwge1xyXG4gICAgcmV0dXJuIHRoaXMuX2Zvcm1Hcm91cHM7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHByaXZhdGUgX3N1Ym1pdFJlc3BvbnNlITogYW55O1xyXG4gIC8qKlxyXG4gICAqIFNldHMgc3VibWl0IHJlc3BvbnNlIG9uIGZvcm0gc3VibWl0XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldCBzdWJtaXRSZXNwb25zZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9zdWJtaXRSZXNwb25zZSA9IHZhbHVlO1xyXG4gIH1cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldCBzdWJtaXRSZXNwb25zZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3N1Ym1pdFJlc3BvbnNlO1xyXG4gIH1cclxuXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBwcml2YXRlIF9zZWFyY2hSZXNwb25zZSE6IGFueTtcclxuICAvKipcclxuICAgKiBTZXRzIHNlYXJjaCByZXNwb25zZSBvbiBmb3JtIHNlYXJjaCBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpXHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBzZXQgc2VhcmNoUmVzcG9uc2UodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5fc2VhcmNoUmVzcG9uc2UgPSB2YWx1ZTtcclxuICB9XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBnZXQgc2VhcmNoUmVzcG9uc2UoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLl9zZWFyY2hSZXNwb25zZTtcclxuICB9XHJcbiAgQElucHV0KCkgY29sV2lkdGghOiBGb3JtR3JpZDtcclxuICBASW5wdXQoKSBpc0xlZ2VuZFZpc2libGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIHJpZ2h0QnV0dG9uTGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgbGVmdEJ1dHRvbkxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGlzU3VibWl0QnV0dG9uRGlzYWJsZWQgPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc0xlZnRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGVmdEJ1dHRvbk5lZWRlZCA9IGZhbHNlO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGZvcm1TdWJtaXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybUNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBmb3JtSW5wdXQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybUxlZnRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGZvcm1TZWFyY2hBcHBseTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtR3JvdXBzUmVmZXJlbmNlID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXBbXT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBkcm9wZG93bkNoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtRGF0ZVNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TZWxlY3RTZWFyY2ggPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHNlYXJjaEV2ZW50OiBFdmVudDtcclxuICAgIGNvbnRyb2xOYW1lOiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUNvbnRyb2xDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQXV0b0NvbXBsZXRlU2VhcmNoOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID1cclxuICAgIG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxGb3JtR3JvdXBbXT4oKTtcclxuICBAT3V0cHV0KCkgZm9ybUFmdGVyQ29udGVudEluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtU2VsZWN0ZWREYXRlUmFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHtcclxuICAgIHN0YXJ0RGF0ZTogc3RyaW5nO1xyXG4gICAgZW5kRGF0ZTogc3RyaW5nO1xyXG4gIH0+KCk7XHJcbiAgZm9ybSE6IEZvcm1Hcm91cDtcclxuICBmb3JtR3JvdXBBcnJheTogRm9ybUdyb3VwW10gPSBbXTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGZvcm1Db250cm9sQXJyYXk6IGFueVtdID0gW107XHJcbiAgbGVnZW5kc0FycmF5OiBzdHJpbmdbXSA9IFtdO1xyXG4gIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbkFsaWdubWVudCE6IEFsaWdubWVudFR5cGU7XHJcbiAgYWxpZ25tZW50VHlwZSA9IEFsaWdubWVudFR5cGVcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25Jbml0IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byBjcmVhdGUgZm9ybSBncm91cFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBBcnJheSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBnZW5lcmF0ZWQgZm9ybSByZWZlcmVuY2Ugb24gbmdBZnRlckNvbnRlbnRJbml0IGxpZmVjeWNsZSBob29rLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUFmdGVyQ29udGVudEluaXQuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCBvbiB0aGUgYmFzaXMgb2YgZm9ybUdyb3VwcyBjb25maWd1cmF0aW9uIGlucHV0XHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVGb3JtR3JvdXBBcnJheSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwQXJyYXkgPSBbXTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgdGhpcy5sZWdlbmRzQXJyYXkgPSBbXTtcclxuICAgIGlmICghdGhpcy5mb3JtR3JvdXBzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUdyb3Vwcz8uZm9ybUdyb3VwPy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2xzID0gZWxlbWVudC5jb250cm9scy5maWx0ZXIoXHJcbiAgICAgICAgKGNvbnRyb2wpID0+IGNvbnRyb2wudHlwZSAhPT0gJ2J1dHRvbidcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXBBcnJheS5wdXNoKHRoaXMuY3JlYXRlR3JvdXAoY29udHJvbHMpKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbEFycmF5LnB1c2goY29udHJvbHMpO1xyXG4gICAgICB0aGlzLmxlZ2VuZHNBcnJheS5wdXNoKGVsZW1lbnQubGVnZW5kKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGNoaWxkcmVuOiB0aGlzLmZvcm1Hcm91cEFycmF5LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXBzUmVmZXJlbmNlLmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCB1c2luZyBmb3JtIGJ1aWxkZXJcclxuICAgKiBAcGFyYW0ge2FueVtdfSBjb250cm9sc1xyXG4gICAqIEByZXR1cm4ge0Zvcm1Hcm91cH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNyZWF0ZUdyb3VwKGNvbnRyb2xzOiBhbnlbXSk6IEZvcm1Hcm91cCB7XHJcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xyXG4gICAgY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogRmllbGRDb25maWcpID0+XHJcbiAgICAgIGdyb3VwLmFkZENvbnRyb2woY29udHJvbC5jb250cm9sTmFtZSwgdGhpcy5jcmVhdGVDb250cm9sKGNvbnRyb2wpKVxyXG4gICAgKTtcclxuICAgIHJldHVybiBncm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBjb250cm9sIGJhc2VkIG9uIGZvcm0gZmllbGQgY29uZmlndXJhdGlvblxyXG4gICAqIEBwYXJhbSB7RmllbGRDb25maWd9IGNvbnRyb2xcclxuICAgKiBAcmV0dXJuIHtGb3JtQ29udHJvbH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVDb250cm9sKGNvbnRyb2w6IEZpZWxkQ29uZmlnKTogRm9ybUNvbnRyb2wge1xyXG4gICAgY29uc3QgeyBkaXNhYmxlZCwgdmFsaWRhdGlvbiwgdmFsdWUgfSA9IGNvbnRyb2w7XHJcbiAgICByZXR1cm4gdGhpcy5mYi5jb250cm9sKHsgZGlzYWJsZWQsIHZhbHVlIH0sIHZhbGlkYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgZm9ybUdyb3VwQXJyYXlcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1TdWJtaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZvcm1Hcm91cEFycmF5XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25MZWZ0QnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUxlZnRCdXR0b25DbGlja2VkLmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtR3JvdXBBcnJheVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRm9ybUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoYW5nZS5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIHNlbGVjdCB0eXBlIGRyb3AgZG93biBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkRyb3Bkb3duQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kcm9wZG93bkNoYW5nZS5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGlucHV0IGNoYW5nZSBldmVudFxyXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZm9ybUlucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuZm9ybUlucHV0LmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gZmllbGQgc2VhcmNoIGFwcGx5IGV2ZW50XHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvblNlYXJjaEFwcGx5KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU2VhcmNoQXBwbHkuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHNlYXJjaCBldmVudCBpbnNpZGUgZm9ybSBmaWVsZCBzZWxlY3RcclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0U2VhcmNoKGV2ZW50OiB7IHNlYXJjaEV2ZW50OiBFdmVudDsgY29udHJvbE5hbWU6IHN0cmluZyB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1TZWxlY3RTZWFyY2guZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUYWtlcyB0aGUgaW5kZXggYW5kIHRoZSBmb3JtR3JvdXAgYXMgYXJndW1lbnRzIGFuZCBuZWVkcyB0byByZXR1cm4gdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGZvcm1Hcm91cC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge0Zvcm1Hcm91cH0gZm9ybUdyb3VwXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdHJhY2tCeUZvcm1Hcm91cChpbmRleDogbnVtYmVyLCBmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgcmV0dXJuIGZvcm1Hcm91cC5jb250cm9scztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBkYXRlIHNlbGVjdGlvbiBldmVudFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlU2VsZWN0ZWQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtRGF0ZVNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc2VsZWN0ZWQgZm9ybSBkYXRlIHJhbmdlXHJcbiAgICogQHBhcmFtIHt7c3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZ319IGRhdGVSYW5nZVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWREYXRlUmFuZ2UoZGF0ZVJhbmdlOiB7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmcgfSkge1xyXG4gICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIGF1dG8gY29tcGxldGUgc2VhcmNoIGV2ZW50XHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZVNlYXJjaChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBhdXRvIGNvbXBsZXRlIG9wdGlvbiBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgcGFzc2VkIGNvbnRyb2wgbmFtZSBpbiBoeXBoZW5hdGVkIGNzcyBjbGFzcyBuYW1lXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZVxyXG4gICAqIEByZXR1cm4ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBnZXRSb3dDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGNsYXNzTmFtZVxyXG4gICAgICAucmVwbGFjZSgvKFtBLVpdKS9nLCAnICQxJylcclxuICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgLnNwbGl0KCcgJylcclxuICAgICAgLmpvaW4oJy0nKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm1cclxuICBjbGFzcz1cImllZWVzYS1keW5hbWljLWZvcm1cIlxyXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgKGNoYW5nZSk9XCJvbkZvcm1DaGFuZ2UoKVwiXHJcbiAgKG5nU3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgpXCJcclxuICAoaW5wdXQpPVwiZm9ybUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gIGllZWVzYUZvY3VzSW52YWxpZEZvcm1GaWVsZFxyXG4+XHJcbiAgPGZpZWxkc2V0XHJcbiAgICBjbGFzcz1cImllZWVzYS1keW5hbWljLWZvcm1fX2ZpZWxkc2V0XCJcclxuICAgICpuZ0Zvcj1cIlxyXG4gICAgICBsZXQgZm9ybUdycCBvZiBmb3JtR3JvdXBBcnJheTtcclxuICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgdHJhY2tCeTogdHJhY2tCeUZvcm1Hcm91cFxyXG4gICAgXCJcclxuICA+XHJcbiAgICA8bGVnZW5kIGNsYXNzPVwiZmxvYXQtbm9uZSB3LWF1dG8gcC0yXCIgKm5nSWY9XCJpc0xlZ2VuZFZpc2libGVcIj5cclxuICAgICAge3sgbGVnZW5kc0FycmF5W2ldIH19OlxyXG4gICAgPC9sZWdlbmQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbC17eyBjb2xXaWR0aC54cyB9fSBjb2wtc20te3sgY29sV2lkdGguc20gfX0gY29sLW1kLXt7XHJcbiAgICAgICAgICBjb2xXaWR0aC5tZFxyXG4gICAgICAgIH19IGNvbC1sZy17eyBjb2xXaWR0aC5sZyB9fSBjb2wteGwte3sgY29sV2lkdGgueGwgfX1cclxuICAgICAgICBpZWVlc2EtZHluYW1pYy1mb3JtX19mb3JtLWZpZWxkXCJcclxuICAgICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzc05hbWUoZm9ybUNvbnRyb2xBcnJheVtpXVtqXS5jb250cm9sTmFtZSlcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGZvcm1Db250cm9sQXJyYXlbaV07IGxldCBqID0gaW5kZXhcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBpZWVlc2FEeW5hbWljRm9ybUZpZWxkXHJcbiAgICAgICAgICBbY29uZmlnXT1cImZvcm1Db250cm9sQXJyYXlbaV1bal1cIlxyXG4gICAgICAgICAgW2dyb3VwXT1cImZvcm1HcnBcIlxyXG4gICAgICAgICAgW3N1Ym1pdFJlc3BvbnNlXT1cInN1Ym1pdFJlc3BvbnNlXCJcclxuICAgICAgICAgIFtzZWFyY2hSZXNwb25zZV09XCJzZWFyY2hSZXNwb25zZVwiXHJcbiAgICAgICAgICAoZm9ybVNlYXJjaEFwcGx5KT1cIm9uU2VhcmNoQXBwbHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybURyb3Bkb3duU2VsZWN0ZWQpPVwib25Gb3JtQ2hhbmdlKCk7IG9uRHJvcGRvd25DaGFuZ2UoKVwiXHJcbiAgICAgICAgICAoZm9ybURhdGVTZWxlY3RlZCk9XCJvbkRhdGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtU2VsZWN0ZWREYXRlUmFuZ2UpPVwib25TZWxlY3RlZERhdGVSYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtU2VsZWN0U2VhcmNoKT1cIm9uU2VsZWN0U2VhcmNoKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1BdXRvQ29tcGxldGVTZWFyY2gpPVwib25BdXRvQ29tcGxldGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAoYXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQpPVwib25BdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2ZpZWxkc2V0PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJjb2wtMTIgaWVlZXNhLWR5bmFtaWMtZm9ybV9fYWN0aW9uc1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBhY3Rpb25CdXR0b25BbGlnbm1lbnQgPT09IGFsaWdubWVudFR5cGUuTEVGVCxcclxuICAgICAgJ2p1c3RpZnktY29udGVudC1jZW50ZXInOiBhY3Rpb25CdXR0b25BbGlnbm1lbnQgPT09IGFsaWdubWVudFR5cGUuTUlERExFLFxyXG4gICAgICAnanVzdGlmeS1jb250ZW50LXN0YXJ0JzogYWN0aW9uQnV0dG9uQWxpZ25tZW50ID09PSBhbGlnbm1lbnRUeXBlLlJJR0hUXHJcbiAgICB9XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cIm1hdC1wcmltYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1yaWdodC1idG5cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHJpZ2h0QnV0dG9uTGFiZWwgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cImlzTGVmdEJ1dHRvbk5lZWRlZFwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1sZWZ0LWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uTGVmdEJ1dHRvbkNsaWNrZWQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzTGVmdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGxlZnRCdXR0b25MYWJlbCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
|
|
316
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHluYW1pYy1mb3JtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcmVzZW50YXRpb24vc3JjL2xpYi9jb21wb25lbnRzL2R5bmFtaWMtZm9ybS9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFFTixZQUFZLEdBQ2IsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUlMLG1CQUFtQixHQUNwQixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFJM0QsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sa0VBQWtFLENBQUM7QUFDN0csT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSw4QkFBOEIsRUFBRSxNQUFNLHdFQUF3RSxDQUFDOzs7OztBQUV4SDs7Ozs7O0dBTUc7QUFlSCxNQUFNLE9BQU8sb0JBQW9CO0lBSS9COzs7T0FHRztJQUNILElBQ0ksVUFBVSxDQUFDLEtBQWdCO1FBQzdCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDMUIsQ0FBQztJQUlEOzs7T0FHRztJQUNILElBRUksY0FBYyxDQUFDLEtBQVU7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QU07Z0JBRUcsU0FBUztzQkFBbEIsTUFBTTtnQkFFRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBRUcsZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxtQkFBbUI7c0JBQTVCLE1BQU07Z0JBRUcsY0FBYztzQkFBdkIsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZ0JBQWdCO3NCQUF6QixNQUFNO2dCQUlHLGlCQUFpQjtzQkFBMUIsTUFBTTtnQkFDRyxzQkFBc0I7c0JBQS9CLE1BQU07Z0JBRUcsMEJBQTBCO3NCQUFuQyxNQUFNO2dCQUNHLG9CQUFvQjtzQkFBN0IsTUFBTTtnQkFDRyxxQkFBcUI7c0JBQTlCLE1BQU07Z0JBU0UscUJBQXFCO3NCQUE3QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBRdWVyeUxpc3QsXHJcbiAgVmlld0NoaWxkcmVuLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge1xyXG4gIEZvcm1CdWlsZGVyLFxyXG4gIEZvcm1Db250cm9sLFxyXG4gIEZvcm1Hcm91cCxcclxuICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcclxuaW1wb3J0IHsgRm9ybU1vZGVsIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2Zvcm0ubW9kZWwnO1xyXG5pbXBvcnQgeyBGaWVsZENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVscy9maWVsZC1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBGb3JtR3JpZCB9IGZyb20gJy4uLy4uL21vZGVscy9mb3JtLWdyaWQubW9kZWwnO1xyXG5pbXBvcnQgeyBEeW5hbWljRm9ybUZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9keW5hbWljLWZvcm0tZmllbGQvZHluYW1pYy1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcbmltcG9ydCB7IEFsaWdubWVudFR5cGUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYWxpZ25tZW50LXR5cGVzLm1vZGVsJztcclxuaW1wb3J0IHsgRm9jdXNJbnZhbGlkRm9ybUZpZWxkRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vZGlyZWN0aXZlcy9keW5hbWljLWZvcm0tZmllbGQvZm9jdXMtaW52YWxpZC1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcblxyXG4vKipcclxuICogQ3JlYXRlcyBhIHJlYWN0aXZlIGZvcm0gZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIHBhc3NlZCBmb3JtIGZpZWxkIGNvbmZpZ3VyYXRpb24gYW5kIGhhbmRsZXMgdGhlIGZvcm0gZXZlbnRzLlxyXG4gKiBAZXhwb3J0XHJcbiAqIEBjbGFzcyBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gKiBAaW1wbGVtZW50cyB7T25Jbml0fVxyXG4gKiBAaW1wbGVtZW50cyB7QWZ0ZXJDb250ZW50SW5pdH1cclxuICovXHJcbkBDb21wb25lbnQoe1xyXG4gIGV4cG9ydEFzOiAnZHluYW1pY0Zvcm0nLFxyXG4gIHNlbGVjdG9yOiAnaWVlZXNhLWR5bmFtaWMtZm9ybScsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxyXG4gICAgRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSxcclxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcclxuICAgIEZvY3VzSW52YWxpZEZvcm1GaWVsZERpcmVjdGl2ZSxcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9keW5hbWljLWZvcm0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2R5bmFtaWMtZm9ybS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHluYW1pY0Zvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gIEBWaWV3Q2hpbGRyZW4oRHluYW1pY0Zvcm1GaWVsZERpcmVjdGl2ZSlcclxuICBmb3JtRmllbGRzITogUXVlcnlMaXN0PER5bmFtaWNGb3JtRmllbGREaXJlY3RpdmU+O1xyXG4gIHByaXZhdGUgX2Zvcm1Hcm91cHMhOiBGb3JtTW9kZWw7XHJcbiAgLyoqXHJcbiAgICogRm9ybUdyb3VwcyBwYXNzZWQgYW4gYW4gaW5wdXQgYW5kIHdoaWNoIGNvbnRhaW5zIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24gb2YgZXZlcnkgZm9ybSBmaWVsZHMuXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICBzZXQgZm9ybUdyb3Vwcyh2YWx1ZTogRm9ybU1vZGVsKSB7XHJcbiAgICB0aGlzLl9mb3JtR3JvdXBzID0gdmFsdWU7XHJcbiAgICB0aGlzLmNyZWF0ZUZvcm1Hcm91cEFycmF5KCk7XHJcbiAgfVxyXG4gIGdldCBmb3JtR3JvdXBzKCk6IEZvcm1Nb2RlbCB7XHJcbiAgICByZXR1cm4gdGhpcy5fZm9ybUdyb3VwcztcclxuICB9XHJcblxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgcHJpdmF0ZSBfc3VibWl0UmVzcG9uc2UhOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogU2V0cyBzdWJtaXQgcmVzcG9uc2Ugb24gZm9ybSBzdWJtaXRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgc2V0IHN1Ym1pdFJlc3BvbnNlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuX3N1Ym1pdFJlc3BvbnNlID0gdmFsdWU7XHJcbiAgfVxyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZ2V0IHN1Ym1pdFJlc3BvbnNlKCk6IGFueSB7XHJcbiAgICByZXR1cm4gdGhpcy5fc3VibWl0UmVzcG9uc2U7XHJcbiAgfVxyXG5cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHByaXZhdGUgX3NlYXJjaFJlc3BvbnNlITogYW55O1xyXG4gIC8qKlxyXG4gICAqIFNldHMgc2VhcmNoIHJlc3BvbnNlIG9uIGZvcm0gc2VhcmNoIGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgQElucHV0KClcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIHNldCBzZWFyY2hSZXNwb25zZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLl9zZWFyY2hSZXNwb25zZSA9IHZhbHVlO1xyXG4gIH1cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGdldCBzZWFyY2hSZXNwb25zZSgpOiBhbnkge1xyXG4gICAgcmV0dXJuIHRoaXMuX3NlYXJjaFJlc3BvbnNlO1xyXG4gIH1cclxuICBASW5wdXQoKSBjb2xXaWR0aCE6IEZvcm1HcmlkO1xyXG4gIEBJbnB1dCgpIGlzTGVnZW5kVmlzaWJsZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcmlnaHRCdXR0b25MYWJlbCE6IHN0cmluZztcclxuICBASW5wdXQoKSBsZWZ0QnV0dG9uTGFiZWwhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgaXNTdWJtaXRCdXR0b25EaXNhYmxlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzTGVmdEJ1dHRvbkRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgaXNMZWZ0QnV0dG9uTmVlZGVkID0gZmFsc2U7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybVN1Ym1pdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBmb3JtQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGZvcm1JbnB1dDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIEBPdXRwdXQoKSBmb3JtTGVmdEJ1dHRvbkNsaWNrZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBAT3V0cHV0KCkgZm9ybVNlYXJjaEFwcGx5OiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1Hcm91cHNSZWZlcmVuY2UgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgQE91dHB1dCgpIGRyb3Bkb3duQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1EYXRlU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgZm9ybVNlbGVjdFNlYXJjaCA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc2VhcmNoRXZlbnQ6IEV2ZW50O1xyXG4gICAgY29udHJvbE5hbWU6IHN0cmluZztcclxuICB9PigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQ29udHJvbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8RXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1BdXRvQ29tcGxldGVTZWFyY2g6IEV2ZW50RW1pdHRlcjxFdmVudD4gPVxyXG4gICAgbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgYXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEZvcm1Hcm91cFtdPigpO1xyXG4gIEBPdXRwdXQoKSBmb3JtQWZ0ZXJDb250ZW50SW5pdCA9IG5ldyBFdmVudEVtaXR0ZXI8Rm9ybUdyb3VwW10+KCk7XHJcbiAgQE91dHB1dCgpIGZvcm1TZWxlY3RlZERhdGVSYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8e1xyXG4gICAgc3RhcnREYXRlOiBzdHJpbmc7XHJcbiAgICBlbmREYXRlOiBzdHJpbmc7XHJcbiAgfT4oKTtcclxuICBmb3JtITogRm9ybUdyb3VwO1xyXG4gIGZvcm1Hcm91cEFycmF5OiBGb3JtR3JvdXBbXSA9IFtdO1xyXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55XHJcbiAgZm9ybUNvbnRyb2xBcnJheTogYW55W10gPSBbXTtcclxuICBsZWdlbmRzQXJyYXk6IHN0cmluZ1tdID0gW107XHJcbiAgQElucHV0KCkgYWN0aW9uQnV0dG9uQWxpZ25tZW50ITogQWxpZ25tZW50VHlwZTtcclxuICBhbGlnbm1lbnRUeXBlID0gQWxpZ25tZW50VHlwZTtcclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tdW51c2VkLXZhcnMsIG5vLWVtcHR5LWZ1bmN0aW9uXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBmYjogRm9ybUJ1aWxkZXIpIHt9XHJcblxyXG4gIC8qKlxyXG4gICAqIEltcGxlbWVudGF0aW9uIG9mIG5nT25Jbml0IGxpZmVjeWNsZSBob29rIG1ldGhvZCB0byBjcmVhdGUgZm9ybSBncm91cFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5jcmVhdGVGb3JtR3JvdXBBcnJheSgpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdCBnZW5lcmF0ZWQgZm9ybSByZWZlcmVuY2Ugb24gbmdBZnRlckNvbnRlbnRJbml0IGxpZmVjeWNsZSBob29rLlxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUFmdGVyQ29udGVudEluaXQuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCBvbiB0aGUgYmFzaXMgb2YgZm9ybUdyb3VwcyBjb25maWd1cmF0aW9uIGlucHV0XHJcbiAgICogQHJldHVybiB7dm9pZH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVGb3JtR3JvdXBBcnJheSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUdyb3VwQXJyYXkgPSBbXTtcclxuICAgIHRoaXMuZm9ybUNvbnRyb2xBcnJheSA9IFtdO1xyXG4gICAgdGhpcy5sZWdlbmRzQXJyYXkgPSBbXTtcclxuICAgIGlmICghdGhpcy5mb3JtR3JvdXBzKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuZm9ybUdyb3Vwcz8uZm9ybUdyb3VwPy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XHJcbiAgICAgIGNvbnN0IGNvbnRyb2xzID0gZWxlbWVudC5jb250cm9scy5maWx0ZXIoXHJcbiAgICAgICAgKGNvbnRyb2wpID0+IGNvbnRyb2wudHlwZSAhPT0gJ2J1dHRvbidcclxuICAgICAgKTtcclxuICAgICAgdGhpcy5mb3JtR3JvdXBBcnJheS5wdXNoKHRoaXMuY3JlYXRlR3JvdXAoY29udHJvbHMpKTtcclxuICAgICAgdGhpcy5mb3JtQ29udHJvbEFycmF5LnB1c2goY29udHJvbHMpO1xyXG4gICAgICB0aGlzLmxlZ2VuZHNBcnJheS5wdXNoKGVsZW1lbnQubGVnZW5kKTtcclxuICAgIH0pO1xyXG4gICAgdGhpcy5mb3JtID0gdGhpcy5mYi5ncm91cCh7XHJcbiAgICAgIGNoaWxkcmVuOiB0aGlzLmZvcm1Hcm91cEFycmF5LFxyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5mb3JtR3JvdXBzUmVmZXJlbmNlLmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBncm91cCB1c2luZyBmb3JtIGJ1aWxkZXJcclxuICAgKiBAcGFyYW0ge2FueVtdfSBjb250cm9sc1xyXG4gICAqIEByZXR1cm4ge0Zvcm1Hcm91cH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxyXG4gIGNyZWF0ZUdyb3VwKGNvbnRyb2xzOiBhbnlbXSk6IEZvcm1Hcm91cCB7XHJcbiAgICBjb25zdCBncm91cCA9IHRoaXMuZmIuZ3JvdXAoe30pO1xyXG4gICAgY29udHJvbHMuZm9yRWFjaCgoY29udHJvbDogRmllbGRDb25maWcpID0+XHJcbiAgICAgIGdyb3VwLmFkZENvbnRyb2woY29udHJvbC5jb250cm9sTmFtZSwgdGhpcy5jcmVhdGVDb250cm9sKGNvbnRyb2wpKVxyXG4gICAgKTtcclxuICAgIHJldHVybiBncm91cDtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIENyZWF0ZXMgZm9ybSBjb250cm9sIGJhc2VkIG9uIGZvcm0gZmllbGQgY29uZmlndXJhdGlvblxyXG4gICAqIEBwYXJhbSB7RmllbGRDb25maWd9IGNvbnRyb2xcclxuICAgKiBAcmV0dXJuIHtGb3JtQ29udHJvbH1cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBjcmVhdGVDb250cm9sKGNvbnRyb2w6IEZpZWxkQ29uZmlnKTogRm9ybUNvbnRyb2wge1xyXG4gICAgY29uc3QgeyBkaXNhYmxlZCwgdmFsaWRhdGlvbiwgdmFsdWUgfSA9IGNvbnRyb2w7XHJcbiAgICByZXR1cm4gdGhpcy5mYi5jb250cm9sKHsgZGlzYWJsZWQsIHZhbHVlIH0sIHZhbGlkYXRpb24pO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgZm9ybUdyb3VwQXJyYXlcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkZvcm1TdWJtaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1TdWJtaXQuZW1pdCh0aGlzLmZvcm1Hcm91cEFycmF5KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIGZvcm1Hcm91cEFycmF5XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25MZWZ0QnV0dG9uQ2xpY2tlZCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUxlZnRCdXR0b25DbGlja2VkLmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBFbWl0cyBmb3JtR3JvdXBBcnJheVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uRm9ybUNoYW5nZSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUNoYW5nZS5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIHNlbGVjdCB0eXBlIGRyb3AgZG93biBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkRyb3Bkb3duQ2hhbmdlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kcm9wZG93bkNoYW5nZS5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGlucHV0IGNoYW5nZSBldmVudFxyXG4gICAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgZm9ybUlucHV0Q2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbENoYW5nZS5lbWl0KGV2ZW50KTtcclxuICAgIHRoaXMuZm9ybUlucHV0LmVtaXQodGhpcy5mb3JtR3JvdXBBcnJheSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIGZvcm0gZmllbGQgc2VhcmNoIGFwcGx5IGV2ZW50XHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvblNlYXJjaEFwcGx5KGV2ZW50OiBFdmVudCk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtU2VhcmNoQXBwbHkuZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBIYW5kbGVzIHNlYXJjaCBldmVudCBpbnNpZGUgZm9ybSBmaWVsZCBzZWxlY3RcclxuICAgKiBAcGFyYW0ge0V2ZW50fSBldmVudFxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0U2VhcmNoKGV2ZW50OiB7IHNlYXJjaEV2ZW50OiBFdmVudDsgY29udHJvbE5hbWU6IHN0cmluZyB9KTogdm9pZCB7XHJcbiAgICB0aGlzLmZvcm1TZWxlY3RTZWFyY2guZW1pdChldmVudCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBUYWtlcyB0aGUgaW5kZXggYW5kIHRoZSBmb3JtR3JvdXAgYXMgYXJndW1lbnRzIGFuZCBuZWVkcyB0byByZXR1cm4gdGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGlzIGZvcm1Hcm91cC5cclxuICAgKiBAcGFyYW0ge251bWJlcn0gaW5kZXhcclxuICAgKiBAcGFyYW0ge0Zvcm1Hcm91cH0gZm9ybUdyb3VwXHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgdHJhY2tCeUZvcm1Hcm91cChpbmRleDogbnVtYmVyLCBmb3JtR3JvdXA6IEZvcm1Hcm91cCkge1xyXG4gICAgcmV0dXJuIGZvcm1Hcm91cC5jb250cm9scztcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBkYXRlIHNlbGVjdGlvbiBldmVudFxyXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGV2ZW50XHJcbiAgICogQG1lbWJlcm9mIER5bmFtaWNGb3JtQ29tcG9uZW50XHJcbiAgICovXHJcbiAgb25EYXRlU2VsZWN0ZWQoZXZlbnQ6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgdGhpcy5mb3JtRGF0ZVNlbGVjdGVkLmVtaXQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogRW1pdHMgc2VsZWN0ZWQgZm9ybSBkYXRlIHJhbmdlXHJcbiAgICogQHBhcmFtIHt7c3RhcnREYXRlOiBzdHJpbmcsIGVuZERhdGU6IHN0cmluZ319IGRhdGVSYW5nZVxyXG4gICAqIEBtZW1iZXJvZiBEeW5hbWljRm9ybUNvbXBvbmVudFxyXG4gICAqL1xyXG4gIG9uU2VsZWN0ZWREYXRlUmFuZ2UoZGF0ZVJhbmdlOiB7IHN0YXJ0RGF0ZTogc3RyaW5nOyBlbmREYXRlOiBzdHJpbmcgfSkge1xyXG4gICAgdGhpcy5mb3JtU2VsZWN0ZWREYXRlUmFuZ2UuZW1pdChkYXRlUmFuZ2UpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogSGFuZGxlcyBmb3JtIGZpZWxkIGF1dG8gY29tcGxldGUgc2VhcmNoIGV2ZW50XHJcbiAgICogQHBhcmFtIHtFdmVudH0gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZVNlYXJjaChldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMuZm9ybUF1dG9Db21wbGV0ZVNlYXJjaC5lbWl0KGV2ZW50KTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEhhbmRsZXMgZm9ybSBmaWVsZCBhdXRvIGNvbXBsZXRlIG9wdGlvbiBzZWxlY3Rpb24gZXZlbnRcclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBvbkF1dG9Db21wbGV0ZU9wdGlvblNlbGVjdGVkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5hdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZC5lbWl0KHRoaXMuZm9ybUdyb3VwQXJyYXkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgICogQ29udmVydHMgcGFzc2VkIGNvbnRyb2wgbmFtZSBpbiBoeXBoZW5hdGVkIGNzcyBjbGFzcyBuYW1lXHJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNsYXNzTmFtZVxyXG4gICAqIEByZXR1cm4ge3N0cmluZ31cclxuICAgKiBAbWVtYmVyb2YgRHluYW1pY0Zvcm1Db21wb25lbnRcclxuICAgKi9cclxuICBnZXRSb3dDbGFzc05hbWUoY2xhc3NOYW1lOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGNsYXNzTmFtZVxyXG4gICAgICAucmVwbGFjZSgvKFtBLVpdKS9nLCAnICQxJylcclxuICAgICAgLnRvTG93ZXJDYXNlKClcclxuICAgICAgLnNwbGl0KCcgJylcclxuICAgICAgLmpvaW4oJy0nKTtcclxuICB9XHJcbn1cclxuIiwiPGZvcm1cclxuICBjbGFzcz1cImllZWVzYS1keW5hbWljLWZvcm1cIlxyXG4gIFtmb3JtR3JvdXBdPVwiZm9ybVwiXHJcbiAgKGNoYW5nZSk9XCJvbkZvcm1DaGFuZ2UoKVwiXHJcbiAgKG5nU3VibWl0KT1cIm9uRm9ybVN1Ym1pdCgpXCJcclxuICAoaW5wdXQpPVwiZm9ybUlucHV0Q2hhbmdlKCRldmVudClcIlxyXG4gIGllZWVzYUZvY3VzSW52YWxpZEZvcm1GaWVsZFxyXG4+XHJcbiAgPGZpZWxkc2V0XHJcbiAgICBjbGFzcz1cImllZWVzYS1keW5hbWljLWZvcm1fX2ZpZWxkc2V0XCJcclxuICAgICpuZ0Zvcj1cIlxyXG4gICAgICBsZXQgZm9ybUdycCBvZiBmb3JtR3JvdXBBcnJheTtcclxuICAgICAgbGV0IGkgPSBpbmRleDtcclxuICAgICAgdHJhY2tCeTogdHJhY2tCeUZvcm1Hcm91cFxyXG4gICAgXCJcclxuICA+XHJcbiAgICA8bGVnZW5kIGNsYXNzPVwiZmxvYXQtbm9uZSB3LWF1dG8gcC0yXCIgKm5nSWY9XCJpc0xlZ2VuZFZpc2libGVcIj5cclxuICAgICAge3sgbGVnZW5kc0FycmF5W2ldIH19OlxyXG4gICAgPC9sZWdlbmQ+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImNvbC17eyBjb2xXaWR0aC54cyB9fSBjb2wtc20te3sgY29sV2lkdGguc20gfX0gY29sLW1kLXt7XHJcbiAgICAgICAgICBjb2xXaWR0aC5tZFxyXG4gICAgICAgIH19IGNvbC1sZy17eyBjb2xXaWR0aC5sZyB9fSBjb2wteGwte3sgY29sV2lkdGgueGwgfX1cclxuICAgICAgICBpZWVlc2EtZHluYW1pYy1mb3JtX19mb3JtLWZpZWxkXCJcclxuICAgICAgICBbbmdDbGFzc109XCJnZXRSb3dDbGFzc05hbWUoZm9ybUNvbnRyb2xBcnJheVtpXVtqXS5jb250cm9sTmFtZSlcIlxyXG4gICAgICAgICpuZ0Zvcj1cImxldCBjb250cm9sIG9mIGZvcm1Db250cm9sQXJyYXlbaV07IGxldCBqID0gaW5kZXhcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgICAgICBpZWVlc2FEeW5hbWljRm9ybUZpZWxkXHJcbiAgICAgICAgICBbY29uZmlnXT1cImZvcm1Db250cm9sQXJyYXlbaV1bal1cIlxyXG4gICAgICAgICAgW2dyb3VwXT1cImZvcm1HcnBcIlxyXG4gICAgICAgICAgW3N1Ym1pdFJlc3BvbnNlXT1cInN1Ym1pdFJlc3BvbnNlXCJcclxuICAgICAgICAgIFtzZWFyY2hSZXNwb25zZV09XCJzZWFyY2hSZXNwb25zZVwiXHJcbiAgICAgICAgICAoZm9ybVNlYXJjaEFwcGx5KT1cIm9uU2VhcmNoQXBwbHkoJGV2ZW50KVwiXHJcbiAgICAgICAgICAoZm9ybURyb3Bkb3duU2VsZWN0ZWQpPVwib25Gb3JtQ2hhbmdlKCk7IG9uRHJvcGRvd25DaGFuZ2UoKVwiXHJcbiAgICAgICAgICAoZm9ybURhdGVTZWxlY3RlZCk9XCJvbkRhdGVTZWxlY3RlZCgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtU2VsZWN0ZWREYXRlUmFuZ2UpPVwib25TZWxlY3RlZERhdGVSYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgIChmb3JtU2VsZWN0U2VhcmNoKT1cIm9uU2VsZWN0U2VhcmNoKCRldmVudClcIlxyXG4gICAgICAgICAgKGZvcm1BdXRvQ29tcGxldGVTZWFyY2gpPVwib25BdXRvQ29tcGxldGVTZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgICAgICAoYXV0b0NvbXBsZXRlT3B0aW9uU2VsZWN0ZWQpPVwib25BdXRvQ29tcGxldGVPcHRpb25TZWxlY3RlZCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2ZpZWxkc2V0PlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXZcclxuICAgICAgY2xhc3M9XCJjb2wtMTIgaWVlZXNhLWR5bmFtaWMtZm9ybV9fYWN0aW9uc1wiXHJcbiAgICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgJ2p1c3RpZnktY29udGVudC1lbmQnOiBhY3Rpb25CdXR0b25BbGlnbm1lbnQgPT09IGFsaWdubWVudFR5cGUuTEVGVCxcclxuICAgICAgJ2p1c3RpZnktY29udGVudC1jZW50ZXInOiBhY3Rpb25CdXR0b25BbGlnbm1lbnQgPT09IGFsaWdubWVudFR5cGUuTUlERExFLFxyXG4gICAgICAnanVzdGlmeS1jb250ZW50LXN0YXJ0JzogYWN0aW9uQnV0dG9uQWxpZ25tZW50ID09PSBhbGlnbm1lbnRUeXBlLlJJR0hUXHJcbiAgICB9XCJcclxuICAgID5cclxuICAgICAgPGJ1dHRvblxyXG4gICAgICAgIHR5cGU9XCJzdWJtaXRcIlxyXG4gICAgICAgIG1hdC1idXR0b25cclxuICAgICAgICBjbGFzcz1cIm1hdC1wcmltYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1yaWdodC1idG5cIlxyXG4gICAgICAgIFtkaXNhYmxlZF09XCJpc1N1Ym1pdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IHJpZ2h0QnV0dG9uTGFiZWwgfX1cclxuICAgICAgPC9idXR0b24+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cImlzTGVmdEJ1dHRvbk5lZWRlZFwiXHJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgbWF0LWJ1dHRvblxyXG4gICAgICAgIGNsYXNzPVwibWF0LXRlcnRpYXJ5LWJ1dHRvbiBpZWVlc2EtZHluYW1pYy1mb3JtX19hY3Rpb25zLS1sZWZ0LWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cIm9uTGVmdEJ1dHRvbkNsaWNrZWQoKVwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImlzTGVmdEJ1dHRvbkRpc2FibGVkXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IGxlZnRCdXR0b25MYWJlbCB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L2Zvcm0+XHJcbiJdfQ==
|
package/esm2022/public-api.mjs
CHANGED
|
@@ -20,6 +20,8 @@ export * from './lib/components/select/select.component';
|
|
|
20
20
|
export * from './lib/components/text-area/text-area.component';
|
|
21
21
|
export * from './lib/components/toggle-button/toggle-button.component';
|
|
22
22
|
export * from './lib/directives/dynamic-form-field/dynamic-form-field.directive';
|
|
23
|
+
export * from './lib/directives/dynamic-form-field/focus-invalid-form-field.directive';
|
|
24
|
+
export * from './lib/models/alignment-types.model';
|
|
23
25
|
export * from './lib/models/autocomplete-option.model';
|
|
24
26
|
export * from './lib/models/calendar.model';
|
|
25
27
|
export * from './lib/models/checkbox-option.model';
|
|
@@ -40,4 +42,4 @@ export * from './lib/models/toggle-button.model';
|
|
|
40
42
|
export * from './lib/services/datepicker.service';
|
|
41
43
|
export * from './lib/services/form-utility.service';
|
|
42
44
|
export * from './lib/presentation.module';
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ByZXNlbnRhdGlvbi9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyx3Q0FBd0MsQ0FBQztBQUN2RCxjQUFjLDBDQUEwQyxDQUFDO0FBQ3pELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyx3RUFBd0UsQ0FBQztBQUV2RixjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnQ0FBZ0MsQ0FBQztBQUMvQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0NBQW9DLENBQUM7QUFDbkQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsa0NBQWtDLENBQUM7QUFDakQsY0FBYyxrQ0FBa0MsQ0FBQztBQUVqRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMscUNBQXFDLENBQUM7QUFFcEQsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBwcmVzZW50YXRpb25cclxuICovXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXV0b2NvbXBsZXRlL2F1dG9jb21wbGV0ZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2NoZWNrYm94L2NoZWNrYm94LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9kYXRlLXBpY2tlci1oZWFkZXIvZGF0ZS1waWNrZXItaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvZHluYW1pYy1mb3JtL2R5bmFtaWMtZm9ybS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2Zvb3Rlci9mb290ZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9mb3JtLWVycm9yL2Zvcm0tZXJyb3IuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvaW5wdXQvaW5wdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vZGFsLWNvbmZpcm1hdGlvbi9tb2RhbC1jb25maXJtYXRpb24uY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1lbnUvbmF2aWdhdGlvbi1tZW51LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbm90aWZpY2F0aW9uL25vdGlmaWNhdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZXh0LWFyZWEvdGV4dC1hcmVhLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2R5bmFtaWMtZm9ybS1maWVsZC9keW5hbWljLWZvcm0tZmllbGQuZGlyZWN0aXZlJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvZGlyZWN0aXZlcy9keW5hbWljLWZvcm0tZmllbGQvZm9jdXMtaW52YWxpZC1mb3JtLWZpZWxkLmRpcmVjdGl2ZSc7XHJcblxyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvYWxpZ25tZW50LXR5cGVzLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2F1dG9jb21wbGV0ZS1vcHRpb24ubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2FsZW5kYXIubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvY2hlY2tib3gtb3B0aW9uLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2NvbmZpcm1hdGlvbi1tb2RhbC1kYXRhLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2RhdGUtcGlja2VyLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2ZpZWxkLWNvbmZpZy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb290ZXItY29uZmlnLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0tY29udHJvbC10eXBlcy5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLWZpZWxkLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2Zvcm0tZ3JpZC5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9mb3JtLm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL2hlYWRlci1jb25maWcubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvbmF2aWdhdGlvbi1tZW51Lm1vZGVsJztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kZWxzL3JhZGlvLW9wdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy9zZWFyY2gubW9kZWwnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2RlbHMvc2VsZWN0LW9wdGlvbi5tb2RlbCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGVscy90b2dnbGUtYnV0dG9uLm1vZGVsJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2RhdGVwaWNrZXIuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Zvcm0tdXRpbGl0eS5zZXJ2aWNlJztcclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXNlbnRhdGlvbi5tb2R1bGUnO1xyXG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, Injectable, EventEmitter, ViewEncapsulation, Output, ViewChild, Inject, ViewChildren, Directive, ViewContainerRef, NgModule } from '@angular/core';
|
|
2
|
+
import { Component, Input, Injectable, EventEmitter, ViewEncapsulation, Output, ViewChild, Inject, ViewChildren, Directive, HostListener, ViewContainerRef, NgModule } from '@angular/core';
|
|
3
3
|
import { Subject, filter, debounceTime, distinctUntilChanged, takeUntil, fromEvent, map } from 'rxjs';
|
|
4
4
|
import * as i2 from '@angular/common';
|
|
5
5
|
import { CommonModule } from '@angular/common';
|
|
@@ -34,7 +34,6 @@ import * as i5$3 from '@angular/material/select';
|
|
|
34
34
|
import { MAT_SELECT_CONFIG, MatSelectModule } from '@angular/material/select';
|
|
35
35
|
import * as i5$4 from '@angular/cdk/text-field';
|
|
36
36
|
import { TextFieldModule } from '@angular/cdk/text-field';
|
|
37
|
-
import { FocusInvalidFormFieldDirective } from '@presentation/directives/dynamic-form-field/focus-invalid-form-field.directive';
|
|
38
37
|
import * as i1 from '@angular/router';
|
|
39
38
|
import { RouterModule } from '@angular/router';
|
|
40
39
|
import * as i2$2 from '@angular/material/divider';
|
|
@@ -1685,6 +1684,38 @@ var AlignmentType;
|
|
|
1685
1684
|
AlignmentType["RIGHT"] = "Right";
|
|
1686
1685
|
})(AlignmentType || (AlignmentType = {}));
|
|
1687
1686
|
|
|
1687
|
+
/**
|
|
1688
|
+
* Directive used to set the focus of first invalid field of the form when the form is submitted
|
|
1689
|
+
* @export
|
|
1690
|
+
* @class FocusInvalidFormFieldDirective
|
|
1691
|
+
*/
|
|
1692
|
+
class FocusInvalidFormFieldDirective {
|
|
1693
|
+
// eslint-disable-next-line no-empty-function, no-unused-vars
|
|
1694
|
+
constructor(el) {
|
|
1695
|
+
this.el = el;
|
|
1696
|
+
}
|
|
1697
|
+
/**
|
|
1698
|
+
* Listens to the ngSubmit event and apply focus to first invalid form field
|
|
1699
|
+
* @memberof FocusInvalidFormFieldDirective
|
|
1700
|
+
*/
|
|
1701
|
+
submitForm() {
|
|
1702
|
+
const invalidElement = this.el.nativeElement.querySelector('.ieeesa-dynamic-form__form-field input.ng-invalid,.ieeesa-dynamic-form__form-field mat-select.ng-invalid, .ieeesa-dynamic-form__form-field text-area.ng-invalid, .ieeesa-dynamic-form__form-field mat-checkbox.ng-invalid, .ieeesa-dynamic-form__form-field mat-radio-button.ng-invalid');
|
|
1703
|
+
invalidElement?.focus();
|
|
1704
|
+
}
|
|
1705
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: FocusInvalidFormFieldDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1706
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.1.3", type: FocusInvalidFormFieldDirective, isStandalone: true, selector: "[ieeesaFocusInvalidFormField]", host: { listeners: { "ngSubmit": "submitForm()" } }, ngImport: i0 }); }
|
|
1707
|
+
}
|
|
1708
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: FocusInvalidFormFieldDirective, decorators: [{
|
|
1709
|
+
type: Directive,
|
|
1710
|
+
args: [{
|
|
1711
|
+
selector: '[ieeesaFocusInvalidFormField]',
|
|
1712
|
+
standalone: true,
|
|
1713
|
+
}]
|
|
1714
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { submitForm: [{
|
|
1715
|
+
type: HostListener,
|
|
1716
|
+
args: ['ngSubmit']
|
|
1717
|
+
}] } });
|
|
1718
|
+
|
|
1688
1719
|
/**
|
|
1689
1720
|
* Creates a reactive form dynamically based on the passed form field configuration and handles the form events.
|
|
1690
1721
|
* @export
|
|
@@ -1933,7 +1964,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
1933
1964
|
ReactiveFormsModule,
|
|
1934
1965
|
DynamicFormFieldDirective,
|
|
1935
1966
|
MatButtonModule,
|
|
1936
|
-
FocusInvalidFormFieldDirective
|
|
1967
|
+
FocusInvalidFormFieldDirective,
|
|
1937
1968
|
], template: "<form\r\n class=\"ieeesa-dynamic-form\"\r\n [formGroup]=\"form\"\r\n (change)=\"onFormChange()\"\r\n (ngSubmit)=\"onFormSubmit()\"\r\n (input)=\"formInputChange($event)\"\r\n ieeesaFocusInvalidFormField\r\n>\r\n <fieldset\r\n class=\"ieeesa-dynamic-form__fieldset\"\r\n *ngFor=\"\r\n let formGrp of formGroupArray;\r\n let i = index;\r\n trackBy: trackByFormGroup\r\n \"\r\n >\r\n <legend class=\"float-none w-auto p-2\" *ngIf=\"isLegendVisible\">\r\n {{ legendsArray[i] }}:\r\n </legend>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-{{ colWidth.xs }} col-sm-{{ colWidth.sm }} col-md-{{\r\n colWidth.md\r\n }} col-lg-{{ colWidth.lg }} col-xl-{{ colWidth.xl }}\r\n ieeesa-dynamic-form__form-field\"\r\n [ngClass]=\"getRowClassName(formControlArray[i][j].controlName)\"\r\n *ngFor=\"let control of formControlArray[i]; let j = index\"\r\n >\r\n <ng-template\r\n ieeesaDynamicFormField\r\n [config]=\"formControlArray[i][j]\"\r\n [group]=\"formGrp\"\r\n [submitResponse]=\"submitResponse\"\r\n [searchResponse]=\"searchResponse\"\r\n (formSearchApply)=\"onSearchApply($event)\"\r\n (formDropdownSelected)=\"onFormChange(); onDropdownChange()\"\r\n (formDateSelected)=\"onDateSelected($event)\"\r\n (formSelectedDateRange)=\"onSelectedDateRange($event)\"\r\n (formSelectSearch)=\"onSelectSearch($event)\"\r\n (formAutoCompleteSearch)=\"onAutoCompleteSearch($event)\"\r\n (autoCompleteOptionSelected)=\"onAutoCompleteOptionSelected()\"\r\n >\r\n </ng-template>\r\n </div>\r\n </div>\r\n </fieldset>\r\n <div class=\"row\">\r\n <div\r\n class=\"col-12 ieeesa-dynamic-form__actions\"\r\n [ngClass]=\"{\r\n 'justify-content-end': actionButtonAlignment === alignmentType.LEFT,\r\n 'justify-content-center': actionButtonAlignment === alignmentType.MIDDLE,\r\n 'justify-content-start': actionButtonAlignment === alignmentType.RIGHT\r\n }\"\r\n >\r\n <button\r\n type=\"submit\"\r\n mat-button\r\n class=\"mat-primary-button ieeesa-dynamic-form__actions--right-btn\"\r\n [disabled]=\"isSubmitButtonDisabled\"\r\n >\r\n {{ rightButtonLabel }}\r\n </button>\r\n <button\r\n *ngIf=\"isLeftButtonNeeded\"\r\n type=\"button\"\r\n mat-button\r\n class=\"mat-tertiary-button ieeesa-dynamic-form__actions--left-btn\"\r\n (click)=\"onLeftButtonClicked()\"\r\n [disabled]=\"isLeftButtonDisabled\"\r\n >\r\n {{ leftButtonLabel }}\r\n </button>\r\n </div>\r\n </div>\r\n</form>\r\n", styles: [".ieeesa-subtitle{text-align:left;font-family:Calibri Regular;font-size:1.56em;letter-spacing:0;color:#000;opacity:1}.ieeesa-body{text-align:left;font-family:Calibri Regular;font-size:1.25em;letter-spacing:0;color:#000;opacity:1}.ieeesa-display-lg-57{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:3.5625em;line-height:64px;color:#000;letter-spacing:0}.ieeesa-display-md-47{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.9375em;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.375em;line-height:44px;color:#000;letter-spacing:0}.ieeesa-headline-lg-34{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:2.125em;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.875em;line-height:36px;color:#000;letter-spacing:0}.ieeesa-headline-sm-26{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1.625em;line-height:32px;color:#000;letter-spacing:0}.ieeesa-title-lg-bold-24{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.5em;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.5em;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.125em;line-height:24px;color:#000;letter-spacing:.009375em}.ieeesa-title-sm-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-bold-16{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-lg-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.00625em}.ieeesa-label-md-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-label-sm-13{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.8125em;line-height:16px;color:#000;letter-spacing:.03125em}.ieeesa-body-lg-bold-18{font-family:Calibri Regular;font-style:normal;font-weight:700;font-size:1.125em;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.125em;line-height:24px;color:#000;letter-spacing:.03125em}.ieeesa-body-md-16{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:1em;line-height:20px;color:#000;letter-spacing:.015625em}.ieeesa-body-sm-14{font-family:Calibri Regular;font-style:normal;font-weight:400;font-size:.875em;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.5em;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{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 Regular;font-style:normal;font-weight:700;font-size:1em;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: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:active{background:rgba(29,25,43,.12)}.mat-mdc-button.mat-mdc-button-base.mat-secondary-button:disabled{background:rgba(28,27,31,.12);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:active{background:rgba(103,80,164,.12)}.mat-mdc-button.mat-mdc-button-base.mat-tertiary-button:disabled{border:1px solid rgba(28,27,31,.12);color:#1c1b1f;opacity:.38}.ieeesa-text-button{color:#cac4d0;background:none;border:none}.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 Regular;font-style:normal;font-weight:700;font-size:1em;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{width:100%;min-width:312px}.ieeesa-dynamic-form__actions{display:flex;padding-top:15px}.ieeesa-dynamic-form__actions--left-btn{margin-right:2%}.ieeesa-dynamic-form__form-field{padding-top:20px}\n"] }]
|
|
1938
1969
|
}], ctorParameters: function () { return [{ type: i3.FormBuilder }]; }, propDecorators: { formFields: [{
|
|
1939
1970
|
type: ViewChildren,
|
|
@@ -2427,5 +2458,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImpor
|
|
|
2427
2458
|
* Generated bundle index. Do not edit.
|
|
2428
2459
|
*/
|
|
2429
2460
|
|
|
2430
|
-
export { AutocompleteComponent, CalendarType, CheckboxComponent, CustomDateAdapter, DatePickerComponent, DatePickerHeaderComponent, DatepickerService, DynamicFormComponent, DynamicFormFieldDirective, FooterComponent, FormControlType, FormErrorComponent, FormUtilityService, HeaderComponent, InputComponent, ModalComponent, ModalConfirmationComponent, NavigationMenuComponent, NotificationComponent, PresentationModule, RadioComponent, SearchComponent, SearchType, SelectComponent, TextAreaComponent, ToggleButtonComponent };
|
|
2461
|
+
export { AlignmentType, AutocompleteComponent, CalendarType, CheckboxComponent, CustomDateAdapter, DatePickerComponent, DatePickerHeaderComponent, DatepickerService, DynamicFormComponent, DynamicFormFieldDirective, FocusInvalidFormFieldDirective, FooterComponent, FormControlType, FormErrorComponent, FormUtilityService, HeaderComponent, InputComponent, ModalComponent, ModalConfirmationComponent, NavigationMenuComponent, NotificationComponent, PresentationModule, RadioComponent, SearchComponent, SearchType, SelectComponent, TextAreaComponent, ToggleButtonComponent };
|
|
2431
2462
|
//# sourceMappingURL=ieeesa-npm-presentation.mjs.map
|