@hmcts/ccd-case-ui-toolkit 5.0.24-case-file-view-error-message-display → 5.0.24-case-file-view-document-search

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 (24) hide show
  1. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js +341 -293
  2. package/bundles/hmcts-ccd-case-ui-toolkit.umd.js.map +1 -1
  3. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js +1 -1
  4. package/bundles/hmcts-ccd-case-ui-toolkit.umd.min.js.map +1 -1
  5. package/esm2015/lib/shared/components/case-viewer/case-full-access-view/case-full-access-view.component.js +2 -2
  6. package/esm2015/lib/shared/components/palette/case-file-view/case-file-view-field.component.js +18 -50
  7. package/esm2015/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.js +77 -194
  8. package/esm2015/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.js +178 -0
  9. package/esm2015/lib/shared/components/palette/utils/is-compound.pipe.js +2 -2
  10. package/esm2015/lib/shared/domain/case-file-view/document-tree-node.model.js +6 -2
  11. package/esm2015/lib/shared/services/case-file-view/case-file-view.service.js +6 -5
  12. package/fesm2015/hmcts-ccd-case-ui-toolkit.js +313 -268
  13. package/fesm2015/hmcts-ccd-case-ui-toolkit.js.map +1 -1
  14. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts +3 -6
  15. package/lib/shared/components/palette/case-file-view/case-file-view-field.component.d.ts.map +1 -1
  16. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts +8 -1
  17. package/lib/shared/components/palette/case-file-view/components/case-file-view-folder/case-file-view-folder.component.d.ts.map +1 -1
  18. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts +3 -0
  19. package/lib/shared/components/palette/case-file-view/test-data/categories-and-documents-test-data.d.ts.map +1 -0
  20. package/lib/shared/domain/case-file-view/document-tree-node.model.d.ts +4 -0
  21. package/lib/shared/domain/case-file-view/document-tree-node.model.d.ts.map +1 -1
  22. package/lib/shared/services/case-file-view/case-file-view.service.d.ts +3 -2
  23. package/lib/shared/services/case-file-view/case-file-view.service.d.ts.map +1 -1
  24. package/package.json +1 -1
@@ -1,13 +1,18 @@
1
1
  import { NestedTreeControl } from '@angular/cdk/tree';
2
2
  import { Component, Input } from '@angular/core';
3
+ import { FormControl, FormGroup } from '@angular/forms';
3
4
  import { Observable, of } from 'rxjs';
5
+ import { switchMap } from 'rxjs/operators';
6
+ import { DocumentTreeNodeType } from '../../../../../domain/case-file-view';
7
+ import { categoriesAndDocuments } from '../../test-data/categories-and-documents-test-data';
4
8
  import * as i0 from "@angular/core";
5
- import * as i1 from "@angular/cdk/tree";
6
- function CaseFileViewFolderComponent_cdk_nested_tree_node_6_Template(rf, ctx) { if (rf & 1) {
7
- i0.ɵɵelementStart(0, "cdk-nested-tree-node", 7);
8
- i0.ɵɵelementStart(1, "div", 8);
9
- i0.ɵɵelement(2, "button", 9);
10
- i0.ɵɵelementStart(3, "span", 10);
9
+ import * as i1 from "@angular/forms";
10
+ import * as i2 from "@angular/cdk/tree";
11
+ function CaseFileViewFolderComponent_cdk_nested_tree_node_8_Template(rf, ctx) { if (rf & 1) {
12
+ i0.ɵɵelementStart(0, "cdk-nested-tree-node", 9);
13
+ i0.ɵɵelementStart(1, "div", 10);
14
+ i0.ɵɵelement(2, "button", 11);
15
+ i0.ɵɵelementStart(3, "span", 12);
11
16
  i0.ɵɵtext(4);
12
17
  i0.ɵɵelementEnd();
13
18
  i0.ɵɵelementEnd();
@@ -17,20 +22,20 @@ function CaseFileViewFolderComponent_cdk_nested_tree_node_6_Template(rf, ctx) {
17
22
  i0.ɵɵadvance(4);
18
23
  i0.ɵɵtextInterpolate(node_r2.name);
19
24
  } }
20
- function CaseFileViewFolderComponent_cdk_nested_tree_node_7_Template(rf, ctx) { if (rf & 1) {
21
- i0.ɵɵelementStart(0, "cdk-nested-tree-node", 7);
22
- i0.ɵɵelementStart(1, "div", 8);
23
- i0.ɵɵelementStart(2, "button", 11);
24
- i0.ɵɵelementStart(3, "span", 12);
25
+ function CaseFileViewFolderComponent_cdk_nested_tree_node_9_Template(rf, ctx) { if (rf & 1) {
26
+ i0.ɵɵelementStart(0, "cdk-nested-tree-node", 9);
27
+ i0.ɵɵelementStart(1, "div", 10);
28
+ i0.ɵɵelementStart(2, "button", 13);
29
+ i0.ɵɵelementStart(3, "span", 14);
25
30
  i0.ɵɵtext(4);
26
31
  i0.ɵɵelementEnd();
27
32
  i0.ɵɵelementEnd();
28
- i0.ɵɵelementStart(5, "span", 13);
33
+ i0.ɵɵelementStart(5, "span", 15);
29
34
  i0.ɵɵtext(6);
30
35
  i0.ɵɵelementEnd();
31
36
  i0.ɵɵelementEnd();
32
37
  i0.ɵɵelementStart(7, "div");
33
- i0.ɵɵelementContainer(8, 14);
38
+ i0.ɵɵelementContainer(8, 16);
34
39
  i0.ɵɵelementEnd();
35
40
  i0.ɵɵelementEnd();
36
41
  } if (rf & 2) {
@@ -53,18 +58,26 @@ export class CaseFileViewFolderComponent {
53
58
  this.nestedTreeControl = new NestedTreeControl(this.getChildren);
54
59
  }
55
60
  ngOnInit() {
56
- this.categoriesAndDocumentsSubscription = this.categoriesAndDocuments.subscribe(categoriesAndDocuments => {
61
+ this.documentFilterFormGroup = new FormGroup({});
62
+ this.documentSearchFormControl = new FormControl('');
63
+ this.documentFilterFormGroup.addControl(CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME, this.documentSearchFormControl);
64
+ // Listen to search input and initiate filter documents if at least three characters entered
65
+ this.documentFilterSubscription = this.documentSearchFormControl.valueChanges.pipe(switchMap((searchTerm) => this.filter(searchTerm.toLowerCase(), this.documentTreeData))).subscribe(documentTreeData => {
66
+ this.nestedDataSource = documentTreeData;
67
+ });
68
+ // Subscribe to the input categories and documents, and generate tree data and initialise cdk tree
69
+ this.categoriesAndDocumentsSubscription = this.categoriesAndDocuments.subscribe(categoriesAndDocumentsResult => {
57
70
  // Using the mock data for now as we have to display the documents as well for demo purpose
58
- const categories = this.loadCategories(); // categoriesAndDocuments.categories;
71
+ const categories = categoriesAndDocuments.categories; // categoriesAndDocuments.categories;
59
72
  // Generate document tree data from categories
60
- const treeData = this.generateTreeData(categories);
73
+ this.documentTreeData = this.generateTreeData(categories);
61
74
  // Append uncategorised documents
62
- if (categoriesAndDocuments.uncategorised_documents && categoriesAndDocuments.uncategorised_documents.length > 0) {
63
- const uncategorisedDocuments = this.getUncategorisedDocuments(categoriesAndDocuments.uncategorised_documents);
64
- treeData.push(uncategorisedDocuments);
75
+ if (categoriesAndDocumentsResult.uncategorised_documents && categoriesAndDocumentsResult.uncategorised_documents.length > 0) {
76
+ const uncategorisedDocuments = this.getUncategorisedDocuments(categoriesAndDocumentsResult.uncategorised_documents);
77
+ this.documentTreeData.push(uncategorisedDocuments);
65
78
  }
66
79
  // Initialise cdk tree with generated data
67
- this.nestedDataSource = treeData;
80
+ this.nestedDataSource = this.documentTreeData;
68
81
  });
69
82
  }
70
83
  generateTreeData(categories) {
@@ -73,6 +86,7 @@ export class CaseFileViewFolderComponent {
73
86
  ...[
74
87
  {
75
88
  name: node.category_name,
89
+ type: DocumentTreeNodeType.FOLDER,
76
90
  children: [...this.generateTreeData(node.sub_categories), ...this.getDocuments(node.documents)]
77
91
  },
78
92
  ],
@@ -81,204 +95,73 @@ export class CaseFileViewFolderComponent {
81
95
  getDocuments(documents) {
82
96
  const documentsToReturn = [];
83
97
  documents.forEach(document => {
84
- documentsToReturn.push({ name: document.document_filename });
98
+ documentsToReturn.push({ name: document.document_filename, type: DocumentTreeNodeType.DOCUMENT });
85
99
  });
86
100
  return documentsToReturn;
87
101
  }
88
102
  getUncategorisedDocuments(uncategorisedDocuments) {
89
103
  const documents = [];
90
104
  uncategorisedDocuments.forEach(document => {
91
- documents.push({ name: document.document_filename });
105
+ documents.push({ name: document.document_filename, type: DocumentTreeNodeType.DOCUMENT });
92
106
  });
93
- return { name: CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE, children: documents };
107
+ return { name: CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE, type: DocumentTreeNodeType.FOLDER, children: documents };
108
+ }
109
+ filter(searchTerm, documentTreeData) {
110
+ // Make a copy of the data so we do not mutate the original
111
+ function copy(node) {
112
+ return Object.assign({}, node);
113
+ }
114
+ let filteredData = documentTreeData;
115
+ if (searchTerm && searchTerm.length > 2 && this.documentFilterFormGroup.controls[CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME].value.length > 2) {
116
+ filteredData = documentTreeData.map(copy).filter(function filterTreeData(node) {
117
+ if (node.name && node.name.toLowerCase().includes(searchTerm) && node.type === DocumentTreeNodeType.DOCUMENT) {
118
+ return true;
119
+ }
120
+ // Call recursively if node has children
121
+ if (node.children) {
122
+ return (node.children = node.children.map(copy).filter(filterTreeData)).length;
123
+ }
124
+ });
125
+ }
126
+ return of(filteredData);
94
127
  }
95
128
  ngOnDestroy() {
96
129
  if (this.categoriesAndDocumentsSubscription) {
97
130
  this.categoriesAndDocumentsSubscription.unsubscribe();
98
131
  }
99
- }
100
- loadCategories() {
101
- return [
102
- {
103
- category_id: 'Beers',
104
- category_name: 'Beers',
105
- category_order: 1,
106
- documents: [
107
- {
108
- document_url: '/test',
109
- document_filename: 'Beers encyclopedia',
110
- document_binary_url: '/test/binary',
111
- attribute_path: '',
112
- upload_timestamp: ''
113
- }
114
- ],
115
- sub_categories: [
116
- {
117
- category_id: 'BeersBitters',
118
- category_name: 'Bitters',
119
- category_order: 1,
120
- documents: [],
121
- sub_categories: []
122
- },
123
- {
124
- category_id: 'BeersAmerican',
125
- category_name: 'American',
126
- category_order: 2,
127
- documents: [],
128
- sub_categories: []
129
- },
130
- {
131
- category_id: 'BeersAsian',
132
- category_name: 'Asian',
133
- category_order: 3,
134
- documents: [],
135
- sub_categories: []
136
- }
137
- ]
138
- },
139
- {
140
- category_id: 'Wines',
141
- category_name: 'Wines',
142
- category_order: 2,
143
- documents: [],
144
- sub_categories: [
145
- {
146
- category_id: 'WinesFrench',
147
- category_name: 'French',
148
- category_order: 1,
149
- documents: [],
150
- sub_categories: []
151
- },
152
- {
153
- category_id: 'WinesItalian',
154
- category_name: 'Italian',
155
- category_order: 2,
156
- documents: [],
157
- sub_categories: []
158
- }
159
- ]
160
- },
161
- {
162
- category_id: 'Spirits',
163
- category_name: 'Spirits',
164
- category_order: 3,
165
- documents: [],
166
- sub_categories: [
167
- {
168
- category_id: 'SpiritsWhisky',
169
- category_name: 'Scotch whisky',
170
- category_order: 1,
171
- documents: [],
172
- sub_categories: [
173
- {
174
- category_id: 'WhiskyHighland',
175
- category_name: 'Highland',
176
- category_order: 1,
177
- documents: [],
178
- sub_categories: [
179
- {
180
- category_id: 'WhiskyHighland1',
181
- category_name: 'Highland 1',
182
- category_order: 1,
183
- documents: [],
184
- sub_categories: []
185
- }
186
- ]
187
- },
188
- {
189
- category_id: 'WhiskyLowland',
190
- category_name: 'Lowland',
191
- category_order: 2,
192
- documents: [],
193
- sub_categories: [
194
- {
195
- category_id: 'WhiskyLowland1',
196
- category_name: 'Lowland 1',
197
- category_order: 1,
198
- documents: [
199
- {
200
- document_url: '/test',
201
- document_filename: 'Details about Whisky Lowland 1',
202
- document_binary_url: '/test/binary',
203
- attribute_path: '',
204
- upload_timestamp: ''
205
- }
206
- ],
207
- sub_categories: []
208
- },
209
- {
210
- category_id: 'WhiskyLowland2',
211
- category_name: 'Lowland 2',
212
- category_order: 2,
213
- documents: [],
214
- sub_categories: []
215
- }
216
- ]
217
- },
218
- {
219
- category_id: 'WhiskyIslay',
220
- category_name: 'Islay',
221
- category_order: 3,
222
- documents: [
223
- {
224
- document_url: '/test',
225
- document_filename: 'Details about Whisky Islay',
226
- document_binary_url: '/test/binary',
227
- attribute_path: '',
228
- upload_timestamp: ''
229
- },
230
- {
231
- document_url: '/test',
232
- document_filename: 'More information about Whisky Islay',
233
- document_binary_url: '/test/binary',
234
- attribute_path: '',
235
- upload_timestamp: ''
236
- }
237
- ],
238
- sub_categories: []
239
- },
240
- {
241
- category_id: 'WhiskySpeyside',
242
- category_name: 'Speyside',
243
- category_order: 4,
244
- documents: [],
245
- sub_categories: []
246
- },
247
- {
248
- category_id: 'WhiskyCampbeltown',
249
- category_name: 'Campbeltown',
250
- category_order: 5,
251
- documents: [],
252
- sub_categories: []
253
- }
254
- ]
255
- }
256
- ]
257
- }
258
- ];
132
+ if (this.documentFilterSubscription) {
133
+ this.documentFilterSubscription.unsubscribe();
134
+ }
259
135
  }
260
136
  }
261
137
  CaseFileViewFolderComponent.UNCATEGORISED_DOCUMENTS_TITLE = 'Uncategorised documents';
138
+ CaseFileViewFolderComponent.DOCUMENT_SEARCH_FORM_CONTROL_NAME = 'documentSearchFormControl';
139
+ CaseFileViewFolderComponent.MINIMUM_SEARCH_CHARACTERS = 2;
262
140
  CaseFileViewFolderComponent.ɵfac = function CaseFileViewFolderComponent_Factory(t) { return new (t || CaseFileViewFolderComponent)(); };
263
- CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments" }, decls: 8, vars: 3, consts: [[1, "document-filter-container"], [1, "document-filter"], [1, "documents-title"], [1, "document-tree-container"], [3, "dataSource", "treeControl"], ["class", "document-tree-node", 4, "cdkTreeNodeDef"], ["class", "document-tree-node", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-node"], [1, "node"], ["mat-icon-button", "", "disabled", "", 1, "icon", "icon-document"], [1, "node-name", "node-name-document"], ["mat-icon-button", "", "cdkTreeNodeToggle", "", 1, "icon", "icon-folder"], [1, "document-count"], [1, "node-name", "node-name-folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
141
+ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewFolderComponent, selectors: [["ccd-case-file-view-folder"]], inputs: { categoriesAndDocuments: "categoriesAndDocuments" }, decls: 10, vars: 4, consts: [[1, "document-filter-container"], [1, "form-group", "document-filter", 3, "formGroup"], ["for", "document-search", 1, "form-label"], ["type", "search", "id", "document-search", "name", "documentSearchFormControl", "formControlName", "documentSearchFormControl", 1, "form-control", "document-search"], [1, "documents-title"], [1, "document-tree-container"], [3, "dataSource", "treeControl"], ["class", "document-tree-node", 4, "cdkTreeNodeDef"], ["class", "document-tree-node", 4, "cdkTreeNodeDef", "cdkTreeNodeDefWhen"], [1, "document-tree-node"], [1, "node"], ["mat-icon-button", "", "disabled", "", 1, "icon", "icon-document"], [1, "node-name", "node-name-document"], ["mat-icon-button", "", "cdkTreeNodeToggle", "", 1, "icon", "icon-folder"], [1, "document-count"], [1, "node-name", "node-name-folder"], ["cdkTreeNodeOutlet", ""]], template: function CaseFileViewFolderComponent_Template(rf, ctx) { if (rf & 1) {
264
142
  i0.ɵɵelementStart(0, "div", 0);
265
- i0.ɵɵelement(1, "div", 1);
266
- i0.ɵɵelementStart(2, "div", 2);
267
- i0.ɵɵtext(3, "Documents");
143
+ i0.ɵɵelementStart(1, "div", 1);
144
+ i0.ɵɵelement(2, "label", 2);
145
+ i0.ɵɵelement(3, "input", 3);
146
+ i0.ɵɵelementEnd();
147
+ i0.ɵɵelementStart(4, "div", 4);
148
+ i0.ɵɵtext(5, "Documents");
268
149
  i0.ɵɵelementEnd();
269
150
  i0.ɵɵelementEnd();
270
- i0.ɵɵelementStart(4, "div", 3);
271
- i0.ɵɵelementStart(5, "cdk-tree", 4);
272
- i0.ɵɵtemplate(6, CaseFileViewFolderComponent_cdk_nested_tree_node_6_Template, 5, 1, "cdk-nested-tree-node", 5);
273
- i0.ɵɵtemplate(7, CaseFileViewFolderComponent_cdk_nested_tree_node_7_Template, 9, 5, "cdk-nested-tree-node", 6);
151
+ i0.ɵɵelementStart(6, "div", 5);
152
+ i0.ɵɵelementStart(7, "cdk-tree", 6);
153
+ i0.ɵɵtemplate(8, CaseFileViewFolderComponent_cdk_nested_tree_node_8_Template, 5, 1, "cdk-nested-tree-node", 7);
154
+ i0.ɵɵtemplate(9, CaseFileViewFolderComponent_cdk_nested_tree_node_9_Template, 9, 5, "cdk-nested-tree-node", 8);
274
155
  i0.ɵɵelementEnd();
275
156
  i0.ɵɵelementEnd();
276
157
  } if (rf & 2) {
277
- i0.ɵɵadvance(5);
158
+ i0.ɵɵadvance(1);
159
+ i0.ɵɵproperty("formGroup", ctx.documentFilterFormGroup);
160
+ i0.ɵɵadvance(6);
278
161
  i0.ɵɵproperty("dataSource", ctx.nestedDataSource)("treeControl", ctx.nestedTreeControl);
279
162
  i0.ɵɵadvance(2);
280
163
  i0.ɵɵproperty("cdkTreeNodeDefWhen", ctx.nestedChildren);
281
- } }, directives: [i1.CdkTree, i1.CdkTreeNodeDef, i1.CdkNestedTreeNode, i1.CdkTreeNodeToggle, i1.CdkTreeNodeOutlet], styles: [".document-filter-container[_ngcontent-%COMP%]{height:60px;border-bottom:2px solid #c9c9c9;padding-bottom:4px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{height:70%}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{margin:4px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%] .document-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .document-tree-container[_ngcontent-%COMP%] .document-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.document-tree-container[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%]{display:block}.document-tree-container[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{display:flex;padding:4px}.document-tree-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:36px;height:36px;background-size:100%;border:0;background-color:#fff}.document-tree-container[_ngcontent-%COMP%] .icon-folder[_ngcontent-%COMP%]{background-image:url(/assets/images/folder.png)}.document-tree-container[_ngcontent-%COMP%] .icon-document[_ngcontent-%COMP%]{background-image:url(/assets/images/document.png)}.document-tree-container[_ngcontent-%COMP%] .node-name[_ngcontent-%COMP%]{margin-left:6px}.document-tree-container[_ngcontent-%COMP%] .node-name-document[_ngcontent-%COMP%], .document-tree-container[_ngcontent-%COMP%] .node-name-folder[_ngcontent-%COMP%]{margin-top:4px}.document-tree-container[_ngcontent-%COMP%] .document-count[_ngcontent-%COMP%]{color:#fff}"] });
164
+ } }, directives: [i1.NgControlStatusGroup, i1.FormGroupDirective, i1.DefaultValueAccessor, i1.NgControlStatus, i1.FormControlName, i2.CdkTree, i2.CdkTreeNodeDef, i2.CdkNestedTreeNode, i2.CdkTreeNodeToggle, i2.CdkTreeNodeOutlet], styles: [".document-filter-container[_ngcontent-%COMP%]{border-bottom:2px solid #c9c9c9;padding-bottom:4px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%]{height:70%;padding:8px 0 0 8px;margin-bottom:10px}.document-filter-container[_ngcontent-%COMP%] .document-filter[_ngcontent-%COMP%] .document-search[_ngcontent-%COMP%]{background:url(/assets/images/icon-search-black.svg) no-repeat 98% #fff;padding-right:30px;min-width:30%;max-width:340px}.document-filter-container[_ngcontent-%COMP%] .documents-title[_ngcontent-%COMP%]{height:30%;margin-left:8px;font-weight:700}.document-tree-container[_ngcontent-%COMP%]{margin:4px}.document-tree-container[_ngcontent-%COMP%] .document-tree-invisible[_ngcontent-%COMP%]{display:none}.document-tree-container[_ngcontent-%COMP%] .document-tree[_ngcontent-%COMP%] li[_ngcontent-%COMP%], .document-tree-container[_ngcontent-%COMP%] .document-tree[_ngcontent-%COMP%] ul[_ngcontent-%COMP%]{margin-top:0;margin-bottom:0;list-style-type:none}.document-tree-container[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%]{display:block}.document-tree-container[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%] .document-tree-node[_ngcontent-%COMP%]{padding-left:40px}.document-tree-container[_ngcontent-%COMP%] .node[_ngcontent-%COMP%]{display:flex;padding:4px}.document-tree-container[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{width:36px;height:36px;background-size:100%;border:0;background-color:#faf8f8}.document-tree-container[_ngcontent-%COMP%] .icon-folder[_ngcontent-%COMP%]{background-image:url(/assets/images/folder.png)}.document-tree-container[_ngcontent-%COMP%] .icon-document[_ngcontent-%COMP%]{background-image:url(/assets/images/document.png)}.document-tree-container[_ngcontent-%COMP%] .node-name[_ngcontent-%COMP%]{margin-left:6px}.document-tree-container[_ngcontent-%COMP%] .node-name-document[_ngcontent-%COMP%], .document-tree-container[_ngcontent-%COMP%] .node-name-folder[_ngcontent-%COMP%]{margin-top:4px}.document-tree-container[_ngcontent-%COMP%] .document-count[_ngcontent-%COMP%]{color:#fff}"] });
282
165
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CaseFileViewFolderComponent, [{
283
166
  type: Component,
284
167
  args: [{
@@ -289,4 +172,4 @@ CaseFileViewFolderComponent.ɵcmp = i0.ɵɵdefineComponent({ type: CaseFileViewF
289
172
  }], function () { return []; }, { categoriesAndDocuments: [{
290
173
  type: Input
291
174
  }] }); })();
292
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7OztJQ0toRCwrQ0FBNEU7SUFDMUUsOEJBQWtCO0lBQ2hCLDRCQUNTO0lBQ1QsZ0NBQTJDO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQ2pFLGlCQUFNO0lBQ1IsaUJBQXVCOzs7SUFGd0IsZUFBYTtJQUFiLGtDQUFhOzs7SUFJNUQsK0NBQWtHO0lBQ2hHLDhCQUFrQjtJQUNoQixrQ0FBNkc7SUFDM0csZ0NBQTZCO0lBQUEsWUFBYztJQUFBLGlCQUFPO0lBQ3BELGlCQUFTO0lBQ1QsZ0NBQXlDO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQy9ELGlCQUFNO0lBQ04sMkJBQTJFO0lBQ3pFLDRCQUErQztJQUNqRCxp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QUcseUJBQXlCLENBQUM7c0dBRnZFLDJCQUEyQjtnRUFBM0IsMkJBQTJCO1FDZnhDLDhCQUF1QztRQUNyQyx5QkFBbUM7UUFDbkMsOEJBQTZCO1FBQUEseUJBQVM7UUFBQSxpQkFBTTtRQUM5QyxpQkFBTTtRQUNOLDhCQUFxQztRQUNuQyxtQ0FBNEU7UUFFMUUsOEdBTXVCO1FBRXZCLDhHQVV1QjtRQUN6QixpQkFBVztRQUNiLGlCQUFNOztRQXRCTSxlQUErQjtRQUEvQixpREFBK0Isc0NBQUE7UUFVVSxlQUFvQjtRQUFwQix1REFBb0I7O3VGREE1RCwyQkFBMkI7Y0FMdkMsU0FBUztlQUFDO2dCQUNULFFBQVEsRUFBRSwyQkFBMkI7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLHdDQUF3QyxDQUFDO2dCQUNyRCxXQUFXLEVBQUUsd0NBQXdDO2FBQ3REO3NDQUtpQixzQkFBc0I7a0JBQXJDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZXN0ZWRUcmVlQ29udHJvbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay90cmVlJztcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdDYXRlZ29yeSxcbiAgQ2FzZUZpbGVWaWV3RG9jdW1lbnQsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGVcbn0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vZG9tYWluL2Nhc2UtZmlsZS12aWV3JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY2NkLWNhc2UtZmlsZS12aWV3LWZvbGRlcicsXG4gIHN0eWxlVXJsczogWycuL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQuc2NzcyddLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBDYXNlRmlsZVZpZXdGb2xkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgVU5DQVRFR09SSVNFRF9ET0NVTUVOVFNfVElUTEUgPSAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudHMnO1xuXG4gIEBJbnB1dCgpIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzOiBPYnNlcnZhYmxlPENhdGVnb3JpZXNBbmREb2N1bWVudHM+O1xuXG4gIHB1YmxpYyBuZXN0ZWRUcmVlQ29udHJvbDogTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT47XG4gIHB1YmxpYyBuZXN0ZWREYXRhU291cmNlOiBEb2N1bWVudFRyZWVOb2RlW107XG4gIHB1YmxpYyBjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdID0gW107XG4gIHB1YmxpYyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbiA9IChub2RlOiBEb2N1bWVudFRyZWVOb2RlKSA9PiBvZihub2RlLmNoaWxkcmVuKTtcbiAgcHVibGljIG5lc3RlZENoaWxkcmVuID0gKF86IG51bWJlciwgbm9kZURhdGE6IERvY3VtZW50VHJlZU5vZGUpID0+IG5vZGVEYXRhLmNoaWxkcmVuO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzLnN1YnNjcmliZShjYXRlZ29yaWVzQW5kRG9jdW1lbnRzID0+IHtcbiAgICAgIC8vIFVzaW5nIHRoZSBtb2NrIGRhdGEgZm9yIG5vdyBhcyB3ZSBoYXZlIHRvIGRpc3BsYXkgdGhlIGRvY3VtZW50cyBhcyB3ZWxsIGZvciBkZW1vIHB1cnBvc2VcbiAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSB0aGlzLmxvYWRDYXRlZ29yaWVzKCk7IC8vIGNhdGVnb3JpZXNBbmREb2N1bWVudHMuY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIGNvbnN0IHRyZWVEYXRhID0gdGhpcy5nZW5lcmF0ZVRyZWVEYXRhKGNhdGVnb3JpZXMpO1xuICAgICAgLy8gQXBwZW5kIHVuY2F0ZWdvcmlzZWQgZG9jdW1lbnRzXG4gICAgICBpZiAoY2F0ZWdvcmllc0FuZERvY3VtZW50cy51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyAmJiBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzLnVuY2F0ZWdvcmlzZWRfZG9jdW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgdW5jYXRlZ29yaXNlZERvY3VtZW50cyA9IHRoaXMuZ2V0VW5jYXRlZ29yaXNlZERvY3VtZW50cyhjYXRlZ29yaWVzQW5kRG9jdW1lbnRzLnVuY2F0ZWdvcmlzZWRfZG9jdW1lbnRzKTtcbiAgICAgICAgdHJlZURhdGEucHVzaCh1bmNhdGVnb3Jpc2VkRG9jdW1lbnRzKTtcbiAgICAgIH1cbiAgICAgIC8vIEluaXRpYWxpc2UgY2RrIHRyZWUgd2l0aCBnZW5lcmF0ZWQgZGF0YVxuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gdHJlZURhdGE7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gY2F0ZWdvcmllcy5yZWR1Y2UoKHRyZWUsIG5vZGUpID0+IFtcbiAgICAgIC4uLnRyZWUsXG4gICAgICAuLi5bXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBub2RlLmNhdGVnb3J5X25hbWUsXG4gICAgICAgICAgY2hpbGRyZW46IFsuLi50aGlzLmdlbmVyYXRlVHJlZURhdGEobm9kZS5zdWJfY2F0ZWdvcmllcyksIC4uLnRoaXMuZ2V0RG9jdW1lbnRzKG5vZGUuZG9jdW1lbnRzKV1cbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgXSwgW10pO1xuICB9XG5cbiAgcHVibGljIGdldERvY3VtZW50cyhkb2N1bWVudHM6IENhc2VGaWxlVmlld0RvY3VtZW50W10pOiBEb2N1bWVudFRyZWVOb2RlW10ge1xuICAgIGNvbnN0IGRvY3VtZW50c1RvUmV0dXJuOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICBkb2N1bWVudHMuZm9yRWFjaChkb2N1bWVudCA9PiB7XG4gICAgICBkb2N1bWVudHNUb1JldHVybi5wdXNoKHsgbmFtZTogZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWUgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIGRvY3VtZW50c1RvUmV0dXJuO1xuICB9XG5cbiAgcHVibGljIGdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHModW5jYXRlZ29yaXNlZERvY3VtZW50czogQ2FzZUZpbGVWaWV3RG9jdW1lbnRbXSk6IERvY3VtZW50VHJlZU5vZGUge1xuICAgIGNvbnN0IGRvY3VtZW50czogRG9jdW1lbnRUcmVlTm9kZVtdID0gW107XG4gICAgdW5jYXRlZ29yaXNlZERvY3VtZW50cy5mb3JFYWNoKGRvY3VtZW50ID0+IHtcbiAgICAgIGRvY3VtZW50cy5wdXNoKHsgbmFtZTogZG9jdW1lbnQuZG9jdW1lbnRfZmlsZW5hbWUgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgbmFtZTogQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LlVOQ0FURUdPUklTRURfRE9DVU1FTlRTX1RJVExFLCBjaGlsZHJlbjogZG9jdW1lbnRzIH07XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGxvYWRDYXRlZ29yaWVzKCk6IENhc2VGaWxlVmlld0NhdGVnb3J5W10ge1xuICAgIHJldHVybiBbXG4gICAgICB7XG4gICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnMnLFxuICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQmVlcnMnLFxuICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAge1xuICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdCZWVycyBlbmN5Y2xvcGVkaWEnLFxuICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgXSxcbiAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQml0dGVycycsXG4gICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQml0dGVycycsXG4gICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnQmVlcnNBbWVyaWNhbicsXG4gICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQW1lcmljYW4nLFxuICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQXNpYW4nLFxuICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0FzaWFuJyxcbiAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaW5lcycsXG4gICAgICAgIGNhdGVnb3J5X25hbWU6ICdXaW5lcycsXG4gICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNGcmVuY2gnLFxuICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0ZyZW5jaCcsXG4gICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNJdGFsaWFuJyxcbiAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdJdGFsaWFuJyxcbiAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgIH1cbiAgICAgICAgXVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgY2F0ZWdvcnlfaWQ6ICdTcGlyaXRzJyxcbiAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwaXJpdHMnLFxuICAgICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1NwaXJpdHNXaGlza3knLFxuICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1Njb3RjaCB3aGlza3knLFxuICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5SGlnaGxhbmQnLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCcsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUhpZ2hsYW5kMScsXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdIaWdobGFuZCAxJyxcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIF1cbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5TG93bGFuZCcsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQnLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lMb3dsYW5kMScsXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdMb3dsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXG4gICAgICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfZmlsZW5hbWU6ICdEZXRhaWxzIGFib3V0IFdoaXNreSBMb3dsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUxvd2xhbmQyJyxcbiAgICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQgMicsXG4gICAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUlzbGF5JyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnSXNsYXknLFxuICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgICAgICAgIGRvY3VtZW50czogW1xuICAgICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBXaGlza3kgSXNsYXknLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ01vcmUgaW5mb3JtYXRpb24gYWJvdXQgV2hpc2t5IElzbGF5JyxcbiAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgICAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogJydcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lTcGV5c2lkZScsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwZXlzaWRlJyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogNCxcbiAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0NhbXBiZWx0b3duJyxcbiAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogNSxcbiAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICBdXG4gICAgICAgICAgfVxuICAgICAgICBdXG4gICAgICB9XG4gICAgXTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlci1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlclwiPjwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnRzLXRpdGxlXCI+RG9jdW1lbnRzPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJkb2N1bWVudC10cmVlLWNvbnRhaW5lclwiPlxuICA8Y2RrLXRyZWUgW2RhdGFTb3VyY2VdPVwibmVzdGVkRGF0YVNvdXJjZVwiIFt0cmVlQ29udHJvbF09XCJuZXN0ZWRUcmVlQ29udHJvbFwiPlxuICAgIDwhLS0gZG9jdW1lbnQgLS0+XG4gICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlXCIgY2xhc3M9XCJkb2N1bWVudC10cmVlLW5vZGVcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJub2RlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJpY29uIGljb24tZG9jdW1lbnRcIiBtYXQtaWNvbi1idXR0b24gZGlzYWJsZWQ+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGUtbmFtZSBub2RlLW5hbWUtZG9jdW1lbnRcIj57e25vZGUubmFtZX19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZGstbmVzdGVkLXRyZWUtbm9kZT5cbiAgICA8IS0tIGZvbGRlci0tPlxuICAgIDxjZGstbmVzdGVkLXRyZWUtbm9kZSAqY2RrVHJlZU5vZGVEZWY9XCJsZXQgbm9kZTsgd2hlbjogbmVzdGVkQ2hpbGRyZW5cIiBjbGFzcz1cImRvY3VtZW50LXRyZWUtbm9kZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm5vZGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24gaWNvbi1mb2xkZXJcIiBtYXQtaWNvbi1idXR0b24gW2F0dHIuYXJpYS1sYWJlbF09XCIndG9nZ2xlICcgKyBub2RlLm5hbWVcIiBjZGtUcmVlTm9kZVRvZ2dsZT5cbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImRvY3VtZW50LWNvdW50XCI+e3tub2RlLmNvdW50fX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm5vZGUtbmFtZSBub2RlLW5hbWUtZm9sZGVyXCI+e3tub2RlLm5hbWV9fTwvc3Bhbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBbY2xhc3MuZG9jdW1lbnQtdHJlZS1pbnZpc2libGVdPVwiIW5lc3RlZFRyZWVDb250cm9sLmlzRXhwYW5kZWQobm9kZSlcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBjZGtUcmVlTm9kZU91dGxldD48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvY2RrLW5lc3RlZC10cmVlLW5vZGU+XG4gIDwvY2RrLXRyZWU+XG48L2Rpdj5cbiJdfQ==
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L2NvbXBvbmVudHMvY2FzZS1maWxlLXZpZXctZm9sZGVyL2Nhc2UtZmlsZS12aWV3LWZvbGRlci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jY2QtY2FzZS11aS10b29sa2l0L3NyYy9saWIvc2hhcmVkL2NvbXBvbmVudHMvcGFsZXR0ZS9jYXNlLWZpbGUtdmlldy9jb21wb25lbnRzL2Nhc2UtZmlsZS12aWV3LWZvbGRlci9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDdEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQ3BELE9BQU8sRUFBb0MsU0FBUyxFQUFPLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEYsT0FBTyxFQUtMLG9CQUFvQixFQUNyQixNQUFNLHNDQUFzQyxDQUFDO0FBQzlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOzs7OztJQ0Z4RiwrQ0FBNEU7SUFDMUUsK0JBQWtCO0lBQ2hCLDZCQUNTO0lBQ1QsZ0NBQTJDO0lBQUEsWUFBYTtJQUFBLGlCQUFPO0lBQ2pFLGlCQUFNO0lBQ1IsaUJBQXVC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QTNHdUIseURBQTZCLEdBQUcseUJBQXlCLENBQUM7QUFDMUQsNkRBQWlDLEdBQUcsMkJBQTJCLENBQUM7QUFDaEUscURBQXlCLEdBQUcsQ0FBQyxDQUFDO3NHQUozQywyQkFBMkI7Z0VBQTNCLDJCQUEyQjtRQ25CeEMsOEJBQXVDO1FBQ3JDLDhCQUE4RTtRQUM1RSwyQkFBd0Q7UUFDeEQsMkJBQTRKO1FBQzlKLGlCQUFNO1FBQ04sOEJBQTZCO1FBQUEseUJBQVM7UUFBQSxpQkFBTTtRQUM5QyxpQkFBTTtRQUNOLDhCQUFxQztRQUNuQyxtQ0FBNEU7UUFFMUUsOEdBTXVCO1FBRXZCLDhHQVV1QjtRQUN6QixpQkFBVztRQUNiLGlCQUFNOztRQTdCb0MsZUFBcUM7UUFBckMsdURBQXFDO1FBT25FLGVBQStCO1FBQS9CLGlEQUErQixzQ0FBQTtRQVVVLGVBQW9CO1FBQXBCLHVEQUFvQjs7dUZEQzVELDJCQUEyQjtjQUx2QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDJCQUEyQjtnQkFDckMsU0FBUyxFQUFFLENBQUMsd0NBQXdDLENBQUM7Z0JBQ3JELFdBQVcsRUFBRSx3Q0FBd0M7YUFDdEQ7c0NBT2lCLHNCQUFzQjtrQkFBckMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5lc3RlZFRyZWVDb250cm9sIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3RyZWUnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkZWJvdW5jZVRpbWUsIGZpbHRlciwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge1xuICBDYXNlRmlsZVZpZXdDYXRlZ29yeSxcbiAgQ2FzZUZpbGVWaWV3RG9jdW1lbnQsXG4gIENhdGVnb3JpZXNBbmREb2N1bWVudHMsXG4gIERvY3VtZW50VHJlZU5vZGUsXG4gIERvY3VtZW50VHJlZU5vZGVUeXBlXG59IGZyb20gJy4uLy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldyc7XG5pbXBvcnQgeyBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzIH0gZnJvbSAnLi4vLi4vdGVzdC1kYXRhL2NhdGVnb3JpZXMtYW5kLWRvY3VtZW50cy10ZXN0LWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjY2QtY2FzZS1maWxlLXZpZXctZm9sZGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vY2FzZS1maWxlLXZpZXctZm9sZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9jYXNlLWZpbGUtdmlldy1mb2xkZXIuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIHN0YXRpYyByZWFkb25seSBVTkNBVEVHT1JJU0VEX0RPQ1VNRU5UU19USVRMRSA9ICdVbmNhdGVnb3Jpc2VkIGRvY3VtZW50cyc7XG4gIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IERPQ1VNRU5UX1NFQVJDSF9GT1JNX0NPTlRST0xfTkFNRSA9ICdkb2N1bWVudFNlYXJjaEZvcm1Db250cm9sJztcbiAgcHJpdmF0ZSBzdGF0aWMgcmVhZG9ubHkgTUlOSU1VTV9TRUFSQ0hfQ0hBUkFDVEVSUyA9IDI7XG5cbiAgQElucHV0KCkgcHVibGljIGNhdGVnb3JpZXNBbmREb2N1bWVudHM6IE9ic2VydmFibGU8Q2F0ZWdvcmllc0FuZERvY3VtZW50cz47XG5cbiAgcHVibGljIG5lc3RlZFRyZWVDb250cm9sOiBOZXN0ZWRUcmVlQ29udHJvbDxEb2N1bWVudFRyZWVOb2RlPjtcbiAgcHVibGljIG5lc3RlZERhdGFTb3VyY2U6IERvY3VtZW50VHJlZU5vZGVbXTtcbiAgcHVibGljIGNhdGVnb3JpZXM6IENhc2VGaWxlVmlld0NhdGVnb3J5W10gPSBbXTtcbiAgcHVibGljIGNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcbiAgcHVibGljIGRvY3VtZW50RmlsdGVyRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIHB1YmxpYyBkb2N1bWVudFNlYXJjaEZvcm1Db250cm9sOiBGb3JtQ29udHJvbDtcbiAgcHVibGljIGRvY3VtZW50VHJlZURhdGE6IERvY3VtZW50VHJlZU5vZGVbXTtcbiAgcHVibGljIGRvY3VtZW50RmlsdGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgcHJpdmF0ZSBnZXRDaGlsZHJlbiA9IChub2RlOiBEb2N1bWVudFRyZWVOb2RlKSA9PiBvZihub2RlLmNoaWxkcmVuKTtcbiAgcHVibGljIG5lc3RlZENoaWxkcmVuID0gKF86IG51bWJlciwgbm9kZURhdGE6IERvY3VtZW50VHJlZU5vZGUpID0+IG5vZGVEYXRhLmNoaWxkcmVuO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMubmVzdGVkVHJlZUNvbnRyb2wgPSBuZXcgTmVzdGVkVHJlZUNvbnRyb2w8RG9jdW1lbnRUcmVlTm9kZT4odGhpcy5nZXRDaGlsZHJlbik7XG4gIH1cblxuICBwdWJsaWMgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cCA9IG5ldyBGb3JtR3JvdXAoe30pO1xuICAgIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnJyk7XG4gICAgdGhpcy5kb2N1bWVudEZpbHRlckZvcm1Hcm91cC5hZGRDb250cm9sKENhc2VGaWxlVmlld0ZvbGRlckNvbXBvbmVudC5ET0NVTUVOVF9TRUFSQ0hfRk9STV9DT05UUk9MX05BTUUsIHRoaXMuZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbCk7XG5cbiAgICAvLyBMaXN0ZW4gdG8gc2VhcmNoIGlucHV0IGFuZCBpbml0aWF0ZSBmaWx0ZXIgZG9jdW1lbnRzIGlmIGF0IGxlYXN0IHRocmVlIGNoYXJhY3RlcnMgZW50ZXJlZFxuICAgIHRoaXMuZG9jdW1lbnRGaWx0ZXJTdWJzY3JpcHRpb24gPSB0aGlzLmRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2wudmFsdWVDaGFuZ2VzLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKHNlYXJjaFRlcm06IHN0cmluZykgPT4gdGhpcy5maWx0ZXIoc2VhcmNoVGVybS50b0xvd2VyQ2FzZSgpLCB0aGlzLmRvY3VtZW50VHJlZURhdGEpKVxuICAgICkuc3Vic2NyaWJlKGRvY3VtZW50VHJlZURhdGEgPT4ge1xuICAgICAgdGhpcy5uZXN0ZWREYXRhU291cmNlID0gZG9jdW1lbnRUcmVlRGF0YTtcbiAgICB9KTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgaW5wdXQgY2F0ZWdvcmllcyBhbmQgZG9jdW1lbnRzLCBhbmQgZ2VuZXJhdGUgdHJlZSBkYXRhIGFuZCBpbml0aWFsaXNlIGNkayB0cmVlXG4gICAgdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzU3Vic2NyaXB0aW9uID0gdGhpcy5jYXRlZ29yaWVzQW5kRG9jdW1lbnRzLnN1YnNjcmliZShjYXRlZ29yaWVzQW5kRG9jdW1lbnRzUmVzdWx0ID0+IHtcbiAgICAgIC8vIFVzaW5nIHRoZSBtb2NrIGRhdGEgZm9yIG5vdyBhcyB3ZSBoYXZlIHRvIGRpc3BsYXkgdGhlIGRvY3VtZW50cyBhcyB3ZWxsIGZvciBkZW1vIHB1cnBvc2VcbiAgICAgIGNvbnN0IGNhdGVnb3JpZXMgPSBjYXRlZ29yaWVzQW5kRG9jdW1lbnRzLmNhdGVnb3JpZXM7IC8vIGNhdGVnb3JpZXNBbmREb2N1bWVudHMuY2F0ZWdvcmllcztcbiAgICAgIC8vIEdlbmVyYXRlIGRvY3VtZW50IHRyZWUgZGF0YSBmcm9tIGNhdGVnb3JpZXNcbiAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YSA9IHRoaXMuZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzKTtcbiAgICAgIC8vIEFwcGVuZCB1bmNhdGVnb3Jpc2VkIGRvY3VtZW50c1xuICAgICAgaWYgKGNhdGVnb3JpZXNBbmREb2N1bWVudHNSZXN1bHQudW5jYXRlZ29yaXNlZF9kb2N1bWVudHMgJiYgY2F0ZWdvcmllc0FuZERvY3VtZW50c1Jlc3VsdC51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHVuY2F0ZWdvcmlzZWREb2N1bWVudHMgPSB0aGlzLmdldFVuY2F0ZWdvcmlzZWREb2N1bWVudHMoY2F0ZWdvcmllc0FuZERvY3VtZW50c1Jlc3VsdC51bmNhdGVnb3Jpc2VkX2RvY3VtZW50cyk7XG4gICAgICAgIHRoaXMuZG9jdW1lbnRUcmVlRGF0YS5wdXNoKHVuY2F0ZWdvcmlzZWREb2N1bWVudHMpO1xuICAgICAgfVxuICAgICAgLy8gSW5pdGlhbGlzZSBjZGsgdHJlZSB3aXRoIGdlbmVyYXRlZCBkYXRhXG4gICAgICB0aGlzLm5lc3RlZERhdGFTb3VyY2UgPSB0aGlzLmRvY3VtZW50VHJlZURhdGE7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2VuZXJhdGVUcmVlRGF0YShjYXRlZ29yaWVzOiBDYXNlRmlsZVZpZXdDYXRlZ29yeVtdKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICByZXR1cm4gY2F0ZWdvcmllcy5yZWR1Y2UoKHRyZWUsIG5vZGUpID0+IFtcbiAgICAgIC4uLnRyZWUsXG4gICAgICAuLi5bXG4gICAgICAgIHtcbiAgICAgICAgICBuYW1lOiBub2RlLmNhdGVnb3J5X25hbWUsXG4gICAgICAgICAgdHlwZTogRG9jdW1lbnRUcmVlTm9kZVR5cGUuRk9MREVSLFxuICAgICAgICAgIGNoaWxkcmVuOiBbLi4udGhpcy5nZW5lcmF0ZVRyZWVEYXRhKG5vZGUuc3ViX2NhdGVnb3JpZXMpLCAuLi50aGlzLmdldERvY3VtZW50cyhub2RlLmRvY3VtZW50cyldXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIF0sIFtdKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXREb2N1bWVudHMoZG9jdW1lbnRzOiBDYXNlRmlsZVZpZXdEb2N1bWVudFtdKTogRG9jdW1lbnRUcmVlTm9kZVtdIHtcbiAgICBjb25zdCBkb2N1bWVudHNUb1JldHVybjogRG9jdW1lbnRUcmVlTm9kZVtdID0gW107XG4gICAgZG9jdW1lbnRzLmZvckVhY2goZG9jdW1lbnQgPT4ge1xuICAgICAgZG9jdW1lbnRzVG9SZXR1cm4ucHVzaCh7IG5hbWU6IGRvY3VtZW50LmRvY3VtZW50X2ZpbGVuYW1lLCB0eXBlOiBEb2N1bWVudFRyZWVOb2RlVHlwZS5ET0NVTUVOVCB9KTtcbiAgICB9KTtcbiAgICByZXR1cm4gZG9jdW1lbnRzVG9SZXR1cm47XG4gIH1cblxuICBwdWJsaWMgZ2V0VW5jYXRlZ29yaXNlZERvY3VtZW50cyh1bmNhdGVnb3Jpc2VkRG9jdW1lbnRzOiBDYXNlRmlsZVZpZXdEb2N1bWVudFtdKTogRG9jdW1lbnRUcmVlTm9kZSB7XG4gICAgY29uc3QgZG9jdW1lbnRzOiBEb2N1bWVudFRyZWVOb2RlW10gPSBbXTtcbiAgICB1bmNhdGVnb3Jpc2VkRG9jdW1lbnRzLmZvckVhY2goZG9jdW1lbnQgPT4ge1xuICAgICAgZG9jdW1lbnRzLnB1c2goeyBuYW1lOiBkb2N1bWVudC5kb2N1bWVudF9maWxlbmFtZSwgdHlwZTogRG9jdW1lbnRUcmVlTm9kZVR5cGUuRE9DVU1FTlQgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHsgbmFtZTogQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LlVOQ0FURUdPUklTRURfRE9DVU1FTlRTX1RJVExFLCB0eXBlOiBEb2N1bWVudFRyZWVOb2RlVHlwZS5GT0xERVIsIGNoaWxkcmVuOiBkb2N1bWVudHMgfTtcbiAgfVxuXG4gIHB1YmxpYyBmaWx0ZXIoc2VhcmNoVGVybTogc3RyaW5nLCBkb2N1bWVudFRyZWVEYXRhOiBEb2N1bWVudFRyZWVOb2RlW10pOiBPYnNlcnZhYmxlPERvY3VtZW50VHJlZU5vZGVbXT4ge1xuICAgIC8vIE1ha2UgYSBjb3B5IG9mIHRoZSBkYXRhIHNvIHdlIGRvIG5vdCBtdXRhdGUgdGhlIG9yaWdpbmFsXG4gICAgZnVuY3Rpb24gY29weShub2RlOiBEb2N1bWVudFRyZWVOb2RlKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7fSwgbm9kZSk7XG4gICAgfVxuXG4gICAgbGV0IGZpbHRlcmVkRGF0YSA9IGRvY3VtZW50VHJlZURhdGE7XG4gICAgaWYgKHNlYXJjaFRlcm0gJiYgc2VhcmNoVGVybS5sZW5ndGggPiAyICYmIHRoaXMuZG9jdW1lbnRGaWx0ZXJGb3JtR3JvdXAuY29udHJvbHNbQ2FzZUZpbGVWaWV3Rm9sZGVyQ29tcG9uZW50LkRPQ1VNRU5UX1NFQVJDSF9GT1JNX0NPTlRST0xfTkFNRV0udmFsdWUubGVuZ3RoID4gMikge1xuICAgICAgZmlsdGVyZWREYXRhID0gZG9jdW1lbnRUcmVlRGF0YS5tYXAoY29weSkuZmlsdGVyKGZ1bmN0aW9uIGZpbHRlclRyZWVEYXRhKG5vZGU6IERvY3VtZW50VHJlZU5vZGUpIHtcbiAgICAgICAgaWYgKG5vZGUubmFtZSAmJiBub2RlLm5hbWUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hUZXJtKSAmJiBub2RlLnR5cGUgPT09IERvY3VtZW50VHJlZU5vZGVUeXBlLkRPQ1VNRU5UKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gQ2FsbCByZWN1cnNpdmVseSBpZiBub2RlIGhhcyBjaGlsZHJlblxuICAgICAgICBpZiAobm9kZS5jaGlsZHJlbikge1xuICAgICAgICAgIHJldHVybiAobm9kZS5jaGlsZHJlbiA9IG5vZGUuY2hpbGRyZW4ubWFwKGNvcHkpLmZpbHRlcihmaWx0ZXJUcmVlRGF0YSkpLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvZihmaWx0ZXJlZERhdGEpO1xuICB9XG5cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNhdGVnb3JpZXNBbmREb2N1bWVudHNTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRoaXMuY2F0ZWdvcmllc0FuZERvY3VtZW50c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5kb2N1bWVudEZpbHRlclN1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kb2N1bWVudEZpbHRlclN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIH1cbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImRvY3VtZW50LWZpbHRlci1jb250YWluZXJcIj5cbiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZG9jdW1lbnQtZmlsdGVyXCIgW2Zvcm1Hcm91cF09XCJkb2N1bWVudEZpbHRlckZvcm1Hcm91cFwiPlxuICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tbGFiZWxcIiBmb3I9XCJkb2N1bWVudC1zZWFyY2hcIj48L2xhYmVsPlxuICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY29udHJvbCBkb2N1bWVudC1zZWFyY2hcIiB0eXBlPVwic2VhcmNoXCIgaWQ9XCJkb2N1bWVudC1zZWFyY2hcIiBuYW1lPVwiZG9jdW1lbnRTZWFyY2hGb3JtQ29udHJvbFwiIGZvcm1Db250cm9sTmFtZT1cImRvY3VtZW50U2VhcmNoRm9ybUNvbnRyb2xcIj5cbiAgPC9kaXY+XG4gIDxkaXYgY2xhc3M9XCJkb2N1bWVudHMtdGl0bGVcIj5Eb2N1bWVudHM8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cImRvY3VtZW50LXRyZWUtY29udGFpbmVyXCI+XG4gIDxjZGstdHJlZSBbZGF0YVNvdXJjZV09XCJuZXN0ZWREYXRhU291cmNlXCIgW3RyZWVDb250cm9sXT1cIm5lc3RlZFRyZWVDb250cm9sXCI+XG4gICAgPCEtLSBkb2N1bWVudCAtLT5cbiAgICA8Y2RrLW5lc3RlZC10cmVlLW5vZGUgKmNka1RyZWVOb2RlRGVmPVwibGV0IG5vZGVcIiBjbGFzcz1cImRvY3VtZW50LXRyZWUtbm9kZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm5vZGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImljb24gaWNvbi1kb2N1bWVudFwiIG1hdC1pY29uLWJ1dHRvbiBkaXNhYmxlZD5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1uYW1lIG5vZGUtbmFtZS1kb2N1bWVudFwiPnt7bm9kZS5uYW1lfX08L3NwYW4+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Nkay1uZXN0ZWQtdHJlZS1ub2RlPlxuICAgIDwhLS0gZm9sZGVyLS0+XG4gICAgPGNkay1uZXN0ZWQtdHJlZS1ub2RlICpjZGtUcmVlTm9kZURlZj1cImxldCBub2RlOyB3aGVuOiBuZXN0ZWRDaGlsZHJlblwiIGNsYXNzPVwiZG9jdW1lbnQtdHJlZS1ub2RlXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibm9kZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiaWNvbiBpY29uLWZvbGRlclwiIG1hdC1pY29uLWJ1dHRvbiBbYXR0ci5hcmlhLWxhYmVsXT1cIid0b2dnbGUgJyArIG5vZGUubmFtZVwiIGNka1RyZWVOb2RlVG9nZ2xlPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZG9jdW1lbnQtY291bnRcIj57e25vZGUuY291bnR9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibm9kZS1uYW1lIG5vZGUtbmFtZS1mb2xkZXJcIj57e25vZGUubmFtZX19PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IFtjbGFzcy5kb2N1bWVudC10cmVlLWludmlzaWJsZV09XCIhbmVzdGVkVHJlZUNvbnRyb2wuaXNFeHBhbmRlZChub2RlKVwiPlxuICAgICAgICA8bmctY29udGFpbmVyIGNka1RyZWVOb2RlT3V0bGV0PjwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9jZGstbmVzdGVkLXRyZWUtbm9kZT5cbiAgPC9jZGstdHJlZT5cbjwvZGl2PlxuIl19
@@ -0,0 +1,178 @@
1
+ export const categoriesAndDocuments = {
2
+ case_version: 1,
3
+ categories: [
4
+ {
5
+ category_id: 'Beers',
6
+ category_name: 'Beers',
7
+ category_order: 1,
8
+ documents: [
9
+ {
10
+ document_url: '/test',
11
+ document_filename: 'Beers encyclopedia',
12
+ document_binary_url: '/test/binary',
13
+ attribute_path: '',
14
+ upload_timestamp: ''
15
+ }
16
+ ],
17
+ sub_categories: [
18
+ {
19
+ category_id: 'BeersBitters',
20
+ category_name: 'Bitters',
21
+ category_order: 1,
22
+ documents: [],
23
+ sub_categories: []
24
+ },
25
+ {
26
+ category_id: 'BeersAmerican',
27
+ category_name: 'American',
28
+ category_order: 2,
29
+ documents: [],
30
+ sub_categories: []
31
+ },
32
+ {
33
+ category_id: 'BeersAsian',
34
+ category_name: 'Asian',
35
+ category_order: 3,
36
+ documents: [],
37
+ sub_categories: []
38
+ }
39
+ ]
40
+ },
41
+ {
42
+ category_id: 'Wines',
43
+ category_name: 'Wines',
44
+ category_order: 2,
45
+ documents: [],
46
+ sub_categories: [
47
+ {
48
+ category_id: 'WinesFrench',
49
+ category_name: 'French',
50
+ category_order: 1,
51
+ documents: [],
52
+ sub_categories: []
53
+ },
54
+ {
55
+ category_id: 'WinesItalian',
56
+ category_name: 'Italian',
57
+ category_order: 2,
58
+ documents: [],
59
+ sub_categories: []
60
+ }
61
+ ]
62
+ },
63
+ {
64
+ category_id: 'Spirits',
65
+ category_name: 'Spirits',
66
+ category_order: 3,
67
+ documents: [],
68
+ sub_categories: [
69
+ {
70
+ category_id: 'SpiritsWhisky',
71
+ category_name: 'Scotch whisky',
72
+ category_order: 1,
73
+ documents: [],
74
+ sub_categories: [
75
+ {
76
+ category_id: 'WhiskyHighland',
77
+ category_name: 'Highland',
78
+ category_order: 1,
79
+ documents: [],
80
+ sub_categories: [
81
+ {
82
+ category_id: 'WhiskyHighland1',
83
+ category_name: 'Highland 1',
84
+ category_order: 1,
85
+ documents: [],
86
+ sub_categories: []
87
+ }
88
+ ]
89
+ },
90
+ {
91
+ category_id: 'WhiskyLowland',
92
+ category_name: 'Lowland',
93
+ category_order: 2,
94
+ documents: [],
95
+ sub_categories: [
96
+ {
97
+ category_id: 'WhiskyLowland1',
98
+ category_name: 'Lowland 1',
99
+ category_order: 1,
100
+ documents: [
101
+ {
102
+ document_url: '/test',
103
+ document_filename: 'Details about Whisky Lowland 1',
104
+ document_binary_url: '/test/binary',
105
+ attribute_path: '',
106
+ upload_timestamp: ''
107
+ }
108
+ ],
109
+ sub_categories: []
110
+ },
111
+ {
112
+ category_id: 'WhiskyLowland2',
113
+ category_name: 'Lowland 2',
114
+ category_order: 2,
115
+ documents: [],
116
+ sub_categories: []
117
+ }
118
+ ]
119
+ },
120
+ {
121
+ category_id: 'WhiskyIslay',
122
+ category_name: 'Islay',
123
+ category_order: 3,
124
+ documents: [
125
+ {
126
+ document_url: '/test',
127
+ document_filename: 'Details about Whisky Islay',
128
+ document_binary_url: '/test/binary',
129
+ attribute_path: '',
130
+ upload_timestamp: ''
131
+ },
132
+ {
133
+ document_url: '/test',
134
+ document_filename: 'More information about Whisky Islay',
135
+ document_binary_url: '/test/binary',
136
+ attribute_path: '',
137
+ upload_timestamp: ''
138
+ }
139
+ ],
140
+ sub_categories: []
141
+ },
142
+ {
143
+ category_id: 'WhiskySpeyside',
144
+ category_name: 'Speyside',
145
+ category_order: 4,
146
+ documents: [],
147
+ sub_categories: []
148
+ },
149
+ {
150
+ category_id: 'WhiskyCampbeltown',
151
+ category_name: 'Campbeltown',
152
+ category_order: 5,
153
+ documents: [],
154
+ sub_categories: []
155
+ }
156
+ ]
157
+ }
158
+ ]
159
+ }
160
+ ],
161
+ uncategorised_documents: [
162
+ {
163
+ document_url: '/uncategorised-document-1',
164
+ document_filename: 'Uncategorised document 1',
165
+ document_binary_url: '/test/binary',
166
+ attribute_path: '',
167
+ upload_timestamp: ''
168
+ },
169
+ {
170
+ document_url: '/uncategorised-document-2',
171
+ document_filename: 'Uncategorised document 2',
172
+ document_binary_url: '/test/binary',
173
+ attribute_path: '',
174
+ upload_timestamp: ''
175
+ }
176
+ ]
177
+ };
178
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2F0ZWdvcmllcy1hbmQtZG9jdW1lbnRzLXRlc3QtZGF0YS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NjZC1jYXNlLXVpLXRvb2xraXQvc3JjL2xpYi9zaGFyZWQvY29tcG9uZW50cy9wYWxldHRlL2Nhc2UtZmlsZS12aWV3L3Rlc3QtZGF0YS9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMtdGVzdC1kYXRhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUEyQjtJQUM1RCxZQUFZLEVBQUUsQ0FBQztJQUNmLFVBQVUsRUFBRTtRQUNWO1lBQ0UsV0FBVyxFQUFFLE9BQU87WUFDcEIsYUFBYSxFQUFFLE9BQU87WUFDdEIsY0FBYyxFQUFFLENBQUM7WUFDakIsU0FBUyxFQUFFO2dCQUNUO29CQUNFLFlBQVksRUFBRSxPQUFPO29CQUNyQixpQkFBaUIsRUFBRSxvQkFBb0I7b0JBQ3ZDLG1CQUFtQixFQUFFLGNBQWM7b0JBQ25DLGNBQWMsRUFBRSxFQUFFO29CQUNsQixnQkFBZ0IsRUFBRSxFQUFFO2lCQUNyQjthQUNGO1lBQ0QsY0FBYyxFQUFFO2dCQUNkO29CQUNFLFdBQVcsRUFBRSxjQUFjO29CQUMzQixhQUFhLEVBQUUsU0FBUztvQkFDeEIsY0FBYyxFQUFFLENBQUM7b0JBQ2pCLFNBQVMsRUFBRSxFQUFFO29CQUNiLGNBQWMsRUFBRSxFQUFFO2lCQUNuQjtnQkFDRDtvQkFDRSxXQUFXLEVBQUUsZUFBZTtvQkFDNUIsYUFBYSxFQUFFLFVBQVU7b0JBQ3pCLGNBQWMsRUFBRSxDQUFDO29CQUNqQixTQUFTLEVBQUUsRUFBRTtvQkFDYixjQUFjLEVBQUUsRUFBRTtpQkFDbkI7Z0JBQ0Q7b0JBQ0UsV0FBVyxFQUFFLFlBQVk7b0JBQ3pCLGFBQWEsRUFBRSxPQUFPO29CQUN0QixjQUFjLEVBQUUsQ0FBQztvQkFDakIsU0FBUyxFQUFFLEVB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RSxDQUFDOzRCQUNqQixTQUFTLEVBQUUsRUFBRTs0QkFDYixjQUFjLEVBQUUsRUFBRTt5QkFDbkI7d0JBQ0Q7NEJBQ0UsV0FBVyxFQUFFLG1CQUFtQjs0QkFDaEMsYUFBYSxFQUFFLGFBQWE7NEJBQzVCLGNBQWMsRUFBRSxDQUFDOzRCQUNqQixTQUFTLEVBQUUsRUFBRTs0QkFDYixjQUFjLEVBQUUsRUFBRTt5QkFDbkI7cUJBQ0Y7aUJBQ0Y7YUFDRjtTQUNGO0tBQ0Y7SUFDRCx1QkFBdUIsRUFBRTtRQUN2QjtZQUNFLFlBQVksRUFBRSwyQkFBMkI7WUFDekMsaUJBQWlCLEVBQUUsMEJBQTBCO1lBQzdDLG1CQUFtQixFQUFFLGNBQWM7WUFDbkMsY0FBYyxFQUFFLEVBQUU7WUFDbEIsZ0JBQWdCLEVBQUUsRUFBRTtTQUNyQjtRQUNEO1lBQ0UsWUFBWSxFQUFFLDJCQUEyQjtZQUN6QyxpQkFBaUIsRUFBRSwwQkFBMEI7WUFDN0MsbUJBQW1CLEVBQUUsY0FBYztZQUNuQyxjQUFjLEVBQUUsRUFBRTtZQUNsQixnQkFBZ0IsRUFBRSxFQUFFO1NBQ3JCO0tBQ0Y7Q0FDRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2F0ZWdvcmllc0FuZERvY3VtZW50cyB9IGZyb20gJy4uLy4uLy4uLy4uL2RvbWFpbi9jYXNlLWZpbGUtdmlldy9jYXRlZ29yaWVzLWFuZC1kb2N1bWVudHMubW9kZWwnO1xuXG5leHBvcnQgY29uc3QgY2F0ZWdvcmllc0FuZERvY3VtZW50czogQ2F0ZWdvcmllc0FuZERvY3VtZW50cyA9IHtcbiAgY2FzZV92ZXJzaW9uOiAxLFxuICBjYXRlZ29yaWVzOiBbXG4gICAge1xuICAgICAgY2F0ZWdvcnlfaWQ6ICdCZWVycycsXG4gICAgICBjYXRlZ29yeV9uYW1lOiAnQmVlcnMnLFxuICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICBkb2N1bWVudHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0JlZXJzIGVuY3ljbG9wZWRpYScsXG4gICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgIHVwbG9hZF90aW1lc3RhbXA6ICcnXG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdCZWVyc0JpdHRlcnMnLFxuICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdCaXR0ZXJzJyxcbiAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdCZWVyc0FtZXJpY2FuJyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnQW1lcmljYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ0JlZXJzQXNpYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdBc2lhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDMsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgfVxuICAgICAgXVxuICAgIH0sXG4gICAge1xuICAgICAgY2F0ZWdvcnlfaWQ6ICdXaW5lcycsXG4gICAgICBjYXRlZ29yeV9uYW1lOiAnV2luZXMnLFxuICAgICAgY2F0ZWdvcnlfb3JkZXI6IDIsXG4gICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgc3ViX2NhdGVnb3JpZXM6IFtcbiAgICAgICAge1xuICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2luZXNGcmVuY2gnLFxuICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdGcmVuY2gnLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAxLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBjYXRlZ29yeV9pZDogJ1dpbmVzSXRhbGlhbicsXG4gICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0l0YWxpYW4nLFxuICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9LFxuICAgIHtcbiAgICAgIGNhdGVnb3J5X2lkOiAnU3Bpcml0cycsXG4gICAgICBjYXRlZ29yeV9uYW1lOiAnU3Bpcml0cycsXG4gICAgICBjYXRlZ29yeV9vcmRlcjogMyxcbiAgICAgIGRvY3VtZW50czogW10sXG4gICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICB7XG4gICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdTcGlyaXRzV2hpc2t5JyxcbiAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnU2NvdGNoIHdoaXNreScsXG4gICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUhpZ2hsYW5kJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0hpZ2hsYW5kJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lIaWdobGFuZDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0hpZ2hsYW5kIDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDEsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreUxvd2xhbmQnLFxuICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnTG93bGFuZCcsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X2lkOiAnV2hpc2t5TG93bGFuZDEnLFxuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ0xvd2xhbmQgMScsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9vcmRlcjogMSxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50czogW1xuICAgICAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfdXJsOiAnL3Rlc3QnLFxuICAgICAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnRGV0YWlscyBhYm91dCBXaGlza3kgTG93bGFuZCAxJyxcbiAgICAgICAgICAgICAgICAgICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogJydcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lMb3dsYW5kMicsXG4gICAgICAgICAgICAgICAgICBjYXRlZ29yeV9uYW1lOiAnTG93bGFuZCAyJyxcbiAgICAgICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAyLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRzOiBbXSxcbiAgICAgICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lJc2xheScsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdJc2xheScsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiAzLFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF91cmw6ICcvdGVzdCcsXG4gICAgICAgICAgICAgICAgICBkb2N1bWVudF9maWxlbmFtZTogJ0RldGFpbHMgYWJvdXQgV2hpc2t5IElzbGF5JyxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgICAgICAgICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgICAgICAgICAgICAgdXBsb2FkX3RpbWVzdGFtcDogJydcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X3VybDogJy90ZXN0JyxcbiAgICAgICAgICAgICAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnTW9yZSBpbmZvcm1hdGlvbiBhYm91dCBXaGlza3kgSXNsYXknLFxuICAgICAgICAgICAgICAgICAgZG9jdW1lbnRfYmluYXJ5X3VybDogJy90ZXN0L2JpbmFyeScsXG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVfcGF0aDogJycsXG4gICAgICAgICAgICAgICAgICB1cGxvYWRfdGltZXN0YW1wOiAnJ1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgc3ViX2NhdGVnb3JpZXM6IFtdXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBjYXRlZ29yeV9pZDogJ1doaXNreVNwZXlzaWRlJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfbmFtZTogJ1NwZXlzaWRlJyxcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfb3JkZXI6IDQsXG4gICAgICAgICAgICAgIGRvY3VtZW50czogW10sXG4gICAgICAgICAgICAgIHN1Yl9jYXRlZ29yaWVzOiBbXVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgY2F0ZWdvcnlfaWQ6ICdXaGlza3lDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X25hbWU6ICdDYW1wYmVsdG93bicsXG4gICAgICAgICAgICAgIGNhdGVnb3J5X29yZGVyOiA1LFxuICAgICAgICAgICAgICBkb2N1bWVudHM6IFtdLFxuICAgICAgICAgICAgICBzdWJfY2F0ZWdvcmllczogW11cbiAgICAgICAgICAgIH1cbiAgICAgICAgICBdXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9XG4gIF0sXG4gIHVuY2F0ZWdvcmlzZWRfZG9jdW1lbnRzOiBbXG4gICAge1xuICAgICAgZG9jdW1lbnRfdXJsOiAnL3VuY2F0ZWdvcmlzZWQtZG9jdW1lbnQtMScsXG4gICAgICBkb2N1bWVudF9maWxlbmFtZTogJ1VuY2F0ZWdvcmlzZWQgZG9jdW1lbnQgMScsXG4gICAgICBkb2N1bWVudF9iaW5hcnlfdXJsOiAnL3Rlc3QvYmluYXJ5JyxcbiAgICAgIGF0dHJpYnV0ZV9wYXRoOiAnJyxcbiAgICAgIHVwbG9hZF90aW1lc3RhbXA6ICcnXG4gICAgfSxcbiAgICB7XG4gICAgICBkb2N1bWVudF91cmw6ICcvdW5jYXRlZ29yaXNlZC1kb2N1bWVudC0yJyxcbiAgICAgIGRvY3VtZW50X2ZpbGVuYW1lOiAnVW5jYXRlZ29yaXNlZCBkb2N1bWVudCAyJyxcbiAgICAgIGRvY3VtZW50X2JpbmFyeV91cmw6ICcvdGVzdC9iaW5hcnknLFxuICAgICAgYXR0cmlidXRlX3BhdGg6ICcnLFxuICAgICAgdXBsb2FkX3RpbWVzdGFtcDogJydcbiAgICB9XG4gIF1cbn07XG4iXX0=