@skyux/progress-indicator 8.6.0 → 9.0.0-alpha.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.
Files changed (39) hide show
  1. package/esm2022/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +111 -0
  2. package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-class.pipe.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button-disabled.pipe.mjs +4 -4
  4. package/esm2022/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +200 -0
  5. package/esm2022/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +56 -0
  6. package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker-class.pipe.mjs +4 -4
  7. package/esm2022/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +62 -0
  8. package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator-title/progress-indicator-title.component.mjs +4 -4
  9. package/esm2022/lib/modules/progress-indicator/progress-indicator.component.mjs +330 -0
  10. package/{esm2020 → esm2022}/lib/modules/progress-indicator/progress-indicator.module.mjs +27 -27
  11. package/esm2022/lib/modules/shared/sky-progress-indicator-resources.module.mjs +50 -0
  12. package/fesm2022/skyux-progress-indicator.mjs +1006 -0
  13. package/{fesm2020 → fesm2022}/skyux-progress-indicator.mjs.map +1 -1
  14. package/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.d.ts +1 -1
  15. package/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.d.ts +1 -1
  16. package/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.d.ts +1 -1
  17. package/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.d.ts +1 -1
  18. package/lib/modules/progress-indicator/progress-indicator.component.d.ts +1 -1
  19. package/package.json +11 -17
  20. package/esm2020/lib/modules/progress-indicator/progress-indicator-item/progress-indicator-item.component.mjs +0 -110
  21. package/esm2020/lib/modules/progress-indicator/progress-indicator-nav-button/progress-indicator-nav-button.component.mjs +0 -200
  22. package/esm2020/lib/modules/progress-indicator/progress-indicator-reset-button/progress-indicator-reset-button.component.mjs +0 -59
  23. package/esm2020/lib/modules/progress-indicator/progress-indicator-status-marker/progress-indicator-status-marker.component.mjs +0 -62
  24. package/esm2020/lib/modules/progress-indicator/progress-indicator.component.mjs +0 -312
  25. package/esm2020/lib/modules/shared/sky-progress-indicator-resources.module.mjs +0 -50
  26. package/fesm2015/skyux-progress-indicator.mjs +0 -995
  27. package/fesm2015/skyux-progress-indicator.mjs.map +0 -1
  28. package/fesm2020/skyux-progress-indicator.mjs +0 -986
  29. /package/{esm2020 → esm2022}/index.mjs +0 -0
  30. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-action-click-args.mjs +0 -0
  31. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-action-click-progress-handler.mjs +0 -0
  32. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-change.mjs +0 -0
  33. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-display-mode-type.mjs +0 -0
  34. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-item-status.mjs +0 -0
  35. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-message-type.mjs +0 -0
  36. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-message.mjs +0 -0
  37. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-mode.mjs +0 -0
  38. /package/{esm2020 → esm2022}/lib/modules/progress-indicator/types/progress-indicator-nav-button-type.mjs +0 -0
  39. /package/{esm2020 → esm2022}/skyux-progress-indicator.mjs +0 -0
@@ -5,11 +5,11 @@ import * as i1 from "@skyux/theme";
5
5
  * Specifies a header to display above the progress indicator.
6
6
  */
7
7
  export class SkyProgressIndicatorTitleComponent {
8
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
9
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyProgressIndicatorTitleComponent, selector: "sky-progress-indicator-title", ngImport: i0, template: "<div\n aria-level=\"1\"\n class=\"sky-progress-indicator-title\"\n role=\"heading\"\n [skyThemeClass]=\"{\n 'sky-font-heading-2': 'default',\n 'sky-font-heading-1': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator-title{line-height:1.1;margin:0 0 30px;text-align:center}:host-context(.sky-theme-modern) .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}.sky-theme-modern .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
8
10
  }
9
- SkyProgressIndicatorTitleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
10
- SkyProgressIndicatorTitleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyProgressIndicatorTitleComponent, selector: "sky-progress-indicator-title", ngImport: i0, template: "<div\n aria-level=\"1\"\n class=\"sky-progress-indicator-title\"\n role=\"heading\"\n [skyThemeClass]=\"{\n 'sky-font-heading-2': 'default',\n 'sky-font-heading-1': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator-title{line-height:1.1;margin:0 0 30px;text-align:center}:host-context(.sky-theme-modern) .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}.sky-theme-modern .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}\n"], dependencies: [{ kind: "directive", type: i1.λ2, selector: "[skyThemeClass]", inputs: ["class", "skyThemeClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
11
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorTitleComponent, decorators: [{
11
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorTitleComponent, decorators: [{
12
12
  type: Component,
13
13
  args: [{ selector: 'sky-progress-indicator-title', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n aria-level=\"1\"\n class=\"sky-progress-indicator-title\"\n role=\"heading\"\n [skyThemeClass]=\"{\n 'sky-font-heading-2': 'default',\n 'sky-font-heading-1': 'modern'\n }\"\n>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator-title{line-height:1.1;margin:0 0 30px;text-align:center}:host-context(.sky-theme-modern) .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}.sky-theme-modern .sky-progress-indicator-title{line-height:inherit;margin:0 0 60px}\n"] }]
14
14
  }] });
15
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVuRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxrQ0FBa0M7OytIQUFsQyxrQ0FBa0M7bUhBQWxDLGtDQUFrQyxvRUNYL0MsME9BV0E7MkZEQWEsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBoZWFkZXIgdG8gZGlzcGxheSBhYm92ZSB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZUNvbXBvbmVudCB7fVxuIiwiPGRpdlxuICBhcmlhLWxldmVsPVwiMVwiXG4gIGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci10aXRsZVwiXG4gIHJvbGU9XCJoZWFkaW5nXCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktZm9udC1oZWFkaW5nLTInOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1mb250LWhlYWRpbmctMSc6ICdtb2Rlcm4nXG4gIH1cIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
15
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUVuRTs7R0FFRztBQU9ILE1BQU0sT0FBTyxrQ0FBa0M7OEdBQWxDLGtDQUFrQztrR0FBbEMsa0NBQWtDLG9FQ1gvQywwT0FXQTs7MkZEQWEsa0NBQWtDO2tCQU45QyxTQUFTOytCQUNFLDhCQUE4QixtQkFHdkIsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBTcGVjaWZpZXMgYSBoZWFkZXIgdG8gZGlzcGxheSBhYm92ZSB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb2dyZXNzLWluZGljYXRvci10aXRsZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZUNvbXBvbmVudCB7fVxuIiwiPGRpdlxuICBhcmlhLWxldmVsPVwiMVwiXG4gIGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvci10aXRsZVwiXG4gIHJvbGU9XCJoZWFkaW5nXCJcbiAgW3NreVRoZW1lQ2xhc3NdPVwie1xuICAgICdza3ktZm9udC1oZWFkaW5nLTInOiAnZGVmYXVsdCcsXG4gICAgJ3NreS1mb250LWhlYWRpbmctMSc6ICdtb2Rlcm4nXG4gIH1cIlxuPlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -0,0 +1,330 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, } from '@angular/core';
2
+ import { Subject } from 'rxjs';
3
+ import { delay, takeUntil } from 'rxjs/operators';
4
+ import { SkyProgressIndicatorItemComponent } from './progress-indicator-item/progress-indicator-item.component';
5
+ import { SkyProgressIndicatorItemStatus } from './types/progress-indicator-item-status';
6
+ import { SkyProgressIndicatorMessageType } from './types/progress-indicator-message-type';
7
+ import { SkyProgressIndicatorDisplayMode } from './types/progress-indicator-mode';
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "@skyux/core";
10
+ import * as i2 from "@angular/common";
11
+ import * as i3 from "./progress-indicator-status-marker/progress-indicator-status-marker.component";
12
+ export class SkyProgressIndicatorComponent {
13
+ /**
14
+ * The orientation of the progress indicator, which can be vertical or horizontal.
15
+ * For [passive progress indicators](https://developer.blackbaud.com/skyux-progress-indicator/docs/passive-indicator)
16
+ * and [waterfall progress indicators](https://developer.blackbaud.com/skyux/components/progress-indicator/waterfall-progress-indicator),
17
+ * use the vertical display mode. For [modal wizards](https://developer.blackbaud.com/skyux/components/wizard),
18
+ * use the horizontal display mode.
19
+ * @deprecated The property was designed to create wizards by setting `displayMode="horizontal"` on progress indicators in modals,
20
+ * but this wizard implementation was replaced by the
21
+ * [Wizard (Tabs) component](https://developer.blackbaud.com/skyux/components/progress-indicator).
22
+ * @default "vertical"
23
+ */
24
+ set displayMode(value) {
25
+ switch (value) {
26
+ case SkyProgressIndicatorDisplayMode.Horizontal:
27
+ case 'horizontal':
28
+ this.#_displayMode = 'horizontal';
29
+ break;
30
+ default:
31
+ this.#_displayMode = 'vertical';
32
+ }
33
+ this.#updateCssClassNames();
34
+ if (this.#_displayMode === 'horizontal') {
35
+ this.#logger.deprecated('SkyProgressIndicator wizard', {
36
+ deprecationMajorVersion: 6,
37
+ replacementRecommendation: 'Use Wizard (Tabs) instead.',
38
+ });
39
+ }
40
+ }
41
+ get displayMode() {
42
+ return this.#_displayMode;
43
+ }
44
+ /**
45
+ * Whether the progress indicator is passive. Passive progress indicators inform users of
46
+ * progress that concerns them but that they are not responsible for, and they must use the vertical display mode.
47
+ * @default false
48
+ */
49
+ set isPassive(value) {
50
+ this.#_isPassive = value;
51
+ this.#updateCssClassNames();
52
+ }
53
+ get isPassive() {
54
+ return this.#_isPassive;
55
+ }
56
+ /**
57
+ * The observable of `SkyProgressIndicatorMessage` that determines the status to
58
+ * display for items in the progress indicator. The message stream is a queue of
59
+ * commanding messages to change the state of the progress indicator based on the message type.
60
+ */
61
+ set messageStream(value) {
62
+ this.#messageStream = value || new Subject();
63
+ this.#subscribeToMessageStream();
64
+ }
65
+ /**
66
+ * The index for the item to make active when the progress indicator
67
+ * loads. All steps that precede the active item are marked as complete, and all steps
68
+ * that follow the active item are marked as incomplete.
69
+ */
70
+ set startingIndex(value) {
71
+ this.#_startingIndex = value || 0;
72
+ }
73
+ get startingIndex() {
74
+ return this.#_startingIndex;
75
+ }
76
+ get hasFinishButton() {
77
+ return this.#_hasFinishButton;
78
+ }
79
+ set hasFinishButton(value) {
80
+ this.#_hasFinishButton = value;
81
+ }
82
+ set #activeIndex(value) {
83
+ const lastIndex = (this.itemComponents?.length || 0) - 1;
84
+ this.#_activeIndex = Math.max(Math.min(value || 0, lastIndex), 0);
85
+ }
86
+ get #activeIndex() {
87
+ return this.#_activeIndex;
88
+ }
89
+ #_activeIndex;
90
+ #_displayMode;
91
+ #_hasFinishButton;
92
+ #_isPassive;
93
+ #_startingIndex;
94
+ #messageStreamSub;
95
+ #initialized;
96
+ #ngUnsubscribe;
97
+ #messageStream;
98
+ #changeDetector;
99
+ #windowRef;
100
+ #logger;
101
+ constructor(changeDetector, windowRef, logger) {
102
+ /**
103
+ * Fires when the progress indicator changes the status of an item.
104
+ */
105
+ this.progressChanges = new EventEmitter();
106
+ this.cssClassNames = [];
107
+ this.itemStatuses = [];
108
+ this.#_activeIndex = 0;
109
+ this.#_displayMode = 'vertical';
110
+ this.#_isPassive = false;
111
+ this.#_startingIndex = 0;
112
+ this.#initialized = false;
113
+ this.#ngUnsubscribe = new Subject();
114
+ this.#messageStream = new Subject();
115
+ this.#changeDetector = changeDetector;
116
+ this.#windowRef = windowRef;
117
+ this.#logger = logger;
118
+ }
119
+ ngOnInit() {
120
+ this.#initialized = true;
121
+ this.#updateCssClassNames();
122
+ this.#subscribeToMessageStream();
123
+ }
124
+ ngAfterContentInit() {
125
+ this.#activeIndex = this.startingIndex;
126
+ this.#updateSteps();
127
+ // Note: The delay here is to ensure all change detection on the items has finished. Without
128
+ // the delay we receive a changed before checked error for vertical progress indicators
129
+ this.itemComponents?.changes
130
+ .pipe(takeUntil(this.#ngUnsubscribe), delay(0))
131
+ .subscribe(() => {
132
+ this.#updateSteps();
133
+ this.#updateStatusesAndNotify();
134
+ });
135
+ // Wait for item components' change detection to complete
136
+ // before notifying changes to the consumer.
137
+ this.#windowRef.nativeWindow.setTimeout(() => {
138
+ this.#updateStatusesAndNotify();
139
+ });
140
+ }
141
+ ngOnDestroy() {
142
+ this.#ngUnsubscribe.next();
143
+ this.#ngUnsubscribe.complete();
144
+ }
145
+ sendMessage(message) {
146
+ this.#messageStream.next(message);
147
+ }
148
+ #isPassiveAndVertical() {
149
+ // Currently, passive mode is not supported for horizontal displays.
150
+ if (this.displayMode === 'horizontal') {
151
+ return false;
152
+ }
153
+ return this.isPassive;
154
+ }
155
+ #gotoNextStep() {
156
+ const nextIndex = this.#activeIndex + 1;
157
+ const lastIndex = this.#getLastIndex();
158
+ if (nextIndex > lastIndex) {
159
+ return;
160
+ }
161
+ this.#gotoStep(nextIndex);
162
+ }
163
+ #gotoPreviousStep() {
164
+ const previousIndex = this.#activeIndex - 1;
165
+ if (previousIndex < 0) {
166
+ return;
167
+ }
168
+ this.#gotoStep(previousIndex);
169
+ }
170
+ #gotoStep(index) {
171
+ this.#activeIndex = index;
172
+ this.#updateSteps();
173
+ this.#updateStatusesAndNotify();
174
+ }
175
+ #finishSteps() {
176
+ this.#activeIndex = this.#getLastIndex();
177
+ this.itemComponents?.forEach((component) => {
178
+ component.status = SkyProgressIndicatorItemStatus.Complete;
179
+ });
180
+ this.#updateStatusesAndNotify({
181
+ isComplete: true,
182
+ });
183
+ }
184
+ #resetSteps() {
185
+ this.#gotoStep(0);
186
+ }
187
+ #updateSteps() {
188
+ if (this.#activeIndex > this.#getLastIndex()) {
189
+ this.#activeIndex = this.#activeIndex - 1;
190
+ }
191
+ const activeIndex = this.#activeIndex;
192
+ const isPassiveAndVertical = this.#isPassiveAndVertical();
193
+ const isVertical = this.displayMode === 'vertical';
194
+ this.itemComponents?.forEach((component, i) => {
195
+ // Set visibility.
196
+ component.isVisible = activeIndex === i || isVertical;
197
+ // Set status.
198
+ let status;
199
+ if (activeIndex === i) {
200
+ if (isPassiveAndVertical) {
201
+ status = SkyProgressIndicatorItemStatus.Pending;
202
+ }
203
+ else {
204
+ status = SkyProgressIndicatorItemStatus.Active;
205
+ }
206
+ }
207
+ else if (activeIndex > i) {
208
+ status = SkyProgressIndicatorItemStatus.Complete;
209
+ }
210
+ else {
211
+ status = SkyProgressIndicatorItemStatus.Incomplete;
212
+ }
213
+ component.status = status;
214
+ // Show or hide the status markers.
215
+ component.showStatusMarker = isVertical;
216
+ // Show or hide the step number.
217
+ if (isPassiveAndVertical) {
218
+ component.hideStepNumber();
219
+ }
220
+ else {
221
+ component.showStepNumber(i + 1);
222
+ }
223
+ // If we're in passive mode, don't show titles for incomplete items.
224
+ component.showTitle = !(isPassiveAndVertical && activeIndex < i);
225
+ });
226
+ }
227
+ #updateItemStatuses() {
228
+ /* istanbul ignore next */
229
+ this.itemStatuses = this.itemComponents?.map((c) => c.status) || [];
230
+ }
231
+ #updateCssClassNames() {
232
+ const classNames = [`sky-progress-indicator-mode-${this.displayMode}`];
233
+ if (this.#isPassiveAndVertical()) {
234
+ classNames.push('sky-progress-indicator-passive');
235
+ }
236
+ this.cssClassNames = classNames;
237
+ }
238
+ #handleIncomingMessage(message) {
239
+ const indicatorMessage = message;
240
+ let type;
241
+ // Prints a deprecation warning if the consumer provides only `SkyProgressIndicatorMessageType`.
242
+ if (indicatorMessage.type === undefined) {
243
+ console.warn("[Deprecation warning] The progress indicator component's `messageStream` input is set " +
244
+ 'to `Subject<SkyProgressIndicatorMessageType>`. We will remove this deprecated type in ' +
245
+ 'the next major version release. Instead, set the `messageStream` input to a value of ' +
246
+ '`Subject<SkyProgressIndicatorMessage>`.');
247
+ type = message;
248
+ }
249
+ else {
250
+ type = indicatorMessage.type;
251
+ }
252
+ switch (type) {
253
+ case SkyProgressIndicatorMessageType.Progress:
254
+ this.#gotoNextStep();
255
+ break;
256
+ case SkyProgressIndicatorMessageType.Regress:
257
+ this.#gotoPreviousStep();
258
+ break;
259
+ case SkyProgressIndicatorMessageType.Finish:
260
+ this.#finishSteps();
261
+ break;
262
+ case SkyProgressIndicatorMessageType.Reset:
263
+ this.#resetSteps();
264
+ break;
265
+ case SkyProgressIndicatorMessageType.GoTo:
266
+ if (!indicatorMessage.data ||
267
+ indicatorMessage.data.activeIndex === undefined) {
268
+ console.warn('A message type of `SkyProgressIndicatorMessageType.GoTo` was passed to the progress ' +
269
+ 'indicator, but no step index was provided. You can pass the desired active ' +
270
+ 'index via:\n' +
271
+ '{\n' +
272
+ ' type: SkyProgressIndicatorMessageType.GoTo,\n' +
273
+ ' data: { activeIndex: 0 }\n' +
274
+ '}');
275
+ return;
276
+ }
277
+ this.#gotoStep(indicatorMessage.data.activeIndex);
278
+ break;
279
+ default:
280
+ break;
281
+ }
282
+ // Update the view after a message is received.
283
+ this.#changeDetector.markForCheck();
284
+ }
285
+ #subscribeToMessageStream() {
286
+ if (this.#initialized) {
287
+ if (this.#messageStreamSub) {
288
+ this.#messageStreamSub.unsubscribe();
289
+ this.#messageStreamSub = undefined;
290
+ }
291
+ if (this.#messageStream) {
292
+ this.#messageStreamSub = this.#messageStream
293
+ .pipe(takeUntil(this.#ngUnsubscribe))
294
+ .subscribe((message) => {
295
+ this.#handleIncomingMessage(message);
296
+ });
297
+ }
298
+ }
299
+ }
300
+ #updateStatusesAndNotify(change) {
301
+ this.#updateItemStatuses();
302
+ this.progressChanges.next(Object.assign({}, {
303
+ activeIndex: this.#activeIndex,
304
+ itemStatuses: this.itemStatuses,
305
+ }, change));
306
+ }
307
+ #getLastIndex() {
308
+ return (this.itemComponents?.length || 0) - 1;
309
+ }
310
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.SkyAppWindowRef }, { token: i1.SkyLogService }], target: i0.ɵɵFactoryTarget.Component }); }
311
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.7", type: SkyProgressIndicatorComponent, selector: "sky-progress-indicator", inputs: { displayMode: "displayMode", isPassive: "isPassive", messageStream: "messageStream", startingIndex: "startingIndex" }, outputs: { progressChanges: "progressChanges" }, queries: [{ propertyName: "itemComponents", predicate: SkyProgressIndicatorItemComponent }], ngImport: i0, template: "<div class=\"sky-progress-indicator\" [ngClass]=\"cssClassNames\">\n <div\n *ngIf=\"displayMode === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker\n *ngFor=\"let status of itemStatuses\"\n [displayMode]=\"displayMode\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator ::ng-deep sky-progress-indicator-item:last-of-type .sky-progress-indicator-status-marker-line{display:none}.sky-progress-indicator-mode-vertical{max-width:400px;min-width:250px;margin:0 auto}.sky-progress-indicator-mode-vertical ::ng-deep .sky-progress-indicator-item-body{text-align:center;margin-left:-30px}.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{display:block;padding-top:30px;padding-left:15px}::ng-deep .sky-popover ::ng-deep .sky-progress-indicator-mode-vertical{min-width:auto}.sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:600;font-size:16px}.sky-progress-indicator-horizontal-status-markers{display:flex;margin-bottom:10px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker{flex-basis:45px;flex-grow:0}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type{margin-left:-5px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type .sky-progress-indicator-status-marker .sky-progress-indicator-status-marker-icon:before{display:none!important}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:last-of-type .sky-progress-indicator-status-marker-line{display:none}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}.sky-theme-modern .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.SkyProgressIndicatorStatusMarkerComponent, selector: "sky-progress-indicator-status-marker", inputs: ["displayMode", "status"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
312
+ }
313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorComponent, decorators: [{
314
+ type: Component,
315
+ args: [{ selector: 'sky-progress-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-progress-indicator\" [ngClass]=\"cssClassNames\">\n <div\n *ngIf=\"displayMode === 'horizontal'\"\n class=\"sky-progress-indicator-horizontal-status-markers\"\n >\n <sky-progress-indicator-status-marker\n *ngFor=\"let status of itemStatuses\"\n [displayMode]=\"displayMode\"\n [status]=\"status\"\n >\n </sky-progress-indicator-status-marker>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [".sky-progress-indicator ::ng-deep sky-progress-indicator-item:last-of-type .sky-progress-indicator-status-marker-line{display:none}.sky-progress-indicator-mode-vertical{max-width:400px;min-width:250px;margin:0 auto}.sky-progress-indicator-mode-vertical ::ng-deep .sky-progress-indicator-item-body{text-align:center;margin-left:-30px}.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{display:block;padding-top:30px;padding-left:15px}::ng-deep .sky-popover ::ng-deep .sky-progress-indicator-mode-vertical{min-width:auto}.sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:600;font-size:16px}.sky-progress-indicator-horizontal-status-markers{display:flex;margin-bottom:10px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker{flex-basis:45px;flex-grow:0}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type{margin-left:-5px}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:first-of-type .sky-progress-indicator-status-marker .sky-progress-indicator-status-marker-icon:before{display:none!important}.sky-progress-indicator-horizontal-status-markers ::ng-deep sky-progress-indicator-status-marker:last-of-type .sky-progress-indicator-status-marker-line{display:none}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,:host-context(.sky-theme-modern) .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}.sky-theme-modern .sky-progress-indicator-mode-horizontal ::ng-deep .sky-progress-indicator-item-heading{font-weight:inherit;font-size:inherit}.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-nav-button,.sky-theme-modern .sky-progress-indicator-mode-vertical ::ng-deep sky-progress-indicator-reset-button{padding:0;margin:60px 0 0;text-align:center}\n"] }]
316
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.SkyAppWindowRef }, { type: i1.SkyLogService }]; }, propDecorators: { displayMode: [{
317
+ type: Input
318
+ }], isPassive: [{
319
+ type: Input
320
+ }], messageStream: [{
321
+ type: Input
322
+ }], startingIndex: [{
323
+ type: Input
324
+ }], progressChanges: [{
325
+ type: Output
326
+ }], itemComponents: [{
327
+ type: ContentChildren,
328
+ args: [SkyProgressIndicatorItemComponent]
329
+ }] } });
330
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3Byb2dyZXNzLWluZGljYXRvci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLE9BQU8sRUFBZ0IsTUFBTSxNQUFNLENBQUM7QUFDN0MsT0FBTyxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUdoSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUV4RixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUMxRixPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7Ozs7QUFRbEYsTUFBTSxPQUFPLDZCQUE2QjtJQUd4Qzs7Ozs7Ozs7OztPQVVHO0lBQ0gsSUFDVyxXQUFXLENBQ3BCLEtBQXNEO1FBRXRELFFBQVEsS0FBSyxFQUFFO1lBQ2IsS0FBSywrQkFBK0IsQ0FBQyxVQUFVLENBQUM7WUFDaEQsS0FBSyxZQUFZO2dCQUNmLElBQUksQ0FBQyxhQUFhLEdBQUcs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O3FCQUN6QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztxQkFDcEMsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDdkMsQ0FBQyxDQUFDLENBQUM7YUFDTjtTQUNGO0lBQ0gsQ0FBQztJQUVELHdCQUF3QixDQUFDLE1BQW1DO1FBQzFELElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1FBRTNCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUN2QixNQUFNLENBQUMsTUFBTSxDQUNYLEVBQUUsRUFDRjtZQUNFLFdBQVcsRUFBRSxJQUFJLENBQUMsWUFBWTtZQUM5QixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVk7U0FDaEMsRUFDRCxNQUFNLENBQ1AsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBdFlVLDZCQUE2QjtrR0FBN0IsNkJBQTZCLDhRQW1HdkIsaUNBQWlDLDZCQ25JcEQsMGJBY0E7OzJGRGtCYSw2QkFBNkI7a0JBTnpDLFNBQVM7K0JBQ0Usd0JBQXdCLG1CQUdqQix1QkFBdUIsQ0FBQyxNQUFNO2tLQWlCcEMsV0FBVztzQkFEckIsS0FBSztnQkFpQ0ssU0FBUztzQkFEbkIsS0FBSztnQkFnQkssYUFBYTtzQkFEdkIsS0FBSztnQkFnQkssYUFBYTtzQkFEdkIsS0FBSztnQkFhQyxlQUFlO3NCQURyQixNQUFNO2dCQVlBLGNBQWM7c0JBRHBCLGVBQWU7dUJBQUMsaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZHJlbixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreUFwcFdpbmRvd1JlZiwgU2t5TG9nU2VydmljZSB9IGZyb20gJ0Bza3l1eC9jb3JlJztcblxuaW1wb3J0IHsgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkZWxheSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1pdGVtL3Byb2dyZXNzLWluZGljYXRvci1pdGVtLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWNoYW5nZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlVHlwZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWRpc3BsYXktbW9kZS10eXBlJztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cyB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLWl0ZW0tc3RhdHVzJztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZSB9IGZyb20gJy4vdHlwZXMvcHJvZ3Jlc3MtaW5kaWNhdG9yLW1lc3NhZ2UtdHlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlIH0gZnJvbSAnLi90eXBlcy9wcm9ncmVzcy1pbmRpY2F0b3ItbW9kZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1wcm9ncmVzcy1pbmRpY2F0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95XG57XG4gIC8qKlxuICAgKiBUaGUgb3JpZW50YXRpb24gb2YgdGhlIHByb2dyZXNzIGluZGljYXRvciwgd2hpY2ggY2FuIGJlIHZlcnRpY2FsIG9yIGhvcml6b250YWwuXG4gICAqIEZvciBbcGFzc2l2ZSBwcm9ncmVzcyBpbmRpY2F0b3JzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LXByb2dyZXNzLWluZGljYXRvci9kb2NzL3Bhc3NpdmUtaW5kaWNhdG9yKVxuICAgKiBhbmQgW3dhdGVyZmFsbCBwcm9ncmVzcyBpbmRpY2F0b3JzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvcHJvZ3Jlc3MtaW5kaWNhdG9yL3dhdGVyZmFsbC1wcm9ncmVzcy1pbmRpY2F0b3IpLFxuICAgKiB1c2UgdGhlIHZlcnRpY2FsIGRpc3BsYXkgbW9kZS4gRm9yIFttb2RhbCB3aXphcmRzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvd2l6YXJkKSxcbiAgICogdXNlIHRoZSBob3Jpem9udGFsIGRpc3BsYXkgbW9kZS5cbiAgICogQGRlcHJlY2F0ZWQgVGhlIHByb3BlcnR5IHdhcyBkZXNpZ25lZCB0byBjcmVhdGUgd2l6YXJkcyBieSBzZXR0aW5nIGBkaXNwbGF5TW9kZT1cImhvcml6b250YWxcImAgb24gcHJvZ3Jlc3MgaW5kaWNhdG9ycyBpbiBtb2RhbHMsXG4gICAqIGJ1dCB0aGlzIHdpemFyZCBpbXBsZW1lbnRhdGlvbiB3YXMgcmVwbGFjZWQgYnkgdGhlXG4gICAqIFtXaXphcmQgKFRhYnMpIGNvbXBvbmVudF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvcikuXG4gICAqIEBkZWZhdWx0IFwidmVydGljYWxcIlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBkaXNwbGF5TW9kZShcbiAgICB2YWx1ZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZVR5cGUgfCB1bmRlZmluZWRcbiAgKSB7XG4gICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvckRpc3BsYXlNb2RlLkhvcml6b250YWw6XG4gICAgICBjYXNlICdob3Jpem9udGFsJzpcbiAgICAgICAgdGhpcy4jX2Rpc3BsYXlNb2RlID0gJ2hvcml6b250YWwnO1xuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRoaXMuI19kaXNwbGF5TW9kZSA9ICd2ZXJ0aWNhbCc7XG4gICAgfVxuXG4gICAgdGhpcy4jdXBkYXRlQ3NzQ2xhc3NOYW1lcygpO1xuXG4gICAgaWYgKHRoaXMuI19kaXNwbGF5TW9kZSA9PT0gJ2hvcml6b250YWwnKSB7XG4gICAgICB0aGlzLiNsb2dnZXIuZGVwcmVjYXRlZCgnU2t5UHJvZ3Jlc3NJbmRpY2F0b3Igd2l6YXJkJywge1xuICAgICAgICBkZXByZWNhdGlvbk1ham9yVmVyc2lvbjogNixcbiAgICAgICAgcmVwbGFjZW1lbnRSZWNvbW1lbmRhdGlvbjogJ1VzZSBXaXphcmQgKFRhYnMpIGluc3RlYWQuJyxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBnZXQgZGlzcGxheU1vZGUoKTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JEaXNwbGF5TW9kZVR5cGUge1xuICAgIHJldHVybiB0aGlzLiNfZGlzcGxheU1vZGU7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGlzIHBhc3NpdmUuIFBhc3NpdmUgcHJvZ3Jlc3MgaW5kaWNhdG9ycyBpbmZvcm0gdXNlcnMgb2ZcbiAgICogcHJvZ3Jlc3MgdGhhdCBjb25jZXJucyB0aGVtIGJ1dCB0aGF0IHRoZXkgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IsIGFuZCB0aGV5IG11c3QgdXNlIHRoZSB2ZXJ0aWNhbCBkaXNwbGF5IG1vZGUuXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGlzUGFzc2l2ZSh2YWx1ZTogYm9vbGVhbiB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMuI19pc1Bhc3NpdmUgPSB2YWx1ZTtcbiAgICB0aGlzLiN1cGRhdGVDc3NDbGFzc05hbWVzKCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGlzUGFzc2l2ZSgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jX2lzUGFzc2l2ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgb2JzZXJ2YWJsZSBvZiBgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlYCB0aGF0IGRldGVybWluZXMgdGhlIHN0YXR1cyB0b1xuICAgKiBkaXNwbGF5IGZvciBpdGVtcyBpbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yLiBUaGUgbWVzc2FnZSBzdHJlYW0gaXMgYSBxdWV1ZSBvZlxuICAgKiBjb21tYW5kaW5nIG1lc3NhZ2VzIHRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgdGhlIHByb2dyZXNzIGluZGljYXRvciBiYXNlZCBvbiB0aGUgbWVzc2FnZSB0eXBlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBtZXNzYWdlU3RyZWFtKFxuICAgIHZhbHVlOlxuICAgICAgfCBTdWJqZWN0PFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZSB8IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGU+XG4gICAgICB8IHVuZGVmaW5lZFxuICApIHtcbiAgICB0aGlzLiNtZXNzYWdlU3RyZWFtID0gdmFsdWUgfHwgbmV3IFN1YmplY3QoKTtcbiAgICB0aGlzLiNzdWJzY3JpYmVUb01lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgaW5kZXggZm9yIHRoZSBpdGVtIHRvIG1ha2UgYWN0aXZlIHdoZW4gdGhlIHByb2dyZXNzIGluZGljYXRvclxuICAgKiBsb2Fkcy4gQWxsIHN0ZXBzIHRoYXQgcHJlY2VkZSB0aGUgYWN0aXZlIGl0ZW0gYXJlIG1hcmtlZCBhcyBjb21wbGV0ZSwgYW5kIGFsbCBzdGVwc1xuICAgKiB0aGF0IGZvbGxvdyB0aGUgYWN0aXZlIGl0ZW0gYXJlIG1hcmtlZCBhcyBpbmNvbXBsZXRlLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBzdGFydGluZ0luZGV4KHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfc3RhcnRpbmdJbmRleCA9IHZhbHVlIHx8IDA7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0YXJ0aW5nSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX3N0YXJ0aW5nSW5kZXg7XG4gIH1cblxuICAvKipcbiAgICogRmlyZXMgd2hlbiB0aGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGNoYW5nZXMgdGhlIHN0YXR1cyBvZiBhbiBpdGVtLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBwcm9ncmVzc0NoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPFNreVByb2dyZXNzSW5kaWNhdG9yQ2hhbmdlPigpO1xuXG4gIHB1YmxpYyBnZXQgaGFzRmluaXNoQnV0dG9uKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNfaGFzRmluaXNoQnV0dG9uO1xuICB9XG5cbiAgcHVibGljIHNldCBoYXNGaW5pc2hCdXR0b24odmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLiNfaGFzRmluaXNoQnV0dG9uID0gdmFsdWU7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudClcbiAgcHVibGljIGl0ZW1Db21wb25lbnRzOlxuICAgIHwgUXVlcnlMaXN0PFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudD5cbiAgICB8IHVuZGVmaW5lZDtcblxuICBwdWJsaWMgY3NzQ2xhc3NOYW1lczogc3RyaW5nW10gPSBbXTtcbiAgcHVibGljIGl0ZW1TdGF0dXNlczogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzW10gPSBbXTtcblxuICBzZXQgI2FjdGl2ZUluZGV4KHZhbHVlOiBudW1iZXIgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBsYXN0SW5kZXggPSAodGhpcy5pdGVtQ29tcG9uZW50cz8ubGVuZ3RoIHx8IDApIC0gMTtcbiAgICB0aGlzLiNfYWN0aXZlSW5kZXggPSBNYXRoLm1heChNYXRoLm1pbih2YWx1ZSB8fCAwLCBsYXN0SW5kZXgpLCAwKTtcbiAgfVxuXG4gIGdldCAjYWN0aXZlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy4jX2FjdGl2ZUluZGV4O1xuICB9XG5cbiAgI19hY3RpdmVJbmRleCA9IDA7XG4gICNfZGlzcGxheU1vZGU6IFNreVByb2dyZXNzSW5kaWNhdG9yRGlzcGxheU1vZGVUeXBlID0gJ3ZlcnRpY2FsJztcbiAgI19oYXNGaW5pc2hCdXR0b246IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICNfaXNQYXNzaXZlOiBib29sZWFuIHwgdW5kZWZpbmVkID0gZmFsc2U7XG4gICNfc3RhcnRpbmdJbmRleCA9IDA7XG5cbiAgI21lc3NhZ2VTdHJlYW1TdWI6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgI2luaXRpYWxpemVkID0gZmFsc2U7XG4gICNuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcbiAgI21lc3NhZ2VTdHJlYW0gPSBuZXcgU3ViamVjdDxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2UgfCBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlXG4gID4oKTtcbiAgI2NoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgI3dpbmRvd1JlZjogU2t5QXBwV2luZG93UmVmO1xuICAjbG9nZ2VyOiBTa3lMb2dTZXJ2aWNlO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICB3aW5kb3dSZWY6IFNreUFwcFdpbmRvd1JlZixcbiAgICBsb2dnZXI6IFNreUxvZ1NlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jY2hhbmdlRGV0ZWN0b3IgPSBjaGFuZ2VEZXRlY3RvcjtcbiAgICB0aGlzLiN3aW5kb3dSZWYgPSB3aW5kb3dSZWY7XG4gICAgdGhpcy4jbG9nZ2VyID0gbG9nZ2VyO1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2luaXRpYWxpemVkID0gdHJ1ZTtcblxuICAgIHRoaXMuI3VwZGF0ZUNzc0NsYXNzTmFtZXMoKTtcbiAgICB0aGlzLiNzdWJzY3JpYmVUb01lc3NhZ2VTdHJlYW0oKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy4jYWN0aXZlSW5kZXggPSB0aGlzLnN0YXJ0aW5nSW5kZXg7XG5cbiAgICB0aGlzLiN1cGRhdGVTdGVwcygpO1xuXG4gICAgLy8gTm90ZTogVGhlIGRlbGF5IGhlcmUgaXMgdG8gZW5zdXJlIGFsbCBjaGFuZ2UgZGV0ZWN0aW9uIG9uIHRoZSBpdGVtcyBoYXMgZmluaXNoZWQuIFdpdGhvdXRcbiAgICAvLyB0aGUgZGVsYXkgd2UgcmVjZWl2ZSBhIGNoYW5nZWQgYmVmb3JlIGNoZWNrZWQgZXJyb3IgZm9yIHZlcnRpY2FsIHByb2dyZXNzIGluZGljYXRvcnNcbiAgICB0aGlzLml0ZW1Db21wb25lbnRzPy5jaGFuZ2VzXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSksIGRlbGF5KDApKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuI3VwZGF0ZVN0ZXBzKCk7XG4gICAgICAgIHRoaXMuI3VwZGF0ZVN0YXR1c2VzQW5kTm90aWZ5KCk7XG4gICAgICB9KTtcblxuICAgIC8vIFdhaXQgZm9yIGl0ZW0gY29tcG9uZW50cycgY2hhbmdlIGRldGVjdGlvbiB0byBjb21wbGV0ZVxuICAgIC8vIGJlZm9yZSBub3RpZnlpbmcgY2hhbmdlcyB0byB0aGUgY29uc3VtZXIuXG4gICAgdGhpcy4jd2luZG93UmVmLm5hdGl2ZVdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuI3VwZGF0ZVN0YXR1c2VzQW5kTm90aWZ5KCk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy4jbmdVbnN1YnNjcmliZS5jb21wbGV0ZSgpO1xuICB9XG5cbiAgcHVibGljIHNlbmRNZXNzYWdlKG1lc3NhZ2U6IFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZSk6IHZvaWQge1xuICAgIHRoaXMuI21lc3NhZ2VTdHJlYW0ubmV4dChtZXNzYWdlKTtcbiAgfVxuXG4gICNpc1Bhc3NpdmVBbmRWZXJ0aWNhbCgpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBDdXJyZW50bHksIHBhc3NpdmUgbW9kZSBpcyBub3Qgc3VwcG9ydGVkIGZvciBob3Jpem9udGFsIGRpc3BsYXlzLlxuICAgIGlmICh0aGlzLmRpc3BsYXlNb2RlID09PSAnaG9yaXpvbnRhbCcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pc1Bhc3NpdmU7XG4gIH1cblxuICAjZ290b05leHRTdGVwKCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHRJbmRleCA9IHRoaXMuI2FjdGl2ZUluZGV4ICsgMTtcbiAgICBjb25zdCBsYXN0SW5kZXggPSB0aGlzLiNnZXRMYXN0SW5kZXgoKTtcblxuICAgIGlmIChuZXh0SW5kZXggPiBsYXN0SW5kZXgpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLiNnb3RvU3RlcChuZXh0SW5kZXgpO1xuICB9XG5cbiAgI2dvdG9QcmV2aW91c1N0ZXAoKTogdm9pZCB7XG4gICAgY29uc3QgcHJldmlvdXNJbmRleCA9IHRoaXMuI2FjdGl2ZUluZGV4IC0gMTtcblxuICAgIGlmIChwcmV2aW91c0luZGV4IDwgMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuI2dvdG9TdGVwKHByZXZpb3VzSW5kZXgpO1xuICB9XG5cbiAgI2dvdG9TdGVwKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVJbmRleCA9IGluZGV4O1xuICAgIHRoaXMuI3VwZGF0ZVN0ZXBzKCk7XG4gICAgdGhpcy4jdXBkYXRlU3RhdHVzZXNBbmROb3RpZnkoKTtcbiAgfVxuXG4gICNmaW5pc2hTdGVwcygpOiB2b2lkIHtcbiAgICB0aGlzLiNhY3RpdmVJbmRleCA9IHRoaXMuI2dldExhc3RJbmRleCgpO1xuXG4gICAgdGhpcy5pdGVtQ29tcG9uZW50cz8uZm9yRWFjaCgoY29tcG9uZW50KSA9PiB7XG4gICAgICBjb21wb25lbnQuc3RhdHVzID0gU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtU3RhdHVzLkNvbXBsZXRlO1xuICAgIH0pO1xuXG4gICAgdGhpcy4jdXBkYXRlU3RhdHVzZXNBbmROb3RpZnkoe1xuICAgICAgaXNDb21wbGV0ZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gICNyZXNldFN0ZXBzKCk6IHZvaWQge1xuICAgIHRoaXMuI2dvdG9TdGVwKDApO1xuICB9XG5cbiAgI3VwZGF0ZVN0ZXBzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLiNhY3RpdmVJbmRleCA+IHRoaXMuI2dldExhc3RJbmRleCgpKSB7XG4gICAgICB0aGlzLiNhY3RpdmVJbmRleCA9IHRoaXMuI2FjdGl2ZUluZGV4IC0gMTtcbiAgICB9XG5cbiAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMuI2FjdGl2ZUluZGV4O1xuICAgIGNvbnN0IGlzUGFzc2l2ZUFuZFZlcnRpY2FsID0gdGhpcy4jaXNQYXNzaXZlQW5kVmVydGljYWwoKTtcbiAgICBjb25zdCBpc1ZlcnRpY2FsID0gdGhpcy5kaXNwbGF5TW9kZSA9PT0gJ3ZlcnRpY2FsJztcblxuICAgIHRoaXMuaXRlbUNvbXBvbmVudHM/LmZvckVhY2goKGNvbXBvbmVudCwgaSkgPT4ge1xuICAgICAgLy8gU2V0IHZpc2liaWxpdHkuXG4gICAgICBjb21wb25lbnQuaXNWaXNpYmxlID0gYWN0aXZlSW5kZXggPT09IGkgfHwgaXNWZXJ0aWNhbDtcblxuICAgICAgLy8gU2V0IHN0YXR1cy5cbiAgICAgIGxldCBzdGF0dXM6IFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbVN0YXR1cztcbiAgICAgIGlmIChhY3RpdmVJbmRleCA9PT0gaSkge1xuICAgICAgICBpZiAoaXNQYXNzaXZlQW5kVmVydGljYWwpIHtcbiAgICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuUGVuZGluZztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQWN0aXZlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGFjdGl2ZUluZGV4ID4gaSkge1xuICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuQ29tcGxldGU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdGF0dXMgPSBTa3lQcm9ncmVzc0luZGljYXRvckl0ZW1TdGF0dXMuSW5jb21wbGV0ZTtcbiAgICAgIH1cblxuICAgICAgY29tcG9uZW50LnN0YXR1cyA9IHN0YXR1cztcblxuICAgICAgLy8gU2hvdyBvciBoaWRlIHRoZSBzdGF0dXMgbWFya2Vycy5cbiAgICAgIGNvbXBvbmVudC5zaG93U3RhdHVzTWFya2VyID0gaXNWZXJ0aWNhbDtcblxuICAgICAgLy8gU2hvdyBvciBoaWRlIHRoZSBzdGVwIG51bWJlci5cbiAgICAgIGlmIChpc1Bhc3NpdmVBbmRWZXJ0aWNhbCkge1xuICAgICAgICBjb21wb25lbnQuaGlkZVN0ZXBOdW1iZXIoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBvbmVudC5zaG93U3RlcE51bWJlcihpICsgMSk7XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHdlJ3JlIGluIHBhc3NpdmUgbW9kZSwgZG9uJ3Qgc2hvdyB0aXRsZXMgZm9yIGluY29tcGxldGUgaXRlbXMuXG4gICAgICBjb21wb25lbnQuc2hvd1RpdGxlID0gIShpc1Bhc3NpdmVBbmRWZXJ0aWNhbCAmJiBhY3RpdmVJbmRleCA8IGkpO1xuICAgIH0pO1xuICB9XG5cbiAgI3VwZGF0ZUl0ZW1TdGF0dXNlcygpOiB2b2lkIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIHRoaXMuaXRlbVN0YXR1c2VzID0gdGhpcy5pdGVtQ29tcG9uZW50cz8ubWFwKChjKSA9PiBjLnN0YXR1cykgfHwgW107XG4gIH1cblxuICAjdXBkYXRlQ3NzQ2xhc3NOYW1lcygpOiB2b2lkIHtcbiAgICBjb25zdCBjbGFzc05hbWVzID0gW2Bza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLW1vZGUtJHt0aGlzLmRpc3BsYXlNb2RlfWBdO1xuXG4gICAgaWYgKHRoaXMuI2lzUGFzc2l2ZUFuZFZlcnRpY2FsKCkpIHtcbiAgICAgIGNsYXNzTmFtZXMucHVzaCgnc2t5LXByb2dyZXNzLWluZGljYXRvci1wYXNzaXZlJyk7XG4gICAgfVxuXG4gICAgdGhpcy5jc3NDbGFzc05hbWVzID0gY2xhc3NOYW1lcztcbiAgfVxuXG4gICNoYW5kbGVJbmNvbWluZ01lc3NhZ2UoXG4gICAgbWVzc2FnZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlIHwgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZVxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpbmRpY2F0b3JNZXNzYWdlID0gbWVzc2FnZSBhcyBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2U7XG5cbiAgICBsZXQgdHlwZTogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZTtcblxuICAgIC8vIFByaW50cyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdGhlIGNvbnN1bWVyIHByb3ZpZGVzIG9ubHkgYFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGVgLlxuICAgIGlmIChpbmRpY2F0b3JNZXNzYWdlLnR5cGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICBcIltEZXByZWNhdGlvbiB3YXJuaW5nXSBUaGUgcHJvZ3Jlc3MgaW5kaWNhdG9yIGNvbXBvbmVudCdzIGBtZXNzYWdlU3RyZWFtYCBpbnB1dCBpcyBzZXQgXCIgK1xuICAgICAgICAgICd0byBgU3ViamVjdDxTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlPmAuIFdlIHdpbGwgcmVtb3ZlIHRoaXMgZGVwcmVjYXRlZCB0eXBlIGluICcgK1xuICAgICAgICAgICd0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIHJlbGVhc2UuIEluc3RlYWQsIHNldCB0aGUgYG1lc3NhZ2VTdHJlYW1gIGlucHV0IHRvIGEgdmFsdWUgb2YgJyArXG4gICAgICAgICAgJ2BTdWJqZWN0PFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZT5gLidcbiAgICAgICk7XG5cbiAgICAgIHR5cGUgPSBtZXNzYWdlIGFzIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHR5cGUgPSBpbmRpY2F0b3JNZXNzYWdlLnR5cGU7XG4gICAgfVxuXG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUHJvZ3Jlc3M6XG4gICAgICAgIHRoaXMuI2dvdG9OZXh0U3RlcCgpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLlJlZ3Jlc3M6XG4gICAgICAgIHRoaXMuI2dvdG9QcmV2aW91c1N0ZXAoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5GaW5pc2g6XG4gICAgICAgIHRoaXMuI2ZpbmlzaFN0ZXBzKCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFNreVByb2dyZXNzSW5kaWNhdG9yTWVzc2FnZVR5cGUuUmVzZXQ6XG4gICAgICAgIHRoaXMuI3Jlc2V0U3RlcHMoKTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIGNhc2UgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Hb1RvOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgIWluZGljYXRvck1lc3NhZ2UuZGF0YSB8fFxuICAgICAgICAgIGluZGljYXRvck1lc3NhZ2UuZGF0YS5hY3RpdmVJbmRleCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnNvbGUud2FybihcbiAgICAgICAgICAgICdBIG1lc3NhZ2UgdHlwZSBvZiBgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNZXNzYWdlVHlwZS5Hb1RvYCB3YXMgcGFzc2VkIHRvIHRoZSBwcm9ncmVzcyAnICtcbiAgICAgICAgICAgICAgJ2luZGljYXRvciwgYnV0IG5vIHN0ZXAgaW5kZXggd2FzIHByb3ZpZGVkLiBZb3UgY2FuIHBhc3MgdGhlIGRlc2lyZWQgYWN0aXZlICcgK1xuICAgICAgICAgICAgICAnaW5kZXggdmlhOlxcbicgK1xuICAgICAgICAgICAgICAne1xcbicgK1xuICAgICAgICAgICAgICAnICB0eXBlOiBTa3lQcm9ncmVzc0luZGljYXRvck1lc3NhZ2VUeXBlLkdvVG8sXFxuJyArXG4gICAgICAgICAgICAgICcgIGRhdGE6IHsgYWN0aXZlSW5kZXg6IDAgfVxcbicgK1xuICAgICAgICAgICAgICAnfSdcbiAgICAgICAgICApO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuI2dvdG9TdGVwKGluZGljYXRvck1lc3NhZ2UuZGF0YS5hY3RpdmVJbmRleCk7XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBicmVhaztcbiAgICB9XG5cbiAgICAvLyBVcGRhdGUgdGhlIHZpZXcgYWZ0ZXIgYSBtZXNzYWdlIGlzIHJlY2VpdmVkLlxuICAgIHRoaXMuI2NoYW5nZURldGVjdG9yLm1hcmtGb3JDaGVjaygpO1xuICB9XG5cbiAgI3N1YnNjcmliZVRvTWVzc2FnZVN0cmVhbSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy4jaW5pdGlhbGl6ZWQpIHtcbiAgICAgIGlmICh0aGlzLiNtZXNzYWdlU3RyZWFtU3ViKSB7XG4gICAgICAgIHRoaXMuI21lc3NhZ2VTdHJlYW1TdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1YiA9IHVuZGVmaW5lZDtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuI21lc3NhZ2VTdHJlYW0pIHtcbiAgICAgICAgdGhpcy4jbWVzc2FnZVN0cmVhbVN1YiA9IHRoaXMuI21lc3NhZ2VTdHJlYW1cbiAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy4jbmdVbnN1YnNjcmliZSkpXG4gICAgICAgICAgLnN1YnNjcmliZSgobWVzc2FnZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy4jaGFuZGxlSW5jb21pbmdNZXNzYWdlKG1lc3NhZ2UpO1xuICAgICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICN1cGRhdGVTdGF0dXNlc0FuZE5vdGlmeShjaGFuZ2U/OiBTa3lQcm9ncmVzc0luZGljYXRvckNoYW5nZSk6IHZvaWQge1xuICAgIHRoaXMuI3VwZGF0ZUl0ZW1TdGF0dXNlcygpO1xuXG4gICAgdGhpcy5wcm9ncmVzc0NoYW5nZXMubmV4dChcbiAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgIHt9LFxuICAgICAgICB7XG4gICAgICAgICAgYWN0aXZlSW5kZXg6IHRoaXMuI2FjdGl2ZUluZGV4LFxuICAgICAgICAgIGl0ZW1TdGF0dXNlczogdGhpcy5pdGVtU3RhdHVzZXMsXG4gICAgICAgIH0sXG4gICAgICAgIGNoYW5nZVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICAjZ2V0TGFzdEluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLml0ZW1Db21wb25lbnRzPy5sZW5ndGggfHwgMCkgLSAxO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwic2t5LXByb2dyZXNzLWluZGljYXRvclwiIFtuZ0NsYXNzXT1cImNzc0NsYXNzTmFtZXNcIj5cbiAgPGRpdlxuICAgICpuZ0lmPVwiZGlzcGxheU1vZGUgPT09ICdob3Jpem9udGFsJ1wiXG4gICAgY2xhc3M9XCJza3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLWhvcml6b250YWwtc3RhdHVzLW1hcmtlcnNcIlxuICA+XG4gICAgPHNreS1wcm9ncmVzcy1pbmRpY2F0b3Itc3RhdHVzLW1hcmtlclxuICAgICAgKm5nRm9yPVwibGV0IHN0YXR1cyBvZiBpdGVtU3RhdHVzZXNcIlxuICAgICAgW2Rpc3BsYXlNb2RlXT1cImRpc3BsYXlNb2RlXCJcbiAgICAgIFtzdGF0dXNdPVwic3RhdHVzXCJcbiAgICA+XG4gICAgPC9za3ktcHJvZ3Jlc3MtaW5kaWNhdG9yLXN0YXR1cy1tYXJrZXI+XG4gIDwvZGl2PlxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
@@ -16,33 +16,33 @@ import { SkyProgressIndicatorTitleComponent } from './progress-indicator-title/p
16
16
  import { SkyProgressIndicatorComponent } from './progress-indicator.component';
17
17
  import * as i0 from "@angular/core";
18
18
  export class SkyProgressIndicatorModule {
19
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
20
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorModule, declarations: [SkyProgressIndicatorComponent,
21
+ SkyProgressIndicatorItemComponent,
22
+ SkyProgressIndicatorMarkerClassPipe,
23
+ SkyProgressIndicatorNavButtonClass,
24
+ SkyProgressIndicatorNavButtonDisabledPipe,
25
+ SkyProgressIndicatorNavButtonComponent,
26
+ SkyProgressIndicatorResetButtonComponent,
27
+ SkyProgressIndicatorStatusMarkerComponent,
28
+ SkyProgressIndicatorTitleComponent], imports: [CommonModule,
29
+ SkyI18nModule,
30
+ SkyIconModule,
31
+ SkyProgressIndicatorResourcesModule,
32
+ SkyThemeModule,
33
+ SkyTrimModule], exports: [SkyProgressIndicatorComponent,
34
+ SkyProgressIndicatorItemComponent,
35
+ SkyProgressIndicatorNavButtonComponent,
36
+ SkyProgressIndicatorResetButtonComponent,
37
+ SkyProgressIndicatorTitleComponent] }); }
38
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorModule, imports: [CommonModule,
39
+ SkyI18nModule,
40
+ SkyIconModule,
41
+ SkyProgressIndicatorResourcesModule,
42
+ SkyThemeModule,
43
+ SkyTrimModule] }); }
19
44
  }
20
- SkyProgressIndicatorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
21
- SkyProgressIndicatorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorModule, declarations: [SkyProgressIndicatorComponent,
22
- SkyProgressIndicatorItemComponent,
23
- SkyProgressIndicatorMarkerClassPipe,
24
- SkyProgressIndicatorNavButtonClass,
25
- SkyProgressIndicatorNavButtonDisabledPipe,
26
- SkyProgressIndicatorNavButtonComponent,
27
- SkyProgressIndicatorResetButtonComponent,
28
- SkyProgressIndicatorStatusMarkerComponent,
29
- SkyProgressIndicatorTitleComponent], imports: [CommonModule,
30
- SkyI18nModule,
31
- SkyIconModule,
32
- SkyProgressIndicatorResourcesModule,
33
- SkyThemeModule,
34
- SkyTrimModule], exports: [SkyProgressIndicatorComponent,
35
- SkyProgressIndicatorItemComponent,
36
- SkyProgressIndicatorNavButtonComponent,
37
- SkyProgressIndicatorResetButtonComponent,
38
- SkyProgressIndicatorTitleComponent] });
39
- SkyProgressIndicatorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorModule, imports: [CommonModule,
40
- SkyI18nModule,
41
- SkyIconModule,
42
- SkyProgressIndicatorResourcesModule,
43
- SkyThemeModule,
44
- SkyTrimModule] });
45
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyProgressIndicatorModule, decorators: [{
45
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorModule, decorators: [{
46
46
  type: NgModule,
47
47
  args: [{
48
48
  declarations: [
@@ -73,4 +73,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImpor
73
73
  ],
74
74
  }]
75
75
  }] });
76
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUM5SCxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNySSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUMxSSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNuSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUE4Qi9FLE1BQU0sT0FBTywwQkFBMEI7O3VIQUExQiwwQkFBMEI7d0hBQTFCLDBCQUEwQixpQkExQm5DLDZCQUE2QjtRQUM3QixpQ0FBaUM7UUFDakMsbUNBQW1DO1FBQ25DLGtDQUFrQztRQUNsQyx5Q0FBeUM7UUFDekMsc0NBQXNDO1FBQ3RDLHdDQUF3QztRQUN4Qyx5Q0FBeUM7UUFDekMsa0NBQWtDLGFBR2xDLFlBQVk7UUFDWixhQUFhO1FBQ2IsYUFBYTtRQUNiLG1DQUFtQztRQUNuQyxjQUFjO1FBQ2QsYUFBYSxhQUdiLDZCQUE2QjtRQUM3QixpQ0FBaUM7UUFDakMsc0NBQXNDO1FBQ3RDLHdDQUF3QztRQUN4QyxrQ0FBa0M7d0hBR3pCLDBCQUEwQixZQWZuQyxZQUFZO1FBQ1osYUFBYTtRQUNiLGFBQWE7UUFDYixtQ0FBbUM7UUFDbkMsY0FBYztRQUNkLGFBQWE7MkZBVUosMEJBQTBCO2tCQTVCdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLG1DQUFtQzt3QkFDbkMsa0NBQWtDO3dCQUNsQyx5Q0FBeUM7d0JBQ3pDLHNDQUFzQzt3QkFDdEMsd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1DQUFtQzt3QkFDbkMsY0FBYzt3QkFDZCxhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMsc0NBQXNDO3dCQUN0Qyx3Q0FBd0M7d0JBQ3hDLGtDQUFrQztxQkFDbkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRyaW1Nb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXByb2dyZXNzLWluZGljYXRvci1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25DbGFzcyB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tY2xhc3MucGlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkRpc2FibGVkUGlwZSB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tZGlzYWJsZWQucGlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yUmVzZXRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNYXJrZXJDbGFzc1BpcGUgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JTdGF0dXNNYXJrZXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvclRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck1hcmtlckNsYXNzUGlwZSxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNsYXNzLFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uRGlzYWJsZWRQaXBlLFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yUmVzZXRCdXR0b25Db21wb25lbnQsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JTdGF0dXNNYXJrZXJDb21wb25lbnQsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VHJpbU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvclJlc2V0QnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yVGl0bGVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yTW9kdWxlIHt9XG4iXX0=
76
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MtaW5kaWNhdG9yLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9wcm9ncmVzcy1pbmRpY2F0b3Ivc3JjL2xpYi9tb2R1bGVzL3Byb2dyZXNzLWluZGljYXRvci9wcm9ncmVzcy1pbmRpY2F0b3IubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDNUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUU5QyxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV4RyxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUNoSCxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwwRUFBMEUsQ0FBQztBQUM5SCxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsd0NBQXdDLEVBQUUsTUFBTSw2RUFBNkUsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSxnRkFBZ0YsQ0FBQztBQUNySSxPQUFPLEVBQUUseUNBQXlDLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUMxSSxPQUFPLEVBQUUsa0NBQWtDLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUNuSCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7QUE4Qi9FLE1BQU0sT0FBTywwQkFBMEI7OEdBQTFCLDBCQUEwQjsrR0FBMUIsMEJBQTBCLGlCQTFCbkMsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyxtQ0FBbUM7WUFDbkMsa0NBQWtDO1lBQ2xDLHlDQUF5QztZQUN6QyxzQ0FBc0M7WUFDdEMsd0NBQXdDO1lBQ3hDLHlDQUF5QztZQUN6QyxrQ0FBa0MsYUFHbEMsWUFBWTtZQUNaLGFBQWE7WUFDYixhQUFhO1lBQ2IsbUNBQW1DO1lBQ25DLGNBQWM7WUFDZCxhQUFhLGFBR2IsNkJBQTZCO1lBQzdCLGlDQUFpQztZQUNqQyxzQ0FBc0M7WUFDdEMsd0NBQXdDO1lBQ3hDLGtDQUFrQzsrR0FHekIsMEJBQTBCLFlBZm5DLFlBQVk7WUFDWixhQUFhO1lBQ2IsYUFBYTtZQUNiLG1DQUFtQztZQUNuQyxjQUFjO1lBQ2QsYUFBYTs7MkZBVUosMEJBQTBCO2tCQTVCdEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osNkJBQTZCO3dCQUM3QixpQ0FBaUM7d0JBQ2pDLG1DQUFtQzt3QkFDbkMsa0NBQWtDO3dCQUNsQyx5Q0FBeUM7d0JBQ3pDLHNDQUFzQzt3QkFDdEMsd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLGtDQUFrQztxQkFDbkM7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osYUFBYTt3QkFDYixhQUFhO3dCQUNiLG1DQUFtQzt3QkFDbkMsY0FBYzt3QkFDZCxhQUFhO3FCQUNkO29CQUNELE9BQU8sRUFBRTt3QkFDUCw2QkFBNkI7d0JBQzdCLGlDQUFpQzt3QkFDakMsc0NBQXNDO3dCQUN0Qyx3Q0FBd0M7d0JBQ3hDLGtDQUFrQztxQkFDbkM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNreVRyaW1Nb2R1bGUgfSBmcm9tICdAc2t5dXgvY29yZSc7XG5pbXBvcnQgeyBTa3lJMThuTW9kdWxlIH0gZnJvbSAnQHNreXV4L2kxOG4nO1xuaW1wb3J0IHsgU2t5SWNvbk1vZHVsZSB9IGZyb20gJ0Bza3l1eC9pbmRpY2F0b3JzJztcbmltcG9ydCB7IFNreVRoZW1lTW9kdWxlIH0gZnJvbSAnQHNreXV4L3RoZW1lJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNvdXJjZXNNb2R1bGUgfSBmcm9tICcuLi9zaGFyZWQvc2t5LXByb2dyZXNzLWluZGljYXRvci1yZXNvdXJjZXMubW9kdWxlJztcblxuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS9wcm9ncmVzcy1pbmRpY2F0b3ItaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JOYXZCdXR0b25DbGFzcyB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tY2xhc3MucGlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkRpc2FibGVkUGlwZSB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24tZGlzYWJsZWQucGlwZSc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLW5hdi1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IFNreVByb2dyZXNzSW5kaWNhdG9yUmVzZXRCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1yZXNldC1idXR0b24vcHJvZ3Jlc3MtaW5kaWNhdG9yLXJlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JNYXJrZXJDbGFzc1BpcGUgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLWNsYXNzLnBpcGUnO1xuaW1wb3J0IHsgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JTdGF0dXNNYXJrZXJDb21wb25lbnQgfSBmcm9tICcuL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyL3Byb2dyZXNzLWluZGljYXRvci1zdGF0dXMtbWFya2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvclRpdGxlQ29tcG9uZW50IH0gZnJvbSAnLi9wcm9ncmVzcy1pbmRpY2F0b3ItdGl0bGUvcHJvZ3Jlc3MtaW5kaWNhdG9yLXRpdGxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBTa3lQcm9ncmVzc0luZGljYXRvckNvbXBvbmVudCB9IGZyb20gJy4vcHJvZ3Jlc3MtaW5kaWNhdG9yLmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGRlY2xhcmF0aW9uczogW1xuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck1hcmtlckNsYXNzUGlwZSxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNsYXNzLFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uRGlzYWJsZWRQaXBlLFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yTmF2QnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yUmVzZXRCdXR0b25Db21wb25lbnQsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JTdGF0dXNNYXJrZXJDb21wb25lbnQsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JUaXRsZUNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBTa3lJMThuTW9kdWxlLFxuICAgIFNreUljb25Nb2R1bGUsXG4gICAgU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNvdXJjZXNNb2R1bGUsXG4gICAgU2t5VGhlbWVNb2R1bGUsXG4gICAgU2t5VHJpbU1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9ySXRlbUNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvck5hdkJ1dHRvbkNvbXBvbmVudCxcbiAgICBTa3lQcm9ncmVzc0luZGljYXRvclJlc2V0QnV0dG9uQ29tcG9uZW50LFxuICAgIFNreVByb2dyZXNzSW5kaWNhdG9yVGl0bGVDb21wb25lbnQsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,50 @@
1
+ /**
2
+ * NOTICE: DO NOT MODIFY THIS FILE!
3
+ * The contents of this file were automatically generated by
4
+ * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-progress-indicator' schematic.
5
+ * To update this file, simply rerun the command.
6
+ */
7
+ import { NgModule } from '@angular/core';
8
+ import { SKY_LIB_RESOURCES_PROVIDERS, SkyI18nModule, getLibStringForLocale, } from '@skyux/i18n';
9
+ import * as i0 from "@angular/core";
10
+ const RESOURCES = {
11
+ 'EN-US': {
12
+ skyux_progress_indicator_navigator_finish: { message: 'Finish' },
13
+ skyux_progress_indicator_navigator_next: { message: 'Next' },
14
+ skyux_progress_indicator_navigator_previous: { message: 'Previous' },
15
+ skyux_progress_indicator_navigator_reset: { message: 'Reset' },
16
+ },
17
+ };
18
+ export class SkyProgressIndicatorResourcesProvider {
19
+ getString(localeInfo, name) {
20
+ return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
21
+ }
22
+ }
23
+ /**
24
+ * Import into any component library module that needs to use resource strings.
25
+ */
26
+ export class SkyProgressIndicatorResourcesModule {
27
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
28
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorResourcesModule, exports: [SkyI18nModule] }); }
29
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorResourcesModule, providers: [
30
+ {
31
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
32
+ useClass: SkyProgressIndicatorResourcesProvider,
33
+ multi: true,
34
+ },
35
+ ], imports: [SkyI18nModule] }); }
36
+ }
37
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.7", ngImport: i0, type: SkyProgressIndicatorResourcesModule, decorators: [{
38
+ type: NgModule,
39
+ args: [{
40
+ exports: [SkyI18nModule],
41
+ providers: [
42
+ {
43
+ provide: SKY_LIB_RESOURCES_PROVIDERS,
44
+ useClass: SkyProgressIndicatorResourcesProvider,
45
+ multi: true,
46
+ },
47
+ ],
48
+ }]
49
+ }] });
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2t5LXByb2dyZXNzLWluZGljYXRvci1yZXNvdXJjZXMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL3Byb2dyZXNzLWluZGljYXRvci9zcmMvbGliL21vZHVsZXMvc2hhcmVkL3NreS1wcm9ncmVzcy1pbmRpY2F0b3ItcmVzb3VyY2VzLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7R0FLRztBQUNILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUNMLDJCQUEyQixFQUUzQixhQUFhLEVBR2IscUJBQXFCLEdBQ3RCLE1BQU0sYUFBYSxDQUFDOztBQUVyQixNQUFNLFNBQVMsR0FBMEM7SUFDdkQsT0FBTyxFQUFFO1FBQ1AseUNBQXlDLEVBQUUsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFO1FBQ2hFLHVDQUF1QyxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRTtRQUM1RCwyQ0FBMkMsRUFBRSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUU7UUFDcEUsd0NBQXdDLEVBQUUsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFO0tBQy9EO0NBQ0YsQ0FBQztBQUVGLE1BQU0sT0FBTyxxQ0FBcUM7SUFHekMsU0FBUyxDQUNkLFVBQTRCLEVBQzVCLElBQVk7UUFFWixPQUFPLHFCQUFxQixDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ25FLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBV0gsTUFBTSxPQUFPLG1DQUFtQzs4R0FBbkMsbUNBQW1DOytHQUFuQyxtQ0FBbUMsWUFUcEMsYUFBYTsrR0FTWixtQ0FBbUMsYUFSbkM7WUFDVDtnQkFDRSxPQUFPLEVBQUUsMkJBQTJCO2dCQUNwQyxRQUFRLEVBQUUscUNBQXFDO2dCQUMvQyxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsWUFQUyxhQUFhOzsyRkFTWixtQ0FBbUM7a0JBVi9DLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDO29CQUN4QixTQUFTLEVBQUU7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLDJCQUEyQjs0QkFDcEMsUUFBUSxFQUFFLHFDQUFxQzs0QkFDL0MsS0FBSyxFQUFFLElBQUk7eUJBQ1o7cUJBQ0Y7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE5PVElDRTogRE8gTk9UIE1PRElGWSBUSElTIEZJTEUhXG4gKiBUaGUgY29udGVudHMgb2YgdGhpcyBmaWxlIHdlcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgYnlcbiAqIHRoZSAnbmcgZ2VuZXJhdGUgQHNreXV4L2kxOG46bGliLXJlc291cmNlcy1tb2R1bGUgbGliL21vZHVsZXMvc2hhcmVkL3NreS1wcm9ncmVzcy1pbmRpY2F0b3InIHNjaGVtYXRpYy5cbiAqIFRvIHVwZGF0ZSB0aGlzIGZpbGUsIHNpbXBseSByZXJ1biB0aGUgY29tbWFuZC5cbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gIFNLWV9MSUJfUkVTT1VSQ0VTX1BST1ZJREVSUyxcbiAgU2t5QXBwTG9jYWxlSW5mbyxcbiAgU2t5STE4bk1vZHVsZSxcbiAgU2t5TGliUmVzb3VyY2VzLFxuICBTa3lMaWJSZXNvdXJjZXNQcm92aWRlcixcbiAgZ2V0TGliU3RyaW5nRm9yTG9jYWxlLFxufSBmcm9tICdAc2t5dXgvaTE4bic7XG5cbmNvbnN0IFJFU09VUkNFUzogeyBbbG9jYWxlOiBzdHJpbmddOiBTa3lMaWJSZXNvdXJjZXMgfSA9IHtcbiAgJ0VOLVVTJzoge1xuICAgIHNreXV4X3Byb2dyZXNzX2luZGljYXRvcl9uYXZpZ2F0b3JfZmluaXNoOiB7IG1lc3NhZ2U6ICdGaW5pc2gnIH0sXG4gICAgc2t5dXhfcHJvZ3Jlc3NfaW5kaWNhdG9yX25hdmlnYXRvcl9uZXh0OiB7IG1lc3NhZ2U6ICdOZXh0JyB9LFxuICAgIHNreXV4X3Byb2dyZXNzX2luZGljYXRvcl9uYXZpZ2F0b3JfcHJldmlvdXM6IHsgbWVzc2FnZTogJ1ByZXZpb3VzJyB9LFxuICAgIHNreXV4X3Byb2dyZXNzX2luZGljYXRvcl9uYXZpZ2F0b3JfcmVzZXQ6IHsgbWVzc2FnZTogJ1Jlc2V0JyB9LFxuICB9LFxufTtcblxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yUmVzb3VyY2VzUHJvdmlkZXJcbiAgaW1wbGVtZW50cyBTa3lMaWJSZXNvdXJjZXNQcm92aWRlclxue1xuICBwdWJsaWMgZ2V0U3RyaW5nKFxuICAgIGxvY2FsZUluZm86IFNreUFwcExvY2FsZUluZm8sXG4gICAgbmFtZTogc3RyaW5nXG4gICk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIGdldExpYlN0cmluZ0ZvckxvY2FsZShSRVNPVVJDRVMsIGxvY2FsZUluZm8ubG9jYWxlLCBuYW1lKTtcbiAgfVxufVxuXG4vKipcbiAqIEltcG9ydCBpbnRvIGFueSBjb21wb25lbnQgbGlicmFyeSBtb2R1bGUgdGhhdCBuZWVkcyB0byB1c2UgcmVzb3VyY2Ugc3RyaW5ncy5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgZXhwb3J0czogW1NreUkxOG5Nb2R1bGVdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBTS1lfTElCX1JFU09VUkNFU19QUk9WSURFUlMsXG4gICAgICB1c2VDbGFzczogU2t5UHJvZ3Jlc3NJbmRpY2F0b3JSZXNvdXJjZXNQcm92aWRlcixcbiAgICAgIG11bHRpOiB0cnVlLFxuICAgIH0sXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFNreVByb2dyZXNzSW5kaWNhdG9yUmVzb3VyY2VzTW9kdWxlIHt9XG4iXX0=