@myclub_se/data-access 3.6.1 → 3.6.3

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.
Files changed (51) hide show
  1. package/esm2022/lib/api-models/api-app-settings.mjs +2 -0
  2. package/esm2022/lib/api-models/api-invite-stats.mjs +2 -0
  3. package/esm2022/lib/api-models/api-leader-activity.mjs +2 -0
  4. package/esm2022/lib/api-models/api-open-activity.mjs +1 -1
  5. package/esm2022/lib/api-models/api-search-club.mjs +1 -1
  6. package/esm2022/lib/api-models/index.mjs +4 -1
  7. package/esm2022/lib/models/app-settings.mjs +13 -0
  8. package/esm2022/lib/models/index.mjs +4 -1
  9. package/esm2022/lib/models/invite-stats.mjs +2 -0
  10. package/esm2022/lib/models/leader-activity.mjs +25 -0
  11. package/esm2022/lib/models/open-activity.mjs +6 -2
  12. package/esm2022/lib/models/search-club.mjs +4 -2
  13. package/esm2022/lib/services/factories/app-settings-factory.mjs +3 -0
  14. package/esm2022/lib/services/factories/index.mjs +3 -1
  15. package/esm2022/lib/services/factories/leader-activity-factory.mjs +3 -0
  16. package/esm2022/lib/services/factories/open-activity-factory.mjs +2 -2
  17. package/esm2022/lib/services/factories/search-club-factory.mjs +3 -2
  18. package/esm2022/lib/services/index.mjs +2 -1
  19. package/esm2022/lib/services/leader-notification.service.mjs +24 -0
  20. package/esm2022/lib/store/actions/team.actions.mjs +7 -1
  21. package/esm2022/lib/store/effects/team.effects.mjs +7 -2
  22. package/esm2022/lib/store/reducers/calendar.reducer.mjs +2 -2
  23. package/esm2022/lib/store/reducers/team.reducer.mjs +11 -2
  24. package/esm2022/lib/store/selectors/club-info.selectors.mjs +2 -1
  25. package/esm2022/lib/store/selectors/team.selectors.mjs +2 -1
  26. package/esm2022/lib/store/state/team.state.mjs +2 -1
  27. package/fesm2022/myclub_se-data-access.mjs +95 -6
  28. package/fesm2022/myclub_se-data-access.mjs.map +1 -1
  29. package/lib/api-models/api-app-settings.d.ts +6 -0
  30. package/lib/api-models/api-invite-stats.d.ts +5 -0
  31. package/lib/api-models/api-leader-activity.d.ts +13 -0
  32. package/lib/api-models/api-open-activity.d.ts +2 -0
  33. package/lib/api-models/api-search-club.d.ts +2 -0
  34. package/lib/api-models/index.d.ts +3 -0
  35. package/lib/models/app-settings.d.ts +7 -0
  36. package/lib/models/index.d.ts +3 -0
  37. package/lib/models/invite-stats.d.ts +5 -0
  38. package/lib/models/leader-activity.d.ts +14 -0
  39. package/lib/models/open-activity.d.ts +3 -1
  40. package/lib/models/search-club.d.ts +3 -2
  41. package/lib/services/factories/app-settings-factory.d.ts +3 -0
  42. package/lib/services/factories/index.d.ts +2 -0
  43. package/lib/services/factories/leader-activity-factory.d.ts +3 -0
  44. package/lib/services/index.d.ts +1 -0
  45. package/lib/services/leader-notification.service.d.ts +10 -0
  46. package/lib/store/actions/team.actions.d.ts +19 -1
  47. package/lib/store/effects/team.effects.d.ts +7 -1
  48. package/lib/store/selectors/club-info.selectors.d.ts +1 -0
  49. package/lib/store/selectors/team.selectors.d.ts +1 -0
  50. package/lib/store/state/team.state.d.ts +2 -1
  51. package/package.json +1 -1
@@ -11,6 +11,9 @@ export var TeamActionTypes;
11
11
  TeamActionTypes["ListGenerallyAvailableTeams"] = "[Team] List generally available teams";
12
12
  TeamActionTypes["ListGenerallyAvailableTeamsFailure"] = "[Team] List generally available teams failure";
13
13
  TeamActionTypes["ListGenerallyAvailableTeamsSuccess"] = "[Team] List generally available teams success";
14
+ TeamActionTypes["ListLeaderNotifications"] = "[Team] List leader notifications";
15
+ TeamActionTypes["ListLeaderNotificationsFailure"] = "[Team] List leader notifications failure";
16
+ TeamActionTypes["ListLeaderNotificationsSuccess"] = "[Team] List leader notifications success";
14
17
  TeamActionTypes["ListMemberTeams"] = "[Team] List member teams";
15
18
  TeamActionTypes["ListMemberTeamsFailure"] = "[Team] list member teams failure";
16
19
  TeamActionTypes["ListMemberTeamsSuccess"] = "[Team] list member teams success";
@@ -58,6 +61,9 @@ export const deleteTeamLeaderMemberSuccessAction = createAction(TeamActionTypes.
58
61
  export const listGenerallyAvailableTeamsAction = createAction(TeamActionTypes.ListGenerallyAvailableTeams, props());
59
62
  export const listGenerallyAvailableTeamsFailureAction = createAction(TeamActionTypes.ListGenerallyAvailableTeamsFailure, props());
60
63
  export const listGenerallyAvailableTeamsSuccessAction = createAction(TeamActionTypes.ListGenerallyAvailableTeamsSuccess, props());
64
+ export const listLeaderNotificationsAction = createAction(TeamActionTypes.ListLeaderNotifications, props());
65
+ export const listLeaderNotificationsFailureAction = createAction(TeamActionTypes.ListLeaderNotificationsFailure, props());
66
+ export const listLeaderNotificationsSuccessAction = createAction(TeamActionTypes.ListLeaderNotificationsSuccess, props());
61
67
  export const listMemberTeamsAction = createAction(TeamActionTypes.ListMemberTeams, props());
62
68
  export const listMemberTeamsFailureAction = createAction(TeamActionTypes.ListMemberTeamsFailure, props());
63
69
  export const listMemberTeamsSuccessAction = createAction(TeamActionTypes.ListMemberTeamsSuccess, props());
@@ -94,4 +100,4 @@ export const retrieveTeamLeaderMemberSuccessAction = createAction(TeamActionType
94
100
  export const updateTeamLeaderMemberAction = createAction(TeamActionTypes.UpdateTeamLeaderMember, props());
95
101
  export const updateTeamLeaderMemberFailureAction = createAction(TeamActionTypes.UpdateTeamLeaderMemberFailure, props());
96
102
  export const updateTeamLeaderMemberSuccessAction = createAction(TeamActionTypes.UpdateTeamLeaderMemberSuccess, props());
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9hY3Rpb25zL3RlYW0uYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlsRCxNQUFNLENBQU4sSUFBWSxlQStDWDtBQS9DRCxXQUFZLGVBQWU7SUFDekIsaUVBQThDLENBQUE7SUFDOUMsaUVBQThDLENBQUE7SUFDOUMscUVBQWtELENBQUE7SUFDbEQsZ0ZBQTZELENBQUE7SUFDN0QsOEVBQTJELENBQUE7SUFDM0QsNkZBQTBFLENBQUE7SUFDMUUsNkZBQTBFLENBQUE7SUFDMUUsd0ZBQXFFLENBQUE7SUFDckUsdUdBQW9GLENBQUE7SUFDcEYsdUdBQW9GLENBQUE7SUFDcEYsK0RBQTRDLENBQUE7SUFDNUMsOEVBQTJELENBQUE7SUFDM0QsOEVBQTJELENBQUE7SUFDM0QsMkZBQXdFLENBQUE7SUFDeEUsMEdBQXVGLENBQUE7SUFDdkYsMEdBQXVGLENBQUE7SUFDdkYsZ0ZBQTZELENBQUE7SUFDN0QsK0ZBQTRFLENBQUE7SUFDNUUsK0ZBQTRFLENBQUE7SUFDNUUsdUZBQW9FLENBQUE7SUFDcEUsc0dBQW1GLENBQUE7SUFDbkYsc0dBQW1GLENBQUE7SUFDbkYsNEVBQXlELENBQUE7SUFDekQsMkZBQXdFLENBQUE7SUFDeEUsMkZBQXdFLENBQUE7SUFDeEUsb0ZBQWlFLENBQUE7SUFDakUsbUdBQWdGLENBQUE7SUFDaEYsbUdBQWdGLENBQUE7SUFDaEYsaUdBQThFLENBQUE7SUFDOUUsZ0hBQTZGLENBQUE7SUFDN0YsZ0hBQTZGLENBQUE7SUFDN0Ysc0ZBQW1FLENBQUE7SUFDbkUscUdBQWtGLENBQUE7SUFDbEYscUdBQWtGLENBQUE7SUFDbEYsZ0ZBQTZELENBQUE7SUFDN0QsK0ZB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Q0FBQyxNQUFNLDBDQUEwQyxHQUFHLFlBQVksQ0FDcEUsZUFBZSxDQUFDLG9DQUFvQyxFQUNwRCxLQUFLLEVBQW9DLENBQzFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBRyxZQUFZLENBQ3hELGVBQWUsQ0FBQyx3QkFBd0IsRUFDeEMsS0FBSyxFQUErQyxDQUNyRCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0scUNBQXFDLEdBQUcsWUFBWSxDQUMvRCxlQUFlLENBQUMsK0JBQStCLEVBQy9DLEtBQUssRUFBa0MsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHFDQUFxQyxHQUFHLFlBQVksQ0FDL0QsZUFBZSxDQUFDLCtCQUErQixFQUMvQyxLQUFLLEVBQWtDLENBQ3hDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQ3RELGVBQWUsQ0FBQyxzQkFBc0IsRUFDdEMsS0FBSyxFQUF5RSxDQUMvRSxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sbUNBQW1DLEdBQUcsWUFBWSxDQUM3RCxlQUFlLENBQUMsNkJBQTZCLEVBQzdDLEtBQUssRUFBa0MsQ0FDeEMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLFlBQVksQ0FDN0QsZUFBZSxDQUFDLDZCQUE2QixFQUM3QyxLQUFLLEVBQWtDLENBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3Rpdml0eUV4dHJhTWVtYmVyLCBNZW1iZXJUZWFtLCBNZW1iZXJUZWFtVGhyb3VnaCwgU2VhcmNoVGVhbSB9IGZyb20gJy4uLy4uL21vZGVscyc7XG5cbmV4cG9ydCBlbnVtIFRlYW1BY3Rpb25UeXBlcyB7XG4gIENsZWFyTWVtYmVyVGVhbXMgPSAnW1RlYW1dIENsZWFyIG1lbWJlciB0ZWFtcycsXG4gIENsZWFyQ3VycmVudFRlYW0gPSAnW1RlYW1dIENsZWFyIGN1cnJlbnQgdGVhbScsXG4gIENsZWFyQ3VycmVudE1lbWJlciA9ICdbVGVhbV0gQ2xlYXIgY3VycmVudCBtZW1iZXInLFxuICBDbGVhckN1cnJlbnRFeHRyYU1lbWJlciA9ICdbVGVhbV0gQ2xlYXIgY3VycmVudCBleHRyYSBtZW1iZXInLFxuICBEZWxldGVUZWFtTGVhZGVyTWVtYmVyID0gJ1tUZWFtXSBEZWxldGUgdGVhbSBsZWFkZXIgbWVtYmVyJyxcbiAgRGVsZXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmUgPSAnW1RlYW1dIERlbGV0ZSB0ZWFtIGxlYWRlciBtZW1iZXIgZmFpbHVyZScsXG4gIERlbGV0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzID0gJ1tUZWFtXSBEZWxldGUgdGVhbSBsZWFkZXIgbWVtYmVyIHN1Y2Nlc3MnLFxuICBMaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXMgPSAnW1RlYW1dIExpc3QgZ2VuZXJhbGx5IGF2YWlsYWJsZSB0ZWFtcycsXG4gIExpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0ZhaWx1cmUgPSAnW1RlYW1dIExpc3QgZ2VuZXJhbGx5IGF2YWlsYWJsZSB0ZWFtcyBmYWlsdXJlJyxcbiAgTGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zU3VjY2VzcyA9ICdbVGVhbV0gTGlzdCBnZW5lcmFsbHkgYXZhaWxhYmxlIHRlYW1zIHN1Y2Nlc3MnLFxuICBMaXN0TWVtYmVyVGVhbXMgPSAnW1RlYW1dIExpc3QgbWVtYmVyIHRlYW1zJyxcbiAgTGlzdE1lbWJlclRlYW1zRmFpbHVyZSA9ICdbVGVhbV0gbGlzdCBtZW1iZXIgdGVhbXMgZmFpbHVyZScsXG4gIExpc3RNZW1iZXJUZWFtc1N1Y2Nlc3MgPSAnW1RlYW1dIGxpc3QgbWVtYmVyIHRlYW1zIHN1Y2Nlc3MnLFxuICBMaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzID0gJ1tUZWFtXSBsaXN0IG1lbWJlciBsZWFkZXIgZXh0cmEgbWVtYmVycycsXG4gIExpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlID0gJ1tUZWFtXSBsaXN0IG1lbWJlciBsZWFkZXIgZXh0cmEgbWVtYmVycyBmYWlsdXJlJyxcbiAgTGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3MgPSAnW1RlYW1dIGxpc3QgbWVtYmVyIGxlYWRlciBleHRyYSBtZW1iZXJzIHN1Y2Nlc3MnLFxuICBMaXN0TWVtYmVyTGVhZGVyTWVtYmVycyA9ICdbVGVhbV0gbGlzdCBtZW1iZXIgbGVhZGVyIG1lbWJlcnMnLFxuICBMaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0ZhaWx1cmUgPSAnW1RlYW1dIGxpc3QgbWVtYmVyIGxlYWRlciBtZW1iZXJzIGZhaWx1cmUnLFxuICBMaXN0TWVtYmVyTGVhZGVyTWVtYmVyc1N1Y2Nlc3MgPSAnW1RlYW1dIGxpc3QgbWVtYmVyIGxlYWRlciBtZW1iZXJzIHN1Y2Nlc3MnLFxuICBMaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVycyA9ICdbVGVhbV0gTGlzdCB0ZWFtIGxlYWRlciBleHRyYSBtZW1iZXJzJyxcbiAgTGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlID0gJ1tUZWFtXSBMaXN0IHRlYW0gbGVhZGVyIGV4dHJhIG1lbWJlcnMgZmFpbHVyZScsXG4gIExpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2VzcyA9ICdbVGVhbV0gTGlzdCB0ZWFtIGxlYWRlciBleHRyYSBtZW1iZXJzIHN1Y2Nlc3MnLFxuICBMaXN0VGVhbUxlYWRlck1lbWJlcnMgPSAnW1RlYW1dIExpc3QgdGVhbSBsZWFkZXIgbWVtYmVycycsXG4gIExpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmUgPSAnW1RlYW1dIExpc3QgdGVhbSBsZWFkZXIgbWVtYmVycyBmYWlsdXJlJyxcbiAgTGlzdFRlYW1MZWFkZXJNZW1iZXJzU3VjY2VzcyA9ICdbVGVhbV0gTGlzdCB0ZWFtIGxlYWRlciBtZW1iZXJzIHN1Y2Nlc3MnLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIGdyb3VwJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEZhaWx1cmUgPSAnW1RlYW1dIFJldHJpZXZlIG1lbWJlciBsZWFkZXIgZ3JvdXAgZmFpbHVyZScsXG4gIFJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBTdWNjZXNzID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIGdyb3VwIHN1Y2Nlc3MnLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIGV4dHJhIG1lbWJlcicsXG4gIFJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIGV4dHJhIG1lbWJlciBmYWlsdXJlJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3MgPSAnW1RlYW1dIFJldHJpZXZlIG1lbWJlciBsZWFkZXIgZXh0cmEgbWVtYmVyIHN1Y2Nlc3MnLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlciA9ICdbVGVhbV0gUmV0cmlldmUgbWVtYmVyIGxlYWRlciBtZW1iZXInLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckZhaWx1cmUgPSAnW1RlYW1dIFJldHJpZXZlIG1lbWJlciBsZWFkZXIgbWVtYmVyIGZhaWx1cmUnLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlclN1Y2Nlc3MgPSAnW1RlYW1dIFJldHJpZXZlIG1lbWJlciBsZWFkZXIgbWVtYmVyIHN1Y2Nlc3MnLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJHcm91cCA9ICdbVGVhbV0gUmV0cmlldmUgdGVhbSBsZWFkZXIgZ3JvdXAnLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJHcm91cEZhaWx1cmUgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIGdyb3VwIGZhaWx1cmUnLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJHcm91cFN1Y2Nlc3MgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIGdyb3VwIHN1Y2Nlc3MnLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlciA9ICdbVGVhbV0gUmV0cmlldmUgdGVhbSBsZWFkZXIgZXh0cmEgbWVtYmVyJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlID0gJ1tUZWFtXSBSZXRyaWV2ZSB0ZWFtIGxlYWRlciBleHRyYSBtZW1iZXIgZmFpbHVyZScsXG4gIFJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyU3VjY2VzcyA9ICdbVGVhbV0gUmV0cmlldmUgdGVhbSBsZWFkZXIgZXh0cmEgbWVtYmVyIHN1Y2Nlc3MnLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXIgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIG1lbWJlcicsXG4gIFJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmUgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIG1lbWJlciBmYWlsdXJlJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyU3VjY2VzcyA9ICdbVGVhbV0gUmV0cmlldmUgdGVhbSBsZWFkZXIgbWVtYmVyIHN1Y2Nlc3MnLFxuICBVcGRhdGVUZWFtTGVhZGVyTWVtYmVyID0gJ1tUZWFtXSBVcGRhdGUgdGVhbSBsZWFkZXIgbWVtYmVyJyxcbiAgVXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmUgPSAnW1RlYW1dIFVwZGF0ZSB0ZWFtIGxlYWRlciBtZW1iZXIgZmFpbHVyZScsXG4gIFVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzID0gJ1tUZWFtXSBVcGRhdGUgdGVhbSBsZWFkZXIgbWVtYmVyIHN1Y2Nlc3MnLFxufVxuXG5leHBvcnQgY29uc3QgY2xlYXJNZW1iZXJUZWFtc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkNsZWFyTWVtYmVyVGVhbXNcbik7XG5cbmV4cG9ydCBjb25zdCBjbGVhckN1cnJlbnRUZWFtQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuQ2xlYXJDdXJyZW50VGVhbVxuKTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyQ3VycmVudE1lbWJlckFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkNsZWFyQ3VycmVudE1lbWJlclxuKTtcblxuZXhwb3J0IGNvbnN0IGNsZWFyQ3VycmVudEV4dHJhTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuQ2xlYXJDdXJyZW50RXh0cmFNZW1iZXJcbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuRGVsZXRlVGVhbUxlYWRlck1lbWJlcixcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuRGVsZXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuRGVsZXRlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZyB9IH0+KClcbilcblxuZXhwb3J0IGNvbnN0IGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IGNsdWJJZDogc3RyaW5nLCBtZW1iZXJJZHM/OiBBcnJheTxzdHJpbmc+IH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBcnJheTxTZWFyY2hUZWFtPiB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlclRlYW1zQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlclRlYW1zLFxuICBwcm9wczx7IHBheWxvYWQ6IEFycmF5PHN0cmluZz4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJUZWFtc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0TWVtYmVyVGVhbXNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyVGVhbXNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlclRlYW1zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBNYXA8c3RyaW5nLCBBcnJheTxTZWFyY2hUZWFtPj4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzLFxuICBwcm9wczx7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHE6IHN0cmluZ319PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZSxcbiAgcHJvcHM8e3BheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3MsXG4gIHByb3BzPHtwYXlsb2FkOiBBcnJheTxBY3Rpdml0eUV4dHJhTWVtYmVyPn0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzLFxuICBwcm9wczx7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHE6IHN0cmluZ319PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlLFxuICBwcm9wczx7cGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2V9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckxlYWRlck1lbWJlcnNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlckxlYWRlck1lbWJlcnNTdWNjZXNzLFxuICBwcm9wczx7cGF5bG9hZDogQXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+fT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnMsXG4gIHByb3BzPHsgcGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBxOiBzdHJpbmd9fT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzLFxuICBwcm9wczx7cGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcmVzdWx0czogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj59fT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtTGVhZGVyTWVtYmVyc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RUZWFtTGVhZGVyTWVtYmVycyxcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBxOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdFRlYW1MZWFkZXJNZW1iZXJzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0VGVhbUxlYWRlck1lbWJlcnNTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IEFycmF5PE1lbWJlclRlYW1UaHJvdWdoPiB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXAsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cFN1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogTWVtYmVyVGVhbSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlcixcbiAgcHJvcHM8eyBwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBNZW1iZXJUZWFtVGhyb3VnaH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcixcbiAgcHJvcHM8eyBwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IEFjdGl2aXR5RXh0cmFNZW1iZXJ9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZVRlYW1MZWFkZXJHcm91cCxcbiAgcHJvcHM8eyBwYXlsb2FkOiBzdHJpbmcgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlVGVhbUxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlVGVhbUxlYWRlckdyb3VwRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVUZWFtTGVhZGVyR3JvdXBTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IE1lbWJlclRlYW0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXIsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBY3Rpdml0eUV4dHJhTWVtYmVyIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXIsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogTWVtYmVyVGVhbVRocm91Z2ggfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5VcGRhdGVUZWFtTGVhZGVyTWVtYmVyLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2ggfX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IE1lbWJlclRlYW1UaHJvdWdoIH0+KClcbik7XG4iXX0=
103
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbS5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9hY3Rpb25zL3RlYW0uYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUlsRCxNQUFNLENBQU4sSUFBWSxlQWtEWDtBQWxERCxXQUFZLGVBQWU7SUFDekIsaUVBQThDLENBQUE7SUFDOUMsaUVBQThDLENBQUE7SUFDOUMscUVBQWtELENBQUE7SUFDbEQsZ0ZBQTZELENBQUE7SUFDN0QsOEVBQTJELENBQUE7SUFDM0QsNkZBQTBFLENBQUE7SUFDMUUsNkZBQTBFLENBQUE7SUFDMUUsd0ZBQXFFLENBQUE7SUFDckUsdUdBQW9GLENBQUE7SUFDcEYsdUdBQW9GLENBQUE7SUFDcEYsK0VBQTRELENBQUE7SUFDNUQsOEZBQTJFLENBQUE7SUFDM0UsOEZBQTJFLENBQUE7SUFDM0UsK0RBQTRDLENBQUE7SUFDNUMsOEVBQTJELENBQUE7SUFDM0QsOEVBQTJELENBQUE7SUFDM0QsMkZBQXdFLENBQUE7SUFDeEUsMEdBQXVGLENBQUE7SUFDdkYsMEdBQXVGLENBQUE7SUFDdkYsZ0ZBQTZELENBQUE7SUFDN0QsK0ZBQTRFLENBQUE7SUFDNUUsK0ZBQTRFLENBQUE7SUFDNUUsdUZBQW9FLENBQUE7SUFDcEUsc0dBQW1GLENBQUE7SUFDbkYsc0dBQW1GLENBQUE7SUFDbkYsNEVBQXlELENBQUE7SUFDekQsMkZBQXdFLENBQUE7SUFDeEUsMkZBQXdFLENBQUE7SUFDeEUsb0ZBQWlFLENBQUE7SUFDakUsbUdBQWdGLENBQUE7SUFDaEYsbUdBQWdGLENBQUE7SUFDaEYsaUdBQThFLENBQUE7SUFDOUUsZ0hBQTZGLENBQUE7SUFDN0YsZ0hBQTZGLENBQUE7SUFDN0Ysc0ZBQW1FLENBQUE7SUFDbkUscUdB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QyxLQUFLLEVBQWtDLENBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBBY3Rpdml0eUV4dHJhTWVtYmVyLCBMZWFkZXJBY3Rpdml0eSwgTWVtYmVyVGVhbSwgTWVtYmVyVGVhbVRocm91Z2gsIFNlYXJjaFRlYW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuXG5leHBvcnQgZW51bSBUZWFtQWN0aW9uVHlwZXMge1xuICBDbGVhck1lbWJlclRlYW1zID0gJ1tUZWFtXSBDbGVhciBtZW1iZXIgdGVhbXMnLFxuICBDbGVhckN1cnJlbnRUZWFtID0gJ1tUZWFtXSBDbGVhciBjdXJyZW50IHRlYW0nLFxuICBDbGVhckN1cnJlbnRNZW1iZXIgPSAnW1RlYW1dIENsZWFyIGN1cnJlbnQgbWVtYmVyJyxcbiAgQ2xlYXJDdXJyZW50RXh0cmFNZW1iZXIgPSAnW1RlYW1dIENsZWFyIGN1cnJlbnQgZXh0cmEgbWVtYmVyJyxcbiAgRGVsZXRlVGVhbUxlYWRlck1lbWJlciA9ICdbVGVhbV0gRGVsZXRlIHRlYW0gbGVhZGVyIG1lbWJlcicsXG4gIERlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlID0gJ1tUZWFtXSBEZWxldGUgdGVhbSBsZWFkZXIgbWVtYmVyIGZhaWx1cmUnLFxuICBEZWxldGVUZWFtTGVhZGVyTWVtYmVyU3VjY2VzcyA9ICdbVGVhbV0gRGVsZXRlIHRlYW0gbGVhZGVyIG1lbWJlciBzdWNjZXNzJyxcbiAgTGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zID0gJ1tUZWFtXSBMaXN0IGdlbmVyYWxseSBhdmFpbGFibGUgdGVhbXMnLFxuICBMaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNGYWlsdXJlID0gJ1tUZWFtXSBMaXN0IGdlbmVyYWxseSBhdmFpbGFibGUgdGVhbXMgZmFpbHVyZScsXG4gIExpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc1N1Y2Nlc3MgPSAnW1RlYW1dIExpc3QgZ2VuZXJhbGx5IGF2YWlsYWJsZSB0ZWFtcyBzdWNjZXNzJyxcbiAgTGlzdExlYWRlck5vdGlmaWNhdGlvbnMgPSAnW1RlYW1dIExpc3QgbGVhZGVyIG5vdGlmaWNhdGlvbnMnLFxuICBMaXN0TGVhZGVyTm90aWZpY2F0aW9uc0ZhaWx1cmUgPSAnW1RlYW1dIExpc3QgbGVhZGVyIG5vdGlmaWNhdGlvbnMgZmFpbHVyZScsXG4gIExpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2VzcyA9ICdbVGVhbV0gTGlzdCBsZWFkZXIgbm90aWZpY2F0aW9ucyBzdWNjZXNzJyxcbiAgTGlzdE1lbWJlclRlYW1zID0gJ1tUZWFtXSBMaXN0IG1lbWJlciB0ZWFtcycsXG4gIExpc3RNZW1iZXJUZWFtc0ZhaWx1cmUgPSAnW1RlYW1dIGxpc3QgbWVtYmVyIHRlYW1zIGZhaWx1cmUnLFxuICBMaXN0TWVtYmVyVGVhbXNTdWNjZXNzID0gJ1tUZWFtXSBsaXN0IG1lbWJlciB0ZWFtcyBzdWNjZXNzJyxcbiAgTGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVycyA9ICdbVGVhbV0gbGlzdCBtZW1iZXIgbGVhZGVyIGV4dHJhIG1lbWJlcnMnLFxuICBMaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZSA9ICdbVGVhbV0gbGlzdCBtZW1iZXIgbGVhZGVyIGV4dHJhIG1lbWJlcnMgZmFpbHVyZScsXG4gIExpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzID0gJ1tUZWFtXSBsaXN0IG1lbWJlciBsZWFkZXIgZXh0cmEgbWVtYmVycyBzdWNjZXNzJyxcbiAgTGlzdE1lbWJlckxlYWRlck1lbWJlcnMgPSAnW1RlYW1dIGxpc3QgbWVtYmVyIGxlYWRlciBtZW1iZXJzJyxcbiAgTGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlID0gJ1tUZWFtXSBsaXN0IG1lbWJlciBsZWFkZXIgbWVtYmVycyBmYWlsdXJlJyxcbiAgTGlzdE1lbWJlckxlYWRlck1lbWJlcnNTdWNjZXNzID0gJ1tUZWFtXSBsaXN0IG1lbWJlciBsZWFkZXIgbWVtYmVycyBzdWNjZXNzJyxcbiAgTGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnMgPSAnW1RlYW1dIExpc3QgdGVhbSBsZWFkZXIgZXh0cmEgbWVtYmVycycsXG4gIExpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZSA9ICdbVGVhbV0gTGlzdCB0ZWFtIGxlYWRlciBleHRyYSBtZW1iZXJzIGZhaWx1cmUnLFxuICBMaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3MgPSAnW1RlYW1dIExpc3QgdGVhbSBsZWFkZXIgZXh0cmEgbWVtYmVycyBzdWNjZXNzJyxcbiAgTGlzdFRlYW1MZWFkZXJNZW1iZXJzID0gJ1tUZWFtXSBMaXN0IHRlYW0gbGVhZGVyIG1lbWJlcnMnLFxuICBMaXN0VGVhbUxlYWRlck1lbWJlcnNGYWlsdXJlID0gJ1tUZWFtXSBMaXN0IHRlYW0gbGVhZGVyIG1lbWJlcnMgZmFpbHVyZScsXG4gIExpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3MgPSAnW1RlYW1dIExpc3QgdGVhbSBsZWFkZXIgbWVtYmVycyBzdWNjZXNzJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cCA9ICdbVGVhbV0gUmV0cmlldmUgbWVtYmVyIGxlYWRlciBncm91cCcsXG4gIFJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBGYWlsdXJlID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIGdyb3VwIGZhaWx1cmUnLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwU3VjY2VzcyA9ICdbVGVhbV0gUmV0cmlldmUgbWVtYmVyIGxlYWRlciBncm91cCBzdWNjZXNzJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlciA9ICdbVGVhbV0gUmV0cmlldmUgbWVtYmVyIGxlYWRlciBleHRyYSBtZW1iZXInLFxuICBSZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZSA9ICdbVGVhbV0gUmV0cmlldmUgbWVtYmVyIGxlYWRlciBleHRyYSBtZW1iZXIgZmFpbHVyZScsXG4gIFJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIGV4dHJhIG1lbWJlciBzdWNjZXNzJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXIgPSAnW1RlYW1dIFJldHJpZXZlIG1lbWJlciBsZWFkZXIgbWVtYmVyJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIG1lbWJlciBmYWlsdXJlJyxcbiAgUmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJTdWNjZXNzID0gJ1tUZWFtXSBSZXRyaWV2ZSBtZW1iZXIgbGVhZGVyIG1lbWJlciBzdWNjZXNzJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyR3JvdXAgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIGdyb3VwJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyR3JvdXBGYWlsdXJlID0gJ1tUZWFtXSBSZXRyaWV2ZSB0ZWFtIGxlYWRlciBncm91cCBmYWlsdXJlJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyR3JvdXBTdWNjZXNzID0gJ1tUZWFtXSBSZXRyaWV2ZSB0ZWFtIGxlYWRlciBncm91cCBzdWNjZXNzJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXIgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIGV4dHJhIG1lbWJlcicsXG4gIFJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZSA9ICdbVGVhbV0gUmV0cmlldmUgdGVhbSBsZWFkZXIgZXh0cmEgbWVtYmVyIGZhaWx1cmUnLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3MgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIGV4dHJhIG1lbWJlciBzdWNjZXNzJyxcbiAgUmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyID0gJ1tUZWFtXSBSZXRyaWV2ZSB0ZWFtIGxlYWRlciBtZW1iZXInLFxuICBSZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlID0gJ1tUZWFtXSBSZXRyaWV2ZSB0ZWFtIGxlYWRlciBtZW1iZXIgZmFpbHVyZScsXG4gIFJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3MgPSAnW1RlYW1dIFJldHJpZXZlIHRlYW0gbGVhZGVyIG1lbWJlciBzdWNjZXNzJyxcbiAgVXBkYXRlVGVhbUxlYWRlck1lbWJlciA9ICdbVGVhbV0gVXBkYXRlIHRlYW0gbGVhZGVyIG1lbWJlcicsXG4gIFVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlID0gJ1tUZWFtXSBVcGRhdGUgdGVhbSBsZWFkZXIgbWVtYmVyIGZhaWx1cmUnLFxuICBVcGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2VzcyA9ICdbVGVhbV0gVXBkYXRlIHRlYW0gbGVhZGVyIG1lbWJlciBzdWNjZXNzJyxcbn1cblxuZXhwb3J0IGNvbnN0IGNsZWFyTWVtYmVyVGVhbXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5DbGVhck1lbWJlclRlYW1zXG4pO1xuXG5leHBvcnQgY29uc3QgY2xlYXJDdXJyZW50VGVhbUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkNsZWFyQ3VycmVudFRlYW1cbik7XG5cbmV4cG9ydCBjb25zdCBjbGVhckN1cnJlbnRNZW1iZXJBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5DbGVhckN1cnJlbnRNZW1iZXJcbik7XG5cbmV4cG9ydCBjb25zdCBjbGVhckN1cnJlbnRFeHRyYU1lbWJlckFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkNsZWFyQ3VycmVudEV4dHJhTWVtYmVyXG4pO1xuXG5leHBvcnQgY29uc3QgZGVsZXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkRlbGV0ZVRlYW1MZWFkZXJNZW1iZXIsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBkZWxldGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcgfSB9PigpXG4pXG5cbmV4cG9ydCBjb25zdCBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXMsXG4gIHByb3BzPHsgcGF5bG9hZDogeyBjbHViSWQ6IHN0cmluZywgbWVtYmVySWRzPzogQXJyYXk8c3RyaW5nPiB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogQXJyYXk8U2VhcmNoVGVhbT4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RMZWFkZXJOb3RpZmljYXRpb25zQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdExlYWRlck5vdGlmaWNhdGlvbnMsXG4gIHByb3BzPHsgcGF5bG9hZDogc3RyaW5nIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TGVhZGVyTm90aWZpY2F0aW9uc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0TGVhZGVyTm90aWZpY2F0aW9uc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBcnJheTxMZWFkZXJBY3Rpdml0eT4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJUZWFtc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RNZW1iZXJUZWFtcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBcnJheTxzdHJpbmc+IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyVGVhbXNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlclRlYW1zRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlclRlYW1zU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RNZW1iZXJUZWFtc1N1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogTWFwPHN0cmluZywgQXJyYXk8U2VhcmNoVGVhbT4+IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVycyxcbiAgcHJvcHM8e3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nLCBxOiBzdHJpbmd9fT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmUsXG4gIHByb3BzPHtwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzLFxuICBwcm9wczx7cGF5bG9hZDogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj59PigpXG4pO1xuXG5leHBvcnQgY29uc3QgbGlzdE1lbWJlckxlYWRlck1lbWJlcnNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0TWVtYmVyTGVhZGVyTWVtYmVycyxcbiAgcHJvcHM8e3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nLCBxOiBzdHJpbmd9fT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzRmFpbHVyZSxcbiAgcHJvcHM8e3BheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2VzcyxcbiAgcHJvcHM8e3BheWxvYWQ6IEFycmF5PE1lbWJlclRlYW1UaHJvdWdoPn0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzLFxuICBwcm9wczx7IHBheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nfX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLkxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2VzcyxcbiAgcHJvcHM8e3BheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIHJlc3VsdHM6IEFycmF5PEFjdGl2aXR5RXh0cmFNZW1iZXI+fX0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0VGVhbUxlYWRlck1lbWJlcnNBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0VGVhbUxlYWRlck1lbWJlcnMsXG4gIHByb3BzPHsgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IGxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5MaXN0VGVhbUxlYWRlck1lbWJlcnNGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCBsaXN0VGVhbUxlYWRlck1lbWJlcnNTdWNjZXNzQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuTGlzdFRlYW1MZWFkZXJNZW1iZXJzU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZyB9IH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IE1lbWJlclRlYW0gfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXIsXG4gIHByb3BzPHsgcGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIHRlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlclN1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogTWVtYmVyVGVhbVRocm91Z2h9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXIsXG4gIHByb3BzPHsgcGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIHRlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBBY3Rpdml0eUV4dHJhTWVtYmVyfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlVGVhbUxlYWRlckdyb3VwQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVUZWFtTGVhZGVyR3JvdXAsXG4gIHByb3BzPHsgcGF5bG9hZDogc3RyaW5nIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cEZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZVRlYW1MZWFkZXJHcm91cEZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlVGVhbUxlYWRlckdyb3VwU3VjY2Vzc0FjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlVGVhbUxlYWRlckdyb3VwU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBNZW1iZXJUZWFtIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlLFxuICBwcm9wczx7IHBheWxvYWQ6IEh0dHBFcnJvclJlc3BvbnNlIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3MsXG4gIHByb3BzPHsgcGF5bG9hZDogQWN0aXZpdHlFeHRyYU1lbWJlciB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuUmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyLFxuICBwcm9wczx7IHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcgfSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbiA9IGNyZWF0ZUFjdGlvbihcbiAgVGVhbUFjdGlvblR5cGVzLlJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmUsXG4gIHByb3BzPHsgcGF5bG9hZDogSHR0cEVycm9yUmVzcG9uc2UgfT4oKVxuKTtcblxuZXhwb3J0IGNvbnN0IHJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5SZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzLFxuICBwcm9wczx7IHBheWxvYWQ6IE1lbWJlclRlYW1UaHJvdWdoIH0+KClcbik7XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uID0gY3JlYXRlQWN0aW9uKFxuICBUZWFtQWN0aW9uVHlwZXMuVXBkYXRlVGVhbUxlYWRlck1lbWJlcixcbiAgcHJvcHM8eyBwYXlsb2FkOiB7IHRlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nLCBtZW1iZXI6IE1lbWJlclRlYW1UaHJvdWdoIH19PigpXG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5VcGRhdGVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZSxcbiAgcHJvcHM8eyBwYXlsb2FkOiBIdHRwRXJyb3JSZXNwb25zZSB9PigpXG4pO1xuXG5leHBvcnQgY29uc3QgdXBkYXRlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24gPSBjcmVhdGVBY3Rpb24oXG4gIFRlYW1BY3Rpb25UeXBlcy5VcGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2VzcyxcbiAgcHJvcHM8eyBwYXlsb2FkOiBNZW1iZXJUZWFtVGhyb3VnaCB9PigpXG4pO1xuIl19
@@ -1,13 +1,15 @@
1
1
  import { inject, Injectable } from '@angular/core';
2
2
  import { Actions, createEffect, ofType } from '@ngrx/effects';
3
- import { deleteTeamLeaderMemberAction, deleteTeamLeaderMemberFailureAction, deleteTeamLeaderMemberSuccessAction, listGenerallyAvailableTeamsAction, listGenerallyAvailableTeamsFailureAction, listGenerallyAvailableTeamsSuccessAction, listMemberLeaderExtraMembersAction, listMemberLeaderExtraMembersFailureAction, listMemberLeaderExtraMembersSuccessAction, listMemberLeaderMembersAction, listMemberLeaderMembersFailureAction, listMemberLeaderMembersSuccessAction, listMemberTeamsAction, listMemberTeamsFailureAction, listMemberTeamsSuccessAction, listTeamLeaderExtraMembersAction, listTeamLeaderExtraMembersFailureAction, listTeamLeaderExtraMembersSuccessAction, listTeamLeaderMembersAction, listTeamLeaderMembersFailureAction, listTeamLeaderMembersSuccessAction, retrieveMemberLeaderExtraMemberAction, retrieveMemberLeaderExtraMemberFailureAction, retrieveMemberLeaderExtraMemberSuccessAction, retrieveMemberLeaderGroupAction, retrieveMemberLeaderGroupFailureAction, retrieveMemberLeaderGroupSuccessAction, retrieveMemberLeaderMemberAction, retrieveMemberLeaderMemberFailureAction, retrieveMemberLeaderMemberSuccessAction, retrieveTeamLeaderExtraMemberAction, retrieveTeamLeaderExtraMemberFailureAction, retrieveTeamLeaderExtraMemberSuccessAction, retrieveTeamLeaderGroupAction, retrieveTeamLeaderGroupFailureAction, retrieveTeamLeaderGroupSuccessAction, retrieveTeamLeaderMemberAction, retrieveTeamLeaderMemberFailureAction, retrieveTeamLeaderMemberSuccessAction, updateTeamLeaderMemberAction, updateTeamLeaderMemberFailureAction, updateTeamLeaderMemberSuccessAction } from '../actions';
3
+ import { deleteTeamLeaderMemberAction, deleteTeamLeaderMemberFailureAction, deleteTeamLeaderMemberSuccessAction, listGenerallyAvailableTeamsAction, listGenerallyAvailableTeamsFailureAction, listGenerallyAvailableTeamsSuccessAction, listLeaderNotificationsAction, listLeaderNotificationsFailureAction, listLeaderNotificationsSuccessAction, listMemberLeaderExtraMembersAction, listMemberLeaderExtraMembersFailureAction, listMemberLeaderExtraMembersSuccessAction, listMemberLeaderMembersAction, listMemberLeaderMembersFailureAction, listMemberLeaderMembersSuccessAction, listMemberTeamsAction, listMemberTeamsFailureAction, listMemberTeamsSuccessAction, listTeamLeaderExtraMembersAction, listTeamLeaderExtraMembersFailureAction, listTeamLeaderExtraMembersSuccessAction, listTeamLeaderMembersAction, listTeamLeaderMembersFailureAction, listTeamLeaderMembersSuccessAction, retrieveMemberLeaderExtraMemberAction, retrieveMemberLeaderExtraMemberFailureAction, retrieveMemberLeaderExtraMemberSuccessAction, retrieveMemberLeaderGroupAction, retrieveMemberLeaderGroupFailureAction, retrieveMemberLeaderGroupSuccessAction, retrieveMemberLeaderMemberAction, retrieveMemberLeaderMemberFailureAction, retrieveMemberLeaderMemberSuccessAction, retrieveTeamLeaderExtraMemberAction, retrieveTeamLeaderExtraMemberFailureAction, retrieveTeamLeaderExtraMemberSuccessAction, retrieveTeamLeaderGroupAction, retrieveTeamLeaderGroupFailureAction, retrieveTeamLeaderGroupSuccessAction, retrieveTeamLeaderMemberAction, retrieveTeamLeaderMemberFailureAction, retrieveTeamLeaderMemberSuccessAction, updateTeamLeaderMemberAction, updateTeamLeaderMemberFailureAction, updateTeamLeaderMemberSuccessAction } from '../actions';
4
4
  import { exhaustMap, forkJoin, mergeMap, of } from 'rxjs';
5
5
  import { catchError, map } from 'rxjs/operators';
6
6
  import { HttpErrorResponse } from '@angular/common/http';
7
7
  import { ExtraMembersMixin } from './mixins/extra-members-mixin';
8
+ import { LeaderNotificationService } from '../../services';
8
9
  import * as i0 from "@angular/core";
9
10
  export class TeamEffects extends ExtraMembersMixin {
10
11
  actions$ = inject(Actions);
12
+ leaderNotificationService = inject(LeaderNotificationService);
11
13
  deleteTeamMember$ = createEffect(() => this.actions$
12
14
  .pipe(ofType(deleteTeamLeaderMemberAction), exhaustMap(({ payload }) => this.teamService.deleteTeamLeaderTeamMember(payload.teamId, payload.id)
13
15
  .pipe(map((success) => {
@@ -23,6 +25,9 @@ export class TeamEffects extends ExtraMembersMixin {
23
25
  listGenerallyAvailableTeams$ = createEffect(() => this.actions$
24
26
  .pipe(ofType(listGenerallyAvailableTeamsAction), exhaustMap(({ payload }) => this.teamService.getGenerallyAvailableTeams(payload.clubId, payload.memberIds ?? [])
25
27
  .pipe(map((teams) => listGenerallyAvailableTeamsSuccessAction({ payload: teams.toArray() })), catchError((error) => of(listGenerallyAvailableTeamsFailureAction({ payload: error })))))));
28
+ listLeaderNotifications$ = createEffect(() => this.actions$
29
+ .pipe(ofType(listLeaderNotificationsAction), exhaustMap(({ payload }) => this.leaderNotificationService.getLeaderNotifications(payload)
30
+ .pipe(map((activities) => listLeaderNotificationsSuccessAction({ payload: activities.toArray() })), catchError((error) => of(listLeaderNotificationsFailureAction({ payload: error })))))));
26
31
  listMemberTeams$ = createEffect(() => this.actions$
27
32
  .pipe(ofType(listMemberTeamsAction), mergeMap(({ payload }) => forkJoin(payload.map((id) => this.teamService.getMemberTeams(id)
28
33
  .pipe(map((teams) => ({ id, teams: teams.toArray() })), catchError((error) => of({ id, error }))))).pipe(mergeMap((results) => {
@@ -82,4 +87,4 @@ export class TeamEffects extends ExtraMembersMixin {
82
87
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: TeamEffects, decorators: [{
83
88
  type: Injectable
84
89
  }] });
85
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3RlYW0uZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBQ3hDLGtDQUFrQyxFQUNsQyx5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHFDQUFxQyxFQUNyQyw0Q0FBNEMsRUFDNUMsNENBQTRDLEVBQzVDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsMENBQTBDLEVBQzFDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLDhCQUE4QixFQUM5QixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBQ3BCLE9BQU8sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFB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QyxPQUFPLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQztTQUNsTCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBeUIsRUFBRSxFQUFFLENBQUMsbUNBQW1DLENBQUMsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLENBQUMsQ0FBQyxFQUMxRixVQUFVLENBQUMsQ0FBQyxLQUF3QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsbUNBQW1DLENBQUMsRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3BHLENBQ0YsQ0FDRixDQUNGLENBQUM7dUdBak5TLFdBQVc7MkdBQVgsV0FBVzs7MkZBQVgsV0FBVztrQkFEdkIsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IEFjdGl2aXR5RXh0cmFNZW1iZXIsIENvbGxlY3Rpb24sIE1lbWJlclRlYW0sIE1lbWJlclRlYW1UaHJvdWdoLCBTZWFyY2hUZWFtIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7XG4gIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24sXG4gIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICBkZWxldGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zQWN0aW9uLFxuICBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlclRlYW1zQWN0aW9uLFxuICBsaXN0TWVtYmVyVGVhbXNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyVGVhbXNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc0FjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyTWVtYmVyc0FjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cEFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgdXBkYXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbixcbiAgdXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uXG59IGZyb20gJy4uL2FjdGlvbnMnO1xuaW1wb3J0IHsgZXhoYXVzdE1hcCwgZm9ya0pvaW4sIG1lcmdlTWFwLCBvZiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBFeHRyYU1lbWJlcnNNaXhpbiB9IGZyb20gJy4vbWl4aW5zL2V4dHJhLW1lbWJlcnMtbWl4aW4nO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUZWFtRWZmZWN0cyBleHRlbmRzIEV4dHJhTWVtYmVyc01peGluIHtcbiAgcHJpdmF0ZSBhY3Rpb25zJCA9IGluamVjdChBY3Rpb25zKTtcblxuICBkZWxldGVUZWFtTWVtYmVyJCAgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge3RlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nfX0pID0+IHRoaXMudGVhbVNlcnZpY2UuZGVsZXRlVGVhbUxlYWRlclRlYW1NZW1iZXIocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgoc3VjY2VzczogYm9vbGVhbikgPT4ge1xuICAgICAgICAgICAgaWYgKHN1Y2Nlc3MpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB7dGVhbUlkOiBwYXlsb2FkLnRlYW1JZCwgaWQ6IHBheWxvYWQuaWR9fSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gZGVsZXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe1xuICAgICAgICAgICAgICAgIHBheWxvYWQ6IG5ldyBIdHRwRXJyb3JSZXNwb25zZSh7c3RhdHVzOiA0MDB9KVxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YoZGVsZXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtcyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7Y2x1YklkOiBzdHJpbmcsIG1lbWJlcklkcz86IEFycmF5PHN0cmluZz59fSkgPT5cbiAgICAgICAgdGhpcy50ZWFtU2VydmljZS5nZXRHZW5lcmFsbHlBdmFpbGFibGVUZWFtcyhwYXlsb2FkLmNsdWJJZCwgcGF5bG9hZC5tZW1iZXJJZHMgPz8gW10pXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHRlYW1zOiBDb2xsZWN0aW9uPFNlYXJjaFRlYW0+KSA9PiBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiB0ZWFtcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlclRlYW1zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlclRlYW1zQWN0aW9uKSxcbiAgICAgIG1lcmdlTWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiBBcnJheTxzdHJpbmc+fSkgPT5cbiAgICAgICAgZm9ya0pvaW4ocGF5bG9hZC5tYXAoKGlkOiBzdHJpbmcpID0+IHRoaXMudGVhbVNlcnZpY2UuZ2V0TWVtYmVyVGVhbXMoaWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKHRlYW1zOiBDb2xsZWN0aW9uPFNlYXJjaFRlYW0+KSA9PiAoe2lkLCB0ZWFtczogdGVhbXMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZih7aWQsIGVycm9yfSkpXG4gICAgICAgICAgKVxuICAgICAgICApKS5waXBlKFxuICAgICAgICAgIG1lcmdlTWFwKChyZXN1bHRzOiBBcnJheTx7aWQ6IHN0cmluZywgZXJyb3I/OiBIdHRwRXJyb3JSZXNwb25zZSwgdGVhbXM/OiBBcnJheTxTZWFyY2hUZWFtPn0+KSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHRNYXAgPSBuZXcgTWFwPHN0cmluZywgQXJyYXk8U2VhcmNoVGVhbT4+KCk7XG4gICAgICAgICAgICBjb25zdCBlcnJvcnMgPSByZXN1bHRzLmZpbHRlcihyZXN1bHQgPT4gcmVzdWx0LmVycm9yKTtcbiAgICAgICAgICAgIGlmIChlcnJvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVyVGVhbXNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3JzWzBdLmVycm9yIGFzIEh0dHBFcnJvclJlc3BvbnNlIH0pKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVzdWx0cy5mb3JFYWNoKHJlc3VsdCA9PiB7XG4gICAgICAgICAgICAgIGlmIChyZXN1bHQudGVhbXMpIHtcbiAgICAgICAgICAgICAgICByZXN1bHRNYXAuc2V0KHJlc3VsdC5pZCwgcmVzdWx0LnRlYW1zKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG5cbiAgICAgICAgICAgIHJldHVybiBvZihsaXN0TWVtYmVyVGVhbXNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiByZXN1bHRNYXB9KSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7IHBheWxvYWQgfTogeyBwYXlsb2FkOiB7IG1lbWJlcklkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHE6IHN0cmluZyB9IH0pID0+XG4gICAgICAgIHRoaXMubWVtYmVyTGVhZGVyR2V0QWxsRXh0cmFNZW1iZXJzKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaWQsIHBheWxvYWQucSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoZXh0cmFNZW1iZXJzOiBBcnJheTxBY3Rpdml0eUV4dHJhTWVtYmVyPikgPT4gbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oeyBwYXlsb2FkOiBleHRyYU1lbWJlcnMgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbih7IHBheWxvYWQ6IGVycm9yIH0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdE1lbWJlckxlYWRlck1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIHE6IHN0cmluZ319KSA9PlxuICAgICAgICB0aGlzLm1lbWJlckxlYWRlckdldGFBbGxNZW1iZXJzKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaWQsIHBheWxvYWQucSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgobWVtYmVyczogQXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+KSA9PiBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcnN9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVycyQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIHE6IHN0cmluZyB9XG4gICAgICAgIH0pID0+IHRoaXMudGVhbUxlYWRlckdldEFsbEV4dHJhTWVtYmVycyhwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChleHRyYU1lbWJlcnM6IEFycmF5PEFjdGl2aXR5RXh0cmFNZW1iZXI+KSA9PiBsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe1xuICAgICAgICAgICAgICBwYXlsb2FkOiB7XG4gICAgICAgICAgICAgICAgdGVhbUlkOiBwYXlsb2FkLnRlYW1JZCxcbiAgICAgICAgICAgICAgICByZXN1bHRzOiBleHRyYU1lbWJlcnNcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0VGVhbUxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdFRlYW1MZWFkZXJNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdFRlYW1MZWFkZXJNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgdGVhbUlkOiBzdHJpbmcsIHE6IHN0cmluZyB9XG4gICAgICAgIH0pID0+IHRoaXMudGVhbUxlYWRlckdldEFsbE1lbWJlcnMocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQucSlcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgobWVtYmVyczogQXJyYXk8TWVtYmVyVGVhbVRocm91Z2g+KSA9PiBsaXN0VGVhbUxlYWRlck1lbWJlcnNTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJzfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0VGVhbUxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXAkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge1xuICAgICAgICAgIHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZyB9XG4gICAgICAgIH0pID0+IHRoaXMudGVhbVNlcnZpY2UuZ2V0TWVtYmVyVGVhbShwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLmlkKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChncm91cDogTWVtYmVyVGVhbSkgPT4gcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGdyb3VwfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtRXh0cmFNZW1iZXIocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC50ZWFtSWQsIHBheWxvYWQuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyOiBBY3Rpdml0eUV4dHJhTWVtYmVyKSA9PiByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJMZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge21lbWJlcklkOiBzdHJpbmcsIHRlYW1JZDogc3RyaW5nLCBpZDogc3RyaW5nfX0pID0+IHRoaXMudGVhbVNlcnZpY2UuZ2V0TWVtYmVyVGVhbU1lbWJlcihwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlclRlYW1UaHJvdWdoKSA9PiByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXAkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVRlYW1MZWFkZXJHcm91cEFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHsgcGF5bG9hZDogc3RyaW5nIH0pID0+IHRoaXMudGVhbVNlcnZpY2UuZ2V0VGVhbUxlYWRlclRlYW0ocGF5bG9hZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChncm91cDogTWVtYmVyVGVhbSkgPT4gcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBncm91cH0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbUV4dHJhTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogQWN0aXZpdHlFeHRyYU1lbWJlcikgPT4gcmV0cmlldmVUZWFtTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJ9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbU1lbWJlcihwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlclRlYW1UaHJvdWdoKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJ9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUodXBkYXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7dGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcsIG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2h9fSkgPT4gdGhpcy50ZWFtU2VydmljZS51cGRhdGVUZWFtTGVhZGVyVGVhbU1lbWJlcihwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5tZW1iZXIpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyOiBNZW1iZXJUZWFtVGhyb3VnaCkgPT4gdXBkYXRlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
90
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVhbS5lZmZlY3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9zdG9yZS9lZmZlY3RzL3RlYW0uZWZmZWN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUNMLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ25DLGlDQUFpQyxFQUNqQyx3Q0FBd0MsRUFDeEMsd0NBQXdDLEVBQ3hDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLGtDQUFrQyxFQUNsQyx5Q0FBeUMsRUFDekMseUNBQXlDLEVBQ3pDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLHFCQUFxQixFQUNyQiw0QkFBNEIsRUFDNUIsNEJBQTRCLEVBQzVCLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLDJCQUEyQixFQUMzQixrQ0FBa0MsRUFDbEMsa0NBQWtDLEVBQ2xDLHFDQUFxQyxFQUNyQyw0Q0FBNEMsRUFDNUMsNENBQTRDLEVBQzVDLCtCQUErQixFQUMvQixzQ0FBc0MsRUFDdEMsc0NBQXNDLEVBQ3RDLGdDQUFnQyxFQUNoQyx1Q0FBdUMsRUFDdkMsdUNBQXVDLEVBQ3ZDLG1DQUFtQyxFQUNuQywwQ0FBMEMsRUFDMUMsMENBQTBDLEVBQzFDLDZCQUE2QixFQUM3QixvQ0FBb0MsRUFDcEMsb0NBQW9DLEVBQ3BDLDhCQUE4QixFQUM5QixxQ0FBcUMsRUFDckMscUNBQXFDLEVBQ3JDLDRCQUE0QixFQUM1QixtQ0FBbUMsRUFDbkMsbUNBQW1DLEVBQ3BDLE1BQU0sWUFBWSxDQUFDO0FBQ3BC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QVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBBY3Rpdml0eUV4dHJhTWVtYmVyLCBDb2xsZWN0aW9uLCBMZWFkZXJBY3Rpdml0eSwgTWVtYmVyVGVhbSwgTWVtYmVyVGVhbVRocm91Z2gsIFNlYXJjaFRlYW0gfSBmcm9tICcuLi8uLi9tb2RlbHMnO1xuaW1wb3J0IHtcbiAgZGVsZXRlVGVhbUxlYWRlck1lbWJlckFjdGlvbixcbiAgZGVsZXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJTdWNjZXNzQWN0aW9uLFxuICBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNBY3Rpb24sXG4gIGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RHZW5lcmFsbHlBdmFpbGFibGVUZWFtc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zQWN0aW9uLFxuICBsaXN0TGVhZGVyTm90aWZpY2F0aW9uc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0FjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlckV4dHJhTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0FjdGlvbixcbiAgbGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uLFxuICBsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIGxpc3RNZW1iZXJUZWFtc0FjdGlvbixcbiAgbGlzdE1lbWJlclRlYW1zRmFpbHVyZUFjdGlvbixcbiAgbGlzdE1lbWJlclRlYW1zU3VjY2Vzc0FjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbixcbiAgbGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNTdWNjZXNzQWN0aW9uLFxuICBsaXN0VGVhbUxlYWRlck1lbWJlcnNBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24sXG4gIGxpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cEZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckFjdGlvbixcbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICByZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyU3VjY2Vzc0FjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlckdyb3VwRmFpbHVyZUFjdGlvbixcbiAgcmV0cmlldmVUZWFtTGVhZGVyR3JvdXBTdWNjZXNzQWN0aW9uLFxuICByZXRyaWV2ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24sXG4gIHJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24sXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJBY3Rpb24sXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uLFxuICB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvblxufSBmcm9tICcuLi9hY3Rpb25zJztcbmltcG9ydCB7IGV4aGF1c3RNYXAsIGZvcmtKb2luLCBtZXJnZU1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgRXh0cmFNZW1iZXJzTWl4aW4gfSBmcm9tICcuL21peGlucy9leHRyYS1tZW1iZXJzLW1peGluJztcbmltcG9ydCB7IExlYWRlck5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcyc7XG5cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFRlYW1FZmZlY3RzIGV4dGVuZHMgRXh0cmFNZW1iZXJzTWl4aW4ge1xuICBwcml2YXRlIGFjdGlvbnMkID0gaW5qZWN0KEFjdGlvbnMpO1xuICBwcml2YXRlIGxlYWRlck5vdGlmaWNhdGlvblNlcnZpY2UgPSBpbmplY3QoTGVhZGVyTm90aWZpY2F0aW9uU2VydmljZSk7XG5cbiAgZGVsZXRlVGVhbU1lbWJlciQgID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShkZWxldGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmRlbGV0ZVRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKHN1Y2Nlc3M6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGlmIChzdWNjZXNzKSB7XG4gICAgICAgICAgICAgIHJldHVybiBkZWxldGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDoge3RlYW1JZDogcGF5bG9hZC50ZWFtSWQsIGlkOiBwYXlsb2FkLmlkfX0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtcbiAgICAgICAgICAgICAgICBwYXlsb2FkOiBuZXcgSHR0cEVycm9yUmVzcG9uc2Uoe3N0YXR1czogNDAwfSlcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGRlbGV0ZVRlYW1MZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDoge2NsdWJJZDogc3RyaW5nLCBtZW1iZXJJZHM/OiBBcnJheTxzdHJpbmc+fX0pID0+XG4gICAgICAgIHRoaXMudGVhbVNlcnZpY2UuZ2V0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXMocGF5bG9hZC5jbHViSWQsIHBheWxvYWQubWVtYmVySWRzID8/IFtdKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKCh0ZWFtczogQ29sbGVjdGlvbjxTZWFyY2hUZWFtPikgPT4gbGlzdEdlbmVyYWxseUF2YWlsYWJsZVRlYW1zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogdGVhbXMudG9BcnJheSgpfSkpLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihsaXN0R2VuZXJhbGx5QXZhaWxhYmxlVGVhbXNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RMZWFkZXJOb3RpZmljYXRpb25zJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdExlYWRlck5vdGlmaWNhdGlvbnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7cGF5bG9hZDogc3RyaW5nfSkgPT5cbiAgICAgICAgdGhpcy5sZWFkZXJOb3RpZmljYXRpb25TZXJ2aWNlLmdldExlYWRlck5vdGlmaWNhdGlvbnMocGF5bG9hZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgoYWN0aXZpdGllczogQ29sbGVjdGlvbjxMZWFkZXJBY3Rpdml0eT4pID0+IGxpc3RMZWFkZXJOb3RpZmljYXRpb25zU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogYWN0aXZpdGllcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RMZWFkZXJOb3RpZmljYXRpb25zRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0TWVtYmVyVGVhbXMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyVGVhbXNBY3Rpb24pLFxuICAgICAgbWVyZ2VNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IEFycmF5PHN0cmluZz59KSA9PlxuICAgICAgICBmb3JrSm9pbihwYXlsb2FkLm1hcCgoaWQ6IHN0cmluZykgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtcyhpZClcbiAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgIG1hcCgodGVhbXM6IENvbGxlY3Rpb248U2VhcmNoVGVhbT4pID0+ICh7aWQsIHRlYW1zOiB0ZWFtcy50b0FycmF5KCl9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHtpZCwgZXJyb3J9KSlcbiAgICAgICAgICApXG4gICAgICAgICkpLnBpcGUoXG4gICAgICAgICAgbWVyZ2VNYXAoKHJlc3VsdHM6IEFycmF5PHtpZDogc3RyaW5nLCBlcnJvcj86IEh0dHBFcnJvclJlc3BvbnNlLCB0ZWFtcz86IEFycmF5PFNlYXJjaFRlYW0+fT4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdE1hcCA9IG5ldyBNYXA8c3RyaW5nLCBBcnJheTxTZWFyY2hUZWFtPj4oKTtcbiAgICAgICAgICAgIGNvbnN0IGVycm9ycyA9IHJlc3VsdHMuZmlsdGVyKHJlc3VsdCA9PiByZXN1bHQuZXJyb3IpO1xuICAgICAgICAgICAgaWYgKGVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJUZWFtc0ZhaWx1cmVBY3Rpb24oeyBwYXlsb2FkOiBlcnJvcnNbMF0uZXJyb3IgYXMgSHR0cEVycm9yUmVzcG9uc2UgfSkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXN1bHRzLmZvckVhY2gocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgaWYgKHJlc3VsdC50ZWFtcykge1xuICAgICAgICAgICAgICAgIHJlc3VsdE1hcC5zZXQocmVzdWx0LmlkLCByZXN1bHQudGVhbXMpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgcmV0dXJuIG9mKGxpc3RNZW1iZXJUZWFtc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IHJlc3VsdE1hcH0pKTtcbiAgICAgICAgICB9KVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHsgcGF5bG9hZCB9OiB7IHBheWxvYWQ6IHsgbWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZywgcTogc3RyaW5nIH0gfSkgPT5cbiAgICAgICAgdGhpcy5tZW1iZXJMZWFkZXJHZXRBbGxFeHRyYU1lbWJlcnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChleHRyYU1lbWJlcnM6IEFycmF5PEFjdGl2aXR5RXh0cmFNZW1iZXI+KSA9PiBsaXN0TWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbih7IHBheWxvYWQ6IGV4dHJhTWVtYmVycyB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RNZW1iZXJMZWFkZXJFeHRyYU1lbWJlcnNGYWlsdXJlQWN0aW9uKHsgcGF5bG9hZDogZXJyb3IgfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgbGlzdE1lbWJlckxlYWRlck1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0TWVtYmVyTGVhZGVyTWVtYmVyc0FjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgaWQ6IHN0cmluZywgcTogc3RyaW5nfX0pID0+XG4gICAgICAgIHRoaXMubWVtYmVyTGVhZGVyR2V0YUFsbE1lbWJlcnMocGF5bG9hZC5tZW1iZXJJZCwgcGF5bG9hZC5pZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IGxpc3RNZW1iZXJMZWFkZXJNZW1iZXJzU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyc30pKSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YobGlzdE1lbWJlckxlYWRlck1lbWJlcnNGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUobGlzdFRlYW1MZWFkZXJFeHRyYU1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsRXh0cmFNZW1iZXJzKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLnEpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGV4dHJhTWVtYmVyczogQXJyYXk8QWN0aXZpdHlFeHRyYU1lbWJlcj4pID0+IGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzU3VjY2Vzc0FjdGlvbih7XG4gICAgICAgICAgICAgIHBheWxvYWQ6IHtcbiAgICAgICAgICAgICAgICB0ZWFtSWQ6IHBheWxvYWQudGVhbUlkLFxuICAgICAgICAgICAgICAgIHJlc3VsdHM6IGV4dHJhTWVtYmVyc1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTGVhZGVyRXh0cmFNZW1iZXJzRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICBsaXN0VGVhbUxlYWRlck1lbWJlcnMkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShsaXN0VGVhbUxlYWRlck1lbWJlcnNBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyB0ZWFtSWQ6IHN0cmluZywgcTogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtTGVhZGVyR2V0QWxsTWVtYmVycyhwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5xKVxuICAgICAgICAgIC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZW1iZXJzOiBBcnJheTxNZW1iZXJUZWFtVGhyb3VnaD4pID0+IGxpc3RUZWFtTGVhZGVyTWVtYmVyc1N1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcnN9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKGxpc3RUZWFtTGVhZGVyTWVtYmVyc0ZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJHcm91cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBBY3Rpb24pLFxuICAgICAgZXhoYXVzdE1hcCgoe3BheWxvYWR9OiB7XG4gICAgICAgICAgcGF5bG9hZDogeyBtZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nIH1cbiAgICAgICAgfSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQuaWQpXG4gICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGdyb3VwOiBNZW1iZXJUZWFtKSA9PiByZXRyaWV2ZU1lbWJlckxlYWRlckdyb3VwU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogZ3JvdXB9KSksXG4gICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlTWVtYmVyTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHttZW1iZXJJZDogc3RyaW5nLCB0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldE1lbWJlclRlYW1FeHRyYU1lbWJlcihwYXlsb2FkLm1lbWJlcklkLCBwYXlsb2FkLnRlYW1JZCwgcGF5bG9hZC5pZClcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IEFjdGl2aXR5RXh0cmFNZW1iZXIpID0+IHJldHJpZXZlTWVtYmVyTGVhZGVyRXh0cmFNZW1iZXJTdWNjZXNzQWN0aW9uKHtwYXlsb2FkOiBtZW1iZXJ9KSksXG4gICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3I6IEh0dHBFcnJvclJlc3BvbnNlKSA9PiBvZihyZXRyaWV2ZU1lbWJlckxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZShyZXRyaWV2ZU1lbWJlckxlYWRlck1lbWJlckFjdGlvbiksXG4gICAgICBleGhhdXN0TWFwKCh7cGF5bG9hZH06IHtwYXlsb2FkOiB7bWVtYmVySWQ6IHN0cmluZywgdGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmd9fSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRNZW1iZXJUZWFtTWVtYmVyKHBheWxvYWQubWVtYmVySWQsIHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2gpID0+IHJldHJpZXZlTWVtYmVyTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVNZW1iZXJMZWFkZXJNZW1iZXJGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cCQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlckdyb3VwQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfTogeyBwYXlsb2FkOiBzdHJpbmcgfSkgPT4gdGhpcy50ZWFtU2VydmljZS5nZXRUZWFtTGVhZGVyVGVhbShwYXlsb2FkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKGdyb3VwOiBNZW1iZXJUZWFtKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJHcm91cFN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IGdyb3VwfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YocmV0cmlldmVUZWFtTGVhZGVyR3JvdXBGYWlsdXJlQWN0aW9uKHtwYXlsb2FkOiBlcnJvcn0pKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgIClcbiAgKTtcblxuICByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlciQgPSBjcmVhdGVFZmZlY3QoKCkgPT4gdGhpcy5hY3Rpb25zJFxuICAgIC5waXBlKFxuICAgICAgb2ZUeXBlKHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldFRlYW1MZWFkZXJUZWFtRXh0cmFNZW1iZXIocGF5bG9hZC50ZWFtSWQsIHBheWxvYWQuaWQpXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG1hcCgobWVtYmVyOiBBY3Rpdml0eUV4dHJhTWVtYmVyKSA9PiByZXRyaWV2ZVRlYW1MZWFkZXJFeHRyYU1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlckV4dHJhTWVtYmVyRmFpbHVyZUFjdGlvbih7cGF5bG9hZDogZXJyb3J9KSkpXG4gICAgICAgIClcbiAgICAgIClcbiAgICApXG4gICk7XG5cbiAgcmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyJCA9IGNyZWF0ZUVmZmVjdCgoKSA9PiB0aGlzLmFjdGlvbnMkXG4gICAgLnBpcGUoXG4gICAgICBvZlR5cGUocmV0cmlldmVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZ319KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLmdldFRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkKVxuICAgICAgICAucGlwZShcbiAgICAgICAgICBtYXAoKG1lbWJlcjogTWVtYmVyVGVhbVRocm91Z2gpID0+IHJldHJpZXZlVGVhbUxlYWRlck1lbWJlclN1Y2Nlc3NBY3Rpb24oe3BheWxvYWQ6IG1lbWJlcn0pKSxcbiAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpID0+IG9mKHJldHJpZXZlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xuXG4gIHVwZGF0ZVRlYW1MZWFkZXJNZW1iZXIkID0gY3JlYXRlRWZmZWN0KCgpID0+IHRoaXMuYWN0aW9ucyRcbiAgICAucGlwZShcbiAgICAgIG9mVHlwZSh1cGRhdGVUZWFtTGVhZGVyTWVtYmVyQWN0aW9uKSxcbiAgICAgIGV4aGF1c3RNYXAoKHtwYXlsb2FkfToge3BheWxvYWQ6IHt0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZywgbWVtYmVyOiBNZW1iZXJUZWFtVGhyb3VnaH19KSA9PiB0aGlzLnRlYW1TZXJ2aWNlLnVwZGF0ZVRlYW1MZWFkZXJUZWFtTWVtYmVyKHBheWxvYWQudGVhbUlkLCBwYXlsb2FkLmlkLCBwYXlsb2FkLm1lbWJlcilcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgbWFwKChtZW1iZXI6IE1lbWJlclRlYW1UaHJvdWdoKSA9PiB1cGRhdGVUZWFtTGVhZGVyTWVtYmVyU3VjY2Vzc0FjdGlvbih7cGF5bG9hZDogbWVtYmVyfSkpLFxuICAgICAgICAgIGNhdGNoRXJyb3IoKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSkgPT4gb2YodXBkYXRlVGVhbUxlYWRlck1lbWJlckZhaWx1cmVBY3Rpb24oe3BheWxvYWQ6IGVycm9yfSkpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKVxuICApO1xufVxuIl19