@sourceloop/search-client 6.0.1 → 7.0.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/package.json CHANGED
@@ -1,22 +1,22 @@
1
1
  {
2
2
  "name": "@sourceloop/search-client",
3
- "version": "6.0.1",
4
- "description": "A global search component for search microservice.",
3
+ "version": "7.0.0",
4
+ "description": "A global search component for search microservice. ",
5
5
  "peerDependencies": {
6
- "@angular/animations": "^14.0.1",
7
- "@angular/cdk": "^14.0.1",
8
- "@angular/common": "^14.0.1",
9
- "@angular/compiler": "^14.0.1",
10
- "@angular/core": "^14.0.1",
11
- "@angular/elements": "^14.0.1",
12
- "@angular/flex-layout": "~14.0.0-beta.39",
13
- "@angular/forms": "^14.0.1",
14
- "@angular/material": "^14.0.1",
15
- "@angular/platform-browser": "^14.0.1",
16
- "@angular/platform-browser-dynamic": "^14.0.1",
17
- "@angular/router": "^14.0.1",
18
- "rxjs": "~7.5.5",
19
- "zone.js": "~0.11.5"
6
+ "@angular/animations": "^17.3.0",
7
+ "@angular/cdk": "^17.3.0",
8
+ "@angular/common": "^17.3.0",
9
+ "@angular/compiler": "^17.3.0",
10
+ "@angular/core": "^17.3.0",
11
+ "@angular/elements": "^17.3.0",
12
+ "@angular/flex-layout": "~15.0.0-beta.42",
13
+ "@angular/forms": "^17.3.0",
14
+ "@angular/material": "^17.3.0",
15
+ "@angular/platform-browser": "^17.3.0",
16
+ "@angular/platform-browser-dynamic": "^17.3.0",
17
+ "@angular/router": "^17.3.0",
18
+ "rxjs": "~7.8.1",
19
+ "zone.js": "~0.14.3"
20
20
  },
21
21
  "dependencies": {
22
22
  "tslib": "^2.2.0"
@@ -34,12 +34,8 @@
34
34
  "author": "Sourcefuse",
35
35
  "license": "MIT",
36
36
  "private": false,
37
- "gitHead": "3db0a20b618793e6de3adf7b6ea1f3fac099b71c",
38
- "module": "fesm2015/sourceloop-search-client.mjs",
39
- "es2020": "fesm2020/sourceloop-search-client.mjs",
40
- "esm2020": "esm2020/sourceloop-search-client.mjs",
41
- "fesm2020": "fesm2020/sourceloop-search-client.mjs",
42
- "fesm2015": "fesm2015/sourceloop-search-client.mjs",
37
+ "gitHead": "054b885a5ed8fb75607da07f65d7ee14f400afab",
38
+ "module": "fesm2022/sourceloop-search-client.mjs",
43
39
  "typings": "index.d.ts",
44
40
  "exports": {
45
41
  "./package.json": {
@@ -47,11 +43,9 @@
47
43
  },
48
44
  ".": {
49
45
  "types": "./index.d.ts",
50
- "esm2020": "./esm2020/sourceloop-search-client.mjs",
51
- "es2020": "./fesm2020/sourceloop-search-client.mjs",
52
- "es2015": "./fesm2015/sourceloop-search-client.mjs",
53
- "node": "./fesm2015/sourceloop-search-client.mjs",
54
- "default": "./fesm2020/sourceloop-search-client.mjs"
46
+ "esm2022": "./esm2022/sourceloop-search-client.mjs",
47
+ "esm": "./esm2022/sourceloop-search-client.mjs",
48
+ "default": "./fesm2022/sourceloop-search-client.mjs"
55
49
  }
56
50
  },
57
51
  "sideEffects": false
@@ -1,63 +0,0 @@
1
- export class Configuration {
2
- constructor(d) {
3
- checkForError(d);
4
- this.displayPropertyName = d.displayPropertyName;
5
- this.models = d.models;
6
- /* IRequestParameters - will be given default values before call is made in case undefined/null,
7
- otherwise there ! is used on which sonar gives code smell */
8
- this.limit = d.limit;
9
- this.limitByType = d.limitByType;
10
- this.order = d.order;
11
- this.offset = d.offset;
12
- this.saveInRecents = d.saveInRecents;
13
- const displayTexts = setDisplayText(d);
14
- this.noResultMessage = displayTexts.noResultMessage;
15
- this.placeholder = displayTexts.placeholder;
16
- this.placeholderFunction = displayTexts.placeholderFunction;
17
- const searchConfig = setSearchConfig(d);
18
- this.categorizeResults = searchConfig.categorizeResults;
19
- this.hideRecentSearch = searchConfig.hideRecentSearch;
20
- this.hideCategorizeButton = searchConfig.hideCategorizeButton;
21
- this.saveInRecentsOnlyOnEnter = searchConfig.saveInRecentsOnlyOnEnter;
22
- this.searchOnlyOnEnter = searchConfig.searchOnlyOnEnter;
23
- const classes = setIconClasses(d);
24
- this.searchIconClass = classes.searchIconClass;
25
- this.crossIconClass = classes.crossIconClass;
26
- this.dropDownButtonIconClass = classes.dropDownButtonIconClass;
27
- this.recentSearchIconClass = classes.recentSearchIconClass;
28
- }
29
- }
30
- function checkForError(d) {
31
- if (d.categorizeResults === false &&
32
- (d.hideCategorizeButton === false || d.hideCategorizeButton === undefined)) {
33
- throw new Error('You must provide hideCategorizeButton:true as categorizeResults is false');
34
- }
35
- if (d.saveInRecents === false && d.saveInRecentsOnlyOnEnter === true) {
36
- throw new Error('You must provide saveInRecents:true for saveInRecentsOnlyOnEnter:true');
37
- }
38
- }
39
- function setDisplayText(d) {
40
- return {
41
- placeholder: d.placeholder ?? 'Search',
42
- noResultMessage: d.noResultMessage ?? 'No result found',
43
- placeholderFunction: d.placeholderFunction,
44
- };
45
- }
46
- function setSearchConfig(d) {
47
- return {
48
- categorizeResults: d.categorizeResults ?? true,
49
- hideRecentSearch: d.hideRecentSearch ?? false,
50
- hideCategorizeButton: d.hideCategorizeButton ?? false,
51
- saveInRecentsOnlyOnEnter: d.saveInRecentsOnlyOnEnter ?? false,
52
- searchOnlyOnEnter: d.searchOnlyOnEnter ?? false,
53
- };
54
- }
55
- function setIconClasses(d) {
56
- return {
57
- searchIconClass: d.searchIconClass ?? 'icomoon Search',
58
- crossIconClass: d.crossIconClass ?? 'icomoon close',
59
- dropDownButtonIconClass: d.dropDownButtonIconClass ?? 'icomoon arrow_down',
60
- recentSearchIconClass: d.recentSearchIconClass ?? 'icomoon Search',
61
- };
62
- }
63
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLWNvbmZpZ3VyYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL2xpYi1jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE1BQU0sT0FBTyxhQUFhO0lBb0N4QixZQUFZLENBQW1CO1FBQzdCLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNqQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLG1CQUFtQixDQUFDO1FBQ2pELElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztRQUV2QjtvRUFDNEQ7UUFDNUQsSUFBSSxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxDQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxhQUFhLEdBQUcsQ0FBQyxDQUFDLGFBQWEsQ0FBQztRQUVyQyxNQUFNLFlBQVksR0FBRyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsZUFBZSxDQUFDO1FBQ3BELElBQUksQ0FBQyxXQUFXLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQztRQUM1QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsWUFBWSxDQUFDLG1CQUFtQixDQUFDO1FBRTVELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN4QyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsWUFBWSxDQUFDLGlCQUFpQixDQUFDO1FBQ3hELElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxZQUFZLENBQUMsZ0JBQWdCLENBQUM7UUFDdEQsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQztRQUM5RCxJQUFJLENBQUMsd0JBQXdCLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDO1FBQ3RFLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxZQUFZLENBQUMsaUJBQWlCLENBQUM7UUFFeEQsTUFBTSxPQUFPLEdBQUcsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsT0FBTyxDQUFDLGVBQWUsQ0FBQztRQUMvQyxJQUFJLENBQUMsY0FBYyxHQUFHLE9BQU8sQ0FBQyxjQUFjLENBQUM7UUFDN0MsSUFBSSxDQUFDLHVCQUF1QixHQUFHLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQztRQUMvRCxJQUFJLENBQUMscUJBQXFCLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixDQUFDO0lBQzdELENBQUM7Q0FDRjtBQUNELFNBQVMsYUFBYSxDQUFJLENBQW1CO0lBQzNDLElBQ0UsQ0FBQyxDQUFDLGlCQUFpQixLQUFLLEtBQUs7UUFDN0IsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxvQkFBb0IsS0FBSyxTQUFTLENBQUMsRUFDMUU7UUFDQSxNQUFNLElBQUksS0FBSyxDQUNiLDBFQUEwRSxDQUMzRSxDQUFDO0tBQ0g7SUFDRCxJQUFJLENBQUMsQ0FBQyxhQUFhLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyx3QkFBd0IsS0FBSyxJQUFJLEVBQUU7UUFDcEUsTUFBTSxJQUFJLEtBQUssQ0FDYix1RUFBdUUsQ0FDeEUsQ0FBQztLQUNIO0FBQ0gsQ0FBQztBQUNELFNBQVMsY0FBYyxDQUFJLENBQW1CO0lBQzVDLE9BQU87UUFDTCxXQUFXLEVBQUUsQ0FBQyxDQUFDLFdBQVcsSUFBSSxRQUFRO1FBQ3RDLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZSxJQUFJLGlCQUFpQjtRQUN2RCxtQkFBbUIsRUFBRSxDQUFDLENBQUMsbUJBQW1CO0tBQzNDLENBQUM7QUFDSixDQUFDO0FBQ0QsU0FBUyxlQUFlLENBQUksQ0FBbUI7SUFDN0MsT0FBTztRQUNMLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJO1FBQzlDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxLQUFLO1FBQzdDLG9CQUFvQixFQUFFLENBQUMsQ0FBQyxvQkFBb0IsSUFBSSxLQUFLO1FBQ3JELHdCQUF3QixFQUFFLENBQUMsQ0FBQyx3QkFBd0IsSUFBSSxLQUFLO1FBQzdELGlCQUFpQixFQUFFLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxLQUFLO0tBQ2hELENBQUM7QUFDSixDQUFDO0FBQ0QsU0FBUyxjQUFjLENBQUksQ0FBbUI7SUFDNUMsT0FBTztRQUNMLGVBQWUsRUFBRSxDQUFDLENBQUMsZUFBZSxJQUFJLGdCQUFnQjtRQUN0RCxjQUFjLEVBQUUsQ0FBQyxDQUFDLGNBQWMsSUFBSSxlQUFlO1FBQ25ELHVCQUF1QixFQUFFLENBQUMsQ0FBQyx1QkFBdUIsSUFBSSxvQkFBb0I7UUFDMUUscUJBQXFCLEVBQUUsQ0FBQyxDQUFDLHFCQUFxQixJQUFJLGdCQUFnQjtLQUNuRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvcHlyaWdodCAoYykgMjAyMyBTb3VyY2VmdXNlIFRlY2hub2xvZ2llc1xuLy9cbi8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLlxuLy8gaHR0cHM6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVRcbmltcG9ydCB7SURlZmF1bHRSZXR1cm5UeXBlLCBJTW9kZWx9IGZyb20gJy4vdHlwZXMnO1xuZXhwb3J0IGNsYXNzIENvbmZpZ3VyYXRpb248VCA9IElEZWZhdWx0UmV0dXJuVHlwZT4ge1xuICAvKiogcHJvcGVydHkgdG8gYmUgZGlzcGxheWVkIGluIHRoZSByZXN1bHRzICovXG4gIGRpc3BsYXlQcm9wZXJ0eU5hbWU6IGtleW9mIFQ7XG4gIC8qKiBsaXN0IG9mIG1vZGVsIGNvbmZpZ3VyYXRpb24gdG8gYmUgcmVuZGVyIGFuZCBjYXRlZ29yaXplIHNlYXJjaCByZXN1bHRzICovXG4gIG1vZGVsczogSU1vZGVsW107XG4gIC8qKiBtYXggbnVtYmVyIG9mIHJlc3VsdHMgKGJhc2VkIG9uIGxpbWl0QnlUeXBlIG9wdGlvbikgKi9cbiAgbGltaXQ/OiBudW1iZXI7XG4gIC8qKiBhcHBseSBsaW1pdCBvbiBpbmRpdmlkdWFsIG1vZGVscywgb3Igb24gb3ZlcmFsbCByZXN1bHRzICovXG4gIGxpbWl0QnlUeXBlPzogYm9vbGVhbjtcbiAgLyoqIGFwcGx5IGEgcGFydGljdWxhciBvcmRlcmluZyBvbiByZXN1bHRzICovXG4gIG9yZGVyPzogc3RyaW5nW107XG4gIC8qKiBvZmZzZXQgZm9yIHJlc3VsdHMgaW4gY2FzZSBsaW1pdCBpcyB1c2VkICovXG4gIG9mZnNldD86IG51bWJlcjtcbiAgLyoqIHNhdmUgdGhlIHNlYXJjaCBxdWVyeSBpbiByZWNlbnQgaGlzdG9yeSAqL1xuICBzYXZlSW5SZWNlbnRzPzogYm9vbGVhbjtcbiAgLyoqIGEgcGxhY2Vob2xkZXIgdG8gZGlzcGxheSBpbiB0aGUgc2VhcmNoIGJveCAqL1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbiAgLyoqIGEgZnVuY3Rpb24gdG8gZ2VuZXJhdGUgcGxhY2Vob2xkZXIsIG92ZXJyaWRlcyB0aGUgcGxhY2Vob2xkZXIgcHJvcGVydHkgKi9cbiAgcGxhY2Vob2xkZXJGdW5jdGlvbj86IChpbnB1dDogc3RyaW5nLCBjYXRlZ29yeTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIC8qKiBjYXRlZ29yaXplIHJlc3VsdHMgb24gdGhlIGJhc2lzIG9mIG1vZGVscyBwcm92aWRlZCAqL1xuICBjYXRlZ29yaXplUmVzdWx0cz86IGJvb2xlYW47XG4gIC8qKiBoaWRlcyB0aGUgcmVjZW50IHNlYXJjaCBsaXN0ICovXG4gIGhpZGVSZWNlbnRTZWFyY2g/OiBib29sZWFuO1xuICAvKiogaGlkZSB0aGUgY2F0ZWdvcnkgc2VsZWN0aW9uIGJ1dHRvbiAqL1xuICBoaWRlQ2F0ZWdvcml6ZUJ1dHRvbj86IGJvb2xlYW47XG4gIC8qKiBzYXZlIHZhbHVlIGluIHJlY2VudCBzZWFyY2ggb25seSBvbiBlbnRlciBvciBjaGFuZ2UgaW4gY2F0ZWdvcnksXG4gICAqICBpZiBmYWxzZSwgYWxzbyBzYXZlZCBvbiB0eXBpbmcgKi9cbiAgc2F2ZUluUmVjZW50c09ubHlPbkVudGVyPzogYm9vbGVhbjtcbiAgLyoqIHNlYXJjaCBvbmx5IG9uIGVudGVyIGtleSBvciB3aGVuIGNhdGVnb3J5IGlzIGNoYW5nZWQgKi9cbiAgc2VhcmNoT25seU9uRW50ZXI/OiBib29sZWFuO1xuICBub1Jlc3VsdE1lc3NhZ2U/OiBzdHJpbmc7XG4gIHNlYXJjaEljb25DbGFzcz86IHN0cmluZztcbiAgY3Jvc3NJY29uQ2xhc3M/OiBzdHJpbmc7XG4gIGRyb3BEb3duQnV0dG9uSWNvbkNsYXNzPzogc3RyaW5nO1xuICByZWNlbnRTZWFyY2hJY29uQ2xhc3M/OiBzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IoZDogQ29uZmlndXJhdGlvbjxUPikge1xuICAgIGNoZWNrRm9yRXJyb3IoZCk7XG4gICAgdGhpcy5kaXNwbGF5UHJvcGVydHlOYW1lID0gZC5kaXNwbGF5UHJvcGVydHlOYW1lO1xuICAgIHRoaXMubW9kZWxzID0gZC5tb2RlbHM7XG5cbiAgICAvKiBJUmVxdWVzdFBhcmFtZXRlcnMgLSB3aWxsIGJlIGdpdmVuIGRlZmF1bHQgdmFsdWVzIGJlZm9yZSBjYWxsIGlzIG1hZGUgaW4gY2FzZSB1bmRlZmluZWQvbnVsbCxcbiAgICBvdGhlcndpc2UgdGhlcmUgISBpcyB1c2VkIG9uIHdoaWNoIHNvbmFyIGdpdmVzIGNvZGUgc21lbGwgKi9cbiAgICB0aGlzLmxpbWl0ID0gZC5saW1pdDtcbiAgICB0aGlzLmxpbWl0QnlUeXBlID0gZC5saW1pdEJ5VHlwZTtcbiAgICB0aGlzLm9yZGVyID0gZC5vcmRlcjtcbiAgICB0aGlzLm9mZnNldCA9IGQub2Zmc2V0O1xuICAgIHRoaXMuc2F2ZUluUmVjZW50cyA9IGQuc2F2ZUluUmVjZW50cztcblxuICAgIGNvbnN0IGRpc3BsYXlUZXh0cyA9IHNldERpc3BsYXlUZXh0KGQpO1xuICAgIHRoaXMubm9SZXN1bHRNZXNzYWdlID0gZGlzcGxheVRleHRzLm5vUmVzdWx0TWVzc2FnZTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gZGlzcGxheVRleHRzLnBsYWNlaG9sZGVyO1xuICAgIHRoaXMucGxhY2Vob2xkZXJGdW5jdGlvbiA9IGRpc3BsYXlUZXh0cy5wbGFjZWhvbGRlckZ1bmN0aW9uO1xuXG4gICAgY29uc3Qgc2VhcmNoQ29uZmlnID0gc2V0U2VhcmNoQ29uZmlnKGQpO1xuICAgIHRoaXMuY2F0ZWdvcml6ZVJlc3VsdHMgPSBzZWFyY2hDb25maWcuY2F0ZWdvcml6ZVJlc3VsdHM7XG4gICAgdGhpcy5oaWRlUmVjZW50U2VhcmNoID0gc2VhcmNoQ29uZmlnLmhpZGVSZWNlbnRTZWFyY2g7XG4gICAgdGhpcy5oaWRlQ2F0ZWdvcml6ZUJ1dHRvbiA9IHNlYXJjaENvbmZpZy5oaWRlQ2F0ZWdvcml6ZUJ1dHRvbjtcbiAgICB0aGlzLnNhdmVJblJlY2VudHNPbmx5T25FbnRlciA9IHNlYXJjaENvbmZpZy5zYXZlSW5SZWNlbnRzT25seU9uRW50ZXI7XG4gICAgdGhpcy5zZWFyY2hPbmx5T25FbnRlciA9IHNlYXJjaENvbmZpZy5zZWFyY2hPbmx5T25FbnRlcjtcblxuICAgIGNvbnN0IGNsYXNzZXMgPSBzZXRJY29uQ2xhc3NlcyhkKTtcbiAgICB0aGlzLnNlYXJjaEljb25DbGFzcyA9IGNsYXNzZXMuc2VhcmNoSWNvbkNsYXNzO1xuICAgIHRoaXMuY3Jvc3NJY29uQ2xhc3MgPSBjbGFzc2VzLmNyb3NzSWNvbkNsYXNzO1xuICAgIHRoaXMuZHJvcERvd25CdXR0b25JY29uQ2xhc3MgPSBjbGFzc2VzLmRyb3BEb3duQnV0dG9uSWNvbkNsYXNzO1xuICAgIHRoaXMucmVjZW50U2VhcmNoSWNvbkNsYXNzID0gY2xhc3Nlcy5yZWNlbnRTZWFyY2hJY29uQ2xhc3M7XG4gIH1cbn1cbmZ1bmN0aW9uIGNoZWNrRm9yRXJyb3I8VD4oZDogQ29uZmlndXJhdGlvbjxUPikge1xuICBpZiAoXG4gICAgZC5jYXRlZ29yaXplUmVzdWx0cyA9PT0gZmFsc2UgJiZcbiAgICAoZC5oaWRlQ2F0ZWdvcml6ZUJ1dHRvbiA9PT0gZmFsc2UgfHwgZC5oaWRlQ2F0ZWdvcml6ZUJ1dHRvbiA9PT0gdW5kZWZpbmVkKVxuICApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAnWW91IG11c3QgcHJvdmlkZSBoaWRlQ2F0ZWdvcml6ZUJ1dHRvbjp0cnVlIGFzIGNhdGVnb3JpemVSZXN1bHRzIGlzIGZhbHNlJyxcbiAgICApO1xuICB9XG4gIGlmIChkLnNhdmVJblJlY2VudHMgPT09IGZhbHNlICYmIGQuc2F2ZUluUmVjZW50c09ubHlPbkVudGVyID09PSB0cnVlKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ1lvdSBtdXN0IHByb3ZpZGUgc2F2ZUluUmVjZW50czp0cnVlIGZvciBzYXZlSW5SZWNlbnRzT25seU9uRW50ZXI6dHJ1ZScsXG4gICAgKTtcbiAgfVxufVxuZnVuY3Rpb24gc2V0RGlzcGxheVRleHQ8VD4oZDogQ29uZmlndXJhdGlvbjxUPikge1xuICByZXR1cm4ge1xuICAgIHBsYWNlaG9sZGVyOiBkLnBsYWNlaG9sZGVyID8/ICdTZWFyY2gnLFxuICAgIG5vUmVzdWx0TWVzc2FnZTogZC5ub1Jlc3VsdE1lc3NhZ2UgPz8gJ05vIHJlc3VsdCBmb3VuZCcsXG4gICAgcGxhY2Vob2xkZXJGdW5jdGlvbjogZC5wbGFjZWhvbGRlckZ1bmN0aW9uLFxuICB9O1xufVxuZnVuY3Rpb24gc2V0U2VhcmNoQ29uZmlnPFQ+KGQ6IENvbmZpZ3VyYXRpb248VD4pIHtcbiAgcmV0dXJuIHtcbiAgICBjYXRlZ29yaXplUmVzdWx0czogZC5jYXRlZ29yaXplUmVzdWx0cyA/PyB0cnVlLFxuICAgIGhpZGVSZWNlbnRTZWFyY2g6IGQuaGlkZVJlY2VudFNlYXJjaCA/PyBmYWxzZSxcbiAgICBoaWRlQ2F0ZWdvcml6ZUJ1dHRvbjogZC5oaWRlQ2F0ZWdvcml6ZUJ1dHRvbiA/PyBmYWxzZSxcbiAgICBzYXZlSW5SZWNlbnRzT25seU9uRW50ZXI6IGQuc2F2ZUluUmVjZW50c09ubHlPbkVudGVyID8/IGZhbHNlLFxuICAgIHNlYXJjaE9ubHlPbkVudGVyOiBkLnNlYXJjaE9ubHlPbkVudGVyID8/IGZhbHNlLFxuICB9O1xufVxuZnVuY3Rpb24gc2V0SWNvbkNsYXNzZXM8VD4oZDogQ29uZmlndXJhdGlvbjxUPikge1xuICByZXR1cm4ge1xuICAgIHNlYXJjaEljb25DbGFzczogZC5zZWFyY2hJY29uQ2xhc3MgPz8gJ2ljb21vb24gU2VhcmNoJyxcbiAgICBjcm9zc0ljb25DbGFzczogZC5jcm9zc0ljb25DbGFzcyA/PyAnaWNvbW9vbiBjbG9zZScsXG4gICAgZHJvcERvd25CdXR0b25JY29uQ2xhc3M6IGQuZHJvcERvd25CdXR0b25JY29uQ2xhc3MgPz8gJ2ljb21vb24gYXJyb3dfZG93bicsXG4gICAgcmVjZW50U2VhcmNoSWNvbkNsYXNzOiBkLnJlY2VudFNlYXJjaEljb25DbGFzcyA/PyAnaWNvbW9vbiBTZWFyY2gnLFxuICB9O1xufVxuIl19