@colijnit/transaction 255.1.38 → 255.1.40
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/bundles/colijnit-transaction.umd.js +414 -91
- package/bundles/colijnit-transaction.umd.js.map +1 -1
- package/colijnit-transaction-255.1.39.tgz +0 -0
- package/colijnit-transaction.metadata.json +1 -1
- package/esm2015/lib/component/core/base/transaction-payment-base.component.js +12 -4
- package/esm2015/lib/component/delivery-planning/service/delivery-planning.service.js +18 -1
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.js +53 -33
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.js +21 -11
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.js +12 -2
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.js +53 -3
- package/esm2015/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.js +79 -24
- package/esm2015/lib/component/dialog/transaction-line/dialog-transaction-line-warehouse-cc/dialog-transaction-line-warehouse-cc.component.js +2 -1
- package/esm2015/lib/component/transaction/transaction.component.js +4 -1
- package/esm2015/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.js +33 -4
- package/esm2015/lib/component/transaction-internal/transaction-internal.component.js +7 -4
- package/esm2015/lib/component/transaction-line/transaction-planning-line/transaction-planning-line.component.js +2 -1
- package/esm2015/lib/component/transaction-line-fields/transaction-line-warehouse.component.js +2 -2
- package/esm2015/lib/component/transaction-line-side-panel-planning/transaction-line-side-panel-planning.component.js +2 -2
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.js +21 -8
- package/esm2015/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales.module.js +3 -2
- package/esm2015/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.js +22 -7
- package/esm2015/lib/component/transaction-search/transaction-search-result/transaction-search-result.component.js +2 -1
- package/esm2015/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/transaction-purchase-reservation-order-tile.component.js +4 -14
- package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.component.js +3 -3
- package/esm2015/lib/component/transaction-service-overview/components/transaction-service-message.module.js +4 -3
- package/esm2015/lib/component/transaction-service-overview/transaction-service-overview.component.js +5 -3
- package/esm2015/lib/enum/icon.enum.js +7 -1
- package/esm2015/lib/enum/transaction-cfg-name.enum.js +3 -1
- package/esm2015/lib/model/icon-svg.js +7 -1
- package/esm2015/lib/service/transaction-create.service.js +12 -1
- package/esm2015/lib/service/transaction-payment.service.js +9 -3
- package/esm2015/lib/service/transaction.service.js +11 -4
- package/esm2015/lib/transaction-version.js +3 -3
- package/fesm2015/colijnit-transaction.js +368 -117
- package/fesm2015/colijnit-transaction.js.map +1 -1
- package/lib/component/core/base/transaction-payment-base.component.d.ts +5 -2
- package/lib/component/delivery-planning/service/delivery-planning.service.d.ts +4 -0
- package/lib/component/delivery-planning/style/_layout.scss +22 -1
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-popup/delivery-planning-overview-popup.component.d.ts +9 -6
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/delivery-planning-overview-tile-line.component.d.ts +3 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/component/delivery-planning-overview-tile-line/style/_layout.scss +25 -10
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/delivery-planning-overview-tile.component.d.ts +9 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile/style/_layout.scss +13 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/component/delivery-planning-overview-tile-settings-popup/delivery-planning-overview-tile-settings-popup.component.d.ts +14 -3
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/delivery-planning-overview.component.d.ts +16 -0
- package/lib/component/delivery-planning-main/component/delivery-planning-overview/style/_layout.scss +9 -6
- package/lib/component/delivery-planning-main/style/_layout.scss +0 -1
- package/lib/component/transaction/transaction.component.d.ts +1 -0
- package/lib/component/transaction-card/transaction-card-planning/transaction-card-planning.component.d.ts +19 -0
- package/lib/component/transaction-internal/style/_layout.scss +6 -0
- package/lib/component/transaction-internal/transaction-internal.component.d.ts +1 -0
- package/lib/component/transaction-line-side-panel-planning/style/_layout.scss +20 -17
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/style/_layout.scss +16 -4
- package/lib/component/transaction-line-side-panel-sales/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation/transaction-line-side-panel-sales-reservation.component.d.ts +5 -1
- package/lib/component/transaction-lines-side-panel/transaction-lines-side-panel-cash-desk/transaction-lines-side-panel-cash-desk.component.d.ts +2 -1
- package/lib/component/transaction-search/transaction-search-tile/transaction-purchase-reservation-order-tile/style/_layout.scss +26 -20
- package/lib/component/transaction-service-overview/transaction-service-overview.component.d.ts +2 -0
- package/lib/enum/icon.enum.d.ts +6 -0
- package/lib/enum/transaction-cfg-name.enum.d.ts +2 -1
- package/lib/service/transaction-create.service.d.ts +2 -0
- package/lib/service/transaction-payment.service.d.ts +3 -1
- package/lib/service/transaction.service.d.ts +2 -1
- package/package.json +1 -1
|
@@ -19,6 +19,7 @@ export class DeliveryPlanningOverviewTileComponent {
|
|
|
19
19
|
this.getTransportOrdersEvent = new EventEmitter();
|
|
20
20
|
this.updatePlanningTransportWeek = new EventEmitter();
|
|
21
21
|
this.openSettingsDialogEvent = new EventEmitter();
|
|
22
|
+
this.calendarPlanEvent = new EventEmitter();
|
|
22
23
|
}
|
|
23
24
|
get tileMode() {
|
|
24
25
|
return this._deliveryPlanningService.currentTileMode;
|
|
@@ -38,6 +39,10 @@ export class DeliveryPlanningOverviewTileComponent {
|
|
|
38
39
|
drop(event) {
|
|
39
40
|
// moveItemInArray(this.planningLines, event.previousIndex, event.currentIndex);
|
|
40
41
|
}
|
|
42
|
+
handleDrop(event) {
|
|
43
|
+
event.preventDefault();
|
|
44
|
+
event.stopPropagation();
|
|
45
|
+
}
|
|
41
46
|
formattedDate(date) {
|
|
42
47
|
return `${this._datePipe.transform(date, 'H:mm', "GMT+1")}`;
|
|
43
48
|
}
|
|
@@ -68,6 +73,9 @@ export class DeliveryPlanningOverviewTileComponent {
|
|
|
68
73
|
order.endTime = new Date(obj['endTime']);
|
|
69
74
|
this.updatePlanningTransportWeek.emit();
|
|
70
75
|
}
|
|
76
|
+
handleCalendarPlanEvent(data) {
|
|
77
|
+
this.calendarPlanEvent.emit(data);
|
|
78
|
+
}
|
|
71
79
|
}
|
|
72
80
|
DeliveryPlanningOverviewTileComponent.decorators = [
|
|
73
81
|
{ type: Component, args: [{
|
|
@@ -144,7 +152,8 @@ DeliveryPlanningOverviewTileComponent.decorators = [
|
|
|
144
152
|
[customTemplateUsed]="true"
|
|
145
153
|
[idProp]="'transId'"
|
|
146
154
|
(timeChangeEvent)="handleTimeChangeEvent($event)"
|
|
147
|
-
|
|
155
|
+
(drop)="handleDrop($event)"
|
|
156
|
+
(newObjectPlanEvent)="handleCalendarPlanEvent($event)"
|
|
148
157
|
></co-hour-scheduling>
|
|
149
158
|
</div>
|
|
150
159
|
</co-collapsible>
|
|
@@ -168,6 +177,7 @@ DeliveryPlanningOverviewTileComponent.propDecorators = {
|
|
|
168
177
|
getTransportOrdersEvent: [{ type: Output }],
|
|
169
178
|
updatePlanningTransportWeek: [{ type: Output }],
|
|
170
179
|
openSettingsDialogEvent: [{ type: Output }],
|
|
180
|
+
calendarPlanEvent: [{ type: Output }],
|
|
171
181
|
showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-tile",] }]
|
|
172
182
|
};
|
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0csT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQXNGbkcsTUFBTSxPQUFPLHFDQUFxQztJQXNDaEQsWUFDVSxTQUFtQixFQUNuQix3QkFBaUQsRUFDbEQsZ0JBQWtDO1FBRmpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBeEMzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQXFDLHlCQUF5QixDQUFDO1FBRWpGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFNMUIsa0JBQWEsR0FBMkMsSUFBSSxZQUFZLEVBQTRCLENBQUM7UUFHckcsb0JBQWUsR0FBd0QsSUFBSSxZQUFZLEVBQXlDLENBQUM7UUFHakksNEJBQXVCLEdBQTJDLElBQUksWUFBWSxFQUE0QixDQUFDO1FBRy9HLGdDQUEyQixHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzNFLDRCQUF1QixHQUEyQyxJQUFJLFlBQVksRUFBNEIsQ0FBQztJQWlCdEgsQ0FBQztJQWZELElBQVcsUUFBUTtRQUNqQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxlQUFlLENBQUM7SUFDdkQsQ0FBQztJQUtNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFRSyxRQUFROztZQUNSLElBQUcsSUFBSSxDQUFDLFlBQVksRUFBRTtnQkFDcEIsTUFBTSxJQUFJLENBQUMsd0JBQXdCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUMxRSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztnQkFDekIsSUFBSSxDQUFDLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7YUFDdEQ7UUFDTCxDQUFDO0tBQUE7SUFFSSxJQUFJLENBQUMsS0FBNEI7UUFDdEMsZ0ZBQWdGO0lBQ2xGLENBQUM7SUFJTSxhQUFhLENBQUMsSUFBVTtRQUM3QixPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUMsRUFBRSxDQUFDO0lBQzlELENBQUM7SUFFTSxjQUFjO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBQy9CLElBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNmLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFFLE1BQU0sQ0FBQyxFQUFFO2dCQUNqRixJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQztZQUM3QixDQUFDLENBQUMsQ0FBQztTQUNMO0lBQ0gsQ0FBQztJQUVNLHFCQUFxQixDQUFDLEtBQWdCO1FBQzNDLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFTSxrQkFBa0I7SUFFekIsQ0FBQztJQUVNLGlCQUFpQixDQUFDLEtBQWdCLEVBQUUsR0FBYztRQUN2RCxNQUFNLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsOEJBQThCO1FBQzVFLEtBQUssQ0FBQyxZQUFhLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUM1RSxDQUFDO0lBRU0sa0JBQWtCO1FBQ3ZCLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3ZELENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxHQUFXO1FBQ3RDLElBQUksT0FBTyxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUNuQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsYUFBYSxLQUFLLE9BQU8sQ0FBQyxDQUFDO1FBQ3BHLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUM7UUFDN0MsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUV6QyxJQUFJLENBQUMsMkJBQTJCLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDMUMsQ0FBQzs7O1lBbkxGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0NBQW9DO2dCQUM5QyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErRVQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXpGTyxRQUFRO1lBQ1IsdUJBQXVCO1lBRXZCLGdCQUFnQjs7O3VCQTZGckIsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLE1BQU07OEJBR04sTUFBTTtzQ0FHTixNQUFNOzBDQUdOLE1BQU07c0NBR04sTUFBTTt3QkFTTixXQUFXLFNBQUMsMENBQTBDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSG9zdEJpbmRpbmcsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7Q2RrRHJhZ0Ryb3B9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xyXG5pbXBvcnQge1BsYW5PcmRlcn0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFuLW9yZGVyLmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLWRheS5ib1wiO1xyXG5pbXBvcnQge0RhdGVQaXBlfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlQbGFubmluZ1NlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi9kZWxpdmVyeS1wbGFubmluZy9zZXJ2aWNlL2RlbGl2ZXJ5LXBsYW5uaW5nLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtJY29ufSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9pY29uLmVudW1cIjtcclxuaW1wb3J0IHtJY29uQ2FjaGVTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vc2VydmljZS9pY29uLWNhY2hlLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vZW51bS9kZWxpdmVyeS1wbGFubmluZy10aWxlLW1vZGVzLmVudW1cIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGVcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGRpdiBjbGFzcz1cImRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtd3JhcHBlclwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaGVhZGVyLXRpbGUtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGl0bGVcIiAoY2xpY2spPVwiZXhwYW5kZWRDaGFuZ2UoKVwiPlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCIhZXhwYW5kZWRcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhcmV0RG93blNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxjby1pY29uICpuZ0lmPVwiZXhwYW5kZWRcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNhcmV0VXBTb2xpZClcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImhlYWRlci10aXRsZVwiIFt0ZXh0Q29udGVudF09XCJ0cmFuc3BvcnREYXk/LnRyYW5zcG9ydC5yZWdpc3RyYXRpb25OdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInRydWNrLWhlYWRlci10aWxlXCI+XHJcbiAgICAgICAgICA8Y28taWNvblxyXG4gICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlRydWNrQ29udGFpbmVyRHVvKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic21hbGxcIiAoY2xpY2spPVwib3BlblNldHRpbmdzRGlhbG9nKClcIlxyXG4gICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TbGlkZXJzVXBSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwic3RhdHVzLXdyYXBwZXIgcm93XCI+XHJcbiAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctdGlsZS1zdGF0dXNcclxuICAgICAgICAgICAgW2N1cnJlbnRWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5vcmRlckFtb3VudFwiXHJcbiAgICAgICAgICAgIFttYXhWb2x1bWVdPVwidHJhbnNwb3J0RGF5Py5tYXhPcmRlckFtb3VudFwiXHJcbiAgICAgICAgICAgIFtjdXJyZW50VGltZVRvdGFsXT1cInRyYW5zcG9ydERheT8ubWludXRlc1wiXHJcbiAgICAgICAgICAgIFt0aW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5tYXhNaW51dGVzXCI+XHJcbiAgICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtc3RhdHVzPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLXNob3J0LWxpbmUtd3JhcHBlclwiICpuZ0lmPVwiIWV4cGFuZGVkXCI+XHJcbiAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy1zaG9ydC1saW5lXHJcbiAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9yZGVyIG9mIHRyYW5zcG9ydERheT8ucGxhbm5lZE9yZGVyc1wiXHJcbiAgICAgICAgICAgICAgKGRlbGV0ZUxpbmVFdmVudCk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgW29yZGVyXT1cIm9yZGVyXCI+XHJcbiAgICAgICAgICAgIDwvY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctc2hvcnQtbGluZT5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxjby1jb2xsYXBzaWJsZSBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aWxlLWNvbnRlbnQtd3JhcHBlciBjb2x1bW5cIj5cclxuXHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJwbGFubmluZy1saW5lcy13cmFwcGVyXCIgY2RrRHJvcExpc3QgKGNka0Ryb3BMaXN0RHJvcHBlZCk9XCJkcm9wKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwidGlsZU1vZGUgPT09IHRpbGVNb2Rlcy5Ob3JtYWxcIj5cclxuICAgICAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lIGNka0RyYWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvcmRlciBvZiB0cmFuc3BvcnREYXk/LnBsYW5uZWRPcmRlcnNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUxpbmVFdmVudCk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIj5cclxuICAgICAgICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtbGluZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgI2N1c3RvbVRlbXBsYXRlIGxldC1ob3VyPVwiaG91clwiIGxldC1vYmplY3RzPVwib2JqZWN0c1wiPlxyXG4gICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c1wiXHJcbiAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY3VzdG9tLXNjaGVkdWxlZC1vYmplY3RcIlxyXG4gICAgICAgICAgICAgICAgICBkcmFnZ2FibGU9XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgKGRyYWdzdGFydCk9XCJvbkN1c3RvbURyYWdTdGFydCgkZXZlbnQsIG9iailcIlxyXG4gICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICA8Y28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lIGNka0RyYWdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb2JqIG9mIG9iamVjdHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkZWxldGVMaW5lRXZlbnQpPVwiaGFuZGxlRGVsZXRlTGluZUNsaWNrKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlcl09XCJvYmpcIj5cclxuICAgICAgICAgICAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmU+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICAgICAgICAgIDxjby1ob3VyLXNjaGVkdWxpbmcgKm5nSWY9XCJvcmRlcnNMb2FkZWQgJiYgdGlsZU1vZGUgPT09IHRpbGVNb2Rlcy5DYWxlbmRhclwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NjaGVkdWxlXT1cInRyYW5zcG9ydERheVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3N0YXJ0VGltZVByb3BdPVwiJ3N0YXJ0VGltZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtlbmRUaW1lUHJvcF09XCInZW5kVGltZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvYmplY3RzUHJvcF09XCIncGxhbm5lZE9yZGVycydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjaGlsZFByb3BdPVwiJ3RyYW5zcG9ydCdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjdXN0b21UZW1wbGF0ZV09XCJjdXN0b21UZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVRlbXBsYXRlVXNlZF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbaWRQcm9wXT1cIid0cmFuc0lkJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRpbWVDaGFuZ2VFdmVudCk9XCJoYW5kbGVUaW1lQ2hhbmdlRXZlbnQoJGV2ZW50KVwiXHJcblxyXG4gICAgICAgICAgICA+PC9jby1ob3VyLXNjaGVkdWxpbmc+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2NvLWNvbGxhcHNpYmxlPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICA8L2Rpdj5cclxuICBgLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIERlbGl2ZXJ5UGxhbm5pbmdPdmVydmlld1RpbGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXR7XHJcbiAgcHVibGljIHJlYWRvbmx5IGljb25zOiB0eXBlb2YgSWNvbiA9IEljb247XHJcbiAgcHVibGljIHJlYWRvbmx5IHRpbGVNb2RlczogdHlwZW9mIERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXMgPSBEZWxpdmVyeVBsYW5uaW5nVGlsZU1vZGVzO1xyXG5cclxuICBwdWJsaWMgb3JkZXJzTG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgcHVibGljIHRyYW5zcG9ydERheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5O1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZXhwYW5kZWRFdmVudDogRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4gPSBuZXcgRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIGRlbGV0ZUxpbmVFdmVudDogRXZlbnRFbWl0dGVyPFtQbGFuT3JkZXIsIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheV0+ID0gbmV3IEV2ZW50RW1pdHRlcjxbUGxhbk9yZGVyLCBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXldPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZ2V0VHJhbnNwb3J0T3JkZXJzRXZlbnQ6IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+ID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyB1cGRhdGVQbGFubmluZ1RyYW5zcG9ydFdlZWs6IEV2ZW50RW1pdHRlcjx2b2lkPiA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIG9wZW5TZXR0aW5nc0RpYWxvZ0V2ZW50OiBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PiA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PigpO1xyXG5cclxuICBwdWJsaWMgZ2V0IHRpbGVNb2RlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRUaWxlTW9kZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRlZDogYm9vbGVhbjtcclxuXHJcbiAgQEhvc3RCaW5kaW5nKFwiY2xhc3MuY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZVwiKVxyXG4gIHB1YmxpYyBzaG93Q2xhc3MoKSB7XHJcbiAgICByZXR1cm4gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBfZGF0ZVBpcGU6IERhdGVQaXBlLFxyXG4gICAgcHJpdmF0ZSBfZGVsaXZlcnlQbGFubmluZ1NlcnZpY2U6IERlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLFxyXG4gICAgcHVibGljIGljb25DYWNoZVNlcnZpY2U6IEljb25DYWNoZVNlcnZpY2UpIHtcclxuICB9XHJcblxyXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xyXG4gICAgICAgIGlmKHRoaXMudHJhbnNwb3J0RGF5KSB7XHJcbiAgICAgICAgICBhd2FpdCB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5nZXRUcmFuc3BvcnRPcmRlcnModGhpcy50cmFuc3BvcnREYXkpO1xyXG4gICAgICAgICAgdGhpcy5vcmRlcnNMb2FkZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5nZXRUcmFuc3BvcnRPcmRlcnNFdmVudC5lbWl0KHRoaXMudHJhbnNwb3J0RGF5KTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gIHB1YmxpYyBkcm9wKGV2ZW50OiBDZGtEcmFnRHJvcDxzdHJpbmdbXT4pIHtcclxuICAgIC8vIG1vdmVJdGVtSW5BcnJheSh0aGlzLnBsYW5uaW5nTGluZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG4gIHB1YmxpYyBmb3JtYXR0ZWREYXRlKGRhdGU6IERhdGUpIHtcclxuICAgIHJldHVybiBgJHt0aGlzLl9kYXRlUGlwZS50cmFuc2Zvcm0oZGF0ZSwgJ0g6bW0nLCBcIkdNVCsxXCIpfWA7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZXhwYW5kZWRDaGFuZ2UoKSB7XHJcbiAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XHJcbiAgICBpZih0aGlzLmV4cGFuZGVkKSB7XHJcbiAgICAgICB0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5nZXRUcmFuc3BvcnRPcmRlcnModGhpcy50cmFuc3BvcnREYXkpLnRoZW4oIHJlc3VsdCA9PiB7XHJcbiAgICAgICAgIHRoaXMudHJhbnNwb3J0RGF5ID0gcmVzdWx0O1xyXG4gICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGVsZXRlTGluZUNsaWNrKG9yZGVyOiBQbGFuT3JkZXIpIHtcclxuICAgIHRoaXMuZGVsZXRlTGluZUV2ZW50LmVtaXQoW29yZGVyLCB0aGlzLnRyYW5zcG9ydERheV0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZVNldHRpbmdzU2F2ZSgpIHtcclxuXHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb25DdXN0b21EcmFnU3RhcnQoZXZlbnQ6IERyYWdFdmVudCwgb2JqOiBQbGFuT3JkZXIpIHtcclxuICAgIGNvbnN0IGN1cnJlbnRIb3VyID0gb2JqWydzdGFydFRpbWUnXSArIFwiOjAwXCI7IC8vIEFzc3VtaW5nIHN0YXJ0IGhvdXIgaXMgdXNlZFxyXG4gICAgZXZlbnQuZGF0YVRyYW5zZmVyIS5zZXREYXRhKFwidGV4dFwiLCBKU09OLnN0cmluZ2lmeSh7IG9iaiwgY3VycmVudEhvdXIgfSkpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIG9wZW5TZXR0aW5nc0RpYWxvZygpIHtcclxuICAgIHRoaXMub3BlblNldHRpbmdzRGlhbG9nRXZlbnQuZW1pdCh0aGlzLnRyYW5zcG9ydERheSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlVGltZUNoYW5nZUV2ZW50KG9iajogT2JqZWN0KSB7XHJcbiAgICBsZXQgdHJhbnNOciA9IG9ialsndHJhbnNhY3Rpb25OciddO1xyXG4gICAgbGV0IG9yZGVyID0gdGhpcy50cmFuc3BvcnREYXkucGxhbm5lZE9yZGVycy5maW5kKCBwbGFuT3JkZXIgPT4gcGxhbk9yZGVyLnRyYW5zYWN0aW9uTnIgPT09IHRyYW5zTnIpO1xyXG4gICAgb3JkZXIuc3RhcnRUaW1lID0gbmV3IERhdGUob2JqWydzdGFydFRpbWUnXSk7XHJcbiAgICBvcmRlci5lbmRUaW1lID0gbmV3IERhdGUob2JqWydlbmRUaW1lJ10pO1xyXG5cclxuICAgIHRoaXMudXBkYXRlUGxhbm5pbmdUcmFuc3BvcnRXZWVrLmVtaXQoKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
183
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFJN0csT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUM5RSxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSwwREFBMEQsQ0FBQztBQXVGbkcsTUFBTSxPQUFPLHFDQUFxQztJQXlDaEQsWUFDVSxTQUFtQixFQUNuQix3QkFBaUQsRUFDbEQsZ0JBQWtDO1FBRmpDLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBM0MzQixVQUFLLEdBQWdCLElBQUksQ0FBQztRQUMxQixjQUFTLEdBQXFDLHlCQUF5QixDQUFDO1FBRWpGLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzlCLGFB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VyxDQUFDLENBQUMsQ0FBQztRQUM3QyxLQUFLLENBQUMsT0FBTyxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQywyQkFBMkIsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRU0sdUJBQXVCLENBQUMsSUFBd0M7UUFDckUsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNwQyxDQUFDOzs7WUFqTUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxvQ0FBb0M7Z0JBQzlDLFFBQVEsRUFBRTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnRlQ7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTFGTyxRQUFRO1lBQ1IsdUJBQXVCO1lBRXZCLGdCQUFnQjs7O3VCQThGckIsS0FBSzsyQkFHTCxLQUFLOzRCQUdMLE1BQU07OEJBR04sTUFBTTtzQ0FHTixNQUFNOzBDQUdOLE1BQU07c0NBR04sTUFBTTtnQ0FHTixNQUFNO3dCQVNOLFdBQVcsU0FBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHtDZGtEcmFnRHJvcH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXl9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctdHJhbnNwb3J0LXdlZWstZGF5LmJvXCI7XHJcbmltcG9ydCB7RGF0ZVBpcGV9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXN9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2RlbGl2ZXJ5LXBsYW5uaW5nLXRpbGUtbW9kZXMuZW51bVwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IFwiY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZVwiLFxyXG4gIHRlbXBsYXRlOiBgXHJcbiAgICA8ZGl2IGNsYXNzPVwiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS13cmFwcGVyXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJoZWFkZXItdGlsZS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRlci10aXRsZVwiIChjbGljayk9XCJleHBhbmRlZENoYW5nZSgpXCI+XHJcbiAgICAgICAgICA8Y28taWNvbiAqbmdJZj1cIiFleHBhbmRlZFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FyZXREb3duU29saWQpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGNvLWljb24gKm5nSWY9XCJleHBhbmRlZFwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2FyZXRVcFNvbGlkKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaGVhZGVyLXRpdGxlXCIgW3RleHRDb250ZW50XT1cInRyYW5zcG9ydERheT8udHJhbnNwb3J0LnJlZ2lzdHJhdGlvbk51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwidHJ1Y2staGVhZGVyLXRpbGVcIj5cclxuICAgICAgICAgIDxjby1pY29uXHJcbiAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPGNvLWljb24gY2xhc3M9XCJzbWFsbFwiIChjbGljayk9XCJvcGVuU2V0dGluZ3NEaWFsb2coKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNsaWRlcnNVcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzdGF0dXMtd3JhcHBlciByb3dcIj5cclxuICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy10aWxlLXN0YXR1c1xyXG4gICAgICAgICAgICBbY3VycmVudFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm9yZGVyQW1vdW50XCJcclxuICAgICAgICAgICAgW21heFZvbHVtZV09XCJ0cmFuc3BvcnREYXk/Lm1heE9yZGVyQW1vdW50XCJcclxuICAgICAgICAgICAgW2N1cnJlbnRUaW1lVG90YWxdPVwidHJhbnNwb3J0RGF5Py5taW51dGVzXCJcclxuICAgICAgICAgICAgW3RpbWVUb3RhbF09XCJ0cmFuc3BvcnREYXk/Lm1heE1pbnV0ZXNcIj5cclxuICAgICAgICAgIDwvY28tZGVsaXZlcnktcGxhbm5pbmctdGlsZS1zdGF0dXM+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicGxhbm5pbmctc2hvcnQtbGluZS13cmFwcGVyXCIgKm5nSWY9XCIhZXhwYW5kZWRcIj5cclxuICAgICAgICAgICAgPGNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXNob3J0LWxpbmVcclxuICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgb3JkZXIgb2YgdHJhbnNwb3J0RGF5Py5wbGFubmVkT3JkZXJzXCJcclxuICAgICAgICAgICAgICAoZGVsZXRlTGluZUV2ZW50KT1cImhhbmRsZURlbGV0ZUxpbmVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICBbb3JkZXJdPVwib3JkZXJcIj5cclxuICAgICAgICAgICAgPC9jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy1zaG9ydC1saW5lPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGNvLWNvbGxhcHNpYmxlIFtleHBhbmRlZF09XCJleHBhbmRlZFwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInRpbGUtY29udGVudC13cmFwcGVyIGNvbHVtblwiPlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInBsYW5uaW5nLWxpbmVzLXdyYXBwZXJcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgKm5nSWY9XCJ0aWxlTW9kZSA9PT0gdGlsZU1vZGVzLk5vcm1hbFwiPlxyXG4gICAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmUgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9yZGVyIG9mIHRyYW5zcG9ydERheT8ucGxhbm5lZE9yZGVyc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZGVsZXRlTGluZUV2ZW50KT1cImhhbmRsZURlbGV0ZUxpbmVDbGljaygkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtvcmRlcl09XCJvcmRlclwiPlxyXG4gICAgICAgICAgICAgIDwvY28tZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1saW5lPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjY3VzdG9tVGVtcGxhdGUgbGV0LWhvdXI9XCJob3VyXCIgbGV0LW9iamVjdHM9XCJvYmplY3RzXCI+XHJcbiAgICAgICAgICAgICAgPGRpdj5cclxuICAgICAgICAgICAgICAgIDxkaXZcclxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IG9iaiBvZiBvYmplY3RzXCJcclxuICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tc2NoZWR1bGVkLW9iamVjdFwiXHJcbiAgICAgICAgICAgICAgICAgIGRyYWdnYWJsZT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAoZHJhZ3N0YXJ0KT1cIm9uQ3VzdG9tRHJhZ1N0YXJ0KCRldmVudCwgb2JqKVwiXHJcbiAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgIDxjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLWxpbmUgY2RrRHJhZ1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpuZ0Zvcj1cImxldCBvYmogb2Ygb2JqZWN0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGRlbGV0ZUxpbmVFdmVudCk9XCJoYW5kbGVEZWxldGVMaW5lQ2xpY2soJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29yZGVyXT1cIm9ialwiPlxyXG4gICAgICAgICAgICAgICAgICA8L2NvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtbGluZT5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgICAgICAgICAgPGNvLWhvdXItc2NoZWR1bGluZyAqbmdJZj1cIm9yZGVyc0xvYWRlZCAmJiB0aWxlTW9kZSA9PT0gdGlsZU1vZGVzLkNhbGVuZGFyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2NoZWR1bGVdPVwidHJhbnNwb3J0RGF5XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc3RhcnRUaW1lUHJvcF09XCInc3RhcnRUaW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2VuZFRpbWVQcm9wXT1cIidlbmRUaW1lJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW29iamVjdHNQcm9wXT1cIidwbGFubmVkT3JkZXJzJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NoaWxkUHJvcF09XCIndHJhbnNwb3J0J1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2N1c3RvbVRlbXBsYXRlXT1cImN1c3RvbVRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbY3VzdG9tVGVtcGxhdGVVc2VkXT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtpZFByb3BdPVwiJ3RyYW5zSWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodGltZUNoYW5nZUV2ZW50KT1cImhhbmRsZVRpbWVDaGFuZ2VFdmVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoZHJvcCk9XCJoYW5kbGVEcm9wKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChuZXdPYmplY3RQbGFuRXZlbnQpPVwiaGFuZGxlQ2FsZW5kYXJQbGFuRXZlbnQoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgID48L2NvLWhvdXItc2NoZWR1bGluZz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvY28tY29sbGFwc2libGU+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdHtcclxuICBwdWJsaWMgcmVhZG9ubHkgaWNvbnM6IHR5cGVvZiBJY29uID0gSWNvbjtcclxuICBwdWJsaWMgcmVhZG9ubHkgdGlsZU1vZGVzOiB0eXBlb2YgRGVsaXZlcnlQbGFubmluZ1RpbGVNb2RlcyA9IERlbGl2ZXJ5UGxhbm5pbmdUaWxlTW9kZXM7XHJcblxyXG4gIHB1YmxpYyBvcmRlcnNMb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBleHBhbmRlZEV2ZW50OiBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PiA9IG5ldyBFdmVudEVtaXR0ZXI8UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5PigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgZGVsZXRlTGluZUV2ZW50OiBFdmVudEVtaXR0ZXI8W1BsYW5PcmRlciwgUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5XT4gPSBuZXcgRXZlbnRFbWl0dGVyPFtQbGFuT3JkZXIsIFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheV0+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBnZXRUcmFuc3BvcnRPcmRlcnNFdmVudDogRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4gPSBuZXcgRXZlbnRFbWl0dGVyPFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheT4oKTtcclxuXHJcbiAgQE91dHB1dCgpXHJcbiAgcHVibGljIHVwZGF0ZVBsYW5uaW5nVHJhbnNwb3J0V2VlazogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb3BlblNldHRpbmdzRGlhbG9nRXZlbnQ6IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+ID0gbmV3IEV2ZW50RW1pdHRlcjxQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk+KCk7XHJcblxyXG4gIEBPdXRwdXQoKVxyXG4gIHB1YmxpYyBjYWxlbmRhclBsYW5FdmVudDogRXZlbnRFbWl0dGVyPHtjdXJyZW50SG91cjogc3RyaW5nLCBkYXRhOiBzdHJpbmd9PiA9IG5ldyBFdmVudEVtaXR0ZXI8e2N1cnJlbnRIb3VyOiBzdHJpbmcsIGRhdGE6IHN0cmluZ30+KCk7XHJcblxyXG4gIHB1YmxpYyBnZXQgdGlsZU1vZGUoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuY3VycmVudFRpbGVNb2RlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cGFuZGVkOiBib29sZWFuO1xyXG5cclxuICBASG9zdEJpbmRpbmcoXCJjbGFzcy5jby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlXCIpXHJcbiAgcHVibGljIHNob3dDbGFzcygpIHtcclxuICAgIHJldHVybiB0cnVlO1xyXG4gIH1cclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIF9kYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaWNvbkNhY2hlU2VydmljZTogSWNvbkNhY2hlU2VydmljZSkge1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgbmdPbkluaXQoKTogUHJvbWlzZTx2b2lkPiB7XHJcbiAgICAgICAgaWYodGhpcy50cmFuc3BvcnREYXkpIHtcclxuICAgICAgICAgIGF3YWl0IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmdldFRyYW5zcG9ydE9yZGVycyh0aGlzLnRyYW5zcG9ydERheSk7XHJcbiAgICAgICAgICB0aGlzLm9yZGVyc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmdldFRyYW5zcG9ydE9yZGVyc0V2ZW50LmVtaXQodGhpcy50cmFuc3BvcnREYXkpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgcHVibGljIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPHN0cmluZ1tdPikge1xyXG5cclxuICAgIC8vIG1vdmVJdGVtSW5BcnJheSh0aGlzLnBsYW5uaW5nTGluZXMsIGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRHJvcChldmVudDogRHJhZ0V2ZW50KSB7XHJcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXHJcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICB9XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGZvcm1hdHRlZERhdGUoZGF0ZTogRGF0ZSkge1xyXG4gICAgcmV0dXJuIGAke3RoaXMuX2RhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnSDptbScsIFwiR01UKzFcIil9YDtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBhbmRlZENoYW5nZSgpIHtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIGlmKHRoaXMuZXhwYW5kZWQpIHtcclxuICAgICAgIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmdldFRyYW5zcG9ydE9yZGVycyh0aGlzLnRyYW5zcG9ydERheSkudGhlbiggcmVzdWx0ID0+IHtcclxuICAgICAgICAgdGhpcy50cmFuc3BvcnREYXkgPSByZXN1bHQ7XHJcbiAgICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxldGVMaW5lQ2xpY2sob3JkZXI6IFBsYW5PcmRlcikge1xyXG4gICAgdGhpcy5kZWxldGVMaW5lRXZlbnQuZW1pdChbb3JkZXIsIHRoaXMudHJhbnNwb3J0RGF5XSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2V0dGluZ3NTYXZlKCkge1xyXG5cclxuICB9XHJcblxyXG4gIHB1YmxpYyBvbkN1c3RvbURyYWdTdGFydChldmVudDogRHJhZ0V2ZW50LCBvYmo6IFBsYW5PcmRlcikge1xyXG4gICAgY29uc3QgY3VycmVudEhvdXIgPSBvYmpbJ3N0YXJ0VGltZSddICsgXCI6MDBcIjsgLy8gQXNzdW1pbmcgc3RhcnQgaG91ciBpcyB1c2VkXHJcbiAgICBldmVudC5kYXRhVHJhbnNmZXIhLnNldERhdGEoXCJ0ZXh0XCIsIEpTT04uc3RyaW5naWZ5KHsgb2JqLCBjdXJyZW50SG91ciB9KSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgb3BlblNldHRpbmdzRGlhbG9nKCkge1xyXG4gICAgdGhpcy5vcGVuU2V0dGluZ3NEaWFsb2dFdmVudC5lbWl0KHRoaXMudHJhbnNwb3J0RGF5KTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVUaW1lQ2hhbmdlRXZlbnQob2JqOiBPYmplY3QpIHtcclxuICAgIGxldCB0cmFuc05yID0gb2JqWyd0cmFuc2FjdGlvbk5yJ107XHJcbiAgICBsZXQgb3JkZXIgPSB0aGlzLnRyYW5zcG9ydERheS5wbGFubmVkT3JkZXJzLmZpbmQoIHBsYW5PcmRlciA9PiBwbGFuT3JkZXIudHJhbnNhY3Rpb25OciA9PT0gdHJhbnNOcik7XHJcbiAgICBvcmRlci5zdGFydFRpbWUgPSBuZXcgRGF0ZShvYmpbJ3N0YXJ0VGltZSddKTtcclxuICAgIG9yZGVyLmVuZFRpbWUgPSBuZXcgRGF0ZShvYmpbJ2VuZFRpbWUnXSk7XHJcblxyXG4gICAgdGhpcy51cGRhdGVQbGFubmluZ1RyYW5zcG9ydFdlZWsuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUNhbGVuZGFyUGxhbkV2ZW50KGRhdGE6e2N1cnJlbnRIb3VyOiBzdHJpbmcsIGRhdGE6IHN0cmluZ30pIHtcclxuICAgIHRoaXMuY2FsZW5kYXJQbGFuRXZlbnQuZW1pdChkYXRhKTtcclxuICB9XHJcblxyXG59XHJcblxyXG4iXX0=
|
|
@@ -1,15 +1,22 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
1
2
|
import { Component, EventEmitter, HostBinding, Input, Output, ViewEncapsulation } from "@angular/core";
|
|
2
3
|
import { DeliveryPlanningService } from "../../../../../delivery-planning/service/delivery-planning.service";
|
|
3
4
|
import { Icon } from "../../../../../../enum/icon.enum";
|
|
4
5
|
import { IconCacheService } from "../../../../../../service/icon-cache.service";
|
|
6
|
+
import { TransactionConnectorService } from "../../../../../../service/transaction-connector.service";
|
|
7
|
+
import { OrderLinesPlannedRequest } from "@colijnit/transactionapi/build/model/order-lines-planned-request.bo";
|
|
8
|
+
import { PlanningFilterObject } from "@colijnit/transactionapi/build/model/planning-filter-object.bo";
|
|
5
9
|
export class DeliveryPlanningOverviewTileSettingsPopupComponent {
|
|
6
|
-
constructor(_deliveryPlanningService, iconCacheService) {
|
|
10
|
+
constructor(_deliveryPlanningService, iconCacheService, _transaction) {
|
|
7
11
|
this._deliveryPlanningService = _deliveryPlanningService;
|
|
8
12
|
this.iconCacheService = iconCacheService;
|
|
13
|
+
this._transaction = _transaction;
|
|
9
14
|
this.icons = Icon;
|
|
10
15
|
this.settingsChanged = false;
|
|
16
|
+
this._subs = [];
|
|
11
17
|
this.closeEvent = new EventEmitter();
|
|
12
18
|
this.onSaveAction = new EventEmitter();
|
|
19
|
+
this.availabilityChecked = new EventEmitter();
|
|
13
20
|
}
|
|
14
21
|
get districts() {
|
|
15
22
|
return this._deliveryPlanningService.districts;
|
|
@@ -30,6 +37,14 @@ export class DeliveryPlanningOverviewTileSettingsPopupComponent {
|
|
|
30
37
|
return true;
|
|
31
38
|
}
|
|
32
39
|
ngOnInit() {
|
|
40
|
+
this._subs.push(this._deliveryPlanningService.availabilityCheckEvent.subscribe((transId) => __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
yield this.handleAvailabilityChecked(transId);
|
|
42
|
+
})));
|
|
43
|
+
}
|
|
44
|
+
ngOnDestroy() {
|
|
45
|
+
this._subs.forEach(sub => {
|
|
46
|
+
sub.unsubscribe();
|
|
47
|
+
});
|
|
33
48
|
}
|
|
34
49
|
districtsForTransportDay(transportDay) {
|
|
35
50
|
var _a;
|
|
@@ -89,6 +104,39 @@ export class DeliveryPlanningOverviewTileSettingsPopupComponent {
|
|
|
89
104
|
handleCommitClick() {
|
|
90
105
|
this.onSaveAction.emit(this.settingsChanged);
|
|
91
106
|
}
|
|
107
|
+
handleAvailabilityChecked(transId) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
let planOrder = yield this._transaction.getPlanOrder(transId);
|
|
110
|
+
if (!planOrder.partDelivery) {
|
|
111
|
+
this.deliveryMethods.find(method => parseInt(method.code) === planOrder.deliveryMethod) ? this.availabilityChecked.emit({ transportDay: this.transportDay, available: true }) : this.availabilityChecked.emit({ transportDay: this.transportDay, available: false });
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
let available = true;
|
|
115
|
+
yield this.getOrderLinesPlanned(planOrder);
|
|
116
|
+
planOrder.lines.forEach((line) => {
|
|
117
|
+
if (!this.deliveryMethods.find(method => method.code === line.deliveryMethod)) {
|
|
118
|
+
available = false;
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
this.availabilityChecked.emit({ transportDay: this.transportDay, available: available });
|
|
122
|
+
}
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
getOrderLinesPlanned(planOrder) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
let request = new OrderLinesPlannedRequest();
|
|
128
|
+
let filterObj = new PlanningFilterObject();
|
|
129
|
+
request.planned = true;
|
|
130
|
+
request.planningId = this._deliveryPlanningService.currentPlanning.planningId;
|
|
131
|
+
request.transId = planOrder.transId;
|
|
132
|
+
request.plannedLineId = planOrder.plannedLineId;
|
|
133
|
+
filterObj.onlyCurrentWeek = true;
|
|
134
|
+
filterObj.beginCurrentWeek = new Date();
|
|
135
|
+
filterObj.checkOrderLines = 1;
|
|
136
|
+
request.filterObject = filterObj;
|
|
137
|
+
planOrder.lines.push(...yield this._transaction.getOrderLinesPlanned(request));
|
|
138
|
+
});
|
|
139
|
+
}
|
|
92
140
|
}
|
|
93
141
|
DeliveryPlanningOverviewTileSettingsPopupComponent.decorators = [
|
|
94
142
|
{ type: Component, args: [{
|
|
@@ -199,12 +247,14 @@ DeliveryPlanningOverviewTileSettingsPopupComponent.decorators = [
|
|
|
199
247
|
];
|
|
200
248
|
DeliveryPlanningOverviewTileSettingsPopupComponent.ctorParameters = () => [
|
|
201
249
|
{ type: DeliveryPlanningService },
|
|
202
|
-
{ type: IconCacheService }
|
|
250
|
+
{ type: IconCacheService },
|
|
251
|
+
{ type: TransactionConnectorService }
|
|
203
252
|
];
|
|
204
253
|
DeliveryPlanningOverviewTileSettingsPopupComponent.propDecorators = {
|
|
205
254
|
transportDay: [{ type: Input }],
|
|
206
255
|
closeEvent: [{ type: Output }],
|
|
207
256
|
onSaveAction: [{ type: Output }],
|
|
257
|
+
availabilityChecked: [{ type: Output }],
|
|
208
258
|
showClass: [{ type: HostBinding, args: ["class.co-delivery-planning-overview-tile-settings-popup",] }]
|
|
209
259
|
};
|
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1zZXR0aW5ncy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1zZXR0aW5ncy1wb3B1cC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLXNldHRpbmdzLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQU83RyxPQUFPLEVBQUMsdUJBQXVCLEVBQUMsTUFBTSxvRUFBb0UsQ0FBQztBQUMzRyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOENBQThDLENBQUM7QUE0RzlFLE1BQU0sT0FBTyxrREFBa0Q7SUEwQzdELFlBQW9CLHdCQUFpRCxFQUFTLGdCQUFrQztRQUE1Riw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXlCO1FBQVMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQXhDaEcsVUFBSyxHQUFnQixJQUFJLENBQUM7UUFDbkMsb0JBQWUsR0FBWSxLQUFLLENBQUM7UUFPakMsZUFBVSxHQUF1QixJQUFJLFlBQVksRUFBUSxDQUFDO1FBRzFELGlCQUFZLEdBQTBCLElBQUksWUFBWSxFQUFXLENBQUM7SUE4QnpFLENBQUM7SUExQkQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxlQUFlO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQztJQUN2RCxDQUFDO0lBRUQsSUFBVyxTQUFTO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBVyxNQUFNO1FBQ2YsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDO0lBQzlDLENBQUM7SUFFRCxJQUFXLFVBQVU7UUFDbkIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsVUFBVSxDQUFDO0lBQ2xELENBQUM7SUFHTSxTQUFTO1FBQ2QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBS0QsUUFBUTtJQUVSLENBQUM7SUFLTSx3QkFBd0IsQ0FBQyxZQUFzQzs7UUFDcEUsT0FBTyxNQUFBLElBQUksQ0FBQyxTQUFTLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRSxDQUNuRCxZQUFZLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsVUFBVSxDQUFDLENBQ3RELENBQUM7SUFDSixDQUFDO0lBRU0sOEJBQThCLENBQUMsWUFBc0M7O1FBQzFFLE9BQU8sTUFBQSxJQUFJLENBQUMsZUFBZSwwQ0FBRSxNQUFNLENBQUMsQ0FBQyxjQUE4QixFQUFFLEVBQUUsQ0FDckUsWUFBWSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLElBQUksQ0FBQyxDQUM1RCxDQUFDO0lBQ0osQ0FBQztJQUdNLHFCQUFxQixDQUFDLFlBQXNDOztRQUNqRSxPQUFPLE1BQUEsSUFBSSxDQUFDLE1BQU0sMENBQUUsTUFBTSxDQUFDLENBQUMsS0FBWSxFQUFFLEVBQUUsQ0FDMUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsS0FBSyxhQUFMLEtBQUssdUJBQUwsS0FBSyxDQUFFLE9BQU8sQ0FBQyxDQUM3QyxDQUFDO0lBQ0osQ0FBQztJQUVNLG9CQUFvQixDQUFDLEtBQTJCO1FBQ3JELEtBQUssQ0FBQyxPQUFPLENBQUUsUUFBUSxDQUFDLEVBQUU7WUFDeEIsSUFBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBRSxRQUFRLENBQUMsRUFBRSxDQUFDLFFBQVEsS0FBSyxRQUFRLENBQUMsRUFBRTtnQkFDeEUsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFFLFFBQVEsQ0FBQyxDQUFDO2FBQzdDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxrQkFBa0IsQ0FBQyxLQUFjO1FBQ3RDLEtBQUssQ0FBQyxPQUFPLENBQUUsQ0FBQyxLQUFZLEVBQUUsRUFBRTtZQUM5QixJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxLQUFLLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRTtnQkFDMUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM5QztRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU0sMEJBQTBCLENBQUMsS0FBdUI7UUFDdkQsS0FBSyxDQUFDLE9BQU8sQ0FBRSxDQUFDLE1BQXNCLEVBQUUsRUFBRTtZQUN4QyxJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFFLGNBQWMsQ0FBQyxFQUFFLENBQUMsY0FBYyxLQUFLLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDN0YsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQzthQUNyRDtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRU0scUJBQXFCLENBQUMsS0FBaUI7UUFDNUMsS0FBSyxDQUFDLE9BQU8sQ0FBRSxDQUFDLFFBQWtCLEVBQUUsRUFBRTtZQUNwQyxJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFFLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxLQUFLLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtnQkFDekYsSUFBSSxDQUFDLFlBQVksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQzthQUN4RTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBRyxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBSU0sVUFBVTtRQUNmLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDeEIsQ0FBQztJQUVNLGlCQUFpQjtRQUN0QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDL0MsQ0FBQzs7O1lBcE9GLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbURBQW1EO2dCQUM3RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvR1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQTdHTyx1QkFBdUI7WUFFdkIsZ0JBQWdCOzs7MkJBaUhyQixLQUFLO3lCQUlMLE1BQU07MkJBR04sTUFBTTt3QkF5Qk4sV0FBVyxTQUFDLHlEQUF5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9ufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQge1BsYW5uaW5nVHJhbnNwb3J0V2Vla0RheX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9wbGFubmluZy10cmFuc3BvcnQtd2Vlay1kYXkuYm9cIjtcclxuaW1wb3J0IHtEaXN0cmljdH0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC9kaXN0cmljdC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5TWV0aG9kfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2RlbGl2ZXJ5LW1ldGhvZC5ib1wiO1xyXG5pbXBvcnQge1NraWxsfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3NraWxsLmJvXCI7XHJcbmltcG9ydCB7UmVsYXRpb25MaXN0T2JqZWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3JlbGF0aW9uLWxpc3Qtb2JqZWN0LmJvXCI7XHJcbmltcG9ydCB7VXNlckdyb3VwfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3VzZXItZ3JvdXAuYm9cIjtcclxuaW1wb3J0IHtEZWxpdmVyeVBsYW5uaW5nU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uL2RlbGl2ZXJ5LXBsYW5uaW5nL3NlcnZpY2UvZGVsaXZlcnktcGxhbm5pbmcuc2VydmljZVwiO1xyXG5pbXBvcnQge0ljb259IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9lbnVtL2ljb24uZW51bVwiO1xyXG5pbXBvcnQge0ljb25DYWNoZVNlcnZpY2V9IGZyb20gXCIuLi8uLi8uLi8uLi8uLi8uLi9zZXJ2aWNlL2ljb24tY2FjaGUuc2VydmljZVwiO1xyXG5cclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcImNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtc2V0dGluZ3MtcG9wdXBcIixcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPGNvLWRpYWxvZyBbc2hvd0Nsb3NlSWNvbl09XCJ0cnVlXCIgKGNsb3NlQ2xpY2spPVwiY2xvc2VQb3B1cCgpXCIgW2hlYWRlclRlbXBsYXRlXT1cImhlYWRlclRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgW2Zvb3RlclRlbXBsYXRlXT1cImZvb3RlclRlbXBsYXRlXCI+XHJcblxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9keS13cmFwcGVyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJ1bGVzLXdyYXBwZXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXZhaWxhYmxlXCI+XHJcbiAgICAgICAgICAgIDxjby1pbnB1dC1jaGVja2JveCBbKG1vZGVsKV09XCJ0cmFuc3BvcnREYXkuYXZhaWxhYmxlT25EYXRlXCI+PC9jby1pbnB1dC1jaGVja2JveD5cclxuICAgICAgICAgICAgPHNwYW4gW3RleHRDb250ZW50XT1cIidBVkFJTEFCTEUnIHwgbG9jYWxpemVcIj48L3NwYW4+PC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBhdmFpbGFibGVcIj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2x1bW5cIj5cclxuICAgICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgY2xhc3M9XCJsaXN0XCIgW2NvbGxlY3Rpb25dPVwiZGlzdHJpY3RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImRpc3RyaWN0c0ZvclRyYW5zcG9ydERheSh0cmFuc3BvcnREYXkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZURpc3RyaWN0c0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInZGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidESVNUUklDVFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hEaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCInWm9la2VuLi4uJ1wiXHJcblxyXG4gICAgICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBjbGFzcz1cImxpc3RcIiBbY29sbGVjdGlvbl09XCJkZWxpdmVyeU1ldGhvZHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwiZGVsaXZlcnlNZXRob2RzRm9yVHJhbnNwb3J0RGF5KHRyYW5zcG9ydERheSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRGVsaXZlcnlNZXRob2RDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInREVMSVZFUllfTUVUSE9EUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaERpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidab2VrZW4uLi4nXCJcclxuICAgICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIGNsYXNzPVwibGlzdFwiIFtjb2xsZWN0aW9uXT1cInNraWxsc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJza2lsbHNGb3JUcmFuc3BvcnREYXkodHJhbnNwb3J0RGF5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVTa2lsbHNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInU0tJTExTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1pvZWtlbi4uLidcIlxyXG4gICAgICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBjbGFzcz1cImxpc3RcIiBbY29sbGVjdGlvbl09XCJlbXBsb3llZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwidHJhbnNwb3J0RGF5LmVtcGxveWVlc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVFbXBsb3llZUNoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInZmFtaWx5TmFtZSdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0VNUExPWUVFUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaERpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidab2VrZW4uLi4nXCJcclxuICAgICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJydWxlcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgY2xhc3M9XCJsaXN0XCIgW2NvbGxlY3Rpb25dPVwidXNlckdyb3Vwc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Rpc3BsYXlGaWVsZF09XCInZGVzY3JpcHRpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1VTRVJfR1JPVVBTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaERpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1pvZWtlbi4uLidcIlxyXG4gICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9jby1kaWFsb2c+XHJcblxyXG4gICAgPG5nLXRlbXBsYXRlICNoZWFkZXJUZW1wbGF0ZT5cclxuICAgICAgPGRpdiBjbGFzcz1cImRpYWxvZy1oZWFkZXItd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwic21hbGxcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLlNsaWRlcnNVcFJlZ3VsYXIpXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJib2xkXCIgW3RleHRDb250ZW50XT1cIidQTEFOTklOR19SVUxFUycgfCBsb2NhbGl6ZVwiPjwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJmb290ZXItaGVhZGVyLXRpdGxlIGJvbGRcIiBbdGV4dENvbnRlbnRdPVwidHJhbnNwb3J0RGF5Py50cmFuc3BvcnQ/LnJlZ2lzdHJhdGlvbk51bWJlclwiPjwvc3Bhbj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgIDxjby1pY29uIGNsYXNzPVwiXCJcclxuICAgICAgICAgICAgICAgICAgICAgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5UcnVja0NvbnRhaW5lckR1bylcIj48L2NvLWljb24+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L25nLXRlbXBsYXRlPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjZm9vdGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjby1kaWFsb2ctZm9vdGVyLWJ1dHRvbi13cmFwcGVyXCI+XHJcbiAgICAgICAgPGNvLWJ1dHRvbiBjbGFzcz1cInNhdmUtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJoYW5kbGVDb21taXRDbGljaygpXCJcclxuICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ2hlY2tEdW90b25lKVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJjbG9zZS1idXR0b25cIlxyXG4gICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlUG9wdXAoKVwiIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuQ3Jvc3Nza2lubnkpXCI+PC9jby1idXR0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgYCxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEZWxpdmVyeVBsYW5uaW5nT3ZlcnZpZXdUaWxlU2V0dGluZ3NQb3B1cENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyBzZXR0aW5nc0NoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcblxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TYXZlQWN0aW9uOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG5cclxuXHJcbiAgcHVibGljIGdldCBkaXN0cmljdHMoKTogRGlzdHJpY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGlzdHJpY3RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkZWxpdmVyeU1ldGhvZHMoKTogRGVsaXZlcnlNZXRob2RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsaXZlcnlNZXRob2RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlbXBsb3llZXMoKTogUmVsYXRpb25MaXN0T2JqZWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmVtcGxveWVlcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2tpbGxzKCk6IFNraWxsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnNraWxscztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlckdyb3VwcygpOiBVc2VyR3JvdXBbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudXNlckdyb3VwcztcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtc2V0dGluZ3MtcG9wdXBcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuXHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBwdWJsaWMgZGlzdHJpY3RzRm9yVHJhbnNwb3J0RGF5KHRyYW5zcG9ydERheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogRGlzdHJpY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXN0cmljdHM/LmZpbHRlcigoZGlzdHJpY3Q6IERpc3RyaWN0KSA9PlxyXG4gICAgICB0cmFuc3BvcnREYXkuZGlzdHJpY3RzLmluY2x1ZGVzKGRpc3RyaWN0Py5kaXN0cmljdElkKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxpdmVyeU1ldGhvZHNGb3JUcmFuc3BvcnREYXkodHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBEZWxpdmVyeU1ldGhvZFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5TWV0aG9kcz8uZmlsdGVyKChkZWxpdmVyeU1ldGhvZDogRGVsaXZlcnlNZXRob2QpID0+XHJcbiAgICAgIHRyYW5zcG9ydERheS5kZWxpdmVyeU1ldGhvZHMuaW5jbHVkZXMoZGVsaXZlcnlNZXRob2Q/LmNvZGUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBza2lsbHNGb3JUcmFuc3BvcnREYXkodHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBTa2lsbFtdIHtcclxuICAgIHJldHVybiB0aGlzLnNraWxscz8uZmlsdGVyKChza2lsbDogU2tpbGwpID0+XHJcbiAgICAgIHRyYW5zcG9ydERheS5za2lsbHMuaW5jbHVkZXMoc2tpbGw/LnNraWxsSWQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVtcGxveWVlQ2hhbmdlKGV2ZW50OiBSZWxhdGlvbkxpc3RPYmplY3RbXSkge1xyXG4gICAgZXZlbnQuZm9yRWFjaCggcmVsYXRpb24gPT4ge1xyXG4gICAgICBpZighdGhpcy50cmFuc3BvcnREYXkuZW1wbG95ZWVzLmZpbmQoIGVtcGxveWVlID0+IGVtcGxveWVlID09PSByZWxhdGlvbikpIHtcclxuICAgICAgICB0aGlzLnRyYW5zcG9ydERheS5lbXBsb3llZXMucHVzaCggcmVsYXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKCF0aGlzLnNldHRpbmdzQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzQ2hhbmdlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2tpbGxzQ2hhbmdlKGV2ZW50OiBTa2lsbFtdKSB7XHJcbiAgICBldmVudC5mb3JFYWNoKCAoc2tpbGw6IFNraWxsKSA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLnRyYW5zcG9ydERheS5za2lsbHMuZmluZCggZGF5U2tpbGwgPT4gZGF5U2tpbGwgPT09IHNraWxsLnNraWxsSWQpKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnREYXkuc2tpbGxzLnB1c2goc2tpbGwuc2tpbGxJZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYoIXRoaXMuc2V0dGluZ3NDaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2VkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxpdmVyeU1ldGhvZENoYW5nZShldmVudDogRGVsaXZlcnlNZXRob2RbXSkge1xyXG4gICAgZXZlbnQuZm9yRWFjaCggKG1ldGhvZDogRGVsaXZlcnlNZXRob2QpID0+IHtcclxuICAgICAgaWYoIXRoaXMudHJhbnNwb3J0RGF5LmRlbGl2ZXJ5TWV0aG9kcy5maW5kKCBkZWxpdmVyeU1ldGhvZCA9PiBkZWxpdmVyeU1ldGhvZCA9PT0gbWV0aG9kLmNvZGUpKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnREYXkuZGVsaXZlcnlNZXRob2RzLnB1c2gobWV0aG9kLmNvZGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKCF0aGlzLnNldHRpbmdzQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzQ2hhbmdlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGlzdHJpY3RzQ2hhbmdlKGV2ZW50OiBEaXN0cmljdFtdKSB7XHJcbiAgICBldmVudC5mb3JFYWNoKCAoZGlzdHJpY3Q6IERpc3RyaWN0KSA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLnRyYW5zcG9ydERheS5kaXN0cmljdHMuZmluZCggZGF5RGlzdHJpY3QgPT4gZGF5RGlzdHJpY3QgPT09IGRpc3RyaWN0LmRpc3RyaWN0SWQpKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnREYXkuZGVsaXZlcnlNZXRob2RzLnB1c2goZGlzdHJpY3QuZGlzdHJpY3RJZC50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZighdGhpcy5zZXR0aW5nc0NoYW5nZWQpIHtcclxuICAgICAgdGhpcy5zZXR0aW5nc0NoYW5nZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMub25TYXZlQWN0aW9uLmVtaXQodGhpcy5zZXR0aW5nc0NoYW5nZWQpO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
260
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1zZXR0aW5ncy1wb3B1cC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90cmFuc2FjdGlvbi9zcmMvbGliL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1tYWluL2NvbXBvbmVudC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy9jb21wb25lbnQvZGVsaXZlcnktcGxhbm5pbmctb3ZlcnZpZXctdGlsZS1zZXR0aW5ncy1wb3B1cC9kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLXNldHRpbmdzLXBvcHVwLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLGlCQUFpQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBT3hILE9BQU8sRUFBQyx1QkFBdUIsRUFBQyxNQUFNLG9FQUFvRSxDQUFDO0FBQzNHLE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4Q0FBOEMsQ0FBQztBQUU5RSxPQUFPLEVBQUMsMkJBQTJCLEVBQUMsTUFBTSx5REFBeUQsQ0FBQztBQUdwRyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsTUFBTSxxRUFBcUUsQ0FBQztBQUM3RyxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsTUFBTSxnRUFBZ0UsQ0FBQztBQThHcEcsTUFBTSxPQUFPLGtEQUFrRDtJQThDN0QsWUFBb0Isd0JBQWlELEVBQVMsZ0JBQWtDLEVBQVUsWUFBeUM7UUFBL0ksNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF5QjtRQUFTLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBNkI7UUE1Q25KLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQ25DLG9CQUFlLEdBQVksS0FBSyxDQUFDO1FBRWhDLFVBQUssR0FBbUIsRUFBRSxDQUFDO1FBTzVCLGVBQVUsR0FBdUIsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUcxRCxpQkFBWSxHQUEwQixJQUFJLFlBQVksRUFBVyxDQUFDO1FBSWxFLHdCQUFtQixHQUErRSxJQUFJLFlBQVksRUFBZ0UsQ0FBQztJQTRCMUwsQ0FBQztJQTFCRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLGVBQWU7UUFDeEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsZUFBZSxDQUFDO0lBQ3ZELENBQUM7SUFFRCxJQUFXLFNBQVM7UUFDbEIsT0FBTyxJQUFJLENBQUMsd0JBQXdCLENBQUMsU0FBUyxDQUFDO0lBQ2pELENBQUM7SUFFRCxJQUFXLE1BQU07UUFDZixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQVcsVUFBVTtRQUNuQixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxVQUFVLENBQUM7SUFDbEQsQ0FBQztJQUdNLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFLRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBRSxDQUFNLE9BQWUsRUFBRSxFQUFFO1lBQ3ZHLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQSxDQUFDLENBQUMsQ0FBQztJQUNOLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUUsR0FBRyxDQUFDLEVBQUU7WUFDeEIsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFBO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUtNLHdCQUF3QixDQUFDLFlBQXNDOztRQUNwRSxPQUFPLE1BQUEsSUFBSSxDQUFDLFNBQVMsMENBQUUsTUFBTSxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFLENBQ25ELFlBQVksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxVQUFVLENBQUMsQ0FDdEQsQ0FBQztJQUNKLENBQUM7SUFFTSw4QkFBOEIsQ0FBQyxZQUFzQzs7UUFDMUUsT0FBTyxNQUFBLElBQUksQ0FBQyxlQUFlLDBDQUFFLE1BQU0sQ0FBQyxDQUFDLGNBQThCLEVBQUUsRUFBRSxDQUNyRSxZQUFZLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxjQUFjLGFBQWQsY0FBYyx1QkFBZCxjQUFjLENBQUUsSUFBSSxDQUFDLENBQzVELENBQUM7SUFDSixDQUFDO0lBR00scUJBQXFCLENBQUMsWUFBc0M7O1FBQ2pFLE9BQU8sTUFBQSxJQUFJLENBQUMsTUFBTSwwQ0FBRSxNQUFNLENBQUMsQ0FBQyxLQUFZLEVBQUUsRUFBRSxDQUMxQyxZQUFZLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUUsT0FBTyxDQUFDLENBQzdDLENBQUM7SUFDSixDQUFDO0lBRU0sb0JBQW9CLENBQUMsS0FBMkI7UUFDckQsS0FBSyxDQUFDLE9BQU8sQ0FBRSxRQUFRLENBQUMsRUFBRTtZQUN4QixJQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxFQUFFO2dCQUN4RSxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUUsUUFBUSxDQUFDLENBQUM7YUFDN0M7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUVNLGtCQUFrQixDQUFDLEtBQWM7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBRSxDQUFDLEtBQVksRUFBRSxFQUFFO1lBQzlCLElBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUMxRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQzlDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSwwQkFBMEIsQ0FBQyxLQUF1QjtRQUN2RCxLQUFLLENBQUMsT0FBTyxDQUFFLENBQUMsTUFBc0IsRUFBRSxFQUFFO1lBQ3hDLElBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsY0FBYyxDQUFDLEVBQUUsQ0FBQyxjQUFjLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM3RixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUM3QjtJQUNILENBQUM7SUFFTSxxQkFBcUIsQ0FBQyxLQUFpQjtRQUM1QyxLQUFLLENBQUMsT0FBTyxDQUFFLENBQUMsUUFBa0IsRUFBRSxFQUFFO1lBQ3BDLElBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUUsV0FBVyxDQUFDLEVBQUUsQ0FBQyxXQUFXLEtBQUssUUFBUSxDQUFDLFVBQVUsQ0FBQyxFQUFFO2dCQUN6RixJQUFJLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO2FBQ3hFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztTQUM3QjtJQUNILENBQUM7SUFJTSxVQUFVO1FBQ2YsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRU0saUJBQWlCO1FBQ3RCLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRVkseUJBQXlCLENBQUMsT0FBZTs7WUFDcEQsSUFBSSxTQUFTLEdBQWMsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUN6RSxJQUFHLENBQUMsU0FBUyxDQUFDLFlBQVksRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7YUFDblE7aUJBQU07Z0JBQ0wsSUFBSSxTQUFTLEdBQVksSUFBSSxDQUFDO2dCQUM5QixNQUFNLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztnQkFDM0MsU0FBUyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUUsQ0FBQyxJQUFtQixFQUFFLEVBQUU7b0JBQy9DLElBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLGNBQWMsQ0FBQyxFQUFFO3dCQUM3RSxTQUFTLEdBQUcsS0FBSyxDQUFDO3FCQUNuQjtnQkFDSCxDQUFDLENBQUMsQ0FBQztnQkFDSCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBQyxDQUFDLENBQUM7YUFDeEY7UUFDSCxDQUFDO0tBQUE7SUFHWSxvQkFBb0IsQ0FBQyxTQUFvQjs7WUFDcEQsSUFBSSxPQUFPLEdBQTZCLElBQUksd0JBQXdCLEVBQUUsQ0FBQztZQUN2RSxJQUFJLFNBQVMsR0FBeUIsSUFBSSxvQkFBb0IsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3ZCLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUM7WUFDOUUsT0FBTyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztZQUNoRCxTQUFTLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQztZQUNqQyxTQUFTLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUN4QyxTQUFTLENBQUMsZUFBZSxHQUFHLENBQUMsQ0FBQztZQUM5QixPQUFPLENBQUMsWUFBWSxHQUFHLFNBQVMsQ0FBQztZQUNqQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO1FBQ2pGLENBQUM7S0FBQTs7O1lBL1FGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsbURBQW1EO2dCQUM3RCxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvR1Q7Z0JBQ0QsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7YUFDdEM7OztZQXJITyx1QkFBdUI7WUFFdkIsZ0JBQWdCO1lBRWhCLDJCQUEyQjs7OzJCQXlIaEMsS0FBSzt5QkFJTCxNQUFNOzJCQUdOLE1BQU07a0NBSU4sTUFBTTt3QkF1Qk4sV0FBVyxTQUFDLHlEQUF5RCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQsIE91dHB1dCwgVmlld0VuY2Fwc3VsYXRpb259IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW5uaW5nLXRyYW5zcG9ydC13ZWVrLWRheS5ib1wiO1xyXG5pbXBvcnQge0Rpc3RyaWN0fSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL2Rpc3RyaWN0LmJvXCI7XHJcbmltcG9ydCB7RGVsaXZlcnlNZXRob2R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvZGVsaXZlcnktbWV0aG9kLmJvXCI7XHJcbmltcG9ydCB7U2tpbGx9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvc2tpbGwuYm9cIjtcclxuaW1wb3J0IHtSZWxhdGlvbkxpc3RPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcmVsYXRpb24tbGlzdC1vYmplY3QuYm9cIjtcclxuaW1wb3J0IHtVc2VyR3JvdXB9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvdXNlci1ncm91cC5ib1wiO1xyXG5pbXBvcnQge0RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vZGVsaXZlcnktcGxhbm5pbmcvc2VydmljZS9kZWxpdmVyeS1wbGFubmluZy5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7SWNvbn0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL2VudW0vaWNvbi5lbnVtXCI7XHJcbmltcG9ydCB7SWNvbkNhY2hlU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvaWNvbi1jYWNoZS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7U3Vic2NyaXB0aW9ufSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1RyYW5zYWN0aW9uQ29ubmVjdG9yU2VydmljZX0gZnJvbSBcIi4uLy4uLy4uLy4uLy4uLy4uL3NlcnZpY2UvdHJhbnNhY3Rpb24tY29ubmVjdG9yLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtUcmFuc2FjdGlvbkluZm9SZXNwb25zZX0gZnJvbSBcIkBjb2xpam5pdC90cmFuc2FjdGlvbmFwaS9idWlsZC9tb2RlbC90cmFuc2FjdGlvbi1pbmZvLXJlc3BvbnNlLmJvXCI7XHJcbmltcG9ydCB7UGxhbk9yZGVyfSBmcm9tIFwiQGNvbGlqbml0L3RyYW5zYWN0aW9uYXBpL2J1aWxkL21vZGVsL3BsYW4tb3JkZXIuYm9cIjtcclxuaW1wb3J0IHtPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvb3JkZXItbGluZXMtcGxhbm5lZC1yZXF1ZXN0LmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmdGaWx0ZXJPYmplY3R9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmctZmlsdGVyLW9iamVjdC5ib1wiO1xyXG5pbXBvcnQge1BsYW5PcmRlckxpbmV9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbi1vcmRlci1saW5lLmJvXCI7XHJcbmltcG9ydCB7UGxhbm5pbmd9IGZyb20gXCJAY29saWpuaXQvdHJhbnNhY3Rpb25hcGkvYnVpbGQvbW9kZWwvcGxhbm5pbmcuYm9cIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJjby1kZWxpdmVyeS1wbGFubmluZy1vdmVydmlldy10aWxlLXNldHRpbmdzLXBvcHVwXCIsXHJcbiAgdGVtcGxhdGU6IGBcclxuICAgIDxjby1kaWFsb2cgW3Nob3dDbG9zZUljb25dPVwidHJ1ZVwiIChjbG9zZUNsaWNrKT1cImNsb3NlUG9wdXAoKVwiIFtoZWFkZXJUZW1wbGF0ZV09XCJoZWFkZXJUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgIFtmb290ZXJUZW1wbGF0ZV09XCJmb290ZXJUZW1wbGF0ZVwiPlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImJvZHktd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJydWxlcy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGF2YWlsYWJsZVwiPlxyXG4gICAgICAgICAgICA8Y28taW5wdXQtY2hlY2tib3ggWyhtb2RlbCldPVwidHJhbnNwb3J0RGF5LmF2YWlsYWJsZU9uRGF0ZVwiPjwvY28taW5wdXQtY2hlY2tib3g+XHJcbiAgICAgICAgICAgIDxzcGFuIFt0ZXh0Q29udGVudF09XCInQVZBSUxBQkxFJyB8IGxvY2FsaXplXCI+PC9zcGFuPjwvZGl2PlxyXG5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgYXZhaWxhYmxlXCI+XHJcblxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIGNsYXNzPVwibGlzdFwiIFtjb2xsZWN0aW9uXT1cImRpc3RyaWN0c1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttb2RlbF09XCJkaXN0cmljdHNGb3JUcmFuc3BvcnREYXkodHJhbnNwb3J0RGF5KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtb2RlbENoYW5nZSk9XCJoYW5kbGVEaXN0cmljdHNDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtsYWJlbF09XCInRElTVFJJQ1RTJyB8IGxvY2FsaXplXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoRGlzYWJsZWRdPVwiZmFsc2VcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbc2VhcmNoUGxhY2Vob2xkZXJdPVwiJ1pvZWtlbi4uLidcIlxyXG5cclxuICAgICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgY2xhc3M9XCJsaXN0XCIgW2NvbGxlY3Rpb25dPVwiZGVsaXZlcnlNZXRob2RzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cImRlbGl2ZXJ5TWV0aG9kc0ZvclRyYW5zcG9ydERheSh0cmFuc3BvcnREYXkpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1vZGVsQ2hhbmdlKT1cImhhbmRsZURlbGl2ZXJ5TWV0aG9kQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ0RFTElWRVJZX01FVEhPRFMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hEaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCInWm9la2VuLi4uJ1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtblwiPlxyXG4gICAgICAgICAgICAgIDxjby1saXN0LW9mLXZhbHVlcyBjbGFzcz1cImxpc3RcIiBbY29sbGVjdGlvbl09XCJza2lsbHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbW9kZWxdPVwic2tpbGxzRm9yVHJhbnNwb3J0RGF5KHRyYW5zcG9ydERheSlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlU2tpbGxzQ2hhbmdlKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGlzcGxheUZpZWxkXT1cIidkZXNjcmlwdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbGFiZWxdPVwiJ1NLSUxMUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFttdWx0aXNlbGVjdF09XCJ0cnVlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaERpc2FibGVkXT1cImZhbHNlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidab2VrZW4uLi4nXCJcclxuICAgICAgICAgICAgICA+PC9jby1saXN0LW9mLXZhbHVlcz5cclxuICAgICAgICAgICAgICA8Y28tbGlzdC1vZi12YWx1ZXMgY2xhc3M9XCJsaXN0XCIgW2NvbGxlY3Rpb25dPVwiZW1wbG95ZWVzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW21vZGVsXT1cInRyYW5zcG9ydERheS5lbXBsb3llZXNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobW9kZWxDaGFuZ2UpPVwiaGFuZGxlRW1wbG95ZWVDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2ZhbWlseU5hbWUnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidFTVBMT1lFRVMnIHwgbG9jYWxpemVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbXVsdGlzZWxlY3RdPVwidHJ1ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hEaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hQbGFjZWhvbGRlcl09XCInWm9la2VuLi4uJ1wiXHJcbiAgICAgICAgICAgICAgPjwvY28tbGlzdC1vZi12YWx1ZXM+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicnVsZXMtd3JhcHBlclwiPlxyXG4gICAgICAgICAgPGNvLWxpc3Qtb2YtdmFsdWVzIGNsYXNzPVwibGlzdFwiIFtjb2xsZWN0aW9uXT1cInVzZXJHcm91cHNcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkaXNwbGF5RmllbGRdPVwiJ2Rlc2NyaXB0aW9uJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2xhYmVsXT1cIidVU0VSX0dST1VQUycgfCBsb2NhbGl6ZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cInRydWVcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtzZWFyY2hEaXNhYmxlZF09XCJmYWxzZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3NlYXJjaFBsYWNlaG9sZGVyXT1cIidab2VrZW4uLi4nXCJcclxuICAgICAgICAgID48L2NvLWxpc3Qtb2YtdmFsdWVzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvY28tZGlhbG9nPlxyXG5cclxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyVGVtcGxhdGU+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJkaWFsb2ctaGVhZGVyLXdyYXBwZXJcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cInNtYWxsXCIgW2ljb25EYXRhXT1cImljb25DYWNoZVNlcnZpY2UuZ2V0SWNvbihpY29ucy5TbGlkZXJzVXBSZWd1bGFyKVwiPjwvY28taWNvbj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYm9sZFwiIFt0ZXh0Q29udGVudF09XCInUExBTk5JTkdfUlVMRVMnIHwgbG9jYWxpemVcIj48L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcblxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZm9vdGVyLWhlYWRlci10aXRsZSBib2xkXCIgW3RleHRDb250ZW50XT1cInRyYW5zcG9ydERheT8udHJhbnNwb3J0Py5yZWdpc3RyYXRpb25OdW1iZXJcIj48L3NwYW4+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICA8Y28taWNvbiBjbGFzcz1cIlwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFtpY29uRGF0YV09XCJpY29uQ2FjaGVTZXJ2aWNlLmdldEljb24oaWNvbnMuVHJ1Y2tDb250YWluZXJEdW8pXCI+PC9jby1pY29uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiAgICA8bmctdGVtcGxhdGUgI2Zvb3RlclRlbXBsYXRlPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY28tZGlhbG9nLWZvb3Rlci1idXR0b24td3JhcHBlclwiPlxyXG4gICAgICAgIDxjby1idXR0b24gY2xhc3M9XCJzYXZlLWJ1dHRvblwiXHJcbiAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiaGFuZGxlQ29tbWl0Q2xpY2soKVwiXHJcbiAgICAgICAgICAgICAgICAgICBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNoZWNrRHVvdG9uZSlcIj48L2NvLWJ1dHRvbj5cclxuICAgICAgICA8Y28tYnV0dG9uIGNsYXNzPVwiY2xvc2UtYnV0dG9uXCJcclxuICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJjbG9zZVBvcHVwKClcIiBbaWNvbkRhdGFdPVwiaWNvbkNhY2hlU2VydmljZS5nZXRJY29uKGljb25zLkNyb3Nzc2tpbm55KVwiPjwvY28tYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcblxyXG4gIGAsXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGVsaXZlcnlQbGFubmluZ092ZXJ2aWV3VGlsZVNldHRpbmdzUG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcblxyXG4gIHB1YmxpYyByZWFkb25seSBpY29uczogdHlwZW9mIEljb24gPSBJY29uO1xyXG4gIHB1YmxpYyBzZXR0aW5nc0NoYW5nZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgQElucHV0KClcclxuICBwdWJsaWMgdHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXk7XHJcblxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgY2xvc2VFdmVudDogRXZlbnRFbWl0dGVyPHZvaWQ+ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgb25TYXZlQWN0aW9uOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4gPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XHJcblxyXG5cclxuICBAT3V0cHV0KClcclxuICBwdWJsaWMgYXZhaWxhYmlsaXR5Q2hlY2tlZDogRXZlbnRFbWl0dGVyPHt0cmFuc3BvcnREYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgYXZhaWxhYmxlOiBib29sZWFufT4gPSBuZXcgRXZlbnRFbWl0dGVyPHt0cmFuc3BvcnREYXk6IFBsYW5uaW5nVHJhbnNwb3J0V2Vla0RheSwgYXZhaWxhYmxlOiBib29sZWFufT4oKTtcclxuXHJcbiAgcHVibGljIGdldCBkaXN0cmljdHMoKTogRGlzdHJpY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGlzdHJpY3RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBkZWxpdmVyeU1ldGhvZHMoKTogRGVsaXZlcnlNZXRob2RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UuZGVsaXZlcnlNZXRob2RzO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCBlbXBsb3llZXMoKTogUmVsYXRpb25MaXN0T2JqZWN0W10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmVtcGxveWVlcztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgc2tpbGxzKCk6IFNraWxsW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLnNraWxscztcclxuICB9XHJcblxyXG4gIHB1YmxpYyBnZXQgdXNlckdyb3VwcygpOiBVc2VyR3JvdXBbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5fZGVsaXZlcnlQbGFubmluZ1NlcnZpY2UudXNlckdyb3VwcztcclxuICB9XHJcblxyXG4gIEBIb3N0QmluZGluZyhcImNsYXNzLmNvLWRlbGl2ZXJ5LXBsYW5uaW5nLW92ZXJ2aWV3LXRpbGUtc2V0dGluZ3MtcG9wdXBcIilcclxuICBwdWJsaWMgc2hvd0NsYXNzKCkge1xyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9kZWxpdmVyeVBsYW5uaW5nU2VydmljZTogRGVsaXZlcnlQbGFubmluZ1NlcnZpY2UsIHB1YmxpYyBpY29uQ2FjaGVTZXJ2aWNlOiBJY29uQ2FjaGVTZXJ2aWNlLCBwcml2YXRlIF90cmFuc2FjdGlvbjogVHJhbnNhY3Rpb25Db25uZWN0b3JTZXJ2aWNlKSB7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuX3N1YnMucHVzaCh0aGlzLl9kZWxpdmVyeVBsYW5uaW5nU2VydmljZS5hdmFpbGFiaWxpdHlDaGVja0V2ZW50LnN1YnNjcmliZSggYXN5bmModHJhbnNJZDogbnVtYmVyKSA9PiB7XHJcbiAgICAgIGF3YWl0IHRoaXMuaGFuZGxlQXZhaWxhYmlsaXR5Q2hlY2tlZCh0cmFuc0lkKTtcclxuICAgIH0pKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fc3Vicy5mb3JFYWNoKCBzdWIgPT4ge1xyXG4gICAgICBzdWIudW5zdWJzY3JpYmUoKVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuXHJcblxyXG5cclxuICBwdWJsaWMgZGlzdHJpY3RzRm9yVHJhbnNwb3J0RGF5KHRyYW5zcG9ydERheTogUGxhbm5pbmdUcmFuc3BvcnRXZWVrRGF5KTogRGlzdHJpY3RbXSB7XHJcbiAgICByZXR1cm4gdGhpcy5kaXN0cmljdHM/LmZpbHRlcigoZGlzdHJpY3Q6IERpc3RyaWN0KSA9PlxyXG4gICAgICB0cmFuc3BvcnREYXkuZGlzdHJpY3RzLmluY2x1ZGVzKGRpc3RyaWN0Py5kaXN0cmljdElkKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBkZWxpdmVyeU1ldGhvZHNGb3JUcmFuc3BvcnREYXkodHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBEZWxpdmVyeU1ldGhvZFtdIHtcclxuICAgIHJldHVybiB0aGlzLmRlbGl2ZXJ5TWV0aG9kcz8uZmlsdGVyKChkZWxpdmVyeU1ldGhvZDogRGVsaXZlcnlNZXRob2QpID0+XHJcbiAgICAgIHRyYW5zcG9ydERheS5kZWxpdmVyeU1ldGhvZHMuaW5jbHVkZXMoZGVsaXZlcnlNZXRob2Q/LmNvZGUpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcblxyXG4gIHB1YmxpYyBza2lsbHNGb3JUcmFuc3BvcnREYXkodHJhbnNwb3J0RGF5OiBQbGFubmluZ1RyYW5zcG9ydFdlZWtEYXkpOiBTa2lsbFtdIHtcclxuICAgIHJldHVybiB0aGlzLnNraWxscz8uZmlsdGVyKChza2lsbDogU2tpbGwpID0+XHJcbiAgICAgIHRyYW5zcG9ydERheS5za2lsbHMuaW5jbHVkZXMoc2tpbGw/LnNraWxsSWQpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGhhbmRsZUVtcGxveWVlQ2hhbmdlKGV2ZW50OiBSZWxhdGlvbkxpc3RPYmplY3RbXSkge1xyXG4gICAgZXZlbnQuZm9yRWFjaCggcmVsYXRpb24gPT4ge1xyXG4gICAgICBpZighdGhpcy50cmFuc3BvcnREYXkuZW1wbG95ZWVzLmZpbmQoIGVtcGxveWVlID0+IGVtcGxveWVlID09PSByZWxhdGlvbikpIHtcclxuICAgICAgICB0aGlzLnRyYW5zcG9ydERheS5lbXBsb3llZXMucHVzaCggcmVsYXRpb24pO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKCF0aGlzLnNldHRpbmdzQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzQ2hhbmdlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlU2tpbGxzQ2hhbmdlKGV2ZW50OiBTa2lsbFtdKSB7XHJcbiAgICBldmVudC5mb3JFYWNoKCAoc2tpbGw6IFNraWxsKSA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLnRyYW5zcG9ydERheS5za2lsbHMuZmluZCggZGF5U2tpbGwgPT4gZGF5U2tpbGwgPT09IHNraWxsLnNraWxsSWQpKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnREYXkuc2tpbGxzLnB1c2goc2tpbGwuc2tpbGxJZCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgaWYoIXRoaXMuc2V0dGluZ3NDaGFuZ2VkKSB7XHJcbiAgICAgIHRoaXMuc2V0dGluZ3NDaGFuZ2VkID0gdHJ1ZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVEZWxpdmVyeU1ldGhvZENoYW5nZShldmVudDogRGVsaXZlcnlNZXRob2RbXSkge1xyXG4gICAgZXZlbnQuZm9yRWFjaCggKG1ldGhvZDogRGVsaXZlcnlNZXRob2QpID0+IHtcclxuICAgICAgaWYoIXRoaXMudHJhbnNwb3J0RGF5LmRlbGl2ZXJ5TWV0aG9kcy5maW5kKCBkZWxpdmVyeU1ldGhvZCA9PiBkZWxpdmVyeU1ldGhvZCA9PT0gbWV0aG9kLmNvZGUpKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnREYXkuZGVsaXZlcnlNZXRob2RzLnB1c2gobWV0aG9kLmNvZGUpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIGlmKCF0aGlzLnNldHRpbmdzQ2hhbmdlZCkge1xyXG4gICAgICB0aGlzLnNldHRpbmdzQ2hhbmdlZCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgaGFuZGxlRGlzdHJpY3RzQ2hhbmdlKGV2ZW50OiBEaXN0cmljdFtdKSB7XHJcbiAgICBldmVudC5mb3JFYWNoKCAoZGlzdHJpY3Q6IERpc3RyaWN0KSA9PiB7XHJcbiAgICAgIGlmKCF0aGlzLnRyYW5zcG9ydERheS5kaXN0cmljdHMuZmluZCggZGF5RGlzdHJpY3QgPT4gZGF5RGlzdHJpY3QgPT09IGRpc3RyaWN0LmRpc3RyaWN0SWQpKSB7XHJcbiAgICAgICAgdGhpcy50cmFuc3BvcnREYXkuZGVsaXZlcnlNZXRob2RzLnB1c2goZGlzdHJpY3QuZGlzdHJpY3RJZC50b1N0cmluZygpKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICBpZighdGhpcy5zZXR0aW5nc0NoYW5nZWQpIHtcclxuICAgICAgdGhpcy5zZXR0aW5nc0NoYW5nZWQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG5cclxuICBwdWJsaWMgY2xvc2VQb3B1cCgpIHtcclxuICAgIHRoaXMuY2xvc2VFdmVudC5lbWl0KClcclxuICB9XHJcblxyXG4gIHB1YmxpYyBoYW5kbGVDb21taXRDbGljaygpIHtcclxuICAgIHRoaXMub25TYXZlQWN0aW9uLmVtaXQodGhpcy5zZXR0aW5nc0NoYW5nZWQpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGFzeW5jIGhhbmRsZUF2YWlsYWJpbGl0eUNoZWNrZWQodHJhbnNJZDogbnVtYmVyKSB7XHJcbiAgICBsZXQgcGxhbk9yZGVyOiBQbGFuT3JkZXIgPSBhd2FpdCB0aGlzLl90cmFuc2FjdGlvbi5nZXRQbGFuT3JkZXIodHJhbnNJZCk7XHJcbiAgICBpZighcGxhbk9yZGVyLnBhcnREZWxpdmVyeSkge1xyXG4gICAgICB0aGlzLmRlbGl2ZXJ5TWV0aG9kcy5maW5kKCBtZXRob2QgPT4gcGFyc2VJbnQobWV0aG9kLmNvZGUpID09PSBwbGFuT3JkZXIuZGVsaXZlcnlNZXRob2QpID8gdGhpcy5hdmFpbGFiaWxpdHlDaGVja2VkLmVtaXQoe3RyYW5zcG9ydERheTogdGhpcy50cmFuc3BvcnREYXksIGF2YWlsYWJsZTogdHJ1ZX0pIDogdGhpcy5hdmFpbGFiaWxpdHlDaGVja2VkLmVtaXQoe3RyYW5zcG9ydERheTogdGhpcy50cmFuc3BvcnREYXksIGF2YWlsYWJsZTogZmFsc2V9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGxldCBhdmFpbGFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gICAgICBhd2FpdCB0aGlzLmdldE9yZGVyTGluZXNQbGFubmVkKHBsYW5PcmRlcik7XHJcbiAgICAgIHBsYW5PcmRlci5saW5lcy5mb3JFYWNoKCAobGluZTogUGxhbk9yZGVyTGluZSkgPT4ge1xyXG4gICAgICAgIGlmKCF0aGlzLmRlbGl2ZXJ5TWV0aG9kcy5maW5kKCBtZXRob2QgPT4gbWV0aG9kLmNvZGUgPT09IGxpbmUuZGVsaXZlcnlNZXRob2QpKSB7XHJcbiAgICAgICAgICBhdmFpbGFibGUgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgICB0aGlzLmF2YWlsYWJpbGl0eUNoZWNrZWQuZW1pdCh7dHJhbnNwb3J0RGF5OiB0aGlzLnRyYW5zcG9ydERheSwgYXZhaWxhYmxlOiBhdmFpbGFibGV9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG5cclxuICBwdWJsaWMgYXN5bmMgZ2V0T3JkZXJMaW5lc1BsYW5uZWQocGxhbk9yZGVyOiBQbGFuT3JkZXIpIHtcclxuICAgIGxldCByZXF1ZXN0OiBPcmRlckxpbmVzUGxhbm5lZFJlcXVlc3QgPSBuZXcgT3JkZXJMaW5lc1BsYW5uZWRSZXF1ZXN0KCk7XHJcbiAgICBsZXQgZmlsdGVyT2JqOiBQbGFubmluZ0ZpbHRlck9iamVjdCA9IG5ldyBQbGFubmluZ0ZpbHRlck9iamVjdCgpO1xyXG4gICAgcmVxdWVzdC5wbGFubmVkID0gdHJ1ZTtcclxuICAgIHJlcXVlc3QucGxhbm5pbmdJZCA9IHRoaXMuX2RlbGl2ZXJ5UGxhbm5pbmdTZXJ2aWNlLmN1cnJlbnRQbGFubmluZy5wbGFubmluZ0lkO1xyXG4gICAgcmVxdWVzdC50cmFuc0lkID0gcGxhbk9yZGVyLnRyYW5zSWQ7XHJcbiAgICByZXF1ZXN0LnBsYW5uZWRMaW5lSWQgPSBwbGFuT3JkZXIucGxhbm5lZExpbmVJZDtcclxuICAgIGZpbHRlck9iai5vbmx5Q3VycmVudFdlZWsgPSB0cnVlO1xyXG4gICAgZmlsdGVyT2JqLmJlZ2luQ3VycmVudFdlZWsgPSBuZXcgRGF0ZSgpO1xyXG4gICAgZmlsdGVyT2JqLmNoZWNrT3JkZXJMaW5lcyA9IDE7XHJcbiAgICByZXF1ZXN0LmZpbHRlck9iamVjdCA9IGZpbHRlck9iajtcclxuICAgIHBsYW5PcmRlci5saW5lcy5wdXNoKC4uLmF3YWl0IHRoaXMuX3RyYW5zYWN0aW9uLmdldE9yZGVyTGluZXNQbGFubmVkKHJlcXVlc3QpKTtcclxuICB9XHJcbn1cclxuIl19
|