@sunbird-cb/consumption 0.0.25 → 0.0.27
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/sunbird-cb-consumption.umd.js +566 -144
- package/bundles/sunbird-cb-consumption.umd.js.map +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js +1 -1
- package/bundles/sunbird-cb-consumption.umd.min.js.map +1 -1
- package/esm2015/lib/_common/announcements/announcements.component.js +77 -9
- package/esm2015/lib/_common/calender/calender.component.js +1 -2
- package/esm2015/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +2 -3
- package/esm2015/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +167 -0
- package/esm2015/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +48 -26
- package/esm2015/lib/_common/cards/card-portrait/card-portrait.component.js +7 -2
- package/esm2015/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +11 -23
- package/esm2015/lib/_common/cards/cards.component.js +15 -4
- package/esm2015/lib/_common/cards/cards.module.js +5 -4
- package/esm2015/lib/_common/competency-passbook/competency-passbook.component.js +8 -2
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +172 -68
- package/esm2015/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +1 -1
- package/esm2015/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +1 -2
- package/esm2015/lib/_services/insite-data.service.js +10 -2
- package/esm2015/lib/_services/widget-content.service.js +9 -1
- package/esm2015/sunbird-cb-consumption.js +2 -2
- package/esm5/lib/_common/announcements/announcements.component.js +77 -9
- package/esm5/lib/_common/calender/calender.component.js +1 -2
- package/esm5/lib/_common/cards/card-karma-programs/card-karma-programs.component.js +2 -3
- package/esm5/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.js +177 -0
- package/esm5/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.js +55 -26
- package/esm5/lib/_common/cards/card-portrait/card-portrait.component.js +7 -2
- package/esm5/lib/_common/cards/card-wide-v2/card-wide-v2.component.js +12 -23
- package/esm5/lib/_common/cards/cards.component.js +19 -4
- package/esm5/lib/_common/cards/cards.module.js +5 -4
- package/esm5/lib/_common/competency-passbook/competency-passbook.component.js +8 -2
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.js +215 -71
- package/esm5/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.js +1 -1
- package/esm5/lib/_common/horizontal-scroller-v2/horizontal-scroller-v2.component.js +1 -2
- package/esm5/lib/_services/insite-data.service.js +14 -2
- package/esm5/lib/_services/widget-content.service.js +13 -1
- package/esm5/sunbird-cb-consumption.js +2 -2
- package/fesm2015/sunbird-cb-consumption.js +497 -139
- package/fesm2015/sunbird-cb-consumption.js.map +1 -1
- package/fesm5/sunbird-cb-consumption.js +566 -144
- package/fesm5/sunbird-cb-consumption.js.map +1 -1
- package/lib/_common/announcements/announcements.component.d.ts +7 -1
- package/lib/_common/cards/card-karma-programs-v2/card-karma-programs-v2.component.d.ts +23 -0
- package/lib/_common/cards/card-mdo-channel/card-mdo-channel.component.d.ts +10 -3
- package/lib/_common/cards/card-wide-v2/card-wide-v2.component.d.ts +2 -1
- package/lib/_common/cards/cards.component.d.ts +3 -1
- package/lib/_common/competency-passbook/competency-passbook.component.d.ts +1 -0
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.component.d.ts +6 -2
- package/lib/_common/content-strip-with-tabs-lib/content-strip-with-tabs-lib.model.d.ts +3 -1
- package/lib/_services/insite-data.service.d.ts +1 -0
- package/lib/_services/widget-content.service.d.ts +1 -0
- package/package.json +1 -1
- package/sunbird-cb-consumption.d.ts +1 -1
- package/sunbird-cb-consumption.metadata.json +1 -1
- package/esm2015/lib/_common/cards/card-karma-program-v2/card-karma-program-v2.component.js +0 -23
- package/esm5/lib/_common/cards/card-karma-program-v2/card-karma-program-v2.component.js +0 -29
- package/lib/_common/cards/card-karma-program-v2/card-karma-program-v2.component.d.ts +0 -5
|
@@ -20,7 +20,7 @@ import { CardWideComponent } from './card-wide/card-wide.component';
|
|
|
20
20
|
import { CardMDOChannelComponent } from './card-mdo-channel/card-mdo-channel.component';
|
|
21
21
|
import { CardWideV2Component } from './card-wide-v2/card-wide-v2.component';
|
|
22
22
|
import { CardKarmaProgramsComponent } from './card-karma-programs/card-karma-programs.component';
|
|
23
|
-
import {
|
|
23
|
+
import { CardKarmaProgramsV2Component } from './card-karma-programs-v2/card-karma-programs-v2.component';
|
|
24
24
|
var CardsModule = /** @class */ (function () {
|
|
25
25
|
function CardsModule() {
|
|
26
26
|
}
|
|
@@ -35,7 +35,7 @@ var CardsModule = /** @class */ (function () {
|
|
|
35
35
|
CardMDOChannelComponent,
|
|
36
36
|
CardWideV2Component,
|
|
37
37
|
CardKarmaProgramsComponent,
|
|
38
|
-
|
|
38
|
+
CardKarmaProgramsV2Component
|
|
39
39
|
],
|
|
40
40
|
imports: [
|
|
41
41
|
CommonModule,
|
|
@@ -60,11 +60,12 @@ var CardsModule = /** @class */ (function () {
|
|
|
60
60
|
CardWideComponent,
|
|
61
61
|
CardMDOChannelComponent,
|
|
62
62
|
CardWideV2Component,
|
|
63
|
-
CardKarmaProgramsComponent
|
|
63
|
+
CardKarmaProgramsComponent,
|
|
64
|
+
CardKarmaProgramsV2Component
|
|
64
65
|
],
|
|
65
66
|
},] }
|
|
66
67
|
];
|
|
67
68
|
return CardsModule;
|
|
68
69
|
}());
|
|
69
70
|
export { CardsModule };
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZHMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHN1bmJpcmQtY2IvY29uc3VtcHRpb24vIiwic291cmNlcyI6WyJsaWIvX2NvbW1vbi9jYXJkcy9jYXJkcy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3BHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDMUYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDMUcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sOERBQThELENBQUM7QUFDdEcsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0scUVBQXFFLENBQUM7QUFDbEgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sbURBQW1ELENBQUM7QUFDNUYsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMkNBQTJDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDcEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDeEYsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0scURBQXFELENBQUM7QUFDakcsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMkRBQTJELENBQUM7QUFFekc7SUFBQTtJQXVDMkIsQ0FBQzs7Z0JBdkMzQixRQUFRLFNBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLHFCQUFxQjt3QkFDckIsY0FBYyxFQUFDLHFCQUFxQjt3QkFDcEMsaUJBQWlCO3dCQUNqQixzQkFBc0I7d0JBQ3RCLGlCQUFpQjt3QkFDakIsdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLDBCQUEwQjt3QkFDMUIsNEJBQTRCO3FCQUM3QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsYUFBYTt3QkFDYixnQkFBZ0I7d0JBQ2hCLFlBQVk7d0JBQ1osbUJBQW1CO3dCQUNuQiwyQkFBMkI7d0JBQzNCLHNCQUFzQjt3QkFDdEIsMkJBQTJCO3dCQUMzQix1QkFBdUI7cUJBQ3hCO29CQUNELGVBQWUsRUFBQyxDQUFDLGNBQWMsQ0FBQztvQkFDaEMsT0FBTyxFQUFFO3dCQUNQLGNBQWM7d0JBQ2QscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLHNCQUFzQjt3QkFDdEIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQiwwQkFBMEI7d0JBQzFCLDRCQUE0QjtxQkFDN0I7aUJBQ0Y7O0lBQzBCLGtCQUFDO0NBQUEsQUF2QzVCLElBdUM0QjtTQUFmLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUsIE1hdENhcmRNb2R1bGUsIE1hdEljb25Nb2R1bGUsIE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbCc7XHJcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IENhcmRSZXNvdXJjZUNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1yZXNvdXJjZS9jYXJkLXJlc291cmNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRzQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkcy5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkUG9ydHJhaXRDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtcG9ydHJhaXQvY2FyZC1wb3J0cmFpdC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBQaXBlUHVibGljVVJMTW9kdWxlIH0gZnJvbSAnLi4vLi4vX3BpcGVzL3BpcGUtcHVibGljLVVSTC9waXBlLXB1YmxpYy1VUkwubW9kdWxlJztcclxuaW1wb3J0IHsgRGlzcGxheUNvbnRlbnRUeXBlTGliTW9kdWxlIH0gZnJvbSAnLi4vZGlzcGxheS1jb250ZW50LXR5cGUtbGliL2Rpc3BsYXktY29udGVudC10eXBlLWxpYi5tb2R1bGUnO1xyXG5pbXBvcnQgeyBEZWZhdWx0VGh1bWJuYWlsTW9kdWxlIH0gZnJvbSAnLi4vLi4vX2RpcmVjdGl2ZXMvZGVmYXVsdC10aHVtYm5haWwvZGVmYXVsdC10aHVtYm5haWwubW9kdWxlJztcclxuaW1wb3J0IHsgUGlwZUR1cmF0aW9uVHJhbnNmb3JtTW9kdWxlIH0gZnJvbSAnLi4vLi4vX3BpcGVzL3BpcGUtZHVyYXRpb24tdHJhbnNmb3JtL3BpcGUtZHVyYXRpb24tdHJhbnNmb3JtLm1vZHVsZSc7XHJcbmltcG9ydCB7IENhcmRVc2VyQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXVzZXIvY2FyZC11c2VyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFNrZWxldG9uTG9hZGVyTGliTW9kdWxlIH0gZnJvbSAnLi4vc2tlbGV0b24tbG9hZGVyLWxpYi9za2VsZXRvbi1sb2FkZXItbGliLm1vZHVsZSc7XHJcbmltcG9ydCB7IENhcmRMYW5kc2NhcGVDb21wb25lbnQgfSBmcm9tICcuL2NhcmQtbGFuZHNjYXBlL2NhcmQtbGFuZHNjYXBlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRXaWRlQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLXdpZGUvY2FyZC13aWRlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRNRE9DaGFubmVsQ29tcG9uZW50IH0gZnJvbSAnLi9jYXJkLW1kby1jaGFubmVsL2NhcmQtbWRvLWNoYW5uZWwuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ2FyZFdpZGVWMkNvbXBvbmVudCB9IGZyb20gJy4vY2FyZC13aWRlLXYyL2NhcmQtd2lkZS12Mi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBDYXJkS2FybWFQcm9ncmFtc0NvbXBvbmVudCB9IGZyb20gJy4vY2FyZC1rYXJtYS1wcm9ncmFtcy9jYXJkLWthcm1hLXByb2dyYW1zLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENhcmRLYXJtYVByb2dyYW1zVjJDb21wb25lbnQgfSBmcm9tICcuL2NhcmQta2FybWEtcHJvZ3JhbXMtdjIvY2FyZC1rYXJtYS1wcm9ncmFtcy12Mi5jb21wb25lbnQnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBkZWNsYXJhdGlvbnM6IFtcclxuICAgIENhcmRSZXNvdXJjZUNvbXBvbmVudCxcclxuICAgIENhcmRzQ29tcG9uZW50LENhcmRQb3J0cmFpdENvbXBvbmVudCxcclxuICAgIENhcmRVc2VyQ29tcG9uZW50LFxyXG4gICAgQ2FyZExhbmRzY2FwZUNvbXBvbmVudCxcclxuICAgIENhcmRXaWRlQ29tcG9uZW50LFxyXG4gICAgQ2FyZE1ET0NoYW5uZWxDb21wb25lbnQsXHJcbiAgICBDYXJkV2lkZVYyQ29tcG9uZW50LFxyXG4gICAgQ2FyZEthcm1hUHJvZ3JhbXNDb21wb25lbnQsXHJcbiAgICBDYXJkS2FybWFQcm9ncmFtc1YyQ29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBDb21tb25Nb2R1bGUsXHJcbiAgICBNYXRDYXJkTW9kdWxlLFxyXG4gICAgTWF0QnV0dG9uTW9kdWxlLFxyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXHJcbiAgICBSb3V0ZXJNb2R1bGUsXHJcbiAgICBQaXBlUHVibGljVVJMTW9kdWxlLFxyXG4gICAgRGlzcGxheUNvbnRlbnRUeXBlTGliTW9kdWxlLFxyXG4gICAgRGVmYXVsdFRodW1ibmFpbE1vZHVsZSxcclxuICAgIFBpcGVEdXJhdGlvblRyYW5zZm9ybU1vZHVsZSxcclxuICAgIFNrZWxldG9uTG9hZGVyTGliTW9kdWxlXHJcbiAgXSxcclxuICBlbnRyeUNvbXBvbmVudHM6W0NhcmRzQ29tcG9uZW50XSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBDYXJkc0NvbXBvbmVudCxcclxuICAgIENhcmRSZXNvdXJjZUNvbXBvbmVudCxcclxuICAgIENhcmRQb3J0cmFpdENvbXBvbmVudCwgXHJcbiAgICBDYXJkTGFuZHNjYXBlQ29tcG9uZW50LFxyXG4gICAgQ2FyZFVzZXJDb21wb25lbnQsXHJcbiAgICBDYXJkV2lkZUNvbXBvbmVudCxcclxuICAgIENhcmRNRE9DaGFubmVsQ29tcG9uZW50LFxyXG4gICAgQ2FyZFdpZGVWMkNvbXBvbmVudCxcclxuICAgIENhcmRLYXJtYVByb2dyYW1zQ29tcG9uZW50LFxyXG4gICAgQ2FyZEthcm1hUHJvZ3JhbXNWMkNvbXBvbmVudFxyXG4gIF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDYXJkc01vZHVsZSB7IH1cclxuIl19
|
|
@@ -21,6 +21,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
21
21
|
this.cardDisplayCount = 3;
|
|
22
22
|
this.dynamicAlignPills = 'center';
|
|
23
23
|
this.emptyResponse = new EventEmitter();
|
|
24
|
+
this.temeletryResponse = new EventEmitter();
|
|
24
25
|
this.loadCometency = false;
|
|
25
26
|
this.loadCompetencyArea = false;
|
|
26
27
|
this.competencyVersion = '';
|
|
@@ -200,6 +201,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
200
201
|
],
|
|
201
202
|
};
|
|
202
203
|
}
|
|
204
|
+
this.temeletryResponse.emit(e.name);
|
|
203
205
|
this.getcompetencyTheme(e.name, addfilter);
|
|
204
206
|
this.selectedValue = e.name;
|
|
205
207
|
};
|
|
@@ -361,6 +363,7 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
361
363
|
this.showAllTheme[0]['showAll'] = !event.showAll;
|
|
362
364
|
this.competencyThemeLength = event.showAll ? this.competencyTheme.length : 6;
|
|
363
365
|
this.showAllTheme[0]['name'] = event.showAll ? 'Show less' : 'Show all';
|
|
366
|
+
this.temeletryResponse.emit(event.name);
|
|
364
367
|
};
|
|
365
368
|
/**
|
|
366
369
|
* @param {?} compData
|
|
@@ -394,7 +397,8 @@ var CompetencyPassbookComponent = /** @class */ (function () {
|
|
|
394
397
|
dynamicClass: [{ type: Input }],
|
|
395
398
|
dynamicColor: [{ type: Input }],
|
|
396
399
|
dynamicAlignPills: [{ type: Input }],
|
|
397
|
-
emptyResponse: [{ type: Output }]
|
|
400
|
+
emptyResponse: [{ type: Output }],
|
|
401
|
+
temeletryResponse: [{ type: Output }]
|
|
398
402
|
};
|
|
399
403
|
return CompetencyPassbookComponent;
|
|
400
404
|
}());
|
|
@@ -415,6 +419,8 @@ if (false) {
|
|
|
415
419
|
/** @type {?} */
|
|
416
420
|
CompetencyPassbookComponent.prototype.emptyResponse;
|
|
417
421
|
/** @type {?} */
|
|
422
|
+
CompetencyPassbookComponent.prototype.temeletryResponse;
|
|
423
|
+
/** @type {?} */
|
|
418
424
|
CompetencyPassbookComponent.prototype.loadCometency;
|
|
419
425
|
/** @type {?} */
|
|
420
426
|
CompetencyPassbookComponent.prototype.loadCompetencyArea;
|
|
@@ -445,4 +451,4 @@ if (false) {
|
|
|
445
451
|
/** @type {?} */
|
|
446
452
|
CompetencyPassbookComponent.prototype.router;
|
|
447
453
|
}
|
|
448
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEwQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF4QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDakQsa0JBQWEsR0FBWSxLQUFLLENBQUE7UUFDOUIsdUJBQWtCLEdBQVksS0FBSyxDQUFBO1FBSW5DLHNCQUFpQixHQUFVLEVBQUUsQ0FBQTtRQUM3QixvQkFBZSxHQUFRLEVBQUUsQ0FBQTtRQUN6Qix1QkFBa0IsR0FBTyxFQUFF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Ozs7Z0JBVFEscUJBQXFCO2dCQUNyQixvQkFBb0I7Z0JBQ3BCLHlCQUF5QjtnQkFDekIsTUFBTTs7OzZCQVNaLEtBQUs7NkJBQ0wsS0FBSzttQ0FDTCxLQUFLOytCQUNMLEtBQUs7K0JBQ0wsS0FBSztvQ0FDTCxLQUFLO2dDQUNMLE1BQU07O0lBb05ULGtDQUFDO0NBQUEsQUFqT0QsSUFpT0M7U0E1TlksMkJBQTJCOzs7SUFFdEMsaURBQXdCOztJQUN4QixpREFBd0I7O0lBQ3hCLHVEQUFrQzs7SUFDbEMsbURBQTBCOztJQUMxQixtREFBMEI7O0lBQzFCLHdEQUEwQzs7SUFDMUMsb0RBQWlEOztJQUNqRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFDbkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEFsbENvbXBldGVuY2llcygpXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxuICAgIC8vIHRoaXMuZmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcilcbiAgfVxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAvLyAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlclZhbHVlXG4gIC8vICAgdGhpcy5jdXJyZW50Q29tcGV0ZW5jaWVzID0gdGhpcy5jb21wZXRlbmN5RGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IGZpbHRlclZhbHVlKVxuICAvLyB9XG4gIHNob3dNb3JlKCkge1xuICAgIHRoaXMub2JqZWN0RGF0YS52aWV3TW9yZSA9ICF0aGlzLm9iamVjdERhdGEudmlld01vcmVcbiAgfVxuXG4gIC8vIHRvIGdldCBjb21wZXRlbmN5IGFyZWEgZnJvbSBmYWNldHNcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICBcImNoYW5uZWxcIjogW1xuICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgXSxcbiAgICB9XG4gIH1cbiAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgICAgLi4uYWRkZmlsdGVyLFxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lBcmVhID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlc1xuICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoID0gdGhpcy5jb21wZXRlbmN5QXJlYS5yZWR1Y2UoKHBhcnRpYWxTdW06IGFueSwgZGF0YTogYW55KSA9PiBwYXJ0aWFsU3VtICsgIGRhdGEuY291bnQsIDApIFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSAgPSB0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIGxldCBhZGRGaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNoYW5uZWxcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lUaGVtZSh0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUsIGFkZEZpbHRlcilcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY2hhbm5lbFwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgdGhpcy5nZXRjb21wZXRlbmN5VGhlbWUoZS5uYW1lLCBhZGRmaWx0ZXIpXG4gICAgdGhpcy5zZWxlY3RlZFZhbHVlID0gZS5uYW1lXG4gIH1cbiAgZ2V0QWxsQ29tcGV0ZW5jaWVzKCl7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGxldCByZXF1ZXN0ID0ge1wic2VhcmNoXCI6e1widHlwZVwiOlwiQ29tcGV0ZW5jeSBBcmVhXCJ9LFwiZmlsdGVyXCI6e1wiaXNEZXRhaWxcIjp0cnVlfX1cbiAgICB0aGlzLmNvbXBldGVuY3lTdmMuZ2V0Q29tcGV0ZW5jeUxpc3QocmVxdWVzdCkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSA9IHt9XG4gICAgICBpZihyZXNwb25zZSAmJiByZXNwb25zZS5yZXN1bHQgJiYgcmVzcG9uc2UucmVzdWx0LmNvbXBldGVuY3kpIHtcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheSA9IHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5XG5cbiAgICAgICAgdGhpcy5nZXRDb21wZXRlbmN5QXJlYSgpXG4gICAgICAgIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICAgICAgZWxlbWVudC5jaGlsZHJlbi5mb3JFYWNoKChjaGlsZEVsZSkgPT4ge1xuICAgICAgICAgICAgbGV0IG5hbWUgPSBjaGlsZEVsZS5uYW1lLnRvTG93ZXJDYXNlKClcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdID0gY2hpbGRFbGVcbiAgICAgICAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW25hbWVdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmxvYWRDb21ldGVuY3kgPSBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBhc3luYyBnZXRjb21wZXRlbmN5VGhlbWUodmFsdWU6IGFueSxhZGRGaWx0ZXI/OiBhbnkpIHtcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgIFwicmVxdWVzdFwiOiB7XG4gICAgICAgICAgXCJxdWVyeVwiOiBcIlwiLFxuICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgIFwiY29udGVudFR5cGVcIjpcIkNvdXJzZVwiLFxuICAgICAgICAgICAgICAuLi5hZGRGaWx0ZXIsXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lBcmVhXCIgOiB2YWx1ZSxcbiAgICAgICAgICAgICAgXCJzdGF0dXNcIjogW1xuICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgXVxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgXCJsYXN0VXBkYXRlZE9uXCI6IFwiZGVzY1wiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgIFwiY29tcGV0ZW5jaWVzX3Y1LmNvbXBldGVuY3lUaGVtZVwiXG4gICAgICAgICAgXSxcbiAgICAgICAgICBcImxpbWl0XCI6IDAsXG4gICAgICAgICAgXCJvZmZzZXRcIjogMCxcbiAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgXVxuICAgICAgfVxuICAgIH1cbiAgXG4gIHRyeSB7XG4gICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gdHJ1ZVxuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgdGhpcy5jYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KTtcbiAgICBpZiAocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0cykge1xuICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgbGV0IGNvbXBldGVuY3lUaGVtZURhdGEgOiBhbnkgPSByZXNwb25zZS5yZXN1bHRzLnJlc3VsdC5mYWNldHNbMF0udmFsdWVzIFxuICAgICAgICB0aGlzLm9yaWdpbmFsQ29tcGV0ZW5jeUFycmF5LmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgICAgIGlmKGVsZW1lbnQubmFtZS50b0xvd2VyQ2FzZSgpID09PSB2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWUgPSBjb21wZXRlbmN5VGhlbWVEYXRhLmZpbHRlcigoZWxlMTogYW55KSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiAgZWxlbWVudC5jaGlsZHJlbi5maW5kKChlbGUyOiBhbnkpID0+IGVsZTIubmFtZS50b0xvd2VyQ2FzZSgpID09PSBlbGUxLm5hbWUudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICB0aGlzLnNob3dBbGxUaGVtZSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG4gICAgICAgICAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IDZcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlc2V0Vmlld01vcmUoKVxuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgLy8gSGFuZGxlIGVycm9yc1xuICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgfVxuICB9XG5cbiAgcmVzZXRWaWV3TW9yZSgpe1xuICAgIE9iamVjdC5rZXlzKHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lKS5mb3JFYWNoKChjb21wOiBhbnkpID0+IHtcbiAgICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2NvbXBdWyd2aWV3TW9yZSddID0gZmFsc2VcbiAgICB9KVxuICB9XG4gIHZpZXdNb3JlQ2hpbGRyZW4oZGF0YTogYW55KSB7XG4gICAgZGF0YS52aWV3TW9yZSA9ICFkYXRhLnZpZXdNb3JlXG4gICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWVbZGF0YS5uYW1lLnRvTG93ZXJDYXNlKCldLnZpZXdNb3JlID0gZGF0YS52aWV3TW9yZVxuICB9XG4gIGRpc3BsYXlBbGxUaGVtZShldmVudDogYW55KSB7XG4gICAgdGhpcy5zaG93QWxsVGhlbWVbMF1bJ3Nob3dBbGwnXSA9ICFldmVudC5zaG93QWxsIFxuICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lTGVuZ3RoID0gZXZlbnQuc2hvd0FsbCA/ICB0aGlzLmNvbXBldGVuY3lUaGVtZS5sZW5ndGggOiA2XG4gICAgdGhpcy5zaG93QWxsVGhlbWVbMF1bJ25hbWUnXSA9IGV2ZW50LnNob3dBbGwgPyAnU2hvdyBsZXNzJyA6ICdTaG93IGFsbCdcbiAgfVxuXG4gIG5hdmlnYXRlVG9Db21wZXRlbmN5KGNvbXBEYXRhOiBhbnkpe1xuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoYGFwcC9sZWFybi9icm93c2UtYnkvY29tcGV0ZW5jeS8ke2NvbXBEYXRhLm5hbWV9YClcbiAgfVxufVxuIl19
|
|
454
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9Ac3VuYmlyZC1jYi9jb25zdW1wdGlvbi8iLCJzb3VyY2VzIjpbImxpYi9fY29tbW9uL2NvbXBldGVuY3ktcGFzc2Jvb2svY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxxQkFBcUIsRUFBZ0IsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUM5RSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekM7SUEyQkUsNkJBQTZCO0lBQzdCLGdDQUFnQztJQUNoQyxnQ0FBZ0M7SUFDaEMsc0JBQXNCO0lBQ3RCLHFDQUFtQixTQUFnQyxFQUMxQyxVQUErQixFQUMvQixhQUF3QyxFQUN4QyxNQUFlO1FBSEwsY0FBUyxHQUFULFNBQVMsQ0FBdUI7UUFDMUMsZUFBVSxHQUFWLFVBQVUsQ0FBcUI7UUFDL0Isa0JBQWEsR0FBYixhQUFhLENBQTJCO1FBQ3hDLFdBQU0sR0FBTixNQUFNLENBQVM7UUF6QmYscUJBQWdCLEdBQVEsQ0FBQyxDQUFBO1FBR3pCLHNCQUFpQixHQUFRLFFBQVEsQ0FBQTtRQUNoQyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFPLENBQUE7UUFDdkMsc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUNyRCxrQkFBYSxHQUFZLEtBQUssQ0FBQTtRQUM5Qix1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFJbkMsc0JBQWlCLEdBQVUsRUFBRSxDQUFBO1FBQzdCLG9CQUFl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Ozs7O0lBQXBCLFVBQXFCLFFBQWE7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsb0NBQWtDLFFBQVEsQ0FBQyxJQUFNLENBQUMsQ0FBQTtJQUM5RSxDQUFDOztnQkFwT0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSw0QkFBNEI7b0JBQ3RDLHk4TUFBbUQ7O2lCQUVwRDs7OztnQkFUUSxxQkFBcUI7Z0JBQ3JCLG9CQUFvQjtnQkFDcEIseUJBQXlCO2dCQUN6QixNQUFNOzs7NkJBU1osS0FBSzs2QkFDTCxLQUFLO21DQUNMLEtBQUs7K0JBQ0wsS0FBSzsrQkFDTCxLQUFLO29DQUNMLEtBQUs7Z0NBQ0wsTUFBTTtvQ0FDTixNQUFNOztJQXVOVCxrQ0FBQztDQUFBLEFBck9ELElBcU9DO1NBaE9ZLDJCQUEyQjs7O0lBRXRDLGlEQUF3Qjs7SUFDeEIsaURBQXdCOztJQUN4Qix1REFBa0M7O0lBQ2xDLG1EQUEwQjs7SUFDMUIsbURBQTBCOztJQUMxQix3REFBMEM7O0lBQzFDLG9EQUFpRDs7SUFDakQsd0RBQXFEOztJQUNyRCxvREFBOEI7O0lBQzlCLHlEQUFtQzs7SUFDbkMsOERBQTRCOztJQUM1QixxREFBc0I7O0lBQ3RCLG9EQUFtQjs7SUFDbkIsd0RBQTZCOztJQUM3QixzREFBeUI7O0lBQ3pCLHlEQUEyQjs7SUFDM0IseURBQTJCOztJQUMzQiw0REFBOEI7O0lBQzlCLG1EQUF3RDs7SUFNNUMsZ0RBQXVDOztJQUNqRCxpREFBc0M7O0lBQ3RDLG9EQUErQzs7SUFDL0MsNkNBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJhdGlvbnNTZXJ2aWNlLCBFdmVudFNlcnZpY2UgfSBmcm9tICdAc3VuYmlyZC1jYi91dGlscy12Mic7XG5pbXBvcnQgeyBXaWRnZXRDb250ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL19zZXJ2aWNlcy93aWRnZXQtY29udGVudC5zZXJ2aWNlJztcbmltcG9ydCB7IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UgfSBmcm9tICcuL2NvbXBldGVuY3ktcGFzc2Jvb2suc2VydmljZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzYi11aWMtY29tcGV0ZW5jeS1wYXNzYm9vaycsXG4gIHRlbXBsYXRlVXJsOiAnLi9jb21wZXRlbmN5LXBhc3Nib29rLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY29tcGV0ZW5jeS1wYXNzYm9vay5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIENvbXBldGVuY3lQYXNzYm9va0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgb2JqZWN0RGF0YTogYW55XG4gIEBJbnB1dCgpIHByb3ZpZGVySWQ6IGFueVxuICBASW5wdXQoKSBjYXJkRGlzcGxheUNvdW50OiBhbnkgPSAzXG4gIEBJbnB1dCgpIGR5bmFtaWNDbGFzczogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNDb2xvcjogYW55XG4gIEBJbnB1dCgpIGR5bmFtaWNBbGlnblBpbGxzOiBhbnkgPSAnY2VudGVyJ1xuICBAT3V0cHV0KCkgZW1wdHlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIEBPdXRwdXQoKSB0ZW1lbGV0cnlSZXNwb25zZSA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpXG4gIGxvYWRDb21ldGVuY3k6IGJvb2xlYW4gPSBmYWxzZVxuICBsb2FkQ29tcGV0ZW5jeUFyZWE6IGJvb2xlYW4gPSBmYWxzZVxuICBvcmlnaW5hbENvbXBldGVuY3lBcnJheTogYW55XG4gIGNvbXBldGVuY3lBcmVhOiBhbnkgW11cbiAgc2VsZWN0ZWRWYWx1ZTogYW55O1xuICBjb21wZXRlbmN5VmVyc2lvbjpzdHJpbmcgPSAnJ1xuICBjb21wZXRlbmN5VGhlbWU6IGFueSA9IFtdXG4gIGFsbGNvbXBldGVuY3lUaGVtZTogYW55ID17fVxuICBjb21wZXRlbmN5U3RyZW5ndGg6IGFueSA9IDBcbiAgY29tcGV0ZW5jeVRoZW1lTGVuZ3RoOiBhbnkgPSA2XG4gIHNob3dBbGxUaGVtZSA6IGFueSA9IFt7bmFtZTonU2hvdyBhbGwnLCBzaG93QWxsOiBmYWxzZX1dXG5cbiAgLy8gc3ViVGhlbWUgPSBbJ0JlaGF2aW91cmFsJ11cbiAgLy8gY3VycmVudEZpbHRlciA9ICdCZWhhdmlvdXJhbCdcbiAgLy8gY3VycmVudENvbXBldGVuY2llczogYW55ID0gW11cbiAgLy8gY29tcGV0ZW5jeURhdGE6IGFueVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgY29uZmlnU3ZjOiBDb25maWd1cmF0aW9uc1NlcnZpY2UsXG4gICAgcHVibGljIGNvbnRlbnRTdmM6V2lkZ2V0Q29udGVudFNlcnZpY2UsXG4gICAgcHVibGljIGNvbXBldGVuY3lTdmM6IENvbXBldGVuY3lQYXNzYm9va1NlcnZpY2UsXG4gICAgcHVibGljIHJvdXRlciA6IFJvdXRlclxuICApIHsgXG4gICAgXG4gIH1cblxuIFxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmdldEFsbENvbXBldGVuY2llcygpXG4gICAgLy8gdGhpcy5jb21wZXRlbmN5RGF0YSA9IHRoaXMub2JqZWN0RGF0YVxuICAgIC8vIHRoaXMuZmlsdGVyKHRoaXMuY3VycmVudEZpbHRlcilcbiAgfVxuICAvLyBmaWx0ZXIoZmlsdGVyVmFsdWU6IHN0cmluZykge1xuICAvLyAgIHRoaXMuY3VycmVudEZpbHRlciA9IGZpbHRlclZhbHVlXG4gIC8vICAgdGhpcy5jdXJyZW50Q29tcGV0ZW5jaWVzID0gdGhpcy5jb21wZXRlbmN5RGF0YS5kYXRhLmZpbHRlcigoaXRlbTogYW55KSA9PiBpdGVtLnR5cGUgPT09IGZpbHRlclZhbHVlKVxuICAvLyB9XG4gIHNob3dNb3JlKCkge1xuICAgIHRoaXMub2JqZWN0RGF0YS52aWV3TW9yZSA9ICF0aGlzLm9iamVjdERhdGEudmlld01vcmVcbiAgfVxuXG4gIC8vIHRvIGdldCBjb21wZXRlbmN5IGFyZWEgZnJvbSBmYWNldHNcbiAgYXN5bmMgZ2V0Q29tcGV0ZW5jeUFyZWEoKXtsZXQgYWRkZmlsdGVyOiBhbnkgPSB7fVxuICBpZih0aGlzLnByb3ZpZGVySWQpIHtcbiAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICBcImNoYW5uZWxcIjogW1xuICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgXSxcbiAgICB9XG4gIH1cbiAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcbiAgICAgICAgXCJyZXF1ZXN0XCI6IHtcbiAgICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICAgIFwiZmlsdGVyc1wiOiB7XG4gICAgICAgICAgICAgICAgXCJjb250ZW50VHlwZVwiOlwiQ291cnNlXCIsXG4gICAgICAgICAgICAgICAgLi4uYWRkZmlsdGVyLFxuICAgICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgICAgXCJMaXZlXCJcbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgXCJzb3J0X2J5XCI6IHtcbiAgICAgICAgICAgICAgICBcImxhc3RVcGRhdGVkT25cIjogXCJkZXNjXCJcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBcImZhY2V0c1wiOiBbXG4gICAgICAgICAgICAgICAgXCJjb21wZXRlbmNpZXNfdjUuY29tcGV0ZW5jeUFyZWFcIlxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIFwibGltaXRcIjogMCxcbiAgICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgICBcImZpZWxkc1wiOiBbXG4gICAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICBcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmNhbGxDb21wZXRlbmN5U2VhcmNoKHJlcXVlc3QpO1xuICAgICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgICAgaWYocmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzKXtcbiAgICAgICAgICB0aGlzLmNvbXBldGVuY3lBcmVhID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlc1xuICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVN0cmVuZ3RoID0gdGhpcy5jb21wZXRlbmN5QXJlYS5yZWR1Y2UoKHBhcnRpYWxTdW06IGFueSwgZGF0YTogYW55KSA9PiBwYXJ0aWFsU3VtICsgIGRhdGEuY291bnQsIDApIFxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSAgPSB0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUudG9Mb3dlckNhc2UoKVxuICAgICAgICAgIGxldCBhZGRGaWx0ZXIgPSB7XG4gICAgICAgICAgICBcImNoYW5uZWxcIjogW1xuICAgICAgICAgICAgICB0aGlzLnByb3ZpZGVySWRcbiAgICAgICAgICAgXVxuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmdldGNvbXBldGVuY3lUaGVtZSh0aGlzLmNvbXBldGVuY3lBcmVhWzBdLm5hbWUsIGFkZEZpbHRlcilcbiAgICAgICAgICB0aGlzLmxvYWRDb21wZXRlbmN5QXJlYSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgdGhpcy5sb2FkQ29tcGV0ZW5jeUFyZWEgPSBmYWxzZVxuICAgICAgdGhpcy5lbXB0eVJlc3BvbnNlLmVtaXQodHJ1ZSlcbiAgICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAgIC8vIGNvbnNvbGUuZXJyb3IoJ0Vycm9yOicsIGVycm9yKTtcbiAgICB9XG4gIH1cblxuICBhc3luYyBjYWxsQ29tcGV0ZW5jeVNlYXJjaChyZXF1ZXN0KXtcbiAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAocmVxdWVzdCAmJiByZXF1ZXN0KSB7XG4gICAgICAgIHRoaXMuY29udGVudFN2Yy5zZWFyY2hWNihyZXF1ZXN0KS5zdWJzY3JpYmUocmVzdWx0cyA9PiB7XG4gICAgICAgICAgICByZXNvbHZlKHsgcmVzdWx0cyB9KTtcbiAgICAgICAgICB9LChlcnJvcjogYW55KSA9PiB7XG4gICAgICAgICAgICByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvLyBjb21wZXRlbmN5IHRoZWFtIGNoYW5nZVxuICBjb21wZXRlbmN5Q2hhbmdlKGUpe1xuICAgIGxldCBhZGRmaWx0ZXI6IGFueSA9IHt9XG4gICAgaWYodGhpcy5wcm92aWRlcklkKSB7XG4gICAgICBhZGRmaWx0ZXIgPSB7XG4gICAgICAgIFwiY2hhbm5lbFwiOiBbXG4gICAgICAgICAgdGhpcy5wcm92aWRlcklkXG4gICAgICAgXSxcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnRlbWVsZXRyeVJlc3BvbnNlLmVtaXQoZS5uYW1lKVxuICAgIFxuICAgIHRoaXMuZ2V0Y29tcGV0ZW5jeVRoZW1lKGUubmFtZSwgYWRkZmlsdGVyKVxuICAgIHRoaXMuc2VsZWN0ZWRWYWx1ZSA9IGUubmFtZVxuICB9XG4gIGdldEFsbENvbXBldGVuY2llcygpe1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBsZXQgcmVxdWVzdCA9IHtcInNlYXJjaFwiOntcInR5cGVcIjpcIkNvbXBldGVuY3kgQXJlYVwifSxcImZpbHRlclwiOntcImlzRGV0YWlsXCI6dHJ1ZX19XG4gICAgdGhpcy5jb21wZXRlbmN5U3ZjLmdldENvbXBldGVuY3lMaXN0KHJlcXVlc3QpLnN1YnNjcmliZSgocmVzcG9uc2U6IGFueSkgPT4ge1xuICAgICAgdGhpcy5hbGxjb21wZXRlbmN5VGhlbWUgPSB7fVxuICAgICAgaWYocmVzcG9uc2UgJiYgcmVzcG9uc2UucmVzdWx0ICYmIHJlc3BvbnNlLnJlc3VsdC5jb21wZXRlbmN5KSB7XG4gICAgICAgIHRoaXMub3JpZ2luYWxDb21wZXRlbmN5QXJyYXkgPSByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeVxuXG4gICAgICAgIHRoaXMuZ2V0Q29tcGV0ZW5jeUFyZWEoKVxuICAgICAgICByZXNwb25zZS5yZXN1bHQuY29tcGV0ZW5jeS5mb3JFYWNoKGVsZW1lbnQgPT4ge1xuICAgICAgICAgIGVsZW1lbnQuY2hpbGRyZW4uZm9yRWFjaCgoY2hpbGRFbGUpID0+IHtcbiAgICAgICAgICAgIGxldCBuYW1lID0gY2hpbGRFbGUubmFtZS50b0xvd2VyQ2FzZSgpXG4gICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtuYW1lXSA9IGNoaWxkRWxlXG4gICAgICAgICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtuYW1lXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2FkQ29tZXRlbmN5ID0gZmFsc2VcbiAgICB9KVxuICB9XG5cbiAgYXN5bmMgZ2V0Y29tcGV0ZW5jeVRoZW1lKHZhbHVlOiBhbnksYWRkRmlsdGVyPzogYW55KSB7XG4gICAgbGV0IHJlcXVlc3QgPSB7XG4gICAgICBcInJlcXVlc3RcIjoge1xuICAgICAgICAgIFwicXVlcnlcIjogXCJcIixcbiAgICAgICAgICBcImZpbHRlcnNcIjoge1xuICAgICAgICAgICAgICBcImNvbnRlbnRUeXBlXCI6XCJDb3Vyc2VcIixcbiAgICAgICAgICAgICAgLi4uYWRkRmlsdGVyLFxuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5QXJlYVwiIDogdmFsdWUsXG4gICAgICAgICAgICAgIFwic3RhdHVzXCI6IFtcbiAgICAgICAgICAgICAgICAgIFwiTGl2ZVwiXG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICB9LFxuICAgICAgICAgIFwic29ydF9ieVwiOiB7XG4gICAgICAgICAgICAgIFwibGFzdFVwZGF0ZWRPblwiOiBcImRlc2NcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgXCJmYWNldHNcIjogW1xuICAgICAgICAgICAgICBcImNvbXBldGVuY2llc192NS5jb21wZXRlbmN5VGhlbWVcIlxuICAgICAgICAgIF0sXG4gICAgICAgICAgXCJsaW1pdFwiOiAwLFxuICAgICAgICAgIFwib2Zmc2V0XCI6IDAsXG4gICAgICAgICAgXCJmaWVsZHNcIjogW1xuICAgICAgICAgIF1cbiAgICAgIH1cbiAgICB9XG4gIFxuICB0cnkge1xuICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IHRydWVcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMuY2FsbENvbXBldGVuY3lTZWFyY2gocmVxdWVzdCk7XG4gICAgaWYgKHJlc3BvbnNlICYmIHJlc3BvbnNlLnJlc3VsdHMpIHtcbiAgICAgIGlmKHJlc3BvbnNlLnJlc3VsdHMucmVzdWx0LmZhY2V0cyl7XG4gICAgICAgIGxldCBjb21wZXRlbmN5VGhlbWVEYXRhIDogYW55ID0gcmVzcG9uc2UucmVzdWx0cy5yZXN1bHQuZmFjZXRzWzBdLnZhbHVlcyBcbiAgICAgICAgdGhpcy5vcmlnaW5hbENvbXBldGVuY3lBcnJheS5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcbiAgICAgICAgICBpZihlbGVtZW50Lm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gdmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuY29tcGV0ZW5jeVRoZW1lID0gY29tcGV0ZW5jeVRoZW1lRGF0YS5maWx0ZXIoKGVsZTE6IGFueSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gIGVsZW1lbnQuY2hpbGRyZW4uZmluZCgoZWxlMjogYW55KSA9PiBlbGUyLm5hbWUudG9Mb3dlckNhc2UoKSA9PT0gZWxlMS5uYW1lLnRvTG93ZXJDYXNlKCkpXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgdGhpcy5zaG93QWxsVGhlbWUgPSBbe25hbWU6J1Nob3cgYWxsJywgc2hvd0FsbDogZmFsc2V9XVxuICAgICAgICAgICAgdGhpcy5jb21wZXRlbmN5VGhlbWVMZW5ndGggPSA2XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNldFZpZXdNb3JlKClcbiAgICAgIH1cbiAgICAgIHRoaXMubG9hZENvbWV0ZW5jeSA9IGZhbHNlXG4gICAgfVxuICB9IGNhdGNoIChlcnJvcikge1xuICAgIC8vIEhhbmRsZSBlcnJvcnNcbiAgICAvLyBjb25zb2xlLmVycm9yKCdFcnJvcjonLCBlcnJvcik7XG4gIH1cbiAgfVxuXG4gIHJlc2V0Vmlld01vcmUoKXtcbiAgICBPYmplY3Qua2V5cyh0aGlzLmFsbGNvbXBldGVuY3lUaGVtZSkuZm9yRWFjaCgoY29tcDogYW55KSA9PiB7XG4gICAgICB0aGlzLmFsbGNvbXBldGVuY3lUaGVtZVtjb21wXVsndmlld01vcmUnXSA9IGZhbHNlXG4gICAgfSlcbiAgfVxuICB2aWV3TW9yZUNoaWxkcmVuKGRhdGE6IGFueSkge1xuICAgIGRhdGEudmlld01vcmUgPSAhZGF0YS52aWV3TW9yZVxuICAgIHRoaXMuYWxsY29tcGV0ZW5jeVRoZW1lW2RhdGEubmFtZS50b0xvd2VyQ2FzZSgpXS52aWV3TW9yZSA9IGRhdGEudmlld01vcmVcbiAgfVxuICBkaXNwbGF5QWxsVGhlbWUoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWydzaG93QWxsJ10gPSAhZXZlbnQuc2hvd0FsbCBcbiAgICB0aGlzLmNvbXBldGVuY3lUaGVtZUxlbmd0aCA9IGV2ZW50LnNob3dBbGwgPyAgdGhpcy5jb21wZXRlbmN5VGhlbWUubGVuZ3RoIDogNlxuICAgIHRoaXMuc2hvd0FsbFRoZW1lWzBdWyduYW1lJ10gPSBldmVudC5zaG93QWxsID8gJ1Nob3cgbGVzcycgOiAnU2hvdyBhbGwnXG4gICAgdGhpcy50ZW1lbGV0cnlSZXNwb25zZS5lbWl0KGV2ZW50Lm5hbWUpXG4gIH1cblxuICBuYXZpZ2F0ZVRvQ29tcGV0ZW5jeShjb21wRGF0YTogYW55KXtcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKGBhcHAvbGVhcm4vYnJvd3NlLWJ5L2NvbXBldGVuY3kvJHtjb21wRGF0YS5uYW1lfWApXG4gIH1cbn1cbiJdfQ==
|