@agorapulse/ui-components 2.5.1 → 2.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/agorapulse-ui-components-2.5.2.tgz +0 -0
- package/agorapulse-ui-components.metadata.json +1 -1
- package/bundles/agorapulse-ui-components.umd.js +2 -2
- package/bundles/agorapulse-ui-components.umd.js.map +1 -1
- package/esm2015/src/lib/neo-timepicker/neo-timepicker.component.js +3 -3
- package/fesm2015/agorapulse-ui-components.js +2 -2
- package/fesm2015/agorapulse-ui-components.js.map +1 -1
- package/package.json +2 -2
- package/agorapulse-ui-components-2.5.1.tgz +0 -0
|
@@ -74,7 +74,7 @@ export class NeoTimepickerComponent {
|
|
|
74
74
|
this.TIME_OPTION_HEIGHT = 387;
|
|
75
75
|
this.TIME_PICKER_DEFAULT_WIDTH = 96;
|
|
76
76
|
this.TIME_PICKER_MERIDIAN_WIDTH = 152;
|
|
77
|
-
this.ROW_HEIGHT =
|
|
77
|
+
this.ROW_HEIGHT = 34;
|
|
78
78
|
this.hours = [];
|
|
79
79
|
this.minutes = [];
|
|
80
80
|
this.position = null;
|
|
@@ -345,7 +345,7 @@ NeoTimepickerComponent.decorators = [
|
|
|
345
345
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
346
346
|
selector: 'ap-neo-timepicker',
|
|
347
347
|
template: "<div class=\"time-picker-container\">\n <ng-template #timeOptionsTemplate>\n <div class=\"time-picker-options\"\n [class.meridian]=\"format === TimeFormat.Meridian\"\n *ngIf=\"timepickerOpened\"\n #timepicker\n >\n <div class=\"header\">\n <span> {{ i18n.hourLabel }} </span>\n <span> {{ i18n.minuteLabel }} </span>\n <span *ngIf=\"format === TimeFormat.Meridian\"> {{ i18n.meridianLabel }} </span>\n </div>\n <div class=\"content\">\n <div class=\"selector\">\n <span>:</span>\n <span *ngIf=\"format === TimeFormat.Meridian\"></span>\n </div>\n <div class=\"options\"\n #hourOptions>\n <div class=\"invisible-block\"></div>\n <div *ngFor=\"let hour of hours;\"\n class=\"option\"\n [id]=\"'hour-' + hour\"\n [class.selected]=\"hour === selectedHour\"\n (click)=\"onSelectHour(hour)\">\n {{ hour }}\n </div>\n <div class=\"invisible-block\"></div>\n </div>\n <div class=\"divider\"></div>\n <div class=\"options\"\n #minutesOptions>\n <div class=\"invisible-block\"></div>\n <div *ngFor=\"let minute of minutes;\"\n class=\"option\"\n [id]=\"'minute-' + minute\"\n [class.selected]=\"minute === selectedMinute\"\n (click)=\"onSelectMinute(minute)\">\n {{ minute }}\n </div>\n <div class=\"invisible-block\"></div>\n </div>\n <div *ngIf=\"format === TimeFormat.Meridian\"\n class=\"divider\"></div>\n <div *ngIf=\"format === TimeFormat.Meridian\"\n class=\"options\"\n #meridiansOptions>\n <div class=\"invisible-block\"></div>\n <div *ngFor=\"let meridian of meridians;\"\n class=\"option\"\n [id]=\"'meridian-' + meridian\"\n [class.selected]=\"selectedMeridian === meridian\"\n (click)=\"onSelectMeridian(meridian)\">\n {{ meridian }}\n </div>\n <div class=\"invisible-block\"></div>\n </div>\n </div>\n <div class=\"buttons\">\n <button mat-flat-button\n class=\"full-width\"\n color=\"primary\"\n (click)=\"onSaveSelection()\">\n {{ i18n.doneLabel }}\n </button>\n <button mat-flat-button\n class=\"full-width\"\n (click)=\"onCancelSelection()\">\n {{ i18n.cancelLabel }}\n </button>\n </div>\n </div>\n </ng-template>\n <input #inputBox\n class=\"time-input\"\n placement=\"bottom right\"\n color=\"secondary\"\n [class.active]=\"timepickerOpened\"\n [class.invalid]=\"invalid\"\n [apPopmenu]=\"timeOptionsTemplate\"\n [apPopmenuBackground]=\"false\"\n [apPopmenuBorder]=\"false\"\n [apPopmenuDisabled]=\"timepickerOpened\"\n [apTooltipNeo]=\"{content: invalidationMessage, display: invalidationMessage && invalid}\"\n [close]=\"timepickerClosed\"\n [disabled]=\"disabled\"\n [imask]=\"format === TimeFormat.Meridian ? imaskMeridian : imaskDefault\"\n [(ngModel)]=\"timeModel\"\n [pointer]=\"true\"\n [position]=\"position\"\n [rounded]=\"true\"\n [shadow]=\"false\"\n (click)=\"onOpenTimepicker()\"\n (complete)=\"onMaskValidateComplete($event)\"\n (menuClosed)=\"onTimePickerClosed()\"\n (menuOpened)=\"onTimepickerOpened()\">\n</div>\n",
|
|
348
|
-
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.time-picker-container{display:flex}.time-input{width:80px;max-width:80px;text-align:center;padding:0;margin:0;height:36px;line-height:24px}.time-input.active{border-color:#178dfe}.time-picker-options{display:flex;flex-direction:column;width:96px;margin-top:8px;max-width:96px;height:379px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 3px 10px #00000014}.time-picker-options.meridian{width:152px;max-width:152px}.time-picker-options .header{display:flex;align-items:center;min-height:29px;border-bottom:1px solid #eaecef;color:#344563;font-size:12px;line-height:18px}.time-picker-options .header>span{flex:1;text-align:center}.time-picker-options .content{display:flex;position:relative;min-height:252px;overflow:hidden}.time-picker-options .content .selector{display:flex;justify-content:space-evenly;align-items:center;background-color:#f9f9fa;border-top:1px solid #eaecef;border-bottom:1px solid #eaecef;width:100%;height:34px;position:absolute;top:50%;transform:translateY(-50%);z-index:4;box-sizing:border-box}.time-picker-options .content .divider{height:100%;width:1px;background:#eaecef}.time-picker-options .content .options{flex:1;height:100%;overflow-y:scroll;z-index:5;scroll-snap-type:y mandatory;-ms-overflow-style:none;scrollbar-width:none}.time-picker-options .content .options::-webkit-scrollbar{display:none}.time-picker-options .content .options .invisible-block{min-height:109px;max-height:109px;width:100%}.time-picker-options .content .options .option{min-height:34px;display:flex;z-index:5;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center;padding-block:1px}.time-picker-options .content .options .option:hover{color:#178dfe;cursor:pointer}.time-picker-options .content .options .option.selected{color:#344563!important}.time-picker-options .content .meridian{flex:1;display:flex;flex-direction:column;justify-content:center}.time-picker-options .content .meridian>div{min-height:34px;display:flex;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center}.time-picker-options .buttons{display:flex;flex-direction:column;padding:8px;min-height:96px;border-top:1px solid #eaecef;grid-gap:8px;gap:8px}.time-picker-options .buttons button{font-weight:700;min-width:80px}"]
|
|
348
|
+
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.time-picker-container{display:flex}.time-input{width:80px;max-width:80px;text-align:center;padding:0;margin:0;height:36px;line-height:24px}.time-input.active{border-color:#178dfe}.time-picker-options{display:flex;flex-direction:column;width:96px;margin-top:8px;max-width:96px;height:379px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 3px 10px #00000014}.time-picker-options.meridian{width:152px;max-width:152px}.time-picker-options .header{display:flex;align-items:center;min-height:29px;border-bottom:1px solid #eaecef;color:#344563;font-size:12px;line-height:18px}.time-picker-options .header>span{flex:1;text-align:center}.time-picker-options .content{display:flex;position:relative;min-height:252px;overflow:hidden}.time-picker-options .content .selector{display:flex;justify-content:space-evenly;align-items:center;background-color:#f9f9fa;border-top:1px solid #eaecef;border-bottom:1px solid #eaecef;width:100%;height:34px;position:absolute;top:50%;transform:translateY(-50%);z-index:4;box-sizing:border-box}.time-picker-options .content .divider{height:100%;width:1px;background:#eaecef}.time-picker-options .content .options{flex:1;height:100%;overflow-y:scroll;z-index:5;scroll-snap-type:y mandatory;-ms-overflow-style:none;scrollbar-width:none}.time-picker-options .content .options::-webkit-scrollbar{display:none}.time-picker-options .content .options .invisible-block{min-height:109px;max-height:109px;width:100%}.time-picker-options .content .options .option{min-height:34px;display:flex;z-index:5;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center;padding-block:1px;box-sizing:border-box}.time-picker-options .content .options .option:hover{color:#178dfe;cursor:pointer}.time-picker-options .content .options .option.selected{color:#344563!important}.time-picker-options .content .meridian{flex:1;display:flex;flex-direction:column;justify-content:center}.time-picker-options .content .meridian>div{min-height:34px;display:flex;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center}.time-picker-options .buttons{display:flex;flex-direction:column;padding:8px;min-height:96px;border-top:1px solid #eaecef;grid-gap:8px;gap:8px}.time-picker-options .buttons button{font-weight:700;min-width:80px}"]
|
|
349
349
|
},] }
|
|
350
350
|
];
|
|
351
351
|
/** @nocollapse */
|
|
@@ -368,4 +368,4 @@ NeoTimepickerComponent.propDecorators = {
|
|
|
368
368
|
timeModelChange: [{ type: Output }],
|
|
369
369
|
onKeypress: [{ type: HostListener, args: ['window:keydown', ['$event'],] }]
|
|
370
370
|
};
|
|
371
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLXRpbWVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvbmVvLXRpbWVwaWNrZXIvbmVvLXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUNILFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLDREQUE0RDtBQUM1RCxPQUFPLEVBQVEsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFnQnRFLE1BQU0sT0FBTyxzQkFBc0I7SUE2Ry9CLFlBQW1CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckc5QyxTQUFJLEdBQWdDO1lBQ3pDLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxRQUFRO1NBQ3hCLENBQUM7UUFDTyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3hDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCBmb3JtYXQgZnJvbSBcImRhdGUtZm5zL2Zvcm1hdFwiO1xuaW1wb3J0IHBhcnNlIGZyb20gXCJkYXRlLWZucy9wYXJzZVwiO1xuaW1wb3J0IElNYXNrIGZyb20gXCJpbWFza1wiO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIG1hcCxcbiAgICB0YWtlVW50aWwsXG59IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuLy8gRklYTUUgTW92ZSB0aGVzZSBtb2RlbHMgd2hlbiB3ZSByZW1vdmUgdGhlIG9sZCB0aW1lcGlja2VyXG5pbXBvcnQgeyBUaW1lLCBUaW1lRm9ybWF0IH0gZnJvbSBcIi4uL3RpbWVwaWNrZXIvdGltZXBpY2tlci5jb21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lUGlja2VyVHJhbnNsYXRlZFN0cmluZ3Mge1xuICAgIGhvdXJMYWJlbDogc3RyaW5nO1xuICAgIG1pbnV0ZUxhYmVsOiBzdHJpbmc7XG4gICAgbWVyaWRpYW5MYWJlbDogc3RyaW5nO1xuICAgIGRvbmVMYWJlbDogc3RyaW5nO1xuICAgIGNhbmNlbExhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtbmVvLXRpbWVwaWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZW8tdGltZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmVvLXRpbWVwaWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZW9UaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRCb3gnKSBpbnB1dEJveDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdob3VyT3B0aW9ucycpIGhvdXJPcHRpb25zOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ21pbnV0ZXNPcHRpb25zJykgbWludXRlc09wdGlvbnM6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbWVyaWRpYW5zT3B0aW9ucycpIG1lcmlkaWFuc09wdGlvbnM6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgndGltZXBpY2tlcicpIHRpbWVwaWNrZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBpMThuOiBUaW1lUGlja2VyVHJhbnNsYXRlZFN0cmluZ3MgPSB7XG4gICAgICAgIGhvdXJMYWJlbDogJ0hvdXInLFxuICAgICAgICBtaW51dGVMYWJlbDogJ01pbnV0ZScsXG4gICAgICAgIG1lcmlkaWFuTGFiZWw6ICdBTS9QTScsXG4gICAgICAgIGRvbmVMYWJlbDogJ0RvbmUnLFxuICAgICAgICBjYW5jZWxMYWJlbDogJ0NhbmNlbCcsXG4gICAgfTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGZvcm1hdDogVGltZUZvcm1hdCA9IFRpbWVGb3JtYXQuRGVmYXVsdDtcbiAgICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaW52YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuICAgIEBJbnB1dCgpIHRpbWVNb2RlbDogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIHRpbWVNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPFRpbWU+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaW1lPigpO1xuXG4gICAgcmVhZG9ubHkgbWVyaWRpYW5zOiBzdHJpbmdbXSA9IFsnQU0nLCAnUE0nXTtcbiAgICByZWFkb25seSBpbWFza0RlZmF1bHQgPSB7XG4gICAgICAgIG1hc2s6ICdISDpNTScsXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgSEg6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgICAgIHRvOiAyMyxcbiAgICAgICAgICAgICAgICBhdXRvZml4OiAncGFkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICAgICAgdG86IDU5LFxuICAgICAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJlYWRvbmx5IGltYXNrTWVyaWRpYW4gPSB7XG4gICAgICAgIG1hc2s6ICdISDpNTSBBTVBNJyxcbiAgICAgICAgYmxvY2tzOiB7XG4gICAgICAgICAgICBISDoge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDEyLFxuICAgICAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1NOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgICAgICB0bzogNTksXG4gICAgICAgICAgICAgICAgYXV0b2ZpeDogJ3BhZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQU1QTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZEVudW0sXG4gICAgICAgICAgICAgICAgZW51bTogWydBTScsICdQTSddXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxhenk6IGZhbHNlLFxuICAgICAgICBwcmVwYXJlOiBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IEVOVEVSX0tFWTogc3RyaW5nID0gJ0VudGVyJztcbiAgICByZWFkb25seSBFU0NBUEVfS0VZOiBzdHJpbmcgPSAnRXNjYXBlJztcbiAgICByZWFkb25seSBGSVhfTlVNQkVSOiBudW1iZXIgPSAxMDtcbiAgICByZWFkb25seSBIT1VSU19NQVg6IG51bWJlciA9IDI0O1xuICAgIHJlYWRvbmx5IEhPVVJTX01FUklESUFOX01BWDogbnVtYmVyID0gMTI7XG4gICAgcmVhZG9ubHkgTUFSR0lOOiBudW1iZXIgPSA4O1xuICAgIHJlYWRvbmx5IE1JTlVURVNfTUFYOiBudW1iZXIgPSA2MDtcbiAgICByZWFkb25seSBUSU1FX09QVElPTl9IRUlHSFQ6IG51bWJlciA9IDM4NztcbiAgICByZWFkb25seSBUSU1FX1BJQ0tFUl9ERUZBVUxUX1dJRFRIOiBudW1iZXIgPSA5NjtcbiAgICByZWFkb25seSBUSU1FX1BJQ0tFUl9NRVJJRElBTl9XSURUSDogbnVtYmVyID0gMTUyO1xuICAgIHJlYWRvbmx5IFJPV19IRUlHSFQ6IG51bWJlciA9IDM2O1xuXG4gICAgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD47XG4gICAgaG91cnM6IHN0cmluZ1tdID0gW107XG4gICAgaG91cnNTY3JvbGxPYnNlcnZlciQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBtZXJpZGlhbnNTY3JvbGxPYnNlcnZlciQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBtaW51dGVzU2Nyb2xsT2JzZXJ2ZXIkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgbWludXRlczogc3RyaW5nW10gPSBbXTtcbiAgICBwb3NpdGlvbjogeyB0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyIH0gPSBudWxsO1xuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZztcbiAgICBzZWxlY3RlZEhvdXI6IHN0cmluZztcbiAgICBzZWxlY3RlZE1pbnV0ZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkTWVyaWRpYW46IHN0cmluZztcbiAgICB0aW1lcGlja2VyQ2xvc2VkOiBib29sZWFuO1xuICAgIHRpbWVwaWNrZXJPcGVuZWQ6IGJvb2xlYW47XG4gICAgVGltZUZvcm1hdCA9IFRpbWVGb3JtYXQ7XG4gICAgdGltZUZvcm1hdDogc3RyaW5nO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXBpY2tlck9wZW5lZCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09IHRoaXMuRU5URVJfS0VZKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09IHRoaXMuRVNDQVBFX0tFWSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DYW5jZWxTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpbWVTbG90cygpO1xuICAgICAgICB0aGlzLm9uVGltZU1vZGVsQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVUaW1lU2xvdHMoKTtcbiAgICAgICAgaWYgKGNoYW5nZXMuZm9ybWF0Py5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudGltZUZvcm1hdCA9IHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0LkRlZmF1bHQgPyAnSEg6bW0nIDogJ2hoOm1tIGEnO1xuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0LkRlZmF1bHQgJiYgdGhpcy5tZXJpZGlhbnMuc29tZShtZXJpZGlhbiA9PiB0aGlzLnRpbWVNb2RlbD8uZW5kc1dpdGgobWVyaWRpYW4pKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZU1vZGVsID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC5jb252ZXJ0MTJUbzI0KHRoaXMudGltZU1vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuTWVyaWRpYW4gJiYgdGhpcy5tZXJpZGlhbnMuZXZlcnkobWVyaWRpYW4gPT4gIXRoaXMudGltZU1vZGVsPy5lbmRzV2l0aChtZXJpZGlhbikpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSBOZW9UaW1lcGlja2VyQ29tcG9uZW50LmNvbnZlcnQyNFRvMTIodGhpcy50aW1lTW9kZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5wbGFjZW1lbnQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lUGlja2VyUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5mb3JtYXQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lUGlja2VyUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3BlblRpbWVwaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB0aGlzLnRpbWVNb2RlbDtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyT3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyQ2xvc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZVBpY2tlclBvc2l0aW9uKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVsZW1lbnRQb3NpdGlvbignbWludXRlJywgdGhpcy5zZWxlY3RlZE1pbnV0ZSwgJ2F1dG8nKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxlbWVudFBvc2l0aW9uKCdob3VyJywgdGhpcy5zZWxlY3RlZEhvdXIsICdhdXRvJyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVsZW1lbnRQb3NpdGlvbignbWVyaWRpYW4nLCB0aGlzLnNlbGVjdGVkTWVyaWRpYW4sICdhdXRvJyk7XG4gICAgICAgICAgICB0aGlzLmlucHV0Qm94Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRCb3gubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICAgICAgfSwgMSlcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvblRpbWVwaWNrZXJPcGVuZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG91cnNTY3JvbGxPYnNlcnZlciQgPSB0aGlzLm9uT2JzZXJ2ZUVsZW1lbnRTY3JvbGwodGhpcy5ob3VyT3B0aW9ucy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5taW51dGVzU2Nyb2xsT2JzZXJ2ZXIkID0gdGhpcy5vbk9ic2VydmVFbGVtZW50U2Nyb2xsKHRoaXMubWludXRlc09wdGlvbnMubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5ob3Vyc1Njcm9sbE9ic2VydmVyJC5zdWJzY3JpYmUoKGluZGV4VG9TY3JvbGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZU1vZGVsKHRoaXMuaG91cnNbaW5kZXhUb1Njcm9sbF0sIHRoaXMuc2VsZWN0ZWRNaW51dGUsIHRoaXMuc2VsZWN0ZWRNZXJpZGlhbik7XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMubWludXRlc1Njcm9sbE9ic2VydmVyJC5zdWJzY3JpYmUoKGluZGV4VG9TY3JvbGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZU1vZGVsKHRoaXMuc2VsZWN0ZWRIb3VyLCB0aGlzLm1pbnV0ZXNbaW5kZXhUb1Njcm9sbF0sIHRoaXMuc2VsZWN0ZWRNZXJpZGlhbik7XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0Lk1lcmlkaWFuKSB7XG4gICAgICAgICAgICB0aGlzLm1lcmlkaWFuc1Njcm9sbE9ic2VydmVyJCA9IHRoaXMub25PYnNlcnZlRWxlbWVudFNjcm9sbCh0aGlzLm1lcmlkaWFuc09wdGlvbnMubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLm1lcmlkaWFuc1Njcm9sbE9ic2VydmVyJC5zdWJzY3JpYmUoKGluZGV4VG9TY3JvbGwpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVNb2RlbCh0aGlzLnNlbGVjdGVkSG91ciwgdGhpcy5zZWxlY3RlZE1pbnV0ZSwgdGhpcy5tZXJpZGlhbnNbaW5kZXhUb1Njcm9sbF0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgb25PYnNlcnZlRWxlbWVudFNjcm9sbChlbGVtZW50OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKGVsZW1lbnQuc2Nyb2xsVG9wIC8gdGhpcy5ST1dfSEVJR0hUKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBvblRpbWVQaWNrZXJDbG9zZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DYW5jZWxTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvblRpbWVNb2RlbENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBpZiAodGhpcy50aW1lTW9kZWwpIHtcbiAgICAgICAgICAgIGRhdGUgPSBwYXJzZSh0aGlzLnRpbWVNb2RlbCwgdGhpcy50aW1lRm9ybWF0LCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRpbWVNb2RlbCA9IGZvcm1hdChkYXRlLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgICBpZiAoIXRoaXMucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdGhpcy50aW1lTW9kZWw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGpzSG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0Lk1lcmlkaWFuKSB7XG4gICAgICAgICAgICBpZiAoanNIb3VyID4gMTIpIHtcbiAgICAgICAgICAgICAgICBqc0hvdXIgPSBqc0hvdXIgLSAxMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEpTIGRvZXNuJ3QgaGFuZGxlIHdlbGwgQU0vUE0gaG91ciBzbyAxMjo1MyBQTSB3aWxsIGJlIDAwOjUzIC4uLlxuICAgICAgICAgICAgaWYgKGpzSG91ciA9PSAwKSB7XG4gICAgICAgICAgICAgICAganNIb3VyID0gMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3VyID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGpzSG91ci50b1N0cmluZygpLCAxMCk7XG4gICAgICAgIGlmIChob3VyICE9IHRoaXMuc2VsZWN0ZWRIb3VyKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGhvdXI7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVsZW1lbnRQb3NpdGlvbignaG91cicsIHRoaXMuc2VsZWN0ZWRIb3VyLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWludXRlID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCksIDEwKTtcbiAgICAgICAgaWYgKG1pbnV0ZSAhPSB0aGlzLnNlbGVjdGVkTWludXRlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbWludXRlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGVtZW50UG9zaXRpb24oJ21pbnV0ZScsIHRoaXMuc2VsZWN0ZWRNaW51dGUsICdhdXRvJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuTWVyaWRpYW4gJiYgdGhpcy5zZWxlY3RlZE1lcmlkaWFuICE9PSB0aGlzLnRpbWVNb2RlbC5zcGxpdCgnICcpWzFdKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVyaWRpYW4gPSB0aGlzLnRpbWVNb2RlbC5zcGxpdCgnICcpWzFdO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGVtZW50UG9zaXRpb24oJ21lcmlkaWFuJywgdGhpcy5zZWxlY3RlZE1lcmlkaWFuLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEhvdXIoaG91cjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZU1vZGVsKGhvdXIsIHRoaXMuc2VsZWN0ZWRNaW51dGUsIHRoaXMuc2VsZWN0ZWRNZXJpZGlhbik7XG4gICAgfVxuXG4gICAgb25TZWxlY3RNaW51dGUobWludXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lTW9kZWwodGhpcy5zZWxlY3RlZEhvdXIsIG1pbnV0ZSwgdGhpcy5zZWxlY3RlZE1lcmlkaWFuKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdE1lcmlkaWFuKG1lcmlkaWFuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lTW9kZWwodGhpcy5zZWxlY3RlZEhvdXIsIHRoaXMuc2VsZWN0ZWRNaW51dGUsIG1lcmlkaWFuKTtcbiAgICB9XG5cbiAgICBvblNhdmVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IHRoaXMudGltZU1vZGVsO1xuICAgICAgICB0aGlzLnRpbWVwaWNrZXJDbG9zZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnRpbWVwaWNrZXJPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdGltZU1vZGVsVmFsdWUgPSBwYXJzZSh0aGlzLnRpbWVNb2RlbCwgdGhpcy50aW1lRm9ybWF0LCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgdGhpcy50aW1lTW9kZWxDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICBob3VyczogdGltZU1vZGVsVmFsdWUuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgIG1pbnV0ZXM6IHRpbWVNb2RlbFZhbHVlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGltZU1vZGVsID0gdGhpcy5wcmV2aW91c1ZhbHVlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uTWFza1ZhbGlkYXRlQ29tcGxldGUodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZU1vZGVsICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uVGltZU1vZGVsQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGltZU1vZGVsKGhvdXI6IHN0cmluZywgbWludXRlOiBzdHJpbmcsIG1lcmlkaWFuPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gVGltZUZvcm1hdC5NZXJpZGlhbikge1xuICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSBgJHtob3VyfToke21pbnV0ZX0gJHttZXJpZGlhbn1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSBgJHtob3VyfToke21pbnV0ZX1gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVFbGVtZW50UG9zaXRpb24oZWxlbWVudFR5cGU6ICdob3VyJyB8ICdtaW51dGUnIHwgJ21lcmlkaWFuJywgaWQ6IHN0cmluZywgc2Nyb2xsQmVoYXZpb3I6ICdhdXRvJyB8ICdzbW9vdGgnKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlbGVtZW50VHlwZX0tJHtpZH1gKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgc2Nyb2xsQmVoYXZpb3JcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCwgYmVoYXZpb3I6ICdhdXRvJyB8ICdzbW9vdGgnID0gJ2F1dG8nKSB7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3IsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bGxmaWxsIG1pbnV0ZXMgYW5kIGhvdXJzIGFycmF5cyBsaWtlIFswLCAxLCAyIC4uLiAxMl0gYW5kIFswLCAxLCAyLCAuLi4gNTldXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVRpbWVTbG90cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3VycyA9IFtdO1xuICAgICAgICB0aGlzLm1pbnV0ZXMgPSBbTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKDAsIHRoaXMuRklYX05VTUJFUildO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLkhPVVJTX01FUklESUFOX01BWDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleFRvQWRkID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGksIHRoaXMuRklYX05VTUJFUik7XG4gICAgICAgICAgICB0aGlzLmhvdXJzLnB1c2goaW5kZXhUb0FkZCk7XG4gICAgICAgICAgICB0aGlzLm1pbnV0ZXMucHVzaChpbmRleFRvQWRkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuRGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5ob3VycyA9IFtOZW9UaW1lcGlja2VyQ29tcG9uZW50LnRvRml4ZWQoMCwgdGhpcy5GSVhfTlVNQkVSKSwgLi4udGhpcy5ob3Vyc107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTM7IGkgPCB0aGlzLkhPVVJTX01BWDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3Vycy5wdXNoKE5lb1RpbWVwaWNrZXJDb21wb25lbnQudG9GaXhlZChpLCB0aGlzLkZJWF9OVU1CRVIpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSAxMzsgaSA8IHRoaXMuTUlOVVRFU19NQVg7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5taW51dGVzLnB1c2goTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGksIHRoaXMuRklYX05VTUJFUikpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUaW1lUGlja2VyUG9zaXRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Qm94Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEJveEJvdW5kcyA9IHRoaXMuaW5wdXRCb3gubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gaW5wdXRCb3hCb3VuZHMudG9wIC0gdGhpcy5USU1FX09QVElPTl9IRUlHSFQgLSB0aGlzLk1BUkdJTjtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uID0gaW5wdXRCb3hCb3VuZHMudG9wICsgaW5wdXRCb3hCb3VuZHMuaGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgdGltZVBpY2tlcldpZHRoID0gdGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuTWVyaWRpYW4gPyB0aGlzLlRJTUVfUElDS0VSX01FUklESUFOX1dJRFRIOiB0aGlzLlRJTUVfUElDS0VSX0RFRkFVTFRfV0lEVEg7XG4gICAgICAgICAgICBjb25zdCBzaGlmdCA9ICh0aW1lUGlja2VyV2lkdGggLSBpbnB1dEJveEJvdW5kcy53aWR0aCkgLyAyO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICd0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3BQb3NpdGlvbiA8IDAgPyBib3R0b21Qb3NpdGlvbiA6IHRvcFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dEJveEJvdW5kcy5sZWZ0IC0gc2hpZnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBib3R0b21Qb3NpdGlvbiArIHRoaXMuVElNRV9PUFRJT05fSEVJR0hUICsgdGhpcy5NQVJHSU4gPiB3aW5kb3cuaW5uZXJIZWlnaHQgPyB0b3BQb3NpdGlvbiA6IGJvdHRvbVBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dEJveEJvdW5kcy5sZWZ0IC0gc2hpZnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb252ZXJ0MTJUbzI0KHRpbWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB0ZXJtcyA9IHRpbWUuc3BsaXQoJzonKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IHRlcm1zWzFdLnN1YnN0cmluZygwLCAyKTtcbiAgICAgICAgY29uc3QgbWVyaWRpYW4gPSB0ZXJtc1sxXS50cmltKCkuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodGVybXNbMF0pO1xuICAgICAgICBpZiAoIWlzTmFOKHBhcnNlSW50KHRlcm1zWzBdKSkpIHtcbiAgICAgICAgICAgIGlmIChtZXJpZGlhbiA9PT0gJ1BNJyAmJiBob3VyIDwgMTIpIHtcbiAgICAgICAgICAgICAgICBob3VyID0gaG91ciArIDEyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1lcmlkaWFuID09PSAnQU0nICYmIGhvdXIgPT09IDEyKSB7XG4gICAgICAgICAgICAgICAgaG91ciA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2hvdXJ9OiR7bWludXRlc31gO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNvbnZlcnQyNFRvMTIodGltZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHRlcm1zID0gdGltZS5zcGxpdCgnOicpO1xuICAgICAgICBsZXQgbWVyaWRpYW4gPSAnQU0nO1xuICAgICAgICBsZXQgaG91ciA9IHBhcnNlSW50KHRlcm1zWzBdKTtcbiAgICAgICAgbGV0IG1pbnV0ZSA9IHBhcnNlSW50KHRlcm1zWzFdKTtcbiAgICAgICAgaWYgKCFpc05hTihwYXJzZUludCh0ZXJtc1swXSkpKSB7XG4gICAgICAgICAgICBpZiAoaG91ciA+PSAxMikge1xuICAgICAgICAgICAgICAgIG1lcmlkaWFuID0gJ1BNJztcbiAgICAgICAgICAgICAgICBpZiAoaG91ciA+IDEyKSB7XG4gICAgICAgICAgICAgICAgICAgIGhvdXIgPSBob3VyIC0gMTI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhvdXIgPT09IDApIHtcbiAgICAgICAgICAgICAgICBob3VyID0gMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaG91clN0ciA9IE5lb1RpbWVwaWNrZXJDb21wb25lbnQudG9GaXhlZChob3VyLCAxMCk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZVN0ciA9IE5lb1RpbWVwaWNrZXJDb21wb25lbnQudG9GaXhlZChtaW51dGUsIDEwKTtcbiAgICAgICAgcmV0dXJuIGAke2hvdXJTdHJ9OiR7bWludXRlU3RyfSAke21lcmlkaWFufWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIDA4IGZvciA4LCAwNiBmb3IgNlxuICAgICAqIEBwYXJhbSBudW1cbiAgICAgKiBAcGFyYW0gZml4XG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyB0b0ZpeGVkKG51bSwgZml4KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGZpeGVkTnVtOiBzdHJpbmcgPSBudW0udG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKG51bSA8IGZpeCkge1xuICAgICAgICAgICAgZml4ZWROdW0gPSBgMCR7Zml4ZWROdW19YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZml4ZWROdW07XG4gICAgfVxuXG59XG4iXX0=
|
|
371
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVvLXRpbWVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy91aS1jb21wb25lbnRzL3NyYy9saWIvbmVvLXRpbWVwaWNrZXIvbmVvLXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLFlBQVksRUFDWixLQUFLLEVBR0wsTUFBTSxFQUNOLFNBQVMsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEtBQUssTUFBTSxnQkFBZ0IsQ0FBQztBQUNuQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7QUFDMUIsT0FBTyxFQUFFLFNBQVMsRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDdEQsT0FBTyxFQUNILFlBQVksRUFDWixvQkFBb0IsRUFDcEIsR0FBRyxFQUNILFNBQVMsR0FDWixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLDREQUE0RDtBQUM1RCxPQUFPLEVBQVEsVUFBVSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFnQnRFLE1BQU0sT0FBTyxzQkFBc0I7SUE2Ry9CLFlBQW1CLGlCQUFvQztRQUFwQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBckc5QyxTQUFJLEdBQWdDO1lBQ3pDLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxRQUFRO1lBQ3JCLGFBQWEsRUFBRSxPQUFPO1lBQ3RCLFNBQVMsRUFBRSxNQUFNO1lBQ2pCLFdBQVcsRUFBRSxRQUFRO1NBQ3hCLENBQUM7UUFDTyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFdBQU0sR0FBZSxVQUFVLENBQUMsT0FBTyxDQUFDO1FBQ3hDLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFFekIs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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCBmb3JtYXQgZnJvbSBcImRhdGUtZm5zL2Zvcm1hdFwiO1xuaW1wb3J0IHBhcnNlIGZyb20gXCJkYXRlLWZucy9wYXJzZVwiO1xuaW1wb3J0IElNYXNrIGZyb20gXCJpbWFza1wiO1xuaW1wb3J0IHsgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcbmltcG9ydCB7XG4gICAgZGVib3VuY2VUaW1lLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICAgIG1hcCxcbiAgICB0YWtlVW50aWwsXG59IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuLy8gRklYTUUgTW92ZSB0aGVzZSBtb2RlbHMgd2hlbiB3ZSByZW1vdmUgdGhlIG9sZCB0aW1lcGlja2VyXG5pbXBvcnQgeyBUaW1lLCBUaW1lRm9ybWF0IH0gZnJvbSBcIi4uL3RpbWVwaWNrZXIvdGltZXBpY2tlci5jb21wb25lbnRcIjtcblxuZXhwb3J0IGludGVyZmFjZSBUaW1lUGlja2VyVHJhbnNsYXRlZFN0cmluZ3Mge1xuICAgIGhvdXJMYWJlbDogc3RyaW5nO1xuICAgIG1pbnV0ZUxhYmVsOiBzdHJpbmc7XG4gICAgbWVyaWRpYW5MYWJlbDogc3RyaW5nO1xuICAgIGRvbmVMYWJlbDogc3RyaW5nO1xuICAgIGNhbmNlbExhYmVsOiBzdHJpbmc7XG59XG5cbkBDb21wb25lbnQoe1xuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHNlbGVjdG9yOiAnYXAtbmVvLXRpbWVwaWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9uZW8tdGltZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vbmVvLXRpbWVwaWNrZXIuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBOZW9UaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRCb3gnKSBpbnB1dEJveDogRWxlbWVudFJlZjtcbiAgICBAVmlld0NoaWxkKCdob3VyT3B0aW9ucycpIGhvdXJPcHRpb25zOiBFbGVtZW50UmVmO1xuICAgIEBWaWV3Q2hpbGQoJ21pbnV0ZXNPcHRpb25zJykgbWludXRlc09wdGlvbnM6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgnbWVyaWRpYW5zT3B0aW9ucycpIG1lcmlkaWFuc09wdGlvbnM6IEVsZW1lbnRSZWY7XG4gICAgQFZpZXdDaGlsZCgndGltZXBpY2tlcicpIHRpbWVwaWNrZXI6IEVsZW1lbnRSZWY7XG5cbiAgICBASW5wdXQoKSBpMThuOiBUaW1lUGlja2VyVHJhbnNsYXRlZFN0cmluZ3MgPSB7XG4gICAgICAgIGhvdXJMYWJlbDogJ0hvdXInLFxuICAgICAgICBtaW51dGVMYWJlbDogJ01pbnV0ZScsXG4gICAgICAgIG1lcmlkaWFuTGFiZWw6ICdBTS9QTScsXG4gICAgICAgIGRvbmVMYWJlbDogJ0RvbmUnLFxuICAgICAgICBjYW5jZWxMYWJlbDogJ0NhbmNlbCcsXG4gICAgfTtcbiAgICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIEBJbnB1dCgpIGZvcm1hdDogVGltZUZvcm1hdCA9IFRpbWVGb3JtYXQuRGVmYXVsdDtcbiAgICBASW5wdXQoKSBpbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgaW52YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nO1xuICAgIEBJbnB1dCgpIHBsYWNlbWVudDogJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuICAgIEBJbnB1dCgpIHRpbWVNb2RlbDogc3RyaW5nO1xuXG4gICAgQE91dHB1dCgpIHRpbWVNb2RlbENoYW5nZTogRXZlbnRFbWl0dGVyPFRpbWU+ID0gbmV3IEV2ZW50RW1pdHRlcjxUaW1lPigpO1xuXG4gICAgcmVhZG9ubHkgbWVyaWRpYW5zOiBzdHJpbmdbXSA9IFsnQU0nLCAnUE0nXTtcbiAgICByZWFkb25seSBpbWFza0RlZmF1bHQgPSB7XG4gICAgICAgIG1hc2s6ICdISDpNTScsXG4gICAgICAgIGJsb2Nrczoge1xuICAgICAgICAgICAgSEg6IHtcbiAgICAgICAgICAgICAgICBtYXNrOiBJTWFzay5NYXNrZWRSYW5nZSxcbiAgICAgICAgICAgICAgICBmcm9tOiAwLFxuICAgICAgICAgICAgICAgIHRvOiAyMyxcbiAgICAgICAgICAgICAgICBhdXRvZml4OiAncGFkJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBNTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDAsXG4gICAgICAgICAgICAgICAgdG86IDU5LFxuICAgICAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICB9O1xuICAgIHJlYWRvbmx5IGltYXNrTWVyaWRpYW4gPSB7XG4gICAgICAgIG1hc2s6ICdISDpNTSBBTVBNJyxcbiAgICAgICAgYmxvY2tzOiB7XG4gICAgICAgICAgICBISDoge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZFJhbmdlLFxuICAgICAgICAgICAgICAgIGZyb206IDEsXG4gICAgICAgICAgICAgICAgdG86IDEyLFxuICAgICAgICAgICAgICAgIGF1dG9maXg6ICdwYWQnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIE1NOiB7XG4gICAgICAgICAgICAgICAgbWFzazogSU1hc2suTWFza2VkUmFuZ2UsXG4gICAgICAgICAgICAgICAgZnJvbTogMCxcbiAgICAgICAgICAgICAgICB0bzogNTksXG4gICAgICAgICAgICAgICAgYXV0b2ZpeDogJ3BhZCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgQU1QTToge1xuICAgICAgICAgICAgICAgIG1hc2s6IElNYXNrLk1hc2tlZEVudW0sXG4gICAgICAgICAgICAgICAgZW51bTogWydBTScsICdQTSddXG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGxhenk6IGZhbHNlLFxuICAgICAgICBwcmVwYXJlOiBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgICAgICByZXR1cm4gc3RyLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIH0sXG4gICAgfTtcblxuICAgIHJlYWRvbmx5IEVOVEVSX0tFWTogc3RyaW5nID0gJ0VudGVyJztcbiAgICByZWFkb25seSBFU0NBUEVfS0VZOiBzdHJpbmcgPSAnRXNjYXBlJztcbiAgICByZWFkb25seSBGSVhfTlVNQkVSOiBudW1iZXIgPSAxMDtcbiAgICByZWFkb25seSBIT1VSU19NQVg6IG51bWJlciA9IDI0O1xuICAgIHJlYWRvbmx5IEhPVVJTX01FUklESUFOX01BWDogbnVtYmVyID0gMTI7XG4gICAgcmVhZG9ubHkgTUFSR0lOOiBudW1iZXIgPSA4O1xuICAgIHJlYWRvbmx5IE1JTlVURVNfTUFYOiBudW1iZXIgPSA2MDtcbiAgICByZWFkb25seSBUSU1FX09QVElPTl9IRUlHSFQ6IG51bWJlciA9IDM4NztcbiAgICByZWFkb25seSBUSU1FX1BJQ0tFUl9ERUZBVUxUX1dJRFRIOiBudW1iZXIgPSA5NjtcbiAgICByZWFkb25seSBUSU1FX1BJQ0tFUl9NRVJJRElBTl9XSURUSDogbnVtYmVyID0gMTUyO1xuICAgIHJlYWRvbmx5IFJPV19IRUlHSFQ6IG51bWJlciA9IDM0O1xuXG4gICAgZGVzdHJveSQ6IFN1YmplY3Q8dm9pZD47XG4gICAgaG91cnM6IHN0cmluZ1tdID0gW107XG4gICAgaG91cnNTY3JvbGxPYnNlcnZlciQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBtZXJpZGlhbnNTY3JvbGxPYnNlcnZlciQ6IE9ic2VydmFibGU8bnVtYmVyPjtcbiAgICBtaW51dGVzU2Nyb2xsT2JzZXJ2ZXIkOiBPYnNlcnZhYmxlPG51bWJlcj47XG4gICAgbWludXRlczogc3RyaW5nW10gPSBbXTtcbiAgICBwb3NpdGlvbjogeyB0b3A6IG51bWJlciwgbGVmdDogbnVtYmVyIH0gPSBudWxsO1xuICAgIHByZXZpb3VzVmFsdWU6IHN0cmluZztcbiAgICBzZWxlY3RlZEhvdXI6IHN0cmluZztcbiAgICBzZWxlY3RlZE1pbnV0ZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkTWVyaWRpYW46IHN0cmluZztcbiAgICB0aW1lcGlja2VyQ2xvc2VkOiBib29sZWFuO1xuICAgIHRpbWVwaWNrZXJPcGVuZWQ6IGJvb2xlYW47XG4gICAgVGltZUZvcm1hdCA9IFRpbWVGb3JtYXQ7XG4gICAgdGltZUZvcm1hdDogc3RyaW5nO1xuXG4gICAgQEhvc3RMaXN0ZW5lcignd2luZG93OmtleWRvd24nLCBbJyRldmVudCddKVxuICAgIG9uS2V5cHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZXBpY2tlck9wZW5lZCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09IHRoaXMuRU5URVJfS0VZKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vblNhdmVTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGV2ZW50LmNvZGUgPT09IHRoaXMuRVNDQVBFX0tFWSkge1xuICAgICAgICAgICAgICAgIHRoaXMub25DYW5jZWxTZWxlY3Rpb24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBjaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5nZW5lcmF0ZVRpbWVTbG90cygpO1xuICAgICAgICB0aGlzLm9uVGltZU1vZGVsQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMuZ2VuZXJhdGVUaW1lU2xvdHMoKTtcbiAgICAgICAgaWYgKGNoYW5nZXMuZm9ybWF0Py5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMudGltZUZvcm1hdCA9IHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0LkRlZmF1bHQgPyAnSEg6bW0nIDogJ2hoOm1tIGEnO1xuICAgICAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0LkRlZmF1bHQgJiYgdGhpcy5tZXJpZGlhbnMuc29tZShtZXJpZGlhbiA9PiB0aGlzLnRpbWVNb2RlbD8uZW5kc1dpdGgobWVyaWRpYW4pKSkge1xuICAgICAgICAgICAgICAgIHRoaXMudGltZU1vZGVsID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC5jb252ZXJ0MTJUbzI0KHRoaXMudGltZU1vZGVsKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuTWVyaWRpYW4gJiYgdGhpcy5tZXJpZGlhbnMuZXZlcnkobWVyaWRpYW4gPT4gIXRoaXMudGltZU1vZGVsPy5lbmRzV2l0aChtZXJpZGlhbikpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSBOZW9UaW1lcGlja2VyQ29tcG9uZW50LmNvbnZlcnQyNFRvMTIodGhpcy50aW1lTW9kZWwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5wbGFjZW1lbnQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lUGlja2VyUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hhbmdlcy5mb3JtYXQ/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVUaW1lUGlja2VyUG9zaXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uT3BlblRpbWVwaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICAgICAgICB0aGlzLnByZXZpb3VzVmFsdWUgPSB0aGlzLnRpbWVNb2RlbDtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyT3BlbmVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyQ2xvc2VkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZVBpY2tlclBvc2l0aW9uKCk7XG5cbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVsZW1lbnRQb3NpdGlvbignbWludXRlJywgdGhpcy5zZWxlY3RlZE1pbnV0ZSwgJ2F1dG8nKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlRWxlbWVudFBvc2l0aW9uKCdob3VyJywgdGhpcy5zZWxlY3RlZEhvdXIsICdhdXRvJyk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVsZW1lbnRQb3NpdGlvbignbWVyaWRpYW4nLCB0aGlzLnNlbGVjdGVkTWVyaWRpYW4sICdhdXRvJyk7XG4gICAgICAgICAgICB0aGlzLmlucHV0Qm94Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgICAgIHRoaXMuaW5wdXRCb3gubmF0aXZlRWxlbWVudC5zZWxlY3QoKTtcbiAgICAgICAgfSwgMSlcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvblRpbWVwaWNrZXJPcGVuZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaG91cnNTY3JvbGxPYnNlcnZlciQgPSB0aGlzLm9uT2JzZXJ2ZUVsZW1lbnRTY3JvbGwodGhpcy5ob3VyT3B0aW9ucy5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgdGhpcy5taW51dGVzU2Nyb2xsT2JzZXJ2ZXIkID0gdGhpcy5vbk9ic2VydmVFbGVtZW50U2Nyb2xsKHRoaXMubWludXRlc09wdGlvbnMubmF0aXZlRWxlbWVudCk7XG5cbiAgICAgICAgdGhpcy5ob3Vyc1Njcm9sbE9ic2VydmVyJC5zdWJzY3JpYmUoKGluZGV4VG9TY3JvbGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZU1vZGVsKHRoaXMuaG91cnNbaW5kZXhUb1Njcm9sbF0sIHRoaXMuc2VsZWN0ZWRNaW51dGUsIHRoaXMuc2VsZWN0ZWRNZXJpZGlhbik7XG4gICAgICAgIH0pXG4gICAgICAgIHRoaXMubWludXRlc1Njcm9sbE9ic2VydmVyJC5zdWJzY3JpYmUoKGluZGV4VG9TY3JvbGwpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVGltZU1vZGVsKHRoaXMuc2VsZWN0ZWRIb3VyLCB0aGlzLm1pbnV0ZXNbaW5kZXhUb1Njcm9sbF0sIHRoaXMuc2VsZWN0ZWRNZXJpZGlhbik7XG4gICAgICAgIH0pXG5cbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0Lk1lcmlkaWFuKSB7XG4gICAgICAgICAgICB0aGlzLm1lcmlkaWFuc1Njcm9sbE9ic2VydmVyJCA9IHRoaXMub25PYnNlcnZlRWxlbWVudFNjcm9sbCh0aGlzLm1lcmlkaWFuc09wdGlvbnMubmF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICB0aGlzLm1lcmlkaWFuc1Njcm9sbE9ic2VydmVyJC5zdWJzY3JpYmUoKGluZGV4VG9TY3JvbGwpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZVRpbWVNb2RlbCh0aGlzLnNlbGVjdGVkSG91ciwgdGhpcy5zZWxlY3RlZE1pbnV0ZSwgdGhpcy5tZXJpZGlhbnNbaW5kZXhUb1Njcm9sbF0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgb25PYnNlcnZlRWxlbWVudFNjcm9sbChlbGVtZW50OiBIVE1MRWxlbWVudCk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gICAgICAgIHJldHVybiBmcm9tRXZlbnQoZWxlbWVudCwgJ3Njcm9sbCcpLnBpcGUoXG4gICAgICAgICAgICBkZWJvdW5jZVRpbWUoMTUwKSxcbiAgICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5kZXN0cm95JCksXG4gICAgICAgICAgICBtYXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKGVsZW1lbnQuc2Nyb2xsVG9wIC8gdGhpcy5ST1dfSEVJR0hUKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICB9XG5cbiAgICBvblRpbWVQaWNrZXJDbG9zZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DYW5jZWxTZWxlY3Rpb24oKTtcbiAgICAgICAgdGhpcy5kZXN0cm95JC5uZXh0KCk7XG4gICAgICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgICB9XG5cbiAgICBvblRpbWVNb2RlbENoYW5nZSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICBpZiAodGhpcy50aW1lTW9kZWwpIHtcbiAgICAgICAgICAgIGRhdGUgPSBwYXJzZSh0aGlzLnRpbWVNb2RlbCwgdGhpcy50aW1lRm9ybWF0LCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRpbWVNb2RlbCA9IGZvcm1hdChkYXRlLCB0aGlzLnRpbWVGb3JtYXQpO1xuICAgICAgICBpZiAoIXRoaXMucHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5wcmV2aW91c1ZhbHVlID0gdGhpcy50aW1lTW9kZWw7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGpzSG91ciA9IGRhdGUuZ2V0SG91cnMoKTtcbiAgICAgICAgaWYgKHRoaXMuZm9ybWF0ID09PSBUaW1lRm9ybWF0Lk1lcmlkaWFuKSB7XG4gICAgICAgICAgICBpZiAoanNIb3VyID4gMTIpIHtcbiAgICAgICAgICAgICAgICBqc0hvdXIgPSBqc0hvdXIgLSAxMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIEpTIGRvZXNuJ3QgaGFuZGxlIHdlbGwgQU0vUE0gaG91ciBzbyAxMjo1MyBQTSB3aWxsIGJlIDAwOjUzIC4uLlxuICAgICAgICAgICAgaWYgKGpzSG91ciA9PSAwKSB7XG4gICAgICAgICAgICAgICAganNIb3VyID0gMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBob3VyID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGpzSG91ci50b1N0cmluZygpLCAxMCk7XG4gICAgICAgIGlmIChob3VyICE9IHRoaXMuc2VsZWN0ZWRIb3VyKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSG91ciA9IGhvdXI7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUVsZW1lbnRQb3NpdGlvbignaG91cicsIHRoaXMuc2VsZWN0ZWRIb3VyLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWludXRlID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGRhdGUuZ2V0TWludXRlcygpLnRvU3RyaW5nKCksIDEwKTtcbiAgICAgICAgaWYgKG1pbnV0ZSAhPSB0aGlzLnNlbGVjdGVkTWludXRlKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWludXRlID0gbWludXRlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGVtZW50UG9zaXRpb24oJ21pbnV0ZScsIHRoaXMuc2VsZWN0ZWRNaW51dGUsICdhdXRvJyk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuTWVyaWRpYW4gJiYgdGhpcy5zZWxlY3RlZE1lcmlkaWFuICE9PSB0aGlzLnRpbWVNb2RlbC5zcGxpdCgnICcpWzFdKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTWVyaWRpYW4gPSB0aGlzLnRpbWVNb2RlbC5zcGxpdCgnICcpWzFdO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVFbGVtZW50UG9zaXRpb24oJ21lcmlkaWFuJywgdGhpcy5zZWxlY3RlZE1lcmlkaWFuLCAnYXV0bycpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdEhvdXIoaG91cjogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlVGltZU1vZGVsKGhvdXIsIHRoaXMuc2VsZWN0ZWRNaW51dGUsIHRoaXMuc2VsZWN0ZWRNZXJpZGlhbik7XG4gICAgfVxuXG4gICAgb25TZWxlY3RNaW51dGUobWludXRlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lTW9kZWwodGhpcy5zZWxlY3RlZEhvdXIsIG1pbnV0ZSwgdGhpcy5zZWxlY3RlZE1lcmlkaWFuKTtcbiAgICB9XG5cbiAgICBvblNlbGVjdE1lcmlkaWFuKG1lcmlkaWFuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVUaW1lTW9kZWwodGhpcy5zZWxlY3RlZEhvdXIsIHRoaXMuc2VsZWN0ZWRNaW51dGUsIG1lcmlkaWFuKTtcbiAgICB9XG5cbiAgICBvblNhdmVTZWxlY3Rpb24oKTogdm9pZCB7XG4gICAgICAgIHRoaXMucHJldmlvdXNWYWx1ZSA9IHRoaXMudGltZU1vZGVsO1xuICAgICAgICB0aGlzLnRpbWVwaWNrZXJDbG9zZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLnRpbWVwaWNrZXJPcGVuZWQgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdGltZU1vZGVsVmFsdWUgPSBwYXJzZSh0aGlzLnRpbWVNb2RlbCwgdGhpcy50aW1lRm9ybWF0LCBuZXcgRGF0ZSgpKTtcbiAgICAgICAgdGhpcy50aW1lTW9kZWxDaGFuZ2UuZW1pdCh7XG4gICAgICAgICAgICBob3VyczogdGltZU1vZGVsVmFsdWUuZ2V0SG91cnMoKSxcbiAgICAgICAgICAgIG1pbnV0ZXM6IHRpbWVNb2RlbFZhbHVlLmdldE1pbnV0ZXMoKSxcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvbkNhbmNlbFNlbGVjdGlvbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyQ2xvc2VkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy50aW1lcGlja2VyT3BlbmVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMudGltZU1vZGVsID0gdGhpcy5wcmV2aW91c1ZhbHVlO1xuICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIG9uTWFza1ZhbGlkYXRlQ29tcGxldGUodmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMudGltZU1vZGVsICE9PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9uVGltZU1vZGVsQ2hhbmdlKCk7XG4gICAgfVxuXG4gICAgdXBkYXRlVGltZU1vZGVsKGhvdXI6IHN0cmluZywgbWludXRlOiBzdHJpbmcsIG1lcmlkaWFuPzogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmZvcm1hdCA9PT0gVGltZUZvcm1hdC5NZXJpZGlhbikge1xuICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSBgJHtob3VyfToke21pbnV0ZX0gJHttZXJpZGlhbn1gO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy50aW1lTW9kZWwgPSBgJHtob3VyfToke21pbnV0ZX1gO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVFbGVtZW50UG9zaXRpb24oZWxlbWVudFR5cGU6ICdob3VyJyB8ICdtaW51dGUnIHwgJ21lcmlkaWFuJywgaWQ6IHN0cmluZywgc2Nyb2xsQmVoYXZpb3I6ICdhdXRvJyB8ICdzbW9vdGgnKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChgJHtlbGVtZW50VHlwZX0tJHtpZH1gKTtcbiAgICAgICAgdGhpcy5zY3JvbGxUb0VsZW1lbnQoXG4gICAgICAgICAgICBlbGVtZW50LFxuICAgICAgICAgICAgc2Nyb2xsQmVoYXZpb3JcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNjcm9sbFRvRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCwgYmVoYXZpb3I6ICdhdXRvJyB8ICdzbW9vdGgnID0gJ2F1dG8nKSB7XG4gICAgICAgIGlmIChlbGVtZW50KSB7XG4gICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICBlbGVtZW50LnNjcm9sbEludG9WaWV3KHtcbiAgICAgICAgICAgICAgICAgICAgYmVoYXZpb3IsXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiAnY2VudGVyJ1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSwgMSlcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEZ1bGxmaWxsIG1pbnV0ZXMgYW5kIGhvdXJzIGFycmF5cyBsaWtlIFswLCAxLCAyIC4uLiAxMl0gYW5kIFswLCAxLCAyLCAuLi4gNTldXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZVRpbWVTbG90cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5ob3VycyA9IFtdO1xuICAgICAgICB0aGlzLm1pbnV0ZXMgPSBbTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKDAsIHRoaXMuRklYX05VTUJFUildO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8PSB0aGlzLkhPVVJTX01FUklESUFOX01BWDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBpbmRleFRvQWRkID0gTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGksIHRoaXMuRklYX05VTUJFUik7XG4gICAgICAgICAgICB0aGlzLmhvdXJzLnB1c2goaW5kZXhUb0FkZCk7XG4gICAgICAgICAgICB0aGlzLm1pbnV0ZXMucHVzaChpbmRleFRvQWRkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuRGVmYXVsdCkge1xuICAgICAgICAgICAgdGhpcy5ob3VycyA9IFtOZW9UaW1lcGlja2VyQ29tcG9uZW50LnRvRml4ZWQoMCwgdGhpcy5GSVhfTlVNQkVSKSwgLi4udGhpcy5ob3Vyc107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMTM7IGkgPCB0aGlzLkhPVVJTX01BWDsgaSsrKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5ob3Vycy5wdXNoKE5lb1RpbWVwaWNrZXJDb21wb25lbnQudG9GaXhlZChpLCB0aGlzLkZJWF9OVU1CRVIpKVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZvciAobGV0IGkgPSAxMzsgaSA8IHRoaXMuTUlOVVRFU19NQVg7IGkrKykge1xuICAgICAgICAgICAgdGhpcy5taW51dGVzLnB1c2goTmVvVGltZXBpY2tlckNvbXBvbmVudC50b0ZpeGVkKGksIHRoaXMuRklYX05VTUJFUikpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVUaW1lUGlja2VyUG9zaXRpb24oKSB7XG4gICAgICAgIGlmICh0aGlzLmlucHV0Qm94Py5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBjb25zdCBpbnB1dEJveEJvdW5kcyA9IHRoaXMuaW5wdXRCb3gubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgICAgIGNvbnN0IHRvcFBvc2l0aW9uID0gaW5wdXRCb3hCb3VuZHMudG9wIC0gdGhpcy5USU1FX09QVElPTl9IRUlHSFQgLSB0aGlzLk1BUkdJTjtcbiAgICAgICAgICAgIGNvbnN0IGJvdHRvbVBvc2l0aW9uID0gaW5wdXRCb3hCb3VuZHMudG9wICsgaW5wdXRCb3hCb3VuZHMuaGVpZ2h0O1xuICAgICAgICAgICAgY29uc3QgdGltZVBpY2tlcldpZHRoID0gdGhpcy5mb3JtYXQgPT09IFRpbWVGb3JtYXQuTWVyaWRpYW4gPyB0aGlzLlRJTUVfUElDS0VSX01FUklESUFOX1dJRFRIOiB0aGlzLlRJTUVfUElDS0VSX0RFRkFVTFRfV0lEVEg7XG4gICAgICAgICAgICBjb25zdCBzaGlmdCA9ICh0aW1lUGlja2VyV2lkdGggLSBpbnB1dEJveEJvdW5kcy53aWR0aCkgLyAyO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5wbGFjZW1lbnQgPT09ICd0b3AnKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3BQb3NpdGlvbiA8IDAgPyBib3R0b21Qb3NpdGlvbiA6IHRvcFBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dEJveEJvdW5kcy5sZWZ0IC0gc2hpZnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBib3R0b21Qb3NpdGlvbiArIHRoaXMuVElNRV9PUFRJT05fSEVJR0hUICsgdGhpcy5NQVJHSU4gPiB3aW5kb3cuaW5uZXJIZWlnaHQgPyB0b3BQb3NpdGlvbiA6IGJvdHRvbVBvc2l0aW9uLFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBpbnB1dEJveEJvdW5kcy5sZWZ0IC0gc2hpZnQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb252ZXJ0MTJUbzI0KHRpbWUpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCB0ZXJtcyA9IHRpbWUuc3BsaXQoJzonKTtcbiAgICAgICAgY29uc3QgbWludXRlcyA9IHRlcm1zWzFdLnN1YnN0cmluZygwLCAyKTtcbiAgICAgICAgY29uc3QgbWVyaWRpYW4gPSB0ZXJtc1sxXS50cmltKCkuc2xpY2UoLTIpLnRvVXBwZXJDYXNlKCk7XG4gICAgICAgIGxldCBob3VyID0gcGFyc2VJbnQodGVybXNbMF0pO1xuICAgICAgICBpZiAoIWlzTmFOKHBhcnNlSW50KHRlcm1zWzBdKSkpIHtcbiAgICAgICAgICAgIGlmIChtZXJpZGlhbiA9PT0gJ1BNJyAmJiBob3VyIDwgMTIpIHtcbiAgICAgICAgICAgICAgICBob3VyID0gaG91ciArIDEyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG1lcmlkaWFuID09PSAnQU0nICYmIGhvdXIgPT09IDEyKSB7XG4gICAgICAgICAgICAgICAgaG91ciA9IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGAke2hvdXJ9OiR7bWludXRlc31gO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RhdGljIGNvbnZlcnQyNFRvMTIodGltZSk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IHRlcm1zID0gdGltZS5zcGxpdCgnOicpO1xuICAgICAgICBsZXQgbWVyaWRpYW4gPSAnQU0nO1xuICAgICAgICBsZXQgaG91ciA9IHBhcnNlSW50KHRlcm1zWzBdKTtcbiAgICAgICAgbGV0IG1pbnV0ZSA9IHBhcnNlSW50KHRlcm1zWzFdKTtcbiAgICAgICAgaWYgKCFpc05hTihwYXJzZUludCh0ZXJtc1swXSkpKSB7XG4gICAgICAgICAgICBpZiAoaG91ciA+PSAxMikge1xuICAgICAgICAgICAgICAgIG1lcmlkaWFuID0gJ1BNJztcbiAgICAgICAgICAgICAgICBpZiAoaG91ciA+IDEyKSB7XG4gICAgICAgICAgICAgICAgICAgIGhvdXIgPSBob3VyIC0gMTI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhvdXIgPT09IDApIHtcbiAgICAgICAgICAgICAgICBob3VyID0gMTI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaG91clN0ciA9IE5lb1RpbWVwaWNrZXJDb21wb25lbnQudG9GaXhlZChob3VyLCAxMCk7XG4gICAgICAgIGNvbnN0IG1pbnV0ZVN0ciA9IE5lb1RpbWVwaWNrZXJDb21wb25lbnQudG9GaXhlZChtaW51dGUsIDEwKTtcbiAgICAgICAgcmV0dXJuIGAke2hvdXJTdHJ9OiR7bWludXRlU3RyfSAke21lcmlkaWFufWA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJuIDA4IGZvciA4LCAwNiBmb3IgNlxuICAgICAqIEBwYXJhbSBudW1cbiAgICAgKiBAcGFyYW0gZml4XG4gICAgICogQHByaXZhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHN0YXRpYyB0b0ZpeGVkKG51bSwgZml4KTogc3RyaW5nIHtcbiAgICAgICAgbGV0IGZpeGVkTnVtOiBzdHJpbmcgPSBudW0udG9TdHJpbmcoKTtcbiAgICAgICAgaWYgKG51bSA8IGZpeCkge1xuICAgICAgICAgICAgZml4ZWROdW0gPSBgMCR7Zml4ZWROdW19YDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZml4ZWROdW07XG4gICAgfVxuXG59XG4iXX0=
|
|
@@ -2265,7 +2265,7 @@ class NeoTimepickerComponent {
|
|
|
2265
2265
|
this.TIME_OPTION_HEIGHT = 387;
|
|
2266
2266
|
this.TIME_PICKER_DEFAULT_WIDTH = 96;
|
|
2267
2267
|
this.TIME_PICKER_MERIDIAN_WIDTH = 152;
|
|
2268
|
-
this.ROW_HEIGHT =
|
|
2268
|
+
this.ROW_HEIGHT = 34;
|
|
2269
2269
|
this.hours = [];
|
|
2270
2270
|
this.minutes = [];
|
|
2271
2271
|
this.position = null;
|
|
@@ -2536,7 +2536,7 @@ NeoTimepickerComponent.decorators = [
|
|
|
2536
2536
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2537
2537
|
selector: 'ap-neo-timepicker',
|
|
2538
2538
|
template: "<div class=\"time-picker-container\">\n <ng-template #timeOptionsTemplate>\n <div class=\"time-picker-options\"\n [class.meridian]=\"format === TimeFormat.Meridian\"\n *ngIf=\"timepickerOpened\"\n #timepicker\n >\n <div class=\"header\">\n <span> {{ i18n.hourLabel }} </span>\n <span> {{ i18n.minuteLabel }} </span>\n <span *ngIf=\"format === TimeFormat.Meridian\"> {{ i18n.meridianLabel }} </span>\n </div>\n <div class=\"content\">\n <div class=\"selector\">\n <span>:</span>\n <span *ngIf=\"format === TimeFormat.Meridian\"></span>\n </div>\n <div class=\"options\"\n #hourOptions>\n <div class=\"invisible-block\"></div>\n <div *ngFor=\"let hour of hours;\"\n class=\"option\"\n [id]=\"'hour-' + hour\"\n [class.selected]=\"hour === selectedHour\"\n (click)=\"onSelectHour(hour)\">\n {{ hour }}\n </div>\n <div class=\"invisible-block\"></div>\n </div>\n <div class=\"divider\"></div>\n <div class=\"options\"\n #minutesOptions>\n <div class=\"invisible-block\"></div>\n <div *ngFor=\"let minute of minutes;\"\n class=\"option\"\n [id]=\"'minute-' + minute\"\n [class.selected]=\"minute === selectedMinute\"\n (click)=\"onSelectMinute(minute)\">\n {{ minute }}\n </div>\n <div class=\"invisible-block\"></div>\n </div>\n <div *ngIf=\"format === TimeFormat.Meridian\"\n class=\"divider\"></div>\n <div *ngIf=\"format === TimeFormat.Meridian\"\n class=\"options\"\n #meridiansOptions>\n <div class=\"invisible-block\"></div>\n <div *ngFor=\"let meridian of meridians;\"\n class=\"option\"\n [id]=\"'meridian-' + meridian\"\n [class.selected]=\"selectedMeridian === meridian\"\n (click)=\"onSelectMeridian(meridian)\">\n {{ meridian }}\n </div>\n <div class=\"invisible-block\"></div>\n </div>\n </div>\n <div class=\"buttons\">\n <button mat-flat-button\n class=\"full-width\"\n color=\"primary\"\n (click)=\"onSaveSelection()\">\n {{ i18n.doneLabel }}\n </button>\n <button mat-flat-button\n class=\"full-width\"\n (click)=\"onCancelSelection()\">\n {{ i18n.cancelLabel }}\n </button>\n </div>\n </div>\n </ng-template>\n <input #inputBox\n class=\"time-input\"\n placement=\"bottom right\"\n color=\"secondary\"\n [class.active]=\"timepickerOpened\"\n [class.invalid]=\"invalid\"\n [apPopmenu]=\"timeOptionsTemplate\"\n [apPopmenuBackground]=\"false\"\n [apPopmenuBorder]=\"false\"\n [apPopmenuDisabled]=\"timepickerOpened\"\n [apTooltipNeo]=\"{content: invalidationMessage, display: invalidationMessage && invalid}\"\n [close]=\"timepickerClosed\"\n [disabled]=\"disabled\"\n [imask]=\"format === TimeFormat.Meridian ? imaskMeridian : imaskDefault\"\n [(ngModel)]=\"timeModel\"\n [pointer]=\"true\"\n [position]=\"position\"\n [rounded]=\"true\"\n [shadow]=\"false\"\n (click)=\"onOpenTimepicker()\"\n (complete)=\"onMaskValidateComplete($event)\"\n (menuClosed)=\"onTimePickerClosed()\"\n (menuOpened)=\"onTimepickerOpened()\">\n</div>\n",
|
|
2539
|
-
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.time-picker-container{display:flex}.time-input{width:80px;max-width:80px;text-align:center;padding:0;margin:0;height:36px;line-height:24px}.time-input.active{border-color:#178dfe}.time-picker-options{display:flex;flex-direction:column;width:96px;margin-top:8px;max-width:96px;height:379px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 3px 10px #00000014}.time-picker-options.meridian{width:152px;max-width:152px}.time-picker-options .header{display:flex;align-items:center;min-height:29px;border-bottom:1px solid #eaecef;color:#344563;font-size:12px;line-height:18px}.time-picker-options .header>span{flex:1;text-align:center}.time-picker-options .content{display:flex;position:relative;min-height:252px;overflow:hidden}.time-picker-options .content .selector{display:flex;justify-content:space-evenly;align-items:center;background-color:#f9f9fa;border-top:1px solid #eaecef;border-bottom:1px solid #eaecef;width:100%;height:34px;position:absolute;top:50%;transform:translateY(-50%);z-index:4;box-sizing:border-box}.time-picker-options .content .divider{height:100%;width:1px;background:#eaecef}.time-picker-options .content .options{flex:1;height:100%;overflow-y:scroll;z-index:5;scroll-snap-type:y mandatory;-ms-overflow-style:none;scrollbar-width:none}.time-picker-options .content .options::-webkit-scrollbar{display:none}.time-picker-options .content .options .invisible-block{min-height:109px;max-height:109px;width:100%}.time-picker-options .content .options .option{min-height:34px;display:flex;z-index:5;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center;padding-block:1px}.time-picker-options .content .options .option:hover{color:#178dfe;cursor:pointer}.time-picker-options .content .options .option.selected{color:#344563!important}.time-picker-options .content .meridian{flex:1;display:flex;flex-direction:column;justify-content:center}.time-picker-options .content .meridian>div{min-height:34px;display:flex;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center}.time-picker-options .buttons{display:flex;flex-direction:column;padding:8px;min-height:96px;border-top:1px solid #eaecef;grid-gap:8px;gap:8px}.time-picker-options .buttons button{font-weight:700;min-width:80px}"]
|
|
2539
|
+
styles: ["[color=facebook]{color:#1877f2}[bgcolor=facebook],[hcolor=facebook]:hover{background-color:#1877f2}[border=facebook]{border:1px solid #1877f2}[color=google]{color:#4e85e8}[bgcolor=google],[hcolor=google]:hover{background-color:#4e85e8}[border=google]{border:1px solid #4e85e8}[color=instagram]{color:#e1306c}[bgcolor=instagram],[hcolor=instagram]:hover{background-color:#e1306c}[border=instagram]{border:1px solid #e1306c}[color=instagrammagenta]{color:#c13584}[bgcolor=instagrammagenta],[hcolor=instagrammagenta]:hover{background-color:#c13584}[border=instagrammagenta]{border:1px solid #c13584}[color=instagramblue]{color:#5851db}[bgcolor=instagramblue],[hcolor=instagramblue]:hover{background-color:#5851db}[border=instagramblue]{border:1px solid #5851db}[color=instagrampurple]{color:#833ab4}[bgcolor=instagrampurple],[hcolor=instagrampurple]:hover{background-color:#833ab4}[border=instagrampurple]{border:1px solid #833ab4}[color=instagramorange]{color:#f56040}[bgcolor=instagramorange],[hcolor=instagramorange]:hover{background-color:#f56040}[border=instagramorange]{border:1px solid #f56040}[color=instagramyellow]{color:#ffdc80}[bgcolor=instagramyellow],[hcolor=instagramyellow]:hover{background-color:#ffdc80}[border=instagramyellow]{border:1px solid #ffdc80}[color=linkedin]{color:#2c67bc}[bgcolor=linkedin],[hcolor=linkedin]:hover{background-color:#2c67bc}[border=linkedin]{border:1px solid #2c67bc}[color=twitter]{color:#55acee}[bgcolor=twitter],[hcolor=twitter]:hover{background-color:#55acee}[border=twitter]{border:1px solid #55acee}[color=youtube]{color:red}[bgcolor=youtube],[hcolor=youtube]:hover{background-color:red}[border=youtube]{border:1px solid red}[color=blood-orange]{color:#ff4d00}[bgcolor=blood-orange],[hcolor=blood-orange]:hover{background-color:#ff4d00}[border=blood-orange]{border:1px solid #ff4d00}[color=pinkish-orange]{color:#ff7b49}[bgcolor=pinkish-orange],[hcolor=pinkish-orange]:hover{background-color:#ff7b49}[border=pinkish-orange]{border:1px solid #ff7b49}[color=charcoal-grey]{color:#2a2f34}[bgcolor=charcoal-grey],[hcolor=charcoal-grey]:hover{background-color:#2a2f34}[border=charcoal-grey]{border:1px solid #2a2f34}[color=azure]{color:#00aeef}[bgcolor=azure],[hcolor=azure]:hover{background-color:#00aeef}[border=azure]{border:1px solid #00aeef}[color=light-azure]{color:#eaf5fd}[bgcolor=light-azure],[hcolor=light-azure]:hover{background-color:#eaf5fd}[border=light-azure]{border:1px solid #eaf5fd}[color=blue-grey]{color:#8d98a9}[bgcolor=blue-grey],[hcolor=blue-grey]:hover{background-color:#8d98a9}[border=blue-grey]{border:1px solid #8d98a9}[color=silver]{color:#ced0da}[bgcolor=silver],[hcolor=silver]:hover{background-color:#ced0da}[border=silver]{border:1px solid #ced0da}[color=pale-grey]{color:#dfe3e9}[bgcolor=pale-grey],[hcolor=pale-grey]:hover{background-color:#dfe3e9}[border=pale-grey]{border:1px solid #dfe3e9}[color=grey-white]{color:#f5f7f8}[bgcolor=grey-white],[hcolor=grey-white]:hover{background-color:#f5f7f8}[border=grey-white]{border:1px solid #f5f7f8}[color=cool-grey]{color:#b4bbc6}[bgcolor=cool-grey],[hcolor=cool-grey]:hover{background-color:#b4bbc6}[border=cool-grey]{border:1px solid #b4bbc6}[color=black]{color:#344563}[bgcolor=black],[hcolor=black]:hover{background-color:#344563}[border=black]{border:1px solid #344563}[color=grey-blue]{color:#68768c}[bgcolor=grey-blue],[hcolor=grey-blue]:hover{background-color:#68768c}[border=grey-blue]{border:1px solid #68768c}[color=strawberry]{color:#f4282d}[bgcolor=strawberry],[hcolor=strawberry]:hover{background-color:#f4282d}[border=strawberry]{border:1px solid #f4282d}[color=light-strawberry]{color:#f8eded}[bgcolor=light-strawberry],[hcolor=light-strawberry]:hover{background-color:#f8eded}[border=light-strawberry]{border:1px solid #f8eded}[color=white]{color:#fff}[bgcolor=white],[hcolor=white]:hover{background-color:#fff}[border=white]{border:1px solid #fff}[color=cool-green]{color:#33c15d}[bgcolor=cool-green],[hcolor=cool-green]:hover{background-color:#33c15d}[border=cool-green]{border:1px solid #33c15d}[color=light-green]{color:#ebfaef}[bgcolor=light-green],[hcolor=light-green]:hover{background-color:#ebfaef}[border=light-green]{border:1px solid #ebfaef}[color=transparent]{color:#0000}[bgcolor=transparent],[hcolor=transparent]:hover{background-color:initial}[border=transparent]{border:1px solid #0000}[color=c0]{color:#a566a5}[bgcolor=c0],[hcolor=c0]:hover{background-color:#a566a5}[border=c0]{border:1px solid #a566a5}[color=c1]{color:#c7ab82}[bgcolor=c1],[hcolor=c1]:hover{background-color:#c7ab82}[border=c1]{border:1px solid #c7ab82}[color=c2]{color:#f2713c}[bgcolor=c2],[hcolor=c2]:hover{background-color:#f2713c}[border=c2]{border:1px solid #f2713c}[color=c3]{color:#ffd006}[bgcolor=c3],[hcolor=c3]:hover{background-color:#ffd006}[border=c3]{border:1px solid #ffd006}[color=c4]{color:#94c5aa}[bgcolor=c4],[hcolor=c4]:hover{background-color:#94c5aa}[border=c4]{border:1px solid #94c5aa}[color=c5]{color:#2a9d8f}[bgcolor=c5],[hcolor=c5]:hover{background-color:#2a9d8f}[border=c5]{border:1px solid #2a9d8f}[color=c6]{color:#78acd8}[bgcolor=c6],[hcolor=c6]:hover{background-color:#78acd8}[border=c6]{border:1px solid #78acd8}[color=c7]{color:#525a9e}[bgcolor=c7],[hcolor=c7]:hover{background-color:#525a9e}[border=c7]{border:1px solid #525a9e}[color=c8]{color:#6a2459}[bgcolor=c8],[hcolor=c8]:hover{background-color:#6a2459}[border=c8]{border:1px solid #6a2459}[color=c9]{color:#74729e}[bgcolor=c9],[hcolor=c9]:hover{background-color:#74729e}[border=c9]{border:1px solid #74729e}.time-picker-container{display:flex}.time-input{width:80px;max-width:80px;text-align:center;padding:0;margin:0;height:36px;line-height:24px}.time-input.active{border-color:#178dfe}.time-picker-options{display:flex;flex-direction:column;width:96px;margin-top:8px;max-width:96px;height:379px;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 3px 10px #00000014}.time-picker-options.meridian{width:152px;max-width:152px}.time-picker-options .header{display:flex;align-items:center;min-height:29px;border-bottom:1px solid #eaecef;color:#344563;font-size:12px;line-height:18px}.time-picker-options .header>span{flex:1;text-align:center}.time-picker-options .content{display:flex;position:relative;min-height:252px;overflow:hidden}.time-picker-options .content .selector{display:flex;justify-content:space-evenly;align-items:center;background-color:#f9f9fa;border-top:1px solid #eaecef;border-bottom:1px solid #eaecef;width:100%;height:34px;position:absolute;top:50%;transform:translateY(-50%);z-index:4;box-sizing:border-box}.time-picker-options .content .divider{height:100%;width:1px;background:#eaecef}.time-picker-options .content .options{flex:1;height:100%;overflow-y:scroll;z-index:5;scroll-snap-type:y mandatory;-ms-overflow-style:none;scrollbar-width:none}.time-picker-options .content .options::-webkit-scrollbar{display:none}.time-picker-options .content .options .invisible-block{min-height:109px;max-height:109px;width:100%}.time-picker-options .content .options .option{min-height:34px;display:flex;z-index:5;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center;padding-block:1px;box-sizing:border-box}.time-picker-options .content .options .option:hover{color:#178dfe;cursor:pointer}.time-picker-options .content .options .option.selected{color:#344563!important}.time-picker-options .content .meridian{flex:1;display:flex;flex-direction:column;justify-content:center}.time-picker-options .content .meridian>div{min-height:34px;display:flex;justify-content:center;align-items:center;font-size:14px;line-height:17px;color:#aeb5c1;scroll-snap-align:center}.time-picker-options .buttons{display:flex;flex-direction:column;padding:8px;min-height:96px;border-top:1px solid #eaecef;grid-gap:8px;gap:8px}.time-picker-options .buttons button{font-weight:700;min-width:80px}"]
|
|
2540
2540
|
},] }
|
|
2541
2541
|
];
|
|
2542
2542
|
/** @nocollapse */
|