@ecodev/natural 50.2.0 → 50.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/classes/apollo-utils.mjs +9 -4
- package/esm2020/lib/modules/dropdown-components/types.mjs +3 -3
- package/esm2020/lib/modules/relations/relations.component.mjs +9 -11
- package/esm2020/public-api.mjs +2 -2
- package/fesm2015/ecodev-natural.mjs +19 -15
- package/fesm2015/ecodev-natural.mjs.map +1 -1
- package/fesm2020/ecodev-natural.mjs +18 -15
- package/fesm2020/ecodev-natural.mjs.map +1 -1
- package/lib/classes/apollo-utils.d.ts +7 -3
- package/lib/modules/relations/relations.component.d.ts +3 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -1
|
@@ -6,7 +6,7 @@ function isFile(value) {
|
|
|
6
6
|
(typeof FileList !== 'undefined' && value instanceof FileList));
|
|
7
7
|
}
|
|
8
8
|
/**
|
|
9
|
-
* Detect if the given variables
|
|
9
|
+
* Detect if the given variables have a file to be uploaded or not, and
|
|
10
10
|
* also convert date to be serialized with their timezone.
|
|
11
11
|
*/
|
|
12
12
|
export function hasFilesAndProcessDate(variables) {
|
|
@@ -14,8 +14,7 @@ export function hasFilesAndProcessDate(variables) {
|
|
|
14
14
|
if (!isObject(variables)) {
|
|
15
15
|
return false;
|
|
16
16
|
}
|
|
17
|
-
Object.
|
|
18
|
-
const value = variables[key];
|
|
17
|
+
Object.values(variables).forEach(value => {
|
|
19
18
|
if (value instanceof Date) {
|
|
20
19
|
// Replace native toJSON() function by our own implementation
|
|
21
20
|
value.toJSON = () => formatIsoDateTime(value);
|
|
@@ -29,4 +28,10 @@ export function hasFilesAndProcessDate(variables) {
|
|
|
29
28
|
});
|
|
30
29
|
return fileFound;
|
|
31
30
|
}
|
|
32
|
-
|
|
31
|
+
/**
|
|
32
|
+
* Whether the given GraphQL document contains at least one mutation
|
|
33
|
+
*/
|
|
34
|
+
export function isMutation(query) {
|
|
35
|
+
return query.definitions.some(definition => definition.kind === 'OperationDefinition' && definition.operation === 'mutation');
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBvbGxvLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL2NsYXNzZXMvYXBvbGxvLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxXQUFXLENBQUM7QUFDbkMsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sV0FBVyxDQUFDO0FBRTVDLFNBQVMsTUFBTSxDQUFDLEtBQVU7SUFDdEIsT0FBTyxDQUNILENBQUMsT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLEtBQUssWUFBWSxJQUFJLENBQUM7UUFDdEQsQ0FBQyxPQUFPLElBQUksS0FBSyxXQUFXLElBQUksS0FBSyxZQUFZLElBQUksQ0FBQztRQUN0RCxDQUFDLE9BQU8sUUFBUSxLQUFLLFdBQVcsSUFBSSxLQUFLLFlBQVksUUFBUSxDQUFDLENBQ2pFLENBQUM7QUFDTixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFNBQWtCO0lBQ3JELElBQUksU0FBUyxHQUFHLEtBQUssQ0FBQztJQUN0QixJQUFJLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1FBQ3RCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDckMsSUFBSSxLQUFLLFlBQVksSUFBSSxFQUFFO1lBQ3ZCLDZEQUE2RDtZQUM3RCxLQUFLLENBQUMsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ2pEO1FBRUQsSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDZixTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO1FBRUQsSUFBSSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUMvQixTQUFTLEdBQUcsSUFBSSxDQUFDO1NBQ3BCO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLFNBQVMsQ0FBQztBQUNyQixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUFDLEtBQW1CO0lBQzFDLE9BQU8sS0FBSyxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQ3pCLFVBQVUsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksS0FBSyxxQkFBcUIsSUFBSSxVQUFVLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FDakcsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0RvY3VtZW50Tm9kZX0gZnJvbSAnQGFwb2xsby9jbGllbnQvY29yZSc7XG5pbXBvcnQge2lzT2JqZWN0fSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHtmb3JtYXRJc29EYXRlVGltZX0gZnJvbSAnLi91dGlsaXR5JztcblxuZnVuY3Rpb24gaXNGaWxlKHZhbHVlOiBhbnkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgICAodHlwZW9mIEZpbGUgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgRmlsZSkgfHxcbiAgICAgICAgKHR5cGVvZiBCbG9iICE9PSAndW5kZWZpbmVkJyAmJiB2YWx1ZSBpbnN0YW5jZW9mIEJsb2IpIHx8XG4gICAgICAgICh0eXBlb2YgRmlsZUxpc3QgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgRmlsZUxpc3QpXG4gICAgKTtcbn1cblxuLyoqXG4gKiBEZXRlY3QgaWYgdGhlIGdpdmVuIHZhcmlhYmxlcyBoYXZlIGEgZmlsZSB0byBiZSB1cGxvYWRlZCBvciBub3QsIGFuZFxuICogYWxzbyBjb252ZXJ0IGRhdGUgdG8gYmUgc2VyaWFsaXplZCB3aXRoIHRoZWlyIHRpbWV6b25lLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzRmlsZXNBbmRQcm9jZXNzRGF0ZSh2YXJpYWJsZXM6IHVua25vd24pOiBib29sZWFuIHtcbiAgICBsZXQgZmlsZUZvdW5kID0gZmFsc2U7XG4gICAgaWYgKCFpc09iamVjdCh2YXJpYWJsZXMpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBPYmplY3QudmFsdWVzKHZhcmlhYmxlcykuZm9yRWFjaCh2YWx1ZSA9PiB7XG4gICAgICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgICAgICAgIC8vIFJlcGxhY2UgbmF0aXZlIHRvSlNPTigpIGZ1bmN0aW9uIGJ5IG91ciBvd24gaW1wbGVtZW50YXRpb25cbiAgICAgICAgICAgIHZhbHVlLnRvSlNPTiA9ICgpID0+IGZvcm1hdElzb0RhdGVUaW1lKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpc0ZpbGUodmFsdWUpKSB7XG4gICAgICAgICAgICBmaWxlRm91bmQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGhhc0ZpbGVzQW5kUHJvY2Vzc0RhdGUodmFsdWUpKSB7XG4gICAgICAgICAgICBmaWxlRm91bmQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gZmlsZUZvdW5kO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgdGhlIGdpdmVuIEdyYXBoUUwgZG9jdW1lbnQgY29udGFpbnMgYXQgbGVhc3Qgb25lIG11dGF0aW9uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc011dGF0aW9uKHF1ZXJ5OiBEb2N1bWVudE5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gcXVlcnkuZGVmaW5pdGlvbnMuc29tZShcbiAgICAgICAgZGVmaW5pdGlvbiA9PiBkZWZpbml0aW9uLmtpbmQgPT09ICdPcGVyYXRpb25EZWZpbml0aW9uJyAmJiBkZWZpbml0aW9uLm9wZXJhdGlvbiA9PT0gJ211dGF0aW9uJyxcbiAgICApO1xufVxuIl19
|
|
@@ -31,11 +31,11 @@ export const possibleDiscreteOperators = [
|
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
key: 'any',
|
|
34
|
-
label: $localize `
|
|
34
|
+
label: $localize `avec`,
|
|
35
35
|
},
|
|
36
36
|
{
|
|
37
37
|
key: 'none',
|
|
38
|
-
label: $localize `
|
|
38
|
+
label: $localize `sans`,
|
|
39
39
|
},
|
|
40
40
|
];
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uYXR1cmFsL3NyYy9saWIvbW9kdWxlcy9kcm9wZG93bi1jb21wb25lbnRzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFpQztJQUNyRTtRQUNJLEdBQUcsRUFBRSxNQUFNO1FBQ1gsS0FBSyxFQUFFLEdBQUc7S0FDYjtJQUNEO1FBQ0ksR0FBRyxFQUFFLGFBQWE7UUFDbEIsS0FBSyxFQUFFLEdBQUc7S0FDYjtJQUNEO1FBQ0ksR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsR0FBRztLQUNiO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLEtBQUssRUFBRSxHQUFHO0tBQ2I7SUFDRDtRQUNJLEdBQUcsRUFBRSxTQUFTO1FBQ2QsS0FBSyxFQUFFLEdBQUc7S0FDYjtDQUNKLENBQUM7QUFTRixNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBK0I7SUFDakU7UUFDSSxHQUFHLEVBQUUsSUFBSTtRQUNULEtBQUssRUFBRSxTQUFTLENBQUEsS0FBSztLQUN4QjtJQUNEO1FBQ0ksR0FBRyxFQUFFLE9BQU87UUFDWixLQUFLLEVBQUUsU0FBUyxDQUFBLFdBQVc7S0FDOUI7SUFDRDtRQUNJLEdBQUcsRUFBRSxLQUFLO1FBQ1YsS0FBSyxFQUFFLFNBQVMsQ0FBQSxNQUFNO0tBQ3pCO0lBQ0Q7UUFDSSxHQUFHLEVBQUUsTUFBTTtRQUNYLEtBQUssRUFBRSxTQUFTLENBQUEsTUFBTTtLQUN6QjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0ZpbHRlckdyb3VwQ29uZGl0aW9uRmllbGR9IGZyb20gJy4uL3NlYXJjaC9jbGFzc2VzL2dyYXBocWwtZG9jdHJpbmUudHlwZXMnO1xuXG5leHBvcnQgdHlwZSBQb3NzaWJsZUNvbXBhcmFibGVPcGVydG9yS2V5cyA9IGtleW9mIFBpY2s8XG4gICAgRmlsdGVyR3JvdXBDb25kaXRpb25GaWVsZCxcbiAgICAnbGVzcycgfCAnbGVzc09yRXF1YWwnIHwgJ2VxdWFsJyB8ICdncmVhdGVyT3JFcXVhbCcgfCAnZ3JlYXRlcidcbj47XG5cbmV4cG9ydCBpbnRlcmZhY2UgUG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3Ige1xuICAgIGtleTogUG9zc2libGVDb21wYXJhYmxlT3BlcnRvcktleXM7XG4gICAgbGFiZWw6IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IHBvc3NpYmxlQ29tcGFyYWJsZU9wZXJhdG9yczogUG9zc2libGVDb21wYXJhYmxlT3BlcmF0b3JbXSA9IFtcbiAgICB7XG4gICAgICAgIGtleTogJ2xlc3MnLFxuICAgICAgICBsYWJlbDogJzwnLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdsZXNzT3JFcXVhbCcsXG4gICAgICAgIGxhYmVsOiAn4omkJyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnZXF1YWwnLFxuICAgICAgICBsYWJlbDogJz0nLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdncmVhdGVyT3JFcXVhbCcsXG4gICAgICAgIGxhYmVsOiAn4omlJyxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnZ3JlYXRlcicsXG4gICAgICAgIGxhYmVsOiAnPicsXG4gICAgfSxcbl07XG5cbmV4cG9ydCB0eXBlIFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvcktleXMgPSAnaXMnIHwgJ2lzbm90JyB8ICdhbnknIHwgJ25vbmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBvc3NpYmxlRGlzY3JldGVPcGVyYXRvciB7XG4gICAga2V5OiBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JLZXlzO1xuICAgIGxhYmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjb25zdCBwb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JzOiBQb3NzaWJsZURpc2NyZXRlT3BlcmF0b3JbXSA9IFtcbiAgICB7XG4gICAgICAgIGtleTogJ2lzJyxcbiAgICAgICAgbGFiZWw6ICRsb2NhbGl6ZWBlc3RgLFxuICAgIH0sXG4gICAge1xuICAgICAgICBrZXk6ICdpc25vdCcsXG4gICAgICAgIGxhYmVsOiAkbG9jYWxpemVgbidlc3QgcGFzYCxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnYW55JyxcbiAgICAgICAgbGFiZWw6ICRsb2NhbGl6ZWBhdmVjYCxcbiAgICB9LFxuICAgIHtcbiAgICAgICAga2V5OiAnbm9uZScsXG4gICAgICAgIGxhYmVsOiAkbG9jYWxpemVgc2Fuc2AsXG4gICAgfSxcbl07XG4iXX0=
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ContentChild, EventEmitter, Input, Output, TemplateRef, ViewChild, } from '@angular/core';
|
|
2
|
-
import { forkJoin,
|
|
2
|
+
import { forkJoin, tap } from 'rxjs';
|
|
3
3
|
import { NaturalAbstractController } from '../../classes/abstract-controller';
|
|
4
4
|
import { NaturalDataSource } from '../../classes/data-source';
|
|
5
5
|
import { NaturalQueryVariablesManager } from '../../classes/query-variable-manager';
|
|
@@ -38,6 +38,9 @@ export class NaturalRelationsComponent extends NaturalAbstractController {
|
|
|
38
38
|
* Whether the relations can be changed
|
|
39
39
|
*/
|
|
40
40
|
this.disabled = false;
|
|
41
|
+
/**
|
|
42
|
+
* Emits after relations were successfully added on the server
|
|
43
|
+
*/
|
|
41
44
|
this.selectionChange = new EventEmitter();
|
|
42
45
|
this.loading = false;
|
|
43
46
|
/**
|
|
@@ -99,17 +102,12 @@ export class NaturalRelationsComponent extends NaturalAbstractController {
|
|
|
99
102
|
* TODO : could maybe use "update" attribute of apollo.mutate function to update table faster (but hard to do it here)
|
|
100
103
|
*/
|
|
101
104
|
addRelations(relations) {
|
|
102
|
-
const observables =
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
.filter((relation) => !!relation && typeof relation === 'object')
|
|
106
|
-
.map(relation => this.linkMutationService.link(this.main, relation, this.otherName)),
|
|
107
|
-
];
|
|
105
|
+
const observables = relations
|
|
106
|
+
.filter((relation) => !!relation && typeof relation === 'object')
|
|
107
|
+
.map(relation => this.linkMutationService.link(this.main, relation, this.otherName));
|
|
108
108
|
forkJoin(observables).subscribe(() => {
|
|
109
109
|
this.selectionChange.emit();
|
|
110
|
-
|
|
111
|
-
this.select.clear();
|
|
112
|
-
}
|
|
110
|
+
this.select?.clear();
|
|
113
111
|
});
|
|
114
112
|
}
|
|
115
113
|
pagination(event) {
|
|
@@ -209,4 +207,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
209
207
|
}], filter: [{
|
|
210
208
|
type: Input
|
|
211
209
|
}] } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9yZWxhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvcmVsYXRpb25zL3JlbGF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUN2QyxPQUFPLEVBQUMseUJBQXlCLEVBQUMsTUFBTSxtQ0FBbUMsQ0FBQztBQUM1RSxPQUFPLEVBQUMsaUJBQWlCLEVBQWdCLE1BQU0sMkJBQTJCLENBQUM7QUFDM0UsT0FBTyxFQUFDLDRCQUE0QixFQUFrQyxNQUFNLHNDQUFzQyxDQUFDO0FBTW5ILE9BQU8sRUFBQyxzQkFBc0IsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3pFLE9BQU8sRUFBQyxRQUFRLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFJbkQ7Ozs7Ozs7R0FPRztBQU9ILE1BQU0sT0FBTyx5QkFjVCxTQUFRLHlCQUF5QjtJQTBFakMsWUFDcUIsbUJBQStDLEVBQy9DLHdCQUFnRTtRQUVqRixLQUFLLEVBQUUsQ0FBQztRQUhTLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBNEI7UUFDL0MsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUF3QztRQXBFckY7O1dBRUc7UUFDYSxnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQVlqQzs7V0FFRztRQUNh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QUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7WUFDdEMsS0FBSyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxPQUFPO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUM3RixDQUFDOztzSEEvT1EseUJBQXlCOzBHQUF6Qix5QkFBeUIsa2VBa0JwQixXQUFXLHdGQURkLHNCQUFzQiw0RkMxRHJDLDZwRkFrRUE7MkZEekJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSxtQkFBbUI7c0tBcUJjLE1BQU07c0JBQWhELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNDLFlBQVk7c0JBQTdDLFlBQVk7dUJBQUMsV0FBVztnQkFFVCxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsMEJBQTBCO3NCQUF6QyxLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQUVvQixlQUFlO3NCQUF4QyxNQUFNO2dCQUtTLHlCQUF5QjtzQkFBeEMsS0FBSztnQkFLVSx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBS1UsU0FBUztzQkFBeEIsS0FBSztnQkF3Q0ssTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhZ2VFdmVudH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7Zm9ya0pvaW4sIG9mLCB0YXB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RDb250cm9sbGVyfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Fic3RyYWN0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHtOYXR1cmFsRGF0YVNvdXJjZSwgUGFnaW5hdGVkRGF0YX0gZnJvbSAnLi4vLi4vY2xhc3Nlcy9kYXRhLXNvdXJjZSc7XG5pbXBvcnQge05hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIsIFBhZ2luYXRpb25JbnB1dCwgUXVlcnlWYXJpYWJsZXN9IGZyb20gJy4uLy4uL2NsYXNzZXMvcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5pbXBvcnQge0hpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vLi4vbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL2NsYXNzZXMvaGllcmFyY2hpYy1maWx0ZXJzLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHtMaW5rYWJsZU9iamVjdCwgTmF0dXJhbExpbmtNdXRhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xpbmstbXV0YXRpb24uc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxIaWVyYXJjaGljQ29uZmlndXJhdGlvbn0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9jbGFzc2VzL2hpZXJhcmNoaWMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0hpZXJhcmNoaWNEaWFsb2dDb25maWd9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuY29tcG9uZW50JztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2V9IGZyb20gJy4uL2hpZXJhcmNoaWMtc2VsZWN0b3IvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cvaGllcmFyY2hpYy1zZWxlY3Rvci1kaWFsb2cuc2VydmljZSc7XG5pbXBvcnQge05hdHVyYWxTZWxlY3RDb21wb25lbnR9IGZyb20gJy4uL3NlbGVjdC9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XG5pbXBvcnQge2ZpbmFsaXplLCB0YWtlVW50aWx9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7TmF0dXJhbEFic3RyYWN0TW9kZWxTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmltcG9ydCB7RXh0cmFjdFRhbGxPbmUsIEV4dHJhY3RWYWxsfSBmcm9tICcuLi8uLi90eXBlcy90eXBlcyc7XG5cbi8qKlxuICogQ3VzdG9tIHRlbXBsYXRlIHVzYWdlIDpcbiAqIDxuYXR1cmFsLXJlbGF0aW9ucyBbbWFpbl09XCJvd25lclwiIFtzZXJ2aWNlXT1cInN2Y1wiIFtmaWx0ZXJdPVwie31cIiBwbGFjZWhvbGRlcj1cIlNlbGVjdCBhbiBpdGVtXCI+XG4gKiAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiPlxuICogICAgICAgICA8c3Bhbj57eyBpdGVtLnh4eCB9fTwvc3Bhbj5cbiAqICAgICA8L25nLXRlbXBsYXRlPlxuICogPC9uYXR1cmFsLXJlbGF0aW9ucz5cbiAqL1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ25hdHVyYWwtcmVsYXRpb25zJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vcmVsYXRpb25zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9yZWxhdGlvbnMuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmF0dXJhbFJlbGF0aW9uc0NvbXBvbmVudDxcbiAgICAgICAgVFNlcnZpY2UgZXh0ZW5kcyBOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2U8XG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgUGFnaW5hdGVkRGF0YTxMaW5rYWJsZU9iamVjdD4sXG4gICAgICAgICAgICBRdWVyeVZhcmlhYmxlcyxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55LFxuICAgICAgICAgICAgdW5rbm93bixcbiAgICAgICAgICAgIGFueVxuICAgICAgICA+LFxuICAgID5cbiAgICBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXJcbiAgICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgICBAVmlld0NoaWxkKE5hdHVyYWxTZWxlY3RDb21wb25lbnQpIHByaXZhdGUgc2VsZWN0PzogTmF0dXJhbFNlbGVjdENvbXBvbmVudDxUU2VydmljZT47XG4gICAgQENvbnRlbnRDaGlsZChUZW1wbGF0ZVJlZikgcHVibGljIGl0ZW1UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPHVua25vd24+O1xuXG4gICAgQElucHV0KCkgcHVibGljIHNlcnZpY2U/OiBUU2VydmljZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBwbGFjZWhvbGRlciB1c2VkIGluIHRoZSBidXR0b24gdG8gYWRkIGEgbmV3IHJlbGF0aW9uXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXIgZm9yIGF1dG9jb21wbGV0ZSBzZWxlY3RvclxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBhdXRvY29tcGxldGVTZWxlY3RvckZpbHRlcj86IEV4dHJhY3RWYWxsPFRTZXJ2aWNlPlsnZmlsdGVyJ10gfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdG8gY3VzdG9taXplIHRoZSByZW5kZXJpbmcgb2YgdGhlIHNlbGVjdGVkIGl0ZW0gYXMgdGV4dCBpbiBpbnB1dFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5V2l0aD86IChpdGVtOiBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4gfCBudWxsKSA9PiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRoZSByZWxhdGlvbnMgY2FuIGJlIGNoYW5nZWRcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSBtYWluIG9iamVjdCB0byB3aGljaCBhbGwgcmVsYXRpb25zIGJlbG9uZyB0b1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBtYWluITogTGlua2FibGVPYmplY3QgJiB7cGVybWlzc2lvbnM/OiB7dXBkYXRlOiBib29sZWFufX07XG5cbiAgICBAT3V0cHV0KCkgcHVibGljIHJlYWRvbmx5IHNlbGVjdGlvbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICAgIC8qKlxuICAgICAqIEZpbHRlcnMgZm9yIGhpZXJhcmNoaWMgc2VsZWN0b3JcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaGllcmFyY2hpY1NlbGVjdG9yRmlsdGVycz86IEhpZXJhcmNoaWNGaWx0ZXJzQ29uZmlndXJhdGlvbiB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBDb25maWd1cmF0aW9uIGluIGNhc2Ugd2UgcHJlZmVyIGhpZXJhcmNoaWMgc2VsZWN0aW9uIG92ZXIgYXV0b2NvbXBsZXRlIHNlbGVjdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBoaWVyYXJjaGljU2VsZWN0b3JDb25maWc/OiBOYXR1cmFsSGllcmFyY2hpY0NvbmZpZ3VyYXRpb25bXTtcblxuICAgIC8qKlxuICAgICAqIExpbmsgbXV0YXRpb24gc2VtYW50aWNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgb3RoZXJOYW1lPzogc3RyaW5nIHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIExpc3Rpbmcgc2VydmljZSBpbnN0YW5jZVxuICAgICAqL1xuICAgIHB1YmxpYyBkYXRhU291cmNlPzogTmF0dXJhbERhdGFTb3VyY2U8UGFnaW5hdGVkRGF0YTxMaW5rYWJsZU9iamVjdD4+O1xuICAgIHB1YmxpYyBsb2FkaW5nID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBUYWJsZSBjb2x1bW5zXG4gICAgICovXG4gICAgcHVibGljIGRpc3BsYXllZENvbHVtbnMgPSBbJ25hbWUnXTtcblxuICAgIHB1YmxpYyByZWFkb25seSBwYWdlU2l6ZU9wdGlvbnMgPSBbNSwgMjUsIDUwLCAxMDBdO1xuICAgIHByb3RlY3RlZCByZWFkb25seSBkZWZhdWx0UGFnaW5hdGlvbiA9IHtcbiAgICAgICAgcGFnZUluZGV4OiAwLFxuICAgICAgICBwYWdlU2l6ZTogMjUsXG4gICAgfTtcblxuICAgIC8qKlxuICAgICAqIE9ic2VydmFibGUgdmFyaWFibGVzL29wdGlvbnMgZm9yIGxpc3Rpbmcgc2VydmljZSB1c2FnZSBhbmQgYXBvbGxvIHdhdGNoUXVlcnlcbiAgICAgKi9cbiAgICBwcml2YXRlIHZhcmlhYmxlc01hbmFnZXI6IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXI8UXVlcnlWYXJpYWJsZXM+ID0gbmV3IE5hdHVyYWxRdWVyeVZhcmlhYmxlc01hbmFnZXIoKTtcblxuICAgIHB1YmxpYyByZWFkb25seSByZW1vdmluZyA9IG5ldyBTZXQ8TGlua2FibGVPYmplY3Q+KCk7XG5cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgbGlua011dGF0aW9uU2VydmljZTogTmF0dXJhbExpbmtNdXRhdGlvblNlcnZpY2UsXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgaGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nOiBOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZmlsdGVyIHVzZWQgdG8gZmlsdGVyIHJlbGF0aW9uc1xuICAgICAqXG4gICAgICogU28gaWYgdGhlIHJlbGF0aW9ucyBhcmUgZnJvbSBvbmUgYWN0aW9uIC0+IHRvIG1hbnkgb2JqZWN0aXZlcywgdGhlbiB0aGUgZmlsdGVyIG11c3QgZmlsdGVyXG4gICAgICogdGhlIG9iamVjdGl2ZXMgdGhhdCBoYXZlIGluZGVlZCBhIHJlbGF0aW9uIHRvIHRoZSBwYXJ0aWN1bGFyIGFjdGlvbi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzZXQgZmlsdGVyKGZpbHRlcjogRXh0cmFjdFZhbGw8VFNlcnZpY2U+WydmaWx0ZXInXSkge1xuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdyZWxhdGlvbnMtZmlsdGVyJywge2ZpbHRlcjogZmlsdGVyfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnBhZ2luYXRpb24oKTtcblxuICAgICAgICAvLyBGb3JjZSBkaXNhYmxlZCBpZiBjYW5ub3QgdXBkYXRlIG9iamVjdFxuICAgICAgICBpZiAodGhpcy5tYWluICYmIHRoaXMubWFpbi5wZXJtaXNzaW9ucykge1xuICAgICAgICAgICAgdGhpcy5kaXNhYmxlZCA9IHRoaXMuZGlzYWJsZWQgfHwgIXRoaXMubWFpbi5wZXJtaXNzaW9ucy51cGRhdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnNlcnZpY2UpIHtcbiAgICAgICAgICAgIHRoaXMucXVlcnlJdGVtcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgJiYgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmluZGV4T2YoJ3VubGluaycpID4gLTEpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5wb3AoKTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5kaXNhYmxlZCAmJiB0aGlzLmRpc3BsYXllZENvbHVtbnMuaW5kZXhPZigndW5saW5rJykgPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucHVzaCgndW5saW5rJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBVbmxpbmsgYWN0aW9uXG4gICAgICogUmVmZXRjaCByZXN1bHQgdG8gZGlzcGxheSBpdCBpbiB0YWJsZVxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVSZWxhdGlvbihyZWxhdGlvbjogTGlua2FibGVPYmplY3QpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZW1vdmluZy5hZGQocmVsYXRpb24pO1xuXG4gICAgICAgIHRoaXMubGlua011dGF0aW9uU2VydmljZVxuICAgICAgICAgICAgLnVubGluayh0aGlzLm1haW4sIHJlbGF0aW9uLCB0aGlzLm90aGVyTmFtZSlcbiAgICAgICAgICAgIC5waXBlKGZpbmFsaXplKCgpID0+IHRoaXMucmVtb3ZpbmcuZGVsZXRlKHJlbGF0aW9uKSkpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuZGF0YVNvdXJjZT8ucmVtb3ZlKHJlbGF0aW9uKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogTGluayBhY3Rpb25cbiAgICAgKiBSZWZldGNoIHJlc3VsdCB0byBkaXNwbGF5IGl0IGluIHRhYmxlXG4gICAgICogVE9ETyA6IGNvdWxkIG1heWJlIHVzZSBcInVwZGF0ZVwiIGF0dHJpYnV0ZSBvZiBhcG9sbG8ubXV0YXRlIGZ1bmN0aW9uIHRvIHVwZGF0ZSB0YWJsZSBmYXN0ZXIgKGJ1dCBoYXJkIHRvIGRvIGl0IGhlcmUpXG4gICAgICovXG4gICAgcHVibGljIGFkZFJlbGF0aW9ucyhyZWxhdGlvbnM6IChMaW5rYWJsZU9iamVjdCB8IEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPiB8IHN0cmluZyB8IG51bGwpW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgb2JzZXJ2YWJsZXMgPSBbXG4gICAgICAgICAgICBvZihudWxsKSxcbiAgICAgICAgICAgIC4uLnJlbGF0aW9uc1xuICAgICAgICAgICAgICAgIC5maWx0ZXIoKHJlbGF0aW9uKTogcmVsYXRpb24gaXMgTGlua2FibGVPYmplY3QgPT4gISFyZWxhdGlvbiAmJiB0eXBlb2YgcmVsYXRpb24gPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgICAgIC5tYXAocmVsYXRpb24gPT4gdGhpcy5saW5rTXV0YXRpb25TZXJ2aWNlLmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpKSxcbiAgICAgICAgXTtcblxuICAgICAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnNlbGVjdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0LmNsZWFyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBwYWdpbmF0aW9uKGV2ZW50PzogUGFnZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGxldCBwYWdpbmF0aW9uOiBQYWdpbmF0aW9uSW5wdXQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgZXZlbnQgJiZcbiAgICAgICAgICAgIChldmVudC5wYWdlSW5kZXggIT09IHRoaXMuZGVmYXVsdFBhZ2luYXRpb24ucGFnZUluZGV4IHx8IGV2ZW50LnBhZ2VTaXplICE9PSB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uLnBhZ2VTaXplKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHBhZ2luYXRpb24gPSB7XG4gICAgICAgICAgICAgICAgcGFnZUluZGV4OiBldmVudC5wYWdlSW5kZXgsXG4gICAgICAgICAgICAgICAgcGFnZVNpemU6IGV2ZW50LnBhZ2VTaXplLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudmFyaWFibGVzTWFuYWdlci5zZXQoJ3BhZ2luYXRpb24nLCB7cGFnaW5hdGlvbjogcGFnaW5hdGlvbiA/IHBhZ2luYXRpb24gOiB0aGlzLmRlZmF1bHRQYWdpbmF0aW9ufSk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldERpc3BsYXlGbigpOiAoaXRlbTogRXh0cmFjdFRhbGxPbmU8VFNlcnZpY2U+IHwgbnVsbCkgPT4gc3RyaW5nIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzcGxheVdpdGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmRpc3BsYXlXaXRoO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIChpdGVtOiBhbnkpID0+IChpdGVtID8gaXRlbS5mdWxsTmFtZSB8fCBpdGVtLm5hbWUgOiAnJyk7XG4gICAgfVxuXG4gICAgcHVibGljIG9wZW5OYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBzZWxlY3RBdEtleSA9IHRoaXMuZ2V0U2VsZWN0S2V5KCk7XG5cbiAgICAgICAgaWYgKCFzZWxlY3RBdEtleSB8fCAhdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkID0ge307XG5cbiAgICAgICAgY29uc3QgaGllcmFyY2hpY0NvbmZpZzogSGllcmFyY2hpY0RpYWxvZ0NvbmZpZyA9IHtcbiAgICAgICAgICAgIGhpZXJhcmNoaWNDb25maWc6IHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnLFxuICAgICAgICAgICAgaGllcmFyY2hpY1NlbGVjdGlvbjogc2VsZWN0ZWQsXG4gICAgICAgICAgICBoaWVyYXJjaGljRmlsdGVyczogdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JGaWx0ZXJzLFxuICAgICAgICAgICAgbXVsdGlwbGU6IHRydWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JEaWFsb2dcbiAgICAgICAgICAgIC5vcGVuKGhpZXJhcmNoaWNDb25maWcpXG4gICAgICAgICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgICAgICAgLnN1YnNjcmliZShyZXN1bHQgPT4ge1xuICAgICAgICAgICAgICAgIGlmIChyZXN1bHQgJiYgcmVzdWx0LmhpZXJhcmNoaWNTZWxlY3Rpb24gIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBzZWxlY3Rpb24gPSByZXN1bHQuaGllcmFyY2hpY1NlbGVjdGlvbltzZWxlY3RBdEtleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChzZWxlY3Rpb24ubGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmFkZFJlbGF0aW9ucyhzZWxlY3Rpb24pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGxpc3QgZnJvbSBkYXRhYmFzZVxuICAgICAqL1xuICAgIHByaXZhdGUgcXVlcnlJdGVtcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLnNlcnZpY2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XG4gICAgICAgIGNvbnN0IHF1ZXJ5UmVmID0gdGhpcy5zZXJ2aWNlLndhdGNoQWxsKHRoaXMudmFyaWFibGVzTWFuYWdlcikucGlwZShcbiAgICAgICAgICAgIHRha2VVbnRpbCh0aGlzLm5nVW5zdWJzY3JpYmUpLFxuICAgICAgICAgICAgdGFwKHtcbiAgICAgICAgICAgICAgICBuZXh0OiAoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgICAgIGVycm9yOiAoKSA9PiAodGhpcy5sb2FkaW5nID0gZmFsc2UpLFxuICAgICAgICAgICAgfSksXG4gICAgICAgICk7XG4gICAgICAgIHRoaXMuZGF0YVNvdXJjZSA9IG5ldyBOYXR1cmFsRGF0YVNvdXJjZShxdWVyeVJlZik7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RLZXkoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgaWYgKCF0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnLmZpbHRlcihjID0+ICEhYy5zZWxlY3RhYmxlQXRLZXkpWzBdLnNlbGVjdGFibGVBdEtleTtcbiAgICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYm9keVwiPlxuICAgIDxuZy10ZW1wbGF0ZSAjZGVmYXVsdE5hbWVDZWxsIGxldC1pdGVtPVwiaXRlbVwiPlxuICAgICAgICB7eyBnZXREaXNwbGF5Rm4oKShpdGVtKSB9fVxuICAgIDwvbmctdGVtcGxhdGU+XG5cbiAgICA8dGFibGUgKm5nSWY9XCJkYXRhU291cmNlXCIgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZVwiIGNsYXNzPVwibmF0dXJhbC1yb3ctY2xpY2tcIiBtYXQtdGFibGU+XG4gICAgICAgIDx0ciAqbWF0SGVhZGVyUm93RGVmPVwiZGlzcGxheWVkQ29sdW1uc1wiIG1hdC1oZWFkZXItcm93IHN0eWxlPVwiZGlzcGxheTogbm9uZVwiPjwvdHI+XG4gICAgICAgIDx0ciAqbWF0Um93RGVmPVwibGV0IHJvdzsgY29sdW1uczogZGlzcGxheWVkQ29sdW1uc1wiIG1hdC1yb3c+PC90cj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cIm5hbWVcIj5cbiAgICAgICAgICAgIDx0aCAqbWF0SGVhZGVyQ2VsbERlZiBpMThuIG1hdC1oZWFkZXItY2VsbD5UaXRyZTwvdGg+XG4gICAgICAgICAgICA8dGQgKm1hdENlbGxEZWY9XCJsZXQgaXRlbVwiIG1hdC1jZWxsPlxuICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IGl0ZW19XCJcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVRlbXBsYXRlID8gaXRlbVRlbXBsYXRlIDogZGVmYXVsdE5hbWVDZWxsXCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgIDxuZy1jb250YWluZXIgbWF0Q29sdW1uRGVmPVwidW5saW5rXCI+XG4gICAgICAgICAgICA8dGggKm1hdEhlYWRlckNlbGxEZWYgbWF0LWhlYWRlci1jZWxsPjwvdGg+XG4gICAgICAgICAgICA8dGQgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiIG1hdC1jZWxsPlxuICAgICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAgICAgKm5nSWY9XCIhZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwicmVtb3ZlUmVsYXRpb24oZWxlbWVudClcIlxuICAgICAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwicmVtb3ZpbmcuaGFzKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I9XCJ3YXJuXCJcbiAgICAgICAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGkxOG4tbWF0VG9vbHRpcFxuICAgICAgICAgICAgICAgICAgICBtYXRUb29sdGlwPVwiRGlzc29jaWVyXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxtYXQtaWNvbiBuYXR1cmFsSWNvbj1cImxpbmtfb2ZmXCI+PC9tYXQtaWNvbj5cbiAgICAgICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwvdGQ+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvdGFibGU+XG5cbiAgICA8bWF0LXBhZ2luYXRvclxuICAgICAgICAocGFnZSk9XCJwYWdpbmF0aW9uKCRldmVudClcIlxuICAgICAgICAqbmdJZj1cImRhdGFTb3VyY2U/LmRhdGEgJiYgKGRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCB8fCAwKSA+IChkYXRhU291cmNlPy5kYXRhPy5wYWdlU2l6ZSB8fCAwKVwiXG4gICAgICAgIFtsZW5ndGhdPVwiZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoIHx8IDBcIlxuICAgICAgICBbcGFnZUluZGV4XT1cImRhdGFTb3VyY2U/LmRhdGE/LnBhZ2VJbmRleCB8fCAwXCJcbiAgICAgICAgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdlU2l6ZU9wdGlvbnNcIlxuICAgICAgICBbcGFnZVNpemVdPVwiZGF0YVNvdXJjZT8uZGF0YT8ucGFnZVNpemUgfHwgMFwiXG4gICAgPjwvbWF0LXBhZ2luYXRvcj5cblxuICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZyAmJiBkYXRhU291cmNlPy5kYXRhPy5sZW5ndGggPT09IDBcIiBjbGFzcz1cIm1hcmdpbi12IG1hdC1ib2R5XCI+XG4gICAgICAgIDxzcGFuIGkxOG4+QXVjdW4gcsOpc3VsdGF0PC9zcGFuPlxuICAgIDwvZGl2PlxuXG4gICAgPG1hdC1wcm9ncmVzcy1zcGlubmVyICpuZ0lmPVwibG9hZGluZ1wiIFtkaWFtZXRlcl09XCI0MFwiIGNsYXNzPVwibG9hZGluZ1wiIG1vZGU9XCJpbmRldGVybWluYXRlXCI+PC9tYXQtcHJvZ3Jlc3Mtc3Bpbm5lcj5cbjwvZGl2PlxuXG48bmF0dXJhbC1zZWxlY3RcbiAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cImFkZFJlbGF0aW9ucyhbJGV2ZW50XSlcIlxuICAgICpuZ0lmPVwiIWhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZyAmJiBzZXJ2aWNlICYmICFkaXNhYmxlZFwiXG4gICAgW2Rpc3BsYXlXaXRoXT1cIiRhbnkoZ2V0RGlzcGxheUZuKCkpXCJcbiAgICBbZmlsdGVyXT1cImF1dG9jb21wbGV0ZVNlbGVjdG9yRmlsdGVyXCJcbiAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgIFtzZXJ2aWNlXT1cInNlcnZpY2VcIlxuICAgIFtzaG93SWNvbl09XCJmYWxzZVwiXG4+PC9uYXR1cmFsLXNlbGVjdD5cblxuPGRpdiAqbmdJZj1cImhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZyAmJiAhZGlzYWJsZWRcIj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJvcGVuTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvcigpXCIgY29sb3I9XCJwcmltYXJ5XCIgbWF0LWZsYXQtYnV0dG9uPnt7IHBsYWNlaG9sZGVyIH19PC9idXR0b24+XG48L2Rpdj5cbiJdfQ==
|
|
210
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVsYXRpb25zLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9yZWxhdGlvbnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmF0dXJhbC9zcmMvbGliL21vZHVsZXMvcmVsYXRpb25zL3JlbGF0aW9ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsU0FBUyxFQUNULFlBQVksRUFDWixZQUFZLEVBQ1osS0FBSyxFQUlMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxRQUFRLEVBQUUsR0FBRyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBQyx5QkFBeUIsRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQzVFLE9BQU8sRUFBQyxpQkFBaUIsRUFBZ0IsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRSxPQUFPLEVBQUMsNEJBQTRCLEVBQWtDLE1BQU0sc0NBQXNDLENBQUM7QUFNbkgsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFDekUsT0FBTyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7OztBQUluRDs7Ozs7OztHQU9HO0FBT0gsTUFBTSxPQUFPLHlCQWNULFNBQVEseUJBQXlCO0lBNkVqQyxZQUNxQixtQkFBK0MsRUFDL0Msd0JBQWdFO1FBRWpGLEtBQUssRUFBRSxDQUFDO1FBSFMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUE0QjtRQUMvQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQXdDO1FBdkVyRjs7V0FFRztRQUNhLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBWWpDOztXQUVHO1FBQ2EsYUFBUSxHQUFH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R0FBRyxLQUFLLENBQUM7U0FDdEMsQ0FBQyxDQUNMLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksaUJBQWlCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVPLFlBQVk7UUFDaEIsSUFBSSxDQUFDLElBQUksQ0FBQyx3QkFBd0IsRUFBRTtZQUNoQyxPQUFPO1NBQ1Y7UUFFRCxPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQztJQUM3RixDQUFDOztzSEE3T1EseUJBQXlCOzBHQUF6Qix5QkFBeUIsa2VBa0JwQixXQUFXLHdGQURkLHNCQUFzQiw0RkMxRHJDLDZwRkFrRUE7MkZEekJhLHlCQUF5QjtrQkFMckMsU0FBUzsrQkFDSSxtQkFBbUI7c0tBcUJjLE1BQU07c0JBQWhELFNBQVM7dUJBQUMsc0JBQXNCO2dCQUNDLFlBQVk7c0JBQTdDLFlBQVk7dUJBQUMsV0FBVztnQkFFVCxPQUFPO3NCQUF0QixLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsMEJBQTBCO3NCQUF6QyxLQUFLO2dCQUtVLFdBQVc7c0JBQTFCLEtBQUs7Z0JBS1UsUUFBUTtzQkFBdkIsS0FBSztnQkFLVSxJQUFJO3NCQUFuQixLQUFLO2dCQUtvQixlQUFlO3NCQUF4QyxNQUFNO2dCQUtTLHlCQUF5QjtzQkFBeEMsS0FBSztnQkFLVSx3QkFBd0I7c0JBQXZDLEtBQUs7Z0JBS1UsU0FBUztzQkFBeEIsS0FBSztnQkF3Q0ssTUFBTTtzQkFEaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ29tcG9uZW50LFxuICAgIENvbnRlbnRDaGlsZCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSW5wdXQsXG4gICAgT25DaGFuZ2VzLFxuICAgIE9uRGVzdHJveSxcbiAgICBPbkluaXQsXG4gICAgT3V0cHV0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1BhZ2VFdmVudH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcGFnaW5hdG9yJztcbmltcG9ydCB7Zm9ya0pvaW4sIHRhcH0gZnJvbSAncnhqcyc7XG5pbXBvcnQge05hdHVyYWxBYnN0cmFjdENvbnRyb2xsZXJ9IGZyb20gJy4uLy4uL2NsYXNzZXMvYWJzdHJhY3QtY29udHJvbGxlcic7XG5pbXBvcnQge05hdHVyYWxEYXRhU291cmNlLCBQYWdpbmF0ZWREYXRhfSBmcm9tICcuLi8uLi9jbGFzc2VzL2RhdGEtc291cmNlJztcbmltcG9ydCB7TmF0dXJhbFF1ZXJ5VmFyaWFibGVzTWFuYWdlciwgUGFnaW5hdGlvbklucHV0LCBRdWVyeVZhcmlhYmxlc30gZnJvbSAnLi4vLi4vY2xhc3Nlcy9xdWVyeS12YXJpYWJsZS1tYW5hZ2VyJztcbmltcG9ydCB7SGllcmFyY2hpY0ZpbHRlcnNDb25maWd1cmF0aW9ufSBmcm9tICcuLi8uLi9tb2R1bGVzL2hpZXJhcmNoaWMtc2VsZWN0b3IvY2xhc3Nlcy9oaWVyYXJjaGljLWZpbHRlcnMtY29uZmlndXJhdGlvbic7XG5pbXBvcnQge0xpbmthYmxlT2JqZWN0LCBOYXR1cmFsTGlua011dGF0aW9uU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGluay1tdXRhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9ufSBmcm9tICcuLi9oaWVyYXJjaGljLXNlbGVjdG9yL2NsYXNzZXMvaGllcmFyY2hpYy1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7SGllcmFyY2hpY0RpYWxvZ0NvbmZpZ30gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5jb21wb25lbnQnO1xuaW1wb3J0IHtOYXR1cmFsSGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nU2VydmljZX0gZnJvbSAnLi4vaGllcmFyY2hpYy1zZWxlY3Rvci9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy9oaWVyYXJjaGljLXNlbGVjdG9yLWRpYWxvZy5zZXJ2aWNlJztcbmltcG9ydCB7TmF0dXJhbFNlbGVjdENvbXBvbmVudH0gZnJvbSAnLi4vc2VsZWN0L3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7ZmluYWxpemUsIHRha2VVbnRpbH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHtOYXR1cmFsQWJzdHJhY3RNb2RlbFNlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Fic3RyYWN0LW1vZGVsLnNlcnZpY2UnO1xuaW1wb3J0IHtFeHRyYWN0VGFsbE9uZSwgRXh0cmFjdFZhbGx9IGZyb20gJy4uLy4uL3R5cGVzL3R5cGVzJztcblxuLyoqXG4gKiBDdXN0b20gdGVtcGxhdGUgdXNhZ2UgOlxuICogPG5hdHVyYWwtcmVsYXRpb25zIFttYWluXT1cIm93bmVyXCIgW3NlcnZpY2VdPVwic3ZjXCIgW2ZpbHRlcl09XCJ7fVwiIHBsYWNlaG9sZGVyPVwiU2VsZWN0IGFuIGl0ZW1cIj5cbiAqICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW09XCJpdGVtXCI+XG4gKiAgICAgICAgIDxzcGFuPnt7IGl0ZW0ueHh4IH19PC9zcGFuPlxuICogICAgIDwvbmctdGVtcGxhdGU+XG4gKiA8L25hdHVyYWwtcmVsYXRpb25zPlxuICovXG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnbmF0dXJhbC1yZWxhdGlvbnMnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9yZWxhdGlvbnMuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3JlbGF0aW9ucy5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBOYXR1cmFsUmVsYXRpb25zQ29tcG9uZW50PFxuICAgICAgICBUU2VydmljZSBleHRlbmRzIE5hdHVyYWxBYnN0cmFjdE1vZGVsU2VydmljZTxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICBQYWdpbmF0ZWREYXRhPExpbmthYmxlT2JqZWN0PixcbiAgICAgICAgICAgIFF1ZXJ5VmFyaWFibGVzLFxuICAgICAgICAgICAgdW5rbm93bixcbiAgICAgICAgICAgIGFueSxcbiAgICAgICAgICAgIHVua25vd24sXG4gICAgICAgICAgICBhbnksXG4gICAgICAgICAgICB1bmtub3duLFxuICAgICAgICAgICAgYW55XG4gICAgICAgID4sXG4gICAgPlxuICAgIGV4dGVuZHMgTmF0dXJhbEFic3RyYWN0Q29udHJvbGxlclxuICAgIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveVxue1xuICAgIEBWaWV3Q2hpbGQoTmF0dXJhbFNlbGVjdENvbXBvbmVudCkgcHJpdmF0ZSBzZWxlY3Q/OiBOYXR1cmFsU2VsZWN0Q29tcG9uZW50PFRTZXJ2aWNlPjtcbiAgICBAQ29udGVudENoaWxkKFRlbXBsYXRlUmVmKSBwdWJsaWMgaXRlbVRlbXBsYXRlPzogVGVtcGxhdGVSZWY8dW5rbm93bj47XG5cbiAgICBASW5wdXQoKSBwdWJsaWMgc2VydmljZT86IFRTZXJ2aWNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHBsYWNlaG9sZGVyIHVzZWQgaW4gdGhlIGJ1dHRvbiB0byBhZGQgYSBuZXcgcmVsYXRpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgcGxhY2Vob2xkZXIgPSAnJztcblxuICAgIC8qKlxuICAgICAqIEZpbHRlciBmb3IgYXV0b2NvbXBsZXRlIHNlbGVjdG9yXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGF1dG9jb21wbGV0ZVNlbGVjdG9yRmlsdGVyPzogRXh0cmFjdFZhbGw8VFNlcnZpY2U+WydmaWx0ZXInXSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICAvKipcbiAgICAgKiBGdW5jdGlvbiB0byBjdXN0b21pemUgdGhlIHJlbmRlcmluZyBvZiB0aGUgc2VsZWN0ZWQgaXRlbSBhcyB0ZXh0IGluIGlucHV0XG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGRpc3BsYXlXaXRoPzogKGl0ZW06IEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPiB8IG51bGwpID0+IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdGhlIHJlbGF0aW9ucyBjYW4gYmUgY2hhbmdlZFxuICAgICAqL1xuICAgIEBJbnB1dCgpIHB1YmxpYyBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG1haW4gb2JqZWN0IHRvIHdoaWNoIGFsbCByZWxhdGlvbnMgYmVsb25nIHRvXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG1haW4hOiBMaW5rYWJsZU9iamVjdCAmIHtwZXJtaXNzaW9ucz86IHt1cGRhdGU6IGJvb2xlYW59fTtcblxuICAgIC8qKlxuICAgICAqIEVtaXRzIGFmdGVyIHJlbGF0aW9ucyB3ZXJlIHN1Y2Nlc3NmdWxseSBhZGRlZCBvbiB0aGUgc2VydmVyXG4gICAgICovXG4gICAgQE91dHB1dCgpIHB1YmxpYyByZWFkb25seSBzZWxlY3Rpb25DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG5cbiAgICAvKipcbiAgICAgKiBGaWx0ZXJzIGZvciBoaWVyYXJjaGljIHNlbGVjdG9yXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGhpZXJhcmNoaWNTZWxlY3RvckZpbHRlcnM/OiBIaWVyYXJjaGljRmlsdGVyc0NvbmZpZ3VyYXRpb24gfCBudWxsO1xuXG4gICAgLyoqXG4gICAgICogQ29uZmlndXJhdGlvbiBpbiBjYXNlIHdlIHByZWZlciBoaWVyYXJjaGljIHNlbGVjdGlvbiBvdmVyIGF1dG9jb21wbGV0ZSBzZWxlY3Rpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnPzogTmF0dXJhbEhpZXJhcmNoaWNDb25maWd1cmF0aW9uW107XG5cbiAgICAvKipcbiAgICAgKiBMaW5rIG11dGF0aW9uIHNlbWFudGljXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIG90aGVyTmFtZT86IHN0cmluZyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBMaXN0aW5nIHNlcnZpY2UgaW5zdGFuY2VcbiAgICAgKi9cbiAgICBwdWJsaWMgZGF0YVNvdXJjZT86IE5hdHVyYWxEYXRhU291cmNlPFBhZ2luYXRlZERhdGE8TGlua2FibGVPYmplY3Q+PjtcbiAgICBwdWJsaWMgbG9hZGluZyA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogVGFibGUgY29sdW1uc1xuICAgICAqL1xuICAgIHB1YmxpYyBkaXNwbGF5ZWRDb2x1bW5zID0gWyduYW1lJ107XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcGFnZVNpemVPcHRpb25zID0gWzUsIDI1LCA1MCwgMTAwXTtcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgZGVmYXVsdFBhZ2luYXRpb24gPSB7XG4gICAgICAgIHBhZ2VJbmRleDogMCxcbiAgICAgICAgcGFnZVNpemU6IDI1LFxuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBPYnNlcnZhYmxlIHZhcmlhYmxlcy9vcHRpb25zIGZvciBsaXN0aW5nIHNlcnZpY2UgdXNhZ2UgYW5kIGFwb2xsbyB3YXRjaFF1ZXJ5XG4gICAgICovXG4gICAgcHJpdmF0ZSB2YXJpYWJsZXNNYW5hZ2VyOiBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyPFF1ZXJ5VmFyaWFibGVzPiA9IG5ldyBOYXR1cmFsUXVlcnlWYXJpYWJsZXNNYW5hZ2VyKCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVtb3ZpbmcgPSBuZXcgU2V0PExpbmthYmxlT2JqZWN0PigpO1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGxpbmtNdXRhdGlvblNlcnZpY2U6IE5hdHVyYWxMaW5rTXV0YXRpb25TZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIHJlYWRvbmx5IGhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZzogTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvckRpYWxvZ1NlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIGZpbHRlciB1c2VkIHRvIGZpbHRlciByZWxhdGlvbnNcbiAgICAgKlxuICAgICAqIFNvIGlmIHRoZSByZWxhdGlvbnMgYXJlIGZyb20gb25lIGFjdGlvbiAtPiB0byBtYW55IG9iamVjdGl2ZXMsIHRoZW4gdGhlIGZpbHRlciBtdXN0IGZpbHRlclxuICAgICAqIHRoZSBvYmplY3RpdmVzIHRoYXQgaGF2ZSBpbmRlZWQgYSByZWxhdGlvbiB0byB0aGUgcGFydGljdWxhciBhY3Rpb24uXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgc2V0IGZpbHRlcihmaWx0ZXI6IEV4dHJhY3RWYWxsPFRTZXJ2aWNlPlsnZmlsdGVyJ10pIHtcbiAgICAgICAgdGhpcy52YXJpYWJsZXNNYW5hZ2VyLnNldCgncmVsYXRpb25zLWZpbHRlcicsIHtmaWx0ZXI6IGZpbHRlcn0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wYWdpbmF0aW9uKCk7XG5cbiAgICAgICAgLy8gRm9yY2UgZGlzYWJsZWQgaWYgY2Fubm90IHVwZGF0ZSBvYmplY3RcbiAgICAgICAgaWYgKHRoaXMubWFpbiAmJiB0aGlzLm1haW4ucGVybWlzc2lvbnMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlzYWJsZWQgPSB0aGlzLmRpc2FibGVkIHx8ICF0aGlzLm1haW4ucGVybWlzc2lvbnMudXBkYXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5zZXJ2aWNlKSB7XG4gICAgICAgICAgICB0aGlzLnF1ZXJ5SXRlbXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkICYmIHRoaXMuZGlzcGxheWVkQ29sdW1ucy5pbmRleE9mKCd1bmxpbmsnKSA+IC0xKSB7XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXllZENvbHVtbnMucG9wKCk7XG4gICAgICAgIH0gZWxzZSBpZiAoIXRoaXMuZGlzYWJsZWQgJiYgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLmluZGV4T2YoJ3VubGluaycpID09PSAtMSkge1xuICAgICAgICAgICAgdGhpcy5kaXNwbGF5ZWRDb2x1bW5zLnB1c2goJ3VubGluaycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVW5saW5rIGFjdGlvblxuICAgICAqIFJlZmV0Y2ggcmVzdWx0IHRvIGRpc3BsYXkgaXQgaW4gdGFibGVcbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlUmVsYXRpb24ocmVsYXRpb246IExpbmthYmxlT2JqZWN0KTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVtb3ZpbmcuYWRkKHJlbGF0aW9uKTtcblxuICAgICAgICB0aGlzLmxpbmtNdXRhdGlvblNlcnZpY2VcbiAgICAgICAgICAgIC51bmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpXG4gICAgICAgICAgICAucGlwZShmaW5hbGl6ZSgoKSA9PiB0aGlzLnJlbW92aW5nLmRlbGV0ZShyZWxhdGlvbikpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmRhdGFTb3VyY2U/LnJlbW92ZShyZWxhdGlvbikpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIExpbmsgYWN0aW9uXG4gICAgICogUmVmZXRjaCByZXN1bHQgdG8gZGlzcGxheSBpdCBpbiB0YWJsZVxuICAgICAqIFRPRE8gOiBjb3VsZCBtYXliZSB1c2UgXCJ1cGRhdGVcIiBhdHRyaWJ1dGUgb2YgYXBvbGxvLm11dGF0ZSBmdW5jdGlvbiB0byB1cGRhdGUgdGFibGUgZmFzdGVyIChidXQgaGFyZCB0byBkbyBpdCBoZXJlKVxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRSZWxhdGlvbnMocmVsYXRpb25zOiAoTGlua2FibGVPYmplY3QgfCBFeHRyYWN0VGFsbE9uZTxUU2VydmljZT4gfCBzdHJpbmcgfCBudWxsKVtdKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG9ic2VydmFibGVzID0gcmVsYXRpb25zXG4gICAgICAgICAgICAuZmlsdGVyKChyZWxhdGlvbik6IHJlbGF0aW9uIGlzIExpbmthYmxlT2JqZWN0ID0+ICEhcmVsYXRpb24gJiYgdHlwZW9mIHJlbGF0aW9uID09PSAnb2JqZWN0JylcbiAgICAgICAgICAgIC5tYXAocmVsYXRpb24gPT4gdGhpcy5saW5rTXV0YXRpb25TZXJ2aWNlLmxpbmsodGhpcy5tYWluLCByZWxhdGlvbiwgdGhpcy5vdGhlck5hbWUpKTtcblxuICAgICAgICBmb3JrSm9pbihvYnNlcnZhYmxlcykuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0aW9uQ2hhbmdlLmVtaXQoKTtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0Py5jbGVhcigpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcGFnaW5hdGlvbihldmVudD86IFBhZ2VFdmVudCk6IHZvaWQge1xuICAgICAgICBsZXQgcGFnaW5hdGlvbjogUGFnaW5hdGlvbklucHV0IHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAgIGV2ZW50ICYmXG4gICAgICAgICAgICAoZXZlbnQucGFnZUluZGV4ICE9PSB0aGlzLmRlZmF1bHRQYWdpbmF0aW9uLnBhZ2VJbmRleCB8fCBldmVudC5wYWdlU2l6ZSAhPT0gdGhpcy5kZWZhdWx0UGFnaW5hdGlvbi5wYWdlU2l6ZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgICBwYWdpbmF0aW9uID0ge1xuICAgICAgICAgICAgICAgIHBhZ2VJbmRleDogZXZlbnQucGFnZUluZGV4LFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiBldmVudC5wYWdlU2l6ZSxcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnZhcmlhYmxlc01hbmFnZXIuc2V0KCdwYWdpbmF0aW9uJywge3BhZ2luYXRpb246IHBhZ2luYXRpb24gPyBwYWdpbmF0aW9uIDogdGhpcy5kZWZhdWx0UGFnaW5hdGlvbn0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXREaXNwbGF5Rm4oKTogKGl0ZW06IEV4dHJhY3RUYWxsT25lPFRTZXJ2aWNlPiB8IG51bGwpID0+IHN0cmluZyB7XG4gICAgICAgIGlmICh0aGlzLmRpc3BsYXlXaXRoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5V2l0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiAoaXRlbTogYW55KSA9PiAoaXRlbSA/IGl0ZW0uZnVsbE5hbWUgfHwgaXRlbS5uYW1lIDogJycpO1xuICAgIH1cblxuICAgIHB1YmxpYyBvcGVuTmF0dXJhbEhpZXJhcmNoaWNTZWxlY3RvcigpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2VsZWN0QXRLZXkgPSB0aGlzLmdldFNlbGVjdEtleSgpO1xuXG4gICAgICAgIGlmICghc2VsZWN0QXRLZXkgfHwgIXRoaXMuaGllcmFyY2hpY1NlbGVjdG9yQ29uZmlnKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzZWxlY3RlZCA9IHt9O1xuXG4gICAgICAgIGNvbnN0IGhpZXJhcmNoaWNDb25maWc6IEhpZXJhcmNoaWNEaWFsb2dDb25maWcgPSB7XG4gICAgICAgICAgICBoaWVyYXJjaGljQ29uZmlnOiB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZyxcbiAgICAgICAgICAgIGhpZXJhcmNoaWNTZWxlY3Rpb246IHNlbGVjdGVkLFxuICAgICAgICAgICAgaGllcmFyY2hpY0ZpbHRlcnM6IHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yRmlsdGVycyxcbiAgICAgICAgICAgIG11bHRpcGxlOiB0cnVlLFxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuaGllcmFyY2hpY1NlbGVjdG9yRGlhbG9nXG4gICAgICAgICAgICAub3BlbihoaWVyYXJjaGljQ29uZmlnKVxuICAgICAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUocmVzdWx0ID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0ICYmIHJlc3VsdC5oaWVyYXJjaGljU2VsZWN0aW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgc2VsZWN0aW9uID0gcmVzdWx0LmhpZXJhcmNoaWNTZWxlY3Rpb25bc2VsZWN0QXRLZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VsZWN0aW9uLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5hZGRSZWxhdGlvbnMoc2VsZWN0aW9uKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEdldCBsaXN0IGZyb20gZGF0YWJhc2VcbiAgICAgKi9cbiAgICBwcml2YXRlIHF1ZXJ5SXRlbXMoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZXJ2aWNlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBjb25zdCBxdWVyeVJlZiA9IHRoaXMuc2VydmljZS53YXRjaEFsbCh0aGlzLnZhcmlhYmxlc01hbmFnZXIpLnBpcGUoXG4gICAgICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgICAgIHRhcCh7XG4gICAgICAgICAgICAgICAgbmV4dDogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgICAgICBjb21wbGV0ZTogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgICAgICBlcnJvcjogKCkgPT4gKHRoaXMubG9hZGluZyA9IGZhbHNlKSxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmRhdGFTb3VyY2UgPSBuZXcgTmF0dXJhbERhdGFTb3VyY2UocXVlcnlSZWYpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0U2VsZWN0S2V5KCk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgICAgIGlmICghdGhpcy5oaWVyYXJjaGljU2VsZWN0b3JDb25maWcpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmhpZXJhcmNoaWNTZWxlY3RvckNvbmZpZy5maWx0ZXIoYyA9PiAhIWMuc2VsZWN0YWJsZUF0S2V5KVswXS5zZWxlY3RhYmxlQXRLZXk7XG4gICAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImJvZHlcIj5cbiAgICA8bmctdGVtcGxhdGUgI2RlZmF1bHROYW1lQ2VsbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgICAgICAge3sgZ2V0RGlzcGxheUZuKCkoaXRlbSkgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPHRhYmxlICpuZ0lmPVwiZGF0YVNvdXJjZVwiIFtkYXRhU291cmNlXT1cImRhdGFTb3VyY2VcIiBjbGFzcz1cIm5hdHVyYWwtcm93LWNsaWNrXCIgbWF0LXRhYmxlPlxuICAgICAgICA8dHIgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXllZENvbHVtbnNcIiBtYXQtaGVhZGVyLXJvdyBzdHlsZT1cImRpc3BsYXk6IG5vbmVcIj48L3RyPlxuICAgICAgICA8dHIgKm1hdFJvd0RlZj1cImxldCByb3c7IGNvbHVtbnM6IGRpc3BsYXllZENvbHVtbnNcIiBtYXQtcm93PjwvdHI+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBtYXRDb2x1bW5EZWY9XCJuYW1lXCI+XG4gICAgICAgICAgICA8dGggKm1hdEhlYWRlckNlbGxEZWYgaTE4biBtYXQtaGVhZGVyLWNlbGw+VGl0cmU8L3RoPlxuICAgICAgICAgICAgPHRkICptYXRDZWxsRGVmPVwibGV0IGl0ZW1cIiBtYXQtY2VsbD5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBpdGVtfVwiXG4gICAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1UZW1wbGF0ZSA/IGl0ZW1UZW1wbGF0ZSA6IGRlZmF1bHROYW1lQ2VsbFwiXG4gICAgICAgICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8bmctY29udGFpbmVyIG1hdENvbHVtbkRlZj1cInVubGlua1wiPlxuICAgICAgICAgICAgPHRoICptYXRIZWFkZXJDZWxsRGVmIG1hdC1oZWFkZXItY2VsbD48L3RoPlxuICAgICAgICAgICAgPHRkICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIiBtYXQtY2VsbD5cbiAgICAgICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgICAgICpuZ0lmPVwiIWRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cInJlbW92ZVJlbGF0aW9uKGVsZW1lbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cInJlbW92aW5nLmhhcyhlbGVtZW50KVwiXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yPVwid2FyblwiXG4gICAgICAgICAgICAgICAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgICAgICAgICAgICAgICBpMThuLW1hdFRvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAgbWF0VG9vbHRpcD1cIkRpc3NvY2llclwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8bWF0LWljb24gbmF0dXJhbEljb249XCJsaW5rX29mZlwiPjwvbWF0LWljb24+XG4gICAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3RkPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L3RhYmxlPlxuXG4gICAgPG1hdC1wYWdpbmF0b3JcbiAgICAgICAgKHBhZ2UpPVwicGFnaW5hdGlvbigkZXZlbnQpXCJcbiAgICAgICAgKm5nSWY9XCJkYXRhU291cmNlPy5kYXRhICYmIChkYXRhU291cmNlPy5kYXRhPy5sZW5ndGggfHwgMCkgPiAoZGF0YVNvdXJjZT8uZGF0YT8ucGFnZVNpemUgfHwgMClcIlxuICAgICAgICBbbGVuZ3RoXT1cImRhdGFTb3VyY2U/LmRhdGE/Lmxlbmd0aCB8fCAwXCJcbiAgICAgICAgW3BhZ2VJbmRleF09XCJkYXRhU291cmNlPy5kYXRhPy5wYWdlSW5kZXggfHwgMFwiXG4gICAgICAgIFtwYWdlU2l6ZU9wdGlvbnNdPVwicGFnZVNpemVPcHRpb25zXCJcbiAgICAgICAgW3BhZ2VTaXplXT1cImRhdGFTb3VyY2U/LmRhdGE/LnBhZ2VTaXplIHx8IDBcIlxuICAgID48L21hdC1wYWdpbmF0b3I+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcgJiYgZGF0YVNvdXJjZT8uZGF0YT8ubGVuZ3RoID09PSAwXCIgY2xhc3M9XCJtYXJnaW4tdiBtYXQtYm9keVwiPlxuICAgICAgICA8c3BhbiBpMThuPkF1Y3VuIHLDqXN1bHRhdDwvc3Bhbj5cbiAgICA8L2Rpdj5cblxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lciAqbmdJZj1cImxvYWRpbmdcIiBbZGlhbWV0ZXJdPVwiNDBcIiBjbGFzcz1cImxvYWRpbmdcIiBtb2RlPVwiaW5kZXRlcm1pbmF0ZVwiPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG48L2Rpdj5cblxuPG5hdHVyYWwtc2VsZWN0XG4gICAgKHNlbGVjdGlvbkNoYW5nZSk9XCJhZGRSZWxhdGlvbnMoWyRldmVudF0pXCJcbiAgICAqbmdJZj1cIiFoaWVyYXJjaGljU2VsZWN0b3JDb25maWcgJiYgc2VydmljZSAmJiAhZGlzYWJsZWRcIlxuICAgIFtkaXNwbGF5V2l0aF09XCIkYW55KGdldERpc3BsYXlGbigpKVwiXG4gICAgW2ZpbHRlcl09XCJhdXRvY29tcGxldGVTZWxlY3RvckZpbHRlclwiXG4gICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICBbc2VydmljZV09XCJzZXJ2aWNlXCJcbiAgICBbc2hvd0ljb25dPVwiZmFsc2VcIlxuPjwvbmF0dXJhbC1zZWxlY3Q+XG5cbjxkaXYgKm5nSWY9XCJoaWVyYXJjaGljU2VsZWN0b3JDb25maWcgJiYgIWRpc2FibGVkXCI+XG4gICAgPGJ1dHRvbiAoY2xpY2spPVwib3Blbk5hdHVyYWxIaWVyYXJjaGljU2VsZWN0b3IoKVwiIGNvbG9yPVwicHJpbWFyeVwiIG1hdC1mbGF0LWJ1dHRvbj57eyBwbGFjZWhvbGRlciB9fTwvYnV0dG9uPlxuPC9kaXY+XG4iXX0=
|
package/esm2020/public-api.mjs
CHANGED
|
@@ -8,7 +8,7 @@ export * from './lib/classes/abstract-detail';
|
|
|
8
8
|
export * from './lib/classes/abstract-editable-list';
|
|
9
9
|
export * from './lib/classes/abstract-list';
|
|
10
10
|
export * from './lib/classes/abstract-navigable-list';
|
|
11
|
-
export
|
|
11
|
+
export { hasFilesAndProcessDate, isMutation } from './lib/classes/apollo-utils';
|
|
12
12
|
export * from './lib/classes/data-source';
|
|
13
13
|
export * from './lib/classes/query-variable-manager';
|
|
14
14
|
export * from './lib/classes/rxjs';
|
|
@@ -44,4 +44,4 @@ export * from './lib/modules/avatar/public-api';
|
|
|
44
44
|
export * from './lib/modules/matomo/public-api';
|
|
45
45
|
export * from './lib/modules/logger/public-api';
|
|
46
46
|
export * from './lib/directives/http-prefix.directive';
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25hdHVyYWwvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsd0hBQXdIO0FBQ3hILE9BQU8sd0JBQXdCLENBQUM7QUFFaEM7O0dBRUc7QUFFSCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsT0FBTyxFQUFDLHNCQUFzQixFQUFFLFVBQVUsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQzlFLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLG9CQUFvQixDQUFDO0FBQ25DLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxPQUFPLEVBQUMsU0FBUyxFQUFDLE1BQU0sbUJBQW1CLENBQUM7QUFFNUMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSxpQ0FBaUMsQ0FBQztBQUN2RSxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsc0NBQXNDLENBQUM7QUFDckQsT0FBTyxFQUFDLHlCQUF5QixFQUFFLDZCQUE2QixFQUFDLE1BQU0sb0NBQW9DLENBQUM7QUFDNUcsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLG1CQUFtQixDQUFDO0FBRWxDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGtDQUFrQyxDQUFDO0FBQ2pELGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLGlDQUFpQyxDQUFDO0FBRWhELGNBQWMsd0NBQXdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBMb2FkIGAkbG9jYWxpemVgIG9udG8gdGhlIGdsb2JhbCBzY29wZSAtIHRvIGJlIGFibGUgdG8gdXNlIHRoYXQgZnVuY3Rpb24gdG8gdHJhbnNsYXRlIHN0cmluZ3MgaW4gY29tcG9uZW50cy9zZXJ2aWNlcy5cbmltcG9ydCAnQGFuZ3VsYXIvbG9jYWxpemUvaW5pdCc7XG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgbmF0dXJhbFxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvYWJzdHJhY3QtY29udHJvbGxlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWRldGFpbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2Fic3RyYWN0LWVkaXRhYmxlLWxpc3QnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy9hYnN0cmFjdC1saXN0JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvYWJzdHJhY3QtbmF2aWdhYmxlLWxpc3QnO1xuZXhwb3J0IHtoYXNGaWxlc0FuZFByb2Nlc3NEYXRlLCBpc011dGF0aW9ufSBmcm9tICcuL2xpYi9jbGFzc2VzL2Fwb2xsby11dGlscyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL2RhdGEtc291cmNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvcXVlcnktdmFyaWFibGUtbWFuYWdlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jbGFzc2VzL3J4anMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY2xhc3Nlcy91dGlsaXR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NsYXNzZXMvdmFsaWRhdG9ycyc7XG5leHBvcnQge3ZhbGlkVGxkc30gZnJvbSAnLi9saWIvY2xhc3Nlcy90bGQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9hYnN0cmFjdC1tb2RlbC5zZXJ2aWNlJztcbmV4cG9ydCB7TmF0dXJhbERlYm91bmNlU2VydmljZX0gZnJvbSAnLi9saWIvc2VydmljZXMvZGVib3VuY2Uuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9lbnVtLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGluay1tdXRhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCB7TmF0dXJhbFBlcnNpc3RlbmNlU2VydmljZSwgTkFUVVJBTF9QRVJTSVNURU5DRV9WQUxJREFUT1J9IGZyb20gJy4vbGliL3NlcnZpY2VzL3BlcnNpc3RlbmNlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvc3dpc3MtcGFyc2luZy1kYXRlLWFkYXB0ZXIuc2VydmljZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3R5cGVzL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hbGVydC9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvY29sdW1ucy1waWNrZXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2NvbW1vbi9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZGV0YWlsLWhlYWRlci9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZHJvcGRvd24tY29tcG9uZW50cy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZmlsZS9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvZml4ZWQtYnV0dG9uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9maXhlZC1idXR0b24tZGV0YWlsL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9oaWVyYXJjaGljLXNlbGVjdG9yL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9pY29uL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9wYW5lbHMvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3JlbGF0aW9ucy9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvc2VhcmNoL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9zZWxlY3QvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3NpZGVuYXYvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL3N0YW1wL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy90YWJsZS1idXR0b24vcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2RpYWxvZy10cmlnZ2VyL3B1YmxpYy1hcGknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9hdmF0YXIvcHVibGljLWFwaSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL21hdG9tby9wdWJsaWMtYXBpJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbG9nZ2VyL3B1YmxpYy1hcGknO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9kaXJlY3RpdmVzL2h0dHAtcHJlZml4LmRpcmVjdGl2ZSc7XG4iXX0=
|
|
@@ -2915,11 +2915,11 @@ const possibleDiscreteOperators = [
|
|
|
2915
2915
|
},
|
|
2916
2916
|
{
|
|
2917
2917
|
key: 'any',
|
|
2918
|
-
label: $localize `
|
|
2918
|
+
label: $localize `avec`,
|
|
2919
2919
|
},
|
|
2920
2920
|
{
|
|
2921
2921
|
key: 'none',
|
|
2922
|
-
label: $localize `
|
|
2922
|
+
label: $localize `sans`,
|
|
2923
2923
|
},
|
|
2924
2924
|
];
|
|
2925
2925
|
|
|
@@ -4116,7 +4116,7 @@ function isFile(value) {
|
|
|
4116
4116
|
(typeof FileList !== 'undefined' && value instanceof FileList));
|
|
4117
4117
|
}
|
|
4118
4118
|
/**
|
|
4119
|
-
* Detect if the given variables
|
|
4119
|
+
* Detect if the given variables have a file to be uploaded or not, and
|
|
4120
4120
|
* also convert date to be serialized with their timezone.
|
|
4121
4121
|
*/
|
|
4122
4122
|
function hasFilesAndProcessDate(variables) {
|
|
@@ -4124,8 +4124,7 @@ function hasFilesAndProcessDate(variables) {
|
|
|
4124
4124
|
if (!isObject(variables)) {
|
|
4125
4125
|
return false;
|
|
4126
4126
|
}
|
|
4127
|
-
Object.
|
|
4128
|
-
const value = variables[key];
|
|
4127
|
+
Object.values(variables).forEach(value => {
|
|
4129
4128
|
if (value instanceof Date) {
|
|
4130
4129
|
// Replace native toJSON() function by our own implementation
|
|
4131
4130
|
value.toJSON = () => formatIsoDateTime(value);
|
|
@@ -4139,6 +4138,12 @@ function hasFilesAndProcessDate(variables) {
|
|
|
4139
4138
|
});
|
|
4140
4139
|
return fileFound;
|
|
4141
4140
|
}
|
|
4141
|
+
/**
|
|
4142
|
+
* Whether the given GraphQL document contains at least one mutation
|
|
4143
|
+
*/
|
|
4144
|
+
function isMutation(query) {
|
|
4145
|
+
return query.definitions.some(definition => definition.kind === 'OperationDefinition' && definition.operation === 'mutation');
|
|
4146
|
+
}
|
|
4142
4147
|
|
|
4143
4148
|
/**
|
|
4144
4149
|
* Behave like setTimeout(), but with a mandatory cancel mechanism.
|
|
@@ -9985,6 +9990,9 @@ class NaturalRelationsComponent extends NaturalAbstractController {
|
|
|
9985
9990
|
* Whether the relations can be changed
|
|
9986
9991
|
*/
|
|
9987
9992
|
this.disabled = false;
|
|
9993
|
+
/**
|
|
9994
|
+
* Emits after relations were successfully added on the server
|
|
9995
|
+
*/
|
|
9988
9996
|
this.selectionChange = new EventEmitter();
|
|
9989
9997
|
this.loading = false;
|
|
9990
9998
|
/**
|
|
@@ -10046,17 +10054,13 @@ class NaturalRelationsComponent extends NaturalAbstractController {
|
|
|
10046
10054
|
* TODO : could maybe use "update" attribute of apollo.mutate function to update table faster (but hard to do it here)
|
|
10047
10055
|
*/
|
|
10048
10056
|
addRelations(relations) {
|
|
10049
|
-
const observables =
|
|
10050
|
-
|
|
10051
|
-
|
|
10052
|
-
.filter((relation) => !!relation && typeof relation === 'object')
|
|
10053
|
-
.map(relation => this.linkMutationService.link(this.main, relation, this.otherName)),
|
|
10054
|
-
];
|
|
10057
|
+
const observables = relations
|
|
10058
|
+
.filter((relation) => !!relation && typeof relation === 'object')
|
|
10059
|
+
.map(relation => this.linkMutationService.link(this.main, relation, this.otherName));
|
|
10055
10060
|
forkJoin(observables).subscribe(() => {
|
|
10061
|
+
var _a;
|
|
10056
10062
|
this.selectionChange.emit();
|
|
10057
|
-
|
|
10058
|
-
this.select.clear();
|
|
10059
|
-
}
|
|
10063
|
+
(_a = this.select) === null || _a === void 0 ? void 0 : _a.clear();
|
|
10060
10064
|
});
|
|
10061
10065
|
}
|
|
10062
10066
|
pagination(event) {
|
|
@@ -11508,5 +11512,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
|
|
|
11508
11512
|
* Generated bundle index. Do not edit.
|
|
11509
11513
|
*/
|
|
11510
11514
|
|
|
11511
|
-
export { AvatarComponent, AvatarService, FileComponent, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertModule, NaturalAlertService, NaturalAvatarModule, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalColumnsPickerModule, NaturalCommonModule, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDetailHeaderModule, NaturalDialogTriggerComponent, NaturalDialogTriggerModule, NaturalDropdownComponentsModule, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalErrorModule, NaturalFileDropDirective, NaturalFileModule, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalFixedButtonDetailModule, NaturalFixedButtonModule, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorModule, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalIconModule, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoModule, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsModule, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalRelationsModule, NaturalSearchComponent, NaturalSearchModule, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSelectModule, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavModule, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalStampModule, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTableButtonModule, NaturalTimeAgoPipe, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, cleanSameValues, collectErrors, copyToClipboard, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, hasFilesAndProcessDate, ifValid, integer, localStorageFactory, localStorageProvider, lowerCaseFirstLetter, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, wrapLike };
|
|
11515
|
+
export { AvatarComponent, AvatarService, FileComponent, LOCAL_STORAGE, NATURAL_DROPDOWN_DATA, NATURAL_ICONS_CONFIG, NATURAL_PERSISTENCE_VALIDATOR, NATURAL_SEO_CONFIG, NaturalAbstractController, NaturalAbstractDetail, NaturalAbstractEditableList, NaturalAbstractList, NaturalAbstractModelService, NaturalAbstractNavigableList, NaturalAbstractPanel, NaturalAlertModule, NaturalAlertService, NaturalAvatarModule, NaturalCapitalizePipe, NaturalColumnsPickerComponent, NaturalColumnsPickerModule, NaturalCommonModule, NaturalConfirmComponent, NaturalDataSource, NaturalDebounceService, NaturalDetailHeaderComponent, NaturalDetailHeaderModule, NaturalDialogTriggerComponent, NaturalDialogTriggerModule, NaturalDropdownComponentsModule, NaturalDropdownRef, NaturalEllipsisPipe, NaturalEnumPipe, NaturalEnumService, NaturalErrorHandler, NaturalErrorModule, NaturalFileDropDirective, NaturalFileModule, NaturalFileSelectDirective, NaturalFileService, NaturalFixedButtonComponent, NaturalFixedButtonDetailComponent, NaturalFixedButtonDetailModule, NaturalFixedButtonModule, NaturalHierarchicSelectorComponent, NaturalHierarchicSelectorDialogComponent, NaturalHierarchicSelectorDialogService, NaturalHierarchicSelectorModule, NaturalHierarchicSelectorService, NaturalHttpPrefixDirective, NaturalIconDirective, NaturalIconModule, NaturalLinkMutationService, NaturalLinkableTabDirective, NaturalLoggerConfigExtra, NaturalLoggerConfigUrl, NaturalMatomoModule, NaturalMatomoService, NaturalMemoryStorage, NaturalPanelsComponent, NaturalPanelsModule, NaturalPanelsService, NaturalPersistenceService, NaturalQueryVariablesManager, NaturalRelationsComponent, NaturalRelationsModule, NaturalSearchComponent, NaturalSearchModule, NaturalSelectComponent, NaturalSelectEnumComponent, NaturalSelectHierarchicComponent, NaturalSelectModule, NaturalSeoService, NaturalSidenavComponent, NaturalSidenavContainerComponent, NaturalSidenavContentComponent, NaturalSidenavModule, NaturalSidenavService, NaturalSidenavStackService, NaturalSrcDensityDirective, NaturalStampComponent, NaturalStampModule, NaturalSwissDatePipe, NaturalSwissParsingDateAdapter, NaturalTableButtonComponent, NaturalTableButtonModule, NaturalTimeAgoPipe, PanelsHooksConfig, SESSION_STORAGE, SortingOrder, TypeDateComponent, TypeDateRangeComponent, TypeHierarchicSelectorComponent, TypeNaturalSelectComponent, TypeNumberComponent, TypeSelectComponent, TypeTextComponent, available, cancellableTimeout, cleanSameValues, collectErrors, copyToClipboard, debug, decimal, deepFreeze, deliverableEmail, ensureHttpPrefix, fallbackIfNoOpenedPanels, formatIsoDate, formatIsoDateTime, fromUrl, getForegroundColor, hasFilesAndProcessDate, ifValid, integer, isMutation, localStorageFactory, localStorageProvider, lowerCaseFirstLetter, makePlural, memoryLocalStorageProvider, memorySessionStorageProvider, mergeOverrideArray, money, naturalPanelsUrlMatcher, relationsToIds, replaceObjectKeepingReference, replaceOperatorByField, replaceOperatorByName, sessionStorageFactory, sessionStorageProvider, toGraphQLDoctrineFilter, toNavigationParameters, toUrl, unique, upperCaseFirstLetter, urlValidator, validTlds, validateAllFormControls, wrapLike };
|
|
11512
11516
|
//# sourceMappingURL=ecodev-natural.mjs.map
|