@provoly/dashboard 0.12.7 → 0.12.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.d.ts +2 -1
  2. package/admin/components/admin-classes/store/admin-class.effects.d.ts +2 -1
  3. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +2 -1
  4. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +2 -1
  5. package/admin/i18n/en.translations.d.ts +2 -0
  6. package/admin/i18n/fr.translations.d.ts +2 -0
  7. package/admin/store/admin.actions.d.ts +31 -1
  8. package/admin/store/admin.effects.d.ts +27 -5
  9. package/admin/store/admin.reducer.d.ts +2 -1
  10. package/admin/store/admin.selectors.d.ts +1 -0
  11. package/admin/store/admin.service.d.ts +5 -1
  12. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +5 -3
  13. package/esm2022/admin/components/admin-classes/admin-classes.component.mjs +2 -1
  14. package/esm2022/admin/components/admin-classes/store/admin-class.actions.mjs +1 -1
  15. package/esm2022/admin/components/admin-classes/store/admin-class.effects.mjs +5 -4
  16. package/esm2022/admin/components/admin-classes/store/admin-class.reducer.mjs +1 -1
  17. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +2 -1
  18. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +5 -3
  19. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +5 -3
  20. package/esm2022/admin/components/admin-fields/admin-fields.component.mjs +2 -1
  21. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +3 -3
  22. package/esm2022/admin/components/admin-predicates/admin-predicates.component.mjs +1 -1
  23. package/esm2022/admin/components/admin.component.mjs +1 -1
  24. package/esm2022/admin/i18n/en.translations.mjs +3 -1
  25. package/esm2022/admin/i18n/fr.translations.mjs +3 -1
  26. package/esm2022/admin/store/admin.actions.mjs +8 -2
  27. package/esm2022/admin/store/admin.effects.mjs +6 -2
  28. package/esm2022/admin/store/admin.reducer.mjs +6 -2
  29. package/esm2022/admin/store/admin.selectors.mjs +4 -2
  30. package/esm2022/admin/store/admin.service.mjs +21 -1
  31. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +2 -2
  32. package/esm2022/dataset/components/dataset.component.mjs +2 -1
  33. package/esm2022/lib/core/store/class/class.interface.mjs +1 -1
  34. package/esm2022/lib/core/store/data-source/data-source.actions.mjs +3 -1
  35. package/esm2022/lib/core/store/data-source/data-source.effects.mjs +3 -2
  36. package/esm2022/lib/core/store/data-source/data-source.reducer.mjs +4 -1
  37. package/esm2022/lib/core/store/data-source/data-source.service.mjs +6 -1
  38. package/esm2022/lib/dashboard/store/refresh.service.mjs +3 -2
  39. package/esm2022/widgets/widget-aggregated-chart/component/widget-aggregated-chart.component.mjs +4 -3
  40. package/fesm2022/provoly-dashboard-admin.mjs +61 -14
  41. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  42. package/fesm2022/provoly-dashboard-dataset.mjs +2 -1
  43. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  44. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs +3 -2
  45. package/fesm2022/provoly-dashboard-widgets-widget-aggregated-chart.mjs.map +1 -1
  46. package/fesm2022/provoly-dashboard.mjs +14 -2
  47. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  48. package/lib/core/store/class/class.interface.d.ts +11 -0
  49. package/lib/core/store/data-source/data-source.actions.d.ts +12 -0
  50. package/lib/core/store/data-source/data-source.effects.d.ts +4 -0
  51. package/lib/core/store/data-source/data-source.service.d.ts +1 -0
  52. package/package.json +31 -31
@@ -1,7 +1,7 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { Store } from '@ngrx/store';
4
- import { Class } from '@provoly/dashboard';
4
+ import { Associations, Class } from '@provoly/dashboard';
5
5
  import { Observable, Subscription } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AdminClassesSelectComponent implements OnInit, OnDestroy {
@@ -14,6 +14,7 @@ export declare class AdminClassesSelectComponent implements OnInit, OnDestroy {
14
14
  sub: Subscription;
15
15
  currentClass$: Observable<Class | undefined>;
16
16
  linkedObjects$: Observable<any[]>;
17
+ associations$: Observable<Associations | undefined>;
17
18
  constructor(store: Store<any>, router: Router, route: ActivatedRoute);
18
19
  ngOnInit(): void;
19
20
  switch(number: number): void;
@@ -6,6 +6,7 @@ export declare class AdminClassEffects {
6
6
  private actions$;
7
7
  private adminService;
8
8
  private pryDialog;
9
+ private service;
9
10
  updateToolbox$: import("rxjs").Observable<({
10
11
  componentType: string | null;
11
12
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] Select component Type for panel ">) | import("@ngrx/store/src/models").TypedAction<"[Class] Load Classes">> & import("@ngrx/effects").CreateEffectMetadata;
@@ -75,7 +76,7 @@ export declare class AdminClassEffects {
75
76
  backPath: string;
76
77
  addAttrPath: string;
77
78
  } & import("@ngrx/store/src/models").TypedAction<"[Class] Open modal for attribute deletion">> & import("@ngrx/effects").CreateEffectMetadata;
78
- constructor(actions$: Actions, adminService: AdminService, pryDialog: PryDialogService);
79
+ constructor(actions$: Actions, adminService: AdminService, pryDialog: PryDialogService, service: AdminService);
79
80
  static ɵfac: i0.ɵɵFactoryDeclaration<AdminClassEffects, never>;
80
81
  static ɵprov: i0.ɵɵInjectableDeclaration<AdminClassEffects>;
81
82
  }
@@ -2,7 +2,7 @@ import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { FormBuilder, FormGroup } from '@angular/forms';
3
3
  import { ActivatedRoute, Router } from '@angular/router';
4
4
  import { Store } from '@ngrx/store';
5
- import { Dataset, DatasetMetadata, IMetadata, SubscriptionnerDirective } from '@provoly/dashboard';
5
+ import { Associations, Dataset, DatasetMetadata, IMetadata, SubscriptionnerDirective } from '@provoly/dashboard';
6
6
  import { Observable, Subscription } from 'rxjs';
7
7
  import * as i0 from "@angular/core";
8
8
  export declare class AdminSelectDatasetComponent extends SubscriptionnerDirective implements OnInit, OnDestroy {
@@ -13,6 +13,7 @@ export declare class AdminSelectDatasetComponent extends SubscriptionnerDirectiv
13
13
  static id: string;
14
14
  compId: number;
15
15
  selectedDataset$: Observable<Dataset | null>;
16
+ associations$: Observable<Associations | undefined>;
16
17
  sub: Subscription;
17
18
  currentTypeTranslation: string;
18
19
  tab: number;
@@ -1,7 +1,7 @@
1
1
  import { OnDestroy, OnInit } from '@angular/core';
2
2
  import { ActivatedRoute, Router } from '@angular/router';
3
3
  import { Store } from '@ngrx/store';
4
- import { Field } from '@provoly/dashboard';
4
+ import { Associations, Field } from '@provoly/dashboard';
5
5
  import { Observable, Subscription } from 'rxjs';
6
6
  import * as i0 from "@angular/core";
7
7
  export declare class AdminFieldsSelectComponent implements OnInit, OnDestroy {
@@ -10,6 +10,7 @@ export declare class AdminFieldsSelectComponent implements OnInit, OnDestroy {
10
10
  private route;
11
11
  static id: string;
12
12
  currentField$: Observable<Field | undefined>;
13
+ associations$: Observable<Associations | undefined>;
13
14
  compId: number;
14
15
  tab: number;
15
16
  sub: Subscription;
@@ -228,6 +228,8 @@ export declare const enTranslations: {
228
228
  createClassConfirmMessage: string;
229
229
  deleteClassConfirmMessage: string;
230
230
  linkedObjects: string;
231
+ usedElsewhere: string;
232
+ associations: string;
231
233
  type: string;
232
234
  attributes: {
233
235
  add: string;
@@ -228,6 +228,8 @@ export declare const frTranslations: {
228
228
  createClassConfirmMessage: string;
229
229
  deleteClassConfirmMessage: string;
230
230
  linkedObjects: string;
231
+ usedElsewhere: string;
232
+ associations: string;
231
233
  type: string;
232
234
  attributes: {
233
235
  add: string;
@@ -1,4 +1,4 @@
1
- import { BaseToolboxAction } from '@provoly/dashboard';
1
+ import { Associations, BaseToolboxAction } from '@provoly/dashboard';
2
2
  export declare const AdminActions: {
3
3
  highlightMenu: import("@ngrx/store").ActionCreator<"[Admin] selecting highLight", (props: {
4
4
  menu: string;
@@ -38,4 +38,34 @@ export declare const AdminActions: {
38
38
  }) => {
39
39
  componentType: string | null;
40
40
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] Select component Type for panel ">>;
41
+ fetchClassAssociations: import("@ngrx/store").ActionCreator<"[Admin] Fetch Class associations", (props: {
42
+ id: string;
43
+ }) => {
44
+ id: string;
45
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Class associations">>;
46
+ fetchFieldAssociations: import("@ngrx/store").ActionCreator<"[Admin] Fetch field associations", (props: {
47
+ id: string;
48
+ }) => {
49
+ id: string;
50
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch field associations">>;
51
+ fetchAttributeAssociations: import("@ngrx/store").ActionCreator<"[Admin] Fetch Attribute associations", (props: {
52
+ id: string;
53
+ }) => {
54
+ id: string;
55
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Attribute associations">>;
56
+ fetchDatasetAssociations: import("@ngrx/store").ActionCreator<"[Admin] Fetch Dataset associations", (props: {
57
+ id: string;
58
+ }) => {
59
+ id: string;
60
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Dataset associations">>;
61
+ fetchAssociationsSuccess: import("@ngrx/store").ActionCreator<"[Admin] Fetch Associations Success", (props: {
62
+ association: Associations;
63
+ }) => {
64
+ association: Associations;
65
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations Success">>;
66
+ fetchAssociationsFailure: import("@ngrx/store").ActionCreator<"[Admin] Fetch Associations failure", (props: {
67
+ error: any;
68
+ }) => {
69
+ error: any;
70
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations failure">>;
41
71
  };
@@ -1,33 +1,55 @@
1
1
  import { Router } from '@angular/router';
2
2
  import { Actions } from '@ngrx/effects';
3
+ import { Associations } from '@provoly/dashboard';
3
4
  import { AdminService } from './admin.service';
5
+ import { Observable } from 'rxjs';
4
6
  import * as i0 from "@angular/core";
5
7
  export declare class AdminEffects {
6
8
  private actions$;
7
9
  private service;
8
10
  private router;
9
- routeTo$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Admin] reset toolbox main and sub actions">> & import("@ngrx/effects").CreateEffectMetadata;
10
- deleteRelationTypeSuccess$: import("rxjs").Observable<({
11
+ routeTo$: Observable<import("@ngrx/store/src/models").TypedAction<"[Admin] reset toolbox main and sub actions">> & import("@ngrx/effects").CreateEffectMetadata;
12
+ deleteRelationTypeSuccess$: Observable<({
11
13
  actions: import("@provoly/dashboard").BaseToolboxAction[];
12
14
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] set toolbox main actions">) | ({
13
15
  componentType: string | null;
14
16
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] Select component Type for panel ">) | import("@ngrx/store/src/models").TypedAction<"[Relation Types] Load Relation Types">> & import("@ngrx/effects").CreateEffectMetadata;
15
- closePanel$: import("rxjs").Observable<{
17
+ closePanel$: Observable<{
16
18
  panelOpen: boolean;
17
19
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] Toggle panel">> & import("@ngrx/effects").CreateEffectMetadata;
18
- deleted$: import("rxjs").Observable<({
20
+ deleted$: Observable<({
19
21
  actions: import("@provoly/dashboard").BaseToolboxAction[];
20
22
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] set toolbox main actions">) | ({
21
23
  panelOpen: boolean;
22
24
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] Toggle panel">) | ({
23
25
  componentType: string | null;
24
26
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] Select component Type for panel ">)> & import("@ngrx/effects").CreateEffectMetadata;
25
- openNewDataset$: import("rxjs").Observable<{
27
+ openNewDataset$: Observable<{
26
28
  path: string;
27
29
  params?: {
28
30
  [p: string]: string;
29
31
  } | undefined;
30
32
  } & import("@ngrx/store/src/models").TypedAction<"[Admin] route to">> & import("@ngrx/effects").CreateEffectMetadata;
33
+ fetchClassAssociations$: Observable<({
34
+ association: Associations;
35
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations Success">) | ({
36
+ error: any;
37
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations failure">)> & import("@ngrx/effects").CreateEffectMetadata;
38
+ fetchFieldAssociations$: Observable<({
39
+ association: Associations;
40
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations Success">) | ({
41
+ error: any;
42
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations failure">)> & import("@ngrx/effects").CreateEffectMetadata;
43
+ fetchDatasetAssociations$: Observable<({
44
+ association: Associations;
45
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations Success">) | ({
46
+ error: any;
47
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations failure">)> & import("@ngrx/effects").CreateEffectMetadata;
48
+ fetchAttributeAssociations$: Observable<({
49
+ association: Associations;
50
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations Success">) | ({
51
+ error: any;
52
+ } & import("@ngrx/store/src/models").TypedAction<"[Admin] Fetch Associations failure">)> & import("@ngrx/effects").CreateEffectMetadata;
31
53
  constructor(actions$: Actions, service: AdminService, router: Router);
32
54
  static ɵfac: i0.ɵɵFactoryDeclaration<AdminEffects, never>;
33
55
  static ɵprov: i0.ɵɵInjectableDeclaration<AdminEffects>;
@@ -1,4 +1,4 @@
1
- import { BaseMenuItem, BaseToolboxAction } from '@provoly/dashboard';
1
+ import { Associations, BaseMenuItem, BaseToolboxAction } from '@provoly/dashboard';
2
2
  export declare const adminFeatureKey = "@pry/admin";
3
3
  export interface AdminState {
4
4
  highlightedMenu: string;
@@ -8,6 +8,7 @@ export interface AdminState {
8
8
  subActions: BaseToolboxAction[];
9
9
  panelOpen: boolean;
10
10
  componentType: string | null;
11
+ selectedAssociation: Associations | undefined;
11
12
  }
12
13
  export declare const initialAdminState: AdminState;
13
14
  export declare const adminReducer: import("@ngrx/store").ActionReducer<AdminState, import("@ngrx/store").Action>;
@@ -10,4 +10,5 @@ export declare const AdminSelectors: {
10
10
  subActions: import("@ngrx/store").MemoizedSelector<object, import("@provoly/dashboard").BaseToolboxAction[], (s1: fromAdmin.AdminState) => import("@provoly/dashboard").BaseToolboxAction[]>;
11
11
  panelOpen: import("@ngrx/store").MemoizedSelector<object, boolean, (s1: fromAdmin.AdminState) => boolean>;
12
12
  componentType: import("@ngrx/store").MemoizedSelector<object, string | null, (s1: fromAdmin.AdminState) => string | null>;
13
+ selectedAssociation: import("@ngrx/store").MemoizedSelector<object, import("@provoly/dashboard").Associations | undefined, (s1: fromAdmin.AdminState) => import("@provoly/dashboard").Associations | undefined>;
13
14
  };
@@ -1,6 +1,6 @@
1
1
  import { HttpClient } from '@angular/common/http';
2
2
  import { Store } from '@ngrx/store';
3
- import { Attribute, Category, Class, Environment, IMetadata, Link, LinkDetails, MetadataRules, MetadataRulesCreate, MetadataUser, Predicate, UserInfo } from '@provoly/dashboard';
3
+ import { Associations, Attribute, Category, Class, Environment, IMetadata, Link, LinkDetails, MetadataRules, MetadataRulesCreate, MetadataUser, Predicate, UserInfo } from '@provoly/dashboard';
4
4
  import { Observable } from 'rxjs';
5
5
  import { AbacRule } from '../components/admin-abac-rules/store/abac-rules.model';
6
6
  import * as i0 from "@angular/core";
@@ -24,6 +24,10 @@ export declare class AdminService {
24
24
  getAbacRules(): Observable<AbacRule[]>;
25
25
  getAbacRule(id: string): Observable<AbacRule>;
26
26
  saveAbacRule(rule: AbacRule): Observable<void>;
27
+ getClassAssociations(id: string): Observable<Associations>;
28
+ getDatasetAssociations(id: string): Observable<Associations>;
29
+ getFieldAssociations(id: string): Observable<Associations>;
30
+ getAttributeAssociations(id: string): Observable<Associations>;
27
31
  getClass(id: string): Observable<Class>;
28
32
  saveClass(clazz: Class): Observable<void>;
29
33
  saveAttributeForClass(classId: string, attribute: Attribute): Observable<void>;
@@ -5,6 +5,7 @@ import { map, Subscription } from 'rxjs';
5
5
  import { AdminActions } from '../../../store/admin.actions';
6
6
  import { AdminClassActions } from '../store/admin-class.actions';
7
7
  import { AdminClassSelectors } from '../store/admin-class.selectors';
8
+ import { AdminSelectors } from '../../../store/admin.selectors';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@ngrx/store";
10
11
  import * as i2 from "@angular/router";
@@ -20,6 +21,7 @@ export class AdminClassesSelectComponent {
20
21
  this.tab = 0;
21
22
  this.sub = new Subscription();
22
23
  this.currentClass$ = this.store.select(AdminClassSelectors.selectedClass);
24
+ this.associations$ = this.store.select(AdminSelectors.selectedAssociation);
23
25
  this.compId = nextCompId++;
24
26
  this.linkedObjects$ = this.currentClass$.pipe(concatLatestFrom((clazz) => this.store.select(DataSourceSelectors.datasets)), map(([clazz, datasets]) => datasets.filter((dataset) => dataset.oClass === clazz?.id)));
25
27
  }
@@ -98,10 +100,10 @@ export class AdminClassesSelectComponent {
98
100
  }));
99
101
  }
100
102
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminClassesSelectComponent, deps: [{ token: i1.Store }, { token: i2.Router }, { token: i2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
101
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminClassesSelectComponent, selector: "pry-admin-classes-select", ngImport: i0, template: "<div\n *ngIf=\"currentClass$ | async as clazz\"\n [id]=\"'panel-class-' + clazz.id\"\n [attr.aria-labelledby]=\"'button-class-' + clazz.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.linkedObjects' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ clazz.name }}</strong>\n </p>\n <p class=\"a-p u-display-flex -align-center\">\n {{ '@pry.admin.classes.image' | i18n }} :\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"clazz.id | translateId: { type: 'class', output: 'icon' } | async\"\n />\n </p>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.admin.classes.name' | i18n }}</th>\n <th>{{ '@pry.admin.classes.type' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let object of linkedObjects$ | async\">\n <td>{{ object.name }}</td>\n <td>{{ '@pry.admin.dataset.title' | i18n }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
103
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.6", type: AdminClassesSelectComponent, selector: "pry-admin-classes-select", ngImport: i0, template: "<div\n *ngIf=\"currentClass$ | async as clazz\"\n [id]=\"'panel-class-' + clazz.id\"\n [attr.aria-labelledby]=\"'button-class-' + clazz.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.linkedObjects' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-2'\"\n [attr.aria-selected]=\"tab === 2\"\n [attr.tabindex]=\"tab === 2 ? 2 : -2\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-2'\"\n (click)=\"switch(2)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ clazz.name }}</strong>\n </p>\n <p class=\"a-p u-display-flex -align-center\">\n {{ '@pry.admin.classes.image' | i18n }} :\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"clazz.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n </p>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.admin.classes.name' | i18n }}</th>\n <th>{{ '@pry.admin.classes.type' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let object of linkedObjects$ | async\">\n <td>{{ object.name }}</td>\n <td>{{ '@pry.admin.dataset.title' | i18n }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 2\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"2\"\n >\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <div *ngFor=\"let association of associations.associations\">\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ association.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.type' | i18n }} :\n <strong>{{ association.type }}</strong>\n </p>\n </div>\n <p *ngIf=\"associations.usedElsewhere === true\" class=\"a-p\">\n <strong>{{ '@pry.admin.classes.usedElsewhere' | i18n }}</strong>\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i4.TranslateIdPipe, name: "translateId" }, { kind: "pipe", type: i4.I18nPipe, name: "i18n" }] }); }
102
104
  }
103
105
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImport: i0, type: AdminClassesSelectComponent, decorators: [{
104
106
  type: Component,
105
- args: [{ selector: 'pry-admin-classes-select', template: "<div\n *ngIf=\"currentClass$ | async as clazz\"\n [id]=\"'panel-class-' + clazz.id\"\n [attr.aria-labelledby]=\"'button-class-' + clazz.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.linkedObjects' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ clazz.name }}</strong>\n </p>\n <p class=\"a-p u-display-flex -align-center\">\n {{ '@pry.admin.classes.image' | i18n }} :\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"clazz.id | translateId: { type: 'class', output: 'icon' } | async\"\n />\n </p>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.admin.classes.name' | i18n }}</th>\n <th>{{ '@pry.admin.classes.type' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let object of linkedObjects$ | async\">\n <td>{{ object.name }}</td>\n <td>{{ '@pry.admin.dataset.title' | i18n }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
107
+ args: [{ selector: 'pry-admin-classes-select', template: "<div\n *ngIf=\"currentClass$ | async as clazz\"\n [id]=\"'panel-class-' + clazz.id\"\n [attr.aria-labelledby]=\"'button-class-' + clazz.id\"\n class=\"o-panel\"\n>\n <div>\n <div class=\"o-panel__header\">\n <button type=\"button\" class=\"a-btn a-btn--icon-only\" (click)=\"closePanel()\">\n <span class=\"u-visually-hidden\">{{ '@pry.action.closePanel' | i18n }}</span>\n <pry-icon iconSvg=\"close\"></pry-icon>\n </button>\n\n <h3 [id]=\"'tab-title-' + compId\" class=\"a-h3\">\n {{ '@pry.admin.classes.info' | i18n }}\n </h3>\n </div>\n\n <div class=\"o-tabs\">\n <div class=\"o-tabs__list\" role=\"tablist\" [attr.aria-labelledby]=\"'tab-title-' + compId\">\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-0'\"\n [attr.aria-selected]=\"tab === 0\"\n [attr.tabindex]=\"tab === 0 ? 0 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-0'\"\n (click)=\"switch(0)\"\n >\n {{ '@pry.admin.details' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-1'\"\n [attr.aria-selected]=\"tab === 1\"\n [attr.tabindex]=\"tab === 1 ? 1 : -1\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-1'\"\n (click)=\"switch(1)\"\n >\n {{ '@pry.admin.classes.linkedObjects' | i18n }}\n </button>\n <button\n type=\"button\"\n class=\"o-tabs__list__btn\"\n role=\"tab\"\n [id]=\"'tab-' + compId + '-2'\"\n [attr.aria-selected]=\"tab === 2\"\n [attr.tabindex]=\"tab === 2 ? 2 : -2\"\n [attr.aria-controls]=\"'tabpanel-' + compId + '-2'\"\n (click)=\"switch(2)\"\n >\n {{ '@pry.admin.classes.associations' | i18n }}\n </button>\n </div>\n\n <div class=\"o-tabs__panels\">\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 0\"\n [id]=\"'tabpanel-' + compId + '-0'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-0'\"\n tabindex=\"0\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.properties' | i18n }}</h4>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ clazz.name }}</strong>\n </p>\n <p class=\"a-p u-display-flex -align-center\">\n {{ '@pry.admin.classes.image' | i18n }} :\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"clazz.id | translateId : { type: 'class', output: 'icon' } | async\"\n />\n </p>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 1\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"1\"\n >\n <div class=\"o-tabs__panels__item__content\">\n <table class=\"a-table\">\n <caption>\n {{\n '@pry.admin.dataset.title' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th>{{ '@pry.admin.classes.name' | i18n }}</th>\n <th>{{ '@pry.admin.classes.type' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let object of linkedObjects$ | async\">\n <td>{{ object.name }}</td>\n <td>{{ '@pry.admin.dataset.title' | i18n }}</td>\n </tr>\n </tbody>\n </table>\n </div>\n </div>\n <div\n class=\"o-tabs__panels__item\"\n [class.is-hidden]=\"tab !== 2\"\n [id]=\"'tabpanel-' + compId + '-1'\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"'tab-' + compId + '-1'\"\n tabindex=\"2\"\n >\n <div *ngIf=\"associations$ | async as associations\" class=\"o-tabs__panels__item__content\">\n <h4 class=\"a-h4\">{{ '@pry.admin.classes.associations' | i18n }}</h4>\n <div *ngFor=\"let association of associations.associations\">\n <p class=\"a-p\">\n {{ '@pry.admin.classes.name' | i18n }} :\n <strong>{{ association.name }}</strong>\n </p>\n <p class=\"a-p\">\n {{ '@pry.admin.classes.type' | i18n }} :\n <strong>{{ association.type }}</strong>\n </p>\n </div>\n <p *ngIf=\"associations.usedElsewhere === true\" class=\"a-p\">\n <strong>{{ '@pry.admin.classes.usedElsewhere' | i18n }}</strong>\n </p>\n </div>\n </div>\n </div>\n </div>\n </div>\n</div>\n" }]
106
108
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1jbGFzc2VzL2FkbWluLWNsYXNzZXMtc2VsZWN0L2FkbWluLWNsYXNzZXMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXNlbGVjdC9hZG1pbi1jbGFzc2VzLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUFTLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDaEUsT0FBTyxFQUFFLEdBQUcsRUFBYyxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDckQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzVELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDOzs7Ozs7QUFFckUsSUFBSSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBTW5CLE1BQU0sT0FBTywyQkFBMkI7YUFDL0IsT0FBRSxHQUFHLDZCQUE2QixDQUFDO0lBTzFDLFlBQ1UsS0FBaUIsRUFDakIsTUFBYyxFQUNkLEtBQXFCO1FBRnJCLFVBQUssR0FBTCxLQUFLLENBQVk7UUFDakIsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNkLFVBQUssR0FBTCxLQUFLLENB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QUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxNQUFNLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztvQkFDdkQsS0FBSyxFQUFFLEtBQUs7b0JBQ1osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFlBQVksRUFBRSxPQUFPO29CQUNyQixVQUFVLEVBQUUsU0FBUztvQkFDckIsWUFBWSxFQUFFLE9BQU87aUJBQ3RCO2FBQ0Y7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBdkdVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdFQ2hCeEMsZ3NIQTZHQTs7MkZEN0ZhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbmNhdExhdGVzdEZyb20gfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ2xhc3MsIERhdGFTb3VyY2VTZWxlY3RvcnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc0FjdGlvbnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi1jbGFzcy5hY3Rpb25zJztcbmltcG9ydCB7IEFkbWluQ2xhc3NTZWxlY3RvcnMgfSBmcm9tICcuLi9zdG9yZS9hZG1pbi1jbGFzcy5zZWxlY3RvcnMnO1xuXG5sZXQgbmV4dENvbXBJZCA9IDA7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ByeS1hZG1pbi1jbGFzc2VzLXNlbGVjdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1jbGFzc2VzLXNlbGVjdC5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5DbGFzc2VzU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBzdGF0aWMgaWQgPSAnQWRtaW5DbGFzc2VzU2VsZWN0Q29tcG9uZW50JztcbiAgY29tcElkOiBudW1iZXI7XG4gIHRhYjogbnVtYmVyID0gMDtcbiAgc3ViID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICBjdXJyZW50Q2xhc3MkOiBPYnNlcnZhYmxlPENsYXNzIHwgdW5kZWZpbmVkPjtcbiAgbGlua2VkT2JqZWN0cyQ6IE9ic2VydmFibGU8YW55W10+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc3RvcmU6IFN0b3JlPGFueT4sXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVxuICApIHtcbiAgICB0aGlzLmN1cnJlbnRDbGFzcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkNsYXNzU2VsZWN0b3JzLnNlbGVjdGVkQ2xhc3MpO1xuICAgIHRoaXMuY29tcElkID0gbmV4dENvbXBJZCsrO1xuICAgIHRoaXMubGlua2VkT2JqZWN0cyQgPSB0aGlzLmN1cnJlbnRDbGFzcyQucGlwZShcbiAgICAgIGNvbmNhdExhdGVzdEZyb20oKGNsYXp6KSA9PiB0aGlzLnN0b3JlLnNlbGVjdChEYXRhU291cmNlU2VsZWN0b3JzLmRhdGFzZXRzKSksXG4gICAgICBtYXAoKFtjbGF6eiwgZGF0YXNldHNdKSA9PiBkYXRhc2V0cy5maWx0ZXIoKGRhdGFzZXQpID0+IGRhdGFzZXQub0NsYXNzID09PSBjbGF6ej8uaWQpKVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi5hZGQoXG4gICAgICB0aGlzLmN1cnJlbnRDbGFzcyQucGlwZShjb25jYXRMYXRlc3RGcm9tKChjbGF6eikgPT4gdGhpcy5saW5rZWRPYmplY3RzJCkpLnN1YnNjcmliZSgoW2NsYXp6LCBsaW5rZWRPYmplY3RzXSkgPT4ge1xuICAgICAgICBpZiAoY2xhenopIHtcbiAgICAgICAgICBjb25zdCBuZXdQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnY2xhc3NlcycsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgICAgICAgIGNvbnN0IGVkaXRQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnY2xhc3NlcycsIGNsYXp6LmlkLCAnZWRpdCddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgY29uc3QgY3VzdG9taXplUGF0aCA9IHRoaXMucm91dGVyLmNyZWF0ZVVybFRyZWUoWycuJywgJ2NsYXNzZXMnLCBjbGF6ei5pZCwgJ2N1c3RvbWl6ZSddLCB7XG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgY29uc3Qgdmlld0F0dHJpYnV0ZXNQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnY2xhc3NlcycsIGNsYXp6LmlkXSwge1xuICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZVxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICAgICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGVkaXRQYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ3JlbmFtZScsXG4gICAgICAgICAgICAgICAgICBpY29uOiAnZWRpdCcsXG4gICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGFjdGlvbjogQWRtaW5DbGFzc0FjdGlvbnMuY29uZmlybUNsYXNzRGVsZXRpb24oeyBpZDogY2xhenouaWQsIHBhdGg6IG5ld1BhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnZGVsZXRlJyxcbiAgICAgICAgICAgICAgICAgIGljb246ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgICAgcGFnZUFjY2VzczogJ2NsYXNzZXMnLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnLFxuICAgICAgICAgICAgICAgICAgZGlzYWJsZWQ6IGxpbmtlZE9iamVjdHMubGVuZ3RoID4gMFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IGN1c3RvbWl6ZVBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAnY3VzdG9taXplLnRpdGxlJyxcbiAgICAgICAgICAgICAgICAgIGljb246ICdjaGF0LXNldHRpbmdzJyxcbiAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHZpZXdBdHRyaWJ1dGVzUGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdlZGl0JyxcbiAgICAgICAgICAgICAgICAgIGljb246ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIF1cbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc3dpdGNoKG51bWJlcjogbnVtYmVyKSB7XG4gICAgdGhpcy50YWIgPSBudW1iZXI7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN1Yi51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgY2xvc2VQYW5lbCgpIHtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnY2xhc3NlcycsICduZXcnXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMudW5zZWxlY3RDbGFzcygpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQWN0aW9ucy50b2dnbGVQYW5lbCh7IHBhbmVsT3BlbjogZmFsc2UgfSkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goXG4gICAgICBBZG1pbkFjdGlvbnMubWFpbkFjdGlvbnMoe1xuICAgICAgICBhY3Rpb25zOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkFjdGlvbnMucm91dGVUbyh7IHBhdGg6IHBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgIGxhYmVsOiAnYWRkJyxcbiAgICAgICAgICAgIGljb246ICdhZGRfY29sdW1uJyxcbiAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSlcbiAgICApO1xuICB9XG59XG4iLCI8ZGl2XG4gICpuZ0lmPVwiY3VycmVudENsYXNzJCB8IGFzeW5jIGFzIGNsYXp6XCJcbiAgW2lkXT1cIidwYW5lbC1jbGFzcy0nICsgY2xhenouaWRcIlxuICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ2J1dHRvbi1jbGFzcy0nICsgY2xhenouaWRcIlxuICBjbGFzcz1cIm8tcGFuZWxcIlxuPlxuICA8ZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJvLXBhbmVsX19oZWFkZXJcIj5cbiAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiIChjbGljayk9XCJjbG9zZVBhbmVsKClcIj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LmFjdGlvbi5jbG9zZVBhbmVsJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDxwcnktaWNvbiBpY29uU3ZnPVwiY2xvc2VcIj48L3ByeS1pY29uPlxuICAgICAgPC9idXR0b24+XG5cbiAgICAgIDxoMyBbaWRdPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCIgY2xhc3M9XCJhLWgzXCI+XG4gICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuaW5mbycgfCBpMThuIH19XG4gICAgICA8L2gzPlxuICAgIDwvZGl2PlxuXG4gICAgPGRpdiBjbGFzcz1cIm8tdGFic1wiPlxuICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fbGlzdFwiIHJvbGU9XCJ0YWJsaXN0XCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0YWItdGl0bGUtJyArIGNvbXBJZFwiPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJvLXRhYnNfX2xpc3RfX2J0blwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2lkXT1cIid0YWItJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiID09PSAwXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIgPT09IDAgPyAwIDogLTFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3RhYnBhbmVsLScgKyBjb21wSWQgKyAnLTAnXCJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoKDApXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmRldGFpbHMnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvblxuICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgIGNsYXNzPVwiby10YWJzX19saXN0X19idG5cIlxuICAgICAgICAgIHJvbGU9XCJ0YWJcIlxuICAgICAgICAgIFtpZF09XCIndGFiLScgKyBjb21wSWQgKyAnLTEnXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInRhYiA9PT0gMVwiXG4gICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiID09PSAxID8gMSA6IC0xXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgICAgKGNsaWNrKT1cInN3aXRjaCgxKVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLmxpbmtlZE9iamVjdHMnIHwgaTE4biB9fVxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19wYW5lbHNcIj5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1cIlxuICAgICAgICAgIFtjbGFzcy5pcy1oaWRkZW5dPVwidGFiICE9PSAwXCJcbiAgICAgICAgICBbaWRdPVwiJ3RhYnBhbmVsLScgKyBjb21wSWQgKyAnLTAnXCJcbiAgICAgICAgICByb2xlPVwidGFicGFuZWxcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCIndGFiLScgKyBjb21wSWQgKyAnLTAnXCJcbiAgICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICA+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtX19jb250ZW50XCI+XG4gICAgICAgICAgICA8aDQgY2xhc3M9XCJhLWg0XCI+e3sgJ0BwcnkuYWRtaW4ucHJvcGVydGllcycgfCBpMThuIH19PC9oND5cbiAgICAgICAgICAgIDxwIGNsYXNzPVwiYS1wXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMubmFtZScgfCBpMThuIH19IDpcbiAgICAgICAgICAgICAgPHN0cm9uZz57eyBjbGF6ei5uYW1lIH19PC9zdHJvbmc+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImEtcCB1LWRpc3BsYXktZmxleCAtYWxpZ24tY2VudGVyXCI+XG4gICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuaW1hZ2UnIHwgaTE4biB9fSA6XG4gICAgICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgICAgICBhbHQ9XCJcIlxuICAgICAgICAgICAgICAgIFtoZWlnaHRdPVwiMjVcIlxuICAgICAgICAgICAgICAgIFt3aWR0aF09XCIyNVwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJjbGF6ei5pZCB8IHRyYW5zbGF0ZUlkOiB7IHR5cGU6ICdjbGFzcycsIG91dHB1dDogJ2ljb24nIH0gfCBhc3luY1wiXG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbVwiXG4gICAgICAgICAgW2NsYXNzLmlzLWhpZGRlbl09XCJ0YWIgIT09IDFcIlxuICAgICAgICAgIFtpZF09XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICAgIHJvbGU9XCJ0YWJwYW5lbFwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIid0YWItJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICAgIHRhYmluZGV4PVwiMVwiXG4gICAgICAgID5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19wYW5lbHNfX2l0ZW1fX2NvbnRlbnRcIj5cbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cImEtdGFibGVcIj5cbiAgICAgICAgICAgICAgPGNhcHRpb24+XG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4blxuICAgICAgICAgICAgICAgIH19LFxuICAgICAgICAgICAgICAgIHt7XG4gICAgICAgICAgICAgICAgICAnQHByeS5hY3Rpb24uc29ydGFibGVDb2x1bW5IZWFkZXInIHwgaTE4blxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIDwvY2FwdGlvbj5cbiAgICAgICAgICAgICAgPHRoZWFkPlxuICAgICAgICAgICAgICAgIDx0cj5cbiAgICAgICAgICAgICAgICAgIDx0aD57eyAnQHByeS5hZG1pbi5jbGFzc2VzLm5hbWUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgICAgICAgICA8dGg+e3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy50eXBlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICAgICAgICAgIDwvdHI+XG4gICAgICAgICAgICAgIDwvdGhlYWQ+XG4gICAgICAgICAgICAgIDx0Ym9keT5cbiAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IG9iamVjdCBvZiBsaW5rZWRPYmplY3RzJCB8IGFzeW5jXCI+XG4gICAgICAgICAgICAgICAgICA8dGQ+e3sgb2JqZWN0Lm5hbWUgfX08L3RkPlxuICAgICAgICAgICAgICAgICAgPHRkPnt7ICdAcHJ5LmFkbWluLmRhdGFzZXQudGl0bGUnIHwgaTE4biB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC90Ym9keT5cbiAgICAgICAgICAgIDwvdGFibGU+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvYWRtaW4vY29tcG9uZW50cy9hZG1pbi1jbGFzc2VzL2FkbWluLWNsYXNzZXMtc2VsZWN0L2FkbWluLWNsYXNzZXMtc2VsZWN0LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9hZG1pbi1jbGFzc2VzLXNlbGVjdC9hZG1pbi1jbGFzc2VzLXNlbGVjdC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUU3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFakQsT0FBTyxFQUF1QixtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlFLE9BQU8sRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7Ozs7OztBQUVoRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7QUFNbkIsTUFBTSxPQUFPLDJCQUEyQjthQUMvQixPQUFFLEdBQUcsNkJBQTZCLENBQUM7SUFRMUMsWUFBb0IsS0FBaUIsRUFBVSxNQUFjLEVBQVUsS0FBcUI7UUFBeEUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFV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RSxLQUFLLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM1RixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUNqQixZQUFZLENBQUMsV0FBVyxDQUFDO1lBQ3ZCLE9BQU8sRUFBRTtnQkFDUDtvQkFDRSxNQUFNLEVBQUUsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQztvQkFDdkQsS0FBSyxFQUFFLEtBQUs7b0JBQ1osSUFBSSxFQUFFLFlBQVk7b0JBQ2xCLFlBQVksRUFBRSxPQUFPO29CQUNyQixVQUFVLEVBQUUsU0FBUztvQkFDckIsWUFBWSxFQUFFLE9BQU87aUJBQ3RCO2FBQ0Y7U0FDRixDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OEdBckdVLDJCQUEyQjtrR0FBM0IsMkJBQTJCLGdFQ2pCeEMsK3JLQWtKQTs7MkZEaklhLDJCQUEyQjtrQkFKdkMsU0FBUzsrQkFDRSwwQkFBMEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGNvbmNhdExhdGVzdEZyb20gfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXNzb2NpYXRpb25zLCBDbGFzcywgRGF0YVNvdXJjZVNlbGVjdG9ycyB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4uL3N0b3JlL2FkbWluLWNsYXNzLnNlbGVjdG9ycyc7XG5pbXBvcnQgeyBBZG1pblNlbGVjdG9ycyB9IGZyb20gJy4uLy4uLy4uL3N0b3JlL2FkbWluLnNlbGVjdG9ycyc7XG5cbmxldCBuZXh0Q29tcElkID0gMDtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWNsYXNzZXMtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FkbWluLWNsYXNzZXMtc2VsZWN0LmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkNsYXNzZXNTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHN0YXRpYyBpZCA9ICdBZG1pbkNsYXNzZXNTZWxlY3RDb21wb25lbnQnO1xuICBjb21wSWQ6IG51bWJlcjtcbiAgdGFiOiBudW1iZXIgPSAwO1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gIGN1cnJlbnRDbGFzcyQ6IE9ic2VydmFibGU8Q2xhc3MgfCB1bmRlZmluZWQ+O1xuICBsaW5rZWRPYmplY3RzJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIGFzc29jaWF0aW9ucyQ6IE9ic2VydmFibGU8QXNzb2NpYXRpb25zIHwgdW5kZWZpbmVkPjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHRoaXMuY3VycmVudENsYXNzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KEFkbWluQ2xhc3NTZWxlY3RvcnMuc2VsZWN0ZWRDbGFzcyk7XG4gICAgdGhpcy5hc3NvY2lhdGlvbnMkID0gdGhpcy5zdG9yZS5zZWxlY3QoQWRtaW5TZWxlY3RvcnMuc2VsZWN0ZWRBc3NvY2lhdGlvbik7XG4gICAgdGhpcy5jb21wSWQgPSBuZXh0Q29tcElkKys7XG4gICAgdGhpcy5saW5rZWRPYmplY3RzJCA9IHRoaXMuY3VycmVudENsYXNzJC5waXBlKFxuICAgICAgY29uY2F0TGF0ZXN0RnJvbSgoY2xhenopID0+IHRoaXMuc3RvcmUuc2VsZWN0KERhdGFTb3VyY2VTZWxlY3RvcnMuZGF0YXNldHMpKSxcbiAgICAgIG1hcCgoW2NsYXp6LCBkYXRhc2V0c10pID0+IGRhdGFzZXRzLmZpbHRlcigoZGF0YXNldCkgPT4gZGF0YXNldC5vQ2xhc3MgPT09IGNsYXp6Py5pZCkpXG4gICAgKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLmFkZChcbiAgICAgIHRoaXMuY3VycmVudENsYXNzJC5waXBlKGNvbmNhdExhdGVzdEZyb20oKGNsYXp6KSA9PiB0aGlzLmxpbmtlZE9iamVjdHMkKSkuc3Vic2NyaWJlKChbY2xhenosIGxpbmtlZE9iamVjdHNdKSA9PiB7XG4gICAgICAgIGlmIChjbGF6eikge1xuICAgICAgICAgIGNvbnN0IG5ld1BhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdjbGFzc2VzJywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgICAgICAgY29uc3QgZWRpdFBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdjbGFzc2VzJywgY2xhenouaWQsICdlZGl0J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICAgICAgICBjb25zdCBjdXN0b21pemVQYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnY2xhc3NlcycsIGNsYXp6LmlkLCAnY3VzdG9taXplJ10sIHtcbiAgICAgICAgICAgIHJlbGF0aXZlVG86IHRoaXMucm91dGVcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCB2aWV3QXR0cmlidXRlc1BhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdjbGFzc2VzJywgY2xhenouaWRdLCB7XG4gICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogZWRpdFBhdGgudG9TdHJpbmcoKSB9KSxcbiAgICAgICAgICAgICAgICAgIGxhYmVsOiAncmVuYW1lJyxcbiAgICAgICAgICAgICAgICAgIGljb246ICdlZGl0JyxcbiAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgYWN0aW9uOiBBZG1pbkNsYXNzQWN0aW9ucy5jb25maXJtQ2xhc3NEZWxldGlvbih7IGlkOiBjbGF6ei5pZCwgcGF0aDogbmV3UGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdkZWxldGUnLFxuICAgICAgICAgICAgICAgICAgaWNvbjogJ2RlbGV0ZScsXG4gICAgICAgICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZScsXG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZDogbGlua2VkT2JqZWN0cy5sZW5ndGggPiAwXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogY3VzdG9taXplUGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6ICdjdXN0b21pemUudGl0bGUnLFxuICAgICAgICAgICAgICAgICAgaWNvbjogJ2NoYXQtc2V0dGluZ3MnLFxuICAgICAgICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgICAgICAgcGFnZUFjY2VzczogJ2NsYXNzZXMnLFxuICAgICAgICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogdmlld0F0dHJpYnV0ZXNQYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICAgICAgICBsYWJlbDogJ2VkaXQnLFxuICAgICAgICAgICAgICAgICAgaWNvbjogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgIG1vZHVsZUFjY2VzczogJ2FkbWluJyxcbiAgICAgICAgICAgICAgICAgIHBhZ2VBY2Nlc3M6ICdjbGFzc2VzJyxcbiAgICAgICAgICAgICAgICAgIGFjdGlvbkFjY2VzczogJ3dyaXRlJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBzd2l0Y2gobnVtYmVyOiBudW1iZXIpIHtcbiAgICB0aGlzLnRhYiA9IG51bWJlcjtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBjbG9zZVBhbmVsKCkge1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsICdjbGFzc2VzJywgJ25ldyddLCB7IHJlbGF0aXZlVG86IHRoaXMucm91dGUgfSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy51bnNlbGVjdENsYXNzKCkpO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnRvZ2dsZVBhbmVsKHsgcGFuZWxPcGVuOiBmYWxzZSB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChcbiAgICAgIEFkbWluQWN0aW9ucy5tYWluQWN0aW9ucyh7XG4gICAgICAgIGFjdGlvbnM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhY3Rpb246IEFkbWluQWN0aW9ucy5yb3V0ZVRvKHsgcGF0aDogcGF0aC50b1N0cmluZygpIH0pLFxuICAgICAgICAgICAgbGFiZWw6ICdhZGQnLFxuICAgICAgICAgICAgaWNvbjogJ2FkZF9jb2x1bW4nLFxuICAgICAgICAgICAgbW9kdWxlQWNjZXNzOiAnYWRtaW4nLFxuICAgICAgICAgICAgcGFnZUFjY2VzczogJ2NsYXNzZXMnLFxuICAgICAgICAgICAgYWN0aW9uQWNjZXNzOiAnd3JpdGUnXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9KVxuICAgICk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgKm5nSWY9XCJjdXJyZW50Q2xhc3MkIHwgYXN5bmMgYXMgY2xhenpcIlxuICBbaWRdPVwiJ3BhbmVsLWNsYXNzLScgKyBjbGF6ei5pZFwiXG4gIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCInYnV0dG9uLWNsYXNzLScgKyBjbGF6ei5pZFwiXG4gIGNsYXNzPVwiby1wYW5lbFwiXG4+XG4gIDxkaXY+XG4gICAgPGRpdiBjbGFzcz1cIm8tcGFuZWxfX2hlYWRlclwiPlxuICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCIgKGNsaWNrKT1cImNsb3NlUGFuZWwoKVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgJ0BwcnkuYWN0aW9uLmNsb3NlUGFuZWwnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiPjwvcHJ5LWljb24+XG4gICAgICA8L2J1dHRvbj5cblxuICAgICAgPGgzIFtpZF09XCIndGFiLXRpdGxlLScgKyBjb21wSWRcIiBjbGFzcz1cImEtaDNcIj5cbiAgICAgICAge3sgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5pbmZvJyB8IGkxOG4gfX1cbiAgICAgIDwvaDM+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiby10YWJzXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby10YWJzX19saXN0XCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi10aXRsZS0nICsgY29tcElkXCI+XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fbGlzdF9fYnRuXCJcbiAgICAgICAgICByb2xlPVwidGFiXCJcbiAgICAgICAgICBbaWRdPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIgPT09IDBcIlxuICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYiA9PT0gMCA/IDAgOiAtMVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIndGFicGFuZWwtJyArIGNvbXBJZCArICctMCdcIlxuICAgICAgICAgIChjbGljayk9XCJzd2l0Y2goMClcIlxuICAgICAgICA+XG4gICAgICAgICAge3sgJ0BwcnkuYWRtaW4uZGV0YWlscycgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJvLXRhYnNfX2xpc3RfX2J0blwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2lkXT1cIid0YWItJyArIGNvbXBJZCArICctMSdcIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiID09PSAxXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIgPT09IDEgPyAxIDogLTFcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3RhYnBhbmVsLScgKyBjb21wSWQgKyAnLTEnXCJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoKDEpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMubGlua2VkT2JqZWN0cycgfCBpMThuIH19XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgY2xhc3M9XCJvLXRhYnNfX2xpc3RfX2J0blwiXG4gICAgICAgICAgcm9sZT1cInRhYlwiXG4gICAgICAgICAgW2lkXT1cIid0YWItJyArIGNvbXBJZCArICctMidcIlxuICAgICAgICAgIFthdHRyLmFyaWEtc2VsZWN0ZWRdPVwidGFiID09PSAyXCJcbiAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIgPT09IDIgPyAyIDogLTJcIlxuICAgICAgICAgIFthdHRyLmFyaWEtY29udHJvbHNdPVwiJ3RhYnBhbmVsLScgKyBjb21wSWQgKyAnLTInXCJcbiAgICAgICAgICAoY2xpY2spPVwic3dpdGNoKDIpXCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXNzb2NpYXRpb25zJyB8IGkxOG4gfX1cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cIm8tdGFic19fcGFuZWxzXCI+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtXCJcbiAgICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cInRhYiAhPT0gMFwiXG4gICAgICAgICAgW2lkXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgY29tcElkICsgJy0wJ1wiXG4gICAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLnByb3BlcnRpZXMnIHwgaTE4biB9fTwvaDQ+XG4gICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLm5hbWUnIHwgaTE4biB9fSA6XG4gICAgICAgICAgICAgIDxzdHJvbmc+e3sgY2xhenoubmFtZSB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPHAgY2xhc3M9XCJhLXAgdS1kaXNwbGF5LWZsZXggLWFsaWduLWNlbnRlclwiPlxuICAgICAgICAgICAgICB7eyAnQHByeS5hZG1pbi5jbGFzc2VzLmltYWdlJyB8IGkxOG4gfX0gOlxuICAgICAgICAgICAgICA8aW1nXG4gICAgICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgICAgICBbaGVpZ2h0XT1cIjI1XCJcbiAgICAgICAgICAgICAgICBbd2lkdGhdPVwiMjVcIlxuICAgICAgICAgICAgICAgIFtzcmNdPVwiY2xhenouaWQgfCB0cmFuc2xhdGVJZCA6IHsgdHlwZTogJ2NsYXNzJywgb3V0cHV0OiAnaWNvbicgfSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDwvcD5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtXCJcbiAgICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cInRhYiAhPT0gMVwiXG4gICAgICAgICAgW2lkXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgICAgdGFiaW5kZXg9XCIxXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgPHRhYmxlIGNsYXNzPVwiYS10YWJsZVwiPlxuICAgICAgICAgICAgICA8Y2FwdGlvbj5cbiAgICAgICAgICAgICAgICB7e1xuICAgICAgICAgICAgICAgICAgJ0BwcnkuYWRtaW4uZGF0YXNldC50aXRsZScgfCBpMThuXG4gICAgICAgICAgICAgICAgfX0sXG4gICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICdAcHJ5LmFjdGlvbi5zb3J0YWJsZUNvbHVtbkhlYWRlcicgfCBpMThuXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPC9jYXB0aW9uPlxuICAgICAgICAgICAgICA8dGhlYWQ+XG4gICAgICAgICAgICAgICAgPHRyPlxuICAgICAgICAgICAgICAgICAgPHRoPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMubmFtZScgfCBpMThuIH19PC90aD5cbiAgICAgICAgICAgICAgICAgIDx0aD57eyAnQHByeS5hZG1pbi5jbGFzc2VzLnR5cGUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgICAgICAgICAgPC90cj5cbiAgICAgICAgICAgICAgPC90aGVhZD5cbiAgICAgICAgICAgICAgPHRib2R5PlxuICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgb2JqZWN0IG9mIGxpbmtlZE9iamVjdHMkIHwgYXN5bmNcIj5cbiAgICAgICAgICAgICAgICAgIDx0ZD57eyBvYmplY3QubmFtZSB9fTwvdGQ+XG4gICAgICAgICAgICAgICAgICA8dGQ+e3sgJ0BwcnkuYWRtaW4uZGF0YXNldC50aXRsZScgfCBpMThuIH19PC90ZD5cbiAgICAgICAgICAgICAgICA8L3RyPlxuICAgICAgICAgICAgICA8L3Rib2R5PlxuICAgICAgICAgICAgPC90YWJsZT5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cIm8tdGFic19fcGFuZWxzX19pdGVtXCJcbiAgICAgICAgICBbY2xhc3MuaXMtaGlkZGVuXT1cInRhYiAhPT0gMlwiXG4gICAgICAgICAgW2lkXT1cIid0YWJwYW5lbC0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgICAgcm9sZT1cInRhYnBhbmVsXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiJ3RhYi0nICsgY29tcElkICsgJy0xJ1wiXG4gICAgICAgICAgdGFiaW5kZXg9XCIyXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxkaXYgKm5nSWY9XCJhc3NvY2lhdGlvbnMkIHwgYXN5bmMgYXMgYXNzb2NpYXRpb25zXCIgY2xhc3M9XCJvLXRhYnNfX3BhbmVsc19faXRlbV9fY29udGVudFwiPlxuICAgICAgICAgICAgPGg0IGNsYXNzPVwiYS1oNFwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMuYXNzb2NpYXRpb25zJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgYXNzb2NpYXRpb24gb2YgYXNzb2NpYXRpb25zLmFzc29jaWF0aW9uc1wiPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMubmFtZScgfCBpMThuIH19IDpcbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGFzc29jaWF0aW9uLm5hbWUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgICA8cCBjbGFzcz1cImEtcFwiPlxuICAgICAgICAgICAgICAgIHt7ICdAcHJ5LmFkbWluLmNsYXNzZXMudHlwZScgfCBpMThuIH19IDpcbiAgICAgICAgICAgICAgICA8c3Ryb25nPnt7IGFzc29jaWF0aW9uLnR5cGUgfX08L3N0cm9uZz5cbiAgICAgICAgICAgICAgPC9wPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8cCAqbmdJZj1cImFzc29jaWF0aW9ucy51c2VkRWxzZXdoZXJlID09PSB0cnVlXCIgY2xhc3M9XCJhLXBcIj5cbiAgICAgICAgICAgICAgPHN0cm9uZz57eyAnQHByeS5hZG1pbi5jbGFzc2VzLnVzZWRFbHNld2hlcmUnIHwgaTE4biB9fTwvc3Ryb25nPlxuICAgICAgICAgICAgPC9wPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -57,6 +57,7 @@ export class AdminClassesComponent {
57
57
  this.store.dispatch(AdminActions.routeTo({ path: path.toString() }));
58
58
  }
59
59
  selectClass(clazz) {
60
+ this.store.dispatch(AdminActions.fetchClassAssociations({ id: clazz.id }));
60
61
  this.store.dispatch(AdminClassActions.selectClass({ clazz: clazz }));
61
62
  this.store.dispatch(AdminActions.selectComponentType({ componentType: 'AdminClassesSelectComponent' }));
62
63
  }
@@ -67,4 +68,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.6", ngImpor
67
68
  type: Component,
68
69
  args: [{ selector: 'pry-admin-classes', template: "<div class=\"o-base-container\">\n <h1 class=\"a-h1\">{{ '@pry.admin.classes.list' | i18n }}</h1>\n <table\n class=\"a-table\"\n prySortTable\n prySortActive=\"name\"\n prySortDirection=\"asc\"\n (prySortChange)=\"sortActive = $event.active; sortDirection = $event.direction\"\n >\n <caption>\n {{\n '@pry.admin.classes.list' | i18n\n }},\n {{\n '@pry.action.sortableColumnHeader' | i18n\n }}\n </caption>\n <thead>\n <tr>\n <th></th>\n <th prySortHeader=\"image\">{{ '@pry.admin.classes.image' | i18n }}</th>\n <th prySortHeader=\"name\">{{ '@pry.admin.classes.name' | i18n }}</th>\n <th prySortHeader=\"lines\">{{ '@pry.admin.menus.dataset' | i18n }}</th>\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let clazz of classesInputFlows$ | async | prySortData: sortActive : sortDirection\"\n (click)=\"selectClass(clazz)\"\n [class.is-selected]=\"(selectedClassId$ | async) === clazz.id\"\n >\n <td class=\"view-details\">\n <button\n id=\"button-class-{{ clazz.id }}\"\n type=\"button\"\n class=\"a-btn a-btn--icon-only\"\n title=\"{{ '@pry.action.viewDetails' | i18n }}\"\n [attr.aria-expanded]=\"(selectedClassId$ | async) === clazz.id\"\n aria-haspopup\n [attr.aria-controls]=\"'panel-class-' + clazz.id\"\n >\n <span class=\"u-visually-hidden\">{{ clazz.name }}, {{ '@pry.action.viewDetails' | i18n }}</span>\n <pry-icon iconSvg=\"eye\" [width]=\"15\" [height]=\"15\"></pry-icon>\n </button>\n </td>\n <td>\n <img\n alt=\"\"\n [height]=\"25\"\n [width]=\"25\"\n [src]=\"clazz.id | translateId: { type: 'class', output: 'icon' } | async\"\n />\n </td>\n <td>{{ clazz.name }}</td>\n <td>{{ clazz.count }}</td>\n </tr>\n </tbody>\n </table>\n</div>\n" }]
69
70
  }], ctorParameters: function () { return [{ type: i1.Store }, { type: i2.Router }, { type: i2.ActivatedRoute }]; } });
70
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQVMsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDdEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFTaEMsWUFDVSxLQUFpQixFQUNqQixNQUFjLEVBQ2QsS0FBcUI7UUFGckIsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUNqQixXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFQL0IsZUFBVSxHQUFJLE1BQU0sQ0FBQztRQUNyQixrQkFBYSxHQUFJLEtBQUssQ0FBQztRQUN2QixRQUFHLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQU92QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsZ0JB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T0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0lBRUQsV0FBVyxDQUFDLEtBQVk7UUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsV0FBVyxDQUFDLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsbUJBQW1CLENBQUMsRUFBRSxhQUFhLEVBQUUsNkJBQTZCLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDMUcsQ0FBQzs4R0FoRVUscUJBQXFCO2tHQUFyQixxQkFBcUIseURDYmxDLDIrREEyREE7OzJGRDlDYSxxQkFBcUI7a0JBSmpDLFNBQVM7K0JBQ0UsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IENsYXNzLCBDbGFzc0FjdGlvbnMsIENsYXNzU2VsZWN0b3JzLCBDb25maWdBY3Rpb25zLCBEYXRhc2V0Q291bnQgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgY29tYmluZUxhdGVzdCwgbWFwLCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFkbWluQWN0aW9ucyB9IGZyb20gJy4uLy4uL3N0b3JlL2FkbWluLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc0FjdGlvbnMgfSBmcm9tICcuL3N0b3JlL2FkbWluLWNsYXNzLmFjdGlvbnMnO1xuaW1wb3J0IHsgQWRtaW5DbGFzc1NlbGVjdG9ycyB9IGZyb20gJy4vc3RvcmUvYWRtaW4tY2xhc3Muc2VsZWN0b3JzJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncHJ5LWFkbWluLWNsYXNzZXMnLFxuICB0ZW1wbGF0ZVVybDogJy4vYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgQWRtaW5DbGFzc2VzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjbGFzc2VzJDogT2JzZXJ2YWJsZTxDbGFzc1tdPjtcbiAgc2VsZWN0ZWRDbGFzc0lkJDogT2JzZXJ2YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+O1xuICBkYXRhc2V0Q291bnRzJDogT2JzZXJ2YWJsZTxEYXRhc2V0Q291bnRbXT47XG4gIGNsYXNzZXNJbnB1dEZsb3dzJDogT2JzZXJ2YWJsZTxhbnlbXT47XG4gIHNvcnRBY3RpdmU/ID0gJ25hbWUnO1xuICBzb3J0RGlyZWN0aW9uPyA9ICdhc2MnO1xuICBzdWIgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdG9yZTogU3RvcmU8YW55PixcbiAgICBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxuICAgIHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlXG4gICkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ2xhc3NBY3Rpb25zLmxvYWREYXRhc2V0Q291bnQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGFzc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnVuc2VsZWN0Q2xhc3MoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5yZXNldEludGVyQ2xhc3MoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmxvYWRDdXN0b21pemF0aW9uKCkpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKTtcbiAgICB0aGlzLnNlbGVjdGVkQ2xhc3NJZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkNsYXNzU2VsZWN0b3JzLnNlbGVjdGVkQ2xhc3NJZCk7XG4gICAgdGhpcy5kYXRhc2V0Q291bnRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmRhdGFzZXRDb3VudHMpO1xuICAgIHRoaXMuY2xhc3Nlc0lucHV0Rmxvd3MkID0gY29tYmluZUxhdGVzdChbdGhpcy5jbGFzc2VzJCwgdGhpcy5kYXRhc2V0Q291bnRzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjbGFzc2VzLCBkYXRhc2V0Q291bnRzXSkgPT4ge1xuICAgICAgICByZXR1cm4gY2xhc3Nlcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgIGNvdW50OiBkYXRhc2V0Q291bnRzLmZpbmQoKGRhdGFzZXRDb3VudCkgPT4gZGF0YXNldENvdW50LmlkID09PSBpdGVtLmlkKT8uY291bnQgfHwgMFxuICAgICAgICB9KSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB2aWV3QXR0cmlidXRlc0NsYXNzKGNsYXp6OiBDbGFzcykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuc2VsZWN0Q2xhc3MoeyBjbGF6ejogY2xhenogfSkpO1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsIGNsYXp6LmlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSkpO1xuICB9XG5cbiAgc2VsZWN0Q2xhc3MoY2xheno6IENsYXNzKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5zZWxlY3RDbGFzcyh7IGNsYXp6OiBjbGF6eiB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMuc2VsZWN0Q29tcG9uZW50VHlwZSh7IGNvbXBvbmVudFR5cGU6ICdBZG1pbkNsYXNzZXNTZWxlY3RDb21wb25lbnQnIH0pKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tYmFzZS1jb250YWluZXJcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMubGlzdCcgfCBpMThuIH19PC9oMT5cbiAgPHRhYmxlXG4gICAgY2xhc3M9XCJhLXRhYmxlXCJcbiAgICBwcnlTb3J0VGFibGVcbiAgICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gICAgcHJ5U29ydERpcmVjdGlvbj1cImFzY1wiXG4gICAgKHByeVNvcnRDaGFuZ2UpPVwic29ydEFjdGl2ZSA9ICRldmVudC5hY3RpdmU7IHNvcnREaXJlY3Rpb24gPSAkZXZlbnQuZGlyZWN0aW9uXCJcbiAgPlxuICAgIDxjYXB0aW9uPlxuICAgICAge3tcbiAgICAgICAgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5saXN0JyB8IGkxOG5cbiAgICAgIH19LFxuICAgICAge3tcbiAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgIH19XG4gICAgPC9jYXB0aW9uPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwiaW1hZ2VcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmltYWdlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5hbWVcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLm5hbWUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwibGluZXNcIj57eyAnQHByeS5hZG1pbi5tZW51cy5kYXRhc2V0JyB8IGkxOG4gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgIDx0clxuICAgICAgICAqbmdGb3I9XCJsZXQgY2xhenogb2YgY2xhc3Nlc0lucHV0Rmxvd3MkIHwgYXN5bmMgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb25cIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Q2xhc3MoY2xhenopXCJcbiAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cIihzZWxlY3RlZENsYXNzSWQkIHwgYXN5bmMpID09PSBjbGF6ei5pZFwiXG4gICAgICA+XG4gICAgICAgIDx0ZCBjbGFzcz1cInZpZXctZGV0YWlsc1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYnV0dG9uLWNsYXNzLXt7IGNsYXp6LmlkIH19XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIoc2VsZWN0ZWRDbGFzc0lkJCB8IGFzeW5jKSA9PT0gY2xhenouaWRcIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtY2xhc3MtJyArIGNsYXp6LmlkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgY2xhenoubmFtZSB9fSwge3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIFtoZWlnaHRdPVwiMjVcIlxuICAgICAgICAgICAgW3dpZHRoXT1cIjI1XCJcbiAgICAgICAgICAgIFtzcmNdPVwiY2xhenouaWQgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnY2xhc3MnLCBvdXRwdXQ6ICdpY29uJyB9IHwgYXN5bmNcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD57eyBjbGF6ei5uYW1lIH19PC90ZD5cbiAgICAgICAgPHRkPnt7IGNsYXp6LmNvdW50IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
71
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9wcm92b2x5L2Rhc2hib2FyZC9hZG1pbi9jb21wb25lbnRzL2FkbWluLWNsYXNzZXMvYWRtaW4tY2xhc3Nlcy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFxQixNQUFNLGVBQWUsQ0FBQztBQUc3RCxPQUFPLEVBQVMsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLEVBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFDdEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxHQUFHLEVBQWMsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNoRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7Ozs7O0FBTXBFLE1BQU0sT0FBTyxxQkFBcUI7SUFTaEMsWUFBb0IsS0FBaUIsRUFBVSxNQUFjLEVBQVUsS0FBcUI7UUFBeEUsVUFBSyxHQUFMLEtBQUssQ0FBWTtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUo1RixlQUFVLEdBQUksTUFBTSxDQUFDO1FBQ3JCLGtCQUFhLEdBQUksS0FBSyxDQUFDO1FBQ3ZCLFFBQUcsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR3ZCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7UUFDckQsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztRQUN2RCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDMUQsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLG1CQUFtQixDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBQy9FLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ3RFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FDaEYsR0FBRyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsYUFBYSxDQUFDLEVBQUUsRUFBRTtZQUMvQixPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtnQkFDZixFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUU7Z0JBQ1gsS0FBSyxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDO2FBQ3JGLENBQUMsQ0FBQyxDQUFDO1FBQ04sQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7SUFFRCxRQUFRO1FBQ04sTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDakYsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQ2pCLFlBQVksQ0FBQyxXQUFXLENBQUM7WUFDdkIsT0FBTyxFQUFFO2dCQUNQO29CQUNFLE1BQU0sRUFBRSxZQUFZLENBQUMsT0FBTyxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO29CQUN2RCxLQUFLLEVBQUUsS0FBSztvQkFDWixJQUFJLEVBQUUsWUFBWTtvQkFDbEIsWUFBWSxFQUFFLE9BQU87b0JBQ3JCLFVBQVUsRUFBRSxTQUFTO29CQUNyQixZQUFZLEVBQUUsT0FBTztpQkFDdEI7YUFDRjtTQUNGLENBQUMsQ0FDSCxDQUFDO0lBQ0osQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3pCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxLQUFZO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDckUsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXLENBQUMsS0FBWTtRQUN0QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsc0JBQXNCLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUMzRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsQ0FBQyxFQUFFLGFBQWEsRUFBRSw2QkFBNkIsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDOzhHQTdEVSxxQkFBcUI7a0dBQXJCLHFCQUFxQix5RENibEMsMitEQTJEQTs7MkZEOUNhLHFCQUFxQjtrQkFKakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQ2xhc3MsIENsYXNzQWN0aW9ucywgQ2xhc3NTZWxlY3RvcnMsIENvbmZpZ0FjdGlvbnMsIERhdGFzZXRDb3VudCB9IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBtYXAsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWRtaW5BY3Rpb25zIH0gZnJvbSAnLi4vLi4vc3RvcmUvYWRtaW4uYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzQWN0aW9ucyB9IGZyb20gJy4vc3RvcmUvYWRtaW4tY2xhc3MuYWN0aW9ucyc7XG5pbXBvcnQgeyBBZG1pbkNsYXNzU2VsZWN0b3JzIH0gZnJvbSAnLi9zdG9yZS9hZG1pbi1jbGFzcy5zZWxlY3RvcnMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktYWRtaW4tY2xhc3NlcycsXG4gIHRlbXBsYXRlVXJsOiAnLi9hZG1pbi1jbGFzc2VzLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBBZG1pbkNsYXNzZXNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIGNsYXNzZXMkOiBPYnNlcnZhYmxlPENsYXNzW10+O1xuICBzZWxlY3RlZENsYXNzSWQkOiBPYnNlcnZhYmxlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gIGRhdGFzZXRDb3VudHMkOiBPYnNlcnZhYmxlPERhdGFzZXRDb3VudFtdPjtcbiAgY2xhc3Nlc0lucHV0Rmxvd3MkOiBPYnNlcnZhYmxlPGFueVtdPjtcbiAgc29ydEFjdGl2ZT8gPSAnbmFtZSc7XG4gIHNvcnREaXJlY3Rpb24/ID0gJ2FzYyc7XG4gIHN1YiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxhbnk+LCBwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZSkge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ2xhc3NBY3Rpb25zLmxvYWREYXRhc2V0Q291bnQoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGFzc0FjdGlvbnMubG9hZCgpKTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEFkbWluQ2xhc3NBY3Rpb25zLnVuc2VsZWN0Q2xhc3MoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5yZXNldEludGVyQ2xhc3MoKSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmxvYWRDdXN0b21pemF0aW9uKCkpO1xuICAgIHRoaXMuY2xhc3NlcyQgPSB0aGlzLnN0b3JlLnNlbGVjdChDbGFzc1NlbGVjdG9ycy5jbGFzc2VzKTtcbiAgICB0aGlzLnNlbGVjdGVkQ2xhc3NJZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChBZG1pbkNsYXNzU2VsZWN0b3JzLnNlbGVjdGVkQ2xhc3NJZCk7XG4gICAgdGhpcy5kYXRhc2V0Q291bnRzJCA9IHRoaXMuc3RvcmUuc2VsZWN0KENsYXNzU2VsZWN0b3JzLmRhdGFzZXRDb3VudHMpO1xuICAgIHRoaXMuY2xhc3Nlc0lucHV0Rmxvd3MkID0gY29tYmluZUxhdGVzdChbdGhpcy5jbGFzc2VzJCwgdGhpcy5kYXRhc2V0Q291bnRzJF0pLnBpcGUoXG4gICAgICBtYXAoKFtjbGFzc2VzLCBkYXRhc2V0Q291bnRzXSkgPT4ge1xuICAgICAgICByZXR1cm4gY2xhc3Nlcy5tYXAoKGl0ZW0pID0+ICh7XG4gICAgICAgICAgbmFtZTogaXRlbS5uYW1lLFxuICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgIGNvdW50OiBkYXRhc2V0Q291bnRzLmZpbmQoKGRhdGFzZXRDb3VudCkgPT4gZGF0YXNldENvdW50LmlkID09PSBpdGVtLmlkKT8uY291bnQgfHwgMFxuICAgICAgICB9KSk7XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBjb25zdCBwYXRoID0gdGhpcy5yb3V0ZXIuY3JlYXRlVXJsVHJlZShbJy4nLCAnbmV3J10sIHsgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZSB9KTtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgQWRtaW5BY3Rpb25zLm1haW5BY3Rpb25zKHtcbiAgICAgICAgYWN0aW9uczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFjdGlvbjogQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSksXG4gICAgICAgICAgICBsYWJlbDogJ2FkZCcsXG4gICAgICAgICAgICBpY29uOiAnYWRkX2NvbHVtbicsXG4gICAgICAgICAgICBtb2R1bGVBY2Nlc3M6ICdhZG1pbicsXG4gICAgICAgICAgICBwYWdlQWNjZXNzOiAnY2xhc3NlcycsXG4gICAgICAgICAgICBhY3Rpb25BY2Nlc3M6ICd3cml0ZSdcbiAgICAgICAgICB9XG4gICAgICAgIF1cbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc3ViLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICB2aWV3QXR0cmlidXRlc0NsYXNzKGNsYXp6OiBDbGFzcykge1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5DbGFzc0FjdGlvbnMuc2VsZWN0Q2xhc3MoeyBjbGF6ejogY2xhenogfSkpO1xuICAgIGNvbnN0IHBhdGggPSB0aGlzLnJvdXRlci5jcmVhdGVVcmxUcmVlKFsnLicsIGNsYXp6LmlkXSwgeyByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlIH0pO1xuICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQWRtaW5BY3Rpb25zLnJvdXRlVG8oeyBwYXRoOiBwYXRoLnRvU3RyaW5nKCkgfSkpO1xuICB9XG5cbiAgc2VsZWN0Q2xhc3MoY2xheno6IENsYXNzKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMuZmV0Y2hDbGFzc0Fzc29jaWF0aW9ucyh7IGlkOiBjbGF6ei5pZCB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkNsYXNzQWN0aW9ucy5zZWxlY3RDbGFzcyh7IGNsYXp6OiBjbGF6eiB9KSk7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZG1pbkFjdGlvbnMuc2VsZWN0Q29tcG9uZW50VHlwZSh7IGNvbXBvbmVudFR5cGU6ICdBZG1pbkNsYXNzZXNTZWxlY3RDb21wb25lbnQnIH0pKTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cIm8tYmFzZS1jb250YWluZXJcIj5cbiAgPGgxIGNsYXNzPVwiYS1oMVwiPnt7ICdAcHJ5LmFkbWluLmNsYXNzZXMubGlzdCcgfCBpMThuIH19PC9oMT5cbiAgPHRhYmxlXG4gICAgY2xhc3M9XCJhLXRhYmxlXCJcbiAgICBwcnlTb3J0VGFibGVcbiAgICBwcnlTb3J0QWN0aXZlPVwibmFtZVwiXG4gICAgcHJ5U29ydERpcmVjdGlvbj1cImFzY1wiXG4gICAgKHByeVNvcnRDaGFuZ2UpPVwic29ydEFjdGl2ZSA9ICRldmVudC5hY3RpdmU7IHNvcnREaXJlY3Rpb24gPSAkZXZlbnQuZGlyZWN0aW9uXCJcbiAgPlxuICAgIDxjYXB0aW9uPlxuICAgICAge3tcbiAgICAgICAgJ0BwcnkuYWRtaW4uY2xhc3Nlcy5saXN0JyB8IGkxOG5cbiAgICAgIH19LFxuICAgICAge3tcbiAgICAgICAgJ0BwcnkuYWN0aW9uLnNvcnRhYmxlQ29sdW1uSGVhZGVyJyB8IGkxOG5cbiAgICAgIH19XG4gICAgPC9jYXB0aW9uPlxuICAgIDx0aGVhZD5cbiAgICAgIDx0cj5cbiAgICAgICAgPHRoPjwvdGg+XG4gICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwiaW1hZ2VcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLmltYWdlJyB8IGkxOG4gfX08L3RoPlxuICAgICAgICA8dGggcHJ5U29ydEhlYWRlcj1cIm5hbWVcIj57eyAnQHByeS5hZG1pbi5jbGFzc2VzLm5hbWUnIHwgaTE4biB9fTwvdGg+XG4gICAgICAgIDx0aCBwcnlTb3J0SGVhZGVyPVwibGluZXNcIj57eyAnQHByeS5hZG1pbi5tZW51cy5kYXRhc2V0JyB8IGkxOG4gfX08L3RoPlxuICAgICAgPC90cj5cbiAgICA8L3RoZWFkPlxuICAgIDx0Ym9keT5cbiAgICAgIDx0clxuICAgICAgICAqbmdGb3I9XCJsZXQgY2xhenogb2YgY2xhc3Nlc0lucHV0Rmxvd3MkIHwgYXN5bmMgfCBwcnlTb3J0RGF0YTogc29ydEFjdGl2ZSA6IHNvcnREaXJlY3Rpb25cIlxuICAgICAgICAoY2xpY2spPVwic2VsZWN0Q2xhc3MoY2xhenopXCJcbiAgICAgICAgW2NsYXNzLmlzLXNlbGVjdGVkXT1cIihzZWxlY3RlZENsYXNzSWQkIHwgYXN5bmMpID09PSBjbGF6ei5pZFwiXG4gICAgICA+XG4gICAgICAgIDx0ZCBjbGFzcz1cInZpZXctZGV0YWlsc1wiPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIGlkPVwiYnV0dG9uLWNsYXNzLXt7IGNsYXp6LmlkIH19XCJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0taWNvbi1vbmx5XCJcbiAgICAgICAgICAgIHRpdGxlPVwie3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX1cIlxuICAgICAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCIoc2VsZWN0ZWRDbGFzc0lkJCB8IGFzeW5jKSA9PT0gY2xhenouaWRcIlxuICAgICAgICAgICAgYXJpYS1oYXNwb3B1cFxuICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCIncGFuZWwtY2xhc3MtJyArIGNsYXp6LmlkXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInUtdmlzdWFsbHktaGlkZGVuXCI+e3sgY2xhenoubmFtZSB9fSwge3sgJ0BwcnkuYWN0aW9uLnZpZXdEZXRhaWxzJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImV5ZVwiIFt3aWR0aF09XCIxNVwiIFtoZWlnaHRdPVwiMTVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L3RkPlxuICAgICAgICA8dGQ+XG4gICAgICAgICAgPGltZ1xuICAgICAgICAgICAgYWx0PVwiXCJcbiAgICAgICAgICAgIFtoZWlnaHRdPVwiMjVcIlxuICAgICAgICAgICAgW3dpZHRoXT1cIjI1XCJcbiAgICAgICAgICAgIFtzcmNdPVwiY2xhenouaWQgfCB0cmFuc2xhdGVJZDogeyB0eXBlOiAnY2xhc3MnLCBvdXRwdXQ6ICdpY29uJyB9IHwgYXN5bmNcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvdGQ+XG4gICAgICAgIDx0ZD57eyBjbGF6ei5uYW1lIH19PC90ZD5cbiAgICAgICAgPHRkPnt7IGNsYXp6LmNvdW50IH19PC90ZD5cbiAgICAgIDwvdHI+XG4gICAgPC90Ym9keT5cbiAgPC90YWJsZT5cbjwvZGl2PlxuIl19
@@ -29,4 +29,4 @@ export const AdminClassActions = {
29
29
  confirmClassDeletion: createAction('[Class] Open modal for deleting class', props()),
30
30
  confirmAttributeDeletion: createAction('[Class] Open modal for attribute deletion', props())
31
31
  };
32
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3MuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9zdG9yZS9hZG1pbi1jbGFzcy5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGFBQWEsRUFBRSxZQUFZLENBQUMsc0NBQXNDLENBQUM7SUFFbkUsY0FBYyxFQUFFLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLEVBQW1DLENBQUM7SUFDMUcsZUFBZSxFQUFFLFlBQVksQ0FBQyxtQ0FBbUMsQ0FBQztJQUVsRSxTQUFTLEVBQUUsWUFBWSxDQUFDLDRCQUE0QixFQUFFLEtBQUssRUFBbUMsQ0FBQztJQUMvRixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQ3BHLGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFFakcsWUFBWSxFQUFFLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQTBCLENBQUM7SUFDNUYsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxDQUFDO0lBQzlFLG1CQUFtQixFQUFFLFlBQVksQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFFdkcsV0FBVyxFQUFFLFlBQVksQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLEVBQW9CLENBQUM7SUFDcEYsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUVyRyxhQUFhLEVBQUUsWUFBWSxDQUFDLGdDQUFnQyxDQUFDO0lBRTdELFdBQVcsRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFpQyxDQUFDO0lBQ2pHLGtCQUFrQixFQUFFLFlBQVksQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDeEcsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUVyRyx1QkFBdUIsRUFBRSxZQUFZLENBQ25DLDRDQUE0QyxFQUM1QyxLQUFLLEVBQThFLENBQ3BGO0lBQ0QsOEJBQThCLEVBQUUsWUFBWSxDQUMxQyx3REFBd0QsRUFDeEQsS0FBSyxFQUE4RCxDQUNwRTtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFBa0IsQ0FDeEI7SUFFRCxlQUFlLEVBQUUsWUFBWSxDQUMzQiwwQ0FBMEMsRUFDMUMsS0FBSyxFQUF1QyxDQUM3QztJQUNELGlCQUFpQixFQUFFLFlBQVksQ0FBQyw0Q0FBNEMsQ0FBQztJQUU3RSxxQkFBcUIsRUFBRSxZQUFZLENBQ2pDLG1EQUFtRCxFQUNuRCxLQUFLLEVBQTRELENBQ2xFO0lBQ0QsNEJBQTRCLEVBQUUsWUFBWSxDQUN4QywrREFBK0QsRUFDL0QsS0FBSyxFQUFxQixDQUMzQjtJQUNELDRCQUE0QixFQUFFLFlBQVksQ0FDeEMsK0RBQStELEVBQy9ELEtBQUssRUFBa0IsQ0FDeEI7SUFDRCxJQUFJLEVBQUUsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBb0IsQ0FBQztJQUNyRSxTQUFTLEVBQUUsWUFBWSxDQUFDLG9CQUFvQixDQUFDO0lBQzdDLFVBQVUsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBQUM7SUFDL0Msb0JBQW9CLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBZ0MsQ0FBQztJQUNsSCx3QkFBd0IsRUFBRSxZQUFZLENBQ3BDLDJDQUEyQyxFQUMzQyxLQUFLLEVBS0QsQ0FDTDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXR0cmlidXRlLCBBdHRyaWJ1dGVFeHRlbmRlZCwgQ2F0ZWdvcnksIENsYXNzIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcblxuZXhwb3J0IGNvbnN0IEFkbWluQ2xhc3NBY3Rpb25zID0ge1xuICB1cGRhdGVUb29sYm94OiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBVcGRhdGUgVG9vbGJveCBDbGFzcycpLFxuXG4gIHNhdmVJbnRlckNsYXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBTYXZlIEludGVyIENsYXNzJywgcHJvcHM8eyBjbGFzczogQ2xhc3M7IHJvdXRlOiBzdHJpbmcgfT4oKSksXG4gIHJlc2V0SW50ZXJDbGFzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3Nlc10gUmVzZXQgSW50ZXIgQ2xhc3MnKSxcblxuICBzYXZlQ2xhc3M6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXNdIFNhdmUgQ2xhc3MnLCBwcm9wczx7IGNsYXNzOiBDbGFzczsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgc2F2ZUNsYXNzU3VjY2VzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3NlcyBBcGldIFNhdmUgQ2xhc3MgU3VjY2VzcycsIHByb3BzPHsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgc2F2ZUNsYXNzRmFpbHVyZTogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3NlcyBBcGldIFNhdmUgQ2xhc3MgRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IGFueSB9PigpKSxcblxuICBzYXZlQ2F0ZWdvcnk6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXNdIFNhdmUgQ2F0ZWdvcnknLCBwcm9wczx7IGNhdGVnb3J5OiBDYXRlZ29yeSB9PigpKSxcbiAgc2F2ZUNhdGVnb3J5U3VjY2VzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3NlcyBBcGldIFNhdmUgQ2F0ZWdvcnkgU3VjY2VzcycpLFxuICBzYXZlQ2F0ZWdvcnlGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzIEFwaV0gU2F2ZSBDYXRlZ29yeSBGYWlsdXJlJywgcHJvcHM8eyBlcnJvcjogYW55IH0+KCkpLFxuXG4gIHNlbGVjdENsYXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBTZWxlY3QgQ2xhc3MnLCBwcm9wczx7IGNsYXp6OiBDbGFzcyB9PigpKSxcbiAgc2VsZWN0Q2xhc3NGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzIEFwaV0gU2VsZWN0IENsYXNzIEZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG5cbiAgdW5zZWxlY3RDbGFzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3Nlc10gVW5zZWxlY3QgQ2xhc3MnKSxcblxuICBkZWxldGVDbGFzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3Nlc10gRGVsZXRlIENsYXNzJywgcHJvcHM8eyBpZDogc3RyaW5nOyByb3V0ZTogc3RyaW5nIH0+KCkpLFxuICBkZWxldGVDbGFzc1N1Y2Nlc3M6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXMgQXBpXSBEZWxldGUgQ2xhc3MgU3VjY2VzcycsIHByb3BzPHsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgZGVsZXRlQ2xhc3NGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzIEFwaV0gRGVsZXRlIENsYXNzIEZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG5cbiAgZGVsZXRlQXR0cmlidXRlRm9yQ2xhc3M6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0FkbWluL0NsYXNzZXNdIERlbGV0ZSBBdHRyaWJ1dGUgZm9yIENsYXNzJyxcbiAgICBwcm9wczx7IGNsYXNzSWQ6IHN0cmluZzsgYXR0cklkOiBzdHJpbmc7IGJhY2tQYXRoOiBzdHJpbmc7IGFkZEF0dHJQYXRoOiBzdHJpbmcgfT4oKVxuICApLFxuICBkZWxldGVBdHRyaWJ1dGVGb3JDbGFzc1N1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0FkbWluL0NsYXNzZXMgQXBpXSBEZWxldGUgQXR0cmlidXRlIGZvciBDbGFzcyBTdWNjZXNzJyxcbiAgICBwcm9wczx7IGNsYXNzSWQ6IHN0cmluZzsgYmFja1BhdGg6IHN0cmluZzsgYWRkQXR0clBhdGg6IHN0cmluZyB9PigpXG4gICksXG4gIGRlbGV0ZUF0dHJpYnV0ZUZvckNsYXNzRmFpbHVyZTogY3JlYXRlQWN0aW9uKFxuICAgICdbQWRtaW4vQ2xhc3NlcyBBcGldIERlbGV0ZSBBdHRyaWJ1dGUgZm9yIENsYXNzIEZhaWx1cmUnLFxuICAgIHByb3BzPHsgZXJyb3I6IGFueSB9PigpXG4gICksXG5cbiAgc2VsZWN0QXR0cmlidXRlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tBZG1pbi9DbGFzc2VzXSBTZWxlY3QgY3VycmVudCBBdHRyaWJ1dGUnLFxuICAgIHByb3BzPHsgYXR0ckV4dGVuZGVkOiBBdHRyaWJ1dGVFeHRlbmRlZCB9PigpXG4gICksXG4gIHVuc2VsZWN0QXR0cmlidXRlOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBVbnNlbGVjdCBjdXJyZW50IEF0dHJpYnV0ZScpLFxuXG4gIHNhdmVBdHRyaWJ1dGVGb3JDbGFzczogY3JlYXRlQWN0aW9uKFxuICAgICdbQWRtaW4vQ2xhc3Nlc10gU2F2ZSBBdHRyaWJ1dGUgZm9yIFNlbGVjdGVkIENsYXNzJyxcbiAgICBwcm9wczx7IGNsYXNzSWQ6IHN0cmluZzsgYXR0cmlidXRlOiBBdHRyaWJ1dGU7IHJvdXRlOiBzdHJpbmcgfT4oKVxuICApLFxuICBzYXZlQXR0cmlidXRlRm9yQ2xhc3NTdWNjZXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tBZG1pbi9DbGFzc2VzIEFwaV0gU2F2ZSBBdHRyaWJ1dGUgZm9yIFNlbGVjdGVkIENsYXNzIFN1Y2Nlc3MnLFxuICAgIHByb3BzPHsgcm91dGU6IHN0cmluZyB9PigpXG4gICksXG4gIHNhdmVBdHRyaWJ1dGVGb3JDbGFzc0ZhaWx1cmU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0FkbWluL0NsYXNzZXMgQXBpXSBTYXZlIEF0dHJpYnV0ZSBmb3IgU2VsZWN0ZWQgQ2xhc3MgRmFpbHVyZScsXG4gICAgcHJvcHM8eyBlcnJvcjogYW55IH0+KClcbiAgKSxcbiAgYmFjazogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3Nlc10gYmFjaycsIHByb3BzPHsgcGF0aDogc3RyaW5nIH0+KCkpLFxuICBvcGVuTW9kYWw6IGNyZWF0ZUFjdGlvbignW0NsYXNzXSBPcGVuIG1vZGFsJyksXG4gIGNsb3NlTW9kYWw6IGNyZWF0ZUFjdGlvbignW0NsYXNzXSBDbG9zZSBtb2RhbCcpLFxuICBjb25maXJtQ2xhc3NEZWxldGlvbjogY3JlYXRlQWN0aW9uKCdbQ2xhc3NdIE9wZW4gbW9kYWwgZm9yIGRlbGV0aW5nIGNsYXNzJywgcHJvcHM8eyBpZDogc3RyaW5nOyBwYXRoOiBzdHJpbmcgfT4oKSksXG4gIGNvbmZpcm1BdHRyaWJ1dGVEZWxldGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICdbQ2xhc3NdIE9wZW4gbW9kYWwgZm9yIGF0dHJpYnV0ZSBkZWxldGlvbicsXG4gICAgcHJvcHM8e1xuICAgICAgY2xhc3NJZDogc3RyaW5nO1xuICAgICAgYXR0cklkOiBzdHJpbmc7XG4gICAgICBiYWNrUGF0aDogc3RyaW5nO1xuICAgICAgYWRkQXR0clBhdGg6IHN0cmluZztcbiAgICB9PigpXG4gIClcbn07XG4iXX0=
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRtaW4tY2xhc3MuYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL2FkbWluL2NvbXBvbmVudHMvYWRtaW4tY2xhc3Nlcy9zdG9yZS9hZG1pbi1jbGFzcy5hY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR2xELE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHO0lBQy9CLGFBQWEsRUFBRSxZQUFZLENBQUMsc0NBQXNDLENBQUM7SUFFbkUsY0FBYyxFQUFFLFlBQVksQ0FBQyxrQ0FBa0MsRUFBRSxLQUFLLEVBQW1DLENBQUM7SUFDMUcsZUFBZSxFQUFFLFlBQVksQ0FBQyxtQ0FBbUMsQ0FBQztJQUVsRSxTQUFTLEVBQUUsWUFBWSxDQUFDLDRCQUE0QixFQUFFLEtBQUssRUFBbUMsQ0FBQztJQUMvRixnQkFBZ0IsRUFBRSxZQUFZLENBQUMsd0NBQXdDLEVBQUUsS0FBSyxFQUFxQixDQUFDO0lBQ3BHLGdCQUFnQixFQUFFLFlBQVksQ0FBQyx3Q0FBd0MsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFFakcsWUFBWSxFQUFFLFlBQVksQ0FBQywrQkFBK0IsRUFBRSxLQUFLLEVBQTBCLENBQUM7SUFDNUYsbUJBQW1CLEVBQUUsWUFBWSxDQUFDLDJDQUEyQyxDQUFDO0lBQzlFLG1CQUFtQixFQUFFLFlBQVksQ0FBQywyQ0FBMkMsRUFBRSxLQUFLLEVBQWtCLENBQUM7SUFFdkcsV0FBVyxFQUFFLFlBQVksQ0FBQyw4QkFBOEIsRUFBRSxLQUFLLEVBQW9CLENBQUM7SUFDcEYsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUVyRyxhQUFhLEVBQUUsWUFBWSxDQUFDLGdDQUFnQyxDQUFDO0lBRTdELFdBQVcsRUFBRSxZQUFZLENBQUMsOEJBQThCLEVBQUUsS0FBSyxFQUFpQyxDQUFDO0lBQ2pHLGtCQUFrQixFQUFFLFlBQVksQ0FBQywwQ0FBMEMsRUFBRSxLQUFLLEVBQXFCLENBQUM7SUFDeEcsa0JBQWtCLEVBQUUsWUFBWSxDQUFDLDBDQUEwQyxFQUFFLEtBQUssRUFBa0IsQ0FBQztJQUVyRyx1QkFBdUIsRUFBRSxZQUFZLENBQ25DLDRDQUE0QyxFQUM1QyxLQUFLLEVBQThFLENBQ3BGO0lBQ0QsOEJBQThCLEVBQUUsWUFBWSxDQUMxQyx3REFBd0QsRUFDeEQsS0FBSyxFQUE4RCxDQUNwRTtJQUNELDhCQUE4QixFQUFFLFlBQVksQ0FDMUMsd0RBQXdELEVBQ3hELEtBQUssRUFBa0IsQ0FDeEI7SUFFRCxlQUFlLEVBQUUsWUFBWSxDQUMzQiwwQ0FBMEMsRUFDMUMsS0FBSyxFQUF1QyxDQUM3QztJQUNELGlCQUFpQixFQUFFLFlBQVksQ0FBQyw0Q0FBNEMsQ0FBQztJQUU3RSxxQkFBcUIsRUFBRSxZQUFZLENBQ2pDLG1EQUFtRCxFQUNuRCxLQUFLLEVBQTRELENBQ2xFO0lBQ0QsNEJBQTRCLEVBQUUsWUFBWSxDQUN4QywrREFBK0QsRUFDL0QsS0FBSyxFQUFxQixDQUMzQjtJQUNELDRCQUE0QixFQUFFLFlBQVksQ0FDeEMsK0RBQStELEVBQy9ELEtBQUssRUFBa0IsQ0FDeEI7SUFDRCxJQUFJLEVBQUUsWUFBWSxDQUFDLHNCQUFzQixFQUFFLEtBQUssRUFBb0IsQ0FBQztJQUNyRSxTQUFTLEVBQUUsWUFBWSxDQUFDLG9CQUFvQixDQUFDO0lBQzdDLFVBQVUsRUFBRSxZQUFZLENBQUMscUJBQXFCLENBQUM7SUFDL0Msb0JBQW9CLEVBQUUsWUFBWSxDQUFDLHVDQUF1QyxFQUFFLEtBQUssRUFBZ0MsQ0FBQztJQUNsSCx3QkFBd0IsRUFBRSxZQUFZLENBQ3BDLDJDQUEyQyxFQUMzQyxLQUFLLEVBS0QsQ0FDTDtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQXR0cmlidXRlLCBBdHRyaWJ1dGVFeHRlbmRlZCwgQ2F0ZWdvcnksIENsYXNzLCBBc3NvY2lhdGlvbnMgfSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuXG5leHBvcnQgY29uc3QgQWRtaW5DbGFzc0FjdGlvbnMgPSB7XG4gIHVwZGF0ZVRvb2xib3g6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXNdIFVwZGF0ZSBUb29sYm94IENsYXNzJyksXG5cbiAgc2F2ZUludGVyQ2xhc3M6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXNdIFNhdmUgSW50ZXIgQ2xhc3MnLCBwcm9wczx7IGNsYXNzOiBDbGFzczsgcm91dGU6IHN0cmluZyB9PigpKSxcbiAgcmVzZXRJbnRlckNsYXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBSZXNldCBJbnRlciBDbGFzcycpLFxuXG4gIHNhdmVDbGFzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3Nlc10gU2F2ZSBDbGFzcycsIHByb3BzPHsgY2xhc3M6IENsYXNzOyByb3V0ZTogc3RyaW5nIH0+KCkpLFxuICBzYXZlQ2xhc3NTdWNjZXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzIEFwaV0gU2F2ZSBDbGFzcyBTdWNjZXNzJywgcHJvcHM8eyByb3V0ZTogc3RyaW5nIH0+KCkpLFxuICBzYXZlQ2xhc3NGYWlsdXJlOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzIEFwaV0gU2F2ZSBDbGFzcyBGYWlsdXJlJywgcHJvcHM8eyBlcnJvcjogYW55IH0+KCkpLFxuXG4gIHNhdmVDYXRlZ29yeTogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3Nlc10gU2F2ZSBDYXRlZ29yeScsIHByb3BzPHsgY2F0ZWdvcnk6IENhdGVnb3J5IH0+KCkpLFxuICBzYXZlQ2F0ZWdvcnlTdWNjZXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzIEFwaV0gU2F2ZSBDYXRlZ29yeSBTdWNjZXNzJyksXG4gIHNhdmVDYXRlZ29yeUZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXMgQXBpXSBTYXZlIENhdGVnb3J5IEZhaWx1cmUnLCBwcm9wczx7IGVycm9yOiBhbnkgfT4oKSksXG5cbiAgc2VsZWN0Q2xhc3M6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXNdIFNlbGVjdCBDbGFzcycsIHByb3BzPHsgY2xheno6IENsYXNzIH0+KCkpLFxuICBzZWxlY3RDbGFzc0ZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXMgQXBpXSBTZWxlY3QgQ2xhc3MgRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IGFueSB9PigpKSxcblxuICB1bnNlbGVjdENsYXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBVbnNlbGVjdCBDbGFzcycpLFxuXG4gIGRlbGV0ZUNsYXNzOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBEZWxldGUgQ2xhc3MnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHJvdXRlOiBzdHJpbmcgfT4oKSksXG4gIGRlbGV0ZUNsYXNzU3VjY2VzczogY3JlYXRlQWN0aW9uKCdbQWRtaW4vQ2xhc3NlcyBBcGldIERlbGV0ZSBDbGFzcyBTdWNjZXNzJywgcHJvcHM8eyByb3V0ZTogc3RyaW5nIH0+KCkpLFxuICBkZWxldGVDbGFzc0ZhaWx1cmU6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXMgQXBpXSBEZWxldGUgQ2xhc3MgRmFpbHVyZScsIHByb3BzPHsgZXJyb3I6IGFueSB9PigpKSxcblxuICBkZWxldGVBdHRyaWJ1dGVGb3JDbGFzczogY3JlYXRlQWN0aW9uKFxuICAgICdbQWRtaW4vQ2xhc3Nlc10gRGVsZXRlIEF0dHJpYnV0ZSBmb3IgQ2xhc3MnLFxuICAgIHByb3BzPHsgY2xhc3NJZDogc3RyaW5nOyBhdHRySWQ6IHN0cmluZzsgYmFja1BhdGg6IHN0cmluZzsgYWRkQXR0clBhdGg6IHN0cmluZyB9PigpXG4gICksXG4gIGRlbGV0ZUF0dHJpYnV0ZUZvckNsYXNzU3VjY2VzczogY3JlYXRlQWN0aW9uKFxuICAgICdbQWRtaW4vQ2xhc3NlcyBBcGldIERlbGV0ZSBBdHRyaWJ1dGUgZm9yIENsYXNzIFN1Y2Nlc3MnLFxuICAgIHByb3BzPHsgY2xhc3NJZDogc3RyaW5nOyBiYWNrUGF0aDogc3RyaW5nOyBhZGRBdHRyUGF0aDogc3RyaW5nIH0+KClcbiAgKSxcbiAgZGVsZXRlQXR0cmlidXRlRm9yQ2xhc3NGYWlsdXJlOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tBZG1pbi9DbGFzc2VzIEFwaV0gRGVsZXRlIEF0dHJpYnV0ZSBmb3IgQ2xhc3MgRmFpbHVyZScsXG4gICAgcHJvcHM8eyBlcnJvcjogYW55IH0+KClcbiAgKSxcblxuICBzZWxlY3RBdHRyaWJ1dGU6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0FkbWluL0NsYXNzZXNdIFNlbGVjdCBjdXJyZW50IEF0dHJpYnV0ZScsXG4gICAgcHJvcHM8eyBhdHRyRXh0ZW5kZWQ6IEF0dHJpYnV0ZUV4dGVuZGVkIH0+KClcbiAgKSxcbiAgdW5zZWxlY3RBdHRyaWJ1dGU6IGNyZWF0ZUFjdGlvbignW0FkbWluL0NsYXNzZXNdIFVuc2VsZWN0IGN1cnJlbnQgQXR0cmlidXRlJyksXG5cbiAgc2F2ZUF0dHJpYnV0ZUZvckNsYXNzOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tBZG1pbi9DbGFzc2VzXSBTYXZlIEF0dHJpYnV0ZSBmb3IgU2VsZWN0ZWQgQ2xhc3MnLFxuICAgIHByb3BzPHsgY2xhc3NJZDogc3RyaW5nOyBhdHRyaWJ1dGU6IEF0dHJpYnV0ZTsgcm91dGU6IHN0cmluZyB9PigpXG4gICksXG4gIHNhdmVBdHRyaWJ1dGVGb3JDbGFzc1N1Y2Nlc3M6IGNyZWF0ZUFjdGlvbihcbiAgICAnW0FkbWluL0NsYXNzZXMgQXBpXSBTYXZlIEF0dHJpYnV0ZSBmb3IgU2VsZWN0ZWQgQ2xhc3MgU3VjY2VzcycsXG4gICAgcHJvcHM8eyByb3V0ZTogc3RyaW5nIH0+KClcbiAgKSxcbiAgc2F2ZUF0dHJpYnV0ZUZvckNsYXNzRmFpbHVyZTogY3JlYXRlQWN0aW9uKFxuICAgICdbQWRtaW4vQ2xhc3NlcyBBcGldIFNhdmUgQXR0cmlidXRlIGZvciBTZWxlY3RlZCBDbGFzcyBGYWlsdXJlJyxcbiAgICBwcm9wczx7IGVycm9yOiBhbnkgfT4oKVxuICApLFxuICBiYWNrOiBjcmVhdGVBY3Rpb24oJ1tBZG1pbi9DbGFzc2VzXSBiYWNrJywgcHJvcHM8eyBwYXRoOiBzdHJpbmcgfT4oKSksXG4gIG9wZW5Nb2RhbDogY3JlYXRlQWN0aW9uKCdbQ2xhc3NdIE9wZW4gbW9kYWwnKSxcbiAgY2xvc2VNb2RhbDogY3JlYXRlQWN0aW9uKCdbQ2xhc3NdIENsb3NlIG1vZGFsJyksXG4gIGNvbmZpcm1DbGFzc0RlbGV0aW9uOiBjcmVhdGVBY3Rpb24oJ1tDbGFzc10gT3BlbiBtb2RhbCBmb3IgZGVsZXRpbmcgY2xhc3MnLCBwcm9wczx7IGlkOiBzdHJpbmc7IHBhdGg6IHN0cmluZyB9PigpKSxcbiAgY29uZmlybUF0dHJpYnV0ZURlbGV0aW9uOiBjcmVhdGVBY3Rpb24oXG4gICAgJ1tDbGFzc10gT3BlbiBtb2RhbCBmb3IgYXR0cmlidXRlIGRlbGV0aW9uJyxcbiAgICBwcm9wczx7XG4gICAgICBjbGFzc0lkOiBzdHJpbmc7XG4gICAgICBhdHRySWQ6IHN0cmluZztcbiAgICAgIGJhY2tQYXRoOiBzdHJpbmc7XG4gICAgICBhZGRBdHRyUGF0aDogc3RyaW5nO1xuICAgIH0+KClcbiAgKVxufTtcbiJdfQ==