vcomply-workflow-engine 3.4.31 → 3.4.32

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.
@@ -65,7 +65,6 @@ export class FrequencyDialogTopComponent {
65
65
  onTimeChanged(event) {
66
66
  try {
67
67
  event = event.selectedValue;
68
- console.log('event ===>', event);
69
68
  this.timeData = event;
70
69
  if (typeof this.dateObjectData == 'object') {
71
70
  this.dateObjectData = moment(this.dateObjectData).toDate();
@@ -126,4 +125,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
126
125
  }], yearlyDateChanged: [{
127
126
  type: Output
128
127
  }] } });
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXRvcC9mcmVxdWVuY3ktZGlhbG9nLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFPakUsTUFBTSxPQUFPLDJCQUEyQjtJQWdCdEM7UUFmUyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixPQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0NBQW9DO1FBQzVDLGNBQVMsR0FBRyxVQUFVLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7UUFDckQsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEMsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFzQixJ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QTBCOzBFQUszQixlQUFlO3NCQUF2QixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1kaWFsb2ctdG9wJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dUb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG9jY3VycmVuY2VGaXJzdCA9IDA7XHJcbiAgQElucHV0KCkgaWQgPSAwOyAvLyAwID0gRGFpbHksIDE6IHdlZWtseSwgNTogQW5udWFsbHlcclxuICBASW5wdXQoKSBpbnB1dFRpbWUgPSAnMTE6MDAgcG0nO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeVR5cGUgPSAwOyAvLyAwID0gZGF5cywgMSA9IHdlZWtzICYgMiA9IHllYXJzXHJcbiAgQElucHV0KCkgeWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWRGaXJzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5leHREaXNhYmxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdGltZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB5ZWFybHlEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRvZGF5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZSgpO1xyXG4gIHRpbWVEYXRhID0gJzExOjAwIHBtJztcclxuICBERUZBVUxUX1RJTUUgPSBERUZBVUxUX1RJTUU7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIGVudGVyVmFsdWVGaXJzdChldmVudDogYW55LCBhY3Rpb25UeXBlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmlkICE9PSAwICYmIHRoaXMuaWQgIT09IDEgJiYgdGhpcy5pZCAhPT0gNSkge1xyXG4gICAgICB0aGlzLmVudGVyVmFsdWUodGhpcy5vY2N1cnJlbmNlRmlyc3QsIGFjdGlvblR5cGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KSkgJiZcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KSA+IDBcclxuICAgICkge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCk7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkRmlyc3QuZW1pdCh7XHJcbiAgICAgICAgdHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgICB2YWx1ZTogTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KSxcclxuICAgICAgICBwYWdlTmFtZTogJycsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW50ZXJWYWx1ZShldmVudDogYW55LCBhY3Rpb25UeXBlOiBhbnkpIHtcclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIoZXZlbnQpKSAmJlxyXG4gICAgICBldmVudCAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIoZXZlbnQpID4gMCAmJlxyXG4gICAgICBOdW1iZXIoZXZlbnQpIDwgMzJcclxuICAgICkge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IE51bWJlcihldmVudCk7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkRmlyc3QuZW1pdCh7XHJcbiAgICAgICAgdHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgICB2YWx1ZTogTnVtYmVyKGV2ZW50KSxcclxuICAgICAgICBwYWdlTmFtZTogJycsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRvZGF5KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbW9tZW50KERhdGUubm93KCkpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpPy5zcGxpdCgnICcpWzBdO1xyXG4gIH1cclxuXHJcbiAgb25UaW1lQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBldmVudCA9IGV2ZW50LnNlbGVjdGVkVmFsdWU7XHJcbiAgICAgIGNvbnNvbGUubG9nKCdldmVudCA9PT0+JywgZXZlbnQpO1xyXG4gICAgICB0aGlzLnRpbWVEYXRhID0gZXZlbnQ7XHJcbiAgICAgIGlmICh0eXBlb2YgdGhpcy5kYXRlT2JqZWN0RGF0YSA9PSAnb2JqZWN0Jykge1xyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEgPSBtb21lbnQodGhpcy5kYXRlT2JqZWN0RGF0YSkudG9EYXRlKCk7XHJcbiAgICAgIH1cclxuICAgICAgbGV0IHRpbWVTdGFtcCA9IG1vbWVudChcclxuICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldERhdGUoKSArXHJcbiAgICAgICAgICAnLScgK1xyXG4gICAgICAgICAgKHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0TW9udGgoKSArIDEpICtcclxuICAgICAgICAgICctJyArXHJcbiAgICAgICAgICB0aGlzLmRhdGVPYmplY3REYXRhLmdldEZ1bGxZZWFyKCkgK1xyXG4gICAgICAgICAgJyAnICtcclxuICAgICAgICAgIHRoaXMudGltZURhdGEsXHJcbiAgICAgICAgJ0RELU1NLVlZWVkgaGg6bW0gYSdcclxuICAgICAgKS51bml4KCk7XHJcbiAgICAgIGlmIChEYXRlLm5vdygpIC8gMTAwMCA+IHRpbWVTdGFtcCkge1xyXG4gICAgICAgIHRoaXMubmV4dERpc2FibGUuZW1pdCh0cnVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLm5leHREaXNhYmxlLmVtaXQoZmFsc2UpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudGltZUNoYW5nZWQuZW1pdChldmVudCk7XHJcbiAgICB9IGNhdGNoIChlKSB7XHJcbiAgICAgIGNvbnNvbGUuZXJyb3IoZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlbnRlclllYXJEYXkoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhTnVtYmVyLmlzTmFOKE51bWJlcih0aGlzLnllYXJseURheSkpICYmXHJcbiAgICAgIHRoaXMueWVhcmx5RGF5ICE9PSAwICYmXHJcbiAgICAgIE51bWJlcih0aGlzLnllYXJseURheSkgPiAwICYmXHJcbiAgICAgIE51bWJlcih0aGlzLnllYXJseURheSkgPCAzMlxyXG4gICAgKSB7XHJcbiAgICAgIC8vdGhpcy55ZWFybHlEYXkgPSBOdW1iZXIoZXZlbnQudGFyZ2V0LnZhbHVlKTtcclxuICAgICAgdGhpcy55ZWFybHlEYXRlQ2hhbmdlZC5lbWl0KHRoaXMueWVhcmx5RGF5KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMueWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJmcmVxdWVuY3ktZGlhbG9nLXRvcCB2eC1wLTMgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1yLTNcIj5cclxuICAgIHt7IGlkID09PSAwIHx8IGlkID09PSAxIHx8IGlkID09PSA1ID8gXCJFdmVyeVwiIDogXCJEYXlcIiB9fVxyXG4gIDwvZGl2PlxyXG4gIDxpbnB1dFxyXG4gICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICBbaWRdPVwiJ29jY3VycmVuY2UnICsgaWRcIlxyXG4gICAgWyhuZ01vZGVsKV09XCJvY2N1cnJlbmNlRmlyc3RcIlxyXG4gICAgY2xhc3M9XCJkYXktY291bnRlclwiXHJcbiAgICBvbmtleWRvd249XCJyZXR1cm4gZXZlbnQua2V5Q29kZSAhPT0gMTkwXCJcclxuICAgIG1pbj1cIjBcIlxyXG4gICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXHJcbiAgICAoZm9jdXNvdXQpPVwiZW50ZXJWYWx1ZUZpcnN0KCRldmVudCwgJ29jY3VycmVuY2VGaXJzdCcpXCJcclxuICAvPlxyXG4gIDxkaXZcclxuICAgICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMVwiXHJcbiAgICBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbWwtMyB2eC1tci0zXCJcclxuICA+XHJcbiAgICB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gXCJ3ZWVrc1wiIDogXCJ3ZWVrXCIgfX0gYnlcclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbWwtMyB2eC1tci0zXCJcclxuICAgICpuZ0lmPVwiaWQgIT09IDAgJiYgaWQgIT09IDEgJiYgaWQgIT09IDVcIlxyXG4gID5cclxuICAgIGJ5XHJcbiAgPC9kaXY+XHJcbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZyZXF1ZW5jeVR5cGUgPT09IDJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ2eC1mcy0xMyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LW1sLTMgdngtbXItM1wiPlxyXG4gICAgICB7eyBvY2N1cnJlbmNlRmlyc3QgPiAxID8gXCJ5ZWFyc1wiIDogXCJ5ZWFyXCIgfX0gb24gZGF5XHJcbiAgICA8L2Rpdj5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgdHlwZT1cIm51bWJlclwiXHJcbiAgICAgIFtpZF09XCInb2NjdXJyZW5jZS1kYXknICsgaWRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInllYXJseURheVwiXHJcbiAgICAgIChmb2N1c291dCk9XCJlbnRlclllYXJEYXkoJGV2ZW50KVwiXHJcbiAgICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxyXG4gICAgICBtaW49XCIwXCJcclxuICAgICAgb25pbnB1dD1cInRoaXMudmFsdWUgPSBNYXRoLmFicyh0aGlzLnZhbHVlKVwiXHJcbiAgICAvPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbWwtMyB2eC1tci0zXCI+Ynk8L2Rpdj5cclxuICA8L25nLWNvbnRhaW5lcj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInRpbWUtcGlja2VyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1lbmQgdngtcHItM1wiXHJcbiAgICBhcHBQb3BvdmVyXHJcbiAgICAoY2xpY2spPVwidGltZVBpY2tlci5wb3BvdmVyKClcIlxyXG4gICAgcGxhY2VtZW50PVwicmlnaHRcIlxyXG4gID5cclxuICAgIDxpbnB1dFxyXG4gICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgIFtpZF09XCIndGltZS1waWNrZXItaW5wdXQtdG9wJyArIGlkXCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJpbnB1dFRpbWVcIlxyXG4gICAgICByZWFkb25seVxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwiREVGQVVMVF9USU1FXCJcclxuICAgIC8+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2xvY2staWNvbiB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyXCI+XHJcbiAgICAgIDxpIGNsYXNzPVwiaWNvbnMgdngtZnMtMTIgdngtcGFyYWdyYXBoLXR4dFwiPiYjeGU5NTU7PC9pPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbiAgPGFwcC1wb3BvdmVyICN0aW1lUGlja2VyIFtkb250Q2xvc2VvbkNsaWNrXT1cInRydWVcIj5cclxuICAgIDxhcHAtdGltZS1waWNrZXJcclxuICAgICAgW3RpbWVdPVwiaW5wdXRUaW1lXCJcclxuICAgICAgKG9uVGltZVNlbGVjdGlvbik9XCJvblRpbWVDaGFuZ2VkKCRldmVudCk7IHRpbWVQaWNrZXIuY2xvc2VQb3BvdmVyKCd0b3AnKVwiXHJcbiAgICA+PC9hcHAtdGltZS1waWNrZXI+XHJcbiAgPC9hcHAtcG9wb3Zlcj5cclxuPC9kaXY+XHJcbiJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvc2hhcmVkQ29tcG9uZW50cy9mcmVxdWVuY3ktZGlhbG9nL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3NoYXJlZENvbXBvbmVudHMvZnJlcXVlbmN5LWRpYWxvZy9mcmVxdWVuY3ktZGlhbG9nLXRvcC9mcmVxdWVuY3ktZGlhbG9nLXRvcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sTUFBTSxNQUFNLGVBQWUsQ0FBQztBQUNuQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7Ozs7Ozs7QUFPakUsTUFBTSxPQUFPLDJCQUEyQjtJQWdCdEM7UUFmUyxvQkFBZSxHQUFHLENBQUMsQ0FBQztRQUNwQixPQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsb0NBQW9DO1FBQzVDLGNBQVMsR0FBRyxVQUFVLENBQUM7UUFDdkIsa0JBQWEsR0FBRyxDQUFDLENBQUMsQ0FBQyxrQ0FBa0M7UUFDckQsY0FBUyxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFaEMsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7UUFDMUQsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxnQkFBVyxHQUFzQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3BELHNCQUFpQixHQUFzQixJ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QkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFFSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IG1vbWVudCBmcm9tICdtb21lbnQvbW9tZW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZyZXF1ZW5jeS1kaWFsb2ctdG9wJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZnJlcXVlbmN5LWRpYWxvZy10b3AuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZyZXF1ZW5jeS1kaWFsb2ctdG9wLmNvbXBvbmVudC5sZXNzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGcmVxdWVuY3lEaWFsb2dUb3BDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIG9jY3VycmVuY2VGaXJzdCA9IDA7XHJcbiAgQElucHV0KCkgaWQgPSAwOyAvLyAwID0gRGFpbHksIDE6IHdlZWtseSwgNTogQW5udWFsbHlcclxuICBASW5wdXQoKSBpbnB1dFRpbWUgPSAnMTE6MDAgcG0nO1xyXG4gIEBJbnB1dCgpIGZyZXF1ZW5jeVR5cGUgPSAwOyAvLyAwID0gZGF5cywgMSA9IHdlZWtzICYgMiA9IHllYXJzXHJcbiAgQElucHV0KCkgeWVhcmx5RGF5ID0gbmV3IERhdGUoKS5nZXREYXRlKCk7XHJcblxyXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZWRGaXJzdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIG5leHREaXNhYmxlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuICBAT3V0cHV0KCkgdGltZUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSB5ZWFybHlEYXRlQ2hhbmdlZDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIHRvZGF5RGF0ZSA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZU9iamVjdERhdGEgPSBuZXcgRGF0ZSgpO1xyXG4gIHRpbWVEYXRhID0gJzExOjAwIHBtJztcclxuICBERUZBVUxUX1RJTUUgPSBERUZBVUxUX1RJTUU7XHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHt9XHJcblxyXG4gIGVudGVyVmFsdWVGaXJzdChldmVudDogYW55LCBhY3Rpb25UeXBlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0aGlzLmlkICE9PSAwICYmIHRoaXMuaWQgIT09IDEgJiYgdGhpcy5pZCAhPT0gNSkge1xyXG4gICAgICB0aGlzLmVudGVyVmFsdWUodGhpcy5vY2N1cnJlbmNlRmlyc3QsIGFjdGlvblR5cGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KSkgJiZcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KSA+IDBcclxuICAgICkge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IE51bWJlcih0aGlzLm9jY3VycmVuY2VGaXJzdCk7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkRmlyc3QuZW1pdCh7XHJcbiAgICAgICAgdHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgICB2YWx1ZTogTnVtYmVyKHRoaXMub2NjdXJyZW5jZUZpcnN0KSxcclxuICAgICAgICBwYWdlTmFtZTogJycsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSAxO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZW50ZXJWYWx1ZShldmVudDogYW55LCBhY3Rpb25UeXBlOiBhbnkpIHtcclxuICAgIGlmIChcclxuICAgICAgIU51bWJlci5pc05hTihOdW1iZXIoZXZlbnQpKSAmJlxyXG4gICAgICBldmVudCAhPT0gMCAmJlxyXG4gICAgICBOdW1iZXIoZXZlbnQpID4gMCAmJlxyXG4gICAgICBOdW1iZXIoZXZlbnQpIDwgMzJcclxuICAgICkge1xyXG4gICAgICB0aGlzLm9jY3VycmVuY2VGaXJzdCA9IE51bWJlcihldmVudCk7XHJcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2VkRmlyc3QuZW1pdCh7XHJcbiAgICAgICAgdHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgICB2YWx1ZTogTnVtYmVyKGV2ZW50KSxcclxuICAgICAgICBwYWdlTmFtZTogJycsXHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5vY2N1cnJlbmNlRmlyc3QgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldFRvZGF5KCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbW9tZW50KERhdGUubm93KCkpLmZvcm1hdCgnWVlZWS1NTS1ERCBISDptbTpzcycpPy5zcGxpdCgnICcpWzBdO1xyXG4gIH1cclxuXHJcbiAgb25UaW1lQ2hhbmdlZChldmVudDogYW55KSB7XHJcbiAgICB0cnkge1xyXG4gICAgICBldmVudCA9IGV2ZW50LnNlbGVjdGVkVmFsdWU7XHJcbiAgICAgIHRoaXMudGltZURhdGEgPSBldmVudDtcclxuICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGVPYmplY3REYXRhID09ICdvYmplY3QnKSB7XHJcbiAgICAgICAgdGhpcy5kYXRlT2JqZWN0RGF0YSA9IG1vbWVudCh0aGlzLmRhdGVPYmplY3REYXRhKS50b0RhdGUoKTtcclxuICAgICAgfVxyXG4gICAgICBsZXQgdGltZVN0YW1wID0gbW9tZW50KFxyXG4gICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RGF0ZSgpICtcclxuICAgICAgICAgICctJyArXHJcbiAgICAgICAgICAodGhpcy5kYXRlT2JqZWN0RGF0YS5nZXRNb250aCgpICsgMSkgK1xyXG4gICAgICAgICAgJy0nICtcclxuICAgICAgICAgIHRoaXMuZGF0ZU9iamVjdERhdGEuZ2V0RnVsbFllYXIoKSArXHJcbiAgICAgICAgICAnICcgK1xyXG4gICAgICAgICAgdGhpcy50aW1lRGF0YSxcclxuICAgICAgICAnREQtTU0tWVlZWSBoaDptbSBhJ1xyXG4gICAgICApLnVuaXgoKTtcclxuICAgICAgaWYgKERhdGUubm93KCkgLyAxMDAwID4gdGltZVN0YW1wKSB7XHJcbiAgICAgICAgdGhpcy5uZXh0RGlzYWJsZS5lbWl0KHRydWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMubmV4dERpc2FibGUuZW1pdChmYWxzZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50aW1lQ2hhbmdlZC5lbWl0KGV2ZW50KTtcclxuICAgIH0gY2F0Y2ggKGUpIHtcclxuICAgICAgY29uc29sZS5lcnJvcihlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGVudGVyWWVhckRheShldmVudDogYW55KSB7XHJcbiAgICBpZiAoXHJcbiAgICAgICFOdW1iZXIuaXNOYU4oTnVtYmVyKHRoaXMueWVhcmx5RGF5KSkgJiZcclxuICAgICAgdGhpcy55ZWFybHlEYXkgIT09IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5RGF5KSA+IDAgJiZcclxuICAgICAgTnVtYmVyKHRoaXMueWVhcmx5RGF5KSA8IDMyXHJcbiAgICApIHtcclxuICAgICAgLy90aGlzLnllYXJseURheSA9IE51bWJlcihldmVudC50YXJnZXQudmFsdWUpO1xyXG4gICAgICB0aGlzLnllYXJseURhdGVDaGFuZ2VkLmVtaXQodGhpcy55ZWFybHlEYXkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy55ZWFybHlEYXkgPSBuZXcgRGF0ZSgpLmdldERhdGUoKTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImZyZXF1ZW5jeS1kaWFsb2ctdG9wIHZ4LXAtMyB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbXItM1wiPlxyXG4gICAge3sgaWQgPT09IDAgfHwgaWQgPT09IDEgfHwgaWQgPT09IDUgPyBcIkV2ZXJ5XCIgOiBcIkRheVwiIH19XHJcbiAgPC9kaXY+XHJcbiAgPGlucHV0XHJcbiAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgIFtpZF09XCInb2NjdXJyZW5jZScgKyBpZFwiXHJcbiAgICBbKG5nTW9kZWwpXT1cIm9jY3VycmVuY2VGaXJzdFwiXHJcbiAgICBjbGFzcz1cImRheS1jb3VudGVyXCJcclxuICAgIG9ua2V5ZG93bj1cInJldHVybiBldmVudC5rZXlDb2RlICE9PSAxOTBcIlxyXG4gICAgbWluPVwiMFwiXHJcbiAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcclxuICAgIChmb2N1c291dCk9XCJlbnRlclZhbHVlRmlyc3QoJGV2ZW50LCAnb2NjdXJyZW5jZUZpcnN0JylcIlxyXG4gIC8+XHJcbiAgPGRpdlxyXG4gICAgKm5nSWY9XCJmcmVxdWVuY3lUeXBlID09PSAxXCJcclxuICAgIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIlxyXG4gID5cclxuICAgIHt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyBcIndlZWtzXCIgOiBcIndlZWtcIiB9fSBieVxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIlxyXG4gICAgKm5nSWY9XCJpZCAhPT0gMCAmJiBpZCAhPT0gMSAmJiBpZCAhPT0gNVwiXHJcbiAgPlxyXG4gICAgYnlcclxuICA8L2Rpdj5cclxuICA8bmctY29udGFpbmVyICpuZ0lmPVwiZnJlcXVlbmN5VHlwZSA9PT0gMlwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInZ4LWZzLTEzIHZ4LXBhcmFncmFwaC10eHQgdngtbWwtMyB2eC1tci0zXCI+XHJcbiAgICAgIHt7IG9jY3VycmVuY2VGaXJzdCA+IDEgPyBcInllYXJzXCIgOiBcInllYXJcIiB9fSBvbiBkYXlcclxuICAgIDwvZGl2PlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJudW1iZXJcIlxyXG4gICAgICB0eXBlPVwibnVtYmVyXCJcclxuICAgICAgW2lkXT1cIidvY2N1cnJlbmNlLWRheScgKyBpZFwiXHJcbiAgICAgIFsobmdNb2RlbCldPVwieWVhcmx5RGF5XCJcclxuICAgICAgKGZvY3Vzb3V0KT1cImVudGVyWWVhckRheSgkZXZlbnQpXCJcclxuICAgICAgb25rZXlkb3duPVwicmV0dXJuIGV2ZW50LmtleUNvZGUgIT09IDE5MFwiXHJcbiAgICAgIG1pbj1cIjBcIlxyXG4gICAgICBvbmlucHV0PVwidGhpcy52YWx1ZSA9IE1hdGguYWJzKHRoaXMudmFsdWUpXCJcclxuICAgIC8+XHJcbiAgICA8ZGl2IGNsYXNzPVwidngtZnMtMTMgdngtcGFyYWdyYXBoLXR4dCB2eC1tbC0zIHZ4LW1yLTNcIj5ieTwvZGl2PlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidGltZS1waWNrZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWVuZCB2eC1wci0zXCJcclxuICAgIGFwcFBvcG92ZXJcclxuICAgIChjbGljayk9XCJ0aW1lUGlja2VyLnBvcG92ZXIoKVwiXHJcbiAgICBwbGFjZW1lbnQ9XCJyaWdodFwiXHJcbiAgPlxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgW2lkXT1cIid0aW1lLXBpY2tlci1pbnB1dC10b3AnICsgaWRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImlucHV0VGltZVwiXHJcbiAgICAgIHJlYWRvbmx5XHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJERUZBVUxUX1RJTUVcIlxyXG4gICAgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJjbG9jay1pY29uIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj5cclxuICAgICAgPGkgY2xhc3M9XCJpY29ucyB2eC1mcy0xMiB2eC1wYXJhZ3JhcGgtdHh0XCI+JiN4ZTk1NTs8L2k+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8YXBwLXBvcG92ZXIgI3RpbWVQaWNrZXIgW2RvbnRDbG9zZW9uQ2xpY2tdPVwidHJ1ZVwiPlxyXG4gICAgPGFwcC10aW1lLXBpY2tlclxyXG4gICAgICBbdGltZV09XCJpbnB1dFRpbWVcIlxyXG4gICAgICAob25UaW1lU2VsZWN0aW9uKT1cIm9uVGltZUNoYW5nZWQoJGV2ZW50KTsgdGltZVBpY2tlci5jbG9zZVBvcG92ZXIoJ3RvcCcpXCJcclxuICAgID48L2FwcC10aW1lLXBpY2tlcj5cclxuICA8L2FwcC1wb3BvdmVyPlxyXG48L2Rpdj5cclxuIl19
@@ -22,7 +22,6 @@ export class TimePickerComponent {
22
22
  if (!['00', '30'].includes(time[1])) {
23
23
  time[1] = '00';
24
24
  }
25
- console.log('time ===>', time);
26
25
  this.selectedTime = {
27
26
  HOURS: parseInt(time[0]),
28
27
  MINUTES: time[1],
@@ -34,7 +33,7 @@ export class TimePickerComponent {
34
33
  const scrollStatus = this.getScrollDirection(event);
35
34
  switch (type) {
36
35
  case this.TIME_VARIABLE[0]:
37
- this.hourArray = this.handleMouseWheelEvent(this.hourArray, scrollStatus);
36
+ this.hourArray = this.getNextValuesOnMouseWheel(this.hourArray, scrollStatus);
38
37
  break;
39
38
  case this.TIME_VARIABLE[1]:
40
39
  this.setMinutes(scrollStatus);
@@ -50,32 +49,56 @@ export class TimePickerComponent {
50
49
  this.setDefault();
51
50
  }
52
51
  }
53
- handleMouseWheelEvent(currentValues, direction) {
52
+ /**
53
+ * The function `handleMouseWheelEvent` takes an array of current values and a direction ('up' or
54
+ * 'down') as input, and returns an array of next values based on the direction and the maximum and
55
+ * minimum values.
56
+ * @param {number[]} currentValues - An array of numbers representing the current values.
57
+ * @param {'up' | 'down'} direction - The direction parameter is a string that can have two possible
58
+ * values: 'up' or 'down'. It indicates the direction of the mouse wheel event, whether it is
59
+ * scrolling up or scrolling down.
60
+ * @returns an array of numbers representing the next values based on the current values and the
61
+ * direction of the mouse wheel event.
62
+ */
63
+ getNextValuesOnMouseWheel(currentValues, direction) {
64
+ // Define the maximum and minimum values
54
65
  const maxValue = 12;
55
66
  const minValue = 1;
67
+ // Define the maximum number of elements in the returned array
56
68
  const maxElements = 5;
57
69
  if (direction === 'up') {
58
70
  let nextValues = [];
59
71
  for (let i = 0; i < maxElements; i++) {
60
- let nextValue = currentValues[0] - 1 + i;
72
+ // Calculate the next value by subtracting 1 from the current value
73
+ let nextValue = currentValues[i] - 1;
74
+ // Wrap around if the next value is less than the minimum value
61
75
  if (nextValue < minValue) {
62
- nextValue = maxValue + nextValue;
76
+ // Calculate the wrapped value using modulo operator (%)
77
+ nextValue =
78
+ maxValue - ((minValue - nextValue - 1) % (maxValue - minValue + 1));
63
79
  }
80
+ // Add the next value to the array
64
81
  nextValues.push(nextValue);
65
82
  }
83
+ // Return the array with the next values
66
84
  return nextValues;
67
85
  }
68
86
  if (direction === 'down') {
69
87
  let nextValues = [];
70
88
  for (let i = 0; i < maxElements; i++) {
89
+ // Calculate the next value by adding 1 and the index
71
90
  let nextValue = currentValues[0] + 1 + i;
91
+ // Wrap around if the next value exceeds the maximum value
72
92
  if (nextValue > maxValue) {
73
- nextValue = nextValue - maxValue;
93
+ nextValue = minValue + ((nextValue - maxValue) % maxValue) - 1;
74
94
  }
95
+ // Add the next value to the array
75
96
  nextValues.push(nextValue);
76
97
  }
98
+ // Return the array with the next values
77
99
  return nextValues;
78
100
  }
101
+ // If the direction is neither 'up' nor 'down', return the current values unchanged
79
102
  return currentValues;
80
103
  }
81
104
  onCloseTimePicker(actionType) {
@@ -194,4 +217,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
194
217
  type: Input,
195
218
  args: ['time']
196
219
  }] } });
197
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvdWkta2l0L3RpbWUtcGlja2VyL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC90aW1lLXBpY2tlci90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFRakUsTUFBTSxPQUFPLG1CQUFtQjtJQTJCOUI7UUExQk8sWUFBTyxHQUFhLE9BQU8sQ0FBQztRQUM1QixVQUFLLEdBQWEsS0FBSyxDQUFDO1FBRXhCLGNBQVMsR0FBYSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLGtDQUFrQztRQUNoRSx3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFtQnpDLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFekMsQ0FBQztJQXBCaEIsSUFBbUIsV0FBVyxDQUFDLFNBQWlCO1FBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxTQUFTLEdBQUcsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUNy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ZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFNX1BNLCBNSU5VVEVTLCBUSU1FX1ZBUklBQkxFIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgb3V0cHV0czogWydvblRpbWVTZWxlY3Rpb24nXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyBNSU5VVEVTOiBzdHJpbmdbXSA9IE1JTlVURVM7XHJcbiAgcHVibGljIEFNX1BNOiBzdHJpbmdbXSA9IEFNX1BNO1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRUaW1lOiBhbnk7XHJcbiAgcHVibGljIGhvdXJBcnJheTogbnVtYmVyW10gPSBbOSwgMTAsIDExLCAxMiwgMTNdO1xyXG4gIHB1YmxpYyBUSU1FX1ZBUklBQkxFID0gVElNRV9WQVJJQUJMRTsgLy9bJ0hPVVJTJywgJ01JTlVURVMnLCAnTUVSSURJRU0nXVxyXG4gIHByaXZhdGUgZGVmYXVsdFNlbGVjdGVkVGltZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCd0aW1lJykgc2V0IGRlZmF1bHRUaW1lKGlucHV0VGltZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWlucHV0VGltZSkge1xyXG4gICAgICBpbnB1dFRpbWUgPSBERUZBVUxUX1RJTUU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFRpbWUgPSBpbnB1dFRpbWU7XHJcbiAgICBjb25zdCB0aW1lRGV0YWlscyA9IGlucHV0VGltZS5zcGxpdCgnICcpO1xyXG4gICAgbGV0IHRpbWUgPSB0aW1lRGV0YWlsc1swXS5zcGxpdCgnOicpO1xyXG4gICAgaWYgKCFbJzAwJywgJzMwJ10uaW5jbHVkZXModGltZVsxXSkpIHtcclxuICAgICAgdGltZVsxXSA9ICcwMCc7XHJcbiAgICB9XHJcbiAgICBjb25zb2xlLmxvZygndGltZSA9PT0+JywgdGltZSk7XHJcbiAgICB0aGlzLnNlbGVjdGVkVGltZSA9IHtcclxuICAgICAgSE9VUlM6IHBhcnNlSW50KHRpbWVbMF0pLFxyXG4gICAgICBNSU5VVEVTOiB0aW1lWzFdLFxyXG4gICAgICBNRVJJRElFTTogdGltZURldGFpbHNbMV0/LnRvVXBwZXJDYXNlKCksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIG9uVGltZVNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgb25TY3JvbGwoZXZlbnQ6IGFueSwgdHlwZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBzY3JvbGxTdGF0dXMgPSB0aGlzLmdldFNjcm9sbERpcmVjdGlvbihldmVudCk7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5USU1FX1ZBUklBQkxFWzBdOlxyXG4gICAgICAgIHRoaXMuaG91ckFycmF5ID0gdGhpcy5oYW5kbGVNb3VzZVdoZWVsRXZlbnQoXHJcbiAgICAgICAgICB0aGlzLmhvdXJBcnJheSxcclxuICAgICAgICAgIHNjcm9sbFN0YXR1c1xyXG4gICAgICAgICk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgdGhpcy5USU1FX1ZBUklBQkxFWzFdOlxyXG4gICAgICAgIHRoaXMuc2V0TWludXRlcyhzY3JvbGxTdGF0dXMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuVElNRV9WQVJJQUJMRVsyXTpcclxuICAgICAgICB0aGlzLnNldE1lcmlkaWVtKHNjcm9sbFN0YXR1cyk7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblZhbHVlU2VsZWN0KHZhbHVlOiBzdHJpbmcgfCBudW1iZXIsIHR5cGU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lW3R5cGVdID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuc2V0RGVmYXVsdCgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlTW91c2VXaGVlbEV2ZW50KFxyXG4gICAgY3VycmVudFZhbHVlczogbnVtYmVyW10sXHJcbiAgICBkaXJlY3Rpb246ICd1cCcgfCAnZG93bidcclxuICApOiBudW1iZXJbXSB7XHJcbiAgICBjb25zdCBtYXhWYWx1ZSA9IDEyO1xyXG4gICAgY29uc3QgbWluVmFsdWUgPSAxO1xyXG4gICAgY29uc3QgbWF4RWxlbWVudHMgPSA1O1xyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPT09ICd1cCcpIHtcclxuICAgICAgbGV0IG5leHRWYWx1ZXMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhFbGVtZW50czsgaSsrKSB7XHJcbiAgICAgICAgbGV0IG5leHRWYWx1ZSA9IGN1cnJlbnRWYWx1ZXNbMF0gLSAxICsgaTtcclxuICAgICAgICBpZiAobmV4dFZhbHVlIDwgbWluVmFsdWUpIHtcclxuICAgICAgICAgIG5leHRWYWx1ZSA9IG1heFZhbHVlICsgbmV4dFZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXh0VmFsdWVzLnB1c2gobmV4dFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dFZhbHVlcztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGlyZWN0aW9uID09PSAnZG93bicpIHtcclxuICAgICAgbGV0IG5leHRWYWx1ZXMgPSBbXTtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhFbGVtZW50czsgaSsrKSB7XHJcbiAgICAgICAgbGV0IG5leHRWYWx1ZSA9IGN1cnJlbnRWYWx1ZXNbMF0gKyAxICsgaTtcclxuICAgICAgICBpZiAobmV4dFZhbHVlID4gbWF4VmFsdWUpIHtcclxuICAgICAgICAgIG5leHRWYWx1ZSA9IG5leHRWYWx1ZSAtIG1heFZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXh0VmFsdWVzLnB1c2gobmV4dFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbmV4dFZhbHVlcztcclxuICAgIH1cclxuICAgIHJldHVybiBjdXJyZW50VmFsdWVzO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZVRpbWVQaWNrZXIoYWN0aW9uVHlwZTogJ2NhbmNlbCcgfCAnb2snKTogdm9pZCB7XHJcbiAgICBjb25zdCB0aW1lID1cclxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUuSE9VUlMgK1xyXG4gICAgICAnOicgK1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGltZS5NSU5VVEVTICtcclxuICAgICAgJyAnICtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUuTUVSSURJRU07XHJcbiAgICB0aGlzLm9uVGltZVNlbGVjdGlvbi5lbWl0KHtcclxuICAgICAgYWN0aW9uVHlwZTogYWN0aW9uVHlwZSxcclxuICAgICAgc2VsZWN0ZWRWYWx1ZTogYWN0aW9uVHlwZSA9PT0gJ29rJyA/IHRpbWUgOiB0aGlzLmRlZmF1bHRTZWxlY3RlZFRpbWUsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0U2Nyb2xsRGlyZWN0aW9uKGV2ZW50OiBhbnkpOiAndXAnIHwgJ2Rvd24nIHtcclxuICAgIGlmIChldmVudC5kZWx0YVkgPCAwKSB7XHJcbiAgICAgIHJldHVybiAndXAnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuICdkb3duJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWludXRlcyh0eXBlOiAndXAnIHwgJ2Rvd24nKSB7XHJcbiAgICBpZiAodHlwZSA9PT0gJ3VwJykge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuTUlOVVRFUy5pbmRleE9mKCcwMCcpO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDEpIHtcclxuICAgICAgICB0aGlzLk1JTlVURVMudW5zaGlmdCgnJyk7XHJcbiAgICAgICAgdGhpcy5NSU5VVEVTLnBvcCgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuTUlOVVRFUy5pbmRleE9mKCcwMCcpO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDIpIHtcclxuICAgICAgICB0aGlzLk1JTlVURVMuc2hpZnQoKTtcclxuICAgICAgICB0aGlzLk1JTlVURVMucHVzaCgnJyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuZmluZFNlbGVjdGVkVmFsdWUoVElNRV9WQVJJQUJMRVsxXSwgdGhpcy5NSU5VVEVTKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0TWVyaWRpZW0odHlwZTogJ3VwJyB8ICdkb3duJykge1xyXG4gICAgaWYgKHR5cGUgPT09ICd1cCcpIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLkFNX1BNLmluZGV4T2YoJ0FNJyk7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gMSkge1xyXG4gICAgICAgIHRoaXMuQU1fUE0udW5zaGlmdCgnJyk7XHJcbiAgICAgICAgdGhpcy5BTV9QTS5wb3AoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLkFNX1BNLmluZGV4T2YoJ0FNJyk7XHJcbiAgICAgIGlmIChpbmRleCA9PT0gMikge1xyXG4gICAgICAgIHRoaXMuQU1fUE0uc2hpZnQoKTtcclxuICAgICAgICB0aGlzLkFNX1BNLnB1c2goJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5maW5kU2VsZWN0ZWRWYWx1ZShUSU1FX1ZBUklBQkxFWzJdLCB0aGlzLkFNX1BNKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZmluZFNlbGVjdGVkVmFsdWUodHlwZTogc3RyaW5nLCBhcnJheTogQXJyYXk8YW55Pikge1xyXG4gICAgdGhpcy5zZWxlY3RlZFRpbWVbdHlwZV0gPSBhcnJheVsyXTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGVmYXVsdCgpOiB2b2lkIHtcclxuICAgIGNvbnN0IGRlZmF1bHRIb3VycyA9IHRoaXMuc2VsZWN0ZWRUaW1lLkhPVVJTO1xyXG4gICAgY29uc3QgZGVmYXVsdE1pbnV0ZXMgPSB0aGlzLnNlbGVjdGVkVGltZS5NSU5VVEVTO1xyXG4gICAgY29uc3QgZGVmYXVsdE1lcmlkaWVtID0gdGhpcy5zZWxlY3RlZFRpbWUuTUVSSURJRU07XHJcbiAgICB0aGlzLmhvdXJBcnJheVsyXSA9IGRlZmF1bHRIb3VycztcclxuICAgIHRoaXMuc2V0SG91cnNUb0RlZmF1bHQoZGVmYXVsdEhvdXJzKTtcclxuICAgIGlmIChkZWZhdWx0TWludXRlcyA9PT0gJzMwJykge1xyXG4gICAgICB0aGlzLk1JTlVURVNbMl0gPSBkZWZhdWx0TWludXRlcztcclxuICAgICAgdGhpcy5NSU5VVEVTWzFdID0gJzAwJztcclxuICAgICAgdGhpcy5NSU5VVEVTWzNdID0gJyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLk1JTlVURVNbMV0gPSAnJztcclxuICAgICAgdGhpcy5NSU5VVEVTWzJdID0gJzAwJztcclxuICAgICAgdGhpcy5NSU5VVEVTWzNdID0gJzMwJztcclxuICAgIH1cclxuXHJcbiAgICBpZiAoZGVmYXVsdE1lcmlkaWVtID09PSAnUE0nKSB7XHJcbiAgICAgIHRoaXMuQU1fUE1bMl0gPSBkZWZhdWx0TWVyaWRpZW07XHJcbiAgICAgIHRoaXMuQU1fUE1bMV0gPSAnQU0nO1xyXG4gICAgICB0aGlzLkFNX1BNWzNdID0gJyc7XHJcbiAgICAgIC8vIHRoaXMuc2V0TWVyaWRpZW0oJ3VwJyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLkFNX1BNWzFdID0gJyc7XHJcbiAgICAgIHRoaXMuQU1fUE1bMl0gPSAnQU0nO1xyXG4gICAgICB0aGlzLkFNX1BNWzNdID0gJ1BNJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0SG91cnNUb0RlZmF1bHQoZGVmYXVsdEhvdXJzOiBudW1iZXIpOiB2b2lkIHtcclxuICAgIGxldCBwcmV2SW5kZXggPSAyO1xyXG4gICAgbGV0IG5leHRJbmRleCA9IDE7XHJcbiAgICB0aGlzLmhvdXJBcnJheSA9IHRoaXMuaG91ckFycmF5Lm1hcCgodmFsdWU6IG51bWJlciwgaW5kZXg6IG51bWJlcikgPT4ge1xyXG4gICAgICB2YWx1ZSA9IGRlZmF1bHRIb3VycztcclxuICAgICAgaWYgKGluZGV4IDwgMikge1xyXG4gICAgICAgIHZhbHVlID0gdmFsdWUgLSBwcmV2SW5kZXg7XHJcbiAgICAgICAgaWYgKHZhbHVlIDwgMSkge1xyXG4gICAgICAgICAgdmFsdWUgPSAxMiArIHZhbHVlO1xyXG4gICAgICAgIH1cclxuICAgICAgICBwcmV2SW5kZXgtLTtcclxuICAgICAgfSBlbHNlIGlmIChpbmRleCA+IDIpIHtcclxuICAgICAgICB2YWx1ZSA9IHZhbHVlICsgbmV4dEluZGV4O1xyXG4gICAgICAgIGlmICh2YWx1ZSA+IDEyKSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IHZhbHVlIC0gMTI7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIG5leHRJbmRleCsrO1xyXG4gICAgICB9XHJcblxyXG4gICAgICByZXR1cm4gdmFsdWU7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInRpbWVQaWNrZXJcIj5cclxuICA8ZGl2IGNsYXNzPVwidngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlclwiPlxyXG4gICAgPGRpdiBjbGFzcz1cInRpbWVQaWNrZXItaW5uZXIgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1wLTNcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWVQaWNrZXItY29sdW1uXCIgI2hvdXJfY29sdW1uPlxyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBlYWNoSG91ciBvZiBob3VyQXJyYXk7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0aW1lUGlja2VyLW5vIHZ4LXBhcmFncmFwaC10eHQgdngtZnMtMTQgdngtZnctNTAwIHZ4LW1sLTEgdngtbXItMVwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IDJcIlxyXG4gICAgICAgICAgKG1vdXNld2hlZWwpPVwib25TY3JvbGwoJGV2ZW50LCBUSU1FX1ZBUklBQkxFWzBdKVwiXHJcbiAgICAgICAgICBbaWRdPVwiJ2hvdXJfY29sdW1uXycgKyAoaSArIDEpXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblZhbHVlU2VsZWN0KGVhY2hIb3VyLCBUSU1FX1ZBUklBQkxFWzBdKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImVhY2hIb3VyID4gMCAmJiBlYWNoSG91ciA8IDEzXCI+XHJcbiAgICAgICAgICAgIHt7IGVhY2hIb3VyIH19XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lUGlja2VyLWNvbHVtblwiICNtaW51dGVzX2NvbHVtbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWFjaE1pbnV0ZXMgb2YgTUlOVVRFUzsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICBjbGFzcz1cInRpbWVQaWNrZXItbm8gdngtcGFyYWdyYXBoLXR4dCB2eC1mcy0xNCB2eC1mdy01MDAgdngtbWwtMSB2eC1tci0xXCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gMlwiXHJcbiAgICAgICAgICBbaWRdPVwiJ21pbnV0ZXNfY29sdW1uXycgKyAoaSArIDEpXCJcclxuICAgICAgICAgIChtb3VzZXdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudCwgVElNRV9WQVJJQUJMRVsxXSlcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cIm9uVmFsdWVTZWxlY3QoZWFjaE1pbnV0ZXMsIFRJTUVfVkFSSUFCTEVbMV0pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBlYWNoTWludXRlcyB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWVQaWNrZXItY29sdW1uXCIgI21lcmlkaWVtX2NvbHVtbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWFjaE1lcmlkaWVtIG9mIEFNX1BNOyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgIGNsYXNzPVwidGltZVBpY2tlci1ubyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1tbC0xIHZ4LW1yLTEgdngtdHQtdXBwZXJjYXNlXCJcclxuICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaSA9PT0gMlwiXHJcbiAgICAgICAgICBbaWRdPVwiJ21lcmlkaWVtX2NvbHVtbl8nICsgKGkgKyAxKVwiXHJcbiAgICAgICAgICAobW91c2V3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQsIFRJTUVfVkFSSUFCTEVbMl0pXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblZhbHVlU2VsZWN0KGVhY2hNZXJpZGllbSwgVElNRV9WQVJJQUJMRVsyXSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIHt7IGVhY2hNZXJpZGllbSB9fVxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG4gIDxkaXZcclxuICAgIGNsYXNzPVwidGltZVBpY2tlci1ib3R0b20gdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWJldHdlZW4gdngtcC0yXCJcclxuICA+XHJcbiAgICA8YnV0dG9uXHJcbiAgICAgIChjbGljayk9XCJvbkNsb3NlVGltZVBpY2tlcignY2FuY2VsJylcIlxyXG4gICAgICBjbGFzcz1cImNhbmNlbC1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC1ibHVlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtMiB2eC1wci0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTZcIlxyXG4gICAgPlxyXG4gICAgICBDQU5DRUxcclxuICAgIDwvYnV0dG9uPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwib25DbG9zZVRpbWVQaWNrZXIoJ29rJylcIlxyXG4gICAgICBjbGFzcz1cIm9rLWJ0biB2eC1mcy0xMSB2eC1mdy01MDAgdngtdHh0LXdoaXRlIHZ4LXR0LXVwcGVyY2FzZSB2eC1wLTAgdngtcGwtMiB2eC1wci0yIHZ4LW0tMCB2eC1kLWZsZXggdngtYWxpZ24tY2VudGVyIHZ4LWp1c3RpZnktY2VudGVyIHZ4LWxoLTZcIlxyXG4gICAgPlxyXG4gICAgICBPS1xyXG4gICAgPC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
220
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdngtd29ya2Zsb3ctZW5naW5lL3NyYy9saWIvdWkta2l0L3RpbWUtcGlja2VyL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Z4LXdvcmtmbG93LWVuZ2luZS9zcmMvbGliL3VpLWtpdC90aW1lLXBpY2tlci90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFRakUsTUFBTSxPQUFPLG1CQUFtQjtJQTBCOUI7UUF6Qk8sWUFBTyxHQUFhLE9BQU8sQ0FBQztRQUM1QixVQUFLLEdBQWEsS0FBSyxDQUFDO1FBRXhCLGNBQVMsR0FBYSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMxQyxrQkFBYSxHQUFHLGFBQWEsQ0FBQyxDQUFDLGtDQUFrQztRQUNoRSx3QkFBbUIsR0FBVyxFQUFFLENBQUM7UUFrQnpDLG9CQUFlLEdBQXNCLElBQUksWUFBWSxFQUFFLENBQUM7SUFFekMsQ0FBQztJQW5CaEIsSUFBbUIsV0FBVyxDQUFDLFNBQWlCO1FBQzlDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxTQUFTLEdBQUcsWUFBWSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUNy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WUFFRCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7Z0hBL05VLG1CQUFtQjtvR0FBbkIsbUJBQW1CLDBKQ1ZoQyxpL0VBNERBOzJGRGxEYSxtQkFBbUI7a0JBTi9CLFNBQVM7K0JBQ0UsaUJBQWlCLFdBR2xCLENBQUMsaUJBQWlCLENBQUM7MEVBU1QsV0FBVztzQkFBN0IsS0FBSzt1QkFBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFNX1BNLCBNSU5VVEVTLCBUSU1FX1ZBUklBQkxFIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbnN0YW50JztcclxuaW1wb3J0IHsgREVGQVVMVF9USU1FIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3RpbWUuY29uc3RhbnRzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLXRpbWUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGlja2VyLmNvbXBvbmVudC5sZXNzJ10sXHJcbiAgb3V0cHV0czogWydvblRpbWVTZWxlY3Rpb24nXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQge1xyXG4gIHB1YmxpYyBNSU5VVEVTOiBzdHJpbmdbXSA9IE1JTlVURVM7XHJcbiAgcHVibGljIEFNX1BNOiBzdHJpbmdbXSA9IEFNX1BNO1xyXG4gIHByaXZhdGUgc2VsZWN0ZWRUaW1lOiBhbnk7XHJcbiAgcHVibGljIGhvdXJBcnJheTogbnVtYmVyW10gPSBbOSwgMTAsIDExLCAxMiwgMTNdO1xyXG4gIHB1YmxpYyBUSU1FX1ZBUklBQkxFID0gVElNRV9WQVJJQUJMRTsgLy9bJ0hPVVJTJywgJ01JTlVURVMnLCAnTUVSSURJRU0nXVxyXG4gIHByaXZhdGUgZGVmYXVsdFNlbGVjdGVkVGltZTogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCd0aW1lJykgc2V0IGRlZmF1bHRUaW1lKGlucHV0VGltZTogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWlucHV0VGltZSkge1xyXG4gICAgICBpbnB1dFRpbWUgPSBERUZBVUxUX1RJTUU7XHJcbiAgICB9XHJcbiAgICB0aGlzLmRlZmF1bHRTZWxlY3RlZFRpbWUgPSBpbnB1dFRpbWU7XHJcbiAgICBjb25zdCB0aW1lRGV0YWlscyA9IGlucHV0VGltZS5zcGxpdCgnICcpO1xyXG4gICAgbGV0IHRpbWUgPSB0aW1lRGV0YWlsc1swXS5zcGxpdCgnOicpO1xyXG4gICAgaWYgKCFbJzAwJywgJzMwJ10uaW5jbHVkZXModGltZVsxXSkpIHtcclxuICAgICAgdGltZVsxXSA9ICcwMCc7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkVGltZSA9IHtcclxuICAgICAgSE9VUlM6IHBhcnNlSW50KHRpbWVbMF0pLFxyXG4gICAgICBNSU5VVEVTOiB0aW1lWzFdLFxyXG4gICAgICBNRVJJRElFTTogdGltZURldGFpbHNbMV0/LnRvVXBwZXJDYXNlKCksXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXREZWZhdWx0KCk7XHJcbiAgfVxyXG4gIG9uVGltZVNlbGVjdGlvbjogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgb25TY3JvbGwoZXZlbnQ6IGFueSwgdHlwZTogYW55KTogdm9pZCB7XHJcbiAgICBjb25zdCBzY3JvbGxTdGF0dXMgPSB0aGlzLmdldFNjcm9sbERpcmVjdGlvbihldmVudCk7XHJcblxyXG4gICAgc3dpdGNoICh0eXBlKSB7XHJcbiAgICAgIGNhc2UgdGhpcy5USU1FX1ZBUklBQkxFWzBdOlxyXG4gICAgICAgIHRoaXMuaG91ckFycmF5ID0gdGhpcy5nZXROZXh0VmFsdWVzT25Nb3VzZVdoZWVsKFxyXG4gICAgICAgICAgdGhpcy5ob3VyQXJyYXksXHJcbiAgICAgICAgICBzY3JvbGxTdGF0dXNcclxuICAgICAgICApO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICBjYXNlIHRoaXMuVElNRV9WQVJJQUJMRVsxXTpcclxuICAgICAgICB0aGlzLnNldE1pbnV0ZXMoc2Nyb2xsU3RhdHVzKTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgY2FzZSB0aGlzLlRJTUVfVkFSSUFCTEVbMl06XHJcbiAgICAgICAgdGhpcy5zZXRNZXJpZGllbShzY3JvbGxTdGF0dXMpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb25WYWx1ZVNlbGVjdCh2YWx1ZTogc3RyaW5nIHwgbnVtYmVyLCB0eXBlOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGltZVt0eXBlXSA9IHZhbHVlO1xyXG4gICAgICB0aGlzLnNldERlZmF1bHQoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKlxyXG4gICAqIFRoZSBmdW5jdGlvbiBgaGFuZGxlTW91c2VXaGVlbEV2ZW50YCB0YWtlcyBhbiBhcnJheSBvZiBjdXJyZW50IHZhbHVlcyBhbmQgYSBkaXJlY3Rpb24gKCd1cCcgb3JcclxuICAgKiAnZG93bicpIGFzIGlucHV0LCBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiBuZXh0IHZhbHVlcyBiYXNlZCBvbiB0aGUgZGlyZWN0aW9uIGFuZCB0aGUgbWF4aW11bSBhbmRcclxuICAgKiBtaW5pbXVtIHZhbHVlcy5cclxuICAgKiBAcGFyYW0ge251bWJlcltdfSBjdXJyZW50VmFsdWVzIC0gQW4gYXJyYXkgb2YgbnVtYmVycyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgdmFsdWVzLlxyXG4gICAqIEBwYXJhbSB7J3VwJyB8ICdkb3duJ30gZGlyZWN0aW9uIC0gVGhlIGRpcmVjdGlvbiBwYXJhbWV0ZXIgaXMgYSBzdHJpbmcgdGhhdCBjYW4gaGF2ZSB0d28gcG9zc2libGVcclxuICAgKiB2YWx1ZXM6ICd1cCcgb3IgJ2Rvd24nLiBJdCBpbmRpY2F0ZXMgdGhlIGRpcmVjdGlvbiBvZiB0aGUgbW91c2Ugd2hlZWwgZXZlbnQsIHdoZXRoZXIgaXQgaXNcclxuICAgKiBzY3JvbGxpbmcgdXAgb3Igc2Nyb2xsaW5nIGRvd24uXHJcbiAgICogQHJldHVybnMgYW4gYXJyYXkgb2YgbnVtYmVycyByZXByZXNlbnRpbmcgdGhlIG5leHQgdmFsdWVzIGJhc2VkIG9uIHRoZSBjdXJyZW50IHZhbHVlcyBhbmQgdGhlXHJcbiAgICogZGlyZWN0aW9uIG9mIHRoZSBtb3VzZSB3aGVlbCBldmVudC5cclxuICAgKi9cclxuICBnZXROZXh0VmFsdWVzT25Nb3VzZVdoZWVsKFxyXG4gICAgY3VycmVudFZhbHVlczogbnVtYmVyW10sXHJcbiAgICBkaXJlY3Rpb246ICd1cCcgfCAnZG93bidcclxuICApOiBudW1iZXJbXSB7XHJcbiAgICAvLyBEZWZpbmUgdGhlIG1heGltdW0gYW5kIG1pbmltdW0gdmFsdWVzXHJcbiAgICBjb25zdCBtYXhWYWx1ZSA9IDEyO1xyXG4gICAgY29uc3QgbWluVmFsdWUgPSAxO1xyXG5cclxuICAgIC8vIERlZmluZSB0aGUgbWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhlIHJldHVybmVkIGFycmF5XHJcbiAgICBjb25zdCBtYXhFbGVtZW50cyA9IDU7XHJcblxyXG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gJ3VwJykge1xyXG4gICAgICBsZXQgbmV4dFZhbHVlcyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heEVsZW1lbnRzOyBpKyspIHtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG5leHQgdmFsdWUgYnkgc3VidHJhY3RpbmcgMSBmcm9tIHRoZSBjdXJyZW50IHZhbHVlXHJcbiAgICAgICAgbGV0IG5leHRWYWx1ZSA9IGN1cnJlbnRWYWx1ZXNbaV0gLSAxO1xyXG4gICAgICAgIC8vIFdyYXAgYXJvdW5kIGlmIHRoZSBuZXh0IHZhbHVlIGlzIGxlc3MgdGhhbiB0aGUgbWluaW11bSB2YWx1ZVxyXG4gICAgICAgIGlmIChuZXh0VmFsdWUgPCBtaW5WYWx1ZSkge1xyXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSB3cmFwcGVkIHZhbHVlIHVzaW5nIG1vZHVsbyBvcGVyYXRvciAoJSlcclxuICAgICAgICAgIG5leHRWYWx1ZSA9XHJcbiAgICAgICAgICAgIG1heFZhbHVlIC0gKChtaW5WYWx1ZSAtIG5leHRWYWx1ZSAtIDEpICUgKG1heFZhbHVlIC0gbWluVmFsdWUgKyAxKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFkZCB0aGUgbmV4dCB2YWx1ZSB0byB0aGUgYXJyYXlcclxuICAgICAgICBuZXh0VmFsdWVzLnB1c2gobmV4dFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBSZXR1cm4gdGhlIGFycmF5IHdpdGggdGhlIG5leHQgdmFsdWVzXHJcbiAgICAgIHJldHVybiBuZXh0VmFsdWVzO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChkaXJlY3Rpb24gPT09ICdkb3duJykge1xyXG4gICAgICBsZXQgbmV4dFZhbHVlcyA9IFtdO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1heEVsZW1lbnRzOyBpKyspIHtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG5leHQgdmFsdWUgYnkgYWRkaW5nIDEgYW5kIHRoZSBpbmRleFxyXG4gICAgICAgIGxldCBuZXh0VmFsdWUgPSBjdXJyZW50VmFsdWVzWzBdICsgMSArIGk7XHJcbiAgICAgICAgLy8gV3JhcCBhcm91bmQgaWYgdGhlIG5leHQgdmFsdWUgZXhjZWVkcyB0aGUgbWF4aW11bSB2YWx1ZVxyXG4gICAgICAgIGlmIChuZXh0VmFsdWUgPiBtYXhWYWx1ZSkge1xyXG4gICAgICAgICAgbmV4dFZhbHVlID0gbWluVmFsdWUgKyAoKG5leHRWYWx1ZSAtIG1heFZhbHVlKSAlIG1heFZhbHVlKSAtIDE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIC8vIEFkZCB0aGUgbmV4dCB2YWx1ZSB0byB0aGUgYXJyYXlcclxuICAgICAgICBuZXh0VmFsdWVzLnB1c2gobmV4dFZhbHVlKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBSZXR1cm4gdGhlIGFycmF5IHdpdGggdGhlIG5leHQgdmFsdWVzXHJcbiAgICAgIHJldHVybiBuZXh0VmFsdWVzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIElmIHRoZSBkaXJlY3Rpb24gaXMgbmVpdGhlciAndXAnIG5vciAnZG93bicsIHJldHVybiB0aGUgY3VycmVudCB2YWx1ZXMgdW5jaGFuZ2VkXHJcbiAgICByZXR1cm4gY3VycmVudFZhbHVlcztcclxuICB9XHJcblxyXG4gIG9uQ2xvc2VUaW1lUGlja2VyKGFjdGlvblR5cGU6ICdjYW5jZWwnIHwgJ29rJyk6IHZvaWQge1xyXG4gICAgY29uc3QgdGltZSA9XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lLkhPVVJTICtcclxuICAgICAgJzonICtcclxuICAgICAgdGhpcy5zZWxlY3RlZFRpbWUuTUlOVVRFUyArXHJcbiAgICAgICcgJyArXHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lLk1FUklESUVNO1xyXG4gICAgdGhpcy5vblRpbWVTZWxlY3Rpb24uZW1pdCh7XHJcbiAgICAgIGFjdGlvblR5cGU6IGFjdGlvblR5cGUsXHJcbiAgICAgIHNlbGVjdGVkVmFsdWU6IGFjdGlvblR5cGUgPT09ICdvaycgPyB0aW1lIDogdGhpcy5kZWZhdWx0U2VsZWN0ZWRUaW1lLFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFNjcm9sbERpcmVjdGlvbihldmVudDogYW55KTogJ3VwJyB8ICdkb3duJyB7XHJcbiAgICBpZiAoZXZlbnQuZGVsdGFZIDwgMCkge1xyXG4gICAgICByZXR1cm4gJ3VwJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiAnZG93bic7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1pbnV0ZXModHlwZTogJ3VwJyB8ICdkb3duJykge1xyXG4gICAgaWYgKHR5cGUgPT09ICd1cCcpIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLk1JTlVURVMuaW5kZXhPZignMDAnKTtcclxuICAgICAgaWYgKGluZGV4ID09PSAxKSB7XHJcbiAgICAgICAgdGhpcy5NSU5VVEVTLnVuc2hpZnQoJycpO1xyXG4gICAgICAgIHRoaXMuTUlOVVRFUy5wb3AoKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLk1JTlVURVMuaW5kZXhPZignMDAnKTtcclxuICAgICAgaWYgKGluZGV4ID09PSAyKSB7XHJcbiAgICAgICAgdGhpcy5NSU5VVEVTLnNoaWZ0KCk7XHJcbiAgICAgICAgdGhpcy5NSU5VVEVTLnB1c2goJycpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZpbmRTZWxlY3RlZFZhbHVlKFRJTUVfVkFSSUFCTEVbMV0sIHRoaXMuTUlOVVRFUyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldE1lcmlkaWVtKHR5cGU6ICd1cCcgfCAnZG93bicpIHtcclxuICAgIGlmICh0eXBlID09PSAndXAnKSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5BTV9QTS5pbmRleE9mKCdBTScpO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDEpIHtcclxuICAgICAgICB0aGlzLkFNX1BNLnVuc2hpZnQoJycpO1xyXG4gICAgICAgIHRoaXMuQU1fUE0ucG9wKCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5BTV9QTS5pbmRleE9mKCdBTScpO1xyXG4gICAgICBpZiAoaW5kZXggPT09IDIpIHtcclxuICAgICAgICB0aGlzLkFNX1BNLnNoaWZ0KCk7XHJcbiAgICAgICAgdGhpcy5BTV9QTS5wdXNoKCcnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZmluZFNlbGVjdGVkVmFsdWUoVElNRV9WQVJJQUJMRVsyXSwgdGhpcy5BTV9QTSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRTZWxlY3RlZFZhbHVlKHR5cGU6IHN0cmluZywgYXJyYXk6IEFycmF5PGFueT4pIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRUaW1lW3R5cGVdID0gYXJyYXlbMl07XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldERlZmF1bHQoKTogdm9pZCB7XHJcbiAgICBjb25zdCBkZWZhdWx0SG91cnMgPSB0aGlzLnNlbGVjdGVkVGltZS5IT1VSUztcclxuICAgIGNvbnN0IGRlZmF1bHRNaW51dGVzID0gdGhpcy5zZWxlY3RlZFRpbWUuTUlOVVRFUztcclxuICAgIGNvbnN0IGRlZmF1bHRNZXJpZGllbSA9IHRoaXMuc2VsZWN0ZWRUaW1lLk1FUklESUVNO1xyXG4gICAgdGhpcy5ob3VyQXJyYXlbMl0gPSBkZWZhdWx0SG91cnM7XHJcbiAgICB0aGlzLnNldEhvdXJzVG9EZWZhdWx0KGRlZmF1bHRIb3Vycyk7XHJcbiAgICBpZiAoZGVmYXVsdE1pbnV0ZXMgPT09ICczMCcpIHtcclxuICAgICAgdGhpcy5NSU5VVEVTWzJdID0gZGVmYXVsdE1pbnV0ZXM7XHJcbiAgICAgIHRoaXMuTUlOVVRFU1sxXSA9ICcwMCc7XHJcbiAgICAgIHRoaXMuTUlOVVRFU1szXSA9ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5NSU5VVEVTWzFdID0gJyc7XHJcbiAgICAgIHRoaXMuTUlOVVRFU1syXSA9ICcwMCc7XHJcbiAgICAgIHRoaXMuTUlOVVRFU1szXSA9ICczMCc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRlZmF1bHRNZXJpZGllbSA9PT0gJ1BNJykge1xyXG4gICAgICB0aGlzLkFNX1BNWzJdID0gZGVmYXVsdE1lcmlkaWVtO1xyXG4gICAgICB0aGlzLkFNX1BNWzFdID0gJ0FNJztcclxuICAgICAgdGhpcy5BTV9QTVszXSA9ICcnO1xyXG4gICAgICAvLyB0aGlzLnNldE1lcmlkaWVtKCd1cCcpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5BTV9QTVsxXSA9ICcnO1xyXG4gICAgICB0aGlzLkFNX1BNWzJdID0gJ0FNJztcclxuICAgICAgdGhpcy5BTV9QTVszXSA9ICdQTSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHNldEhvdXJzVG9EZWZhdWx0KGRlZmF1bHRIb3VyczogbnVtYmVyKTogdm9pZCB7XHJcbiAgICBsZXQgcHJldkluZGV4ID0gMjtcclxuICAgIGxldCBuZXh0SW5kZXggPSAxO1xyXG4gICAgdGhpcy5ob3VyQXJyYXkgPSB0aGlzLmhvdXJBcnJheS5tYXAoKHZhbHVlOiBudW1iZXIsIGluZGV4OiBudW1iZXIpID0+IHtcclxuICAgICAgdmFsdWUgPSBkZWZhdWx0SG91cnM7XHJcbiAgICAgIGlmIChpbmRleCA8IDIpIHtcclxuICAgICAgICB2YWx1ZSA9IHZhbHVlIC0gcHJldkluZGV4O1xyXG4gICAgICAgIGlmICh2YWx1ZSA8IDEpIHtcclxuICAgICAgICAgIHZhbHVlID0gMTIgKyB2YWx1ZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcHJldkluZGV4LS07XHJcbiAgICAgIH0gZWxzZSBpZiAoaW5kZXggPiAyKSB7XHJcbiAgICAgICAgdmFsdWUgPSB2YWx1ZSArIG5leHRJbmRleDtcclxuICAgICAgICBpZiAodmFsdWUgPiAxMikge1xyXG4gICAgICAgICAgdmFsdWUgPSB2YWx1ZSAtIDEyO1xyXG4gICAgICAgIH1cclxuICAgICAgICBuZXh0SW5kZXgrKztcclxuICAgICAgfVxyXG5cclxuICAgICAgcmV0dXJuIHZhbHVlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJ0aW1lUGlja2VyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1jZW50ZXJcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJ0aW1lUGlja2VyLWlubmVyIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtcC0zXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lUGlja2VyLWNvbHVtblwiICNob3VyX2NvbHVtbj5cclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAqbmdGb3I9XCJsZXQgZWFjaEhvdXIgb2YgaG91ckFycmF5OyBsZXQgaSA9IGluZGV4XCJcclxuICAgICAgICAgIGNsYXNzPVwidGltZVBpY2tlci1ubyB2eC1wYXJhZ3JhcGgtdHh0IHZ4LWZzLTE0IHZ4LWZ3LTUwMCB2eC1tbC0xIHZ4LW1yLTFcIlxyXG4gICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpID09PSAyXCJcclxuICAgICAgICAgIChtb3VzZXdoZWVsKT1cIm9uU2Nyb2xsKCRldmVudCwgVElNRV9WQVJJQUJMRVswXSlcIlxyXG4gICAgICAgICAgW2lkXT1cIidob3VyX2NvbHVtbl8nICsgKGkgKyAxKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWx1ZVNlbGVjdChlYWNoSG91ciwgVElNRV9WQVJJQUJMRVswXSlcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJlYWNoSG91ciA+IDAgJiYgZWFjaEhvdXIgPCAxM1wiPlxyXG4gICAgICAgICAgICB7eyBlYWNoSG91ciB9fVxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwidGltZVBpY2tlci1jb2x1bW5cIiAjbWludXRlc19jb2x1bW4+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGVhY2hNaW51dGVzIG9mIE1JTlVURVM7IGxldCBpID0gaW5kZXhcIlxyXG4gICAgICAgICAgY2xhc3M9XCJ0aW1lUGlja2VyLW5vIHZ4LXBhcmFncmFwaC10eHQgdngtZnMtMTQgdngtZnctNTAwIHZ4LW1sLTEgdngtbXItMVwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IDJcIlxyXG4gICAgICAgICAgW2lkXT1cIidtaW51dGVzX2NvbHVtbl8nICsgKGkgKyAxKVwiXHJcbiAgICAgICAgICAobW91c2V3aGVlbCk9XCJvblNjcm9sbCgkZXZlbnQsIFRJTUVfVkFSSUFCTEVbMV0pXCJcclxuICAgICAgICAgIChjbGljayk9XCJvblZhbHVlU2VsZWN0KGVhY2hNaW51dGVzLCBUSU1FX1ZBUklBQkxFWzFdKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAge3sgZWFjaE1pbnV0ZXMgfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ0aW1lUGlja2VyLWNvbHVtblwiICNtZXJpZGllbV9jb2x1bW4+XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGVhY2hNZXJpZGllbSBvZiBBTV9QTTsgbGV0IGkgPSBpbmRleFwiXHJcbiAgICAgICAgICBjbGFzcz1cInRpbWVQaWNrZXItbm8gdngtcGFyYWdyYXBoLXR4dCB2eC1mcy0xNCB2eC1mdy01MDAgdngtbWwtMSB2eC1tci0xIHZ4LXR0LXVwcGVyY2FzZVwiXHJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IDJcIlxyXG4gICAgICAgICAgW2lkXT1cIidtZXJpZGllbV9jb2x1bW5fJyArIChpICsgMSlcIlxyXG4gICAgICAgICAgKG1vdXNld2hlZWwpPVwib25TY3JvbGwoJGV2ZW50LCBUSU1FX1ZBUklBQkxFWzJdKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwib25WYWx1ZVNlbGVjdChlYWNoTWVyaWRpZW0sIFRJTUVfVkFSSUFCTEVbMl0pXCJcclxuICAgICAgICA+XHJcbiAgICAgICAgICB7eyBlYWNoTWVyaWRpZW0gfX1cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cInRpbWVQaWNrZXItYm90dG9tIHZ4LWQtZmxleCB2eC1hbGlnbi1jZW50ZXIgdngtanVzdGlmeS1iZXR3ZWVuIHZ4LXAtMlwiXHJcbiAgPlxyXG4gICAgPGJ1dHRvblxyXG4gICAgICAoY2xpY2spPVwib25DbG9zZVRpbWVQaWNrZXIoJ2NhbmNlbCcpXCJcclxuICAgICAgY2xhc3M9XCJjYW5jZWwtYnRuIHZ4LWZzLTExIHZ4LWZ3LTUwMCB2eC10eHQtYmx1ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBsLTIgdngtcHItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC02XCJcclxuICAgID5cclxuICAgICAgQ0FOQ0VMXHJcbiAgICA8L2J1dHRvbj5cclxuICAgIDxidXR0b25cclxuICAgICAgKGNsaWNrKT1cIm9uQ2xvc2VUaW1lUGlja2VyKCdvaycpXCJcclxuICAgICAgY2xhc3M9XCJvay1idG4gdngtZnMtMTEgdngtZnctNTAwIHZ4LXR4dC13aGl0ZSB2eC10dC11cHBlcmNhc2UgdngtcC0wIHZ4LXBsLTIgdngtcHItMiB2eC1tLTAgdngtZC1mbGV4IHZ4LWFsaWduLWNlbnRlciB2eC1qdXN0aWZ5LWNlbnRlciB2eC1saC02XCJcclxuICAgID5cclxuICAgICAgT0tcclxuICAgIDwvYnV0dG9uPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
@@ -8948,7 +8948,6 @@ class TimePickerComponent {
8948
8948
  if (!['00', '30'].includes(time[1])) {
8949
8949
  time[1] = '00';
8950
8950
  }
8951
- console.log('time ===>', time);
8952
8951
  this.selectedTime = {
8953
8952
  HOURS: parseInt(time[0]),
8954
8953
  MINUTES: time[1],
@@ -8960,7 +8959,7 @@ class TimePickerComponent {
8960
8959
  const scrollStatus = this.getScrollDirection(event);
8961
8960
  switch (type) {
8962
8961
  case this.TIME_VARIABLE[0]:
8963
- this.hourArray = this.handleMouseWheelEvent(this.hourArray, scrollStatus);
8962
+ this.hourArray = this.getNextValuesOnMouseWheel(this.hourArray, scrollStatus);
8964
8963
  break;
8965
8964
  case this.TIME_VARIABLE[1]:
8966
8965
  this.setMinutes(scrollStatus);
@@ -8976,32 +8975,56 @@ class TimePickerComponent {
8976
8975
  this.setDefault();
8977
8976
  }
8978
8977
  }
8979
- handleMouseWheelEvent(currentValues, direction) {
8978
+ /**
8979
+ * The function `handleMouseWheelEvent` takes an array of current values and a direction ('up' or
8980
+ * 'down') as input, and returns an array of next values based on the direction and the maximum and
8981
+ * minimum values.
8982
+ * @param {number[]} currentValues - An array of numbers representing the current values.
8983
+ * @param {'up' | 'down'} direction - The direction parameter is a string that can have two possible
8984
+ * values: 'up' or 'down'. It indicates the direction of the mouse wheel event, whether it is
8985
+ * scrolling up or scrolling down.
8986
+ * @returns an array of numbers representing the next values based on the current values and the
8987
+ * direction of the mouse wheel event.
8988
+ */
8989
+ getNextValuesOnMouseWheel(currentValues, direction) {
8990
+ // Define the maximum and minimum values
8980
8991
  const maxValue = 12;
8981
8992
  const minValue = 1;
8993
+ // Define the maximum number of elements in the returned array
8982
8994
  const maxElements = 5;
8983
8995
  if (direction === 'up') {
8984
8996
  let nextValues = [];
8985
8997
  for (let i = 0; i < maxElements; i++) {
8986
- let nextValue = currentValues[0] - 1 + i;
8998
+ // Calculate the next value by subtracting 1 from the current value
8999
+ let nextValue = currentValues[i] - 1;
9000
+ // Wrap around if the next value is less than the minimum value
8987
9001
  if (nextValue < minValue) {
8988
- nextValue = maxValue + nextValue;
9002
+ // Calculate the wrapped value using modulo operator (%)
9003
+ nextValue =
9004
+ maxValue - ((minValue - nextValue - 1) % (maxValue - minValue + 1));
8989
9005
  }
9006
+ // Add the next value to the array
8990
9007
  nextValues.push(nextValue);
8991
9008
  }
9009
+ // Return the array with the next values
8992
9010
  return nextValues;
8993
9011
  }
8994
9012
  if (direction === 'down') {
8995
9013
  let nextValues = [];
8996
9014
  for (let i = 0; i < maxElements; i++) {
9015
+ // Calculate the next value by adding 1 and the index
8997
9016
  let nextValue = currentValues[0] + 1 + i;
9017
+ // Wrap around if the next value exceeds the maximum value
8998
9018
  if (nextValue > maxValue) {
8999
- nextValue = nextValue - maxValue;
9019
+ nextValue = minValue + ((nextValue - maxValue) % maxValue) - 1;
9000
9020
  }
9021
+ // Add the next value to the array
9001
9022
  nextValues.push(nextValue);
9002
9023
  }
9024
+ // Return the array with the next values
9003
9025
  return nextValues;
9004
9026
  }
9027
+ // If the direction is neither 'up' nor 'down', return the current values unchanged
9005
9028
  return currentValues;
9006
9029
  }
9007
9030
  onCloseTimePicker(actionType) {
@@ -9180,7 +9203,6 @@ class FrequencyDialogTopComponent {
9180
9203
  onTimeChanged(event) {
9181
9204
  try {
9182
9205
  event = event.selectedValue;
9183
- console.log('event ===>', event);
9184
9206
  this.timeData = event;
9185
9207
  if (typeof this.dateObjectData == 'object') {
9186
9208
  this.dateObjectData = moment(this.dateObjectData).toDate();