@colijnit/corecomponents_v12 255.1.6 → 255.1.8

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.
@@ -1,7 +1,9 @@
1
- import { Component, Input, HostBinding, ViewEncapsulation, ChangeDetectorRef } from '@angular/core';
1
+ import { Component, Input, HostBinding, ViewEncapsulation, ChangeDetectorRef, } from '@angular/core';
2
+ import { DatePipe } from '@angular/common';
2
3
  export class HourSchedulingComponent {
3
- constructor(cdRef) {
4
+ constructor(cdRef, _datepipe) {
4
5
  this.cdRef = cdRef;
6
+ this._datepipe = _datepipe;
5
7
  this.showClass = true;
6
8
  this.customTemplateUsed = false;
7
9
  this.hours = [];
@@ -9,21 +11,27 @@ export class HourSchedulingComponent {
9
11
  this.draggedObject = null;
10
12
  }
11
13
  ngOnInit() {
14
+ if (!this.childProp) {
15
+ this.startTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.startTimeProp]).toISOString(), 'H:mm'));
16
+ this.endTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.endTimeProp]).toISOString(), 'H:mm'));
17
+ }
18
+ else {
19
+ this.startTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.childProp][this.startTimeProp]).toISOString(), 'H:mm'));
20
+ this.endTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.childProp][this.endTimeProp]).toISOString(), 'H:mm'));
21
+ }
12
22
  this.generateTimeBlocks();
13
23
  }
14
24
  generateTimeBlocks() {
15
- const startTime = this.schedule[this.startTimeProp];
16
- const endTime = this.schedule[this.endTimeProp];
17
25
  const objectsList = this.schedule[this.objectsProp];
18
- for (let hour = startTime; hour <= endTime; hour++) {
26
+ for (let hour = this.startTime; hour <= this.endTime; hour++) {
19
27
  this.hours.push(this.formatHour(hour));
20
- this.scheduledObjects[this.formatHour(hour)] = this.getObjectsForHour(hour, objectsList);
28
+ this.scheduledObjects[this.formatHour(hour)] = this._getObjectsForHour(hour, objectsList);
21
29
  }
22
30
  }
23
- getObjectsForHour(hour, objectsList) {
31
+ _getObjectsForHour(hour, objectsList) {
24
32
  const objectsForHour = [];
25
- objectsList.forEach(obj => {
26
- if (obj.start === hour) {
33
+ objectsList.forEach((obj) => {
34
+ if (this.convertToHourNotation(obj[this.startTimeProp]) === hour) {
27
35
  objectsForHour.push(Object.assign({}, obj));
28
36
  }
29
37
  });
@@ -37,28 +45,52 @@ export class HourSchedulingComponent {
37
45
  const currentHourSpan = currentTarget.parentElement.parentElement.querySelector('.hour-label span');
38
46
  const currentHour = currentHourSpan.textContent;
39
47
  this.draggedObject = obj;
40
- event.dataTransfer.setData('text', JSON.stringify({ obj, currentHour }));
48
+ event.dataTransfer.setData('text', JSON.stringify({ obj: this.draggedObject, currentHour }));
49
+ }
50
+ onCustomDragStart(event, obj) {
51
+ this.onDragStart(event, obj);
41
52
  }
42
53
  onDragOver(event) {
43
54
  event.preventDefault();
44
55
  }
45
56
  onDrop(event, hour) {
46
57
  event.preventDefault();
58
+ event.stopPropagation();
47
59
  const data = JSON.parse(event.dataTransfer.getData('text'));
60
+ if (!data || !data.obj) {
61
+ return;
62
+ }
48
63
  const newStartHour = parseInt(hour.split(':')[0], 10);
49
64
  const newEndHour = newStartHour + 1;
50
- data.obj.start = newStartHour;
51
- data.obj.end = newEndHour;
52
- const currentHourBlock = data.currentHour;
53
- this.scheduledObjects[currentHourBlock] = this.scheduledObjects[currentHourBlock].filter(o => o !== this.draggedObject);
65
+ const originalStartHour = this.convertToHourNotation(data.obj[this.startTimeProp]);
66
+ // Get the unique identifier value from the object using the `idProp`
67
+ const objId = data.obj[this.idProp];
68
+ // Ensure we create a new object to avoid mutation issues
69
+ const updatedObject = Object.assign(Object.assign({}, data.obj), { start: newStartHour, end: newEndHour });
70
+ const updatedObject2 = Object.assign(Object.assign({}, data.obj), { [this.startTimeProp]: this.createDate(newStartHour), [this.endTimeProp]: this.createDate(newEndHour) });
71
+ // Remove the object from its old hour block using its unique id
72
+ const originalHourBlock = this.formatHour(originalStartHour);
73
+ this.scheduledObjects[originalHourBlock] = this.scheduledObjects[originalHourBlock].filter(o => o[this.idProp] !== objId);
74
+ // Add the object to the new hour block
54
75
  const newHourBlock = this.formatHour(newStartHour);
55
76
  if (!this.scheduledObjects[newHourBlock]) {
56
77
  this.scheduledObjects[newHourBlock] = [];
57
78
  }
58
- this.scheduledObjects[newHourBlock].push(data.obj);
79
+ this.scheduledObjects[newHourBlock].push(updatedObject2);
80
+ // Clear the dragged object
59
81
  this.draggedObject = null;
82
+ // Trigger change detection to update the view
60
83
  this.cdRef.detectChanges();
61
84
  }
85
+ convertToHourNotation(date) {
86
+ return parseInt(this._datepipe.transform(new Date(date).toISOString(), 'H:mm'));
87
+ }
88
+ createDate(hours) {
89
+ let date = new Date();
90
+ date.setHours(hours);
91
+ date.setMinutes(0, 0, 0);
92
+ return date;
93
+ }
62
94
  }
63
95
  HourSchedulingComponent.decorators = [
64
96
  { type: Component, args: [{
@@ -66,23 +98,35 @@ HourSchedulingComponent.decorators = [
66
98
  template: `
67
99
  <div class="time-block" *ngFor="let hour of hours">
68
100
  <div class="hour-label"><span [textContent]="hour"></span></div>
69
- <div class="object-display"
70
- (dragover)="onDragOver($event)"
71
- (drop)="onDrop($event, hour)">
101
+ <div
102
+ class="object-display"
103
+ (dragover)="onDragOver($event)"
104
+ (drop)="onDrop($event, hour)"
105
+ >
72
106
  <ng-container *ngIf="!customTemplateUsed">
73
107
  <ng-container *ngIf="scheduledObjects[hour]">
74
- <div *ngFor="let obj of scheduledObjects[hour]" class="scheduled-object"
75
- [draggable]="true"
76
- (dragstart)="onDragStart($event, obj)">
108
+ <div
109
+ *ngFor="let obj of scheduledObjects[hour]"
110
+ class="scheduled-object"
111
+ [draggable]="true"
112
+ (dragstart)="onDragStart($event, obj)"
113
+ >
77
114
  <span class="title" [textContent]="obj.title"></span>
78
115
  <span class="sub-title" [textContent]="obj.subTitle"></span>
79
116
  </div>
80
117
  </ng-container>
81
118
  </ng-container>
82
- <ng-template #customContent *ngIf="customTemplateUsed">
83
- <ng-container *ngTemplateOutlet="customTemplate; context: { objects: scheduledObjects[hour] }">
84
- </ng-container>
85
- </ng-template>
119
+
120
+ <ng-container *ngIf="customTemplateUsed">
121
+ <ng-template
122
+ [ngTemplateOutlet]="customTemplate"
123
+ [ngTemplateOutletContext]="{
124
+ hour: hour,
125
+ objects: scheduledObjects[hour]
126
+ }"
127
+ >
128
+ </ng-template>
129
+ </ng-container>
86
130
  </div>
87
131
  </div>
88
132
  `,
@@ -90,15 +134,18 @@ HourSchedulingComponent.decorators = [
90
134
  },] }
91
135
  ];
92
136
  HourSchedulingComponent.ctorParameters = () => [
93
- { type: ChangeDetectorRef }
137
+ { type: ChangeDetectorRef },
138
+ { type: DatePipe }
94
139
  ];
95
140
  HourSchedulingComponent.propDecorators = {
96
- showClass: [{ type: HostBinding, args: ['class.co-hour-scheduling',] }],
97
141
  schedule: [{ type: Input }],
98
142
  startTimeProp: [{ type: Input }],
99
143
  endTimeProp: [{ type: Input }],
100
144
  objectsProp: [{ type: Input }],
145
+ childProp: [{ type: Input }],
101
146
  customTemplate: [{ type: Input }],
102
- customTemplateUsed: [{ type: Input }]
147
+ customTemplateUsed: [{ type: Input }],
148
+ idProp: [{ type: Input }],
149
+ generateTimeBlocks: [{ type: HostBinding, args: ['class.co-hour-scheduling',] }]
103
150
  };
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmcvaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsaUJBQWlCLEVBQWUsTUFBTSxlQUFlLENBQUM7QUFvQ3pILE1BQU0sT0FBTyx1QkFBdUI7SUFpQmxDLFlBQW9CLEtBQXdCO1FBQXhCLFVBQUssR0FBTCxLQUFLLENBQW1CO1FBZHJDLGNBQVMsR0FBRyxJQUFJLENBQUM7UUFPZix1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFFdEMsVUFBSyxHQUFhLEVBQUUsQ0FBQztRQUNyQixxQkFBZ0IsR0FBMkMsRUFBRSxDQUFDO1FBRTdELGtCQUFhLEdBQTRCLElBQUksQ0FBQztJQUVQLENBQUM7SUFFaEQsUUFBUTtRQUNOLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFTyxrQkFBa0I7UUFDeEIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEQsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFDaEQsTUFBTSxXQUFXLEdBQVUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFM0QsS0FBSyxJQUFJLElBQUksR0FBRyxTQUFTLEVBQUUsSUFBSSxJQUFJLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNsRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFD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VCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQW5Da0UsaUJBQWlCOzs7d0JBc0NqRixXQUFXLFNBQUMsMEJBQTBCO3VCQUd0QyxLQUFLOzRCQUNMLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLOzZCQUNMLEtBQUs7aUNBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCwgSG9zdEJpbmRpbmcsIFZpZXdFbmNhcHN1bGF0aW9uLCBDaGFuZ2VEZXRlY3RvclJlZiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmludGVyZmFjZSBTY2hlZHVsaW5nT2JqZWN0IHtcclxuICBzdGFydDogbnVtYmVyO1xyXG4gIGVuZDogbnVtYmVyO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIHN1YlRpdGxlPzogc3RyaW5nO1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWhvdXItc2NoZWR1bGluZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2NrXCIgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91cnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWxcIj48c3BhbiBbdGV4dENvbnRlbnRdPVwiaG91clwiPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cIm9iamVjdC1kaXNwbGF5XCJcclxuICAgICAgICAgICAoZHJhZ292ZXIpPVwib25EcmFnT3ZlcigkZXZlbnQpXCJcclxuICAgICAgICAgICAoZHJvcCk9XCJvbkRyb3AoJGV2ZW50LCBob3VyKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2NoZWR1bGVkT2JqZWN0c1tob3VyXVwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2Ygc2NoZWR1bGVkT2JqZWN0c1tob3VyXVwiIGNsYXNzPVwic2NoZWR1bGVkLW9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAgW2RyYWdnYWJsZV09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cIm9uRHJhZ1N0YXJ0KCRldmVudCwgb2JqKVwiPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGl0bGVcIiBbdGV4dENvbnRlbnRdPVwib2JqLnRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ViLXRpdGxlXCIgW3RleHRDb250ZW50XT1cIm9iai5zdWJUaXRsZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbUNvbnRlbnQgKm5nSWY9XCJjdXN0b21UZW1wbGF0ZVVzZWRcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjdXN0b21UZW1wbGF0ZTsgY29udGV4dDogeyBvYmplY3RzOiBzY2hlZHVsZWRPYmplY3RzW2hvdXJdIH1cIj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBIb3VyU2NoZWR1bGluZ0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBIb3N0QmluZGluZygnY2xhc3MuY28taG91ci1zY2hlZHVsaW5nJylcclxuICBwdWJsaWMgc2hvd0NsYXNzID0gdHJ1ZTtcclxuXHJcbiAgQElucHV0KCkgc2NoZWR1bGU6IGFueTtcclxuICBASW5wdXQoKSBzdGFydFRpbWVQcm9wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZW5kVGltZVByb3A6IHN0cmluZztcclxuICBASW5wdXQoKSBvYmplY3RzUHJvcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+OyAvLyBJbnB1dCBmb3IgY3VzdG9tIHRlbXBsYXRlXHJcbiAgQElucHV0KCkgY3VzdG9tVGVtcGxhdGVVc2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIHB1YmxpYyBob3Vyczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgc2NoZWR1bGVkT2JqZWN0czogeyBbaG91cjogc3RyaW5nXTogU2NoZWR1bGluZ09iamVjdFtdIH0gPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBkcmFnZ2VkT2JqZWN0OiBTY2hlZHVsaW5nT2JqZWN0IHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ2VuZXJhdGVUaW1lQmxvY2tzKCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlVGltZUJsb2NrcygpIHtcclxuICAgIGNvbnN0IHN0YXJ0VGltZSA9IHRoaXMuc2NoZWR1bGVbdGhpcy5zdGFydFRpbWVQcm9wXTtcclxuICAgIGNvbnN0IGVuZFRpbWUgPSB0aGlzLnNjaGVkdWxlW3RoaXMuZW5kVGltZVByb3BdO1xyXG4gICAgY29uc3Qgb2JqZWN0c0xpc3Q6IGFueVtdID0gdGhpcy5zY2hlZHVsZVt0aGlzLm9iamVjdHNQcm9wXTtcclxuXHJcbiAgICBmb3IgKGxldCBob3VyID0gc3RhcnRUaW1lOyBob3VyIDw9IGVuZFRpbWU7IGhvdXIrKykge1xyXG4gICAgICB0aGlzLmhvdXJzLnB1c2godGhpcy5mb3JtYXRIb3VyKGhvdXIpKTtcclxuICAgICAgdGhpcy5zY2hlZHVsZWRPYmplY3RzW3RoaXMuZm9ybWF0SG91cihob3VyKV0gPSB0aGlzLmdldE9iamVjdHNGb3JIb3VyKGhvdXIsIG9iamVjdHNMaXN0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0T2JqZWN0c0ZvckhvdXIoaG91cjogbnVtYmVyLCBvYmplY3RzTGlzdDogYW55W10pOiBTY2hlZHVsaW5nT2JqZWN0W10ge1xyXG4gICAgY29uc3Qgb2JqZWN0c0ZvckhvdXI6IFNjaGVkdWxpbmdPYmplY3RbXSA9IFtdO1xyXG5cclxuICAgIG9iamVjdHNMaXN0LmZvckVhY2gob2JqID0+IHtcclxuICAgICAgaWYgKG9iai5zdGFydCA9PT0gaG91cikge1xyXG4gICAgICAgIG9iamVjdHNGb3JIb3VyLnB1c2goeyAuLi5vYmogfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBvYmplY3RzRm9ySG91cjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb3JtYXRIb3VyKGhvdXI6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7aG91cn06MDBgO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRHJhZ1N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQsIG9iajogU2NoZWR1bGluZ09iamVjdCkge1xyXG4gICAgY29uc3QgY3VycmVudFRhcmdldCA9IGV2ZW50LmN1cnJlbnRUYXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCBjdXJyZW50SG91clNwYW4gPSBjdXJyZW50VGFyZ2V0LnBhcmVudEVsZW1lbnQhLnBhcmVudEVsZW1lbnQhLnF1ZXJ5U2VsZWN0b3IoJy5ob3VyLWxhYmVsIHNwYW4nKSE7XHJcbiAgICBjb25zdCBjdXJyZW50SG91ciA9IGN1cnJlbnRIb3VyU3Bhbi50ZXh0Q29udGVudCE7XHJcblxyXG4gICAgdGhpcy5kcmFnZ2VkT2JqZWN0ID0gb2JqO1xyXG5cclxuICAgIGV2ZW50LmRhdGFUcmFuc2ZlciEuc2V0RGF0YSgndGV4dCcsIEpTT04uc3RyaW5naWZ5KHsgb2JqLCBjdXJyZW50SG91ciB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25EcmFnT3ZlcihldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRHJvcChldmVudDogRHJhZ0V2ZW50LCBob3VyOiBzdHJpbmcpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBjb25zdCBkYXRhID0gSlNPTi5wYXJzZShldmVudC5kYXRhVHJhbnNmZXIhLmdldERhdGEoJ3RleHQnKSkgYXMgeyBvYmo6IFNjaGVkdWxpbmdPYmplY3QsIGN1cnJlbnRIb3VyOiBzdHJpbmcgfTtcclxuXHJcbiAgICBjb25zdCBuZXdTdGFydEhvdXIgPSBwYXJzZUludChob3VyLnNwbGl0KCc6JylbMF0sIDEwKTtcclxuICAgIGNvbnN0IG5ld0VuZEhvdXIgPSBuZXdTdGFydEhvdXIgKyAxO1xyXG5cclxuICAgIGRhdGEub2JqLnN0YXJ0ID0gbmV3U3RhcnRIb3VyO1xyXG4gICAgZGF0YS5vYmouZW5kID0gbmV3RW5kSG91cjtcclxuXHJcbiAgICBjb25zdCBjdXJyZW50SG91ckJsb2NrID0gZGF0YS5jdXJyZW50SG91cjtcclxuICAgIHRoaXMuc2NoZWR1bGVkT2JqZWN0c1tjdXJyZW50SG91ckJsb2NrXSA9IHRoaXMuc2NoZWR1bGVkT2JqZWN0c1tjdXJyZW50SG91ckJsb2NrXS5maWx0ZXIobyA9PiBvICE9PSB0aGlzLmRyYWdnZWRPYmplY3QpO1xyXG5cclxuICAgIGNvbnN0IG5ld0hvdXJCbG9jayA9IHRoaXMuZm9ybWF0SG91cihuZXdTdGFydEhvdXIpO1xyXG4gICAgaWYgKCF0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXSkge1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXSA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zY2hlZHVsZWRPYmplY3RzW25ld0hvdXJCbG9ja10ucHVzaChkYXRhLm9iaik7XHJcblxyXG4gICAgdGhpcy5kcmFnZ2VkT2JqZWN0ID0gbnVsbDtcclxuXHJcbiAgICB0aGlzLmNkUmVmLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcbn1cclxuIl19
151
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmcvaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFFTCxXQUFXLEVBQ1gsaUJBQWlCLEVBQ2pCLGlCQUFpQixHQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFpRDNDLE1BQU0sT0FBTyx1QkFBdUI7SUFvQmxDLFlBQW9CLEtBQXdCLEVBQVUsU0FBbUI7UUFBckQsVUFBSyxHQUFMLEtBQUssQ0FBbUI7UUFBVSxjQUFTLEdBQVQsU0FBUyxDQUFVO1FBbEJsRSxjQUFTLEdBQUcsSUFBSSxDQUFDO1FBVWYsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBR3RDLFVBQUssR0FBYSxFQUFFLENBQUM7UUFDckIscUJBQWdCLEdBQTJDLEVBQUUsQ0FBQztRQUU3RCxrQkFBYSxHQUFlLElBQUksQ0FBQztJQUVtQyxDQUFDO0lBRTdFLFFBQVE7UUFDTixJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxHQUFHLFFBQVEsQ0FDdkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQ3pELE1BQU0sQ0FDUCxDQUNGLENBQUM7WUFDRixJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxR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Z0JBQzlCLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWtDVDtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN0Qzs7O1lBbkRDLGlCQUFpQjtZQUdWLFFBQVE7Ozt1QkF1RGQsS0FBSzs0QkFDTCxLQUFLOzBCQUNMLEtBQUs7MEJBQ0wsS0FBSzt3QkFDTCxLQUFLOzZCQUNMLEtBQUs7aUNBQ0wsS0FBSztxQkFDTCxLQUFLO2lDQXdDTCxXQUFXLFNBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5pbnRlcmZhY2UgU2NoZWR1bGluZ09iamVjdCB7XHJcbiAgc3RhcnQ6IG51bWJlcjtcclxuICBlbmQ6IG51bWJlcjtcclxuICB0aXRsZT86IHN0cmluZztcclxuICBzdWJUaXRsZT86IHN0cmluZztcclxuICBba2V5OiBzdHJpbmddOiBhbnk7IC8vIEFsbG93cyBkeW5hbWljIHByb3BlcnRpZXMgaW5jbHVkaW5nIHVuaXF1ZSBpZGVudGlmaWVyc1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2NvLWhvdXItc2NoZWR1bGluZycsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lLWJsb2NrXCIgKm5nRm9yPVwibGV0IGhvdXIgb2YgaG91cnNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImhvdXItbGFiZWxcIj48c3BhbiBbdGV4dENvbnRlbnRdPVwiaG91clwiPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwib2JqZWN0LWRpc3BsYXlcIlxyXG4gICAgICAgIChkcmFnb3Zlcik9XCJvbkRyYWdPdmVyKCRldmVudClcIlxyXG4gICAgICAgIChkcm9wKT1cIm9uRHJvcCgkZXZlbnQsIGhvdXIpXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2NoZWR1bGVkT2JqZWN0c1tob3VyXVwiPlxyXG4gICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9iaiBvZiBzY2hlZHVsZWRPYmplY3RzW2hvdXJdXCJcclxuICAgICAgICAgICAgICBjbGFzcz1cInNjaGVkdWxlZC1vYmplY3RcIlxyXG4gICAgICAgICAgICAgIFtkcmFnZ2FibGVdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJvbkRyYWdTdGFydCgkZXZlbnQsIG9iailcIlxyXG4gICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aXRsZVwiIFt0ZXh0Q29udGVudF09XCJvYmoudGl0bGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdWItdGl0bGVcIiBbdGV4dENvbnRlbnRdPVwib2JqLnN1YlRpdGxlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VzdG9tVGVtcGxhdGVVc2VkXCI+XHJcbiAgICAgICAgICA8bmctdGVtcGxhdGVcclxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiY3VzdG9tVGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie1xyXG4gICAgICAgICAgICAgIGhvdXI6IGhvdXIsXHJcbiAgICAgICAgICAgICAgb2JqZWN0czogc2NoZWR1bGVkT2JqZWN0c1tob3VyXVxyXG4gICAgICAgICAgICB9XCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG91clNjaGVkdWxpbmdDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBwdWJsaWMgc2hvd0NsYXNzID0gdHJ1ZTtcclxuICBwdWJsaWMgc3RhcnRUaW1lOiBudW1iZXI7XHJcbiAgcHVibGljIGVuZFRpbWU6IG51bWJlcjtcclxuXHJcbiAgQElucHV0KCkgc2NoZWR1bGU6IGFueTtcclxuICBASW5wdXQoKSBzdGFydFRpbWVQcm9wOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgZW5kVGltZVByb3A6IHN0cmluZztcclxuICBASW5wdXQoKSBvYmplY3RzUHJvcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNoaWxkUHJvcDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xyXG4gIEBJbnB1dCgpIGN1c3RvbVRlbXBsYXRlVXNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlkUHJvcDogc3RyaW5nOyAgLy8gSW5wdXQgZm9yIHVuaXF1ZSBpZGVudGlmaWVyIHByb3BlcnR5XHJcblxyXG4gIHB1YmxpYyBob3Vyczogc3RyaW5nW10gPSBbXTtcclxuICBwdWJsaWMgc2NoZWR1bGVkT2JqZWN0czogeyBbaG91cjogc3RyaW5nXTogU2NoZWR1bGluZ09iamVjdFtdIH0gPSB7fTtcclxuXHJcbiAgcHJpdmF0ZSBkcmFnZ2VkT2JqZWN0OiBhbnkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBjZFJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsIHByaXZhdGUgX2RhdGVwaXBlOiBEYXRlUGlwZSkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIXRoaXMuY2hpbGRQcm9wKSB7XHJcbiAgICAgIHRoaXMuc3RhcnRUaW1lID0gcGFyc2VJbnQoXHJcbiAgICAgICAgdGhpcy5fZGF0ZXBpcGUudHJhbnNmb3JtKFxyXG4gICAgICAgICAgbmV3IERhdGUodGhpcy5zY2hlZHVsZVt0aGlzLnN0YXJ0VGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVuZFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuZW5kVGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGFydFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuY2hpbGRQcm9wXVt0aGlzLnN0YXJ0VGltZVByb3BdKS50b0lTT1N0cmluZygpLFxyXG4gICAgICAgICAgJ0g6bW0nXHJcbiAgICAgICAgKVxyXG4gICAgICApO1xyXG4gICAgICB0aGlzLmVuZFRpbWUgPSBwYXJzZUludChcclxuICAgICAgICB0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0oXHJcbiAgICAgICAgICBuZXcgRGF0ZSh0aGlzLnNjaGVkdWxlW3RoaXMuY2hpbGRQcm9wXVt0aGlzLmVuZFRpbWVQcm9wXSkudG9JU09TdHJpbmcoKSxcclxuICAgICAgICAgICdIOm1tJ1xyXG4gICAgICAgIClcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2VuZXJhdGVUaW1lQmxvY2tzKCk7XHJcbiAgfVxyXG5cclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLmNvLWhvdXItc2NoZWR1bGluZycpXHJcblxyXG4gIHB1YmxpYyBnZW5lcmF0ZVRpbWVCbG9ja3MoKSB7XHJcbiAgICBjb25zdCBvYmplY3RzTGlzdCA9IHRoaXMuc2NoZWR1bGVbdGhpcy5vYmplY3RzUHJvcF07XHJcblxyXG4gICAgZm9yIChsZXQgaG91ciA9IHRoaXMuc3RhcnRUaW1lOyBob3VyIDw9IHRoaXMuZW5kVGltZTsgaG91cisrKSB7XHJcbiAgICAgIHRoaXMuaG91cnMucHVzaCh0aGlzLmZvcm1hdEhvdXIoaG91cikpO1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbdGhpcy5mb3JtYXRIb3VyKGhvdXIpXSA9IHRoaXMuX2dldE9iamVjdHNGb3JIb3VyKFxyXG4gICAgICAgIGhvdXIsXHJcbiAgICAgICAgb2JqZWN0c0xpc3RcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgX2dldE9iamVjdHNGb3JIb3VyKFxyXG4gICAgaG91cjogbnVtYmVyLFxyXG4gICAgb2JqZWN0c0xpc3Q6IGFueVtdXHJcbiAgKTogU2NoZWR1bGluZ09iamVjdFtdIHtcclxuICAgIGNvbnN0IG9iamVjdHNGb3JIb3VyOiBTY2hlZHVsaW5nT2JqZWN0W10gPSBbXTtcclxuXHJcbiAgICBvYmplY3RzTGlzdC5mb3JFYWNoKChvYmopID0+IHtcclxuICAgICAgaWYgKHRoaXMuY29udmVydFRvSG91ck5vdGF0aW9uKG9ialt0aGlzLnN0YXJ0VGltZVByb3BdKSA9PT0gaG91cikge1xyXG4gICAgICAgIG9iamVjdHNGb3JIb3VyLnB1c2goeyAuLi5vYmogfSk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiBvYmplY3RzRm9ySG91cjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBmb3JtYXRIb3VyKGhvdXI6IG51bWJlcik6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gYCR7aG91cn06MDBgO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uRHJhZ1N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQsIG9iajogYW55KSB7XHJcbiAgICBjb25zdCBjdXJyZW50VGFyZ2V0ID0gZXZlbnQuY3VycmVudFRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGNvbnN0IGN1cnJlbnRIb3VyU3BhbiA9XHJcbiAgICAgIGN1cnJlbnRUYXJnZXQucGFyZW50RWxlbWVudCEucGFyZW50RWxlbWVudCEucXVlcnlTZWxlY3RvcihcclxuICAgICAgICAnLmhvdXItbGFiZWwgc3BhbidcclxuICAgICAgKSE7XHJcbiAgICBjb25zdCBjdXJyZW50SG91ciA9IGN1cnJlbnRIb3VyU3Bhbi50ZXh0Q29udGVudCE7XHJcblxyXG4gICAgdGhpcy5kcmFnZ2VkT2JqZWN0ID0gb2JqO1xyXG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyIS5zZXREYXRhKFxyXG4gICAgICAndGV4dCcsXHJcbiAgICAgIEpTT04uc3RyaW5naWZ5KHsgb2JqOiB0aGlzLmRyYWdnZWRPYmplY3QsIGN1cnJlbnRIb3VyIH0pXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9uQ3VzdG9tRHJhZ1N0YXJ0KGV2ZW50OiBEcmFnRXZlbnQsIG9iajogU2NoZWR1bGluZ09iamVjdCkge1xyXG4gICAgdGhpcy5vbkRyYWdTdGFydChldmVudCwgb2JqKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkRyYWdPdmVyKGV2ZW50OiBEcmFnRXZlbnQpIHtcclxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25Ecm9wKGV2ZW50OiBEcmFnRXZlbnQsIGhvdXI6IHN0cmluZykge1xyXG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG5cclxuICAgIGNvbnN0IGRhdGEgPSBKU09OLnBhcnNlKGV2ZW50LmRhdGFUcmFuc2ZlciEuZ2V0RGF0YSgndGV4dCcpKSBhcyB7XHJcbiAgICAgIG9iajogYW55O1xyXG4gICAgICBjdXJyZW50SG91cjogc3RyaW5nO1xyXG4gICAgfTtcclxuXHJcbiAgICBpZiAoIWRhdGEgfHwgIWRhdGEub2JqKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBuZXdTdGFydEhvdXIgPSBwYXJzZUludChob3VyLnNwbGl0KCc6JylbMF0sIDEwKTtcclxuICAgIGNvbnN0IG5ld0VuZEhvdXIgPSBuZXdTdGFydEhvdXIgKyAxO1xyXG5cclxuICAgIGNvbnN0IG9yaWdpbmFsU3RhcnRIb3VyID0gdGhpcy5jb252ZXJ0VG9Ib3VyTm90YXRpb24oZGF0YS5vYmpbdGhpcy5zdGFydFRpbWVQcm9wXSk7XHJcblxyXG4gICAgLy8gR2V0IHRoZSB1bmlxdWUgaWRlbnRpZmllciB2YWx1ZSBmcm9tIHRoZSBvYmplY3QgdXNpbmcgdGhlIGBpZFByb3BgXHJcbiAgICBjb25zdCBvYmpJZCA9IGRhdGEub2JqW3RoaXMuaWRQcm9wXTtcclxuXHJcbiAgICAvLyBFbnN1cmUgd2UgY3JlYXRlIGEgbmV3IG9iamVjdCB0byBhdm9pZCBtdXRhdGlvbiBpc3N1ZXNcclxuICAgIGNvbnN0IHVwZGF0ZWRPYmplY3QgPSB7IC4uLmRhdGEub2JqLCBzdGFydDogbmV3U3RhcnRIb3VyLCBlbmQ6IG5ld0VuZEhvdXIgfTtcclxuXHJcbiAgICBjb25zdCB1cGRhdGVkT2JqZWN0MiA9IHsgLi4uZGF0YS5vYmosIFt0aGlzLnN0YXJ0VGltZVByb3BdOnRoaXMuY3JlYXRlRGF0ZShuZXdTdGFydEhvdXIpLCBbdGhpcy5lbmRUaW1lUHJvcF06dGhpcy5jcmVhdGVEYXRlKG5ld0VuZEhvdXIpfTtcclxuXHJcblxyXG4gICAgLy8gUmVtb3ZlIHRoZSBvYmplY3QgZnJvbSBpdHMgb2xkIGhvdXIgYmxvY2sgdXNpbmcgaXRzIHVuaXF1ZSBpZFxyXG4gICAgY29uc3Qgb3JpZ2luYWxIb3VyQmxvY2sgPSB0aGlzLmZvcm1hdEhvdXIob3JpZ2luYWxTdGFydEhvdXIpO1xyXG4gICAgdGhpcy5zY2hlZHVsZWRPYmplY3RzW29yaWdpbmFsSG91ckJsb2NrXSA9IHRoaXMuc2NoZWR1bGVkT2JqZWN0c1tvcmlnaW5hbEhvdXJCbG9ja10uZmlsdGVyKG8gPT4gb1t0aGlzLmlkUHJvcF0gIT09IG9iaklkKTtcclxuXHJcbiAgICAvLyBBZGQgdGhlIG9iamVjdCB0byB0aGUgbmV3IGhvdXIgYmxvY2tcclxuICAgIGNvbnN0IG5ld0hvdXJCbG9jayA9IHRoaXMuZm9ybWF0SG91cihuZXdTdGFydEhvdXIpO1xyXG4gICAgaWYgKCF0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXSkge1xyXG4gICAgICB0aGlzLnNjaGVkdWxlZE9iamVjdHNbbmV3SG91ckJsb2NrXSA9IFtdO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zY2hlZHVsZWRPYmplY3RzW25ld0hvdXJCbG9ja10ucHVzaCh1cGRhdGVkT2JqZWN0Mik7XHJcblxyXG4gICAgLy8gQ2xlYXIgdGhlIGRyYWdnZWQgb2JqZWN0XHJcbiAgICB0aGlzLmRyYWdnZWRPYmplY3QgPSBudWxsO1xyXG5cclxuICAgIC8vIFRyaWdnZXIgY2hhbmdlIGRldGVjdGlvbiB0byB1cGRhdGUgdGhlIHZpZXdcclxuICAgIHRoaXMuY2RSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNvbnZlcnRUb0hvdXJOb3RhdGlvbihkYXRlOiBEYXRlKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBwYXJzZUludCh0aGlzLl9kYXRlcGlwZS50cmFuc2Zvcm0obmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKSwgJ0g6bW0nICkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNyZWF0ZURhdGUoaG91cnM6IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZGF0ZS5zZXRIb3Vycyhob3Vycyk7XHJcbiAgICBkYXRlLnNldE1pbnV0ZXMoMCwgMCwgMCk7XHJcbiAgICByZXR1cm4gZGF0ZTtcclxuICB9XHJcbn1cclxuIl19
@@ -1,5 +1,5 @@
1
1
  import { NgModule } from "@angular/core";
2
- import { CommonModule } from "@angular/common";
2
+ import { CommonModule, DatePipe } from "@angular/common";
3
3
  import { HourSchedulingComponent } from "./hour-scheduling.component";
4
4
  import { HourSchedulingTestObjectComponent } from "./components/hour-scheduling-test-object/hour-scheduling-test-object.component";
5
5
  export class HourSchedulingComponentModule {
@@ -16,7 +16,8 @@ HourSchedulingComponentModule.decorators = [
16
16
  exports: [
17
17
  HourSchedulingComponent,
18
18
  HourSchedulingTestObjectComponent
19
- ]
19
+ ],
20
+ providers: [DatePipe]
20
21
  },] }
21
22
  ];
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1zY2hlZHVsaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmcvaG91ci1zY2hlZHVsaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM3QyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSw2QkFBNkIsQ0FBQztBQUNwRSxPQUFPLEVBQ0wsaUNBQWlDLEVBQ2xDLE1BQU0sZ0ZBQWdGLENBQUM7QUFpQnhGLE1BQU0sT0FBTyw2QkFBNkI7OztZQWR6QyxRQUFRLFNBQUM7Z0JBQ04sT0FBTyxFQUFFO29CQUNMLFlBQVk7aUJBQ2Y7Z0JBQ0QsWUFBWSxFQUFFO29CQUNWLHVCQUF1QjtvQkFDekIsaUNBQWlDO2lCQUNsQztnQkFDSCxPQUFPLEVBQUU7b0JBQ1AsdUJBQXVCO29CQUN2QixpQ0FBaUM7aUJBQ2xDO2FBRUYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge0hvdXJTY2hlZHVsaW5nQ29tcG9uZW50fSBmcm9tIFwiLi9ob3VyLXNjaGVkdWxpbmcuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7XHJcbiAgSG91clNjaGVkdWxpbmdUZXN0T2JqZWN0Q29tcG9uZW50XHJcbn0gZnJvbSBcIi4vY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmctdGVzdC1vYmplY3QvaG91ci1zY2hlZHVsaW5nLXRlc3Qtb2JqZWN0LmNvbXBvbmVudFwiO1xyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbXHJcbiAgICAgICAgQ29tbW9uTW9kdWxlXHJcbiAgICBdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICAgICAgSG91clNjaGVkdWxpbmdDb21wb25lbnQsXHJcbiAgICAgIEhvdXJTY2hlZHVsaW5nVGVzdE9iamVjdENvbXBvbmVudCxcclxuICAgIF0sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgSG91clNjaGVkdWxpbmdDb21wb25lbnQsXHJcbiAgICBIb3VyU2NoZWR1bGluZ1Rlc3RPYmplY3RDb21wb25lbnRcclxuICBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG91clNjaGVkdWxpbmdDb21wb25lbnRNb2R1bGUge1xyXG59XHJcbiJdfQ==
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaG91ci1zY2hlZHVsaW5nLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmVjb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy9ob3VyLXNjaGVkdWxpbmcvaG91ci1zY2hlZHVsaW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxZQUFZLEVBQUUsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDdkQsT0FBTyxFQUFDLHVCQUF1QixFQUFDLE1BQU0sNkJBQTZCLENBQUM7QUFDcEUsT0FBTyxFQUNMLGlDQUFpQyxFQUNsQyxNQUFNLGdGQUFnRixDQUFDO0FBa0J4RixNQUFNLE9BQU8sNkJBQTZCOzs7WUFmekMsUUFBUSxTQUFDO2dCQUNOLE9BQU8sRUFBRTtvQkFDTCxZQUFZO2lCQUNmO2dCQUNELFlBQVksRUFBRTtvQkFDVix1QkFBdUI7b0JBQ3pCLGlDQUFpQztpQkFDbEM7Z0JBQ0gsT0FBTyxFQUFFO29CQUNQLHVCQUF1QjtvQkFDdkIsaUNBQWlDO2lCQUNsQztnQkFDRCxTQUFTLEVBQUUsQ0FBRSxRQUFRLENBQUM7YUFFdkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge05nTW9kdWxlfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge0NvbW1vbk1vZHVsZSwgRGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtIb3VyU2NoZWR1bGluZ0NvbXBvbmVudH0gZnJvbSBcIi4vaG91ci1zY2hlZHVsaW5nLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQge1xyXG4gIEhvdXJTY2hlZHVsaW5nVGVzdE9iamVjdENvbXBvbmVudFxyXG59IGZyb20gXCIuL2NvbXBvbmVudHMvaG91ci1zY2hlZHVsaW5nLXRlc3Qtb2JqZWN0L2hvdXItc2NoZWR1bGluZy10ZXN0LW9iamVjdC5jb21wb25lbnRcIjtcclxuXHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gICAgaW1wb3J0czogW1xyXG4gICAgICAgIENvbW1vbk1vZHVsZVxyXG4gICAgXSxcclxuICAgIGRlY2xhcmF0aW9uczogW1xyXG4gICAgICAgIEhvdXJTY2hlZHVsaW5nQ29tcG9uZW50LFxyXG4gICAgICBIb3VyU2NoZWR1bGluZ1Rlc3RPYmplY3RDb21wb25lbnQsXHJcbiAgICBdLFxyXG4gIGV4cG9ydHM6IFtcclxuICAgIEhvdXJTY2hlZHVsaW5nQ29tcG9uZW50LFxyXG4gICAgSG91clNjaGVkdWxpbmdUZXN0T2JqZWN0Q29tcG9uZW50XHJcbiAgXSxcclxuICBwcm92aWRlcnM6IFsgRGF0ZVBpcGVdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgSG91clNjaGVkdWxpbmdDb21wb25lbnRNb2R1bGUge1xyXG59XHJcbiJdfQ==
@@ -12,6 +12,7 @@ export class ListOfValuesComponent extends BaseInputComponent {
12
12
  this.multiselect = false;
13
13
  this.displayField = 'description';
14
14
  this.searchDisabled = false;
15
+ this.showChips = true;
15
16
  this.isSelectOpen = false;
16
17
  this.state = 'default';
17
18
  this.selectedModels = [];
@@ -197,7 +198,7 @@ ListOfValuesComponent.decorators = [
197
198
  (clearIconClick)="clearModel($event)"
198
199
  (blur)="checkModel()"
199
200
  >
200
- <ng-container *ngIf="multiselect">
201
+ <ng-container *ngIf="multiselect && showChips">
201
202
  <div class="multiselect-chips-wrapper">
202
203
  <div class="chips" *ngFor="let chip of model">
203
204
  <span class="chips-description" [textContent]="chip[displayField]"></span>
@@ -228,6 +229,7 @@ ListOfValuesComponent.propDecorators = {
228
229
  label: [{ type: Input }],
229
230
  customCssClass: [{ type: Input }],
230
231
  searchDisabled: [{ type: Input }],
232
+ showChips: [{ type: Input }],
231
233
  showClass: [{ type: HostBinding, args: ['class.co-list-of-values',] }]
232
234
  };
233
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUErQy9ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBdUI7SUE3Q2xFOztRQThDb0IsVUFBSyxHQUE4QixrQkFBa0IsQ0FBQztRQWtCL0QsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsaUJBQVksR0FBVyxhQUFhLENBQUM7UUF3QnJDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBT2hDLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBQzlCLFVBQUssR0FBVyxTQUFTLENBQUM7UUFFMUIsbUJBQWMsR0FBYSxFQUFFLENBQUM7UUFFN0IsZ0JBQVcsR0FBVSxFQUFFLENBQUM7SUFnSnBDLENBQUM7SUF2TUcsSUFDVyxLQUFLLENBQUMsS0FBVTtRQUN2QixLQUFLLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsSUFBVyxLQUFLO1FBQ1osT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ3ZCLENBQUM7SUFhRCxJQUNXLFVBQVUsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxXQUFXLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsSUFBVyxVQUFVO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUM1QixDQUFDO0lBa0JNLFNBQVM7UUFDWixPQUFPLElBQUksQ0FBQztJQUNoQixDQUFDO0lBV0QsUUFBUTtRQUNKLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNqQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU0sc0JBQXNCLENBQUMsS0FBYTtRQUN2QyxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtZQUM1QixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7U0FDMUQ7YUFBTTtZQUNILElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxJQUFJLEtBQUssRUFBRTtnQkFDOUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7YUFDMUQ7U0FDSjtRQUNELElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFvQjtRQUMxQyxJQUFJLEtBQUssRUFBRTtZQUNQLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLFdBQVcsQ0FBQyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMscUJBQXFCLEVBQUU7Z0JBQ2hGLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDakIsT0FBTyxLQUFLLENBQUM7YUFDaEI7WUFDRCxJQUFJLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFDNUIsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO29CQUNoQixLQUFLLFdBQVcsQ0FBQyxJQUFJO3dCQUNqQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUM7d0JBQ3ZELE9BQU8sS0FBSyxDQUFDO29CQUNqQixLQUFLLFdBQVcsQ0FBQyxFQUFFO3dCQUNmLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7d0JBQzNELE9BQU8sS0FBSyxDQUFDO29CQUNqQixLQUFLLFdBQVcsQ0FBQyxLQUFLO3dCQUNsQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUM7d0JBQ2hFLE9BQU8sS0FBSyxDQUFDO29CQUNqQixLQUFLLFdBQVcsQ0FBQyxHQUFHO3dCQUNoQixJQUFJLENBQUMscUJBQXFCLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFLENBQUM7aUJBQ3ZFO2FBQ0o7U0FDSjtJQUNMLENBQUM7SUFFTSxVQUFVLENBQUMsS0FBaUI7UUFDL0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRU0sWUFBWTtRQUNmLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNuQixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7U0FDcEI7YUFBTTtZQUNILElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRU0sU0FBUztRQUNaLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLE9BQU87U0FDVjtRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsRUFBRTtZQUN6RixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNqQyxjQUFjLEVBQUUsSUFBSSxDQUFDLGNBQWM7WUFDbkMsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjO1lBQ25DLGlCQUFpQixFQUFFLElBQUksQ0FBQyxpQkFBaUI7WUFDekMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVztZQUM3QixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1NBQzlCLEVBQUU7WUFDQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDO1lBQ2hELFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25DLE9BQU8sRUFBRSxDQUFDLEtBQW9CLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUM7U0FDcEUsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVNLHFCQUFxQixDQUFDLElBQVM7UUFDbEMsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLE1BQU0sR0FBRyxHQUFXLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDO1lBQzFELElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUMxQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRU0sWUFBWSxDQUFDLE1BQVc7UUFDM0IsSUFBSSxNQUFNLEVBQUU7WUFDUixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7Z0JBQ2xCLElBQUksQ0FBQyxjQUFjLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQzthQUMvRDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDbEQ7U0FDSjtRQUNELElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVNLFVBQVU7UUFDYixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztRQUMxQixJQUFJLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUNoRSxJQUFJLENBQUMscUJBQXFCLEdBQUcsU0FBUyxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFTSxVQUFVO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLGFBQWEsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzVELE1BQU0sS0FBSyxHQUFRLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDMUYsSUFBSSxLQUFLLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7YUFDMUI7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDckM7SUFDTCxDQUFDO0lBRU8saUJBQWlCO1FBQ3JCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNsQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO2dCQUMvQixJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDbkIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2dCQUNuRCxDQUFDLENBQUMsQ0FBQzthQUNOO2lCQUFNO2dCQUNILElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQzthQUNsQztTQUNKO2FBQU07WUFDSCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7Z0JBQ1osSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQzthQUN0RDtpQkFBTTtnQkFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQzthQUMzQjtTQUNKO0lBQ0wsQ0FBQzs7O1lBclBKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsbUJBQW1CO2dCQUM3QixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztLQWlDVDtnQkFDRCxTQUFTLEVBQUU7b0JBQ1AsY0FBYztvQkFDZDt3QkFDSSxPQUFPLEVBQUUsOENBQThDO3dCQUN2RCxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDO3FCQUN2RDtpQkFDSjtnQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTthQUN4Qzs7O29CQUlJLEtBQUs7K0JBVUwsU0FBUyxTQUFDLGtCQUFrQixFQUFFLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBQzswQkFHaEQsV0FBVyxTQUFDLHFCQUFxQixjQUNqQyxXQUFXLFNBQUMsb0JBQW9CLGNBQ2hDLEtBQUs7MkJBR0wsS0FBSzt5QkFHTCxLQUFLOzJCQVNMLEtBQUs7Z0NBR0wsS0FBSztvQkFHTCxLQUFLOzZCQUdMLEtBQUs7NkJBR0wsS0FBSzt3QkFHTCxXQUFXLFNBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENvbXBvbmVudFJlZiwgRWxlbWVudFJlZiwgZm9yd2FyZFJlZiwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge0Jhc2VJbnB1dENvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS9iYXNlLWlucHV0LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7Q29yZUNvbXBvbmVudHNJY29ufSBmcm9tICcuLi8uLi9jb3JlL2VudW0vY29yZS1jb21wb25lbnRzLWljb24uZW51bSc7XHJcbmltcG9ydCB7T3ZlcmxheVNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2Uvb3ZlcmxheS5zZXJ2aWNlJztcclxuaW1wb3J0IHtMaXN0T2ZWYWx1ZXNQb3B1cENvbXBvbmVudH0gZnJvbSAnLi9saXN0LW9mLXZhbHVlcy1wb3B1cC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0tleWJvYXJkS2V5fSBmcm9tICcuLi8uLi9jb3JlL2VudW0va2V5Ym9hcmQta2V5LmVudW0nO1xyXG5pbXBvcnQge1NhZmVIdG1sfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcclxuaW1wb3J0IHtTQ1JFRU5fQ09ORklHX0FEQVBURVJfQ09NUE9ORU5UX0lOVEVSRkFDRV9OQU1FfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL3NjcmVlbi1jb25maWctYWRhcHRlci1jb21wb25lbnQtaW50ZXJmYWNlLW5hbWUnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2NvLWxpc3Qtb2YtdmFsdWVzJyxcclxuICAgIHRlbXBsYXRlOiBgXHJcbiAgICAgICAgPGNvLWlucHV0LXRleHQgYXJpYS1oYXNwb3B1cD1cImxpc3Rib3hcIiBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cImlzU2VsZWN0T3BlblwiIGFyaWEtY29udHJvbHM9XCJsb3YtcG9wdXBcIiByb2xlPVwiY29tYm9ib3hcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibm8tZm9jdXMtbGluZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmxheVBhcmVudFxyXG4gICAgICAgICAgICAgICAgICAgICAgICNwYXJlbnRGb3JPdmVybGF5PVwib3ZlcmxheVBhcmVudFwiIHR5cGU9XCJ0ZXh0XCIgW2lkXT1cImxhYmVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwibXVsdGlzZWxlY3QgPyBzZWxlY3RlZE1vZGVscyA6IHNlbGVjdGVkTW9kZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW25vQ2xpY2tGb2N1c109XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2xlZnRJY29uRGF0YV09XCJsZWZ0SWNvbkRhdGFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyaWdodEljb25dPVwiaXNTZWxlY3RPcGVuID8gaWNvbnMuQ2hldnJvblVwUmVndWxhciA6IGljb25zLkNoZXZyb25Eb3duUmVndWxhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3Nob3dDbGVhckJ1dHRvbl09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbdXNlQ29udGVudF09XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbUhlaWdodF09XCJtdWx0aXNlbGVjdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2tlZXBGb2N1c3NlZF09XCJrZWVwRm9jdXNzZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVJbnB1dE1vZGVsQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuUG9wdXAoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKHJpZ2h0SWNvbkNsaWNrKT1cInRvZ2dsZVNlbGVjdCgpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJoYW5kbGVJbnB1dEtleURvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGNsZWFySWNvbkNsaWNrKT1cImNsZWFyTW9kZWwoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGJsdXIpPVwiY2hlY2tNb2RlbCgpXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJtdWx0aXNlbGVjdFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm11bHRpc2VsZWN0LWNoaXBzLXdyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpcHNcIiAqbmdGb3I9XCJsZXQgY2hpcCBvZiBtb2RlbFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNoaXBzLWRlc2NyaXB0aW9uXCIgW3RleHRDb250ZW50XT1cImNoaXBbZGlzcGxheUZpZWxkXVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJyZW1vdmUtY2hpcC1pY29uXCIgW2ljb25dPVwiaWNvbnMuQ3Jvc3NTa2lubnlcIiAoY2xpY2spPVwicmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGNoaXApXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvY28taW5wdXQtdGV4dD5cclxuICAgIGAsXHJcbiAgICBwcm92aWRlcnM6IFtcclxuICAgICAgICBPdmVybGF5U2VydmljZSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIHByb3ZpZGU6IFNDUkVFTl9DT05GSUdfQURBUFRFUl9DT01QT05FTlRfSU5URVJGQUNFX05BTUUsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IExpc3RPZlZhbHVlc0NvbXBvbmVudClcclxuICAgICAgICB9XHJcbiAgICBdLFxyXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RPZlZhbHVlc0NvbXBvbmVudCBleHRlbmRzIEJhc2VJbnB1dENvbXBvbmVudDxhbnk+IGltcGxlbWVudHMgT25Jbml0IHtcclxuICAgIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIENvcmVDb21wb25lbnRzSWNvbiA9IENvcmVDb21wb25lbnRzSWNvbjtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBtb2RlbCh2YWx1ZTogYW55KSB7XHJcbiAgICAgICAgc3VwZXIubW9kZWwgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLl9zZXRTZWxlY3RlZE1vZGVsKCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGdldCBtb2RlbCgpOiBhbnkge1xyXG4gICAgICAgIHJldHVybiBzdXBlci5tb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICBAVmlld0NoaWxkKCdwYXJlbnRGb3JPdmVybGF5Jywge3JlYWQ6IEVsZW1lbnRSZWZ9KVxyXG4gICAgcHVibGljIHBhcmVudEZvck92ZXJsYXk6IEVsZW1lbnRSZWY7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jdXN0b20taGVpZ2h0JylcclxuICAgIEBIb3N0QmluZGluZygnY2xhc3MubXVsdGktc2VsZWN0JylcclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbXVsdGlzZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGRpc3BsYXlGaWVsZDogc3RyaW5nID0gJ2Rlc2NyaXB0aW9uJztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNldCBjb2xsZWN0aW9uKHZhbHVlOiBhbnlbXSkge1xyXG4gICAgICAgIHRoaXMuX2NvbGxlY3Rpb24gPSB2YWx1ZSB8fCBbXTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IGNvbGxlY3Rpb24oKTogYW55W10ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLl9jb2xsZWN0aW9uO1xyXG4gICAgfVxyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgbGVmdEljb25EYXRhOiBTYWZlSHRtbCB8IHVuZGVmaW5lZDtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlYXJjaFBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsYWJlbDogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgY3VzdG9tQ3NzQ2xhc3M6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNlYXJjaERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1saXN0LW9mLXZhbHVlcycpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1NlbGVjdE9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzdGF0ZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gICAgcHVibGljIHNlbGVjdGVkTW9kZWw6IHN0cmluZztcclxuICAgIHB1YmxpYyBzZWxlY3RlZE1vZGVsczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9jb2xsZWN0aW9uOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX2xvdlBvcHVwQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGVkTW9kZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRNb2RlbENoYW5nZShtb2RlbDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlYXJjaFRlcm0gPSBtb2RlbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNb2RlbCAmJiBtb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlYXJjaFRlcm0gPSBtb2RlbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBtb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkgJiYgZXZlbnQuY29kZSA9PT0gS2V5Ym9hcmRLZXkuRG93biAmJiAhdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LkRvd246XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE5leHRPcHRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuVXA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE5leHRPcHRpb24odHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LkVudGVyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RPcHRpb25BbmRDbG9zZVBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LlRhYjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0T3B0aW9uQW5kQ2xvc2VQb3B1cCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhck1vZGVsKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXRNb2RlbCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVTZWxlY3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzU2VsZWN0T3BlbiA9ICF0aGlzLmlzU2VsZWN0T3BlbjtcclxuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdE9wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wdXAoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9ICh0aGlzLnN0YXRlID09PSAnZGVmYXVsdCcgPyAncm90YXRlZCcgOiAnZGVmYXVsdCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuUG9wdXAoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzU2VsZWN0T3BlbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChMaXN0T2ZWYWx1ZXNQb3B1cENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBwYXJlbnRGb3JPdmVybGF5OiB0aGlzLmVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgIGN1c3RvbUNzc0NsYXNzOiB0aGlzLmN1c3RvbUNzc0NsYXNzLFxyXG4gICAgICAgICAgICBzZWFyY2hEaXNhYmxlZDogdGhpcy5zZWFyY2hEaXNhYmxlZCxcclxuICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogdGhpcy5kaXNwbGF5RmllbGQsXHJcbiAgICAgICAgICAgIG11bHRpc2VsZWN0OiB0aGlzLm11bHRpc2VsZWN0LFxyXG4gICAgICAgICAgICBtb2RlbDogdGhpcy5tb2RlbCxcclxuICAgICAgICAgICAgY29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICBtb2RlbENoYW5nZTogKHZhbHVlKSA9PiB0aGlzLm9wdGlvbkNob3Nlbih2YWx1ZSksXHJcbiAgICAgICAgICAgIGNsb3NlUG9wdXA6ICgpID0+IHRoaXMuY2xvc2VQb3B1cCgpLFxyXG4gICAgICAgICAgICBrZXlEb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuaGFuZGxlSW5wdXRLZXlEb3duKGV2ZW50KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMua2VlcEZvY3Vzc2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGNoaXA6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5tb2RlbC5maW5kSW5kZXgobSA9PiBtID09PSBjaGlwKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3B0aW9uQ2hvc2VuKG9wdGlvbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscyA9IG9wdGlvbi5tYXAobyA9PiBvW3RoaXMuZGlzcGxheUZpZWxkXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBvcHRpb25bdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kZWwgPSBvcHRpb247XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZVBvcHVwKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMua2VlcEZvY3Vzc2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1NlbGVjdE9wZW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZik7XHJcbiAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoZWNrTW9kZWwoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0ICYmIHRoaXMuc2VsZWN0ZWRNb2RlbCAmJiB0aGlzLmNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgY29uc3QgbW9kZWw6IGFueSA9IHRoaXMuY29sbGVjdGlvbi5maW5kKGMgPT4gY1t0aGlzLmRpc3BsYXlGaWVsZF0gPT09IHRoaXMuc2VsZWN0ZWRNb2RlbCk7XHJcbiAgICAgICAgICAgIGlmIChtb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFNlbGVjdGVkTW9kZWwoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuZm9yRWFjaChtID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLnB1c2gobVt0aGlzLmRpc3BsYXlGaWVsZF0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gdGhpcy5tb2RlbFt0aGlzLmRpc3BsYXlGaWVsZF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
235
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1vZi12YWx1ZXMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL2xpc3Qtb2YtdmFsdWVzL2xpc3Qtb2YtdmFsdWVzLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFnQixVQUFVLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsU0FBUyxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hJLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLDJDQUEyQyxDQUFDO0FBQzdFLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSwrQkFBK0IsQ0FBQztBQUM3RCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUM1RSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFFOUQsT0FBTyxFQUFDLDhDQUE4QyxFQUFDLE1BQU0saUVBQWlFLENBQUM7QUErQy9ILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxrQkFBdUI7SUE3Q2xFOztRQThDb0IsVUFBSyxHQUE4QixrQkFBa0IsQ0FBQztRQWtCL0QsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFHN0IsaUJBQVksR0FBVyxhQUFhLENBQUM7UUF3QnJDLG1CQUFjLEdBQVksS0FBSyxDQUFDO1FBR2hDLGNBQVMsR0FBWSxJQUFJLENBQUM7UUFPMUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsVUFBSyxHQUFXLFNBQVMsQ0FBQztRQUUxQixtQkFBYyxHQUFhLEVBQUUsQ0FBQztRQUU3QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztJQWdKcEMsQ0FBQztJQTFNRyxJQUNXLEtBQUssQ0FBQyxL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QVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMscUJBQXFCLENBQUM7cUJBQ3ZEO2lCQUNKO2dCQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO2FBQ3hDOzs7b0JBSUksS0FBSzsrQkFVTCxTQUFTLFNBQUMsa0JBQWtCLEVBQUUsRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFDOzBCQUdoRCxXQUFXLFNBQUMscUJBQXFCLGNBQ2pDLFdBQVcsU0FBQyxvQkFBb0IsY0FDaEMsS0FBSzsyQkFHTCxLQUFLO3lCQUdMLEtBQUs7MkJBU0wsS0FBSztnQ0FHTCxLQUFLO29CQUdMLEtBQUs7NkJBR0wsS0FBSzs2QkFHTCxLQUFLO3dCQUdMLEtBQUs7d0JBR0wsV0FBVyxTQUFDLHlCQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDb21wb25lbnRSZWYsIEVsZW1lbnRSZWYsIGZvcndhcmRSZWYsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtCYXNlSW5wdXRDb21wb25lbnR9IGZyb20gJy4uL2Jhc2UvYmFzZS1pbnB1dC5jb21wb25lbnQnO1xyXG5pbXBvcnQge0NvcmVDb21wb25lbnRzSWNvbn0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2NvcmUtY29tcG9uZW50cy1pY29uLmVudW0nO1xyXG5pbXBvcnQge092ZXJsYXlTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlL292ZXJsYXkuc2VydmljZSc7XHJcbmltcG9ydCB7TGlzdE9mVmFsdWVzUG9wdXBDb21wb25lbnR9IGZyb20gJy4vbGlzdC1vZi12YWx1ZXMtcG9wdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHtLZXlib2FyZEtleX0gZnJvbSAnLi4vLi4vY29yZS9lbnVtL2tleWJvYXJkLWtleS5lbnVtJztcclxuaW1wb3J0IHtTYWZlSHRtbH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcbmltcG9ydCB7U0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRX0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy9zY3JlZW4tY29uZmlnLWFkYXB0ZXItY29tcG9uZW50LWludGVyZmFjZS1uYW1lJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdjby1saXN0LW9mLXZhbHVlcycsXHJcbiAgICB0ZW1wbGF0ZTogYFxyXG4gICAgICAgIDxjby1pbnB1dC10ZXh0IGFyaWEtaGFzcG9wdXA9XCJsaXN0Ym94XCIgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc1NlbGVjdE9wZW5cIiBhcmlhLWNvbnRyb2xzPVwibG92LXBvcHVwXCIgcm9sZT1cImNvbWJvYm94XCJcclxuICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5vLWZvY3VzLWxpbmVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIG92ZXJsYXlQYXJlbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAjcGFyZW50Rm9yT3ZlcmxheT1cIm92ZXJsYXlQYXJlbnRcIiB0eXBlPVwidGV4dFwiIFtpZF09XCJsYWJlbFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cIm11bHRpc2VsZWN0ID8gc2VsZWN0ZWRNb2RlbHMgOiBzZWxlY3RlZE1vZGVsXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWxcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtyZWFkb25seV09XCJyZWFkb25seVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtub0NsaWNrRm9jdXNdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtsZWZ0SWNvbkRhdGFdPVwibGVmdEljb25EYXRhXCJcclxuICAgICAgICAgICAgICAgICAgICAgICBbcmlnaHRJY29uXT1cImlzU2VsZWN0T3BlbiA/IGljb25zLkNoZXZyb25VcFJlZ3VsYXIgOiBpY29ucy5DaGV2cm9uRG93blJlZ3VsYXJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtzaG93Q2xlYXJCdXR0b25dPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgW3VzZUNvbnRlbnRdPVwibXVsdGlzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21IZWlnaHRdPVwibXVsdGlzZWxlY3RcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFtrZWVwRm9jdXNzZWRdPVwia2VlcEZvY3Vzc2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlSW5wdXRNb2RlbENoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwib3BlblBvcHVwKClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChyaWdodEljb25DbGljayk9XCJ0b2dnbGVTZWxlY3QoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwiaGFuZGxlSW5wdXRLZXlEb3duKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChjbGVhckljb25DbGljayk9XCJjbGVhck1vZGVsKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgIChibHVyKT1cImNoZWNrTW9kZWwoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlzZWxlY3QgJiYgc2hvd0NoaXBzXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXVsdGlzZWxlY3QtY2hpcHMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGlwc1wiICpuZ0Zvcj1cImxldCBjaGlwIG9mIG1vZGVsXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2hpcHMtZGVzY3JpcHRpb25cIiBbdGV4dENvbnRlbnRdPVwiY2hpcFtkaXNwbGF5RmllbGRdXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInJlbW92ZS1jaGlwLWljb25cIiBbaWNvbl09XCJpY29ucy5Dcm9zc1NraW5ueVwiIChjbGljayk9XCJyZW1vdmVPcHRpb25Gcm9tTW9kZWwoY2hpcClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9jby1pbnB1dC10ZXh0PlxyXG4gICAgYCxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIE92ZXJsYXlTZXJ2aWNlLFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogU0NSRUVOX0NPTkZJR19BREFQVEVSX0NPTVBPTkVOVF9JTlRFUkZBQ0VfTkFNRSxcclxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTGlzdE9mVmFsdWVzQ29tcG9uZW50KVxyXG4gICAgICAgIH1cclxuICAgIF0sXHJcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdE9mVmFsdWVzQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50PGFueT4gaW1wbGVtZW50cyBPbkluaXQge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgQ29yZUNvbXBvbmVudHNJY29uID0gQ29yZUNvbXBvbmVudHNJY29uO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IG1vZGVsKHZhbHVlOiBhbnkpIHtcclxuICAgICAgICBzdXBlci5tb2RlbCA9IHZhbHVlO1xyXG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGVkTW9kZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgZ2V0IG1vZGVsKCk6IGFueSB7XHJcbiAgICAgICAgcmV0dXJuIHN1cGVyLm1vZGVsO1xyXG4gICAgfVxyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ3BhcmVudEZvck92ZXJsYXknLCB7cmVhZDogRWxlbWVudFJlZn0pXHJcbiAgICBwdWJsaWMgcGFyZW50Rm9yT3ZlcmxheTogRWxlbWVudFJlZjtcclxuXHJcbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmN1c3RvbS1oZWlnaHQnKVxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tdWx0aS1zZWxlY3QnKVxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBtdWx0aXNlbGVjdDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgZGlzcGxheUZpZWxkOiBzdHJpbmcgPSAnZGVzY3JpcHRpb24nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2V0IGNvbGxlY3Rpb24odmFsdWU6IGFueVtdKSB7XHJcbiAgICAgICAgdGhpcy5fY29sbGVjdGlvbiA9IHZhbHVlIHx8IFtdO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBnZXQgY29sbGVjdGlvbigpOiBhbnlbXSB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMuX2NvbGxlY3Rpb247XHJcbiAgICB9XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBsZWZ0SWNvbkRhdGE6IFNhZmVIdG1sIHwgdW5kZWZpbmVkO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2VhcmNoUGxhY2Vob2xkZXI6IHN0cmluZztcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIGxhYmVsOiBzdHJpbmc7XHJcblxyXG4gICAgQElucHV0KClcclxuICAgIHB1YmxpYyBjdXN0b21Dc3NDbGFzczogc3RyaW5nO1xyXG5cclxuICAgIEBJbnB1dCgpXHJcbiAgICBwdWJsaWMgc2VhcmNoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBASW5wdXQoKVxyXG4gICAgcHVibGljIHNob3dDaGlwczogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jby1saXN0LW9mLXZhbHVlcycpXHJcbiAgICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBpc1NlbGVjdE9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICAgIHB1YmxpYyBzdGF0ZTogc3RyaW5nID0gJ2RlZmF1bHQnO1xyXG4gICAgcHVibGljIHNlbGVjdGVkTW9kZWw6IHN0cmluZztcclxuICAgIHB1YmxpYyBzZWxlY3RlZE1vZGVsczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBwcml2YXRlIF9jb2xsZWN0aW9uOiBhbnlbXSA9IFtdO1xyXG5cclxuICAgIHByaXZhdGUgX2xvdlBvcHVwQ29tcG9uZW50UmVmOiBDb21wb25lbnRSZWY8YW55PjtcclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xyXG4gICAgICAgIHRoaXMuX3NldFNlbGVjdGVkTW9kZWwoKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRNb2RlbENoYW5nZShtb2RlbDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlYXJjaFRlcm0gPSBtb2RlbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWRNb2RlbCAmJiBtb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlYXJjaFRlcm0gPSBtb2RlbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBtb2RlbDtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgaGFuZGxlSW5wdXRLZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKGV2ZW50KSB7XHJcbiAgICAgICAgICAgIGlmIChldmVudC5hbHRLZXkgJiYgZXZlbnQuY29kZSA9PT0gS2V5Ym9hcmRLZXkuRG93biAmJiAhdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMub3BlblBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmKSB7XHJcbiAgICAgICAgICAgICAgICBzd2l0Y2ggKGV2ZW50LmNvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LkRvd246XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE5leHRPcHRpb24oKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgIGNhc2UgS2V5Ym9hcmRLZXkuVXA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2xvdlBvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlLnNlbGVjdE5leHRPcHRpb24odHJ1ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LkVudGVyOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZS5zZWxlY3RPcHRpb25BbmRDbG9zZVBvcHVwKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgICAgICAgICAgICAgICBjYXNlIEtleWJvYXJkS2V5LlRhYjpcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2Uuc2VsZWN0T3B0aW9uQW5kQ2xvc2VQb3B1cCgpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbGVhck1vZGVsKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5zZXRNb2RlbCh1bmRlZmluZWQpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyB0b2dnbGVTZWxlY3QoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzU2VsZWN0T3BlbiA9ICF0aGlzLmlzU2VsZWN0T3BlbjtcclxuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdE9wZW4pIHtcclxuICAgICAgICAgICAgdGhpcy5vcGVuUG9wdXAoKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmNsb3NlUG9wdXAoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zdGF0ZSA9ICh0aGlzLnN0YXRlID09PSAnZGVmYXVsdCcgPyAncm90YXRlZCcgOiAnZGVmYXVsdCcpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvcGVuUG9wdXAoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmlzU2VsZWN0T3BlbiA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZUNvbXBvbmVudChMaXN0T2ZWYWx1ZXNQb3B1cENvbXBvbmVudCwge1xyXG4gICAgICAgICAgICBwYXJlbnRGb3JPdmVybGF5OiB0aGlzLmVsZW1lbnRSZWYsXHJcbiAgICAgICAgICAgIGN1c3RvbUNzc0NsYXNzOiB0aGlzLmN1c3RvbUNzc0NsYXNzLFxyXG4gICAgICAgICAgICBzZWFyY2hEaXNhYmxlZDogdGhpcy5zZWFyY2hEaXNhYmxlZCxcclxuICAgICAgICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMuc2VhcmNoUGxhY2Vob2xkZXIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlGaWVsZDogdGhpcy5kaXNwbGF5RmllbGQsXHJcbiAgICAgICAgICAgIG11bHRpc2VsZWN0OiB0aGlzLm11bHRpc2VsZWN0LFxyXG4gICAgICAgICAgICBtb2RlbDogdGhpcy5tb2RlbCxcclxuICAgICAgICAgICAgY29sbGVjdGlvbjogdGhpcy5jb2xsZWN0aW9uXHJcbiAgICAgICAgfSwge1xyXG4gICAgICAgICAgICBtb2RlbENoYW5nZTogKHZhbHVlKSA9PiB0aGlzLm9wdGlvbkNob3Nlbih2YWx1ZSksXHJcbiAgICAgICAgICAgIGNsb3NlUG9wdXA6ICgpID0+IHRoaXMuY2xvc2VQb3B1cCgpLFxyXG4gICAgICAgICAgICBrZXlEb3duOiAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHRoaXMuaGFuZGxlSW5wdXRLZXlEb3duKGV2ZW50KVxyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRoaXMua2VlcEZvY3Vzc2VkID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgcmVtb3ZlT3B0aW9uRnJvbU1vZGVsKGNoaXA6IGFueSk6IHZvaWQge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpc2VsZWN0KSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlkeDogbnVtYmVyID0gdGhpcy5tb2RlbC5maW5kSW5kZXgobSA9PiBtID09PSBjaGlwKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbC5zcGxpY2UoaWR4LCAxKTtcclxuICAgICAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgb3B0aW9uQ2hvc2VuKG9wdGlvbjogYW55KTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG9wdGlvbikge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXNlbGVjdCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVscyA9IG9wdGlvbi5tYXAobyA9PiBvW3RoaXMuZGlzcGxheUZpZWxkXSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSBvcHRpb25bdGhpcy5kaXNwbGF5RmllbGRdO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMubW9kZWwgPSBvcHRpb247XHJcbiAgICAgICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KHRoaXMubW9kZWwpO1xyXG4gICAgICAgIHRoaXMuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBjbG9zZVBvcHVwKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMua2VlcEZvY3Vzc2VkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5pc1NlbGVjdE9wZW4gPSBmYWxzZTtcclxuICAgICAgICB0aGlzLm92ZXJsYXlTZXJ2aWNlLnJlbW92ZUNvbXBvbmVudCh0aGlzLl9sb3ZQb3B1cENvbXBvbmVudFJlZik7XHJcbiAgICAgICAgdGhpcy5fbG92UG9wdXBDb21wb25lbnRSZWYgPSB1bmRlZmluZWQ7XHJcbiAgICAgICAgdGhpcy5mb2N1c2VkID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIGNoZWNrTW9kZWwoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKCF0aGlzLm11bHRpc2VsZWN0ICYmIHRoaXMuc2VsZWN0ZWRNb2RlbCAmJiB0aGlzLmNvbGxlY3Rpb24pIHtcclxuICAgICAgICAgICAgY29uc3QgbW9kZWw6IGFueSA9IHRoaXMuY29sbGVjdGlvbi5maW5kKGMgPT4gY1t0aGlzLmRpc3BsYXlGaWVsZF0gPT09IHRoaXMuc2VsZWN0ZWRNb2RlbCk7XHJcbiAgICAgICAgICAgIGlmIChtb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IG1vZGVsO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5tb2RlbCA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLm1vZGVsQ2hhbmdlLmVtaXQodGhpcy5tb2RlbCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgX3NldFNlbGVjdGVkTW9kZWwoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMubXVsdGlzZWxlY3QpIHtcclxuICAgICAgICAgICAgaWYgKHRoaXMubW9kZWwpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRNb2RlbHMubGVuZ3RoID0gMDtcclxuICAgICAgICAgICAgICAgIHRoaXMubW9kZWwuZm9yRWFjaChtID0+IHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLnB1c2gobVt0aGlzLmRpc3BsYXlGaWVsZF0pO1xyXG4gICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWxzLmxlbmd0aCA9IDA7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tb2RlbCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZE1vZGVsID0gdGhpcy5tb2RlbFt0aGlzLmRpc3BsYXlGaWVsZF07XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnNlbGVjdGVkTW9kZWwgPSAnJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbn1cclxuIl19
@@ -5,7 +5,7 @@ import { NgModel, FormGroup, FormsModule } from '@angular/forms';
5
5
  import { Subject, merge, fromEvent, BehaviorSubject } from 'rxjs';
6
6
  import { DomSanitizer, HammerGestureConfig, HammerModule, HAMMER_GESTURE_CONFIG } from '@angular/platform-browser';
7
7
  import { trigger, state, style, transition, animate, query, animateChild } from '@angular/animations';
8
- import { CommonModule } from '@angular/common';
8
+ import { CommonModule, DatePipe } from '@angular/common';
9
9
  import { HttpClientModule } from '@angular/common/http';
10
10
  import { auditTime } from 'rxjs/operators';
11
11
  import { PlaneGeometry, Mesh, Vector2, Vector3, MeshPhongMaterial, SpotLight, PerspectiveCamera, Scene, Color, AmbientLight, Fog, WebGLRenderer, Box3 } from 'three';
@@ -10954,6 +10954,7 @@ class ListOfValuesComponent extends BaseInputComponent {
10954
10954
  this.multiselect = false;
10955
10955
  this.displayField = 'description';
10956
10956
  this.searchDisabled = false;
10957
+ this.showChips = true;
10957
10958
  this.isSelectOpen = false;
10958
10959
  this.state = 'default';
10959
10960
  this.selectedModels = [];
@@ -11139,7 +11140,7 @@ ListOfValuesComponent.decorators = [
11139
11140
  (clearIconClick)="clearModel($event)"
11140
11141
  (blur)="checkModel()"
11141
11142
  >
11142
- <ng-container *ngIf="multiselect">
11143
+ <ng-container *ngIf="multiselect && showChips">
11143
11144
  <div class="multiselect-chips-wrapper">
11144
11145
  <div class="chips" *ngFor="let chip of model">
11145
11146
  <span class="chips-description" [textContent]="chip[displayField]"></span>
@@ -11170,6 +11171,7 @@ ListOfValuesComponent.propDecorators = {
11170
11171
  label: [{ type: Input }],
11171
11172
  customCssClass: [{ type: Input }],
11172
11173
  searchDisabled: [{ type: Input }],
11174
+ showChips: [{ type: Input }],
11173
11175
  showClass: [{ type: HostBinding, args: ['class.co-list-of-values',] }]
11174
11176
  };
11175
11177
 
@@ -13685,8 +13687,9 @@ ColorSequenceService.decorators = [
13685
13687
  ];
13686
13688
 
13687
13689
  class HourSchedulingComponent {
13688
- constructor(cdRef) {
13690
+ constructor(cdRef, _datepipe) {
13689
13691
  this.cdRef = cdRef;
13692
+ this._datepipe = _datepipe;
13690
13693
  this.showClass = true;
13691
13694
  this.customTemplateUsed = false;
13692
13695
  this.hours = [];
@@ -13694,21 +13697,27 @@ class HourSchedulingComponent {
13694
13697
  this.draggedObject = null;
13695
13698
  }
13696
13699
  ngOnInit() {
13700
+ if (!this.childProp) {
13701
+ this.startTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.startTimeProp]).toISOString(), 'H:mm'));
13702
+ this.endTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.endTimeProp]).toISOString(), 'H:mm'));
13703
+ }
13704
+ else {
13705
+ this.startTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.childProp][this.startTimeProp]).toISOString(), 'H:mm'));
13706
+ this.endTime = parseInt(this._datepipe.transform(new Date(this.schedule[this.childProp][this.endTimeProp]).toISOString(), 'H:mm'));
13707
+ }
13697
13708
  this.generateTimeBlocks();
13698
13709
  }
13699
13710
  generateTimeBlocks() {
13700
- const startTime = this.schedule[this.startTimeProp];
13701
- const endTime = this.schedule[this.endTimeProp];
13702
13711
  const objectsList = this.schedule[this.objectsProp];
13703
- for (let hour = startTime; hour <= endTime; hour++) {
13712
+ for (let hour = this.startTime; hour <= this.endTime; hour++) {
13704
13713
  this.hours.push(this.formatHour(hour));
13705
- this.scheduledObjects[this.formatHour(hour)] = this.getObjectsForHour(hour, objectsList);
13714
+ this.scheduledObjects[this.formatHour(hour)] = this._getObjectsForHour(hour, objectsList);
13706
13715
  }
13707
13716
  }
13708
- getObjectsForHour(hour, objectsList) {
13717
+ _getObjectsForHour(hour, objectsList) {
13709
13718
  const objectsForHour = [];
13710
- objectsList.forEach(obj => {
13711
- if (obj.start === hour) {
13719
+ objectsList.forEach((obj) => {
13720
+ if (this.convertToHourNotation(obj[this.startTimeProp]) === hour) {
13712
13721
  objectsForHour.push(Object.assign({}, obj));
13713
13722
  }
13714
13723
  });
@@ -13722,28 +13731,52 @@ class HourSchedulingComponent {
13722
13731
  const currentHourSpan = currentTarget.parentElement.parentElement.querySelector('.hour-label span');
13723
13732
  const currentHour = currentHourSpan.textContent;
13724
13733
  this.draggedObject = obj;
13725
- event.dataTransfer.setData('text', JSON.stringify({ obj, currentHour }));
13734
+ event.dataTransfer.setData('text', JSON.stringify({ obj: this.draggedObject, currentHour }));
13735
+ }
13736
+ onCustomDragStart(event, obj) {
13737
+ this.onDragStart(event, obj);
13726
13738
  }
13727
13739
  onDragOver(event) {
13728
13740
  event.preventDefault();
13729
13741
  }
13730
13742
  onDrop(event, hour) {
13731
13743
  event.preventDefault();
13744
+ event.stopPropagation();
13732
13745
  const data = JSON.parse(event.dataTransfer.getData('text'));
13746
+ if (!data || !data.obj) {
13747
+ return;
13748
+ }
13733
13749
  const newStartHour = parseInt(hour.split(':')[0], 10);
13734
13750
  const newEndHour = newStartHour + 1;
13735
- data.obj.start = newStartHour;
13736
- data.obj.end = newEndHour;
13737
- const currentHourBlock = data.currentHour;
13738
- this.scheduledObjects[currentHourBlock] = this.scheduledObjects[currentHourBlock].filter(o => o !== this.draggedObject);
13751
+ const originalStartHour = this.convertToHourNotation(data.obj[this.startTimeProp]);
13752
+ // Get the unique identifier value from the object using the `idProp`
13753
+ const objId = data.obj[this.idProp];
13754
+ // Ensure we create a new object to avoid mutation issues
13755
+ const updatedObject = Object.assign(Object.assign({}, data.obj), { start: newStartHour, end: newEndHour });
13756
+ const updatedObject2 = Object.assign(Object.assign({}, data.obj), { [this.startTimeProp]: this.createDate(newStartHour), [this.endTimeProp]: this.createDate(newEndHour) });
13757
+ // Remove the object from its old hour block using its unique id
13758
+ const originalHourBlock = this.formatHour(originalStartHour);
13759
+ this.scheduledObjects[originalHourBlock] = this.scheduledObjects[originalHourBlock].filter(o => o[this.idProp] !== objId);
13760
+ // Add the object to the new hour block
13739
13761
  const newHourBlock = this.formatHour(newStartHour);
13740
13762
  if (!this.scheduledObjects[newHourBlock]) {
13741
13763
  this.scheduledObjects[newHourBlock] = [];
13742
13764
  }
13743
- this.scheduledObjects[newHourBlock].push(data.obj);
13765
+ this.scheduledObjects[newHourBlock].push(updatedObject2);
13766
+ // Clear the dragged object
13744
13767
  this.draggedObject = null;
13768
+ // Trigger change detection to update the view
13745
13769
  this.cdRef.detectChanges();
13746
13770
  }
13771
+ convertToHourNotation(date) {
13772
+ return parseInt(this._datepipe.transform(new Date(date).toISOString(), 'H:mm'));
13773
+ }
13774
+ createDate(hours) {
13775
+ let date = new Date();
13776
+ date.setHours(hours);
13777
+ date.setMinutes(0, 0, 0);
13778
+ return date;
13779
+ }
13747
13780
  }
13748
13781
  HourSchedulingComponent.decorators = [
13749
13782
  { type: Component, args: [{
@@ -13751,23 +13784,35 @@ HourSchedulingComponent.decorators = [
13751
13784
  template: `
13752
13785
  <div class="time-block" *ngFor="let hour of hours">
13753
13786
  <div class="hour-label"><span [textContent]="hour"></span></div>
13754
- <div class="object-display"
13755
- (dragover)="onDragOver($event)"
13756
- (drop)="onDrop($event, hour)">
13787
+ <div
13788
+ class="object-display"
13789
+ (dragover)="onDragOver($event)"
13790
+ (drop)="onDrop($event, hour)"
13791
+ >
13757
13792
  <ng-container *ngIf="!customTemplateUsed">
13758
13793
  <ng-container *ngIf="scheduledObjects[hour]">
13759
- <div *ngFor="let obj of scheduledObjects[hour]" class="scheduled-object"
13760
- [draggable]="true"
13761
- (dragstart)="onDragStart($event, obj)">
13794
+ <div
13795
+ *ngFor="let obj of scheduledObjects[hour]"
13796
+ class="scheduled-object"
13797
+ [draggable]="true"
13798
+ (dragstart)="onDragStart($event, obj)"
13799
+ >
13762
13800
  <span class="title" [textContent]="obj.title"></span>
13763
13801
  <span class="sub-title" [textContent]="obj.subTitle"></span>
13764
13802
  </div>
13765
13803
  </ng-container>
13766
13804
  </ng-container>
13767
- <ng-template #customContent *ngIf="customTemplateUsed">
13768
- <ng-container *ngTemplateOutlet="customTemplate; context: { objects: scheduledObjects[hour] }">
13769
- </ng-container>
13770
- </ng-template>
13805
+
13806
+ <ng-container *ngIf="customTemplateUsed">
13807
+ <ng-template
13808
+ [ngTemplateOutlet]="customTemplate"
13809
+ [ngTemplateOutletContext]="{
13810
+ hour: hour,
13811
+ objects: scheduledObjects[hour]
13812
+ }"
13813
+ >
13814
+ </ng-template>
13815
+ </ng-container>
13771
13816
  </div>
13772
13817
  </div>
13773
13818
  `,
@@ -13775,16 +13820,19 @@ HourSchedulingComponent.decorators = [
13775
13820
  },] }
13776
13821
  ];
13777
13822
  HourSchedulingComponent.ctorParameters = () => [
13778
- { type: ChangeDetectorRef }
13823
+ { type: ChangeDetectorRef },
13824
+ { type: DatePipe }
13779
13825
  ];
13780
13826
  HourSchedulingComponent.propDecorators = {
13781
- showClass: [{ type: HostBinding, args: ['class.co-hour-scheduling',] }],
13782
13827
  schedule: [{ type: Input }],
13783
13828
  startTimeProp: [{ type: Input }],
13784
13829
  endTimeProp: [{ type: Input }],
13785
13830
  objectsProp: [{ type: Input }],
13831
+ childProp: [{ type: Input }],
13786
13832
  customTemplate: [{ type: Input }],
13787
- customTemplateUsed: [{ type: Input }]
13833
+ customTemplateUsed: [{ type: Input }],
13834
+ idProp: [{ type: Input }],
13835
+ generateTimeBlocks: [{ type: HostBinding, args: ['class.co-hour-scheduling',] }]
13788
13836
  };
13789
13837
 
13790
13838
  class HourSchedulingTestObjectComponent {
@@ -13822,7 +13870,8 @@ HourSchedulingComponentModule.decorators = [
13822
13870
  exports: [
13823
13871
  HourSchedulingComponent,
13824
13872
  HourSchedulingTestObjectComponent
13825
- ]
13873
+ ],
13874
+ providers: [DatePipe]
13826
13875
  },] }
13827
13876
  ];
13828
13877