@myclub_se/data-access 2.6.1 → 2.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/api-models/api-member/api-other-member-field.mjs +2 -0
- package/esm2020/lib/api-models/api-member/api-other-member.mjs +2 -0
- package/esm2020/lib/api-models/api-member/index.mjs +3 -1
- package/esm2020/lib/api-models/api-search-club.mjs +1 -1
- package/esm2020/lib/models/activity-location-group.mjs +11 -1
- package/esm2020/lib/models/member/index.mjs +3 -1
- package/esm2020/lib/models/member/other-member-field.mjs +8 -0
- package/esm2020/lib/models/member/other-member.mjs +13 -0
- package/esm2020/lib/models/search-club.mjs +3 -2
- package/esm2020/lib/services/activity.service.mjs +42 -1
- package/esm2020/lib/services/factories/index.mjs +3 -1
- package/esm2020/lib/services/factories/other-member-factory.mjs +4 -0
- package/esm2020/lib/services/factories/other-member-field-factory.mjs +3 -0
- package/esm2020/lib/services/factories/search-club-factory.mjs +2 -2
- package/esm2020/lib/services/member.service.mjs +10 -10
- package/fesm2015/myclub_se-data-access.mjs +87 -11
- package/fesm2015/myclub_se-data-access.mjs.map +1 -1
- package/fesm2020/myclub_se-data-access.mjs +87 -11
- package/fesm2020/myclub_se-data-access.mjs.map +1 -1
- package/lib/api-models/api-member/api-other-member-field.d.ts +5 -0
- package/lib/api-models/api-member/api-other-member.d.ts +11 -0
- package/lib/api-models/api-member/index.d.ts +2 -0
- package/lib/api-models/api-search-club.d.ts +1 -0
- package/lib/models/activity-location-group.d.ts +9 -1
- package/lib/models/member/index.d.ts +2 -0
- package/lib/models/member/other-member-field.d.ts +6 -0
- package/lib/models/member/other-member.d.ts +12 -0
- package/lib/models/search-club.d.ts +2 -1
- package/lib/services/activity.service.d.ts +11 -5
- package/lib/services/factories/index.d.ts +2 -0
- package/lib/services/factories/other-member-factory.d.ts +3 -0
- package/lib/services/factories/other-member-field-factory.d.ts +3 -0
- package/lib/services/member.service.d.ts +5 -5
- package/package.json +1 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW90aGVyLW1lbWJlci1maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvYXBpLW1vZGVscy9hcGktbWVtYmVyL2FwaS1vdGhlci1tZW1iZXItZmllbGQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgQXBpT3RoZXJNZW1iZXJGaWVsZCB7XG4gIGRpc3BsYXlfbmFtZTogc3RyaW5nO1xuICBmaWVsZF9uYW1lOiBzdHJpbmc7XG4gIHZhbHVlOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLW90aGVyLW1lbWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvYXBpLW1vZGVscy9hcGktbWVtYmVyL2FwaS1vdGhlci1tZW1iZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwaU90aGVyTWVtYmVyRmllbGQgfSBmcm9tICcuL2FwaS1vdGhlci1tZW1iZXItZmllbGQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaU90aGVyTWVtYmVyIHtcbiAgaWQ6IHN0cmluZztcbiAgY3JlYXRlZDogc3RyaW5nO1xuICBjb3VudHJ5OiBzdHJpbmc7XG4gIGZpcnN0X25hbWU6IHN0cmluZztcbiAgaW1hZ2U6IHN0cmluZztcbiAgbGFzdF9uYW1lOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgZmllbGRzOiBBcnJheTxBcGlPdGhlck1lbWJlckZpZWxkPjtcbn1cbiJdfQ==
|
|
@@ -4,5 +4,7 @@ export * from './api-member-attribute';
|
|
|
4
4
|
export * from './api-member-contact';
|
|
5
5
|
export * from './api-member-function';
|
|
6
6
|
export * from './api-member-validation-settings';
|
|
7
|
+
export * from './api-other-member';
|
|
8
|
+
export * from './api-other-member-field';
|
|
7
9
|
export * from './api-search-member';
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL2FwaS1tb2RlbHMvYXBpLW1lbWJlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hcGktY29udGFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1tZW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktbWVtYmVyLWF0dHJpYnV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1tZW1iZXItY29udGFjdCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1tZW1iZXItZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktbWVtYmVyLXZhbGlkYXRpb24tc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9hcGktb3RoZXItbWVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vYXBpLW90aGVyLW1lbWJlci1maWVsZCc7XG5leHBvcnQgKiBmcm9tICcuL2FwaS1zZWFyY2gtbWVtYmVyJztcbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXNlYXJjaC1jbHViLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9hcGktbW9kZWxzL2FwaS1zZWFyY2gtY2x1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBBcGlTZWFyY2hDbHViIHtcbiAgaWQ6IHN0cmluZztcbiAgbGVhZGVyX21lbWJlcl9zZWFyY2g6IGJvb2xlYW47XG4gIG1lbWJlcl9zZWFyY2g6IGJvb2xlYW47XG4gIG1lbWJlcl92aWV3OiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG59XG4iXX0=
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FormControl, FormGroup, Validators } from "@angular/forms";
|
|
1
2
|
export class ActivityLocationGroup {
|
|
2
3
|
constructor(id, club_id, section_id, active, name, locations) {
|
|
3
4
|
this.id = id;
|
|
@@ -7,5 +8,14 @@ export class ActivityLocationGroup {
|
|
|
7
8
|
this.name = name;
|
|
8
9
|
this.locations = locations;
|
|
9
10
|
}
|
|
11
|
+
static asFormGroup(locationGroup) {
|
|
12
|
+
return new FormGroup({
|
|
13
|
+
id: new FormControl(locationGroup?.id || ''),
|
|
14
|
+
club_id: new FormControl(locationGroup?.club_id || '', Validators.required),
|
|
15
|
+
section_id: new FormControl(locationGroup?.section_id || ''),
|
|
16
|
+
name: new FormControl(locationGroup?.name || '', Validators.required),
|
|
17
|
+
active: new FormControl(typeof locationGroup?.active !== 'undefined' ? locationGroup?.active : false),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
10
20
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHktbG9jYXRpb24tZ3JvdXAuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL21vZGVscy9hY3Rpdml0eS1sb2NhdGlvbi1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRSxNQUFNLE9BQU8scUJBQXFCO0lBV2hDLFlBQ1MsRUFBVSxFQUNWLE9BQWUsRUFDZixVQUF5QixFQUN6QixNQUFlLEVBQ2YsSUFBWSxFQUNaLFNBQXlDO1FBTHpDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFDVixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQ2YsZUFBVSxHQUFWLFVBQVUsQ0FBZTtRQUN6QixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBQ2YsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUNaLGNBQVMsR0FBVCxTQUFTLENBQWdDO0lBRWxELENBQUM7SUFsQkQsTUFBTSxDQUFDLFdBQVcsQ0FBQyxhQUFxQztRQUN0RCxPQUFPLElBQUksU0FBUyxDQUFDO1lBQ25CLEVBQUUsRUFBRSxJQUFJLFdBQVcsQ0FBUyxhQUFhLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQztZQUNwRCxPQUFPLEVBQUUsSUFBSSxXQUFXLENBQVMsYUFBYSxFQUFFLE9BQU8sSUFBSSxFQUFFLEVBQUUsVUFBVSxDQUFDLFFBQVEsQ0FBQztZQUNuRixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQVMsYUFBYSxFQUFFLFVBQVUsSUFBSSxFQUFFLENBQUM7WUFDcEUsSUFBSSxFQUFFLElBQUksV0FBVyxDQUFTLGFBQWEsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLFVBQVUsQ0FBQyxRQUFRLENBQUM7WUFDN0UsTUFBTSxFQUFFLElBQUksV0FBVyxDQUFVLE9BQU8sYUFBYSxFQUFFLE1BQU0sS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUMvRyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBV0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0FjdGl2aXR5TG9jYXRpb259IGZyb20gXCIuXCI7XG5pbXBvcnQge0Zvcm1Db250cm9sLCBGb3JtR3JvdXAsIFZhbGlkYXRvcnN9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlMb2NhdGlvbkdyb3VwIHtcbiAgc3RhdGljIGFzRm9ybUdyb3VwKGxvY2F0aW9uR3JvdXA/OiBBY3Rpdml0eUxvY2F0aW9uR3JvdXApIHtcbiAgICByZXR1cm4gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBpZDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obG9jYXRpb25Hcm91cD8uaWQgfHwgJycpLFxuICAgICAgY2x1Yl9pZDogbmV3IEZvcm1Db250cm9sPHN0cmluZz4obG9jYXRpb25Hcm91cD8uY2x1Yl9pZCB8fCAnJywgVmFsaWRhdG9ycy5yZXF1aXJlZCksXG4gICAgICBzZWN0aW9uX2lkOiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nPihsb2NhdGlvbkdyb3VwPy5zZWN0aW9uX2lkIHx8ICcnKSxcbiAgICAgIG5hbWU6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmc+KGxvY2F0aW9uR3JvdXA/Lm5hbWUgfHwgJycsIFZhbGlkYXRvcnMucmVxdWlyZWQpLFxuICAgICAgYWN0aXZlOiBuZXcgRm9ybUNvbnRyb2w8Ym9vbGVhbj4odHlwZW9mIGxvY2F0aW9uR3JvdXA/LmFjdGl2ZSAhPT0gJ3VuZGVmaW5lZCcgPyBsb2NhdGlvbkdyb3VwPy5hY3RpdmUgOiBmYWxzZSksXG4gICAgfSk7XG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgaWQ6IHN0cmluZyxcbiAgICBwdWJsaWMgY2x1Yl9pZDogc3RyaW5nLFxuICAgIHB1YmxpYyBzZWN0aW9uX2lkOiBzdHJpbmcgfCBudWxsLFxuICAgIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW4sXG4gICAgcHVibGljIG5hbWU6IHN0cmluZyxcbiAgICBwdWJsaWMgbG9jYXRpb25zOiBBcnJheTxBY3Rpdml0eUxvY2F0aW9uPiB8IG51bGwsXG4gICkge1xuICB9XG59XG4iXX0=
|
|
@@ -3,5 +3,7 @@ export * from './member-attribute';
|
|
|
3
3
|
export * from './member-contact';
|
|
4
4
|
export * from './member-function';
|
|
5
5
|
export * from './member-validation-settings';
|
|
6
|
+
export * from './other-member';
|
|
7
|
+
export * from './other-member-field';
|
|
6
8
|
export * from './search-member';
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL21vZGVscy9tZW1iZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsbUJBQW1CLENBQUM7QUFDbEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbWVtYmVyJztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWF0dHJpYnV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL21lbWJlci1jb250YWN0JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWZ1bmN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLXZhbGlkYXRpb24tc2V0dGluZ3MnO1xuZXhwb3J0ICogZnJvbSAnLi9vdGhlci1tZW1iZXInO1xuZXhwb3J0ICogZnJvbSAnLi9vdGhlci1tZW1iZXItZmllbGQnO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtbWVtYmVyJztcbiJdfQ==
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export class OtherMemberField {
|
|
2
|
+
constructor(displayName, fieldName, value) {
|
|
3
|
+
this.displayName = displayName;
|
|
4
|
+
this.fieldName = fieldName;
|
|
5
|
+
this.value = value;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItbWVtYmVyLWZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9tb2RlbHMvbWVtYmVyL290aGVyLW1lbWJlci1maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZ0JBQWdCO0lBQzNCLFlBQTRCLFdBQW1CLEVBQWtCLFNBQWlCLEVBQWtCLEtBQWE7UUFBckYsZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFBa0IsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUFrQixVQUFLLEdBQUwsS0FBSyxDQUFRO0lBQ2pILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBPdGhlck1lbWJlckZpZWxkIHtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGRpc3BsYXlOYW1lOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBmaWVsZE5hbWU6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IHZhbHVlOiBzdHJpbmcpIHtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export class OtherMember {
|
|
2
|
+
constructor(id, country, created, firstName, image, lastName, name, fields) {
|
|
3
|
+
this.id = id;
|
|
4
|
+
this.country = country;
|
|
5
|
+
this.created = created;
|
|
6
|
+
this.firstName = firstName;
|
|
7
|
+
this.image = image;
|
|
8
|
+
this.lastName = lastName;
|
|
9
|
+
this.name = name;
|
|
10
|
+
this.fields = fields;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItbWVtYmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YS1hY2Nlc3Mvc3JjL2xpYi9tb2RlbHMvbWVtYmVyL290aGVyLW1lbWJlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUE0QixFQUFVLEVBQWtCLE9BQWUsRUFBa0IsT0FBZSxFQUM1RSxTQUFpQixFQUFrQixLQUFhLEVBQWtCLFFBQWdCLEVBQ2xGLElBQVksRUFBa0IsTUFBK0I7UUFGN0QsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUFrQixZQUFPLEdBQVAsT0FBTyxDQUFRO1FBQWtCLFlBQU8sR0FBUCxPQUFPLENBQVE7UUFDNUUsY0FBUyxHQUFULFNBQVMsQ0FBUTtRQUFrQixVQUFLLEdBQUwsS0FBSyxDQUFRO1FBQWtCLGFBQVEsR0FBUixRQUFRLENBQVE7UUFDbEYsU0FBSSxHQUFKLElBQUksQ0FBUTtRQUFrQixXQUFNLEdBQU4sTUFBTSxDQUF5QjtJQUN6RixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPdGhlck1lbWJlckZpZWxkIH0gZnJvbSAnLi9vdGhlci1tZW1iZXItZmllbGQnO1xuXG5leHBvcnQgY2xhc3MgT3RoZXJNZW1iZXIge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgaWQ6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGNvdW50cnk6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGNyZWF0ZWQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgcHVibGljIHJlYWRvbmx5IGZpcnN0TmFtZTogc3RyaW5nLCBwdWJsaWMgcmVhZG9ubHkgaW1hZ2U6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IGxhc3ROYW1lOiBzdHJpbmcsXG4gICAgICAgICAgICAgIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmcsIHB1YmxpYyByZWFkb25seSBmaWVsZHM6IEFycmF5PE90aGVyTWVtYmVyRmllbGQ+KSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
export class SearchClub {
|
|
2
|
-
constructor(id, leader_member_search, member_search, name) {
|
|
2
|
+
constructor(id, leader_member_search, member_search, member_view, name) {
|
|
3
3
|
this.id = id;
|
|
4
4
|
this.leader_member_search = leader_member_search;
|
|
5
5
|
this.member_search = member_search;
|
|
6
|
+
this.member_view = member_view;
|
|
6
7
|
this.name = name;
|
|
7
8
|
}
|
|
8
9
|
}
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNsdWIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL21vZGVscy9zZWFyY2gtY2x1Yi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sVUFBVTtJQUNyQixZQUFtQixFQUFVLEVBQVMsb0JBQTZCLEVBQVMsYUFBc0IsRUFDL0UsV0FBb0IsRUFBUyxJQUFZO1FBRHpDLE9BQUUsR0FBRixFQUFFLENBQVE7UUFBUyx5QkFBb0IsR0FBcEIsb0JBQW9CLENBQVM7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBUztRQUMvRSxnQkFBVyxHQUFYLFdBQVcsQ0FBUztRQUFTLFNBQUksR0FBSixJQUFJLENBQVE7SUFDNUQsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIFNlYXJjaENsdWIge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgaWQ6IHN0cmluZywgcHVibGljIGxlYWRlcl9tZW1iZXJfc2VhcmNoOiBib29sZWFuLCBwdWJsaWMgbWVtYmVyX3NlYXJjaDogYm9vbGVhbixcbiAgICAgICAgICAgICAgcHVibGljIG1lbWJlcl92aWV3OiBib29sZWFuLCBwdWJsaWMgbmFtZTogc3RyaW5nKSB7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -26,6 +26,7 @@ const TEAM_CALENDAR_PATH = ':teamId/activities/calendar/';
|
|
|
26
26
|
const CLUB_ACTIVITY_LOCATIONS_PATH = ':clubId/activities/locations/';
|
|
27
27
|
const CLUB_ACTIVITY_LOCATION_PATH = ':clubId/activities/locations/:locationId/';
|
|
28
28
|
const CLUB_ACTIVITY_LOCATION_GROUPS_PATH = ':clubId/activities/locations/groups/';
|
|
29
|
+
const CLUB_ACTIVITY_LOCATION_GROUP_PATH = ':clubId/activities/locations/groups/:groupId/';
|
|
29
30
|
const CLUB_ACTIVITY_LOCATION_TAGS_PATH = ':clubId/activities/locations/tags/';
|
|
30
31
|
const CLUB_ACTIVITY_LOCATION_PARTS_PATH = ':clubId/activities/locations/:locationId/parts/';
|
|
31
32
|
const TEAM_ACTIVITY_LOCATIONS_PATH = ':teamId/activities/locations/';
|
|
@@ -35,6 +36,7 @@ const TEAM_ACTIVITY_LOCATION_PARTS_PATH = ':teamId/activities/locations/:locatio
|
|
|
35
36
|
const SECTION_ACTIVITY_LOCATIONS_PATH = ':sectionId/activities/locations/';
|
|
36
37
|
const SECTION_ACTIVITY_LOCATION_PATH = ':sectionId/activities/locations/:locationId/';
|
|
37
38
|
const SECTION_ACTIVITY_LOCATION_GROUPS_PATH = ':sectionId/activities/locations/groups/';
|
|
39
|
+
const SECTION_ACTIVITY_LOCATION_GROUP_PATH = ':sectionId/activities/locations/groups/:groupId/';
|
|
38
40
|
const SECTION_ACTIVITY_LOCATION_TAGS_PATH = ':sectionId/activities/locations/tags/';
|
|
39
41
|
const SECTION_ACTIVITY_LOCATION_PARTS_PATH = ':sectionId/activities/locations/:locationId/parts/';
|
|
40
42
|
export class ActivityService {
|
|
@@ -189,6 +191,45 @@ export class ActivityService {
|
|
|
189
191
|
return this.apiService
|
|
190
192
|
.getCollection(activityLocationGroupFactory, Role.TeamAdmin, TEAM_ACTIVITY_LOCATION_GROUPS_PATH, { teamId }, { params: { limit: 'null' } });
|
|
191
193
|
}
|
|
194
|
+
updateActivityLocationGroup(role, clubOrSectionOrTeamId, locationGroup) {
|
|
195
|
+
if (role === Role.ClubAdmin) {
|
|
196
|
+
return this.updateClubActivityLocationGroup(clubOrSectionOrTeamId, locationGroup);
|
|
197
|
+
}
|
|
198
|
+
return this.updateSectionActivityLocationGroup(clubOrSectionOrTeamId, locationGroup);
|
|
199
|
+
}
|
|
200
|
+
updateClubActivityLocationGroup(clubId, locationGroup) {
|
|
201
|
+
return this.apiService
|
|
202
|
+
.updateResource(activityLocationGroupFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_GROUP_PATH, {
|
|
203
|
+
clubId,
|
|
204
|
+
groupId: locationGroup.id
|
|
205
|
+
}, locationGroup);
|
|
206
|
+
}
|
|
207
|
+
updateSectionActivityLocationGroup(sectionId, locationGroup) {
|
|
208
|
+
return this.apiService
|
|
209
|
+
.updateResource(activityLocationGroupFactory, Role.SectionAdmin, SECTION_ACTIVITY_LOCATION_GROUP_PATH, {
|
|
210
|
+
sectionId,
|
|
211
|
+
groupId: locationGroup.id
|
|
212
|
+
}, locationGroup);
|
|
213
|
+
}
|
|
214
|
+
createActivityLocationGroup(role, clubOrSectionOrTeamId, locationGroup) {
|
|
215
|
+
if (role === Role.ClubAdmin) {
|
|
216
|
+
return this.createClubActivityLocationGroup(clubOrSectionOrTeamId, locationGroup);
|
|
217
|
+
}
|
|
218
|
+
return this.createSectionActivityLocationGroup(clubOrSectionOrTeamId, locationGroup);
|
|
219
|
+
}
|
|
220
|
+
createClubActivityLocationGroup(clubId, locationGroup) {
|
|
221
|
+
delete locationGroup.id;
|
|
222
|
+
return this.apiService
|
|
223
|
+
.postResource(activityLocationGroupFactory, Role.ClubAdmin, CLUB_ACTIVITY_LOCATION_GROUPS_PATH, {
|
|
224
|
+
clubId,
|
|
225
|
+
}, locationGroup);
|
|
226
|
+
}
|
|
227
|
+
createSectionActivityLocationGroup(sectionId, locationGroup) {
|
|
228
|
+
return this.apiService
|
|
229
|
+
.postResource(activityLocationGroupFactory, Role.SectionAdmin, SECTION_ACTIVITY_LOCATION_GROUPS_PATH, {
|
|
230
|
+
sectionId,
|
|
231
|
+
}, locationGroup);
|
|
232
|
+
}
|
|
192
233
|
getActivityLocationTags(role, clubOrSectionOrTeamId) {
|
|
193
234
|
if (role == Role.ClubAdmin) {
|
|
194
235
|
return this.getClubActivityLocationTags(clubOrSectionOrTeamId);
|
|
@@ -390,4 +431,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
390
431
|
providedIn: 'root'
|
|
391
432
|
}]
|
|
392
433
|
}], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
|
|
393
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvYWN0aXZpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFPTCxJQUFJLEdBQ0wsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLG1CQUFtQixHQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzdCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7QUFFdkYsTUFBTSwyQkFBMkIsR0FBRyx5Q0FBeUMsQ0FBQztBQUM5RSxNQUFNLDRCQUE0QixHQUFHLHVCQUF1QixDQUFDO0FBQzdELE1BQU0sb0JBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDOUQsTUFBTSwyQkFBMkIsR0FBRyx3QkFBd0IsQ0FBQztBQUM3RCxNQUFNLG9CQUFvQixHQUFHLHFCQUFxQixDQUFDO0FBQ25ELE1BQU0sMEJBQTBCLEdBQUcseUNBQXlDLENBQUM7QUFDN0UsTUFBTSx5QkFBeUIsR0FBRywyREFBMkQsQ0FBQztBQUM5RixNQUFNLGdDQUFnQyxHQUFHLHlFQUF5RSxDQUFDO0FBQ25ILE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLENBQUM7QUFDekQsTUFB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aW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBY3Rpdml0eSxcbiAgQWN0aXZpdHlMb2NhdGlvbixcbiAgQWN0aXZpdHlMb2NhdGlvblRhZyxcbiAgQWN0aXZpdHlUeXBlLFxuICBDb2xsZWN0aW9uLFxuICBNZW1iZXJBY3Rpdml0eUludml0ZSxcbiAgUm9sZSxcbn0gZnJvbSAnLi4vbW9kZWxzJztcbmltcG9ydCB7dGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge29mfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGFjdGl2aXR5RmFjdG9yeSxcbiAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICBhY3Rpdml0eUxvY2F0aW9uRmFjdG9yeSxcbiAgYWN0aXZpdHlMb2NhdGlvbkdyb3VwRmFjdG9yeSxcbiAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gIGFjdGl2aXR5U2V0dGluZ3NGYWN0b3J5LFxuICBhY3Rpdml0eVR5cGVGYWN0b3J5LFxuICBldmVudEZhY3RvcnksXG4gIG1lbWJlckFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgc2VhcmNoTWVtYmVyRmFjdG9yeSxcbn0gZnJvbSAnLi9mYWN0b3JpZXMnO1xuaW1wb3J0IHtzdWJ9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7YWN0aXZpdHlMb2NhdGlvblBhcnRGYWN0b3J5fSBmcm9tIFwiLi9mYWN0b3JpZXMvYWN0aXZpdHktbG9jYXRpb24tcGFydC1mYWN0b3J5XCI7XG5cbmNvbnN0IE1FTUJFUl9BQ1RJVklUWV9JTlZJVEVfUEFUSCA9ICc6bWVtYmVySWQvYWN0aXZpdGllcy86YWN0aXZpdHlJbnZpdGVJZC8nO1xuY29uc3QgTUVNQkVSX0FDVElWSVRZX0lOVklURVNfUEFUSCA9ICc6bWVtYmVySWQvYWN0aXZpdGllcy8nO1xuY29uc3QgTUVNQkVSX0NBTEVOREFSX1BBVEggPSAnOm1lbWJlcklkL2FjdGl2aXRpZXMvY2FsZW5kYXIvJztcbmNvbnN0IFBVQkxJQ19BQ1RJVklUWV9JTlZJVEVfUEFUSCA9ICdhY3Rpdml0aWVzLzppZC86dG9rZW4vJztcbmNvbnN0IFRFQU1fQUNUSVZJVElFU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9JTlZJVEVTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzLzphY3Rpdml0eUlkL2ludml0ZXMvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfSU5WSVRFX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzLzphY3Rpdml0eUlkL2ludml0ZXMvOmFjdGl2aXR5SW52aXRlSWQvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfSU5WSVRFX1JFU0VORF9QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy86YWN0aXZpdHlJZC9pbnZpdGVzLzphY3Rpdml0eUludml0ZUlkL3Jlc2VuZC1pbnZpdGUvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfTkVXX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL25ldy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9QQVJUSUNJUEFOVFNfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvOmFjdGl2aXR5SWQvcGFydGljaXBhbnRzLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzLzppZC8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9TRVRUSU5HU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9zZXR0aW5ncy8nO1xuY29uc3QgU0VDVElPTl9BQ1RJVklUWV9TRVRUSU5HU19QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9zZXR0aW5ncy8nO1xuY29uc3QgQ0xVQl9BQ1RJVklUWV9TRVRUSU5HU19QQVRIID0gJzpjbHViSWQvYWN0aXZpdGllcy9zZXR0aW5ncy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9UWVBFU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy90eXBlcy8nO1xuY29uc3QgVEVBTV9DQUxFTkRBUl9QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9jYWxlbmRhci8nO1xuXG5jb25zdCBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRIID0gJzpjbHViSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvJztcbmNvbnN0IENMVUJfQUNUSVZJVFlfTE9DQVRJT05fUEFUSCA9ICc6Y2x1YklkL2FjdGl2aXRpZXMvbG9jYXRpb25zLzpsb2NhdGlvbklkLyc7XG5jb25zdCBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRIID0gJzpjbHViSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvZ3JvdXBzLyc7XG5jb25zdCBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCA9ICc6Y2x1YklkL2FjdGl2aXRpZXMvbG9jYXRpb25zL3RhZ3MvJztcbmNvbnN0IENMVUJfQUNUSVZJVFlfTE9DQVRJT05fUEFSVFNfUEFUSCA9ICc6Y2x1YklkL2FjdGl2aXRpZXMvbG9jYXRpb25zLzpsb2NhdGlvbklkL3BhcnRzLyc7XG5cbmNvbnN0IFRFQU1fQUNUSVZJVFlfTE9DQVRJT05TX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9MT0NBVElPTl9HUk9VUFNfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvbG9jYXRpb25zL2dyb3Vwcy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9MT0NBVElPTl9UQUdTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy90YWdzLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX0xPQ0FUSU9OX1BBUlRTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy86bG9jYXRpb25JZC9wYXJ0cy8nO1xuXG5jb25zdCBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvJztcbmNvbnN0IFNFQ1RJT05fQUNUSVZJVFlfTE9DQVRJT05fUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zLzpsb2NhdGlvbklkLyc7XG5jb25zdCBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvZ3JvdXBzLyc7XG5jb25zdCBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zL3RhZ3MvJztcbmNvbnN0IFNFQ1RJT05fQUNUSVZJVFlfTE9DQVRJT05fUEFSVFNfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zLzpsb2NhdGlvbklkL3BhcnRzLyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlTZXJ2aWNlIHtcbiAgYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlMb2NhdGlvbj4gfCB1bmRlZmluZWQ7XG4gIGFjdGl2aXR5VHlwZUNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlUeXBlPiB8IHVuZGVmaW5lZDtcblxuICBhY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuICBhY3Rpdml0eVR5cGVSZXNwb25zZURhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gIH1cblxuICBhZGRUZWFtQWN0aXZpdHlJbnZpdGVzKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcsIG1lbWJlcklkczogQXJyYXk8c3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgICgpID0+IHRydWUsXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0lOVklURVNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZW1iZXJzOiBtZW1iZXJJZHNcbiAgICAgICAgfVxuICAgICAgKVxuICB9XG5cbiAgY3JlYXRlVGVhbUFjdGl2aXR5KHRlYW1JZDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPEFjdGl2aXR5Pikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVElFU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucmVtb3ZlVW51c2VkQWN0aXZpdHlGaWVsZHMoZGF0YSlcbiAgICAgIClcbiAgfVxuXG4gIGRlbGV0ZVRlYW1BY3Rpdml0eSh0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlVGVhbUFjdGl2aXR5SW52aXRlKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfSU5WSVRFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgYWN0aXZpdHlJZCxcbiAgICAgICAgICBhY3Rpdml0eUludml0ZUlkXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRNZW1iZXJBY3Rpdml0eUludml0ZShtZW1iZXJJZDogc3RyaW5nLCBhY3Rpdml0eUludml0ZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX0FDVElWSVRZX0lOVklURV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgbWVtYmVySWQsXG4gICAgICAgICAgYWN0aXZpdHlJbnZpdGVJZFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0TWVtYmVyQWN0aXZpdHlJbnZpdGVzKG1lbWJlcklkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7bGltaXQ6ICdudWxsJ307XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLk1lbWJlckFkbWluLFxuICAgICAgICBNRU1CRVJfQUNUSVZJVFlfSU5WSVRFU19QQVRILFxuICAgICAgICB7bWVtYmVySWR9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRNZW1iZXJDYWxlbmRhckV2ZW50cyhtZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBlbmREYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtsaW1pdDogJ251bGwnfTtcblxuICAgIGlmIChzdGFydERhdGUpIHtcbiAgICAgIHBhcmFtc1snc2VhcmNoX3N0YXJ0X2RheSddID0gc3RhcnREYXRlO1xuICAgIH1cblxuICAgIGlmIChlbmREYXRlKSB7XG4gICAgICBwYXJhbXNbJ3NlYXJjaF9lbmRfZGF5J10gPSBlbmREYXRlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBldmVudEZhY3RvcnksXG4gICAgICAgIFJvbGUuTWVtYmVyQWRtaW4sXG4gICAgICAgIE1FTUJFUl9DQUxFTkRBUl9QQVRILFxuICAgICAgICB7bWVtYmVySWR9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zXG4gICAgICAgIH1cbiAgICAgIClcbiAgfVxuXG4gIGdldFB1YmxpY0FjdGl2aXR5SW52aXRlKGlkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgICAgICAgUm9sZS5QdWJsaWMsXG4gICAgICAgIFBVQkxJQ19BQ1RJVklUWV9JTlZJVEVfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRva2VuXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHkodGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfUEFUSCxcbiAgICAgICAge3RlYW1JZCwgaWR9XG4gICAgICApXG4gIH1cblxuICBnZXRBY3Rpdml0eUxvY2F0aW9ucyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQWN0aXZpdHlMb2NhdGlvbnMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBmb3JjZSk7XG4gICAgfSBlbHNlIGlmIChyb2xlID09IFJvbGUuU2VjdGlvbkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbnMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBmb3JjZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFRlYW1BY3Rpdml0eUxvY2F0aW9ucyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGZvcmNlKVxuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25zKHRlYW1JZDogc3RyaW5nLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSAmJiB0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgPiBzdWIobmV3IERhdGUoKSwge2hvdXJzOiAxfSkgJiYgIWZvcmNlKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25GYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9MT0NBVElPTlNfUEFUSCxcbiAgICAgICAge3RlYW1JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICkucGlwZShcbiAgICAgICAgdGFwKChhY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbjogQ29sbGVjdGlvbjxBY3Rpdml0eUxvY2F0aW9uPikgPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbiA9IGFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldENsdWJBY3Rpdml0eUxvY2F0aW9ucyhjbHViSWQ6IHN0cmluZywgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgJiYgdGhpcy5hY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlID4gc3ViKG5ldyBEYXRlKCksIHtob3VyczogMX0pICYmICFmb3JjZSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQUNUSVZJVFlfTE9DQVRJT05TX1BBVEgsXG4gICAgICAgIHtjbHViSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApLnBpcGUoXG4gICAgICAgIHRhcCgoYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlMb2NhdGlvbj4pID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb24gPSBhY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbnMoc2VjdGlvbklkOiBzdHJpbmcsIGZvcmNlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlICYmIHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSA+IHN1YihuZXcgRGF0ZSgpLCB7aG91cnM6IDF9KSAmJiAhZm9yY2UpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvbkZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRILFxuICAgICAgICB7c2VjdGlvbklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKS5waXBlKFxuICAgICAgICB0YXAoKGFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uOiBDb2xsZWN0aW9uPEFjdGl2aXR5TG9jYXRpb24+KSA9PiB7XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uID0gYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlQWN0aXZpdHlMb2NhdGlvbihyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgbG9jYXRpb246IEFjdGl2aXR5TG9jYXRpb24pIHtcbiAgICBpZiAocm9sZSA9PT0gUm9sZS5DbHViQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51cGRhdGVTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbihjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGxvY2F0aW9uKTtcbiAgfVxuXG4gIHVwZGF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uKGNsdWJJZDogc3RyaW5nLCBsb2NhdGlvbjogQWN0aXZpdHlMb2NhdGlvbikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvbkZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgICAgbG9jYXRpb25JZDogbG9jYXRpb24uaWRcbiAgICAgICAgfSxcbiAgICAgICAgbG9jYXRpb25cbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbihzZWN0aW9uSWQ6IHN0cmluZywgbG9jYXRpb246IEFjdGl2aXR5TG9jYXRpb24pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25GYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTl9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkLFxuICAgICAgICAgIGxvY2F0aW9uSWQ6IGxvY2F0aW9uLmlkXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2F0aW9uXG4gICAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZpdHlMb2NhdGlvbkdyb3Vwcyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQWN0aXZpdHlMb2NhdGlvbkdyb3VwcyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkFjdGl2aXR5TG9jYXRpb25Hcm91cHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25Hcm91cHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgfVxuXG4gIGdldENsdWJBY3Rpdml0eUxvY2F0aW9uR3JvdXBzKGNsdWJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7Y2x1YklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uR3JvdXBzKHNlY3Rpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7c2VjdGlvbklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFRlYW1BY3Rpdml0eUxvY2F0aW9uR3JvdXBzKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7dGVhbUlkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldEFjdGl2aXR5TG9jYXRpb25UYWdzKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nKSB7XG4gICAgaWYgKHJvbGUgPT0gUm9sZS5DbHViQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmdldENsdWJBY3Rpdml0eUxvY2F0aW9uVGFncyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkFjdGl2aXR5TG9jYXRpb25UYWdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFRlYW1BY3Rpdml0eUxvY2F0aW9uVGFncyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICB9XG5cbiAgZ2V0Q2x1YkFjdGl2aXR5TG9jYXRpb25UYWdzKGNsdWJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25UYWdGYWN0b3J5LFxuICAgICAgICBSb2xlLkNsdWJBZG1pbixcbiAgICAgICAgQ0xVQl9BQ1RJVklUWV9MT0NBVElPTl9UQUdTX1BBVEgsXG4gICAgICAgIHtjbHViSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkFjdGl2aXR5TG9jYXRpb25UYWdzKHNlY3Rpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25UYWdGYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTl9UQUdTX1BBVEgsXG4gICAgICAgIHtzZWN0aW9uSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25UYWdzKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25UYWdGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9MT0NBVElPTl9UQUdTX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgY3JlYXRlQWN0aXZpdHlMb2NhdGlvblRhZyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgdGFnOiBQYXJ0aWFsPEFjdGl2aXR5TG9jYXRpb25UYWc+KSB7XG4gICAgaWYgKHJvbGUgPT0gUm9sZS5DbHViQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uVGFnKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgdGFnKTtcbiAgICB9IGVsc2UgaWYgKHJvbGUgPT0gUm9sZS5TZWN0aW9uQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmNyZWF0ZVNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uVGFnKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgdGFnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlVGVhbUFjdGl2aXR5TG9jYXRpb25UYWcoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCB0YWcpO1xuICB9XG5cbiAgY3JlYXRlQ2x1YkFjdGl2aXR5TG9jYXRpb25UYWcoY2x1YklkOiBzdHJpbmcsIHRhZzogUGFydGlhbDxBY3Rpdml0eUxvY2F0aW9uVGFnPikge1xuICAgIGRlbGV0ZSB0YWcuaWQ7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGNsdWJJZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgY3JlYXRlU2VjdGlvbkFjdGl2aXR5TG9jYXRpb25UYWcoc2VjdGlvbklkOiBzdHJpbmcsIHRhZzogUGFydGlhbDxBY3Rpdml0eUxvY2F0aW9uVGFnPikge1xuICAgIGRlbGV0ZSB0YWcuaWQ7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHNlY3Rpb25JZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgY3JlYXRlVGVhbUFjdGl2aXR5TG9jYXRpb25UYWcodGVhbUlkOiBzdHJpbmcsIHRhZzogUGFydGlhbDxBY3Rpdml0eUxvY2F0aW9uVGFnPikge1xuICAgIGRlbGV0ZSB0YWcuaWQ7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgfSxcbiAgICAgICAgdGFnLFxuICAgICAgKVxuICB9XG5cbiAgZ2V0QWN0aXZpdHlMb2NhdGlvblBhcnRzKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nLCBsb2NhdGlvbklkOiBzdHJpbmcpIHtcbiAgICBpZiAocm9sZSA9PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2x1YkFjdGl2aXR5TG9jYXRpb25QYXJ0cyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGxvY2F0aW9uSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkFjdGl2aXR5TG9jYXRpb25QYXJ0cyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGxvY2F0aW9uSWQpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXRUZWFtQWN0aXZpdHlMb2NhdGlvblBhcnRzKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb25JZCk7XG4gIH1cblxuICBnZXRDbHViQWN0aXZpdHlMb2NhdGlvblBhcnRzKGNsdWJJZDogc3RyaW5nLCBsb2NhdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblBhcnRGYWN0b3J5LFxuICAgICAgICBSb2xlLkNsdWJBZG1pbixcbiAgICAgICAgQ0xVQl9BQ1RJVklUWV9MT0NBVElPTl9QQVJUU19QQVRILFxuICAgICAgICB7Y2x1YklkLCBsb2NhdGlvbklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uUGFydHMoc2VjdGlvbklkOiBzdHJpbmcsIGxvY2F0aW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uUGFydEZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX1BBUlRTX1BBVEgsXG4gICAgICAgIHtzZWN0aW9uSWQsIGxvY2F0aW9uSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25QYXJ0cyh0ZWFtSWQ6IHN0cmluZywgbG9jYXRpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25QYXJ0RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfTE9DQVRJT05fUEFSVFNfUEFUSCxcbiAgICAgICAge3RlYW1JZCwgbG9jYXRpb25JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlOZXcodGVhbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfTkVXX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5UGFydGljaXBhbnRzKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgc2VhcmNoTWVtYmVyRmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfUEFSVElDSVBBTlRTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgYWN0aXZpdHlJZFxuICAgICAgICB9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZpdHlTZXR0aW5ncyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2x1YkFjdGl2aXR5U2V0dGluZ3MoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9IGVsc2UgaWYgKHJvbGUgPT0gUm9sZS5TZWN0aW9uQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmdldFNlY3Rpb25BY3Rpdml0eVNldHRpbmdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFRlYW1BY3Rpdml0eVNldHRpbmdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlTZXR0aW5ncyh0ZWFtSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlTZXR0aW5nc0ZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1NFVFRJTkdTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWRcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFNlY3Rpb25BY3Rpdml0eVNldHRpbmdzKHNlY3Rpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eVNldHRpbmdzRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQUNUSVZJVFlfU0VUVElOR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHNlY3Rpb25JZFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0Q2x1YkFjdGl2aXR5U2V0dGluZ3MoY2x1YklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5U2V0dGluZ3NGYWN0b3J5LFxuICAgICAgICBSb2xlLkNsdWJBZG1pbixcbiAgICAgICAgQ0xVQl9BQ1RJVklUWV9TRVRUSU5HU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgY2x1YklkLFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5VHlwZXModGVhbUlkOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eVR5cGVSZXNwb25zZURhdGUgJiYgdGhpcy5hY3Rpdml0eVR5cGVSZXNwb25zZURhdGUgPiBzdWIobmV3IERhdGUoKSwge2hvdXJzOiAxfSkpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmFjdGl2aXR5VHlwZUNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBhY3Rpdml0eVR5cGVGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9UWVBFU19QQVRILFxuICAgICAgICB7dGVhbUlkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKS5waXBlKFxuICAgICAgICB0YXAoKGFjdGl2aXR5VHlwZUNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlUeXBlPikgPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlUeXBlUmVzcG9uc2VEYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5VHlwZUNvbGxlY3Rpb24gPSBhY3Rpdml0eVR5cGVDb2xsZWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKVxuICB9XG5cbiAgZ2V0VGVhbUNhbGVuZGFyRXZlbnRzKHRlYW1JZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBlbmREYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtsaW1pdDogJ251bGwnfTtcblxuICAgIGlmIChzdGFydERhdGUpIHtcbiAgICAgIHBhcmFtc1snc2VhcmNoX3N0YXJ0X2RheSddID0gc3RhcnREYXRlO1xuICAgIH1cblxuICAgIGlmIChlbmREYXRlKSB7XG4gICAgICBwYXJhbXNbJ3NlYXJjaF9lbmRfZGF5J10gPSBlbmREYXRlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBldmVudEZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0NBTEVOREFSX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICByZXNlbmRJbnZpdGUodGVhbUlkOiBzdHJpbmcsIGFjdGl2aXR5SWQ6IHN0cmluZywgYWN0aXZpdHlJbnZpdGVJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9JTlZJVEVfUkVTRU5EX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgYWN0aXZpdHlJZCxcbiAgICAgICAgICBhY3Rpdml0eUludml0ZUlkXG4gICAgICAgIH0sXG4gICAgICAgIHt9XG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlTWVtYmVyQWN0aXZpdHkobWVtYmVySWQ6IHN0cmluZywgYWN0aXZpdHlJbnZpdGVJZDogc3RyaW5nLCBhY3Rpdml0eUludml0ZTogdW5rbm93bikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLk1lbWJlckFkbWluLFxuICAgICAgICBNRU1CRVJfQUNUSVZJVFlfSU5WSVRFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBtZW1iZXJJZCxcbiAgICAgICAgICBhY3Rpdml0eUludml0ZUlkXG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2aXR5SW52aXRlXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlUHVibGljQWN0aXZpdHlJbnZpdGUoaWQ6IHN0cmluZywgdG9rZW46IHN0cmluZywgYWN0aXZpdHlJbnZpdGU6IHVua25vd24pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgICAgICAgUm9sZS5QdWJsaWMsXG4gICAgICAgIFBVQkxJQ19BQ1RJVklUWV9JTlZJVEVfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRva2VuXG4gICAgICAgIH0sXG4gICAgICAgIGFjdGl2aXR5SW52aXRlXG4gICAgICApXG4gIH1cblxuICB1cGRhdGVUZWFtQWN0aXZpdHkodGVhbUlkOiBzdHJpbmcsIGFjdGl2aXR5OiBBY3Rpdml0eSkge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkLFxuICAgICAgICAgIGlkOiBhY3Rpdml0eS5pZFxuICAgICAgICB9LFxuICAgICAgICB0aGlzLnJlbW92ZVVudXNlZEFjdGl2aXR5RmllbGRzKGFjdGl2aXR5KVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZVRlYW1BY3Rpdml0eUludml0ZSh0ZWFtSWQ6IHN0cmluZywgYWN0aXZpdHlJZDogc3RyaW5nLCBhY3Rpdml0eUludml0ZUlkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlOiBNZW1iZXJBY3Rpdml0eUludml0ZSkge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgbWVtYmVyQWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9JTlZJVEVfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkLFxuICAgICAgICAgIGFjdGl2aXR5SW52aXRlSWRcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVcbiAgICAgIClcbiAgfVxuXG4gIHVwZGF0ZVRlYW1BY3Rpdml0eVBhcnRpY2lwYW50cyh0ZWFtSWQ6IHN0cmluZywgYWN0aXZpdHlJZDogc3RyaW5nLCBtZW1iZXJzOiBBcnJheTxzdHJpbmc+KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnBvc3RSZXNvdXJjZShcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICB9LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9QQVJUSUNJUEFOVFNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZW1iZXJzXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZVVudXNlZEFjdGl2aXR5RmllbGRzKGFjdGl2aXR5OiBQYXJ0aWFsPEFjdGl2aXR5Pik6IFBhcnRpYWw8QWN0aXZpdHk+IHtcbiAgICBpZiAodHlwZW9mIGFjdGl2aXR5LmlkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZGVsZXRlIGFjdGl2aXR5LmlkO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgYWN0aXZpdHkuZmlsZSAhPT0gJ3VuZGVmaW5lZCcgJiYgIWFjdGl2aXR5LmZpbGUpIHtcbiAgICAgIGRlbGV0ZSBhY3Rpdml0eS5maWxlO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgYWN0aXZpdHkuaW52aXRlX2xhc3RfcmVzcG9uc2VfZGF0ZSAhPT0gJ3VuZGVmaW5lZCcgJiYgIWFjdGl2aXR5Lmludml0ZV9sYXN0X3Jlc3BvbnNlX2RhdGUpIHtcbiAgICAgIGRlbGV0ZSBhY3Rpdml0eS5pbnZpdGVfbGFzdF9yZXNwb25zZV9kYXRlO1xuICAgIH1cblxuICAgIHJldHVybiBhY3Rpdml0eTtcbiAgfVxufVxuIl19
|
|
434
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdHkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvYWN0aXZpdHkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFPTCxJQUFJLEdBQ0wsTUFBTSxXQUFXLENBQUM7QUFDbkIsT0FBTyxFQUFDLEdBQUcsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBQyxFQUFFLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDeEIsT0FBTyxFQUNMLGVBQWUsRUFDZixxQkFBcUIsRUFDckIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1QiwwQkFBMEIsRUFDMUIsdUJBQXVCLEVBQ3ZCLG1CQUFtQixFQUNuQixZQUFZLEVBQ1osMkJBQTJCLEVBQzNCLG1CQUFtQixHQUNwQixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUMsR0FBRyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzdCLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDRDQUE0QyxDQUFDOzs7QUFFdkYsTUFBTSwyQkFBMkIsR0FBRyx5Q0FBeUMsQ0FBQztBQUM5RSxNQUFNLDRCQUE0QixHQUFHLHVCQUF1QixDQUFDO0FBQzdELE1BQU0sb0JBQW9CLEdBQUcsZ0NBQWdDLENBQUM7QUFDOUQsTUFBTSwyQkFBMkIsR0FBRyx3QkFBd0IsQ0FBQztBQUM3RCxNQUFNLG9CQUFvQixHQUFHLHFCQUFxQixDQUFDO0FBQ25ELE1BQU0sMEJBQTBCLEdBQUcseUNBQXlDLENBQUM7QUFDN0UsTUFBTSx5QkFBeUIsR0FBRywyREFBMkQsQ0FBQztBQUM5RixNQUFNLGdDQUFnQyxHQUFHLHlFQUF5RSxDQUFDO0FBQ25ILE1BQU0sc0JBQXNCLEdBQUcseUJBQXlCLENBQUM7QUFDekQsTUFB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LENBQUM7U0FDcEI7UUFFRCxJQUFJLE9BQU8sUUFBUSxDQUFDLElBQUksS0FBSyxXQUFXLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFO1lBQzFELE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQztTQUN0QjtRQUVELElBQUksT0FBTyxRQUFRLENBQUMseUJBQXlCLEtBQUssV0FBVyxJQUFJLENBQUMsUUFBUSxDQUFDLHlCQUF5QixFQUFFO1lBQ3BHLE9BQU8sUUFBUSxDQUFDLHlCQUF5QixDQUFDO1NBQzNDO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQzs7NkdBL3JCVSxlQUFlO2lIQUFmLGVBQWUsY0FGZCxNQUFNOzRGQUVQLGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QXBpU2VydmljZX0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQge1xuICBBY3Rpdml0eSxcbiAgQWN0aXZpdHlMb2NhdGlvbiwgQWN0aXZpdHlMb2NhdGlvbkdyb3VwLFxuICBBY3Rpdml0eUxvY2F0aW9uVGFnLFxuICBBY3Rpdml0eVR5cGUsXG4gIENvbGxlY3Rpb24sXG4gIE1lbWJlckFjdGl2aXR5SW52aXRlLFxuICBSb2xlLFxufSBmcm9tICcuLi9tb2RlbHMnO1xuaW1wb3J0IHt0YXB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7b2Z9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtcbiAgYWN0aXZpdHlGYWN0b3J5LFxuICBhY3Rpdml0eUludml0ZUZhY3RvcnksXG4gIGFjdGl2aXR5TG9jYXRpb25GYWN0b3J5LFxuICBhY3Rpdml0eUxvY2F0aW9uR3JvdXBGYWN0b3J5LFxuICBhY3Rpdml0eUxvY2F0aW9uVGFnRmFjdG9yeSxcbiAgYWN0aXZpdHlTZXR0aW5nc0ZhY3RvcnksXG4gIGFjdGl2aXR5VHlwZUZhY3RvcnksXG4gIGV2ZW50RmFjdG9yeSxcbiAgbWVtYmVyQWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICBzZWFyY2hNZW1iZXJGYWN0b3J5LFxufSBmcm9tICcuL2ZhY3Rvcmllcyc7XG5pbXBvcnQge3N1Yn0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHthY3Rpdml0eUxvY2F0aW9uUGFydEZhY3Rvcnl9IGZyb20gXCIuL2ZhY3Rvcmllcy9hY3Rpdml0eS1sb2NhdGlvbi1wYXJ0LWZhY3RvcnlcIjtcblxuY29uc3QgTUVNQkVSX0FDVElWSVRZX0lOVklURV9QQVRIID0gJzptZW1iZXJJZC9hY3Rpdml0aWVzLzphY3Rpdml0eUludml0ZUlkLyc7XG5jb25zdCBNRU1CRVJfQUNUSVZJVFlfSU5WSVRFU19QQVRIID0gJzptZW1iZXJJZC9hY3Rpdml0aWVzLyc7XG5jb25zdCBNRU1CRVJfQ0FMRU5EQVJfUEFUSCA9ICc6bWVtYmVySWQvYWN0aXZpdGllcy9jYWxlbmRhci8nO1xuY29uc3QgUFVCTElDX0FDVElWSVRZX0lOVklURV9QQVRIID0gJ2FjdGl2aXRpZXMvOmlkLzp0b2tlbi8nO1xuY29uc3QgVEVBTV9BQ1RJVklUSUVTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX0lOVklURVNfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvOmFjdGl2aXR5SWQvaW52aXRlcy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9JTlZJVEVfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvOmFjdGl2aXR5SWQvaW52aXRlcy86YWN0aXZpdHlJbnZpdGVJZC8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9JTlZJVEVfUkVTRU5EX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzLzphY3Rpdml0eUlkL2ludml0ZXMvOmFjdGl2aXR5SW52aXRlSWQvcmVzZW5kLWludml0ZS8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9ORVdfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvbmV3Lyc7XG5jb25zdCBURUFNX0FDVElWSVRZX1BBUlRJQ0lQQU5UU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy86YWN0aXZpdHlJZC9wYXJ0aWNpcGFudHMvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfUEFUSCA9ICc6dGVhbUlkL2FjdGl2aXRpZXMvOmlkLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX1NFVFRJTkdTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL3NldHRpbmdzLyc7XG5jb25zdCBTRUNUSU9OX0FDVElWSVRZX1NFVFRJTkdTX1BBVEggPSAnOnNlY3Rpb25JZC9hY3Rpdml0aWVzL3NldHRpbmdzLyc7XG5jb25zdCBDTFVCX0FDVElWSVRZX1NFVFRJTkdTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL3NldHRpbmdzLyc7XG5jb25zdCBURUFNX0FDVElWSVRZX1RZUEVTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL3R5cGVzLyc7XG5jb25zdCBURUFNX0NBTEVOREFSX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2NhbGVuZGFyLyc7XG5cbmNvbnN0IENMVUJfQUNUSVZJVFlfTE9DQVRJT05TX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy8nO1xuY29uc3QgQ0xVQl9BQ1RJVklUWV9MT0NBVElPTl9QQVRIID0gJzpjbHViSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvOmxvY2F0aW9uSWQvJztcbmNvbnN0IENMVUJfQUNUSVZJVFlfTE9DQVRJT05fR1JPVVBTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy9ncm91cHMvJztcbmNvbnN0IENMVUJfQUNUSVZJVFlfTE9DQVRJT05fR1JPVVBfUEFUSCA9ICc6Y2x1YklkL2FjdGl2aXRpZXMvbG9jYXRpb25zL2dyb3Vwcy86Z3JvdXBJZC8nO1xuY29uc3QgQ0xVQl9BQ1RJVklUWV9MT0NBVElPTl9UQUdTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy90YWdzLyc7XG5jb25zdCBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1BBUlRTX1BBVEggPSAnOmNsdWJJZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy86bG9jYXRpb25JZC9wYXJ0cy8nO1xuXG5jb25zdCBURUFNX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfTE9DQVRJT05fR1JPVVBTX1BBVEggPSAnOnRlYW1JZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy9ncm91cHMvJztcbmNvbnN0IFRFQU1fQUNUSVZJVFlfTE9DQVRJT05fVEFHU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvdGFncy8nO1xuY29uc3QgVEVBTV9BQ1RJVklUWV9MT0NBVElPTl9QQVJUU19QQVRIID0gJzp0ZWFtSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvOmxvY2F0aW9uSWQvcGFydHMvJztcblxuY29uc3QgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTlNfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zLyc7XG5jb25zdCBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX1BBVEggPSAnOnNlY3Rpb25JZC9hY3Rpdml0aWVzL2xvY2F0aW9ucy86bG9jYXRpb25JZC8nO1xuY29uc3QgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTl9HUk9VUFNfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zL2dyb3Vwcy8nO1xuY29uc3QgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTl9HUk9VUF9QQVRIID0gJzpzZWN0aW9uSWQvYWN0aXZpdGllcy9sb2NhdGlvbnMvZ3JvdXBzLzpncm91cElkLyc7XG5jb25zdCBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zL3RhZ3MvJztcbmNvbnN0IFNFQ1RJT05fQUNUSVZJVFlfTE9DQVRJT05fUEFSVFNfUEFUSCA9ICc6c2VjdGlvbklkL2FjdGl2aXRpZXMvbG9jYXRpb25zLzpsb2NhdGlvbklkL3BhcnRzLyc7XG5cblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQWN0aXZpdHlTZXJ2aWNlIHtcbiAgYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlMb2NhdGlvbj4gfCB1bmRlZmluZWQ7XG4gIGFjdGl2aXR5VHlwZUNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlUeXBlPiB8IHVuZGVmaW5lZDtcblxuICBhY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlOiBEYXRlIHwgdW5kZWZpbmVkO1xuICBhY3Rpdml0eVR5cGVSZXNwb25zZURhdGU6IERhdGUgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhcGlTZXJ2aWNlOiBBcGlTZXJ2aWNlKSB7XG4gIH1cblxuICBhZGRUZWFtQWN0aXZpdHlJbnZpdGVzKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcsIG1lbWJlcklkczogQXJyYXk8c3RyaW5nPikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgICgpID0+IHRydWUsXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0lOVklURVNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtZW1iZXJzOiBtZW1iZXJJZHNcbiAgICAgICAgfVxuICAgICAgKVxuICB9XG5cbiAgY3JlYXRlVGVhbUFjdGl2aXR5KHRlYW1JZDogc3RyaW5nLCBkYXRhOiBQYXJ0aWFsPEFjdGl2aXR5Pikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVElFU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucmVtb3ZlVW51c2VkQWN0aXZpdHlGaWVsZHMoZGF0YSlcbiAgICAgIClcbiAgfVxuXG4gIGRlbGV0ZVRlYW1BY3Rpdml0eSh0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBpZFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZGVsZXRlVGVhbUFjdGl2aXR5SW52aXRlKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfSU5WSVRFX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgYWN0aXZpdHlJZCxcbiAgICAgICAgICBhY3Rpdml0eUludml0ZUlkXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRNZW1iZXJBY3Rpdml0eUludml0ZShtZW1iZXJJZDogc3RyaW5nLCBhY3Rpdml0eUludml0ZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX0FDVElWSVRZX0lOVklURV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgbWVtYmVySWQsXG4gICAgICAgICAgYWN0aXZpdHlJbnZpdGVJZFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0TWVtYmVyQWN0aXZpdHlJbnZpdGVzKG1lbWJlcklkOiBzdHJpbmcpIHtcbiAgICBjb25zdCBwYXJhbXM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7bGltaXQ6ICdudWxsJ307XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLk1lbWJlckFkbWluLFxuICAgICAgICBNRU1CRVJfQUNUSVZJVFlfSU5WSVRFU19QQVRILFxuICAgICAgICB7bWVtYmVySWR9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRNZW1iZXJDYWxlbmRhckV2ZW50cyhtZW1iZXJJZDogc3RyaW5nLCBzdGFydERhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsLCBlbmREYXRlOiBzdHJpbmcgfCBudWxsID0gbnVsbCkge1xuICAgIGNvbnN0IHBhcmFtczogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtsaW1pdDogJ251bGwnfTtcblxuICAgIGlmIChzdGFydERhdGUpIHtcbiAgICAgIHBhcmFtc1snc2VhcmNoX3N0YXJ0X2RheSddID0gc3RhcnREYXRlO1xuICAgIH1cblxuICAgIGlmIChlbmREYXRlKSB7XG4gICAgICBwYXJhbXNbJ3NlYXJjaF9lbmRfZGF5J10gPSBlbmREYXRlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBldmVudEZhY3RvcnksXG4gICAgICAgIFJvbGUuTWVtYmVyQWRtaW4sXG4gICAgICAgIE1FTUJFUl9DQUxFTkRBUl9QQVRILFxuICAgICAgICB7bWVtYmVySWR9LFxuICAgICAgICB7XG4gICAgICAgICAgcGFyYW1zXG4gICAgICAgIH1cbiAgICAgIClcbiAgfVxuXG4gIGdldFB1YmxpY0FjdGl2aXR5SW52aXRlKGlkOiBzdHJpbmcsIHRva2VuOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5SW52aXRlRmFjdG9yeSxcbiAgICAgICAgUm9sZS5QdWJsaWMsXG4gICAgICAgIFBVQkxJQ19BQ1RJVklUWV9JTlZJVEVfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGlkLFxuICAgICAgICAgIHRva2VuXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHkodGVhbUlkOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfUEFUSCxcbiAgICAgICAge3RlYW1JZCwgaWR9XG4gICAgICApXG4gIH1cblxuICBnZXRBY3Rpdml0eUxvY2F0aW9ucyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQWN0aXZpdHlMb2NhdGlvbnMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBmb3JjZSk7XG4gICAgfSBlbHNlIGlmIChyb2xlID09IFJvbGUuU2VjdGlvbkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbnMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBmb3JjZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFRlYW1BY3Rpdml0eUxvY2F0aW9ucyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGZvcmNlKVxuICB9XG5cbiAgZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25zKHRlYW1JZDogc3RyaW5nLCBmb3JjZTogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSAmJiB0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgPiBzdWIobmV3IERhdGUoKSwge2hvdXJzOiAxfSkgJiYgIWZvcmNlKSB7XG4gICAgICByZXR1cm4gb2YodGhpcy5hY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25GYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9MT0NBVElPTlNfUEFUSCxcbiAgICAgICAge3RlYW1JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICkucGlwZShcbiAgICAgICAgdGFwKChhY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbjogQ29sbGVjdGlvbjxBY3Rpdml0eUxvY2F0aW9uPikgPT4ge1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbiA9IGFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgfVxuXG4gIGdldENsdWJBY3Rpdml0eUxvY2F0aW9ucyhjbHViSWQ6IHN0cmluZywgZm9yY2U6IGJvb2xlYW4gPSBmYWxzZSkge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgJiYgdGhpcy5hY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlID4gc3ViKG5ldyBEYXRlKCksIHtob3VyczogMX0pICYmICFmb3JjZSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb24pO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQUNUSVZJVFlfTE9DQVRJT05TX1BBVEgsXG4gICAgICAgIHtjbHViSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApLnBpcGUoXG4gICAgICAgIHRhcCgoYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb246IENvbGxlY3Rpb248QWN0aXZpdHlMb2NhdGlvbj4pID0+IHtcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9jYXRpb25SZXNwb25zZURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb24gPSBhY3Rpdml0eUxvY2F0aW9uQ29sbGVjdGlvbjtcbiAgICAgICAgfSlcbiAgICAgICk7XG4gIH1cblxuICBnZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbnMoc2VjdGlvbklkOiBzdHJpbmcsIGZvcmNlOiBib29sZWFuID0gZmFsc2UpIHtcbiAgICBpZiAodGhpcy5hY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlICYmIHRoaXMuYWN0aXZpdHlMb2NhdGlvblJlc3BvbnNlRGF0ZSA+IHN1YihuZXcgRGF0ZSgpLCB7aG91cnM6IDF9KSAmJiAhZm9yY2UpIHtcbiAgICAgIHJldHVybiBvZih0aGlzLmFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvbkZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OU19QQVRILFxuICAgICAgICB7c2VjdGlvbklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKS5waXBlKFxuICAgICAgICB0YXAoKGFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uOiBDb2xsZWN0aW9uPEFjdGl2aXR5TG9jYXRpb24+KSA9PiB7XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eUxvY2F0aW9uUmVzcG9uc2VEYXRlID0gbmV3IERhdGUoKTtcbiAgICAgICAgICB0aGlzLmFjdGl2aXR5TG9jYXRpb25Db2xsZWN0aW9uID0gYWN0aXZpdHlMb2NhdGlvbkNvbGxlY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlQWN0aXZpdHlMb2NhdGlvbihyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgbG9jYXRpb246IEFjdGl2aXR5TG9jYXRpb24pIHtcbiAgICBpZiAocm9sZSA9PT0gUm9sZS5DbHViQWRtaW4pIHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb24pO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy51cGRhdGVTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbihjbHViT3JTZWN0aW9uT3JUZWFtSWQsIGxvY2F0aW9uKTtcbiAgfVxuXG4gIHVwZGF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uKGNsdWJJZDogc3RyaW5nLCBsb2NhdGlvbjogQWN0aXZpdHlMb2NhdGlvbikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvbkZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgICAgbG9jYXRpb25JZDogbG9jYXRpb24uaWRcbiAgICAgICAgfSxcbiAgICAgICAgbG9jYXRpb25cbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVTZWN0aW9uQWN0aXZpdHlMb2NhdGlvbihzZWN0aW9uSWQ6IHN0cmluZywgbG9jYXRpb246IEFjdGl2aXR5TG9jYXRpb24pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25GYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTl9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkLFxuICAgICAgICAgIGxvY2F0aW9uSWQ6IGxvY2F0aW9uLmlkXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2F0aW9uXG4gICAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZpdHlMb2NhdGlvbkdyb3Vwcyhyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQWN0aXZpdHlMb2NhdGlvbkdyb3VwcyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkFjdGl2aXR5TG9jYXRpb25Hcm91cHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25Hcm91cHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgfVxuXG4gIGdldENsdWJBY3Rpdml0eUxvY2F0aW9uR3JvdXBzKGNsdWJJZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7Y2x1YklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uR3JvdXBzKHNlY3Rpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7c2VjdGlvbklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFRlYW1BY3Rpdml0eUxvY2F0aW9uR3JvdXBzKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7dGVhbUlkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIHVwZGF0ZUFjdGl2aXR5TG9jYXRpb25Hcm91cChyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgbG9jYXRpb25Hcm91cDogQWN0aXZpdHlMb2NhdGlvbkdyb3VwKSB7XG4gICAgaWYgKHJvbGUgPT09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy51cGRhdGVDbHViQWN0aXZpdHlMb2NhdGlvbkdyb3VwKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb25Hcm91cCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnVwZGF0ZVNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uR3JvdXAoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBsb2NhdGlvbkdyb3VwKTtcbiAgfVxuXG4gIHVwZGF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uR3JvdXAoY2x1YklkOiBzdHJpbmcsIGxvY2F0aW9uR3JvdXA6IEFjdGl2aXR5TG9jYXRpb25Hcm91cCkge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvbkdyb3VwRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQUNUSVZJVFlfTE9DQVRJT05fR1JPVVBfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIGNsdWJJZCxcbiAgICAgICAgICBncm91cElkOiBsb2NhdGlvbkdyb3VwLmlkXG4gICAgICAgIH0sXG4gICAgICAgIGxvY2F0aW9uR3JvdXAsXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlU2VjdGlvbkFjdGl2aXR5TG9jYXRpb25Hcm91cChzZWN0aW9uSWQ6IHN0cmluZywgbG9jYXRpb25Hcm91cDogQWN0aXZpdHlMb2NhdGlvbkdyb3VwKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uR3JvdXBGYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9BQ1RJVklUWV9MT0NBVElPTl9HUk9VUF9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkLFxuICAgICAgICAgIGdyb3VwSWQ6IGxvY2F0aW9uR3JvdXAuaWRcbiAgICAgICAgfSxcbiAgICAgICAgbG9jYXRpb25Hcm91cFxuICAgICAgKTtcbiAgfVxuXG4gIGNyZWF0ZUFjdGl2aXR5TG9jYXRpb25Hcm91cChyb2xlOiBSb2xlLCBjbHViT3JTZWN0aW9uT3JUZWFtSWQ6IHN0cmluZywgbG9jYXRpb25Hcm91cDogQWN0aXZpdHlMb2NhdGlvbkdyb3VwKSB7XG4gICAgaWYgKHJvbGUgPT09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5jcmVhdGVDbHViQWN0aXZpdHlMb2NhdGlvbkdyb3VwKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb25Hcm91cCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNyZWF0ZVNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uR3JvdXAoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBsb2NhdGlvbkdyb3VwKTtcbiAgfVxuXG4gIGNyZWF0ZUNsdWJBY3Rpdml0eUxvY2F0aW9uR3JvdXAoY2x1YklkOiBzdHJpbmcsIGxvY2F0aW9uR3JvdXA6IFBhcnRpYWw8QWN0aXZpdHlMb2NhdGlvbkdyb3VwPikge1xuICAgIGRlbGV0ZSBsb2NhdGlvbkdyb3VwLmlkO1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgY2x1YklkLFxuICAgICAgICB9LFxuICAgICAgICBsb2NhdGlvbkdyb3VwLFxuICAgICAgKTtcbiAgfVxuXG4gIGNyZWF0ZVNlY3Rpb25BY3Rpdml0eUxvY2F0aW9uR3JvdXAoc2VjdGlvbklkOiBzdHJpbmcsIGxvY2F0aW9uR3JvdXA6IFBhcnRpYWw8QWN0aXZpdHlMb2NhdGlvbkdyb3VwPikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5wb3N0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25Hcm91cEZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX0dST1VQU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkLFxuICAgICAgICB9LFxuICAgICAgICBsb2NhdGlvbkdyb3VwXG4gICAgICApO1xuICB9XG5cbiAgZ2V0QWN0aXZpdHlMb2NhdGlvblRhZ3Mocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcpIHtcbiAgICBpZiAocm9sZSA9PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2x1YkFjdGl2aXR5TG9jYXRpb25UYWdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gICAgfSBlbHNlIGlmIChyb2xlID09IFJvbGUuU2VjdGlvbkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvblRhZ3MoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVhbUFjdGl2aXR5TG9jYXRpb25UYWdzKGNsdWJPclNlY3Rpb25PclRlYW1JZCk7XG4gIH1cblxuICBnZXRDbHViQWN0aXZpdHlMb2NhdGlvblRhZ3MoY2x1YklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCxcbiAgICAgICAge2NsdWJJZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvblRhZ3Moc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuU2VjdGlvbkFkbWluLFxuICAgICAgICBTRUNUSU9OX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCxcbiAgICAgICAge3NlY3Rpb25JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlMb2NhdGlvblRhZ3ModGVhbUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblRhZ0ZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0xPQ0FUSU9OX1RBR1NfUEFUSCxcbiAgICAgICAge3RlYW1JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBjcmVhdGVBY3Rpdml0eUxvY2F0aW9uVGFnKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nLCB0YWc6IFBhcnRpYWw8QWN0aXZpdHlMb2NhdGlvblRhZz4pIHtcbiAgICBpZiAocm9sZSA9PSBSb2xlLkNsdWJBZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlQ2x1YkFjdGl2aXR5TG9jYXRpb25UYWcoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCB0YWcpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlU2VjdGlvbkFjdGl2aXR5TG9jYXRpb25UYWcoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCB0YWcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVUZWFtQWN0aXZpdHlMb2NhdGlvblRhZyhjbHViT3JTZWN0aW9uT3JUZWFtSWQsIHRhZyk7XG4gIH1cblxuICBjcmVhdGVDbHViQWN0aXZpdHlMb2NhdGlvblRhZyhjbHViSWQ6IHN0cmluZywgdGFnOiBQYXJ0aWFsPEFjdGl2aXR5TG9jYXRpb25UYWc+KSB7XG4gICAgZGVsZXRlIHRhZy5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uVGFnRmFjdG9yeSxcbiAgICAgICAgUm9sZS5DbHViQWRtaW4sXG4gICAgICAgIENMVUJfQUNUSVZJVFlfTE9DQVRJT05fVEFHU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgY2x1YklkLFxuICAgICAgICB9LFxuICAgICAgICB0YWcsXG4gICAgICApXG4gIH1cblxuICBjcmVhdGVTZWN0aW9uQWN0aXZpdHlMb2NhdGlvblRhZyhzZWN0aW9uSWQ6IHN0cmluZywgdGFnOiBQYXJ0aWFsPEFjdGl2aXR5TG9jYXRpb25UYWc+KSB7XG4gICAgZGVsZXRlIHRhZy5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uVGFnRmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQUNUSVZJVFlfTE9DQVRJT05fVEFHU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkLFxuICAgICAgICB9LFxuICAgICAgICB0YWcsXG4gICAgICApXG4gIH1cblxuICBjcmVhdGVUZWFtQWN0aXZpdHlMb2NhdGlvblRhZyh0ZWFtSWQ6IHN0cmluZywgdGFnOiBQYXJ0aWFsPEFjdGl2aXR5TG9jYXRpb25UYWc+KSB7XG4gICAgZGVsZXRlIHRhZy5pZDtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uVGFnRmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfTE9DQVRJT05fVEFHU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkLFxuICAgICAgICB9LFxuICAgICAgICB0YWcsXG4gICAgICApXG4gIH1cblxuICBnZXRBY3Rpdml0eUxvY2F0aW9uUGFydHMocm9sZTogUm9sZSwgY2x1Yk9yU2VjdGlvbk9yVGVhbUlkOiBzdHJpbmcsIGxvY2F0aW9uSWQ6IHN0cmluZykge1xuICAgIGlmIChyb2xlID09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQWN0aXZpdHlMb2NhdGlvblBhcnRzKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb25JZCk7XG4gICAgfSBlbHNlIGlmIChyb2xlID09IFJvbGUuU2VjdGlvbkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRTZWN0aW9uQWN0aXZpdHlMb2NhdGlvblBhcnRzKGNsdWJPclNlY3Rpb25PclRlYW1JZCwgbG9jYXRpb25JZCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmdldFRlYW1BY3Rpdml0eUxvY2F0aW9uUGFydHMoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkLCBsb2NhdGlvbklkKTtcbiAgfVxuXG4gIGdldENsdWJBY3Rpdml0eUxvY2F0aW9uUGFydHMoY2x1YklkOiBzdHJpbmcsIGxvY2F0aW9uSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBhY3Rpdml0eUxvY2F0aW9uUGFydEZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX0xPQ0FUSU9OX1BBUlRTX1BBVEgsXG4gICAgICAgIHtjbHViSWQsIGxvY2F0aW9uSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkFjdGl2aXR5TG9jYXRpb25QYXJ0cyhzZWN0aW9uSWQ6IHN0cmluZywgbG9jYXRpb25JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5TG9jYXRpb25QYXJ0RmFjdG9yeSxcbiAgICAgICAgUm9sZS5TZWN0aW9uQWRtaW4sXG4gICAgICAgIFNFQ1RJT05fQUNUSVZJVFlfTE9DQVRJT05fUEFSVFNfUEFUSCxcbiAgICAgICAge3NlY3Rpb25JZCwgbG9jYXRpb25JZH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlMb2NhdGlvblBhcnRzKHRlYW1JZDogc3RyaW5nLCBsb2NhdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0Q29sbGVjdGlvbihcbiAgICAgICAgYWN0aXZpdHlMb2NhdGlvblBhcnRGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9MT0NBVElPTl9QQVJUU19QQVRILFxuICAgICAgICB7dGVhbUlkLCBsb2NhdGlvbklkfSxcbiAgICAgICAge3BhcmFtczoge2xpbWl0OiAnbnVsbCd9fVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFRlYW1BY3Rpdml0eU5ldyh0ZWFtSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9ORVdfUEFUSCxcbiAgICAgICAge3RlYW1JZH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlQYXJ0aWNpcGFudHModGVhbUlkOiBzdHJpbmcsIGFjdGl2aXR5SWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uKFxuICAgICAgICBzZWFyY2hNZW1iZXJGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9BQ1RJVklUWV9QQVJUSUNJUEFOVFNfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkXG4gICAgICAgIH0sXG4gICAgICAgIHtwYXJhbXM6IHtsaW1pdDogJ251bGwnfX1cbiAgICAgICk7XG4gIH1cblxuICBnZXRBY3Rpdml0eVNldHRpbmdzKHJvbGU6IFJvbGUsIGNsdWJPclNlY3Rpb25PclRlYW1JZDogc3RyaW5nKSB7XG4gICAgaWYgKHJvbGUgPT09IFJvbGUuQ2x1YkFkbWluKSB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRDbHViQWN0aXZpdHlTZXR0aW5ncyhjbHViT3JTZWN0aW9uT3JUZWFtSWQpO1xuICAgIH0gZWxzZSBpZiAocm9sZSA9PSBSb2xlLlNlY3Rpb25BZG1pbikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0U2VjdGlvbkFjdGl2aXR5U2V0dGluZ3MoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZ2V0VGVhbUFjdGl2aXR5U2V0dGluZ3MoY2x1Yk9yU2VjdGlvbk9yVGVhbUlkKTtcbiAgfVxuXG4gIGdldFRlYW1BY3Rpdml0eVNldHRpbmdzKHRlYW1JZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eVNldHRpbmdzRmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQUNUSVZJVFlfU0VUVElOR1NfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZFxuICAgICAgICB9XG4gICAgICApO1xuICB9XG5cbiAgZ2V0U2VjdGlvbkFjdGl2aXR5U2V0dGluZ3Moc2VjdGlvbklkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZ2V0UmVzb3VyY2UoXG4gICAgICAgIGFjdGl2aXR5U2V0dGluZ3NGYWN0b3J5LFxuICAgICAgICBSb2xlLlNlY3Rpb25BZG1pbixcbiAgICAgICAgU0VDVElPTl9BQ1RJVklUWV9TRVRUSU5HU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgc2VjdGlvbklkXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRDbHViQWN0aXZpdHlTZXR0aW5ncyhjbHViSWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlTZXR0aW5nc0ZhY3RvcnksXG4gICAgICAgIFJvbGUuQ2x1YkFkbWluLFxuICAgICAgICBDTFVCX0FDVElWSVRZX1NFVFRJTkdTX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICBjbHViSWQsXG4gICAgICAgIH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRUZWFtQWN0aXZpdHlUeXBlcyh0ZWFtSWQ6IHN0cmluZykge1xuICAgIGlmICh0aGlzLmFjdGl2aXR5VHlwZVJlc3BvbnNlRGF0ZSAmJiB0aGlzLmFjdGl2aXR5VHlwZVJlc3BvbnNlRGF0ZSA+IHN1YihuZXcgRGF0ZSgpLCB7aG91cnM6IDF9KSkge1xuICAgICAgcmV0dXJuIG9mKHRoaXMuYWN0aXZpdHlUeXBlQ29sbGVjdGlvbik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGFjdGl2aXR5VHlwZUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1RZUEVTX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9LFxuICAgICAgICB7cGFyYW1zOiB7bGltaXQ6ICdudWxsJ319XG4gICAgICApLnBpcGUoXG4gICAgICAgIHRhcCgoYWN0aXZpdHlUeXBlQ29sbGVjdGlvbjogQ29sbGVjdGlvbjxBY3Rpdml0eVR5cGU+KSA9PiB7XG4gICAgICAgICAgdGhpcy5hY3Rpdml0eVR5cGVSZXNwb25zZURhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICAgIHRoaXMuYWN0aXZpdHlUeXBlQ29sbGVjdGlvbiA9IGFjdGl2aXR5VHlwZUNvbGxlY3Rpb247XG4gICAgICAgIH0pXG4gICAgICApXG4gIH1cblxuICBnZXRUZWFtQ2FsZW5kYXJFdmVudHModGVhbUlkOiBzdHJpbmcsIHN0YXJ0RGF0ZTogc3RyaW5nIHwgbnVsbCA9IG51bGwsIGVuZERhdGU6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICAgY29uc3QgcGFyYW1zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge2xpbWl0OiAnbnVsbCd9O1xuXG4gICAgaWYgKHN0YXJ0RGF0ZSkge1xuICAgICAgcGFyYW1zWydzZWFyY2hfc3RhcnRfZGF5J10gPSBzdGFydERhdGU7XG4gICAgfVxuXG4gICAgaWYgKGVuZERhdGUpIHtcbiAgICAgIHBhcmFtc1snc2VhcmNoX2VuZF9kYXknXSA9IGVuZERhdGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb24oXG4gICAgICAgIGV2ZW50RmFjdG9yeSxcbiAgICAgICAgUm9sZS5UZWFtQWRtaW4sXG4gICAgICAgIFRFQU1fQ0FMRU5EQVJfUEFUSCxcbiAgICAgICAge3RlYW1JZH0sXG4gICAgICAgIHtcbiAgICAgICAgICBwYXJhbXNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHJlc2VuZEludml0ZSh0ZWFtSWQ6IHN0cmluZywgYWN0aXZpdHlJZDogc3RyaW5nLCBhY3Rpdml0eUludml0ZUlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUludml0ZUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0lOVklURV9SRVNFTkRfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIHRlYW1JZCxcbiAgICAgICAgICBhY3Rpdml0eUlkLFxuICAgICAgICAgIGFjdGl2aXR5SW52aXRlSWRcbiAgICAgICAgfSxcbiAgICAgICAge31cbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVNZW1iZXJBY3Rpdml0eShtZW1iZXJJZDogc3RyaW5nLCBhY3Rpdml0eUludml0ZUlkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlOiB1bmtub3duKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUludml0ZUZhY3RvcnksXG4gICAgICAgIFJvbGUuTWVtYmVyQWRtaW4sXG4gICAgICAgIE1FTUJFUl9BQ1RJVklUWV9JTlZJVEVfUEFUSCxcbiAgICAgICAge1xuICAgICAgICAgIG1lbWJlcklkLFxuICAgICAgICAgIGFjdGl2aXR5SW52aXRlSWRcbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVcbiAgICAgICk7XG4gIH1cblxuICB1cGRhdGVQdWJsaWNBY3Rpdml0eUludml0ZShpZDogc3RyaW5nLCB0b2tlbjogc3RyaW5nLCBhY3Rpdml0eUludml0ZTogdW5rbm93bikge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC51cGRhdGVSZXNvdXJjZShcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVGYWN0b3J5LFxuICAgICAgICBSb2xlLlB1YmxpYyxcbiAgICAgICAgUFVCTElDX0FDVElWSVRZX0lOVklURV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgaWQsXG4gICAgICAgICAgdG9rZW5cbiAgICAgICAgfSxcbiAgICAgICAgYWN0aXZpdHlJbnZpdGVcbiAgICAgIClcbiAgfVxuXG4gIHVwZGF0ZVRlYW1BY3Rpdml0eSh0ZWFtSWQ6IHN0cmluZywgYWN0aXZpdHk6IEFjdGl2aXR5KSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBhY3Rpdml0eUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1BBVEgsXG4gICAgICAgIHtcbiAgICAgICAgICB0ZWFtSWQsXG4gICAgICAgICAgaWQ6IGFjdGl2aXR5LmlkXG4gICAgICAgIH0sXG4gICAgICAgIHRoaXMucmVtb3ZlVW51c2VkQWN0aXZpdHlGaWVsZHMoYWN0aXZpdHkpXG4gICAgICApO1xuICB9XG5cbiAgdXBkYXRlVGVhbUFjdGl2aXR5SW52aXRlKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcsIGFjdGl2aXR5SW52aXRlSWQ6IHN0cmluZywgYWN0aXZpdHlJbnZpdGU6IE1lbWJlckFjdGl2aXR5SW52aXRlKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLnVwZGF0ZVJlc291cmNlKFxuICAgICAgICBtZW1iZXJBY3Rpdml0eUludml0ZUZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX0lOVklURV9QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkLFxuICAgICAgICAgIGFjdGl2aXR5SWQsXG4gICAgICAgICAgYWN0aXZpdHlJbnZpdGVJZFxuICAgICAgICB9LFxuICAgICAgICBhY3Rpdml0eUludml0ZVxuICAgICAgKVxuICB9XG5cbiAgdXBkYXRlVGVhbUFjdGl2aXR5UGFydGljaXBhbnRzKHRlYW1JZDogc3RyaW5nLCBhY3Rpdml0eUlkOiBzdHJpbmcsIG1lbWJlcnM6IEFycmF5PHN0cmluZz4pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAucG9zdFJlc291cmNlKFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgIH0sXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX0FDVElWSVRZX1BBUlRJQ0lQQU5UU19QQVRILFxuICAgICAgICB7XG4gICAgICAgICAgdGVhbUlkLFxuICAgICAgICAgIGFjdGl2aXR5SWRcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1lbWJlcnNcbiAgICAgICAgfVxuICAgICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlVW51c2VkQWN0aXZpdHlGaWVsZHMoYWN0aXZpdHk6IFBhcnRpYWw8QWN0aXZpdHk+KTogUGFydGlhbDxBY3Rpdml0eT4ge1xuICAgIGlmICh0eXBlb2YgYWN0aXZpdHkuaWQgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBkZWxldGUgYWN0aXZpdHkuaWQ7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhY3Rpdml0eS5maWxlICE9PSAndW5kZWZpbmVkJyAmJiAhYWN0aXZpdHkuZmlsZSkge1xuICAgICAgZGVsZXRlIGFjdGl2aXR5LmZpbGU7XG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBhY3Rpdml0eS5pbnZpdGVfbGFzdF9yZXNwb25zZV9kYXRlICE9PSAndW5kZWZpbmVkJyAmJiAhYWN0aXZpdHkuaW52aXRlX2xhc3RfcmVzcG9uc2VfZGF0ZSkge1xuICAgICAgZGVsZXRlIGFjdGl2aXR5Lmludml0ZV9sYXN0X3Jlc3BvbnNlX2RhdGU7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFjdGl2aXR5O1xuICB9XG59XG4iXX0=
|
|
@@ -55,6 +55,8 @@ export * from './member-team-through-factory';
|
|
|
55
55
|
export * from './member-type-factory';
|
|
56
56
|
export * from './member-validation-settings-factory';
|
|
57
57
|
export * from './news-factory';
|
|
58
|
+
export * from './other-member-factory';
|
|
59
|
+
export * from './other-member-field-factory';
|
|
58
60
|
export * from './partner-factory';
|
|
59
61
|
export * from './payment-attempt-factory';
|
|
60
62
|
export * from './search-club-factory';
|
|
@@ -69,4 +71,4 @@ export * from './unpaid-invoice-factory';
|
|
|
69
71
|
export * from './user-factory';
|
|
70
72
|
export * from './user-notification-factory';
|
|
71
73
|
export * from './zimpler-factory';
|
|
72
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3NlcnZpY2VzL2ZhY3Rvcmllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsb0JBQW9CLENBQUM7QUFDbkMsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyw0QkFBNEIsQ0FBQztBQUMzQyxjQUFjLHFCQUFxQixDQUFDO0FBQ3BDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHNCQUFzQixDQUFBO0FBQ3BDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMscUJBQXFCLENBQUM7QUFDcEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLGdCQUFnQixDQUFDO0FBQy9CLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNEJBQTRCLENBQUE7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsa0JBQWtCLENBQUM7QUFDakMsY0FBYyxzQkFBc0IsQ0FBQztBQUNyQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywrQkFBK0IsQ0FBQTtBQUM3QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxnQkFBZ0IsQ0FBQztBQUMvQixjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLDBCQUEwQixDQUFDO0FBQ3pDLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS1leHRyYS1tZW1iZXItZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS1pbnZpdGUtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2FjdGl2aXR5LWxvY2F0aW9uLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS1sb2NhdGlvbi1ncm91cC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHktbG9jYXRpb24tdGFnLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9hY3Rpdml0eS1zZXR0aW5ncy1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYWN0aXZpdHktdHlwZS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC1tZW1iZXItZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2F1dGgtc2VjdGlvbi1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYXV0aC10ZWFtLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoLXRlYW0tc2VjdGlvbi1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYm9va2luZy1jYWxlbmRhci1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vYm9va2luZy1jYWxlbmRhci1hcHBsaWNhdGlvbi10aW1lLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9ib29raW5nLWNhbGVuZGFyLXNsb3QtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2Jvb2tpbmctY2FsZW5kYXItc2xvdC1zZXNzaW9uLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9ib29raW5nLXNldHRpbmdzLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jYXJkLWRlYWwtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtbG9nby1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC1sb2dvLXVybHMtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtbWVtYmVyLXRpY2tldC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC10aGVtZS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vY2FyZC10aWNrZXQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2NhcmQtdGlja2V0LWxvY2F0aW9uLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jbHViLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9jbHViLWltYWdlLWZhY3RvcnknXG5leHBvcnQgKiBmcm9tICcuL2NsdWItc2VjdGlvbi1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vY29udGFjdC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vY3JlZGl0LWNhcmQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdG9yeS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vZXZlbnQtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsLWxpbmstZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbGUtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2dlbmVyYWwtaW1hZ2UtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2dpcm8tZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2dyb3VwLXJvbGUtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2hvbWUtdGVhbS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vaW1hZ2UtdXJscy1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWF0dHJpYnV0ZS1mYWN0b3J5J1xuZXhwb3J0ICogZnJvbSAnLi9tZW1iZXItY2FyZC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWNvbnRhY3QtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL21lbWJlci1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWZlZS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWZ1bmN0aW9uLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9tZW1iZXItaW52aXRlLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9tZW1iZXItaW52b2ljZS1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLWludm9pY2Utcm93LWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9tZW1iZXItcHVibGljLWZvcm0tZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL21lbWJlci1wdWJsaWMtZm9ybS1maWVsZC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLXB1YmxpYy1mb3JtLWZpZWxkLW9wdGlvbi1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLXRlYW0tZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL21lbWJlci10ZWFtLXRocm91Z2gtZmFjdG9yeSdcbmV4cG9ydCAqIGZyb20gJy4vbWVtYmVyLXR5cGUtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL21lbWJlci12YWxpZGF0aW9uLXNldHRpbmdzLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9uZXdzLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9vdGhlci1tZW1iZXItZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL290aGVyLW1lbWJlci1maWVsZC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vcGFydG5lci1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vcGF5bWVudC1hdHRlbXB0LWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtY2x1Yi1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vc2VhcmNoLW1lbWJlci1jYXJkLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtbWVtYmVyLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWFyY2gtbWVtYmVyLWludm9pY2UtZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1tZW1iZXItdGVhbS10aHJvdWdoLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zZWN0aW9uLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9zd2lzaC1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vdG9rZW4tZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3VucGFpZC1pbnZvaWNlLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLWZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi91c2VyLW5vdGlmaWNhdGlvbi1mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vemltcGxlci1mYWN0b3J5JztcbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { OtherMember } from '../../models';
|
|
2
|
+
import { otherMemberFieldFactory } from './other-member-field-factory';
|
|
3
|
+
export const otherMemberFactory = (apiOtherMember) => new OtherMember(apiOtherMember.id, apiOtherMember.country, apiOtherMember.created, apiOtherMember.first_name, apiOtherMember.image, apiOtherMember.last_name, apiOtherMember.name, apiOtherMember.fields ? apiOtherMember.fields.map((memberField) => otherMemberFieldFactory(memberField)) : []);
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItbWVtYmVyLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3NlcnZpY2VzL2ZhY3Rvcmllcy9vdGhlci1tZW1iZXItZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXZFLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLENBQUMsY0FBOEIsRUFBRSxFQUFFLENBQ25FLElBQUksV0FBVyxDQUNiLGNBQWMsQ0FBQyxFQUFFLEVBQ2pCLGNBQWMsQ0FBQyxPQUFPLEVBQ3RCLGNBQWMsQ0FBQyxPQUFPLEVBQ3RCLGNBQWMsQ0FBQyxVQUFVLEVBQ3pCLGNBQWMsQ0FBQyxLQUFLLEVBQ3BCLGNBQWMsQ0FBQyxTQUFTLEVBQ3hCLGNBQWMsQ0FBQyxJQUFJLEVBQ25CLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBZ0MsRUFBRSxFQUFFLENBQUMsdUJBQXVCLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUNuSSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBpT3RoZXJNZW1iZXIsIEFwaU90aGVyTWVtYmVyRmllbGQgfSBmcm9tICcuLi8uLi9hcGktbW9kZWxzJztcbmltcG9ydCB7IE90aGVyTWVtYmVyIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcbmltcG9ydCB7IG90aGVyTWVtYmVyRmllbGRGYWN0b3J5IH0gZnJvbSAnLi9vdGhlci1tZW1iZXItZmllbGQtZmFjdG9yeSc7XG5cbmV4cG9ydCBjb25zdCBvdGhlck1lbWJlckZhY3RvcnkgPSAoYXBpT3RoZXJNZW1iZXI6IEFwaU90aGVyTWVtYmVyKSA9PlxuICBuZXcgT3RoZXJNZW1iZXIoXG4gICAgYXBpT3RoZXJNZW1iZXIuaWQsXG4gICAgYXBpT3RoZXJNZW1iZXIuY291bnRyeSxcbiAgICBhcGlPdGhlck1lbWJlci5jcmVhdGVkLFxuICAgIGFwaU90aGVyTWVtYmVyLmZpcnN0X25hbWUsXG4gICAgYXBpT3RoZXJNZW1iZXIuaW1hZ2UsXG4gICAgYXBpT3RoZXJNZW1iZXIubGFzdF9uYW1lLFxuICAgIGFwaU90aGVyTWVtYmVyLm5hbWUsXG4gICAgYXBpT3RoZXJNZW1iZXIuZmllbGRzID8gYXBpT3RoZXJNZW1iZXIuZmllbGRzLm1hcCgobWVtYmVyRmllbGQ6IEFwaU90aGVyTWVtYmVyRmllbGQpID0+IG90aGVyTWVtYmVyRmllbGRGYWN0b3J5KG1lbWJlckZpZWxkKSkgOiBbXVxuICApO1xuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { OtherMemberField } from '../../models';
|
|
2
|
+
export const otherMemberFieldFactory = (apiOtherMemberFieldFactory) => new OtherMemberField(apiOtherMemberFieldFactory.display_name, apiOtherMemberFieldFactory.field_name, apiOtherMemberFieldFactory.value);
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3RoZXItbWVtYmVyLWZpZWxkLWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3NlcnZpY2VzL2ZhY3Rvcmllcy9vdGhlci1tZW1iZXItZmllbGQtZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFFaEQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsQ0FBQywwQkFBK0MsRUFBRSxFQUFFLENBQ3pGLElBQUksZ0JBQWdCLENBQ2xCLDBCQUEwQixDQUFDLFlBQVksRUFDdkMsMEJBQTBCLENBQUMsVUFBVSxFQUNyQywwQkFBMEIsQ0FBQyxLQUFLLENBQ2pDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlPdGhlck1lbWJlckZpZWxkIH0gZnJvbSAnLi4vLi4vYXBpLW1vZGVscyc7XG5pbXBvcnQgeyBPdGhlck1lbWJlckZpZWxkIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IG90aGVyTWVtYmVyRmllbGRGYWN0b3J5ID0gKGFwaU90aGVyTWVtYmVyRmllbGRGYWN0b3J5OiBBcGlPdGhlck1lbWJlckZpZWxkKSA9PlxuICBuZXcgT3RoZXJNZW1iZXJGaWVsZChcbiAgICBhcGlPdGhlck1lbWJlckZpZWxkRmFjdG9yeS5kaXNwbGF5X25hbWUsXG4gICAgYXBpT3RoZXJNZW1iZXJGaWVsZEZhY3RvcnkuZmllbGRfbmFtZSxcbiAgICBhcGlPdGhlck1lbWJlckZpZWxkRmFjdG9yeS52YWx1ZVxuICApO1xuIl19
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { SearchClub } from '../../models';
|
|
2
|
-
export const searchClubFactory = (apiSearchClub) => new SearchClub(apiSearchClub.id, apiSearchClub.leader_member_search, apiSearchClub.member_search, apiSearchClub.name);
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
export const searchClubFactory = (apiSearchClub) => new SearchClub(apiSearchClub.id, apiSearchClub.leader_member_search, apiSearchClub.member_search, apiSearchClub.member_view, apiSearchClub.name);
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWNsdWItZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGEtYWNjZXNzL3NyYy9saWIvc2VydmljZXMvZmFjdG9yaWVzL3NlYXJjaC1jbHViLWZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUUxQyxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLGFBQTRCLEVBQUUsRUFBRSxDQUNoRSxJQUFJLFVBQVUsQ0FDWixhQUFhLENBQUMsRUFBRSxFQUNoQixhQUFhLENBQUMsb0JBQW9CLEVBQ2xDLGFBQWEsQ0FBQyxhQUFhLEVBQzNCLGFBQWEsQ0FBQyxXQUFXLEVBQ3pCLGFBQWEsQ0FBQyxJQUFJLENBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBcGlTZWFyY2hDbHViIH0gZnJvbSAnLi4vLi4vYXBpLW1vZGVscyc7XG5pbXBvcnQgeyBTZWFyY2hDbHViIH0gZnJvbSAnLi4vLi4vbW9kZWxzJztcblxuZXhwb3J0IGNvbnN0IHNlYXJjaENsdWJGYWN0b3J5ID0gKGFwaVNlYXJjaENsdWI6IEFwaVNlYXJjaENsdWIpID0+XG4gIG5ldyBTZWFyY2hDbHViKFxuICAgIGFwaVNlYXJjaENsdWIuaWQsXG4gICAgYXBpU2VhcmNoQ2x1Yi5sZWFkZXJfbWVtYmVyX3NlYXJjaCxcbiAgICBhcGlTZWFyY2hDbHViLm1lbWJlcl9zZWFyY2gsXG4gICAgYXBpU2VhcmNoQ2x1Yi5tZW1iZXJfdmlldyxcbiAgICBhcGlTZWFyY2hDbHViLm5hbWVcbiAgKTtcbiJdfQ==
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { Role } from '../models';
|
|
3
|
-
import { memberFactory,
|
|
3
|
+
import { memberFactory, otherMemberFactory } from './factories';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
import * as i1 from "./api.service";
|
|
6
|
-
const MEMBER_OTHER_MEMBER_PATH = ':memberId/others/
|
|
7
|
-
const MEMBER_OTHER_MEMBER_SEARCH_PATH = ':memberId/others/
|
|
6
|
+
const MEMBER_OTHER_MEMBER_PATH = ':memberId/others/clubmembersv2/:id/';
|
|
7
|
+
const MEMBER_OTHER_MEMBER_SEARCH_PATH = ':memberId/others/clubmembersv2/';
|
|
8
8
|
const MEMBER_PROFILE_CONTACT_PATH = ':memberId/member-detail/contacts/:contactId/';
|
|
9
9
|
const MEMBER_PROFILE_PATH = ':memberId/member-detail/';
|
|
10
10
|
const TEAM_MEMBER_CONTACT_PATH = ':teamId/team-members/:memberId/contacts/:contactId/';
|
|
11
|
-
const TEAM_OTHER_MEMBER_PATH = ':teamId/team-members/
|
|
12
|
-
const TEAM_OTHER_MEMBER_SEARCH_PATH = ':teamId/team-members/
|
|
11
|
+
const TEAM_OTHER_MEMBER_PATH = ':teamId/team-members/othersv2/:id/';
|
|
12
|
+
const TEAM_OTHER_MEMBER_SEARCH_PATH = ':teamId/team-members/othersv2/';
|
|
13
13
|
export class MemberService {
|
|
14
14
|
constructor(apiService) {
|
|
15
15
|
this.apiService = apiService;
|
|
@@ -20,11 +20,11 @@ export class MemberService {
|
|
|
20
20
|
}
|
|
21
21
|
getMemberOtherMember(memberId, id) {
|
|
22
22
|
return this.apiService
|
|
23
|
-
.getResource(
|
|
23
|
+
.getResource(otherMemberFactory, Role.MemberAdmin, MEMBER_OTHER_MEMBER_PATH, { memberId, id });
|
|
24
24
|
}
|
|
25
25
|
getTeamOtherMember(teamId, id) {
|
|
26
26
|
return this.apiService
|
|
27
|
-
.getResource(
|
|
27
|
+
.getResource(otherMemberFactory, Role.TeamAdmin, TEAM_OTHER_MEMBER_PATH, { teamId, id });
|
|
28
28
|
}
|
|
29
29
|
removeMemberProfileContact(memberId, contactId) {
|
|
30
30
|
return this.apiService
|
|
@@ -36,11 +36,11 @@ export class MemberService {
|
|
|
36
36
|
}
|
|
37
37
|
searchMemberOtherMembers(memberId, searchTerm) {
|
|
38
38
|
return this.apiService
|
|
39
|
-
.getCollection(
|
|
39
|
+
.getCollection(otherMemberFactory, Role.MemberAdmin, MEMBER_OTHER_MEMBER_SEARCH_PATH, { memberId }, { params: { q: searchTerm } });
|
|
40
40
|
}
|
|
41
41
|
searchTeamOtherMembers(teamId, searchTerm) {
|
|
42
42
|
return this.apiService
|
|
43
|
-
.getCollection(
|
|
43
|
+
.getCollection(otherMemberFactory, Role.TeamAdmin, TEAM_OTHER_MEMBER_SEARCH_PATH, { teamId }, { params: { q: searchTerm } });
|
|
44
44
|
}
|
|
45
45
|
updateMemberProfile(memberId, memberProfile) {
|
|
46
46
|
return this.apiService
|
|
@@ -55,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.11", ngImpo
|
|
|
55
55
|
providedIn: 'root'
|
|
56
56
|
}]
|
|
57
57
|
}], ctorParameters: function () { return [{ type: i1.ApiService }]; } });
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVtYmVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhLWFjY2Vzcy9zcmMvbGliL3NlcnZpY2VzL21lbWJlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUVMLElBQUksRUFDTCxNQUFNLFdBQVcsQ0FBQztBQUNuQixPQUFPLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7QUFFaEUsTUFBTSx3QkFBd0IsR0FBRyxxQ0FBcUMsQ0FBQztBQUN2RSxNQUFNLCtCQUErQixHQUFHLGlDQUFpQyxDQUFDO0FBQzFFLE1BQU0sMkJBQTJCLEdBQUcsOENBQThDLENBQUM7QUFDbkYsTUFBTSxtQkFBbUIsR0FBRywwQkFBMEIsQ0FBQztBQUN2RCxNQUFNLHdCQUF3QixHQUFHLHFEQUFxRCxDQUFDO0FBQ3ZGLE1BQU0sc0JBQXNCLEdBQUcsb0NBQW9DLENBQUM7QUFDcEUsTUFBTSw2QkFBNkIsR0FBRyxnQ0FBZ0MsQ0FBQztBQUt2RSxNQUFNLE9BQU8sYUFBYTtJQUN4QixZQUFvQixVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO0lBQUksQ0FBQztJQUUvQyxnQkFBZ0IsQ0FBQyxRQUFnQjtRQUMvQixPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLFdBQVcsQ0FDVixhQUFhLEVBQ2IsSUFBSSxDQUFDLFdBQVcsRUFDaEIsbUJBQW1CLEVBQ25CLEVBQUMsUUFBUSxFQUFDLENBQ1gsQ0FBQztJQUNOLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUFnQixFQUFFLEVBQVU7UUFDL0MsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixXQUFXLENBQ1Ysa0JBQWtCLEVBQ2xCLElBQUksQ0FBQyxXQUFXLEVBQ2hCLHdCQUF3QixFQUN4QixFQUFDLFFBQVEsRUFBRSxFQUFFLEVBQUMsQ0FDZixDQUFDO0lBQ04sQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQWMsRUFBRSxFQUFVO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsV0FBVyxDQUNWLGtCQUFrQixFQUNsQixJQUFJLENBQUMsU0FBUyxFQUNkLHNCQUFzQixFQUN0QixFQUFDLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FDYixDQUFDO0lBQ04sQ0FBQztJQUVELDBCQUEwQixDQUFDLFFBQWdCLEVBQUUsU0FBaUI7UUFDNUQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixjQUFjLENBQ2IsSUFBSSxDQUFDLFdBQVcsRUFDaEIsMkJBQTJCLEVBQzNCLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBQyxDQUN0QixDQUFDO0lBQ04sQ0FBQztJQUVELHVCQUF1QixDQUFDLE1BQWMsRUFBRSxRQUFnQixFQUFFLFNBQWlCO1FBQ3pFLE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsY0FBYyxDQUNiLElBQUksQ0FBQyxTQUFTLEVBQ2Qsd0JBQXdCLEVBQ3hCLEVBQUMsTUFBTSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUMsQ0FDOUIsQ0FBQztJQUNOLENBQUM7SUFFRCx3QkFBd0IsQ0FBQyxRQUFnQixFQUFFLFVBQWtCO1FBQzNELE9BQU8sSUFBSSxDQUFDLFVBQVU7YUFDbkIsYUFBYSxDQUNaLGtCQUFrQixFQUNsQixJQUFJLENBQUMsV0FBVyxFQUNoQiwrQkFBK0IsRUFDL0IsRUFBQyxRQUFRLEVBQUMsRUFDVixFQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsRUFBRSxVQUFVLEVBQUMsRUFBQyxDQUMxQixDQUFBO0lBQ0wsQ0FBQztJQUVELHNCQUFzQixDQUFDLE1BQWMsRUFBRSxVQUFrQjtRQUN2RCxPQUFPLElBQUksQ0FBQyxVQUFVO2FBQ25CLGFBQWEsQ0FDWixrQkFBa0IsRUFDbEIsSUFBSSxDQUFDLFNBQVMsRUFDZCw2QkFBNkIsRUFDN0IsRUFBQyxNQUFNLEVBQUMsRUFDUixFQUFDLE1BQU0sRUFBRSxFQUFDLENBQUMsRUFBRSxVQUFVLEVBQUMsRUFBQyxDQUMxQixDQUFBO0lBQ0wsQ0FBQztJQUVELG1CQUFtQixDQUFDLFFBQWdCLEVBQUUsYUFBc0I7UUFDMUQsT0FBTyxJQUFJLENBQUMsVUFBVTthQUNuQixjQUFjLENBQ2IsYUFBYSxFQUNiLElBQUksQ0FBQyxXQUFXLEVBQ2hCLG1CQUFtQixFQUNuQixFQUFDLFFBQVEsRUFBQyxFQUNWLGFBQWEsQ0FDZCxDQUFDO0lBQ04sQ0FBQzs7MkdBbEZVLGFBQWE7K0dBQWIsYUFBYSxjQUZaLE1BQU07NEZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBcGlTZXJ2aWNlIH0gZnJvbSAnLi9hcGkuc2VydmljZSc7XG5pbXBvcnQgeyBBcGlNZW1iZXIsIEFwaU90aGVyTWVtYmVyIH0gZnJvbSAnLi4vYXBpLW1vZGVscyc7XG5pbXBvcnQge1xuICBNZW1iZXIsIE90aGVyTWVtYmVyLFxuICBSb2xlXG59IGZyb20gJy4uL21vZGVscyc7XG5pbXBvcnQgeyBtZW1iZXJGYWN0b3J5LCBvdGhlck1lbWJlckZhY3RvcnkgfSBmcm9tICcuL2ZhY3Rvcmllcyc7XG5cbmNvbnN0IE1FTUJFUl9PVEhFUl9NRU1CRVJfUEFUSCA9ICc6bWVtYmVySWQvb3RoZXJzL2NsdWJtZW1iZXJzdjIvOmlkLyc7XG5jb25zdCBNRU1CRVJfT1RIRVJfTUVNQkVSX1NFQVJDSF9QQVRIID0gJzptZW1iZXJJZC9vdGhlcnMvY2x1Ym1lbWJlcnN2Mi8nO1xuY29uc3QgTUVNQkVSX1BST0ZJTEVfQ09OVEFDVF9QQVRIID0gJzptZW1iZXJJZC9tZW1iZXItZGV0YWlsL2NvbnRhY3RzLzpjb250YWN0SWQvJztcbmNvbnN0IE1FTUJFUl9QUk9GSUxFX1BBVEggPSAnOm1lbWJlcklkL21lbWJlci1kZXRhaWwvJztcbmNvbnN0IFRFQU1fTUVNQkVSX0NPTlRBQ1RfUEFUSCA9ICc6dGVhbUlkL3RlYW0tbWVtYmVycy86bWVtYmVySWQvY29udGFjdHMvOmNvbnRhY3RJZC8nO1xuY29uc3QgVEVBTV9PVEhFUl9NRU1CRVJfUEFUSCA9ICc6dGVhbUlkL3RlYW0tbWVtYmVycy9vdGhlcnN2Mi86aWQvJztcbmNvbnN0IFRFQU1fT1RIRVJfTUVNQkVSX1NFQVJDSF9QQVRIID0gJzp0ZWFtSWQvdGVhbS1tZW1iZXJzL290aGVyc3YyLyc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIE1lbWJlclNlcnZpY2Uge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFwaVNlcnZpY2U6IEFwaVNlcnZpY2UpIHsgfVxuXG4gIGdldE1lbWJlclByb2ZpbGUobWVtYmVySWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZTxBcGlNZW1iZXIsIE1lbWJlcj4oXG4gICAgICAgIG1lbWJlckZhY3RvcnksXG4gICAgICAgIFJvbGUuTWVtYmVyQWRtaW4sXG4gICAgICAgIE1FTUJFUl9QUk9GSUxFX1BBVEgsXG4gICAgICAgIHttZW1iZXJJZH1cbiAgICAgICk7XG4gIH1cblxuICBnZXRNZW1iZXJPdGhlck1lbWJlcihtZW1iZXJJZDogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldFJlc291cmNlPEFwaU90aGVyTWVtYmVyLCBPdGhlck1lbWJlcj4oXG4gICAgICAgIG90aGVyTWVtYmVyRmFjdG9yeSxcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX09USEVSX01FTUJFUl9QQVRILFxuICAgICAgICB7bWVtYmVySWQsIGlkfVxuICAgICAgKTtcbiAgfVxuXG4gIGdldFRlYW1PdGhlck1lbWJlcih0ZWFtSWQ6IHN0cmluZywgaWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRSZXNvdXJjZTxBcGlPdGhlck1lbWJlciwgT3RoZXJNZW1iZXI+KFxuICAgICAgICBvdGhlck1lbWJlckZhY3RvcnksXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX09USEVSX01FTUJFUl9QQVRILFxuICAgICAgICB7dGVhbUlkLCBpZH1cbiAgICAgICk7XG4gIH1cblxuICByZW1vdmVNZW1iZXJQcm9maWxlQ29udGFjdChtZW1iZXJJZDogc3RyaW5nLCBjb250YWN0SWQ6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5kZWxldGVSZXNvdXJjZShcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX1BST0ZJTEVfQ09OVEFDVF9QQVRILFxuICAgICAgICB7bWVtYmVySWQsIGNvbnRhY3RJZH1cbiAgICAgICk7XG4gIH1cblxuICByZW1vdmVUZWFtTWVtYmVyQ29udGFjdCh0ZWFtSWQ6IHN0cmluZywgbWVtYmVySWQ6IHN0cmluZywgY29udGFjdElkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAuZGVsZXRlUmVzb3VyY2UoXG4gICAgICAgIFJvbGUuVGVhbUFkbWluLFxuICAgICAgICBURUFNX01FTUJFUl9DT05UQUNUX1BBVEgsXG4gICAgICAgIHt0ZWFtSWQsIG1lbWJlcklkLCBjb250YWN0SWR9XG4gICAgICApO1xuICB9XG5cbiAgc2VhcmNoTWVtYmVyT3RoZXJNZW1iZXJzKG1lbWJlcklkOiBzdHJpbmcsIHNlYXJjaFRlcm06IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmFwaVNlcnZpY2VcbiAgICAgIC5nZXRDb2xsZWN0aW9uPEFwaU90aGVyTWVtYmVyLCBPdGhlck1lbWJlcj4oXG4gICAgICAgIG90aGVyTWVtYmVyRmFjdG9yeSxcbiAgICAgICAgUm9sZS5NZW1iZXJBZG1pbixcbiAgICAgICAgTUVNQkVSX09USEVSX01FTUJFUl9TRUFSQ0hfUEFUSCxcbiAgICAgICAge21lbWJlcklkfSxcbiAgICAgICAge3BhcmFtczoge3E6IHNlYXJjaFRlcm19fVxuICAgICAgKVxuICB9XG5cbiAgc2VhcmNoVGVhbU90aGVyTWVtYmVycyh0ZWFtSWQ6IHN0cmluZywgc2VhcmNoVGVybTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuYXBpU2VydmljZVxuICAgICAgLmdldENvbGxlY3Rpb248QXBpT3RoZXJNZW1iZXIsIE90aGVyTWVtYmVyPihcbiAgICAgICAgb3RoZXJNZW1iZXJGYWN0b3J5LFxuICAgICAgICBSb2xlLlRlYW1BZG1pbixcbiAgICAgICAgVEVBTV9PVEhFUl9NRU1CRVJfU0VBUkNIX1BBVEgsXG4gICAgICAgIHt0ZWFtSWR9LFxuICAgICAgICB7cGFyYW1zOiB7cTogc2VhcmNoVGVybX19XG4gICAgICApXG4gIH1cblxuICB1cGRhdGVNZW1iZXJQcm9maWxlKG1lbWJlcklkOiBzdHJpbmcsIG1lbWJlclByb2ZpbGU6IHVua25vd24pIHtcbiAgICByZXR1cm4gdGhpcy5hcGlTZXJ2aWNlXG4gICAgICAudXBkYXRlUmVzb3VyY2U8QXBpTWVtYmVyLCBNZW1iZXI+KFxuICAgICAgICBtZW1iZXJGYWN0b3J5LFxuICAgICAgICBSb2xlLk1lbWJlckFkbWluLFxuICAgICAgICBNRU1CRVJfUFJPRklMRV9QQVRILFxuICAgICAgICB7bWVtYmVySWR9LFxuICAgICAgICBtZW1iZXJQcm9maWxlXG4gICAgICApO1xuICB9XG59XG4iXX0=
|