slick-components 4.4.18 → 4.4.19
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/esm2020/slick-calendar/slick-calendar.component.mjs +2 -3
- package/esm2020/slick-date-picker/slick-date-picker.component.mjs +2 -3
- package/esm2020/slick-file-list/slick-file-list-item.component.mjs +2 -3
- package/esm2020/utils/slick-init.service.mjs +2 -2
- package/fesm2015/slick-components.mjs +33 -36
- package/fesm2015/slick-components.mjs.map +1 -1
- package/fesm2020/slick-components.mjs +33 -36
- package/fesm2020/slick-components.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { Component, forwardRef, Input, Output, EventEmitter, HostListener } from "@angular/core";
|
|
2
2
|
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
3
3
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
4
|
-
import
|
|
4
|
+
import moment from "moment";
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "@angular/common";
|
|
7
|
-
const moment = _moment;
|
|
8
7
|
class DayModel {
|
|
9
8
|
}
|
|
10
9
|
class WeekModel {
|
|
@@ -244,4 +243,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
244
243
|
type: HostListener,
|
|
245
244
|
args: ['click', ['$event', '$event.target']]
|
|
246
245
|
}] } });
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQW9DLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxLQUFLLE9BQU8sTUFBTSxRQUFRLENBQUM7OztBQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQUcxRCxNQUFNLFFBQVE7Q0FNYjtBQUVELE1BQU0sU0FBUztDQUVkO0FBRUQsTUFBTSxVQUFVO0NBR2Y7QUFZRCxNQUFNLE9BQU8sc0JBQXNCO0lBMEJsQztRQXpCUyxjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGlCQUFZLEdBQVcsQ0FBQyxDQUFDO1FBQ3pCLGtCQUFhLEdBQVcsRUFBRSxDQUFDO1FBQzNCLHFCQUFnQixHQUFZLEtBQUssQ0FBQztRQUNsQyx1QkFBa0IsR0FBWSxLQUFLLENBQUM7UUFDcEMsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFFNUIsMkJBQXNCLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFDMUUsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1RCxpQkFBWSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzVELGtCQUFhLEdBQXVC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QkFBMUIsTUFBTTtnQkFHUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxFQUFFLGVBQWUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcclxuaW1wb3J0ICogYXMgX21vbWVudCBmcm9tIFwibW9tZW50XCI7IGNvbnN0IG1vbWVudCA9IF9tb21lbnQ7XHJcblxyXG5cclxuY2xhc3MgRGF5TW9kZWwge1xyXG5cdGRhdGU6IERhdGU7XHJcblx0aXNTZWxlY3RlZDogYm9vbGVhbjtcclxuXHRpc1RvZGF5OiBib29sZWFuO1xyXG5cdGlzSW5DdXJyZW50TW9udGg6IGJvb2xlYW47XHJcblx0aXNBY3RpdmU6IGJvb2xlYW47XHJcbn1cclxuXHJcbmNsYXNzIFdlZWtNb2RlbCB7XHJcblx0ZGF5czogRGF5TW9kZWxbXTtcclxufVxyXG5cclxuY2xhc3MgTW9udGhNb2RlbCB7XHJcblx0bW9udGhEaXNwbGF5OiBzdHJpbmc7XHJcblx0d2Vla3M6IFdlZWtNb2RlbFtdXHJcbn1cclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnc2xpY2stY2FsZW5kYXInLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tDYWxlbmRhckNvbXBvbmVudCksXHJcblx0XHRcdG11bHRpOiB0cnVlLFxyXG5cdFx0fV1cclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrQ2FsZW5kYXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0LCBPbkNoYW5nZXMge1xyXG5cdEBJbnB1dCgpIGNvbmRlbnNlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIG1vbnRoc1RvU2hvdzogbnVtYmVyID0gMTtcclxuXHRASW5wdXQoKSBpbmFjdGl2ZURhdGVzOiBEYXRlW10gPSBbXTtcclxuXHRASW5wdXQoKSBpbmFjdGl2ZVdlZWtlbmRzOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgc2hvd0RheXNOb3RJbk1vbnRoOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgbXVsdGlTZWxlY3Q6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBtdWx0aVNlbGVjdERhdGVzOiBEYXRlW107XHJcblx0QE91dHB1dCgpIG11bHRpU2VsZWN0RGF0ZXNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcblx0QE91dHB1dCgpIG9uRGF0ZVNlbGVjdDogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cdEBPdXRwdXQoKSBvbkRhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHRAT3V0cHV0KCkgb25Nb250aENoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cdEBPdXRwdXQoKSBvbk11bHRpRGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGVbXT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGVbXT4oKTtcclxuXHJcblx0QEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCcsICckZXZlbnQudGFyZ2V0J10pXHJcblx0b25DbGljayhldmVudDogTW91c2VFdmVudCwgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcclxuXHRcdGlmICghdGFyZ2V0RWxlbWVudCB8fCBTbGlja1V0aWxzU2VydmljZS5jaGVja1BhcmVudENsYXNzRXhpc3RzKHRhcmdldEVsZW1lbnQsIFwic2xpY2tDYWxlbmRhcl9tb250aFwiKSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cdH1cclxuXHJcblx0dXVpZDogc3RyaW5nO1xyXG5cdHNlbGVjdGVkRGF0ZTogRGF0ZSA9IG5ldyBEYXRlKCk7XHJcblx0dmlzaWJsZURhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cdG1vbnRoczogTW9udGhNb2RlbFtdO1xyXG5cdG1pbldpZHRoOiBudW1iZXI7XHJcblxyXG5cdGNvbnN0cnVjdG9yKCkge1xyXG5cdFx0dGhpcy51dWlkID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdH1cclxuXHJcblx0bmdPbkluaXQoKSB7XHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG5cdFx0aWYgKGNoYW5nZXMuY29uZGVuc2VkKVxyXG5cdFx0XHR0aGlzLmNvbmRlbnNlZCA9ICh0aGlzLmNvbmRlbnNlZCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5pbmFjdGl2ZVdlZWtlbmRzKVxyXG5cdFx0XHR0aGlzLmluYWN0aXZlV2Vla2VuZHMgPSAodGhpcy5pbmFjdGl2ZVdlZWtlbmRzIHx8ICd0cnVlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAnZmFsc2UnID8gZmFsc2UgOiB0cnVlO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLnNob3dEYXlzTm90SW5Nb250aClcclxuXHRcdFx0dGhpcy5zaG93RGF5c05vdEluTW9udGggPSAodGhpcy5zaG93RGF5c05vdEluTW9udGggfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMubXVsdGlTZWxlY3QpXHJcblx0XHRcdHRoaXMubXVsdGlTZWxlY3QgPSAodGhpcy5tdWx0aVNlbGVjdCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHRjb25zdCB3aWR0aFBlckNhbGVuZGFyID0gKHRoaXMuY29uZGVuc2VkKSA/IDE4MCA6IDI1MDtcclxuXHRcdHRoaXMubWluV2lkdGggPSB0aGlzLm1vbnRoc1RvU2hvdyAqIHdpZHRoUGVyQ2FsZW5kYXI7XHJcblxyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHJcblx0fVxyXG5cclxuXHRwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7IH07XHJcblxyXG5cdC8vIHRoaXMgaXMgdGhlIGluaXRpYWwgdmFsdWUgc2V0IHRvIHRoZSBjb21wb25lbnRcclxuXHR3cml0ZVZhbHVlKG9iajogYW55KSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChtb21lbnQob2JqKS5pc1ZhbGlkKCkpIHtcclxuXHRcdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG9iajtcclxuXHRcdFx0XHR0aGlzLnZpc2libGVEYXRlID0gb2JqO1xyXG5cdFx0XHRcdHRoaXMucmVjYWxjKCk7XHJcblx0XHRcdH1cclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0aWYgKCF0aGlzLnNlbGVjdGVkRGF0ZSAmJiB0aGlzLm9uRGF0ZUNoYW5nZSlcclxuXHRcdFx0XHR0aGlzLm9uRGF0ZUNoYW5nZS5lbWl0KG51bGwpO1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXHJcblx0Ly8gdGhpcyBpcyBob3cgd2UgZW1pdCB0aGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtXHJcblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cmVnaXN0ZXJPblRvdWNoZWQoKSB7IH1cclxuXHJcblx0cHJldk1vbnRoKCkge1xyXG5cdFx0dGhpcy52aXNpYmxlRGF0ZSA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5zdWJ0cmFjdCh0aGlzLm1vbnRoc1RvU2hvdywgXCJtb250aHNcIikudG9EYXRlKCk7XHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cclxuXHRcdGlmICh0aGlzLm9uTW9udGhDaGFuZ2UpIHtcclxuXHRcdFx0bGV0IG1vbnRoU3RhcnQgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuc3RhcnRPZihcIm1vbnRoXCIpO1xyXG5cdFx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IHRydWUpXHJcblx0XHRcdFx0bW9udGhTdGFydCA9IG1vbnRoU3RhcnQuc3RhcnRPZihcIndlZWtcIik7XHJcblxyXG5cdFx0XHR0aGlzLm9uTW9udGhDaGFuZ2UuZW1pdChtb250aFN0YXJ0LnRvRGF0ZSgpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG5leHRNb250aCgpIHtcclxuXHRcdHRoaXMudmlzaWJsZURhdGUgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuYWRkKHRoaXMubW9udGhzVG9TaG93LCBcIm1vbnRoc1wiKS50b0RhdGUoKTtcclxuXHRcdHRoaXMucmVjYWxjKCk7XHJcblxyXG5cdFx0aWYgKHRoaXMub25Nb250aENoYW5nZSkge1xyXG5cdFx0XHRsZXQgbW9udGhTdGFydCA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5zdGFydE9mKFwibW9udGhcIik7XHJcblx0XHRcdGlmICh0aGlzLnNob3dEYXlzTm90SW5Nb250aCA9PT0gdHJ1ZSlcclxuXHRcdFx0XHRtb250aFN0YXJ0ID0gbW9udGhTdGFydC5zdGFydE9mKFwid2Vla1wiKTtcclxuXHJcblx0XHRcdHRoaXMub25Nb250aENoYW5nZS5lbWl0KG1vbnRoU3RhcnQudG9EYXRlKCkpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2VsZWN0TW9udGgobW9udGhJZHgpIHtcclxuXHRcdGNvbnN0IG1vbnRoID0gdGhpcy5tb250aHNbbW9udGhJZHhdO1xyXG5cdFx0bGV0IHZpc2libGVEYXRlID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpO1xyXG5cdFx0bGV0IGRhdGVTdHJpbmcgPSBtb250aCArIHZpc2libGVEYXRlLmZvcm1hdChcIiAxLCBZWVlZXCIpO1xyXG5cclxuXHRcdHRoaXMudmlzaWJsZURhdGUgPSBtb21lbnQoZGF0ZVN0cmluZywgXCJNTU1NIERELCBZWVlZXCIpLnRvRGF0ZSgpO1xyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHR9XHJcblxyXG5cdHNldERhdGUoZGF5TW9kZWw6IERheU1vZGVsKSB7XHJcblx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheU1vZGVsLmlzSW5DdXJyZW50TW9udGggPT09IGZhbHNlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKGRheU1vZGVsLmlzQWN0aXZlID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGlmICh0aGlzLm11bHRpU2VsZWN0ID09PSBmYWxzZSkge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IGRheU1vZGVsLmRhdGU7XHJcblx0XHRcdHRoaXMudmlzaWJsZURhdGUgPSBkYXlNb2RlbC5kYXRlO1xyXG5cclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMub25EYXRlQ2hhbmdlKVxyXG5cdFx0XHRcdHRoaXMub25EYXRlQ2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuXHRcdFx0aWYgKHRoaXMub25EYXRlU2VsZWN0KVxyXG5cdFx0XHRcdHRoaXMub25EYXRlU2VsZWN0LmVtaXQodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cclxuXHRcdFx0Ly8gU2F5IHdlIGhhdmUgMyBtb250aHMgc2hvd2luZyBhbmQgdGhleSBzZWxlY3QgYSBkYXRlIG9uIHRoZSAzcmQgbW9udGhcclxuXHRcdFx0Ly8gUmVjYWxjIHdpbGwgcmUtZHJhdyB0aGUgM3JkIG1vbnRoIGFzIHRoZSBmaXJzdCBtb250aCBpbnN0ZWFkIG9mIGp1c3QgXHJcblx0XHRcdC8vIGhpZ2xpZ2h0aW5nIHRoZSBkYXRlIG9uIHRoZSAzcmQgbW9udGguICBIaWdobGlnaHQgaW5zdGVhZC5cclxuXHRcdFx0bGV0IGRhdGVGb3VuZCA9IGZhbHNlO1xyXG5cdFx0XHRmb3IgKGxldCBtb250aCBvZiB0aGlzLm1vbnRocykge1xyXG5cdFx0XHRcdGZvciAobGV0IHdlZWsgb2YgbW9udGgud2Vla3MpIHtcclxuXHRcdFx0XHRcdGZvciAobGV0IGRheSBvZiB3ZWVrLmRheXMpIHtcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHRcdFx0XHRcdFx0aWYgKGRheS5pc0luQ3VycmVudE1vbnRoID09PSB0cnVlICYmIG1vbWVudChkYXkuZGF0ZSkuaXNTYW1lKHRoaXMuc2VsZWN0ZWREYXRlLCBcImRhdGVcIikpIHtcclxuXHRcdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdFx0ZGF0ZUZvdW5kID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ly8gQnV0IGlmIHRoZXkndmUgXHJcblx0XHRcdGlmIChkYXRlRm91bmQgPT09IGZhbHNlKVxyXG5cdFx0XHRcdHRoaXMucmVjYWxjKCk7XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Ly8gVGhpcyB3aWxsIGJlIHJldmVyc2VkIHNpbmNlIHdlIGhhdmVuJ3QgcmUtY2FsY2VkIHRoZSBkYXRlcyB5ZXQuXHJcblx0XHRcdGlmICghZGF5TW9kZWwuaXNTZWxlY3RlZClcclxuXHRcdFx0XHR0aGlzLm11bHRpU2VsZWN0RGF0ZXMucHVzaChkYXlNb2RlbC5kYXRlKTtcclxuXHRcdFx0ZWxzZSB7XHJcblx0XHRcdFx0bGV0IGRhdGVJZHggPSB0aGlzLm11bHRpU2VsZWN0RGF0ZXMuZmluZEluZGV4KGQgPT4gbW9tZW50KGQpLnN0YXJ0T2YoXCJkYXRlXCIpLmlzU2FtZShtb21lbnQoZGF5TW9kZWwuZGF0ZSkuc3RhcnRPZihcImRhdGVcIikpKTtcclxuXHRcdFx0XHR0aGlzLm11bHRpU2VsZWN0RGF0ZXMuc3BsaWNlKGRhdGVJZHgsIDEpO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRpZiAodGhpcy5vbk11bHRpRGF0ZUNoYW5nZSlcclxuXHRcdFx0XHR0aGlzLm9uTXVsdGlEYXRlQ2hhbmdlLmVtaXQodGhpcy5tdWx0aVNlbGVjdERhdGVzKVxyXG5cclxuXHRcdFx0Zm9yIChsZXQgbW9udGggb2YgdGhpcy5tb250aHMpIHtcclxuXHRcdFx0XHRmb3IgKGxldCB3ZWVrIG9mIG1vbnRoLndlZWtzKSB7XHJcblx0XHRcdFx0XHRmb3IgKGxldCBkYXkgb2Ygd2Vlay5kYXlzKSB7XHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdGlmIChkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gdHJ1ZSAmJiAodGhpcy5tdWx0aVNlbGVjdERhdGVzLmZpbmRJbmRleCh4ID0+IG1vbWVudCh4KS5pc1NhbWUobW9tZW50KGRheS5kYXRlKSwgXCJkYXRlXCIpKSA+PSAwKSkge1xyXG5cdFx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gdHJ1ZTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVjYWxjKCkge1xyXG5cdFx0dGhpcy5tb250aHMgPSBbXTtcclxuXHJcblx0XHRmb3IgKGxldCBtb250aENvdW50ID0gMDsgbW9udGhDb3VudCA8IHRoaXMubW9udGhzVG9TaG93OyBtb250aENvdW50KyspIHtcclxuXHRcdFx0bGV0IGN1cnJlbnREYXRlID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpLnN0YXJ0T2YoXCJtb250aFwiKTtcclxuXHRcdFx0Y3VycmVudERhdGUgPSBtb21lbnQoY3VycmVudERhdGUpLmFkZChtb250aENvdW50LCBcIm1vbnRoc1wiKVxyXG5cdFx0XHRjdXJyZW50RGF0ZSA9IG1vbWVudChjdXJyZW50RGF0ZSkuc3RhcnRPZihcIndlZWtcIikuc3RhcnRPZihcImRhdGVcIik7XHJcblxyXG5cdFx0XHRjb25zdCBtb250aCA9IG5ldyBNb250aE1vZGVsKCk7XHJcblx0XHRcdG1vbnRoLndlZWtzID0gW107XHJcblxyXG5cdFx0XHQvLyBDdXJyZW50RGF0ZSBpcyBtb3N0IGxpa2VseSBnb2luZyB0byBiZSB0aGUgbW9udGggYmVmb3JlLCBzbyBhZGQgMTUgZGF5cyB0byBnZXQgdG8gdGhlIG1pZGRsZSBvZiB0aGUgY3VycmVudCBtb250aFxyXG5cdFx0XHRjb25zdCBtb250aFRvRGlzcGxheSA9IG1vbWVudChjdXJyZW50RGF0ZSkuYWRkKDE1LCBcImRheXNcIik7XHJcblx0XHRcdG1vbnRoLm1vbnRoRGlzcGxheSA9ICh0aGlzLmNvbmRlbnNlZCA9PT0gdHJ1ZSkgPyBtb250aFRvRGlzcGxheS5mb3JtYXQoXCJNTU0gWVlZWVwiKSA6IG1vbnRoVG9EaXNwbGF5LmZvcm1hdChcIk1NTSBZWVlZXCIpO1xyXG5cclxuXHRcdFx0Zm9yIChsZXQgd2Vla0NvdW50ID0gMDsgd2Vla0NvdW50IDwgNjsgd2Vla0NvdW50KyspIHtcclxuXHRcdFx0XHRjb25zdCB3ZWVrID0gbmV3IFdlZWtNb2RlbCgpO1xyXG5cdFx0XHRcdHdlZWsuZGF5cyA9IFtdO1xyXG5cclxuXHRcdFx0XHRmb3IgKGxldCBkYXlDb3VudCA9IDA7IGRheUNvdW50IDwgNzsgZGF5Q291bnQrKykge1xyXG5cdFx0XHRcdFx0Y29uc3QgZGF5ID0gbmV3IERheU1vZGVsKCk7XHJcblx0XHRcdFx0XHRkYXkuZGF0ZSA9IGN1cnJlbnREYXRlLnRvRGF0ZSgpO1xyXG5cdFx0XHRcdFx0ZGF5LmlzVG9kYXkgPSBtb21lbnQoKS5pc1NhbWUoY3VycmVudERhdGUsIFwiZGF0ZVwiKTtcclxuXHRcdFx0XHRcdGlmICh0aGlzLm11bHRpU2VsZWN0ICYmIHRoaXMubXVsdGlTZWxlY3REYXRlcylcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSAodGhpcy5tdWx0aVNlbGVjdERhdGVzLmZpbmRJbmRleCh4ID0+IG1vbWVudCh4KS5pc1NhbWUobW9tZW50KGRheS5kYXRlKSwgXCJkYXRlXCIpKSA+PSAwKTtcclxuXHRcdFx0XHRcdGVsc2VcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBtb21lbnQodGhpcy5zZWxlY3RlZERhdGUpLmlzU2FtZShjdXJyZW50RGF0ZSwgXCJkYXRlXCIpO1xyXG5cclxuXHRcdFx0XHRcdGRheS5pc0luQ3VycmVudE1vbnRoID0gKGN1cnJlbnREYXRlLm1vbnRoKCkgPT09IG1vbnRoVG9EaXNwbGF5Lm1vbnRoKCkpO1xyXG5cclxuXHRcdFx0XHRcdGRheS5pc0FjdGl2ZSA9IHRydWU7XHJcblxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5hY3RpdmVXZWVrZW5kcyAmJiBjdXJyZW50RGF0ZS5kYXkoKSA9PT0gNiB8fCBjdXJyZW50RGF0ZS5kYXkoKSA9PT0gNylcclxuXHRcdFx0XHRcdFx0ZGF5LmlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuaW5hY3RpdmVEYXRlcyAmJiB0aGlzLmluYWN0aXZlRGF0ZXMuZmluZEluZGV4KHggPT4gbW9tZW50KHgpLmlzU2FtZShjdXJyZW50RGF0ZSwgXCJkYXRlXCIpKSA+PSAwKVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNBY3RpdmUgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheS5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSlcclxuXHRcdFx0XHRcdFx0ZGF5LmlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0Ly8gSXQncyBwb3NzaWJsZSBmb3IgdGhlIGRheSB0byBiZSBpbiB0aGUgbW9udGggZGlzcGxheSwgYnV0IGhpZGRlbiwgYnV0IGFjdGl2ZVxyXG5cdFx0XHRcdFx0aWYgKGRheS5pc0FjdGl2ZSA9PT0gZmFsc2UpXHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0aWYgKGRheS5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSlcclxuXHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuXHJcblx0XHRcdFx0XHR3ZWVrLmRheXMucHVzaChkYXkpO1xyXG5cclxuXHRcdFx0XHRcdGN1cnJlbnREYXRlID0gbW9tZW50KGN1cnJlbnREYXRlKS5hZGQoMSwgXCJkYXlzXCIpO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0bW9udGgud2Vla3MucHVzaCh3ZWVrKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5tb250aHMucHVzaChtb250aCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufSIsIjxkaXYgY2xhc3M9XCJzbGljay1jYWxlbmRhciBkZWZhdWx0LXdpZHRoIGNhcmRcIiBpZD1cInNsaWNrLWNhbGVuZGFyX3t7dXVpZH19XCIgW3N0eWxlLm1pbldpZHRoLnB4XT1cIm1pbldpZHRoXCIgW25nQ2xhc3NdPVwieydzbGljay1jYWxlbmRhcl9jb25kZW5zZWQnOiBjb25kZW5zZWQgPT09IHRydWUsICdzbGljay1jYWxlbmRhcl9zaW5nbGUnOiBtb250aHNUb1Nob3cgPT09IDEgfVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9wcmV2LW1vbnRoXCIgKGNsaWNrKT1cInByZXZNb250aCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtY2hldnJvbi1sZWZ0XCI+PC9pPjwvZGl2PlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9uZXh0LW1vbnRoXCIgKGNsaWNrKT1cIm5leHRNb250aCgpXCI+PGkgY2xhc3M9XCJmYXIgZmEtY2hldnJvbi1yaWdodFwiPjwvaT48L2Rpdj5cclxuXHJcblx0PGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYXJvdW5kIHB0LTJcIiBbbmdDbGFzc109XCJ7ICdteC0zJzogbW9udGhzVG9TaG93ID4gMSwgJ214LTEnOiBtb250aHNUb1Nob3cgPT09IDEgfVwiPlxyXG5cdFx0PGRpdiAqbmdGb3I9XCJsZXQgbW9udGggb2YgbW9udGhzXCIgY2xhc3M9XCJmbGV4LWZpbGwgbXgtMlwiIHN0eWxlPVwidGV4dC1hbGlnbjogY2VudGVyO21heC13aWR0aDogMjIwcHg7XCI+XHJcblxyXG5cdFx0XHQ8dGFibGUgY2xhc3M9XCJ0YWJsZSB0YWJsZS1zbSB0YWJsZS1ib3JkZXJsZXNzXCIgc3R5bGU9XCJ0YWJsZS1sYXlvdXQ6IGZpeGVkOyBcIj5cclxuXHRcdFx0XHQ8dGhlYWQ+XHJcblx0XHRcdFx0XHQ8dHIgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9tb250aC1kaXNwbGF5XCI+XHJcblx0XHRcdFx0XHRcdDx0ZCBjb2xzcGFuPVwiN1wiPjxiPnt7bW9udGgubW9udGhEaXNwbGF5fX08L2I+PC90ZD5cclxuXHRcdFx0XHRcdDwvdHI+XHJcblx0XHRcdFx0XHQ8dHIgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9kYXlzLW9mLXdlZWtcIj5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5TdW48L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+Uzwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPk1vbjwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5NPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+VHVlPC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlQ8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5XZWQ8L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+Vzwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPlRodTwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5UaDwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPkZyaTwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5GPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+U2F0PC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlM8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdDwvdHI+XHJcblx0XHRcdFx0PC90aGVhZD5cclxuXHJcblx0XHRcdFx0PHRib2R5PlxyXG5cdFx0XHRcdFx0PHRyICpuZ0Zvcj1cImxldCB3ZWVrIG9mIG1vbnRoLndlZWtzXCI+XHJcblx0XHRcdFx0XHRcdDx0ZCAqbmdGb3I9XCJsZXQgZGF5IG9mIHdlZWsuZGF5c1wiIChjbGljayk9XCJzZXREYXRlKGRheSlcIiBjbGFzcz1cInNsaWNrLWNhbGVuZGFyX2RhdGVcIiBbbmdDbGFzc109XCJ7ICdzbGljay1jYWxlbmRhcl9pcy10b2RheSc6IGRheS5pc1RvZGF5LCAnYmctc3VjY2VzcyB0ZXh0LXdoaXRlJzogZGF5LmlzU2VsZWN0ZWQsICdzbGljay1jYWxlbmRhcl9ub3RfaW5fbW9udGgnOiBkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UsICdzbGljay1jYWxlbmRhcl9pbmFjdGl2ZSc6IGRheS5pc0FjdGl2ZSA9PT0gZmFsc2UgfVwiPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwic2hvd0RheXNOb3RJbk1vbnRoID09PSB0cnVlIHx8IChzaG93RGF5c05vdEluTW9udGggPT09IGZhbHNlICYmIGRheS5pc0luQ3VycmVudE1vbnRoID09PSB0cnVlKVwiPnt7ZGF5LmRhdGUgfCBkYXRlOidkJ319PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHRcdDxzcGFuICpuZ0lmPVwibW9udGhzVG9TaG93ID4gMSAmJiAoc2hvd0RheXNOb3RJbk1vbnRoID09PSBmYWxzZSAmJiBkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UpXCI+Jm5ic3A7PC9zcGFuPlxyXG5cdFx0XHRcdFx0XHQ8L3RkPlxyXG5cdFx0XHRcdFx0PC90cj5cclxuXHRcdFx0XHQ8L3Rib2R5PlxyXG5cdFx0XHQ8L3RhYmxlPlxyXG5cclxuXHJcblx0XHQ8L2Rpdj5cclxuXHJcblx0PC9kaXY+XHJcbjwvZGl2PiJdfQ==
|
|
246
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stY2FsZW5kYXIvc2xpY2stY2FsZW5kYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQW9DLEtBQUssRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuSSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxNQUFNLE1BQU0sUUFBUSxDQUFDOzs7QUFHNUIsTUFBTSxRQUFRO0NBTWI7QUFFRCxNQUFNLFNBQVM7Q0FFZDtBQUVELE1BQU0sVUFBVTtDQUdmO0FBWUQsTUFBTSxPQUFPLHNCQUFzQjtJQTBCbEM7UUF6QlMsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixpQkFBWSxHQUFXLENBQUMsQ0FBQztRQUN6QixrQkFBYSxHQUFXLEVBQUUsQ0FBQztRQUMzQixxQkFBZ0IsR0FBWSxLQUFLLENBQUM7UUFDbEMsdUJBQWtCLEdBQVksS0FBSyxDQUFDO1FBQ3BDLGdCQUFXLEdBQVksS0FBSyxDQUFDO1FBRTVCLDJCQUFzQixHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzFFLGlCQUFZLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7UUFDNUQsaUJBQVksR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUM1RCxrQkFBYSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBQzdELHNCQUFpQixH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QUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIE9uSW5pdCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzLCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCBtb21lbnQgZnJvbSBcIm1vbWVudFwiO1xyXG5cclxuXHJcbmNsYXNzIERheU1vZGVsIHtcclxuXHRkYXRlOiBEYXRlO1xyXG5cdGlzU2VsZWN0ZWQ6IGJvb2xlYW47XHJcblx0aXNUb2RheTogYm9vbGVhbjtcclxuXHRpc0luQ3VycmVudE1vbnRoOiBib29sZWFuO1xyXG5cdGlzQWN0aXZlOiBib29sZWFuO1xyXG59XHJcblxyXG5jbGFzcyBXZWVrTW9kZWwge1xyXG5cdGRheXM6IERheU1vZGVsW107XHJcbn1cclxuXHJcbmNsYXNzIE1vbnRoTW9kZWwge1xyXG5cdG1vbnRoRGlzcGxheTogc3RyaW5nO1xyXG5cdHdlZWtzOiBXZWVrTW9kZWxbXVxyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ3NsaWNrLWNhbGVuZGFyJyxcclxuXHR0ZW1wbGF0ZVVybDogJ3NsaWNrLWNhbGVuZGFyLmNvbXBvbmVudC5odG1sJyxcclxuXHRwcm92aWRlcnM6IFtcclxuXHRcdHtcclxuXHRcdFx0cHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcblx0XHRcdHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNsaWNrQ2FsZW5kYXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZSxcclxuXHRcdH1dXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0NhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuXHRASW5wdXQoKSBjb25kZW5zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoKSBtb250aHNUb1Nob3c6IG51bWJlciA9IDE7XHJcblx0QElucHV0KCkgaW5hY3RpdmVEYXRlczogRGF0ZVtdID0gW107XHJcblx0QElucHV0KCkgaW5hY3RpdmVXZWVrZW5kczogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIHNob3dEYXlzTm90SW5Nb250aDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBJbnB1dCgpIG11bHRpU2VsZWN0OiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KCkgbXVsdGlTZWxlY3REYXRlczogRGF0ZVtdO1xyXG5cdEBPdXRwdXQoKSBtdWx0aVNlbGVjdERhdGVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZVtdPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVtdPigpO1xyXG5cdEBPdXRwdXQoKSBvbkRhdGVTZWxlY3Q6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHRAT3V0cHV0KCkgb25EYXRlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8RGF0ZT4gPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QE91dHB1dCgpIG9uTW9udGhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlPiA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKTtcclxuXHRAT3V0cHV0KCkgb25NdWx0aURhdGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxEYXRlW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlW10+KCk7XHJcblxyXG5cdEBIb3N0TGlzdGVuZXIoJ2NsaWNrJywgWyckZXZlbnQnLCAnJGV2ZW50LnRhcmdldCddKVxyXG5cdG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQsIHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XHJcblx0XHRpZiAoIXRhcmdldEVsZW1lbnQgfHwgU2xpY2tVdGlsc1NlcnZpY2UuY2hlY2tQYXJlbnRDbGFzc0V4aXN0cyh0YXJnZXRFbGVtZW50LCBcInNsaWNrQ2FsZW5kYXJfbW9udGhcIikpXHJcblx0XHRcdHJldHVybjtcclxuXHR9XHJcblxyXG5cdHV1aWQ6IHN0cmluZztcclxuXHRzZWxlY3RlZERhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xyXG5cdHZpc2libGVEYXRlOiBEYXRlID0gbmV3IERhdGUoKTtcclxuXHRtb250aHM6IE1vbnRoTW9kZWxbXTtcclxuXHRtaW5XaWR0aDogbnVtYmVyO1xyXG5cclxuXHRjb25zdHJ1Y3RvcigpIHtcclxuXHRcdHRoaXMudXVpZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLm5ld0d1aWQoKTtcclxuXHR9XHJcblxyXG5cdG5nT25Jbml0KCkge1xyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuXHRcdGlmIChjaGFuZ2VzLmNvbmRlbnNlZClcclxuXHRcdFx0dGhpcy5jb25kZW5zZWQgPSAodGhpcy5jb25kZW5zZWQgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0aWYgKGNoYW5nZXMuaW5hY3RpdmVXZWVrZW5kcylcclxuXHRcdFx0dGhpcy5pbmFjdGl2ZVdlZWtlbmRzID0gKHRoaXMuaW5hY3RpdmVXZWVrZW5kcyB8fCAndHJ1ZScpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ2ZhbHNlJyA/IGZhbHNlIDogdHJ1ZTtcclxuXHJcblx0XHRpZiAoY2hhbmdlcy5zaG93RGF5c05vdEluTW9udGgpXHJcblx0XHRcdHRoaXMuc2hvd0RheXNOb3RJbk1vbnRoID0gKHRoaXMuc2hvd0RheXNOb3RJbk1vbnRoIHx8ICdmYWxzZScpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG5cclxuXHRcdGlmIChjaGFuZ2VzLm11bHRpU2VsZWN0KVxyXG5cdFx0XHR0aGlzLm11bHRpU2VsZWN0ID0gKHRoaXMubXVsdGlTZWxlY3QgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0Y29uc3Qgd2lkdGhQZXJDYWxlbmRhciA9ICh0aGlzLmNvbmRlbnNlZCkgPyAxODAgOiAyNTA7XHJcblx0XHR0aGlzLm1pbldpZHRoID0gdGhpcy5tb250aHNUb1Nob3cgKiB3aWR0aFBlckNhbGVuZGFyO1xyXG5cclxuXHRcdHRoaXMucmVjYWxjKCk7XHJcblxyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuXHQvLyB0aGlzIGlzIHRoZSBpbml0aWFsIHZhbHVlIHNldCB0byB0aGUgY29tcG9uZW50XHJcblx0d3JpdGVWYWx1ZShvYmo6IGFueSkge1xyXG5cdFx0aWYgKG9iaikge1xyXG5cdFx0XHRpZiAobW9tZW50KG9iaikuaXNWYWxpZCgpKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBvYmo7XHJcblx0XHRcdFx0dGhpcy52aXNpYmxlRGF0ZSA9IG9iajtcclxuXHRcdFx0XHR0aGlzLnJlY2FsYygpO1xyXG5cdFx0XHR9XHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgdGhpcy5vbkRhdGVDaGFuZ2UpXHJcblx0XHRcdFx0dGhpcy5vbkRhdGVDaGFuZ2UuZW1pdChudWxsKTtcclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ly8gcmVnaXN0ZXJzICdmbicgdGhhdCB3aWxsIGJlIGZpcmVkIHdoZW4gY2hhbmdlcyBhcmUgbWFkZVxyXG5cdC8vIHRoaXMgaXMgaG93IHdlIGVtaXQgdGhlIGNoYW5nZXMgYmFjayB0byB0aGUgZm9ybVxyXG5cdHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuXHR9XHJcblxyXG5cdC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxyXG5cdHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcblxyXG5cdHByZXZNb250aCgpIHtcclxuXHRcdHRoaXMudmlzaWJsZURhdGUgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuc3VidHJhY3QodGhpcy5tb250aHNUb1Nob3csIFwibW9udGhzXCIpLnRvRGF0ZSgpO1xyXG5cdFx0dGhpcy5yZWNhbGMoKTtcclxuXHJcblx0XHRpZiAodGhpcy5vbk1vbnRoQ2hhbmdlKSB7XHJcblx0XHRcdGxldCBtb250aFN0YXJ0ID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpLnN0YXJ0T2YoXCJtb250aFwiKTtcclxuXHRcdFx0aWYgKHRoaXMuc2hvd0RheXNOb3RJbk1vbnRoID09PSB0cnVlKVxyXG5cdFx0XHRcdG1vbnRoU3RhcnQgPSBtb250aFN0YXJ0LnN0YXJ0T2YoXCJ3ZWVrXCIpO1xyXG5cclxuXHRcdFx0dGhpcy5vbk1vbnRoQ2hhbmdlLmVtaXQobW9udGhTdGFydC50b0RhdGUoKSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRuZXh0TW9udGgoKSB7XHJcblx0XHR0aGlzLnZpc2libGVEYXRlID0gbW9tZW50KHRoaXMudmlzaWJsZURhdGUpLmFkZCh0aGlzLm1vbnRoc1RvU2hvdywgXCJtb250aHNcIikudG9EYXRlKCk7XHJcblx0XHR0aGlzLnJlY2FsYygpO1xyXG5cclxuXHRcdGlmICh0aGlzLm9uTW9udGhDaGFuZ2UpIHtcclxuXHRcdFx0bGV0IG1vbnRoU3RhcnQgPSBtb21lbnQodGhpcy52aXNpYmxlRGF0ZSkuc3RhcnRPZihcIm1vbnRoXCIpO1xyXG5cdFx0XHRpZiAodGhpcy5zaG93RGF5c05vdEluTW9udGggPT09IHRydWUpXHJcblx0XHRcdFx0bW9udGhTdGFydCA9IG1vbnRoU3RhcnQuc3RhcnRPZihcIndlZWtcIik7XHJcblxyXG5cdFx0XHR0aGlzLm9uTW9udGhDaGFuZ2UuZW1pdChtb250aFN0YXJ0LnRvRGF0ZSgpKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHNlbGVjdE1vbnRoKG1vbnRoSWR4KSB7XHJcblx0XHRjb25zdCBtb250aCA9IHRoaXMubW9udGhzW21vbnRoSWR4XTtcclxuXHRcdGxldCB2aXNpYmxlRGF0ZSA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKTtcclxuXHRcdGxldCBkYXRlU3RyaW5nID0gbW9udGggKyB2aXNpYmxlRGF0ZS5mb3JtYXQoXCIgMSwgWVlZWVwiKTtcclxuXHJcblx0XHR0aGlzLnZpc2libGVEYXRlID0gbW9tZW50KGRhdGVTdHJpbmcsIFwiTU1NTSBERCwgWVlZWVwiKS50b0RhdGUoKTtcclxuXHRcdHRoaXMucmVjYWxjKCk7XHJcblx0fVxyXG5cclxuXHRzZXREYXRlKGRheU1vZGVsOiBEYXlNb2RlbCkge1xyXG5cdFx0aWYgKHRoaXMuc2hvd0RheXNOb3RJbk1vbnRoID09PSBmYWxzZSAmJiBkYXlNb2RlbC5pc0luQ3VycmVudE1vbnRoID09PSBmYWxzZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGlmIChkYXlNb2RlbC5pc0FjdGl2ZSA9PT0gZmFsc2UpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRpZiAodGhpcy5tdWx0aVNlbGVjdCA9PT0gZmFsc2UpIHtcclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBkYXlNb2RlbC5kYXRlO1xyXG5cdFx0XHR0aGlzLnZpc2libGVEYXRlID0gZGF5TW9kZWwuZGF0ZTtcclxuXHJcblx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHJcblx0XHRcdGlmICh0aGlzLm9uRGF0ZUNoYW5nZSlcclxuXHRcdFx0XHR0aGlzLm9uRGF0ZUNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHJcblx0XHRcdGlmICh0aGlzLm9uRGF0ZVNlbGVjdClcclxuXHRcdFx0XHR0aGlzLm9uRGF0ZVNlbGVjdC5lbWl0KHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHJcblx0XHRcdC8vIFNheSB3ZSBoYXZlIDMgbW9udGhzIHNob3dpbmcgYW5kIHRoZXkgc2VsZWN0IGEgZGF0ZSBvbiB0aGUgM3JkIG1vbnRoXHJcblx0XHRcdC8vIFJlY2FsYyB3aWxsIHJlLWRyYXcgdGhlIDNyZCBtb250aCBhcyB0aGUgZmlyc3QgbW9udGggaW5zdGVhZCBvZiBqdXN0IFxyXG5cdFx0XHQvLyBoaWdsaWdodGluZyB0aGUgZGF0ZSBvbiB0aGUgM3JkIG1vbnRoLiAgSGlnaGxpZ2h0IGluc3RlYWQuXHJcblx0XHRcdGxldCBkYXRlRm91bmQgPSBmYWxzZTtcclxuXHRcdFx0Zm9yIChsZXQgbW9udGggb2YgdGhpcy5tb250aHMpIHtcclxuXHRcdFx0XHRmb3IgKGxldCB3ZWVrIG9mIG1vbnRoLndlZWtzKSB7XHJcblx0XHRcdFx0XHRmb3IgKGxldCBkYXkgb2Ygd2Vlay5kYXlzKSB7XHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblx0XHRcdFx0XHRcdGlmIChkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gdHJ1ZSAmJiBtb21lbnQoZGF5LmRhdGUpLmlzU2FtZSh0aGlzLnNlbGVjdGVkRGF0ZSwgXCJkYXRlXCIpKSB7XHJcblx0XHRcdFx0XHRcdFx0ZGF5LmlzU2VsZWN0ZWQgPSB0cnVlO1xyXG5cdFx0XHRcdFx0XHRcdGRhdGVGb3VuZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC8vIEJ1dCBpZiB0aGV5J3ZlIFxyXG5cdFx0XHRpZiAoZGF0ZUZvdW5kID09PSBmYWxzZSlcclxuXHRcdFx0XHR0aGlzLnJlY2FsYygpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdC8vIFRoaXMgd2lsbCBiZSByZXZlcnNlZCBzaW5jZSB3ZSBoYXZlbid0IHJlLWNhbGNlZCB0aGUgZGF0ZXMgeWV0LlxyXG5cdFx0XHRpZiAoIWRheU1vZGVsLmlzU2VsZWN0ZWQpXHJcblx0XHRcdFx0dGhpcy5tdWx0aVNlbGVjdERhdGVzLnB1c2goZGF5TW9kZWwuZGF0ZSk7XHJcblx0XHRcdGVsc2Uge1xyXG5cdFx0XHRcdGxldCBkYXRlSWR4ID0gdGhpcy5tdWx0aVNlbGVjdERhdGVzLmZpbmRJbmRleChkID0+IG1vbWVudChkKS5zdGFydE9mKFwiZGF0ZVwiKS5pc1NhbWUobW9tZW50KGRheU1vZGVsLmRhdGUpLnN0YXJ0T2YoXCJkYXRlXCIpKSk7XHJcblx0XHRcdFx0dGhpcy5tdWx0aVNlbGVjdERhdGVzLnNwbGljZShkYXRlSWR4LCAxKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0aWYgKHRoaXMub25NdWx0aURhdGVDaGFuZ2UpXHJcblx0XHRcdFx0dGhpcy5vbk11bHRpRGF0ZUNoYW5nZS5lbWl0KHRoaXMubXVsdGlTZWxlY3REYXRlcylcclxuXHJcblx0XHRcdGZvciAobGV0IG1vbnRoIG9mIHRoaXMubW9udGhzKSB7XHJcblx0XHRcdFx0Zm9yIChsZXQgd2VlayBvZiBtb250aC53ZWVrcykge1xyXG5cdFx0XHRcdFx0Zm9yIChsZXQgZGF5IG9mIHdlZWsuZGF5cykge1xyXG5cdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cdFx0XHRcdFx0XHRpZiAoZGF5LmlzSW5DdXJyZW50TW9udGggPT09IHRydWUgJiYgKHRoaXMubXVsdGlTZWxlY3REYXRlcy5maW5kSW5kZXgoeCA9PiBtb21lbnQoeCkuaXNTYW1lKG1vbWVudChkYXkuZGF0ZSksIFwiZGF0ZVwiKSkgPj0gMCkpIHtcclxuXHRcdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IHRydWU7XHJcblx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIHJlY2FsYygpIHtcclxuXHRcdHRoaXMubW9udGhzID0gW107XHJcblxyXG5cdFx0Zm9yIChsZXQgbW9udGhDb3VudCA9IDA7IG1vbnRoQ291bnQgPCB0aGlzLm1vbnRoc1RvU2hvdzsgbW9udGhDb3VudCsrKSB7XHJcblx0XHRcdGxldCBjdXJyZW50RGF0ZSA9IG1vbWVudCh0aGlzLnZpc2libGVEYXRlKS5zdGFydE9mKFwibW9udGhcIik7XHJcblx0XHRcdGN1cnJlbnREYXRlID0gbW9tZW50KGN1cnJlbnREYXRlKS5hZGQobW9udGhDb3VudCwgXCJtb250aHNcIilcclxuXHRcdFx0Y3VycmVudERhdGUgPSBtb21lbnQoY3VycmVudERhdGUpLnN0YXJ0T2YoXCJ3ZWVrXCIpLnN0YXJ0T2YoXCJkYXRlXCIpO1xyXG5cclxuXHRcdFx0Y29uc3QgbW9udGggPSBuZXcgTW9udGhNb2RlbCgpO1xyXG5cdFx0XHRtb250aC53ZWVrcyA9IFtdO1xyXG5cclxuXHRcdFx0Ly8gQ3VycmVudERhdGUgaXMgbW9zdCBsaWtlbHkgZ29pbmcgdG8gYmUgdGhlIG1vbnRoIGJlZm9yZSwgc28gYWRkIDE1IGRheXMgdG8gZ2V0IHRvIHRoZSBtaWRkbGUgb2YgdGhlIGN1cnJlbnQgbW9udGhcclxuXHRcdFx0Y29uc3QgbW9udGhUb0Rpc3BsYXkgPSBtb21lbnQoY3VycmVudERhdGUpLmFkZCgxNSwgXCJkYXlzXCIpO1xyXG5cdFx0XHRtb250aC5tb250aERpc3BsYXkgPSAodGhpcy5jb25kZW5zZWQgPT09IHRydWUpID8gbW9udGhUb0Rpc3BsYXkuZm9ybWF0KFwiTU1NIFlZWVlcIikgOiBtb250aFRvRGlzcGxheS5mb3JtYXQoXCJNTU0gWVlZWVwiKTtcclxuXHJcblx0XHRcdGZvciAobGV0IHdlZWtDb3VudCA9IDA7IHdlZWtDb3VudCA8IDY7IHdlZWtDb3VudCsrKSB7XHJcblx0XHRcdFx0Y29uc3Qgd2VlayA9IG5ldyBXZWVrTW9kZWwoKTtcclxuXHRcdFx0XHR3ZWVrLmRheXMgPSBbXTtcclxuXHJcblx0XHRcdFx0Zm9yIChsZXQgZGF5Q291bnQgPSAwOyBkYXlDb3VudCA8IDc7IGRheUNvdW50KyspIHtcclxuXHRcdFx0XHRcdGNvbnN0IGRheSA9IG5ldyBEYXlNb2RlbCgpO1xyXG5cdFx0XHRcdFx0ZGF5LmRhdGUgPSBjdXJyZW50RGF0ZS50b0RhdGUoKTtcclxuXHRcdFx0XHRcdGRheS5pc1RvZGF5ID0gbW9tZW50KCkuaXNTYW1lKGN1cnJlbnREYXRlLCBcImRhdGVcIik7XHJcblx0XHRcdFx0XHRpZiAodGhpcy5tdWx0aVNlbGVjdCAmJiB0aGlzLm11bHRpU2VsZWN0RGF0ZXMpXHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gKHRoaXMubXVsdGlTZWxlY3REYXRlcy5maW5kSW5kZXgoeCA9PiBtb21lbnQoeCkuaXNTYW1lKG1vbWVudChkYXkuZGF0ZSksIFwiZGF0ZVwiKSkgPj0gMCk7XHJcblx0XHRcdFx0XHRlbHNlXHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5pc1NhbWUoY3VycmVudERhdGUsIFwiZGF0ZVwiKTtcclxuXHJcblx0XHRcdFx0XHRkYXkuaXNJbkN1cnJlbnRNb250aCA9IChjdXJyZW50RGF0ZS5tb250aCgpID09PSBtb250aFRvRGlzcGxheS5tb250aCgpKTtcclxuXHJcblx0XHRcdFx0XHRkYXkuaXNBY3RpdmUgPSB0cnVlO1xyXG5cclxuXHRcdFx0XHRcdGlmICh0aGlzLmluYWN0aXZlV2Vla2VuZHMgJiYgY3VycmVudERhdGUuZGF5KCkgPT09IDYgfHwgY3VycmVudERhdGUuZGF5KCkgPT09IDcpXHJcblx0XHRcdFx0XHRcdGRheS5pc0FjdGl2ZSA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdGlmICh0aGlzLmluYWN0aXZlRGF0ZXMgJiYgdGhpcy5pbmFjdGl2ZURhdGVzLmZpbmRJbmRleCh4ID0+IG1vbWVudCh4KS5pc1NhbWUoY3VycmVudERhdGUsIFwiZGF0ZVwiKSkgPj0gMClcclxuXHRcdFx0XHRcdFx0ZGF5LmlzQWN0aXZlID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0aWYgKHRoaXMuc2hvd0RheXNOb3RJbk1vbnRoID09PSBmYWxzZSAmJiBkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UpXHJcblx0XHRcdFx0XHRcdGRheS5pc0FjdGl2ZSA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdC8vIEl0J3MgcG9zc2libGUgZm9yIHRoZSBkYXkgdG8gYmUgaW4gdGhlIG1vbnRoIGRpc3BsYXksIGJ1dCBoaWRkZW4sIGJ1dCBhY3RpdmVcclxuXHRcdFx0XHRcdGlmIChkYXkuaXNBY3RpdmUgPT09IGZhbHNlKVxyXG5cdFx0XHRcdFx0XHRkYXkuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG5cclxuXHRcdFx0XHRcdGlmIChkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gZmFsc2UpXHJcblx0XHRcdFx0XHRcdGRheS5pc1NlbGVjdGVkID0gZmFsc2U7XHJcblxyXG5cdFx0XHRcdFx0d2Vlay5kYXlzLnB1c2goZGF5KTtcclxuXHJcblx0XHRcdFx0XHRjdXJyZW50RGF0ZSA9IG1vbWVudChjdXJyZW50RGF0ZSkuYWRkKDEsIFwiZGF5c1wiKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdG1vbnRoLndlZWtzLnB1c2god2Vlayk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMubW9udGhzLnB1c2gobW9udGgpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn0iLCI8ZGl2IGNsYXNzPVwic2xpY2stY2FsZW5kYXIgZGVmYXVsdC13aWR0aCBjYXJkXCIgaWQ9XCJzbGljay1jYWxlbmRhcl97e3V1aWR9fVwiIFtzdHlsZS5taW5XaWR0aC5weF09XCJtaW5XaWR0aFwiIFtuZ0NsYXNzXT1cInsnc2xpY2stY2FsZW5kYXJfY29uZGVuc2VkJzogY29uZGVuc2VkID09PSB0cnVlLCAnc2xpY2stY2FsZW5kYXJfc2luZ2xlJzogbW9udGhzVG9TaG93ID09PSAxIH1cIj5cclxuXHQ8ZGl2IGNsYXNzPVwic2xpY2stY2FsZW5kYXJfcHJldi1tb250aFwiIChjbGljayk9XCJwcmV2TW9udGgoKVwiPjxpIGNsYXNzPVwiZmFyIGZhLWNoZXZyb24tbGVmdFwiPjwvaT48L2Rpdj5cclxuXHQ8ZGl2IGNsYXNzPVwic2xpY2stY2FsZW5kYXJfbmV4dC1tb250aFwiIChjbGljayk9XCJuZXh0TW9udGgoKVwiPjxpIGNsYXNzPVwiZmFyIGZhLWNoZXZyb24tcmlnaHRcIj48L2k+PC9kaXY+XHJcblxyXG5cdDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWFyb3VuZCBwdC0yXCIgW25nQ2xhc3NdPVwieyAnbXgtMyc6IG1vbnRoc1RvU2hvdyA+IDEsICdteC0xJzogbW9udGhzVG9TaG93ID09PSAxIH1cIj5cclxuXHRcdDxkaXYgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoc1wiIGNsYXNzPVwiZmxleC1maWxsIG14LTJcIiBzdHlsZT1cInRleHQtYWxpZ246IGNlbnRlcjttYXgtd2lkdGg6IDIyMHB4O1wiPlxyXG5cclxuXHRcdFx0PHRhYmxlIGNsYXNzPVwidGFibGUgdGFibGUtc20gdGFibGUtYm9yZGVybGVzc1wiIHN0eWxlPVwidGFibGUtbGF5b3V0OiBmaXhlZDsgXCI+XHJcblx0XHRcdFx0PHRoZWFkPlxyXG5cdFx0XHRcdFx0PHRyIGNsYXNzPVwic2xpY2stY2FsZW5kYXJfbW9udGgtZGlzcGxheVwiPlxyXG5cdFx0XHRcdFx0XHQ8dGQgY29sc3Bhbj1cIjdcIj48Yj57e21vbnRoLm1vbnRoRGlzcGxheX19PC9iPjwvdGQ+XHJcblx0XHRcdFx0XHQ8L3RyPlxyXG5cdFx0XHRcdFx0PHRyIGNsYXNzPVwic2xpY2stY2FsZW5kYXJfZGF5cy1vZi13ZWVrXCI+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+U3VuPC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlM8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5Nb248L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+TTwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPlR1ZTwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5UPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHRcdDx0ZD48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSBmYWxzZSc+V2VkPC9zcGFuPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IHRydWUnPlc8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5UaHU8L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+VGg8L3NwYW4+PC90ZD5cclxuXHRcdFx0XHRcdFx0PHRkPjxzcGFuICpuZ0lmPSdjb25kZW5zZWQgPT09IGZhbHNlJz5Gcmk8L3NwYW4+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gdHJ1ZSc+Rjwvc3Bhbj48L3RkPlxyXG5cdFx0XHRcdFx0XHQ8dGQ+PHNwYW4gKm5nSWY9J2NvbmRlbnNlZCA9PT0gZmFsc2UnPlNhdDwvc3Bhbj48c3BhbiAqbmdJZj0nY29uZGVuc2VkID09PSB0cnVlJz5TPC9zcGFuPjwvdGQ+XHJcblx0XHRcdFx0XHQ8L3RyPlxyXG5cdFx0XHRcdDwvdGhlYWQ+XHJcblxyXG5cdFx0XHRcdDx0Ym9keT5cclxuXHRcdFx0XHRcdDx0ciAqbmdGb3I9XCJsZXQgd2VlayBvZiBtb250aC53ZWVrc1wiPlxyXG5cdFx0XHRcdFx0XHQ8dGQgKm5nRm9yPVwibGV0IGRheSBvZiB3ZWVrLmRheXNcIiAoY2xpY2spPVwic2V0RGF0ZShkYXkpXCIgY2xhc3M9XCJzbGljay1jYWxlbmRhcl9kYXRlXCIgW25nQ2xhc3NdPVwieyAnc2xpY2stY2FsZW5kYXJfaXMtdG9kYXknOiBkYXkuaXNUb2RheSwgJ2JnLXN1Y2Nlc3MgdGV4dC13aGl0ZSc6IGRheS5pc1NlbGVjdGVkLCAnc2xpY2stY2FsZW5kYXJfbm90X2luX21vbnRoJzogZGF5LmlzSW5DdXJyZW50TW9udGggPT09IGZhbHNlLCAnc2xpY2stY2FsZW5kYXJfaW5hY3RpdmUnOiBkYXkuaXNBY3RpdmUgPT09IGZhbHNlIH1cIj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiAqbmdJZj1cInNob3dEYXlzTm90SW5Nb250aCA9PT0gdHJ1ZSB8fCAoc2hvd0RheXNOb3RJbk1vbnRoID09PSBmYWxzZSAmJiBkYXkuaXNJbkN1cnJlbnRNb250aCA9PT0gdHJ1ZSlcIj57e2RheS5kYXRlIHwgZGF0ZTonZCd9fTwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0XHQ8c3BhbiAqbmdJZj1cIm1vbnRoc1RvU2hvdyA+IDEgJiYgKHNob3dEYXlzTm90SW5Nb250aCA9PT0gZmFsc2UgJiYgZGF5LmlzSW5DdXJyZW50TW9udGggPT09IGZhbHNlKVwiPiZuYnNwOzwvc3Bhbj5cclxuXHRcdFx0XHRcdFx0PC90ZD5cclxuXHRcdFx0XHRcdDwvdHI+XHJcblx0XHRcdFx0PC90Ym9keT5cclxuXHRcdFx0PC90YWJsZT5cclxuXHJcblxyXG5cdFx0PC9kaXY+XHJcblxyXG5cdDwvZGl2PlxyXG48L2Rpdj4iXX0=
|
|
@@ -2,12 +2,11 @@ import { Component, ViewChild, Input, HostListener, forwardRef, EventEmitter, Ou
|
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from "@angular/forms";
|
|
3
3
|
import { SlickSleepService } from "../utils/slick-sleep.service";
|
|
4
4
|
import { SlickUtilsService } from "../utils/slick-utils.service";
|
|
5
|
-
import
|
|
5
|
+
import moment from "moment";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../slick-calendar/slick-calendar.component";
|
|
8
8
|
import * as i2 from "@angular/common";
|
|
9
9
|
import * as i3 from "@angular/forms";
|
|
10
|
-
const moment = _moment;
|
|
11
10
|
export class SlickDatePickerComponent {
|
|
12
11
|
constructor(el) {
|
|
13
12
|
this.el = el;
|
|
@@ -276,4 +275,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.3", ngImpor
|
|
|
276
275
|
type: HostListener,
|
|
277
276
|
args: ['blur', ['$event', '$event.target']]
|
|
278
277
|
}] } });
|
|
279
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sS0FBSyxPQUFPLE1BQU0sUUFBUSxDQUFDOzs7OztBQUFDLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQztBQVkxRCxNQUFNLE9BQU8sd0JBQXdCO0lBaUZwQyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQS9FQyxXQUFNLEdBQVcsVUFBVSxDQUFDO1FBQ3pCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDOUIsV0FBTSxHQUFZLEtBQUssQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFHaEUsb0JBQWUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvQyx3QkFBbUIsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlC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QixTQUFTO3NCQURkLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQTZCbkMsT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPM0IsTUFBTTtzQkFEWCxZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEVsZW1lbnRSZWYsIFZpZXdDaGlsZCwgSW5wdXQsIEhvc3RMaXN0ZW5lciwgZm9yd2FyZFJlZiwgT25Jbml0LCBPbkRlc3Ryb3ksIEV2ZW50RW1pdHRlciwgT3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IFNsaWNrU2xlZXBTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXNsZWVwLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpY2tVdGlsc1NlcnZpY2UgfSBmcm9tIFwiLi4vdXRpbHMvc2xpY2stdXRpbHMuc2VydmljZVwiO1xyXG5pbXBvcnQgKiBhcyBfbW9tZW50IGZyb20gXCJtb21lbnRcIjsgY29uc3QgbW9tZW50ID0gX21vbWVudDtcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHNlbGVjdG9yOiAnW3NsaWNrLWRhdGUtcGlja2VyXScsXHJcblx0cHJvdmlkZXJzOiBbXHJcblx0XHR7XHJcblx0XHRcdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG5cdFx0XHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQpLFxyXG5cdFx0XHRtdWx0aTogdHJ1ZVxyXG5cdFx0fV0sXHJcblx0dGVtcGxhdGVVcmw6ICdzbGljay1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCdcclxufSlcclxuZXhwb3J0IGNsYXNzIFNsaWNrRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXJcIikgc2xpY2tEYXRlUGlja2VyOiBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQ7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXItZm9ybWF0XCIpIGZvcm1hdDogc3RyaW5nID0gXCJNL0QvWVlZWVwiO1xyXG5cdEBJbnB1dChcInNsaWNrLWRhdGUtcGlja2VyLWNvbmRlbnNlZFwiKSBjb25kZW5zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRASW5wdXQoXCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGVcIikgbW9iaWxlOiBib29sZWFuID0gZmFsc2U7XHJcblx0QE91dHB1dChcIm9uRGF0ZUNoYW5nZVwiKSBvbkRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPERhdGU+KCk7XHJcblx0QFZpZXdDaGlsZChcImNvbnRhaW5lclJlZlwiKSBjb250YWluZXJSZWY6IEVsZW1lbnRSZWY7XHJcblxyXG5cdGZuRG9jdW1lbnRDbGljayA9IChlKSA9PiB0aGlzLmRvY3VtZW50Q2xpY2soZSk7XHJcblx0Zm5Eb2N1bWVudE1vdXNlRG93biA9IChlKSA9PiB0aGlzLmRvY3VtZW50TW91c2VEb3duKGUpO1xyXG5cclxuXHQvLyBNYWtlIHN1cmUgdGhleSBvbmx5IHByZXNzIHZhbGlkIGtleXNcclxuXHRASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcclxuXHRhc3luYyBvbktleWRvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcdFx0XHJcblx0XHRpZiAoZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmN0cmxLZXkgfHwgZXZlbnQubWV0YUtleSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Ly8gQWxsb3c6IGJhY2tzcGFjZSwgZGVsZXRlLCB0YWIsIGVzY2FwZSwgZW50ZXJcclxuXHRcdGlmICgoZXZlbnQua2V5Q29kZSA9PT0gNDYgfHwgZXZlbnQua2V5Q29kZSA9PT0gOCkgfHxcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPT09IDkgfHwgZXZlbnQua2V5Q29kZSA9PT0gMjcgfHwgZXZlbnQua2V5Q29kZSA9PT0gMTMpIHx8XHJcblx0XHRcdC8vIEFsbG93IEYxLUYxMiBrZXlzXHJcblx0XHRcdCgoZXZlbnQua2V5Q29kZSA+PSAxMTIgJiYgZXZlbnQua2V5Q29kZSA8PSAxMjMpKSB8fFxyXG5cdFx0XHQvLyBBbGxvdzogaG9tZSwgZW5kLCBsZWZ0LCByaWdodCwgZG93biwgdXBcclxuXHRcdFx0KGV2ZW50LmtleUNvZGUgPj0gMzUgJiYgZXZlbnQua2V5Q29kZSA8PSA0MCkpIHtcclxuXHRcdFx0Ly8gbGV0IGl0IGhhcHBlbiwgZG9uJ3QgZG8gYW55dGhpbmdcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdC8vIEVuc3VyZSB0aGF0IGl0IGlzIGEgbnVtYmVyIGFuZCBzdG9wIHRoZSBrZXlwcmVzc1xyXG5cdFx0aWYgKChldmVudC5zaGlmdEtleSB8fCBldmVudC5hbHRLZXkgfHwgZXZlbnQua2V5IDwgJzAnIHx8IGV2ZW50LmtleSA+ICc5JykgJiZcclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLycgJiYgIC8vIEFsbG93IC9cclxuXHRcdFx0ZXZlbnQua2V5ICE9PSAnLScpIHsgIC8vIEFsbG93IC1cdFx0XHJcblx0XHRcdGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIFdoZW4gd2UgZmlyc3QgZm9jdXMsIHNob3cgdGhlIGRhdGUgcGlja2VyXHJcblx0QEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxyXG5cdG9uRm9jdXMoZXZlbnQ6IEZvY3VzRXZlbnQpOiB2b2lkIHtcclxuXHRcdHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG5cclxuXHQvLyBXaGVuIHdlIGJsdXIsIHVwZGF0ZSB0aGUgbW9kZWxcclxuXHRASG9zdExpc3RlbmVyKCdibHVyJywgWyckZXZlbnQnLCAnJGV2ZW50LnRhcmdldCddKVxyXG5cdGFzeW5jIG9uQmx1cihldmVudDogRm9jdXNFdmVudCwgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQpIHtcclxuXHRcdC8vIElmIHRoZSB1c2VyIGNsaWNrZWQgb24gdGhlIGNhbGVuZGFyLCBpdCB3aWxsIHRyaWdnZXIgYSBtb3VzZSBkb3duIGV2ZW50IGJlZm9yZSB0aGUgYmx1ciBldmVudC4gIERvbid0IGJsdXJcclxuXHRcdC8vIGlmIHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIuXHJcblx0XHRpZiAodGhpcy5pZ25vcmVCbHVyID09PSB0cnVlKSB7XHJcblx0XHRcdHRoaXMuaWdub3JlQmx1ciA9IGZhbHNlO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgdGV4dFZhbCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuXHJcblx0XHRpZiAoIXRleHRWYWwpIHtcclxuXHRcdFx0dGhpcy5kb1Byb3BhZ2F0ZShudWxsKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGlmIChtb21lbnQodGV4dFZhbCwgdGhpcy5mb3JtYXQpLmlzVmFsaWQoKSkge1xyXG5cdFx0XHR2YXIgbmV3RGF0ZSA9IG1vbWVudCh0ZXh0VmFsLCB0aGlzLmZvcm1hdCk7XHJcblx0XHRcdHRoaXMuZG9Qcm9wYWdhdGUobmV3RGF0ZS50b0RhdGUoKSlcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbmV3RGF0ZS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dXVpZDogc3RyaW5nID0gU2xpY2tVdGlsc1NlcnZpY2UubmV3R3VpZCgpO1xyXG5cdGlnbm9yZUJsdXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRzaG93RGF0ZVBpY2tlcjogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdGRhdGVQaWNrZXJWaXNpYmxpdHk6IHN0cmluZyA9IFwiaGlkZGVuXCI7XHJcblx0ZGF0ZVBpY2tlck9wYWNpdHk6IHN0cmluZyA9ICcwJztcclxuXHRsZWZ0OiBzdHJpbmc7XHJcblx0dG9wOiBzdHJpbmc7XHJcblx0c2VsZWN0ZWREYXRlOiBEYXRlID0gbnVsbDtcclxuXHRpc0luaXRpYWwgPSB0cnVlO1xyXG5cclxuXHRwcml2YXRlIGlucHV0R3JvdXBQcmVwZW5kOiBIVE1MRWxlbWVudDtcclxuXHJcblx0Y29uc3RydWN0b3IocHJpdmF0ZSBlbDogRWxlbWVudFJlZikge1xyXG5cdH1cclxuXHJcblx0YXN5bmMgbmdPbkluaXQoKSB7XHJcblxyXG5cdFx0dGhpcy5tb2JpbGUgPSAodGhpcy5tb2JpbGUgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblx0XHR0aGlzLmNvbmRlbnNlZCA9ICh0aGlzLmNvbmRlbnNlZCB8fCAnZmFsc2UnKS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkgPT09ICd0cnVlJyA/IHRydWUgOiBmYWxzZTtcclxuXHJcblx0XHQvLyBTaW5jZSB0aGlzLm1vYmlsZSBpc24ndCBuZWNlc3NhcmlseSBkZWZpbmVkIHlldCwgd2UgbmVlZCB0byBzbGVlcCB0byBhbGxvdyB0aGUgbmdJZidzIHRvIGRvIHRoZWlyIHRoaW5nXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0Ly8gUmVtb3ZlIHRoaXMgZnJvbSB0aGUgaW5saW5lIHZlcnNpb24gYW5kIHB1dCBpdCBvbiB0aGUgYm9keSBzbyB0aGF0IGl0IGRvZXNuJ3QgaGlkZSBiZWhpbmQgdGhlIGJvdHRvbVxyXG5cdFx0Ly8gb2YgYSBkaXYgd2hlbiBpdCBleHBhbmRzIGJleW9uZCB0aGUgYm90dG9tLlxyXG5cdFx0dGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudC5yZW1vdmUodGhpcy5jb250YWluZXJSZWYpO1xyXG5cdFx0ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHJcblx0XHRhd2FpdCBTbGlja1NsZWVwU2VydmljZS5zbGVlcCgpO1xyXG5cdFx0dGhpcy5pbnB1dEdyb3VwUHJlcGVuZCA9IFNsaWNrVXRpbHNTZXJ2aWNlLmdldENsb3Nlc3RTaWJsaW5nKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgXCJpbnB1dC1ncm91cC1wcmVwZW5kXCIpO1xyXG5cdH1cclxuXHJcblx0bmdPbkRlc3Ryb3koKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cdFx0Ly8gSXMgb2theSBpZiB0aGlzIGZhaWxzLiAgSXQganVzdCBtZWFucyBpdCB3YXMgYWxyZWFkeSByZW1vdmVkLlxyXG5cdFx0dHJ5IHtcclxuXHRcdFx0ZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZCh0aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KTtcclxuXHRcdH1cclxuXHRcdGNhdGNoIHsgfVxyXG5cdH1cclxuXHJcblx0cHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICAgIHByaXZhdGUgZG9Qcm9wYWdhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIC8vIFdlIGRvbid0IGFsd2F5cyBnbyB0aHJvdWdoIHRoZSBlbWl0IG9uIHRoZSBmaXJzdCBjYWxsLCBzbyBtYWtlIHN1cmUgdGhpcyBpc24ndCB0aGUgZmlyc3QgY2hhbmdlXHJcbiAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuXHJcblx0XHRpZiAoIWRhdGUpIHtcclxuXHRcdFx0aWYgKHRoaXMuc2VsZWN0ZWREYXRlKSB7XHJcblx0XHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UobnVsbCk7XHJcblx0XHRcdFx0dGhpcy5lbWl0RGF0ZUNoYW5nZShudWxsKTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0XHRlbHNlIHtcclxuXHRcdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudChkYXRlKTtcclxuXHRcdFx0Ly8gSWYgdGhlIGRhdGUgaXMgbm90IHZhbGlkLCByZXR1cm5cclxuXHRcdFx0aWYgKG5ld0RhdGUuaXNWYWxpZCgpID09PSBmYWxzZSlcclxuXHRcdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0XHQvLyBEb24ndCBwcm9wb2dhdGUgaWYgdGhlIGRhdGVzIGFyZSB0aGUgc2FtZVxyXG5cdFx0XHRpZiAobW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5pc1NhbWUobmV3RGF0ZSkpXHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cclxuXHJcblx0XHRcdC8vIFNldHRpbmcgdGhpcyBzZWxlY3RlZERhdGUgd2lsbCB0cmlnZ2VyIHRoZSBuZ01vZGVsQ2hhbmdlIG9mIHRoZSBjYWxlbmRhci4gIElnbm9yZSB0aGlzLlxyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG1vbWVudChkYXRlKS5zdGFydE9mKFwiZGF0ZVwiKS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy5zZWxlY3RlZERhdGUpO1xyXG5cdFx0XHR0aGlzLmVtaXREYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZW1pdERhdGVDaGFuZ2UoZGF0ZTogRGF0ZSkge1xyXG5cdFx0aWYgKHRoaXMub25EYXRlQ2hhbmdlICYmICF0aGlzLmlzSW5pdGlhbClcclxuXHRcdFx0dGhpcy5vbkRhdGVDaGFuZ2UuZW1pdChkYXRlKTtcclxuXHJcblx0XHR0aGlzLmlzSW5pdGlhbCA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0Ly8gdGhpcyBpcyB0aGUgaW5pdGlhbCB2YWx1ZSBzZXQgdG8gdGhlIGNvbXBvbmVudFxyXG5cdHB1YmxpYyB3cml0ZVZhbHVlKG9iajogYW55KSB7XHJcblx0XHRpZiAob2JqKSB7XHJcblx0XHRcdGlmIChtb21lbnQob2JqKS5pc1ZhbGlkKCkgPT09IGZhbHNlKSB7XHJcblx0XHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBudWxsO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gXCJJbnZhbGlkIERhdGVcIjtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRsZXQgdXBkYXRlZERhdGU6IG1vbWVudC5Nb21lbnQ7XHJcblx0XHRcdGlmIChvYmogaW5zdGFuY2VvZiBEYXRlIHx8IG9iai5pbmRleE9mKFwiWlwiKSA+PSAwKVxyXG5cdFx0XHRcdHVwZGF0ZWREYXRlID0gbW9tZW50KG9iaikuc3RhcnRPZihcImRhdGVcIik7XHJcblx0XHRcdGVsc2VcclxuXHRcdFx0XHR1cGRhdGVkRGF0ZSA9IG1vbWVudChvYmosIHRoaXMuZm9ybWF0KS5zdGFydE9mKFwiZGF0ZVwiKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChtb21lbnQodGhpcy5zZWxlY3RlZERhdGUgfHwgbmV3IERhdGUoKSkuaXNTYW1lKHVwZGF0ZWREYXRlKSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSB1cGRhdGVkRGF0ZS50b0RhdGUoKTtcclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlKS5mb3JtYXQodGhpcy5mb3JtYXQpO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUgJiYgIW9iaikge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHRcdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIHJlZ2lzdGVycyAnZm4nIHRoYXQgd2lsbCBiZSBmaXJlZCB3aGVuIGNoYW5nZXMgYXJlIG1hZGVcclxuXHQvLyB0aGlzIGlzIGhvdyB3ZSBlbWl0IHRoZSBjaGFuZ2VzIGJhY2sgdG8gdGhlIGZvcm1cclxuXHRwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KSB7XHJcblx0XHR0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG5cdH1cclxuXHJcblx0Ly8gbm90IHVzZWQsIHVzZWQgZm9yIHRvdWNoIGlucHV0XHJcblx0cHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcblxyXG5cdHByaXZhdGUgZG9jdW1lbnRNb3VzZURvd24oZTogTW91c2VFdmVudCkge1xyXG5cdFx0Ly8gVGhpcyBpcyB0aGUgb25seSB3YXkgdG8gY2FwdHVyZSB0aGF0IHRoZXkgY2xpY2tlZCBvbiB0aGUgY2FsZW5kYXIgYmVmb3JlIHRoZSBibHVyIGV2ZW50XHJcblx0XHQvLyBmaXJlcy4gIFxyXG5cdFx0aWYgKFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHMoPEhUTUxFbGVtZW50PmUudGFyZ2V0LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHR0aGlzLmlnbm9yZUJsdXIgPSB0cnVlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBkb2N1bWVudENsaWNrKGU6IE1vdXNlRXZlbnQpIHtcclxuXHRcdGlmICghZS50YXJnZXQpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHRsZXQgdGFyZ2V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSAoPEhUTUxFbGVtZW50PmUudGFyZ2V0KTtcclxuXHJcblx0XHRpZiAoU2xpY2tVdGlsc1NlcnZpY2UuY2hlY2tQYXJlbnRDbGFzc0V4aXN0cyh0YXJnZXRFbGVtZW50LCBcInNsaWNrLWNhbGVuZGFyXCIpID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0aWYgKHRoaXMuaW5wdXRHcm91cFByZXBlbmQgJiYgKCh0YXJnZXRFbGVtZW50ID09PSB0aGlzLmlucHV0R3JvdXBQcmVwZW5kKVxyXG5cdFx0XHR8fCAodGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudCA9PT0gdGhpcy5pbnB1dEdyb3VwUHJlcGVuZCkpXHJcblx0XHRcdHx8ICh0YXJnZXRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQgPT09IHRoaXMuaW5wdXRHcm91cFByZXBlbmQpKSB7XHJcblx0XHRcdHRoaXMudG9nZ2xlQ2FsZW5kYXIoKTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGNsaWNrZWRJbnNpZGUgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0RWxlbWVudCk7XHJcblx0XHRpZiAoIWNsaWNrZWRJbnNpZGUpIHtcclxuXHRcdFx0dGhpcy5oaWRlQ2FsZW5kYXIoKTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdG9uRGF0ZVNlbGVjdChkYXRlKSB7XHJcblx0XHR0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSBtb21lbnQoZGF0ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuXHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblxyXG5cdFx0Y29uc3QgbmV3RGF0ZSA9IG1vbWVudCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWUsIHRoaXMuZm9ybWF0KS50b0RhdGUoKTtcclxuXHJcblx0XHR0aGlzLmRvUHJvcGFnYXRlKG5ld0RhdGUpO1x0XHRcclxuXHR9XHJcblxyXG5cdGFzeW5jIHNob3dDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IHRydWU7XHJcblxyXG5cdFx0aWYgKCF0aGlzLm1vYmlsZSkge1xyXG5cdFx0XHR0aGlzLnJlcG9zaXRpb24oKTtcclxuXHRcdH1cclxuXHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzEnO1xyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ3Zpc2libGUnO1xyXG5cclxuXHRcdC8vIE5vdCBzdXJlIHdoeSwgYnV0IHRoZSBjbGljayBldmVudCBpcyBjYWxsZWQgaW1tZWRpYXRlbHksIHdoaWNoIGhpZGVzIHRoZSBjYWxlbmRhclxyXG5cdFx0c2V0VGltZW91dCgoKSA9PiB7XHJcblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdFx0ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdH0sIDM1MClcclxuXHR9XHJcblxyXG5cdGhpZGVDYWxlbmRhcigpIHtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5mbkRvY3VtZW50TW91c2VEb3duLCB0cnVlKTtcclxuXHRcdGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblxyXG5cdFx0dGhpcy5kYXRlUGlja2VyVmlzaWJsaXR5ID0gJ2hpZGRlbic7XHJcblx0XHR0aGlzLmRhdGVQaWNrZXJPcGFjaXR5ID0gJzAnO1xyXG5cdFx0dGhpcy5zaG93RGF0ZVBpY2tlciA9IGZhbHNlO1xyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSByZXBvc2l0aW9uKCkge1xyXG5cdFx0aWYgKHRoaXMubW9iaWxlID09PSB0cnVlKVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0Ly8gUmVwb3NpdGlvbiB0aGUgZWxlbWVudCB0byBiZSB3aGVyZSB0aGUgdGV4dGJveCBpcywgZWl0aGVyIGJlbG93IG9yIGFib3ZlIGlmIHRoZXJlIGlzbid0IGVub3VnaCByb29tXHJcblx0XHRjb25zdCBpbnB1dEVsOiBIVE1MSW5wdXRFbGVtZW50ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xyXG5cclxuXHRcdGNvbnN0IHJlY3QgPSBpbnB1dEVsLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cdFx0Y29uc3QgdGV4dGJveExlZnQgPSByZWN0LmxlZnQ7XHJcblx0XHRjb25zdCB0ZXh0Ym94VG9wID0gcmVjdC50b3A7XHJcblx0XHRjb25zdCB0ZXh0Ym94SGVpZ2h0ID0gaW5wdXRFbC5vZmZzZXRIZWlnaHQ7XHJcblx0XHRjb25zdCBjb250YWluZXJIZWlnaHQgPSAoPEhUTUxEaXZFbGVtZW50PnRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQpLm9mZnNldEhlaWdodDtcclxuXHJcblx0XHR0aGlzLmxlZnQgPSB0ZXh0Ym94TGVmdCArIFwicHhcIjtcclxuXHRcdHRoaXMudG9wID0gKHRleHRib3hUb3AgKyB0ZXh0Ym94SGVpZ2h0KSArIFwicHhcIjtcclxuXHJcblx0XHRpZiAodGV4dGJveFRvcCArIHRleHRib3hIZWlnaHQgKyBjb250YWluZXJIZWlnaHQgPiB3aW5kb3cuaW5uZXJIZWlnaHQpIHtcclxuXHRcdFx0dGhpcy50b3AgPSAodGV4dGJveFRvcCAtIGNvbnRhaW5lckhlaWdodCAtIDIpICsgXCJweFwiO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG5cdHRvZ2dsZUNhbGVuZGFyKCkge1xyXG5cdFx0KHRoaXMuc2hvd0RhdGVQaWNrZXIgPT09IHRydWUpID8gdGhpcy5oaWRlQ2FsZW5kYXIoKSA6IHRoaXMuc2hvd0NhbGVuZGFyKCk7XHJcblx0fVxyXG59IiwiPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG48ZGl2ICpuZ0lmPVwibW9iaWxlID09PSBmYWxzZVwiICNjb250YWluZXJSZWYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1jb250YWluZXJcIiBbc3R5bGUubGVmdF09XCJsZWZ0XCIgW3N0eWxlLnRvcF09XCJ0b3BcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJkYXRlUGlja2VyVmlzaWJsaXR5XCIgW3N0eWxlLm9wYWNpdHldPVwiZGF0ZVBpY2tlck9wYWNpdHlcIj5cclxuXHQ8c2xpY2stY2FsZW5kYXIgW25nTW9kZWxdPVwic2VsZWN0ZWREYXRlXCIgW2NvbmRlbnNlZF09XCJjb25kZW5zZWRcIiAob25EYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpXCI+PC9zbGljay1jYWxlbmRhcj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJtb2JpbGUgPT09IHRydWVcIiAjY29udGFpbmVyUmVmIGNsYXNzPVwic2xpY2stZGF0ZS1waWNrZXItbW9iaWxlLWNvbnRhaW5lclwiIFtzdHlsZS52aXNpYmlsaXR5XT1cImRhdGVQaWNrZXJWaXNpYmxpdHlcIiBbc3R5bGUub3BhY2l0eV09XCJkYXRlUGlja2VyT3BhY2l0eVwiPlxyXG5cdDxkaXYgY2xhc3M9XCJzbGljay1kYXRlLXBpY2tlci1tb2JpbGUtY2FsZW5kYXJcIj5cclxuXHRcdDxzbGljay1jYWxlbmRhciBbbmdNb2RlbF09XCJzZWxlY3RlZERhdGVcIiBbY29uZGVuc2VkXT1cImNvbmRlbnNlZFwiIChvbkRhdGVTZWxlY3QpPVwib25EYXRlU2VsZWN0KCRldmVudClcIj48L3NsaWNrLWNhbGVuZGFyPlxyXG5cdDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
278
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvc2xpY2stZGF0ZS1waWNrZXIvc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxTQUFTLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQXFCLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0ksT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQzs7Ozs7QUFZNUIsTUFBTSxPQUFPLHdCQUF3QjtJQWlGcEMsWUFBb0IsRUFBYztRQUFkLE9BQUUsR0FBRixFQUFFLENBQVk7UUEvRUMsV0FBTSxHQUFXLFVBQVUsQ0FBQztRQUN6QixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzlCLFdBQU0sR0FBWSxLQUFLLENBQUM7UUFDbkMsaUJBQVksR0FBRyxJQUFJLFlBQVksRUFBUSxDQUFDO1FBR2hFLG9CQUFlLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDL0Msd0JBQW1CLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQTREdkQsU0FBSSxHQUFXLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQzNDLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsbUJBQWMsR0FBWSxLQUFLLENBQUM7UUFDaEMsd0JBQW1CLEdBQVcsUUFBUSxDQUFDO1FBQ3ZDLHNCQUFpQixHQUFXLEdBQUcsQ0FBQztRQUdoQyxpQkFBWSxHQUFTLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQUcsSUFBSSxDQUFDO1FBaUNqQixvQkFBZSxHQUFHLENBQUMsQ0FBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUM7SUE1QmxDLENBQUM7SUF2RUQsdUNBQXVDO0lBRXZDLEtBQUssQ0FBQyxTQUFTLENBQUMsS0FBb0I7UUFDbkMsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxJQUFJO1lBQzFELE9BQU87UUFFUixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxLQUFLLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQztZQUNoRCxDQUFDLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ3JFLG9CQUFvQjtZQUNwQixDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLElBQUksS0FBSyxDQUFDLE9BQU8sSUFBSSxHQUFHLENBQUMsQ0FBQztZQUNoRCwwQ0FBMEM7WUFDMUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQyxFQUFFO1lBQzlDLG1DQUFtQztZQUNuQyxPQUFPO1NBQ1A7UUFFRCxtREFBbUQ7UUFDbkQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxLQUFLLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztZQUN6RSxLQUFLLENBQUMsR0FBRyxLQUFLLEdBQUcsSUFBSyxVQUFVO1lBQ2hDLEtBQUssQ0FBQyxHQUFHLEtBQUssR0FBRyxFQUFFLEVBQUcsWUFBWTtZQUNsQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdkIsT0FBTztTQUNQO0lBQ0YsQ0FBQztJQUVELDRDQUE0QztJQUU1QyxPQUFPLENBQUMsS0FBaUI7UUFDeEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQ0FBaUM7SUFFakMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFpQixFQUFFLGFBQTBCO1FBQ3pELDZHQUE2RztRQUM3RyxtQ0FBbUM7UUFDbkMsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLElBQUksRUFBRTtZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixPQUFPO1NBQ1A7UUFFRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7UUFFNUMsSUFBSSxDQUFDLE9BQU8sRUFBRTtZQUNiLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdkIsT0FBTztTQUNQO1FBRUQsSUFBSSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtZQUMzQyxJQUFJLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMzQyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1lBQ2xDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUMxRDtJQUNGLENBQUM7SUFpQkQsS0FBSyxDQUFDLFFBQVE7UUFFYixJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sSUFBSSxPQUFPLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQzFGLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxJQUFJLE9BQU8sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFFaEcsMEdBQTBHO1FBQzFHLE1BQU0saUJBQWlCLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEMsdUdBQXVHO1FBQ3ZHLDhDQUE4QztRQUM5QyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFELFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFM0QsTUFBTSxpQkFBaUIsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUscUJBQXFCLENBQUMsQ0FBQztJQUM1RyxDQUFDO0lBRUQsV0FBVztRQUNWLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNsRSxnRUFBZ0U7UUFDaEUsSUFBSTtZQUNILFFBQVEsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLENBQUM7U0FDM0Q7UUFDRCxNQUFNLEdBQUc7SUFDVixDQUFDO0lBSVUsV0FBVyxDQUFDLElBQVU7UUFDMUIsa0dBQWtHO1FBQ2xHLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBRTdCLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDVixJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUI7WUFFRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztZQUN6QixPQUFPO1NBQ1A7YUFDSTtZQUNKLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUM3QixtQ0FBbUM7WUFDbkMsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssS0FBSztnQkFDOUIsT0FBTztZQUVSLDRDQUE0QztZQUM1QyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQztnQkFDNUMsT0FBTztZQUdSLDBGQUEwRjtZQUMxRixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDMUQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7WUFDeEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7U0FDdkM7SUFDRixDQUFDO0lBRU8sY0FBYyxDQUFDLElBQVU7UUFDaEMsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVM7WUFDdkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDeEIsQ0FBQztJQUVELGlEQUFpRDtJQUMxQyxVQUFVLENBQUMsR0FBUTtRQUN6QixJQUFJLEdBQUcsRUFBRTtZQUNSLElBQUksTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxLQUFLLEtBQUssRUFBRTtnQkFDcEMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7Z0JBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLGNBQWMsQ0FBQztnQkFDN0MsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7Z0JBQ25DLE9BQU87YUFDUDtZQUVELElBQUksV0FBMEIsQ0FBQztZQUMvQixJQUFJLEdBQUcsWUFBWSxJQUFJLElBQUksR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO2dCQUMvQyxXQUFXLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQzs7Z0JBRTFDLFdBQVcsR0FBRyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFFL0MsSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksSUFBSSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsT0FBTzthQUNWO1lBRVYsSUFBSSxDQUFDLFlBQVksR0FBRyxXQUFXLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUM1RTthQUNJO1lBQ0ssSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixPQUFPO2FBQ1Y7WUFFVixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDO1lBQ2pDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1NBQ3pCO0lBQ0YsQ0FBQztJQUVELDBEQUEwRDtJQUMxRCxtREFBbUQ7SUFDNUMsZ0JBQWdCLENBQUMsRUFBTztRQUM5QixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsaUNBQWlDO0lBQzFCLGlCQUFpQixLQUFLLENBQUM7SUFFdEIsaUJBQWlCLENBQUMsQ0FBYTtRQUN0QywwRkFBMEY7UUFDMUYsV0FBVztRQUNYLElBQUksaUJBQWlCLENBQUMsc0JBQXNCLENBQWMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLElBQUk7WUFDN0YsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDekIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxDQUFhO1FBQ2xDLElBQUksQ0FBQyxDQUFDLENBQUMsTUFBTTtZQUNaLE9BQU87UUFFUixJQUFJLGFBQWEsR0FBOEIsQ0FBQyxDQUFDLE1BQU8sQ0FBQztRQUV6RCxJQUFJLGlCQUFpQixDQUFDLHNCQUFzQixDQUFDLGFBQWEsRUFBRSxnQkFBZ0IsQ0FBQyxLQUFLLElBQUk7WUFDckYsT0FBTztRQUVSLElBQUksSUFBSSxDQUFDLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxhQUFhLEtBQUssSUFBSSxDQUFDLGlCQUFpQixDQUFDO2VBQ3JFLENBQUMsYUFBYSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsYUFBYSxLQUFLLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO2VBQ3hGLENBQUMsYUFBYSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsSUFBSSxhQUFhLENBQUMsYUFBYSxDQUFDLGFBQWEsS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRTtZQUN2SixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDdEIsT0FBTztTQUNQO1FBRUQsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3BCO0lBQ0YsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFJO1FBQ2hCLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7UUFFMUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBRUQsS0FBSyxDQUFDLFlBQVk7UUFDakIsUUFBUSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDMUUsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRWxFLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDO1FBRTNCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztTQUNsQjtRQUVELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLG1CQUFtQixHQUFHLFNBQVMsQ0FBQztRQUVyQyxvRkFBb0Y7UUFDcEYsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNmLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1lBQ3ZFLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNoRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7SUFDUixDQUFDO0lBRUQsWUFBWTtRQUNYLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFFLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUVsRSxJQUFJLENBQUMsbUJBQW1CLEdBQUcsUUFBUSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7UUFDN0IsSUFBSSxDQUFDLGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVPLFVBQVU7UUFDakIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUk7WUFDdkIsT0FBTztRQUVSLHNHQUFzRztRQUN0RyxNQUFNLE9BQU8sR0FBcUIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUM7UUFFeEQsTUFBTSxJQUFJLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUM7UUFDN0MsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztRQUM5QixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBQzVCLE1BQU0sYUFBYSxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQUM7UUFDM0MsTUFBTSxlQUFlLEdBQW9CLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYyxDQUFDLFlBQVksQ0FBQztRQUV2RixJQUFJLENBQUMsSUFBSSxHQUFHLFdBQVcsR0FBRyxJQUFJLENBQUM7UUFDL0IsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDLFVBQVUsR0FBRyxhQUFhLENBQUMsR0FBRyxJQUFJLENBQUM7UUFFL0MsSUFBSSxVQUFVLEdBQUcsYUFBYSxHQUFHLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFO1lBQ3RFLElBQUksQ0FBQyxHQUFHLEdBQUcsQ0FBQyxVQUFVLEdBQUcsZUFBZSxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztTQUNyRDtJQUVGLENBQUM7SUFFRCxjQUFjO1FBQ2IsQ0FBQyxJQUFJLENBQUMsY0FBYyxLQUFLLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1RSxDQUFDOzt3SUE3Ulcsd0JBQXdCOzRIQUF4Qix3QkFBd0Isc2JBUnpCO1FBQ1Y7WUFDQyxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLENBQUMsd0JBQXdCLEVBQUM7WUFDdkQsS0FBSyxFQUFFLElBQUk7U0FDWDtLQUFDLHdJQ2JKLGt3QkFTQTsyRkRPYSx3QkFBd0I7a0JBVnBDLFNBQVM7K0JBQ0MscUJBQXFCLGFBQ3BCO3dCQUNWOzRCQUNDLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLEVBQUMsR0FBRyxFQUFFLHlCQUF5QixFQUFDOzRCQUN2RCxLQUFLLEVBQUUsSUFBSTt5QkFDWDtxQkFBQztpR0FJeUIsZUFBZTtzQkFBMUMsS0FBSzt1QkFBQyxtQkFBbUI7Z0JBQ1MsTUFBTTtzQkFBeEMsS0FBSzt1QkFBQywwQkFBMEI7Z0JBQ0ssU0FBUztzQkFBOUMsS0FBSzt1QkFBQyw2QkFBNkI7Z0JBQ0QsTUFBTTtzQkFBeEMsS0FBSzt1QkFBQywwQkFBMEI7Z0JBQ1QsWUFBWTtzQkFBbkMsTUFBTTt1QkFBQyxjQUFjO2dCQUNLLFlBQVk7c0JBQXRDLFNBQVM7dUJBQUMsY0FBYztnQkFPbkIsU0FBUztzQkFEZCxZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkE2Qm5DLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTzNCLE1BQU07c0JBRFgsWUFBWTt1QkFBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUUsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBWaWV3Q2hpbGQsIElucHV0LCBIb3N0TGlzdGVuZXIsIGZvcndhcmRSZWYsIE9uSW5pdCwgT25EZXN0cm95LCBFdmVudEVtaXR0ZXIsIE91dHB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTbGlja1NsZWVwU2VydmljZSB9IGZyb20gXCIuLi91dGlscy9zbGljay1zbGVlcC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFNsaWNrVXRpbHNTZXJ2aWNlIH0gZnJvbSBcIi4uL3V0aWxzL3NsaWNrLXV0aWxzLnNlcnZpY2VcIjtcclxuaW1wb3J0IG1vbWVudCBmcm9tIFwibW9tZW50XCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzZWxlY3RvcjogJ1tzbGljay1kYXRlLXBpY2tlcl0nLFxyXG5cdHByb3ZpZGVyczogW1xyXG5cdFx0e1xyXG5cdFx0XHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuXHRcdFx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gU2xpY2tEYXRlUGlja2VyQ29tcG9uZW50KSxcclxuXHRcdFx0bXVsdGk6IHRydWVcclxuXHRcdH1dLFxyXG5cdHRlbXBsYXRlVXJsOiAnc2xpY2stZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTbGlja0RhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cdEBJbnB1dChcInNsaWNrLWRhdGUtcGlja2VyXCIpIHNsaWNrRGF0ZVBpY2tlcjogU2xpY2tEYXRlUGlja2VyQ29tcG9uZW50O1xyXG5cdEBJbnB1dChcInNsaWNrLWRhdGUtcGlja2VyLWZvcm1hdFwiKSBmb3JtYXQ6IHN0cmluZyA9IFwiTS9EL1lZWVlcIjtcclxuXHRASW5wdXQoXCJzbGljay1kYXRlLXBpY2tlci1jb25kZW5zZWRcIikgY29uZGVuc2VkOiBib29sZWFuID0gZmFsc2U7XHJcblx0QElucHV0KFwic2xpY2stZGF0ZS1waWNrZXItbW9iaWxlXCIpIG1vYmlsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cdEBPdXRwdXQoXCJvbkRhdGVDaGFuZ2VcIikgb25EYXRlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xyXG5cdEBWaWV3Q2hpbGQoXCJjb250YWluZXJSZWZcIikgY29udGFpbmVyUmVmOiBFbGVtZW50UmVmO1xyXG5cclxuXHRmbkRvY3VtZW50Q2xpY2sgPSAoZSkgPT4gdGhpcy5kb2N1bWVudENsaWNrKGUpO1xyXG5cdGZuRG9jdW1lbnRNb3VzZURvd24gPSAoZSkgPT4gdGhpcy5kb2N1bWVudE1vdXNlRG93bihlKTtcclxuXHJcblx0Ly8gTWFrZSBzdXJlIHRoZXkgb25seSBwcmVzcyB2YWxpZCBrZXlzXHJcblx0QEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXHJcblx0YXN5bmMgb25LZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XHRcdFxyXG5cdFx0aWYgKGV2ZW50LmFsdEtleSB8fCBldmVudC5jdHJsS2V5IHx8IGV2ZW50Lm1ldGFLZXkgPT09IHRydWUpXHJcblx0XHRcdHJldHVybjtcclxuXHJcblx0XHR0aGlzLmhpZGVDYWxlbmRhcigpO1xyXG5cclxuXHRcdC8vIEFsbG93OiBiYWNrc3BhY2UsIGRlbGV0ZSwgdGFiLCBlc2NhcGUsIGVudGVyXHJcblx0XHRpZiAoKGV2ZW50LmtleUNvZGUgPT09IDQ2IHx8IGV2ZW50LmtleUNvZGUgPT09IDgpIHx8XHJcblx0XHRcdChldmVudC5rZXlDb2RlID09PSA5IHx8IGV2ZW50LmtleUNvZGUgPT09IDI3IHx8IGV2ZW50LmtleUNvZGUgPT09IDEzKSB8fFxyXG5cdFx0XHQvLyBBbGxvdyBGMS1GMTIga2V5c1xyXG5cdFx0XHQoKGV2ZW50LmtleUNvZGUgPj0gMTEyICYmIGV2ZW50LmtleUNvZGUgPD0gMTIzKSkgfHxcclxuXHRcdFx0Ly8gQWxsb3c6IGhvbWUsIGVuZCwgbGVmdCwgcmlnaHQsIGRvd24sIHVwXHJcblx0XHRcdChldmVudC5rZXlDb2RlID49IDM1ICYmIGV2ZW50LmtleUNvZGUgPD0gNDApKSB7XHJcblx0XHRcdC8vIGxldCBpdCBoYXBwZW4sIGRvbid0IGRvIGFueXRoaW5nXHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHQvLyBFbnN1cmUgdGhhdCBpdCBpcyBhIG51bWJlciBhbmQgc3RvcCB0aGUga2V5cHJlc3NcclxuXHRcdGlmICgoZXZlbnQuc2hpZnRLZXkgfHwgZXZlbnQuYWx0S2V5IHx8IGV2ZW50LmtleSA8ICcwJyB8fCBldmVudC5rZXkgPiAnOScpICYmXHJcblx0XHRcdGV2ZW50LmtleSAhPT0gJy8nICYmICAvLyBBbGxvdyAvXHJcblx0XHRcdGV2ZW50LmtleSAhPT0gJy0nKSB7ICAvLyBBbGxvdyAtXHRcdFxyXG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG5cdFx0XHRyZXR1cm47XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyBXaGVuIHdlIGZpcnN0IGZvY3VzLCBzaG93IHRoZSBkYXRlIHBpY2tlclxyXG5cdEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJywgWyckZXZlbnQnXSlcclxuXHRvbkZvY3VzKGV2ZW50OiBGb2N1c0V2ZW50KTogdm9pZCB7XHJcblx0XHR0aGlzLnNob3dDYWxlbmRhcigpO1xyXG5cdH1cclxuXHJcblx0Ly8gV2hlbiB3ZSBibHVyLCB1cGRhdGUgdGhlIG1vZGVsXHJcblx0QEhvc3RMaXN0ZW5lcignYmx1cicsIFsnJGV2ZW50JywgJyRldmVudC50YXJnZXQnXSlcclxuXHRhc3luYyBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQsIHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50KSB7XHJcblx0XHQvLyBJZiB0aGUgdXNlciBjbGlja2VkIG9uIHRoZSBjYWxlbmRhciwgaXQgd2lsbCB0cmlnZ2VyIGEgbW91c2UgZG93biBldmVudCBiZWZvcmUgdGhlIGJsdXIgZXZlbnQuICBEb24ndCBibHVyXHJcblx0XHQvLyBpZiB0aGV5IGNsaWNrZWQgb24gdGhlIGNhbGVuZGFyLlxyXG5cdFx0aWYgKHRoaXMuaWdub3JlQmx1ciA9PT0gdHJ1ZSkge1xyXG5cdFx0XHR0aGlzLmlnbm9yZUJsdXIgPSBmYWxzZTtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IHRleHRWYWwgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XHJcblxyXG5cdFx0aWYgKCF0ZXh0VmFsKSB7XHJcblx0XHRcdHRoaXMuZG9Qcm9wYWdhdGUobnVsbCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRpZiAobW9tZW50KHRleHRWYWwsIHRoaXMuZm9ybWF0KS5pc1ZhbGlkKCkpIHtcclxuXHRcdFx0dmFyIG5ld0RhdGUgPSBtb21lbnQodGV4dFZhbCwgdGhpcy5mb3JtYXQpO1xyXG5cdFx0XHR0aGlzLmRvUHJvcGFnYXRlKG5ld0RhdGUudG9EYXRlKCkpXHJcblx0XHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IG5ld0RhdGUuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHV1aWQ6IHN0cmluZyA9IFNsaWNrVXRpbHNTZXJ2aWNlLm5ld0d1aWQoKTtcclxuXHRpZ25vcmVCbHVyOiBib29sZWFuID0gZmFsc2U7XHJcblx0c2hvd0RhdGVQaWNrZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHRkYXRlUGlja2VyVmlzaWJsaXR5OiBzdHJpbmcgPSBcImhpZGRlblwiO1xyXG5cdGRhdGVQaWNrZXJPcGFjaXR5OiBzdHJpbmcgPSAnMCc7XHJcblx0bGVmdDogc3RyaW5nO1xyXG5cdHRvcDogc3RyaW5nO1xyXG5cdHNlbGVjdGVkRGF0ZTogRGF0ZSA9IG51bGw7XHJcblx0aXNJbml0aWFsID0gdHJ1ZTtcclxuXHJcblx0cHJpdmF0ZSBpbnB1dEdyb3VwUHJlcGVuZDogSFRNTEVsZW1lbnQ7XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYpIHtcclxuXHR9XHJcblxyXG5cdGFzeW5jIG5nT25Jbml0KCkge1xyXG5cclxuXHRcdHRoaXMubW9iaWxlID0gKHRoaXMubW9iaWxlIHx8ICdmYWxzZScpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKSA9PT0gJ3RydWUnID8gdHJ1ZSA6IGZhbHNlO1xyXG5cdFx0dGhpcy5jb25kZW5zZWQgPSAodGhpcy5jb25kZW5zZWQgfHwgJ2ZhbHNlJykudG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpID09PSAndHJ1ZScgPyB0cnVlIDogZmFsc2U7XHJcblxyXG5cdFx0Ly8gU2luY2UgdGhpcy5tb2JpbGUgaXNuJ3QgbmVjZXNzYXJpbHkgZGVmaW5lZCB5ZXQsIHdlIG5lZWQgdG8gc2xlZXAgdG8gYWxsb3cgdGhlIG5nSWYncyB0byBkbyB0aGVpciB0aGluZ1xyXG5cdFx0YXdhaXQgU2xpY2tTbGVlcFNlcnZpY2Uuc2xlZXAoKTtcclxuXHRcdC8vIFJlbW92ZSB0aGlzIGZyb20gdGhlIGlubGluZSB2ZXJzaW9uIGFuZCBwdXQgaXQgb24gdGhlIGJvZHkgc28gdGhhdCBpdCBkb2Vzbid0IGhpZGUgYmVoaW5kIHRoZSBib3R0b21cclxuXHRcdC8vIG9mIGEgZGl2IHdoZW4gaXQgZXhwYW5kcyBiZXlvbmQgdGhlIGJvdHRvbS5cclxuXHRcdHRoaXMuY29udGFpbmVyUmVmLm5hdGl2ZUVsZW1lbnQucmVtb3ZlKHRoaXMuY29udGFpbmVyUmVmKTtcclxuXHRcdGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XHJcblxyXG5cdFx0YXdhaXQgU2xpY2tTbGVlcFNlcnZpY2Uuc2xlZXAoKTtcclxuXHRcdHRoaXMuaW5wdXRHcm91cFByZXBlbmQgPSBTbGlja1V0aWxzU2VydmljZS5nZXRDbG9zZXN0U2libGluZyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIFwiaW5wdXQtZ3JvdXAtcHJlcGVuZFwiKTtcclxuXHR9XHJcblxyXG5cdG5nT25EZXN0cm95KCkge1xyXG5cdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmZuRG9jdW1lbnRNb3VzZURvd24sIHRydWUpO1xyXG5cdFx0ZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcImNsaWNrXCIsIHRoaXMuZm5Eb2N1bWVudENsaWNrLCB0cnVlKTtcclxuXHRcdC8vIElzIG9rYXkgaWYgdGhpcyBmYWlscy4gIEl0IGp1c3QgbWVhbnMgaXQgd2FzIGFscmVhZHkgcmVtb3ZlZC5cclxuXHRcdHRyeSB7XHJcblx0XHRcdGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGhpcy5jb250YWluZXJSZWYubmF0aXZlRWxlbWVudCk7XHJcblx0XHR9XHJcblx0XHRjYXRjaCB7IH1cclxuXHR9XHJcblxyXG5cdHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuXHJcbiAgICBwcml2YXRlIGRvUHJvcGFnYXRlKGRhdGU6IERhdGUpIHtcclxuICAgICAgICAvLyBXZSBkb24ndCBhbHdheXMgZ28gdGhyb3VnaCB0aGUgZW1pdCBvbiB0aGUgZmlyc3QgY2FsbCwgc28gbWFrZSBzdXJlIHRoaXMgaXNuJ3QgdGhlIGZpcnN0IGNoYW5nZVxyXG4gICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcblxyXG5cdFx0aWYgKCFkYXRlKSB7XHJcblx0XHRcdGlmICh0aGlzLnNlbGVjdGVkRGF0ZSkge1xyXG5cdFx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKG51bGwpO1xyXG5cdFx0XHRcdHRoaXMuZW1pdERhdGVDaGFuZ2UobnVsbCk7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuXHRcdFx0cmV0dXJuO1xyXG5cdFx0fVxyXG5cdFx0ZWxzZSB7XHJcblx0XHRcdGNvbnN0IG5ld0RhdGUgPSBtb21lbnQoZGF0ZSk7XHJcblx0XHRcdC8vIElmIHRoZSBkYXRlIGlzIG5vdCB2YWxpZCwgcmV0dXJuXHJcblx0XHRcdGlmIChuZXdEYXRlLmlzVmFsaWQoKSA9PT0gZmFsc2UpXHJcblx0XHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdFx0Ly8gRG9uJ3QgcHJvcG9nYXRlIGlmIHRoZSBkYXRlcyBhcmUgdGhlIHNhbWVcclxuXHRcdFx0aWYgKG1vbWVudCh0aGlzLnNlbGVjdGVkRGF0ZSkuaXNTYW1lKG5ld0RhdGUpKVxyXG5cdFx0XHRcdHJldHVybjtcclxuXHJcblxyXG5cdFx0XHQvLyBTZXR0aW5nIHRoaXMgc2VsZWN0ZWREYXRlIHdpbGwgdHJpZ2dlciB0aGUgbmdNb2RlbENoYW5nZSBvZiB0aGUgY2FsZW5kYXIuICBJZ25vcmUgdGhpcy5cclxuXHRcdFx0dGhpcy5zZWxlY3RlZERhdGUgPSBtb21lbnQoZGF0ZSkuc3RhcnRPZihcImRhdGVcIikudG9EYXRlKCk7XHJcblx0XHRcdHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWREYXRlKTtcclxuXHRcdFx0dGhpcy5lbWl0RGF0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkRGF0ZSk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRwcml2YXRlIGVtaXREYXRlQ2hhbmdlKGRhdGU6IERhdGUpIHtcclxuXHRcdGlmICh0aGlzLm9uRGF0ZUNoYW5nZSAmJiAhdGhpcy5pc0luaXRpYWwpXHJcblx0XHRcdHRoaXMub25EYXRlQ2hhbmdlLmVtaXQoZGF0ZSk7XHJcblxyXG5cdFx0dGhpcy5pc0luaXRpYWwgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdC8vIHRoaXMgaXMgdGhlIGluaXRpYWwgdmFsdWUgc2V0IHRvIHRoZSBjb21wb25lbnRcclxuXHRwdWJsaWMgd3JpdGVWYWx1ZShvYmo6IGFueSkge1xyXG5cdFx0aWYgKG9iaikge1xyXG5cdFx0XHRpZiAobW9tZW50KG9iaikuaXNWYWxpZCgpID09PSBmYWxzZSkge1xyXG5cdFx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gbnVsbDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IFwiSW52YWxpZCBEYXRlXCI7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmlzSW5pdGlhbCA9IGZhbHNlO1xyXG5cdFx0XHRcdHJldHVybjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bGV0IHVwZGF0ZWREYXRlOiBtb21lbnQuTW9tZW50O1xyXG5cdFx0XHRpZiAob2JqIGluc3RhbmNlb2YgRGF0ZSB8fCBvYmouaW5kZXhPZihcIlpcIikgPj0gMClcclxuXHRcdFx0XHR1cGRhdGVkRGF0ZSA9IG1vbWVudChvYmopLnN0YXJ0T2YoXCJkYXRlXCIpO1xyXG5cdFx0XHRlbHNlXHJcblx0XHRcdFx0dXBkYXRlZERhdGUgPSBtb21lbnQob2JqLCB0aGlzLmZvcm1hdCkuc3RhcnRPZihcImRhdGVcIik7XHJcblxyXG4gICAgICAgICAgICBpZiAobW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlIHx8IG5ldyBEYXRlKCkpLmlzU2FtZSh1cGRhdGVkRGF0ZSkpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdHRoaXMuc2VsZWN0ZWREYXRlID0gdXBkYXRlZERhdGUudG9EYXRlKCk7XHJcblx0XHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IG1vbWVudCh0aGlzLnNlbGVjdGVkRGF0ZSkuZm9ybWF0KHRoaXMuZm9ybWF0KTtcclxuXHRcdH1cclxuXHRcdGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAoIXRoaXMuc2VsZWN0ZWREYXRlICYmICFvYmopIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaXNJbml0aWFsID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIH1cclxuXHJcblx0XHRcdHRoaXMuZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG5cdFx0XHR0aGlzLnNlbGVjdGVkRGF0ZSA9IG51bGw7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQvLyByZWdpc3RlcnMgJ2ZuJyB0aGF0IHdpbGwgYmUgZmlyZWQgd2hlbiBjaGFuZ2VzIGFyZSBtYWRlXHJcblx0Ly8gdGhpcyBpcyBob3cgd2UgZW1pdCB0aGUgY2hhbmdlcyBiYWNrIHRvIHRoZSBmb3JtXHJcblx0cHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG5cdFx0dGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuXHR9XHJcblxyXG5cdC8vIG5vdCB1c2VkLCB1c2VkIGZvciB0b3VjaCBpbnB1dFxyXG5cdHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZCgpIHsgfVxyXG5cclxuXHRwcml2YXRlIGRvY3VtZW50TW91c2VEb3duKGU6IE1vdXNlRXZlbnQpIHtcclxuXHRcdC8vIFRoaXMgaXMgdGhlIG9ubHkgd2F5IHRvIGNhcHR1cmUgdGhhdCB0aGV5IGNsaWNrZWQgb24gdGhlIGNhbGVuZGFyIGJlZm9yZSB0aGUgYmx1ciBldmVudFxyXG5cdFx0Ly8gZmlyZXMuICBcclxuXHRcdGlmIChTbGlja1V0aWxzU2VydmljZS5jaGVja1BhcmVudENsYXNzRXhpc3RzKDxIVE1MRWxlbWVudD5lLnRhcmdldCwgXCJzbGljay1jYWxlbmRhclwiKSA9PT0gdHJ1ZSlcclxuXHRcdFx0dGhpcy5pZ25vcmVCbHVyID0gdHJ1ZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgZG9jdW1lbnRDbGljayhlOiBNb3VzZUV2ZW50KSB7XHJcblx0XHRpZiAoIWUudGFyZ2V0KVxyXG5cdFx0XHRyZXR1cm47XHJcblxyXG5cdFx0bGV0IHRhcmdldEVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gKDxIVE1MRWxlbWVudD5lLnRhcmdldCk7XHJcblxyXG5cdFx0aWYgKFNsaWNrVXRpbHNTZXJ2aWNlLmNoZWNrUGFyZW50Q2xhc3NFeGlzdHModGFyZ2V0RWxlbWVudCwgXCJzbGljay1jYWxlbmRhclwiKSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdGlmICh0aGlzLmlucHV0R3JvdXBQcmVwZW5kICYmICgodGFyZ2V0RWxlbWVudCA9PT0gdGhpcy5pbnB1dEdyb3VwUHJlcGVuZClcclxuXHRcdFx0fHwgKHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudCAmJiB0YXJnZXRFbGVtZW50LnBhcmVudEVsZW1lbnQgPT09IHRoaXMuaW5wdXRHcm91cFByZXBlbmQpKVxyXG5cdFx0XHR8fCAodGFyZ2V0RWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIHRhcmdldEVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50ID09PSB0aGlzLmlucHV0R3JvdXBQcmVwZW5kKSkge1xyXG5cdFx0XHR0aGlzLnRvZ2dsZUNhbGVuZGFyKCk7XHJcblx0XHRcdHJldHVybjtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCBjbGlja2VkSW5zaWRlID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRhcmdldEVsZW1lbnQpO1xyXG5cdFx0aWYgKCFjbGlja2VkSW5zaWRlKSB7XHJcblx0XHRcdHRoaXMuaGlkZUNhbGVuZGFyKCk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRvbkRhdGVTZWxlY3QoZGF0ZSkge1xyXG5cdFx0dGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gbW9tZW50KGRhdGUpLmZvcm1hdCh0aGlzLmZvcm1hdCk7XHJcblx0XHR0aGlzLmhpZGVDYWxlbmRhcigpO1xyXG5cclxuXHRcdGNvbnN0IG5ld0RhdGUgPSBtb21lbnQodGhpcy5lbC5uYXRpdmVFbGVtZW50LnZhbHVlLCB0aGlzLmZvcm1hdCkudG9EYXRlKCk7XHJcblxyXG5cdFx0dGhpcy5kb1Byb3BhZ2F0ZShuZXdEYXRlKTtcdFx0XHJcblx0fVxyXG5cclxuXHRhc3luYyBzaG93Q2FsZW5kYXIoKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cclxuXHRcdHRoaXMuc2hvd0RhdGVQaWNrZXIgPSB0cnVlO1xyXG5cclxuXHRcdGlmICghdGhpcy5tb2JpbGUpIHtcclxuXHRcdFx0dGhpcy5yZXBvc2l0aW9uKCk7XHJcblx0XHR9XHJcblxyXG5cdFx0dGhpcy5kYXRlUGlja2VyT3BhY2l0eSA9ICcxJztcclxuXHRcdHRoaXMuZGF0ZVBpY2tlclZpc2libGl0eSA9ICd2aXNpYmxlJztcclxuXHJcblx0XHQvLyBOb3Qgc3VyZSB3aHksIGJ1dCB0aGUgY2xpY2sgZXZlbnQgaXMgY2FsbGVkIGltbWVkaWF0ZWx5LCB3aGljaCBoaWRlcyB0aGUgY2FsZW5kYXJcclxuXHRcdHNldFRpbWVvdXQoKCkgPT4ge1xyXG5cdFx0XHRkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRcdGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJjbGlja1wiLCB0aGlzLmZuRG9jdW1lbnRDbGljaywgdHJ1ZSk7XHJcblx0XHR9LCAzNTApXHJcblx0fVxyXG5cclxuXHRoaWRlQ2FsZW5kYXIoKSB7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuZm5Eb2N1bWVudE1vdXNlRG93biwgdHJ1ZSk7XHJcblx0XHRkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFwiY2xpY2tcIiwgdGhpcy5mbkRvY3VtZW50Q2xpY2ssIHRydWUpO1xyXG5cclxuXHRcdHRoaXMuZGF0ZVBpY2tlclZpc2libGl0eSA9ICdoaWRkZW4nO1xyXG5cdFx0dGhpcy5kYXRlUGlja2VyT3BhY2l0eSA9ICcwJztcclxuXHRcdHRoaXMuc2hvd0RhdGVQaWNrZXIgPSBmYWxzZTtcclxuXHR9XHJcblxyXG5cdHByaXZhdGUgcmVwb3NpdGlvbigpIHtcclxuXHRcdGlmICh0aGlzLm1vYmlsZSA9PT0gdHJ1ZSlcclxuXHRcdFx0cmV0dXJuO1xyXG5cclxuXHRcdC8vIFJlcG9zaXRpb24gdGhlIGVsZW1lbnQgdG8gYmUgd2hlcmUgdGhlIHRleHRib3ggaXMsIGVpdGhlciBiZWxvdyBvciBhYm92ZSBpZiB0aGVyZSBpc24ndCBlbm91Z2ggcm9vbVxyXG5cdFx0Y29uc3QgaW5wdXRFbDogSFRNTElucHV0RWxlbWVudCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcclxuXHJcblx0XHRjb25zdCByZWN0ID0gaW5wdXRFbC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHRcdGNvbnN0IHRleHRib3hMZWZ0ID0gcmVjdC5sZWZ0O1xyXG5cdFx0Y29uc3QgdGV4dGJveFRvcCA9IHJlY3QudG9wO1xyXG5cdFx0Y29uc3QgdGV4dGJveEhlaWdodCA9IGlucHV0RWwub2Zmc2V0SGVpZ2h0O1xyXG5cdFx0Y29uc3QgY29udGFpbmVySGVpZ2h0ID0gKDxIVE1MRGl2RWxlbWVudD50aGlzLmNvbnRhaW5lclJlZi5uYXRpdmVFbGVtZW50KS5vZmZzZXRIZWlnaHQ7XHJcblxyXG5cdFx0dGhpcy5sZWZ0ID0gdGV4dGJveExlZnQgKyBcInB4XCI7XHJcblx0XHR0aGlzLnRvcCA9ICh0ZXh0Ym94VG9wICsgdGV4dGJveEhlaWdodCkgKyBcInB4XCI7XHJcblxyXG5cdFx0aWYgKHRleHRib3hUb3AgKyB0ZXh0Ym94SGVpZ2h0ICsgY29udGFpbmVySGVpZ2h0ID4gd2luZG93LmlubmVySGVpZ2h0KSB7XHJcblx0XHRcdHRoaXMudG9wID0gKHRleHRib3hUb3AgLSBjb250YWluZXJIZWlnaHQgLSAyKSArIFwicHhcIjtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxuXHR0b2dnbGVDYWxlbmRhcigpIHtcclxuXHRcdCh0aGlzLnNob3dEYXRlUGlja2VyID09PSB0cnVlKSA/IHRoaXMuaGlkZUNhbGVuZGFyKCkgOiB0aGlzLnNob3dDYWxlbmRhcigpO1xyXG5cdH1cclxufSIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPGRpdiAqbmdJZj1cIm1vYmlsZSA9PT0gZmFsc2VcIiAjY29udGFpbmVyUmVmIGNsYXNzPVwic2xpY2stZGF0ZS1waWNrZXItY29udGFpbmVyXCIgW3N0eWxlLmxlZnRdPVwibGVmdFwiIFtzdHlsZS50b3BdPVwidG9wXCIgW3N0eWxlLnZpc2liaWxpdHldPVwiZGF0ZVBpY2tlclZpc2libGl0eVwiIFtzdHlsZS5vcGFjaXR5XT1cImRhdGVQaWNrZXJPcGFjaXR5XCI+XHJcblx0PHNsaWNrLWNhbGVuZGFyIFtuZ01vZGVsXT1cInNlbGVjdGVkRGF0ZVwiIFtjb25kZW5zZWRdPVwiY29uZGVuc2VkXCIgKG9uRGF0ZVNlbGVjdCk9XCJvbkRhdGVTZWxlY3QoJGV2ZW50KVwiPjwvc2xpY2stY2FsZW5kYXI+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwibW9iaWxlID09PSB0cnVlXCIgI2NvbnRhaW5lclJlZiBjbGFzcz1cInNsaWNrLWRhdGUtcGlja2VyLW1vYmlsZS1jb250YWluZXJcIiBbc3R5bGUudmlzaWJpbGl0eV09XCJkYXRlUGlja2VyVmlzaWJsaXR5XCIgW3N0eWxlLm9wYWNpdHldPVwiZGF0ZVBpY2tlck9wYWNpdHlcIj5cclxuXHQ8ZGl2IGNsYXNzPVwic2xpY2stZGF0ZS1waWNrZXItbW9iaWxlLWNhbGVuZGFyXCI+XHJcblx0XHQ8c2xpY2stY2FsZW5kYXIgW25nTW9kZWxdPVwic2VsZWN0ZWREYXRlXCIgW2NvbmRlbnNlZF09XCJjb25kZW5zZWRcIiAob25EYXRlU2VsZWN0KT1cIm9uRGF0ZVNlbGVjdCgkZXZlbnQpXCI+PC9zbGljay1jYWxlbmRhcj5cclxuXHQ8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|