@skyux/datetime 7.0.0-beta.12 → 7.0.0-beta.13

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 (57) hide show
  1. package/documentation.json +1532 -991
  2. package/esm2020/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.mjs +20 -0
  3. package/esm2020/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.mjs +20 -0
  4. package/esm2020/lib/modules/date-range-picker/date-range-picker.component.mjs +262 -204
  5. package/esm2020/lib/modules/date-range-picker/date-range-picker.module.mjs +11 -3
  6. package/esm2020/lib/modules/date-range-picker/date-range.service.mjs +42 -38
  7. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.mjs +1 -1
  8. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator-validate-function.mjs +1 -1
  9. package/esm2020/lib/modules/date-range-picker/types/date-range-calculator.mjs +15 -15
  10. package/esm2020/lib/modules/date-range-picker/types/date-range-default-calculator-configs.mjs +4 -2
  11. package/esm2020/lib/modules/date-range-picker/types/date-range.mjs +1 -1
  12. package/esm2020/lib/modules/datepicker/date-formatter.mjs +2 -2
  13. package/esm2020/lib/modules/datepicker/datepicker-adapter.service.mjs +7 -14
  14. package/esm2020/lib/modules/datepicker/datepicker-calendar-inner.component.mjs +43 -20
  15. package/esm2020/lib/modules/datepicker/datepicker-calendar.component.mjs +28 -35
  16. package/esm2020/lib/modules/datepicker/datepicker-config.service.mjs +1 -1
  17. package/esm2020/lib/modules/datepicker/datepicker-input-fuzzy.directive.mjs +223 -209
  18. package/esm2020/lib/modules/datepicker/datepicker-input.directive.mjs +212 -220
  19. package/esm2020/lib/modules/datepicker/datepicker.component.mjs +117 -138
  20. package/esm2020/lib/modules/datepicker/daypicker-button.component.mjs +3 -3
  21. package/esm2020/lib/modules/datepicker/daypicker-cell.component.mjs +61 -59
  22. package/esm2020/lib/modules/datepicker/daypicker.component.mjs +143 -137
  23. package/esm2020/lib/modules/datepicker/fuzzy-date.service.mjs +123 -132
  24. package/esm2020/lib/modules/datepicker/monthpicker.component.mjs +51 -49
  25. package/esm2020/lib/modules/datepicker/yearpicker.component.mjs +52 -50
  26. package/esm2020/lib/modules/timepicker/timepicker.component.mjs +104 -88
  27. package/esm2020/lib/modules/timepicker/timepicker.directive.mjs +105 -98
  28. package/fesm2015/skyux-datetime.mjs +1642 -1516
  29. package/fesm2015/skyux-datetime.mjs.map +1 -1
  30. package/fesm2020/skyux-datetime.mjs +1618 -1510
  31. package/fesm2020/skyux-datetime.mjs.map +1 -1
  32. package/lib/modules/date-range-picker/date-range-picker-end-date-resource-key.pipe.d.ts +8 -0
  33. package/lib/modules/date-range-picker/date-range-picker-start-date-resource-key.pipe.d.ts +8 -0
  34. package/lib/modules/date-range-picker/date-range-picker.component.d.ts +14 -43
  35. package/lib/modules/date-range-picker/date-range-picker.module.d.ts +9 -7
  36. package/lib/modules/date-range-picker/date-range.service.d.ts +1 -5
  37. package/lib/modules/date-range-picker/types/date-range-calculator-date-range-function.d.ts +1 -1
  38. package/lib/modules/date-range-picker/types/date-range-calculator-validate-function.d.ts +1 -1
  39. package/lib/modules/date-range-picker/types/date-range-calculator.d.ts +3 -8
  40. package/lib/modules/date-range-picker/types/date-range.d.ts +2 -2
  41. package/lib/modules/datepicker/date-formatter.d.ts +3 -3
  42. package/lib/modules/datepicker/datepicker-adapter.service.d.ts +1 -5
  43. package/lib/modules/datepicker/datepicker-calendar-inner.component.d.ts +18 -19
  44. package/lib/modules/datepicker/datepicker-calendar.component.d.ts +14 -25
  45. package/lib/modules/datepicker/datepicker-config.service.d.ts +3 -3
  46. package/lib/modules/datepicker/datepicker-input-fuzzy.directive.d.ts +17 -53
  47. package/lib/modules/datepicker/datepicker-input.directive.d.ts +13 -68
  48. package/lib/modules/datepicker/datepicker.component.d.ts +21 -58
  49. package/lib/modules/datepicker/daypicker-button.component.d.ts +1 -1
  50. package/lib/modules/datepicker/daypicker-cell.component.d.ts +3 -10
  51. package/lib/modules/datepicker/daypicker.component.d.ts +4 -16
  52. package/lib/modules/datepicker/fuzzy-date.service.d.ts +6 -30
  53. package/lib/modules/datepicker/monthpicker.component.d.ts +1 -4
  54. package/lib/modules/datepicker/yearpicker.component.d.ts +1 -3
  55. package/lib/modules/timepicker/timepicker.component.d.ts +14 -32
  56. package/lib/modules/timepicker/timepicker.directive.d.ts +9 -27
  57. package/package.json +8 -8
@@ -1,3 +1,5 @@
1
+ var _SkyDayPickerCellComponent_instances, _SkyDayPickerCellComponent_activeUid, _SkyDayPickerCellComponent_cancelPopover, _SkyDayPickerCellComponent_popoverOpen, _SkyDayPickerCellComponent_ngUnsubscribe, _SkyDayPickerCellComponent_datepicker, _SkyDayPickerCellComponent_datepickerService, _SkyDayPickerCellComponent_hideTooltip, _SkyDayPickerCellComponent_showTooltip;
2
+ import { __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
1
3
  import { ChangeDetectionStrategy, Component, Input, } from '@angular/core';
2
4
  import { SkyPopoverMessageType } from '@skyux/popovers';
3
5
  import { Subject } from 'rxjs';
@@ -15,112 +17,112 @@ import * as i5 from "./daypicker-button.component";
15
17
  */
16
18
  export class SkyDayPickerCellComponent {
17
19
  constructor(datepicker, datepickerService) {
18
- this.datepicker = datepicker;
19
- this.datepickerService = datepickerService;
20
+ _SkyDayPickerCellComponent_instances.add(this);
20
21
  this.hasTooltip = false;
21
22
  this.popoverController = new Subject();
22
- this.activeUid = '';
23
- this.cancelPopover = false;
24
- this.popoverOpen = false;
25
- this.ngUnsubscribe = new Subject();
23
+ _SkyDayPickerCellComponent_activeUid.set(this, '');
24
+ _SkyDayPickerCellComponent_cancelPopover.set(this, false);
25
+ _SkyDayPickerCellComponent_popoverOpen.set(this, false);
26
+ _SkyDayPickerCellComponent_ngUnsubscribe.set(this, new Subject());
27
+ _SkyDayPickerCellComponent_datepicker.set(this, void 0);
28
+ _SkyDayPickerCellComponent_datepickerService.set(this, void 0);
29
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_datepicker, datepicker, "f");
30
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_datepickerService, datepickerService, "f");
26
31
  }
27
32
  ngOnInit() {
28
- this.hasTooltip =
33
+ this.hasTooltip = !!(this.date &&
29
34
  this.date.keyDate &&
30
- this.date.keyDateText &&
31
- this.date.keyDateText.length > 0 &&
32
- this.date.keyDateText[0].length > 0;
35
+ this.date.keyDateText &&
36
+ this.date.keyDateText.length > 0 &&
37
+ this.date.keyDateText[0].length > 0);
33
38
  // show the tooltip if this is the active date and is not the
34
39
  // initial active date (activeDateHasChanged)
35
- if (this.datepicker.isActive(this.date) &&
40
+ if (!!this.date &&
41
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_datepicker, "f").isActive(this.date) &&
36
42
  this.activeDateHasChanged &&
37
43
  this.hasTooltip) {
38
- this.activeUid = this.date.uid;
39
- this.showTooltip();
44
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_activeUid, this.date.uid, "f");
45
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_instances, "m", _SkyDayPickerCellComponent_showTooltip).call(this);
40
46
  }
41
47
  if (this.hasTooltip) {
42
- this.datepickerService.keyDatePopoverStream
43
- .pipe(takeUntil(this.ngUnsubscribe))
48
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_datepickerService, "f").keyDatePopoverStream
49
+ .pipe(takeUntil(__classPrivateFieldGet(this, _SkyDayPickerCellComponent_ngUnsubscribe, "f")))
44
50
  .subscribe((date) => {
45
51
  if (date) {
46
- this.activeUid = date.uid;
52
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_activeUid, date.uid, "f");
47
53
  }
48
54
  else {
49
- this.activeUid = '';
55
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_activeUid, '', "f");
50
56
  }
51
57
  // If this day has an open popover and they have moved off of the day close the popover.
52
- if (this.date.uid !== this.activeUid) {
53
- this.hideTooltip();
58
+ if (this.date?.uid !== __classPrivateFieldGet(this, _SkyDayPickerCellComponent_activeUid, "f")) {
59
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_instances, "m", _SkyDayPickerCellComponent_hideTooltip).call(this);
54
60
  }
55
61
  });
56
62
  }
57
63
  }
58
64
  ngOnDestroy() {
59
- this.ngUnsubscribe.next();
60
- this.ngUnsubscribe.complete();
65
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_ngUnsubscribe, "f").next();
66
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_ngUnsubscribe, "f").complete();
61
67
  }
62
68
  onDayMouseenter() {
63
- this.cancelPopover = false;
69
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_cancelPopover, false, "f");
64
70
  if (this.hasTooltip) {
65
- this.showTooltip();
66
- this.datepickerService.keyDatePopoverStream.next(this.date);
71
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_instances, "m", _SkyDayPickerCellComponent_showTooltip).call(this);
72
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_datepickerService, "f").keyDatePopoverStream.next(this.date);
67
73
  }
68
74
  }
69
75
  onDayMouseleave() {
70
- this.cancelPopover = true;
76
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_cancelPopover, true, "f");
71
77
  if (this.hasTooltip) {
72
- this.hideTooltip();
78
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_instances, "m", _SkyDayPickerCellComponent_hideTooltip).call(this);
73
79
  }
74
- this.datepickerService.keyDatePopoverStream.next(undefined);
80
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_datepickerService, "f").keyDatePopoverStream.next(undefined);
75
81
  }
76
82
  onPopoverClosed() {
77
- this.popoverOpen = false;
83
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_popoverOpen, false, "f");
78
84
  }
79
85
  onPopoverOpened() {
80
- this.popoverOpen = true;
86
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_popoverOpen, true, "f");
81
87
  /* istanbul ignore else */
82
- if (this.cancelPopover) {
88
+ if (__classPrivateFieldGet(this, _SkyDayPickerCellComponent_cancelPopover, "f")) {
83
89
  // If the popover gets opened just as a mouseout event happens, close it.
84
- this.hideTooltip();
85
- this.cancelPopover = false;
90
+ __classPrivateFieldGet(this, _SkyDayPickerCellComponent_instances, "m", _SkyDayPickerCellComponent_hideTooltip).call(this);
91
+ __classPrivateFieldSet(this, _SkyDayPickerCellComponent_cancelPopover, false, "f");
86
92
  }
87
93
  }
88
94
  getKeyDateLabel() {
89
- if (this.hasTooltip) {
90
- return this.date.keyDateText.join(', ');
91
- }
92
- else {
93
- return '';
94
- }
95
+ return this.hasTooltip && this.date?.keyDateText
96
+ ? this.date.keyDateText.join(', ')
97
+ : '';
95
98
  }
96
- hideTooltip() {
97
- /* istanbul ignore else */
98
- if (this.popoverOpen) {
99
- this.popoverController.next({ type: SkyPopoverMessageType.Close });
100
- }
99
+ }
100
+ _SkyDayPickerCellComponent_activeUid = new WeakMap(), _SkyDayPickerCellComponent_cancelPopover = new WeakMap(), _SkyDayPickerCellComponent_popoverOpen = new WeakMap(), _SkyDayPickerCellComponent_ngUnsubscribe = new WeakMap(), _SkyDayPickerCellComponent_datepicker = new WeakMap(), _SkyDayPickerCellComponent_datepickerService = new WeakMap(), _SkyDayPickerCellComponent_instances = new WeakSet(), _SkyDayPickerCellComponent_hideTooltip = function _SkyDayPickerCellComponent_hideTooltip() {
101
+ /* istanbul ignore else */
102
+ if (__classPrivateFieldGet(this, _SkyDayPickerCellComponent_popoverOpen, "f")) {
103
+ this.popoverController.next({ type: SkyPopoverMessageType.Close });
101
104
  }
102
- showTooltip() {
103
- /* istanbul ignore else */
104
- if (this.hasTooltip && !this.popoverOpen) {
105
- /**
106
- * Delay 1/2 second before opening the popover as long as mouse hasn't moved off the date.
107
- */
108
- setTimeout(() => {
109
- if (!this.cancelPopover && this.activeUid === this.date.uid) {
110
- this.popoverController.next({ type: SkyPopoverMessageType.Open });
111
- }
112
- }, 500);
113
- }
105
+ }, _SkyDayPickerCellComponent_showTooltip = function _SkyDayPickerCellComponent_showTooltip() {
106
+ /* istanbul ignore else */
107
+ if (this.hasTooltip && !__classPrivateFieldGet(this, _SkyDayPickerCellComponent_popoverOpen, "f")) {
108
+ /**
109
+ * Delay 1/2 second before opening the popover as long as mouse hasn't moved off the date.
110
+ */
111
+ setTimeout(() => {
112
+ if (!__classPrivateFieldGet(this, _SkyDayPickerCellComponent_cancelPopover, "f") && __classPrivateFieldGet(this, _SkyDayPickerCellComponent_activeUid, "f") === this.date?.uid) {
113
+ this.popoverController.next({ type: SkyPopoverMessageType.Open });
114
+ }
115
+ }, 500);
114
116
  }
115
- }
117
+ };
116
118
  SkyDayPickerCellComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDayPickerCellComponent, deps: [{ token: i1.SkyDatepickerCalendarInnerComponent }, { token: i2.SkyDatepickerService }], target: i0.ɵɵFactoryTarget.Component });
117
- SkyDayPickerCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: { activeDateHasChanged: "activeDateHasChanged", date: "date" }, ngImport: i0, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ6, selector: "sky-popover", inputs: ["alignment", "dismissOnBlur", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i4.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i5.SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: ["date"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
119
+ SkyDayPickerCellComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.0", type: SkyDayPickerCellComponent, selector: "sky-daypicker-cell", inputs: { activeDateHasChanged: "activeDateHasChanged", date: "date" }, ngImport: i0, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date?.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4.λ6, selector: "sky-popover", inputs: ["alignment", "dismissOnBlur", "placement", "popoverTitle", "popoverType"], outputs: ["popoverClosed", "popoverOpened"] }, { kind: "directive", type: i4.λ7, selector: "[skyPopover]", inputs: ["skyPopover", "skyPopoverAlignment", "skyPopoverMessageStream", "skyPopoverPlacement", "skyPopoverTrigger"] }, { kind: "component", type: i5.SkyDayPickerButtonComponent, selector: "sky-daypicker-button", inputs: ["date"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
118
120
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.0", ngImport: i0, type: SkyDayPickerCellComponent, decorators: [{
119
121
  type: Component,
120
- args: [{ selector: 'sky-daypicker-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n" }]
122
+ args: [{ selector: 'sky-daypicker-cell', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n *ngIf=\"hasTooltip\"\n class=\"sky-daypicker-cell\"\n [attr.aria-label]=\"getKeyDateLabel()\"\n [skyPopover]=\"dayInfoPopover\"\n skyPopoverPlacement=\"left\"\n [skyPopoverMessageStream]=\"popoverController\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n <sky-popover\n (popoverClosed)=\"onPopoverClosed()\"\n (popoverOpened)=\"onPopoverOpened()\"\n #dayInfoPopover\n >\n <div *ngFor=\"let text of date?.keyDateText\">\n {{ text }}\n </div>\n </sky-popover>\n</div>\n<div\n *ngIf=\"!hasTooltip\"\n class=\"sky-daypicker-cell\"\n (mouseenter)=\"onDayMouseenter()\"\n (mouseleave)=\"onDayMouseleave()\"\n>\n <ng-container *ngTemplateOutlet=\"daypickerButtonTemplateRef\"></ng-container>\n</div>\n\n<ng-template #daypickerButtonTemplateRef>\n <sky-daypicker-button [date]=\"date\"> </sky-daypicker-button>\n</ng-template>\n" }]
121
123
  }], ctorParameters: function () { return [{ type: i1.SkyDatepickerCalendarInnerComponent }, { type: i2.SkyDatepickerService }]; }, propDecorators: { activeDateHasChanged: [{
122
124
  type: Input
123
125
  }], date: [{
124
126
  type: Input
125
127
  }] } });
126
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlja2VyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlcGlja2VyL2RheXBpY2tlci1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZXBpY2tlci9kYXlwaWNrZXItY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxLQUFLLEdBR04sTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFxQixxQkFBcUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRTNFLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRTVGLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDOzs7Ozs7O0FBRTVEOztHQUVHO0FBTUgsTUFBTSxPQUFPLHlCQUF5QjtJQXlCcEMsWUFDVSxVQUErQyxFQUMvQyxpQkFBdUM7UUFEdkMsZUFBVSxHQUFWLFVBQVUsQ0FBcUM7UUFDL0Msc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFzQjtRQWQxQyxlQUFVLEdBQUcsS0FBSyxDQUFDO1FBRW5CLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFxQixDQUFDO1FBRXBELGNBQVMsR0FBRyxFQUFFLENBQUM7UUFFZixrQkFBYSxHQUFHLEtBQUssQ0FBQztRQUV0QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQixrQkFBYSxHQUFHLElBQUksT0FBTyxF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O1FBQzFCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNwQixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLHFCQUFxQixDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRU8sV0FBVztRQUNqQiwwQkFBMEI7UUFDMUIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUN4Qzs7ZUFFRztZQUNILFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDM0QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxxQkFBcUIsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO2lCQUNuRTtZQUNILENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNUO0lBQ0gsQ0FBQzs7c0hBL0hVLHlCQUF5QjswR0FBekIseUJBQXlCLGtJQ3hCdEMsbzlCQWlDQTsyRkRUYSx5QkFBeUI7a0JBTHJDLFNBQVM7K0JBQ0Usb0JBQW9CLG1CQUViLHVCQUF1QixDQUFDLE1BQU07NkpBT3hDLG9CQUFvQjtzQkFEMUIsS0FBSztnQkFPQyxJQUFJO3NCQURWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU2t5UG9wb3Zlck1lc3NhZ2UsIFNreVBvcG92ZXJNZXNzYWdlVHlwZSB9IGZyb20gJ0Bza3l1eC9wb3BvdmVycyc7XG5cbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckNhbGVuZGFySW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2RhdGVwaWNrZXItY2FsZW5kYXItaW5uZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNreURhdGVwaWNrZXJEYXRlIH0gZnJvbSAnLi9kYXRlcGlja2VyLWRhdGUnO1xuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2RhdGVwaWNrZXIuc2VydmljZSc7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NreS1kYXlwaWNrZXItY2VsbCcsXG4gIHRlbXBsYXRlVXJsOiAnZGF5cGlja2VyLWNlbGwuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2t5RGF5UGlja2VyQ2VsbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyBpZiB0aGUgYWN0aXZlIGRhdGUgaGFzIGJlZW4gY2hhbmdlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBhY3RpdmVEYXRlSGFzQ2hhbmdlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkYXRlIHRoaXMgcGlja2VyIGNlbGwgd2lsbCByZXByZXNlbnQgb24gdGhlIGNhbGVuZGFyLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGRhdGU6IFNreURhdGVwaWNrZXJEYXRlO1xuXG4gIHB1YmxpYyBoYXNUb29sdGlwID0gZmFsc2U7XG5cbiAgcHVibGljIHBvcG92ZXJDb250cm9sbGVyID0gbmV3IFN1YmplY3Q8U2t5UG9wb3Zlck1lc3NhZ2U+KCk7XG5cbiAgcHJpdmF0ZSBhY3RpdmVVaWQgPSAnJztcblxuICBwcml2YXRlIGNhbmNlbFBvcG92ZXIgPSBmYWxzZTtcblxuICBwcml2YXRlIHBvcG92ZXJPcGVuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBkYXRlcGlja2VyOiBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudCxcbiAgICBwcml2YXRlIGRhdGVwaWNrZXJTZXJ2aWNlOiBTa3lEYXRlcGlja2VyU2VydmljZVxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuaGFzVG9vbHRpcCA9XG4gICAgICB0aGlzLmRhdGUua2V5RGF0ZSAmJlxuICAgICAgdGhpcy5kYXRlLmtleURhdGVUZXh0ICYmXG4gICAgICB0aGlzLmRhdGUua2V5RGF0ZVRleHQubGVuZ3RoID4gMCAmJlxuICAgICAgdGhpcy5kYXRlLmtleURhdGVUZXh0WzBdLmxlbmd0aCA+IDA7XG5cbiAgICAvLyBzaG93IHRoZSB0b29sdGlwIGlmIHRoaXMgaXMgdGhlIGFjdGl2ZSBkYXRlIGFuZCBpcyBub3QgdGhlXG4gICAgLy8gaW5pdGlhbCBhY3RpdmUgZGF0ZSAoYWN0aXZlRGF0ZUhhc0NoYW5nZWQpXG4gICAgaWYgKFxuICAgICAgdGhpcy5kYXRlcGlja2VyLmlzQWN0aXZlKHRoaXMuZGF0ZSkgJiZcbiAgICAgIHRoaXMuYWN0aXZlRGF0ZUhhc0NoYW5nZWQgJiZcbiAgICAgIHRoaXMuaGFzVG9vbHRpcFxuICAgICkge1xuICAgICAgdGhpcy5hY3RpdmVVaWQgPSB0aGlzLmRhdGUudWlkO1xuICAgICAgdGhpcy5zaG93VG9vbHRpcCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc1Rvb2x0aXApIHtcbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uua2V5RGF0ZVBvcG92ZXJTdHJlYW1cbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGRhdGUpID0+IHtcbiAgICAgICAgICBpZiAoZGF0ZSkge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVVaWQgPSBkYXRlLnVpZDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVVaWQgPSAnJztcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gSWYgdGhpcyBkYXkgaGFzIGFuIG9wZW4gcG9wb3ZlciBhbmQgdGhleSBoYXZlIG1vdmVkIG9mZiBvZiB0aGUgZGF5IGNsb3NlIHRoZSBwb3BvdmVyLlxuICAgICAgICAgIGlmICh0aGlzLmRhdGUudWlkICE9PSB0aGlzLmFjdGl2ZVVpZCkge1xuICAgICAgICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMubmdVbnN1YnNjcmliZS5uZXh0KCk7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25EYXlNb3VzZWVudGVyKCk6IHZvaWQge1xuICAgIHRoaXMuY2FuY2VsUG9wb3ZlciA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmhhc1Rvb2x0aXApIHtcbiAgICAgIHRoaXMuc2hvd1Rvb2x0aXAoKTtcbiAgICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uua2V5RGF0ZVBvcG92ZXJTdHJlYW0ubmV4dCh0aGlzLmRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRheU1vdXNlbGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy5jYW5jZWxQb3BvdmVyID0gdHJ1ZTtcbiAgICBpZiAodGhpcy5oYXNUb29sdGlwKSB7XG4gICAgICB0aGlzLmhpZGVUb29sdGlwKCk7XG4gICAgfVxuICAgIHRoaXMuZGF0ZXBpY2tlclNlcnZpY2Uua2V5RGF0ZVBvcG92ZXJTdHJlYW0ubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIG9uUG9wb3ZlckNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLnBvcG92ZXJPcGVuID0gZmFsc2U7XG4gIH1cblxuICBwdWJsaWMgb25Qb3BvdmVyT3BlbmVkKCk6IHZvaWQge1xuICAgIHRoaXMucG9wb3Zlck9wZW4gPSB0cnVlO1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuY2FuY2VsUG9wb3Zlcikge1xuICAgICAgLy8gSWYgdGhlIHBvcG92ZXIgZ2V0cyBvcGVuZWQganVzdCBhcyBhIG1vdXNlb3V0IGV2ZW50IGhhcHBlbnMsIGNsb3NlIGl0LlxuICAgICAgdGhpcy5oaWRlVG9vbHRpcCgpO1xuICAgICAgdGhpcy5jYW5jZWxQb3BvdmVyID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGdldEtleURhdGVMYWJlbCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLmhhc1Rvb2x0aXApIHtcbiAgICAgIHJldHVybiB0aGlzLmRhdGUua2V5RGF0ZVRleHQuam9pbignLCAnKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICcnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgaGlkZVRvb2x0aXAoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5wb3BvdmVyT3Blbikge1xuICAgICAgdGhpcy5wb3BvdmVyQ29udHJvbGxlci5uZXh0KHsgdHlwZTogU2t5UG9wb3Zlck1lc3NhZ2VUeXBlLkNsb3NlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc2hvd1Rvb2x0aXAoKTogdm9pZCB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy5oYXNUb29sdGlwICYmICF0aGlzLnBvcG92ZXJPcGVuKSB7XG4gICAgICAvKipcbiAgICAgICAqIERlbGF5IDEvMiBzZWNvbmQgYmVmb3JlIG9wZW5pbmcgdGhlIHBvcG92ZXIgYXMgbG9uZyBhcyBtb3VzZSBoYXNuJ3QgbW92ZWQgb2ZmIHRoZSBkYXRlLlxuICAgICAgICovXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKCF0aGlzLmNhbmNlbFBvcG92ZXIgJiYgdGhpcy5hY3RpdmVVaWQgPT09IHRoaXMuZGF0ZS51aWQpIHtcbiAgICAgICAgICB0aGlzLnBvcG92ZXJDb250cm9sbGVyLm5leHQoeyB0eXBlOiBTa3lQb3BvdmVyTWVzc2FnZVR5cGUuT3BlbiB9KTtcbiAgICAgICAgfVxuICAgICAgfSwgNTAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJoYXNUb29sdGlwXCJcbiAgY2xhc3M9XCJza3ktZGF5cGlja2VyLWNlbGxcIlxuICBbYXR0ci5hcmlhLWxhYmVsXT1cImdldEtleURhdGVMYWJlbCgpXCJcbiAgW3NreVBvcG92ZXJdPVwiZGF5SW5mb1BvcG92ZXJcIlxuICBza3lQb3BvdmVyUGxhY2VtZW50PVwibGVmdFwiXG4gIFtza3lQb3BvdmVyTWVzc2FnZVN0cmVhbV09XCJwb3BvdmVyQ29udHJvbGxlclwiXG4gIChtb3VzZWVudGVyKT1cIm9uRGF5TW91c2VlbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25EYXlNb3VzZWxlYXZlKClcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF5cGlja2VyQnV0dG9uVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbiAgPHNreS1wb3BvdmVyXG4gICAgKHBvcG92ZXJDbG9zZWQpPVwib25Qb3BvdmVyQ2xvc2VkKClcIlxuICAgIChwb3BvdmVyT3BlbmVkKT1cIm9uUG9wb3Zlck9wZW5lZCgpXCJcbiAgICAjZGF5SW5mb1BvcG92ZXJcbiAgPlxuICAgIDxkaXYgKm5nRm9yPVwibGV0IHRleHQgb2YgZGF0ZS5rZXlEYXRlVGV4dFwiPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L3NreS1wb3BvdmVyPlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwiIWhhc1Rvb2x0aXBcIlxuICBjbGFzcz1cInNreS1kYXlwaWNrZXItY2VsbFwiXG4gIChtb3VzZWVudGVyKT1cIm9uRGF5TW91c2VlbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25EYXlNb3VzZWxlYXZlKClcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF5cGlja2VyQnV0dG9uVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RheXBpY2tlckJ1dHRvblRlbXBsYXRlUmVmPlxuICA8c2t5LWRheXBpY2tlci1idXR0b24gW2RhdGVdPVwiZGF0ZVwiPiA8L3NreS1kYXlwaWNrZXItYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF5cGlja2VyLWNlbGwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2RhdGV0aW1lL3NyYy9saWIvbW9kdWxlcy9kYXRlcGlja2VyL2RheXBpY2tlci1jZWxsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9kYXRldGltZS9zcmMvbGliL21vZHVsZXMvZGF0ZXBpY2tlci9kYXlwaWNrZXItY2VsbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssR0FHTixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXFCLHFCQUFxQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFM0UsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFM0MsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFFNUYsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7QUFFNUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8seUJBQXlCO0lBNEJwQyxZQUNFLFVBQStDLEVBQy9DLGlCQUF1Qzs7UUFqQmxDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFbkIsc0JBQWlCLEdBQUcsSUFBSSxPQUFPLEVBQXFCLENBQUM7UUFFNUQsK0NBQWEsRUFBRSxFQUFDO1FBRWhCLG1EQUFpQixLQUFLLEVBQUM7UUFFdkIsaURBQWUsS0FBSyxFQUFDO1FBRXJCLG1EQUFpQixJQUFJLE9BQU8sRUFBUSxFQUFDO1FBRXJDLHdEQUFpRDtRQUNqRCwrREFBeUM7UUFNdkMsdUJBQUEsSUFBSSx5Q0FBZSxVQUFVLE1BQUEsQ0FB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XG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIE9uSW5pdCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lQb3BvdmVyTWVzc2FnZSwgU2t5UG9wb3Zlck1lc3NhZ2VUeXBlIH0gZnJvbSAnQHNreXV4L3BvcG92ZXJzJztcblxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0ZXBpY2tlci1jYWxlbmRhci1pbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2t5RGF0ZXBpY2tlckRhdGUgfSBmcm9tICcuL2RhdGVwaWNrZXItZGF0ZSc7XG5pbXBvcnQgeyBTa3lEYXRlcGlja2VyU2VydmljZSB9IGZyb20gJy4vZGF0ZXBpY2tlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2t5LWRheXBpY2tlci1jZWxsJyxcbiAgdGVtcGxhdGVVcmw6ICdkYXlwaWNrZXItY2VsbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lEYXlQaWNrZXJDZWxsQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogU3BlY2lmaWVzIGlmIHRoZSBhY3RpdmUgZGF0ZSBoYXMgYmVlbiBjaGFuZ2VkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFjdGl2ZURhdGVIYXNDaGFuZ2VkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgdGhlIGRhdGUgdGhpcyBwaWNrZXIgY2VsbCB3aWxsIHJlcHJlc2VudCBvbiB0aGUgY2FsZW5kYXIuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0ZTogU2t5RGF0ZXBpY2tlckRhdGUgfCB1bmRlZmluZWQ7XG5cbiAgcHVibGljIGhhc1Rvb2x0aXAgPSBmYWxzZTtcblxuICBwdWJsaWMgcG9wb3ZlckNvbnRyb2xsZXIgPSBuZXcgU3ViamVjdDxTa3lQb3BvdmVyTWVzc2FnZT4oKTtcblxuICAjYWN0aXZlVWlkID0gJyc7XG5cbiAgI2NhbmNlbFBvcG92ZXIgPSBmYWxzZTtcblxuICAjcG9wb3Zlck9wZW4gPSBmYWxzZTtcblxuICAjbmdVbnN1YnNjcmliZSA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgI2RhdGVwaWNrZXI6IFNreURhdGVwaWNrZXJDYWxlbmRhcklubmVyQ29tcG9uZW50O1xuICAjZGF0ZXBpY2tlclNlcnZpY2U6IFNreURhdGVwaWNrZXJTZXJ2aWNlO1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICBkYXRlcGlja2VyOiBTa3lEYXRlcGlja2VyQ2FsZW5kYXJJbm5lckNvbXBvbmVudCxcbiAgICBkYXRlcGlja2VyU2VydmljZTogU2t5RGF0ZXBpY2tlclNlcnZpY2VcbiAgKSB7XG4gICAgdGhpcy4jZGF0ZXBpY2tlciA9IGRhdGVwaWNrZXI7XG4gICAgdGhpcy4jZGF0ZXBpY2tlclNlcnZpY2UgPSBkYXRlcGlja2VyU2VydmljZTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmhhc1Rvb2x0aXAgPSAhIShcbiAgICAgIHRoaXMuZGF0ZSAmJlxuICAgICAgdGhpcy5kYXRlLmtleURhdGUgJiZcbiAgICAgIHRoaXMuZGF0ZS5rZXlEYXRlVGV4dCAmJlxuICAgICAgdGhpcy5kYXRlLmtleURhdGVUZXh0Lmxlbmd0aCA+IDAgJiZcbiAgICAgIHRoaXMuZGF0ZS5rZXlEYXRlVGV4dFswXS5sZW5ndGggPiAwXG4gICAgKTtcblxuICAgIC8vIHNob3cgdGhlIHRvb2x0aXAgaWYgdGhpcyBpcyB0aGUgYWN0aXZlIGRhdGUgYW5kIGlzIG5vdCB0aGVcbiAgICAvLyBpbml0aWFsIGFjdGl2ZSBkYXRlIChhY3RpdmVEYXRlSGFzQ2hhbmdlZClcbiAgICBpZiAoXG4gICAgICAhIXRoaXMuZGF0ZSAmJlxuICAgICAgdGhpcy4jZGF0ZXBpY2tlci5pc0FjdGl2ZSh0aGlzLmRhdGUpICYmXG4gICAgICB0aGlzLmFjdGl2ZURhdGVIYXNDaGFuZ2VkICYmXG4gICAgICB0aGlzLmhhc1Rvb2x0aXBcbiAgICApIHtcbiAgICAgIHRoaXMuI2FjdGl2ZVVpZCA9IHRoaXMuZGF0ZS51aWQ7XG4gICAgICB0aGlzLiNzaG93VG9vbHRpcCgpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmhhc1Rvb2x0aXApIHtcbiAgICAgIHRoaXMuI2RhdGVwaWNrZXJTZXJ2aWNlLmtleURhdGVQb3BvdmVyU3RyZWFtXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLiNuZ1Vuc3Vic2NyaWJlKSlcbiAgICAgICAgLnN1YnNjcmliZSgoZGF0ZSkgPT4ge1xuICAgICAgICAgIGlmIChkYXRlKSB7XG4gICAgICAgICAgICB0aGlzLiNhY3RpdmVVaWQgPSBkYXRlLnVpZDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy4jYWN0aXZlVWlkID0gJyc7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIElmIHRoaXMgZGF5IGhhcyBhbiBvcGVuIHBvcG92ZXIgYW5kIHRoZXkgaGF2ZSBtb3ZlZCBvZmYgb2YgdGhlIGRheSBjbG9zZSB0aGUgcG9wb3Zlci5cbiAgICAgICAgICBpZiAodGhpcy5kYXRlPy51aWQgIT09IHRoaXMuI2FjdGl2ZVVpZCkge1xuICAgICAgICAgICAgdGhpcy4jaGlkZVRvb2x0aXAoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLiNuZ1Vuc3Vic2NyaWJlLmNvbXBsZXRlKCk7XG4gIH1cblxuICBwdWJsaWMgb25EYXlNb3VzZWVudGVyKCk6IHZvaWQge1xuICAgIHRoaXMuI2NhbmNlbFBvcG92ZXIgPSBmYWxzZTtcbiAgICBpZiAodGhpcy5oYXNUb29sdGlwKSB7XG4gICAgICB0aGlzLiNzaG93VG9vbHRpcCgpO1xuICAgICAgdGhpcy4jZGF0ZXBpY2tlclNlcnZpY2Uua2V5RGF0ZVBvcG92ZXJTdHJlYW0ubmV4dCh0aGlzLmRhdGUpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvbkRheU1vdXNlbGVhdmUoKTogdm9pZCB7XG4gICAgdGhpcy4jY2FuY2VsUG9wb3ZlciA9IHRydWU7XG4gICAgaWYgKHRoaXMuaGFzVG9vbHRpcCkge1xuICAgICAgdGhpcy4jaGlkZVRvb2x0aXAoKTtcbiAgICB9XG4gICAgdGhpcy4jZGF0ZXBpY2tlclNlcnZpY2Uua2V5RGF0ZVBvcG92ZXJTdHJlYW0ubmV4dCh1bmRlZmluZWQpO1xuICB9XG5cbiAgcHVibGljIG9uUG9wb3ZlckNsb3NlZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNwb3BvdmVyT3BlbiA9IGZhbHNlO1xuICB9XG5cbiAgcHVibGljIG9uUG9wb3Zlck9wZW5lZCgpOiB2b2lkIHtcbiAgICB0aGlzLiNwb3BvdmVyT3BlbiA9IHRydWU7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICBpZiAodGhpcy4jY2FuY2VsUG9wb3Zlcikge1xuICAgICAgLy8gSWYgdGhlIHBvcG92ZXIgZ2V0cyBvcGVuZWQganVzdCBhcyBhIG1vdXNlb3V0IGV2ZW50IGhhcHBlbnMsIGNsb3NlIGl0LlxuICAgICAgdGhpcy4jaGlkZVRvb2x0aXAoKTtcbiAgICAgIHRoaXMuI2NhbmNlbFBvcG92ZXIgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgZ2V0S2V5RGF0ZUxhYmVsKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaGFzVG9vbHRpcCAmJiB0aGlzLmRhdGU/LmtleURhdGVUZXh0XG4gICAgICA/IHRoaXMuZGF0ZS5rZXlEYXRlVGV4dC5qb2luKCcsICcpXG4gICAgICA6ICcnO1xuICB9XG5cbiAgI2hpZGVUb29sdGlwKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuI3BvcG92ZXJPcGVuKSB7XG4gICAgICB0aGlzLnBvcG92ZXJDb250cm9sbGVyLm5leHQoeyB0eXBlOiBTa3lQb3BvdmVyTWVzc2FnZVR5cGUuQ2xvc2UgfSk7XG4gICAgfVxuICB9XG5cbiAgI3Nob3dUb29sdGlwKCk6IHZvaWQge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlICovXG4gICAgaWYgKHRoaXMuaGFzVG9vbHRpcCAmJiAhdGhpcy4jcG9wb3Zlck9wZW4pIHtcbiAgICAgIC8qKlxuICAgICAgICogRGVsYXkgMS8yIHNlY29uZCBiZWZvcmUgb3BlbmluZyB0aGUgcG9wb3ZlciBhcyBsb25nIGFzIG1vdXNlIGhhc24ndCBtb3ZlZCBvZmYgdGhlIGRhdGUuXG4gICAgICAgKi9cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICBpZiAoIXRoaXMuI2NhbmNlbFBvcG92ZXIgJiYgdGhpcy4jYWN0aXZlVWlkID09PSB0aGlzLmRhdGU/LnVpZCkge1xuICAgICAgICAgIHRoaXMucG9wb3ZlckNvbnRyb2xsZXIubmV4dCh7IHR5cGU6IFNreVBvcG92ZXJNZXNzYWdlVHlwZS5PcGVuIH0pO1xuICAgICAgICB9XG4gICAgICB9LCA1MDApO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdlxuICAqbmdJZj1cImhhc1Rvb2x0aXBcIlxuICBjbGFzcz1cInNreS1kYXlwaWNrZXItY2VsbFwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiZ2V0S2V5RGF0ZUxhYmVsKClcIlxuICBbc2t5UG9wb3Zlcl09XCJkYXlJbmZvUG9wb3ZlclwiXG4gIHNreVBvcG92ZXJQbGFjZW1lbnQ9XCJsZWZ0XCJcbiAgW3NreVBvcG92ZXJNZXNzYWdlU3RyZWFtXT1cInBvcG92ZXJDb250cm9sbGVyXCJcbiAgKG1vdXNlZW50ZXIpPVwib25EYXlNb3VzZWVudGVyKClcIlxuICAobW91c2VsZWF2ZSk9XCJvbkRheU1vdXNlbGVhdmUoKVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkYXlwaWNrZXJCdXR0b25UZW1wbGF0ZVJlZlwiPjwvbmctY29udGFpbmVyPlxuICA8c2t5LXBvcG92ZXJcbiAgICAocG9wb3ZlckNsb3NlZCk9XCJvblBvcG92ZXJDbG9zZWQoKVwiXG4gICAgKHBvcG92ZXJPcGVuZWQpPVwib25Qb3BvdmVyT3BlbmVkKClcIlxuICAgICNkYXlJbmZvUG9wb3ZlclxuICA+XG4gICAgPGRpdiAqbmdGb3I9XCJsZXQgdGV4dCBvZiBkYXRlPy5rZXlEYXRlVGV4dFwiPlxuICAgICAge3sgdGV4dCB9fVxuICAgIDwvZGl2PlxuICA8L3NreS1wb3BvdmVyPlxuPC9kaXY+XG48ZGl2XG4gICpuZ0lmPVwiIWhhc1Rvb2x0aXBcIlxuICBjbGFzcz1cInNreS1kYXlwaWNrZXItY2VsbFwiXG4gIChtb3VzZWVudGVyKT1cIm9uRGF5TW91c2VlbnRlcigpXCJcbiAgKG1vdXNlbGVhdmUpPVwib25EYXlNb3VzZWxlYXZlKClcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGF5cGlja2VyQnV0dG9uVGVtcGxhdGVSZWZcIj48L25nLWNvbnRhaW5lcj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RheXBpY2tlckJ1dHRvblRlbXBsYXRlUmVmPlxuICA8c2t5LWRheXBpY2tlci1idXR0b24gW2RhdGVdPVwiZGF0ZVwiPiA8L3NreS1kYXlwaWNrZXItYnV0dG9uPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==