@skyux/forms 11.26.0 → 11.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/documentation.json +1306 -1306
- package/esm2022/lib/modules/character-counter/character-counter-indicator.component.mjs +4 -4
- package/esm2022/lib/modules/character-counter/character-counter-screen-reader.pipe.mjs +4 -4
- package/esm2022/lib/modules/character-counter/character-counter.directive.mjs +4 -4
- package/esm2022/lib/modules/character-counter/character-counter.module.mjs +5 -5
- package/esm2022/lib/modules/checkbox/checkbox-group.component.mjs +4 -4
- package/esm2022/lib/modules/checkbox/checkbox-label-text-label.component.mjs +4 -4
- package/esm2022/lib/modules/checkbox/checkbox-label.component.mjs +4 -4
- package/esm2022/lib/modules/checkbox/checkbox.component.mjs +4 -4
- package/esm2022/lib/modules/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/lib/modules/field-group/field-group.component.mjs +4 -4
- package/esm2022/lib/modules/field-group/field-group.module.mjs +5 -5
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-join-ids.pipe.mjs +4 -4
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs +4 -4
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.component.mjs +4 -4
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.module.mjs +5 -5
- package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment.service.mjs +4 -4
- package/esm2022/lib/modules/file-attachment/file-attachments.module.mjs +5 -5
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.component.mjs +10 -7
- package/esm2022/lib/modules/file-attachment/file-drop/file-drop.module.mjs +5 -5
- package/esm2022/lib/modules/file-attachment/file-drop/file-item.component.mjs +5 -5
- package/esm2022/lib/modules/file-attachment/shared/file-item.service.mjs +4 -4
- package/esm2022/lib/modules/file-attachment/shared/file-size.pipe.mjs +4 -4
- package/esm2022/lib/modules/form-error/form-error.component.mjs +4 -4
- package/esm2022/lib/modules/form-error/form-error.module.mjs +5 -5
- package/esm2022/lib/modules/form-error/form-errors.component.mjs +4 -4
- package/esm2022/lib/modules/form-error/form-errors.module.mjs +5 -5
- package/esm2022/lib/modules/input-box/input-box-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/input-box/input-box-control.directive.mjs +4 -4
- package/esm2022/lib/modules/input-box/input-box-hint-text.pipe.mjs +4 -4
- package/esm2022/lib/modules/input-box/input-box-host.service.mjs +4 -4
- package/esm2022/lib/modules/input-box/input-box.component.mjs +6 -6
- package/esm2022/lib/modules/input-box/input-box.module.mjs +5 -5
- package/esm2022/lib/modules/radio/radio-group-id.service.mjs +4 -4
- package/esm2022/lib/modules/radio/radio-group.component.mjs +4 -4
- package/esm2022/lib/modules/radio/radio-label.component.mjs +4 -4
- package/esm2022/lib/modules/radio/radio.component.mjs +4 -4
- package/esm2022/lib/modules/radio/radio.module.mjs +5 -5
- package/esm2022/lib/modules/required-state/required-state.directive.mjs +4 -4
- package/esm2022/lib/modules/selection-box/selection-box-adapter.service.mjs +4 -4
- package/esm2022/lib/modules/selection-box/selection-box-description.component.mjs +4 -4
- package/esm2022/lib/modules/selection-box/selection-box-grid.component.mjs +4 -4
- package/esm2022/lib/modules/selection-box/selection-box-header.component.mjs +4 -4
- package/esm2022/lib/modules/selection-box/selection-box.component.mjs +4 -4
- package/esm2022/lib/modules/selection-box/selection-box.module.mjs +5 -5
- package/esm2022/lib/modules/shared/sky-forms-resources.module.mjs +5 -5
- package/esm2022/lib/modules/toggle-switch/toggle-switch-label.component.mjs +4 -4
- package/esm2022/lib/modules/toggle-switch/toggle-switch.component.mjs +4 -4
- package/esm2022/lib/modules/toggle-switch/toggle-switch.module.mjs +5 -5
- package/fesm2022/skyux-forms.mjs +164 -163
- package/fesm2022/skyux-forms.mjs.map +1 -1
- package/package.json +14 -14
|
@@ -14,8 +14,8 @@ import { SkyCheckboxLabelComponent } from './checkbox-label.component';
|
|
|
14
14
|
import { SkyCheckboxComponent } from './checkbox.component';
|
|
15
15
|
import * as i0 from "@angular/core";
|
|
16
16
|
export class SkyCheckboxModule {
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
18
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyCheckboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
18
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyCheckboxModule, declarations: [SkyCheckboxComponent,
|
|
19
19
|
SkyCheckboxLabelComponent,
|
|
20
20
|
SkyCheckboxLabelTextLabelComponent], imports: [CommonModule,
|
|
21
21
|
FormsModule,
|
|
@@ -31,7 +31,7 @@ export class SkyCheckboxModule {
|
|
|
31
31
|
SkyCheckboxLabelComponent,
|
|
32
32
|
SkyCheckboxGroupComponent,
|
|
33
33
|
SkyFormErrorModule] }); }
|
|
34
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
34
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyCheckboxModule, imports: [CommonModule,
|
|
35
35
|
FormsModule,
|
|
36
36
|
SkyCheckboxGroupComponent,
|
|
37
37
|
SkyFormErrorModule,
|
|
@@ -43,7 +43,7 @@ export class SkyCheckboxModule {
|
|
|
43
43
|
SkyTrimModule,
|
|
44
44
|
SkyThemeModule, SkyFormErrorModule] }); }
|
|
45
45
|
}
|
|
46
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyCheckboxModule, decorators: [{
|
|
47
47
|
type: NgModule,
|
|
48
48
|
args: [{
|
|
49
49
|
declarations: [
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
72
72
|
],
|
|
73
73
|
}]
|
|
74
74
|
}] });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tib3gubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9jaGVja2JveC9jaGVja2JveC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNyRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMzRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2RSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUE0QjVELE1BQU0sT0FBTyxpQkFBaUI7K0dBQWpCLGlCQUFpQjtnSEFBakIsaUJBQWlCLGlCQXhCMUIsb0JBQW9CO1lBQ3BCLHlCQUF5QjtZQUN6QixrQ0FBa0MsYUFHbEMsWUFBWTtZQUNaLFdBQVc7WUFDWCx5QkFBeUI7WUFDekIsa0JBQWtCO1lBQ2xCLG1CQUFtQjtZQUNuQix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLGFBQWE7WUFDYixXQUFXO1lBQ1gsYUFBYTtZQUNiLGNBQWMsYUFHZCxvQkFBb0I7WUFDcEIseUJBQXlCO1lBQ3pCLHlCQUF5QjtZQUN6QixrQkFBa0I7Z0hBR1QsaUJBQWlCLFlBbkIxQixZQUFZO1lBQ1osV0FBVztZQUNYLHlCQUF5QjtZQUN6QixrQkFBa0I7WUFDbEIsbUJBQW1CO1lBQ25CLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFDbkIsYUFBYTtZQUNiLFdBQVc7WUFDWCxhQUFhO1lBQ2IsY0FBYyxFQU1kLGtCQUFrQjs7NEZBR1QsaUJBQWlCO2tCQTFCN0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCx5QkFBeUI7d0JBQ3pCLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQix1QkFBdUI7d0JBQ3ZCLG1CQUFtQjt3QkFDbkIsYUFBYTt3QkFDYixXQUFXO3dCQUNYLGFBQWE7d0JBQ2IsY0FBYztxQkFDZjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asb0JBQW9CO3dCQUNwQix5QkFBeUI7d0JBQ3pCLHlCQUF5Qjt3QkFDekIsa0JBQWtCO3FCQUNuQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSwgU2t5VHJpbU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLm1vZHVsZSc7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzTW9kdWxlIH0gZnJvbSAnLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuXG5pbXBvcnQgeyBTa3lDaGVja2JveEdyb3VwQ29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC1ncm91cC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbFRleHRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gtbGFiZWwtdGV4dC1sYWJlbC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Q2hlY2tib3hMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vY2hlY2tib3gtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUNoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTa3lDaGVja2JveENvbXBvbmVudCxcbiAgICBTa3lDaGVja2JveExhYmVsQ29tcG9uZW50LFxuICAgIFNreUNoZWNrYm94TGFiZWxUZXh0TGFiZWxDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgU2t5Q2hlY2tib3hHcm91cENvbXBvbmVudCxcbiAgICBTa3lGb3JtRXJyb3JNb2R1bGUsXG4gICAgU2t5Rm9ybUVycm9yc01vZHVsZSxcbiAgICBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5VHJpbU1vZHVsZSxcbiAgICBTa3lUaGVtZU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreUNoZWNrYm94Q29tcG9uZW50LFxuICAgIFNreUNoZWNrYm94TGFiZWxDb21wb25lbnQsXG4gICAgU2t5Q2hlY2tib3hHcm91cENvbXBvbmVudCxcbiAgICBTa3lGb3JtRXJyb3JNb2R1bGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUNoZWNrYm94TW9kdWxlIHt9XG4iXX0=
|
|
@@ -39,10 +39,10 @@ export class SkyFieldGroupComponent {
|
|
|
39
39
|
set headingStyle(value) {
|
|
40
40
|
this.headingClass = `sky-font-heading-${value}`;
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFieldGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyFieldGroupComponent, isStandalone: true, selector: "sky-field-group", inputs: { headingText: "headingText", hintText: "hintText", headingHidden: ["headingHidden", "headingHidden", booleanAttribute], stacked: ["stacked", "stacked", booleanAttribute], headingLevel: ["headingLevel", "headingLevel", numberAttribute3], headingStyle: ["headingStyle", "headingStyle", numberAttribute3], helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", helpKey: "helpKey" }, host: { properties: { "class.sky-margin-stacked-xl": "this.stacked" } }, ngImport: i0, template: "<fieldset\n class=\"sky-field-group\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n>\n <legend\n class=\"sky-field-group-legend\"\n [ngClass]=\"{\n 'sky-screen-reader-only': headingHidden\n }\"\n >\n <span class=\"sky-field-group-heading\">\n @switch (headingLevel) {\n @case (4) {\n <h4 [class]=\"headingClass\">{{ headingText }}</h4>\n }\n @default {\n <h3 [class]=\"headingClass\">{{ headingText }}</h3>\n }\n }\n </span>\n @if (helpPopoverContent || helpKey) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n class=\"sky-field-group-help-inline\"\n [helpKey]=\"helpKey\"\n [labelText]=\"headingText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n </legend>\n <div #hintTextEl=\"skyId\" skyId class=\"sky-field-group-hint-text-wrapper\">\n @if (hintText) {\n <div\n class=\"sky-field-group-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n </div>\n <div class=\"sky-field-group-content\">\n <ng-content />\n </div>\n</fieldset>\n", styles: [".sky-field-group:not(.sky-theme-modern *){--sky-override-field-group-content-space: 8px;--sky-override-field-group-content-with-hint-text-space: 10px;--sky-override-field-group-hint-text-space: 5px}:host{display:block}legend{display:flex}legend h3,legend h4{margin:0}.sky-field-group-hint-text{margin-top:var(--sky-override-field-group-hint-text-space, var(--sky-space-gap-stacked_supplemental-s))}.sky-field-group-content{margin-top:var(--sky-override-field-group-content-space, var(--sky-space-gap-form-s))}.sky-field-group-hint-text-wrapper:has(.sky-field-group-hint-text)+.sky-field-group-content{margin-top:var(--sky-override-field-group-content-with-hint-text-space, var(--sky-space-gap-form-l))}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i2.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i3.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }] }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFieldGroupComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{ selector: 'sky-field-group', standalone: true, imports: [CommonModule, SkyHelpInlineModule, SkyIdModule, SkyThemeModule], template: "<fieldset\n class=\"sky-field-group\"\n [attr.aria-describedby]=\"hintText ? hintTextEl.id : undefined\"\n>\n <legend\n class=\"sky-field-group-legend\"\n [ngClass]=\"{\n 'sky-screen-reader-only': headingHidden\n }\"\n >\n <span class=\"sky-field-group-heading\">\n @switch (headingLevel) {\n @case (4) {\n <h4 [class]=\"headingClass\">{{ headingText }}</h4>\n }\n @default {\n <h3 [class]=\"headingClass\">{{ headingText }}</h3>\n }\n }\n </span>\n @if (helpPopoverContent || helpKey) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n class=\"sky-field-group-help-inline\"\n [helpKey]=\"helpKey\"\n [labelText]=\"headingText\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n </legend>\n <div #hintTextEl=\"skyId\" skyId class=\"sky-field-group-hint-text-wrapper\">\n @if (hintText) {\n <div\n class=\"sky-field-group-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n </div>\n <div class=\"sky-field-group-content\">\n <ng-content />\n </div>\n</fieldset>\n", styles: [".sky-field-group:not(.sky-theme-modern *){--sky-override-field-group-content-space: 8px;--sky-override-field-group-content-with-hint-text-space: 10px;--sky-override-field-group-hint-text-space: 5px}:host{display:block}legend{display:flex}legend h3,legend h4{margin:0}.sky-field-group-hint-text{margin-top:var(--sky-override-field-group-hint-text-space, var(--sky-space-gap-stacked_supplemental-s))}.sky-field-group-content{margin-top:var(--sky-override-field-group-content-space, var(--sky-space-gap-form-s))}.sky-field-group-hint-text-wrapper:has(.sky-field-group-hint-text)+.sky-field-group-content{margin-top:var(--sky-override-field-group-content-with-hint-text-space, var(--sky-space-gap-form-l))}\n"] }]
|
|
48
48
|
}], propDecorators: { headingText: [{
|
|
@@ -72,4 +72,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
72
72
|
}], helpKey: [{
|
|
73
73
|
type: Input
|
|
74
74
|
}] } });
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpZWxkLWdyb3VwL2ZpZWxkLWdyb3VwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFdBQVcsRUFDWCxLQUFLLEVBRUwsZ0JBQWdCLEVBQ2hCLGVBQWUsR0FDaEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7Ozs7QUFLOUMsU0FBUyxnQkFBZ0IsQ0FBQyxLQUFjO0lBQ3RDLE9BQU8sZUFBZSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNuQyxDQUFDO0FBRUQ7O0dBRUc7QUFRSCxNQUFNLE9BQU8sc0JBQXNCO0lBUG5DO1FBcUJFOztXQUVHO1FBRUksa0JBQWEsR0FBRyxLQUFLLENBQUM7UUFFN0I7OztXQUdHO1FBR0ksWUFBTyxHQUFHLEtBQUssQ0FBQztRQUV2Qjs7O1dBR0c7UUFFSSxpQkFBWSxHQUE4QixDQUFDLENBQUM7UUFrQ3pDLGlCQUFZLEdBQUcsb0JBQW9CLENBQUM7S0FDL0M7SUFqQ0M7OztPQUdHO0lBQ0gsSUFDVyxZQUFZLENBQUMsS0FBZ0M7UUFDdEQsSUFBSSxDQUFDLFlBQVksR0FBRyxvQkFBb0IsS0FBSyxFQUFFLENBQUM7SUFDbEQsQ0FBQzsrR0ExQ1Usc0JBQXNCO21HQUF0QixzQkFBc0IsaUtBaUJiLGdCQUFnQixtQ0FPaEIsZ0JBQWdCLGtEQXRDN0IsZ0JBQWdCLGtEQUFoQixnQkFBZ0IsME1DaEJ6QixnMUNBaURBLHl2QkRyQlksWUFBWSw0SEFBRSxtQkFBbUIsd1BBQUUsV0FBVyw0R0FBRSxjQUFjOzs0RkFFN0Qsc0JBQXNCO2tCQVBsQyxTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksV0FDUCxDQUFDLFlBQVksRUFBRSxtQkFBbUIsRUFBRSxXQUFXLEVBQUUsY0FBYyxDQUFDOzhCQU9sRSxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFRbEIsUUFBUTtzQkFEZCxLQUFLO2dCQU9DLGFBQWE7c0JBRG5CLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUy9CLE9BQU87c0JBRmIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsNkJBQTZCO2dCQVFuQyxZQUFZO3NCQURsQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVEzQixZQUFZO3NCQUR0QixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVcvQixrQkFBa0I7c0JBRHhCLEtBQUs7Z0JBUUMsZ0JBQWdCO3NCQUR0QixLQUFLO2dCQVNDLE9BQU87c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgVGVtcGxhdGVSZWYsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIG51bWJlckF0dHJpYnV0ZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lJZE1vZHVsZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcbmltcG9ydCB7IFNreUhlbHBJbmxpbmVNb2R1bGUgfSBmcm9tICdAc2t5dXgvaGVscC1pbmxpbmUnO1xuaW1wb3J0IHsgU2t5VGhlbWVNb2R1bGUgfSBmcm9tICdAc2t5dXgvdGhlbWUnO1xuXG5pbXBvcnQgeyBTa3lGaWVsZEdyb3VwSGVhZGluZ0xldmVsIH0gZnJvbSAnLi9maWVsZC1ncm91cC1oZWFkaW5nLWxldmVsJztcbmltcG9ydCB7IFNreUZpZWxkR3JvdXBIZWFkaW5nU3R5bGUgfSBmcm9tICcuL2ZpZWxkLWdyb3VwLWhlYWRpbmctc3R5bGUnO1xuXG5mdW5jdGlvbiBudW1iZXJBdHRyaWJ1dGUzKHZhbHVlOiB1bmtub3duKTogbnVtYmVyIHtcbiAgcmV0dXJuIG51bWJlckF0dHJpYnV0ZSh2YWx1ZSwgMyk7XG59XG5cbi8qKlxuICogT3JnYW5pemVzIGZvcm0gZmllbGRzIGludG8gYSBncm91cC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWZpZWxkLWdyb3VwJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2ZpZWxkLWdyb3VwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2ZpZWxkLWdyb3VwLmNvbXBvbmVudC5zY3NzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgU2t5SGVscElubGluZU1vZHVsZSwgU2t5SWRNb2R1bGUsIFNreVRoZW1lTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmllbGRHcm91cENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBkaXNwbGF5IGFzIHRoZSBmaWVsZCBncm91cCdzIGhlYWRpbmcuXG4gICAqL1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KVxuICBwdWJsaWMgaGVhZGluZ1RleHQhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFtQZXJzaXN0ZW50IGlubGluZSBoZWxwIHRleHRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvdXNlci1hc3Npc3RhbmNlI2lubGluZS1oZWxwKSB0aGF0IHByb3ZpZGVzXG4gICAqIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0byBoaWRlIHRoZSBgaGVhZGluZ1RleHRgLlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIHB1YmxpYyBoZWFkaW5nSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGdyb3VwIGlzIHN0YWNrZWQgb24gYW5vdGhlciBmaWVsZCBncm91cC4gV2hlbiBzcGVjaWZpZWQsIHRoZSBhcHByb3ByaWF0ZVxuICAgKiB2ZXJ0aWNhbCBzcGFjaW5nIGlzIGF1dG9tYXRpY2FsbHkgYWRkZWQgdG8gdGhlIGZpZWxkIGdyb3VwLlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2t5LW1hcmdpbi1zdGFja2VkLXhsJylcbiAgcHVibGljIHN0YWNrZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIHNlbWFudGljIGhlYWRpbmcgbGV2ZWwgaW4gdGhlIGRvY3VtZW50IHN0cnVjdHVyZS5cbiAgICogQGRlZmF1bHQgM1xuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUzIH0pXG4gIHB1YmxpYyBoZWFkaW5nTGV2ZWw6IFNreUZpZWxkR3JvdXBIZWFkaW5nTGV2ZWwgPSAzO1xuXG4gIC8qKlxuICAgKiBUaGUgaGVhZGluZyBbZm9udCBzdHlsZV0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9kZXNpZ24vc3R5bGVzL3R5cG9ncmFwaHkjaGVhZGluZ3MpLlxuICAgKiBAZGVmYXVsdCAzXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZTMgfSlcbiAgcHVibGljIHNldCBoZWFkaW5nU3R5bGUodmFsdWU6IFNreUZpZWxkR3JvdXBIZWFkaW5nU3R5bGUpIHtcbiAgICB0aGlzLmhlYWRpbmdDbGFzcyA9IGBza3ktZm9udC1oZWFkaW5nLSR7dmFsdWV9YDtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgY29udGVudCBvZiB0aGUgaGVscCBwb3BvdmVyLiBXaGVuIHNwZWNpZmllZCBhbG9uZyB3aXRoIGBoZWFkaW5nVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBhZGRlZCB0byB0aGUgZmllbGQgZ3JvdXAgaGVhZGluZy4gVGhlIGhlbHAgaW5saW5lIGJ1dHRvbiBkaXNwbGF5cyBhIFtwb3BvdmVyXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcG9wb3ZlcilcbiAgICogd2hlbiBjbGlja2VkIHVzaW5nIHRoZSBzcGVjaWZpZWQgY29udGVudCBhbmQgb3B0aW9uYWwgdGl0bGUuIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlYWRpbmdUZXh0YCBpcyBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGhlYWRpbmdUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIHBsYWNlZCBiZXNpZGUgdGhlIGZpZWxkIGdyb3VwIGhlYWRpbmcuIENsaWNraW5nIHRoZSBidXR0b24gaW52b2tlcyBbZ2xvYmFsIGhlbHBdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvbGVhcm4vZGV2ZWxvcC9nbG9iYWwtaGVscClcbiAgICogYXMgY29uZmlndXJlZCBieSB0aGUgYXBwbGljYXRpb24uIFRoaXMgcHJvcGVydHkgb25seSBhcHBsaWVzIHdoZW4gYGhlYWRpbmdUZXh0YCBpcyBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwS2V5OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgcHJvdGVjdGVkIGhlYWRpbmdDbGFzcyA9ICdza3ktZm9udC1oZWFkaW5nLTMnO1xufVxuIiwiPGZpZWxkc2V0XG4gIGNsYXNzPVwic2t5LWZpZWxkLWdyb3VwXCJcbiAgW2F0dHIuYXJpYS1kZXNjcmliZWRieV09XCJoaW50VGV4dCA/IGhpbnRUZXh0RWwuaWQgOiB1bmRlZmluZWRcIlxuPlxuICA8bGVnZW5kXG4gICAgY2xhc3M9XCJza3ktZmllbGQtZ3JvdXAtbGVnZW5kXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LXNjcmVlbi1yZWFkZXItb25seSc6IGhlYWRpbmdIaWRkZW5cbiAgICB9XCJcbiAgPlxuICAgIDxzcGFuIGNsYXNzPVwic2t5LWZpZWxkLWdyb3VwLWhlYWRpbmdcIj5cbiAgICAgIEBzd2l0Y2ggKGhlYWRpbmdMZXZlbCkge1xuICAgICAgICBAY2FzZSAoNCkge1xuICAgICAgICAgIDxoNCBbY2xhc3NdPVwiaGVhZGluZ0NsYXNzXCI+e3sgaGVhZGluZ1RleHQgfX08L2g0PlxuICAgICAgICB9XG4gICAgICAgIEBkZWZhdWx0IHtcbiAgICAgICAgICA8aDMgW2NsYXNzXT1cImhlYWRpbmdDbGFzc1wiPnt7IGhlYWRpbmdUZXh0IH19PC9oMz5cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvc3Bhbj5cbiAgICBAaWYgKGhlbHBQb3BvdmVyQ29udGVudCB8fCBoZWxwS2V5KSB7XG4gICAgICA8c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWhlbHAtY29udGFpbmVyXCI+XG4gICAgICAgIDxza3ktaGVscC1pbmxpbmVcbiAgICAgICAgICBjbGFzcz1cInNreS1maWVsZC1ncm91cC1oZWxwLWlubGluZVwiXG4gICAgICAgICAgW2hlbHBLZXldPVwiaGVscEtleVwiXG4gICAgICAgICAgW2xhYmVsVGV4dF09XCJoZWFkaW5nVGV4dFwiXG4gICAgICAgICAgW3BvcG92ZXJUaXRsZV09XCJoZWxwUG9wb3ZlclRpdGxlXCJcbiAgICAgICAgICBbcG9wb3ZlckNvbnRlbnRdPVwiaGVscFBvcG92ZXJDb250ZW50XCJcbiAgICAgICAgLz5cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG4gIDwvbGVnZW5kPlxuICA8ZGl2ICNoaW50VGV4dEVsPVwic2t5SWRcIiBza3lJZCBjbGFzcz1cInNreS1maWVsZC1ncm91cC1oaW50LXRleHQtd3JhcHBlclwiPlxuICAgIEBpZiAoaGludFRleHQpIHtcbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJza3ktZmllbGQtZ3JvdXAtaGludC10ZXh0XCJcbiAgICAgICAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICAgICAgICdza3ktZm9udC1kZWVtcGhhc2l6ZWQnOiAnZGVmYXVsdCcsXG4gICAgICAgICAgJ3NreS1mb250LWhpbnQtdGV4dC1zJzogJ21vZGVybidcbiAgICAgICAgfVwiXG4gICAgICA+XG4gICAgICAgIHt7IGhpbnRUZXh0IH19XG4gICAgICA8L2Rpdj5cbiAgICB9XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwic2t5LWZpZWxkLWdyb3VwLWNvbnRlbnRcIj5cbiAgICA8bmctY29udGVudCAvPlxuICA8L2Rpdj5cbjwvZmllbGRzZXQ+XG4iXX0=
|
|
@@ -2,15 +2,15 @@ import { NgModule } from '@angular/core';
|
|
|
2
2
|
import { SkyFieldGroupComponent } from './field-group.component';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
export class SkyFieldGroupModule {
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
6
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
7
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFieldGroupModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyFieldGroupModule, imports: [SkyFieldGroupComponent], exports: [SkyFieldGroupComponent] }); }
|
|
7
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFieldGroupModule, imports: [SkyFieldGroupComponent] }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFieldGroupModule, decorators: [{
|
|
10
10
|
type: NgModule,
|
|
11
11
|
args: [{
|
|
12
12
|
imports: [SkyFieldGroupComponent],
|
|
13
13
|
exports: [SkyFieldGroupComponent],
|
|
14
14
|
}]
|
|
15
15
|
}] });
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmllbGQtZ3JvdXAubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWVsZC1ncm91cC9maWVsZC1ncm91cC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7QUFNakUsTUFBTSxPQUFPLG1CQUFtQjsrR0FBbkIsbUJBQW1CO2dIQUFuQixtQkFBbUIsWUFIcEIsc0JBQXNCLGFBQ3RCLHNCQUFzQjtnSEFFckIsbUJBQW1CLFlBSHBCLHNCQUFzQjs7NEZBR3JCLG1CQUFtQjtrQkFKL0IsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDakMsT0FBTyxFQUFFLENBQUMsc0JBQXNCLENBQUM7aUJBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgU2t5RmllbGRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vZmllbGQtZ3JvdXAuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1NreUZpZWxkR3JvdXBDb21wb25lbnRdLFxuICBleHBvcnRzOiBbU2t5RmllbGRHcm91cENvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreUZpZWxkR3JvdXBNb2R1bGUge31cbiJdfQ==
|
package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-join-ids.pipe.mjs
CHANGED
|
@@ -9,14 +9,14 @@ export class SkyFileAttachmentJoinIdsPipe {
|
|
|
9
9
|
// Remove undefined values and join with a " ".
|
|
10
10
|
return ids && ids.filter((id) => id).join(' ');
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentJoinIdsPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
13
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentJoinIdsPipe, isStandalone: true, name: "skyFileAttachmentJoinIds" }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentJoinIdsPipe, decorators: [{
|
|
16
16
|
type: Pipe,
|
|
17
17
|
args: [{
|
|
18
18
|
name: 'skyFileAttachmentJoinIds',
|
|
19
19
|
standalone: true,
|
|
20
20
|
}]
|
|
21
21
|
}] });
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWpvaW4taWRzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvZm9ybXMvc3JjL2xpYi9tb2R1bGVzL2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50LWpvaW4taWRzLnBpcGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBaUIsTUFBTSxlQUFlLENBQUM7O0FBRXBEOzs7R0FHRztBQUtILE1BQU0sT0FBTyw0QkFBNEI7SUFDaEMsU0FBUyxDQUFDLEdBQUcsR0FBa0M7UUFDcEQsK0NBQStDO1FBQy9DLE9BQU8sR0FBRyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRCxDQUFDOytHQUpVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUp4QyxJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSwwQkFBMEI7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBKb2lucyBhbiBhcnJheSBvZiBJRHMgd2l0aCBhIHNpbmdsZSBzcGFjZS5cbiAqIEBpbnRlcm5hbFxuICovXG5AUGlwZSh7XG4gIG5hbWU6ICdza3lGaWxlQXR0YWNobWVudEpvaW5JZHMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lGaWxlQXR0YWNobWVudEpvaW5JZHNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG4gIHB1YmxpYyB0cmFuc2Zvcm0oLi4uaWRzOiAoc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZClbXSk6IHN0cmluZyB8IG51bGwge1xuICAgIC8vIFJlbW92ZSB1bmRlZmluZWQgdmFsdWVzIGFuZCBqb2luIHdpdGggYSBcIiBcIi5cbiAgICByZXR1cm4gaWRzICYmIGlkcy5maWx0ZXIoKGlkKSA9PiBpZCkuam9pbignICcpO1xuICB9XG59XG4iXX0=
|
package/esm2022/lib/modules/file-attachment/file-attachment/file-attachment-label.component.mjs
CHANGED
|
@@ -18,14 +18,14 @@ export class SkyFileAttachmentLabelComponent {
|
|
|
18
18
|
'on the `sky-file-attachment` component instead.',
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SkyFileAttachmentLabelComponent, isStandalone: true, selector: "sky-file-attachment-label", viewQueries: [{ propertyName: "labelContentId", first: true, predicate: ["labelContentId"], descendants: true }], ngImport: i0, template: "<span class=\"sky-control-label\"\n ><span #labelContentId=\"skyId\" skyId skyTrim><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n", styles: [":host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}\n"], dependencies: [{ kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i1.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyTrimModule }, { kind: "directive", type: i1.λ4, selector: "[skyTrim]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentLabelComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [SkyIdModule, SkyTrimModule], selector: 'sky-file-attachment-label', standalone: true, template: "<span class=\"sky-control-label\"\n ><span #labelContentId=\"skyId\" skyId skyTrim><ng-content /></span\n ><span class=\"sky-control-help-container\"\n ><ng-content select=\".sky-control-help\" /></span\n></span>\n", styles: [":host-context(.sky-theme-modern) .sky-control-label{color:#686c73;font-size:13px}.sky-theme-modern .sky-control-label{color:#686c73;font-size:13px}\n"] }]
|
|
27
27
|
}], ctorParameters: () => [], propDecorators: { labelContentId: [{
|
|
28
28
|
type: ViewChild,
|
|
29
29
|
args: ['labelContentId']
|
|
30
30
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC1sYWJlbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxTQUFTLEVBQ1QsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxXQUFXLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBRXhFOzs7Ozs7O0dBT0c7QUFTSCxNQUFNLE9BQU8sK0JBQStCO0lBSTFDO1FBQ0UsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxpQ0FBaUMsRUFBRTtZQUNsRSx1QkFBdUIsRUFBRSxDQUFDO1lBQzFCLHlCQUF5QixFQUN2QixzRUFBc0U7Z0JBQ3RFLGlEQUFpRDtTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDOytHQVhVLCtCQUErQjttR0FBL0IsK0JBQStCLHVNQ3hCNUMsNk5BS0EsOE1EYVksV0FBVyw0R0FBRSxhQUFhOzs0RkFNekIsK0JBQStCO2tCQVIzQyxTQUFTO3NDQUNTLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxXQUFXLEVBQUUsYUFBYSxDQUFDLFlBQzNCLDJCQUEyQixjQUN6QixJQUFJO3dEQU1ULGNBQWM7c0JBRHBCLFNBQVM7dUJBQUMsZ0JBQWdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgVmlld0NoaWxkLFxuICBpbmplY3QsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5SWRNb2R1bGUsIFNreUxvZ1NlcnZpY2UsIFNreVRyaW1Nb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5cbi8qKlxuICogRGlzcGxheXMgYSBsYWJlbCBhYm92ZSB0aGUgZmlsZSBhdHRhY2htZW50IGVsZW1lbnQuIFRvIGRpc3BsYXkgYSBoZWxwIGJ1dHRvblxuICogYmVzaWRlIHRoZSBsYWJlbCwgaW5jbHVkZSBhIGhlbHAgYnV0dG9uIGVsZW1lbnQsIHN1Y2ggYXMgYHNreS1oZWxwLWlubGluZWAsXG4gKiBpbiB0aGUgYHNreS1maWxlLWF0dGFjaG1lbnQtbGFiZWxgIGVsZW1lbnQgYW5kIGEgYHNreS1jb250cm9sLWhlbHBgIENTUyBjbGFzc1xuICogb24gdGhhdCBoZWxwIGJ1dHRvbiBlbGVtZW50LlxuICogQGRlcHJlY2F0ZWQgVXNlIHRoZSBgbGFiZWxUZXh0YCBpbnB1dCBvbiB0aGUgc2luZ2xlIGZpbGUgYXR0YWNobWVudCBjb21wb25lbnRcbiAqIGluc3RlYWQuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1NreUlkTW9kdWxlLCBTa3lUcmltTW9kdWxlXSxcbiAgc2VsZWN0b3I6ICdza3ktZmlsZS1hdHRhY2htZW50LWxhYmVsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc3R5bGVVcmw6ICdmaWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2xhYmVsQ29udGVudElkJylcbiAgcHVibGljIGxhYmVsQ29udGVudElkOiB7IGlkOiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBpbmplY3QoU2t5TG9nU2VydmljZSkuZGVwcmVjYXRlZCgnU2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA5LFxuICAgICAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbjpcbiAgICAgICAgJ1RvIGFkZCBhIGxhYmVsIHRvIHNpbmdsZSBmaWxlIGF0dGFjaG1lbnQsIHVzZSB0aGUgYGxhYmVsVGV4dGAgaW5wdXQgJyArXG4gICAgICAgICdvbiB0aGUgYHNreS1maWxlLWF0dGFjaG1lbnRgIGNvbXBvbmVudCBpbnN0ZWFkLicsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxzcGFuIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICA+PHNwYW4gI2xhYmVsQ29udGVudElkPVwic2t5SWRcIiBza3lJZCBza3lUcmltPjxuZy1jb250ZW50IC8+PC9zcGFuXG4gID48c3BhbiBjbGFzcz1cInNreS1jb250cm9sLWhlbHAtY29udGFpbmVyXCJcbiAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiLnNreS1jb250cm9sLWhlbHBcIiAvPjwvc3BhblxuPjwvc3Bhbj5cbiJdfQ==
|
|
@@ -399,13 +399,13 @@ export class SkyFileAttachmentComponent {
|
|
|
399
399
|
#onChange;
|
|
400
400
|
// istanbul ignore next
|
|
401
401
|
#onTouched;
|
|
402
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
403
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.
|
|
402
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyFileAttachmentService }, { token: i2.SkyFileItemService }, { token: i3.NgControl, optional: true, self: true }, { token: i4.SkyThemeService, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
403
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: SkyFileAttachmentComponent, isStandalone: true, selector: "sky-file-attachment", inputs: { acceptedTypes: "acceptedTypes", acceptedTypesErrorMessage: "acceptedTypesErrorMessage", disabled: ["disabled", "disabled", booleanAttribute], helpPopoverContent: "helpPopoverContent", helpPopoverTitle: "helpPopoverTitle", helpKey: "helpKey", labelText: "labelText", labelHidden: ["labelHidden", "labelHidden", booleanAttribute], hintText: "hintText", maxFileSize: "maxFileSize", minFileSize: "minFileSize", stacked: ["stacked", "stacked", booleanAttribute], validateFn: "validateFn", required: ["required", "required", booleanAttribute] }, outputs: { fileChange: "fileChange", fileClick: "fileClick" }, host: { properties: { "class.sky-form-field-stacked": "this.stacked" } }, providers: [
|
|
404
404
|
SkyFileAttachmentService,
|
|
405
405
|
{ provide: SKY_FORM_ERRORS_ENABLED, useValue: true },
|
|
406
406
|
], queries: [{ propertyName: "labelComponents", predicate: SkyFileAttachmentLabelComponent }], viewQueries: [{ propertyName: "inputEl", first: true, predicate: ["fileInputRef"], descendants: true }], hostDirectives: [{ directive: i4.SkyThemeComponentClassDirective }], ngImport: i0, template: "<div class=\"sky-file-attachment-wrapper\">\n <div\n class=\"sky-file-attachment-label-wrapper\"\n [ngClass]=\"{\n 'sky-control-label-required':\n !labelText && isRequired && hasLabelComponent\n }\"\n >\n @if (labelText) {\n @if (!labelHidden) {\n <span\n class=\"sky-control-label\"\n [attr.id]=\"labelId\"\n [ngClass]=\"{\n 'sky-control-label-required': isRequired\n }\"\n >{{ labelText }}</span\n >\n }\n } @else {\n <ng-content select=\"sky-file-attachment-label\" />\n }\n @if (isRequired && (hasLabelComponent || labelText)) {\n <span class=\"sky-screen-reader-only\">{{\n 'skyux_file_attachment_required' | skyLibResources\n }}</span>\n }\n @if (labelText && (helpPopoverContent || helpKey)) {\n <span class=\"sky-control-help-container\">\n <sky-help-inline\n [labelText]=\"labelText\"\n [helpKey]=\"helpKey\"\n [popoverTitle]=\"helpPopoverTitle\"\n [popoverContent]=\"helpPopoverContent\"\n />\n </span>\n }\n </div>\n <div\n class=\"sky-file-attachment-upload sky-file-attachment sky-file-attachment-target\"\n [ngClass]=\"{\n 'sky-file-attachment-accept': acceptedOver,\n 'sky-file-attachment-reject': rejectedOver\n }\"\n (dragenter)=\"fileDragEnter($event)\"\n (dragover)=\"fileDragOver($event)\"\n (dragleave)=\"fileDragLeave($event)\"\n (drop)=\"fileDrop($event)\"\n >\n <div\n #fileDropDescriptionRef=\"skyId\"\n aria-hidden=\"true\"\n class=\"sky-screen-reader-only\"\n role=\"tooltip\"\n skyId\n >\n {{ 'skyux_file_attachment_file_upload_drag_or_click' | skyLibResources }}\n </div>\n <input\n #fileInputRef\n hidden\n tabindex=\"-1\"\n type=\"file\"\n [attr.accept]=\"acceptedTypes || null\"\n [disabled]=\"disabled\"\n [required]=\"isRequired\"\n (change)=\"fileChangeEvent($event)\"\n />\n @if (showFileAttachmentButton) {\n <button\n class=\"sky-file-attachment-btn sky-btn sky-btn-default\"\n type=\"button\"\n [attr.aria-describedby]=\"\n hintText && hintTextEl.id\n | skyFileAttachmentJoinIds: fileDropDescriptionRef.id\n \"\n [attr.aria-labelledby]=\"\n attachButtonLabelRef.id\n | skyFileAttachmentJoinIds\n : (labelText\n ? labelId\n : labelComponents?.get(0)?.labelContentId?.id)\n \"\n [attr.aria-invalid]=\"!!(ngControl?.errors ?? fileErrorValidation)\"\n [attr.aria-errormessage]=\"\n !!(ngControl?.errors ?? fileErrorValidation) ? errorId : undefined\n \"\n [disabled]=\"disabled\"\n (click)=\"onDropClicked()\"\n >\n <sky-icon icon=\"folder-open-o\" />\n {{\n value\n ? ('skyux_file_attachment_button_label_replace_file'\n | skyLibResources)\n : ('skyux_file_attachment_button_label_choose_file'\n | skyLibResources)\n }}\n </button>\n }\n @if (value && !isImage && currentThemeName === 'modern') {\n <sky-icon class=\"sky-file-attachment-icon\" icon=\"file-o\" />\n }\n @if (value || currentThemeName === 'default') {\n <span class=\"sky-file-attachment-file-link\">\n @if (value) {\n <a\n [href]=\"isData ? value.url : undefined\"\n [download]=\"isData ? value.file.name : undefined\"\n [attr.title]=\"fileName\"\n (click)=\"emitClick()\"\n >\n {{ truncatedFileName }}\n </a>\n } @else {\n <span class=\"sky-file-attachment-none sky-font-deemphasized\">\n {{ 'skyux_file_attachment_label_no_file_chosen' | skyLibResources }}\n </span>\n }\n </span>\n }\n\n @if (value) {\n <button\n class=\"sky-btn sky-btn-icon-borderless sky-file-attachment-delete\"\n type=\"button\"\n [attr.aria-labelledby]=\"\n deleteButtonLabelRef.id\n | skyFileAttachmentJoinIds\n : (labelText\n ? labelId\n : labelComponents?.get(0)?.labelContentId?.id)\n \"\n [disabled]=\"disabled\"\n (click)=\"deleteFileAttachment()\"\n >\n <sky-icon icon=\"trash-o\" size=\"md\" />\n </button>\n }\n </div>\n\n @if (value && isImage) {\n <img\n class=\"sky-file-attachment-preview-img\"\n [alt]=\"\n 'skyux_file_attachment_file_upload_image_preview_alt_text'\n | skyLibResources\n \"\n [src]=\"value.url\"\n />\n }\n</div>\n<div #hintTextEl=\"skyId\" skyId>\n @if (hintText) {\n <div\n class=\"sky-file-attachment-hint-text\"\n [skyThemeClass]=\"{\n 'sky-font-deemphasized': 'default',\n 'sky-font-hint-text-s': 'modern'\n }\"\n >\n {{ hintText }}\n </div>\n }\n</div>\n\n<sky-form-errors\n [id]=\"errorId\"\n [errors]=\"ngControl?.errors ?? fileErrorValidation\"\n [labelText]=\"labelText\"\n [touched]=\"ngControl?.touched\"\n [dirty]=\"ngControl?.dirty\"\n>\n <ng-content select=\"sky-form-error\" />\n @if (ngControl?.touched) {\n @if (fileErrorName === 'fileType') {\n <sky-form-error\n errorName=\"fileType\"\n [errorText]=\"\n acceptedTypesErrorMessage ??\n 'skyux_file_attachment_file_type_error_label_text'\n | skyLibResources: fileErrorParam\n \"\n />\n } @else if (fileErrorName === 'maxFileSize') {\n <sky-form-error\n errorName=\"maxFileSize\"\n [errorText]=\"\n 'skyux_file_attachment_max_file_size_error_label_text'\n | skyLibResources: (fileErrorParam | skyFileSize)\n \"\n />\n } @else if (fileErrorName === 'minFileSize') {\n <sky-form-error\n errorName=\"minFileSize\"\n [errorText]=\"\n 'skyux_file_attachment_min_file_size_error_label_text'\n | skyLibResources: (fileErrorParam | skyFileSize)\n \"\n />\n }\n }\n</sky-form-errors>\n\n<span\n #attachButtonLabelRef=\"skyId\"\n aria-hidden=\"true\"\n class=\"sky-screen-reader-only\"\n skyId\n>\n {{\n value\n ? ('skyux_file_attachment_button_label_replace_file_label'\n | skyLibResources: fileName)\n : ('skyux_file_attachment_button_label_choose_file_label'\n | skyLibResources)\n }}\n</span>\n\n<span\n #deleteButtonLabelRef=\"skyId\"\n aria-hidden=\"true\"\n class=\"sky-screen-reader-only\"\n skyId\n>\n {{ 'skyux_file_attachment_file_item_remove' | skyLibResources: fileName }}\n</span>\n", styles: [".sky-file-attachment-wrapper:not(.sky-theme-modern *){--sky-override-file-attachment-accept-border-color: #72bf44;--sky-override-file-attachment-accept-border-radius: 5px;--sky-override-file-attachment-accept-border-width: 1px;--sky-override-file-attachment-control-label-color: #212327;--sky-override-file-attachment-control-label-font-size: 15px;--sky-override-file-attachment-delete-margin-left: 0;--sky-override-file-attachment-file-link-padding: 0 5px;--sky-override-file-attachment-invalid-border: 1px solid #ef4044;--sky-override-file-attachment-invalid-box-shadow: 0 0 8px rgba(239, 64, 68, .6);--sky-override-file-attachment-invalid-label-color: #212327;--sky-override-file-attachment-preview-img-border: none;--sky-override-file-attachment-preview-img-box-shadow: 0 0 5px #666;--sky-override-file-attachment-preview-img-margin: 10px;--sky-override-file-attachment-preview-img-width: auto;--sky-override-file-attachment-reject-border-color: #ef4044;--sky-override-file-attachment-reject-border-radius: 5px;--sky-override-file-attachment-reject-border-width: 1px;--sky-override-file-attachment-upload-display: block;--sky-override-file-attachment-upload-padding-right: 8px;--sky-override-file-attachment-wrapper-display: inline-block}.sky-file-attachment-wrapper:not(.sky-theme-modern *) .sky-file-attachment-delete{padding:0}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-file-attachment-wrapper{--sky-override-file-attachment-accept-border-radius: 5px;--sky-override-file-attachment-accept-border-width: 1px;--sky-override-file-attachment-btn-non-stacked-margin: 0 10px 0 0;--sky-override-file-attachment-control-label-color: #686c73;--sky-override-file-attachment-control-label-font-size: 13px;--sky-override-file-attachment-delete-height: 40px;--sky-override-file-attachment-delete-width: 40px;--sky-override-file-attachment-file-icon-font-size: 30px;--sky-override-file-attachment-file-icon-line-height: normal;--sky-override-file-attachment-file-icon-margin: 5px 10px 5px 5px;--sky-override-file-attachment-file-link-margin: 10px 0 0 0;--sky-override-file-attachment-file-link-padding: 0;--sky-override-file-attachment-invalid-border: 1px solid #ef4044;--sky-override-file-attachment-invalid-box-shadow: 0 0 8px rgba(239, 64, 68, .6);--sky-override-file-attachment-invalid-label-color: #686c73;--sky-override-file-attachment-preview-img-border: var( --sky-border-width-separator-dark ) solid var(--sky-color-border-separator-dark);--sky-override-file-attachment-preview-img-box-shadow: none;--sky-override-file-attachment-preview-img-margin: 0 10px 0 0;--sky-override-file-attachment-reject-border-radius: 5px;--sky-override-file-attachment-reject-border-width: 1px;--sky-override-file-attachment-upload-with-icon-align-items: flex-start}:host-context(.sky-theme-modern:not(.sky-theme-brand-blackbaud)) .sky-file-attachment-wrapper .sky-file-attachment-delete{padding:0}:host.sky-cmp-theme-default{--sky-override-file-attachment-hint-text-margin-top: var( --sky-margin-stacked-xs )}:host.sky-form-field-stacked{display:block}:host:not(.sky-form-field-stacked) .sky-file-attachment-wrapper .sky-file-attachment-btn{margin:var(--sky-override-file-attachment-btn-non-stacked-margin, 0)}.sky-file-attachment-wrapper{display:var(--sky-override-file-attachment-wrapper-display, flex);flex-wrap:wrap}.sky-file-attachment-label-wrapper{width:100%}.sky-file-attachment-upload{flex:1;order:2;display:var(--sky-override-file-attachment-upload-display, flex);align-items:flex-start;padding-right:var(--sky-override-file-attachment-upload-padding-right, 0);border:1px solid transparent}.sky-file-attachment-upload:has(.sky-file-attachment-icon){align-items:var(--sky-override-file-attachment-upload-with-icon-align-items, center)}.sky-file-attachment-accept{border-color:var(--sky-override-file-attachment-accept-border-color, var(--sky-color-border-success));border-style:dashed;border-width:var(--sky-override-file-attachment-accept-border-width, var(--sky-border-width-input-hover));border-radius:var(--sky-override-file-attachment-accept-border-radius, var(--sky-border-radius-s))}.sky-file-attachment-reject{border-color:var(--sky-override-file-attachment-reject-border-color, var(--sky-color-border-danger));border-style:dashed;border-width:var(--sky-override-file-attachment-reject-border-width, var(--sky-border-width-input-hover));border-radius:var(--sky-override-file-attachment-reject-border-radius, var(--sky-border-radius-s))}.sky-file-attachment-btn,.sky-control-label{transition:border-color .15s,box-shadow .15s,color .15s}:host(.ng-invalid.ng-dirty) .sky-file-attachment-btn{box-shadow:var(--sky-override-file-attachment-invalid-box-shadow, none);border:var(--sky-override-file-attachment-invalid-border, var(--sky-border-width-input-error) solid var(--sky-color-border-input-error))}:host(.ng-invalid.ng-dirty) .sky-control-label{color:var(--sky-override-file-attachment-invalid-label-color, var(--sky-color-text-danger))}.sky-file-attachment-file-link{padding:var(--sky-override-file-attachment-file-link-padding, 0 0 0 var(--sky-space-gap-icon-m));margin:var(--sky-override-file-attachment-file-link-margin, 0)}.sky-file-attachment-delete{width:var(--sky-override-file-attachment-delete-width, auto);height:var(--sky-override-file-attachment-delete-height, auto);margin-left:var(--sky-override-file-attachment-delete-margin-left, var(--sky-space-gap-text_action-s))}.sky-file-attachment-preview-img{flex:0;order:1;max-width:25%;width:var(--sky-override-file-attachment-preview-img-width, var(--sky-size-thumbnail-l));height:auto;box-shadow:var(--sky-override-file-attachment-preview-img-box-shadow, var(--sky-elevation-raised-100));border:var(--sky-override-file-attachment-preview-img-border, none);margin:var(--sky-override-file-attachment-preview-img-margin, 0)}.sky-file-attachment-hint-text{margin-top:var(--sky-override-file-attachment-hint-text-margin-top, var(--sky-space-gap-stacked_supplemental-s))}.sky-control-label{color:var(--sky-override-file-attachment-control-label-color, var(--sky-color-text-deemphasized));font-size:var(--sky-override-file-attachment-control-label-font-size, var(--sky-font-size-input-label))}.sky-file-attachment-icon{color:var(--sky-color-icon-deemphasized);margin:var(--sky-override-file-attachment-file-icon-margin, 0 0 0 var(--sky-gap-icon-m));font-size:var(--sky-override-file-attachment-file-icon-font-size, var(--sky-size-icon-xl));line-height:var(--sky-override-file-attachment-file-icon-line-height, 1)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: SkyFileAttachmentJoinIdsPipe, name: "skyFileAttachmentJoinIds" }, { kind: "pipe", type: SkyFileSizePipe, name: "skyFileSize" }, { kind: "component", type: SkyFormErrorComponent, selector: "sky-form-error", inputs: ["errorName", "errorText"] }, { kind: "component", type: SkyFormErrorsComponent, selector: "sky-form-errors", inputs: ["errors", "labelText", "touched", "dirty"] }, { kind: "ngmodule", type: SkyFormsResourcesModule }, { kind: "pipe", type: i6.SkyLibResourcesPipe, name: "skyLibResources" }, { kind: "ngmodule", type: SkyHelpInlineModule }, { kind: "component", type: i7.λ1, selector: "sky-help-inline", inputs: ["ariaControls", "ariaExpanded", "ariaLabel", "helpKey", "labelledBy", "labelText", "popoverContent", "popoverTitle"], outputs: ["actionClick"] }, { kind: "ngmodule", type: SkyIconModule }, { kind: "component", type: i8.λ1, selector: "sky-icon", inputs: ["icon", "iconName", "iconType", "size", "fixedWidth", "variant"] }, { kind: "ngmodule", type: SkyIdModule }, { kind: "directive", type: i9.λ2, selector: "[skyId]", exportAs: ["skyId"] }, { kind: "ngmodule", type: SkyThemeModule }, { kind: "directive", type: i4.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }, { kind: "directive", type: SkyThemeComponentClassDirective, selector: "[skyThemeClass]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
407
407
|
}
|
|
408
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentComponent, decorators: [{
|
|
409
409
|
type: Component,
|
|
410
410
|
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, imports: [
|
|
411
411
|
CommonModule,
|
|
@@ -475,4 +475,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
475
475
|
type: ContentChildren,
|
|
476
476
|
args: [SkyFileAttachmentLabelComponent]
|
|
477
477
|
}] } });
|
|
478
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBRU4sSUFBSSxFQUVKLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUNMLCtCQUErQixFQUMvQixjQUFjLEdBRWYsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFP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QUNVO3dCQUNULHdCQUF3Qjt3QkFDeEIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtxQkFDckQsa0JBQ2UsQ0FBQywrQkFBK0IsQ0FBQyxZQUN2QyxxQkFBcUIsY0FDbkIsSUFBSTs7MEJBdU9iLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFRO3lDQXROSixhQUFhO3NCQURuQixLQUFLO2dCQVFDLHlCQUF5QjtzQkFEL0IsS0FBSztnQkFRQyxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUy9CLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFRQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBU0MsT0FBTztzQkFEYixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVEvQixRQUFRO3NCQURkLEtBQUs7Z0JBUUssV0FBVztzQkFEckIsS0FBSztnQkFjSyxXQUFXO3NCQURyQixLQUFLO2dCQWVDLE9BQU87c0JBRmIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsOEJBQThCO2dCQVNwQyxVQUFVO3NCQURoQixLQUFLO2dCQVFDLFVBQVU7c0JBRGhCLE1BQU07Z0JBT0EsU0FBUztzQkFEZixNQUFNO2dCQWlCQSxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBc0MvQixPQUFPO3NCQURiLFNBQVM7dUJBQUMsY0FBYztnQkFJbEIsZUFBZTtzQkFEckIsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBTa3lJZE1vZHVsZSxcbiAgU2t5SWRTZXJ2aWNlLFxuICBTa3lMaXZlQW5ub3VuY2VyU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7XG4gIFNreVRoZW1lQ29tcG9uZW50Q2xhc3NEaXJlY3RpdmUsXG4gIFNreVRoZW1lTW9kdWxlLFxuICBTa3lUaGVtZVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4uLy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtZW5hYmxlZC10b2tlbic7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuLi9zaGFyZWQvZmlsZS1pdGVtJztcbmltcG9ydCB7IFNreUZpbGVJdGVtRXJyb3JUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2ZpbGUtaXRlbS1lcnJvci10eXBlJztcbmltcG9ydCB7IFNreUZpbGVJdGVtU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9maWxlLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBTa3lGaWxlU2l6ZVBpcGUgfSBmcm9tICcuLi9zaGFyZWQvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgU2t5RmlsZVZhbGlkYXRlRm4gfSBmcm9tICcuLi9zaGFyZWQvZmlsZS12YWxpZGF0ZS1mdW5jdGlvbic7XG5cbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2hhbmdlIH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtY2hhbmdlJztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2xpY2sgfSBmcm9tICcuL2ZpbGUtYXR0YWNobWVudC1jbGljayc7XG5pbXBvcnQgeyBTa3lGaWxlQXR0YWNobWVudEpvaW5JZHNQaXBlIH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtam9pbi1pZHMucGlwZSc7XG5pbXBvcnQgeyBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50U2VydmljZSB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LnNlcnZpY2UnO1xuXG5jb25zdCBNQVhfRklMRV9TSVpFX0RFRkFVTFQgPSA1MDAwMDA7XG5jb25zdCBNSU5fRklMRV9TSVpFX0RFRkFVTFQgPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFuIGVsZW1lbnQgdG8gYXR0YWNoIGEgc2luZ2xlIGxvY2FsIGZpbGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lGaWxlQXR0YWNobWVudEpvaW5JZHNQaXBlLFxuICAgIFNreUZpbGVTaXplUGlwZSxcbiAgICBTa3lGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgU2t5Rm9ybUVycm9yc0NvbXBvbmVudCxcbiAgICBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VGhlbWVDb21wb25lbnRDbGFzc0RpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQsIHVzZVZhbHVlOiB0cnVlIH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbU2t5VGhlbWVDb21wb25lbnRDbGFzc0RpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnc2t5LWZpbGUtYXR0YWNobWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZUF0dGFjaG1lbnRDb21wb25lbnRcbiAgaW1wbGVtZW50c1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBUaGUgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBsaXRlcmFsIG9mIE1JTUUgdHlwZXMgdGhhdCB1c2VycyBjYW4gYXR0YWNoLlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgZmlsZSB0eXBlcyBhcmUgYWxsb3dlZC5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWNjZXB0ZWRUeXBlczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGN1c3RvbSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhIGZpbGUgZG9lc24ndCBtYXRjaCB0aGUgYWNjZXB0ZWQgdHlwZXMuXG4gICAqIFRoaXMgcmVwbGFjZXMgYSBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgdGhhdCBsaXN0cyBhbGwgYWNjZXB0ZWQgdHlwZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWNjZXB0ZWRUeXBlc0Vycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGlucHV0IG9uIHRlbXBsYXRlLWRyaXZlbiBmb3Jtcy4gRG9uJ3QgdXNlIHRoaXMgaW5wdXQgb24gcmVhY3RpdmUgZm9ybXMgYmVjYXVzZSB0aGV5IG1heSBvdmVyd3JpdGUgdGhlIGlucHV0IG9yIGxlYXZlIHRoZSBjb250cm9sIG91dCBvZiBzeW5jLlxuICAgKiBUbyBzZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHJlYWN0aXZlIGZvcm1zLCB1c2UgdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgbGFiZWxUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50IGxhYmVsLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgbGFiZWxUZXh0YCBpcyBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBwbGFjZWQgYmVzaWRlIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50IGxhYmVsLiBDbGlja2luZyB0aGUgYnV0dG9uIGludm9rZXMgW2dsb2JhbCBoZWxwXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2RldmVsb3AvZ2xvYmFsLWhlbHApXG4gICAqIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBsYWJlbFRleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBhcyB0aGUgZmlsZSBhdHRhY2htZW50J3MgbGFiZWwuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaGlkZSBgbGFiZWxUZXh0YCBmcm9tIHZpZXcuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFtQZXJzaXN0ZW50IGlubGluZSBoZWxwIHRleHRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvdXNlci1hc3Npc3RhbmNlI2lubGluZS1oZWxwKSB0aGF0IHByb3ZpZGVzXG4gICAqIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICogQGRlZmF1bHQgNTAwMDAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEZpbGVTaXplKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4RmlsZVNpemUgPSB2YWx1ZSA/PyBNQVhfRklMRV9TSVpFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heEZpbGVTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tYXhGaWxlU2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW5GaWxlU2l6ZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX21pbkZpbGVTaXplID0gdmFsdWUgPz8gTUlOX0ZJTEVfU0laRV9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGdldCBtaW5GaWxlU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWluRmlsZVNpemU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2luZ2xlIGZpbGUgYXR0YWNobWVudCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZm9ybSBjb21wb25lbnQuIFdoZW4gc3BlY2lmaWVkLFxuICAgKiB0aGUgYXBwcm9wcmlhdGUgdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50LlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2t5LWZvcm0tZmllbGQtc3RhY2tlZCcpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbi4gVGhpcyB2YWxpZGF0aW9uIHJ1bnMgYWxvbmdzaWRlIHRoZSBpbnRlcm5hbFxuICAgKiBmaWxlIHZhbGlkYXRpb24uIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSBgU2t5RmlsZUl0ZW1gIG9iamVjdCBhcyBhIHBhcmFtZXRlci5cbiAgICogQGRlcHJlY2F0ZWQgQWRkIGEgY3VzdG9tIEFuZ3VsYXIgYFZhbGlkYXRvcmAgZnVuY3Rpb24gdG8gdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0ZUZuOiBTa3lGaWxlVmFsaWRhdGVGbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBhZGQgb3IgcmVtb3ZlIGZpbGVzLlxuICAgKiBAZGVwcmVjYXRlZCBTdWJzY3JpYmUgdG8gdGhlIGZvcm0gY29udHJvbCdzIGB2YWx1ZUNoYW5nZXNgIGV2ZW50IGluc3RlYWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVBdHRhY2htZW50Q2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgZmlsZSBuYW1lIGxpbmsuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUF0dGFjaG1lbnRDbGljaz4oKTtcblxuICBwdWJsaWMgYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG5cbiAgcHVibGljIGhhc0xhYmVsQ29tcG9uZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIHJlamVjdGVkT3ZlciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyByZXF1aXJlZCBmb3IgZm9ybSB2YWxpZGF0aW9uLlxuICAgKiBXaGVuIHlvdSBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgdHJ1ZWAsIHRoZSBjb21wb25lbnQgYWRkcyBgYXJpYS1yZXF1aXJlZGAgYW5kIGByZXF1aXJlZGBcbiAgICogYXR0cmlidXRlcyB0byB0aGUgaW5wdXQgZWxlbWVudCBzbyB0aGF0IGZvcm1zIGRpc3BsYXkgYW4gaW52YWxpZCBzdGF0ZSB1bnRpbCB0aGUgaW5wdXQgZWxlbWVudFxuICAgKiBpcyBjb21wbGV0ZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLXJlcXVpcmVkYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1yZXF1aXJlZCkuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgLy8gVGhlIG51bGwgY2hlY2sgaXMgbmVlZGVkIHRvIGFkZHJlc3MgYSBidWcgaW4gQW5ndWxhciA0LlxuICAgIC8vIHdyaXRlVmFsdWUgaXMgYmVpbmcgY2FsbGVkIHR3aWNlLCBmaXJzdCB0aW1lIHdpdGggYSBwaGFudG9tIG51bGwgdmFsdWVcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4XG4gICAgY29uc3QgaXNOZXdWYWx1ZSA9IHZhbHVlICE9PSB0aGlzLnZhbHVlICYmIHZhbHVlICE9PSBudWxsO1xuXG4gICAgaWYgKGlzTmV3VmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmlzRGF0YSA9IHZhbHVlLnVybD8uc3RhcnRzV2l0aCgnZGF0YTonKTtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlLmlzSW1hZ2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0RhdGEgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiNzZXRGaWxlTmFtZSh2YWx1ZSk7XG5cbiAgICAgIHRoaXMuI192YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy4jb25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy4jdXBkYXRlRmlsZUF0dGFjaG1lbnRCdXR0b24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFNreUZpbGVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZhbHVlO1xuICB9XG5cbiAgcHVibGljIGN1cnJlbnRUaGVtZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZmlsZU5hbWUgPSAnJztcblxuICBwdWJsaWMgc2hvd0ZpbGVBdHRhY2htZW50QnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgdHJ1bmNhdGVkRmlsZU5hbWUgPSAnJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXRSZWYnKVxuICBwdWJsaWMgaW5wdXRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkcmVuKFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQpXG4gIHB1YmxpYyBsYWJlbENvbXBvbmVudHM6XG4gICAgfCBRdWVyeUxpc3Q8U2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNJbWFnZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBpc0RhdGEgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgZ2V0IGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVxdWlyZWQgfHxcbiAgICAgICh0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICAjZW50ZXJFdmVudFRhcmdldDogRXZlbnRUYXJnZXQgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX21heEZpbGVTaXplID0gTUFYX0ZJTEVfU0laRV9ERUZBVUxUO1xuXG4gICNfbWluRmlsZVNpemUgPSBNSU5fRklMRV9TSVpFX0RFRkFVTFQ7XG5cbiAgI192YWx1ZTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2ZpbGVBdHRhY2htZW50U2VydmljZTogU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlO1xuICAjZmlsZUl0ZW1TZXJ2aWNlOiBTa3lGaWxlSXRlbVNlcnZpY2U7XG4gICN0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuICByZWFkb25seSAjbGl2ZUFubm91bmNlclN2YyA9IGluamVjdChTa3lMaXZlQW5ub3VuY2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZXNTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgcHJvdGVjdGVkIGxhYmVsSWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgcHJvdGVjdGVkIGZpbGVFcnJvck5hbWU6IFNreUZpbGVJdGVtRXJyb3JUeXBlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgZmlsZUVycm9yUGFyYW06IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIGZpbGVFcnJvclZhbGlkYXRpb246IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBmaWxlQXR0YWNobWVudFNlcnZpY2U6IFNreUZpbGVBdHRhY2htZW50U2VydmljZSxcbiAgICBmaWxlSXRlbVNlcnZpY2U6IFNreUZpbGVJdGVtU2VydmljZSxcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIG5nQ29udHJvbD86IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNmaWxlQXR0YWNobWVudFNlcnZpY2UgPSBmaWxlQXR0YWNobWVudFNlcnZpY2U7XG4gICAgdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlID0gZmlsZUl0ZW1TZXJ2aWNlO1xuICAgIHRoaXMubmdDb250cm9sID0gbmdDb250cm9sO1xuICAgIHRoaXMuI3RoZW1lU3ZjID0gdGhlbWVTdmM7XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIHRoaXMuY3VycmVudFRoZW1lTmFtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWU7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlRmlsZUF0dGFjaG1lbnRCdXR0b24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNy5cbiAgICAvLyBXaGVuIGEgY29udHJvbCB2YWx1ZSBpcyBzZXQgaW5pdGlhbGx5LCBpdHMgdmFsdWUgaXMgbm90IHJlcHJlc2VudGVkIG9uIHRoZSB2aWV3LlxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM3OTJcbiAgICAvLyBPZiBub3RlIGlzIHRoZSBwYXJlbnQgY2hlY2sgd2hpY2ggYWxsb3dzIHVzIHRvIGRldGVybWluZSBpZiB0aGUgZm9ybSBpcyByZWFjdGl2ZS5cbiAgICAvLyBXaXRob3V0IHRoaXMgY2hlY2sgdGhlcmUgaXMgYSBjaGFuZ2VkIGJlZm9yZSBjaGVja2VkIGVycm9yXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodGhpcy52YWx1ZSwge1xuICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGFiZWxDb21wb25lbnRzKSB7XG4gICAgICB0aGlzLmhhc0xhYmVsQ29tcG9uZW50ID0gdGhpcy5sYWJlbENvbXBvbmVudHMubGVuZ3RoID4gMDtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgLy8gSGFuZGxlcyB1cGRhdGluZyBjbGFzc2VzIHdoZW4gbGFiZWwgY2hhbmdlc1xuICAgICAgdGhpcy5sYWJlbENvbXBvbmVudHMuY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKG5ld0xhYmVsQ29tcG9uZW50czogUXVlcnlMaXN0PFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQ+KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhc0xhYmVsQ29tcG9uZW50ID0gbmV3TGFiZWxDb21wb25lbnRzLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRyb3BDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCgpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaW5wdXRFbCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZUV2ZW50KGZpbGVDaGFuZ2VFdmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVGaWxlcyhcbiAgICAgIChmaWxlQ2hhbmdlRXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQpPy5maWxlcyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbGVEcmFnRW50ZXIoZHJhZ0VudGVyRXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIC8vIFNhdmUgdGhpcyB0YXJnZXQgdG8ga25vdyB3aGVuIHRoZSBkcmFnIGV2ZW50IGxlYXZlc1xuICAgIHRoaXMuI2VudGVyRXZlbnRUYXJnZXQgPSBkcmFnRW50ZXJFdmVudC50YXJnZXQ7XG4gICAgZHJhZ0VudGVyRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJhZ0VudGVyRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ092ZXIoZHJhZ092ZXJFdmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdHJhbnNmZXIgPSBkcmFnT3ZlckV2ZW50LmRhdGFUcmFuc2ZlcjtcblxuICAgIGRyYWdPdmVyRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJhZ092ZXJFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRyYW5zZmVyKSB7XG4gICAgICBpZiAodHJhbnNmZXIuaXRlbXMpIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKHRyYW5zZmVyLml0ZW1zKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBmaWxlLnR5cGUgJiZcbiAgICAgICAgICAgIHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5maWxlVHlwZVJlamVjdGVkKFxuICAgICAgICAgICAgICBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRUeXBlcyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWNjZXB0ZWRPdmVyKSB7XG4gICAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgICAgLy8gSWYgdGhlIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBEYXRhVHJhbnNmZXIuaXRlbXMsXG4gICAgICAgIC8vIGRlZmVyIGZpbGUtdHlwZSBjaGVja2luZyB0byBkcm9wIGhhbmRsZXIuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9EYXRhVHJhbnNmZXIvaXRlbXMjQnJvd3Nlcl9jb21wYXRpYmlsaXR5XG4gICAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZURyb3AoZHJvcEV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBkcm9wRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJvcEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLiNlbnRlckV2ZW50VGFyZ2V0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcblxuICAgIGlmIChkcm9wRXZlbnQuZGF0YVRyYW5zZmVyICYmIGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgIGlmIChkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5oYXNEaXJlY3RvcnkoZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcylcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2hhbmRsZUZpbGVzKGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ0xlYXZlKGRyYWdMZWF2ZUV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jZW50ZXJFdmVudFRhcmdldCA9PT0gZHJhZ0xlYXZlRXZlbnQudGFyZ2V0KSB7XG4gICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlRmlsZUF0dGFjaG1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnZhbHVlPy5maWxlLm5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KHRoaXMudmFsdWUpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2U6IHNhZmV0eSBjaGVjayAqL1xuICAgIGlmIChmaWxlTmFtZSkge1xuICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9maWxlX3JlbW92ZWQnLFxuICAgICAgICBmaWxlTmFtZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5maWxlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNvbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29udHJvbC4gSW1wbGVtZW50ZWQgYXMgYSBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBXaGV0aGVyIHRoZSBjb250cm9sIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Q2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5maWxlQ2xpY2suZW1pdCh7XG4gICAgICAgIGZpbGU6IHRoaXMudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjYW5ub3VuY2VTdGF0ZShyZXNvdXJjZVN0cmluZzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgLmdldFN0cmluZyhyZXNvdXJjZVN0cmluZywgLi4uYXJncylcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChpbnRlcm5hdGlvbmFsaXplZFN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLiNsaXZlQW5ub3VuY2VyU3ZjLmFubm91bmNlKGludGVybmF0aW9uYWxpemVkU3RyaW5nKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI2VtaXRGaWxlQ2hhbmdlRXZlbnQoY3VycmVudEZpbGU/OiBTa3lGaWxlSXRlbSk6IHZvaWQge1xuICAgIGlmIChjdXJyZW50RmlsZSAmJiAhY3VycmVudEZpbGUuZXJyb3JUeXBlKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoY3VycmVudEZpbGUpO1xuICAgICAgdGhpcy5maWxlRXJyb3JOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5maWxlRXJyb3JQYXJhbSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZmlsZUVycm9yVmFsaWRhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgICAvLyBNYWtlcyBzdXJlIHZhbHVlIGFjY2Vzc29yIGlzIG1hcmtlZCBhcyBkaXJ0eSBldmVuIGlmIGN1cnJlbnQgZmlsZSBpcyB1bmRlZmluZWRcbiAgICAgIHRoaXMuI29uQ2hhbmdlKHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLmZpbGVFcnJvclZhbGlkYXRpb24gPSB7IGZpbGVFcnJvcjogdHJ1ZSB9O1xuICAgICAgdGhpcy5maWxlRXJyb3JOYW1lID0gY3VycmVudEZpbGU/LmVycm9yVHlwZTtcbiAgICAgIHRoaXMuZmlsZUVycm9yUGFyYW0gPSBjdXJyZW50RmlsZT8uZXJyb3JQYXJhbTtcbiAgICB9XG4gICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoe1xuICAgICAgZmlsZTogY3VycmVudEZpbGUsXG4gICAgfSBhcyBTa3lGaWxlQXR0YWNobWVudENoYW5nZSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRGaWxlKGZpbGU6IFNreUZpbGVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGZpbGUuZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZXZlbnQ6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZpbGVOYW1lID0gdGhpcy52YWx1ZT8uZmlsZS5uYW1lO1xuICAgICAgICBmaWxlLnVybCA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7XG4gICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpbGVOYW1lKSB7XG4gICAgICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZmlsZV9yZXBsYWNlZCcsXG4gICAgICAgICAgICBwcmV2aW91c0ZpbGVOYW1lLFxuICAgICAgICAgICAgZmlsZS5maWxlLm5hbWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9maWxlX2FkZGVkJyxcbiAgICAgICAgICAgIGZpbGUuZmlsZS5uYW1lLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICB9KTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KGZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUuZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgI2hhbmRsZUZpbGVzKGZpbGVzPzogRmlsZUxpc3QgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGZpbGVzKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWRGaWxlcyA9IHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5jaGVja0ZpbGVzKFxuICAgICAgICBmaWxlcyxcbiAgICAgICAgdGhpcy5taW5GaWxlU2l6ZSxcbiAgICAgICAgdGhpcy5tYXhGaWxlU2l6ZSxcbiAgICAgICAgdGhpcy5hY2NlcHRlZFR5cGVzLFxuICAgICAgICB0aGlzLnZhbGlkYXRlRm4sXG4gICAgICApO1xuXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgcHJvY2Vzc2VkRmlsZXMpIHtcbiAgICAgICAgaWYgKGZpbGUuZXJyb3JUeXBlKSB7XG4gICAgICAgICAgdGhpcy4jZW1pdEZpbGVDaGFuZ2VFdmVudChmaWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNsb2FkRmlsZShmaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZXRGaWxlTmFtZShmaWxlPzogU2t5RmlsZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgZHJvcE5hbWUgPVxuICAgICAgICB0aGlzLiNmaWxlSXRlbVNlcnZpY2UuaXNGaWxlKGZpbGUpICYmIGZpbGUuZmlsZS5uYW1lXG4gICAgICAgICAgPyBmaWxlLmZpbGUubmFtZVxuICAgICAgICAgIDogZmlsZS51cmw7XG5cbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBkcm9wTmFtZTtcblxuICAgICAgaWYgKGRyb3BOYW1lLmxlbmd0aCA+IDI2KSB7XG4gICAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSBkcm9wTmFtZS5zbGljZSgwLCAyNikgKyAnLi4uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSBkcm9wTmFtZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWxlTmFtZSA9ICcnO1xuICAgICAgdGhpcy50cnVuY2F0ZWRGaWxlTmFtZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVGaWxlQXR0YWNobWVudEJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dGaWxlQXR0YWNobWVudEJ1dHRvbiA9ICEoXG4gICAgICB0aGlzLnZhbHVlICYmIHRoaXMuY3VycmVudFRoZW1lTmFtZSA9PT0gJ21vZGVybidcbiAgICApO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAjb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAjb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICAgIHJldHVybjtcbiAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LXdyYXBwZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1sYWJlbC13cmFwcGVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOlxuICAgICAgICAhbGFiZWxUZXh0ICYmIGlzUmVxdWlyZWQgJiYgaGFzTGFiZWxDb21wb25lbnRcbiAgICB9XCJcbiAgPlxuICAgIEBpZiAobGFiZWxUZXh0KSB7XG4gICAgICBAaWYgKCFsYWJlbEhpZGRlbikge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgIFthdHRyLmlkXT1cImxhYmVsSWRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IGlzUmVxdWlyZWRcbiAgICAgICAgICB9XCJcbiAgICAgICAgICA+e3sgbGFiZWxUZXh0IH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1maWxlLWF0dGFjaG1lbnQtbGFiZWxcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzUmVxdWlyZWQgJiYgKGhhc0xhYmVsQ29tcG9uZW50IHx8IGxhYmVsVGV4dCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwic2t5LXNjcmVlbi1yZWFkZXItb25seVwiPnt7XG4gICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfcmVxdWlyZWQnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChsYWJlbFRleHQgJiYgKGhlbHBQb3BvdmVyQ29udGVudCB8fCBoZWxwS2V5KSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiPlxuICAgICAgICA8c2t5LWhlbHAtaW5saW5lXG4gICAgICAgICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgIC8+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC11cGxvYWQgc2t5LWZpbGUtYXR0YWNobWVudCBza3ktZmlsZS1hdHRhY2htZW50LXRhcmdldFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1maWxlLWF0dGFjaG1lbnQtYWNjZXB0JzogYWNjZXB0ZWRPdmVyLFxuICAgICAgJ3NreS1maWxlLWF0dGFjaG1lbnQtcmVqZWN0JzogcmVqZWN0ZWRPdmVyXG4gICAgfVwiXG4gICAgKGRyYWdlbnRlcik9XCJmaWxlRHJhZ0VudGVyKCRldmVudClcIlxuICAgIChkcmFnb3Zlcik9XCJmaWxlRHJhZ092ZXIoJGV2ZW50KVwiXG4gICAgKGRyYWdsZWF2ZSk9XCJmaWxlRHJhZ0xlYXZlKCRldmVudClcIlxuICAgIChkcm9wKT1cImZpbGVEcm9wKCRldmVudClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI2ZpbGVEcm9wRGVzY3JpcHRpb25SZWY9XCJza3lJZFwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgY2xhc3M9XCJza3ktc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgIHNreUlkXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9kcmFnX29yX2NsaWNrJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgI2ZpbGVJbnB1dFJlZlxuICAgICAgaGlkZGVuXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHRlZFR5cGVzIHx8IG51bGxcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgIC8+XG4gICAgQGlmIChzaG93RmlsZUF0dGFjaG1lbnRCdXR0b24pIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWJ0biBza3ktYnRuIHNreS1idG4tZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIlxuICAgICAgICAgIGhpbnRUZXh0ICYmIGhpbnRUZXh0RWwuaWRcbiAgICAgICAgICAgIHwgc2t5RmlsZUF0dGFjaG1lbnRKb2luSWRzOiBmaWxlRHJvcERlc2NyaXB0aW9uUmVmLmlkXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICBhdHRhY2hCdXR0b25MYWJlbFJlZi5pZFxuICAgICAgICAgICAgfCBza3lGaWxlQXR0YWNobWVudEpvaW5JZHNcbiAgICAgICAgICAgICAgOiAobGFiZWxUZXh0XG4gICAgICAgICAgICAgICAgICA/IGxhYmVsSWRcbiAgICAgICAgICAgICAgICAgIDogbGFiZWxDb21wb25lbnRzPy5nZXQoMCk/LmxhYmVsQ29udGVudElkPy5pZClcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhKG5nQ29udHJvbD8uZXJyb3JzID8/IGZpbGVFcnJvclZhbGlkYXRpb24pXCJcbiAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiXG4gICAgICAgICAgISEobmdDb250cm9sPy5lcnJvcnMgPz8gZmlsZUVycm9yVmFsaWRhdGlvbikgPyBlcnJvcklkIDogdW5kZWZpbmVkXG4gICAgICAgIFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvbkRyb3BDbGlja2VkKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImZvbGRlci1vcGVuLW9cIiAvPlxuICAgICAgICB7e1xuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICA/ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9yZXBsYWNlX2ZpbGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgOiAoJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9idXR0b25fbGFiZWxfY2hvb3NlX2ZpbGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICB9fVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIEBpZiAodmFsdWUgJiYgIWlzSW1hZ2UgJiYgY3VycmVudFRoZW1lTmFtZSA9PT0gJ21vZGVybicpIHtcbiAgICAgIDxza3ktaWNvbiBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtaWNvblwiIGljb249XCJmaWxlLW9cIiAvPlxuICAgIH1cbiAgICBAaWYgKHZhbHVlIHx8IGN1cnJlbnRUaGVtZU5hbWUgPT09ICdkZWZhdWx0Jykge1xuICAgICAgPHNwYW4gY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWZpbGUtbGlua1wiPlxuICAgICAgICBAaWYgKHZhbHVlKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtocmVmXT1cImlzRGF0YSA/IHZhbHVlLnVybCA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICBbZG93bmxvYWRdPVwiaXNEYXRhID8gdmFsdWUuZmlsZS5uYW1lIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImZpbGVOYW1lXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlbWl0Q2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdHJ1bmNhdGVkRmlsZU5hbWUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1ub25lIHNreS1mb250LWRlZW1waGFzaXplZFwiPlxuICAgICAgICAgICAge3sgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9sYWJlbF9ub19maWxlX2Nob3NlbicgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKHZhbHVlKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktZmlsZS1hdHRhY2htZW50LWRlbGV0ZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgICAgZGVsZXRlQnV0dG9uTGFiZWxSZWYuaWRcbiAgICAgICAgICAgIHwgc2t5RmlsZUF0dGFjaG1lbnRKb2luSWRzXG4gICAgICAgICAgICAgIDogKGxhYmVsVGV4dFxuICAgICAgICAgICAgICAgICAgPyBsYWJlbElkXG4gICAgICAgICAgICAgICAgICA6IGxhYmVsQ29tcG9uZW50cz8uZ2V0KDApPy5sYWJlbENvbnRlbnRJZD8uaWQpXG4gICAgICAgIFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJkZWxldGVGaWxlQXR0YWNobWVudCgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJ0cmFzaC1vXCIgc2l6ZT1cIm1kXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmICh2YWx1ZSAmJiBpc0ltYWdlKSB7XG4gICAgPGltZ1xuICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LXByZXZpZXctaW1nXCJcbiAgICAgIFthbHRdPVwiXG4gICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfaW1hZ2VfcHJldmlld19hbHRfdGV4dCdcbiAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgXCJcbiAgICAgIFtzcmNdPVwidmFsdWUudXJsXCJcbiAgICAvPlxuICB9XG48L2Rpdj5cbjxkaXYgI2hpbnRUZXh0RWw9XCJza3lJZFwiIHNreUlkPlxuICBAaWYgKGhpbnRUZXh0KSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWhpbnQtdGV4dFwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktZm9udC1kZWVtcGhhc2l6ZWQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktZm9udC1oaW50LXRleHQtcyc6ICdtb2Rlcm4nXG4gICAgICB9XCJcbiAgICA+XG4gICAgICB7eyBoaW50VGV4dCB9fVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPHNreS1mb3JtLWVycm9yc1xuICBbaWRdPVwiZXJyb3JJZFwiXG4gIFtlcnJvcnNdPVwibmdDb250cm9sPy5lcnJvcnMgPz8gZmlsZUVycm9yVmFsaWRhdGlvblwiXG4gIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgW3RvdWNoZWRdPVwibmdDb250cm9sPy50b3VjaGVkXCJcbiAgW2RpcnR5XT1cIm5nQ29udHJvbD8uZGlydHlcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZm9ybS1lcnJvclwiIC8+XG4gIEBpZiAobmdDb250cm9sPy50b3VjaGVkKSB7XG4gICAgQGlmIChmaWxlRXJyb3JOYW1lID09PSAnZmlsZVR5cGUnKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwiZmlsZVR5cGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgICAgIGFjY2VwdGVkVHlwZXNFcnJvck1lc3NhZ2UgPz9cbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV90eXBlX2Vycm9yX2xhYmVsX3RleHQnXG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZmlsZUVycm9yUGFyYW1cbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfSBAZWxzZSBpZiAoZmlsZUVycm9yTmFtZSA9PT0gJ21heEZpbGVTaXplJykge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X21heF9maWxlX3NpemVfZXJyb3JfbGFiZWxfdGV4dCdcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiAoZmlsZUVycm9yUGFyYW0gfCBza3lGaWxlU2l6ZSlcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfSBAZWxzZSBpZiAoZmlsZUVycm9yTmFtZSA9PT0gJ21pbkZpbGVTaXplJykge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cIm1pbkZpbGVTaXplXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X21pbl9maWxlX3NpemVfZXJyb3JfbGFiZWxfdGV4dCdcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiAoZmlsZUVycm9yUGFyYW0gfCBza3lGaWxlU2l6ZSlcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfVxuICB9XG48L3NreS1mb3JtLWVycm9ycz5cblxuPHNwYW5cbiAgI2F0dGFjaEJ1dHRvbkxhYmVsUmVmPVwic2t5SWRcIlxuICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIlxuICBza3lJZFxuPlxuICB7e1xuICAgIHZhbHVlXG4gICAgICA/ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9yZXBsYWNlX2ZpbGVfbGFiZWwnXG4gICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBmaWxlTmFtZSlcbiAgICAgIDogKCdza3l1eF9maWxlX2F0dGFjaG1lbnRfYnV0dG9uX2xhYmVsX2Nob29zZV9maWxlX2xhYmVsJ1xuICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgfX1cbjwvc3Bhbj5cblxuPHNwYW5cbiAgI2RlbGV0ZUJ1dHRvbkxhYmVsUmVmPVwic2t5SWRcIlxuICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIlxuICBza3lJZFxuPlxuICB7eyAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfaXRlbV9yZW1vdmUnIHwgc2t5TGliUmVzb3VyY2VzOiBmaWxlTmFtZSB9fVxuPC9zcGFuPlxuIl19
|
|
478
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2Zvcm1zL3NyYy9saWIvbW9kdWxlcy9maWxlLWF0dGFjaG1lbnQvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUdMLHVCQUF1QixFQUV2QixTQUFTLEVBQ1QsZUFBZSxFQUVmLFlBQVksRUFDWixXQUFXLEVBQ1gsS0FBSyxFQUdMLFFBQVEsRUFDUixNQUFNLEVBRU4sSUFBSSxFQUVKLFNBQVMsRUFDVCxnQkFBZ0IsRUFDaEIsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFJTCxVQUFVLEdBQ1gsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQ0wsV0FBVyxFQUNYLFlBQVksRUFDWix1QkFBdUIsR0FDeEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDekQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUNMLCtCQUErQixFQUMvQixjQUFjLEdBRWYsTUFBTSxjQUFjLENBQUM7QUFFdEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFP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QUNVO3dCQUNULHdCQUF3Qjt3QkFDeEIsRUFBRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtxQkFDckQsa0JBQ2UsQ0FBQywrQkFBK0IsQ0FBQyxZQUN2QyxxQkFBcUIsY0FDbkIsSUFBSTs7MEJBdU9iLElBQUk7OzBCQUFJLFFBQVE7OzBCQUNoQixRQUFRO3lDQXROSixhQUFhO3NCQURuQixLQUFLO2dCQVFDLHlCQUF5QjtzQkFEL0IsS0FBSztnQkFRQyxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBUy9CLGtCQUFrQjtzQkFEeEIsS0FBSztnQkFRQyxnQkFBZ0I7c0JBRHRCLEtBQUs7Z0JBU0MsT0FBTztzQkFEYixLQUFLO2dCQU9DLFNBQVM7c0JBRGYsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFO2dCQVEvQixRQUFRO3NCQURkLEtBQUs7Z0JBUUssV0FBVztzQkFEckIsS0FBSztnQkFjSyxXQUFXO3NCQURyQixLQUFLO2dCQWVDLE9BQU87c0JBRmIsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTs7c0JBQ3JDLFdBQVc7dUJBQUMsOEJBQThCO2dCQVNwQyxVQUFVO3NCQURoQixLQUFLO2dCQVFDLFVBQVU7c0JBRGhCLE1BQU07Z0JBT0EsU0FBUztzQkFEZixNQUFNO2dCQWlCQSxRQUFRO3NCQURkLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBc0MvQixPQUFPO3NCQURiLFNBQVM7dUJBQUMsY0FBYztnQkFJbEIsZUFBZTtzQkFEckIsZUFBZTt1QkFBQywrQkFBK0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFNlbGYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIGJvb2xlYW5BdHRyaWJ1dGUsXG4gIGluamVjdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTmdDb250cm9sLFxuICBWYWxpZGF0aW9uRXJyb3JzLFxuICBWYWxpZGF0b3JzLFxufSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQge1xuICBTa3lJZE1vZHVsZSxcbiAgU2t5SWRTZXJ2aWNlLFxuICBTa3lMaXZlQW5ub3VuY2VyU2VydmljZSxcbn0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgU2t5SGVscElubGluZU1vZHVsZSB9IGZyb20gJ0Bza3l1eC9oZWxwLWlubGluZSc7XG5pbXBvcnQgeyBTa3lMaWJSZXNvdXJjZXNTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pY29uJztcbmltcG9ydCB7XG4gIFNreVRoZW1lQ29tcG9uZW50Q2xhc3NEaXJlY3RpdmUsXG4gIFNreVRoZW1lTW9kdWxlLFxuICBTa3lUaGVtZVNlcnZpY2UsXG59IGZyb20gJ0Bza3l1eC90aGVtZSc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5Rm9ybUVycm9yQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9ybS1lcnJvci9mb3JtLWVycm9yLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTS1lfRk9STV9FUlJPUlNfRU5BQkxFRCB9IGZyb20gJy4uLy4uL2Zvcm0tZXJyb3IvZm9ybS1lcnJvcnMtZW5hYmxlZC10b2tlbic7XG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JzQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vZm9ybS1lcnJvci9mb3JtLWVycm9ycy5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5Rm9ybXNSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi8uLi9zaGFyZWQvc2t5LWZvcm1zLXJlc291cmNlcy5tb2R1bGUnO1xuaW1wb3J0IHsgU2t5RmlsZUl0ZW0gfSBmcm9tICcuLi9zaGFyZWQvZmlsZS1pdGVtJztcbmltcG9ydCB7IFNreUZpbGVJdGVtRXJyb3JUeXBlIH0gZnJvbSAnLi4vc2hhcmVkL2ZpbGUtaXRlbS1lcnJvci10eXBlJztcbmltcG9ydCB7IFNreUZpbGVJdGVtU2VydmljZSB9IGZyb20gJy4uL3NoYXJlZC9maWxlLWl0ZW0uc2VydmljZSc7XG5pbXBvcnQgeyBTa3lGaWxlU2l6ZVBpcGUgfSBmcm9tICcuLi9zaGFyZWQvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgU2t5RmlsZVZhbGlkYXRlRm4gfSBmcm9tICcuLi9zaGFyZWQvZmlsZS12YWxpZGF0ZS1mdW5jdGlvbic7XG5cbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2hhbmdlIH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtY2hhbmdlJztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50Q2xpY2sgfSBmcm9tICcuL2ZpbGUtYXR0YWNobWVudC1jbGljayc7XG5pbXBvcnQgeyBTa3lGaWxlQXR0YWNobWVudEpvaW5JZHNQaXBlIH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtam9pbi1pZHMucGlwZSc7XG5pbXBvcnQgeyBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWF0dGFjaG1lbnQtbGFiZWwuY29tcG9uZW50JztcbmltcG9ydCB7IFNreUZpbGVBdHRhY2htZW50U2VydmljZSB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LnNlcnZpY2UnO1xuXG5jb25zdCBNQVhfRklMRV9TSVpFX0RFRkFVTFQgPSA1MDAwMDA7XG5jb25zdCBNSU5fRklMRV9TSVpFX0RFRkFVTFQgPSAwO1xuXG4vKipcbiAqIFByb3ZpZGVzIGFuIGVsZW1lbnQgdG8gYXR0YWNoIGEgc2luZ2xlIGxvY2FsIGZpbGUuXG4gKi9cbkBDb21wb25lbnQoe1xuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lGaWxlQXR0YWNobWVudEpvaW5JZHNQaXBlLFxuICAgIFNreUZpbGVTaXplUGlwZSxcbiAgICBTa3lGb3JtRXJyb3JDb21wb25lbnQsXG4gICAgU2t5Rm9ybUVycm9yc0NvbXBvbmVudCxcbiAgICBTa3lGb3Jtc1Jlc291cmNlc01vZHVsZSxcbiAgICBTa3lIZWxwSW5saW5lTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5SWRNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VGhlbWVDb21wb25lbnRDbGFzc0RpcmVjdGl2ZSxcbiAgXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlLFxuICAgIHsgcHJvdmlkZTogU0tZX0ZPUk1fRVJST1JTX0VOQUJMRUQsIHVzZVZhbHVlOiB0cnVlIH0sXG4gIF0sXG4gIGhvc3REaXJlY3RpdmVzOiBbU2t5VGhlbWVDb21wb25lbnRDbGFzc0RpcmVjdGl2ZV0sXG4gIHNlbGVjdG9yOiAnc2t5LWZpbGUtYXR0YWNobWVudCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsOiAnLi9maWxlLWF0dGFjaG1lbnQuY29tcG9uZW50LnNjc3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudC5odG1sJyxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZUF0dGFjaG1lbnRDb21wb25lbnRcbiAgaW1wbGVtZW50c1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgICBPbkluaXQsXG4gICAgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBUaGUgY29tbWEtZGVsaW1pdGVkIHN0cmluZyBsaXRlcmFsIG9mIE1JTUUgdHlwZXMgdGhhdCB1c2VycyBjYW4gYXR0YWNoLlxuICAgKiBCeSBkZWZhdWx0LCBhbGwgZmlsZSB0eXBlcyBhcmUgYWxsb3dlZC5cbiAgICogQHJlcXVpcmVkXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWNjZXB0ZWRUeXBlczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBBIGN1c3RvbSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgd2hlbiBhIGZpbGUgZG9lc24ndCBtYXRjaCB0aGUgYWNjZXB0ZWQgdHlwZXMuXG4gICAqIFRoaXMgcmVwbGFjZXMgYSBkZWZhdWx0IGVycm9yIG1lc3NhZ2UgdGhhdCBsaXN0cyBhbGwgYWNjZXB0ZWQgdHlwZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgYWNjZXB0ZWRUeXBlc0Vycm9yTWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGRpc2FibGUgdGhlIGlucHV0IG9uIHRlbXBsYXRlLWRyaXZlbiBmb3Jtcy4gRG9uJ3QgdXNlIHRoaXMgaW5wdXQgb24gcmVhY3RpdmUgZm9ybXMgYmVjYXVzZSB0aGV5IG1heSBvdmVyd3JpdGUgdGhlIGlucHV0IG9yIGxlYXZlIHRoZSBjb250cm9sIG91dCBvZiBzeW5jLlxuICAgKiBUbyBzZXQgdGhlIGRpc2FibGVkIHN0YXRlIG9uIHJlYWN0aXZlIGZvcm1zLCB1c2UgdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KVxuICBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIGhlbHAgcG9wb3Zlci4gV2hlbiBzcGVjaWZpZWQgYWxvbmcgd2l0aCBgbGFiZWxUZXh0YCwgYSBbaGVscCBpbmxpbmVdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9oZWxwLWlubGluZSlcbiAgICogYnV0dG9uIGlzIGFkZGVkIHRvIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50IGxhYmVsLiBUaGUgaGVscCBpbmxpbmUgYnV0dG9uIGRpc3BsYXlzIGEgW3BvcG92ZXJdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvY29tcG9uZW50cy9wb3BvdmVyKVxuICAgKiB3aGVuIGNsaWNrZWQgdXNpbmcgdGhlIHNwZWNpZmllZCBjb250ZW50IGFuZCBvcHRpb25hbCB0aXRsZS4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgbGFiZWxUZXh0YCBpcyBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlckNvbnRlbnQ6IHN0cmluZyB8IFRlbXBsYXRlUmVmPHVua25vd24+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIGhlbHAgcG9wb3Zlci4gVGhpcyBwcm9wZXJ0eSBvbmx5IGFwcGxpZXMgd2hlbiBgaGVscFBvcG92ZXJDb250ZW50YCBpc1xuICAgKiBhbHNvIHNwZWNpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoZWxwUG9wb3ZlclRpdGxlOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIEEgaGVscCBrZXkgdGhhdCBpZGVudGlmaWVzIHRoZSBnbG9iYWwgaGVscCBjb250ZW50IHRvIGRpc3BsYXkuIFdoZW4gc3BlY2lmaWVkIGFsb25nIHdpdGggYGxhYmVsVGV4dGAsIGEgW2hlbHAgaW5saW5lXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvaGVscC1pbmxpbmUpXG4gICAqIGJ1dHRvbiBpcyBwbGFjZWQgYmVzaWRlIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50IGxhYmVsLiBDbGlja2luZyB0aGUgYnV0dG9uIGludm9rZXMgW2dsb2JhbCBoZWxwXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2xlYXJuL2RldmVsb3AvZ2xvYmFsLWhlbHApXG4gICAqIGFzIGNvbmZpZ3VyZWQgYnkgdGhlIGFwcGxpY2F0aW9uLiBUaGlzIHByb3BlcnR5IG9ubHkgYXBwbGllcyB3aGVuIGBsYWJlbFRleHRgIGlzIGFsc28gc3BlY2lmaWVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGhlbHBLZXk6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gZGlzcGxheSBhcyB0aGUgZmlsZSBhdHRhY2htZW50J3MgbGFiZWwuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgbGFiZWxUZXh0OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaGlkZSBgbGFiZWxUZXh0YCBmcm9tIHZpZXcuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIGxhYmVsSGlkZGVuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFtQZXJzaXN0ZW50IGlubGluZSBoZWxwIHRleHRdKGh0dHBzOi8vZGV2ZWxvcGVyLmJsYWNrYmF1ZC5jb20vc2t5dXgvZGVzaWduL2d1aWRlbGluZXMvdXNlci1hc3Npc3RhbmNlI2lubGluZS1oZWxwKSB0aGF0IHByb3ZpZGVzXG4gICAqIGFkZGl0aW9uYWwgY29udGV4dCB0byB0aGUgdXNlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoaW50VGV4dDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICogQGRlZmF1bHQgNTAwMDAwXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IG1heEZpbGVTaXplKHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfbWF4RmlsZVNpemUgPSB2YWx1ZSA/PyBNQVhfRklMRV9TSVpFX0RFRkFVTFQ7XG4gIH1cblxuICBwdWJsaWMgZ2V0IG1heEZpbGVTaXplKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuI19tYXhGaWxlU2l6ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgbWluaW11bSBzaXplIGluIGJ5dGVzIGZvciB2YWxpZCBmaWxlcy5cbiAgICogQGRlZmF1bHQgMFxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtaW5GaWxlU2l6ZSh2YWx1ZTogbnVtYmVyIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy4jX21pbkZpbGVTaXplID0gdmFsdWUgPz8gTUlOX0ZJTEVfU0laRV9ERUZBVUxUO1xuICB9XG5cbiAgcHVibGljIGdldCBtaW5GaWxlU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLiNfbWluRmlsZVNpemU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgc2luZ2xlIGZpbGUgYXR0YWNobWVudCBpcyBzdGFja2VkIG9uIGFub3RoZXIgZm9ybSBjb21wb25lbnQuIFdoZW4gc3BlY2lmaWVkLFxuICAgKiB0aGUgYXBwcm9wcmlhdGUgdmVydGljYWwgc3BhY2luZyBpcyBhdXRvbWF0aWNhbGx5IGFkZGVkIHRvIHRoZSBzaW5nbGUgZmlsZSBhdHRhY2htZW50LlxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pXG4gIEBIb3N0QmluZGluZygnY2xhc3Muc2t5LWZvcm0tZmllbGQtc3RhY2tlZCcpXG4gIHB1YmxpYyBzdGFja2VkID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdmFsaWRhdGlvbiBmdW5jdGlvbi4gVGhpcyB2YWxpZGF0aW9uIHJ1bnMgYWxvbmdzaWRlIHRoZSBpbnRlcm5hbFxuICAgKiBmaWxlIHZhbGlkYXRpb24uIFRoaXMgZnVuY3Rpb24gdGFrZXMgYSBgU2t5RmlsZUl0ZW1gIG9iamVjdCBhcyBhIHBhcmFtZXRlci5cbiAgICogQGRlcHJlY2F0ZWQgQWRkIGEgY3VzdG9tIEFuZ3VsYXIgYFZhbGlkYXRvcmAgZnVuY3Rpb24gdG8gdGhlIGBGb3JtQ29udHJvbGAgaW5zdGVhZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB2YWxpZGF0ZUZuOiBTa3lGaWxlVmFsaWRhdGVGbiB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB1c2VycyBhZGQgb3IgcmVtb3ZlIGZpbGVzLlxuICAgKiBAZGVwcmVjYXRlZCBTdWJzY3JpYmUgdG8gdGhlIGZvcm0gY29udHJvbCdzIGB2YWx1ZUNoYW5nZXNgIGV2ZW50IGluc3RlYWQuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFNreUZpbGVBdHRhY2htZW50Q2hhbmdlPigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyB3aGVuIHVzZXJzIHNlbGVjdCB0aGUgZmlsZSBuYW1lIGxpbmsuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIGZpbGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8U2t5RmlsZUF0dGFjaG1lbnRDbGljaz4oKTtcblxuICBwdWJsaWMgYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG5cbiAgcHVibGljIGhhc0xhYmVsQ29tcG9uZW50ID0gZmFsc2U7XG5cbiAgcHVibGljIHJlamVjdGVkT3ZlciA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBpbnB1dCBpcyByZXF1aXJlZCBmb3IgZm9ybSB2YWxpZGF0aW9uLlxuICAgKiBXaGVuIHlvdSBzZXQgdGhpcyBwcm9wZXJ0eSB0byBgdHJ1ZWAsIHRoZSBjb21wb25lbnQgYWRkcyBgYXJpYS1yZXF1aXJlZGAgYW5kIGByZXF1aXJlZGBcbiAgICogYXR0cmlidXRlcyB0byB0aGUgaW5wdXQgZWxlbWVudCBzbyB0aGF0IGZvcm1zIGRpc3BsYXkgYW4gaW52YWxpZCBzdGF0ZSB1bnRpbCB0aGUgaW5wdXQgZWxlbWVudFxuICAgKiBpcyBjb21wbGV0ZS5cbiAgICogRm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGBhcmlhLXJlcXVpcmVkYCBhdHRyaWJ1dGUsIHNlZSB0aGUgW1dBSS1BUklBIGRlZmluaXRpb25dKGh0dHBzOi8vd3d3LnczLm9yZy9UUi93YWktYXJpYS8jYXJpYS1yZXF1aXJlZCkuXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSlcbiAgcHVibGljIHJlcXVpcmVkID0gZmFsc2U7XG5cbiAgcHVibGljIHNldCB2YWx1ZSh2YWx1ZTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgLy8gVGhlIG51bGwgY2hlY2sgaXMgbmVlZGVkIHRvIGFkZHJlc3MgYSBidWcgaW4gQW5ndWxhciA0LlxuICAgIC8vIHdyaXRlVmFsdWUgaXMgYmVpbmcgY2FsbGVkIHR3aWNlLCBmaXJzdCB0aW1lIHdpdGggYSBwaGFudG9tIG51bGwgdmFsdWVcbiAgICAvLyBTZWU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXIvaXNzdWVzLzE0OTg4XG4gICAgY29uc3QgaXNOZXdWYWx1ZSA9IHZhbHVlICE9PSB0aGlzLnZhbHVlICYmIHZhbHVlICE9PSBudWxsO1xuXG4gICAgaWYgKGlzTmV3VmFsdWUpIHtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB0aGlzLmlzRGF0YSA9IHZhbHVlLnVybD8uc3RhcnRzV2l0aCgnZGF0YTonKTtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlLmlzSW1hZ2UodmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5pc0RhdGEgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5pc0ltYWdlID0gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLiNzZXRGaWxlTmFtZSh2YWx1ZSk7XG5cbiAgICAgIHRoaXMuI192YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy4jb25DaGFuZ2UodmFsdWUpO1xuICAgICAgdGhpcy4jdXBkYXRlRmlsZUF0dGFjaG1lbnRCdXR0b24oKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IFNreUZpbGVJdGVtIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX3ZhbHVlO1xuICB9XG5cbiAgcHVibGljIGN1cnJlbnRUaGVtZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgZmlsZU5hbWUgPSAnJztcblxuICBwdWJsaWMgc2hvd0ZpbGVBdHRhY2htZW50QnV0dG9uID0gdHJ1ZTtcblxuICBwdWJsaWMgdHJ1bmNhdGVkRmlsZU5hbWUgPSAnJztcblxuICBAVmlld0NoaWxkKCdmaWxlSW5wdXRSZWYnKVxuICBwdWJsaWMgaW5wdXRFbDogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICBAQ29udGVudENoaWxkcmVuKFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQpXG4gIHB1YmxpYyBsYWJlbENvbXBvbmVudHM6XG4gICAgfCBRdWVyeUxpc3Q8U2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgaXNJbWFnZSA9IGZhbHNlO1xuXG4gIHByb3RlY3RlZCBpc0RhdGEgPSBmYWxzZTtcblxuICBwcm90ZWN0ZWQgZ2V0IGlzUmVxdWlyZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMucmVxdWlyZWQgfHxcbiAgICAgICh0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uaGFzVmFsaWRhdG9yKFZhbGlkYXRvcnMucmVxdWlyZWQpID8/IGZhbHNlKVxuICAgICk7XG4gIH1cblxuICAjZW50ZXJFdmVudFRhcmdldDogRXZlbnRUYXJnZXQgfCB1bmRlZmluZWQgfCBudWxsO1xuXG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAjX21heEZpbGVTaXplID0gTUFYX0ZJTEVfU0laRV9ERUZBVUxUO1xuXG4gICNfbWluRmlsZVNpemUgPSBNSU5fRklMRV9TSVpFX0RFRkFVTFQ7XG5cbiAgI192YWx1ZTogU2t5RmlsZUl0ZW0gfCB1bmRlZmluZWQ7XG5cbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI2ZpbGVBdHRhY2htZW50U2VydmljZTogU2t5RmlsZUF0dGFjaG1lbnRTZXJ2aWNlO1xuICAjZmlsZUl0ZW1TZXJ2aWNlOiBTa3lGaWxlSXRlbVNlcnZpY2U7XG4gICN0aGVtZVN2YzogU2t5VGhlbWVTZXJ2aWNlIHwgdW5kZWZpbmVkO1xuXG4gIHJlYWRvbmx5ICNpZFN2YyA9IGluamVjdChTa3lJZFNlcnZpY2UpO1xuICByZWFkb25seSAjbGl2ZUFubm91bmNlclN2YyA9IGluamVjdChTa3lMaXZlQW5ub3VuY2VyU2VydmljZSk7XG4gIHJlYWRvbmx5ICNyZXNvdXJjZXNTdmMgPSBpbmplY3QoU2t5TGliUmVzb3VyY2VzU2VydmljZSk7XG5cbiAgcHJvdGVjdGVkIG5nQ29udHJvbDogTmdDb250cm9sIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgZXJyb3JJZCA9IHRoaXMuI2lkU3ZjLmdlbmVyYXRlSWQoKTtcbiAgcHJvdGVjdGVkIGxhYmVsSWQgPSB0aGlzLiNpZFN2Yy5nZW5lcmF0ZUlkKCk7XG5cbiAgcHJvdGVjdGVkIGZpbGVFcnJvck5hbWU6IFNreUZpbGVJdGVtRXJyb3JUeXBlIHwgdW5kZWZpbmVkO1xuICBwcm90ZWN0ZWQgZmlsZUVycm9yUGFyYW06IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgcHJvdGVjdGVkIGZpbGVFcnJvclZhbGlkYXRpb246IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBmaWxlQXR0YWNobWVudFNlcnZpY2U6IFNreUZpbGVBdHRhY2htZW50U2VydmljZSxcbiAgICBmaWxlSXRlbVNlcnZpY2U6IFNreUZpbGVJdGVtU2VydmljZSxcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIG5nQ29udHJvbD86IE5nQ29udHJvbCxcbiAgICBAT3B0aW9uYWwoKSB0aGVtZVN2Yz86IFNreVRoZW1lU2VydmljZSxcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiNmaWxlQXR0YWNobWVudFNlcnZpY2UgPSBmaWxlQXR0YWNobWVudFNlcnZpY2U7XG4gICAgdGhpcy4jZmlsZUl0ZW1TZXJ2aWNlID0gZmlsZUl0ZW1TZXJ2aWNlO1xuICAgIHRoaXMubmdDb250cm9sID0gbmdDb250cm9sO1xuICAgIHRoaXMuI3RoZW1lU3ZjID0gdGhlbWVTdmM7XG5cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHRoaXMubmdDb250cm9sLnZhbHVlQWNjZXNzb3IgPSB0aGlzO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jdGhlbWVTdmMpIHtcbiAgICAgIHRoaXMuI3RoZW1lU3ZjLnNldHRpbmdzQ2hhbmdlXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgodGhlbWVTZXR0aW5ncykgPT4ge1xuICAgICAgICAgIHRoaXMuY3VycmVudFRoZW1lTmFtZSA9IHRoZW1lU2V0dGluZ3MuY3VycmVudFNldHRpbmdzLnRoZW1lLm5hbWU7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlRmlsZUF0dGFjaG1lbnRCdXR0b24oKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAvLyBUaGlzIGlzIG5lZWRlZCB0byBhZGRyZXNzIGEgYnVnIGluIEFuZ3VsYXIgNy5cbiAgICAvLyBXaGVuIGEgY29udHJvbCB2YWx1ZSBpcyBzZXQgaW5pdGlhbGx5LCBpdHMgdmFsdWUgaXMgbm90IHJlcHJlc2VudGVkIG9uIHRoZSB2aWV3LlxuICAgIC8vIFNlZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTM3OTJcbiAgICAvLyBPZiBub3RlIGlzIHRoZSBwYXJlbnQgY2hlY2sgd2hpY2ggYWxsb3dzIHVzIHRvIGRldGVybWluZSBpZiB0aGUgZm9ybSBpcyByZWFjdGl2ZS5cbiAgICAvLyBXaXRob3V0IHRoaXMgY2hlY2sgdGhlcmUgaXMgYSBjaGFuZ2VkIGJlZm9yZSBjaGVja2VkIGVycm9yXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5uZ0NvbnRyb2wpIHtcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICB0aGlzLm5nQ29udHJvbD8uY29udHJvbD8uc2V0VmFsdWUodGhpcy52YWx1ZSwge1xuICAgICAgICAgIGVtaXRFdmVudDogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubGFiZWxDb21wb25lbnRzKSB7XG4gICAgICB0aGlzLmhhc0xhYmVsQ29tcG9uZW50ID0gdGhpcy5sYWJlbENvbXBvbmVudHMubGVuZ3RoID4gMDtcbiAgICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKTtcblxuICAgICAgLy8gSGFuZGxlcyB1cGRhdGluZyBjbGFzc2VzIHdoZW4gbGFiZWwgY2hhbmdlc1xuICAgICAgdGhpcy5sYWJlbENvbXBvbmVudHMuY2hhbmdlc1xuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoXG4gICAgICAgICAgKG5ld0xhYmVsQ29tcG9uZW50czogUXVlcnlMaXN0PFNreUZpbGVBdHRhY2htZW50TGFiZWxDb21wb25lbnQ+KSA9PiB7XG4gICAgICAgICAgICB0aGlzLmhhc0xhYmVsQ29tcG9uZW50ID0gbmV3TGFiZWxDb21wb25lbnRzLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRyb3BDbGlja2VkKCk6IHZvaWQge1xuICAgIHRoaXMuI29uVG91Y2hlZCgpO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaW5wdXRFbCkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuY2xpY2soKTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZUNoYW5nZUV2ZW50KGZpbGVDaGFuZ2VFdmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLiNoYW5kbGVGaWxlcyhcbiAgICAgIChmaWxlQ2hhbmdlRXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCB1bmRlZmluZWQpPy5maWxlcyxcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGZpbGVEcmFnRW50ZXIoZHJhZ0VudGVyRXZlbnQ6IERyYWdFdmVudCk6IHZvaWQge1xuICAgIC8vIFNhdmUgdGhpcyB0YXJnZXQgdG8ga25vdyB3aGVuIHRoZSBkcmFnIGV2ZW50IGxlYXZlc1xuICAgIHRoaXMuI2VudGVyRXZlbnRUYXJnZXQgPSBkcmFnRW50ZXJFdmVudC50YXJnZXQ7XG4gICAgZHJhZ0VudGVyRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJhZ0VudGVyRXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ092ZXIoZHJhZ092ZXJFdmVudDogRHJhZ0V2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdHJhbnNmZXIgPSBkcmFnT3ZlckV2ZW50LmRhdGFUcmFuc2ZlcjtcblxuICAgIGRyYWdPdmVyRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJhZ092ZXJFdmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKHRyYW5zZmVyKSB7XG4gICAgICBpZiAodHJhbnNmZXIuaXRlbXMpIHtcbiAgICAgICAgY29uc3QgZmlsZXMgPSBBcnJheS5mcm9tKHRyYW5zZmVyLml0ZW1zKTtcblxuICAgICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBmaWxlLnR5cGUgJiZcbiAgICAgICAgICAgIHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5maWxlVHlwZVJlamVjdGVkKFxuICAgICAgICAgICAgICBmaWxlLnR5cGUsXG4gICAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRUeXBlcyxcbiAgICAgICAgICAgIClcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZpbGVzLmxlbmd0aCA+IDAgJiYgIXRoaXMuYWNjZXB0ZWRPdmVyKSB7XG4gICAgICAgICAgdGhpcy5yZWplY3RlZE92ZXIgPSBmYWxzZTtcbiAgICAgICAgICB0aGlzLmFjY2VwdGVkT3ZlciA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgICAgLy8gSWYgdGhlIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBEYXRhVHJhbnNmZXIuaXRlbXMsXG4gICAgICAgIC8vIGRlZmVyIGZpbGUtdHlwZSBjaGVja2luZyB0byBkcm9wIGhhbmRsZXIuXG4gICAgICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9EYXRhVHJhbnNmZXIvaXRlbXMjQnJvd3Nlcl9jb21wYXRpYmlsaXR5XG4gICAgICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWNjZXB0ZWRPdmVyID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZmlsZURyb3AoZHJvcEV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBkcm9wRXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZHJvcEV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICB0aGlzLiNlbnRlckV2ZW50VGFyZ2V0ID0gdW5kZWZpbmVkO1xuICAgIHRoaXMucmVqZWN0ZWRPdmVyID0gZmFsc2U7XG4gICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcblxuICAgIGlmIChkcm9wRXZlbnQuZGF0YVRyYW5zZmVyICYmIGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpIHtcbiAgICAgIGlmIChkcm9wRXZlbnQuZGF0YVRyYW5zZmVyLmZpbGVzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5oYXNEaXJlY3RvcnkoZHJvcEV2ZW50LmRhdGFUcmFuc2Zlci5maWxlcylcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2hhbmRsZUZpbGVzKGRyb3BFdmVudC5kYXRhVHJhbnNmZXIuZmlsZXMpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBmaWxlRHJhZ0xlYXZlKGRyYWdMZWF2ZUV2ZW50OiBEcmFnRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jZW50ZXJFdmVudFRhcmdldCA9PT0gZHJhZ0xlYXZlRXZlbnQudGFyZ2V0KSB7XG4gICAgICB0aGlzLnJlamVjdGVkT3ZlciA9IGZhbHNlO1xuICAgICAgdGhpcy5hY2NlcHRlZE92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZGVsZXRlRmlsZUF0dGFjaG1lbnQoKTogdm9pZCB7XG4gICAgY29uc3QgZmlsZU5hbWUgPSB0aGlzLnZhbHVlPy5maWxlLm5hbWU7XG4gICAgdGhpcy52YWx1ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KHRoaXMudmFsdWUpO1xuXG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2U6IHNhZmV0eSBjaGVjayAqL1xuICAgIGlmIChmaWxlTmFtZSkge1xuICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9maWxlX3JlbW92ZWQnLFxuICAgICAgICBmaWxlTmFtZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5maWxlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogYW55KSA9PiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLiNvbkNoYW5nZSA9IGZuO1xuICB9XG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogKCkgPT4gYW55KTogdm9pZCB7XG4gICAgdGhpcy4jb25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29udHJvbC4gSW1wbGVtZW50ZWQgYXMgYSBwYXJ0IG9mIENvbnRyb2xWYWx1ZUFjY2Vzc29yLlxuICAgKiBAcGFyYW0gaXNEaXNhYmxlZCBXaGV0aGVyIHRoZSBjb250cm9sIHNob3VsZCBiZSBkaXNhYmxlZC5cbiAgICovXG4gIHB1YmxpYyBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICB0aGlzLiNjaGFuZ2VEZXRlY3Rvci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHB1YmxpYyBlbWl0Q2xpY2soKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5maWxlQ2xpY2suZW1pdCh7XG4gICAgICAgIGZpbGU6IHRoaXMudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAjYW5ub3VuY2VTdGF0ZShyZXNvdXJjZVN0cmluZzogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSk6IHZvaWQge1xuICAgIHRoaXMuI3Jlc291cmNlc1N2Y1xuICAgICAgLmdldFN0cmluZyhyZXNvdXJjZVN0cmluZywgLi4uYXJncylcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAuc3Vic2NyaWJlKChpbnRlcm5hdGlvbmFsaXplZFN0cmluZykgPT4ge1xuICAgICAgICB0aGlzLiNsaXZlQW5ub3VuY2VyU3ZjLmFubm91bmNlKGludGVybmF0aW9uYWxpemVkU3RyaW5nKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgI2VtaXRGaWxlQ2hhbmdlRXZlbnQoY3VycmVudEZpbGU/OiBTa3lGaWxlSXRlbSk6IHZvaWQge1xuICAgIGlmIChjdXJyZW50RmlsZSAmJiAhY3VycmVudEZpbGUuZXJyb3JUeXBlKSB7XG4gICAgICB0aGlzLndyaXRlVmFsdWUoY3VycmVudEZpbGUpO1xuICAgICAgdGhpcy5maWxlRXJyb3JOYW1lID0gdW5kZWZpbmVkO1xuICAgICAgdGhpcy5maWxlRXJyb3JQYXJhbSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuZmlsZUVycm9yVmFsaWRhdGlvbiA9IHVuZGVmaW5lZDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy53cml0ZVZhbHVlKHVuZGVmaW5lZCk7XG4gICAgICAvLyBNYWtlcyBzdXJlIHZhbHVlIGFjY2Vzc29yIGlzIG1hcmtlZCBhcyBkaXJ0eSBldmVuIGlmIGN1cnJlbnQgZmlsZSBpcyB1bmRlZmluZWRcbiAgICAgIHRoaXMuI29uQ2hhbmdlKHVuZGVmaW5lZCk7XG4gICAgICB0aGlzLmZpbGVFcnJvclZhbGlkYXRpb24gPSB7IGZpbGVFcnJvcjogdHJ1ZSB9O1xuICAgICAgdGhpcy5maWxlRXJyb3JOYW1lID0gY3VycmVudEZpbGU/LmVycm9yVHlwZTtcbiAgICAgIHRoaXMuZmlsZUVycm9yUGFyYW0gPSBjdXJyZW50RmlsZT8uZXJyb3JQYXJhbTtcbiAgICB9XG4gICAgdGhpcy5maWxlQ2hhbmdlLmVtaXQoe1xuICAgICAgZmlsZTogY3VycmVudEZpbGUsXG4gICAgfSBhcyBTa3lGaWxlQXR0YWNobWVudENoYW5nZSk7XG5cbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgfVxuICB9XG5cbiAgI2xvYWRGaWxlKGZpbGU6IFNreUZpbGVJdGVtKTogdm9pZCB7XG4gICAgaWYgKGZpbGUuZmlsZSkge1xuICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCAoZXZlbnQ6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBwcmV2aW91c0ZpbGVOYW1lID0gdGhpcy52YWx1ZT8uZmlsZS5uYW1lO1xuICAgICAgICBmaWxlLnVybCA9IGV2ZW50LnRhcmdldC5yZXN1bHQ7XG4gICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICAgIGlmIChwcmV2aW91c0ZpbGVOYW1lKSB7XG4gICAgICAgICAgdGhpcy4jYW5ub3VuY2VTdGF0ZShcbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfZmlsZV9yZXBsYWNlZCcsXG4gICAgICAgICAgICBwcmV2aW91c0ZpbGVOYW1lLFxuICAgICAgICAgICAgZmlsZS5maWxlLm5hbWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNhbm5vdW5jZVN0YXRlKFxuICAgICAgICAgICAgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9maWxlX2FkZGVkJyxcbiAgICAgICAgICAgIGZpbGUuZmlsZS5uYW1lLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCAoKTogdm9pZCA9PiB7XG4gICAgICAgIHRoaXMuI2VtaXRGaWxlQ2hhbmdlRXZlbnQoZmlsZSk7XG4gICAgICB9KTtcblxuICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCk6IHZvaWQgPT4ge1xuICAgICAgICB0aGlzLiNlbWl0RmlsZUNoYW5nZUV2ZW50KGZpbGUpO1xuICAgICAgfSk7XG5cbiAgICAgIHJlYWRlci5yZWFkQXNEYXRhVVJMKGZpbGUuZmlsZSk7XG4gICAgfVxuICB9XG5cbiAgI2hhbmRsZUZpbGVzKGZpbGVzPzogRmlsZUxpc3QgfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKGZpbGVzKSB7XG4gICAgICBjb25zdCBwcm9jZXNzZWRGaWxlcyA9IHRoaXMuI2ZpbGVBdHRhY2htZW50U2VydmljZS5jaGVja0ZpbGVzKFxuICAgICAgICBmaWxlcyxcbiAgICAgICAgdGhpcy5taW5GaWxlU2l6ZSxcbiAgICAgICAgdGhpcy5tYXhGaWxlU2l6ZSxcbiAgICAgICAgdGhpcy5hY2NlcHRlZFR5cGVzLFxuICAgICAgICB0aGlzLnZhbGlkYXRlRm4sXG4gICAgICApO1xuXG4gICAgICBmb3IgKGNvbnN0IGZpbGUgb2YgcHJvY2Vzc2VkRmlsZXMpIHtcbiAgICAgICAgaWYgKGZpbGUuZXJyb3JUeXBlKSB7XG4gICAgICAgICAgdGhpcy4jZW1pdEZpbGVDaGFuZ2VFdmVudChmaWxlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLiNsb2FkRmlsZShmaWxlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNzZXRGaWxlTmFtZShmaWxlPzogU2t5RmlsZUl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoZmlsZSkge1xuICAgICAgY29uc3QgZHJvcE5hbWUgPVxuICAgICAgICB0aGlzLiNmaWxlSXRlbVNlcnZpY2UuaXNGaWxlKGZpbGUpICYmIGZpbGUuZmlsZS5uYW1lXG4gICAgICAgICAgPyBmaWxlLmZpbGUubmFtZVxuICAgICAgICAgIDogZmlsZS51cmw7XG5cbiAgICAgIHRoaXMuZmlsZU5hbWUgPSBkcm9wTmFtZTtcblxuICAgICAgaWYgKGRyb3BOYW1lLmxlbmd0aCA+IDI2KSB7XG4gICAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSBkcm9wTmFtZS5zbGljZSgwLCAyNikgKyAnLi4uJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudHJ1bmNhdGVkRmlsZU5hbWUgPSBkcm9wTmFtZTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maWxlTmFtZSA9ICcnO1xuICAgICAgdGhpcy50cnVuY2F0ZWRGaWxlTmFtZSA9ICcnO1xuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVGaWxlQXR0YWNobWVudEJ1dHRvbigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dGaWxlQXR0YWNobWVudEJ1dHRvbiA9ICEoXG4gICAgICB0aGlzLnZhbHVlICYmIHRoaXMuY3VycmVudFRoZW1lTmFtZSA9PT0gJ21vZGVybidcbiAgICApO1xuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgLy8gaXN0YW5idWwgaWdub3JlIG5leHRcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueVxuICAjb25DaGFuZ2UgPSAoXzogYW55KTogdm9pZCA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAjb25Ub3VjaGVkID0gKCk6IHZvaWQgPT4ge1xuICAgIHJldHVybjtcbiAgfTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LXdyYXBwZXJcIj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1sYWJlbC13cmFwcGVyXCJcbiAgICBbbmdDbGFzc109XCJ7XG4gICAgICAnc2t5LWNvbnRyb2wtbGFiZWwtcmVxdWlyZWQnOlxuICAgICAgICAhbGFiZWxUZXh0ICYmIGlzUmVxdWlyZWQgJiYgaGFzTGFiZWxDb21wb25lbnRcbiAgICB9XCJcbiAgPlxuICAgIEBpZiAobGFiZWxUZXh0KSB7XG4gICAgICBAaWYgKCFsYWJlbEhpZGRlbikge1xuICAgICAgICA8c3BhblxuICAgICAgICAgIGNsYXNzPVwic2t5LWNvbnRyb2wtbGFiZWxcIlxuICAgICAgICAgIFthdHRyLmlkXT1cImxhYmVsSWRcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cIntcbiAgICAgICAgICAgICdza3ktY29udHJvbC1sYWJlbC1yZXF1aXJlZCc6IGlzUmVxdWlyZWRcbiAgICAgICAgICB9XCJcbiAgICAgICAgICA+e3sgbGFiZWxUZXh0IH19PC9zcGFuXG4gICAgICAgID5cbiAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInNreS1maWxlLWF0dGFjaG1lbnQtbGFiZWxcIiAvPlxuICAgIH1cbiAgICBAaWYgKGlzUmVxdWlyZWQgJiYgKGhhc0xhYmVsQ29tcG9uZW50IHx8IGxhYmVsVGV4dCkpIHtcbiAgICAgIDxzcGFuIGNsYXNzPVwic2t5LXNjcmVlbi1yZWFkZXItb25seVwiPnt7XG4gICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfcmVxdWlyZWQnIHwgc2t5TGliUmVzb3VyY2VzXG4gICAgICB9fTwvc3Bhbj5cbiAgICB9XG4gICAgQGlmIChsYWJlbFRleHQgJiYgKGhlbHBQb3BvdmVyQ29udGVudCB8fCBoZWxwS2V5KSkge1xuICAgICAgPHNwYW4gY2xhc3M9XCJza3ktY29udHJvbC1oZWxwLWNvbnRhaW5lclwiPlxuICAgICAgICA8c2t5LWhlbHAtaW5saW5lXG4gICAgICAgICAgW2xhYmVsVGV4dF09XCJsYWJlbFRleHRcIlxuICAgICAgICAgIFtoZWxwS2V5XT1cImhlbHBLZXlcIlxuICAgICAgICAgIFtwb3BvdmVyVGl0bGVdPVwiaGVscFBvcG92ZXJUaXRsZVwiXG4gICAgICAgICAgW3BvcG92ZXJDb250ZW50XT1cImhlbHBQb3BvdmVyQ29udGVudFwiXG4gICAgICAgIC8+XG4gICAgICA8L3NwYW4+XG4gICAgfVxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC11cGxvYWQgc2t5LWZpbGUtYXR0YWNobWVudCBza3ktZmlsZS1hdHRhY2htZW50LXRhcmdldFwiXG4gICAgW25nQ2xhc3NdPVwie1xuICAgICAgJ3NreS1maWxlLWF0dGFjaG1lbnQtYWNjZXB0JzogYWNjZXB0ZWRPdmVyLFxuICAgICAgJ3NreS1maWxlLWF0dGFjaG1lbnQtcmVqZWN0JzogcmVqZWN0ZWRPdmVyXG4gICAgfVwiXG4gICAgKGRyYWdlbnRlcik9XCJmaWxlRHJhZ0VudGVyKCRldmVudClcIlxuICAgIChkcmFnb3Zlcik9XCJmaWxlRHJhZ092ZXIoJGV2ZW50KVwiXG4gICAgKGRyYWdsZWF2ZSk9XCJmaWxlRHJhZ0xlYXZlKCRldmVudClcIlxuICAgIChkcm9wKT1cImZpbGVEcm9wKCRldmVudClcIlxuICA+XG4gICAgPGRpdlxuICAgICAgI2ZpbGVEcm9wRGVzY3JpcHRpb25SZWY9XCJza3lJZFwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgICAgY2xhc3M9XCJza3ktc2NyZWVuLXJlYWRlci1vbmx5XCJcbiAgICAgIHJvbGU9XCJ0b29sdGlwXCJcbiAgICAgIHNreUlkXG4gICAgPlxuICAgICAge3sgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9maWxlX3VwbG9hZF9kcmFnX29yX2NsaWNrJyB8IHNreUxpYlJlc291cmNlcyB9fVxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgI2ZpbGVJbnB1dFJlZlxuICAgICAgaGlkZGVuXG4gICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgIHR5cGU9XCJmaWxlXCJcbiAgICAgIFthdHRyLmFjY2VwdF09XCJhY2NlcHRlZFR5cGVzIHx8IG51bGxcIlxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgIFtyZXF1aXJlZF09XCJpc1JlcXVpcmVkXCJcbiAgICAgIChjaGFuZ2UpPVwiZmlsZUNoYW5nZUV2ZW50KCRldmVudClcIlxuICAgIC8+XG4gICAgQGlmIChzaG93RmlsZUF0dGFjaG1lbnRCdXR0b24pIHtcbiAgICAgIDxidXR0b25cbiAgICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWJ0biBza3ktYnRuIHNreS1idG4tZGVmYXVsdFwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cIlxuICAgICAgICAgIGhpbnRUZXh0ICYmIGhpbnRUZXh0RWwuaWRcbiAgICAgICAgICAgIHwgc2t5RmlsZUF0dGFjaG1lbnRKb2luSWRzOiBmaWxlRHJvcERlc2NyaXB0aW9uUmVmLmlkXG4gICAgICAgIFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJcbiAgICAgICAgICBhdHRhY2hCdXR0b25MYWJlbFJlZi5pZFxuICAgICAgICAgICAgfCBza3lGaWxlQXR0YWNobWVudEpvaW5JZHNcbiAgICAgICAgICAgICAgOiAobGFiZWxUZXh0XG4gICAgICAgICAgICAgICAgICA/IGxhYmVsSWRcbiAgICAgICAgICAgICAgICAgIDogbGFiZWxDb21wb25lbnRzPy5nZXQoMCk/LmxhYmVsQ29udGVudElkPy5pZClcbiAgICAgICAgXCJcbiAgICAgICAgW2F0dHIuYXJpYS1pbnZhbGlkXT1cIiEhKG5nQ29udHJvbD8uZXJyb3JzID8/IGZpbGVFcnJvclZhbGlkYXRpb24pXCJcbiAgICAgICAgW2F0dHIuYXJpYS1lcnJvcm1lc3NhZ2VdPVwiXG4gICAgICAgICAgISEobmdDb250cm9sPy5lcnJvcnMgPz8gZmlsZUVycm9yVmFsaWRhdGlvbikgPyBlcnJvcklkIDogdW5kZWZpbmVkXG4gICAgICAgIFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJvbkRyb3BDbGlja2VkKClcIlxuICAgICAgPlxuICAgICAgICA8c2t5LWljb24gaWNvbj1cImZvbGRlci1vcGVuLW9cIiAvPlxuICAgICAgICB7e1xuICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgICA/ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9yZXBsYWNlX2ZpbGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICAgICAgOiAoJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9idXR0b25fbGFiZWxfY2hvb3NlX2ZpbGUnXG4gICAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzKVxuICAgICAgICB9fVxuICAgICAgPC9idXR0b24+XG4gICAgfVxuICAgIEBpZiAodmFsdWUgJiYgIWlzSW1hZ2UgJiYgY3VycmVudFRoZW1lTmFtZSA9PT0gJ21vZGVybicpIHtcbiAgICAgIDxza3ktaWNvbiBjbGFzcz1cInNreS1maWxlLWF0dGFjaG1lbnQtaWNvblwiIGljb249XCJmaWxlLW9cIiAvPlxuICAgIH1cbiAgICBAaWYgKHZhbHVlIHx8IGN1cnJlbnRUaGVtZU5hbWUgPT09ICdkZWZhdWx0Jykge1xuICAgICAgPHNwYW4gY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWZpbGUtbGlua1wiPlxuICAgICAgICBAaWYgKHZhbHVlKSB7XG4gICAgICAgICAgPGFcbiAgICAgICAgICAgIFtocmVmXT1cImlzRGF0YSA/IHZhbHVlLnVybCA6IHVuZGVmaW5lZFwiXG4gICAgICAgICAgICBbZG93bmxvYWRdPVwiaXNEYXRhID8gdmFsdWUuZmlsZS5uYW1lIDogdW5kZWZpbmVkXCJcbiAgICAgICAgICAgIFthdHRyLnRpdGxlXT1cImZpbGVOYW1lXCJcbiAgICAgICAgICAgIChjbGljayk9XCJlbWl0Q2xpY2soKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgdHJ1bmNhdGVkRmlsZU5hbWUgfX1cbiAgICAgICAgICA8L2E+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic2t5LWZpbGUtYXR0YWNobWVudC1ub25lIHNreS1mb250LWRlZW1waGFzaXplZFwiPlxuICAgICAgICAgICAge3sgJ3NreXV4X2ZpbGVfYXR0YWNobWVudF9sYWJlbF9ub19maWxlX2Nob3NlbicgfCBza3lMaWJSZXNvdXJjZXMgfX1cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICAgIDwvc3Bhbj5cbiAgICB9XG5cbiAgICBAaWYgKHZhbHVlKSB7XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwic2t5LWJ0biBza3ktYnRuLWljb24tYm9yZGVybGVzcyBza3ktZmlsZS1hdHRhY2htZW50LWRlbGV0ZVwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiXG4gICAgICAgICAgZGVsZXRlQnV0dG9uTGFiZWxSZWYuaWRcbiAgICAgICAgICAgIHwgc2t5RmlsZUF0dGFjaG1lbnRKb2luSWRzXG4gICAgICAgICAgICAgIDogKGxhYmVsVGV4dFxuICAgICAgICAgICAgICAgICAgPyBsYWJlbElkXG4gICAgICAgICAgICAgICAgICA6IGxhYmVsQ29tcG9uZW50cz8uZ2V0KDApPy5sYWJlbENvbnRlbnRJZD8uaWQpXG4gICAgICAgIFwiXG4gICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgIChjbGljayk9XCJkZWxldGVGaWxlQXR0YWNobWVudCgpXCJcbiAgICAgID5cbiAgICAgICAgPHNreS1pY29uIGljb249XCJ0cmFzaC1vXCIgc2l6ZT1cIm1kXCIgLz5cbiAgICAgIDwvYnV0dG9uPlxuICAgIH1cbiAgPC9kaXY+XG5cbiAgQGlmICh2YWx1ZSAmJiBpc0ltYWdlKSB7XG4gICAgPGltZ1xuICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LXByZXZpZXctaW1nXCJcbiAgICAgIFthbHRdPVwiXG4gICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV91cGxvYWRfaW1hZ2VfcHJldmlld19hbHRfdGV4dCdcbiAgICAgICAgICB8IHNreUxpYlJlc291cmNlc1xuICAgICAgXCJcbiAgICAgIFtzcmNdPVwidmFsdWUudXJsXCJcbiAgICAvPlxuICB9XG48L2Rpdj5cbjxkaXYgI2hpbnRUZXh0RWw9XCJza3lJZFwiIHNreUlkPlxuICBAaWYgKGhpbnRUZXh0KSB7XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJza3ktZmlsZS1hdHRhY2htZW50LWhpbnQtdGV4dFwiXG4gICAgICBbc2t5VGhlbWVDbGFzc109XCJ7XG4gICAgICAgICdza3ktZm9udC1kZWVtcGhhc2l6ZWQnOiAnZGVmYXVsdCcsXG4gICAgICAgICdza3ktZm9udC1oaW50LXRleHQtcyc6ICdtb2Rlcm4nXG4gICAgICB9XCJcbiAgICA+XG4gICAgICB7eyBoaW50VGV4dCB9fVxuICAgIDwvZGl2PlxuICB9XG48L2Rpdj5cblxuPHNreS1mb3JtLWVycm9yc1xuICBbaWRdPVwiZXJyb3JJZFwiXG4gIFtlcnJvcnNdPVwibmdDb250cm9sPy5lcnJvcnMgPz8gZmlsZUVycm9yVmFsaWRhdGlvblwiXG4gIFtsYWJlbFRleHRdPVwibGFiZWxUZXh0XCJcbiAgW3RvdWNoZWRdPVwibmdDb250cm9sPy50b3VjaGVkXCJcbiAgW2RpcnR5XT1cIm5nQ29udHJvbD8uZGlydHlcIlxuPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJza3ktZm9ybS1lcnJvclwiIC8+XG4gIEBpZiAobmdDb250cm9sPy50b3VjaGVkKSB7XG4gICAgQGlmIChmaWxlRXJyb3JOYW1lID09PSAnZmlsZVR5cGUnKSB7XG4gICAgICA8c2t5LWZvcm0tZXJyb3JcbiAgICAgICAgZXJyb3JOYW1lPVwiZmlsZVR5cGVcIlxuICAgICAgICBbZXJyb3JUZXh0XT1cIlxuICAgICAgICAgIGFjY2VwdGVkVHlwZXNFcnJvck1lc3NhZ2UgPz9cbiAgICAgICAgICAgICdza3l1eF9maWxlX2F0dGFjaG1lbnRfZmlsZV90eXBlX2Vycm9yX2xhYmVsX3RleHQnXG4gICAgICAgICAgICB8IHNreUxpYlJlc291cmNlczogZmlsZUVycm9yUGFyYW1cbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfSBAZWxzZSBpZiAoZmlsZUVycm9yTmFtZSA9PT0gJ21heEZpbGVTaXplJykge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cIm1heEZpbGVTaXplXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X21heF9maWxlX3NpemVfZXJyb3JfbGFiZWxfdGV4dCdcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiAoZmlsZUVycm9yUGFyYW0gfCBza3lGaWxlU2l6ZSlcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfSBAZWxzZSBpZiAoZmlsZUVycm9yTmFtZSA9PT0gJ21pbkZpbGVTaXplJykge1xuICAgICAgPHNreS1mb3JtLWVycm9yXG4gICAgICAgIGVycm9yTmFtZT1cIm1pbkZpbGVTaXplXCJcbiAgICAgICAgW2Vycm9yVGV4dF09XCJcbiAgICAgICAgICAnc2t5dXhfZmlsZV9hdHRhY2htZW50X21pbl9maWxlX3NpemVfZXJyb3JfbGFiZWxfdGV4dCdcbiAgICAgICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiAoZmlsZUVycm9yUGFyYW0gfCBza3lGaWxlU2l6ZSlcbiAgICAgICAgXCJcbiAgICAgIC8+XG4gICAgfVxuICB9XG48L3NreS1mb3JtLWVycm9ycz5cblxuPHNwYW5cbiAgI2F0dGFjaEJ1dHRvbkxhYmVsUmVmPVwic2t5SWRcIlxuICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIlxuICBza3lJZFxuPlxuICB7e1xuICAgIHZhbHVlXG4gICAgICA/ICgnc2t5dXhfZmlsZV9hdHRhY2htZW50X2J1dHRvbl9sYWJlbF9yZXBsYWNlX2ZpbGVfbGFiZWwnXG4gICAgICAgIHwgc2t5TGliUmVzb3VyY2VzOiBmaWxlTmFtZSlcbiAgICAgIDogKCdza3l1eF9maWxlX2F0dGFjaG1lbnRfYnV0dG9uX2xhYmVsX2Nob29zZV9maWxlX2xhYmVsJ1xuICAgICAgICB8IHNreUxpYlJlc291cmNlcylcbiAgfX1cbjwvc3Bhbj5cblxuPHNwYW5cbiAgI2RlbGV0ZUJ1dHRvbkxhYmVsUmVmPVwic2t5SWRcIlxuICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICBjbGFzcz1cInNreS1zY3JlZW4tcmVhZGVyLW9ubHlcIlxuICBza3lJZFxuPlxuICB7eyAnc2t5dXhfZmlsZV9hdHRhY2htZW50X2ZpbGVfaXRlbV9yZW1vdmUnIHwgc2t5TGliUmVzb3VyY2VzOiBmaWxlTmFtZSB9fVxuPC9zcGFuPlxuIl19
|
|
@@ -4,13 +4,13 @@ import { SkyFileAttachmentLabelComponent } from './file-attachment-label.compone
|
|
|
4
4
|
import { SkyFileAttachmentComponent } from './file-attachment.component';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class SkyFileAttachmentModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentModule, imports: [SkyFileAttachmentComponent, SkyFileAttachmentLabelComponent], exports: [SkyFileAttachmentComponent,
|
|
9
9
|
SkyFileAttachmentLabelComponent,
|
|
10
10
|
SkyFormErrorModule] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.
|
|
11
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentModule, imports: [SkyFileAttachmentComponent, SkyFileAttachmentLabelComponent, SkyFormErrorModule] }); }
|
|
12
12
|
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SkyFileAttachmentModule, decorators: [{
|
|
14
14
|
type: NgModule,
|
|
15
15
|
args: [{
|
|
16
16
|
exports: [
|
|
@@ -21,4 +21,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
21
21
|
imports: [SkyFileAttachmentComponent, SkyFileAttachmentLabelComponent],
|
|
22
22
|
}]
|
|
23
23
|
}] });
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1hdHRhY2htZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9mb3Jtcy9zcmMvbGliL21vZHVsZXMvZmlsZS1hdHRhY2htZW50L2ZpbGUtYXR0YWNobWVudC9maWxlLWF0dGFjaG1lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFFeEUsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDcEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7O0FBVXpFLE1BQU0sT0FBTyx1QkFBdUI7K0dBQXZCLHVCQUF1QjtnSEFBdkIsdUJBQXVCLFlBRnhCLDBCQUEwQixFQUFFLCtCQUErQixhQUpuRSwwQkFBMEI7WUFDMUIsK0JBQStCO1lBQy9CLGtCQUFrQjtnSEFJVCx1QkFBdUIsWUFGeEIsMEJBQTBCLEVBQUUsK0JBQStCLEVBRm5FLGtCQUFrQjs7NEZBSVQsdUJBQXVCO2tCQVJuQyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCwwQkFBMEI7d0JBQzFCLCtCQUErQjt3QkFDL0Isa0JBQWtCO3FCQUNuQjtvQkFDRCxPQUFPLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSwrQkFBK0IsQ0FBQztpQkFDdkUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBTa3lGb3JtRXJyb3JNb2R1bGUgfSBmcm9tICcuLi8uLi9mb3JtLWVycm9yL2Zvcm0tZXJyb3IubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5RmlsZUF0dGFjaG1lbnRMYWJlbENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LWxhYmVsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lGaWxlQXR0YWNobWVudENvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1hdHRhY2htZW50LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGV4cG9ydHM6IFtcbiAgICBTa3lGaWxlQXR0YWNobWVudENvbXBvbmVudCxcbiAgICBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50LFxuICAgIFNreUZvcm1FcnJvck1vZHVsZSxcbiAgXSxcbiAgaW1wb3J0czogW1NreUZpbGVBdHRhY2htZW50Q29tcG9uZW50LCBTa3lGaWxlQXR0YWNobWVudExhYmVsQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RmlsZUF0dGFjaG1lbnRNb2R1bGUge31cbiJdfQ==
|