@testgorilla/tgo-ui 3.14.13 → 4.0.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/components/donut-chart/donut-chart.component.d.ts +2 -2
- package/components/filter-button/filter-button.component.d.ts +2 -2
- package/components/icon/icon-svg-content.d.ts +1 -1
- package/components/table/table.component.d.ts +1 -1
- package/fesm2022/testgorilla-tgo-ui.mjs +731 -715
- package/fesm2022/testgorilla-tgo-ui.mjs.map +1 -1
- package/package.json +17 -20
- package/projects/tgo-canopy-ui/theme/_palette.scss +2 -1
- package/utils/color-contrast.d.ts +1 -1
- package/esm2022/assets/i18n/da-dk.json +0 -820
- package/esm2022/assets/i18n/de.json +0 -820
- package/esm2022/assets/i18n/en.json +0 -827
- package/esm2022/assets/i18n/es.json +0 -820
- package/esm2022/assets/i18n/fr.json +0 -820
- package/esm2022/assets/i18n/it-it.json +0 -820
- package/esm2022/assets/i18n/ja-jp.json +0 -820
- package/esm2022/assets/i18n/nb-no.json +0 -820
- package/esm2022/assets/i18n/nl.json +0 -820
- package/esm2022/assets/i18n/pl-pl.json +0 -820
- package/esm2022/assets/i18n/pt-br.json +0 -820
- package/esm2022/assets/i18n/sv-se.json +0 -820
- package/esm2022/components/accordion/accordion.component.mjs +0 -135
- package/esm2022/components/accordion/accordion.component.module.mjs +0 -40
- package/esm2022/components/accordion/accordion.model.mjs +0 -2
- package/esm2022/components/ai-feedback/ai-feedback.component.mjs +0 -35
- package/esm2022/components/ai-feedback/ai-feedback.model.mjs +0 -2
- package/esm2022/components/ai-feedback/ai-feedback.module.mjs +0 -20
- package/esm2022/components/alert-banner/alert-banner.component.mjs +0 -198
- package/esm2022/components/alert-banner/alert-banner.component.module.mjs +0 -21
- package/esm2022/components/alert-banner/alert-banner.model.mjs +0 -2
- package/esm2022/components/autocomplete/autocomplete.component.mjs +0 -837
- package/esm2022/components/autocomplete/autocomplete.component.module.mjs +0 -77
- package/esm2022/components/autocomplete/autocomplete.model.mjs +0 -25
- package/esm2022/components/autocomplete/includes.pipe.mjs +0 -25
- package/esm2022/components/autocomplete/prevent-input.directive.mjs +0 -27
- package/esm2022/components/autocomplete/transform-Item.pipe.mjs +0 -32
- package/esm2022/components/avatar/avatar.component.mjs +0 -104
- package/esm2022/components/avatar/avatar.component.module.mjs +0 -23
- package/esm2022/components/avatar/avatar.model.mjs +0 -21
- package/esm2022/components/badge/badge.component.mjs +0 -118
- package/esm2022/components/badge/badge.component.module.mjs +0 -20
- package/esm2022/components/badge/badge.model.mjs +0 -39
- package/esm2022/components/breadcrumb/breadcrumb.component.mjs +0 -191
- package/esm2022/components/breadcrumb/breadcrumb.component.module.mjs +0 -45
- package/esm2022/components/breadcrumb/breadcrumb.model.mjs +0 -2
- package/esm2022/components/button/button.component.mjs +0 -452
- package/esm2022/components/button/button.component.module.mjs +0 -51
- package/esm2022/components/button/button.model.mjs +0 -2
- package/esm2022/components/card/card.component.mjs +0 -141
- package/esm2022/components/card/card.component.module.mjs +0 -19
- package/esm2022/components/card/card.model.mjs +0 -2
- package/esm2022/components/checkbox/checkbox.component.mjs +0 -336
- package/esm2022/components/checkbox/checkbox.component.module.mjs +0 -28
- package/esm2022/components/checkbox/focus-visible.directive.mjs +0 -40
- package/esm2022/components/checklist/checklist.component.mjs +0 -157
- package/esm2022/components/checklist/checklist.model.mjs +0 -2
- package/esm2022/components/confirm-dialog/confirm-dialog.component.mjs +0 -73
- package/esm2022/components/confirm-dialog/confirm-dialog.component.module.mjs +0 -29
- package/esm2022/components/confirm-dialog/confirm-dialog.model.mjs +0 -2
- package/esm2022/components/datepicker/date-adapter.mjs +0 -39
- package/esm2022/components/datepicker/datepicker.component.mjs +0 -353
- package/esm2022/components/datepicker/datepicker.component.module.mjs +0 -60
- package/esm2022/components/datepicker/datepicker.service.mjs +0 -20
- package/esm2022/components/datepicker/no-date-format.directive.mjs +0 -56
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.mjs +0 -55
- package/esm2022/components/deprecated-paginator/deprecated-paginator.component.module.mjs +0 -20
- package/esm2022/components/dialog/dialog.component.mjs +0 -275
- package/esm2022/components/dialog/dialog.component.module.mjs +0 -23
- package/esm2022/components/dialog/dialog.model.mjs +0 -2
- package/esm2022/components/dialog/dialog.service.mjs +0 -36
- package/esm2022/components/divider/divider.component.mjs +0 -65
- package/esm2022/components/divider/divider.component.module.mjs +0 -19
- package/esm2022/components/divider/divider.model.mjs +0 -2
- package/esm2022/components/donut-chart/donut-chart.component.mjs +0 -122
- package/esm2022/components/donut-chart/donut-chart.component.model.mjs +0 -2
- package/esm2022/components/donut-chart/donut-chart.component.module.mjs +0 -20
- package/esm2022/components/dropdown/dropdown.component.mjs +0 -378
- package/esm2022/components/dropdown/dropdown.component.module.mjs +0 -57
- package/esm2022/components/dropdown/dropdown.model.mjs +0 -2
- package/esm2022/components/elevation-shadow/elevation-shadow.component.mjs +0 -45
- package/esm2022/components/elevation-shadow/elevation-shadow.component.module.mjs +0 -18
- package/esm2022/components/elevation-shadow/elevation-shadow.constant.mjs +0 -9
- package/esm2022/components/empty-state/empty-state.component.mjs +0 -301
- package/esm2022/components/empty-state/empty-state.component.module.mjs +0 -21
- package/esm2022/components/empty-state/empty-state.model.mjs +0 -2
- package/esm2022/components/field/field.component.mjs +0 -574
- package/esm2022/components/field/field.component.module.mjs +0 -64
- package/esm2022/components/field/field.model.mjs +0 -2
- package/esm2022/components/file-upload/file-upload.component.mjs +0 -307
- package/esm2022/components/file-upload/file-upload.component.module.mjs +0 -40
- package/esm2022/components/filter-button/filter-button.component.mjs +0 -255
- package/esm2022/components/filter-button/filter-button.component.module.mjs +0 -58
- package/esm2022/components/filter-button/filter-button.model.mjs +0 -2
- package/esm2022/components/gaussian-chart/gaussian-chart.component.mjs +0 -254
- package/esm2022/components/gaussian-chart/gaussian-chart.module.mjs +0 -42
- package/esm2022/components/icon/icon-svg-content.mjs +0 -491
- package/esm2022/components/icon/icon.component.mjs +0 -178
- package/esm2022/components/icon/icon.component.module.mjs +0 -21
- package/esm2022/components/icon/icon.config.mjs +0 -780
- package/esm2022/components/icon/icon.model.mjs +0 -2
- package/esm2022/components/icon-label/icon-label.component.mjs +0 -74
- package/esm2022/components/icon-label/icon-label.component.module.mjs +0 -20
- package/esm2022/components/inline-field/inline-field.component.mjs +0 -320
- package/esm2022/components/inline-field/inline-field.component.module.mjs +0 -43
- package/esm2022/components/inline-field/inline-field.model.mjs +0 -2
- package/esm2022/components/logo/logo.component.mjs +0 -165
- package/esm2022/components/logo/logo.component.module.mjs +0 -18
- package/esm2022/components/logo/logo.model.mjs +0 -32
- package/esm2022/components/media-card/media-card.component.mjs +0 -47
- package/esm2022/components/media-dialog/media-dialog.component.mjs +0 -75
- package/esm2022/components/media-dialog/media-dialog.model.mjs +0 -2
- package/esm2022/components/multi-input/multi-input.component.mjs +0 -271
- package/esm2022/components/multi-input/multi-input.component.module.mjs +0 -58
- package/esm2022/components/multi-input/multi-input.model.mjs +0 -2
- package/esm2022/components/multi-input/required-multi-input.validator.mjs +0 -14
- package/esm2022/components/navbar/mobile-navbar-side-sheet/mobile-navbar-side-sheet.component.mjs +0 -86
- package/esm2022/components/navbar/navbar.component.mjs +0 -212
- package/esm2022/components/navbar/navbar.component.module.mjs +0 -71
- package/esm2022/components/navbar/navbar.model.mjs +0 -2
- package/esm2022/components/overflow-menu/overflow-menu.component.mjs +0 -254
- package/esm2022/components/overflow-menu/overflow-menu.component.module.mjs +0 -25
- package/esm2022/components/overflow-menu/overflow-menu.model.mjs +0 -2
- package/esm2022/components/page-header/page-header.component.mjs +0 -71
- package/esm2022/components/page-header/page-header.component.module.mjs +0 -20
- package/esm2022/components/paginator/paginator.component.mjs +0 -87
- package/esm2022/components/paginator/paginator.component.module.mjs +0 -19
- package/esm2022/components/password-criteria/password.component.mjs +0 -111
- package/esm2022/components/password-criteria/password.component.module.mjs +0 -39
- package/esm2022/components/password-strength/password-strength.component.mjs +0 -93
- package/esm2022/components/password-strength/password-strength.component.module.mjs +0 -21
- package/esm2022/components/phone-input/join-strings.pipe.mjs +0 -14
- package/esm2022/components/phone-input/phone-input.component.mjs +0 -354
- package/esm2022/components/phone-input/phone-input.component.module.mjs +0 -63
- package/esm2022/components/phone-input/phone-input.model.mjs +0 -2
- package/esm2022/components/progress-bar/progress-bar.component.mjs +0 -103
- package/esm2022/components/progress-bar/progress-bar.component.module.mjs +0 -21
- package/esm2022/components/prompt/prompt.component.mjs +0 -187
- package/esm2022/components/prompt/prompt.model.mjs +0 -2
- package/esm2022/components/prompt/prompt.module.mjs +0 -62
- package/esm2022/components/radial-progress/radial-progress.component.mjs +0 -118
- package/esm2022/components/radial-progress/radial-progress.component.module.mjs +0 -20
- package/esm2022/components/radial-progress/radial-progress.model.mjs +0 -11
- package/esm2022/components/radio-button/radio-button.component.mjs +0 -344
- package/esm2022/components/radio-button/radio-button.component.module.mjs +0 -25
- package/esm2022/components/radio-button/radio-button.model.mjs +0 -2
- package/esm2022/components/rating/half-star.pipe.mjs +0 -23
- package/esm2022/components/rating/rating.component.mjs +0 -106
- package/esm2022/components/rating/rating.component.module.mjs +0 -20
- package/esm2022/components/scale/scale.component.mjs +0 -136
- package/esm2022/components/scale/scale.component.module.mjs +0 -18
- package/esm2022/components/scale-table/scale-table.component.mjs +0 -61
- package/esm2022/components/scale-table/scale-table.model.mjs +0 -2
- package/esm2022/components/segmented-bar/segmented-bar.component.mjs +0 -111
- package/esm2022/components/segmented-bar/segmented-bar.component.module.mjs +0 -22
- package/esm2022/components/segmented-bar/segmented-bar.model.mjs +0 -2
- package/esm2022/components/segmented-button/segmented-button.component.mjs +0 -104
- package/esm2022/components/segmented-button/segmented-button.component.module.mjs +0 -21
- package/esm2022/components/segmented-button/segmented-button.model.mjs +0 -2
- package/esm2022/components/selectable-card/selectable-card.component.mjs +0 -53
- package/esm2022/components/selectable-card/selectable-card.component.module.mjs +0 -20
- package/esm2022/components/side-panel/side-panel-data-injection-token.mjs +0 -3
- package/esm2022/components/side-panel/side-panel.animations.mjs +0 -26
- package/esm2022/components/side-panel/side-panel.component.mjs +0 -55
- package/esm2022/components/side-panel/side-panel.model.mjs +0 -54
- package/esm2022/components/side-panel/side-panel.service.mjs +0 -98
- package/esm2022/components/side-sheet/side-sheet.component.mjs +0 -105
- package/esm2022/components/side-sheet/side-sheet.component.module.mjs +0 -43
- package/esm2022/components/side-sheet/side-sheet.model.mjs +0 -2
- package/esm2022/components/side-sheet/side-sheet.service.mjs +0 -31
- package/esm2022/components/skeleton/skeleton.component.mjs +0 -74
- package/esm2022/components/skeleton/skeleton.model.mjs +0 -2
- package/esm2022/components/slider/slider.component.mjs +0 -256
- package/esm2022/components/slider/slider.component.module.mjs +0 -16
- package/esm2022/components/slider/slider.model.mjs +0 -2
- package/esm2022/components/snackbar/snackbar.component.mjs +0 -235
- package/esm2022/components/snackbar/snackbar.component.module.mjs +0 -25
- package/esm2022/components/snackbar/snackbar.model.mjs +0 -2
- package/esm2022/components/snackbar/snackbar.service.mjs +0 -42
- package/esm2022/components/spider-chart/spider-chart.component.mjs +0 -443
- package/esm2022/components/spider-chart/spider-chart.model.mjs +0 -4
- package/esm2022/components/spider-chart/spider-chart.module.mjs +0 -44
- package/esm2022/components/spinner/spinner.component.mjs +0 -84
- package/esm2022/components/spinner/spinner.model.mjs +0 -2
- package/esm2022/components/spinner/spinner.module.mjs +0 -20
- package/esm2022/components/step/step.component.mjs +0 -209
- package/esm2022/components/step/step.component.module.mjs +0 -21
- package/esm2022/components/stepper/stepper.component.mjs +0 -198
- package/esm2022/components/stepper/stepper.component.module.mjs +0 -44
- package/esm2022/components/stepper/stepper.model.mjs +0 -2
- package/esm2022/components/table/sentence-case.pipe.mjs +0 -19
- package/esm2022/components/table/table.component.mjs +0 -273
- package/esm2022/components/table/table.component.module.mjs +0 -61
- package/esm2022/components/table/table.model.mjs +0 -25
- package/esm2022/components/tabs/tab.directive.mjs +0 -63
- package/esm2022/components/tabs/tabs.component.mjs +0 -219
- package/esm2022/components/tabs/tabs.component.module.mjs +0 -23
- package/esm2022/components/tabs/tabs.model.mjs +0 -2
- package/esm2022/components/tag/tag.component.mjs +0 -212
- package/esm2022/components/tag/tag.component.module.mjs +0 -24
- package/esm2022/components/tag/tag.model.mjs +0 -2
- package/esm2022/components/toggle/toggle.component.mjs +0 -190
- package/esm2022/components/toggle/toggle.component.module.mjs +0 -24
- package/esm2022/components/toggle/toggle.model.mjs +0 -2
- package/esm2022/components/tooltip/tooltip-template.directive.mjs +0 -133
- package/esm2022/components/tooltip/tooltip.component.mjs +0 -108
- package/esm2022/components/tooltip/tooltip.component.module.mjs +0 -27
- package/esm2022/components/tooltip/tooltip.model.mjs +0 -8
- package/esm2022/components/universal-skills-report/universal-skills-report.component.mjs +0 -80
- package/esm2022/components/universal-skills-report/universal-skills-report.component.module.mjs +0 -43
- package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.mjs +0 -109
- package/esm2022/components/universal-skills-spider-charts/universal-skills-spider-charts.component.module.mjs +0 -52
- package/esm2022/components/validation-error/validation-error.component.mjs +0 -55
- package/esm2022/components/validation-error/validation-error.model.mjs +0 -2
- package/esm2022/components/validation-error/validation-error.module.mjs +0 -20
- package/esm2022/directives/digits-only.directive.mjs +0 -77
- package/esm2022/directives/drag-drop.directive.mjs +0 -55
- package/esm2022/directives/dynamic-component.directive.mjs +0 -40
- package/esm2022/directives/ellipse-text.directive.mjs +0 -51
- package/esm2022/directives/select-text.directive.mjs +0 -40
- package/esm2022/directives/step-line-element.directive.mjs +0 -51
- package/esm2022/models/application-theme.model.mjs +0 -2
- package/esm2022/models/checkbox.model.mjs +0 -2
- package/esm2022/models/colors.model.mjs +0 -78
- package/esm2022/models/keyboard-events.model.mjs +0 -13
- package/esm2022/models/screen-breakpoints.model.mjs +0 -7
- package/esm2022/models/universal-skills-report.model.mjs +0 -33
- package/esm2022/pipes/data-property-getter.mjs +0 -33
- package/esm2022/pipes/has-validation-error.pipe.mjs +0 -27
- package/esm2022/pipes/memoize-func.pipe.mjs +0 -39
- package/esm2022/pipes/name-initials.pipe.mjs +0 -25
- package/esm2022/pipes/truncate.pipe.mjs +0 -34
- package/esm2022/pipes/ui-ordinal-suffix.pipe.mjs +0 -31
- package/esm2022/pipes/ui-translate.pipe.mjs +0 -81
- package/esm2022/providers/is-large-tablet.mjs +0 -11
- package/esm2022/providers/is-mobile.mjs +0 -11
- package/esm2022/public-api.mjs +0 -259
- package/esm2022/services/icons.service.mjs +0 -22
- package/esm2022/services/universal-skills.service.mjs +0 -85
- package/esm2022/testgorilla-tgo-ui.mjs +0 -5
- package/esm2022/utils/alert-bar.model.mjs +0 -2
- package/esm2022/utils/alert-bars.utils.mjs +0 -34
- package/esm2022/utils/autocomplete-utils.mjs +0 -78
- package/esm2022/utils/color-contrast.mjs +0 -131
- package/esm2022/utils/hex-to-rgb.mjs +0 -9
- package/esm2022/utils/localization/language.model.mjs +0 -16
- package/esm2022/utils/localization/language.service.mjs +0 -44
- package/esm2022/utils/table.utils.mjs +0 -25
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHRnb0ljb25zLCB0Z29SZWJyYW5kSWNvbnMgfSBmcm9tICcuL2ljb24uY29uZmlnJztcblxudHlwZSBUZ29JY29ucyA9IHR5cGVvZiB0Z29JY29uc1tudW1iZXJdO1xudHlwZSBUZ29SZWJyYW5kSWNvbnMgPSB0eXBlb2YgdGdvUmVicmFuZEljb25zW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIEljb25TaXplID0gJzE2JyB8ICcyNCcgfCAnNDAnIHwgJzgwJztcbmV4cG9ydCB0eXBlIEljb25OYW1lID0gVGdvUmVicmFuZEljb25zIHwgVGdvSWNvbnMgfCAnJztcbmV4cG9ydCB0eXBlIEljb25Db2xvciA9ICd0ZWFsJyB8ICdwZXRyb2wnIHwgJ2RhcmsnIHwgJ3doaXRlJyB8ICdibGFjaycgfCAnaW5oZXJpdCcgfCAncmVicmFuZC1ibGFjaycgfCAncmVkJyB8ICdncmV5JyB8ICdvcmFuZ2UnIHwgJ2dyYXknIHwgc3RyaW5nO1xuIl19
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
import { Component, HostBinding, Inject, Input, Optional } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../icon/icon.component";
|
|
4
|
-
export class IconLabelComponent {
|
|
5
|
-
constructor(defaultAppTheme) {
|
|
6
|
-
this.defaultAppTheme = defaultAppTheme;
|
|
7
|
-
/**
|
|
8
|
-
* Icon size
|
|
9
|
-
*
|
|
10
|
-
* @type {IconSize}
|
|
11
|
-
* @memberof IconLabelComponent
|
|
12
|
-
*/
|
|
13
|
-
this.iconSize = '16';
|
|
14
|
-
/**
|
|
15
|
-
* Label
|
|
16
|
-
*
|
|
17
|
-
* @memberof IconLabelComponent
|
|
18
|
-
*/
|
|
19
|
-
this.text = '';
|
|
20
|
-
/**
|
|
21
|
-
* Icon color
|
|
22
|
-
*
|
|
23
|
-
* @type {IconColor}
|
|
24
|
-
* @memberof IconLabelComponent
|
|
25
|
-
*/
|
|
26
|
-
this.iconColor = '';
|
|
27
|
-
/**
|
|
28
|
-
* Indent between icon and label
|
|
29
|
-
*
|
|
30
|
-
* @type {string}
|
|
31
|
-
* @memberof IconLabelComponent
|
|
32
|
-
*/
|
|
33
|
-
this.iconIndent = '8';
|
|
34
|
-
/**
|
|
35
|
-
*
|
|
36
|
-
* Defines the application theme
|
|
37
|
-
*
|
|
38
|
-
* @type {ApplicationTheme}
|
|
39
|
-
* @memberof IconLabelComponent
|
|
40
|
-
*/
|
|
41
|
-
this.applicationTheme = 'light';
|
|
42
|
-
if (defaultAppTheme) {
|
|
43
|
-
this.applicationTheme = defaultAppTheme;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
ngOnInit() { }
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconLabelComponent, deps: [{ token: 'CANOPYUI_DEFAULT_APPLICATION_THEME', optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: IconLabelComponent, selector: "ui-icon-label", inputs: { iconSize: "iconSize", iconName: "iconName", text: "text", iconColor: "iconColor", iconIndent: "iconIndent", applicationTheme: "applicationTheme" }, host: { properties: { "style.--icon-indent": "this.iconIndent" } }, ngImport: i0, template: "<ui-icon [name]=\"iconName\" [size]=\"iconSize\" [color]=\"iconColor\" aria-hidden=\"true\"></ui-icon>\n<span>{{ text }}</span>\n", styles: [":host{display:flex;align-items:center}:host ui-icon{margin-right:calc(var(--icon-indent) * 1px)}\n"], dependencies: [{ kind: "component", type: i1.IconComponent, selector: "ui-icon", inputs: ["size", "cssClass", "name", "color", "filled", "toggleIconStyle", "applicationTheme", "useFullIconName"] }] }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconLabelComponent, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'ui-icon-label', template: "<ui-icon [name]=\"iconName\" [size]=\"iconSize\" [color]=\"iconColor\" aria-hidden=\"true\"></ui-icon>\n<span>{{ text }}</span>\n", styles: [":host{display:flex;align-items:center}:host ui-icon{margin-right:calc(var(--icon-indent) * 1px)}\n"] }]
|
|
53
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
54
|
-
type: Optional
|
|
55
|
-
}, {
|
|
56
|
-
type: Inject,
|
|
57
|
-
args: ['CANOPYUI_DEFAULT_APPLICATION_THEME']
|
|
58
|
-
}] }], propDecorators: { iconSize: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], iconName: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], text: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], iconColor: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], iconIndent: [{
|
|
67
|
-
type: HostBinding,
|
|
68
|
-
args: ['style.--icon-indent']
|
|
69
|
-
}, {
|
|
70
|
-
type: Input
|
|
71
|
-
}], applicationTheme: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}] } });
|
|
74
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvaWNvbi1sYWJlbC9pY29uLWxhYmVsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9pY29uLWxhYmVsL2ljb24tbGFiZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBVSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVN4RixNQUFNLE9BQU8sa0JBQWtCO0lBbUQ3QixZQUM2RSxlQUFpQztRQUFqQyxvQkFBZSxHQUFmLGVBQWUsQ0FBa0I7UUFuRDlHOzs7OztXQUtHO1FBQ00sYUFBUSxHQUFhLElBQUksQ0FBQztRQVVuQzs7OztXQUlHO1FBQ00sU0FBSSxHQUFHLEVBQUUsQ0FBQztRQUVuQjs7Ozs7V0FLRztRQUNNLGNBQVMsR0FBSSxFQUFFLENBQUM7UUFFekI7Ozs7O1dBS0c7UUFHSCxlQUFVLEdBQUksR0FBRyxDQUFDO1FBRWxCOzs7Ozs7V0FNRztRQUNNLHFCQUFnQixHQUFxQixPQUFPLENBQUM7UUFLcEQsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsZUFBZSxDQUFDO1FBQzFDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxLQUFVLENBQUM7K0dBM0RSLGtCQUFrQixrQkFvRFAsb0NBQW9DO21HQXBEL0Msa0JBQWtCLHVSQ1QvQixtSUFFQTs7NEZET2Esa0JBQWtCO2tCQUw5QixTQUFTOytCQUNFLGVBQWU7OzBCQXdEdEIsUUFBUTs7MEJBQUksTUFBTTsyQkFBQyxvQ0FBb0M7eUNBN0NqRCxRQUFRO3NCQUFoQixLQUFLO2dCQVFHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBT0csSUFBSTtzQkFBWixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBVU4sVUFBVTtzQkFGVCxXQUFXO3VCQUFDLHFCQUFxQjs7c0JBQ2pDLEtBQUs7Z0JBVUcsZ0JBQWdCO3NCQUF4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk5hbWUsIEljb25TaXplIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9pY29uL2ljb24ubW9kZWwnO1xuaW1wb3J0IHsgQXBwbGljYXRpb25UaGVtZSB9IGZyb20gJy4uLy4uL21vZGVscy9hcHBsaWNhdGlvbi10aGVtZS5tb2RlbCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3VpLWljb24tbGFiZWwnLFxuICB0ZW1wbGF0ZVVybDogJy4vaWNvbi1sYWJlbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2ljb24tbGFiZWwuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgSWNvbkxhYmVsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqXG4gICAqIEljb24gc2l6ZVxuICAgKlxuICAgKiBAdHlwZSB7SWNvblNpemV9XG4gICAqIEBtZW1iZXJvZiBJY29uTGFiZWxDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25TaXplOiBJY29uU2l6ZSA9ICcxNic7XG5cbiAgLyoqXG4gICAqIEljb24gbmFtZVxuICAgKlxuICAgKiBAdHlwZSB7SWNvbk5hbWV9XG4gICAqIEBtZW1iZXJvZiBJY29uTGFiZWxDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lOiBJY29uTmFtZTtcblxuICAvKipcbiAgICogTGFiZWxcbiAgICpcbiAgICogQG1lbWJlcm9mIEljb25MYWJlbENvbXBvbmVudFxuICAgKi9cbiAgQElucHV0KCkgdGV4dCA9ICcnO1xuXG4gIC8qKlxuICAgKiBJY29uIGNvbG9yXG4gICAqXG4gICAqIEB0eXBlIHtJY29uQ29sb3J9XG4gICAqIEBtZW1iZXJvZiBJY29uTGFiZWxDb21wb25lbnRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Db2xvcj8gPSAnJztcblxuICAvKipcbiAgICogSW5kZW50IGJldHdlZW4gaWNvbiBhbmQgbGFiZWxcbiAgICpcbiAgICogQHR5cGUge3N0cmluZ31cbiAgICogQG1lbWJlcm9mIEljb25MYWJlbENvbXBvbmVudFxuICAgKi9cbiAgQEhvc3RCaW5kaW5nKCdzdHlsZS4tLWljb24taW5kZW50JylcbiAgQElucHV0KClcbiAgaWNvbkluZGVudD8gPSAnOCc7XG5cbiAgLyoqXG4gICAqXG4gICAqIERlZmluZXMgdGhlIGFwcGxpY2F0aW9uIHRoZW1lXG4gICAqXG4gICAqIEB0eXBlIHtBcHBsaWNhdGlvblRoZW1lfVxuICAgKiBAbWVtYmVyb2YgSWNvbkxhYmVsQ29tcG9uZW50XG4gICAqL1xuICBASW5wdXQoKSBhcHBsaWNhdGlvblRoZW1lOiBBcHBsaWNhdGlvblRoZW1lID0gJ2xpZ2h0JztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBAT3B0aW9uYWwoKSBASW5qZWN0KCdDQU5PUFlVSV9ERUZBVUxUX0FQUExJQ0FUSU9OX1RIRU1FJykgcHJpdmF0ZSByZWFkb25seSBkZWZhdWx0QXBwVGhlbWU6IEFwcGxpY2F0aW9uVGhlbWVcbiAgKSB7XG4gICAgaWYgKGRlZmF1bHRBcHBUaGVtZSkge1xuICAgICAgdGhpcy5hcHBsaWNhdGlvblRoZW1lID0gZGVmYXVsdEFwcFRoZW1lO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge31cbn1cbiIsIjx1aS1pY29uIFtuYW1lXT1cImljb25OYW1lXCIgW3NpemVdPVwiaWNvblNpemVcIiBbY29sb3JdPVwiaWNvbkNvbG9yXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+PC91aS1pY29uPlxuPHNwYW4+e3sgdGV4dCB9fTwvc3Bhbj5cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from '@angular/common';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { IconComponentModule } from '../icon/icon.component.module';
|
|
4
|
-
import { IconLabelComponent } from './icon-label.component';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export class IconLabelComponentModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconLabelComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: IconLabelComponentModule, declarations: [IconLabelComponent], imports: [CommonModule, IconComponentModule], exports: [IconLabelComponent] }); }
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconLabelComponentModule, imports: [CommonModule, IconComponentModule] }); }
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: IconLabelComponentModule, decorators: [{
|
|
12
|
-
type: NgModule,
|
|
13
|
-
args: [{
|
|
14
|
-
declarations: [IconLabelComponent],
|
|
15
|
-
imports: [CommonModule, IconComponentModule],
|
|
16
|
-
exports: [IconLabelComponent],
|
|
17
|
-
providers: [],
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1sYWJlbC5jb21wb25lbnQubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2ljb24tbGFiZWwvaWNvbi1sYWJlbC5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDOztBQVE1RCxNQUFNLE9BQU8sd0JBQXdCOytHQUF4Qix3QkFBd0I7Z0hBQXhCLHdCQUF3QixpQkFMcEIsa0JBQWtCLGFBQ3ZCLFlBQVksRUFBRSxtQkFBbUIsYUFDakMsa0JBQWtCO2dIQUdqQix3QkFBd0IsWUFKekIsWUFBWSxFQUFFLG1CQUFtQjs7NEZBSWhDLHdCQUF3QjtrQkFOcEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDbEMsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLG1CQUFtQixDQUFDO29CQUM1QyxPQUFPLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQztvQkFDN0IsU0FBUyxFQUFFLEVBQUU7aUJBQ2QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25Db21wb25lbnRNb2R1bGUgfSBmcm9tICcuLi9pY29uL2ljb24uY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uTGFiZWxDb21wb25lbnQgfSBmcm9tICcuL2ljb24tbGFiZWwuY29tcG9uZW50JztcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbSWNvbkxhYmVsQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudE1vZHVsZV0sXG4gIGV4cG9ydHM6IFtJY29uTGFiZWxDb21wb25lbnRdLFxuICBwcm92aWRlcnM6IFtdLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uTGFiZWxDb21wb25lbnRNb2R1bGUge31cbiJdfQ==
|
|
@@ -1,320 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, HostBinding, HostListener, input, output, ViewChild, ViewEncapsulation, computed, signal, Optional, Self, } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@angular/forms";
|
|
4
|
-
import * as i2 from "@angular/common";
|
|
5
|
-
import * as i3 from "../button/button.component";
|
|
6
|
-
import * as i4 from "../field/field.component";
|
|
7
|
-
/**
|
|
8
|
-
* A global counter used to generate unique inline field IDs.
|
|
9
|
-
*/
|
|
10
|
-
export let inlineFieldID = 0;
|
|
11
|
-
export class InlineFieldComponent {
|
|
12
|
-
constructor(cdr, destroyRef, elementRef, ngControl) {
|
|
13
|
-
this.cdr = cdr;
|
|
14
|
-
this.destroyRef = destroyRef;
|
|
15
|
-
this.elementRef = elementRef;
|
|
16
|
-
this.ngControl = ngControl;
|
|
17
|
-
this.class = 'ui-inline-field';
|
|
18
|
-
/**
|
|
19
|
-
* Component ID for accessibility
|
|
20
|
-
*/
|
|
21
|
-
this.id = input(`inline-field-${inlineFieldID++}`);
|
|
22
|
-
/**
|
|
23
|
-
* Field label
|
|
24
|
-
*/
|
|
25
|
-
this.label = input('');
|
|
26
|
-
/**
|
|
27
|
-
* Field placeholder
|
|
28
|
-
*/
|
|
29
|
-
this.placeholder = input('');
|
|
30
|
-
/**
|
|
31
|
-
* Current value
|
|
32
|
-
*/
|
|
33
|
-
this.value = input('');
|
|
34
|
-
/**
|
|
35
|
-
* Whether the field is required
|
|
36
|
-
*/
|
|
37
|
-
this.required = input(false);
|
|
38
|
-
/**
|
|
39
|
-
* Whether the field is disabled
|
|
40
|
-
*/
|
|
41
|
-
this.disabled = input(false);
|
|
42
|
-
/**
|
|
43
|
-
* Application theme
|
|
44
|
-
*/
|
|
45
|
-
this.applicationTheme = input('light');
|
|
46
|
-
/**
|
|
47
|
-
* Field type
|
|
48
|
-
*/
|
|
49
|
-
this.fieldType = input('text');
|
|
50
|
-
/**
|
|
51
|
-
* Field type
|
|
52
|
-
*/
|
|
53
|
-
this.maxRows = input(0);
|
|
54
|
-
/**
|
|
55
|
-
* Error messages
|
|
56
|
-
*/
|
|
57
|
-
this.errors = input([]);
|
|
58
|
-
/**
|
|
59
|
-
* Whether to show errors
|
|
60
|
-
*/
|
|
61
|
-
this.showErrors = input(true);
|
|
62
|
-
/**
|
|
63
|
-
* Button configuration
|
|
64
|
-
*/
|
|
65
|
-
this.buttonConfig = input({
|
|
66
|
-
saveLabel: 'Save',
|
|
67
|
-
cancelLabel: 'Cancel',
|
|
68
|
-
saveIcon: 'Check-filled',
|
|
69
|
-
cancelIcon: 'Close-filled',
|
|
70
|
-
});
|
|
71
|
-
/**
|
|
72
|
-
* Validation configuration
|
|
73
|
-
*/
|
|
74
|
-
this.validation = input({});
|
|
75
|
-
/**
|
|
76
|
-
* ARIA label
|
|
77
|
-
*/
|
|
78
|
-
this.ariaLabel = input('');
|
|
79
|
-
/**
|
|
80
|
-
* Full width
|
|
81
|
-
*/
|
|
82
|
-
this.fullWidth = input(false);
|
|
83
|
-
/**
|
|
84
|
-
* Emitted when save button is clicked
|
|
85
|
-
*/
|
|
86
|
-
this.save = output();
|
|
87
|
-
/**
|
|
88
|
-
* Emitted when cancel button is clicked
|
|
89
|
-
*/
|
|
90
|
-
this.cancel = output();
|
|
91
|
-
/**
|
|
92
|
-
* Emitted when value changes
|
|
93
|
-
*/
|
|
94
|
-
this.valueChange = output();
|
|
95
|
-
/**
|
|
96
|
-
* Emitted when editing mode changes
|
|
97
|
-
*/
|
|
98
|
-
this.editingModeChange = output();
|
|
99
|
-
/**
|
|
100
|
-
* Emitted on focus
|
|
101
|
-
*/
|
|
102
|
-
this.focusEvent = output();
|
|
103
|
-
/**
|
|
104
|
-
* Emitted on blur
|
|
105
|
-
*/
|
|
106
|
-
this.blurEvent = output();
|
|
107
|
-
this._isEditing = signal(false);
|
|
108
|
-
this._originalValue = signal('');
|
|
109
|
-
this._currentValue = signal('');
|
|
110
|
-
this._state = signal('default');
|
|
111
|
-
this.isEditing = computed(() => this._isEditing());
|
|
112
|
-
this.currentValue = computed(() => this._currentValue());
|
|
113
|
-
this.state = computed(() => this._state());
|
|
114
|
-
this.saveButtonConfig = computed(() => ({
|
|
115
|
-
label: this.buttonConfig().saveLabel || 'Save',
|
|
116
|
-
iconName: this.buttonConfig().saveIcon || 'Check-filled',
|
|
117
|
-
variant: 'secondary-inverted',
|
|
118
|
-
size: 'small',
|
|
119
|
-
disabled: this.disabled(),
|
|
120
|
-
}));
|
|
121
|
-
this.cancelButtonConfig = computed(() => ({
|
|
122
|
-
label: this.buttonConfig().cancelLabel || 'Cancel',
|
|
123
|
-
iconName: this.buttonConfig().cancelIcon || 'Close-filled',
|
|
124
|
-
variant: 'secondary-inverted',
|
|
125
|
-
size: 'small',
|
|
126
|
-
disabled: this.disabled(),
|
|
127
|
-
}));
|
|
128
|
-
this.onChange = (_value) => { };
|
|
129
|
-
this.onTouched = () => { };
|
|
130
|
-
if (this.ngControl != null) {
|
|
131
|
-
this.ngControl.valueAccessor = this;
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
ngOnInit() {
|
|
135
|
-
this._currentValue.set(this.value());
|
|
136
|
-
this._originalValue.set(this.value());
|
|
137
|
-
this.updateState();
|
|
138
|
-
}
|
|
139
|
-
writeValue(value) {
|
|
140
|
-
const newValue = value || '';
|
|
141
|
-
this._currentValue.set(newValue);
|
|
142
|
-
if (!this.isEditing()) {
|
|
143
|
-
this._originalValue.set(newValue);
|
|
144
|
-
}
|
|
145
|
-
this.cdr.markForCheck();
|
|
146
|
-
}
|
|
147
|
-
registerOnChange(fn) {
|
|
148
|
-
this.onChange = fn;
|
|
149
|
-
}
|
|
150
|
-
registerOnTouched(fn) {
|
|
151
|
-
this.onTouched = fn;
|
|
152
|
-
}
|
|
153
|
-
setDisabledState(_isDisabled) {
|
|
154
|
-
this.updateState();
|
|
155
|
-
this.cdr.markForCheck();
|
|
156
|
-
}
|
|
157
|
-
onComponentFocusOut(event) {
|
|
158
|
-
const relatedTarget = event.relatedTarget;
|
|
159
|
-
const isLeavingComponent = !relatedTarget || !this.elementRef.nativeElement.contains(relatedTarget);
|
|
160
|
-
if (isLeavingComponent && this.isEditing()) {
|
|
161
|
-
this._currentValue.set(this._originalValue());
|
|
162
|
-
this.exitEditMode();
|
|
163
|
-
this.onChange(this._originalValue());
|
|
164
|
-
this.cancel.emit();
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
onEscapePressed(event) {
|
|
168
|
-
if (this.isEditing()) {
|
|
169
|
-
event.preventDefault();
|
|
170
|
-
this.cancelEdit();
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
onEnterPressed(event) {
|
|
174
|
-
if (this.isEditing() && !event.shiftKey) {
|
|
175
|
-
event.preventDefault();
|
|
176
|
-
this.saveEdit();
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
onTabPressed() {
|
|
180
|
-
return;
|
|
181
|
-
}
|
|
182
|
-
onInputFocus() {
|
|
183
|
-
if (!this.disabled() && !this.isEditing()) {
|
|
184
|
-
this.enterEditMode();
|
|
185
|
-
}
|
|
186
|
-
this._state.set('focused');
|
|
187
|
-
this.focusEvent.emit();
|
|
188
|
-
this.onTouched();
|
|
189
|
-
}
|
|
190
|
-
onInputBlur() {
|
|
191
|
-
this.blurEvent.emit();
|
|
192
|
-
}
|
|
193
|
-
onInputChange(event) {
|
|
194
|
-
const inputElement = event.target;
|
|
195
|
-
const newValue = inputElement.value;
|
|
196
|
-
this._currentValue.set(newValue);
|
|
197
|
-
this.valueChange.emit(newValue);
|
|
198
|
-
}
|
|
199
|
-
focus() {
|
|
200
|
-
if (this.fieldComponent) {
|
|
201
|
-
this.fieldComponent.focus();
|
|
202
|
-
this.fieldComponent.field?.nativeElement?.select();
|
|
203
|
-
}
|
|
204
|
-
}
|
|
205
|
-
enterEditMode() {
|
|
206
|
-
if (this.disabled() || this.isEditing()) {
|
|
207
|
-
return;
|
|
208
|
-
}
|
|
209
|
-
this._originalValue.set(this._currentValue());
|
|
210
|
-
this._isEditing.set(true);
|
|
211
|
-
this._state.set('editing');
|
|
212
|
-
this.editingModeChange.emit(true);
|
|
213
|
-
this.cdr.markForCheck();
|
|
214
|
-
}
|
|
215
|
-
saveEdit() {
|
|
216
|
-
if (!this.isEditing()) {
|
|
217
|
-
return;
|
|
218
|
-
}
|
|
219
|
-
const newValue = this.currentValue();
|
|
220
|
-
const hasValidationError = this.hasValidationError(newValue);
|
|
221
|
-
if (hasValidationError) {
|
|
222
|
-
this._state.set('error');
|
|
223
|
-
this.cdr.markForCheck();
|
|
224
|
-
return;
|
|
225
|
-
}
|
|
226
|
-
const changeEvent = {
|
|
227
|
-
value: newValue,
|
|
228
|
-
saved: true,
|
|
229
|
-
previousValue: this._originalValue(),
|
|
230
|
-
};
|
|
231
|
-
this._originalValue.set(newValue);
|
|
232
|
-
this.exitEditMode();
|
|
233
|
-
this.onChange(newValue);
|
|
234
|
-
this.save.emit(changeEvent);
|
|
235
|
-
}
|
|
236
|
-
cancelEdit() {
|
|
237
|
-
if (!this.isEditing()) {
|
|
238
|
-
return;
|
|
239
|
-
}
|
|
240
|
-
this._currentValue.set(this._originalValue());
|
|
241
|
-
this.exitEditMode();
|
|
242
|
-
this.cancel.emit();
|
|
243
|
-
}
|
|
244
|
-
exitEditMode() {
|
|
245
|
-
this._isEditing.set(false);
|
|
246
|
-
this.updateState();
|
|
247
|
-
this.editingModeChange.emit(false);
|
|
248
|
-
this.cdr.markForCheck();
|
|
249
|
-
}
|
|
250
|
-
updateState() {
|
|
251
|
-
if (this.disabled()) {
|
|
252
|
-
this._state.set('disabled');
|
|
253
|
-
}
|
|
254
|
-
else if (this.errors().length > 0) {
|
|
255
|
-
this._state.set('error');
|
|
256
|
-
}
|
|
257
|
-
else if (this.isEditing()) {
|
|
258
|
-
this._state.set('editing');
|
|
259
|
-
}
|
|
260
|
-
else {
|
|
261
|
-
this._state.set('default');
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
hasValidationError(value) {
|
|
265
|
-
const config = this.validation();
|
|
266
|
-
return (this.hasRequiredError(value, config) ||
|
|
267
|
-
this.hasMinLengthError(value, config) ||
|
|
268
|
-
this.hasMaxLengthError(value, config) ||
|
|
269
|
-
this.hasPatternError(value, config) ||
|
|
270
|
-
this.hasCustomValidationError(value, config));
|
|
271
|
-
}
|
|
272
|
-
hasRequiredError(value, config) {
|
|
273
|
-
return !!config.required && (!value || value.trim().length === 0);
|
|
274
|
-
}
|
|
275
|
-
hasMinLengthError(value, config) {
|
|
276
|
-
return !!config.minLength && value.length < config.minLength;
|
|
277
|
-
}
|
|
278
|
-
hasMaxLengthError(value, config) {
|
|
279
|
-
return !!config.maxLength && value.length > config.maxLength;
|
|
280
|
-
}
|
|
281
|
-
hasPatternError(value, config) {
|
|
282
|
-
return !!config.pattern && !config.pattern.test(value);
|
|
283
|
-
}
|
|
284
|
-
hasCustomValidationError(value, config) {
|
|
285
|
-
return !!config.customValidator && config.customValidator(value);
|
|
286
|
-
}
|
|
287
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFieldComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
288
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: InlineFieldComponent, selector: "ui-inline-field", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, applicationTheme: { classPropertyName: "applicationTheme", publicName: "applicationTheme", isSignal: true, isRequired: false, transformFunction: null }, fieldType: { classPropertyName: "fieldType", publicName: "fieldType", isSignal: true, isRequired: false, transformFunction: null }, maxRows: { classPropertyName: "maxRows", publicName: "maxRows", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null }, showErrors: { classPropertyName: "showErrors", publicName: "showErrors", isSignal: true, isRequired: false, transformFunction: null }, buttonConfig: { classPropertyName: "buttonConfig", publicName: "buttonConfig", isSignal: true, isRequired: false, transformFunction: null }, validation: { classPropertyName: "validation", publicName: "validation", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, fullWidth: { classPropertyName: "fullWidth", publicName: "fullWidth", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { save: "save", cancel: "cancel", valueChange: "valueChange", editingModeChange: "editingModeChange", focusEvent: "focusEvent", blurEvent: "blurEvent" }, host: { listeners: { "focusout": "onComponentFocusOut($event)", "keydown.escape": "onEscapePressed($event)", "keydown.enter": "onEnterPressed($event)", "keydown.tab": "onTabPressed($event)" }, properties: { "attr.theme": "applicationTheme()", "attr.state": "state()", "attr.editing": "isEditing()", "class.full-width": "fullWidth()", "class": "this.class" } }, viewQueries: [{ propertyName: "fieldComponent", first: true, predicate: ["fieldElement"], descendants: true }], ngImport: i0, template: "<div class=\"inline-field-container\">\n <div class=\"field-wrapper\" [ngClass]=\"{ 'is-editing': isEditing() }\">\n <ui-field\n [id]=\"id() + '-input'\"\n [label]=\"label()\"\n [placeholder]=\"placeholder()\"\n [value]=\"currentValue()\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n [errors]=\"errors()\"\n [showBottomContent]=\"showErrors()\"\n [ariaLabel]=\"ariaLabel()\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [isAutocompleteOff]=\"true\"\n [type]=\"fieldType()\"\n [maxRows]=\"maxRows()\"\n (input)=\"onInputChange($event)\"\n (fieldBlur)=\"onInputBlur()\"\n (focusin)=\"onInputFocus()\"\n #fieldElement\n data-testid=\"inline-field\"\n ></ui-field>\n\n <div *ngIf=\"isEditing()\" class=\"action-buttons\">\n <ui-button\n [label]=\"saveButtonConfig().label\"\n [iconName]=\"saveButtonConfig().iconName\"\n [variant]=\"saveButtonConfig().variant\"\n [size]=\"saveButtonConfig().size\"\n [disabled]=\"saveButtonConfig().disabled\"\n [applicationTheme]=\"applicationTheme()\"\n [iconPosition]=\"'left'\"\n (buttonClickEvent)=\"saveEdit()\"\n [attr.aria-label]=\"'Save ' + (label() || 'field')\"\n class=\"save-button\"\n ></ui-button>\n\n <ui-button\n [label]=\"cancelButtonConfig().label\"\n [iconName]=\"cancelButtonConfig().iconName\"\n [variant]=\"cancelButtonConfig().variant\"\n [size]=\"cancelButtonConfig().size\"\n [disabled]=\"cancelButtonConfig().disabled\"\n [applicationTheme]=\"applicationTheme()\"\n [iconPosition]=\"'left'\"\n (buttonClickEvent)=\"cancelEdit()\"\n [attr.aria-label]=\"'Cancel editing ' + (label() || 'field')\"\n class=\"cancel-button\"\n ></ui-button>\n </div>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.ui-inline-field{display:block;position:relative;width:100%;max-width:320px}.ui-inline-field.full-width{max-width:100%}.ui-inline-field .inline-field-container,.ui-inline-field .field-wrapper{position:relative;width:100%}.ui-inline-field .field-wrapper ::ng-deep ui-field .mat-mdc-form-field-subscript-wrapper{display:none!important}.ui-inline-field .field-wrapper .action-buttons{position:absolute;top:calc(100% + 4px);right:0;display:flex;gap:8px;z-index:10}.ui-inline-field .field-wrapper:hover .action-buttons.show-on-hover{opacity:1}.ui-inline-field .error-messages{margin-top:4px}.ui-inline-field .error-messages .error-message{display:flex;align-items:center;gap:4px;color:#e02800;font-size:12px;line-height:16px}.ui-inline-field .error-messages .error-message .error-icon ::ng-deep svg{color:#e02800}.ui-inline-field[state=disabled]{pointer-events:none}@media (max-width: 768px){.ui-inline-field .field-wrapper .action-buttons{position:static;margin-top:8px;justify-content:flex-end}}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "ui-button", inputs: ["size", "variant", "label", "iconPosition", "justIcon", "iconName", "disabled", "loading", "fullWidth", "url", "urlTarget", "value", "tooltip", "isPremium", "type", "companyColor", "buttonBadgeConfig", "applicationTheme", "disabledScaleOnClick", "ariaLabel", "ariaRequired", "ariaLabelledby", "ariaDescribedby", "preventDefault", "hasBackground", "tooltipPosition", "role", "iconFilled"], outputs: ["buttonClickEvent", "buttonHoverEvent"] }, { kind: "component", type: i4.FieldComponent, selector: "ui-field", inputs: ["fullWidth", "fullHeight", "label", "labelHtml", "labelIcon", "fieldName", "placeholder", "id", "value", "badgeVariant", "errors", "disabled", "required", "readOnly", "hintMessage", "type", "updateOnBlur", "allowOnlyDigits", "isAutocompleteOff", "allowNegative", "showBottomContent", "applicationTheme", "ariaLabel", "loading", "isValid", "maxCharacters", "trimOnBlur", "trimOnSubmit", "maxRows", "hasTextAreaCounter", "hideBuiltInErrors", "hideLabelInErrors", "max", "min", "textareaHeight", "borderless", "autosizableTextarea", "isAIVariant", "ariaLabelledby", "ariaDescribedby", "hasError"], outputs: ["validateEvent", "fieldBlur"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
289
|
-
}
|
|
290
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFieldComponent, decorators: [{
|
|
291
|
-
type: Component,
|
|
292
|
-
args: [{ selector: 'ui-inline-field', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
293
|
-
'[attr.theme]': 'applicationTheme()',
|
|
294
|
-
'[attr.state]': 'state()',
|
|
295
|
-
'[attr.editing]': 'isEditing()',
|
|
296
|
-
'[class.full-width]': 'fullWidth()',
|
|
297
|
-
}, template: "<div class=\"inline-field-container\">\n <div class=\"field-wrapper\" [ngClass]=\"{ 'is-editing': isEditing() }\">\n <ui-field\n [id]=\"id() + '-input'\"\n [label]=\"label()\"\n [placeholder]=\"placeholder()\"\n [value]=\"currentValue()\"\n [required]=\"required()\"\n [disabled]=\"disabled()\"\n [errors]=\"errors()\"\n [showBottomContent]=\"showErrors()\"\n [ariaLabel]=\"ariaLabel()\"\n [applicationTheme]=\"applicationTheme()\"\n [fullWidth]=\"true\"\n [isAutocompleteOff]=\"true\"\n [type]=\"fieldType()\"\n [maxRows]=\"maxRows()\"\n (input)=\"onInputChange($event)\"\n (fieldBlur)=\"onInputBlur()\"\n (focusin)=\"onInputFocus()\"\n #fieldElement\n data-testid=\"inline-field\"\n ></ui-field>\n\n <div *ngIf=\"isEditing()\" class=\"action-buttons\">\n <ui-button\n [label]=\"saveButtonConfig().label\"\n [iconName]=\"saveButtonConfig().iconName\"\n [variant]=\"saveButtonConfig().variant\"\n [size]=\"saveButtonConfig().size\"\n [disabled]=\"saveButtonConfig().disabled\"\n [applicationTheme]=\"applicationTheme()\"\n [iconPosition]=\"'left'\"\n (buttonClickEvent)=\"saveEdit()\"\n [attr.aria-label]=\"'Save ' + (label() || 'field')\"\n class=\"save-button\"\n ></ui-button>\n\n <ui-button\n [label]=\"cancelButtonConfig().label\"\n [iconName]=\"cancelButtonConfig().iconName\"\n [variant]=\"cancelButtonConfig().variant\"\n [size]=\"cancelButtonConfig().size\"\n [disabled]=\"cancelButtonConfig().disabled\"\n [applicationTheme]=\"applicationTheme()\"\n [iconPosition]=\"'left'\"\n (buttonClickEvent)=\"cancelEdit()\"\n [attr.aria-label]=\"'Cancel editing ' + (label() || 'field')\"\n class=\"cancel-button\"\n ></ui-button>\n </div>\n </div>\n</div>\n", styles: [".bg-teal-60b{background:#1c443c}.bg-teal-30b{background:#31766a}.bg-teal-default{background:#46a997}.bg-teal-30w{background:#7ec3b6}.bg-teal-60w{background:#b5ddd5}.bg-teal-secondary{background:#cbd6cb}.bg-teal-90w{background:#ecf6f5}.bg-petrol-60b{background:#102930}.bg-petrol-30b{background:#1b4754}.bg-petrol-default{background:#276678}.bg-petrol-30w{background:#6894a0}.bg-petrol-60w{background:#a9c2c9}.bg-petrol-secondary{background:#c8d7de}.bg-petrol-90w{background:#e9f0f1}.bg-error-60b{background:#513131}.bg-error-30b{background:#8e5655}.bg-error-60w{background:#e3c3c6}.bg-error-secondary{background:#f0dad9}.bg-error-default{background:#cb7b7a}.bg-warning-secondary{background:#f0d6bb}.bg-warning-default{background:#cca45f}.bg-black{background:#000}.bg-dark{background:#888}.bg-medium{background:#e0e0e0}.bg-grey{background:#ededed}.bg-light{background:#f6f6f6}.bg-white{background:#fff}.bg-box-shadow{background:#00000014}.bg-navigation-subtitle{background:#528593}.bgc-teal-60b{background-color:#1c443c}.bgc-teal-30b{background-color:#31766a}.bgc-teal-default{background-color:#46a997}.bgc-teal-30w{background-color:#7ec3b6}.bgc-teal-60w{background-color:#b5ddd5}.bgc-teal-secondary{background-color:#cbd6cb}.bgc-teal-90w{background-color:#ecf6f5}.bgc-petrol-60b{background-color:#102930}.bgc-petrol-30b{background-color:#1b4754}.bgc-petrol-default{background-color:#276678}.bgc-petrol-30w{background-color:#6894a0}.bgc-petrol-60w{background-color:#a9c2c9}.bgc-petrol-secondary{background-color:#c8d7de}.bgc-petrol-90w{background-color:#e9f0f1}.bgc-error-60b{background-color:#513131}.bgc-error-30b{background-color:#8e5655}.bgc-error-60w{background-color:#e3c3c6}.bgc-error-secondary{background-color:#f0dad9}.bgc-error-default{background-color:#cb7b7a}.bgc-warning-secondary{background-color:#f0d6bb}.bgc-warning-default{background-color:#cca45f}.bgc-black{background-color:#000}.bgc-dark{background-color:#888}.bgc-medium{background-color:#e0e0e0}.bgc-grey{background-color:#ededed}.bgc-light{background-color:#f6f6f6}.bgc-white{background-color:#fff}.bgc-box-shadow{background-color:#00000014}.bgc-navigation-subtitle{background-color:#528593}.ui-inline-field{display:block;position:relative;width:100%;max-width:320px}.ui-inline-field.full-width{max-width:100%}.ui-inline-field .inline-field-container,.ui-inline-field .field-wrapper{position:relative;width:100%}.ui-inline-field .field-wrapper ::ng-deep ui-field .mat-mdc-form-field-subscript-wrapper{display:none!important}.ui-inline-field .field-wrapper .action-buttons{position:absolute;top:calc(100% + 4px);right:0;display:flex;gap:8px;z-index:10}.ui-inline-field .field-wrapper:hover .action-buttons.show-on-hover{opacity:1}.ui-inline-field .error-messages{margin-top:4px}.ui-inline-field .error-messages .error-message{display:flex;align-items:center;gap:4px;color:#e02800;font-size:12px;line-height:16px}.ui-inline-field .error-messages .error-message .error-icon ::ng-deep svg{color:#e02800}.ui-inline-field[state=disabled]{pointer-events:none}@media (max-width: 768px){.ui-inline-field .field-wrapper .action-buttons{position:static;margin-top:8px;justify-content:flex-end}}\n"] }]
|
|
298
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i1.NgControl, decorators: [{
|
|
299
|
-
type: Optional
|
|
300
|
-
}, {
|
|
301
|
-
type: Self
|
|
302
|
-
}] }], propDecorators: { class: [{
|
|
303
|
-
type: HostBinding
|
|
304
|
-
}], fieldComponent: [{
|
|
305
|
-
type: ViewChild,
|
|
306
|
-
args: ['fieldElement']
|
|
307
|
-
}], onComponentFocusOut: [{
|
|
308
|
-
type: HostListener,
|
|
309
|
-
args: ['focusout', ['$event']]
|
|
310
|
-
}], onEscapePressed: [{
|
|
311
|
-
type: HostListener,
|
|
312
|
-
args: ['keydown.escape', ['$event']]
|
|
313
|
-
}], onEnterPressed: [{
|
|
314
|
-
type: HostListener,
|
|
315
|
-
args: ['keydown.enter', ['$event']]
|
|
316
|
-
}], onTabPressed: [{
|
|
317
|
-
type: HostListener,
|
|
318
|
-
args: ['keydown.tab', ['$event']]
|
|
319
|
-
}] } });
|
|
320
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9pbmxpbmUtZmllbGQvaW5saW5lLWZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Rnby1jYW5vcHktdWkvY29tcG9uZW50cy9pbmxpbmUtZmllbGQvaW5saW5lLWZpZWxkLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFFdkIsU0FBUyxFQUdULFdBQVcsRUFDWCxZQUFZLEVBQ1osS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixNQUFNLEVBQ04sUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBWXZCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQUksYUFBYSxHQUFHLENBQUMsQ0FBQztBQWU3QixNQUFNLE9BQU8sb0JBQW9CO0lBK0kvQixZQUNVLEdBQXNCLEVBQ3RCLFVBQXNCLEVBQ3RCLFVBQXNCLEVBQ0gsU0FBb0I7UUFIdkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ0gsY0FBUyxHQUFULFNBQVMsQ0FBVztRQWxKbEMsVUFBSyxHQUFHLGlCQUFpQixDQUFDO1FBRXpDOztXQUVHO1FBQ0gsT0FBRSxHQUFHLEtBQUssQ0FBQyxnQkFBZ0IsYUFBYSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlDOztXQUVHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsQjs7V0FFRztRQUNILGdCQUFXLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBRXhCOztXQUVHO1FBQ0gsVUFBSyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUVsQjs7V0FFRztRQUNILGFBQVEsR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFeEI7O1dBRUc7UUFDSCxhQUFRLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXhCOztXQUVHO1FBQ0gscUJBQWdCLEdBQUcsS0FBSyxDQUFtQixPQUFPLENBQUMsQ0FBQztRQUVwRDs7V0FFRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQVksTUFBTSxDQUFDLENBQUM7UUFFckM7O1dBRUc7UUFDSCxZQUFPLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDO1FBRTNCOztXQUVHO1FBQ0gsV0FBTSxHQUFHLEtBQUssQ0FBVyxFQUFFLENBQUMsQ0FBQztRQUU3Qjs7V0FFRztRQUNILGVBQVUsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFekI7O1dBRUc7UUFDSCxpQkFBWSxHQUFHLEtBQUssQ0FBMEI7WUFDNUMsU0FBUyxFQUFFLE1BQU07WUFDakIsV0FBVyxFQUFFLFFBQVE7WUFDckIsUUFBUSxFQUFFLGNBQWM7WUFDeEIsVUFBVSxFQUFFLGNBQWM7U0FDM0IsQ0FBQyxDQUFDO1FBRUg7O1dBRUc7UUFDSCxlQUFVLEdBQUcsS0FBSyxDQUF3QixFQUFFLENBQUMsQ0FBQztRQUU5Qzs7V0FFRztRQUNILGNBQVMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFdEI7O1dBRUc7UUFDSCxjQUFTLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXpCOztXQUVHO1FBQ0gsU0FBSSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUV4Qzs7V0FFRztRQUNILFdBQU0sR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUV4Qjs7V0FFRztRQUNILGdCQUFXLEdBQUcsTUFBTSxFQUFVLENBQUM7UUFFL0I7O1dBRUc7UUFDSCxzQkFBaUIsR0FBRyxNQUFNLEVBQVcsQ0FBQztRQUV0Qzs7V0FFRztRQUNILGVBQVUsR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUU1Qjs7V0FFRztRQUNILGNBQVMsR0FBRyxNQUFNLEVBQVEsQ0FBQztRQUluQixlQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNCLG1CQUFjLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzVCLGtCQUFhLEdBQUcsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzNCLFdBQU0sR0FBRyxNQUFNLENBQW1CLFNBQVMsQ0FBQyxDQUFDO1FBRXJELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDOUMsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLENBQUM7UUFDcEQsVUFBSyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQztRQUV0QyxxQkFBZ0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNqQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFNBQVMsSUFBSSxNQUFNO1lBQzlDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsUUFBUSxJQUFJLGNBQWM7WUFDeEQsT0FBTyxFQUFFLG9CQUE2QjtZQUN0QyxJQUFJLEVBQUUsT0FBZ0I7WUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSix1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNuQyxLQUFLLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLFdBQVcsSUFBSSxRQUFRO1lBQ2xELFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsVUFBVSxJQUFJLGNBQWM7WUFDMUQsT0FBTyxFQUFFLG9CQUE2QjtZQUN0QyxJQUFJLEVBQUUsT0FBZ0I7WUFDdEIsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUU7U0FDMUIsQ0FBQyxDQUFDLENBQUM7UUFFSSxhQUFRLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUNsQyxjQUFTLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBUTNCLElBQUksSUFBSSxDQUFDLFNBQVMsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUMzQixJQUFJLENBQUMsU0FBUyxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBYTtRQUN0QixNQUFNLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN0QixJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBMkI7UUFDMUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQWM7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFdBQW9CO1FBQ25DLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFHRCxtQkFBbUIsQ0FBQyxLQUFpQjtRQUNuQyxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsYUFBNEIsQ0FBQztRQUN6RCxNQUFNLGtCQUFrQixHQUFHLENBQUMsYUFBYSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRXBHLElBQUksa0JBQWtCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDM0MsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDOUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7WUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixDQUFDO0lBQ0gsQ0FBQztJQUdELGVBQWUsQ0FBQyxLQUFvQjtRQUNsQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN2QixJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7UUFDcEIsQ0FBQztJQUNILENBQUM7SUFHRCxjQUFjLENBQUMsS0FBb0I7UUFDakMsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNsQixDQUFDO0lBQ0gsQ0FBQztJQUdELFlBQVk7UUFDVixPQUFPO0lBQ1QsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3ZCLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGFBQWEsQ0FBQyxLQUFZO1FBQ3hCLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxNQUEwQixDQUFDO1FBQ3RELE1BQU0sUUFBUSxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7UUFDcEMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDakMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN4QyxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFbEMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQztZQUN0QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNyQyxNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU3RCxJQUFJLGtCQUFrQixFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDekIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztZQUN4QixPQUFPO1FBQ1QsQ0FBQztRQUVELE1BQU0sV0FBVyxHQUEyQjtZQUMxQyxLQUFLLEVBQUUsUUFBUTtZQUNmLEtBQUssRUFBRSxJQUFJO1lBQ1gsYUFBYSxFQUFFLElBQUksQ0FBQyxjQUFjLEVBQUU7U0FDckMsQ0FBQztRQUVGLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUM7UUFDOUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sV0FBVztRQUNqQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQzlCLENBQUM7YUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsQ0FBQzthQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDN0IsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM3QixDQUFDO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQWE7UUFDdEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBRWpDLE9BQU8sQ0FDTCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUNwQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUNyQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQztZQUNyQyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUM7WUFDbkMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FDN0MsQ0FBQztJQUNKLENBQUM7SUFFTyxnQkFBZ0IsQ0FBQyxLQUFhLEVBQUUsTUFBNkI7UUFDbkUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEtBQUssQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVPLGlCQUFpQixDQUFDLEtBQWEsRUFBRSxNQUE2QjtRQUNwRSxPQUFPLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztJQUMvRCxDQUFDO0lBRU8saUJBQWlCLENBQUMsS0FBYSxFQUFFLE1BQTZCO1FBQ3BFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxTQUFTLElBQUksS0FBSyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDO0lBQy9ELENBQUM7SUFFTyxlQUFlLENBQUMsS0FBYSxFQUFFLE1BQTZCO1FBQ2xFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRU8sd0JBQXdCLENBQUMsS0FBYSxFQUFFLE1BQTZCO1FBQzNFLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxlQUFlLElBQUksTUFBTSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNuRSxDQUFDOytHQXJWVSxvQkFBb0I7bUdBQXBCLG9CQUFvQixtbUZDL0NqQyx5NERBcURBOzs0RkROYSxvQkFBb0I7a0JBYmhDLFNBQVM7K0JBQ0UsaUJBQWlCLGlCQUdaLGlCQUFpQixDQUFDLElBQUksbUJBQ3BCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0osY0FBYyxFQUFFLG9CQUFvQjt3QkFDcEMsY0FBYyxFQUFFLFNBQVM7d0JBQ3pCLGdCQUFnQixFQUFFLGFBQWE7d0JBQy9CLG9CQUFvQixFQUFFLGFBQWE7cUJBQ3BDOzswQkFxSkUsUUFBUTs7MEJBQUksSUFBSTt5Q0FsSkosS0FBSztzQkFBbkIsV0FBVztnQkFnSGUsY0FBYztzQkFBeEMsU0FBUzt1QkFBQyxjQUFjO2dCQXNFekIsbUJBQW1CO3NCQURsQixZQUFZO3VCQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjcEMsZUFBZTtzQkFEZCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVMxQyxjQUFjO3NCQURiLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVN6QyxZQUFZO3NCQURYLFlBQVk7dUJBQUMsYUFBYSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIERlc3Ryb3lSZWYsXG4gIEVsZW1lbnRSZWYsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIGlucHV0LFxuICBPbkluaXQsXG4gIG91dHB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgY29tcHV0ZWQsXG4gIHNpZ25hbCxcbiAgT3B0aW9uYWwsXG4gIFNlbGYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5nQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEFwcGxpY2F0aW9uVGhlbWUgfSBmcm9tICcuLi8uLi9tb2RlbHMvYXBwbGljYXRpb24tdGhlbWUubW9kZWwnO1xuaW1wb3J0IHtcbiAgSW5saW5lRmllbGRTdGF0ZSxcbiAgSW5saW5lRmllbGRCdXR0b25Db25maWcsXG4gIElubGluZUZpZWxkVmFsaWRhdGlvbixcbiAgSW5saW5lRmllbGRDaGFuZ2VFdmVudCxcbn0gZnJvbSAnLi9pbmxpbmUtZmllbGQubW9kZWwnO1xuaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuLi9maWVsZC9maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmllbGRUeXBlIH0gZnJvbSAnLi4vZmllbGQvZmllbGQubW9kZWwnO1xuXG4vKipcbiAqIEEgZ2xvYmFsIGNvdW50ZXIgdXNlZCB0byBnZW5lcmF0ZSB1bmlxdWUgaW5saW5lIGZpZWxkIElEcy5cbiAqL1xuZXhwb3J0IGxldCBpbmxpbmVGaWVsZElEID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndWktaW5saW5lLWZpZWxkJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2lubGluZS1maWVsZC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2lubGluZS1maWVsZC5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaG9zdDoge1xuICAgICdbYXR0ci50aGVtZV0nOiAnYXBwbGljYXRpb25UaGVtZSgpJyxcbiAgICAnW2F0dHIuc3RhdGVdJzogJ3N0YXRlKCknLFxuICAgICdbYXR0ci5lZGl0aW5nXSc6ICdpc0VkaXRpbmcoKScsXG4gICAgJ1tjbGFzcy5mdWxsLXdpZHRoXSc6ICdmdWxsV2lkdGgoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIElubGluZUZpZWxkQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIEBIb3N0QmluZGluZygpIGNsYXNzID0gJ3VpLWlubGluZS1maWVsZCc7XG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCBJRCBmb3IgYWNjZXNzaWJpbGl0eVxuICAgKi9cbiAgaWQgPSBpbnB1dChgaW5saW5lLWZpZWxkLSR7aW5saW5lRmllbGRJRCsrfWApO1xuXG4gIC8qKlxuICAgKiBGaWVsZCBsYWJlbFxuICAgKi9cbiAgbGFiZWwgPSBpbnB1dCgnJyk7XG5cbiAgLyoqXG4gICAqIEZpZWxkIHBsYWNlaG9sZGVyXG4gICAqL1xuICBwbGFjZWhvbGRlciA9IGlucHV0KCcnKTtcblxuICAvKipcbiAgICogQ3VycmVudCB2YWx1ZVxuICAgKi9cbiAgdmFsdWUgPSBpbnB1dCgnJyk7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkXG4gICAqL1xuICByZXF1aXJlZCA9IGlucHV0KGZhbHNlKTtcblxuICAvKipcbiAgICogV2hldGhlciB0aGUgZmllbGQgaXMgZGlzYWJsZWRcbiAgICovXG4gIGRpc2FibGVkID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBBcHBsaWNhdGlvbiB0aGVtZVxuICAgKi9cbiAgYXBwbGljYXRpb25UaGVtZSA9IGlucHV0PEFwcGxpY2F0aW9uVGhlbWU+KCdsaWdodCcpO1xuXG4gIC8qKlxuICAgKiBGaWVsZCB0eXBlXG4gICAqL1xuICBmaWVsZFR5cGUgPSBpbnB1dDxGaWVsZFR5cGU+KCd0ZXh0Jyk7XG5cbiAgLyoqXG4gICAqIEZpZWxkIHR5cGVcbiAgICovXG4gIG1heFJvd3MgPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gIC8qKlxuICAgKiBFcnJvciBtZXNzYWdlc1xuICAgKi9cbiAgZXJyb3JzID0gaW5wdXQ8c3RyaW5nW10+KFtdKTtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGVycm9yc1xuICAgKi9cbiAgc2hvd0Vycm9ycyA9IGlucHV0KHRydWUpO1xuXG4gIC8qKlxuICAgKiBCdXR0b24gY29uZmlndXJhdGlvblxuICAgKi9cbiAgYnV0dG9uQ29uZmlnID0gaW5wdXQ8SW5saW5lRmllbGRCdXR0b25Db25maWc+KHtcbiAgICBzYXZlTGFiZWw6ICdTYXZlJyxcbiAgICBjYW5jZWxMYWJlbDogJ0NhbmNlbCcsXG4gICAgc2F2ZUljb246ICdDaGVjay1maWxsZWQnLFxuICAgIGNhbmNlbEljb246ICdDbG9zZS1maWxsZWQnLFxuICB9KTtcblxuICAvKipcbiAgICogVmFsaWRhdGlvbiBjb25maWd1cmF0aW9uXG4gICAqL1xuICB2YWxpZGF0aW9uID0gaW5wdXQ8SW5saW5lRmllbGRWYWxpZGF0aW9uPih7fSk7XG5cbiAgLyoqXG4gICAqIEFSSUEgbGFiZWxcbiAgICovXG4gIGFyaWFMYWJlbCA9IGlucHV0KCcnKTtcblxuICAvKipcbiAgICogRnVsbCB3aWR0aFxuICAgKi9cbiAgZnVsbFdpZHRoID0gaW5wdXQoZmFsc2UpO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gc2F2ZSBidXR0b24gaXMgY2xpY2tlZFxuICAgKi9cbiAgc2F2ZSA9IG91dHB1dDxJbmxpbmVGaWVsZENoYW5nZUV2ZW50PigpO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gY2FuY2VsIGJ1dHRvbiBpcyBjbGlja2VkXG4gICAqL1xuICBjYW5jZWwgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIHZhbHVlQ2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcblxuICAvKipcbiAgICogRW1pdHRlZCB3aGVuIGVkaXRpbmcgbW9kZSBjaGFuZ2VzXG4gICAqL1xuICBlZGl0aW5nTW9kZUNoYW5nZSA9IG91dHB1dDxib29sZWFuPigpO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIG9uIGZvY3VzXG4gICAqL1xuICBmb2N1c0V2ZW50ID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXR0ZWQgb24gYmx1clxuICAgKi9cbiAgYmx1ckV2ZW50ID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgQFZpZXdDaGlsZCgnZmllbGRFbGVtZW50JykgZmllbGRDb21wb25lbnQ6IEZpZWxkQ29tcG9uZW50O1xuXG4gIHByaXZhdGUgX2lzRWRpdGluZyA9IHNpZ25hbChmYWxzZSk7XG4gIHByaXZhdGUgX29yaWdpbmFsVmFsdWUgPSBzaWduYWwoJycpO1xuICBwcml2YXRlIF9jdXJyZW50VmFsdWUgPSBzaWduYWwoJycpO1xuICBwcml2YXRlIF9zdGF0ZSA9IHNpZ25hbDxJbmxpbmVGaWVsZFN0YXRlPignZGVmYXVsdCcpO1xuXG4gIGlzRWRpdGluZyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2lzRWRpdGluZygpKTtcbiAgY3VycmVudFZhbHVlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fY3VycmVudFZhbHVlKCkpO1xuICBzdGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX3N0YXRlKCkpO1xuXG4gIHNhdmVCdXR0b25Db25maWcgPSBjb21wdXRlZCgoKSA9PiAoe1xuICAgIGxhYmVsOiB0aGlzLmJ1dHRvbkNvbmZpZygpLnNhdmVMYWJlbCB8fCAnU2F2ZScsXG4gICAgaWNvbk5hbWU6IHRoaXMuYnV0dG9uQ29uZmlnKCkuc2F2ZUljb24gfHwgJ0NoZWNrLWZpbGxlZCcsXG4gICAgdmFyaWFudDogJ3NlY29uZGFyeS1pbnZlcnRlZCcgYXMgY29uc3QsXG4gICAgc2l6ZTogJ3NtYWxsJyBhcyBjb25zdCxcbiAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCgpLFxuICB9KSk7XG5cbiAgY2FuY2VsQnV0dG9uQ29uZmlnID0gY29tcHV0ZWQoKCkgPT4gKHtcbiAgICBsYWJlbDogdGhpcy5idXR0b25Db25maWcoKS5jYW5jZWxMYWJlbCB8fCAnQ2FuY2VsJyxcbiAgICBpY29uTmFtZTogdGhpcy5idXR0b25Db25maWcoKS5jYW5jZWxJY29uIHx8ICdDbG9zZS1maWxsZWQnLFxuICAgIHZhcmlhbnQ6ICdzZWNvbmRhcnktaW52ZXJ0ZWQnIGFzIGNvbnN0LFxuICAgIHNpemU6ICdzbWFsbCcgYXMgY29uc3QsXG4gICAgZGlzYWJsZWQ6IHRoaXMuZGlzYWJsZWQoKSxcbiAgfSkpO1xuXG4gIHByaXZhdGUgb25DaGFuZ2UgPSAoX3ZhbHVlOiBzdHJpbmcpID0+IHt9O1xuICBwcml2YXRlIG9uVG91Y2hlZCA9ICgpID0+IHt9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBwcml2YXRlIGRlc3Ryb3lSZWY6IERlc3Ryb3lSZWYsXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIEBPcHRpb25hbCgpIEBTZWxmKCkgcHVibGljIG5nQ29udHJvbDogTmdDb250cm9sXG4gICkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCAhPSBudWxsKSB7XG4gICAgICB0aGlzLm5nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jdXJyZW50VmFsdWUuc2V0KHRoaXMudmFsdWUoKSk7XG4gICAgdGhpcy5fb3JpZ2luYWxWYWx1ZS5zZXQodGhpcy52YWx1ZSgpKTtcbiAgICB0aGlzLnVwZGF0ZVN0YXRlKCk7XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHZhbHVlIHx8ICcnO1xuICAgIHRoaXMuX2N1cnJlbnRWYWx1ZS5zZXQobmV3VmFsdWUpO1xuICAgIGlmICghdGhpcy5pc0VkaXRpbmcoKSkge1xuICAgICAgdGhpcy5fb3JpZ2luYWxWYWx1ZS5zZXQobmV3VmFsdWUpO1xuICAgIH1cbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46ICh2YWx1ZTogc3RyaW5nKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46ICgpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZCA9IGZuO1xuICB9XG5cbiAgc2V0RGlzYWJsZWRTdGF0ZShfaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMudXBkYXRlU3RhdGUoKTtcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3Vzb3V0JywgWyckZXZlbnQnXSlcbiAgb25Db21wb25lbnRGb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHJlbGF0ZWRUYXJnZXQgPSBldmVudC5yZWxhdGVkVGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuICAgIGNvbnN0IGlzTGVhdmluZ0NvbXBvbmVudCA9ICFyZWxhdGVkVGFyZ2V0IHx8ICF0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhyZWxhdGVkVGFyZ2V0KTtcblxuICAgIGlmIChpc0xlYXZpbmdDb21wb25lbnQgJiYgdGhpcy5pc0VkaXRpbmcoKSkge1xuICAgICAgdGhpcy5fY3VycmVudFZhbHVlLnNldCh0aGlzLl9vcmlnaW5hbFZhbHVlKCkpO1xuICAgICAgdGhpcy5leGl0RWRpdE1vZGUoKTtcbiAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5fb3JpZ2luYWxWYWx1ZSgpKTtcbiAgICAgIHRoaXMuY2FuY2VsLmVtaXQoKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLmVzY2FwZScsIFsnJGV2ZW50J10pXG4gIG9uRXNjYXBlUHJlc3NlZChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzRWRpdGluZygpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5jYW5jZWxFZGl0KCk7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicsIFsnJGV2ZW50J10pXG4gIG9uRW50ZXJQcmVzc2VkKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNFZGl0aW5nKCkgJiYgIWV2ZW50LnNoaWZ0S2V5KSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgdGhpcy5zYXZlRWRpdCgpO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24udGFiJywgWyckZXZlbnQnXSlcbiAgb25UYWJQcmVzc2VkKCk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIG9uSW5wdXRGb2N1cygpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSAmJiAhdGhpcy5pc0VkaXRpbmcoKSkge1xuICAgICAgdGhpcy5lbnRlckVkaXRNb2RlKCk7XG4gICAgfVxuICAgIHRoaXMuX3N0YXRlLnNldCgnZm9jdXNlZCcpO1xuICAgIHRoaXMuZm9jdXNFdmVudC5lbWl0KCk7XG4gICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgfVxuXG4gIG9uSW5wdXRCbHVyKCk6IHZvaWQge1xuICAgIHRoaXMuYmx1ckV2ZW50LmVtaXQoKTtcbiAgfVxuXG4gIG9uSW5wdXRDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXRFbGVtZW50ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgY29uc3QgbmV3VmFsdWUgPSBpbnB1dEVsZW1lbnQudmFsdWU7XG4gICAgdGhpcy5fY3VycmVudFZhbHVlLnNldChuZXdWYWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KG5ld1ZhbHVlKTtcbiAgfVxuXG4gIGZvY3VzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpZWxkQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLmZpZWxkQ29tcG9uZW50LmZvY3VzKCk7XG4gICAgICB0aGlzLmZpZWxkQ29tcG9uZW50LmZpZWxkPy5uYXRpdmVFbGVtZW50Py5zZWxlY3QoKTtcbiAgICB9XG4gIH1cblxuICBlbnRlckVkaXRNb2RlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkgfHwgdGhpcy5pc0VkaXRpbmcoKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX29yaWdpbmFsVmFsdWUuc2V0KHRoaXMuX2N1cnJlbnRWYWx1ZSgpKTtcbiAgICB0aGlzLl9pc0VkaXRpbmcuc2V0KHRydWUpO1xuICAgIHRoaXMuX3N0YXRlLnNldCgnZWRpdGluZycpO1xuICAgIHRoaXMuZWRpdGluZ01vZGVDaGFuZ2UuZW1pdCh0cnVlKTtcblxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgc2F2ZUVkaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRWRpdGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLmN1cnJlbnRWYWx1ZSgpO1xuICAgIGNvbnN0IGhhc1ZhbGlkYXRpb25FcnJvciA9IHRoaXMuaGFzVmFsaWRhdGlvbkVycm9yKG5ld1ZhbHVlKTtcblxuICAgIGlmIChoYXNWYWxpZGF0aW9uRXJyb3IpIHtcbiAgICAgIHRoaXMuX3N0YXRlLnNldCgnZXJyb3InKTtcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNoYW5nZUV2ZW50OiBJbmxpbmVGaWVsZENoYW5nZUV2ZW50ID0ge1xuICAgICAgdmFsdWU6IG5ld1ZhbHVlLFxuICAgICAgc2F2ZWQ6IHRydWUsXG4gICAgICBwcmV2aW91c1ZhbHVlOiB0aGlzLl9vcmlnaW5hbFZhbHVlKCksXG4gICAgfTtcblxuICAgIHRoaXMuX29yaWdpbmFsVmFsdWUuc2V0KG5ld1ZhbHVlKTtcbiAgICB0aGlzLmV4aXRFZGl0TW9kZSgpO1xuICAgIHRoaXMub25DaGFuZ2UobmV3VmFsdWUpO1xuICAgIHRoaXMuc2F2ZS5lbWl0KGNoYW5nZUV2ZW50KTtcbiAgfVxuXG4gIGNhbmNlbEVkaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmlzRWRpdGluZygpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fY3VycmVudFZhbHVlLnNldCh0aGlzLl9vcmlnaW5hbFZhbHVlKCkpO1xuICAgIHRoaXMuZXhpdEVkaXRNb2RlKCk7XG4gICAgdGhpcy5jYW5jZWwuZW1pdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBleGl0RWRpdE1vZGUoKTogdm9pZCB7XG4gICAgdGhpcy5faXNFZGl0aW5nLnNldChmYWxzZSk7XG4gICAgdGhpcy51cGRhdGVTdGF0ZSgpO1xuICAgIHRoaXMuZWRpdGluZ01vZGVDaGFuZ2UuZW1pdChmYWxzZSk7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZVN0YXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuX3N0YXRlLnNldCgnZGlzYWJsZWQnKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuZXJyb3JzKCkubGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5fc3RhdGUuc2V0KCdlcnJvcicpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0VkaXRpbmcoKSkge1xuICAgICAgdGhpcy5fc3RhdGUuc2V0KCdlZGl0aW5nJyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3N0YXRlLnNldCgnZGVmYXVsdCcpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGFzVmFsaWRhdGlvbkVycm9yKHZhbHVlOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjb25maWcgPSB0aGlzLnZhbGlkYXRpb24oKTtcblxuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmhhc1JlcXVpcmVkRXJyb3IodmFsdWUsIGNvbmZpZykgfHxcbiAgICAgIHRoaXMuaGFzTWluTGVuZ3RoRXJyb3IodmFsdWUsIGNvbmZpZykgfHxcbiAgICAgIHRoaXMuaGFzTWF4TGVuZ3RoRXJyb3IodmFsdWUsIGNvbmZpZykgfHxcbiAgICAgIHRoaXMuaGFzUGF0dGVybkVycm9yKHZhbHVlLCBjb25maWcpIHx8XG4gICAgICB0aGlzLmhhc0N1c3RvbVZhbGlkYXRpb25FcnJvcih2YWx1ZSwgY29uZmlnKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGhhc1JlcXVpcmVkRXJyb3IodmFsdWU6IHN0cmluZywgY29uZmlnOiBJbmxpbmVGaWVsZFZhbGlkYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFjb25maWcucmVxdWlyZWQgJiYgKCF2YWx1ZSB8fCB2YWx1ZS50cmltKCkubGVuZ3RoID09PSAwKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFzTWluTGVuZ3RoRXJyb3IodmFsdWU6IHN0cmluZywgY29uZmlnOiBJbmxpbmVGaWVsZFZhbGlkYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFjb25maWcubWluTGVuZ3RoICYmIHZhbHVlLmxlbmd0aCA8IGNvbmZpZy5taW5MZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGhhc01heExlbmd0aEVycm9yKHZhbHVlOiBzdHJpbmcsIGNvbmZpZzogSW5saW5lRmllbGRWYWxpZGF0aW9uKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhY29uZmlnLm1heExlbmd0aCAmJiB2YWx1ZS5sZW5ndGggPiBjb25maWcubWF4TGVuZ3RoO1xuICB9XG5cbiAgcHJpdmF0ZSBoYXNQYXR0ZXJuRXJyb3IodmFsdWU6IHN0cmluZywgY29uZmlnOiBJbmxpbmVGaWVsZFZhbGlkYXRpb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gISFjb25maWcucGF0dGVybiAmJiAhY29uZmlnLnBhdHRlcm4udGVzdCh2YWx1ZSk7XG4gIH1cblxuICBwcml2YXRlIGhhc0N1c3RvbVZhbGlkYXRpb25FcnJvcih2YWx1ZTogc3RyaW5nLCBjb25maWc6IElubGluZUZpZWxkVmFsaWRhdGlvbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIWNvbmZpZy5jdXN0b21WYWxpZGF0b3IgJiYgY29uZmlnLmN1c3RvbVZhbGlkYXRvcih2YWx1ZSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbmxpbmUtZmllbGQtY29udGFpbmVyXCI+XG4gIDxkaXYgY2xhc3M9XCJmaWVsZC13cmFwcGVyXCIgW25nQ2xhc3NdPVwieyAnaXMtZWRpdGluZyc6IGlzRWRpdGluZygpIH1cIj5cbiAgICA8dWktZmllbGRcbiAgICAgIFtpZF09XCJpZCgpICsgJy1pbnB1dCdcIlxuICAgICAgW2xhYmVsXT1cImxhYmVsKClcIlxuICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxuICAgICAgW3ZhbHVlXT1cImN1cnJlbnRWYWx1ZSgpXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZCgpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgIFtlcnJvcnNdPVwiZXJyb3JzKClcIlxuICAgICAgW3Nob3dCb3R0b21Db250ZW50XT1cInNob3dFcnJvcnMoKVwiXG4gICAgICBbYXJpYUxhYmVsXT1cImFyaWFMYWJlbCgpXCJcbiAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWUoKVwiXG4gICAgICBbZnVsbFdpZHRoXT1cInRydWVcIlxuICAgICAgW2lzQXV0b2NvbXBsZXRlT2ZmXT1cInRydWVcIlxuICAgICAgW3R5cGVdPVwiZmllbGRUeXBlKClcIlxuICAgICAgW21heFJvd3NdPVwibWF4Um93cygpXCJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0Q2hhbmdlKCRldmVudClcIlxuICAgICAgKGZpZWxkQmx1cik9XCJvbklucHV0Qmx1cigpXCJcbiAgICAgIChmb2N1c2luKT1cIm9uSW5wdXRGb2N1cygpXCJcbiAgICAgICNmaWVsZEVsZW1lbnRcbiAgICAgIGRhdGEtdGVzdGlkPVwiaW5saW5lLWZpZWxkXCJcbiAgICA+PC91aS1maWVsZD5cblxuICAgIDxkaXYgKm5nSWY9XCJpc0VkaXRpbmcoKVwiIGNsYXNzPVwiYWN0aW9uLWJ1dHRvbnNcIj5cbiAgICAgIDx1aS1idXR0b25cbiAgICAgICAgW2xhYmVsXT1cInNhdmVCdXR0b25Db25maWcoKS5sYWJlbFwiXG4gICAgICAgIFtpY29uTmFtZV09XCJzYXZlQnV0dG9uQ29uZmlnKCkuaWNvbk5hbWVcIlxuICAgICAgICBbdmFyaWFudF09XCJzYXZlQnV0dG9uQ29uZmlnKCkudmFyaWFudFwiXG4gICAgICAgIFtzaXplXT1cInNhdmVCdXR0b25Db25maWcoKS5zaXplXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cInNhdmVCdXR0b25Db25maWcoKS5kaXNhYmxlZFwiXG4gICAgICAgIFthcHBsaWNhdGlvblRoZW1lXT1cImFwcGxpY2F0aW9uVGhlbWUoKVwiXG4gICAgICAgIFtpY29uUG9zaXRpb25dPVwiJ2xlZnQnXCJcbiAgICAgICAgKGJ1dHRvbkNsaWNrRXZlbnQpPVwic2F2ZUVkaXQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ1NhdmUgJyArIChsYWJlbCgpIHx8ICdmaWVsZCcpXCJcbiAgICAgICAgY2xhc3M9XCJzYXZlLWJ1dHRvblwiXG4gICAgICA+PC91aS1idXR0b24+XG5cbiAgICAgIDx1aS1idXR0b25cbiAgICAgICAgW2xhYmVsXT1cImNhbmNlbEJ1dHRvbkNvbmZpZygpLmxhYmVsXCJcbiAgICAgICAgW2ljb25OYW1lXT1cImNhbmNlbEJ1dHRvbkNvbmZpZygpLmljb25OYW1lXCJcbiAgICAgICAgW3ZhcmlhbnRdPVwiY2FuY2VsQnV0dG9uQ29uZmlnKCkudmFyaWFudFwiXG4gICAgICAgIFtzaXplXT1cImNhbmNlbEJ1dHRvbkNvbmZpZygpLnNpemVcIlxuICAgICAgICBbZGlzYWJsZWRdPVwiY2FuY2VsQnV0dG9uQ29uZmlnKCkuZGlzYWJsZWRcIlxuICAgICAgICBbYXBwbGljYXRpb25UaGVtZV09XCJhcHBsaWNhdGlvblRoZW1lKClcIlxuICAgICAgICBbaWNvblBvc2l0aW9uXT1cIidsZWZ0J1wiXG4gICAgICAgIChidXR0b25DbGlja0V2ZW50KT1cImNhbmNlbEVkaXQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ0NhbmNlbCBlZGl0aW5nICcgKyAobGFiZWwoKSB8fCAnZmllbGQnKVwiXG4gICAgICAgIGNsYXNzPVwiY2FuY2VsLWJ1dHRvblwiXG4gICAgICA+PC91aS1idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
4
|
-
import { MatInputModule } from '@angular/material/input';
|
|
5
|
-
import { ButtonComponentModule } from '../button/button.component.module';
|
|
6
|
-
import { FieldComponentModule } from '../field/field.component.module';
|
|
7
|
-
import { IconComponentModule } from '../icon/icon.component.module';
|
|
8
|
-
import { InlineFieldComponent } from './inline-field.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class InlineFieldComponentModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFieldComponentModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: InlineFieldComponentModule, declarations: [InlineFieldComponent], imports: [CommonModule,
|
|
13
|
-
FormsModule,
|
|
14
|
-
ReactiveFormsModule,
|
|
15
|
-
MatInputModule,
|
|
16
|
-
ButtonComponentModule,
|
|
17
|
-
FieldComponentModule,
|
|
18
|
-
IconComponentModule], exports: [InlineFieldComponent] }); }
|
|
19
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFieldComponentModule, imports: [CommonModule,
|
|
20
|
-
FormsModule,
|
|
21
|
-
ReactiveFormsModule,
|
|
22
|
-
MatInputModule,
|
|
23
|
-
ButtonComponentModule,
|
|
24
|
-
FieldComponentModule,
|
|
25
|
-
IconComponentModule] }); }
|
|
26
|
-
}
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: InlineFieldComponentModule, decorators: [{
|
|
28
|
-
type: NgModule,
|
|
29
|
-
args: [{
|
|
30
|
-
declarations: [InlineFieldComponent],
|
|
31
|
-
imports: [
|
|
32
|
-
CommonModule,
|
|
33
|
-
FormsModule,
|
|
34
|
-
ReactiveFormsModule,
|
|
35
|
-
MatInputModule,
|
|
36
|
-
ButtonComponentModule,
|
|
37
|
-
FieldComponentModule,
|
|
38
|
-
IconComponentModule,
|
|
39
|
-
],
|
|
40
|
-
exports: [InlineFieldComponent],
|
|
41
|
-
}]
|
|
42
|
-
}] });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZpZWxkLmNvbXBvbmVudC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90Z28tY2Fub3B5LXVpL2NvbXBvbmVudHMvaW5saW5lLWZpZWxkL2lubGluZS1maWVsZC5jb21wb25lbnQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFekQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDMUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBZWhFLE1BQU0sT0FBTywwQkFBMEI7K0dBQTFCLDBCQUEwQjtnSEFBMUIsMEJBQTBCLGlCQVp0QixvQkFBb0IsYUFFakMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsbUJBQW1CLGFBRVgsb0JBQW9CO2dIQUVuQiwwQkFBMEIsWUFWbkMsWUFBWTtZQUNaLFdBQVc7WUFDWCxtQkFBbUI7WUFDbkIsY0FBYztZQUNkLHFCQUFxQjtZQUNyQixvQkFBb0I7WUFDcEIsbUJBQW1COzs0RkFJViwwQkFBMEI7a0JBYnRDLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsb0JBQW9CLENBQUM7b0JBQ3BDLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixjQUFjO3dCQUNkLHFCQUFxQjt3QkFDckIsb0JBQW9CO3dCQUNwQixtQkFBbUI7cUJBQ3BCO29CQUNELE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO2lCQUNoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRJbnB1dE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2lucHV0JztcblxuaW1wb3J0IHsgQnV0dG9uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vYnV0dG9uL2J1dHRvbi5jb21wb25lbnQubW9kdWxlJztcbmltcG9ydCB7IEZpZWxkQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vZmllbGQvZmllbGQuY29tcG9uZW50Lm1vZHVsZSc7XG5pbXBvcnQgeyBJY29uQ29tcG9uZW50TW9kdWxlIH0gZnJvbSAnLi4vaWNvbi9pY29uLmNvbXBvbmVudC5tb2R1bGUnO1xuXG5pbXBvcnQgeyBJbmxpbmVGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vaW5saW5lLWZpZWxkLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW0lubGluZUZpZWxkQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEJ1dHRvbkNvbXBvbmVudE1vZHVsZSxcbiAgICBGaWVsZENvbXBvbmVudE1vZHVsZSxcbiAgICBJY29uQ29tcG9uZW50TW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbSW5saW5lRmllbGRDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJbmxpbmVGaWVsZENvbXBvbmVudE1vZHVsZSB7fVxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5saW5lLWZpZWxkLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGdvLWNhbm9weS11aS9jb21wb25lbnRzL2lubGluZS1maWVsZC9pbmxpbmUtZmllbGQubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbk5hbWUgfSBmcm9tICcuLi9pY29uL2ljb24ubW9kZWwnO1xuXG4vKipcbiAqIFN0YXRlIG9mIHRoZSBpbmxpbmUgZmllbGQgY29tcG9uZW50XG4gKi9cbmV4cG9ydCB0eXBlIElubGluZUZpZWxkU3RhdGUgPSAnZGVmYXVsdCcgfCAnZm9jdXNlZCcgfCAnZWRpdGluZycgfCAnZXJyb3InIHwgJ2Rpc2FibGVkJyB8ICdsb2FkaW5nJztcblxuLyoqXG4gKiBFdmVudHMgZW1pdHRlZCBieSB0aGUgaW5saW5lIGZpZWxkIGNvbXBvbmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElubGluZUZpZWxkRXZlbnRzIHtcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiB1c2VyIGNsaWNrcyBzYXZlIGJ1dHRvblxuICAgKi9cbiAgb25TYXZlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPjtcbiAgXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdXNlciBjbGlja3MgY2FuY2VsIGJ1dHRvblxuICAgKi9cbiAgb25DYW5jZWw6IEV2ZW50RW1pdHRlcjx2b2lkPjtcbiAgXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGZpZWxkIHZhbHVlIGNoYW5nZXNcbiAgICovXG4gIG9uVmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxzdHJpbmc+O1xuICBcbiAgLyoqXG4gICAqIEVtaXR0ZWQgd2hlbiBlZGl0aW5nIG1vZGUgaXMgdG9nZ2xlZFxuICAgKi9cbiAgb25FZGl0aW5nTW9kZUNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+O1xuICBcbiAgLyoqXG4gICAqIEVtaXR0ZWQgb24gZm9jdXMgZXZlbnRzXG4gICAqL1xuICBvbkZvY3VzOiBFdmVudEVtaXR0ZXI8dm9pZD47XG4gIFxuICAvKipcbiAgICogRW1pdHRlZCBvbiBibHVyIGV2ZW50c1xuICAgKi9cbiAgb25CbHVyOiBFdmVudEVtaXR0ZXI8dm9pZD47XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3Igc2F2ZS9jYW5jZWwgYnV0dG9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElubGluZUZpZWxkQnV0dG9uQ29uZmlnIHtcbiAgLyoqXG4gICAqIExhYmVsIGZvciBzYXZlIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBcIlNhdmVcIlxuICAgKi9cbiAgc2F2ZUxhYmVsPzogc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIExhYmVsIGZvciBjYW5jZWwgYnV0dG9uXG4gICAqIEBkZWZhdWx0IFwiQ2FuY2VsXCJcbiAgICovXG4gIGNhbmNlbExhYmVsPzogc3RyaW5nO1xuICBcbiAgLyoqXG4gICAqIEljb24gZm9yIHNhdmUgYnV0dG9uXG4gICAqIEBkZWZhdWx0IFwiQ2hlY2stZmlsbGVkXCJcbiAgICovXG4gIHNhdmVJY29uPzogSWNvbk5hbWU7XG4gIFxuICAvKipcbiAgICogSWNvbiBmb3IgY2FuY2VsIGJ1dHRvblxuICAgKiBAZGVmYXVsdCBcIkNsb3NlLWZpbGxlZFwiXG4gICAqL1xuICBjYW5jZWxJY29uPzogSWNvbk5hbWU7XG4gIFxuICAvKipcbiAgICogU2hvdyBidXR0b25zIG9uIGhvdmVyIG9ubHlcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHNob3dPbkhvdmVyT25seT86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVmFsaWRhdGlvbiBjb25maWd1cmF0aW9uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5saW5lRmllbGRWYWxpZGF0aW9uIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGZpZWxkIGlzIHJlcXVpcmVkXG4gICAqL1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIFxuICAvKipcbiAgICogTWluaW11bSBsZW5ndGhcbiAgICovXG4gIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgXG4gIC8qKlxuICAgKiBNYXhpbXVtIGxlbmd0aFxuICAgKi9cbiAgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBcbiAgLyoqXG4gICAqIEN1c3RvbSB2YWxpZGF0aW9uIHBhdHRlcm5cbiAgICovXG4gIHBhdHRlcm4/OiBSZWdFeHA7XG4gIFxuICAvKipcbiAgICogQ3VzdG9tIHZhbGlkYXRpb24gZnVuY3Rpb25cbiAgICovXG4gIGN1c3RvbVZhbGlkYXRvcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgaW5saW5lIGZpZWxkIGNoYW5nZSBldmVudFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElubGluZUZpZWxkQ2hhbmdlRXZlbnQge1xuICAvKipcbiAgICogVGhlIG5ldyB2YWx1ZVxuICAgKi9cbiAgdmFsdWU6IHN0cmluZztcbiAgXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjaGFuZ2Ugd2FzIHNhdmVkIG9yIGNhbmNlbGxlZFxuICAgKi9cbiAgc2F2ZWQ6IGJvb2xlYW47XG4gIFxuICAvKipcbiAgICogUHJldmlvdXMgdmFsdWUgYmVmb3JlIHRoZSBjaGFuZ2VcbiAgICovXG4gIHByZXZpb3VzVmFsdWU6IHN0cmluZztcbn1cbiJdfQ==
|